当前位置:文档之家› UML基础教程 非常好!

UML基础教程 非常好!

UML 基础教程UML 基础教程

1. 前言

1.1前言

1.2UML概述

1.3UML事物

1.4UML关系

1.5各UML图及特征

1.6各UML图的关系

1.7UML语法

1.8习题

2. 用例图

2.1用例图概要

2.2用例图中的事物及解释

2.3用例图中的关系及解释

2.4例子

2.5习题

3. 类图

3.1类图概要

3.2类图中的事物及解释

3.3类图中的关系及解释

3.4类图与代码的映射

3.5类图例子

3.6习题

4. 顺序图

4.1概要

4.2顺序图中的事物及解释

4.3顺序图与用例图和类图的关系

4.4顺序图例子

4.5 练习题

5. 协作图

5.1概要

5.2协作图中的事物及解释

5.3协作图中的关系及解释

5.4对消息标签的详细讲解

5.5协作图例子

5.6协作图与顺序图的区别和联系

5.7练习题

6. 状态图

6.1状态图概要

6.2状态图的组成

6.3状态图中的事物及解释

6.4状态的可选活动表

6.5简单的例子:对象的状态图

6.6复杂的例子:网上银行登陆系统

6.7练习

7. 活动图

7.1活动图概要

7.2活动图事物

7.3活动图关系

7.4活动图实例

7.5活动图练习

8. 构件图

8.1构件图概要

8.2构件图中的事物及解释

8.3构件图中的关系及解释

8.4构件图的例子

8.5习题

9. 部署图

9.1部署图概要

9.2部署图中的事物及解释

9.3部署图中的关系及解释

9.4部署图的例子

9.5关于部署图与构件图

9.6习题

附录

1.前言

1.前言

1.1前言

本资料对UML1.5各种模型图的构成和功能进行说明,通过本资料的学习达到可以读懂

UML模型图的目的。本资料不涉及模型图作成的要点等相关知识。

1.2UML概述

1.2.1 UML简介

UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化

的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。

UML的定义包括UML语义和UML表示法两个部分。

(1) UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因人

而异的表达方法所造成的影响。

(2) UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这

些图形符号和文本语法为系统建模提供了标准。

1.2.2 UML模型图的构成

事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象

关系(Relationships):关系把事物紧密联系在一起

图(Diagrams ):图是事物和关系的可视化表示

UML包含4种事物:构件事物行为事物分组事物注释事物

1.3.1构件事物:UML模型的静态部分,描述概念或物理元素

它包括以下几种:

类:具有相同属性相同操作相同关系相同语义的对象的描述

接口:描述元素的外部可见行为,即服务集合的定义说明

协作:描述了一组事物间的相互作用的集合

用例:代表一个系统或系统的一部分行为,是一组动作序列的集合

构件:系统中物理存在,可替换的部件

节点:运行时存在的物理元素

另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体

1.3.2行为事物:UML模型图的动态部分,描述跨越空间和时间的行为

交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接

状态机:描述事物或交互在生命周期内响应事件所经历的状态序列

1.3.3分组事物:UML模型图的组织部分,描述事物的组织结构

包:把元素组织成组的机制

1.3.4注释事物:UML模型的解释部分,用来对模型中的元素进行说明,解释

注解:对元素进行约束或解释的简单符号

1.4 UML关系

1.4.1依赖

依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义

1.4.2关联

关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间

的联系

1.4.3泛化

泛化(generalization)是一种特殊/一般的关系。也可以看作是常说的继承关系

1.4.4实现

实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保

证执行的契约

1.5各UML 图及特征

1.5.1

用例图(Use Case Diagram )

※用例图是从用户角度描述系统功能,是

用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元

※类图描述系统中类的静态结构。不仅定义系

统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)※类图是以类为中心来组织的,类图中的其他

元素或属于某个类或与类相关联

1.5.2类图(Class Diagram)

Line Draw ()

Rectangle Draw ()

GroupGraphics Draw ()

Add(g : Graphics)Remove(g : Graphics)GetChild(index : int)

Graphics Dra w()

Add(g : Gra phics)Remo ve(g : Graphics)GetChild(index : int)

+children

1.5各UML图及特征

1.5.3 对象图(Object Diagram)

※对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的

多个对象实例,而不是实际的类

