第1章UML概述教材_第1页
第1章UML概述教材_第2页
第1章UML概述教材_第3页
第1章UML概述教材_第4页
第1章UML概述教材_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章UML概述UML(UnifiedModelingLanguage,统一建模语言)是一种通用的设计语言,通过这种语言可以对任何具有静态结构和动态行为的系统进行建模。21.1什么是UMLUML是用来对业务系统和软件系统进行可视化建模的一种语言。在面向对象的软件开发过程中,我们常采用该语言对系统的产品进行说明、可视化和文档编写。31.1.1UML简史20世纪90年代,一批新软件开发方法出现了,其中最引人注目的是Booch1993、OMT-2和OOSE等。GradyBooch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。1991年,他将之前面向Ada的工作扩展到面向整个对象设计领域。Booch1993较适用于系统的设计和构造。JamesRumbaugh等人提出了面向对象的建模技术(OMT,一种软件开发方法),该方法采用了面向对象的概念,并引入各种独立于语言的表示符,同时使用对象模型、动态模型、功能模型和用例模型共同完成对整个系统的建模。IvanJacobson于1994年提出了OOSE方法,该方法最大的特点是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。41.1.1UML简史此外,还有Coad/Yourdon方法,即著名的OOA/OOD,它是最早的面向对象的分析和设计方法之一。该方法简单、易学,适合于面向对象技术的初学者使用,但由于该方法在处理能力方面的局限,目前已很少使用。1994年10月,GradyBooch和JamesRumbaugh开始致力于这一工作。他们首先将Booch1993和OMT-2统一起来,并于1995年10月发布了第一个公开版本,称之为统一方法UM0.8(UnitiedMethod)。1995年秋,OOSE的创始人Jacobson加盟到这一工作。经过Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6月和10月分别发布了两个新的版本,即UML0.9和UML0.91,并将UM重新命名为UML(UnifiedModelingLanguage)。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月)的定义和发布起了重要的促进作用。51.1.2UML定义首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅是上述方法的简单汇合,而且是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,它扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但对于不同的组织和不同的应用领域,需要采取不同的开发过程。作为一种建模语言,UML是一种标准的图形符号,它的定义包括UML语义和UML表示法两个部分。61.1.3UML的特点UML语言的主要特点可以归结为以下4点。

UML统一了Booch、OMT和OOSE等方法中的基本概念。UML是非专利的第三代建模和规约语言。在开发阶段,UML语言用于说明、可视化、构建和书写面向对象软件制品。

UML语言应用于软件开发周期中的每一个阶段。OMG(ObjectManagementGroup,对象管理组织)已将该语言作为业界的标准。

UML最适用于数据建模、业务建模、对象建模和组件建模。

