用例视图 (Use Case View)
区别use case view && use-case diagram ()
/*
基本概念:
系统中与实现无关的视图,只关心系统的高级功能,而不关心系统的具体实现细节
通常在项目开始时要先确定,之后不轻易修改
包含的内容:
业务参与者、业务工作者
业务用例、业务用例图、业务用例实现
参与者
用例(Use Case)、用例图(use-case diagram)、用例文档
类图(class diagram)
状态图、活动图
顺序图、协作图
包、文件、URL
*/
用例视图
基本概念
系统中与实现无关的视图,只关心系统的高级功能,而不关心系统的具体实现细节
通常在项目开始时要先确定,之后不轻易修改
包含的内容
业务参与者、业务工作者
业务用例、业务用例图、业务用例实现
参与者
用例、用例图、用例文档
类图
状态图、活动图
顺序图、协作图
包、文件、URL
逻辑视图
基本概念
关注系统如何实现使用用例中提到的功能,涵盖系统实现的具体细节
从中可以看到系统的逻辑结构
包含的内容
用例、用例图
类、类实体、类图
接口
活动图、状态图
协作图、顺序图
包、文件、URL
构件视图
基本概念
包含模型代码库、执行库和其它构件的信息
从中可以看出系统实现的物理结构
包含的内容
构件
接口
构件图
包
文件
URL
部署视图
基本概念
关心系统的实际部署情况
一个项目只有一个部署视图
包含的内容
进程
处理器
连接器
设备
部署图
文件
URL
Rose支持的模型图:
模型图 图标 描述 建模角度
类图
Class diagram 显示系统中的类和包,提供系统构件及其相互关系 静态结构建模
用例图
Use-case diagram 用例图从用户的角度描述系统功能的使用者和主要的系统操作流程。显示用例与参与者及其相互关系 系统功能建模
协作图
Collaboration diagram 从对象组织结构的角度显示用例中特定情形的操作流程 动态行为建模
顺序图
Sequence diagram 按时间顺序显示用例中特定情形的操作流程 动态行为建模
状态图
Statechart diagram 显示系统中类的对象所有可能的状态以及事件发生时状态的转换条件 动态行为建模
活动图
Activity diagram 描述满足用例要求所需进行的活动以及活动间的关系的图 动态行为建模
构件图
Component diagram 描述代码构件的物理结构以及构件之间的依赖关系。组件图有助于分析和理解组件之间的影响程度 静态结构建模
部署图
Deployment diagram 描述系统中的物理结构 静态结构建模
关系及其应用
关系反应了参与者和用例之间、用例和用例之间以及参与者和参与者之间的相互作用。
在一个用例图中,可能会出现关联关系、依赖关系、泛化关系
以及这三种关系的扩展形式:扩展关系、包含关系和精化关系。
关联关系
关联关系表示一种通信路径,它存在于参与者和用例之间,提供用例和参与者之间的通信途径。建立通信之后,信息可以双向流动。
关系方向显示的不是信息的流动方向,而是谁启动信息。
表示
工具箱中:一个直角直线
模型图中:一条直线或者一条带箭头的直线
关联命名
一个动词或者一个动词短语,用于指明关系的类型或者目的
依赖关系
定义
存在于两个模型要素之间的一种关系,其中一个模型要素的改变将影响另一个模型要素
表示方法
工具箱和模型图中均表示为一个带箭头的虚线
画图时,拖动鼠标从客户到提供者画出关联关系
泛化关系
定义
在一个更一般的模型要素和另一个较具体的模型要素之间存在的一种关系,通常用于表示类(包括用例、参与者等)之间的继承关系
表示方法
工具箱中:
模型图中:一条带空心三角形箭头的实线(箭头方向从具体用例指向一般用例)
关系的扩展
1)扩展关系
扩展关系可以放置在所有的关系上,大多数扩展构造型都放置在依赖关系和关联关系上
扩展关系用带箭头的虚线表示,沿线上加一个用双尖括号括起来的“extend”
常见的几种扩展关系
a.两个用例相似但不完全相同时(如图)
b.当要对多个额外情况逐一建模时,可以使用扩展关系,用一个独立的用例替代每个额外的情况
c.如果用例涵盖了所有的情况变化,则该用例将会变得十分复杂,应该考虑使用扩展关系
包含关系
是一种构造型关系,它将一个基用例连接到一个包含用例
UML1.1中为使用关系,在1.3中改为包含关系
包含关系在一个用例中重用另一个用例中的步骤
包含关系用带箭头的虚线表示,沿线上加一个用双尖括号括起来的“include”
使用包含关系的三种情况:
a.如果有多个用例,并且这些用例包含大量类似的行为,应该考虑将这些类似的行为通过包含关系包含到用例中
b.对两个或多个互相独立的用例建模时做了重复的工作,可以通过包含关系包含这些重复的工作
c.如果某个行为可能会引入冗余,或者,当行为发生变化时可能导致不一致性,这时,应该对这种行为进行孤立建模并将它包含到用例中
精化关系
精化关系在不同的语义层或者开发阶段连接两个或者多个模型要素。它表示了某些在一个特定的细节层次上规定的东西的更加全面的规格说明。例如,一个设计类就是一个分析类的一种精化。在一个精化关系中,源模型要素是一般的,在定义上更加概括;而目标模型要素更加具体并得到了进一步的精化。
类图
在系统分析阶段,类图主要用于显示角色和提供系统行为的实体的职责;在系统设计阶段,类图主要用于捕捉组成系统体系结构的类结构;在系统编码阶段,根据类图中的类及它们之间的关系实现系统的功能。
关联(association)
定义
两个类在概念上有连接关系时,类之间的连接称为关联;提供了不同类的对象可以相互作用的连接
图形表示
用一根连接类的实线表示,用箭头表示关联的方向 ;如果不明确指明方向,则默认关联是双向的
如 学生类与教师类
student class --------------> teacher class
code example:
聚合(aggregation)
定义
类之间的一种整体与部分的关系
体现了一种层次结构,整体类位于部分类的上层,多个部分类处于并列的层次
图形表示
尾端带一个菱形的单箭头直线
菱形指向整体部分
类之间的一种整体与部分的关系 如:汽车类与轮胎类
code example:
类A中含有类B的指针
组合
code example:
类A中含有类B的对象
泛化(generalization)
定义
泛化关系是继承机制中产生的类与类之间的关系
“is a part of”关系:一个事物是另一个事物的种类
图形表示
一条带有空心大箭头的有向实线,箭头指向父类
基类与派生类 is a part of关系
依赖(dependence)
定义
两个元素之间的一种关系,其中一个元素(提供者)的变化将影响另一个元素(客体),或向它提供所需信息
显示一个类引用另一个类
图形表示
用两个模型元素之间带箭头的虚线表示,箭尾处的模型元素(客户)依赖于箭头处的模型元素(提供者)
client - - - - - -> provider
实现(implemention)
定义
类和接口之间的关系是实现关系,表示类实现接口提供的操作显示一个类引用另一个类
图形表示
因接口的表示方法而异
类和接口之间的关系是实现关系,表示类实现接口提供的操作显示一个类引用另一个类
活动图可以对多种不同类型的工作流建模。如果从更简单或者更具体的角度考虑,可以更容易理解活动图。即,活动图被设计用于简化描述一个过程或操作的工作步骤。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/birdsinging/archive/2008/12/16/3530392.aspx