引言:

  这段时间将致力于写UML方面的博客,由于个人能力的有限,如果博客中出现错误的地方还请广大博友批评指正。为了更好地了解一个过程或者事物,人们通常根据所研究对象的某些特征(形状、结构、或行为等)建立相关的模型(Model)。模型是从一个特定的视点对系统进行的抽象,它可以是实物模型,例如建筑模型,教学模型、玩具等,也可以是抽象数字或图示模型,例如数学公式或图形等。模型建立的目的不是复制真实的原物,而是帮助人们更好的理解复杂的事物本质,反应过程或事物内部各种因素执念的相互关系。下面就让我们进入UML的学习中吧!首先先介绍一下它的发展史。

发展史:

  公认的面向对象建模语言出现于70年代中期。从1989年到1994年,其数量从不到十种增加到了五十多种。在众多的建模语言中,语言的创造者努力推崇自己的产品,并在实践中不断完善。但是,OO方法的用户并不了解不同建模语言的优缺点及相互之间的差异,因而很难根据应用特点选择合适的建模语言,于是爆发了一场"方法大战"。90年代中,一批新方法出现了,其中最引人注目的是Booch1993、OOSE和OMT-2等。Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。1991年,他将以前面向Ada的工作扩展到整个面向对象设计领域。Booch1993比较适合于系统的设计和构造。Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。这种方法用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。OMT-2特别适用于分析和描述以数据为中心的信息系统。jacobson于1994年提出了OOSE方法,其最大特点是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,但用例贯穿于整个开发过程,包括对系统的测试和验证。OOSE比较适合支持商业工程和需求分析。此外,还有Coad/Yourdon方法,即著名的OOA/OOD,它是最早的面向对象的分析和设计方法之一。该方法简单、易学,适合于面向对象技术的初学者使用,但由于该方法在处理能力方面的局限,目前已很少使用。概括起来,首先,面对众多的建模语言,用户由于没有能力区别不同语言之间的差别,因此很难找到一种比较适合其应用特点的语言;其次,众多的建模语言实际上各有千秋;第三,虽然不同的建模语言大多类同,但仍存在某些细微的差别,极大地妨碍了用户之间的交流。因此在客观上,极有必要在精心比较不同的建模语言优缺点及总结面向对象技术应用实践的基础上,组织联合设计小组,根据应用需求,取其精华,去其糟粕,求同存异,统一建模语言。1994年10月,GradyBooch和JimRumbaugh开始致力于这一工作。他们首先将Booch93和OMT-2统一起来,并于1995年10月发布了第一个公开版本,称之为统一方法UM0.8(UnitiedMethod)。1995年秋,OOSE的创始人IvarJacobson加盟到这一工作。经过Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分别发布了两个新的版本,即UML0.9和UML0.91,并将UM重新命名UML(UnifiedModelingLanguage)。这是UML发展又前进了一步。1996年,一些机构将UML作为其商业策略已日趋明显。UML的开发者得到了来自公众的正面反应,并倡议成立了UML成员协会,以完善、加强和促进UML的定义工作。当时的成员有DEC、HP、I-Logix、Itellicorp、IBM、ICONComputing、MCISystemhouse、Microsoft、Oracle、RationalSoftware、TI以及Unisys。这一机构对UML1.0(1997年1月)及UML1.1(1997年11月17日)的定义和发布起了重要的促进作用。面向对象技术和UML发展过程可用上图来表示,标准建模语言的出现是其重要成果。在美国,截止1996年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。1996年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。1997年11月17日,OMG采纳UML1.1作为基于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向,具有巨大的市场前景,也具有重大的经济价值和国防价值。下图描述了它的发展史。

