第1章UML概述
统一建模语言

面向对象技术基本概念(续)
继承(泛化)关系
面向对象技术基本概念(续)
3)超类、父类、子类
一个类可以继承其他类的属性和方法。继承了其它类属性 和方法的类称为子类,被继承的类称为父类或超类。它们的关 系如下图所示。子类复用父类属性和方法的过程,称为继承或 泛化。
没有父类的类被称为基类或根类;没有子类的类被称为叶 类。 如果一个类恰好只有一个父类,这样的继承关系叫单继承。 如果一个类有多个父类,这样的继承就是多继承。
面向对象技术基本概念
面向对象技术的设计思想模拟自然界认识和处 理事物的方法,将数据和对数据的操作方法放在一起, 形成一个相对独立的整体---对象(Object),对同类型 对象抽象出共性,形成类(Class).任何一个类中的数据 都只能用本类自有的方法进行处理,并通过简单的接 口与外部联系.对象之间通过消息(Message)进行通 信.
面向对象技术基本概念(续)
5)多态
多态是指在不同类中具有相同名称的方法(操作)。
面向对象技术基本概念(续)
6)依赖(dependency) 依赖是指一个类中的元素使用了另一个类。
依赖关系描述类之间的使用关系。
面向对象技术基本概念(续)
7)关联 关联(Association)是指对象类之间具有
的语义联系。其基本表示如下。
对象的一个基本概念,类封装了客观世界中对象实体的特征 与行为,即属性与方法。其表示法是一个矩形,由带有类名、 属性和方法(操作)的分格框组成。如下图所示。
面向对象技术基本概念(续)
v 属性
属性是指类的特性,它 描述类所具有的一系列特性 值。一个类可以有多个属性, 也可以没有属性。在类图中 属性只要写上名字就可以了。 如右上图.
UML可视化建模(航空订票系统)

UML可视化建模(航空订票系统)《可视化建模与UML》课程结业报告课题名称: 航空客运订票系统建模姓名: ***学号: *******班级:指导⽼师: 夏⽼师完成⽇期: 2013.06.16⽬录第⼀章概述 (3)1.1系统开发的摸底和开发背景 (3)1.2系统功能 (3)1.3系统结构框架 (4)1.4开发环境 (5)第⼆章⽤例模型 (6)2.1⽤例模型简介 (6)2.2⽤例图的的含义及其作⽤ (6)2.3⽤例图及⽤例描述 (7)第三章类模型 (10)3.1类模型简介 (10)3.2类图的作⽤ (10)3.3类图 (11)第四章交互模型 (13)4.1交互模型简介 (13)4.2序列图简介 (13)4.3序列图的作⽤ (13)4.4序列图描述及其序列图 (14)第五章⾏为模型 (20)5.1⾏为模型简介 (20)5.1.1活动图简介 (20)5.1.2活动图的作⽤ (20)5.1.3状态图简介 (21)5.1.4状态图的作⽤ (21)5.2⾏为模型图 (21)5.2.1活动图及其描述 (21)5.2.2状态图及其描述 (23)第六章构件图和部署图 (25)6.1构件图简介 (25)6.2部署图简介 (25)第七章课程学习⼩结 (27)7.1课程⼩结 (27)7.2学习⼼得 (27)参考⽂献 (28)第⼀章概述1.1系统开发的摸底和开发背景随着科技与经济的发展,越来越多的⼈选择乘飞机,这跟我国的经济增长有很⼤关系,⼈们在追求快节奏的⽣活⽅式,所以做飞机⽆疑成了⾸选。
⽽且随着⽹络的盛⾏,航空订票系统就显得尤为重要,我们开发这个系统主要是为了⽅便⼤家,让⼤家能够快速、清晰、准确地了解航班信息,⽽不⾄于像以前那样排队等候,从⽽避免耽搁乘客⼤量的等待时间。
航空客运业务诞⽣已有进⼀个世纪了,作为现有交通⼯具中最⽅便快捷的⼀种,它确实地给⼤家的⽣活、出⾏带来了极⼤的⽅便。
随着航空客运业务多年来的发展,其售票业务也同样不断地发展。
UML概述

