解析软件工程的UML建模方法与技术
本节和大家一起学习一下软件工程的UML建模方法与技术,主要包括UML统一建模的概念,UML的发展,UML的组成与优势。相信通过本节的学习你对UML建模一定会有深刻的认识。
软件工程的UML建模方法与技术
论文分析了UML的概念,特点以及组成,指出了UML在应用中的特点。通过UML可以很好的应用其图形化的特征,辅助进行系统的建模与分析,介绍了两种开发应用的建模工具,最后指出应用学习UML的难点,使用UML应该注意的地方,可以起到很好的借鉴作用。
0引言
UML这三个字母的全称是Unified Modeling Language,即统一建模语言,简单地说就是一种有特殊用途的语言。其实有很多内容文字是无法表达的。比如建筑界有一套标准来描述,来辅助表达清楚建筑的设计,就是建筑设计图纸。同样的情况在软件开发过程中,特别是当前的数据库看软件工程方面,也需要一套标准来辅助软件开发工作。UML就是其中的一种标准,(注意并不是唯一标准,只是UML是比较推崇的一种标准)虽然UML并不是官方的标准,也没有法律规定在软件开发中一定要用UML,但是通过妥善使用UML在内的各种标准,往往能够提高软件开发的水平。UML可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,它是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
1统一建模的概念
现代的软件开发采用面向对象的观点进行建模。按照这种方法,所有软件系统都用对象或类作为其主要构造块。对象通常是从问题空间或解空间的词汇中抽取出来的东西;类是对具有共同性质的一组对象(从建模者的视角)的描述。而UML正式这种面向对象统一建模的方法。UML合并了许多面向对象方法中被普遍接受的概念,对每一种概念它都给出了清晰的定义、表示法和有关术语。使用UML可以对已有的用各种方法建立的模型进行描述,并比原来的方法描述得更好。
(1)在应用领域方面。UML适用于各种应用领域的建模,包括大型的、复杂的、实时的、分布式的、集中式数据或计算的、嵌入式的系统。
(2)在实现的编程语言和开发平台方面。UML可应用于运行各种不同的编程实现语言和开发平台的系统。其中包括程序设计语言、数据库、4GL、组织文档及固件等。
(3)在开发全过程方面。UML是一个建模型语言,不是对开发过程的细节进行描述的工具。就像通用程序设计语言可以用于许多风格的程序设计一样,UML适用于大部分现有的或新出现的开发过程。尤其适用于迭代式增量开发过程。
2UML建模的发展
从二十世纪八十年代初期开始众多的方法学家都在尝试用不同的方法进行面向对象的分析与设计。有少数几种方法开始在一些关键性的项目中发挥作用包括Booch OMTShlaer/Mellor Odell/Martin RDD OBA 和Objectory。到了二十世纪九十年代中期出现了第二代面向对象方法,著名的有Booch'94 OMT的沿续以及Fusion等。此时面向对象方法已经成为软件分析和设计方法的主流。这些方法所做的最重要的尝试是在程序设计艺术与计算机科学之间寻求合理的平衡,来进行复杂软件的开发。由于Booch 和OMT 方法都已经独自成功地发展成为世界上主要的面向对象方法,因此Jim Rumbaugh 和Grady Booch 在1994 年10 月共同合作把他们的工作统一起来。到1995 年成为统一方法Unified Method 版本0.8 随后Ivar Jacobson 加入并采用。
UML 版本1.0 被提交给OMG 组织作为软件建模语言标准化的候选其后的半年多时间里一些重要的软件开发商和系统集成商都成为UML 伙伴,如Mircrosoft IBM HP等。它们积极地使用UML 并提出反馈意见。最后于1997 年9 月再次提交给OMG 组织于1997 年11 月7 日正式被OMG 采纳作为业界标准。现在OMG 已经把UML 作为公共可得到的规格说明,提交给国际标准化组织ISO 进行国际标准化。
3 UML建模的组成与优势
UML由图和元模型组成。在这里图是语法,元模型是语义。UML主要地包括了三个基本构造块:事物(Things)、关系(Relationships)和图(Diagrams)。UML在系统模型分析与设计中有着良好的优势,主要体现在如下的一些方面:
(1)完全独立于过程。它是系统建模语言,完全的独立在开发过程之外。
(2)是面向对象的。它支持面向对象技术的主要概念,而且有许多模型元素的表示图形和方法,能够简洁地表达面向对象之各种概念。
(3)易于掌握使用。这些所囊括的图形结构清晰,非常利于建模,也比较容易掌握。
(4)具有可视化的特点。UML模型图可以清楚地表示系统的逻辑模型,这个特点非常适于复杂系统的建模。
(5)独立于程序设计语言。用UML建立的软件系统模型可以用Java、VC++、SmalltaIk等任何一种面向对象的程序设计来实现。
4UML建模详细分析