ch05例图用例图建模ppt课件_第1页
ch05例图用例图建模ppt课件_第2页
ch05例图用例图建模ppt课件_第3页
ch05例图用例图建模ppt课件_第4页
ch05例图用例图建模ppt课件_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件需求分析与建模- 用例图建模时间:时间:20212021年年6 6月月1313日日用例模型和用例图用例模型和用例图u用例模型概述;用例模型概述;u用例图;用例图;u建立用例模型的主要任务;建立用例模型的主要任务;u用例模型用例模型( (用例图用例图) )的建造;的建造;u小小 结。结。I 用例模型概述用例模型概述u什么是用例?什么是用例?u用例模型的意义;用例模型的意义;u用例分析的目的;用例分析的目的;u用例的属性;用例的属性;u对用例图关怀的人员。对用例图关怀的人员。什么是用例?什么是用例?v确定需求:确定需求:v软件开发中的一个致命的问题软件开发中的一个致命的问题v为此,各有关方面需

2、求大量的交流,以增为此,各有关方面需求大量的交流,以增进对需求的了解。进对需求的了解。v然而,对各方所关怀的事情的描画却都是然而,对各方所关怀的事情的描画却都是粗糙的非方式化、口头的或是一些杂粗糙的非方式化、口头的或是一些杂乱的草稿,没有文档乱的草稿,没有文档v怎样描画用户所关怀的事情?怎样描画用户所关怀的事情?v用例是对用户所关怀的事情的描画。用例是对用户所关怀的事情的描画。场景场景Scenariov场景:用户与系统之间的一个交互过程,即场景:用户与系统之间的一个交互过程,即为实现这次交互所要阅历的一系列步骤为实现这次交互所要阅历的一系列步骤v例:一个基于例:一个基于WebWeb的在线购物站

3、点的购物场的在线购物站点的购物场景:景:v主场景:顾客阅读了货单并将感兴趣的物品主场景:顾客阅读了货单并将感兴趣的物品添加的购物筐中。如决议购买,那么阐明要添加的购物筐中。如决议购买,那么阐明要购买的物品,提供信誉卡信息并确认购物清购买的物品,提供信誉卡信息并确认购物清单。系统将检查信誉卡的合法性并确认销售单。系统将检查信誉卡的合法性并确认销售结果。给客户发出确认电子邮件结果。给客户发出确认电子邮件v备选场景:信誉卡失效备选场景:信誉卡失效用例用例Use Casesv 用例:一组场景,用以共同描画用户的某个特定的目的。用例:一组场景,用以共同描画用户的某个特定的目的。v 例:购买商品用例例:购

4、买商品用例v 主场景:主场景:v 顾客阅读货单并选择要买的商品顾客阅读货单并选择要买的商品v 顾客来付款顾客来付款v 顾客填写采购信息地址、隔天或顾客填写采购信息地址、隔天或3 3天送货天送货v 系统显示价目信息系统显示价目信息v 顾客填写信誉卡信息顾客填写信誉卡信息v 系统检查信誉卡的合法性系统检查信誉卡的合法性v 系统确认销售系统确认销售v 系统给客户发出确认电子邮件系统给客户发出确认电子邮件候选场景候选场景 候选场景:信誉卡失效候选场景:信誉卡失效 第第6 6步,系统检查信誉卡失败。允许客户步,系统检查信誉卡失败。允许客户重新执行第重新执行第5 5步步 候选场景:固定客户候选场景:固定客

5、户 3a. 3a. 系统显示当前购物信息、价钱信息、系统显示当前购物信息、价钱信息、信誉卡的最后四位数字信誉卡的最后四位数字 3b. 3b. 顾客接受或修正这些隐含值。转至主顾客接受或修正这些隐含值。转至主场景的第场景的第6 6步步 用例模型的意义用例模型的意义v用例模型对软件开发方法的研讨具有重要用例模型对软件开发方法的研讨具有重要意义:任何方法的首要问题是了解需求,意义:任何方法的首要问题是了解需求,而分析典型用例是用户和开发者一同了解而分析典型用例是用户和开发者一同了解需求、分析需求和跟踪需求的有效工具。需求、分析需求和跟踪需求的有效工具。vJacobsonJacobson首先提出用例分

6、析方法,对用例首先提出用例分析方法,对用例的运用进展了扩展,将其作用提高到工程的运用进展了扩展,将其作用提高到工程设计和工程开发根本要素的高度,是面向设计和工程开发根本要素的高度,是面向对象技术进入第二代的标志。对象技术进入第二代的标志。 用例分析的目的用例分析的目的v1. 1. 描画和决议系统的功能需求,协助客户描画和决议系统的功能需求,协助客户和软件开发人员构成一致意见。和软件开发人员构成一致意见。v2. 2. 给出系统应该做什么且与内容一致的可给出系统应该做什么且与内容一致的可视化描画,使之成为在开发全过程中研讨视化描画,使之成为在开发全过程中研讨系统需求和进展系统设计的根据。系统需求和

7、进展系统设计的根据。v3. 3. 在软件测试阶段作为系统测试的根底。在软件测试阶段作为系统测试的根底。v建立系统实现的各个对象类和系统操作与建立系统实现的各个对象类和系统操作与功能需求之间的可追踪关系。功能需求之间的可追踪关系。 用例的一些根本特点用例的一些根本特点v用例描画了用户提出的一些可见需求;用例描画了用户提出的一些可见需求;v用例可大可小用例可大可小v例:例:1010人年的工程,人年的工程,20-10020-100个用例个用例v用例对应一个详细的用户目的用例对应一个详细的用户目的 从本质上讲,一个用例是用户与计算机之间从本质上讲,一个用例是用户与计算机之间为到达某个目的的一次典型交互

