UML基础与Rose建模实用教程课后习题及答案(无第四章)

更新时间:2024-05-08 04:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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)什么是封装?它有哪些好处?

封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取。二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:避免对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序内的影响。

- 1 -

(4)什么是继承?它有哪些好处?

继承是指特出类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。通过继承可使派生类能够比不使用继承直接进行描述的类更加简洁、能够重用和扩展现有类库资源、使软件易于维护和修改。

(5)面向对象分析的过程有哪些? 面向对象的分析的过程包括:获取需求内容陈述、建立系统的对象模型结构、建立对象的动态模型、建立系统功能建模。

(6)面向对象的设计有哪些准则?

面向对象设计的准则包括模块化、抽象、信息隐藏、低耦合和高内聚等。 (7)为什么要使用UML建模?

对象建模的目标就是要为正在开发的系统制定一个精确、简明和易理解的面向对象模型。UML已经成为工业标准的对象建模语言。建模能够帮助开发组织者更好地对系统计划进行可视化,并帮助他们正确地进行构造,使开发工作进展的更快。

第2章 UML概述

1. 填空题

(1)在UML中主要包括的视图为用例视图、逻辑视图、并发视图(进程视图)、组件视图(实现视图)和配置视图(部署视图)。

(2)UML图包括:用例图、类图、对象图、状态图、序列图(顺序图)、活动图(协作图)、构件图(组件图)、部署图(配置图)和包图。

(3)用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。一个用例是系统的一个功能单元,是系统参与者与系统之间进行的一次交互作用。

(4)状态机视图是通过对象的各种状态建立模型来描述对象随时间变化的动态行为,并且它是以独立的对象为中心进行描述的。

(5)用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系。

(6)在UML中定义了4种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物(辅助事物)等。

2. 选择题

(1)UML图不包括 D 。

(A)用例图 (B)类图 (C)状态图

(D)流程图

(2)下列关于视图的说法不正确的是 D 。

(A)用例视图描述了系统的参与者与系统进行交互的功能

(B)交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系

(C)状态机视图是通过对象的各种状态来建立模型来描述对象随时间变化的动态行为

- 2 -

(D)构件视图表示运行时的计算资源(例如计算机以及它们之间的连接)的物理布置

(3)构件不包括 C 。

(A)源代码构件 (B)二进制构件 (C)UML图

(D)可执行构件

(4)下列关于互视图说法正确的是 A 。

(A)交互试图描述了执行系统功能的各个角色之间相互传递消息的顺序关系,是描绘系统中各个角色或功能交互的模型

(B)交互视图包含类图和顺序图

(C)交互视图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求

(D)交互视图是参与者所能观察和使用到的系统功能的模型图 (5)下列关于对象约束语言的特性,说法不正确的是 B 。

(A)对象约束语言不仅是一种查询(Query)语言,同时还是一种约束(Constraint)语言 (B)对象约束语言是一种弱类型的语言 (C)对象约束语言是基于数学的,但是却没有使用相关数学符号的内容

(D)对象约束语言也是一种声明式(Declarative)语言 3. 简答题

(1)简述UML的起源与发展。 (2)简述UML的目标

UML为用户提供了一种易用的、具有可视化的建模能力的语言,能够使用户使用该语言进行系统的开发工作,并且能够进行有意义的模型互换;为面向对象建模语言的核心概念提供可扩展性和规约机制;为理解建模语言提供一种形式化的基础;鼓励面向对象的各种工具市场的生长和繁荣;支持高级的开发概念,例如构件、协作、框架和模式等;集成优秀的实践成果和经验。

(3)在UML中包含哪些视图?这些视图都对应哪些图?

在UML 中主要包括的视图为静态视图、用例视图、交互视图、状态机视图、活动视图、部署视图和模型管理视图。静态视图包括类图;用例视图包括用例图;实现视图包括构件图;部署视图包括部署图;状态机视图包括状态机图;活动视图包括活地图;交互视图包括顺序图和协作图;模型管理视图包括类图。

