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