1.5.4 顺序图(Sequence Diagram)

※顺序图显示对象之间的动态合作关系,它强

调对象之间消息发送的顺序,同时显示对象

之间的交互

※顺序图的一个用途是用来表示用例中的行为

顺序。当执行一个用例行为时,顺序图中的

每条消息对应了一个类操作或引起状态转换

的触发事件

1.5各UML图及特征

1.5.5 协作图(Collaboration Diagram)

※协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息

交换外,协作图还显示对象以及它们之间的关系.

※协作图的一个用途是表示一个类操作的实现

1.5.6 状态图(State Chart Diagram)

※状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成

Available Locked Sold 初始状态

assigned to

lock

time out

unlock

buy

状态

exchange

转换

触发器事件

1.5各UML 图及特征

1.5.7 活动图(Activity Diagram)

※活动图是状态图的一个变体,用来描述

执行算法的工作流程中涉及的活动

※活动图描述了一组顺序的或并发的活动

1.5.8 构件图(Component Diagram)

※构件图为系统的构件建模型—构件即构造应

用的软件单元—还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响

1.5各UML 图及特征

1.5.9 部署图(Deployment Diagram)

部署视图描述位于节点实例上的运行构件实例的

安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配

需求分析

BD

类图顺序图用例图用例文档

用例图

顺序图

主要图之间的关1.6 各UML 图的关系

1.7 UML 语法描述

NewClass

Interface

usecase

class

suspend()flush()

对象至少拥有一个进程或线程的类

主动类是系统中物理的、可替代的部件

构件在系统外部与系统直接交互的人或事物

参与者是对一组动作序列的描述

用例定义了一个交互,它是由一组共同工作以提供某种协作行为的角色和其他元素构成的一个群体

协作

是描述了一个类或构件的一个服务的操作集

接口

对象

是对一组具有相同属性、相同操

作、相同关系和相同语义的对象的描述

一条实线,可能有方向

关联一条带有空心箭头的实线

泛化

是在运行时存在的物理元素节点一条带有空心箭头的虚线

实现一条可能有方向的虚线

依赖是UML 模型的解释部分

注释事物

把元素组织成组的机制

包它描述了一个对象或一个交互在生命期内响应事件所经历的状态序列

状态机

它由在特定语境中共同完成一定任务的一组对象间交换的消息组成

交互

NewPro cessor

state

NewPackage

componet

判断题

1、UML中一共有九种图:它们是用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部

署图

2、用例图是从程序员角度来描述系统的功能

3、类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构

4、活动图和状态图用来描述系统的动态行为

5、协作图的一个用途是表示一个类操作的实现

选择题

6、请在下面选项目中选出两种可以互相转换的图

(a) 顺序图(b)协作图(c)活动图(d) 状态图

7、下面哪些图可用于BD阶段

(a)用例图(b)构件图(c)类图(d)顺序图

答案:1.正确 2.错误 3.错误 4.正确 5.正确 6. (a)(b) 7.(a)(c)(d)

2.1用例图概要

系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与在系统外部与系统直接交互的人或事物(如另一个计算机系统或一些可运行的进程)。我们需要注意的是:1.参与者是角色(role)而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。

2.参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。

3.在后面的顺序图等中出现的“参与者”,与此概念相同,但具体指代的含义,视具体情况而定。参与者(Actor)

UML 表示

解释

事物名称

2.2 用例图中的事物及解释

用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。(《UML 参考手册》) 用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行

(或称为发起了哪个用例)。

用例图多用于静态建模阶段(主要是业务建模和需求建模)。

发出箭头的事物“is a”箭头指向的事物。泛化关系是一般和特殊关系,发出箭头的一方代表特殊的一方,箭头指向的一方代表一般一方。特殊一方继承了一般方泛化

参与者之间的关系

箭头指向的用例为被扩展的用例,称为扩展用例;箭头出发的用例为基用例。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性;扩展用例在一定条件下才会执行,并且其执行会改变基用例的行为。

扩展

《include 》

箭头指向的用例为被包含的用例,称为包含用例;箭头出发的用例为基用例。包含用例是必选的,如果缺少包含用例,基用例就不完整;包含用例必须被执行,不需要满足某种条件;其执行并不会改变基用例的行为。

包含