8、。以字处置为到达某个目的的一次典型交互。以字处置程序为例,程序为例,“将某些正文置为黑体和将某些正文置为黑体和“创建创建一个索引便是两个典型的用例。从这两个一个索引便是两个典型的用例。从这两个例子中可以了解用例的一些特点:例子中可以了解用例的一些特点: 对用例模型关怀的人员对用例模型关怀的人员 客户:他关怀如何运用系统的功能;充任客户:他关怀如何运用系统的功能;充任模型中的哪一个角色;如何调整模型可以模型中的哪一个角色;如何调整模型可以更好地顺应他们的愿望。更好地顺应他们的愿望。 开发人员:他需求了解系统的功能,以作开发人员:他需求了解系统的功能,以作为今后任务的根底和根据;在系统集成测为今后

9、任务的根底和根据;在系统集成测试期间,可以运用这些用例测试系统。试期间,可以运用这些用例测试系统。 其他人员:销售人员,技术支持人员,文其他人员:销售人员,技术支持人员,文档编写人员等也关怀用例图。档编写人员等也关怀用例图。v用例用于描画系统的功能,这个功能是外用例用于描画系统的功能,这个功能是外部运用者看到的系统功能,不反映功能的部运用者看到的系统功能,不反映功能的实现方式实现方式储蓄系统储蓄系统开户开户存款存款取款取款转帐转帐用例的特点用例的特点(1)用例的特点用例的特点(2)用例描画用户提出的一些可见需求,对应一用例描画用户提出的一些可见需求,对应一个详细的用户目的。个详细的用户目的。

10、储蓄系统储蓄系统开户开户存款存款取款取款转帐转帐数据上传数据上传用例的特点用例的特点(3)用例反映系统与用户的一次交互过程,用例反映系统与用户的一次交互过程,应该具有交互的信息的传送。应该具有交互的信息的传送。 帐户,密码,金额数帐户,密码,金额数确认信息,帐户余额确认信息,帐户余额取款取款II 用例图用例图 用例图举例;用例图举例; 用例图中的图符;用例图中的图符; 用例图中的模型元素。用例图中的模型元素。 用例图举例用例图举例UML1.1贸易经理贸易经理设置边境设置边境更新帐目更新帐目记帐系统记帐系统用例用例执行者执行者风险分析风险分析买卖估价买卖估价进展买卖进展买卖超越边境超越边境-扩展

11、点:大买卖扩展点:大买卖量量评评 价价营销人员营销人员销售人员销售人员用例图举例UML1.3贸易经理贸易经理设置边境设置边境更新帐目更新帐目记帐系统记帐系统泛化泛化用例用例执行者执行者风险分析风险分析买卖估价买卖估价进展买卖进展买卖超越边境超越边境评评 价价营销人员营销人员销售人员销售人员 用例图中的图符用例图中的图符UML1.3执行者执行者系统系统用例用例关联关联注释体注释体注释衔接注释衔接泛化 用例图中的模型元素:系统边境、执行者和用用例图中的模型元素:系统边境、执行者和用例例v系统边境:一个提供系统边境:一个提供“用例所需求的功用例所需求的功能的能的“黑盒黑盒 子。系统的外部特性由系统子

12、。系统的外部特性由系统的功能来定义;整个系统的功能用一组用的功能来定义;整个系统的功能用一组用例来描画。例来描画。v执行者:需求运用系统的任何外部实体执行者:需求运用系统的任何外部实体( (例例如:人、其它系统或外部设备等如:人、其它系统或外部设备等) )。v用例:用客户或用户的言语和词汇来描画用例:用客户或用户的言语和词汇来描画的系统的一个完好功能。的系统的一个完好功能。 用例图中的模型元素用例图中的模型元素( (续续1)1):关联、运用和:关联、运用和 扩扩展展v关联:衔接执行者和用例,表示该执行者关联:衔接执行者和用例,表示该执行者所代表的系统外部实体与该用例所描画的所代表的系统外部实体

13、与该用例所描画的系统需求有系统需求有 关。这是执行者和用例之间关。这是执行者和用例之间的独一合法衔接。的独一合法衔接。v包含:由用例包含:由用例A A连向用例连向用例B B,表示用例,表示用例A A中中运用了用例运用了用例B B中的行为或功能。中的行为或功能。v扩展:由用例扩展:由用例 A A连向用例连向用例 B B,表示用例,表示用例B B描描画了一项根本需求,而用例画了一项根本需求,而用例A A那么描画了该那么描画了该根本需求的特殊情况,即一种扩展。根本需求的特殊情况,即一种扩展。参与者参与者 1. 1. 参与者的概念参与者的概念 参与者参与者actoractor是外部需求与系统交互是外部

14、需求与系统交互的事物。也被称为活动者或执行者。的事物。也被称为活动者或执行者。 2. 2.参与者的三种类型参与者的三种类型 . . 人:客户,读者,库管员人:客户,读者,库管员 . . 设备:计算机,磁盘,读卡机等设备:计算机,磁盘,读卡机等 . . 外部系统:上层系统等外部系统:上层系统等 参与者可以表示为下面三种方式。参与者可以表示为下面三种方式。参与者的表示参与者的表示参与者之间可以有泛化关系。参与者之间可以有泛化关系。参与者之间的关系参与者之间的关系当几种执行者所扮当几种执行者所扮演的角色可以被演的角色可以被泛化时,可以定泛化时,可以定义一个更笼统的义一个更笼统的角色。角色。执行者是一

