统一建模语言(UML)学习笔记

统一建模语言(UML,英语:Unified Modeling Language)也称作标准建模语言,由一个叫OMG的组织于1997年提出,旨在为开发团队提供一种标准通用的设计语言来开发和构建计算机应用。它通过统一的表示方法,使得不同知识背景的领域专家,系统分析、设计、开发人员以及用户能够更为方便的交流问题。通过使用UML,团队人员能够阅读和交流系统架构和设计规划–就像建筑工人多年来所使用的建筑设计图一样。UML以融合了多种面向对象建模方法,简洁的图形符号,直观而强大的表达能力,得到了工业界和学术界的广泛认可。可以说,UML已成为了实际上的工业标准,目前最新的版本是UML 2.0。

UML模型

在UML系统开发中有三个主要的模型:

  • 功能模型:从用户的角度展示系统的功能,包括用例图。
  • 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
  • 动态模型:展现系统的内部行为。包括序列图,活动图,状态图。

UML图

UML提供了多种类型的模型描述图(diagram),在交流和开发过程中使用这些图能使得开发中的应用程序的更易理解。当然,UML的内涵远不只是这些模型描述图,但是对于一般应用场合,这些图对这门语言及其用法背后的基本原理提供了很好的介绍。通过把标准的UML图放进工作产品中,精通UML的人员就更加容易加入该项目并迅速进入角色。最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图等。UML的视图通常被分为四类:

500px-Uml_diagram.svg
UML2.0定义的14种图示(维基百科)

一、用例图:(用于建立需求模型)

用例图展现了一组用例、参与者(actor)以及它们之间的关系。用例图从用户角度描述系统的功能,并指出功能的执行者。

二、静态图:

  • 类图(ClassDiagram)。展现了一组对象、接口、协作和它们之间的关系,包括继承、关联、依赖和聚合等。类图描述的是一种静态关系,在系统的整个生命周期都是有效的,是面向对象系统的建模中最常见的图。显示系统的静态结构
  • 对象图(ObjectDiagram)展现了一组对象以及它们之间的关系。对象图是类图的实例,几乎使用与类图完全相同的标示。
  • 包图:(Package diagram)。包图描述系统的分解结构,表示包与包之间的关系,包括继承、构成与依赖关系 。包由子包及类组成。

三、行为图:(描述系统的动态行为)

  • 交互图(Interactive diagram)。用于描述对象间的消息传递,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。交互图又分为序列图和协作图:
    • 顺序图:强调对象之间消息发送的时间顺序;
    • 合作图:强调收发消息的对象的结构组织、动态协作关系。
  • 状态图(StateDiagram)。由状态、转换、事件和活动组成,描述类的对象所有可能的状态以及事件发生时的转移条件与响应动作。通常状态图是对类图的补充,仅需为那些有多个状态的、行为随外界环境而改变的类画状态图。
  • 活动图(ActiveDiagram)。活动图描述系统为完成某项功能而执行的操作序列,这些序列可以并发和同步。活动图中包含控制流和信息流,有助于更好的理解并发操作。

四、实现图:(Implementation diagram)

  • 构件图(ComponentDiagram)。描述软件实现系统的组成和分布状况。部件图有助于分析和理解组件之间的依赖关系。
  • 部署图(DeploymentDiagram)。描述作为软件系统运行环境的硬件及网络的物理体系结构,其节点表示实际的计算机和设备,边表示节点之间的物理连接关系,也可以显示连接的类型及节点之间的依赖性。

目前,UML已成功应用于电信、金融、政府、电子、国防、航天航空、制造与工业自动化、医疗、交通、电子商务等领域中。在这些领域中,UML的建模包括大型、复杂、实时、分布式、集中式数据或者计算,以及嵌入式系统等,而且还用于软件再生工程、质量管理、过程管理、配置管理的各方面。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被多次验证过而且卓有成效。

以上是关于UML的简单介绍,关于各种模式、图的细节以及UML的常见开发流程,吴小松也在不断的学习和深化,并在后续的文章中发布,欢迎各位朋友提供宝贵的建议。

评论一下...

电子邮件地址不会被公开。 必填项已用*标注