UML建模系统梳理
建模的意义
一个真实的系统可能太庞大,也可能含有许多细节,常常超过人类智力可能认知的范围,所以人们必须从系统中抽离出重要的现象,让人们能够认识与理解系统的重要特性,包括系统各组件的静态与动态合作关系。
UML概述
UML是一种建模语言,用来为面向对象开发系统的产品进行说明、可视化和编辑文档的方法。
UML描述了一个系统的静态结构和动态行为。静态结构定义了系统中的重要对象的属性和操作,以及这些对象之间的相互关系。
UML由视图(View)、图(Diagram)、模型元素(Model Element)、通用机制等组成。一个系统可以从不同的角度进行描述。从其中某一个角度观察到系统称之为一个视图。
UML中视图包括
1、用例视图
它从外部角色的视图来展示系统的功能。 简单说 哪些人可以使用这个系统的什么功能。用例图描述了系统提供的一个功能单元。包括基于基本流程的 “角色” (是与系统交互的其他实体)关系,以及系统内用例之间的关系。作为系统的边界。
用例图元素 包括 用例(系统执行的功能或过程) 参与者(Actor)、用例关系(关联关系、包含关系、扩展关系、泛化关系)
用例图元素如何识别参与者
a、谁将使用该系统的主要功能?
b、谁将需要该系统的支持以完成其工作?
c、谁将需要维护、管理该系统,以及保持该系统处于工作状态?
d、与系统交互的是什么系统?
e、谁或什么系统对本系统产生的结果感兴趣?
2、逻辑视图
逻辑视图用来描述如何实现用例图中提出的系统功能。它提供系统的详细图形,描述组件间如何关联。逻辑视图既描述系统的静态结构,也描述系统内部的动作协作关系,它通过系统的静态结构和动态行为来展示系统内部的功能是如何实现的,其侧重点在于如何实现功能。
类图
类图显示了一组类、接口和协作,以及它们之间的关系,显示了系统的静态结构。类图面向对象的建模设计中是很常用的。
类图元素 类图示例图3、并发视图
并发视图主要考虑资源的有效利用、代码的并行执行,以及系统环境中异步事件的处理。除了将系统划分为并发执行的控制以外,并发视图还需要处理线程之间的通信和同步。
1)、时序图 (常用)
时序图描述系统中类和类之间的交互,以及对象之间消息交互的时间顺序,也可称为顺序图。
时序图是一种强调消息的时序交互图,元素包括 活动者(Actor)、对象(object)、消息(message)、生命线(Lifeline) 和 控制焦点(Focus of control,激活)组成。
时序图元素 时序图示例图2)、状态图
转换是状态间的关联。 当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成一定的动作后将发生状态转变,转向另一个称为目标状态的状态。一般状态之间的转移是由事件触发的。
状态图元素图书借阅状态图
3)、活动图
活动图可以用于描述系统的工作流程和并发行为,活动图被设计用于简化描述一个过程或操作的工作步骤。活动图中活动的改变不需要事件触发,源活动执行完毕后自动触发转移,转到下一个活动。
活动图的组成元素主要有:动作状态、活动状态、判定、转换、动作流、分支与合并、分叉与汇合、泳道,以及对象流。
活动元素图活动示例图
4)、协作图
协作图显示了一系列的对象和在这些对象之间的联系,以及对象间发送和接收的消息。 协作图也是一种交互图。强调的是发送和接收消息对象之间的组织结构。
协作图是用于描述系统的行为是如何由系统的成分协作实现的图。协作图中包括建模元素有对象(包括参与者实例、多对象、主动对象等)、消息、链等。
协作图示例时序图与协作图比较
a、时序图和协作图都属于交互图,都用于描述系统中对象之间的动态关系。
b、协作图以对象图的方式绘制各个参与对象,强调的是交互的语境与参与交互的对象的整体组织。
c、时序图可以描述对象的创建和撤销的情况,强调的是交互的时间顺序。
4、组件视图
组件图
组件是系统高层的可重用的组成部件。组件图描述软件组件,以及组件之间的关系,组件本身是代码的物理模块,组件图则显示了代码的结构。
5、配置视图
部署图
分布式系统部署图