
软件工程5领域分析—2.用例图和活动图.pptx
76页图书管理系统 —— 第 2次课我们的进度,在这里工作任务1. 根据访谈内容,进行业务用例建模2. 根据访谈内容,进行业务流程的建模提交内容1. 业务用例图2. 业务流程活动图我们的进度,在这里我们的进度,在这里工作任务 1:业务用例建模交付的工作产品:业务用例图学习情境知识点 1:业务用例建模对应教材章节: 第 4章 4.3-4.9 什么是用例图( Use Case Diagram) 用例图的应用 用例图的组成 参与者、用例的识别 用例建模技术我们的进度,在这里什么是用例图 (use case diagram)在 UML中,一个用例模型由若干个 用例图 (use case diagram)描述用例图是显示一组用例、参与者以及它们之间关系的图 用例图的应用 用例图是从 用户的角度 来描述对软件产品的需求,分析产品的 功能和行为 ,因此,对整个软件开发过程而言,用例图是至关重要的 用例图定义和描述了系统的 外部可见行为 ,是分析、设计直至组装测试的重要依据 让用户参与前期的系统分析与设计Use Case 对开发的意义实现 测试需求 分析和设计Use Cases 把所有这些过程绑到一起大学信息系统的一个用例图用例图的组成 用例( Use Case) 参与者( Actor) 关系 (Relationship)什么是参与者 参与者:在 系统之外 ,透过 系统边界 与系统进行 有意义交互 的 任何事物。
参与者可能是人、另外一个系统、时间的流逝等 UML中,参与者用 “ 人形 ” 图标来表示,名字写在图标的下方什么是用例用例( use case) 一个用例是用户与计算机之间的一次典型交互作用在 UML中 ,用例被定义成系统执行的一系列动作(功能) 参与者和用例分别描述了 “ 谁来做 ? ” 和 “ 做什么 ? ”这两个问题 • 每个用例都必须有一个惟一的名字以区别于其他用例• 用例用一个椭圆来表示,用例的名字可以书写在椭圆的内部或下方用例的 UML图标如图所示 如何如何 建立用例模型建立用例模型建立系统用例模型的过程就是对系统进行功能需求分析的过程定义系统确定执行者和用例描述执行者和用例关系确认模型●确定系统范围;●分析系统功能●执行者通常是使用系统功能的外部用户或系统●用例是一个子系统或系统的一个独立、完整功能各模型元素之间有:关联、使用、扩展及泛化等关系确认用例模型与用户需求的一致性,通常由用户与开发者共同完成用例建模技术 识别参与者 识别用例 识别用例间的关系 用例阐述识别参与者的方法 谁使用系统的主要功能 谁改变系统的数据 谁从系统获取信息 谁需要系统的支持以完成日常工作任务 谁负责日常维护、管理并保证系统正常运行 系统需要应付(处理)那些硬设备 系统需要和那些外部系统交互 谁(或什么)对系统运行产生的结果(值)感兴趣 时间、气温等内部外部条件识别参与者客户给销售员发来订货, 销售员下班前将当日订货单汇总输入系统。
谁是系统的 Actor?答案: 销售员识别参与者商品销售系统顾客通过网络下单之后,系统计算出总计金额,税金,运费,并将数目传递给一个外挂的会计系统,该系统是另外购买的有几个 Actor?答案: 顾客 (商品销售系统 ),商品销售系统 (会计系统 )例:图书管理系统的 参与者 :Ø借阅者( Borrower)Ø图书管理员( Librarian)Example参与者的泛化 参与者之间也可以象类一样存在泛化或者依赖关系 如系统中经理可以参加雇员的所有用例识别用例的方法① 参与者希望系统提供什么功能;② 系统是否存储和检索信息;如果是,这个行为由哪个参与者触发;③ 当系统改变状态时,是否通知参与者;④ 是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件 识别用例Email客户端(如:outlook express), A在北京发邮件给深圳的B,系统提醒 B”你有新邮件 ” , B收邮件识别用例一个论坛类的应用,用户可以提问,别人来回答,如果有自己问题被解答的话,就给发问者发一份邮件通知注意:发邮件这个用例可以是单独的用例,也可以是由回答用例扩展出来的用例用例 间、用例与参与者的关系 1. 泛化关系( Generalization):一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化: 2. 包含关系( Include)一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。
3. 扩展关系( Extend):一个用例也可以被定义为基础用例的增量扩展,这称作扩展关系,扩展关系是把新行为插入到已有用例的方法 4.关联关系:关联关系表示参与者与用例之间的通信 四种关系的 UML图释包含关系扩展关系泛化关系关联关系用例之间的关系泛化:同一业务目的的不同技术实现包含:提取公共交互,提高复用扩展: “ 冻结 ” 基用例以保持稳定*通过关系提高用例复用泛化 (generalization)当多个用例 共同拥有一种类似的结构和行为 的时候我们可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例泛化 (generalization)泛化举例(一):泛化 (generalization)泛化举例(二):包含 (include)包含是指基本用例 (base use case)会用到包含用例(inclusion),具体地讲,就是将包含用例的事件流插入到基础用例的事件流中包含用例是可重用的用例 ── 多个用例的公共用例 包含 (include)包含 (include)包含举例(一):包含 (include)包含举例(二):扩展 (extend)将扩展用例的事件流在一定的条件下按照相应的扩展点插入到基础用例中。
◦ 基础用例不必知道扩展用例的任何细节,它仅为其提供扩展点◦ 扩展用例的行为是否被执行要取决于主事件流中的判定点 扩展 (extend)扩展 (extend)扩展举例(一):扩展 (extend)扩展举例(二):用例之间的关系 包含用例与扩展用例的区别① 相对于基础用例,扩展用例是可选的,而包含用例则不是② 如果缺少扩展用例,基础用例还是完整的,而缺少包含用例,则基础用例就不完整了③ 扩展用例的执行需要满足某种条件,而包含用例不需要④ 扩展用例的执行会改变基础用例的行为,而包含用例不会例:自动售货机供货买 饮料取货款客户供货人收银员自动售货系统售货供货取货款顾客供货人收银员售散装饮料打开机器关闭机器打开机器关闭机器>>>>>自动售货机系统图书管理系统的业务用例建模 现在我们要对图书管理系统进行业务用例建模在上次进行的访谈中,我们得知:1. 该系统只有一种使用者:图书馆工作人员,并且同一时刻只有一个工作人员使用该系统2. 图书馆工作人员,日常的业务主要有:图书管理, 借阅证管理 和图书的借阅 /归还我们的进度,在这里 根据以上访谈内容,我们识别出 参与者 —— 图书馆工作人员 用例 —— 图书管理、借阅管理和图书的借阅 /归还 在 Rational Rose中建模。
打开模型:图书管理系统 在 UseCase中新建一个包,命名为 “ 领域分析 ” ,在其中创建一个用例图( UseCase Diagram,命名为:业务用例图我们的进度,在这里我们的进度,在这里注意:这个用例图是从用户业务的视角出发,用来进行业务用例建模的在今后的需求分析阶段,我们会从系统的视角来进行系统用例建模用户观点用户观点 系统观点系统观点要点:用户观点而非系统观点我们的进度,在这里工作任务 2:业务流程建模交付的工作产品 —— 业务流程活动图学习情境:知识点 2:活动图与业务流程建模对应教材章节: 第 7章 7.6节 通过 UML中的活动图,可以帮助我们进行用户业务流程建模,帮助我们站在用户的视角上进行业务分析 在业务流程建模中,我们关注的是用户进行某项业务的执行步骤我们的进度,在这里 活动图( Activity Diagram) 1 什么是活动图 2 活动图 的 用途 3 活动图的组成元素 4 活动图的建模技术我们的进度,在这里1 什么是活动图 活动图是 UML中描述系统动态行为的图之一 , 是描述系统或业务的一序列活动构成的控制流,它描述了系统从一种活动转换到另一种活动的整个过程。
2 活动图的用途 活动图用于对系统的动态行为建模 活动图常用来描述业务或软件系统的活动轨迹,描述了系统的活动控制流程我们常用活动图对业务过程 、工作流和 用例实现 进行建模 活动图主要应用对两个方面建模:一是在业务分析阶段,对工作流程进行建模;二是在系统分析和设计阶段,对操作流程进行建模 3 活动图的组成元素 动作状态• 动作流• 分支(判定条件)• 分叉和汇合(表示并发和同步)• 泳道活动图的元素包括初始节点 、终点、活动节点 、转换、分支、 分岔与汇合 其中,转换、分支、 分岔与汇合把多个活动节点连接在一起4 活动图的建模技术 在系统建模过程中,活动图能够被附加到任何建模元素,以描述其行为,这些元素包括用例、类、接口、组件、节点、协作、操作和方法 在建模过程中,读者可以参照以下步骤进行:( 1)识别要对其工作流进行描述的类;( 2)对动态状态建模;( 3)对动作流建模;( 4)对对象流建模;( 5)对建模结果进行精化和细化活动图 的表示 下面分别描述活动图中的元素的语义和表示法 1. 初始节点和终点 初始节点表示活动的起点;终点表示活动的终结点.用一个实心圆表示初始节点,用一个圆圈内加一个实心圆来表示活动终点.在活动图中,可能包含多个活动终点。
2. 活动节点 活动节点是活动图中最主要的元素之一,它用来表示一个活动,一个活动表示多个动作的集合活动节点用一个圆角矩形表示.活动的名称写在圆角矩形内部,活动节点的表示方法,如 图所 示图 初始节点和终点图 活动节点的表示活动图 的表示 下 图列出 的就是一些可能的活动节点描述,可能用文字描述活动节点,可能用表达式描述活动节点,可能用消息描述活动节点 3. 转换 当一个活动结束时,活动控制流就会马上传递给下一个活动节点,在活动图中称之为 “转换 ”,用一条带箭头的直线来表示转换.下面的直线箭头就表示了一个转换 图 活动节点图 转换的表示活动图 的表示 4. 分支与监护条件 在实际应用中,有三种活动控制流,它们是顺序结构 、分支结构、循环结构. 当从一个活动节点到另一个活动节点的转换需要条件时,常用分支与监护条件来表示活动的分支结构. 分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)而每个离开转换上都会有一个监护条件,用来表示满足某种条件时才执行该转换分支的表示法,如 图所 示图 分支 的表示活动图 的表示 5. 分岔与汇合 在实际应用中,如果活动的转换是有条件的,我们就用分支与监护条件来表示转换,如果一些活动是并发执行的,我们就用分岔和汇合来表示 并发活动 。
分岔线和汇合线都使用加粗的水平线或垂直线段表示 分岔线 汇合线图 分岔 与汇合的表示活动图 的表示 ( 1)分岔。