用例之间的关系

表示参与者与用例之间的交互,通信途径。

(关联有时候也用带箭头的实线来表示,这样的表示能够显示地表明发起用例的是参与者。)

关联

参与者与用例之间的关系

解释

关系

《extend 》

2.3用例图中的关系及解释

实例1 参与者之间的泛化关系

参与者:经理,安全主管,保安

用例:管理人事,批准预算,批准安全证书,监视周边在参与者之间不存在泛化关系的情况下,各个参与者参与用例的情况分别是:经理参与用例管理人事和批准预算;

安全主管参与用例批准安全证书;保安参与用例监视周边。由于安全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。这样,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。

实例2 用例之间扩展和包含关系

用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。

2.4 例子

实例3. 航空售票的用例图

参与者(actor):clerk,监督员,信用卡服务商,信息亭 用例(use case):Buy tickets,Buy Subscription,Make

charges,Survey sales

参与者Clerk参与(或称发起)Buy tickets和Buy Subscription 两个用例(关联关系)。这两个用例的事件流都包含Make charges用例(包含关系)。

系统由:Buy tickets,Buy Subscription,Make charges,Survey sales组成。

该系统主要包含:Buy tickets,Buy Subscription,Make charges,Survey sales这几个功能。

该系统主要面向的用户(参与者):clerk,监督员,信用卡服务商,信息亭。信息亭

Clerk

Buy tickets

Buy Subscription

信用卡服务商

Make charges

监督员

Survey sales

参与者

<>

<>

用例

Box Office

系统

关系

1.右图中的参与者有?

(a) 1(b) 2

(c)3(d) 4

2.右图中的用例有?

(a) 1(b) 2

(c) 3(d) 4

3.2和3之间是什么关系?5和6呢?

(a) 扩展,包含(b) 包含,扩展

4.5缺少了3仍然是个完整的用例?

(a) 是的(b) 不是

5.4能够参与2吗?1

能够参与5吗?(a) 可以,不可以(b) 不可以,可以习题答案:

1、(a)(d)

2、(b)(c)

3、(b)

4、(b)

5、(b)

2.5 习题

P erson n a m e : strin g U seC om p u ter()

C om p u ter c p u : strin g

m em ory : strin g ru n ()

3.2 类图中的事物及解释

3.2.1 类

※从上到下分为三部分,分别是类名、属性和操作。类名是必须有的

※类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述信息,如可见性、数据类

型、缺省值等

※类如果有操作,则每一个操作也都有一个名字,其它可选的信息包括可见性、参数的名字、参数类型、

参数缺省值和操作的返回值的类型等

A c c o u n t

- b a la n c e : d o u b le = 1

+ D e p o s it (a m o u n t : d o u b le ) : in t + C o m p u t e I n t e re s t () : d o u b le

可见性

-代表private +代表public 缺省值类名

斜体为抽象类属性名称

3.1类图概要

※类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态

建模方法

※类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象

Shape (标准图形)

Shape

+Draw()

(变体图形)

接口

Vehicle

‐ fMaxSpeed : float

+ Start() : int

+ Stop() : int

抽象类

T

Stack

size : int

Push(elem : T) : int

Pop() : int

GetTop() : c ons t T&

模版参数

模版类

3.2类图中的事物及解释

3.2.2 接口

※一组操作的集合,只有操作的声明而没有实现

3.2.3 抽象类

※不能被实例化的类,一般至少包含一个抽象操作

3.2.4 模版类

※一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类

UML系统建模基础教程答案

第一章面向对象设计与UML 填空题 1 UML 2 类名 属性操作 3 封装继承多态 4 继承 5 对象模型动态模型功能模型 2.选择题 1 C 2 A B C D 3 A B C D 4 A B C 5 A 3.简答题 1.试述对象和类的关系。 类是具有相同或相似结构、操作和约束规则的对象组成的集合 而对象是某一类的具体化实例 每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系 类的实例化结果就是对象 而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。 2.请简要叙述面向对象的概念。 面向对象设计是以数据为中心,使用类作为表现数据的工具,类是划分程序的基本单位,而函数在面对对象中成了类的接口。 3.请简述面向对象设计的原则有哪些。 面向对象设计的准则包括模块化、抽象、信息隐藏、低耦合和高内聚等。 4.软件开发的模式有几种?它们的优缺点各是什么? 瀑布模型、喷泉模型、基于组件的开发模型、xp开发模型 (1)优点:有利于软件开发过程中人员的组织和管理。完成前一阶段后,再关注后一阶段,这样有利于开发大型的项目。 缺点:只有在项目生命周期的后期才能看到结果;通过过多的强制完成日期和里程碑来跟踪各个项目阶段;在软件需求分析阶段,要完全地明确系统用户的所有需求是一件比较困难的事情,甚至可以说完全确定是不太可能的。 (2)优点:可以提高软件项目的开发效率,节省开发时间,适用于面向对象的软件开发过程。 缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,不利于项目的管理。 第二章UML通用知识点综述

