1、用例图(use case diagram)
用例图(Use Case Diagram
)是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图
列出系统中的用例和参与者
显示哪个参与者参与了哪个用例的执行
核心概念
用例:系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用
参与者、参与者泛化
用例与参与者之间的关系:关联UC01:“借书”用例文档
用例名称:借书
用例标识:UC01
涉及的参与者:工作人员
涉及的用例:无
描述:工作人员利用该用例为读者完成借书过程前置条件:工作人员必须登录到当前系统
涉众利益:
用例之间关系:扩展、包括、泛化
推荐使用场合
业务建模、需求获取、定义
某图书馆管理系统:
是一个基于Web 的计算机应用系统;
读者可以查询图书信息以及借阅信息;
读者可以通过系统预约所需的图书;
图书馆工作人员利用该系统完成读者的借书、还书业务;
图书馆工作人员可以对图书信息、读者信息等进行维护;
对于到期的图书,系统会自动向读者发送催还信息;
管理员会定期进行系统维护; ……
基本事件流: 后置条件:备选事件流 字段列表: 认为当天日期)、借阅天数以及归还日期。业务规则 阅规则取决于读者的类型(非功能需求:设计约束:
2、活动图(activity diagram)
活动图(Activity Diagram)
通过动作来组织,主要用于描述某一方法、机制或用例的内部行为
核心概念
状态、活动、组合活动、对象
转移、分支
并发、同步
泳道
推荐使用场合
业务建模、需求、类设计
3、静态结构图
类、
、框架、层、
描述系统中某一)的内部结构,包
括该部分与系统其它部分的交互部件、
4、顺序图(Sequence Diagram )
顺序图(Sequence Diagram ) 用于显示对象间的交互活动 关注对象之间消息传送的时间顺序
核心概念
对象、生命线、激活、交互、消息 交互帧(Interaction Frame)
推荐使用场合
用例分析、用例设计
“借书”用例实现的顺序图
5、交互纵览图(Interaction Overview Diagram)
交互纵览图(Interaction Overview Diagram)
活动图和顺序图的混合物
直观地表达一组相关顺序图之间的流转逻辑
核心概念
交互帧 分支、转移
推荐使用场合
用例分析、用例设计
交互纵览图组织多个顺序图
6、通信图(Communication Diagram)
通信图(Communicatio n Diagram) UML 1.x 中称为协作图
(Collaboration Diagram) 表示一组对象间关系以及交互活动
核心概念
对象、协作角色 协作、交互、消息
“借书”用例实现的通信图
推荐使用场合
用例分析、用例设计
7、时间图(Timing Diagram)
时间图(Timing Diagram)
一种交互图,展现消息跨越不同对象或角色的实际时间信息;
具体描述单个或多个对象状态变化的时间点以及维持特定状态的时间段; 顺序图是表示交互的主要
手段,可以在顺序图中增加时间约束来表明对象状态变化的时间点以及维持特定状态的时间段。
核心概念
时间约束、持续时间约束、生命线
状态、条件、事件
“打电话”顺序图的时间约束
利用时间图描述时间约束
8、状态机图(State Machine Diagram)
状态机图(State Machine Diagram)
UML1.x 为状态图(Statechart Diagram)
利用状态和事件描述对象本身
“
的行为
主要概念
状态、初态、终态、复合状态 事件、转移、动作 并发
推荐使用场合
类设计
9、构件图(Component Diagram)
构件图(Component Diagram) 封装类为构件
描述在系统实现环境中的软件构件和之间的关系
主要概念
构件、工件、接口(所供接口、所需接口) 依赖、实现
推荐使用场合
系统设计、实现、部署 构件图描述类的实现环境
10、部署图(Deployment Diagram )
部署图描述系统部署情况
部署图(Deployment Diagram )
主要概念
节点、构件、位置
连接、依赖
推荐使用场合
系统设计、实施、部署
UML1.X
UML几种图的绘制
UML是Unified Modeling Language(统一建模语言)的简称。UML是对软件密集型系统中的制品(软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等)进行可视化、详述、构造和文档化的语言。
UML是一套表示法系统。UML由一组图组成,它使得系统分析员可以利用这一标准来建立能够和客户、程序员以及任何参与程序开发的人员理解的多视角的系统蓝图。不同的风险承担人通常使用不同类型的图相互交流。
UML的特点有:统一的标准:UML已被OMG接受为标准的建模语言、面向对象、可视化、表示能力强大、独立于过程、概念明确,建模表示法简洁,图形结构清晰,容易掌握使用UML中包括九种图:
类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、部署图
【系统用例图】
用例是系统的一组使用场景。每个场景描述了一个事件的序列。每个序列是由一个人、另一个系统、一台硬件设备或者某段时间的流逝所发起。这些发起事件序列的实体叫做参与者(actor)。用例是对一个参与者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列。
UML表示:
?用例用一个椭圆形表示
?参与者用直立人形图标表示
?用例的发起参与者在用例图的左侧,接收参与者在用例图的右侧
?关联线连接参与者和用例并且表示参与者与用例之间有通信关系;关联线是实线。Rational Rose表示:
创建参与者创建与参与者相关的用例
并建立联系
系统用例图如下:
目录中出现参与者及用例如下:
【顺序图】
对象之间的交互是按照特定的顺序发生的,这些按特定顺序发生的交互序列从开始到结束需要一定的时间。当建立一个系统时,必须要指明这种交互序列,顺序图就是用来完成这项工作的UML组件。
UML表示:
?对象用矩形表示,其中是带下划线的对象名
?时间用垂直虚线表示
?消息用带箭头的直线表示
?激活用窄矩形条表示
Rational Rose表示:
右击用例“Add Item to Shopping Cart”,选择“Add”->“Sequence Diagram”
首先画出用例中会用到Object
再在Object之间创建ObjectMessage
顺序图如下:
【协作图】
协作图是对象图的扩展。协作图除了展示出对象之间的关联,还显示出对象之间的消息传递。对象图是一个快照;而协作图是一部电影。
UML表示:
?关联线附近的箭头线表示对象之间的传递的消息,箭头指向消息接收对象
?消息名称和消息序号附在箭头线附近。消息的一般含义是触发接收消息的对象执行它的一个操作
Rational Rose表示:
用例图按F5键直接生成协作图如下:
绘制详细顺序图如下:
生成协作图:
在目录中生成如下文件:
【类图】
类是一类或者一组具有类似属性和共同行为的事物
UML表示:
?矩形方框
?被分为三个区域:类名、类的属性、类的操作
?类名由多个单词组成;每个单词的首字母要大写,单词之间不用空格?属性名和操作名也类似,但首字母不用大写
?每个操作名的后面都有一对括号
Rational Rose表示:
在图中绘制各种类以及各种类之间的关
系
分析“Add Item to Shopping Cart”中用到的类,在Logical View新建“Class Diagram”、“Add Item to Shopping Cart”
绘制类图如下:
创建主类图“main”:Boudaries、Control、Entities三个包
则在Logical中生成三个文件夹:
将相应的类拖到对应的文件夹下:
【状态图】
人或事物表现出来的形态为状态。当系统与用户(也可能是其它系统)交互的时候,组成系统的对象为了适应交互需要经历必要的变化。如果要对系统建立模型,那么模型中必须要反映出这种变化。
UML表示:
?状态用圆角矩形表示
?状态间带箭头的实线代表状态的迁移(转移),箭头指向目标状态
?实心圆代表状态转移的起点,眼形圆圈代表终点
Rational Rose表示:
在类Product Item下新建“Statechart Diagram”,绘制Product的状态图
绘制“开始”状态,之后依次绘制各种状态及转移
,最后以表示结束绘制状态图如下:
生成目录如下:
【构件图】
构件是系统中遵从一组接口且提供其实现的物理的、可替换的部分。构件图则显示一组构件以及他们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。构件图和部署图用于在OO系统中实现物理方面的建模
UML表示:
?左侧附有两个小矩形的大矩形框;也可以用一个顶部带关键字《Component》的矩形表示
?构件有自己的名称。如果构件属于一个包,可以在构件名称前面加上包名
?可以在构件图标中列出构件的操作
Rational Rose表示:
在“Component View”中新建Component Diagram创建构件,并绘制构件间各种关系
绘制系统组件图如下:
创建组件图“main”,建立三个包