15、个类执行者是一个类,代代表一种角色表一种角色,而不而不是详细某个人是详细某个人门 市门 市客户客户客户客户客客户户执行者的泛化:责任重叠执行者的泛化:责任重叠v执行者可以经过泛化关系执行者可以经过泛化关系来定义,在这种泛化关系来定义,在这种泛化关系中,一个执行者的笼统描中,一个执行者的笼统描画可以被一个或多个详细画可以被一个或多个详细的执行者所共享的执行者所共享v如系统中经理可以参与雇如系统中经理可以参与雇员的一切用例员的一切用例用例A雇员用例B经理用例C用例之间的关系用例之间的关系(1) 用例之间可以具有以下几种关系:用例之间可以具有以下几种关系:关联关系关联关系泛化关系泛化关系包含关系包含

16、关系 扩展关系扩展关系关联关系关联关系 参与者与用例之间是关联关系,表示参与者参与者与用例之间是关联关系,表示参与者与用例之间具有运用,交互信息的关联。与用例之间具有运用,交互信息的关联。参与者与用例之间的关系泛化关系泛化关系 参与者与参与者之间,用例与用例之间存在普参与者与参与者之间,用例与用例之间存在普通与特殊的关系。通与特殊的关系。用例之间的关系用例之间的关系(3)用例的泛化关系用例的泛化关系v同一业务目的不同技术实现:同一业务目的不同技术实现:v一个用例可以特化另一个更普通用例更普通用一个用例可以特化另一个更普通用例更普通用例泛化特殊用例例泛化特殊用例vUML 1.5: UML 1.5

17、: 用例间的泛化关系阐明子用例承继父用用例间的泛化关系阐明子用例承继父用例中定义的一切属性、行为序列和扩展点,并且例中定义的一切属性、行为序列和扩展点,并且参与父用例中一切的关系参与父用例中一切的关系识别用户识别用户验证口令验证口令扫描指纹扫描指纹包含关系包含关系 两个用例之间,一个用例两个用例之间,一个用例(根本用例根本用例)的行为包的行为包含了另外一个用例含了另外一个用例(包含用例包含用例)的行为。的行为。 包含关系用依赖关系的包含关系用依赖关系的构外型来构外型来表示。表示。用例之间的关系用例之间的关系(4)扩展关系扩展关系 扩展关系表示根本用例在扩展点要添加新的行为扩展关系表示根本用例在

18、扩展点要添加新的行为或功能,以扩展到新用例。或功能,以扩展到新用例。 扩展关系用依赖关系的扩展关系用依赖关系的构外型来表构外型来表示。示。用例之间的关系用例之间的关系(5) 第一种表示关系关系v类似于泛化关系,但添加了一些新规那么类似于泛化关系,但添加了一些新规那么v扩展用例可以在基用例之上添加新的行为,扩展用例可以在基用例之上添加新的行为,但是基用例必需声明某些特定的但是基用例必需声明某些特定的“扩展点,扩展点,并且扩展用例只能在这些扩展点上扩展新并且扩展用例只能在这些扩展点上扩展新的行为。的行为。罚款罚款还书还书扩展点:扩展点: 书到期书到期 第二种表示Print Crop MarksPr

19、int Diagram 建议采用第二种表示,留意箭头指向v扩展关系有一系列的扩展点称号,其个数扩展关系有一系列的扩展点称号,其个数与扩展用例中的片断数相等。每个扩展点与扩展用例中的片断数相等。每个扩展点必需在基用例中定义。必需在基用例中定义。v运用扩展关系如以下图:运用扩展关系如以下图:v III 建立用例模型的主要任务建立用例模型的主要任务u定义系统;定义系统;u找出执行者;找出执行者;u找出用例;找出用例;u描画用例;描画用例;u用例的整理与加工;用例的整理与加工;u验证模型。验证模型。用例图的作用用例图的作用用例图用来描画软件需求模型中的系统功用例图用来描画软件需求模型中的系统功能,经过

20、一组用例可以描画软件系统可以给用能,经过一组用例可以描画软件系统可以给用户提供的功能。户提供的功能。 用例图可以作为整个系统开发过程中的开用例图可以作为整个系统开发过程中的开发根据,指点和驱动其他模型。发根据,指点和驱动其他模型。用例图的方式用例图的方式III.1 定义系统u系统的属性;系统的属性;u定义系统时的留意点;定义系统时的留意点;u对与外界系统交互问题的看法。对与外界系统交互问题的看法。 系统的属性系统的属性u系统名:软件系统、业务流程或硬件系统系统名:软件系统、业务流程或硬件系统等都是系统,它应该有一个名字。用字符等都是系统,它应该有一个名字。用字符串表达系统名串表达系统名 。u系

21、统边境:定义系统的边境,即确定系统系统边境:定义系统的边境,即确定系统的内容:哪些义务由系统完成,哪些由人的内容:哪些义务由系统完成,哪些由人工完成,哪些由其他系统完成;系统多大,工完成,哪些由其他系统完成;系统多大,有哪些功能,系统的复杂程度如何;等等。有哪些功能,系统的复杂程度如何;等等。u系统定义该当:根本功能明确;系统构架系统定义该当:根本功能明确;系统构架优良优良( (便于添加或修正系统的功能便于添加或修正系统的功能) )。 定义系统时的留意点定义系统时的留意点u定义系统是用准确的言语对问题进展描定义系统是用准确的言语对问题进展描画,其要点如下:聚集最重要的概念画,其要点如下:聚集最

22、重要的概念( (实实体体) );运用客户熟习的术语、词汇和定义;运用客户熟习的术语、词汇和定义;对系统或业务模型中的词汇给出准确阐明对系统或业务模型中的词汇给出准确阐明( (用于描画用例用于描画用例) )。u系统定义的详略程度:简单系统,半页系统定义的详略程度:简单系统,半页纸左右;复杂系统,需求一系列文档。纸左右;复杂系统,需求一系列文档。 对与外界系统交互问题的看法对与外界系统交互问题的看法u与外界系统的一切交互都应在图中表达。例与外界系统的一切交互都应在图中表达。例如,为了给一笔买卖进展估价需求访问银行,如,为了给一笔买卖进展估价需求访问银行,那么应在用例那么应在用例“买卖估价与买卖估价

