UML:
定义由语义和表示法两部分组成,语义用自然语言描述,表示法定义了UML的可视化标准表示符号,这决定了UML是一种可视化的建模语言。
UML的语义是定义在一个四层(四个抽象级)建模概念框架中的,分别是:
元元模型层:组成UML的最基本元素“事物”。
元模型层:组成UML的基本元素,每个概念是元元模型中“事物”概念的实例。
模型层:组成了UML模型,每个概念都是元模型层中概念的一个实例,这一层的模型通常叫作类模型或类型模型。
用户模型层:每个概念都是模型层的一个实例,这一层的模型通常叫作对象模型或实例模型。
业务流程与活动图:
主要目的是陈述活动与活动之间的流程控制和转移。
描述系统、用例和程序模块中逻辑流程的执行次序,并行次序。
流程图只能描述串行操作,活动图可以描述并行操作,最适合用于描述系统或子系统的主要工作流程。
元素:
起始点、结束点、分区。
活动之间的转换由箭头表示,箭头上可加条件。
加粗直线为同步条,表示这之后的活动执行路线可以并行执行。
菱形表示判断。
系统需求与用例图:
用例模型是把满足用户需求的所有功能表示出来的工具。
用例模型由用例图构成,用例图由系统、角色和用例三种模型元素以及元素之间的各种关系组成。
组成
用例:从系统用户的角度来观察,系统应该具有哪些功能,帮助分析人员理解系统的行为。
角色:与系统进行交互的外部实体。
系统:在用例的活动区域抽象地表示能够实现的所有基本功能。
系统运行的大致过程:角色先初始化用例,用例执行其所代表的功能,执行完后用例给角色返回值。
表示
系统:用一个长方框表示,系统的名字写在方框上或方框里面。
角色:角色之间的通用化关系用带空心三角形(作为箭头)的直线表示。
用例:用椭圆形表示,位于系统边界的内部。
用例之间的关系
扩展关系:在一个用例的基础上加入新的动作形成另一个用例,可以图示为带有构造性<<extend>>标志的通用化关系。
使用关系:一个用例使用另一个用例,构造型<<uses>>。
系统结构与类图:
把问题领域的一些重要元素抽象出来,这些元素在UML中就可以用“类”这个概念来表示。
除了表示抽象概念的名称外,还要表达该抽象概念的“属性”和“行为”。
系统可以有多个类图,单个类图仅表达系统的一个方面。
属性
可见性:公有+,保护#,私有-。
名称:一个字符串。
类型:属性的种类,可以是基本数据类型,也可以是用户自定义类型。
缺省值:属性初始值。
约束性:所有属性可能的取值。
操作
可见性:+,#,-表示。
- 关联关系
导航关联:
类与类之间的关联是单向的,如人拥有小汽车。
共享聚集:例如人员属于课题组。空心菱形表示。
组成:例如*属于汽车。实心菱形表示。
继承(泛化)关系:
用一头为空心三角形的连线表示。
依赖关系:
有两个元素X,Y,修改X引起Y的修改,则Y依赖于X。用带箭头的虚线表示。
精化(实现)关系:
一个类描述了另一个类的实现,用带空心三角的虚线表示。
系统结构与顺序图:
每一个对象用矩形框表示。
纵向:虚线,表示时间。
系统结构与通信图:
通信图是交互图的一种,也叫协作图。
顺序图强调时间,通信图强调空间。
微观设计与对象图:
描述特定时间点根据类图所诞生的实例,可用于解释类图以及验证所涉及类图是否符合实际状况。
微观设计与状态机图:
主要目的在于陈述系统中有关事件或对象的状态转移。
微观设计与时间图:
状态机图:事件驱动,时间图可以进一步描述时间对状态变化的影响。
宏观设计与包图:
表达系统中不同的包、命名空间或不同的项目间彼此的关系。
宏观设计与交互概述图:
主要元素和活动图一样,把不同的交互图结合在同一张图中描述。
宏观设计与复合结构图:
绘制出要开发的系统与外部系统间的关系。
系统实现与组件图:
表示系统的静态实现视图。
组件间的相关性连接,用一条带箭头的虚线表示。
系统实现与部署图:
又叫配置图,描述系统中硬件和软件的物理配置情况和系统体系结构。