.填空题 1 依赖泛化关联实现 2 视图图模型元素 3 实现视图部署视图 4 构造型标记值约束 5 规格说明修饰通用划分 2.选择题 1 D 2 C 3 A 4 A B 5 D 3.简答题 1 在UML中面向对象的事物有哪几种 在UML中 定义了四种基本的面向对象的事物 分别是结构事物、行为事物、分组事物和注释事物等。 2 请说出构件的种类。 构件种类有 源代码构件、二进制构件和可执行构件。 3 请说出试图有哪些种类。 在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。 4 请说出视图和图的关系。 视图和图是包含和被包含的关系。在每一种视图中都包含一种或多种图。 5 请简述UML的通用机制。 UML提供了一些通用的公共机制 使用这些通用的公共机制 通用机制 能够使UML 在各种图中添加适当的描述信息 从而完善UML的语义表达。通常 使用模型元素的基本功能不能够完善的表达所要描述的实际信息 这些通用机制可以有效地帮助表达 帮助我们进行有效的UML建模。UML提供的这些通用机制 贯穿于整个建模过程的方方面面。前面我们提到 UML的通用机制包括规格说明、修饰和通用划分三个方面。 第三章Rational统一过程 1.填空题 1 角色活动产物工作流 2 逻辑视图过程视图物理视图开发视图用例视图 3 设计开发验证 4 二维 5 周期迭代过程里程碑 2.选择题 1 A B C D 2 A C D 3 A C D 4 A B C 5 A B C D 3.简答题 1 请描述迭代过程有几个阶段。初始阶段、细化阶段、构造阶段和移交阶段。 2 Rational统一过程以一种能够被大多数项目和开发组织都适用的形式建立起来 其所包含的六项最佳时间指的是什么 迭代式软件开发、需求管理、基于构件的架构应用、建立可视化的软件模型、软件质量验证和软件变更控制。 3 在Rational统一过程的开发流程中 分别使用哪几种最主要的建模元素来进行表达 在Rational统一过程的开发流程中 分别使用角色、活动、产物和工作流四种建模元素来进行表达。 4 对于一个以架构为中心的开发组织 需要对架构的那些方面进行关注 对于一个以架构

UML基础与建模实用教程

UML概述 UML图包括: 用例图:帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系以及系统用例之间的关系 类图:显示了系统的静态结构,表示不同的实体(人、事物和数据)是如何彼此相关联的。可表示逻辑类(用户的业务所涉及的事物),实现类(程序员处理的实体) 序列图:显示了一个具体用例或者用例一部分的详细流程 状态图:表示某个类所处的不同状态以及该类在这些状态中的转换过程 活动图:表示两个或者更多的对象之间在处理某个活动时的过程控制流程构件图:提供系统的物理视图,它是根据系统的代码构件显示系统代码的整个物理结构 部署图:显示在系统中的不同的构件在何处物理运行以及如何进行彼此的通信。 类间关系 类之间的关系 1.种类: Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。 2.其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系。 3.Generalization(泛化)表现为继承或实现关系(is a)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。 4.Association关联关系表现为变量(has a )。类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。

UML系统建模基础教程课后习题答案