23、与“银行之间建银行之间建立衔接关系。立衔接关系。u只需当某个外界系统会引发信息交互时,才只需当某个外界系统会引发信息交互时,才在系统中建立相应的外界系统。此时除非记在系统中建立相应的外界系统。此时除非记帐系统会经过某种方式要求本系统做某件事帐系统会经过某种方式要求本系统做某件事时,才在图中显示记帐系统。时,才在图中显示记帐系统。III.2 找出执行者找出执行者u执行者的主要属性;执行者的主要属性;u执行者与系统和用例之间的关系;执行者与系统和用例之间的关系;u执行者的获取;执行者的获取;u对执行者的描画。对执行者的描画。 执行者的主要属性执行者的主要属性u执行者是与系统有交互作用的实体执行者是

24、与系统有交互作用的实体( (人或其人或其它系统等它系统等) ),它在执行用例时与系统之间有,它在执行用例时与系统之间有信息的交流。信息的交流。 u执行者的重要性可以分级:主要角色执行者的重要性可以分级:主要角色( (执行执行主要功能,如担任保险注册和管理的职员主要功能,如担任保险注册和管理的职员) )和次要角色和次要角色( (执行次要功能,如担任系统维执行次要功能,如担任系统维护、数据库管理、复制备份和其它系统管理护、数据库管理、复制备份和其它系统管理等任务的职员等任务的职员) )。u执行者有自动和被动之分:自动执行者创执行者有自动和被动之分:自动执行者创建用例;被动执行者不创建用例。建用例;

25、被动执行者不创建用例。u一个执行者代表一个角色,执行一个类;一个执行者代表一个角色,执行一个类;因此一个执行者的名字不应运用该执行者因此一个执行者的名字不应运用该执行者的某个详细实例的名字。的某个详细实例的名字。u一个人在系统中的角色可以被限定为一个一个人在系统中的角色可以被限定为一个角色;但也可以担任不同的角色,充任不角色;但也可以担任不同的角色,充任不同类的执行者。同类的执行者。 执行者与系统和用例之间的关系执行者与系统和用例之间的关系u执行者与系统之间的交流是经过收发音讯。执行者与系统之间的交流是经过收发音讯。u一个简单用例总是由一个执行者经过发音一个简单用例总是由一个执行者经过发音讯的

26、方法讯的方法( (刺激刺激) )创建;一个复合用例总是由创建;一个复合用例总是由一个或假设干个执行者经过发音讯的方法一个或假设干个执行者经过发音讯的方法( (刺激刺激) )创建。创建。u当执行一个当执行一个( (简单的或复合的简单的或复合的) )用例时,它会用例时,它会发一些音讯给一个或多个执行者。发一些音讯给一个或多个执行者。 执行者的获取执行者的获取u谁运用系统的主要功能谁运用系统的主要功能( (主要运用者主要运用者) )?u谁需求系统支持他们的日常任务?谁需求系统支持他们的日常任务?u谁来维护、管理系统使其能正常任务谁来维护、管理系统使其能正常任务( (辅助运用者辅助运用者) )?u系统

27、需求控制哪些硬件?系统需求与其他哪些系统系统需求控制哪些硬件?系统需求与其他哪些系统交互?交互?u对系统产生的结果感兴趣的是哪些人或哪些事物?对系统产生的结果感兴趣的是哪些人或哪些事物? 执行者主要是业务的客户,而不是操作员。执行者主要是业务的客户,而不是操作员。经过用户回答以下问题可以协助我们识别执经过用户回答以下问题可以协助我们识别执行者。以下问题可供参考:行者。以下问题可供参考: 对执行者的描画对执行者的描画u执行者是类,因此可用执行者的类名及其属性执行者是类,因此可用执行者的类名及其属性和行为来描画。和行为来描画。u有必要时添加注解,对运用者情况和要求等加有必要时添加注解,对运用者情况

28、和要求等加以阐明。以阐明。u执行者之间的关系与其他类之间的关系一样。执行者之间的关系与其他类之间的关系一样。在用例图中,只需泛化关系用来描画某些执行在用例图中,只需泛化关系用来描画某些执行者之间的公共行为。者之间的公共行为。IV 用例模型用例模型(用例图用例图)的建造的建造u用例间关系的表示图;用例间关系的表示图;u包含关系的定义;包含关系的定义;u扩展关系的定义;扩展关系的定义;u包含与扩展关系的选择;包含与扩展关系的选择;u用例的获取。用例的获取。 用例间关系的表示图用例间关系的表示图UML1.1)UML1.1)签汽车保险签汽车保险合同合同签人寿保险签人寿保险合同合同签保险单签保险单签汽车

29、购置签汽车购置合同合同签保险单签保险单 包含关系的定义包含关系的定义u包含关系是一种包含关系是一种( (因子化因子化) )重组关系。当几个用例具重组关系。当几个用例具有共同的行为时,这个共同行为可以笼统为一个有共同的行为时,这个共同行为可以笼统为一个公共用例。公共用例。u一个特殊用例包含一个公共用例作为其一部分一个特殊用例包含一个公共用例作为其一部分 时,将完全包含那个公共用例的行为,即整个公时,将完全包含那个公共用例的行为,即整个公共用例被运用。共用例被运用。u包含的可视化表示:由用例包含的可视化表示:由用例A A连向用例连向用例B B,表示用,表示用例例A A中包含了用例中包含了用例B B

