编写系统的用例图有助于在初始开发阶段构建系统的业务需求。
用例模型描述的就是外部参与者所理解的系统功能。用例模型用于需求分析阶段,是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。
- 首先,它描述了待开发系统的功能需求;
- 其他,它将系统看做黑盒,从外部执行者的角度理解系统;
- 第三,它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统。
用例图可以显示谁将是相关的用户,用于希望系统提供什么服务,以及用户需要为系统提供的服务,用来为系统的功能建模。用例图常用来描述系统与子系统。简单的说,用例图就是参数者,用例,以及它们之间的关系构成的图,该图说明了用例模型中的关系。
1 用例图的元素——用例(use case)
用例的定义:在不展现一个系统或子系统内部结构的情况下,对系统和子系统的某个连贯的功能单元的定义和描述。本质上讲:一个用例是参与者与计算机之间的一次典型交互作用。用例是一个叙述性的文档,用来描述一个参与者使用系统完成某个事情时事情发生的顺序。
用例的特点:
- 用例捕获某些用户可见的需求,实现一个具体的用户目标。
- 用例由执行者激活,并提供确切的值给执行者
- 用例可大可小,但它必须是对一个具体的用户实现目标的完整描述。
用例符号:
2 用例图的元素——参与者(actor)
参与者是系统外部的一个实体(可以是任何事物或人),以某种方式参与了用例的执行过程,通过向系统输入或请求系统输入某些事件来触发系统的执行。参与者种类有:系统用户、与所建造的系统交互的其他系统和一些可以运行的进程。
参与者符号:
用例之间的关系:
泛化(Generalization)、包含(Include)、扩展(Extend)。
关联:参与者与其参与执行的用例之间的通信途径
消费者是一个actor,“登录”,“修改信息”,“购买商品”等行为是用例,那么消费者和这些行为之间存在着关联关系。
扩展:在基础用例上插入基础用例不能说明的扩展部分
由用例A连向用例B,表示用例B描述了一项基本需求,而用例A描述了该基本需求的特殊情况。
上图中,“电话订餐”扩展了“打电话”。
泛化:用例之间的一半和特殊关系,其中特殊用例继承了一般用例的特性并增加了新的特性。
用例和用例、参与者与参与者之间存在着父子关系,则可以使用泛化。
“上网”是一种行为,那么“手机上网”和“PC上网”是“上网”的2种特殊形式,则称这2种特殊形式泛化了“上网”行为。
包含:在基础用例上插入附加的行为,并具有明确的描述
包含关系是一种(因子化)重组关系,当几个用例具有共同的行为时,这个共同行为可以抽象为一个公共用例。由用例A连接用例B,表示用例A包含用例B中的行为或功能。
ATM系统中,取款、查询余额、转账都需要确认用户信息,那么可以将“确认用户信息”抽象为公共用例,其他3个用例包含这个公共用例。
举例:
ATM取款机系统用例图
一个ATM取款机的基本功能:客户可以登录、存钱、取钱、查询余额、转账和修改密码,通过分析,得知参与者只有一个,就是客户,用例包括:
(1)存款
(2)取款
(3)查询
(4)登录
(5)转账
(6)汇款
(7)修改密码
(8)打印收据
上图中,用户(actor)可以有取款、转账、登录、查询、存款、打印收据等用例行为,而这些行为都必须包含“确认用户信息”这一公共用例。
用例图的四种关系:
(1)一般情况下是关联。
(2)如果几个用例共同包含一个用例,且这个公共用例只是那几个用例的一个步骤时,比如“打印收据”和”确认用户信息“,只有先确认完用户信息,才能打印收据,但确认用户信息又是公共用例,则采用包含关系。
(3)特殊化和一般化,类似于类和实例之间的关系,使用泛化。
(4)在一个用例之上增加一些新规则,比如“电话订餐”不仅仅是“打电话”,而且还包含了订餐的步骤,则使用扩展关系。
(5)当一个用例需要细化时,可以考虑包含关系,例如:用户管理包含新建用户、编辑信息和删除用户3个用例。
(6)扩展用例为基础用例增加新的行为,例如“查看报表”是基础用例,那么“打印报表”就是扩展用例。
(7)泛化关系没有扩展,也没有包含,例如“数据查询”是基础用例,那么“基础查询”和“高级查询”就是“数据查询”的扩展。
总体设计+分块设计
分享到:
相关推荐
用例图(含有三部分内容:系统,参与者,用例)。
**用例图** 是一种模型图,它描绘了参与者和用例之间的关系,以及它们如何共同构成系统的功能视图。在用例图中,系统边界定义了系统关注的范围,而参与者表示与系统交互的实体,可能是人、硬件设备或其他系统。用例...
本文将深入探讨“第三次作业——需求模型用例图1”中涉及的知识点,帮助理解如何有效地创建和解读用例图。 用例图(Use Case Diagram)是统一建模语言(UML)的一部分,用于描述系统或子系统与外部参与者之间的交互...
这通常包括建立初始模型、绘制用例图、时序图、协作图、状态图和活动图。 建立UML初始模型是整个建模过程的起点,通常通过新建UML项目来开始。用例图是描述系统功能的重要手段,它定义了系统与用户之间的交互。在...
面向对象的系统定义工具——用例图,是实现这一目标的有效手段。用例图从用户的视角出发,通过图形化的方式描述系统应该如何响应外部的请求,以及系统与用户之间的交互关系。作为一种动态视图,它由参与者、用例以及...
1. **用例图**:用于描述系统的外部可见行为以及用户如何与系统交互。 2. **类图**:展示了系统的静态结构,包括类、接口以及它们之间的关系。 3. **对象图**:是对类图的一个实例化视图,展示了系统在某一时刻的...
- **用例图**:用例图描述了系统外部参与者与系统功能之间的交互,通过用例来表达用户需求。 - **协作图**:协作图展示了对象间的交互关系,强调消息传递的顺序和时间。 - **状态图**:状态图描述了一个对象在其...
UML定义了九种模型图:用例图(Use Case View)、类图(Class Diagram)、对象图(Object Diagram)、构件图(Component Diagram)、部署图(Deployment Diagram)、状态图(StateChart Diagram)、活动图(Activity...
本章旨在帮助读者掌握如何运用面向对象的方法来描述和理解系统需求,包括用例图的构建、用例描述的编写、系统顺序图的创建以及领域模型类图的设计。通过学习,读者应能熟练运用统一建模语言(UML)进行需求建模,并...
**UML(统一建模语言)实验报告123**主要关注的是在软件开发中用于描述和规划系统行为的一种重要工具——用例图。在这个实验报告中,我们聚焦于一个具体的场景,即**购物系统**,它是我们日常生活中常见的一个应用...
1. **用例图(Use Case Diagrams)**:用例图主要用来识别系统的基本功能或需求,并描绘系统用户与这些需求之间的关系。它们帮助我们理解谁将使用系统以及他们如何与系统交互,是需求分析的重要工具。 2. **类图...
同时,可以使用用例图来描绘用户与系统交互的行为。 视图则负责显示模型中的数据,通常不包含任何业务逻辑。在Visio中,你可以创建界面原型,用以展示视图如何显示模型数据。这有助于设计师和开发者达成一致,确保...
在编码实现阶段,可以选用Java或.NET等成熟的开发平台,利用MVC(模型-视图-控制器)设计模式进行开发。数据库选择上,MySQL或SQL Server因其稳定性和高效性常被用于此类系统。同时,前端可以使用HTML5、CSS3和...
用例模型由用例图、角色定义和用例描述三部分构成。用例图描绘了用户与系统之间的交互;角色定义明确了系统功能和服务;用例描述则详述了系统的主要功能。此外,软件补充规格文档记录了系统中未直接涉及用户和用例的...
用例图(图2-4)定义了系统的功能视图,它描述了参与者(如用户)与系统之间的交互。在这个例子中,参与者包括学生和管理员,他们可以通过各种操作(如预约座位、管理预约记录等)与系统互动。用例图不仅有助于理解...
1. **UML基础**:首先,资料会讲解UML的基本概念,包括九种基本图型——用例图、类图、对象图、序列图、协作图、状态图、活动图、组件图和部署图,以及它们在软件开发过程中的作用。 2. **用例图与需求分析**:用例...
用例图是用例视图的主要组成部分,用于展示系统与外部参与者之间的交互。 #### 三、静态视图详解 静态视图主要通过类图和对象图来描述系统中的类、接口和对象之间的关系。 - **类图**:类图展示了系统的静态结构...
- **创建用例图**:在 Use Case 视图中,可以选择在 Main 下创建一个新的用例图,或者在新的包中创建用例图。 - **创建参与者 (Actor)**:参与者是与系统交互的角色,例如客户、管理员等。创建参与者的方法是通过...
- **用例图**:文档中给出了图书管理系统的四个不同角度的用例图:借阅者用例图、图书管理员用例图、系统管理员用例图和图书管理系统的静态模型用例图。这些图分别展示了不同角色与系统之间的交互关系。 - **类图**...