五类视图(五类图):用例视图、逻辑视图、并发视图、组件视图、部署视图
九种图形:用例图(唯一有用户参加的图)、静态图(类图、对象图)、行为图(状态图、活动图)、交互图(顺序图(时序图)、协作图(通信图))、实现图(组件图(构件图)、部署图)
活动图:唯一表示并发关系的图
协作图的组成:对象,消息,链
时序图的组成:角色,对象,生命线,控制焦点(激活)、消息
状态图的组成:初始状态、终止状态、状态、转移、守护条件(判定)、事件、动作
活动图的组成:动作状态、活动状态、动作流、分支与合并、分叉与汇合、泳道和对象流等
组件图的组成:组件、接口、关系
部署图的组成:节点、关系(节点、设备、连接)
分析类(边界类、控制类、实体类)、抽象类、接口
1、类间关系
(1)依赖
【依赖关系】:即一个类的实现需要另一个类的协助。
【箭头及指向】:带箭头的虚线,指向被使用者
(2)关联
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
【箭头及指向】:带普通箭头的实心线,指向被拥有者。
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。
聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
【代码体现】:成员变量
【箭头及指向】:带空心菱形的实心线,菱形指向整体
【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。
组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体
(3)泛化
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
【箭头指向】:带三角箭头的实线,箭头指向父类
(4)实现
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现.
【箭头指向】:带三角箭头的虚线,箭头指向接口
【总结】依赖< 关联(拥有的关系) < 聚合(整体与部分的关系,且部分可以离开整体而单独存在) < 组合(是整体与部分的关系,但部分不能离开整体而单独存在) < 泛化 ((继承关系),实现(类与接口的关系))
2、分析类(边界类、控制类、实体类)
(1)边界类:边界类用于建立系统与其参与者之间交互的模型,表示用户界面、系统接口、硬件接口。
(2)实体类:
(3)控制类:类似于设计模型中的控制器类,其目的是UI层之上的第一个对象,主要负责接收和处理系统操作消息。
3、抽象类、接口(p63-p67)
抽象类:斜体表示
接口:
(1)构造表示法
(2)球形表示法
格式:对象名:类名,在对象名下面要有下划线
属性:由于对象是一个具体的事物,因此所有的属性值都已经确定,因此通常会在属性的后面列出其值。
泳道图:泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。
在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。
【例子】
概念:状态图(State Diagram)用来描述一个特定对象的所有可能状态及其引起状态转移的事件。
组成元素:初始状态、终止状态、状态、转移、守护条件、事件、动作
①状态图适合用于表述在不同用例之间的对象行为。
②系统设计中可能有多个对象,但并不需要给出每个对象的状态图,实际的做法是把注意力集中在整体系统或少数关键的对象上,特别是那些状态比较多的对象。
【例子】某航空订票系统中订单对象的状态图:
【例子】团购旅游活动状态图
【例子】
1、时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。
2、建模元素:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等。
3、消息:简单消息、同步消息、异步消息、返回消息
3、对象的左右顺序并不重要,但是为了画图画的清晰整洁起见,通常应遵循一下两个原则:
①把交互频繁的对象尽可能地靠拢。
②把初始化整个交互活动的对象(有时是一个参与者)放置在最左边。
参考博客:https://www.jianshu.com/p/aab8f91ce978
组成:对象、链接、消息
【补充】
共同点:时序图与协作图均显示了对象间的交互。
不同点:时序图强调交互的时间次序;协作图强调交互的空间结构。
参考博客:https://www.jianshu.com/p/88aa96090105
1、组件的组成:源代码组件、二进制组件、可执行组件
2、组件间的关系:泛化关系和依赖关系
3、组件图可以用来显示编译、链接或执行时组件之间的依赖关系,以及组件的接口和调用关系。
【例子】在某销售终端系统中,客户端收银机可以通过销售消息接口与销售服务器相连。考虑到网络可能不可靠,需要提供一个消息队列组件。在网络环境畅通时收银机直接与服务器相连;如果网络不可靠则与消息队列交互,当网络可用时队列再与服务器交互。服务器分解为两个主要组件,主要包括事务处理组件和记账驱动组件,记账驱动组件需要和记账系统交互。绘制系统组件图。
部署图也称配置图,用来显示系统中硬件和软件的物理架构。从中可以了解到软件和硬件组件之间的物理拓扑、连接关系以及处理节点的分布情况。
主要元素:
1)节点(Node):硬件设备或运行在硬件设备上的软件系统。
2)物件(Artifact):UML部署图中的物件时软件开发过程中的产物,包括需求文档、源代码、库文件、可执行程序、库文件、用户手册等。
3)连接(Association):节点或物件之间的连线。
部署图中节点或物件之间存在依赖或关联关系。
参考博客:https://www.jianshu.com/p/1090ef586ffb
部署图与组件图的区别:
(1)组件图侧重系统组件在软件层面的定义、结构及调用关系;部署图侧重系统组件在硬件层面的组织结构。
(2)组件图侧重描述哪个组件位于哪个模块或包以及各个组件的版本信息;部署图侧重描述哪个组件部署在哪个硬件设备上以及硬件设备之间的交互关系。
(3)组件图中的组件侧重源文件的模块化打包;部署图中的节点侧重组件的物理部署。
(4)组件图中的组件和部署图中的Artifact相对照。
1、UML的全称是 ( B )
(A)Unify Modeling Language (B)Unified Modeling Language
(C)Unified Modem Language (D)Unified Making Language
2、执行者(Actor)与用例之间的关系是( C )
包含关系 (B)泛化关系 (C)关联关系 (D)扩展关系
1)参与者之间的关系--------------泛化关系
2)参与者与用例之间的关系-------------关联关系
3)用例之间的关系-------------包含关系、扩展关系、泛化关系 包含关系(
):一个用例(基础用例)的行为包含另外一个用例(被包含用例)的行为。 箭头的方向是从 基础用例 指向 被包含的用例。扩展关系():扩展用例可以在基础用例之上添加新的行为。 箭头方向由扩展用例指向基础用例。
泛化关系:
3、在类图中,下面哪个符号表示继承关系( C )
4、在类图中,“ #”表示的可见性是( B )
Public (B)Protected (C)Private (D)Package
-表示private
#表示protected
~表示default,也就是包权限
_下划线表示static
斜体表示抽象
类之间的关系:
1)泛化(Generalization):表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系2)实现(Realization):表示一个class类实现interface接口(可以是多个)的功能。
3)关联(Association):对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。
4)聚合(Aggregation):表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。
两个对象具有各自的生命周期。5)组合(Composition)
6)依赖(Dependency):对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。参考博客:https://www.jianshu.com/p/57620b762160
5、在类图中,下面哪个符号表示接口( C )
6、下面哪个视图属于UML语言的交互图( D )
(A)行为图 (B)状态图 (C)实现图 (D)顺序图
交互图:
1)时序图(顺序图)
2)协作图(通信图)
实现图:构件图、部署图
7、UML语言包含几大类图形( B )
(A)3 (B)5 (C)7 (D)9
P13 五类视图(五类图):用例视图、逻辑视图、并发视图、组件视图、部署视图
九种图形:用例图(唯一有用户参加的图)、静态图(类图、对象图)、行为图(状态图、活动图)、交互图(顺序图(时序图)、协作图(通信图))、实现图(组件图(构件图)、部署图)
8、OMT方法是由下面哪位科学家提出的( b )
(A)Booch (B)Rumbaugh (C)Coad (D)Jacobson
对象建模技术图形符号(OMT)
9、下面那个类图的表示是错误的( D )
10、什么概念被认为是第二代面向对象技术的标志( A )
(A)用例 (B)UML语言 (C)活动图 (D)组件图
11、下面哪个符号代表包图( A )
12、生命线是UML视图中哪个图形的组成部分( D )
(A)类图 (B)状态图 (C)活动图 (D)顺序图
13、在UML的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是( a)
(A)执行者角色 控制类 用户接口 业务层 后台数据库
(B)执行者角色 用户接口 控制类 业务层 后台数据库
(C)执行者角色 控制类 用户接口 后台数据库 业务层
(D)执行者角色 用户接口 业务层 控制类 后台数据库
14、多对象是UML哪个视图中的概念( C )
(A)类图 (B)状态图 (C)协作图 (D)组件图
1)状态图 概念:状态图(State Diagram)用来描述一个特定对象的所有可能状态及其引起状态转移的事件。
组成元素:初始状态、终止状态、状态、转移、守护条件、事件、动作 某航空订票系统中订单对象的状态图:
15、在类图中,哪种关系表达总体与局部的关系( D )
(A)泛化 (B)实现 (C)依赖 (D)聚合
泛化:继承
实现:接口
依赖
关联:关联、聚合、组合
16、在UML中,接口有几种表达方式( A )
(A)2 (B)4 (C)6 (D)8
17、下面哪个图形代表活动( D )
P74
A: 用例 B: C: 状态 D: 活动
18、下面哪个UML视图是描述一个对象的生命周期的( B )
(A)类图 (B)状态图 (C)协作图 (D)顺序
19、顺序图由类角色,生命线,激活期和(B)组成
(A)关系 (B)消息 (C)用例 (D)实体
20、UML中关联的多重度是指( b)
(A)一个类有多个方法被另一个类调用
(B)一个类的实类能够与另一个类的多个实类相关联
(C)一个类的某个方法被另一个类调用的次数
(D)两个类所具有的相同的方法和属性
21、简述统一建模语言(UML)
统一建模语言(UML)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言(1分)。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发的全过程(1分)。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统(2分)。
22、简述面向对象分析方法(OOA)的5个基本步骤
1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步(1分)
2)、识别对象的属性(1分)3)、识别对象的行为(1分)
4)、识别对象所属的类(1分)5)、定义主题词(1分)
23、简述用例模型的组成元素以及建模步骤
组成元素有:参与者,用例,通信关联,用例规约 (每个0.5)建立用例模型步骤:
根据系统边界确定参与者(1分)
根据每个参与者确定与之相关联的用例(1分)
对每个用例写出用例规约文档,调整用例模型(优化参与者与参与者之间的关系,用例与用例之间的关系)(1分)
24、RUP(统一软件开发过程)统一过程中的四个阶段?
初始阶段 (1分)细化阶段 (1分)构造阶段 (1分)提交阶段 (1分)
25、看图回答下面问题(15分)
(1)类Student和类Course之间是什么关系?并用文字性语言描述该类图表达意思。
关联关系(1分)
该图描述的是:学生和课程之间的选择关系,一个学生可以选择多门课程,一门课程可以被多个学生所选择。(2分)
(2)使用Rose双向工程,写出Student类生成的java代码(省略注释、get和set方法)(5分)
public class Student{ (1分)
private String name; (1分)
private Course selecters[]; (1分)
public Student(){ (1分)
}
public void test(){ (1分)
}
}
26、使用Rose逆向工程,根据下面代码,画出类图。(7分)
画出类A B C每个1分,画出类A和类B、类C之间关系各2分
27、图书管理系统功能性需求说明如下:(25分)
图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。
当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与系统交互,而是通过图书管理员充当借阅者的代理和系统交互。
系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、删除和修改。并且能够查询借阅者、图书和图书管理员的信息。
可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。
回答下面问题:
(1)该系统中有哪些参与者?(3分)
借阅者 图书管理员 系统管理员
(2)确定该系统中的类,找出类之间的关系并画出类图
用户类、用户角色类、图书类、预定类、借阅类、书目类(6分)
类图(6分)6个类每2个1分,6个关系 每2个1分
(3)画出语境“借阅者预定图书”的时序图(10分)
1、组成UML有三种基本的建筑块是:( A),事物和图
A、关系 B、类 C、用例 D、实体
2、UML体系包括三个部分:UML基本构造块,(A)和UML公共机制
A、UML规则 B、UML命名 C、UML模型 D、UML约束
UML的三大构成元素:构造块(事物、关系、图)、规则、公共机制
3、UML中的事物包括:结构事物,分组事物,注释事物和(D)
A、实体事物 B、边界事物 C、控制事物 D、动作事物
4、(A)模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题
A、瀑布模型 B、原型模型 C、增量模型 D、螺旋模型
5、下面哪个不是UML中的静态视图(A)
A.状态图 B.用例图 C.对象图 D.类图
静态图:类图(包图)、对象图、构件图、部署图 动态图:用例图、活动图、状态图、顺序图、通信图
6、(A)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。
A、泳道 B、分叉汇合 C、分支 D、转移
7、下列关于状态图的说法中,正确的是(C )
A. 状态图是UML中对系统的静态方面进行建模的五种图之一。
B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态
C. 活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。
D. 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模
8、对反应型对象建模一般使用(A)图。
A、状态图 B、顺序图 C、活动图 D、类图
状态图的两大功能:对对象的生命周期建模、对反应型对象的行为建模
1)对对象生命周期建模:主要描述对象能够响应的事件、对这些事件的响以及过去对当前行为的影响
2)对反应型对象建模:这个对象可能处于的稳定状态、从一个状态到另一个状态之间的转换所需的触发事件,以及每个状态改变时发生的动作
9、类图应该画在Rose的哪种(B)视图中。
A、Use CaseView B、Logic View C、ComponentView D、Deployment View
10、类通常可以分为实体类,(C)和边界类。
A、父类 B、子类 C、控制类 D、祖先类
11、顺序图由类角色,生命线,激活期和(B)组成。
A、关系 B、消息 C、用例 D、实体
12、(D)是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。
A、部署图 B、类 C、接口 D、组件
13、关于协作图的描述,下列哪个不正确(B )
A.协作图作为一种交互图,强调的是参加交互的对象的组织;
B.协作图是顺序图的一种特例
C.协作图中有消息流的顺序号;
D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;
14、组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为四种方式来完成,下面哪种不是其中之一(B )
A.对源代码建模 B.对事物建模 C.对物理数据库建模 D.对可适应的系统建模
组件图中通常包含三种元素,组件(Component)、接口(Interface)和依赖(Dependency)关系。
组件(Component)是定义了良好接口的物理实现单元。组件是系统中可替换的物理部件,它包装了实现而且遵从并同意提供一组接口的实现。组件常用于对可分配的物理单元建模,这些物理单元包含模型元素,并具有身份表示和明确定义的接口。
组件与类的区别:
▷类表示逻辑抽象(软件设计的逻辑组织和意图),而组件表示物理实现(每个组件体现了系统设计中特定类的实现)
▷组件是其他元素的物理实现 ▷类可以直接拥有属性和操作,一般情况下,组件一般只拥有只能通过其接口访问的操作。
机房收费系统:
15、一个对象和另一个对象之间,通过消息来进行通信。消息通信在面向对象的语言中即(C)
A、方法实现 B、方法嵌套 C、方法调用 D、方法定义
16、(D)是可复用的,提供明确接口完成特定功能的程序代码块。
A、模块 B、函数 C、用例 D、软件构件
17、若将活动状态比作方法,那么动作状态即(C)
A、方法名 B、方法返回值 C、方法体中的每一条语句 D、方法的可见性
18、事件可以分为内部事件和外部事件。按下按钮和打印机的中断是(B)事件
A、内部事件 B、外部事件
19、(A)是用于把元素组织成组的通用机制
A、包 B、类 C、接口 D、组件
20、(B)是被节点执行的事物
A、包 B、组件 C、接口 D、节点
21、UML中关联的多重度是指(B)
A、一个类有多个方法被另一个类调用
B、一个类的实类能够与另一个类的多个实类相关联
C、一个类的某个方法被另一个类调用的次数
D、两个类所具有的相同的方法和属性
22、已知三个类A.B和C,其中类A由类B的一个实类和类C的1个或多个实类构成.
请画出能够正确表示类A,B和C之间关系的UML类图.
聚合的关系
23、在某个信息系统中,存在如下的业务陈述:①一个客户提交0个或多个订单;②一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“订单”类的实例,存在___(46)B_“客户”类的实例;对应每个“客户”类的实例,存在___(47)D___个“订单”类的实例。
供选择的答案:
(1)A.0个 B.1个 C.1个或多个 D.0个或多个
(2)A.0个 B.1个 C.1个或多个 D.0个或多个
24、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。
答:
顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。
顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。
协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
25、什么是对象间的可见性?
答:可见性(Visibility)指的是一个对象能够“看到” 或者引用另一个对象的能力。
26、UML提供了一系列的图支持面向对象的分析与设计,其中____(1)___给出系统的静态设计视图;__(2)对系统的行为进行组织和建模是非常重要的;(3)和(4)都是描述系统动态视图的交互图,其中(3)___描述了以时间顺序组织的对象之间的交互活动,___(4)____强调收发消息的对象的组织结构。
A、状态图 B、用例图 C、序列图 D、部署图
E、协作图 F、类图
答案:(1)F (2)B (3)C (4)E
27、在UML提供的图中,___(1)_用于描述系统与外部系统及用户之间的交互;(2)___用于按时间顺序描述对象间的交互。
(1)A、用例图 B、类图 C、对象图 D、部署图
(2)A、网络图 B、状态图 C、协作图 D、序列图
答案:(1)A (2)D
28、UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。其中___(3)是面向对象系统规模中最常用的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择(4)___;当需要说明体系结构的静态实施视图时,应该选择___(5)___。
(3)A.构件图 B.类 图 C.对象图 D.部署图
(4)A.构件图 B.协作图 C.状态图 D.部署图
(5)A.协作图 B.对象图 C.活动图 D.部署图
答案:(3)B (4)A (5)D
29、定义大多数的需求和范围的工作是在RUP中的 B 阶段完成的。
A初始阶段 B细化阶段 C构造阶段 D提交阶段
横轴是时间轴,即RUP的生命周期—初始阶段(Inception)、细化阶段(Elaboration)、构建阶段(Construction)和交付阶段(Transition)
- 初始阶段为了建立业务模型用例,明确项目的范围-
- 细化阶段为了分析问题域,建立一个健全的、合理的体系结构基础,明确项目中高风险元素,制定一个合理的项目开发计划
- 构建阶段为了开发一个完整的软件系统,准备给用户使用
- 交付阶段为用户安装部署软件。
纵轴是工作流。工作流分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。 下图即为核心过程工作流的六个步骤:
30、下列 (12)D 不在RUP的初始阶段中完成的
(12)A编制简要的愿景文档 B粗略评估成本 C定义大多数的需求 D业务案例
31、在协作图中通过 消息编号 表示出消息的时间顺序。
32、在面向对象的方法学中,对象可看成是属性及对于这些属性的专用服务的封装体。封装是一种 (19)D 技术,封装的目的是使对象的 (20)A 分离。
(19)A组装 B产品化 C固化 D信息隐藏
(20)A定义和实现(属性和操作) B设计和测试 C设计和实现 D分析和定义
33、类是一组具有相同属性的和相同服务的对象的抽象描述,类中的每个对象都是这个类的一个 (21)C 。类之间共享属性与服务的机制称为 (22)D 。一个对象通过发送 (23)B 来请求另一个对象为其服务。
(21)A例证 B用例 C实例 D例外
(22)A多态性 B动态绑定 C静态绑定 D继承
(23)A调用语句 B消息 C命令 D口令
34、领域模型又称为(C)
A.业务流程模型 B.用例模型 C.概念模型 D.设计模型
35、阅读下列说明以及UML类图,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。
[说明]
某客户信息管理系统中保存着两类客户的信息:
(1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和email)。
(2)集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、email、办公电话以及职位。
该系统除了可以保存客户信息之外,还具有以下功能:
(1)向系统中添加客户(addCustomer);
(2)根据给定的客户标识,在系统中查找该客户(getCustomer);
(3)根据给定的客户标识,从系统中删除该客户(removeCustoner);(4)创建新的联系人(addContact);(5)在系统中查找指定的联系人(getContact);(6)从系统中删除指定的联系人(removeContact)。
该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表2-1所示的类, 表2-1
回答下面问题:
(1)请使用说明中的术语,给出图2-1中类Customer和类Person的属性。
Customer的属性:客户标识
Person的属性:姓名、住宅电话、email
(2)识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图中的(1)~(6)。
(1)1 (2)0…* (3)1 (4)1 (5)1 (6)1…*
(3)根据说明中的叙述,抽象出如表2-2所示的方法,请指出图2-1中的类CustomerlnformationSystem和 InstitutionalCustomer应分别具有其中的哪些方法。
(1)CustomerInformationSystem的方法:
addCustomer,getCustomer,removeCustomer。
(2)InstitutionalCustomer的方法:
addContact,getContact,removeContact。
表2-2如上
36、档案管理系统功能性需求说明如下:(25分)
用户进入系统前,首先要求用户进行登录,验证通过后允许用户进入本系统操作。用户的密码需要进行加密算法。
用户登录后可以修改自己的注册信息,包括修改用户密码、每页显示行数等信息,不允许修改用户名、姓名和部门等信息。
系统管理员可以增加系统用户、删除系统用户、修改用户的相关属性、修改用户的权限表。
档案室人员可以对档案文件信息或者档案案卷信息进行管理,删除时只是做删除标记。
档案借阅管理人员处理外借登记、归还记录和电子借阅申请两部分。外借模块实现档案文件的借出登记和归还登记功能。一般用户提出借阅电子文档的请求后,被同意阅读后,文件将被发送给申请人。
本系统需要实现数据的备份和恢复机制。数据备份操作可以按年度、档案种类等条件做部分备份或完全备份。数据恢复就是将备份的数据恢复到数据库中。具有批量备份和恢复的功能。
回答下面问题:
(1)该系统中有哪些参与者?(3分)
(2)确定该系统中的类,找出类之间的关系并画出类图
(3)画出“档案室管理人员录入数据” 语境的时序图(10分)
1、UML图不包括 ( D )
(A)用例图 (B)类图 (C)状态图 (D)流程图
2、下面哪一项不是包图中的关系( D )
3、在类图中,下面哪个符号表示继承关系( C )
4、在类图中,“ #”表示的可见性是( B )
(A)Public (B)Protected (C)Private (D)Package
5、消息的组成不包括( C )
(A)接口 (B)活动 (C)发送者 (D)接收者
6、下面哪个视图属于UML语言的交互图( D )
(A)行为图 (B)状态图 (C)实现图 (D)顺序图
7、UML语言包含几大类图形( B )
(A)3 (B)5 (C)7 (D)9
8、RUP中有( C )个核心过程工作流。
(A)1 (B)3 (C)6 (D)9
6个核心过程工作流和3个核心支持工作流
9、类之间的关系不包括( D )
(A)依赖关系 (B)泛化关系 (C)实现关系 (D)分解关系
10、在UML中,协作图的组成不包括( C )
(A)对象 (B)消息 (C)发送者 (D)链
协作图的组成:对象,消息,链 时序图的组成:角色,对象,生命线,控制焦点(激活)、消息
状态图的组成:初始状态、终止状态、状态、转移、守护条件(判定)、事件、动作
活动图的组成:动作状态、活动状态、动作流、分支与合并、分叉与汇合、泳道和对象流等
组件图的组成:组件、接口、关系
部署图的组成:节点、关系(节点、设备、连接)
11、下面哪个符号代表包图( A )
12、下列对状态图描述不正确的是( C )
(A)状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为
(B)状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态
(C)状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率
(D)状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应
13、在UML的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是( A)
(A)执行者角色 控制类 用户接口 业务层 后台数据库
(B)执行者角色 用户接口 控制类 业务层 后台数据库
(C)执行者角色 控制类 用户接口 后台数据库 业务层
(D)执行者角色 用户接口 业务层 控制类 后台数据库
13、多对象是UML哪个视图中的概念( C )
(A)类图 (B)状态图 (C)协作图 (D)组件图
14、构件图的组成不包括( C )
(A)接口 (B)构件 (C)发送者 (D)依赖关系
15、在UML中,接口有几种表达方式( A )
(A)2 (B)4 (C)6 (D)8
16、部署图的组成不包括( C )
(A)处理器 (B)设备 (C)构件 (D)连接
17、下面哪个UML视图是描述一个对象的生命周期的( B )
(A)类图 (B)状态图 (C)协作图 (D)顺序
18、顺序图由对象,生命线,控制焦点和(B)组成
(A)关系 (B)消息 (C)用例 (D)实体
19、UML中关联的多重度是指( B)
(A)一个类有多个方法被另一个类调用
(B)一个类的实类能够与另一个类的多个实类相关联
(C)一个类的某个方法被另一个类调用的次数
(D)两个类所具有的相同的方法和属性
20、网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。(16)
“远程网络教学系统”的功能需求如下:
学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。
教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。
系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。
1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。
6个用例每2个1分(3分),5关系每个1分(5分)
2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。
6个用例每2个1分(3分),5关系每个1分(5分)
1、在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示 (C) 。
A. 边界对象、实体对象、控制对象 B. 实体对象、边界对象、控制对象
C. 控制对象、实体对象、边界对象 D. 边界对象、控制对象、实体对象
2、(D) 设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
A. Adapter(适配器) B. Iterator(迭代器)
C. Prototype(原型) D. Observer(观察者)
3、Round-Trip Engineering能够帮助维持软件架构的完整性。但 (B) 不是Round-trip Engineering的好处之一。
A. 发现和评估软件架构上的改动 B. 为相同的接口提供不同的实现
C. 在每次迭代中保持模型和代码的同步 D. 传达被接受的架构改动
4、下面4种符号在Rose中表示的模型元素分别为 (C)
A. 接口 (Interface) 类操作 (Operation) 时序图 (Sequence Diagram) 类属性 (Attribute)
B. 类操作 (Operation) 接口 (Interface) 类属性 (Attribute) 时序图 (Sequence Diagram)
C. 接口 (Interface) 类属性 (Attribute) 类操作 (Operation) 时序图 (Sequence Diagram)
D. 时序图 (Sequence Diagram) 类属性 (Attribute) 接口 (Interface) 类操作 (Operation)
5、在建立系统的用例模型时,首先应该确定系统的参与者。以下问题中,对于确定参与者没有用处的是 (C) 。
A. 谁是系统的主要用户,即谁使用系统的主要功能
B. 谁来管理、维护系统,以保证系统的正常运行
C. 系统的功能应该如何实现
D. 系统需要与哪些其他的系统交互
6、(A) 技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。
A. 泳道 B. 分叉汇合
C. 分支 D. 转移
7、UML 中的构件是遵从一组接口并提供一组接口的实现,下列说法错误的是(B) 。
A. 构件应是可替换的 B. 构件表示的是逻辑模块而不是物理模块
C. 构件应是组成系统的一部分 D. 构件与类处于不同的抽象层次
构件图:物理模块
类:逻辑模块
8、下列对状态图描述不正确的是 (C)
A. 状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为
B. 状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态
C. 状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率
D. 状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应
9、在用ROSE创建的类图中,“ #”表示的可见性是 (B)
(A)Public (B)Protected (C)Private (D)Package
加号(+)表示具有公共可见性。减号(-)表示私 有可见性。#号表示受保护的可见性。
10、在ATM自动取款机的工作模型中(用户通过输入正确的用户资料,从银行取钱的过程),下面哪个不是“Actor” (D )
A. 用户 B. ATM取款机 C. ATM取款机管理员 D. 取款
11、已知3个类A、B和C,其中类A由类B的一个实例和类C的一个或多个实例构成。能够正确表示类A、B和C之间关系的UML类图是( A )。
A、聚合/组合 B、错误 C、泛化(继承)
12、构件图的组成不包括 (C)
(A)接口 (B)构件 (C)发送者 (D)依赖关系
13、组件图由组件,接口,实现和依赖四部分组成。(组件、接口、关系)
14、(A) 是用于把元素组织成组的通用机制
A. 包 B. 类 C. 接口 D. 组件
15、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是 ( C) 关系。
A. 实现 B. 继承 C. 依赖 D. 关联
16、UML中的事物包括:结构事物,分组事物,注释事物和 (D)
A. 实体事物 B. 边界事物 C. 行为事物 D. 动作事物
17、在 ROSE中,时序图和协作图(或通信图)通常建立在 (B) 下的use case realization包中。
A. use case view B. Logical View C. Component View D. Deployment view
18、在 RSA中包含很多模型模板,供开发者在系统建模时选用。 (D) 不是RSA提供的模型模板。
A. Analysis Model B. Service Design Model C. XSD Model D. Eclipse plug-in Model
RSA(也就是Rose2003的升级版,基于Eclipse),全称是Rational Software Architect
模型文件:项目下面的每个模型文件在文件系统中都有对应的文件名,它的扩展名是emx. RSA。
空白模型
用例模型: 用例图和活动图
分析模型: 类图和顺序图
设计模型:顺序图,状态图,组件图以及部署图等
数据建模:数据库设计开发
19、 (A) 反映类、接口或构件的内部协作,用于表达运行时的体系结构、使用模式及关系。
A. composite structure diagram B. deployment diagram
C. use case diagram D. sequence diagram
20、如下的短语 (B) 能最好地表示“泛化”关系。
A. Is a part of B. Is a kind of
C. Is a replica of D. Is an inheritance of
21、下面的 (A) 模式将对象组合成树形结构以表示“部分-整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。
A. 组合(Composite) B. 桥接(Bridge)
C. 修饰(Decorator) D. 外观(Facade)
22、在用例图中,Actor仅代表与目标系统进行交互的人。 F
23、 Controlled Unit是可以进行版本控制的模型元素,在ROSE中,模型文件本身被打包存储为.cat文件从而成为受控单元,Logical View和Use CaseView被打包成.mdl文件而成为受控单元。F
24、RSA支持模型驱动(Model-Driven Development)的开发。 T
25、在状态图中,内部转换可导致进入转换和离开转换的执行。 F
26、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。 T
27、在两个用例中,如果一个用例拥有另一个用例的所有结构、行为和关系,并在此基础上增加了新的特性,则此两个用例之间可以用泛化关系表示。 T
28UML适用于以体系结构为中心的开发过程,但不适合在具有迭代特征的开发过程中使用。F
29、在UML状态图中,历史状态用于存储以前的状态。 T
30、请求接口(Required Interface)用于定义一个构件所提供的服务。 F
31、每个模型都是由一种图来刻画的。 F
32、Use Case Realization 和相应的Use Case之间是一种泛化关系。 F
33、分析机制(Analysis mechanisms)通常用于分析阶段,通过提供对系统复杂行为(如安全性、持久存储等)的简短描述来减少分析的复杂性并改善软件在各开发阶段一致性。 T
34、在RUP中,识别设计元素(Identify Design Elements)是精化体系结构(Refine the Architecture)活动中的一个步骤。 T
35、在ROSE中,从Browser窗口删除图形元素和从Diagram窗口中删除模型元素的效果相同。F
36、RSA中的浏览图(Browse Diagram)和主题图(Topic Diagram)同属于查询图(Query Diagram)。T
37、阅读下列说明和图,完成问题1至问题4,并在答题纸上自行列表写出答案。
在线会议审稿系统(Online Reviewing System, ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:
(1)用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。
(2)作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要,选择稿件所属主题类型,选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。
(3)审稿人登录后可设置兴趣领域,审阅稿件给出意见,以及罗列录用和(或)拒绝的稿件。
(4)会议委员会主席是一个特殊的审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件,以及关闭审稿过程。其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件。
系统采用面向对象的方法开发,使用UML进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。
参与者名称、用例和活动名称分别参见表1、表2和表3。
系统的部分用例图和提交稿件的活动图分别如图1和图2所示。
表1 参与者列表