uml《面向对象的分析与设计》考题与答案
《面向对象分析与设计》试卷(A)及答案

华南农业大学期末考试试卷(A卷)-答案2007学年第1学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业题号一二三四五总分得分评阅人一、判断题(每题1分,共10分。
对的标“T”,错的标“F”,将答案写入下表)1 2 3 4 5 6 7 8 9 10F T F T F T F T F T1. 一个状态图最多只能由一个初态和一个终态。
(F)2. 协作图中的消息必须要有消息顺序号。
(T)3. 两个参与者(actor)之间可以有包含(include)关系、扩展(extend)关系或泛化(generalization)关系,而包含关系和扩展关系是依赖(dependency)关系的版型。
(F)4. 参与者(actor)和用例(use case)之间的关系是关联(association)关系。
(T)5. 类A和类B之间的关系如图1所示,则称类B中的getName()方法是对类A中的 getName()方法的重载(overload)。
(F)图1 getName()方法之间的关系图2 活动图6. 如图2所示,活动Gesture和Stream audio可以并发进行。
(T)7. 一个软件系统,如果只有源代码,缺乏其他相应的辅助文档,如缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。
(F)8. CMM描述了五个级别的软件过程成熟度,即初始级、可重复级、已定义、已管理级、优化级。
(T)9. UML由用例视图、物理视图、组件视图、进度视图和配置视图组成。
(F)10. 在设计类图时,可以不用对类图中的每个关联进行命名,但如果需要命名的话,最好用一个“动词”给关联命名。
(T)二、单项选择题(每题2分,共30分。
将正确答案填入下表)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15B AC A C AD A C D D A D D C1. 一个设计得好的OO系统具有(B)A. 低内聚、低耦合的特征B. 高内聚、低耦合的特征C. 高内聚、高耦合的特征D. 低内聚、高耦合的特征2.下面()不是UML的基本构成元素。
面向对象分析与及设计习题及答案

面向对象分析与及设计习题及答案一、单项选择题1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A. Simula67语言B. Smalltalk语言C. Java语言D. 统一建模语言(UML)的标准2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。
A. SmalltalkB. EiffelC. C++D. Java3.下列不属于面向对象技术的基本特征的是(B)。
A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与(C) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C)。
A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6. (D)是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图B. 对象图C. 序列图D. 用例图7. (C) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图 B. 组件图 C. 类图 D. 配置图8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图 B. 协作图 C. 状态图 D. 序列图9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A. 组件图B. 协作图C. 状态图D. 配置图10. 使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
UML试题及答案 (7)

(D)两个类所具有的相同的方法和属性
二、多项项选择题:(本大题共10小题,每题2分,共20分)在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在题后的括号内。少选得1分,错选、多选未选均无分。
1.具有多重属性值的UML图形包括(AE)
(A)类图(B)对象图(C)状态图(D)活动图(E)部署图
(A)概念层(B)说明层(C)实现层(D)业务层(E)控制层
三、简答题:(本大题共4小题,,每题5分,共20分)
1.简述统一建模语言(UML)
统一建模语言(UML)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言(1分)。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发的全过程(1分)。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统(2分)。
5.软件工程的三要素是(ABD)
(A)方法(B)工具(C)模型(D)过程(E)语言
6.部署图中的节点具有以下哪些方面的内容(ABC)
(A)计算能力(B)基本内存(C)位置(D)接口(E)路径
7.可能具有状态机的对象包括(ABCDE)
(A)类(B)子系统(C)用例(D)接口(E)协议
8.时序图的用途包括(ABCD)
(A)显示并发进程和激活
(B)当不同的类之间存在多个简短的方法时,描述控制流的整体序列
(C)显示在协作图中难于描述的事件序列
(D)显示涉及类交互而与对象无关的一般形式
(E)详细描述系统的瞬态图
面向对象分析与设计(试卷及答案)

