arabera 旭 王 14 years ago
613
Honelako gehiago
UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。
目前,在多数大型企业的正规化开发流程中,开发人员普遍使用UML进行模型的建立。作为一名软件开发人员,我们必须学会UML。不理解UML,作为软件设计统一王国的国民,将是艰难而痛苦的。
泛化关系Generalization
扩展关系Extend
包含关系Include
关联关系Association
用例Use Case
用例之间的关系
泛化关系
一个用例可能被特别列举为一个或多个用例,称为泛化用例,如果系统中一个或多个用例是某个用例的特殊化时,就需要使用用例的泛化关系。
扩展关系
扩展关系表示在一个用例对话过程中,有可能根据条件临时插入另一用例,前者为基础用例后者为扩展用例。
包含关系
包含关系来自于用例的抽象,即由数个用例中,分离出公共部分,而成为可复用的用例。
关联关系
连接执行者和用户,表示该执行者代表的外部实体与用例描述的系统需求有关。
从业务中找出用例
找出系统的用例,我们从执行者入手,对每个执行者提出一些问题,然后从执行者对这些问题的答案中获取用例。可以参考以下问题:
执行者要求系统提供哪些功能(执行者需要做什么)?
执行者需要读、产生、修改、删除或者存储系统中的信息有哪些类型?
执行者必须提醒系统事件有哪些?把这些事件表示成系统用例。
用户的概念
就是外部可见的系统功能,对系统提供的服务进行描述。
执行者Actor
执行者之间的关系
因为执行者是类,所以多个执行者之间可以具有与类相同的关系。在用例图中,使用了泛化关系来描述多个执行者之间的公共行为。如果系统中存在几个执行者,它们既扮演自身的角色,同时也扮演更具一般化的角色,那么就用泛化关系来描述它们。这种情况往往发生在一般角色的行为在执行者超类中描述的场合。特殊化的执行者继承了该超类的行为,然后在某些方面扩展了此行为。执行者之间的泛化关系用一个三角箭头来表示,指向扮演一般角色的超类。
从业务中找出执行者
获取系统用例首先要找出系统的执行者。我们可以通过用户回答一些问题的答案来识别执行者。可以参考以下问题:
谁使用系统的主要功能(主要使用者)?
谁需要系统支持他们日常工作?
谁来维护、管理系统使其正常工作(辅助使用者)?
系统需要控制哪些硬件?
系统需要其他哪些系统交互?这里包含其他计算机系统或者应用程序。
对系统产生结果感兴趣的是哪些人和哪些事物?
执行者的概念
用户在系统中扮演的角色。
如图中的用户和管理员就是用例的执行者。
图
关系
事物
实体抽象化的最终结果,模型中的基本成员
注释事物
分组事物
行为事物
结构事物
模型中的静态部分,呈现实体和概念的表现元素。
用例
接口
类