UML系统建模基础教程课后答案 第一章面向对象设计与UML (1)UML (2)封装继承多态 (3)继承 (4)瀑布模型喷泉模型基于组件的开发模型XP开发模型 2.选择题 (1) C (2) A B C D (3) A B C D (4)ABC 3?简答题1?试述对象和类的关系。 (1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类?类描述了一组有相同特性和相同行为的对象。 第二章UML通用知识点综述

1?填空题 (1)依赖泛化关联实现 (2)视图图模型元素 (3)实现视图部署视图 (4)构造型标记值约束 (5)规格说明修饰通用划分 2.选择题 (1)D (2)C (3)A (4) A B (5)D 3?简答题 (1 )在UML中面向对象的事物有哪几种? 在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。 (2 )请说出构件的种类。 构件种类有:源代码构件、二进制构件和可执行构件。 (3)请说出试图有哪些种类。 在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。 (4 )请说出视图和图的关系。

视图和图是包含和被包含的关系。在每一种视图中都包含一种或多种图 (5)请简述UML的通用机制。 UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。通常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML建模。UML提供的这些通用机制,贯穿于整个建模过程的方方面面。前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。 第三章Rational统一过程 1?填空题 (1)角色活动产物工作流 (2)逻辑视图过程视图物理视图开发视图用例视图 (3)设计开发验证 (4)二维 (5)周期迭代过程里程碑 2?选择题 (1) A B C D (2) A C D (3) A C D (4)ABC (5) A B C D

开源UML建模工具Bouml-入门教程

Bouml -教程 本教程主要为了帮助您第一次起用BOUML。在这里仅显露BOUML少数的特点,而BOUML完整描述参见其参考手册。 本教程必须按序阅读,因为我不会每次重复诸如调用菜单等一般性的命令。 启动 当您执行BOUML出现下面消息,按确定(OK)按钮。但你将不得不定义你自己的有效的BOUML标识:(1~127中的整数)。 在BOUML视窗显现(图样取决于使用的Qt版本,这里是在Linux下运行的2.4版本,与Windows版本兼容):

bouml窗口由三个部分组成: 左边的子窗口是一个展示您项目的浏览器,可由鼠标或上下左右键进行导航。 黑体的字体表示该项是可修改的,当您没有文件写权限时则一个项是只读。 右下角的子窗口是用来显示/修改与当前所选项相关联的注释。 右上方的部分是用来显示/修改图表,这些窗口可以的最大化或最小化。 显然地,个别子窗的大小会发生改变,当把鼠标放在它们之间的分拆处时,可以更改窗口大小。注意:如果你有双监视器配置,更好的办法是设置环境变量BOUML_LIMIT_DESKTOP,参见此地。 在此水平下你必须创建一个新的项目,或加载一个已经存在的项目。 创建一个新项目 这儿,我们创建一个新项目:在Project菜单中选择New菜单项,呈现一个文件对话框(它的外观取决于所用的系统和窗口管理器),请求输入项目名称,你必须选择一个目录用以存放项文件,并选择输入项目名字,我输入项目名为foo,放置在/ tmp目录之下: 在这种情况下BOUML 在/tmp下创建目录foo(即\tmp\foo),并将某些文件(包括foo.prj) 放置在/tmp/foo目录之下。当重新加载工程时(foo.prj),这些文件都会加载。 !注意:不要重命名或删除由BOUML产生的文件,以及目录本身!

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)什么是封装?它有哪些好处? 封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取。二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:避免对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序内的影响。 (4)什么是继承?它有哪些好处? 继承是指特出类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。通过继承可使派生类能够比不使用继承直接进行描述的类更加简洁、能够重用和扩展现有类库资源、使软件易于维护和修改。 (5)面向对象分析的过程有哪些? 面向对象的分析的过程包括:获取需求内容陈述、建立系统的对象模型结构、建立对象的动态

UML系统建模基础教程习题答案(清华大学出版社)