UML建模基础——UML概述东软人才实训中心3 Sept. 2008©Neusoft Confidential课程结构1第五章:状态图和活动图2第三章:类图1第四章:交互图1第二章:用例图1第一章:UML 概述、Rose 简介课时(H )内容培训目标•能够使用Rose工具画UML类图•能够看懂用UML表示的设计第一章:UML 概述、Rose 简介学时:1学时教学方法:讲授ppt +上机练习目标:本章旨在向学员简要介绍UML建模的重要性、UML的概念模型,通过本课的学习,学员应该掌握如下知识:1)了解UML的概念模型2)简要介绍UML的“4+1view ”3)了解Rose工具UML概述•什么是UML?–UML: 统一建模语言Unified Modeling Language–UML是由Rational公司三位世界级面向对象技术专家Grady Booch,Ivar Jacobson和Jim Rumbaugh提出的。
–UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
•什么是UML?–不是一种可视化编程语言,而是一种可视化建模语言–不是工具或知识库的规格说明,而是建模语言的规格说明,是一种表示的标准–不是过程,也不是方法,但是允许任何一种过程和方法使用它•什么是模型?–模型就是真实世界的简化–为我们提供一个系统的原型•为什么要建模?–为了更好的理解我们将要或正在开发的系统–是把复杂的系统变成小的系统,采用“各个击破”的原则逐一解决–因为我们通常无法理解一个复杂系统的全部–模型能为我们做什么?•帮助我们对系统进行可视化•允许我们详细说明系统的结构或行为•给出一个指导我们构造系统的模板•对我们做出的决策进行文档化业务流程计算机系统可视化建模可视化建模就是用标准的图形表示法来建模“建模获取系统的关键部分”UML•什么是可视化建模?可视化建模的作用•可视化建模获取业务流程–用例(use case)分析是一种从用户的角度获取业务流程的技术–使用相同的语言,不至于产生歧义–用例分析能让分析师在构建系统之前理解要构建什么可视化建模的作用(续)•可视化建模是一个交流工具–使用相同的语言,不至于产生歧义业务领域计算机领域Logical ViewPhysical View User InterfaceBusiness Logic Database Java JSPC++ JavaSQL•管理复杂性–把3000多个类放在一张图中不好–可视化建模的“包”(package)•把元素模型化成有意义的组合•为不同的人提供不同级别的抽象–软件构架(architecture)•促进复用(reuse)–复用是软件的“圣杯”–不止是复用代码,而是复用建立原始工件时需要的所有分析、设计、实现、测试、文档化–可以有一个类复用、多个类(或一个组件)的复用、应用模式等复用方式–可视化建模让你从复用的角度看,如果想复用工件,什么是可用的UML的概念模型•UML的概念模型–UML建模的三个主要元素•构造块:事物、关系、图•规则:命名、范围、可见性、完整性、执行•公共机制:规范说明、通用划分、扩展机制•UML元素–构造块–事物•对模型中最具有代表性的成分的抽象–关系•把事物结合在一起–图•聚集了相关的事物•UML元素–构造块–事物–结构事物:通常是UML模型的静态部分,描述概念或物理元素•类•接口•用例:通常代表一个需求•协作:表示一个用例的实现•主动类:至少拥有一个进程或线程的类•组件:系统中物理的、可替代的部件,如源代码文件•节点:运行时存在的物理元素,如一个设备•UML元素–构造块–事物(续)–行为事物:是UML模型的动态部分,是模型中的动词•交互(interaction):可描述一个对象群体的行为或单个操作的行为•状态机(state machine):可描述单个类或一组类之间协作的行为–分组事物:是UML中的组织部分•包(package)–注释事物:是UML中的注释部分•注解(note)•UML元素–构造块–关系–关系•依赖(dependency):一个事物发生变化会影响到另一个事物。
第三部分UML基础(第一章UML概述)

