面向对象的软件开发需要经过OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)三个阶段,OOA对目标进行系统分析,建立分析模型,并将之文档化;OOD用面向对象的思想对OOA的结果进行细化,得出设计模型。UML即是用来对OOA和OOD的分析、设计结果用统一符号来描述、交流。
UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言,它不仅可以用来支持面向对象的分析和设计,还支持从需求分析开始的软件开发全过程。
UML发展历史OMT\BOOCH\OOSE->UML0.9->UML1.1->UML1.4->UML2.0
UML组成UML2.0->静态图(用例图、类图、组件图、包图、对象图、部署图、复合结构图)| 动态图(交互概观图、顺序图、通信图、状态机图、活动图、定时图)
下面介绍几种最常用的UML图:
(1)用例图(use case diagram):用于在需求分析阶段描述系统的功能(不对实现做任何说明),帮助开发团队以可视化方式理解系统的需求功能,可以描述整个系统和一个功能的用例。
(2)类图(class diagram):请参看本博客UML类图详解一文。
(3)组件图(component diagram):现代大型程序通常由一个或者多个可部署的组件组成,Java可复用组件通常打包成.jar/war,C++则为函数库或者DLL
几个重要元素:组件、端口、接口。
部署图(deployment diagram):现在的软件多是分布式的,即可能是多机器、跨地域、跨平台。是对物理情况的建模,方便生产人员安装和部署
顺序图(sequence diagram):从水平(显示消息被发送到的对象实例)和垂直维度(以发生的时间顺序显示消息/调用的序列)来描述对象之间的交互。帮助开发者对用例的内部执行更加清晰化。(顺序图比通信图多了一个时间的概念)
活动图(activity diagram):用于描述用例内部的活动和方法的流程,除去活动图中的并行,单独的分支即为流程图。只有一个开始活动,可有多个结束活动。
状态机图(state machine diagram):描述对象生命周期中需要关注的状态,以及引发状态改变的事件和状态改变时采取的行动
睡了,图片周末的时候 传上来