(4)静态视图有什么作用?

静态视图是对在应用领域中的各种概念以及与系统实现相关的各种内部概念进行的建模。静态视图在UML中的作用包含三个方面:首先,静态视图是UML的基础。模型中静态视图的元素代表的是现实系统应用中有意义的概念,这些系统应用中的各种概念包括真实世界中的概念、抽象的概念、实现方面的概念和计算机领域的概念;其次,静态视图构造了这些概念对象的基本构造。在面向对象的系统中,将对象的数据结构和操作统一到一个独立的对象当中静态视图不仅包括所有的对象数据结构,同时也包括了对数据的操作;最后,静态视图也是建立其它动态视图的基础。静态视图将具体的数据操作使用离散的模型元素进行描述,尽管它不包括对具体动态行为细节的描述,但是它们是类所拥有并使用

- 3 -

的元素,使用和数据同样的描述方式,只是在标识上进行区分。

(5)UML中都包含哪些图?简述这些图的作用。

最常用的UML图包括:用例图、类图、序列图、状态图、活地图、构件图和部署图。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系,以及系统内用例之间的关系;类图显示了系统的静态结构,表示不同的实体(人、事物和数据)是如何彼此相关联的:序列图显示了一个具体用例或者用例的一部分的一个详细流程;状态图表示某个类所处的不同状态以及该类在这些状态中的转换过程;活地图是用来表示两个或者更多的对象之间在处理某个活动时的过程控制流程;构件图提供系统的物理视图,它是根据系统的代码构件显示系统代码的整个物理结构;部署图用于表示该软件系统如何部署到硬件环境中,它用于显示在系统中的不同构件在何处物理的运行,以及如何进行彼此的通信。

(6)简述包的作用?

包是一种在概念上的对UML模型中各个组成部分进行分组的机制。在包中可以包含有结构事物、行为事物和分组事物。包的使用比较自由,可以根据自己的需要划分系统中的各个部分,例如可以按外部Web服务的功能来划分这些Web服务。包是用来组织UML模型的基本分组事物,它也有变体,如框架、模型和子系统等。

(7)UML中的模型元素的关系主要有哪些?

UML中主要包含4种关系,分别是依赖、关联、泛化和实现:依赖关系指的是两个事物之间的一种语义关系,当其中一个事物(独立事物)发生变化就会影响另外一个事物(依赖事物)的语义;关联关系是一种事物之间的结构关系,用它来描述一组链,链是对象之间的连接;泛化关系是事物之间的一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,即在面向对象学中常常提起的继承;实现关系也是UML元素之间的一种语义关系,它描述了一组操作的规约和一组对操作的具体实现之间的语义关系。

(8)简述UML的公共机制。

在UML中,共有4种贯穿于整个统一建模语言并且一致应用的公共机制,这4种公共机制分别是规格说明、修饰、通用划分和扩展机制。通常会把规格说明、修饰和通用划分看作是UML的通用机制。其中扩展机制可以再划分为构造型、标记值和约束。这4种公共机制的出现使得UML更加详细的语义描述变得较为简单。对于系统的建模来说,拥有这些机制,可以构件出相对完备的系统。

第3章 Rational Rose 概述

1. 填空题 (1)使用Rational Rose建立的Rose模型中包括4种视图,分别是用例视图、逻辑视图、构件视图(组件视图)和部署视图(配置视图)。

(2)在用例视图中包括了系统中的所有参与者、用例和用例图,必要时还可以在用例视图中添加顺序图、协作图和类图等。

(3)逻辑视图关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,即系统应该提供的功能。

(4)构件视图(组件视图)用来描述系统中的各个实现模块以及它们之间的依赖关系,包含模型代码库、执行文件、运行库和其他构件等信息。

