《面向对象分析与设计》试卷(A)及答案
- 格式:docx
- 大小:16.59 KB
- 文档页数:11
面向对象分析与及设计习题及答案一、单项选择题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)等。
华南农业大学期末考试试卷(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)等。
装订线华南农业大学期末考试试卷(A卷)2010学年第2学期考试科目:面向对象分析与设计考试类型:(闭卷)考试考试时间:120 分钟学号姓名年级专业题号一二三四总分得分评阅人一、选择题(本大题共15小题,每小题2分,共30分,将正确答案填入下表)1 2 3 4 5 6 7 8 9 10 11 12 13 14 151、( D)方法以原型开发思想为基础,采用迭代增量式开发,发行版本小型化,比较适合需求变化较大或者开发前期对需求不是很清晰的项目。
A.信息工程B.结构化C.面向对象D.敏捷2、用例(Use case)用来描述系统对事件作出响应时所采取的行动。
用例之间是具有相关性的。
在一个“订单输入子系统”中,创建新订单和更新订单都需要核查用户帐号是否正确。
用例“创建新订单”、“更新订单”与用例“核查客户帐号”之间是(A )关系。
A.包含(include)B.扩展(extend)C.分类(classification)D.聚集(aggregation)3-4、面向对象的设计模型包含以(B )表示的软件体系结构图,以(D)表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。
(3)A.用例图 B.包图 C.协同图 D.顺序图(4)A.部署图 B.包图 C.协同图 D.顺序图5、以下关于软件构件及其接口的叙述,错误的是(C )。
A.构件是软件系统中相对独立且具有一定意义的构成成分B.构件在容器中进行管理并获取其属性或者服务C.构件不允许外部对所支持的接口进行动态发现或调用D.构件可以基于对象实现,也可以不基于对象实现6、UP是( A)。
A.面向对象统一开发过程B.面向对象分析与设计C.软件成熟度模型D.统一建模语言7、下列关于不同软件开发方法所使用的模型的描述中,正确的是(B )。
A.在进行结构化分析时,必须使用数据流图和软件结构图这两种模型得分B.采用面向对象开发方法时,可以使用状态图和活动图对系统的动态行为进行建模C.实体联系图(E-R图)是在数据库逻辑结构设计时才喀什创建的模型D.UML的活动图与程序流程图的表达能力等价8、某异地开发的信息系统集成项目以程序流程图、数据流程图等为主要分析设计工具。
2021年12月面向对象分析与设计试题A卷面向对象分析与设计试题a卷(2021.12)一、单选题(从每个子问题的四个备选答案中选择一个正确答案,并将正确答案的序列号写在答题纸上。
每个子问题得1分,总共20分)1以下不属于构造器的特征。
a、构造函数的名称与它所属的类的名称相同。
一个类只能有一个构造函数c.用类创建对象时,构造函数被调用来初始化该对象。
d.构造函数不能被定义成虚函数2.类模板是一组属性相似但数据类型不同的数据,是一个抽象定义的抽象类。
a.实例b.消息c.对象d.类3.以下不是对象的特征。
a.对象具有一个状态b.对象之间以消息传递的方式进行通信。
c.对象具有唯一的标识名d.一个对象的成员不可以是一个对象。
4._____就是请求某个对象执行它所包含的某项处理操作的指令信息。
a.对象流b.动作流c.输入/输出流d.消息5.根据_____原则,在重载函数或者用子类实现父类中的虚函数时,应该基本维持函数原来所期望的功能。
a、单功能B.封闭/开放C.最小惊喜D.包6基于UML绘制系统开发流程,以描述用户需求。
a.用例图b.状态图和活动图c.序列图和协作图d.类图和对象图7.______是类的所有对象共享的成员。
a、公共成员B.受保护成员C.静态成员D.私有成员8当使用类创建对象时,编译器会自动调用它来实现。
a.内联函数b.友员函数c.构造函数d.析构函数9.当通过公共继承生成子类时,该子类可以吸收基类的一些成员,但不能吸收_u。
a、公共成员B.受保护成员C.静态成员D.析构函数10当类的继承方法是受保护继承时,基类的公共成员将作为派生类__________________。
a.私有b.公有c.保护d.友元11.虚函数是一个在某基类中用______声明的,并在一个或多个派生类中被重新定义的成员函数。
a、 B。
inlinec。
贫困的。
虚拟的12。
当使用fstream类对象调用fstream类提供的成员函数open来打开文件并以二进制模式输入数据时,在open函数中打开文件的mode参数应该包括_u。
uml《⾯向对象的分析与设计》考题与答案《⾯向对象的分析与设计》练习题⼀、选择题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)是从⽤户使⽤系统的⾓度描述系统功能的图形表达⽅法。
A. 类图B. 对象图C. 序列图D. ⽤例图15. ( C ) 是表达系统的类及其相互联系的图⽰,它是⾯向对象设计的核⼼,建⽴状态图、协作图和其他图的基础。
课程考试参考答案与评分标准一、单项选择题一、单项选择题 ( ( 每小题每小题每小题 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)继承性)继承性如果在一个已定义的类上,如果在一个已定义的类上,增加一些特殊属性或操作,增加一些特殊属性或操作,增加一些特殊属性或操作,可以形成一个新的类,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,这个类不仅继承了前一个类的全部特征,而且具有新的特性,而且具有新的特性,而且具有新的特性,因此可看作前一因此可看作前一个类的特例,是对前一个类的继承。
9.面向对象分析与设计试题一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将 正确答案的序号填在题干的括号内。
每小题 1 分,共 20 分 )1. 软件技术的发展经历了多代历程,第( )代是 80 年代开始的以Smalltalk 、C++ 等为代表的面向对象软件开发方法2. 面向对象的运动产生了多种面向对象的语言 , 其中( )是一种混合性 面向对象语言 , 既支持面向过程的程序设计方法,又支持面向对象的程序 设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的 程序设计能得到很快普及。
A. SmalltalkB. EiffelC. C++3 .面向对象技术的最重要的基本特征是 ( )。
A. 抽象性 B. 封装性 C. 多态性 4. 面向对象程序设计将描述事物的数据与 互依存、不可分割的整体来处理。
10.类模板经过实例化而生成具体 A. 对象 C. 函数模板A.B.C.D. 四(OO) 。
D. JavaD. 继承性( ) 封装在一起 ,作为一个相A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是A. 与人类习惯的思维方法比较一致 C. 以数据操作为中心 6. C++ 对 C 语言作了很多改进,因是 ( ) 。
A. 增加了一些新的运算符C. 规定函数说明符必须用原型 下列符号不能组成标识符的是 A. 数字字符 B. 下划线下列不属于类的成员函数的是A. 构造函数B. 析构函数 继承机制的作用是 ( )。
A. 信息隐藏B. 数据封装7. 8. )。
B. 可重用性好 D.可维护性好即从面向过程变成为面向对象的主要原B. 允许函数重载, 并允许设置缺省参数D. 引进了类和对象的概念 )。
C. 大小写字母D. 连接符)。
C. 友元函数D. 拷贝构造函数C. 派生新类D. 数据抽象B. 模板函数 D. 类11. 类的析构函数是在 ( ) 调用的。
⾯向对象分析与设计习题及部分答案《⾯向对象分析与设计》习题及部分答案第⼀章概论1.什么是⾯向对象⽅法?⾯向对象的基本原则主要有哪些?答:⾯向对象⽅法是⼀种运⽤对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发⽅法。
⾯向对象⽅法的解决问题的思路是从现实世界中的客观对象(如⼈和事物)⼊⼿,尽量运⽤⼈类的⾃然思维⽅式来构造软件系统,这与传统的结构化⽅法从功能⼊⼿和信息⼯程化⽅法从信息⼊⼿是不⼀样的。
⾯向对象的基本思想主要有:1)从现实世界中客观存在的事物出发来建⽴软件系统,强调直接以问题域(现实世界)中的事物为中⼼来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表⽰为系统中的对象,作为系统的基本构成单位。
这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来⾯貌(对象)2)⽤对象的属性表⽰事物的性质;⽤对象的操作表⽰事物的⾏为。
(属性与操作)3)对象的属性与操作结合为⼀体,成为⼀个独⽴的、不可分的实体,对外屏蔽其内部细节。
(对象的封装)4)对事物进⾏分类。
把具有相同属性和相同操作的对象归为⼀类,类是这些对象的抽象描述,每个对象是它的类的⼀个实例。
(分类)5)复杂的对象可以⽤简单的对象作为其构成部分。
(聚合)6)通过在不同程度上运⽤抽象的原则,可以得到较⼀般的类和较特殊的类。
特殊类继承⼀般类的属性与操作,从⽽简化系统的构造过程及其⽂档。
(继承)7)对象之间通过消息进⾏通讯,以实现对象之间的动态联系。
(消息)8)通过关联表⽰类(⼀组对象)之间的静态关系。
(关联)2.与传统开发⽅法⽐,⾯向对象⽅法有什么优点?答:⾯向对象⽅法的解决问题的思路是从现实世界中的客观对象(如⼈和事物)⼊⼿,尽量运⽤⼈类的⾃然思维⽅式来构造软件系统,这与传统的结构化⽅法从功能⼊⼿和信息⼯程化⽅法从信息⼊⼿是不⼀样的。
与传统⽅法相⽐,⾯向对象的⽅法主要优点有:1)从认识论的⾓度可以看出,⾯向对象⽅法改变了⼈们认识世界的⽅式;2)语⾔的发展——鸿沟变窄;3)⾯向对象⽅法使得从问题域到计算机间的鸿沟变窄;4)⾯向对象⽅法有助于软件的维护与复⽤;(1)把易变的数据结构和部分功能封装在对象内并加以隐藏,⼀是保证了对象⾏为的可靠性;⼆是对它们的修改并不会影响其他的对象,有利于维护,对需求变化有较强的适应性。
《面向对象分析与设计》练习题及参考答案一、思考题:1 ・ How many phases are in eluded in system developme nt? (brief description)2. Describe a system and the comp on ents of a system model.3. What two key comp orients distinguish an in formati on system from an automated information system?4. What is systems analysis and design?5. Who are the six stakeholder groups in information systems?6. What are a system designers and system builder's roles in information systems developme nt?7. What is the system analyst role in systems development as it related to the other stakeholders?8. List the six steps of the general problem-solving approach.9. List two types of quality certification applicable to information systems.10. What are legacy systems? Name two types of problems encountered in legacy systems.11 ・ What is ERP? What is electronic commerce?12. Differentiate between management information systems and decision support systems.13. What role dose a data warehouse play in a decision support system?14. List three focuses for an information systems・15. What is the role of the network in information systems?16. 而向过程的系统分析与设计存在的问题是什么?通过什么00技术来解决?仃•请湎图说明而向对象系统的基本构造。
面向对象分析与设计试题A卷及答案一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题 1 分,共 20 分 )1. 到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( D )的出现和广泛使用,使面向对象方法成为了软件开发的主流方法。
A. OMTB. OOSEC. C++D. UML2.( D )为编程人员提供了重复利用程序资源的一种途径,使编程人员可以扩充和完善旧的程序以适用新的需求。
A. 封装机制B. 抽象机制C. 多态机制D. 继承机制3. 面向对象程序设计中用( C ) 来描述具有相同属性和行为的对象集合。
A. 实体B. 对象C. 类D. 类模板4. 下列语言中, ( D ) 是一种混合型面向对象编程语言。
A. C语言B. Java语言C. Basic语言D. C++语言5. 下列不属于类的成员函数的是 (D )。
A. 构造函数B. 析构函数C. 缺省构造函数D. 友元函数6. 多态机制的作用是 ( B )。
A. 信息隐藏B. 实现“一种接口,多种方法”C. 派生新类D. 数据抽象7. 合理地利用( B ), 既可以实现部分成员隐蔽,又能方便部分成员的继承,实现代码的高效重用和扩充。
A.公有继承B.保护继承C.友员函数D.私有继承8. ( C )经过实例化而生成具体的类。
A.抽象类B.函数模板C.类模板D.对象9. 类的析构造函数是在 ( C ) 时调用的。
A.不自动调用B.创建对象C.删除对象D.创建派生类对象10.在公有继承的情况下,基类的( C)成员无法继承到派生类中。
A. 公有成员B. 保护成员C. 私有成员D. 静态成员11. 在类族中通过定义 ( D ) 来实现运行时多态。
A. 类的嵌套B. 类的继承C. 抽象类D. 虚函数12. UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。
其中(C)不属于这类视图。
华南农业大学期末考试试卷(A卷-答案)2008学年第2学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业一、单项选择题(每题2分,共30分。
将正确答案填入下表)1、一个设计得好的面向对象系统具有()特征。
BA.低内聚、低耦合B.高内聚、低耦合C.高内聚、高耦合D.低内聚、高耦合2、不是传统开发方法的是()。
DA.功能分解法B.结构化方法C.信息建模方法D.面向对象方法3、不是面向对象的基本思想的是()。
DA.客观世界中的事物都是对象,对象间存在一定的关系。
B.用对象的属性描述事物的静态特征C.用对象的操作描述事物的动态特征(行为)。
D.通过随机方式对事物进行分类。
4、面向对象的特点主要概括为()。
CA.可分解性、可组合性、可分类性B.继承性、封装性、多态性C.抽象性、继承性、封装性、多态性D.封装性、易维护性、可扩展性、可重用性5、下列关于面向对象分析(OOA)中描述错误的是()。
DA.是运用面向对象方法进行系统分析。
B.是软件生命周期的一个阶段C.强调对问题域和系统责任进行分析和理解。
D.强调与实现有关的分析和理解。
6、下列叙述中正确的是()。
AA.系统边界是一个系统所包含的所有系统成分与系统以外各种事物的分界线。
B.参与者一定是系统中的一部分。
C.参与者是在系统之外但可不与系统进行交互的任何事物。
D.参与者只能是人或者设备。
7、关于用例与类的对比中()是错误的。
DA.都属于模型结构元素B.都存在继承关系C.类描述系统的部分静态视图,用例描述系统动态的行为视图D.类描述的是系统的内部构成,用例也可以描述系统的内部构成8、关于类和对象的描述中,()是错误的。
BA.对象是具有明确语义边界并封装了状态和行为的实体。
B. 类与对象之间的关系,如同一个铸件和它的模具之际的关系。
C.对象是类的实例。
D. 类是对具有相同属性和操作的一组对象的抽象描述。
9、若对象a可以给对象b发送消息,那么______ 。
福建师范大学网络与继续教育学院《面向对象分析与设计》期末考试A卷闭卷姓名:专业:学号:学习中心:缺考标记,考生禁填!□答案务必写在答题纸上,否则不得分!一、单选题 (共25题,每题2分,共50分)1、外观模式的作用是(B)。
A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用C.保证一个类仅有一个实例,并提供一个访问他的全局访问点D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现2、(A)模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。
A.瀑布模型B.原型模型C.增量模型D.螺旋模型3、使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
A.业务UseCase模型设计B.逻辑数据模型设计C.物理数据模型设计D.物理实现设计4、Abstract Factory(抽象工厂)模式的意图是(A)。
A.希望简化现有系统的使用方法。
你需要定义自己的借口B.将一个无法控制的现有对象与一个特定借口相匹配C.将一组实现部分从另一组使用它们的对象中分离出来D.提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类5、下面哪个视图属于UML语言的交互图(B)。
A.行为图B.状态图C.实现图D.顺序图6、(B)是一个类对象所可能经历的所有历程的模型图。
A.模型管理视图B.状态机视图C.动态视图D.静态视图7、下列关于UML叙述正确的是(D)。
A.UML是一种语言,语言的使用者不能对其进行扩展B.UML仅是一组图形的集合C.UML仅适用于系统的分析与设计阶段D.UML是独立于软件开发过程的8、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(A)模式。
A.创建型B.结构型C.行为型D.以上都可以9、40、在UML中(D)表示参与者为达成一项相对独立、完整的业务目标而要求软件系统完成的功能。
2020智慧树,知到《面向对象分析与设计》章节测试【完整答案】智慧树知到《面向对象分析与设计》章节测试答案第一章1、UML中接口可用于( )。
A:提供构造型(stereotype)名称为《interface》的具体类B:Java和C++程序设计中,而C#程序设计中不支持C:定义可以在多个类中重用的可执行逻辑D:声明对象类所需要的服务答案: 声明对象类所需要的服务2、在面向对象方法中,两个及以上的类作为一个类的父类时,称为( )。
A:多重继承B:多态C:封装D:层次继承答案: 多重继承3、以下关于封装在软件复用中所充当的角色的叙述,正确的是( )。
A:封装使得其他开发人员不需要知道一个软件组件内部如何工作B:封装使得软件组件更有效地工作C:封装使得软件开发人员不需要编制开发文档D:封装使得软件组件开发更加容易答案: 封装使得其他开发人员不需要知道一个软件组件内部如何工作4、在定义类一个类时,将其属性声明为private的目的是( )。
A:实现数据隐藏,以免意外更改B:操作符重载C:实现属性值不可更改D:实现属性值对类的所有对象共享答案: 实现属性值对类的所有对象共享5、面向对象的四个基本特征是?A:继承、封装、多态、抽象B:继承、封装、多态、层次C:封装、多态、层次、模块化D:抽象、封装、模块、结构答案: 继承、封装、多态、抽象6、首次提出“面向对象”概念的计算机科学家是( )?A:比尔.盖茨B:艾伦.灵图C:艾伦.凯D:史蒂夫.乔布斯答案: 艾伦.凯7、在面向对象方法中,讲逻辑上相关的数据及行为绑定在一起,使信息对使用者隐藏称为 ( )A:抽象B:继承C:封装D:多态答案: 封装8、以下关于面向对象继承的叙述中,错误的是( )。
A:继承是父类和子类之间共享数据和方法的机制B:继承定义了一种类与类之间的关系C:继承关系中的子类将拥有父类的全部属性和方法D:继承仅仅允许单重继承,即不允许一个子类有多个父类答案: 继承仅仅允许单重继承,即不允许一个子类有多个父类9、一个类是( )在定义类时,将其属性可以声明为private、protected、public。
面向对象设计(工程硕士)期末考试试卷一、简答题(每题6分,共30分)1.类图在UML中有何重要作用?1.为开发人员提供这种模仿现实世界的表达方式。
2.让分析员使用客户所采用的术语和客户交流,促使客户说出所要解决的问题的重要细节。
2.阐述用例对于系统开发人员来说的价值。
是用来从用户的观察角度收集系统需求的一项技术,便于分析员与客户和用户交流,使系统更符合用户的需求3. 简述如何在实际工作中发现类。
在与客户的交谈中,要注意客户用来描述业务实体的名词术语。
这些名词可作为领域模型中的类。
还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。
当得到一组类的核心列表后,应当向客户询问在业务过程中每个类的作用。
他们的回答将告诉你这些类的职责。
4.简述怎样发现类之间的继承关系。
为候选的类有可能和它的父类、子类在谈话中同时被发现。
系统分析员意识到某个类的属性和操作也许能被运用到其他多个类当中去。
另一种可能的情况是系统分析员注意到两个或者多个类可能具有相同的属性和操作数5.顺序图和协作图中,消息有哪三种?各自的意义和表示什么?消息可以是简单的(simple)、同步的(synchronous)或异步的(asynchronous)。
简单消息是从—个对象到另一个对象的控制流的转移。
如果一个对象发送了—个同步消息,那么它要等待对方对消息的应答,收到应答后才能继续自己的操作。
而发送异步消息的对象不需要等待对方的应答便可以继续自己的操作。
在顺序图中,简单消息是—个简单箭头,同步消息是实心箭头。
异步消息是—个半边箭头。
二、分析设计(共40分)1. 根据下面的叙述,绘制一幅关于顾客从自动售货机中购买物品的顺序图。
(10分)(1)顾客(User)先向自动售货机的前端(Front)投币;(2)售货机的识别器(Register)识别钱币;(3)售货机前端(Front)根据Register的识别结果产生商品列表;(4)顾客选择商品;(5) 识别器控制的出货器(Dispenser )将所选商品送至前端(Front )2. 根据下面的描述,绘制一幅状态图。
▆B.对象图C.序列图D.用例图12、(A)关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展,具体描述与一般描述完全一致所有特性、成员和关系,并且包含补充的信息,它用从子指向父的箭头表示,指向父的是一个空三角形。
A.泛化B.继承C.组成D.聚集13、Bridge(桥接)模式的意图是(C)。
A.将一个无法控制的现有对象与一个特定借口相匹配B.希望简化现有系统的使用方法。
你需要定义自己的借口C.将一组实现部分从另一组使用它们的对象中分离出来D.你需要为特定的客户(或情况)提供特定系列的对象14、下面不是活动图中的基本元素的是(B)。
A.状态、判定B.分叉、汇合C.泳道、初态D.用例、消息15、静态工厂的核心角色是(A)。
A.抽象产品B.具体产品C.静态工厂D.消费者16、下列关于状态图的说法中,正确的是(C)。
A.状态图是UML中对系统的静态方面进行建模的图之一B.状态图是活动图的一个特例,状态图中的多数状态是活动状C.活动图和状态图是对对象的生命周期进行建模,描述对象随时间变化的行为D.状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模17、在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)18、Façade(外观)模式的意图是(A)。
A.希望简化现有系统的使用方法。
你需要定义自己的借口B.将一个无法控制的现有对象与一个特定借口相匹配C.将一组实现部分从另一组使用它们的对象中分离出来D.你需要为特定的客户(或情况)提供特定系列的对象19、以下关于结构型模式说法不正确的是。
(B)A.结构型模式可以在不破坏类封装性的基础上,实现新的功能B.结构型模式主要用于创建一组对象C.结构型模式可以创建一组类的统一访问接口D.结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互20、下列关于面向对象方法中描述中错误的是(C)。
华南农业大学期末考试试卷(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的基本构成元素。
(A)A. 控制语言B. 基本构造块C. 规则D. 公共机制3. 面向对象的特点主要概括为(C)。
A. 可分解性、可组合性、可分类性B. 继承性、封装性、多态性C. 抽象性、继承性、封装性、多态性D. 封装性、易维护性、可扩展性、可重用性4.构成对象的两个主要因素是(A)。
A. 属性和服务B. 标识和内容C. 继承和多态D. 消息和封装5.下列关于面向对象方法中描述中错误的是(C)。
A. 使用设计模式有助于在软件开发中应用面向对象技术B. 选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度C. UML作为一种可视化建模语言需要与RUP开发过程同时使用D. 目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法6. 顺序图主要可以为设计人员提供(A)信息。
A. 消息发送的顺序B. 某个方法的执行流程C. 类之间关联关系的多重性D. 某个对象在不同状态之间的转移7. 类和接口的关系类似于下面哪种类型的关系(D)。
A. 关联(association)和聚集(aggregation)B. 关联(association)和组合(composition)C. 脚本(scenario)和用例(use case)D. 包(Package)和子系统(subsystem)8. 在类图中,那个类图中的类Order所生成的代码具有Public class Order{Public Customer recipient;}的形式?(A)A. B.C. D.9. 下面那个图符表示UML中的实现关系?(C)A. B.C. D.10. 一个银行业务系统采用如图琐事的配置图,则错误的是(D)A. 与GUI有关的类应该部署在Branch Client上B. 这个图表示一个三层的体系结构,不管Branch Client、Financial App Server、DatabaseServer是运行在同一台机器上还是在不同机器上C. 为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在Financial AppServer上D. 为了系统的可伸缩性,与业务逻辑有关的对象应该部署在Branch Client上11. 关于用例与类的对比中(D)是错误的。
A 都属于模型结构元素B 都存在继承关系C 类描述系统的部分静态视图,用例描述系统动态的行为视图D 类描述的是系统的内部构成,用例也可以描述系统的内部构成12. Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。
在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。
为了描述这些算法,在下面这些图中,那个是最适合的?(A) (注:活动图可以用来描述细节)A. 活动图B. 状态图C. 类图D. 用例图13. 计算机(Computer)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。
那么Computer类和其他类(CPU、RAM、FloppyDrive、HardDisk、Monitor、Keyboard、Mouse)之间的关系是:(D)A. 泛化关系(Generalization)B. 实现关系(Realization)C. 包含关系(Inclusion)D. 聚集关系(Aggregation)14. 在状态图中不能表示下面那些概念?(D)A. 动作(action)B. 事件(event)C. 转移(transition)D. 类(class)15.在数据库设计的阶段开始考虑具体的数据库管理系统(DBMS)的特性。
(C)A. 需求分析B. 概念设计C. 逻辑设计.D 物理设计三、简单题(共36分,每题6分)1.“要迭代开发、真是有道理。
我决定在我们的项目组实施迭代开发,第一迭代先做需求,第二个迭代做分析,第三个迭代做设计……”——这段话有什么问题?(6分)答:这种每次只设计和实现系统的一部分, 逐步逐步完成的方法叫迭代开发, 每次设计和实现一个的一个阶段叫做一个迭代.。
RUP 具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。
它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。
2. 分析下面的类图,画出新的类图,将原图中的多对多关系转换为1:M(一对多)关系。
(6分)答案:3.信用卡可能处于“开放”和“关闭”状态,其中“开放”状态可以直接进入“关闭”状态,而从“关闭”状态必须提供密码验证才能进入“开放”状态。
“开放”状态又包括“透支”和“正常”状态之间的变化,当剩余金额少于零、或者使用额度大于剩余金额、或者结算余额小于零时进入透支状态,反之则为正常状态。
画出信用卡的状态图。
(6分)参考答案:4. 假设下面是某些以完工用例图等截屏形状,其中有2张图不合适,请说明原因。
(6分)图A. 图B.图C.参考答案:图C合适,其他有问题。
5. 请判断以下类图中的类关系是否合适,并说明理由。
(6分)(1)飞机有机翼、机身、驾驶舱(2)商场里的电器。
1台电器可以是1台洗衣机,也可以不是;1台电器可以是1台电视机,也可以不是;1台电器可以是1台空调,也可以不是;(3)公司的员工很多,包括程序员、分析员、项目经理……参考答案:(1)飞机有机翼、机身、驾驶舱应改为“组合”(2)商场里的电器。
1台电器可以是1台洗衣机,也可以不是;1台电器可以是1台电视机,也可以不是;1台电器可以是1台空调,也可以不是; 应该为“泛化”(3)公司的员工很多,包括程序员、分析员、项目经理……应改为“泛化”6. 假设你从垃圾堆里捡到这样一张小纸片(如图5所示)。
(6分) 根据现有信息尽可能判断: (1)“小车”类有哪几个操作?(2)“指挥小车UC ”类的“执行任务”操作要做哪些工作?(采用伪代码描述)图5 时序图参考答案:(1)“小车”类有哪几个操作?返回小车当前位置()转向和前进()(2)“指挥小车UC”类的“执行任务”操作要做哪些工作?(采用伪代码描述)移动任务:更新行走断表和目的地()移动任务:判断现有信息足以让小车行走()小车:放回小车当前位置()小车:验证小车尚未到达目的地()移动:根据但前位置及断表信息计算出速度、角度()小车:转向和前进()四、设计题(共24分)1.仔细分析“语音邮箱系统”的“保留语音信息”和“拨打邮箱号”的用例事件流描述,请找出里面的对象,并画出时序图和协作图。
(14分)用例1: 拨打邮箱号(1)呼叫者拨打语音邮件系统的主号码.(2)语音邮件系统发出提示音:输入邮箱号码并加#号.(3)呼叫者输入接收者的邮箱号.(4)语音邮件系统发出问候语:已进入XX的邮箱,请留言.用例2: 保留语音信息(1)呼叫者”拨打邮箱号”.(2)呼叫者说出信息.(3)呼叫者挂断电话.(4)语音邮件系统将记录的信息存放在接收者的邮箱中. 参考答案: 2.假设某高校需要建立一个档案管理系统,而您是该软件系统的负责人。
你所在的软件公司与高校一致同意系统的构建采用面向对象方法。
作为开发负责人,请您结合本课程中的学习知识,提供参考的软件体系结构设计方案,描述开发这个系统的过程,并写出开发过程的每个步骤中您认为应该用到的主要技术。
(10分)根据学生的情况给分。
人档案学生学生档案教师教师档案档案管理人员档案管理人员(o)||登录||————查看学生档案查看教师档案| |修改学生档案修改教师档案删除学生档案删除教师档案增加学生档案增加教师档案|————exit。