UML 建模
2016-03-15 21:02
260 查看
1. UML 简单介绍
UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。UML是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。制品{Artifact}是指软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等。
UML的定义包括UML语义和UML表示法两个部分。
UML语义:描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外,UML还支持对元模型的扩展定义。
UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。
2. UML 好处
UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架构和设计规划–就像建筑工人多年来所使用的建筑设计图一样。使用模型可以更好地理解问题。
使用模型可以加强人员之间的沟通。
使用模型可以更早地发现错误或疏漏的地方。
使用模型可以获得设计结果。
模型为最后的代码提供依据。
3. UML 特点
统一的标准面向对象。UML是支持面向对象软件开发的建模语言。
可视化、表现能力强
独立于过程,UML不依赖于特定的软件开发过程。
概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。
4. UML 模型图的构成
事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象。关系(Relationships):关系把事物紧密联系在一起。
图(Diagrams ):图是事物和关系的可视化表示。
事物
UML包含4种事物:构件事物,行为事物, 分组事物和注释事物。
构件事物包括:UML模型的静态部分,描述概念或物理元素,它包括以下几种:
类:具有相同属性相同操作 相同关系相同语义的对象的描述。
接口:描述元素的外部可见行为,即服务集合的定义说明。
协作:描述了一组事物间的相互作用的集合。
用例:代表一个系统或系统的一部分行为,是一组动作序列的集合。
构件:系统中物理存在,可替换的部件。
节点:运行时存在的物理元素。
另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体。
行为事物:UML模型图的动态部分,描述跨越空间和时间的行为,它包括以下几种::
交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接等。
状态机:描述事物或交互在生命周期内响应事件所经历的状态序列。
分组事物:UML模型图的组织部分,描述事物的组织结构
包:把元素组织成组的机制。
注释事物:UML模型的解释部分,用来对模型中的元素进行说明,解释
注解:对元素进行约束或解释的简单符号。
关系 包括以下几种:
依赖
依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义。
关联
关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。
泛化
泛化(generalization)是一种特殊/一般的关系。也可以看作是常说的继承关系。
实现
实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保 证执行的契约。
图 UML建模中总共有9种模型图
用例图 use case diagram:
用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元。
类图 class diagram:
类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。
类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联 。
对象图 object diagram:
对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。
顺序图(时序图) sequence diagram:
顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。
顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件 。
协作图(通信图)collaboration diagram:
协作图描述对象间的协作关系,协作图跟顺序图 相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。
协作图的一个用途是表示一个类操作的实现 。
活动图 activity diagram:
活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。
活动图描述了一组顺序的或并发的活动 。
状态图 statechart diagram:
状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成。
构件图 component diagram:
构件图为系统的构件建模型—构件即构造应用的软件单元—还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响 。
部署图 deployment diagram:
部署视图描述位于节点实例上的运行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配。
5. 设计的各个阶段对应的图的关系####(不是绝对的哦)
表 | 需求分析 | 概要设计(BD) | 详细设计(DD) |
---|---|---|---|
用例图 use case diagram | 最适用 | 最适用 | 不适用 |
类图 class diagram | 不适用 | 适用 | 最适用 |
顺序图(时序图) sequence diagram | 不适用 | 适用 | 最适用 |
活动图 activity diagram | 适用 | 适用 | 适用 |
对象图 object diagram | 不适用 | 可能适用 | 可能适用 |
协作图 collaboration diagram | 不适用 | 可能适用 | 可能适用 |
状态图 statechart diagram | 不适用 | 可能适用 | 适用 |
构件图 component diagram | 不适用 | 不适用 | 适用 |
部署图 deployment diagram | 适用 | 适用 | 可能适用 |
6. 图之间的关系####(不是绝对的哦)
7. 静态建模和动态建模####(不是绝对的哦)
静态建模用以描述系统的组织和结构。动态建模用以描述系统的行为和动作。两者共同构建和描述系统的整体模型。静态建模中描述的组织和结构是动态建模所描述的行为和动作的基础。
动态建模中所描述的行为和动作则是静态建模所描述的组织和结构的深化和拓展。
静态建模包括:用例图,类图,对象图,构件图,部署图。
动态建模包括:状态图,活动图,顺序图,协作图。
8. 建模工具####()
rational rose rational rose 2007 下载地址注:解压之后要借助daemon tools Lite工具打开,如果daemon tools Lite选不到解压之后的文件的话就吧解压之后得到的.bin文件改成.iso就可以打开了,安装一直选默认的就好了。
参考链接
1. http://wenku.baidu.com/view/d32ed05777232f60ddcca14b.html
2. http://wenku.baidu.com/view/214869ff0242a8956bece469.html?re=view
相关文章推荐
- java.lang.IllegalStateException
- mac一些设置
- Harmonic Number(暴力求解法)
- 轻松学习Ionic (三) 安装sass并在webstorm中为scss添加watcher
- JavaScript 简介
- DBNull和null的区别
- Cantor数表
- 面试准备之Java常用的包
- mac一些设置
- SharedPreferences保存数据
- 生成plist文件
- 存储过程
- 有头节点双向循环链表
- LintCode 50. 数组剔除元素后的乘积
- liteIDE的报错: go: cannot find GOROOT directory: c:\go
- HDU 5067 Harry And Dig Machine(暴力)
- Okhttp
- Java 编程思想 写一个程序,打印出从命令行获取的三个自变量。
- 轻松学习Ionic (二) 为Android项目集成Crosswalk(更新官方命令行工具)
- 2016开始工作一点谈