字面上就是统一建模语言,图形化的建模语言,是面向对象的分析与设计的标准。
不是具体的编程语言,也不是具体的方法与方法库,但是任意的面向对象的方法都可以利用这个
标准来设计,用任意面向对象的语言来实现具体的软件系统。
UML的目标:
1.易于使用,表达能力强,在工程师间架构一个沟通的桥梁;
2.鼓励架构,插件、框架、模式的使用;
3.可扩展与可升级。
- UML的架构
UML是由图和元模型组成。图是UML的语法,而元模型是UML的语义。元模型分为4个抽象层次:
- 元元模型, UML最基本的元素
- 元模型, UML的基本元素,包括面向对象和面向组件
- 模型, UML的模型,比如,类模型(class model)或类型模型(Type model)
- 用户模型, UML模型的实例,常常称为对象模型,object model
2.UML的模型视图与建模
视图通常有4+1的说法:
- 用例图(usecase view)从用户角度看系统的功能
- 逻辑视图(logic view)系统的静态结构及特征,staticview
- 并发视图(concurrent· view)也称为行为模型视图、过程视图,协作视图,动态视图(dynamic view)
- 组件视图, 体现系统实现的结构与行为特征,也称开发视图(develop view)
- 部署视图(deploy view),体现系统实际部署的结构与行为特征,也称为实现模型视图或物理视图(physic view)。
3.UML图的分类
UML的视图(view)都是由一个或多个图(diagram)组成的。一个图就是系统架构在某个侧面的表示,所有图组成了系统的完整视图。UML提供了9种不同的图,分为两大类:静态图与动态图。
- 静态图
包括:用例图,类图,对象图,组件图,配置图
- 动态图
包括:序列图,协作图,状态图,活动图
4.UML与面向对象分析与设计(OOA&OOD)
UML是一种标准的建模语言,而不是一种方法。UML为不同领域的人提供统一的交流标准,有效地促进软件设计、开发和测试人员的相互理解。提交的设计产品都是用UML来描述的。
成功的软件设计与实现,一般注重系统架构的开发、注重过程的迭代和递增性。所以UML对任何使用的方法提出的要求:支持用例驱动、以架构为中心。
5.UML的应用
UML的应用领域包含且不限于如下:
- 信息系统
- 技术系统
- 嵌入式实时系统
- 分布式系统
- 商业系统
UML应用贯穿于软件开发的五个阶段:
- 需求分析 UML的用例视图可以表示客户的需求
- 分析 分析阶段主要考虑解决的问题。可以用UML的逻辑视图和动态视图来描述。分析阶段只为问题领域的类建模,不涉及解决方案的细节(如接口类、数据库等)
- 设计 设计阶段,将分析阶段的结果扩展成技术解决方案。
- 实现 将设计阶段的类转化成具体面向对象程序设计的代码
- 测试 测试有单元测试,集成测试。可以分为黑箱与白盒测试