




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章-补 Use Case图,第7章-补 Use Case图,2,第7-补章 Use Case图,活动者 Use Case Use Case的联系 Use Case图的应用,2,第7章-补 Use Case图,3,7-补.1 活动者(Actor),系统范围与系统边界 活动者 活动者的确定,第7章-补 Use Case图,4,7-补.1.1 系统范围与系统边界,系统(System)是指由多个系统元素有机地结合在一起,并执行特定的功能以达到特定目标的集合体。计算机系统是用于解决某个特定的领域问题的。 系统分析的首要任务是问题识别,明确系统范围,划分系统边界,确定系统的责任。 系统范围(System Scope)是指系统的问题域的目标、责任、任务和规模,以及系统应提供的服务。 系统边界(System Border)是指一个系统的所有系统元素与系统以外的事物的分界线。 系统的范围与边界取决于开发的目标、任务和规模。,第7章-补 Use Case图,5,7-补.1.2 活动者,活动者(Actor)是用户作用于系统的一个角色(Role)。 活动者用来建立一个系统的外部用户模型,活动者直接与系统交互作用。活动者是对系统边界之外的对象的描述。在系统边界之外的是活动者。 活动者对系统的交互包括:信息交换(数据信息和控制信息)和与系统的协同。 活动者包括:人活动者(Human Actor)和外部系统活动者(System Actor)。 系统的用户是人活动者。 活动者不一定是人,它也可以是一个外部系统,该系统与本系统相互作用,交换信息。,第7章-补 Use Case图,6,活动者运行Use Case,获得系统的某项服务。 一个活动者可以运行多个Use Case,而一个Use Case可以由多个活动者运行。 一个活动者与其他的活动者可以有泛化联系,即一个活动者可以继承一个更一般的活动者的特性。 活动者的图形表示如图所示。,活动者名,第7章-补 Use Case图,7,7-补.1.3 活动者的确定,确定活动者首先应明确系统的范围,并从应用的角度考虑系统的作用,确定将有哪些外部事物与系统进行交互。 凡是与系统进行信息交换(包括数据信息和控制信息交换)的外部事物可以确认为活动者。 系统的外部事物包括:人员、设备、外部系统。 凡是直接使用系统的人员可以确认为活动者。 某些设备与系统相联,直接向系统提供外界信息或在系统的控制下运行,可以确认为活动者。 凡是与系统相联,并与系统交互的外部系统,可以确认为活动者。,第7章-补 Use Case图,8,Use Case概念的创始者Jacobson提出了在确定活动者时应考虑的一些问题: 每一个活动者的主要任务是什么。 活动者是否要读、写或修改系统中的信息。 活动者是否应把系统外部的有关变化通知系统。 活动者是否期望系统把意外的变化通知自己。 这些问题对于确定活动者有一定的启发作用。,第7章-补 Use Case图,9,7-补.2 Use Case,Use Case概念 业务Use Case与系统Use Case Use Case图,第7章-补 Use Case图,10,7-补.2.1 Use Case概念,Use Case是对系统的用户需求(主要是功能需求)的描述,Use Case表达了系统的功能和所提供的服务。 Use Case描述活动者与系统交互中的对话。它可以用一系列的步骤来描述,这些步骤构成一个“剧本”(Scenario)。 剧本”的集合就是Use Case。全部的Use Case构成了对于系统外部是可见的行为的描述。 Use Case只描述活动者和系统在交互过程中做些什么,并不描述怎样做。 一个活动者可以运行多个Use Case,而一个Use Case可以有多个活动者运行它。但是,也有的Use Case很难有与它明确关联的活动者。,第7章-补 Use Case图,11,例:一个网上商店,顾客购买商品的过程的Use Case可以用文字列表描述如下。 购买商品 (1)顾客浏览查询产品分类目录,找出所需要的产品。 (2)顾客准备结算。 (3)顾客填写购货信息(产品信息,数量、送货地址、送货日期)。 (4)系统显示价格和应付款项。 (5)顾客填写信用卡信息。 (6)系统检查信用卡的有效性,确认交易成功。 (7)系统确定发货时间,发出发货通知。 (8)系统发确认成交的电子邮件给顾客。 异动处理:信用卡有效性检查失败。 在步骤(6)中,若系统检查信用卡的有效性失败,则允许顾客重新输入信用卡信息,重复步骤(7)(8)。,第7章-补 Use Case图,12,此Use Case包含了两个剧本:成功的商品交易的 “购买商品” 剧本,“信用卡有效性检查失败”的剧本。 此Use Case至少有一个相联系的参与者“顾客”。 由此例可见: 一个Use Case只描述一个活动者使用一项单一的系统功能的情况。 Use Case描述了活动者和系统在交互过程中双方所做的事情,并清晰的描述了双方的对话过程。,第7章-补 Use Case图,13,7-补.2.2 业务Use Case与系统Use Case,业务Use Case 是指系统提供的业务(Business)功能与活动者(用户)的交互,表现问题领域中各实体之间的联系和业务往来活动。 业务Use Case用于建立问题领域的业务Use Case模型。 系统Use Case 是指活动者与系统的交互,它表现了系统的功能需求和动态行为。 系统Use Case用于建立系统的Use Case模型。 每一个业务Use Case都要由一组系统Use Case支持。 在系统开发的开端阶段,应把注意力集中在业务Use Case上,在精化阶段和构建阶段再考虑系统Use Case。,第7章-补 Use Case图,14,7-补.2.3 Use Case图,Use Case图是系统的一个功能模型。它提供计算机系统的高层次的用户视图,表示以外部活动者的角度来看系统将是怎样使用的。 一个Use Case图包含活动者、Use Case,以及它们之间的联系。 Use Case的图标如图所示。 活动者与Use Case之间的联系用实线表示。 Use Case与Use Case之间的联系可以用实箭线或虚箭线表示。,Use Case名,第7章-补 Use Case图,15,按照抽象层次,Use Case图可以划分为系统层(最高层)、子系统层和对象类层(最低层)。 系统层Use Case图描述系统提供的全部服务。 子系统层Use Case图描述子系统提供的服务,它的外部交互者可以是其他的子系统或高一层的活动者。子系统层又可以划分为多个层次。 对象类层的Use Case图描述对象类提供的功能片或操作,它的外部交互者可以是其它对象类或高一层活动者。 在系统的开发过程中,Use Case图可以自顶向下不断精化,抽象出不同层次的Use Case图。,第7章-补 Use Case图,16,例:下图是项目与资源管理系统PRMS的高层Use Case图,它的每一个Use Case都可以且应当演化出更为详细的Use Case图,如图a、图b、图c所示。,图a 资源管理Use Case图,第7章-补 Use Case图,17,图b 项目管理Use Case图,图c 系统管理Use Case图,第7章-补 Use Case图,18,7-补.3 Use Case的联系,泛化关联 使用关联 包含关联 扩展关联,第7章-补 Use Case图,19,7-补.3.1 泛化关联,泛化代表一般与特殊的关系。一个Use Case与另一个Use Case相似,但做的内容更多,则该Use Case与另一个Use Case存在着泛化关联(Generalization Association) 。 具有泛化关联的两个Use Case中,一个是基本的Use Case,另一个是更为一般的(泛化)Use Case,基本Use Case的实例包含了一般Use Case的功能行为,此外还有自己的功能行为。,第7章-补 Use Case图,20,泛化关联用泛化箭线(带空心三角箭头的实箭线)表示,从基本Use Case发出,指向一般Use Case,如图a所示。 泛化关联也可以存在于活动者之间,表示一个一般性的活动者与另一个更为特殊性的活动者之间的联系,如图b所示。,具有泛化关联的两个Use Case中,一个是基本的Use Case,另一个是更为一般的(泛化)Use Case,基本Use Case的实例包含了一般Use Case的功能行为,此外还有自己的功能行为。,第7章-补 Use Case图,21,7-补.3.2 使用关联,使用关联(Use Association)指一个Use Case使用另一个Use Case的功能行为。使用关联用于在Use Case间共享公共的功能行为。 使用关联是一种泛化关联,在Use Case图上用一个从基本Use Case指向公共Use Case的泛化箭线表示,并在箭线上标有构造型,如图所示。 在UML 2.0中,使用关联已经由包含关联所替代。,第7章-补 Use Case图,22,7-补.3.3 包含关联,包含关联(Include Association)是指一个基本Use Case的行为包含了另一个Use Case的行为。 包含关联是一种依赖关联,在Use Case图上用一条从基本Use Case指向被包含的Use Case的虚箭线表示,并在箭线上标有构造型,如图所示。,第7章-补 Use Case图,23,7-补.3.4 扩展关联,扩展关联(Extend Association)的基本含义与泛化关联类似,但有更多的规则限制。 基本的Use Case必须声明若干“扩展点”,而扩展Use Case只能在这些扩展点上增加新的行为。 一个Use Case可以有多个扩展点,扩展Use Case可以扩展一个或多个扩展点。,第7章-补 Use Case图,24,扩展关联在Use Case图上用一条从基本Use Case指向扩展Use Case的虚箭线表示,并在箭线上标有构造型,如图所示。,第7章-补 Use Case图,25,7-补.4 Use Case图的应用,Use Case的确定 建立Use Case模型,第7章-补 Use Case图,26,7-补.4.1 Use Case的确定,确定Use Case时必须考虑活动者对系统的服务功能的要求以及活动者与系统的交互过程。 在标识Use Case时需要考虑的问题如下: 对于每一个已经确定的活动者,系统将有一些什么任务,提供什么服务。 在系统中是否需要传递信息给活动者。 活动者是否需要通知系统某些突然的外部变化。 系统是否为领域业务提供了正确的行为。 Use Case的运行特征是否标识出来了。 Use Case将支持和维护的系统功能是什么。,第7章-补 Use Case图,27,Use Case的种类大体如下: (1)系统的开始和停止的Use Case。 (2)系统维护的Use Case。 如添加新用户,设置用户的操作模板(profile)等。 (3)维护系统中存储数据的Use Case。 如所建造的系统要与现存的系统数据同步。 (4)修改系统行为的功能的Use Case。 如创建一个新报表,而不是对一个一个的报表进行单独的编程。,第7章-补 Use Case图,28,注意: Use Case的大小。 不要只用一个Use Case就把一个系统或子系统的功能行为全部包括在内。 也不要把Use Case划分得过于琐碎细小。 一般应该把系统或子系统中主要的业务流找出来,对每一个业务流建立一个相应的Use Case。 为业务处理的各种例外(异常)情况的事件流单独建立一个相应的Use Case。,第7章-补 Use Case图,29,7-补.4.2 建立Use Case模型,应当先建立业务Use Case模型,然后再从业务Use Case模型向系统Use Case模型映射。 注意Use Case图的层次,从系统到子系统逐层建立 Use Case图。,第7章-补 Use Case图,30,可以按下列步骤建立Use Case图: (1)找出系统外部的活动者和外部系统,确定系统的边界和范围。 (2)确定每一个活动者所期望的系统行为。 (3)把这些系统行为命名为Use Case。 (4)把一些公共的系统行为分解为一批新的Use Case,供其他的Use Case引用。把一些变更的行为分解为扩展Use Case。 (5)编制每一个Use Case的剧本,其中须详细描述基本业务流(Basic Flow)、替代业务流(Alternative Flow)和例外(异常)情况的事件流,以及制约业务流向的必要的前置条件和后置条件。 (6)绘制Use Case图。,第7章-补 Use Case图,31,(7)必要时可以把表达例外(异常)情况的事件流的Use Case画成一个单独的子Use Case图。 (8)精化Use Case图。解决Use Case 间的重复与冲突问题,简化Use Case中的对话
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论