2015《面向对象分析与设计》复习题
- 格式:doc
- 大小:147.00 KB
- 文档页数:9
1、什么面向对象?面向对象不仅是以些具体的软件开发技术与策略,而且以一套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。
2、软件开发方法学的基本方法有哪些?1)软件工程和瀑布方法学2)新方法学:螺旋式、迭代式、递增式、合并式3)面向对象方法学:UML、RUP、XP3、为什么需要OOA、OOD。
OOA就是运用面向对象的方法进行需求分析,OOA加强了对问题域和系统责任的理解,有利于人员之间的交流,对需求变化的适应性较强,很好的支持软件复用。
OOD就是运用面向对象的方法进行系统设计,OOD.符合人们习惯的思维方法,便于分解大型的复杂多变的问题;易于软件的维护和功能的增减;可重用性好;与可视化技术相结合,改善了工作界面。
4、从概念层次、规格层次、实现层次三个角度如何理解对象的概念?从概念层次来看,一个对象就是一系列的责任;从规格层次来看,一个对象是一系列可以被其他对象或该对象自己调用的方法;从实现层次来看,一个对象是一些代码和数据。
5、如何绘制类图和对象图?简述其步骤。
类图绘制:1发现类,找到备选类,确定候选类2关联分析,确定关联关系,多重性分析3职责分析4限定与修改,导航性分析,约束,限定符;对象图绘制:1发现类和对象2对其细化,分析,确定关系。
6、简述重定义方法与重载的区别。
重定义:1参数列表必须完全与被重写的方法相同2返回类型必须一直域被重写的方法的类型相同3访问修饰符的限制一定要大于被重写方法的访问修饰符4重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查性异常:重载:1必须有不同参数列表2可以有不同的返回类型,只要参数列表不同即可3可有不同访问修饰符4可抛出不同的异常。
7.简述抽象方法与虚方法的联系与区别虚方法有一个实现部分可以为子类实现有共同的方法,并为派生提供了覆盖该方法的选,抽象方法只是强制派生覆盖方法;抽象方法只能在抽象类中声明,而虚方法不是;抽象方法不能声明方法实体,虚方法可以;包含抽象方法的类不能实例化,但虚方法可以。
研究生院2014-2015学年《面向对象程序设计》考试试卷开卷一、填空(共15分,每空1分)1、编译时的多态性通过__重载__函数实现。
2、面向对象的四个基本特性是_抽象__、__多态性_、__继承性__和_封装性_。
3. 假定AB为一个类,则执行“AB a(2), b[4],*p[4];”语句时调用该类构造函数的次数为__5__。
4.要实现动态联编必须通过对象指针或引用来调用_虚函数_实现。
5.在函数前面用_ inline _保留字修饰时,则表示该函数表为内联函数。
6.如果将一个对象说明为常对象,则通过该对象只能调用它的__公有成员__函数。
7、非成员函数应声明为类的__友元___函数才能访问这个类的private成员。
8、在用class定义一个类时,数据成员和成员函数的默认访问权限是_ 私有____。
9、运算符重载函数可能是类的_友元_函数,也可以是类的_成员_函数,还可以是普通函数。
10、__转换构造函数__函数可以将一个指定的数据转换为类的对象,_类型转换函数_函数实现类的对象转换成其它类型的数据。
二、简答题(共25分,每小题5分)1、什么是类模板,类模板声明的一般形式是什么?答案:类模板是对一批仅仅成员数据类型不同的类的抽象,程序员只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类,(这类可以看作是类模板的实例),从而大大提高编程的效率。
定义类模板的一般形式是:template <类型名参数名1,类型名参数名2,…>class 类名{类声明体};2、有哪几种继承方式?每种方式的派生类对基类成员的继承性如何?答案:继承方式包括:public、private、protected。
3、简述运算符重载的实现方式有哪几种?给出对应的声明语法形式。
答案:(1)类外定义的运算符重载函数格式为:friend <返回类型> operator <op>(<类型> 参数1,<类型> 参数2) { <函数体> }(2)成员运算符重载函数<返回类型> <类名>::operator <op> (<类型> 参数){ <函数体> }4、写出下面程序的输出结果#include<iostream.h>#include<string.h>class Person{}答案:第1次调用类型转换构造函数!第2次调用类型转换构造函数!调用复制构造函数!OldObjectOldObjectNewObject第1次调用析构函数!OldObject第2次调用析构函数!第3次调用析构函数!5. 写运行结果#include <iostream>using namespace std;class A{};答案:(A,B,C,D)= 31,2,3,4三、改错题(共20分,每小题4分)1. 以下程序可动态分配二维数组并释放内存,且可实现二维指针和一维指针复用,试问程序能否正常运行,如不能运行找出原因并改正之。
面向对象分析与设计试题B卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号。
每小题1 分,共20 分)3.下列不属于面向对象技术的基本特征的是()。
A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是()。
A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好8. 下列不属于类的成员函数的是( )。
A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数9. 继承机制的作用是( )。
A. 信息隐藏B. 数据封装C. 派生新类D. 数据抽象14. ()是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图B. 对象图C. 序列图D. 用例图15. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图 B. 组件图 C. 类图 D. 配置图16.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图 B. 协作图 C. 状态图 D. 序列图17.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A. 组件图B. 协作图C. 状态图D. 配置图18. 在用UML进行数据库的分析与设计过程中,( ) 就是进行数据库的需求分析,使用用例图、类图、顺序图、活动图等建立业务模型。
A. 逻辑数据模型设计 B 业务Use Case模型设计C. 物理数据模型设计D. 物理实现设计19. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
面向对象分析与设计习题一、单项选择题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)等。
课程考试参考答案与评分标准一、单项选择题一、单项选择题 ( ( 每小题每小题每小题 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)继承性)继承性如果在一个已定义的类上,如果在一个已定义的类上,增加一些特殊属性或操作,增加一些特殊属性或操作,增加一些特殊属性或操作,可以形成一个新的类,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,这个类不仅继承了前一个类的全部特征,而且具有新的特性,而且具有新的特性,而且具有新的特性,因此可看作前一因此可看作前一个类的特例,是对前一个类的继承。
《面向对象分析与设计》练习题及参考答案一、思考题: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技术来解决?仃•请湎图说明而向对象系统的基本构造。
《面向对象分析与设计》习题及部分答案第一章 概论1.什么是面向对象方法?面向对象的基本原则主要有哪些?答:面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。
面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。
面向对象的基本思想主要有:1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。
这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象)2)用对象的属性表示事物的性质;用对象的操作表示事物的行为。
(属性与操作)3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节。
(对象的封装)4)对事物进行分类。
把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。
(分类)5)复杂的对象可以用简单的对象作为其构成部分。
(聚合)6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。
特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档。
(继承)7)对象之间通过消息进行通讯,以实现对象之间的动态联系。
(消息)8)通过关联表示类(一组对象)之间的静态关系。
(关联)2.与传统开发方法比,面向对象方法有什么优点?答:面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。
与传统方法相比,面向对象的方法主要优点有:1)从认识论的角度可以看出,面向对象方法改变了人们认识世界的方式;2)语言的发展——鸿沟变窄;3)面向对象方法使得从问题域到计算机间的鸿沟变窄;4)面向对象方法有助于软件的维护与复用;(1)把易变的数据结构和部分功能封装在对象内并加以隐藏,一是保证了对象行为的可靠性;二是对它们的修改并不会影响其他的对象,有利于维护,对需求变化有较强的适应性。
《面向对象分析与设计》考试试卷(第一套)课程号5808115040 考试时间100 分钟适用专业年级(方向):考试方式及要求:闭卷笔试一、单项选择(每题分,共45分,答案写在题前表格内)1.SDLC需求分析阶段结束时将产生哪个文档()。
A.可行性分析报告B.软件需求说明书C.软件需求统计D.系统需求统计2.面向对象将描述事物的数据与()封装在一起,作为一个相互依存,不可分割的整体来处理。
A.信息B.数据隐藏C.数据操作D.数据抽象3.()是从用户使用的角度描述系统功能的图形表示方法。
A.类图B.对象图C.序列图D.用例图4.()描述了一组交互对象间的动态协助关系,表示完成某项行为的对象和这些对象间传统消息的时间顺序。
A.对象图B.协作图C.序列图D.状态图A.瀑布模型B.原型模型C.增量模型D.螺旋模型6.()是用于把元素组织成组的通用机制A.包B.类C.接口D.组件7.对某企业的工作流程进行建模,()是最有效的。
A.交互图B.活动图C.状态图D.类图8.一个设计得好的OO系统具有()A.低内聚、低耦合的特征B.高内聚、低耦合的特征C.高内聚、高耦合的特征D.低内聚、高耦合的特征9.下面那个图符表示UML中的实现关系?()。
A. B.C. D.10.下图表示类图的()+op11()+op12()-attr11-attr12Class1+op21()+op22()-attr21-attr22Class2A.关联关系B.泛化关系C.实现关系D.依赖关系11.一个银行业务系统采用如图所示的配置图,则错误的是()。
A.与GUI有关的类应该部署在Branch Client上B.这个图表示一个三层的体系结构,不管Branch Client、Financial App Server、Database Server是运行在同一台机器上还是在不同机器上C.为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在12.用例图关于角色的说法中错误的是()。
《面向对象分析与设计UML》期末总复习1、题型介绍:选择题20 * 1分= 20分填空题 5 * 2分= 10分简答题 6 * 5分= 30分分析题3题(第一题12分,第二题12 ,第三题18分)= 40分2、选择题1、()不是对象具有的特性。
A.标识B.继承C.顺序D.多态性2、封装是把对象的()结合在一起,组成一个独立的对象。
A.属性和操作B.信息流C.消息和事件D.数据的集合3、()不是面向对象的典型方法。
A.Coad& Yourdon 方法B.维也纳方法C.OMT方法D.Booch方法4、UML中有4种关系,分别是依赖、泛化、关联和()A.集成B.合作C.实现 D 抽象5、下列关于状态图的说法中,正确的是()A.状态图是UML中对系统的静态方面进行建模的5种图之一。
B.状态图是活动图的一个特例,状态图中的多数状态是活动状态。
C.状态图是对一个对象的生命周期进行建模,描述对象在其生存期间的动态行为。
D.状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模。
6、UML的()模型图由类图、对象图、包图、组件图、和部署图组成。
A.用例B.静态C.动态D.系统。
7、UML的()模型图活动图、顺序图、状态图、写协作图组成。
A.用例B.静态C.动态D.系统。
8、UML的最终产物就是最后提交的可执行的软件系统和()A.用户手册B.类图C.动态图D.相应的软件文档资料9、在UML的需求分析建模中,()模型图必须与用户反复交流并加以确认。
A.配置B.用例C.包D.动态10、下面不是用例之间主要关系的是()A.扩展B.包含C.依赖D.泛化11、对于一个电子商务网站而言,以下不适合作为用例的选项是()A.登录B.预定商品C.购物车D.结账12、UML的客户需求分析模型包括()模型、类图、对象图和活动图。
A.用例B.静态C.动态D.系统13、UML客户需求分析产生的用例模型描述了系统的()A.状态B.体系结构C.静态模型D.功能要求14、在UML的需求分析模型中,用例建模必须与()反复交流并加以确认。
面向对象分析与设计试题 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.不提供机上餐饮,只提供花生米和水B.在机舱里撒彩纸屑庆祝乘客生日C.模仿唐老鸭的嗓音讲解乘机规则D.所有飞机用同种机型以下是一位初中数学老师某天的工作描述。
6:45-7:10 坐K566公交到学校7:10-8:00 挑出一些几何课的图,交代课代表在黑板上先画好,整理教学工具、课件U盘8:10-8:50 上午第一节课(3 班几何)等腰梯形,导入课程,内容展开9:00-9:40 上午第二节课(3 班几何)等腰梯形,巩固练习,小结,布置作业,抽空批改之前作业9:40-10:10 课间休整10:10-10:50 上午第三节课(4班几何)等腰梯形,导入课程,内容展开11:00-11:40 上午第四节课(4班几何)等腰梯形,巩固练习,小结,布置作业,抽空批改之前作业11:40-13:00 午餐、午休13:00-14:30 批改作业。
课代表送作业上来,摊开摞好,一本本批改,给分如果做一个系统改善该老师的工作,这个系统最应该提供的功能是A.把书上的图复制到黑板上,动态添加和清除辅助线B.扫一下作业自行给出得分C.统计作业和测试情况D.信息不足,看不出来如果有一位程序员告诉您说“我在做一个Python项目”,这时您应该想到A.可能从自己的角度定义所做的项目B.怎么这么火,我也要学C.编程语言背后的道理是一样的D.我做的Java需求量大开发“××Fax”传真软件,用电脑代替传真机收发传真,以下对客户的定义最正确的是?•A)•客户•B)•需要发传真的人••C)•商业公司•D)•小公司或个人公司•••电商网站“掏宝网”,以下最像老大的是?•A)•掏宝网CEO 完颜亮•B)•宅女郭美丽•C)•掏宝网最大股东软金公司•••以下最像Visual•Studio•11 老大的是•A)•Steve•Ballmer•B)•上海×讯技术有限公司C++程序员小贝•C)•上海×讯技术有限公司研发总监老宋•研发部要添加一名C#程序员,由人力资源部负责出面招人,请问针对这名C#程序员(一个人脑编程系统),老大是?A.人力资源部经理B.研发部经理C.公司总经理D.C#程序员••••以“微信多开”app为研究对象,以下对老大的定位最贴切的是:A.微信用户张大龙B.山水集团总经理高小琴C.阿尔法公司总经理郑乾D.“微信多开”app研发团队领导张多龙以下不能作为业务建模研究对象的是•A. 屌丝•B.•QQ•C.•八天连锁酒店•D.•JZ 县城管大队•如果开发一个“医院信息系统”,业务建模以什么组织为研究对象比较合适?•A.某医院•B.某已经存在的医院信息系统•C.某专门开发医院信息系统的公司•D.某医院院长办•如果开发一个“医院PACS(影像归档和通信)系统”,业务建模以什么组织为研究对象比较合适?•A.某医院•B.某医院影像科•C.某PACS 系统•D.某专门开发PACS 系统的公司•如果开发一个助威设备,让李宇春歌迷更好地支持李宇春,业务建模以什么组织为研究对象比较合适?•A.玉米•B.天娱公司•C.李宇春工作室•D.助威设备生产厂商•如果开发一个新型商务网站挑战淘宝,业务建模以什么组织为研究对象比较合适?•A.淘宝公司•B.买家和卖家人群•C.淘宝公司开发团队•D.淘宝网站•以下说法正确的是•A.业务执行者在系统外面•B.业务工人在系统里面•C.业务实体可以取代业务工人的责任•D.业务实体可以取代业务实体的责任•以医院为研究对象,请将左右画线匹配•护士••••••业务执行者•:患者, 卫生局•患者•••••••••••••••••••••••••CT 扫描仪••••业务工人: 护士,医生,保安医生•••••••••••••••••••••••••保安••••••••业务实体•:CT扫描仪,医院信息系统医院信息系统•卫生局•以一家超市为研究对象做业务建模。
2015《面向对象分析与设计》复习题一、填空题1. 对象是由属性和操作构成的,前者描述事物的数据特征,后者描述事物的行为特征。
2. 面向对象的基本原则是抽象、分类、封装、消息通信、多态、行为分析和复杂性控制等。
3. UML的英文全称是Unified Modeling Language,中文全称是统一建模语言。
4. UML的通用机制是、和。
5.UML的扩展机制是、和。
6.OOA的中文全称是面向对象分析方法;OOD的中文全称是面向对象设计。
7.在面向对象分析中,使用图来描述系统的功能需求。
8.类图按照抽象层次不同,可分为阶段和阶段两种。
9.类的可见性包括、、protected和package四种。
10.在UML中,类之间的关系是、、和。
8. 图以独立的对象为中心进行,描述其随时间变化的动态行为。
9.协作图是由对象、和等要素构成的。
10.协作图和顺序图是视图的两种不同表现形式,属于系统的模型。
11.在活动图中,用于将活动按照职责进行分组,可以将转换路径分成多个部分,每一部分都有单独的和不同的结果。
二、1.以下说法错误..的是。
A) 多态性防止了程序相互依赖性而带来的变动影响B) 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果C) 多态性与继承性相结合使软件具有更广泛的重用性和可扩展性D) 封装性是保证软件部件具有优良的模块性的基础2.以下关于视图的说法,正确的是。
A) 用例视图从参与者角度,描述系统功能的实现细节B) 部署视图从物理角度,描述系统中各对象的空间组织关系C) 静态视图中的关系主要包括关联、泛化和依赖等D) 活动视图只能够表达顺序流程控制3.下列可视化建模工具中,开源的是。
A) Rational Rose B)Power Designer C) StarUML D) Visio 4.StarUML目前默认支持的代码生成功能的目标语言不.包括。
A) Visual Foxpro B)C# C) Visual C D)Java5.软件开发中的经典阶段包括、、、规范、、测试、部署和维护。
面向对象分析与设计试题一、选择题(每项选择 1.5分总分21 分)1、在确定类时,候选的类是所有的__________ 。
A) 名词B )形容词C )动词D )代词2、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有________________ 。
A) 隐藏复杂性B) 类的开发C) 经常类的复用D) 信息隐蔽3、面向对象的主要特征除对象惟一性、封装、继承外,还有 ____________ 。
A) 多态性B) 完整性C) 可移植性D) 兼容性4、软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫_______________ 。
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、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。
因此面向对象方法有许多特征,如软件系统是由对象组成的; ________ ;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
A) 开发过程基于功能分析和功能分解B) 强调需求分析重要性C) 把对象划分成类,每个对象类都定义一组数据和方法D) 对既存类进行调整10、在面向对象技术中,一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态性称为___(1)___ 。
面向对象分析与设计试题D卷面向对象分析与设计试题D卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题 1 分,共 20 分 )1. 到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( D )的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A. Simula67语言B. Smalltalk语言C. Java语言D. 统一建模语言(UML)的标准2.下列不属于面向对象技术的基本特征的是(B )。
A. 封装性B. 模块性C. 多态性D. 继承性3. 面向对象程序设计将描述事物的数据与 ( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象4. C++ 对 C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是 ( D )。
A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念5. 下列不属于类的成员函数的是 ( C )。
A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数6. 继承机制的作用是 ( C )。
A. 信息隐藏B. 数据封装C. 派生新类D. 数据抽象7. 通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定符( C )A.公有的B.受保护的C.友员的D.私有的8. 类模板经过实例化而生成具体 ( D )A. 对象B. 模板函数C. 函数模板D. 类9. 类的构造函数是在 ( B) 调用的。
A. 类创建时B. 创建对象时C. 删除对象时D. 不自动调用0 在公有继承的情况下,基类成员在派生类中的访问权限 ( B )A. 受限制B. 保持不变C. 受保护D. 不受保护11 . C++ 语言通过 ( B ) 来建立类族。
一、填空题
1. 对象是由属性和操作构成的,前者描述事物的数据特征,后者描述事物的行为特征。
2. 面向对象的基本原则是抽象、分类、封装、消息通信、多态、行为分析和复杂性控制等。
3. UML的英文全称是Unified Modeling Language,中文全称是统一建模语言。
4. UML的通用机制是、和。
5.UML的扩展机制是、和。
6.OOA的中文全称是面向对象分析方法;OOD的中文全称是面向对象设计。
7.在面向对象分析中,使用图来描述系统的功能需求。
8.类图按照抽象层次不同,可分为阶段和阶段两种。
9.类的可见性包括、、protected和package四种。
10.在UML中,类之间的关系是、、和。
8. 图以独立的对象为中心进行,描述其随时间变化的动态行为。
9.协作图是由对象、和等要素构成的。
10.协作图和顺序图是视图的两种不同表现形式,属于系统的模型。
11.在活动图中,用于将活动按照职责进行分组,可以将转换路径分成多个部分,每一部分都有单独的和
不同的结果。
二、
1.以下说法错误
..的是。
A) 多态性防止了程序相互依赖性而带来的变动影响
B) 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果
C) 多态性与继承性相结合使软件具有更广泛的重用性和可扩展性
D) 封装性是保证软件部件具有优良的模块性的基础
2.以下关于视图的说法,正确的是。
A) 用例视图从参与者角度,描述系统功能的实现细节
B) 部署视图从物理角度,描述系统中各对象的空间组织关系
C) 静态视图中的关系主要包括关联、泛化和依赖等
D) 活动视图只能够表达顺序流程控制
3.下列可视化建模工具中,开源的是。
A) Rational Rose B)Power Designer C) StarUML D) Visio
4.StarUML目前默认支持的代码生成功能的目标语言不.包括。
A) Visual Foxpro B)C# C) Visual C D)Java
5.软件开发中的经典阶段包括、、、规范、、测试、部署和维护。
A) 分析、需求、实现、设计
B) 需求、分析、设计、实现
C) 设计、实现、分析、需求
D) 需求、设计、分析、实现
6.类间常见的四种关系,按照强度递增
..排列,正确的是。
A) 复合、继承、聚合、关联
B) 继承、复合、聚合、关联
C) 关联、聚合、复合、继承
D) 关联、聚合、继承、复合
7.以下说法中,正确的是。
A) 用例图描述了系统的参与者与系统进行交互的功能
B) 用例图中的参与者只能由人担任
C) 交互视图包含类图和序列图
D) 活动图只能表示顺序流程控制
8.是需求阶段的主要产品。
A) 部署图B)用例图C)状态图D) 类图
9. 以下说法中,错误的是。
A) X3可以使用UC4与系统交互
B) X1可以使用UC1和UC4与系统交互
C) X2比X1、X3更具特殊性
D)UC3是没有步骤的抽象用例
10. 下图中,Class1、Class2和Class2是什么对象?
Class1Class2Class3
A) Class1是实体,Class2是控制者,Class3是边界
B) Class1是边界,Class2是实体,Class3是控制者
C) Class1是实体,Class2是边界,Class3是控制者
D) Class1是控制者,Class2是实体,Class3是边界
三、建模题
1. 用户登录火车票网上订票系统后,在用户界面上选择出发站、到站、日期和车次,提交订单给处理中心,并在45分钟之内在支付中心完成网上支付,视为订票成功。
画出顾客成功订票的序列图。
2.在火车票网上订票系统中,用户在未登录时可以进行余票查询(U8),在登录(U1)后可进行如下操作:(1)购票(U2):提交订单,并在45分钟之内完成网上支付(U3),视为订票成功
(2)订单查询(U4):
(3)密码修改(U5)
(4)退票(U6):不晚于开车前两小时,可退票
(5)改签(U7):不晚于开车前两小时,可进行改签
画出用户参与者的用例图。
3.用户登录火车票网上订票系统时,需要验证用户名、密码和验证码。
登录成功后可以进行购票、密码修改、个人资料维护、查询订单、改签、退票等活动,画出用户从登录到注销的活动图。
4.在火车票网上订票系统中,需要存储乘客的用户名、密码、姓名、身份证号码、手机号码、常用联系人(包括姓名、身份证号码和手机号码)等属性。
车票信息主要包括车次、出发站点、到达站点、乘车时间、票价、座位、乘客姓名和身份证号码等。
根据以上内容设计出乘客类、常用联系人类以及车票类,绘制出类图并标注类间关系。
5. 在火车票网上订票系统中,可以对订单状态的转移做出如下描述:顾客提交订单后,订单进入“待支付”状态,如果45分钟内支付成功,则转入“已支付”状态;否则订单转入“未支付失效”状态。
对于“已支付”的订单,未打印纸质车票前,顾客可于开车前两小时在系统中进行改签和退票(订单分别进入“已改签”和“已退票”状态)。
顾客打印纸质车票后,进入“已出票”状态。
对于“已出票”的订单,只能在车站的售票窗口进行改签和退票(注:车票只能改签一次)。
画出订单的状态图。