30、中的行为或功能。中的行为或功能。包含关系包含关系v某些步骤在多个用例反复出现,且单独构某些步骤在多个用例反复出现,且单独构成用例。成用例。v用例步骤较多时,可用用例步骤较多时,可用IncludeInclude简化慎用简化慎用 下订单 提供客户信息 包含关系:不适宜的用法包含关系:不适宜的用法 填写注册信息 验证注册信息充分 生成用户名和密码 保存注册信息 潜在会员 注册 建议运用建议运用或或关系关系 扩展关系的定义扩展关系的定义u扩展与包含类似,从几个用例中抽取公共行为扩展与包含类似,从几个用例中抽取公共行为并放入一个单独用例中作为根本用例,然后添并放入一个单独用例中作为根本用例,然后添加新的

31、特殊情况作为其根本用例的扩展。加新的特殊情况作为其根本用例的扩展。u在扩展情况下,一个给定的执行者将执行根本在扩展情况下,一个给定的执行者将执行根本用例及其一切的扩展。对于包含关系,通常执用例及其一切的扩展。对于包含关系,通常执行者不会和公共用例相关联。行者不会和公共用例相关联。u扩展的可视化表示:由用例扩展的可视化表示:由用例A A连向用例连向用例B, B, 表示表示用例用例B B描画了一项根本需求,而用例描画了一项根本需求,而用例A A那么描画那么描画了该根本需求的特殊情况,即一种扩展。了该根本需求的特殊情况,即一种扩展。扩展关系:不太恰当的用法扩展关系:不太恰当的用法 购物 修改会员资料

32、 会员 登录 包含与扩展关系的选择包含与扩展关系的选择u以下规那么可用来判别应采用包含关系或扩展关以下规那么可用来判别应采用包含关系或扩展关系系u包含:当一个通用的用例可以成为几个特殊的用包含:当一个通用的用例可以成为几个特殊的用例的组成部分时用包含关系。因此,当在两个或例的组成部分时用包含关系。因此,当在两个或更多的用例中出现反复描画而又想防止这种反复更多的用例中出现反复描画而又想防止这种反复时,采用包含关系。时,采用包含关系。u扩展:当一个用例是另一个普通化用例的特例时,扩展:当一个用例是另一个普通化用例的特例时,用扩展关系。因此,当描画普通行为的变化时,用扩展关系。因此,当描画普通行为的

33、变化时,采用扩展关系。采用扩展关系。u要阐明扩展点要阐明扩展点扩展扩展 VS. 包含包含A知道知道BB知道知道A什么时候该我上场什么时候该我上场呢?不知道!呢?不知道!出现这种情况,就出现这种情况,就该我上场了!该我上场了!A AB BA AB B扩展扩展 VS. 包含包含-1v包含:由用例包含:由用例A A连向用例连向用例B B,表示用例,表示用例A A中运用了中运用了用例用例B B中的行为或功能中的行为或功能v扩展:由用例扩展:由用例B B连向用例连向用例A A,表示用例,表示用例A A描画了一描画了一项根本需求,而用例项根本需求,而用例B B那么描画了该根本需求的特那么描画了该根本需求的

34、特殊情况,即一种扩展殊情况,即一种扩展v扩展用例的目的是在不改动某个已存在或假定扩展用例的目的是在不改动某个已存在或假定存在的用例的前提下为之增添新行为存在的用例的前提下为之增添新行为v这些附加的行为能够是必需的,也能够是可选的这些附加的行为能够是必需的,也能够是可选的ABAB扩展扩展 VS. 包含包含-2v扩展和包含用例本质上其实非常类似,它们的主要扩展和包含用例本质上其实非常类似,它们的主要区别在于用例实例中断基用例、执行附加用例的方区别在于用例实例中断基用例、执行附加用例的方式式v扩展和包含用例都于基用例相联。在基用例的执行扩展和包含用例都于基用例相联。在基用例的执行过程中,能够在某种条

35、件下基用例的执行流被中断,过程中,能够在某种条件下基用例的执行流被中断,转而执行扩展或包含用例在转而执行扩展或包含用例在UMLUML中统称为附加用中统称为附加用例的流。当附加用例流执行终了,控制将前往到例的流。当附加用例流执行终了,控制将前往到基用流原来被中断的那个位置恢复执行基用流原来被中断的那个位置恢复执行v扩展用例经过援用扩展点扩展用例经过援用扩展点extension pointextension point建立与建立与基用例的联络,扩展点指明了在基用例中的扩展位基用例的联络,扩展点指明了在基用例中的扩展位置置扩展关系的运用扩展关系的运用v运用扩展的一个潜在问题是创建过深的扩展依赖运用扩

36、展的一个潜在问题是创建过深的扩展依赖层次层次vJacobsonJacobson博士建议永远不要扩展一个扩展博士建议永远不要扩展一个扩展v对于在描画用例的时候,什么时候用扩展,什么对于在描画用例的时候,什么时候用扩展,什么时候用可选途径,时候用可选途径,JacobsonJacobson建议:建议:v只需当扩展用例与被扩展用例完全分别即它本只需当扩展用例与被扩展用例完全分别即它本身是一个独立的详细用例或者是其他用例需求的身是一个独立的详细用例或者是其他用例需求的一个小片段时,才运用扩展关系一个小片段时,才运用扩展关系v基用例本身必需是完好的,它的正确执行不需求基用例本身必需是完好的,它的正确执行不

37、需求扩展。否那么,就应该用可选途径来描画附加行扩展。否那么,就应该用可选途径来描画附加行为为包含关系的运用包含关系的运用v包含关系运用不当容易诱使人们进展攻能分解,包含关系运用不当容易诱使人们进展攻能分解,从而导致对用例的误用从而导致对用例的误用vJacobsonJacobson说,说,“现实上,今天一些人误用了用例,现实上,今天一些人误用了用例,把它们用来描画功能注:指功能分解式的分析把它们用来描画功能注:指功能分解式的分析而不是对象,反过来又指摘用例概念存在问题而不是对象,反过来又指摘用例概念存在问题关系关系v关于关于关系关系vuml1.1uml1.1中有两种用例关系中有两种用例关系v关系