第一章面向对象设计与UML 对象:是面向对象系统基本构造块,是一些相关变量和方法的软件集。 类:是具有相同属性和操作的一组对象的组合,也就是说,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。 消息:是指描述事件发生的信息,是对象间相互联系和相互作用的方式。 事件:是指一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应的反应。 面对对象的三大要素: 封装:就是把对象的状态和行为绑到一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。 继承:是一种连接类与类之间的层次模型,是指特殊类的对象拥有其一般的属性和行为。多态:是指两个或多个属于不同类的对象中,同一个函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。 (1)试述对象和类的关系 答:类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。 (2)请简要叙述面向对象的概念 答:面向对象技术是一种以对象为基础,以事件或信息来驱动对象执行处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。 (3)软件开发的模式有几种?它们的优缺点各是什么? 答:瀑布模型、喷泉模型、基于组件的开发模型、XP开发模型 瀑布模型—优点:提供了软件开发的基本框架;有利于软件开发过程中人员的组织与管理; 缺点:1、只有在项目生命周期的后期才能看到结果;2、通过过多的强制完成日期和里程碑来跟踪各个项目阶段;3、在软件需求分析阶段,要完全地确定系统用户的所有需求是一件比较困难的事情,甚至可以说完全确定是不太可能的。 瀑布模型—优点:可以提高软件项目的发开效率,节省开发时间,适应于面向对象的软件开发过程。 缺点:在开发过程中需要大量的开发人员,不利于项目的管理;该模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入的各种信息、需求与资料的情况。基于组件的开发模型—优点:构件组装模型导致了软件的复用,提高了软件开发的效率。 缺点:由于采用自定义的组装结果标准,缺乏通用的组装结构标准,因而引入了较大的风险,可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。 XP开发模型—优点:1、采用简单计划策略,不需要长期计划和复杂模型,开发周期短;2、在全过程中采用迭代增量开发、反馈修正和反复测试的方法,软件质量有保证;3、能够适应用户经常变化的需求,提供用户满意的高质量软件。 第二章UML通用知识点综述 UML的元素:视图、图和模型元素

uml系统建模基础教程(清华大学出版社)课后题答案

