在开发软件的过程中,开发者在编写程序之前需要研究和分析软件的诸多复杂和纷乱的问题,可见软件系统的开发是一个非常复杂的过程。因此,在软件开发的各个阶段之间的交流就非常重要了,那么问题来了,在各个阶段的交流过程中,选择什么样的交流工具呢?答:模型,在软件开发中,开发人员首先要把描述系统功能需求的自然语言形式转化为软件程序的形式,这个转化过程中就需要开发人员建立许多的软件模型来完成最终的开发成果。
软件模型有多中表达方式,但是,开发者们经过多年的实践发现,相对于其他建模语言来说,以图形符号为基础的统一建模语言(UML)描述软件模型既简单有清晰。下面就说一下个人对UML 的认识。
UML的定义
统一建模语言,简称UML。由一系列的图形符号组成的建模语言,它用于描述软件系统分析、设计、实施和维护中 的各种模型。UML的定义有两个主要组成部分:语义和表示法。UML的语义用自然语言和对象约束语言描述—文字,UML的表示法定义了UML的可视化标准表示符号—图形。这决定了UML的特点:UML是一种可视化的建模语言。另外,UML还有几个特点:UML描述了一个系统的静态结构和动态行为;UML是图形方式表现典型的面向对象系统的整个结构;UML从不同的角度为系统建模,并形成系统的不同视图。
UML的基本结构块
UML有三大部分组成:事物,关系和图。
事物:模型中的基本成员。
结构事物:描述模型中的静态部分,包括类、对象、接口、用例、结构、结点。
行为事物:描述模型中的动态部分,包括交互和状态。
分组事物:用于对模型中静态部分和动态部分的封装,目前只有一中分组事物,即包。结构事物、行为事物和分组事物都可以放在一个包中。
注解事物:对UML模型的解释部分。
关系:将事物联系在一起的方式。
关联:两个或多个类之间的结构关系。
依赖:两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
泛化:一种继承关系。
实现:类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
图:对系统所做的抽象描述。
在软件的生命周期中,软件有两种存在形式,即静止状态和运行状态。UML提供的建模图可分为静态结构图和动态行为图两大类型,其中,对每个类型进行细分可分为9中图。如下:
UML的规则
在用UML对软件建模时,有以下几点规则。
1、命名:为事物、关系和图命名。
2、范围:类似于编程语言中的作用域。
3、可见性:一种事物供其他事物访问或使用的权限。在UML中定义了4中可见性,public(公共属性)、protected(受保护的可见性)、default(包级可见性)、private(私有可见性)。
4、完整性:衡量事物是否正确、一致地相互联系。
5、执行:用来运行或模拟动态模式的含义。
UML的公共机制:
规格描述:在图形表示法的每个部分都有一个规格描述,它用来对构造块的语法和语义进行文字描述。
修饰:为了更好的表示图形的细节,UML提供了一些修饰符号。如不同可见性的符号、用斜体字表示抽象类等。
通用划分:类/对象二分法,类是一个抽象,对象是这种抽象的一种具体形式。接口/实现二分法,接口声明了一个契约,而实现则表示了对该契约的具体实现,它负责如实的实现接口的完整语义。
扩展机制:对UML图示符号的扩展。
总结
UML建模也是软件工程的相当重要的一部分,其中UML的9中建模图形应用到软件工程的各个阶段,关于这一方面的知识我会在之后的文章中给大家做详细的介绍。那么,下面的一篇文章是关于UML9种图的总结,敬请关注!