1、标准的表示方法
人们用各种方法来使用UML,而无论方
法如何变化,它们的基础是UML的图。 这就是UML的最终用途——为不同领域 的人们提供统一的交流标准。 软件开发的难点在于:一个项目的参与 包括领域专家、软件设计开发人员、客 户,以及用户他们之间交流的难题,成 为软件开发的最大难题。
最突出的两条,
一是:注重系统架构的开发 一是:注重过程的迭代和递增性
尽管UML
本身对过程没有任何定义,但 UML 对任何使用它的方法或过程提出的 要求,是支持用例驱动use-case driven 、以架构为中心architecturecentric 以及递增incremental 和迭代 iterative 地开发。
26
四、UML 的应用领域
UML
被用来为系统建模,它可应用的范 围非常广泛:
可以描述许多类型的系统
它也可以用在系统开发的不同阶段,从需
求规格说明到对已完成系统的测试。
软件技术基础-------PPT课件
27
1、在不同类型系统中的应用
的目标是:用面向对象的方式描述 任何类型的系统。 其中最直接的是,用UML 为软件系统创 建模型。但UML 也可用来描述其它非计 算机软件的系统,或者是商业机构或过 程。
UML是一种建模语言,是一种标准的表
示,而不是一种方法或方法学。
方法是一种把人的思考和行动结构化的明
确方式。方法需要定义软件开发的步骤, 告诉人们做什么,如何做,什么时候做以 及为什么要这么做
UML只定义了一些图以及它们的意义。
它的思想是与方法无关。
软件技术基础-------PPT课件 20
软件技术基础-------PPT课件 4
UML基础及Rose建模实用教程课后习题及答案

UML根底与Rose建模实用教程课后习题及答案第1章面向对象概述1. 填空题〔1〕软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。
〔2〕类是具有一样属性和操作的一组对象的组合,即抽象模型中的“类〞描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
〔3〕面向对象程序的根本特征是抽象、封装、继承和多态。
2. 选择题〔1〕可以认为对象是ABC。
〔A〕某种可被人感知的事物〔B〕思维、感觉或动作所能作用的物质〔C〕思维、感觉或动作所能作用的精神体〔D〕不能被思维、感觉或动作作用的精神体〔2〕类的定义要包含以下的要素ABD。
〔A〕类的属性〔B〕类所要执行的操作〔C〕类的编号〔D〕属性的类型〔3〕面向对象程序的根本特征不包括B。
〔A〕封装〔B〕多样性〔C〕抽象〔D〕继承〔4〕以下关于类与对象的关系的说法不正确的选项是A。
〔A〕有些对象是不能被抽象成类的〔B〕类给出了属于该类的全部对象的抽象定义〔C〕类是对象集合的再抽象〔D〕类用来在存中开辟一个数据区,并存储新对象的属性3. 简答题〔1〕什么是对象?试着列举三个现实中的例子。
对象是某种可被人感知的事物,也可是思维、感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。
〔2〕什么是抽象?抽象是对现实世界信息的简化。
能够通过抽象将需要的事物进展简化、将事物特征进展概括、将抽象模型组织为层次构造、使软件重用得以保证。
〔3〕什么是封装?它有哪些好处?封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的部细节。
封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。
对象的私有属性只能够由对象的行为来修改和读取。
二是尽可能隐蔽对象的部细节,与外界的联系只能够通过外部接口来实现。
通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:防止对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序的影响。
大象:THINKING IN UML 第1章 为什么需要UML

面向对象的困难
• 现实世界和对象世界之间存在着一道鸿沟, 这道鸿沟的名字就叫做抽象。抽象是面向 对象的精髓所在,同时也是面向对象的困 难所在。实际上,要想跨越这道鸿沟,我 们需要: • 一种把现实世界映射到对象世界的方法。 • 一种从对象世界描述现实世界的方法。 • 一种验证对象世界行为是否正确反映了现 实世界的方法。 •
• 幸运的是,UML,准确地说是UML背后所 代表的面向对象分析设计方法,正好架起 了跨越这道鸿沟的桥梁。
什么是UML
• 统一语言 • 可视化
从现实世界到业务模型
• 现实世界无论多复杂,无论是哪个行业,无论做 什么业务,其本质无非是由人、事、物和规则组 成的。人是一切的中心,人要做事,做事就会使 用一些物并产生另一些物,同时做事需要遵循一 定的规则。人驱动系统,事体现过程,物记录结 果,规则是控制。建立模型的关键就是弄明白有 什么人,什么人做什么事,什么事产生什么物, 中间有什么规则,再把人、事、物之间的关系定 义出来,一个模型也就基本成型了。
面向过程方法描述商业过程
扩展阅读
• U/C矩阵 • SOA
面向过程的困难
• 本质是因为面向过程方法将世界看作是过程化的, 一个个紧密相连的小系统,构成这个系统的各个 部分之间有着密不可分的因果关系。这种分析方 法在需求复杂度较低的时候非常管用,如同一台 照相机,将物体的反光经过镜头传导到感光胶片, 再经过冲洗就能将信息复制出来。然而这个世界 系统是如此的复杂和不可捉摸,就如同那个著名 的蝴蝶效应,预设的过程仅仅因为一只蝴蝶轻轻 扇动了一下翅膀就从此被颠覆,变得面目全非了。
控制类
• 控制类(contr01) 。边界和实体都是静态的, 本身并不会动作。UML采用控制类来表述 原始需求中的动态信息,即业务或用例场 景中的步骤和活动。从UML的观点看来, 边界类和实体类之间,边界类和边界类之 间,实体类和实体类之间不能够直接相互 访问,它们需要通过控制类来代理访问要 求。这样就把动作和物体分开了。
UML复习资料(完整)