(5)部署视图(配置视图)显示的是系统的实际部署情况,它是为了便于

- 4 -

理解系统如何在一组处理节点上的物理分布,而在分析和设计中使用的构架视图。

2. 选择题

(1)Rational Rose的代码生成功能可以针对不同类型的目标语言生成相应的代码Rational Rose 企业版默认支持的目标语言不包括 D 。

(A)Java (B)CORBA (C)Visual Basic (D)C#

(2)下面不是Rational Rose 中的试图是 C 。

(A)用例视图 (B)部署视图 (C)数据视图

(D)逻辑视图

(3)Rational Rose建模工具可以执行以下几项任务,其中不包括 B 。

(A)非一致性检查 (B)生成Delphi语言代码 (C)报告功能

(D)审查功能

(4)下列说法不正确的是 B 。

(A)在用例视图下可以创建类图 (B)在逻辑视图下可以创建构件图 (C)在逻辑视图下可以创建包

(D)在构建试图下可以创建构件 3. 简答题

(1)概述Rational Rose的起源与发展。 略。

(2)Rational Rose为UML提供了哪些支持?

Rational Rose 建模工具能够为UML提供很好地支持,可以从以下6个方面进行说明;Rational Rose为UML提供了基本的绘图功能、提供存储库、提供导航功能、提供代码生成功能、提供逆向工程功能、提供模型互换功能。

(3)在Rational Rose中可以建立哪几种视图?这些视图都有哪些作用? 使用Rational Rose 建立的Rose模型中分别包括4种视图,分别是用例视图(Use Case View)、逻辑视图(Logical View)、构件视图(Component View)和部署视图(Deployment View):用例视图关注的是系统功能的高层抽象,适合于对系统进行分析和获取需求,而不关注于系统的具体实现方法;逻辑视图关注系统如何实现用例中所描述的功能,主要是对系统功能性需求提供支持,即在为用户提供服务方面系统所应该提供的功能;构件视图用来描述系统中的各个实现模块以及它们之间的依赖关系;部署视图显示的是系统的实际部署情况,它是为了便于理解系统如何在一组处理节点上的物理分布,而在分析和设计中使用构架视图。在系统中只包含有一个部署视图。

(4)结合附录A,在Rational Rose中试着绘制出一个类,添加相应的属性和方法,将其进行代码生成后查看生成的代码,并分析其结构。

略。

- 5 -

通常认为类与类之间有4种关系,分别是依赖关系、泛化关系、关联关系和实现关系。

(4)对象图中包含哪些元素?它们都有什么作用?

对象图是由对象和链组成的。对象是类的实例,链是两个或多个对象之间的独立链接,它是对象引用的元组(有序表),是关联的实例。

4. 练习题

(1)以“远程网络教学系统”为例,在该系统中参与者为学生、教师和系统管理员。学生包括登录名称、登录密码、学生编号、性别、年龄、班级、年级、邮箱等属性;教师包括自己的登录名称、登录密码、姓名、性别、教授课程、电话号码和邮箱等属性;系统管理员包括用户名、系统管理员密码、邮箱等属性。根据这些信息创建系统的类图。

(2)在上题中,如果我们把参与者学生、教师和系统管理员进行抽象,从而抽象出一个单独的人员类,学生、教师和系统管理员分别是人员类的子类。根据这些信息重新创建类图。

第7章 序列图

1. 填空题

(1)交互是指在具体语境中由为实现某个目标的一组对象之间进行交互的一组消息所构成的行为。

(2)在UML的表示中序列图将交互关系表示为一张二维图,其中纵向是时

- 11 -

间轴,时间沿竖线向下延伸。横向代表了在协作中独立对象的角色。

(3)序列图是由对象、生命线、激活和消息等构成的。

(4)消息是从一个对象(发送者)向另一个或几个其他几个对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。它可以有不同的实现方式,如过程调用、活动线程间的内部通信、事件的发生等。