27
28
29
30
1.SDLC需求分析阶段结束时将产生哪个文档()。
A.可行性分析报告B.软件需求说明书
C.软件需求统计D.系统需求统计
2.面向对象将描述事物的数据与()封装在一起,作为一个相互依存,不可分割的整体来处理。
A.信息B.数据隐藏
C.数据操作D.数据抽象
3.()是从用户使用的角度描述系统功能的图形表示方法。
FTFFTFFTFF
三、简答题(共20分)
1.请列举类关系图中的各种关系,并画出其UML图形表示。(5分)
答:类关系图中主要存在组合、聚合、泛化、实现四种关系
组合:
聚合:
泛化:
实现:
2.仔细阅读下图,写出你能从图中获取的所有信息。(10分)
1.系统采用.net 2003开发,Oracle9i数据库,采用数据库访问技术。
A.自消息B.创建(create)消息
C.返回消息D.销毁(destroy)消息
22.关于度量类关系图的复杂度的因素,以下哪种说法不正确()
A.类的大小B.类间的关系数
C.类属性和操作的可见性D.以上说法都不正确
23.一软件过程包含9000组件,计划2个月完成其中5000个,在实际完成过程中持续时间为3个月,则调整因子为()
2.根据要求画出顺序图(20)
用户登录系统,首先要和登录窗口交互,输入用户名和密码。登录窗口负责和服务器交互,将用户输入的用户和密码发送到服务器,服务器再与数据库交互,以验证用户名和密码的有效性,如果验证成功,则返回OK,验证失败返回Error。服务器将通过登录窗口将信息显示给用户。
《面向对象分析与设计》
C. D.
10.下图表示类图的()
面向对象分析与设计试题答案

课程考试参考答案与评分标准一、单项选择题一、单项选择题 ( ( 每小题每小题每小题 1 1 分,共分,共分,共 20 20 分 ) 1.D 2. B 3.B 4.C 5. D 6. C 7.D 8.C11.B 12.B 13.B 14.D 15. D 16. C 17.D 18. C 19. C 二、填空题二、填空题 ( ( 每空每空每空 1 1 分,共分,共分,共 20 20 分 ) 1、抽象、抽象 2 2、基础结构、基础结构、基础结构 3 3、用况、用况 4 4、对象5、类、类 6、属性7、继承8、聚合9、参与者1010、模型元素、模型元素、模型元素 三、三、. . 简答题(每小题6分,共30分)分) 1. 简述面象对象有哪些特点?简述面象对象有哪些特点?以面向对象的分析为基础、一般不依赖于结构化分析。
(3分)分) 与相应的OOA 方法共同构成一种OOA&OOD 方法体系。
(1分)分) 较全面地体现了面向对象方法的概念与原则。
(2分)分)大多数OOD 方法独立于编程语言,但具体应用OOD 时,则要考虑特定的编程语言。
2. 简述面向对象技术的三大机制。
简述面向对象技术的三大机制。
答:(答:(11)封装性)封装性(encapsulation) (encapsulation)所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。
(取对象的属性数据,这就实现了消息隐蔽。
(22分)分) (2)继承性)继承性如果在一个已定义的类上,如果在一个已定义的类上,增加一些特殊属性或操作,增加一些特殊属性或操作,增加一些特殊属性或操作,可以形成一个新的类,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,这个类不仅继承了前一个类的全部特征,而且具有新的特性,而且具有新的特性,而且具有新的特性,因此可看作前一因此可看作前一个类的特例,是对前一个类的继承。
uml面向对象的分析与设计考题与答案

