《UML系统建模基础教程_教学资料06ppt课件》由会员分享,可在线阅读,更多相关《UML系统建模基础教程_教学资料06ppt课件(38页珍藏版)》请在金锄头文库上搜索。
1、UML统一建模语言重点内容:l什么叫用例图 l用例图的构成要素 l用例的重要元素 l用例之间的各种重要关系 l使用Rose创建用例图的步骤说明 l使用Rose创建用例图的步骤说明 第第6 6章章 用例图用例图UML统一建模语言一、一、 什么叫用例图什么叫用例图由参与者(Actor)、用例( Use Case)以及它们之间的关系 构成的用于描述系统功能的动态 视图称为用例图。要在用例图上显示某个用例 ,可绘制一个椭圆,然后将用例 的名称放在椭圆的中心或椭圆下 面的中间位置。要在用例图上绘制一个参与 者(表示一个系统用户),可绘 制一个人形符号。参与者和用例 之间的关系使用带箭头或者不带 箭头的线
2、段来描述,箭头表示在 这一关系中哪一方是对话的主动 发起者,箭头所指方是对话的被 动接受者。1 1、用例图的含义、用例图的含义UML统一建模语言一、一、 什么叫用例图什么叫用例图在用例建模中,为了更加清楚的描述用例或者参与者,会使用到注释 。1 1、用例图的含义、用例图的含义UML统一建模语言一、一、 什么叫用例图什么叫用例图用例图是需求分析中的产物,主要作用是描述参与者和用例之间的关 系,帮助开发人员可视化的了解系统的功能。借助于用例图,系统用户、 系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行 探讨,减少了大量交流上的障碍,便于对问题达成共识。用例图可视化地表达了系统的需
3、求,具有直观、规范等优点,克服了 纯文字性说明的不足。用例方法是完全从外部来定义系统功能,它把需求和设计完全的分离 开来。我们不用关心系统内部是如何完成各种功能的,系统对于我们来说 就是一个黑箱子。2 2、用例图的作用、用例图的作用UML统一建模语言二、用例图的构成要素二、用例图的构成要素画好用例图的前提是必须详细了解用例图的四个组成元素:参与者( 角色)、用例、系统边界、关联。参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、 系统、子系统或类的外部实体的抽象。每个参与者可以参与一个或多个用例,每个用例也可以有一个或多个 参与者。在用例图中使用一个人形图标来表示参与者,参与者的
4、名字写在人形 图标下面。1 1、参与者、参与者UML统一建模语言二、用例图的构成要素二、用例图的构成要素参与者代表一个集合,通常一个参与者可以代表一个人、一个计算机 子系统、硬件设备或者时间等参与者。参与者虽然可以代表人或事物,但参与者不是指人或事物本身,而是 表示人或事物当时所扮演的角色。参与者还可以划分为主要参与者和次要参与者。主要参与者指的是执 行系统主要功能的参与者,次要参与者指的是使用系统次要功能的参与者 。1 1、参与者、参与者UML统一建模语言二、用例图的构成要素二、用例图的构成要素由于参与者实质上也是类,所以它拥有与类相同的关系描述,即参与 者与参与者之间主要是泛化关系(或称为
5、“继承”关系)。泛化关系的含义是把某些参与者的共同行为提取出来表示成通用行为 ,并描述成超类。泛化关系表示的是参与者之间的一般/特殊关系,在UML 图中,使用带空心三角箭头的实线表示泛化关系(由特殊指向一般,或者 由子类指向父类)。2 2、参与者间的关系、参与者间的关系UML统一建模语言二、用例图的构成要素二、用例图的构成要素例:学生管理系统中的学生,管理员与用户的关系。2 2、参与者间的关系、参与者间的关系UML统一建模语言二、用例图的构成要素二、用例图的构成要素在项目开发过程中,边界是一个非常重要的概念。这里说的系统边界 是指系统与系统之间的界限。通常我们所说的系统可以认为是由一系列的 相
6、互作用的元素形成的具有特定功能的有机整体。系统同时又是相对的,一个系统本身又可以是另一个更大系统的组成 部分,因此,系统与系统之间需要使用系统边界进行区分开来。我们把系 统边界以外的同系统相关联的其他部分,称之为系统环境。只有搞清楚了系统边界,才能更好地确定系统的参与者和用例。3 3、系统边界、系统边界UML统一建模语言三、用例的重要元素三、用例的重要元素任何用例都不能在缺少参与者的情况下独立存在。同样,任何参与者 也必须要有与之关联的用例。所以识别用例的最好方法就是从分析系统参 与者开始,在这个过程中往往会发现新的参与者。可以通过以下问题来寻找用例:1 参与者希望系统提供什么功能? 2 参与
7、者是否会读取、创建、修改、删除、存储系统的某种信息?如 果是的话,参与者又是如何完成这些操作的? 3 参与者是否会将外部的某些事件通知给系统? 4 系统中发生的事件是否通知参与者? 5 是否存在影响系统的外部事件。1 1、识别用例、识别用例UML统一建模语言三、用例的重要元素三、用例的重要元素除了与参与者有关的问题,还可以通过一些与参与者无关的问题来发 现用例,如,系统需要解决什么样的问题,系统的输入输出信息有哪些。用例图的主要目的是帮助人们了解系统功能,便于开发人员与用户之 间的交流,所以确定用例的一个很重要的标准就是用例应当易于理解。1 1、识别用例、识别用例UML统一建模语言三、用例的重
8、要元素三、用例的重要元素用例的粒度指的是用例所包含的系统服务或功能单元的多少。用例的 粒度越大,用例包含的功能越多,反之则包含的功能越少。如果用例的粒度很小,得到的用例数就会太多。反之,如果用例的粒 度很大,那么得到的用例数就会很少。如果用例数目过多会造成用例模型过大和引入设计困难大大提高。 如果用例数目过少会造成用例的粒度太大,不便于进一步的充分分析。用例的粒度对于用例模型来说是很重要的,它不但决定了用例模型级 的复杂度,而且也决定了每一个用例内部的复杂度。2 2、用例的粒度、用例的粒度UML统一建模语言三、用例的重要元素三、用例的重要元素比如:网站后台管理系统中的会员信息维护用例,管理员需
9、要进行添加 会员信息、修改会员信息、删除会员信息等操作。2 2、用例的粒度、用例的粒度我们还可以根据具体的操作把它抽象成3个用例,它展示的系统需求和 单个用例是完全一样的。UML统一建模语言三、用例的重要元素三、用例的重要元素对于每一个用例,我们还需要有详细的描述信息,以便让别人对于整 个系统有一个更加详细的了解,这些信息包含在用例规约之中。每一个用例的用例规约都应该包含以下内容:1 简要说明:对用例作用和目的的简要描述。 2 事件流:事件流包括基本流和备选流。基本流描述的是用例的基本 流程;备选流描述的是用例执行过程中可能发生的异常和偶尔发生的情况 。3 用例场景:同一个用例在实际执行的时候
10、会有很多不同的情况发生 ,称之为用例场景,也可以说用例场景就是用例的实例。4 特殊需求: 特殊需求指的是一个用例的非功能性需求和设计约束。 特殊需求通常是非功能性需求,包括可靠性、性能、可用性和可扩展性等 。例如法律或法规方面的需求、应用程序标准和所构建系统的质量属性等 。5 前置条件: 执行用例之前系统必须所处的状态。例如,前置条件是 要求用户有访问的权限或是要求某个用例必须已经执行完。 6 后置条件:用例执行完毕后系统可能处于的一组状态。例如,要求 在某个用例执行完后,必须执行另一个用例。 3 3、用例规约、用例规约UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系包含
11、关系指用例可以简单地包含其他用例具有的行为,并把它所包含 的用例行为作为自身行为的一部分。在UML中,包含关系是通过带箭头的 虚线段加字样来表示,箭头由基础用例(Base)指向被包含用 例(Inclusion)。 1 1、包含、包含UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系包含关系代表着基础用例会用到被包含用例,具体的讲就是将被包含 用例的事件流插入到基础用例的事件流中。需要注意的是,包含关系是 UML1.3中的表述,在UML1.1中,同等语义的关系被表述为使用(uses)。 1 1、包含、包含UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系在
12、处理包含关系时,具体的做法就是把几个用例的公共部分单独的抽 象出来成为一个新的用例。主要有两种情况需要用到包含关系:第一,多个用例用到同一段的行为,则可以把这段共同的行为单独抽 象成为一个用例,然后让其他用例来包含这一用例。第二,某一个用例的功能过多、事件流过于复杂时,我们也可以把某 一段事件流抽象成为一个被包含的用例,以达到简化描述的目的。1 1、包含、包含UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系例如:购物网站的后台系统:1 1、包含、包含UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系包含关系有以下两个优点:第一,提高了用例模型的可维护性
13、,当需要对公共需求进行修改时, 只需要修改一个用例而不必修改所有与其有关的用例。第二,不但可以避免在多个用例中重复地描述同一段,还可以避免在 多个用例中对同一段行为描述不一致现象。1 1、包含、包含UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做 扩展用例(Extension),原有的用例叫做基础用例(Base),从扩展用例到 基础用例的关系就是扩展关系。一个基础用例可以拥有一个或者多个扩展用例,这些扩展用例可以一 起使用。在UML中,扩展关系是通过带箭头的虚线段加extend字样来表示 的,箭头指向基础用例。2
14、 2、扩展、扩展UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系扩展关系和包含关系有很大的不同: 在扩展关系中,基础用例提供了一个或者多个插入点,扩展用例 为这些插入点提供了需要插入的行为。而在包含关系中,插入点只能 有一个。 在扩展关系中,基础用例的执行并不一定会涉及到扩展用例,扩 展用例只有在满足一定条件下才会被执行。而在包含关系中,当基础 用例执行完后,被包含用例是一定会被执行的。 即使没有扩展用例,扩展关系中的基础用例本身也是完整的。而 对于包含关系,基础用例在没有被包含用例的情况下就是不完整的存 在。 2 2、扩展、扩展UML统一建模语言四、用例之间的各种重要关
15、系四、用例之间的各种重要关系例如:网站登录模块:2 2、扩展、扩展扩展关系往往被用来处理异常或者构造灵活的系统框架。使用扩展关 系可以降低系统的复杂度,有利于系统的扩展,提高系统的性能。扩展关 系还可以用于处理基础用例中哪些不易描述的问题,使系统显得更加清晰 易于理解。UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例 和子用例之间的关系就是泛化关系。在用例的泛化关系中,子用例继承了父用例所有的结构、行为和关系 ,子用例是父用例的一种特殊形式。子用例还可以添加、覆盖、改变继承的行为。在UML中,用例的泛化 关系通过
16、一个三角箭头从子用例指向父用例来表示。3 3、泛化、泛化UML统一建模语言四、用例之间的各种重要关系四、用例之间的各种重要关系泛化的示例:银行存款有两种方式,一种是银行柜台存款,一种是 ATM机存款。在这里,银行柜台存款和ATM机存款都是存款的一种特殊方式 ,因此“存款”为父用例,“银行柜台存款”和“ATM机存款”为子用例。 3 3、泛化、泛化UML统一建模语言五、使用五、使用RoseRose创建用例图创建用例图打开Ratinal Rose后,先展开左边的“Use Case View”,然后在“Use Case View”图标上单击右键,在弹出的快捷菜单中选择“New”下的“Use Case Diagram”选择来建立新的用例图。1 1、创建用例图、创建用例图UML统一建模语言五、使用五、使用RoseRose创建用例图创建用例图右键单击新的用例图,选择“Rename”来为新创建的用例图命名。1 1、创建用例图、创建用例图然后双击该用例图就可以进行编辑了。UML统一建模语言五、使用五、使用RoseRose创建用例图创建用例图首先用