(5)生命线是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。

2. 选择题

(1)下列关于序列图的说法不正确的是 D 。

(A)序列图是对对象之间传送消息的时间顺序的可视化表示

(B)序列图从一定程度上更加详细地描述了用例表达的需求,将其转化为进一步更加正式的精细表达 (C)序列图的目的在于描述系统中各个对象按照时间顺序的交互过程

(D)在UML的表示中,序列图将交互关系表示为一张二维图,其中横向是时间轴,时间沿竖线向下延伸。纵向代表了在协作中各独立对象的角色 (2)下列关于序列图的用途中,说法正确的是 D 。

(A)描述系统在某一个特定时间点上的动态结构 (B)确定和丰富一个使用语境的逻辑表达 (C)细化用列的表达

(D)有效地描述如何分配各个类的职责以及各类具有相应职责的原因 (3)消息的组成不包括 A 。

(A)接口 (B)活动 (C)发送者

(D)接收着

(4)下列关于生命线的说法不正确的是 D 。

(A)生命线是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在 (B)在序列图中,每个对象的底部中心的位置都带有生命线 (C)在序列图中,生命线是一条时间线,从序列图的顶部一直延伸到底部,所用时间取决于交互持续的时间,即生命线表现了对象存在的时段

(D)序列图中的所有对象在程序一开始运行的时候,其生命线都必须存在

3. 简答题

(1)什么是序列图?说明该图的作用

序列图是对对象之间传递消息的时间顺序的可视化表示。序列图从一定程度上更加详细地描述了用例表达的需求,将其转化为进一步、更加正式层次的精细表达,这也是序列图的主要用途之一。序列图的目的在于描述系统中各个对象按照时间顺序的交互过程。

(2)序列图有哪些组成部分?

序列图是由对象、生命线、激活和消息等构成的。 (3)序列图中的消息有哪些?

序列图中的消息有普遍消息、自身消息、返回消息、过程调用消息、阻止消息和超时消息等。

- 12 -

(4)在序列图中如何创建和销毁对象?

在序列图中,创建对象操作使用带箭头的消息表示,箭头指向被创建对象的框。对象创建之后就会具有生命线,就像序列图中的任何其他对象一样。对象符号下方是对象的生命线,它持续到对象被销毁或者图结束。在序列图中,对象被销毁是使用在对象的生命线上画大“X”表示,在销毁新创建的对象或者序列图中是任何其他对象时,都可以使用,“X”的位置是在导致对象被销毁的信息上或者在对象自我终结的地方。

4. 练习题

(1)以“远程网络教学系统”为例,在该系统中系统管理员需要登录系统才能进行系统维护工作,如添加教师信息、删除教师信息等。为系统管理员添加教师信息用例创建相关序列图。

(2)在“远程网络教学系统”中,如果单独抽象出来一个数据访问类来进行数据访问,那么请为系统管理员添加教师信息用例重新创建相关序列图。

- 13 -

第8章 协作图

1. 填空题

(1)协作图是对在一次交互过程中有意义对象和对象间的链建模,显示了对象之间如何进行交互以执行特定用例或用例中特定部分的行为。

(2)在协作图中,类元角色描述了一个对象,关联角色描述了协作关系中的链,并通过几何排列表现交互作用中的各个角色。

(3)协作图是由对象、消息和链等构成的。

(4)协作图通过各个对象之间的组织交互关系以及对象彼此之间的链接,表达对象之间的交互。

(5)在协作图中的链是两个或多个对象之间的独立连接,是关联的实例。 2. 选择题

(1)下列关于协作图的说法不正确的是 C 。

(A)协作图是在一次交互过程中有意义对象和对象间的链键模

(B)协作图显示了对象之间如何进行交互以执行特定用例或用例中特定部分的行为

(C)协作图的目的在于描述系统中各个对象按照时间顺序的交互的过程