u m l面向对象的分析与设计考题与答案集团文件版本号:(M928-T898-M248-WU2669-I2896-《面向对象的分析与设计》练习题一、选择题1.UML 语言不支持的建模方式有(D )。
A. 静态建模B.动态建模C. 模块化建模D. 功能建模2.一个设计得好的OO系统具有( B )。
A. 低内聚、低耦合的特征B.高内聚、低耦合的特征C. 高内聚、高耦合的特征D.低内聚、高耦合的特征3.下列不属于面向对象技术的基本特征的是( B)。
A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与 ( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C )。
A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6.用例之间的关系不包括以下哪种关系?DA.泛化B.包含C. 扩展D. 聚集和组合7.顺序图中不包括以下哪种元素?(A)A.用例B. 对象C. 生命线D. 消息8. 用例图中不包括以下哪种元素?(B)A. 用例B. 类C. 参与者D. 关联9. 继承机制的作用是 ( C )。
A. 信息隐藏B. 数据封装C. 派生新类D. 数据抽象10. 面向对象方法学中,对象之间仅能通过(C )相联系。
A. 类B.抽象C. 消息D. 封装11. 脚本与用例之间的关系类似与(A)之间的关系。
A. 对象与类B. 参与者与用例C. 顺序图和抽象类D. 消息和对象12. 下列元素中,(D )不属于消息的组成。
A. 提供服务的对象B. 服务C. 输入信息D. 事件13. ( D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图 B. 协作图 C. 状态图 D. 顺序图14. ( D)是从用户使用系统的角度描述系统功能的图形表达方法。
UML试题及答案 (9)

1.UML 中关联的多重度是指 (B)A.一个类有多个方法被另一个类调用B.一个类的实类能够与另一个类的多个实类相关联C.一个类的某个方法被另一个类调用的次数D.两个类所具有的相同的方法和属性2.已知三个类 A.B 和C.其中类 A 由类B 的一个实类和类 C 的1 个或多个实类构成.请画出能够正确表示类 A,B 和 C 之间关系的 UML 类图.3 在某个信息系统中,存在如下的业务陈述:①一个客户提交 0 个或多个订单;②一个订单由一个且仅由一个客户提交。
系统中存在两个类:“客户”类和“订单”类。
对应每个“订单”类的实例,存在 (46)_B “客户”类的实例;对应每个“客户”类的实例,存在(47)D 个“订单” 类的实例。
供选择的答案:(1)A.0 个 B.1 个 C.1 个或多个 D.0 个或多个(2)A.0 个 B.1 个 C.1 个或多个 D.0 个或多个4、 UML 中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。
掌握利用两种图进行的设计的方法。
答:顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。
与顺序图一样,协作图也展示对象之间的交互关系。
顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。
顺序图按照时间顺序布图,而协作图按照空间组织布图。
顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。
协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。
14.什么是对象间的可见性 ?答:可见性(Visibility)指的是一个对象能够“看到” 或者引用另一个对象的能力。
5、UML 提供了一系列的图支持面向对象的分析与设计,其中 (1)给出系统的静态设计视图;(2) 对系统的行为进行组织和建模是非常重要的;(3) 和(4) 都是描述系统动态视图的交互图,其中(3) 描述了以时间顺序组织的对象之间的交互活动,(4)强调收发消息的对象的组织结构。
uml 参考题(带答案版)

1、面向对象的核心要素:对象,封装,消息,类,抽象,继承,多态性(7个)2、封装把类构成那两个部分,又提供了哪两种保护两个部分:接口部分,和实现部分两种保护:1,对象内部的状态被保护起来,不会被与该对象沟通的对象直接篡改;2另一方面,对象内部特征的变化不会改变其他对象与该对象的沟通方式。
(另一种老师课件的答案:两种保护:1.首先保护对象,防止用户直接存取对象的内部细节;。
2.其次封装也保护了客户端,防止对象实现部分的变化可能产生的副作用,即实现部分的改变影响到客户端的改变。
)3、消息提供了服务的哪四个方面对象标识,服务(方法)标识,输入信息和回答信息等5、下面是一个用例描述的片断:Use Case: Withdraw Cash(提取现金)参与者:Customer主事件流:1. 储户插入ATM卡,并键入密码。
2. 储户按“Withdrawal”按钮,并键入取款数目。
3. 储户取走现金、ATM卡并拿走收据。
4. 储户离开。
上述描述中存在的问题:只描述了参与者的动作序列,没有描述系统的行为。
改进的描述:答:1. 通过读卡机,储户插入ATM卡。
2. ATM系统从卡上读取银行ID、帐号、加密密码、并用主银行系统验证银行ID和帐号。
3. 储户键入密码,ATM系统根据上面读出的卡上加密密码,对密码进行验证。
4. 储户按“FASTCASH”按钮,并键入取款数量,取款数量应该是5美元的倍数。
5. ATM系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息和储户帐户余额。
6. ATM系统输出现金,ATM卡和显示帐户余额的收据。
7. ATM系统记录事务到日志文件。
7、什么是场景,一个用例可以有多少个主要场景和次要场景?场景:是使用系统的一个特定情节或通过用例的一个特定执行路径。
每个用例有且只有一个主要场景可以有多个次要场景8、按照耦合度从高到低,说明类之间的关系有哪些?由强到弱:继承,组合,聚合,关联,依赖9、标准类图中成员四个可见性分别用什么表示?Public + Protected # Package ~Private -10、association aggregation generalization dependency 分别代表什么关系关联关系聚合关系泛化关系依赖关系11、给出下面带关联类类图的另一种普通类图表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象的分析与设计》练习题
一、选择题
1.UML 语言不支持的建模方式有(D )。
A. 静态建模
B.动态建模
C. 模块化建模
D. 功能建模
2.一个设计得好的OO系统具有( B )。
A. 低内聚、低耦合的特征
B.高内聚、低耦合的特征
C. 高内聚、高耦合的特征
D.低内聚、高耦合的特征
3.下列不属于面向对象技术的基本特征的是(B)。
A. 封装性
B. 模块性
C. 多态性
D. 继承性
4. 面向对象程序设计将描述事物的数据与( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息
B. 数据隐藏
C. 对数据的操作
D. 数据抽象
5. 关于面向对象方法的优点,下列不正确的叙述是(C )。
A. 与人类习惯的思维方法比较一致
B. 可重用性好
C. 以数据操作为中心
D.可维护性好
6.用例之间的关系不包括以下哪种关系?D
A.泛化
B.包含
C. 扩展
D. 聚集和组合
7.顺序图中不包括以下哪种元素?(A)
A.用例
B. 对象
C. 生命线
D. 消息
8. 用例图中不包括以下哪种元素?(B)
A. 用例
B. 类
C. 参与者
D. 关联
9. 继承机制的作用是( C )。
A. 信息隐藏
B. 数据封装
C. 派生新类
D. 数据抽象
10. 面向对象方法学中,对象之间仅能通过(C)相联系。
A. 类
B.抽象
C. 消息
D. 封装
11. 脚本与用例之间的关系类似与(A)之间的关系。
A. 对象与类
B. 参与者与用例
C. 顺序图和抽象类
D. 消息和对象
12. 下列元素中,(D )不属于消息的组成。
A. 提供服务的对象
B. 服务
C. 输入信息
D. 事件
13. (D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图 B. 协作图 C. 状态图 D. 顺序图
14. (D)是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图
B. 对象图
C. 序列图
D. 用例图
15. ( C ) 是表达系统的类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图 B. 组件图 C. 类图 D. 配置图
二、简答题
1.简答控制软件复杂性的基本方法,面向对象技术如何体现这些方法的。
基本方法:分解,抽象,模块化,信息隐蔽。
面向对象的软件开放方法在描述和理解问题域时采用的方法是:对问题域进行自然分割,以更接近人类的思维方式建立问题域模型,从而使设计出的软件尽可能直接地描述现实世界,具有更好的可维护性,能适应用户需求的变化。
2.举例说明类中覆盖和重载的区别。
public class A{
String name;
public String getValue();{
return”getValue is”+name;}
}
public class B extend A {
String address;
public String getValue();{
return”getValue is”+address;}
}
类B是类A的子类,类B中定义的getValue()方法是对类A中getValue ()方法的覆盖
public class A {
int age;
String name;
public void setValue ( int i) {
age=i;}
public void setValue (String s) {
name=s;}
}
类A中定义了两个setValue方法,但这两个方法的参数不同,第二个方法是对第一个方法的重载。
3.什么是多态,并以Graph、Circle、Rectangle三个具有继承关系并且都有draw()方法的类为例,说明多态的概念。
在面向对象技术中,多态指的是一个实体在不同上下文条件下具有不同意义或用法的能力。
可以声明一个Graph类型对象的变量,但在运行时,可以把Circle类型或Rectangle类型的对象赋给该变量。
就是说,该变量所引用的对象在运行时会有不同的形态。
如果调用draw()方法,则根据运行时变量是引用的Circle还是Rectangle,来决定调用Circle中的draw()方法还是Rectangle中的draw()方法。
4.某输出类Output中包含一个output方法, 该方法可能使用多种不同的打印机, 如: HP、EPSON、Canon,每种打印机都有不同的print方法。
有下面两个类图。
说明哪一个设计更符合OO设计原则中的开闭原则并说明原因。
打印输出类图1 打印输出类图2
打印输出类图2更符合开闭原则。
因为类图2如要增加新的打印机增加新的类,并让新类实现Printer接口即可,类Output内部不需要做任何改动。
而类图1如要增加新的打印机Output内部需要做改动。
所以类图2更符合开闭原则。
三、分析题
为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
要求:
1.画出用例图,其中包括如下用例:开户、存款、取款、计算利息、修改密码、印出存款单、印出利息清单等。
(8分)
2.画出开户、取款这两个用例的顺序图。
(12分)
3.画出仅包含实体类的类图。
(12分)
4.根据你的设计结果,简单说明顺序图和类图的关系。
(8分)。