资源描述
第五章 用例图学习内容n什么叫用例图n用例图的构成要素n用例的重要元素n用例之间的关系n使用Rose创建用例的步骤说明2什么叫用例图1.用用例例图图的的含含义义 由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。要在用例图上绘制一个参与者(表示一个系统用户),可绘制一个人形符号。参与者和用例之间的关系使用带箭头或者不带箭头的线段来描述,箭头表示在这一关系中哪一方是对话的主动发起者,箭头所指方是对话的被动接受者。3什么叫用例图n在用例建模中,为了更加清楚的描述用例或者参与者,会使用到注释。4什么叫用例图2.用用例例图图的的作作用用n用例图是需求分析中的产物,主要作用是描述参与者和用例之间的关系,帮助开发人员可视化的了解系统的功能。借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。n用例图可视化地表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足。n用例方法是完全从外部来定义系统功能,它把需求和设计完全的分离开来。我们不用关心系统内部是如何完成各种功能的,系统对于我们来说就是一个黑箱子。5用例图的构成要素1 1.参参参参与与与与者者者者n参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。n每个参与者可以参与一个或多个用例,每个用例也可以有一个或多个参与者。n在用例图中使用一个人形图标来表示参与者,参与者的名字写在人形图标下面。6用例图的构成要素2.参参与与者者间间的的关关系系n由于参与者实质上也是类,所以它拥有与类相同的关系描述,即参与者与参与者之间主要是泛化关系(或称为“继承”关系)。n泛化关系的含义是把某些参与者的共同行为提取出来表示成通用行为,并描述成超类。泛化关系表示的是参与者之间的一般/特殊关系,在UML图中,使用带空心三角箭头的实线表示泛化关系。7大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流8用例图的构成要素3 3.系系系系统统统统边边边边界界界界n在项目开发过程中,边界是一个非常重要的概念。这里说的系统边界是指系统与系统之间的界限。通常我们所说的系统可以认为是由一系列的相互作用的元素形成的具有特定功能的有机整体。n系统同时又是相对的,一个系统本身又可以是另一个更大系统的组成部分,因此,系统与系统之间需要使用系统边界进行区分开来。我们把系统边界以外的同系统相关联的其他部分,称之为系统环境。9用例的重要元素1 1.识识识识别别别别用用用用例例例例n任何用例都不能在缺少参与者的情况下独立存在。同样,任何参与者也必须要有与之关联的用例。所以识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。n可以通过以下问题来寻找用例:(1)参与者希望系统提供什么功能?(2)参与者是否会读取、创建、修改、删除、存储系统的某种信息?如果是的话,参与者又是如何完成这些操作的?(3)参与者是否会将外部的某些事件通知给系统?(4)系统中发生的事件是否通知参与者?(5)是否存在影响系统的外部事件。10用例的重要元素2 2.用用用用例例例例的的的的粒粒粒粒度度度度n用例的粒度指的是用例所包含的系统服务或功能单元的多少。用例的粒度越大,用例包含的功能越多,反之则包含的功能越少。n如果用例的粒度很小,得到的用例数就会太多。反之,如果用例的粒度很大,那么得到的用例数就会很少。n如果用例数目过多会造成用例模型过大和引入设计困难大大提高。如果用例数目过少会造成用例的粒度太大,不便于进一步的充分分析。11用例的重要元素比如:网站后台管理系统中的会员信息维护用例,管理员需要进行添加会员信息、修改会员信息、删除会员信息等操作。我们还可以根据具体的操作把它抽象成3个用例,它展示的系统需求和单个用例是完全一样的。12用例的重要元素3 3.用用用用例例例例规规规规约约约约n对于每一个用例,我们还需要有详细的描述信息,以便让别人对于整个系统有一个更加详细的了解,这些信息包含在用例规约之中。n每一个用例的用例规约都应该包含以下内容:(1)简要说明:对用例作用和目的的简要描述。(2)事件流:事件流包括基本流和备选流。基本流描述的是用例的基本流程,是指用例“正常”运行时的场景。(3)用例场景:同一个用例在实际执行的时候会有很多不同的情况发生,称之为用例场景,也可以说用例场景就是用例的实例。(4)特殊需求:特殊需求指的是一个用例的非功能性需求和设计约束。特殊需求通常是非功能性需求,包括可靠性、性能、可用性和可扩展性等。例如法律或法规方面的需求、应用程序标准和所构建系统的质量属性等。(5)前置条件:执行用例之前系统必须所处的状态。例如,前置条件是要求用户有访问的权限或是要求某个用例必须已经执行完。(6)后置条件:用例执行完毕后系统可能处于的一组状态。例如,要求在某个用例执行完后,必须执行另一个用例。13用例之间的关系1 1.包包包包含含含含n包含关系指用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。在UML中,包含关系是通过带箭头的虚线段加字样来表示,箭头由基础用例(Base)指向被包含用例(Inclusion)。14用例之间的关系n包含关系代表着基础用例会用到被包含用例,具体的讲就是将被包含用例的事件流插入到基础用例的事件流中。需要注意的是,包含关系是UML1.3中的表述,在UML1.1中,同等语义的关系被表述为使用(uses)。15用例之间的关系n在处理包含关系时,具体的做法就是把几个用例的公共部分单独的抽象出来成为一个新的用例。主要有两种情况需要用到包含关系:n第一,多个用例用到同一段的行为,则可以把这段共同的行为单独抽 象成为一个用例,然后让其他用例来包含这一用例。n第二,某一个用例的功能过多、事件流过于复杂时,我们也可以把某一段事件流抽象成为一个被包含的用例,以达到简化描述的目的。16用例之间的关系2.扩扩展展n在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例(Extension),原有的用例叫做基础用例(Base),从扩展用例到基础用例的关系就是扩展关系。n一个基础用例可以拥有一个或者多个扩展用例,这些扩展用例可以一起使用。17用例之间的关系3.泛泛化化n用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。n在用例的泛化关系中,子用例继承了父用例所有的结构、行为和关系,子用例是父用例的一种特殊形式。n子用例还可以添加、覆盖、改变继承的行为。在UML中,用例的泛化关系通过一个三角箭头从子用例指向父用例来表示。18用例之间的关系n泛化的示例:银行存款有两种方式,一种是银行柜台存款,一种是ATM机存款。在这里,银行柜台存款和ATM机存款都是存款的一种特殊方式,因此“存款”为父用例,“银行柜台存款”和“ATM机存款”为子用例。195.3.3用例图实例例例例例1 1 1 1 建立项目与资源管理系统的建立项目与资源管理系统的建立项目与资源管理系统的建立项目与资源管理系统的Use caseUse caseUse caseUse case图图图图 系系统统的的主主要要功功能能是是:包包括括项项目目管管理理,资资源源管管理理和系统管理三大管理功能。和系统管理三大管理功能。1.项目管理包括项目的增加、删除、更新。项目管理包括项目的增加、删除、更新。2.资资源源管管理理包包括括对对资资源源和和技技能能的的添添加加、删删除除和更新。和更新。3.系系统统管管理理包包括括系系统统的的启启动动和和关关闭闭,数数据据的的存储和备份等功能。存储和备份等功能。说明:技能表示人力资源。说明:技能表示人力资源。201.1.1.1.分析确定系统的执行者分析确定系统的执行者分析确定系统的执行者分析确定系统的执行者(角色角色角色角色)到确定到确定 项目管理员、资源管理员、系统管理项目管理员、资源管理员、系统管理员、备份数据系统。员、备份数据系统。项目管理,资源管理和系统管理。项目管理,资源管理和系统管理。2.2.2.2.确定用例确定用例确定用例确定用例3.3.3.3.对用例进行分解,画出下层的对用例进行分解,画出下层的对用例进行分解,画出下层的对用例进行分解,画出下层的Use Use Use Use casecasecasecase图图图图角色:角色:角色职责:角色职责:角色职责识别:角色职责识别:角色描述模板 还应画出相应的执行者描述模板及用还应画出相应的执行者描述模板及用例描述模板。例描述模板。对上层的用例进行分解对上层的用例进行分解,并将执行者并将执行者分配到各层次的分配到各层次的Use case图中。图中。用例名:用例名:功能描述:功能描述:主要步骤:主要步骤:相关用例:相关用例:相关信息:相关信息:(优先级优先级性能性能,频度频度)用例描述模板21例例例例1 1 1 1 项目与资源管理系统(项目与资源管理系统(项目与资源管理系统(项目与资源管理系统(PRMSPRMSPRMSPRMS)添加技能添加技能删除技能删除技能更新技能更新技能资源管理员资源管理员资源管理员资源管理员添加资源添加资源删除资源删除资源更新资源更新资源查找技能查找技能查找资源查找资源把技能指把技能指定给资源定给资源从资源中从资源中清除技能清除技能资源管理资源管理Use CaseUse Case图图 Use Case Use Case Use Case Use Case图可以自顶而下不断精化,抽象图可以自顶而下不断精化,抽象出不同层次的出不同层次的Use CaseUse CaseUse CaseUse Case图。图。系统管理员系统管理员系统管理员系统管理员项目管理员项目管理员项目管理员项目管理员资源管理员资源管理员资源管理员资源管理员资源管理资源管理项目管理项目管理系统管理系统管理备份系统备份系统备份系统备份系统PRMSPRMS高层高层Use CaseUse Case图图注:这里的“技能”是指人力资源。22例例例例1 1 1 1 项目与资源管理系统(项目与资源管理系统(项目与资源管理系统(项目与资源管理系统(PRMSPRMSPRMSPRMS)项目项目项目项目管理员管理员管理员管理员添加项目添加项目删除项目删除项目更新项目更新项目添加活动添加活动删除活动删除活动更新活动更新活动查找项目查找项目添加任务添加任务分配资源分配资源给任务给任务取消对任务取消对任务的资源分配的资源分配删除任务删除任务更新任务更新任务项目管理项目管理项目管理项目管理Use CaseUse CaseUse CaseUse Case图图图图系统管理系统管理系统管理系统管理Use CaseUse CaseUse CaseUse Case图图图图系统管理员系统管理员系统管理员系统管理员添加技能添加技能存储数据存储数据启动系统启动系统关闭系统关闭系统查找技能查找技能备份资备份资源数据源数据备份项备份项目数据目数据备份数据备份数据备份系统备份系统23应用举例应用举例例例22医院病房监护系统医院病房监护系统医院病房监护系统医院病房监护系统一、问题描述一、问题描述一、问题描述一、问题描述 为为了了对对危危重重病病人人进进行行实实实实时时时时监监监监护护护护,随随时时了了解解病病人人病病情情,及及时时进行处理,建立病房监护系统。进行处理,建立病房监护系统。病病症症监监视视器器安安置置在在每每个个病病床床,通通过过网网络络将将病病人人的的病病症症信信号号(组合)实时传送到中央监护系统进行分析处理。(组合)实时传送到中央监护系统进行分析处理。在在中中心心值值班班室室里里,值值班班护护士士使使用用中中央央监监护护系系统统对对病病员员的的情情况况进进行行监监控控,监监护护系系统统实实时时地地将将病病人人的的病病症症信信号号与与标标准准的的病病诊诊信信号号进进行行比比较较分分析析,当当病病症症出出现现异异常常时时,系系统统会会立立即即自自动动报报警警,并打印病情报告和更新病历。并打印病情报告和更新病历。系系统统根根据据医医生生的的要要求求随随时时打打印印病病人人的的病病情情报报告告,系系统统定定期期自动更新病历。自动更新病历。24请对系统需求进行分析!请对系统需求进行分析!经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:1.1.监视病员的病症(血压、体温、脉搏等)监视病员的病症(血压、体温、脉搏等)2.2.定时更新病历定时更新病历3.3.病员出现异常情况时报警。病员出现异常情况时报警。4.4.随机地产生某一病员的病情报告。随机地产生某一病员的病情报告。例例2 2 医院病房监护系统医院病房监护系统产生产生病情报告病情报告监视病情监视病情更新病历更新病历25二、简单的需求分析说明二、简单的需求分析说明二、简单的需求分析说明二、简单的需求分析说明对对“医院病房监护系统医院病房监护系统”进行分析,确定系统的主要功能如下:进行分析,确定系统的主要功能如下:1.病病症症监监视视器器可可以以将将采采集集到到的的病病症症信信号号(组组合合),格格式式化化后后实实时时的的传传送送到到中央监护系统。中央监护系统。2.中中央央监监护护系系统统将将病病人人的的病病症症信信号号开开解解后后与与标标准准的的病病症症信信号号库库里里的的病病症症信信号的正常值进行比较,当病症出现异常时系统自动报警。号的正常值进行比较,当病症出现异常时系统自动报警。3.当病症信号异常时,系统自动更新病历并打印病情报告。当病症信号异常时,系统自动更新病历并打印病情报告。4.值班护士可以查看病情报告并进行打印。值班护士可以查看病情报告并进行打印。5.医医生生可可以以查查看看病病情情报报告告,要要求求打打印印病病情情报报告告,也也可可以以查查看看或或要要求求打打印印病病历。历。6.系统定期自动更新病历。系统定期自动更新病历。需求分析261.1.通过以下六个问题识别角色通过以下六个问题识别角色通过以下六个问题识别角色通过以下六个问题识别角色(1)谁使用系统的主要功能?谁使用系统的主要功能?(2)谁需要系统的支持以完成日常工作任务?谁需要系统的支持以完成日常工作任务?(3)谁负责维护,管理并保持系统正常运行?谁负责维护,管理并保持系统正常运行?(4)系统需要应付(或处理)哪些硬设备?系统需要应付(或处理)哪些硬设备?(5)系统需要和哪些外部系统交互?系统需要和哪些外部系统交互?(6)谁(或什么)对系统运行产生的结果(值)感兴趣?谁(或什么)对系统运行产生的结果(值)感兴趣?需求分析三、建立系统的用例模型三、建立系统的用例模型三、建立系统的用例模型三、建立系统的用例模型值班护士、医生、病人值班护士、医生、病人值班护士、医生、病人值班护士、医生、病人值班护士、医生值班护士、医生值班护士、医生值班护士、医生系统管理员系统管理员系统管理员系统管理员监护器监护器监护器监护器,网络网络网络网络,报警系统报警系统报警系统报警系统标准病症信号库、病历库标准病症信号库、病历库标准病症信号库、病历库标准病症信号库、病历库同同同同(2)(2)27通通过过回回答答这这六六个个问问题题以以后后,再再进进一一步步分分析析可可以以识识别别出出本本系系统统的的四四个个角角色色:值值值值班班班班护士,医生,病人,标准病症信号库护士,医生,病人,标准病症信号库护士,医生,病人,标准病症信号库护士,医生,病人,标准病症信号库。角色描述模板:角色描述模板:角色:病角色:病 人人角色职责:角色职责:提供病症信号提供病症信号角色职责识别:角色职责识别:负责生成、实时提负责生成、实时提供各种病症信号。供各种病症信号。角色:值班护士角色:值班护士角色职责:角色职责:负责监视病人的病负责监视病人的病情变化情变化角色职责识别:角色职责识别:(1)使用系统主要功能使用系统主要功能(2)对系统运行结果感对系统运行结果感兴趣兴趣角色角色:标准病症信号库标准病症信号库角色职责:角色职责:负责向系统提供病症负责向系统提供病症信号的正常值信号的正常值角色职责识别:角色职责识别:(1)负责保持系统正负责保持系统正常运行常运行(2)与系统交互与系统交互角色:医角色:医 生生角色职责:角色职责:对病人负责,负责对病人负责,负责处理病情的变化处理病情的变化角色职责识别:角色职责识别:(1)需要系统支持需要系统支持以完成其日常工作以完成其日常工作(2)对系统运行结果对系统运行结果感兴趣感兴趣角色描述28.识别用例识别用例识别用例识别用例回答下面的问题:回答下面的问题:与系统实现有关的主要问题是什么?与系统实现有关的主要问题是什么?系统需要哪些输入系统需要哪些输入/输出?这些输入输出?这些输入/输出从何而来?到输出从何而来?到 哪里去?哪里去?执行者需要系统提供哪些功能?执行者需要系统提供哪些功能?执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?通通过过分分析析可可以以初初步步识识别别出出系系统统的的用用例例为为:中中央央监监护护,病病症症监监护护,提提供供标标准准病症信号,病历管理,病情报告管理。顶层用例图为:病症信号,病历管理,病情报告管理。顶层用例图为:29 通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图为:症信号,病历管理,病情报告管理。顶层用例图为:医院病房监护系统高层用例图医院病房监护系统高层用例图 值班护士值班护士医生医生病人病人标准病症标准病症信号库信号库病症监护病症监护提供标准提供标准病症信号病症信号中央监护中央监护病历管理病历管理病情报告管理病情报告管理30进一步将用例细化,即分解用例:进一步将用例细化,即分解用例:1.1.中央监护中央监护中央监护中央监护 分分解解:a a 分分分分解解解解信信信信号号号号 将将从从病病症症监监护护器器传传送送来来的的组组合合病病症症信信号号分分解解为为系系统统可可以以处处理理的的信号。信号。b b 比较信号比较信号比较信号比较信号 将病人的病症信号与标准信号比较将病人的病症信号与标准信号比较。c c 报警报警报警报警 如果病症信号发生异常(即高于峰值),发出报警信号。如果病症信号发生异常(即高于峰值),发出报警信号。d d 数据格式化数据格式化数据格式化数据格式化 将处理后的数据格式化以便写入病历库将处理后的数据格式化以便写入病历库。2.2.病症监护病症监护病症监护病症监护 分解分解:e e 信号采集信号采集信号采集信号采集 采集病人的病症信号。采集病人的病症信号。f f 模数转化模数转化模数转化模数转化 将采集来的模拟信号转化为数字信号。将采集来的模拟信号转化为数字信号。g g 信号数据组合信号数据组合信号数据组合信号数据组合 将采集到的脉搏,血压等信号数据组将采集到的脉搏,血压等信号数据组 合为一组信号数据。合为一组信号数据。h h 采样频率改变采样频率改变采样频率改变采样频率改变 根据病人的情况改变监视器采样频率。根据病人的情况改变监视器采样频率。用例细化313.3.3.3.提供标准病症信号提供标准病症信号提供标准病症信号提供标准病症信号 i i(此用例不分解)(此用例不分解)4.4.病历管理病历管理病历管理病历管理 分解为:分解为:j j 生成病历生成病历生成病历生成病历k k 查看病历查看病历查看病历查看病历l l 更新病历更新病历更新病历更新病历 m m 打印病历打印病历打印病历打印病历 5.5.病情报告管理病情报告管理病情报告管理病情报告管理 分解为分解为:n n 显示病情报告显示病情报告显示病情报告显示病情报告 在显示器上显示病情在显示器上显示病情o o 打印病情报告打印病情报告打印病情报告打印病情报告 在打印机打印病情报告在打印机打印病情报告用例细化32给出细化的用例图给出细化的用例图给出细化的用例图给出细化的用例图细化的用例图病人病人模数转化模数转化数据格式化数据格式化值班护士值班护士报警报警信号采集信号采集比较信号比较信号标准病症标准病症信号库信号库 医生医生信号数据组合信号数据组合采样频率采样频率改变改变提供标准提供标准病症信号病症信号生成病历生成病历查看病历查看病历更新病历更新病历打印病历打印病历显示病情报告显示病情报告打印病情报告打印病情报告分解信号分解信号33练习一:请画出学生信息管理系统的用例图n“学生信息管理系统”功能性需求包括以下内容:(1)系统管理员登录后可以对班级的基本信息进行增加、删除、修改、查询等操作。学校领导登录后可以对班级基本信息进行查询操作。(2)教师登录后可以对学生的考试成绩进行录入、删除、修改、查询等操作。学生登录后可以对考试成绩进行查询操作。(3)学生登录后可以了解所有选修课程的具体信息,可以根据自己的需要选择不同课程。系统管理员登录后可以增加、修改、查询、删除选修课程。(4)系统管理员可以对账号进行创建、设置、查看、删除等操作。34练习二 图书管理系统系统分析及用例图n图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书馆向每一个借阅者发放图书证,图书证中包含每一个借阅者的编号和个人信息。系统通过一个单独的程序为借阅者提供服务,不需要管理人员的干预,这些服务包括提供查询图书信息、查询个人信息服务和预定图书服务等。n当借阅者需要借阅书籍、归还书籍时需要通过图书管理员进行,也就是说借阅者不直接与系统交互,而是图书管理员充当借阅者的代理与系统交互。当借阅者借阅的图书数量超过限制时,不运行借阅者再进行借阅。当借阅者借阅的图书超过一定的期限时,需要对其进行处罚。借阅图书时需要图书证作为凭据,归还时不需要。n系统管理员负责系统的管理维护工作,维护工作包括图书的添加、删除和修改,书目的添加和删除,借阅者的添加、删除和修改,并且系统管理员能够查询借阅者、图书和图书管理员的信息。n查询图书可以通过图书的名称或图书的ISBN/ISSN号进行查找35
展开阅读全文