(D)在协作图中,类元角色描述了一个对象,关联角色描述了协作关系中的链,并通过几何排列表现交互作用中的各个角色 (2)下列关于协作图的用途,说法不正确的是 C 。

(A)通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达 (B)显示对象及其交互关系的空间组织结构 (C)显示对象及其交互关系的时间传递顺序

(D)表现一个类操作的实现

(3)在UML中,协作图的组成不包括 C 。

- 14 -

(A)对象 (B)消息 (C)发送者

(D)链

(4)下列关于协作图中的链,说法不正确的是 C 。

(A)在协作图中的链是两个或多个对象之间的独立连接 (B)在协作图中的链是关联的实例 (C)在协作图中,需要关于某个类的所有对象都出现,同一个类的对象在一个协作图中也不可以充当多个角色

(D)在协作图中,链的表示形成为一个或多个相连的或弧 3. 简答题

(1)什么是协作图?说明该图的作用。

协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色(Classifier Roles)和关联角色(Association Roles)。作用分为以下三个方面:通常描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达、显示对象及其交互关系的空间组织结构、表现一个类操作的实现。,

(2)协作图有哪些组成部分?

协作图是由对象、消息和链等构成的。 (3)协作图中的消息有哪些? 略。

(4)如何在协作图的链中添加可见性修饰,它们有什么作用? 略。

4. 练习题

(1)以“远程网络教学系统“为例,在该系统中,系统管理员需要登录系统才能进行系统维护工作,如添加教师信息、删除教师信息等。根据“系统管理员添加教师信息”用例创建相关协作图。

(2)在“远程网络教学系统”中,如果单独抽象出来一个数据访问类来进行数据访问,那么根据“系统管理员添加教师信息”用例,重新创建相关协作图。

- 15 -

第9章 状态图

1. 填空题

(1)状态图用于描述模型元素的实例(如对象或交互)的行为。

(2)在UML中,状态机由对象的各个状态和连接这些状态的转换组成,是展示状态与状态转换的图。

(3)历史状态代表上次离开组成状态时的最后一个活动子状态,它用一个包含字母H的小圆圈表示。

(4)状态图适合描述跨越多个用例的对象在其生命周期中的各种状态及其状态之间的转换。

2. 选择题

(1)下面不是状态图组成要素的是 D 。

(A)状态 (B)转换 (C)初始状态

(D)链

(2)状态在于 A 。

(A)对实体在其生命周期中的各种状况进行键模,一个实体总是在有限的一段时间内保持一个状态 (B)将系统的需求先转化成图形表示,在转化成程序的代码 (C)表示两个或多个对象之间的独立链接,是不同对象在不同时期的图形描述

(D)描述对象与对象之间的定时交互,显示了对象之间消息发送成功或者失败的状态

(3)下列说法不正确的是 D 。

(A)触发器事件就是能够引起状态转换的事件,触发器事件可以是信号、调用等 (B)没有明确标明触发器事件的转换是由状态中活动的完成引起的 (C)内部转换只有源状态,没有目标状态,不会激发入口和出口动作,因此内部转换激发的结果不改变本来的状态

(D)浅历史状态是保存在最后一个引起封装组成状态退出的显式转换之前处于活动的所有状态

(4)下列对状态图的描述不正确的是 C 。

(A)状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为

- 16 -

(B)状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可以说明事件如何随着时间的推移来影响这些状态

(C)状态图的主要目的是描述对象创建和销毁的过程中资源的不同状态,有利于开发人员提高开发效率

(D)状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应 3. 简答题

(1)什么是状态机?什么是状态图?

从广义上讲,状态机是一种记录下给定时刻状态的设备,它可以根据各种不同的输入对每个给定的变化而改变其状态或引发一个动作。在UML中,状态机由对象的各个状态和链接这些状态的转换组成,是展示状态与状态转换的图。一个状态图本质上就是一个状态机,或者是状态机的特殊情况,它基本上是一个状态机中的元素的一个投影,这也就意味着状态图包括状态机的所有特征。状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。