UML作为一种模型语言,它可以使开发人员专注于建立产品的模型和结构。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。71.2什么是模型模型就是用图形对一个物体或系统的简化表示,如地球仪就是一个模型,它是对地球的简化表示。用户可以用模型来表示现实领域中的业务流程和工作流程,也可以用模型表示软件领域中的软件系统的组成和结构。在日常生活中常见的模型有很多,它们都是对事物的简化表示,下面是生活中经常遇到的4种模型。(1)交通模型:道路交通图、道路交通标志等,图1-1所示的就是广州地铁的模型。81.2什么是模型(2) 建筑模型:建筑物原型、沙盘等用来描述建筑物的图形,如图1-2所示的模型就是描述某集团公司的建筑物模型。(3) 设计模型:用来描述管线图、电路板设计图等的图形。图1-3所示的就是描述某个局部电路的设计模型。91.2什么是模型(4) 数据分析模型:如图1-4所示就是描述某公司4种产品年销售所占份额的数据分析模型。101.2.1模型的用途在软件开发活动中,UML主要用于两个方面的建模:第一是,用UML语言对业务系统建模,便于分析师展现和理解业务;第二是,用UML对软件系统建模,便于设计师修改和构造软件系统。1.对业务系统建模2.对软件系统建模111.2.2建模目标对业务系统和软件系统进行建模,主要实现下面5个目标。(1) 对业务系统进行可视化,建立业务模型。以业务模型为中介,便于领域专家、用户和需求分析师对业务内容和业务过程的理解和交流。(2) 对软件架构进行可视化,建立软件体系模型。以体系模型为中介,便于设计师对软件系统的宏观理解。(3) 对软件系统的组成、结构和系统交互的行为进行建模,便于设计师和代码编写人员对软件的详细理解和沟通。(4) 用模型的方式为系统实现提供一个模板,开发人员可以依据该模板构造软件系统。(5) 通过模型的方式将计划和决策文档化。便于分析师和设计师沟通、理解。121.2.3建模原则通过需求模型,用户与分析师共同理解业务需求;通过设计模型,分析师与设计师共同完成软件设计任务;通过设计模型,设计师能方便地构造和修改软件模型。为了实现这些目标,建模时应遵循以下几个原则。(1) 仅当需要时才为业务或软件系统构建模型。简单的业务和软件系统不需要建立模型。(2) 模型应该真实地反映业务系统的需求,或者模型能反映软件系统本身的组成和结构。(3) 模型应该反映设计师的设计方案。(4) 构建模型时,最好用一组相对独立的模型从不同的侧面描述重要的业务或软件系统。131.2.4用UML建模的好处UML是一种公共的、可扩展的、应用广泛的设计语言,它可应用于软件开发活动中的每个阶段(分析、设计、实现、测试),而且可以表示每个阶段的产品。使用UML建模的原因主要有以下3个。1.UML是软件开发者的通用语言2.UML是一种应用广泛的语言3.UML是一种很好的扩展语言141.2.5模型种类1.按模型的用途分类功能模型对象模型动态模型2.按产生模型的阶段性分类业务模型需求模型设计模型实现模型数据库模型151.3UML工具UML工具是帮助软件开发人员方便使用UML的软件,它的主要功能包括:支持各种UML模型图的输入、编辑和存储;支持正向工程和逆向工程;提供和其他开发工具的接口。不同的UML工具提供的功能不同,各个功能实现的程度也不同。在选择UML工具时应主要考虑的几个因素是:产品的价格、产品的功能以及与自己的开发环境结合的是否密切。161.3.1UML工具介绍目前主要的UML工具有Rational公司的Rose、TogetherSoft公司的Together和Microsoft公司的Visio等。Rational公司推出的Rose是目前最好的基于UML的CASE工具,它把UML有机地集成到面向对象的软件开发过程中。Rose具有正向工程、逆向工程和对象模型更新等功能。用户修改模型后可以直接反映到代码上,同样,用户对代码框架的修改也可以反映到模型上。另外,它还提供对多种程序设计语言的支持,如C++、Java、VisualBasic等。VisioProfessional2000提供了内建的UML支持,如Visio绘图工具提供绘制多种图形的功能,这是一个相当有价值的工具。171.3.2如何选择UML工具1.支持UML1.32.支持项目组的协同开发3.支持双向工程4.HTML文档化5.打印支持6.健壮性7.开发平台8.提供XML支持181.4UML语言应用UML语言的目标是以图的方式来表示任何类型的系统,该语言应用广泛。这种语言既可以用来为软件系统建模,也可以用来对非软件领域建模。此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求阶段,可以用用例来捕获用户需求,通过用例建模,描述用户感兴趣的系统功能;在静态分析阶段,主要识别系统中的类及其关系,并用UML类图来描述系统;在动态分析阶段,尝试组织多个对象,并构思对象的交互和协作,以实现和检验用例的可行性,此时可以用UML动态模型来描述。191.4UML语言应用编程是一个独立的阶段,其任务是用面向对象编程语言将设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。UML模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段时确定的需求。总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段。201.5小结本章介绍了UML的基本概念、主要内容和应用领域,还介绍了UML工具方面的知识。通过本章的学习,读者能够对UML有一定的认识和了解,为以后各章的学习打下基础。本书主要从应用的角度来介绍UML

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论