软件设计模式二
目录
1.介绍
2.用例图
3.类图
4.顺序图
5.协作图
6.状态图
一、介绍
UML(Unified Modeling Language)统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模,并且为面向对象开发系统的产品进行说明、可视化、和编制文档的一种语言。UML的定义包括UML语义和UML表示法两个元素。UML由三大部分组成:
- 基本构造块(Basic building blocks)(事物、关系、图)
- 规则(Rules)
公共机制(Common mechanisms)(规范说明、修饰、通用划分、扩展机制)
二、用例图
从用户角度描述系统功能,是用户所能观察到的系统功能的模型图。为系统、子系统和类建立行为模型的核心,表达一组用例、参与者以及它们之间的关系。
三部分组成:参与者(Actors)、用例(Use case)、关系
参与者用例
可用的表达关系:
- 泛化关系:是用例之间一种特殊关系,其中特殊用例继承了一般用例的特性并增加了新的特性。
- 包含关系:一个用例可以包含其他用例具有的行为,并把它包含的用例行为自身的一部分(include)
- 扩展关系:允许一个用例扩展另一个用例提供的功能(extends)。
返回顶部
三、类图
是面向对象建模中最常用的图,描述类与类之间的静态关系。通常包括类、接口、关系。
类图分为三种:
1、边界类:位于系统与外界的交界处类。
2、控制类:用于对一个或几个用例所特有的控制行为进行建模。每个用例通常有一个控制类,控制类也可以在多个用例间工用。
3、实体类:用于对必须存储的信息和相关行为建模的类。
类之间的关系:
- 关联:表示一个类对象和另外一个类对象的联系。
- 依赖:一种使用关系,对象之间耦合度最弱的一种方式。
- 聚合:强关联关系。成员对象可以脱离整体而存在。
- 组合:更加强烈的关系。整体不存在。部分对象也不存在。
- 泛化:继承关系。
- 实现:是接口和实现类之间的联系。
四、顺序图
又称为时序图。描述按时间顺序排列的对象之间的交互模式。按照参与交互的对象具有的“生命线”和它们之间相互发送的消息来显示这些对象。强调对象之间的消息发送的先后顺序,时间顺序。可以描述如何分配各个类的职责。
四种元素:对象、生命线、**、消息
有三种消息:
- 同步消息:调用者发出消息后,需要等待消息返回再继续执行。
- 异步消息:调用者发出消息后不等待消息返回,继续执行。
- 返回消息:代表从过程调用的返回。
五、协作图
描述对象之间交互的另一种模式,通过对象之间的链接和他们互相发送的消息来显示参与交互的对象,可以为用例事件流的每一个变化形式制作一个协作图。着重表现对象之间的静态链接关系。
其实协作图和顺序图在语义上是等价的。如果两种图进行转换的话,也不会损失信息。
三种元素:对象、连接、消息。
- 对象:图中的管理员和其他类都可以作为对象来看待。
- 链接:让消息在不同对象之间的传递。用单一线条表示。
- 消息:是对象与对象之间的通信方式。
六、状态图
通过对类的对象的生存周期建模来描述对象随着时间变化的动态行为,强调一个对象按事件次序发生行为。
四种元素:状态、转换、事件、活动。
元素的介绍:
- 中间状态:对象处于生命周期的某一位置并执行相关的活动或动作。
- 起始状态:表示**一个对象,并且开始对象的生存周期的历程。
- 终止状态:对象已经完成生存周期的状态转换的所有活动。
- 转换:一个状态到另一个状态的转换。
- 事件:图中的Open、Closed等都被称为事件。
注意:一个状态转换图,可以有一个起始状态和零个或多个终止状态。