(2)状态图的组成要素有哪些?

状态图的组成要素包括:状态、转换、事件、判断、同步、动作、条件等。 (3)简述简单状态和组成状态的区别

状态可以分为简单状态和组成状态。简单状态指的是不包含其他状态的状态,简单状态没有子结构,但是它可以具有内部转换、进入动作、退出动作等。组成状态是内部嵌套有子状态的状态。一个组成状态包括一系列子状态。组成状态可以使用“与”关系分解为并行子状态,或者通过“或”关系分解为互相排斥的互斥子状态。因此,组成状态可以是并发或者顺序的。

4. 练习题

(1)对于“远程网络教学系统”,学生如果需要下载课件,首先需要输入网站的网址,打开网站的主页。处于网站主页后输入用户名密码,如果验证通过则进入功能选择页面,如果验证失败则需要重新输入用户名密码。进入功能选择页面后可以选在课件选择页面选择需要下载的课件,进入课件下载状态。课件下载完毕后,学生就完成了此次课件下载,请画出学生下载课件的状态图。

- 17 -

(2)在“远程网络教学系统”中,一个课件被上传到网站后,首先需要系统管理员对其进行审核,审核通过后此课件就可以被用户浏览、下载。经过一段时间后,系统会清除网站中过时的课件,请画出课件的状态图。

- 18 -

第10章 活动图

1. 填空题

(1)活动图的动态建模机制一共有5种。

(2)活动图所有或多数状态都是动作状态或活动状态。

(3)一个对象流状态必须与它所表示的参数和结果的类型匹配。

(4)为了对活动的职责进行组织而在活动图中将活动状态分为不同的组,称为泳道。

2. 选择题

(1)下面不是活动图组成要素的是 A 。

(A)生命线 (B)动作状态 (C)泳道

(D)活动状态

(2)动作状态(Action State) BC 。

(A)是非原子性的动作或操作的执行状态 (B)是原子性的动作或操作的执行状态,它不能被外部事件的转换中断 (C)通常用于对工作流执行过程中的步骤进行建模

(D)从理论上讲,所占用的处理时间极长 (3)下列说法不正确的是 C 。