38、和关系和关系关系v它们都是泛化它们都是泛化generalizationgeneralization关系的构外型关系的构外型stereotypestereotypevuml1.3uml1.3之后,提供了三种用例关系之后,提供了三种用例关系v关系、关系、关系都是依赖关系都是依赖dependencydependency关系的构外型关系的构外型stereotypestereotypev泛化关系泛化关系generalizationgeneralization用例关系:扩展用例关系:扩展 VS. 泛化泛化 识别用户 验证口令 扫描指纹 识别用户 验证口令 扫描指纹 要点:用户观念而非系统观念要点:用户观念

39、而非系统观念 订票 旅客 查看今日航班 处理订票 旅客 显示今日航班用例用例 VS. 功能功能呼叫某人呼叫某人接听接听发送短信发送短信记住号码记住号码传输传输/接纳接纳电源电源/基站基站输入输出显示、键盘输入输出显示、键盘簿管理簿管理用例的命名用例的命名v执行者视角:执行者视角:v状语动词状语动词+ +定语定语+ + 宾语宾语顾客购买商品信用卡支付UML1.3的修正的修正v用例之间的泛化关系用例之间的泛化关系v普通泛化关系普通泛化关系v包含关系包含关系:原来的:原来的关系关系v扩展关系扩展关系: must declare certain : must declare certain “exte

40、nsion pointsextension points 发现用例的普通方法:发现用例的普通方法: 找出系统外部参与者,确定系统边境和范围。找出系统外部参与者,确定系统边境和范围。 确定各参与者所期望的系统行为。确定各参与者所期望的系统行为。 把这些系统行为命名为用例。把这些系统行为命名为用例。 确定各用例之间的关系确定各用例之间的关系( (泛化,包含,扩展泛化,包含,扩展) )。 绘制用例图。绘制用例图。 编制用例阐明。编制用例阐明。 对异常流程确定单独用例。对异常流程确定单独用例。 优化用例图,处理用例之间的冲突和反复。优化用例图,处理用例之间的冲突和反复。 发现用例发现用例某学校网上选课

41、系统的用例分析某学校网上选课系统的用例分析(1) 管理员经过系统管理界面进入系统,建立本学期要开管理员经过系统管理界面进入系统,建立本学期要开设的各种课程,将课程信息保管到数据库中,并可以对设的各种课程,将课程信息保管到数据库中,并可以对课程进展改动和删除。课程进展改动和删除。 学生经过客户机阅读器进入系统,选择课程:可以查询学生经过客户机阅读器进入系统,选择课程:可以查询课程,选择课程,支付课程费用。课程,选择课程,支付课程费用。.找出系统外部参与者,确定系统边境和范围。找出系统外部参与者,确定系统边境和范围。 某学校网上选课系统的用例分析某学校网上选课系统的用例分析(2) 确定各参与者所期

42、望的系统行为。确定各参与者所期望的系统行为。 管理员:管理员: 添加课程添加课程 修正课程修正课程 删除课程删除课程学生:学生: 查询课程查询课程 选择课程选择课程 网上付费网上付费某学校网上选课系统的用例分析某学校网上选课系统的用例分析(3) 找出系统外部参与者,确定系统边境和范围。找出系统外部参与者,确定系统边境和范围。 确定各参与者所期望的系统行为。确定各参与者所期望的系统行为。 把这些系统行为命名为用例。把这些系统行为命名为用例。 某学校网上选课系统的用例分析某学校网上选课系统的用例分析(4)确定各角色和用例之间的关系确定各角色和用例之间的关系(泛化,包含,扩展泛化,包含,扩展)。 某

43、学校网上选课系统的用例分析某学校网上选课系统的用例分析(5)绘制用例图绘制用例图某学校网上选课系统的用例分析某学校网上选课系统的用例分析(6) 用例:添加课程用例:添加课程 参与者:管理员参与者:管理员 操作流:操作流: 管理员选择进入管理界面,用例开场。管理员选择进入管理界面,用例开场。 系统提示输入管理员密码。系统提示输入管理员密码。 管理员输入密码。管理员输入密码。 系统检验密码。系统检验密码。 A1:密码出错。:密码出错。 进入管理界面,系统显示当前所建立的全部课程信息。进入管理界面,系统显示当前所建立的全部课程信息。 管理选择添加课程,管理输入新课程信息。管理选择添加课程,管理输入新

44、课程信息。 系统验证能否与已有课程冲突。:有冲突。系统验证能否与已有课程冲突。:有冲突。 系统添加新课程,并提示添加胜利。系统添加新课程,并提示添加胜利。 系统回到管理主界面,显示一切课程,用例终了。系统回到管理主界面,显示一切课程,用例终了。编制用例阐明编制用例阐明某学校网上选课系统的用例分析某学校网上选课系统的用例分析(7)旅店预订系统精化后的用例模型旅店预订系统精化后的用例模型包含关系的描画包含关系的描画扩展关系的描画扩展关系的描画 用例的获取用例的获取v首先获取简单的、常规的用例作为根本用例首先获取简单的、常规的用例作为根本用例( (在在上例中,根本用例是进展买卖上例中,根本用例是进展

45、买卖) )。v当一个用例与另一个用例类似,但比另一个用例当一个用例与另一个用例类似,但比另一个用例做的动作要多,采用扩展关系:做的动作要多,采用扩展关系:v对用例中的每一步,问一下对用例中的每一步,问一下“这儿能够出现什么这儿能够出现什么异常情况以及异常情况以及“能否需求采取不同的处理方法能否需求采取不同的处理方法;将一切出现变动的部分列出,作为给定用例;将一切出现变动的部分列出,作为给定用例的扩展。的扩展。v一旦获取了系统的执行者,就可对每个执行者提一旦获取了系统的执行者,就可对每个执行者提出一些问题,然后从执行者对这些问题的答案中出一些问题,然后从执行者对这些问题的答案中获取用例。获取用例