UML习题答案 第一章面向对象设计与UML 1.填空题 (1)基本构造块UML规则公共机制 (2)名字属性操作 (3)封装继承多态 (4)继承 (5)瀑布模型喷泉模型基于组件的开发模型XP开发模型 2. 选择题 (1)C (2)A B C D (3)A B C D (4)A B C (5)A 3.简答题 (1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。 (2)1.UML是一种语言。 2. UML是用来建模的。 3.UML是统一的标准。(3)建模能够帮助我们按照实际情况或按我们需要的形式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化。 在建模时应遵循以下原则:选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型不充分;对每个重要的系统最好用一组几乎独立的模型去处理。 (4)UML和面向对象软件开发之间有紧密的关系,可以说是面向对象软件开发促使了UML的产生。但是由于在UML标准化的过程中,吸收了业务建模、工作流建模和数据库建模等领域的标准规范,形成了适应性很强的标准。 (5)在软件设计过程中,使用UML建模是为了能够更好地理解正在开发的系统。通过UML建模,可以达到以下目的:有助于按照实际情况或按照所需要的样式对系统进行可视化;能够规约系统的结构或行为;给出了指导构造系统的模板;对做出的决策进行文档化。 第二章UML通用知识点综述 1.填空题 (1)依赖泛化关联实现 (2)视图图模型元素 (3)实现视图部署视图 (4)构造型标记值约束 (5)规格说明修饰通用划分 2. 选择题

UML系统建模基础教程课后简答题答案

第一章面向对象设计与UML 简答题 (1)试述对象和类的关系 答:类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。 (2)请简要叙述面向对象的概念 答:面向对象技术是一种以对象为基础,以事件或信息来驱动对象执行处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。 (3)请简述面向对象设计的原则有哪些。 (4)软件开发的模式有几种?它们的优缺点各是什么? 答:瀑布模型、喷泉模型、基于组件的开发模型、XP开发模型 瀑布模型—优点:提供了软件开发的基本框架;有利于软件开发过程中人员的组织与管理; 缺点:1、只有在项目生命周期的后期才能看到结果;2、通过过多的强制完成日期和里程碑来跟踪各个项目阶段;3、在软件需求分析阶段,要完全地确定系统用户的所有需求是一件比较困难的事情,甚至可以说完全确定是不太可能的。 瀑布模型—优点:可以提高软件项目的发开效率,节省开发时间,适应于面向对象的软件开发过程。 缺点:在开发过程中需要大量的开发人员,不利于项目的管理;该模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入的各种信息、需求与资料的情况。基于组件的开发模型—优点:构件组装模型导致了软件的复用,提高了软件开发的效率。 缺点:由于采用自定义的组装结果标准,缺乏通用的组装结构标准,因而引入了较大的风险,可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。 XP开发模型—优点:1、采用简单计划策略,不需要长期计划和复杂模型,开发周期短;2、在全过程中采用迭代增量开发、反馈修正和反复测试的方法,软件质量有保证;3、能够适应用户经常变化的需求,提供用户满意的高质量软件。

UML系统建模基础教程 课后习题(1-6章)

习题一 1.填空题 (1)______ 是面向对象技术领域内占主导地位的标准建模语言,它统一了过去相互独立的数十种面向对象的建模语言共同存在的局面,形成了一个统一的,公共的,具有广泛适合性德建模语言。 (2)类的定义要包含_____、_____和_________要素。 (3)面向对象程序的三大要素是_____、________和__________。 (4)面向对象方法中的_____机制使子类可以自动地拥有(复制)父类全面属性和操作。(5)面向对象的系统分析要确定的三个系统模型是______、_________和_______。 2.选择题 (1)如果对一个类的意义进行描述,那么应该采用() A.标记值 B.规格描述 C.注释 D.构造型 (2)建立对象的动态模型的步骤有() A.准备脚本 B.确定事件 C.构造类型图 D.准备事件跟踪表 (3)软件的开发模式有() A.瀑布模型 B.xp开发模型 C.喷泉模型 D.构建开发模型 (4)下列关于类和对象的关系说法正确的是() A.有些对象是不能被抽象成类的 B.类给出了属于该类的全部对象的抽象定义 C.类是对象集合的再抽象 D.类是用来在内存中开辟一个数据区,存储新对象的属性 (5)()模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。 A.瀑布模型 B.增量模型 C.原型模型 D.螺旋模型 3.解答题 (1)试述对象和类的关系。 (2)请简要叙述面向对象的概念。 (3)请简述面向对象设计的原则有哪些。 (4)软件开发的模式有几种?它们的优缺点各是什么? 习题二 1.填空题 (1)UML中主要包括四种关系,分别是________、________、________和________。(2)从可视化的角度对UML的概念和模型进行划分,可将UML的概念和模型分为________、________和________。 (3)物理视图包含两种视图,分别是________和________。 (4)常用的UML扩展机制分别是________、________和________。 (5)UML的通用机制分别是________、________和________。 2.选择题 (1)UML中的事物包括结构事物,分组事物,注释事物和________。 A.实体事物 B.边界事物 C.控制事物 D.动作事物

UML教程

UML模型的基本概念 1 UML的建筑块 组成UML有三种基本的建筑块: 1、事物(Things) 2、关系(Relationships) 3、图(Diagrams) 事物是UML中重要的组成部分。关系把事物紧密联系在一起。图是很多有相互相关的事物的组。 1.1UML的事物 UML中有始终类型的事物: 1、结构事物(Structural things) 2、动作事物(Behavioral things) 3、分组事物(Grouping things) 4、注释事物(Annotational things) 这些事物是UML模型中最基本的面向对象的建筑块。它们在模型中属于最静态的部分,代表概念上等或物理上的元素。 1.1.1结构事物。 总共有七种结构化事物。首先是类(class),类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。在UML中类被画为一个矩型,通常包括它的名字、属性和方法。 第二种是接口(interface),接口是指类或组件提供特定服务的一组操作的集合。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类或组件的全部动作,也可以只实现一部分。接口在UML中被画成一个圆和它的名字。

ISpelling 图1-2 接口 第三种是协作(collaboration ),协作定义了交互的操作,是一些角色和其它元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。协作在UML 中用一个虚线画的椭圆和它的名字来表示。 图1-3 协作 第四种是use case ,use case 是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。在模型中use case 通常用来组织动作事物。Use case 是通过协作来实现的。在UML 中,use case 画为一个实线椭圆,通常还有它的名字。 图 1-4 use case 第五种是活动类(active class ),活动类是这种类,它的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。在UML 中活动类的画法和类相同,只是边框用粗线条。 EventManager Suspend() Flush() 图1-5活动类 第六种是组件(component ),组件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,你可能会遇到不同种类的组件,例如COM+或JA V A BEANS 。组件在UML 中用如下的图表示: 图1-6 组件 第七种是结点(node ),结点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。 一个组件集合一般来说位于一个结点,但有可能从一个结点转到另一个结点。结点通常用如下的图形表示:

相关主题
文本预览
相关文档 最新文档