什么是统一建模语言:

  UML融合了以往众多建模语言方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。UML作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。(1) UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。(2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。UML精确的元模型定义和简单统一的符号表示,也成为其被广泛采用的一个原因。

UML的主要内容:

  下图展示了UML的各种图的分类,同时也告知了UML的图示建模工具被分为两大类共13种图形。

  第一类是结构图。在结构图中,UML2.0有6中图示建模工具:类图、构件图、对象图、复合结构图、部署图、和包图。

  第二类是行为图。在行为图中,UML2.0有7中图时间么工具:活动图、用例图、状态图、以及4种交互图--顺序图、通信图、交互综合图和时间配置图。

UML的应用领域:

  UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现用例,类之间需要协作,这可以用UML动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。UML模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。

参考资料:

  1. UML百度百科
  2. 统一建模语言UML(第二版)袁涛
  3. 统一建模语言(UML)参考手册

转载于:https://www.cnblogs.com/cyysu/p/4877538.html

统一建模语言UML整理之开篇相关推荐

  1. 统一建模语言UML轻松入门系列

    第五讲:统一建模语言UML轻松入门之综合实例 第四讲:统一建模语言UML轻松入门之动态建模 第三讲:统一建模语言UML轻松入门之静态建模:类和对象 第二讲:统一建模语言UML轻松入门之静态建模:用例 ...

  2. 统一建模语言UML轻松入门(3)――静态建模:类和对象

    统一建模语言UML轻松入门(3)――静态建模:类和对象 --------------------------------------------------------------------- 宋宝 ...

  3. 『软件工程13』浅谈面向对象方法,统一建模语言UML

    浅谈面向对象方法UML 一.UML的含义 二.UML的主要内容 1.UML的概念模型 2.UML概念模型图例 三.UML的基本构造块 1.UML中的事物 (1)UML中的四种事物 (2)UML中各种事 ...

  4. 统一建模语言UML轻松入门(1)――基本概念

    统一建模语言UML轻松入门(1)――基本概念 --------------------------------------------------------------------- 宋宝华 ema ...

  5. 统一建模语言UML(四):领域模型和类图

    统一建模语言UML(四):领域模型和类图 领域模型 领域模型是对领域内概念类或现实世界中对象的可视化表示,也称为概念模型.是更为完整的业务模型的一个特例.从UML的表示法角度,领域模型被描述为一组没有 ...

  6. 统一建模语言UML(1)概述

    uml概述 uml(UNIFIED MODELING LANGUAGE) uml是一种工具,隐藏在其后面的是面向对象的想法 url非常适合面向对象分析和设计,在软件开发中想法很重要,而uml是用来表达 ...

  7. 软件工程—统一建模语言UML

    一.ULM概述 统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述.可视化处理.构造和建立软件系统制品的文档.它记录了对必须构造的系统的决定和理解,可用于对系统的理解.设计.浏览.配 ...

  8. 统一建模语言UML要点全面简析

    前言 uml就是一些图,一些由框框和线条构成的图,框框称为事物,线条表示4种关系,加点这些框框和线条的说明注释. 一.uml概述 统一建模语言(UML)是面向对象软件的标准化建模语言. UML由3个要 ...

  9. uml 时序图_面向对象设计与统一建模语言UML

    面向对象设计 自从面向对象编程语言在软件开发中成为主流之后,遵循面向对象技术特点的软件设计工作,也一并发展了起来. 首先要提出一个问题,就是设计的工作是要做什么? 它包括的范围其实是很广泛的,从搜集用 ...

最新文章

  1. python request is not defined_python引入requests模块报错
  2. 文件“D:\file.txt”正由另一进程使用,因此该进程无法访问该文件。
  3. 网站服务器打开新页面,什么网页适合新窗口打开?哪些网页又适合当前窗口打开?...
  4. 深度学习:识别图片中的电话号码(2)
  5. .NET 程序下锐浪报表 (Grid++ Report) 的绿色发布指南
  6. 【渝粤题库】陕西师范大学700011 新课程改革与生物教材研究
  7. Unity——Shader
  8. python安装pyaudio_关于python:PyAudio不会安装
  9. 2019-08-27-Seo基础知识
  10. 视频太大怎么压缩,视频压缩怎么弄?
  11. Linux_安装modelsim10_2
  12. 哪款蓝牙耳机性价比最高?无线蓝牙耳机性价比排行榜
  13. 手把手教你制作智能桌宠(小可爱哦!)
  14. Mac上挂载移动硬盘出现Read-only file system问题
  15. 共识算法POW原理及实现
  16. SQL Server - sql 空间数据
  17. const指针、数组指针、指针数组理解
  18. Git教学资源,安装,关联账号,创建/关联/克隆库,版本回退,管理修改基本指令
  19. nginx开启日志和配置日志文件路径
  20. Excel 函数教程之如何提取字符串部分内容特殊字符,六套完整解决方案 (教程含源码)

热门文章

  1. 图解排序算法之谈「选择排序」
  2. c# export server 调用sql_[转]使用C#调用cmd来执行sql脚本
  3. OpenYurt 如何 “0 侵入” 攻破云边融合难点
  4. 从零开始入门 K8s | GPU 管理和 Device Plugin 工作机制
  5. java 假设当前时间_Java如何比较当前时间是否在两个时间范围内
  6. 和平精英微信和qq不是一个服务器,和平精英微信和QQ玩家能不能一起玩?微信和QQ怎么开黑建房[图]...
  7. 散射理论方程_非弹性中子磁散射方法简介之自旋波激发
  8. 全局样式_CAD新手福利:不懂标注样式修改的请进来一看
  9. python重复import_Python module重复载入的问题
  10. 计算机数学专业是应用数学专业吗,大学数学系的数学与应用数学专业学什么课程内容?...