本文大部分内容来自于《UML和模式应用》第三版。
什么是UML
统一建模语言(UML)是描述、构建和文档化项目制品的可视化。
UML定义了各种UML简单(UML profile)
UML表示法的基础是UML元模型(meta-model),它描述建模元素定义,UML元素型主要对模型却动架构(ModelDriven Architecture,MDA)
注:UML是一种软件设计中的常用描述语言,它现在是开发人员,架构师的必备技能。
应用UML三种方式
UML作为草图:非正式、不完整的图(通常实在白板上手绘草图)。
UML作为蓝图:相对详细的设计图,用于:1)逆向工程,即以UML图的方式对现代代码进行可视化,使其易于理解。2)代码生成(向前工程)。
注意:这里不推荐使用UML来作为描述语言定义代码,因为不同语言有不同语法特性,无法用一个通用描述语言来定义。
这里说明的草图和蓝图,是非常有用,希望大家可以利用。
应用UML三种透视图
概念透视图:用图来描述现实世界或关注领域中的实物
规格说明(软件)透视图:用图(使用与概念透视图中相同的表示法)来描述软件的抽象物或具有规格说明和接口的构建,但是并不约定特定实现(但是这不是C#或者Java中的类)。
实现(软件)透视图:用图来描述特定技术(例如,Java)中的软件实现。
注意:UML三种透视图,其实是在不同场合使用。例如概念视图可以用来定义领域模型,规格用来定义接口,实现试图通常应该是反向生成的。
UML与UP中类定义统一
概念类(conceptualclass):对应概念透视图
现实世界中的概念或实物。
软件类(softwareclass):对应规格说明透视图
无论在过程还是方法中。
实现类(implementationclass):对应C#或者Java特定类
特定OO语言。