46、。要点:用例粒度要点:用例粒度-1v用例要有途径,途径要有步骤;而这一切都是可用例要有途径,途径要有步骤;而这一切都是可观测的观测的v最常犯错误:粒度过细,堕入功能分解最常犯错误:粒度过细,堕入功能分解v过细的粒度,普通都会导致技术言语的描画,而过细的粒度,普通都会导致技术言语的描画,而不再是业务言语不再是业务言语用例粒度用例粒度-2v把步骤当用例把步骤当用例v把系统活动当用例把系统活动当用例 会员 输入用户名 验证用户名和密码 会员 登录 查询订单建立数据库连接执行SQL语句利用分包机制组织用例模型利用分包机制组织用例模型“恳求包的子视图恳求包的子视图 用例的获取用例的获取( (续续2)2)

47、v为了完好地描画用例,还需求知道执行者的为了完好地描画用例,还需求知道执行者的某些典型功能能否被系统自动实现。某些典型功能能否被系统自动实现。v针对整个系统的问题的答案也可协助我们获针对整个系统的问题的答案也可协助我们获取用例。以下问题可供参考:取用例。以下问题可供参考:v系统需求何种输入输出?输入从何处来?输系统需求何种输入输出?输入从何处来?输出到何处去?出到何处去?v当前运转系统当前运转系统( (也许是一些手工操作而不是计也许是一些手工操作而不是计算机系统算机系统) )的主要问题是什么?的主要问题是什么?v在开发系统的用例图时,不同的设计者选取在开发系统的用例图时,不同的设计者选取用例的

48、数目也不一样。用例的数目也不一样。 V 小 结v用例是由执行者创建、根据执行者的意图执行的。用例是由执行者创建、根据执行者的意图执行的。执行者直接或间接地命令该系统执行他所期望的执行者直接或间接地命令该系统执行他所期望的用例。用例。v一个用例必需至少与一个执行者相连。一个用例必需至少与一个执行者相连。v一个用例必需是完好的:应有一个完好的描画;一个用例必需是完好的:应有一个完好的描画;常见的错误是把用例分得太小。常见的错误是把用例分得太小。v用例要向执行者提供执行结果。假设它不能产生用例要向执行者提供执行结果。假设它不能产生最终结果,这个用例就不是完好的。最终结果,这个用例就不是完好的。v活动

49、图可以用来产生用例图。一个完好的活动图活动图可以用来产生用例图。一个完好的活动图可以用来产生该用例图的选集。可以用来产生该用例图的选集。课堂练习 现有一医院病房监护系统,病症监视器安顿在每现有一医院病房监护系统,病症监视器安顿在每个病房,将病人的病症信号实时传送到中央监视系个病房,将病人的病症信号实时传送到中央监视系统进展分析处置。在中心值班室里,值班护士运用统进展分析处置。在中心值班室里,值班护士运用中央监视系统对病员的情况进展监控,根据医生的中央监视系统对病员的情况进展监控,根据医生的要求随时打印病人的病情报告,定期更新病历,当要求随时打印病人的病情报告,定期更新病历,当病症出现异常时,系

50、统会立刻自动报警病症出现异常时,系统会立刻自动报警, , 并实时打并实时打印病人的病情报告,立及更新病历。印病人的病情报告,立及更新病历。 要求根据现场情景,对医院病房监护系统进展需要求根据现场情景,对医院病房监护系统进展需求分析,求分析, 建立系统的用例模型。建立系统的用例模型。 经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:1 1、监视病员的病症血压、体温、脉搏等、监视病员的病症血压、体温、脉搏等2 2、定时更新病历、定时更新病历3 3、病员出现异常情况时报警。、病员出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。例:

51、 医院病房监护系统产生产生病情报告病情报告监视病情监视病情更新病历更新病历一、情景分析一、情景分析 二、简单的需求分析阐明二、简单的需求分析阐明 系统称号:医院病房监护系统系统称号:医院病房监护系统 根据分析系统主要实现以下功能:根据分析系统主要实现以下功能:1 1、病症监视器可以将采集到的病症信号组、病症监视器可以将采集到的病症信号组合,格式化后实时的传送到中央监护系统。合,格式化后实时的传送到中央监护系统。2 2、中央监护系统将病人的病症信号开解后与、中央监护系统将病人的病症信号开解后与规范的病症信号库里的病症信号的正常值进展比规范的病症信号库里的病症信号的正常值进展比较,当病症出现异常时

52、系统自动报警。较,当病症出现异常时系统自动报警。3 3、当病症信号异常时,系统自动更新病历并、当病症信号异常时,系统自动更新病历并打印病情报告。打印病情报告。4 4、值班护士可以查看病情报告并进展打印。、值班护士可以查看病情报告并进展打印。5 5、医生可以查看病情报告,要求打印病情报告,、医生可以查看病情报告,要求打印病情报告,也可以查看或要求打印病历。也可以查看或要求打印病历。6 6、系统定期自动更新病历。、系统定期自动更新病历。三、建立系统的用例图三、建立系统的用例图1 1、经过以下六个问题识别角色、经过以下六个问题识别角色(1)(1)谁运用系统的主要功能?谁运用系统的主要功能?(2)(2

53、)谁需求系统的支持以完成日常任务义务?谁需求系统的支持以完成日常任务义务?(3)(3)谁担任维护,管理并坚持系统正常运转?谁担任维护,管理并坚持系统正常运转?(4)(4)系统需求应付或处置哪些硬设备?系统需求应付或处置哪些硬设备?(5)(5)系统需求和哪些外部系统交互?系统需求和哪些外部系统交互?(6)(6)谁或什么对系统运转产生的结果值感谁或什么对系统运转产生的结果值感兴趣?兴趣?经过回答这六个问题以后,再进一步分析可以识别出本系统的四个角经过回答这六个问题以后,再进一步分析可以识别出本系统的四个角色:值班护士,医生,病人,规范病症信号库。色:值班护士,医生,病人,规范病症信号库。角色描画模