(A)分支将转换路径分成多个部分,每一部分都有单独的监护条件和不同的结果 (B)一个组合活动在表面上看是一个状态`,但其本质却是一组子活动的概括

(C)活动状态是原子性的,用来表示一个具有子结构的纯粹计算的执行

(D)对象流中的对象表示的不仅仅是对象自身,还表示了对象作为过程中的一个状态存在

(4)下列对活动图的描述不正确的是 D 。

(A)活动图可以算是状态图的一个变种,并且活动图的符号非常相似 (B) 活动图是模型中的完整单元,表示一个程序或工作流,常用于计算流程和工作流程建模

(C)活地图是一种用于描述系统行为的模型试图,它可用来描述动作和动作导致对象状态改变的结果

(D)活地图是对象之间传递消息的时间顺序的可视表示,目的在于描述系统中各个对象按照时间顺序的交互过程 3. 简答题

(1)什么是活动图?活动图有什么作用?

活地图是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。活地图可以描述一个操作执行过程中所完成的工作,说明角色、工作流、组织和对象是如何工作的。活地图对用例描述尤其有用,它可建模用例的工作流,显示用例内部和用例之间的路径。活地图显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。活地图对理解业务处理过程十分有用,活地图可以描述复杂过程的算法,在这种情况下使用的活地图和传统的程序流程图的功能是差不多的。

(2)请描述合并和结合的区别。

- 19 -

合并汇合了两个以上的控制路径,在任何执行中每次只走一条,不同路径之间是互斥的关系。而结合则汇合了两条或两条以上的并行控制路径。在执行过程中,所有路径都要走过,先到的控制流要等待其他路径的控制流都到达后才能继续运行。

(3)活地图的组成要素有哪些?

活地图中包含的图形元素有:动作状态、活动状态、组合状态、分叉与结合、泳道、对象流。

4. 练习题

(1)对于“远程网络教学系统”,学生登录后可以下载课件。在登录时,系统需要验证用户的登录信息,如果验证通过系统会显示所有可选服务。如果验证失败,则登录失败。当用户看到系统显示的所有可选服务后,可以选择下载服务,然后下载需要的课件。下载完成后用户退出系统,系统则会注销相应的用户信息。请画出学生下载课件的活动图。

(2)在“远程网络教学系统”中,系统管理员登录后可以处理注册申请或者审核课件。在处理注册申请后,需要发送邮件通知用户处理结果;在审核完课件后,需要更新页面信息以保证用户能看到最新的课件,同时系统更新页面。当完成这些工作后,系统管理员退出系统,系统则注销系统管理员账号。请画出系统管理员的工作活动图。

- 20 -

第11章 包图

1. 填空题

(1)在UML的建模机制中,模型的组织是通过包来实现的。

(2)将系统分层很常用的一种方式是将系统分为三层的结构,分别是用户界面层、业务逻辑层和数据访问层。

(3)包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对图中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。

(4)包的组成包括包的名称、包中拥有的元素和这些元素的可见性、包的构造型以及包与包之间的关系。

2. 选择题

(1)下列关于系统的模型组织结构的说法不正确的是 B 。

(A)将系统的模型组织分层或分组能够将一个大系统进行分解,降低系统的复杂度

(B)将系统的模型组织分层或分组使单块模型没有适用于其他情况的可重用的单元

(C)将系统的模型组织分层或分组能够允许多个项目开发小组同时使用某个模型而不发生过多的相互牵扯

(D)将系统的模型组织分层或分组使一个小的,独立的单元所进行的修改所造成的后果可以跟踪确定

(2)下列关于包的用途,说法不正确的是 C 。

(A)描述需求和设计的高阶概况 (B)组织源代码

- 21 -

(C)细化用例的表达

(D)在逻辑上把一个复杂的系统模块化 (3)包图的组成不包括 C 。

(A)包 (B)依赖关系 (C)发送者

(D)子系统

(4)下列关于创建包的说法不正确的是 A 。

(A)在序列图和协作图中可以创建包 (B)在类图中可以创建包 (C)如果将包从,模型中永久删除,包及其包中的内容都将被删除

(D)在创建包的依赖关系时,尽量避免循环依赖 3. 简答题

(1)什么是模型的组织结构?为什么模型需要有自己的内部组织结构? 计算机系统的模型被应用在一个给出了模型含义的大型语境中,包括模型的内部组织、整个开发过程中对每个模型的注释说明、一个默认值集合、创建和操纵模型的假定条件以及模型与其所处环境之间的关系等。模型需要有自己的内部组织结构,一方面能够将一个大系统进行分解,降低系统的复杂度;另一方面能够允许多个项目开发小组同时使用某个模型而不发生过多的相互牵扯。

(2)什么是包图?它有哪些作用?

包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对图中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。通过包图可以描述需求的高阶概况、描述设计的高阶概况、在逻辑上把一个复杂的系统模块化、组织源代码。

(3)包图有哪些组成部分?

包的主要组成包括包的名称、包中拥有的元素、这些元素的可见性、包的构造型以及包与包之间的关系。

4. 练习题

在“远程网络教学系统”中,假设我们需要三个包,分别是Business包、DataAccess包和Common包,其中Business包依赖DataAccess包和Common包,DataAccess包依赖Common包。在类图中试着创建这些包,并绘制其依赖关系。

- 22 -

第12章 构件图与部署图

1. 填空题

(1)在构件图中,将系统中可重用的模块封装成为具有可替代性的物理单元,称为构件。

(2)构件的代码特征是指它包含和封装了实现系统功能的类或者其它元素的实现代码以及某些构成系统状态的实例对象。构件的身份特征是指构件拥有身份和状态,用于定位在其上的物理对象。

(3)构件图是用来表示系统中构件与构件之间、定义的类或接口与构件之间的关系图。

(4)在构件图中,构件和构件之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。

(5)部署图描述了一个系统运行时的硬件节点、在这些节点上运行的软件构件将在何处物理运行,以及它们将如何彼此通信的静态视图。

2. 选择题

(1)下列关于构件的说法不正确的是 C 。

(A)在构件图中,将系统中可重用的模块封装成为具有可替代性的物理单元,称为构件 (B)构件是独立的,是在一个系统或子系统中的封装单元,提供一个或多个接口,是系统高层的可重用部件

(C)构件作为系统定义良好接口的物理实现单元·,但是它需要依赖于其它构件而不是仅仅依赖于构件所支持的接口

(D)构件作为系统中的一个物理实现单元,包括软件代码(包括源代码、二进制代码和可执行文件等)或者相应组成部分

(2)下列关于构件图(组件图)的用途,说法不正确的是 C 。

(A)在构件图中,可以将系统中可重用的模块封装成为具有可替代性的物理单元 (B)构件图是用来表示系统中构件与构件之间、定义的类或接口与构件之间的关系图

(C)在构件图中,构件和构件之间的关系表现为实现关系,定义的类或接口与类之间的关系表现为依赖关系

(D)构件图通过显示系统的构件以及接口等之间的关系,形成更大的一个设计单元

(3)构件图的组成不包括 C 。

(A)接口 (B)构件 (C)发送者

(D)依赖关系

(4)下列关于部署图的说法不正确的是 B 。

(A)部署图描述了一个系统运行时的硬件节点、在这些节点上运行的软件构件将在何处物理运行,以及它们将如何彼此通信的静态视图 (B)使用Rational Rose 2003 创建的每一个模型中可以包含多个部署图 (C)在一个部署图中包含了两种基本的模型元素:节点和节点之间的连接

- 23 -

(D)使用Rational Rose 2003 创建的每一个模型中仅包含一个部署图 (5)部署图的组成不包括 C 。

(A)处理器 (B)设备 (C)构件

(D)链接 3. 简答题

(1)什么是构件图?试述该图的作用。

构件图是用来表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图。构件图通过显示系统的构件以及接口等之间的接口关系,形成系统的更大的一个设计单元。在以构件为基础的开发中,构件图为架构设计师提供了一个系统解决方案模型的自然形式,并且它还能够在系统完成后允许一个架构设计师验证系统的必须功能是由构件实现的,这样确保了最终系统将会被接受。

(2)什么是部署图?试述该图的作用。

部署图描述了一个系统运行时的一个节点、在这些节点上运行的软件构件将在何处物理运行,以及它们将如何彼此通信的静态视图。部署图的作用包括:描述一个具体应用的主要部署结构、平衡系统运行时的计算资源分布等,部署图也可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。

4. 练习题

(1)在“远程网络教学系统”中,以“系统管理员添加教师信息”用例为例,可以确定Administrator、Teacher、AddTeacher等类,根据这些类创建关于系统管理员添加教师信息的相关构件图。

(2)在“远程网络教学系统”中,该系统的需求分析如下:

? 学生或教师可以在客户的PC机上通过浏览器(如IE6.0)等登录到远程

网络教学系统中。

? 在Web服务器端,我们安装Web服务器软件,如Tomcat等,部署远程

网络教学系统,并通过JDBC与数据库服务器连接。 ? 数据库服务器中使用SQL Server 2000提供数据服务。 根据以上的系统需求,创建系统的部署图。

- 24 -

- 25 -

本文来源:https://www.bwwdw.com/article/o8og.html

Top