本节首先介绍用例图的基本概念。理解这些概念是正确绘制用例图的基础。用例使用系统与一个或多个参与者之间的一系列消息来描述系统间的交互。用例图由以下元素组成:●参与者:也称为角色,它代表系统的用户。画用例图时,有时并不画出系统边界,但边界却是存在的。用例图可以包含注释和约束,还可以包含包,用于将模型中的元素组合成更大的模块。图8-1 用例图示例在需求分析中,用例图只说明系统具有哪些功能,不必说明如何实现。......
2023-11-23
用例图的关联包括参与者和用例间的关联关系,还有用例与用例间的关系:包含关系、扩展关系和泛化关系。应用这些关系的目的是从系统中抽取出共同行为及其变体。
1.参与者与用例的关联
关联关系描述参与者与用例之间的关系,表示参与者和用例之间的通信。不同的参与者可以访问相同的用例,一般它们与该用例的交互过程是不一样的,否则说明它们的角色可能是相同的,可以将参与者进行合并。
如图8-7所示是汽车租赁系统用例图的部分内容,显示的是参与者(客户)可以启动“预订”“取车”和“还车”三个用例。
2.包含关系
一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。描述多个用例都具有的公共行为的用例称为基本用例,把基本用例作为自身行为一部分的用例称为客户用例。在UML中,包含关系表示为虚线箭头加<<include>>字样,箭头指向被包含的用例,如图8-8所示。
图8-7 参与者与用例的关联
图8-8 包含关系的图符
客户用例与基本用例并非特殊与一般的关系,基本用例不能代替客户用例。
包含关系使一个用例的功能可以在另一个用例中使用,主要应用在以下情况:
●如果两个以上的用例有大量一致的功能,则可以将这个功能分解到另一个基本用例
中,其他用例和这个基本用例建立包含关系。
●当一个用例的功能太多时,可以用包含关系建模几个基本用例。
如图8-9所示为汽车租赁系统用例图的部分内容。“填写电子表格”的功能在“网上预订”过程中使用。不管“网上预订”用例的处理过程如何,总是要运行“填写电子表格”用例,所以两者具有包含关系。
3.扩展关系
一个用例也可被定义为基础用例的增量扩展,这称为扩展关系。基础用例提供了一组扩展点,在这些扩展点中可以添加新的行为,而扩展用例提供了一组插入片段,能够被插入到基础用例的扩展点上。一个用例可以有多个扩展点,每个扩展用例也可出现多次。一般情况下,基础用例的执行不会涉及到扩展用例,只有特定条件发生,才会执行扩展用例。扩展关系为处理异常或构建灵活的系统框架提供了一种十分有效的方法。在UML中,扩展关系表示为虚线箭头加<<extend>>字样,箭头指向被扩展的用例(即基础用例),如图8-10所示。
图8-9 包含关系示例(www.chuimin.cn)
图8-10 扩展关系的图符
在以下几种情况下,可考虑使用扩展用例:
●表明用例的某一部分是可选的系统行为(可以将模型中的可选行为和必选行为分
开)。
●表明只在特定条件(例如,例外条件)才执行的分支流。
●表明有一组行为段,可在基本用例的扩展点处插入。插入的行为段和插入的顺序取决
于执行用例时与参与者的交互。基础用例即使没有扩展关系也是完整的,这点与包含关系不同。
如图8-11所示是汽车租赁系统用例图中的部分内容。本例中,基础用例是“还车”,扩展用例是“交纳罚金”。如果归还汽车时一切顺利,只需执行“还车”用例。但如果超过还车时间或者汽车受损,按规定客户需交纳一定罚金,这时就不能执行用例提供的常规动作。如果更改用例“还车”,必然会增加系统的复杂性,因此可以在用例“还车”中增加扩展点,设定特定条件为“超时或损坏”。当满足特定条件时,就会执行扩展用例“交纳罚金”,这样系统更容易被理解。
图8-11 扩展关系示例
4.泛化关系
当一个用例可以被特殊为一个或多个子用例时,称作用例泛化。当父用例能够被使用时,任何子用例也可以被使用。在UML中,用例泛化与参与者泛化的表示法相同,用一个空心三角箭头从子用例指向父用例,如图8-12所示。
子用例作为父用例的特殊形式,继承父用例的属性和行为,还可以添加、覆盖或改变继承的属性和行为。如果系统中一个或多个用例是某个用例的特殊化时,就需要考虑使用用例的泛化关系。
如图8-13所示是汽车租赁系统用例图中的部分内容,父用例是“预订”,子用例是“电话预订”和“网上预订”。这两个子用例都继承了父用例的行为,并添加了自己的行为。
图8-12 泛化关系图符
图8-13 用例间的泛化关系示例
有关信息系统开发方法与实践教程的文章
本节首先介绍用例图的基本概念。理解这些概念是正确绘制用例图的基础。用例使用系统与一个或多个参与者之间的一系列消息来描述系统间的交互。用例图由以下元素组成:●参与者:也称为角色,它代表系统的用户。画用例图时,有时并不画出系统边界,但边界却是存在的。用例图可以包含注释和约束,还可以包含包,用于将模型中的元素组合成更大的模块。图8-1 用例图示例在需求分析中,用例图只说明系统具有哪些功能,不必说明如何实现。......
2023-11-23
本节通过两个用例建模的练习,使读者熟练掌握用例图的画法。商品订购系统用例图某种商品的订购方式有两种:电话订购和网络订购,绝大部分客户采用电话订购。电子投票系统用例图设计一个电子投票系统,投票机由一名监督员启动。图8-16 商品订购系统用例图图8-17 电子投票系统用例图......
2023-11-23
前面讲述了用例,用例描述就是在事件流的基础上来书写用例,主要包括以下几部分:●简要说明:对用例的参与者、目的简要描述。图8-14 前台客户系统用例图图8-15 后台管理系统用例图以“网站公告发布”用例为例,介绍书写用例的方法。......
2023-11-23
用例是一组动作序列的描述,系统执行这些动作,并产生传递参与者意愿的可观察结果。用例的名字是一个字符串,分为简单名和路径名两种方式。用例Mainte nance是属于包Business的。基于这些参与者及其需求,通过回答前面的问题,可以建立如下用例:●记录成绩。......
2023-11-23
下面给出用Rational Rose绘制图书管理系统涉及的3个用例图。图8-27 系统管理员进行系统维护的用例图●Add Book:增加书籍。......
2023-11-23
顺序图中包含四个元素:对象、生命线、消息和激活,如图10-2所示。本节将详细讲解每个元素的含义、UML表示方法及注意事项。图10-5 对象的撤销图10-6 UML中生命线的表示方法对象与生命线结合在一起被称为对象的生命线,离开对象的生命线是没有意义的。激活在顺序图中不能单独存在,必须与生命线连在一起使用。......
2023-11-23
与状态图类似,活动图也有起点和终点,表示法和状态图相同。图12-1 活动图示例2.活动图与流程图的区别虽然活动图描述系统使用的活动、判定点和分支,看起来和流程图没什么区别,并且传统的流程图所能表示的内容,大多数情况下也可以使用活动图来表示。2)活动图能够表示并发活动的情形,而流程图不能。......
2023-11-23
UML是一种通用建模语言,它本身具有的可扩展性使其不仅可以用于软件系统开发各个阶段的建模,也可以用于商业和其他几乎所有类型的建模。总体来说,UML由以下几个部分构成。模型元素UML中的模型元素包括事物以及事物之间的联系。通用机制UML提供的通用机制可以为模型元素提供额外的注释、信息或语义。UML的组成结构如图6-1所示。图6-1 UML结构图用例图和类图是面向对象系统开发的重点内容。......
2023-11-23
相关推荐