2011UML复习题纲一、选择、判断、填空第一章UML与面向对象1、UML(Unified Modeling Language,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。
2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。
它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。
3、UML不是开发工具,只是建模语言。
4、OOA三种基本模型:功能模型、对象模型、动态模型。
5、软件是程序、数据和相关文档的完整集合。
6、软件开发过程分为如下几个阶段:需求分析、总体设计、详细设计、编程与测试、维护。
7、面向对象的软件工程方法包括面向对易用的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。
8、软件方法学包含3个要素:方法、工具和过程。
9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。
10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。
11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。
封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。
12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。
13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。
14、OO开发中的三层设计:问题域类、GUI类和数据访问类。
15、面向对象设计准则:模块化、抽象、信息隐藏、低耦合、高内聚。
16、UML的构成:元元模型层、元模型层、模型层、用户模型层。
17、UML的核心是由视图、图、模型元素、通用机制组成。
18、UML中的视图细分:(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。
大学开放课程uml课程设计

大学开放课程uml课程设计一、教学目标本课程的教学目标是使学生掌握UML(统一建模语言)的基本概念、特点和应用,能够运用UML进行软件系统的分析和设计。
具体分为以下三个层面:1.知识目标:学生需要了解UML的发展历程、基本元素及其含义、各种图表的绘制方法等。
2.技能目标:学生能够熟练使用UML工具进行模型的绘制,掌握不同类型系统的UML建模方法,并能够分析评价所绘制的模型。
3.情感态度价值观目标:培养学生对软件工程学科的兴趣,提高其分析和解决问题的能力,使其认识到UML在软件开发过程中的重要作用。
二、教学内容本课程的教学内容主要包括UML的基本概念、特点和应用,以及UML工具的使用。
具体安排如下:1.第一章:UML概述。
介绍UML的发展历程、基本元素及其含义、各种图表的绘制方法等。
2.第二章:UML工具的使用。
介绍常用的UML工具,如StarUML、Visio等,并演示如何使用这些工具进行模型的绘制。
3.第三章:用例驱动的UML建模。
讲解如何通过用例图来分析系统的功能需求,并以此为基础进行UML建模。
4.第四章:类驱动的UML建模。
讲解如何通过类图、对象图、序列图等来分析系统的结构和行为,并以此为基础进行UML建模。
5.第五章:状态机驱动的UML建模。
讲解如何通过状态图来分析系统的动态行为,并以此为基础进行UML建模。
三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:讲解UML的基本概念、特点和应用,以及UML工具的使用。
2.案例分析法:通过分析实际案例,使学生掌握不同类型系统的UML建模方法。
3.实验法:让学生亲自动手操作,使用UML工具进行模型的绘制,巩固所学知识。
4.讨论法:学生进行小组讨论,分享学习心得,提高分析和解决问题的能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体如下:1.教材:选用《统一建模语言(UML)教程》作为主教材,介绍UML的基本概念、特点和应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20
1.4 UML语言应用
编程是一个独立的阶段,其任务是用面向对象编程语言将设计 阶段的类转换成实际的代码。在用UML建立分析和设计模型时, 应尽量避免考虑把模型转换成某种特定的编程语言。因为在早 期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编 码问题十分不利于建立简单正确的模型。 UML模型还可作为测试阶段的依据。系统通常需要经过单元测 试、集成测试、系统测试和验收测试。不同的测试小组使用不 同的UML图作为测试依据:单元测试使用类图和类规格说明; 集成测试使用部件图和合作图;系统测试使用用例图来验证系 统的行为;验收测试由用户进行,以验证系统测试的结果是否 满足在分析阶段时确定的需求。 总之,标准建模语言UML适用于以面向对象技术来描述任何类 型的系统,而且适用于系统开发的不同阶段。
7
1.1.3 UML的特点
UML语言的主要特点可以归结为以下4点。
UML统一了Booch、OMT和OOSE等方法中的基本概念。 UML是非专利的第三代建模和规约语言。在开发阶段, UML语言用于说明、可视化、构建和书写面向对象软件制 品。 UML语言应用于软件开发周期中的每一个阶段。 OMG(Object Management Group,对象管理组织)已将该 语言作为业界的标准。 UML最适用于数据建模、业务建模、对象建模和组件建模。 UML作为一种模型语言,它可以使开发人员专注于建立产 品的模型和结构。当模型建立之后,模型可以被UML工具 转化成指定的程序语言代码。
1.对业务系统建模 2.对软件系统建模
12
1.2.2 建模目标
对业务系统和软件系统进行建模,主要实现下面5个目 标。
(1) 对业务系统进行可视化,建立业务模型。以业务模 型为中介,便于领域专家、用户和需求分析师对业务内容 和业务过程的理解和交流。 (2) 对软件架构进行可视化,建立软件体系模型。以体 系模型为中介,便于设计师对软件系统的宏观理解。 (3) 对软件系统的组成、结构和系统交互的行为进行建 模,便于设计师和代码编写人员对软件的详细理解和沟通。 (4) 用模型的方式为系统实现提供一个模板,开发人员 可以依据该模板构造软件系统。 (5) 通过模型的方式将计划和决策文档化。便于分析师 和设计师沟通、理解。
18
1.3.2 如何选择UML工具
1.支持UML 1.3
2.支持项目组的协同开发
3.支持双向工程
4.HTML文档化 5.打印支持 6.健壮性 7.开发平台 8.提供XML支持
19
1.4 UML语言应用
UML语言的目标是以图的方式来表示任何类型的系统, 该语言应用广泛。这种语言既可以用来为软件系统建 模,也可以用来对非软件领域建模。
4
1.1.1 UML简史
20世纪90年代,一批新软件开发方法出现了,其中最 引人注目的是Booch 1993、OMT-2和OOSE等。 Grady Booch是面向对象方法最早的倡导者之一,他 提出了面向对象软件工程的概念。1991年,他将之前 面向Ada的工作扩展到面向整个对象设计领域。 Booch 1993较适用于系统的设计和构造。 James Rumbaugh等人提出了面向对象的建模技术 (OMT,一种软件开发方法),该方法采用了面向对象 的概念,并引入各种独立于语言的表示符,同时使用 对象模型、动态模型、功能模型和用例模型共同完成 对整个系统的建模。 Ivan Jacobson于1994年提出了OOSE方法,该方法 最大的特点是面向用例(Use-Case),并在用例的描述 中引入了外部角色的概念。
(1)交通模型:道路交通图、道路交通标志等,图1-1所示的就是广州地 铁的模型。
9
1.2 什么是模型
(2) 建筑模型:建筑物原型、沙盘等用来描述建 筑物的图形,如图1-2所示的模型就是描述某集团 公司的建筑物模型。 (3) 设计模型:用来描述管线图、电路板设计图 等的图形。图1-3所示的就是描述某个局部电路的 设计模型。
2
第1章 UML概述
UML(Unified Modeling Language,统一建模语言) 是一种通用的设计语言,通 过这种语言可以对任何具有 静态结构和动态行为的系统 进行建模。
3
1.1 什么是UML
UML是用来对业务系统和 软件系统进行可视化建模的 一种语言。在面向对象的软 件开发过程中,我们常采用 该语言对系统的产品进行说 明、可视化和文档编写。
14
1.2.4 用UML建模的好处
UML是一种公共的、可扩展的、应用广泛 的设计语言,它可应用于软件开发活动中 的每个阶段(分析、设计、实现、测试), 而且可以表示每个阶段的产品。
使用UML建模的原因主要有以下3个。
1.UML是软件开发者的通用语言 2.UML是一种应用广泛的语言 3.UML是一种很好的扩展语言
21
1.5 小
结
本章介绍了UML的基本概念、主要内容和 应用领域,还介绍了UML工具方面的知识。 通过本章的学习,读者能够对UML有一定 的认识和了解,为以后各章的学习打下基 础。
本书主要从应用的角度来介绍UML的基本 概念,还不是一本完整详尽的用户手册, 读者如果需要深入了解某些UML的概念和 特殊用法,可以参考相关的手册。
5
1.1.1 UML简史
此外,还有Coad/Yourdon方法,即著名的OOA/OOD,它是最早的 面向对象的分析和设计方法之一。该方法简单、易学,适合于面向 对象技术的初学者使用,但由于该方法在处理能力方面的局限,目 前已很少使用。 1994年10月,Grady Booch和James Rumbaugh开始致力于这一 工作。他们首先将Booch 1993和OMT-2 统一起来,并于1995年10 月发布了第一个公开版本,称之为统一方法UM 0.8(Unitied Method)。1995年秋,OOSE 的创始人Jacobson加盟到这一工作。 经过Booch、Rumbaugh和Jacobson三人的共同努力,于1996年6 月和10月分别发布了两个新的版本,即UML 0.9和UML 0.91,并将 UM重新命名为UML(Unified Modeling Language)。 1996年,一些机构将UML作为其商业策略已日趋明显。UML的开发 者得到了来自公众的正面反应,并倡议成立了UML成员协会,以完 善、加强和促进UML的定义工作。当时的成员有DEC、HP、I-Logix、 Itellicorp、IBM、ICON Computing、MCI Systemhouse、 Microsoft、Oracle、Rational Software、TI以及Unisys。这一机 构对UML 1.0(1997年1月)及UML 1.1(1997年11月)的定义和发布起 了重要的促进作用。
22
1.6 习
题
1.什么是UML? 2.UML在软件开发中做什么用? 3.指出UML的3个主要特性。 4.简要说明建模的目标和建模的原则。 5.UML的主要模型有哪几种?每种模型图的 用途是什么? 6.常用的UML工具有哪些?各自的特点是什 么? 7.从网上查阅UML的资料,并分组讨论UML 在应用中所起的作用。
13
1.2.3 建模原则
通过需求模型,用户与分析师共同理解业务需 求;通过设计模型,分析师与设计师共同完成 软件设计任务;通过设计模型,设计师能方便 地构造和修改软件模型。为了实现这些目标, 建模时应遵循以下几个原则。
(1) 仅当需要时才为业务或软件系统构建模型。 简单的业务和软件系统不需要建立模型。 (2) 模型应该真实地反映业务系统的需求,或者 模型能反映软件系统本身的组成和结构。 (3) 模型应该反映设计师的设计方案。 (4) 构建模型时,最好用一组相对独立的模型从 不同的侧面描述重要的业务或软件系统。
6
1.1.2 UML定义
首先,UML融合了Booch、OMT和OOSE方法中的基 本概念,而且这些基本概念与其他面向对象技术中的 基本概念大多相同,因而,UML必然成为这些方法以 及其他方法的使用者乐于采用的一种简单一致的建模 语言;其次,UML不仅是上述方法的简单汇合,而且 是在这些方法的基础上广泛征求意见,集众家之长, 几经修改而完成的,它扩展了现有方法的应用范围; 第三,UML是标准的建模语言,而不是标准的开发过 程。尽管UML的应用必然以系统的开发过程为背景, 但对于不同的组织和不同的应用领域,需要采取不同 的开发过程。 作为一种建模语言,UML是一种标准的图形符号,它 的定义包括UML语义和UML表示法两个部分。
17
1.3.1 UML工具介绍
目前主要的UML工具有Rational公司的Rose、 Together Soft公司的Together和Microsoft公司的 Visio等。 Rational公司推出的Rose是目前最好的基于UML的 CASE工具,它把UML有机地集成到面向对象的软件 开发过程中。 Rose具有正向工程、逆向工程和对象模型更新等功能。 用户修改模型后可以直接反映到代码上,同样,用户 对代码框架的修改也可以反映到模型上。另外,它还 提供对多种程序设计语言的支持,如C++、Java、 Visual Basic等。 Visio Professional 2000提供了内建的UML支持,如 Visio绘图工具提供绘制多种图形的功能,这是一个相 当有价值的工具。
10
1.2 什么是模型
(4) 数据分析模型:如图1-4所示就是描述某公司 4种产品年销售所占份额的数据分析模型。
11
1.2.1 模型的用途
在软件开发活动中,UML主要用 于两个方面的建模:第一是,用 UML语言对业务系统建模,便于 分析师展现和理解业务;第二是, 用UML对软件系统建模,便于设 计师修改和构造软件系统。