54、板角色描画模板角色:病角色:病 人人角色职责:角色职责:提供病症信号提供病症信号角色职责识别:角色职责识别:担任生成、实时提供担任生成、实时提供各种病症信号。各种病症信号。角色:值班护士角色:值班护士角色职责:角色职责:担任监视病人的病担任监视病人的病情变化情变化角色职责识别:角色职责识别: (1)运用系统主要功能运用系统主要功能 (2)对系统运转结果感对系统运转结果感兴趣兴趣角色角色:规范病症信号库规范病症信号库角色职责:角色职责:担任向系统提供病症担任向系统提供病症信号的正常值信号的正常值角色职责识别:角色职责识别: (1)担任坚持系统担任坚持系统正常运转正常运转 (2)与系统交互与系统交

55、互角色:医角色:医 生生角色职责:角色职责:对病人担任,担任对病人担任,担任处置病情的变化处置病情的变化角色职责识别:角色职责识别: (1)需求系统支持以完需求系统支持以完成其日常任务成其日常任务 (2)对系统运转结果感对系统运转结果感兴趣兴趣经过分析可以初步识别出系统的用例为:中央监护,病症经过分析可以初步识别出系统的用例为:中央监护,病症监护,提供规范病症信号,病历管理,病情报告管理。顶层用监护,提供规范病症信号,病历管理,病情报告管理。顶层用例图为:例图为:经过分析可以初步识别出系统的用例为:中央监护,经过分析可以初步识别出系统的用例为:中央监护,病症监护,提供规范病症信号,病历管理,病

56、情报病症监护,提供规范病症信号,病历管理,病情报告管理。顶层用例图为:告管理。顶层用例图为:规范病症规范病症信号库信号库提供规范提供规范病症信号病症信号病历管理病历管理病人病人 医生值班护士值班护士病症监护病症监护病情报病情报告管理告管理中央监护中央监护2、识别出系统的用例、识别出系统的用例将用例细化,可以得到分解的用例:将用例细化,可以得到分解的用例:1 1、中央监护、中央监护 分解为:分解为: a a分解信号分解信号 将从病症监护器传送来的组合病症将从病症监护器传送来的组合病症 信号分解为系统可以处置的信号。信号分解为系统可以处置的信号。b b比较信号比较信号 将病人的病症信号与规范信号比

57、较将病人的病症信号与规范信号比较 。 c c报警报警 假设病症信号发生异常即高于峰值,假设病症信号发生异常即高于峰值, 发出报警信号。发出报警信号。d d数据格式化数据格式化 将处置后的数据格式化以便写入将处置后的数据格式化以便写入 病历库病历库 。用例细化用例细化3、细化系统的用例、细化系统的用例v2、病症监护、病症监护 v分解为:分解为:ve信号采集:采集病人的病症信号。信号采集:采集病人的病症信号。vf模数转化:将采集来的模拟信号转化为模数转化:将采集来的模拟信号转化为数字信号。数字信号。vg信号数据组合:将采集到的脉搏,血压信号数据组合:将采集到的脉搏,血压等信号数据组合为一组信号数据

58、。等信号数据组合为一组信号数据。vh采样频率改动:根据病人的情况改动监采样频率改动:根据病人的情况改动监视器采样频率。视器采样频率。v3、提供规范病症信号、提供规范病症信号 i此用例不分解此用例不分解v4、病历管理、病历管理 v 分解为:分解为:j 生成病历生成病历v k 查看病历查看病历v l 更新病历更新病历 v m 打印病历打印病历 v5、病情报告、病情报告 v分解为:分解为:n显示病情报告显示病情报告 在显示器上显示病情在显示器上显示病情vo打印病情报告打印病情报告 在打印机打印病情报告在打印机打印病情报告病人病人模数转化模数转化数据格式化数据格式化值班护士值班护士报警报警信号采集信号

59、采集比较信号比较信号规范病症规范病症信号库信号库 医生医生信号数据组合信号数据组合采样频率采样频率改动改动提供规范提供规范病症信号病症信号生成病历生成病历查看病历查看病历更新病历更新病历打印病历打印病历显示病情报告显示病情报告打印病情报告打印病情报告分解信号分解信号会议管理实例分析需求会议管理实例分析需求v 会议是保证行政管理实施的手段,会议管理包括会议类别会议是保证行政管理实施的手段,会议管理包括会议类别设置、会议室设置、会议恳求、会议审核、会议通知、会设置、会议室设置、会议恳求、会议审核、会议通知、会议纪要、会议查询、会议归档。议纪要、会议查询、会议归档。v 会议类型设置是进展会议管理的根

60、底,需求保管的信息包会议类型设置是进展会议管理的根底,需求保管的信息包括:会议性质称号、备注,并可对会议类型设置进展修正括:会议性质称号、备注,并可对会议类型设置进展修正和删除。会议室设置需求保管的信息包括:会议室称号、和删除。会议室设置需求保管的信息包括:会议室称号、包容人数、会议室资源、运用情况、阐明,并可对会议室包容人数、会议室资源、运用情况、阐明,并可对会议室设置进展修正、删除以及查看运用情况。会议恳求是由会设置进展修正、删除以及查看运用情况。会议恳求是由会议恳求人草拟的会议安排,输入信息包括:会议性质、会议恳求人草拟的会议安排,输入信息包括:会议性质、会议议题、预算、会议附件有附件上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论