用例和用例图.ppt
- 文档编号:2120803
- 上传时间:2022-10-27
- 格式:PPT
- 页数:76
- 大小:1.08MB
用例和用例图.ppt
《用例和用例图.ppt》由会员分享,可在线阅读,更多相关《用例和用例图.ppt(76页珍藏版)》请在冰豆网上搜索。
第第44章章用例用例和用例图和用例图4.1用例图的组成用例图的组成用例(用例(usecase)参与者(活动者,角色,参与者(活动者,角色,actor)关系(关系(relationship)还可以有包、注解等还可以有包、注解等4.1.1用例UseCase系统、子系统或类与外部参与者(actor)交互的动作序列的说明,包括各种序列及出错序列。
简单理解为用例就是系统的功能。
用例分析可以认为是对系统功能的分解。
用例是代表系统中各个项目相关人员之间根据系统的行为用例是代表系统中各个项目相关人员之间根据系统的行为所达成的契约。
用例描述了在不同条件下,针对某一项目所达成的契约。
用例描述了在不同条件下,针对某一项目相关人员的请求,系统对其作出的响应。
也就是说用例指相关人员的请求,系统对其作出的响应。
也就是说用例指的是对一组动作的描述,系统通过执行这些动作将对用例的是对一组动作的描述,系统通过执行这些动作将对用例的参与者产生可以看到的结果。
用来描述参与者可以感受的参与者产生可以看到的结果。
用来描述参与者可以感受到的系统服务或功能。
到的系统服务或功能。
4.1.1用例例如,在图书管理系统中,用户可以进行“查询图书的基本信息”,“借书”以及“还书”,管理员可以对图书的基本信息进行管理,如“新增图书信息”、“修改图书信息”,“删除图书”等等操作。
即这些操作都是系统提供的服务(功能),因此,这些都可以独立成为一个用例。
执行这些操作的都是人(即参与者)。
用例在UML中通常用一个椭圆图形符号来表示。
如图4.4所示。
图4.4用例符号4.1.1用例例如,在文字处理程序中,“置正文的字体为宋体”是一个用例,在图书管理系统中“新增图书信息”、“借书”和“还书”也是用例,在超市管理系统中的“进货”也是一个用例,如图4.5所示。
在这里可以看出,用例可大可小,有的用例可能比较简单,而有的可能就很复杂,如“置正文的字体为宋体”这个用例就比较简单,很容易实现,但是对于“进货”和“借书”这样的用例相对就比较复杂,可能需要花一些时间才能够实现。
图4.5用例4.1.1用例怎样确定用例的粒度?
(用例规模的大小)用例的粒度可大可小,一般一个系统控制在20个左右,但没有严格规定用例是系统级的、抽象的描述,不是细化的(考虑的是“做什么what”,而不是“怎样做how”)对复杂的系统可以划分为若干子系统处理4.1.1用例怎样识别用例怎样识别用例参与者需要从系统中获得参与者需要从系统中获得什么什么功能?
参与者需要做功能?
参与者需要做什什么么?
参与者读取、产生、删除、修改或存储系统的参与者读取、产生、删除、修改或存储系统的哪些哪些信信息?
息?
需要将系统的需要将系统的哪个事件哪个事件告诉参与者?
告诉参与者?
需要将外界的需要将外界的哪些哪些信息提供给系统?
(输入、输出信信息提供给系统?
(输入、输出信息)息)采用采用什么什么实现方法满足特殊要求?
实现方法满足特殊要求?
图书管理系统的用例图图书管理系统的用例图4.1.2参与者参与者(参与者(也称为角色或活动者,角色或活动者,Actor)是系统外部的一个)是系统外部的一个人或者物,它以某种方式参与了系统的执行过程。
参与者不人或者物,它以某种方式参与了系统的执行过程。
参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。
因此参与者可以是人,可以是事物,也可以是扮演的角色。
因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。
还需要注意的是,参与者不是指人或时间或其他系统等等。
还需要注意的是,参与者不是指人或事物本身,而是表示人或事物在系统中所扮演的角色。
事物本身,而是表示人或事物在系统中所扮演的角色。
例如,张明是图书馆的管理员,他参与图书管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里张明扮演了两个角色,是两个不同的参与者,即管理员和借阅者。
因此,在“图书管理系统”中“借阅者”和“系统管理员”都是参与者。
4.1.2参与者Actor系统外部的参与者,可以是用户、外部硬件、其他系统。
4.1.2参与者【例4-1】客户给销售员发来传真订货,销售员下班前将当日订货单汇总输入系统。
谁是系统的参与者?
分析:
根据参与者的定义可知,此系统的参与者是销售员。
4.1.2参与者【例4-2】在需求分析中常见的权限控制问题,一般的用户只可以使用一些常规的操作,如查询等,而管理员除了常规操作之外还需要进行一些系统管理工作,如一些关键数据的增加、删除、修改等,操作员既可以进行常规操作又可以进行一些配置操作。
4.1.1参与者例如,在“图书管理系统”中,可以认为“读者”是“学生读者”和“教师读者”的泛化,而“学生读者”还可以具体化为“本科生读者”和“研究生读者”;同样,“图书管理员”也是“采购员”、“编目员”及“借阅人员”的泛化。
4.1.2参与者怎样识别参与者怎样识别参与者谁使用系统的主要功能?
谁使用系统的主要功能?
谁需要系统的支持以完成日常工作任务?
谁需要系统的支持以完成日常工作任务?
谁从系统获取信息?
谁从系统获取信息?
谁负责维护和管理系统以保证其正常工作?
谁负责维护和管理系统以保证其正常工作?
系统需要使用哪些外部硬件设备?
(系统启动打印机、系统需要使用哪些外部硬件设备?
(系统启动打印机、扫描仪)扫描仪)系统需要和哪些外部系统交互?
(跨行转账的外部银系统需要和哪些外部系统交互?
(跨行转账的外部银行系统、时间到了定时启动系统某功能)行系统、时间到了定时启动系统某功能)在在图书管理系统图书管理系统中,中,“图书管理员图书管理员”和和“读者读者”为为系统的执行者。
系统的执行者。
“图书管理员图书管理员”负责使用系统的主负责使用系统的主要功能,要功能,“读者读者”从系统中获取所需的信息。
从系统中获取所需的信息。
4.1.2参与者理解理解Actor不是指人,而是指代表某一种特定功能不是指人,而是指代表某一种特定功能的角色,因此同一个人可能对应很多个的角色,因此同一个人可能对应很多个Actor。
Actor也可以指外部系统和设备。
也可以指外部系统和设备。
如果一个活动者的操作是由另外一个活动者代如果一个活动者的操作是由另外一个活动者代理完成的,可以建立该活动者到另外活动者的理完成的,可以建立该活动者到另外活动者的依赖(或关联)关系。
依赖(或关联)关系。
4.1.2参与者识别参与者4.2关系用例除了与参与者有关联关系外,用例之间也存在着一定的关系,如泛化关系、包含关系、扩展关系等。
关联(accociation)包含(include)扩展(extend)泛化(generalization)4.2.1关联关系关联(关联(accociation)每个用例都有活动者启动(每个用例必须和一每个用例都有活动者启动(每个用例必须和一个活动者关联,有一个活动者来参与),个活动者关联,有一个活动者来参与),除包除包含和扩展用例含和扩展用例无论用例和活动者是否存在双向数据交流(无无论用例和活动者是否存在双向数据交流(无论是参与者提供信息给系统,还是从系统获取论是参与者提供信息给系统,还是从系统获取信息),关联总是由活动者指向用例,只用单信息),关联总是由活动者指向用例,只用单向箭头。
向箭头。
4.2.2包含关系包含(包含(include)(是一种依赖关系,加了版型(是一种依赖关系,加了版型)包含关系指的是两个用例之间的关系,其中一个用例包含关系指的是两个用例之间的关系,其中一个用例(称为基本用例)的行为包含了另一个用例(称为包含(称为基本用例)的行为包含了另一个用例(称为包含用例)的行为。
也就是说基本用例会用到包含用例。
用例)的行为。
也就是说基本用例会用到包含用例。
在在UML图中,使用带虚线箭头表示,并在线上标有图中,使用带虚线箭头表示,并在线上标有。
箭头方向由基本用例指向被包含用例;箭头方向由基本用例指向被包含用例;执行基本用例时,每次都必须调用被包含的用例(吃饭执行基本用例时,每次都必须调用被包含的用例(吃饭前洗手);前洗手);被包含用例也可以单独执行;被包含用例也可以单独执行;4.2.2包含关系包含关系包含关系示例包含关系示例4.2.2包含关系包含(包含(include)一个用例功能过多,可分解成小用例,构成包含依赖一个用例功能过多,可分解成小用例,构成包含依赖本例中,被包含用例不能单独执行,没有本例中,被包含用例不能单独执行,没有Actor直接指向直接指向它们它们4.2.3扩展关系扩展(extend)关系是对基本用例的扩展,基本用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。
extend的基本用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。
在扩展关系中,对于扩展用例有更多的规则限制,即基本用例必须声明若干“扩展点扩展点”(extensionpoint),而扩展用例只能在这些扩展点上增加新的行为和含义。
扩展关系是从扩展用例到基本用例的关系,它说明扩展用例定义的行为如何插入到基本用例定义的行为中。
也就是说,扩展用例并不在基本用例中显示。
4.2.3扩展关系扩展(extend)(是一种依赖关系,加了版型)一个用例在某些扩展点上扩展另一个用例的功能,构成新用例;箭头方向由扩展用例指向被扩展用例(即箭头方向由扩展用例指向被扩展用例(即基本用例)基本用例);扩展用例依赖于被扩展用例(基本用例),只是部分片段组成,不是完整的独立用例,无法单独执行;扩展用例不一定每次都被执行和调用。
(吃饭前也可以不洗手),而被包含用例每次必修执行。
肯定没有活动者指向扩展用例,因为扩展用例依赖基本用例。
4.2.4泛化关系泛化(generalization)一个用例和其几种情形的用例间构成泛化;往往将父用例用抽象用例(abstract)表示(即,父用例往往是虚的,真正用的是子用例。
)4.2.4泛化关系泛化关系指的是一般与特殊的关系。
当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其它的用例作为泛化关系中的子用例。
在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。
4.3用例图用例图是被称为参与者的外部用户所能观察到的系统功能用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。
的模型图。
用例图列出系统的用例和系统外的用例,并显示哪个参与用例图列出系统的用例和系统外的用例,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。
者参与了哪个用例的执行(或称为发起了哪个用例)。
用例图多用于静态建模阶段用例图多用于静态建模阶段(主要是业务建模和需求建模主要是业务建模和需求建模)。
显示系统和外部实体(Actor)交互的图事物名称解释UML表示参与者参与者(Actor)在系统外部与系统直接交互的人或事物在系统外部与系统直接交互的人或事物(如另一个如另一个计算计算机系统或一些可运行的进程机系统或一些可运行的进程)。
我们需要注意的是:
。
我们需要注意的是:
1.参与者是角色而不是具体的人,它代表了参与者是角色而不是具体的人,它代表了参与参与者在与系统打交道的过程中所扮演的角色。
所者在与系统打交道的过程中所扮演的角色。
所以在系统的实际运作中,一个实际用户可能对以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。
不同的用户也可以只对应系统的多个参与者。
不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同应于一个参与者,从而代表同一参与者的不同实例。
实例。
2.参与者作为外部用户参与者作为外部用户(而不是内部而不是内部)与系统发生与系统发生交互作用,是它的主要特征。
交互作用,是它的主要特征。
3.在后面的顺序图等中出现的在后面的顺序图等中出现的“参与者参与者”,与此,与此概念相同,但具体指代的含义,视具体情况而概念相同,但具体指代的含义,视具体情况而定。
定。
用例用例(UseCase)系统外部可见的一个系统功能单元。
系统的功能系统外部可见的一个系统功能单元。
系统的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用例图