面向对象分析与设计简答题

合集下载

学第学期面向对象分析与设计试卷答案

学第学期面向对象分析与设计试卷答案

华南农业大学期末考试试卷(A卷-答案)2008学年第2学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟学号_______________________ 姓名_____________________ 年级专业_________________________、单项选择题(每题2分,共30分。

将正确答案填入下表)A.低内聚、低耦合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. 类与对象之间的关系,如同一个铸件和它的模具之际的关系。

uml系统分析与设计uml系统建模基础教程课后习题答案.docx

uml系统分析与设计uml系统建模基础教程课后习题答案.docx

UML系统建模基础教程课后答案第一章面向对象设计与UML1.填空题(1)UML(2)封装继承多态(3)继承(4)瀑布模型喷泉模型基于组件的开发模型XP开发模型2.选择题(1) C(2) A B C D(3) A B C D(4) A B C(5) A3.简答题1.试述对象和类的关系。

(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对彖是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。

类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类対象的抽象就是类.类描述了一组有相同特性和相同行为的对象。

第二章UML通用知识点综述1.填空题(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通用划分2.选择题(1) D(2) C(3) A(4) A B(5) D3.简答题(1)在UML中面向对象的事物有哪几种?在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。

(2)请说出构件的种类。

构件种类有:源代码构件、二进制构件和可执行构件。

(3)请说出试图有哪些种类。

在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。

(4)请说出视图和图的关系。

视图和图是包含和被包含的关系。

在每一种视图中都包含一种或多种图。

(5)请简述UML的通用机制。

UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。

逋常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML 建模。

UML提供的这些通用机制,贯穿于整个建模过程的方方面面。

前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。

第三章Rational统一过程1.填空题(1)角色活动产物工作流(2)逻辑视图过程视图物理视图开发视图用例视图(3)设计开发验证(4)二维(5)周期迭代过程里程碑2.选择题(1) A B C D(2) A C D(3) A C D(4) A B C(5) A B C D3.简答题(1)请描述迭代过程有几个阶段。

面向对象分析与设计简答题

面向对象分析与设计简答题

1、什么面向对象?面向对象不仅是以些具体的软件开发技术与策略,而且以一套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。

2、软件开发方法学的基本方法有哪些?1)软件工程和瀑布方法学2)新方法学:螺旋式、迭代式、递增式、合并式3)面向对象方法学:UML、RUP、XP3、为什么需要OOA OOD00A就是运用面向对象的方法进行需求分析,00A加强了对问题域和系统责任的理解,有利于人员之间的交流,对需求变化的适应性较强,很好的支持软件复用。

00D就是运用面向对象的方法进行系统设计,00D •符合人们习惯的思维方法,便于分解大型的复杂多变的问题;易于软件的维护和功能的增减;可重用性好;与可视化技术相结合,改善了工作界面。

4、从概念层次、规格层次、实现层次三个角度如何理解对象的概念?从概念层次来看,一个对象就是一系列的责任;从规格层次来看,一个对象是一系列可以被其他对象或该对象自己调用的方法;从实现层次来看,一个对象是一些代码和数据。

5、如何绘制类图和对象图?简述其步骤。

类图绘制:1发现类,找到备选类,确定候选类2关联分析,确定关联关系,多重性分析3职责分析4限定与修改,导航性分析,约束,限定符;对象图绘制:1发现类和对象2对其细化,分析,确定关系。

6、简述重定义方法与重载的区别。

重定义:1参数列表必须完全与被重写的方法相同2返回类型必须一直域被重写的方法的类型相同3访问修饰符的限制一定要大于被重写方法的访问修饰符4重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查性异常:重载:1必须有不同参数列表2可以有不同的返回类型,只要参数列表不同即可3可有不同访问修饰符4可抛出不同的异常。

7、简述抽象方法与虚方法的联系与区别虚方法有一个实现部分可以为子类实现有共同的方法,并为派生提供了覆盖该方法的选,抽象方法只是强制派生覆盖方法;抽象方法只能在抽象类中声明,而虚方法不是;抽象方法不能声明方法实体,虚方法可以;包含抽象方法的类不能实例化,但虚方法可以。

UML简答题汇总

UML简答题汇总

真题汇总1.什么是用例图?用例图有什么作用?定义:由参与者、用例以及他们之间的关系构成的用于描述系统功能的图称为用例图。

作用:(1)用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。

(2)用例图可视化的表达了系统的需求,具有直观、规范的特点,克服了纯文字性说明的不足。

(3)用例方法是完全从外部来定义系统的,它把需求和设计完全分离开来。

使用户不用关心系统内部是如何完成各种功能的。

2.简述面向对象分析方法(OOA)的5个基本步骤:(1)识别对象,识别对象包括标识潜在的对象和筛选对象.(2)识别对象的属性.(3)识别对象的行为。

(4)识别对象所属的类。

(5)定义主题词。

3.简述时序图的建模步骤:(1)设置交互语境。

(2)确定对象.(3)分析消息和条件。

(4)分析附加约束。

(5)对建模结果精华和细化。

4.RUP统一过程中的四个阶段.(1)初始阶段(2)细化阶段(3)构造阶段(4)移交阶段4.什么是模型?简述建模的目的.模型是为了理解事物而对事物做出的一种抽象。

是对事物规范化的、无歧义描述的一种工具。

目的:规范、可视化、建造、建档5.什么是UML?简述UML的内容及其特点?UML是面向对象工作组(OMG)系统的一种面向对象,用来对软件密集系统进行可视化建模,对开发的系统产品进行说明、可视化编制文档的一种标准建模语言。

内容:(1)UML语义:给出了基于UML的精确的主模型定义。

(2)UML表示法:定义了UML符号的表示方法,为开发者或开发工具使用这些图形符号和文本语法,给系统建模提供了标准。

特点:(1)有统一的标准,便于使用人员沟通.(2)是一种面向对象的建模语言.(3)可视化,表示能力强大,提供了扩展机制。

(4)容易使用。

6.UML2。

0中共有13种图,名称分别是什么?简要说明其作用。

用例图、类图、对象图、顺序图、通信图、活动图、状态机图、组件图、部署图、包图、复合结构图、交互概观图、定时图7.UML2.0中增加了2种交互图,他们的名称分别是什么?并简要说明其作用。

面向对象课后题答案

面向对象课后题答案
C. 使用内联函数,可以加快程序执行的速度,但会增加程序代码的大小
D. 使用内联函数,可以减小程序代码大小,但使程序执行的速度减慢
【结果分析】
内联函数主要是解决程序的运行效率问题。在程序编译时,编译系统将程序中出现内联函数调用的地方用函数体进行替换,进而减少了程序运行的时间,但会增加程序代码的大小。它是以空间换取时间,因此内联函数适用于功能不太复杂,但要求被频繁调用的函数。
B. 对象实际是功能相对独立的一段程序
C. 各个对象间的数据可以共享是对象的一大优点
D. 在面向对象的程序中,对象之间只能通过消息相互通信
【结果分析】
对象是计算机内存中的一块区域。在对象中,不但存有数据,而且存有代码,使得每个对象在功能上相互之间保持相对独立。对象之间存在各种联系,但它们之间只能通过消息进行通信。
C. C++对C语言进行了一些改进 D. C++和C语言都是面向对象的
【结果分析】
C语言是面向过程的。C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。
(6) 面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。
A. 算法 B. 信息 C. 数据隐藏 D. 数据抽象
四、 判断题
(1) 在高级程序设计语言中,一般用类来实现对象,类是具有相同属性和行为的一组对象的集合,它是创建对象的模板。( √ )
(2) C++语言只支持面向对象技术的抽象性、封装性、继承性等特性,而不支持多态性。( × )
【结果分析】
C++语言不仅支持面向对象技术的抽象性、封装性、继承性等特性,而且支持多态性。

uml面向对象的分析与设计考题与答案

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》期末总复习

《面向对象分析与设计UML》期末总复习

《面向对象分析与设计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的需求分析模型中,用例建模必须与()反复交流并加以确认。

2010-2011第一学期面向对象分析与设计试题

2010-2011第一学期面向对象分析与设计试题

2010-2011第一学期面向对象分析与设计试题一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1 分,共20 分)1. ( D )是对具有相同属性和行为的一组对象的抽象描述。

A. 实体B. 对象C. 类模板D. 类2. 一类对象向另一类对象所发消息的格式中不包括(D )。

A. 对象名B. 操作函数名C. 参数表D. 类名3.面向对象技术的三大机制不包括(A )。

A. 抽象B. 封装C. 多态D. 继承4.从整体功能层面考虑类的设计应遵循下列三条原则,除了(B)。

A. 单一功能原则B. 封装原则C. 最小惊讶原则D. 开放/封闭原则5. 可以在类外访问类的(C )。

A. 私有成员B. 受保护性成员C. 公有成员D. 纯虚函数6. 类的(D)是供创建类的实例对象时调用,完成对象的初始化。

A. 内联函数B. 析构函数C. 友员函数D.构造函数7. 派生类可以继承( B )。

A. 私有成员B. 部分公有成员C. 构造函数D. 析构函数8. 如果合理地利用(B),就可以在类的复杂层次关系中为共享访问与成员隐蔽之间找到一个平衡点,既实现部分成员隐蔽,又能方便部分成员的继承,实现代码的高效重用和扩充。

A. 私有继承B. 保护继承C. 公有继承D. 多继承9. 如果将某类族中的一个同名成员函数说明为虚函数,则可用(C )来调用不同派生类的虚函数,实现运行时多态。

A. 基类对象B. 派生类对象C. 基类对象的指针D. 派生类对象的指针10. C++中既可实现文件输入又可实现文件输出的类是( D )A. ifstreamB. ofstreamC. iostreamD. fstream11.基类中的protected 成员,通过public派生,其在派生类中的可见性为(C)。

A. 不可访问B. privateC. protectedD. public12. 在C++程序中,对象之间的相互通信可以通过(B )来实现。

面向对象分析与设计(试卷及答案)

面向对象分析与设计(试卷及答案)

《面向对象分析与设计》考试试卷(第一套)课程号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面向对象分析与设计教程课后习题答案简答题部分

UML面向对象分析与设计教程课后习题答案简答题部分

简答题第一章1.面向对象设计的基本特征有哪些?这些特征对软件设计有何帮助?封装性继承性多态性在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码.2.类与对象的区别是什么?类是抽象的,不具体的。

就像有些东西可以归为一类,比如说狗,猫,猪。

它们都是动物,我们就可以归为一类。

而猫,狗就是动物类中的一个对象。

3.什么是软件生命周期?生命周期包括几个阶段?软件的生命周期,亦称软件的生存周期。

它是按开发软件的规模和复杂程度,从时间上把软件开发的整个过程(从计划开发开始到软件报废为止的整个历史阶段)进行分解,形成相对独立的几个阶段,每个阶段又分解成几个具体的任务,然后按规定顺序依次完成各阶段的任务并规定一套标准的文档作为各个阶段的开发成果,最后生产出高质量的软件。

分为:一般分为定义,开发,维护三大阶段,定义阶段有可行性论证和开发计划,需求分析,开发阶段有概要设计,详细设计和编码,维护阶段有测试,运行维护4.面向对象与uml的关系?umL是统一建模图,用于便于描述类之间的关系等,是用来帮助你更好进行面向对象的设计。

5.面向对象设计与传统软件相比,有何优点?更有针对性更容易让客户满意减少修改提高效率第二章模型元素有哪些?UML中模型元素太多了,比如用例图中的元素有用例,角色,扩展关系,包含关系,类图中的元素有类,接口,关联等等,每一种框图都有各自独有的元素2.简述uml通用机制组成以及它的作用?一、修饰。

在使用UML语言建模时,可以将图形修饰附加到UML图中的模型元素上。

比如,当一个元素代表某种类型的时候,它的名称可以用粗体字形类显示;当同一元素表示该类型的实例时,该元素的名称用一条下划线修饰。

二、注释。

UML语言中用一条虚线将注释连接到它为之解释的或细化的元素上。

(完整版)面向对象分析与设计练习题含答案

(完整版)面向对象分析与设计练习题含答案

(完整版)⾯向对象分析与设计练习题含答案⾯向对象分析与设计试题B卷⼀、单项选择题( 在每⼩题的四个备选答案中,选出⼀个正确答案,并将正确答案的序号填在题⼲的括号内。

每⼩题2 分,共20 分)/* 上个世纪80年代开始⾄今还盛⾏的以Smalltalk,C++等为代表的⾯向对象软件开发⽅法(00)*/1.到20世纪末,⾯向对象软件⼯程已经逐渐发展成熟,特别是(D)的形成和⼴泛使⽤,采⽤⾯向对象分析与编程的软件开发⽅法已成为软件开发的主流⽅法。

A. Simula67语⾔(20世纪70年代的Simula-67是第⼀个⾯向对象的语⾔)B. Smalltalk语⾔(80年代初的Smalltalk语⾔)C. Java语⾔(对流⾏的语⾔进⾏⾯向对象的扩充得到的语⾔或C++)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. 类图C. 序列图D. ⽤例图7. (C ) 是表达系统类及其相互联系的图⽰,它是⾯向对象设计的核⼼,建⽴状态图、协作图和其他图的基础。

A.对象图 B. 组件图 C. 类图 D. 配置图**8.(D)描述了⼀组交互对象间的动态协作关系,它表⽰完成某项⾏为的对象和这些对象之间传递消息的时间顺序。

面向对象课后题答案

面向对象课后题答案

第1章面向对象程序设计概论面向对象程序设计教程(C++语言描述)题解与课程设计指导第1章面向对象程序设计概论一、名词解释抽象封装消息【问题解答】面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。

面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。

消息是面向对象程序设计用来描述对象之间通信的机制。

一个消息就是一个对象要求另一个对象实施某种操作的一个请求。

二、填空题(1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。

(2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。

(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。

(4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。

(5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。

三、选择题(至少选一个,可以多选)(1)面向对象程序设计着重于( B )的设计。

A. 对象B. 类C. 算法D. 数据(2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做(C )。

A. 抽象B. 继承C. 封装D. 多态(3)在面向对象程序设计中,类通过( D )与外界发生关系。

A. 对象B. 类C. 消息D. 接口(4)面向对象程序设计中,对象与对象之间的通信机制是(C )。

A. 对象B. 类C. 消息D. 接口(5)关于C++与C语言的关系的描述中,(D )是错误的。

A. C语言是C++的一个子集B. C语言与C++是兼容的C. C++对C语言进行了一些改进D. C++和C语言都是面向对象的【结果分析】C语言是面向过程的。

C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。

面向对象技术样题(附答案)

面向对象技术样题(附答案)

一、选择题(20分,共10题,每题2分)1. 关于方法论与方法的关系的描述错误的是(B )A.方法论是一种观点,是一个有理论意义的架构。

B.方法包括理论与模型两个重要的方面。

C.面向对象的方法论的重要观点是:封装、数据隐藏、多态、关系等。

D.不同的方法可以属于同一种方法论。

2.关于信息隐藏的描述错误的是(C)A.信息隐藏是指对象在与外界的交互中,尽可能地隐藏对象的内部细节,仅保留有限的对外接口与外部进行联系。

B.信息隐藏既可以隐藏属性,也可以隐藏操作。

C.一个对象信息隐藏的内容对任何对象都是一样的,并不随与之交互的对象的不同而改变。

D.信息隐藏的原则是公开不变的操作,隐藏易变的操作。

3.关于多态的描述正确的是(D)A.多态是指在聚合关系中的各个类中名字相同的属性和操作具有不同的意义。

B.多态的实现机制是编译时静态链接。

C.函数名重载(overload) 会导致多态现象出现。

D.多态可实现接口复用,节省大量的编码工作量.4.关于重载(overload)与覆盖(override)的说法正确的是(D)。

A.如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的函数名,那么称子类对父类的f(x)进行了覆盖。

B.如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的基调,那么称子类对父类的f(x)进行了重载。

C.重载导致多态,覆盖与多态无关。

D.覆盖由动态链接实现,重载由静态链接实现。

5.关于用况图与类图的描述正确的是(D)。

A.参与者是用况图中的元素,类是类图中的元素,二者没有关系。

B.用况图中用况应全部识别为类图中的同名类。

C.用况图中参与者应全部识别为类图中的同名类。

D.用况图中参与者有可能识别为类图中的主动类6.关于状态图的陈述正确的是(C)A.一个对象自身的属性值变化不能作为其状态图中的事件。

B.历史状态是指一个对象以前曾经所处的状态集合。

C.动作是在状态内或在转化时所做的操作,是原子的和即时的。

《软件工程案例教程》李军国主编习题答案

《软件工程案例教程》李军国主编习题答案

《软件⼯程案例教程》李军国主编习题答案第1章习题答案⼀、判断题⼆、填空题三、简答题1.软件的特点:①软件具有抽象性。

②软件与硬件的⽣产⽅式不同。

③软件与硬件的维护⽅式不同。

④软件具有复杂的逻辑性。

⑤软件的成本较⾼。

⑥软件的使⽤和社会因素有关。

2.软件危机产⽣的原因:①⽤户需求不明确。

②缺乏正确的理论指导。

③软件开发规模越来越⼤。

④软件开发复杂度越来越⾼。

3.软件危机的主要表现:①软件开发进度难以预测。

②软件开发成本难以控制。

③⽤户对产品功能难以满⾜。

④软件产品质量⽆法保证。

⑤软件产品难以维护。

⑥软件缺少适当的⽂档资料。

4.软件⼯程学的基本原则有哪些:①抽象。

②信息隐蔽。

③模块化。

④局部化。

⑤确定性。

⑥⼀致性。

⑦完备性。

⑧可验证性。

5 什么是软件的⽣命周期?答案:软件与任何⼀个事物⼀样,有它的孕育、诞⽣、成长、成熟、衰亡的⽣存过程。

这就是软件的⽣存周期。

6 软件⼯程过程有哪⼏个基本过程活动?试说明之。

答案:软件⼯程过程的基本过程活动有4步:①软件规格说明(需求定义)。

规定软件的功能及其运⾏的限制;②软件设计与开发(设计开发)。

产⽣满⾜规格说明的软件;③软件确认(测试)。

确认软件能够完成客户提出的要求;④软件演进(维护)。

为满⾜客户的变更要求,软件必须在使⽤的过程中演进。

四、综合题1.详细说明软件⽣命周期分哪⼏个阶段?答案:软件⽣命周期主要分为6个阶段:软件项⽬计划、软件需求分析和定义、软件设计、程序编码、软件测试,以及运⾏维护。

(1)软件项⽬计划:在这⼀步要确定软件⼯作范围,进⾏软件风险分析,预计软件开发所需要的资源,建⽴成本与进度的估算。

根据有关成本与进度的限制分析项⽬的可⾏性。

(2)软件需求分析和定义:在这⼀步详细定义分配给软件的系统元素。

可以⽤以下两种⽅式中的⼀种对需求进⾏分析和定义。

⼀种是正式的信息域分析,可⽤于建⽴信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。

另⼀种是软件原型化⽅法,即建⽴软件原型,并由⽤户进⾏评价,从⽽确定软件需求。

信息系统分析与设计复习题

信息系统分析与设计复习题

信息系统分析与设计复习题第三章一、名词解释:信息系统的生命周期:分为系统规划、系统分析、系统设计、系统实施、系统运行维护。

对象的属性:反应对象的信息特征,如特点、值、状态等等。

对象的方法:用来定义改变属性状态的各种操作。

封装性:面向对象方法中,程序和数据时封装在一起的,对象作为一个实体,期操作隐藏在方法中,期状态有对象的“属性”来描述,并且只能通过对象中的“方法”来改变,从而外界无从得知。

二、解答题:1.、信息系统建设涉及的因素有哪些?(1)文化、社会因素,(2)科学理论因素,(3)技术方法因素,(4)专业领域知识因素,(5)环境多变因素,(6)组织管理因素,(7)经济效益因素2、简述诺兰阶段模型的划分?(1)初装阶段,(2)蔓延阶段,(3)控制阶段,(4)集成阶段,(5)数据管理阶段(6)成熟阶段3、简述企业信息系统建设部门(IT)部门的组织功能?(1)应用程序的开发,(2)系统支持,(3)用户支持,(4)数据库管理,(5)网络管理,(6)web支持。

4、简述信息系统的生命周期各阶段包括的内容?(1)信息系统规划:对企业的环境、目标、现行系统的状况进行初步调查,根据企业目标和发展战略分析各级部门的信息需求,确定信息系统的目标、功能、规模、资源,对建设新系统的需求做出分析和预测,并根据需求的轻重缓急、现有资源状况和应用环境的约束,合理安排建设计划,从经济、技术、等方面研究建设新系统的必要性和可能性。

(2)信息系统规划:根据系统设计任务书确定的范围,对现行系统进行详细调查,描述现行系统的义务流程,指出现行系统的局限性和不足之处,确定新系统的旗本目标和逻辑功能要求》(3)信息系统设计:根据系统需求说明书中规定的功能要求,考虑具体设计以实现逻辑模型的技术,即设计新系统的物理模型,所以这个阶段有分为物理设计阶段。

(4)信息系统实施:将设计的系统付诸实践的阶段,该阶段的任务是根据系统设计报告所确定的物理模型,将设计方案转为计算机上可实际运行的人机信息系统,并编写系统实施报告。

UML简答题

UML简答题

«简答题»软件过程模型的含义软件过程(so f t wa r e E n g i nee rin g P rocess)是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

通常使用生命周期模型简洁清地描述软件过程。

生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。

«简答题»什么是面向对象分析与设计?答: 分析强调的是对同题和需求的调査研究而不是解决方案。

面向对象的分析过程中, 强调的是在问题领域内发现和描述对象或概念。

设计强调的是満足需求的概念上的解决方案, 而不是其具体实现。

面向对象的设计过程中, 强调的是软件对象的职责分配以及他们如何协作以实现需求。

«简答题»22.uML软件开发过程的特征是什么?uML软件开发的基本特征是: 以用例驱动开发过程, 以系统体系结构为中心, 以质量控制和风险管理为目标, 采用反复(迭代、循环)、渐增式的螺旋上升式开发过程。

«简答题»24.uML中的类图建模的目的与意义是什么?类图是用类和它们之间的关系描述系统的一种图示,展示了系统中类的静态结构和类与类之间的相互联系,表示一个系统的逻辑结构.类图是构件其他图的基础,没有类图,也就没有状态图、合作图等其他图,也就无法表示系统的其他各个方面。

«简答题»什么是uML?答: uML是一种用来明确、构建和文档化软件系统制品的通用可视化建模语言。

uML是图形化表示法的事实标准, 用来绘制和展示与软件(特别是OO软件)相关的图形以及文字。

在RuP的“4+1”视图中,这个1表示的是什么,它有什么作用。

这个1是用例视图。

它是最基本的需求分析模型, 是由可被最终用户看到的系统行为的用例组成。

常用的模型包括用例图、交互图、状1态图、活动图等«简答题»用例、用例模型用例:是一个叙述型文档,用来描述一个参与者(一个外部的主动者)使用系统完成某个过程时的事件发生顺序。

08学年第2学期面向对象分析与设计试卷(B)_答案

08学年第2学期面向对象分析与设计试卷(B)_答案

华南农业大学期末考试试卷(B卷)2008学年第2学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业一、单项选择题(每题2分,共30分。

将正确答案填入下表)1.下面关于面向对象方法中消息的叙述,不正确的是()。

BA.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息。

B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息。

C.应用程序之间可以相互发送消息。

D.发送与接收消息的通信机制与传统的子程序调用机制不同。

2.面向对象技术中,对象是类的实例。

对象有三种成分:()、属性和方法(或操作)。

AA.标识B.规则C.封装D.消息3~5:在UML提供的图中,可以采用(3)对逻辑数据库模型建模;(4)用于接口、类和协作的行为建模,并强调对象行为的事件顺序;(5)用于系统的功能建模,并强调对象间的控制流。

D、B、CA.用例图B.构件图C.活动图D.类图A.协作图B.状态图C.序列图D.对象图A.状态图B.用例图C.活动图D.类图6.采用面向对象技术开发的应用系统的特点是()。

AA.重用性更强B.运行数度更快C.占用存储量小D.维护更复杂7.继承反映了类间的一种层次关系,而()反映了一种整体与部分的关系。

BA.继承B.组合C.封装D.多态8.下列叙述中正确的是()。

CA.面向对象程序设计语言都不支持过程化的程序设计B.面向对象系统只可采用面向对象设计语言实现C.某些过程化程序设计语言也可实现面向对象系统D.面向对象程序设计语言不支持对成员变量的直接访问9.面向对象的特点主要概括为()。

CA.可分解性、可组合性、可分类性B.继承性、封装性、多态性C.抽象性、继承性、封装性、多态性D.封装性、易维护性、可扩展性、可重用性10.下列关于面向对象方法中描述中错误的是()。

CA.使用设计模式有助于在软件开发中应用面向对象技术B.选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度C.UML作为一种可视化建模语言需要与RUP开发过程同时使用D.目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法11.在类图中,那个类图中的类Order所生成的代码具有public class Order {public Customer recipient;}的形式?()AA. B.C D.12.关于用例与类的对比中()是错误的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、什么面向对象?
面向对象不仅是以些具体的软件开发技术与策略,而且以一套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。

2、软件开发方法学的基本方法有哪些?
1)软件工程和瀑布方法学2)新方法学:螺旋式、迭代式、递增式、合并式3)面向对象方法学:UML、RUP、XP
3、为什么需要OOA、OOD。

OOA就是运用面向对象的方法进行需求分析,OOA加强了对问题域和系统责任的理解,有利于人员之间的交流,对需求变化的适应性较强,很好的支持软件复用。

OOD就是运用面向对象的方法进行系统设计,OOD.符合人们习惯的思维方法,便于分解大型的复杂多变的问题;易于软件的维护和功能的增减;可重用性好;与可视化技术相结合,改善了工作界面。

4、从概念层次、规格层次、实现层次三个角度如何理解对象的概念?
从概念层次来看,一个对象就是一系列的责任;
从规格层次来看,一个对象是一系列可以被其他对象或该对象自己调用的方法;从实现层次来看,一个对象是一些代码和数据。

5、如何绘制类图和对象图?简述其步骤。

类图绘制:1发现类,找到备选类,确定候选类2关联分析,确定关联关系,多重性分析3职责分析4限定与修改,导航性分析,约束,限定符;
对象图绘制:1发现类和对象2对其细化,分析,确定关系。

6、简述重定义方法与重载的区别。

重定义:1参数列表必须完全与被重写的方法相同2返回类型必须一直域被重写的方法的类型相同3访问修饰符的限制一定要大于被重写方法的访问修饰符4重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查性异常:重载:1必须有不同参数列表2可以有不同的返回类型,只要参数列表不同即可3可有不同访问修饰符4可抛出不同的异常。

7.简述抽象方法与虚方法的联系与区别
虚方法有一个实现部分可以为子类实现有共同的方法,并为派生提供了覆盖该方法的选,抽象方法只是强制派生覆盖方法;抽象方法只能在抽象类中声明,而虚方法不是;抽象方法不能声明方法实体,虚方法可以;包含抽象方法的类不能实例化,但虚方法可以。

8、简述使用继承的规则。

1)、不要过度使用;2)、子类应是超类的一个类型;3)、子类应是超类的扩展;
4)、尽量少从具体类继承,最好继承接或抽象类。

9、理解封装的含义?
封装是指将抽象得到的数据和行为或功能相结合形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合形成类,其中的数据和函数都是累的成员。

10、常用的设计模式有那些?
单例模式,适配器模式,工厂模式,抽象工厂模式,装饰模式,观察者模式,外观模式。

11、简述设计模式的原则。

“开-闭”原则(OCP),软件对象应该对扩展开放,对修改关闭;
里氏代换原则(LSP),基类出现的地方,子类一定可以出现;
依赖倒转原则(DIP),要依赖于抽象,不要依赖于实现;
合成/聚合复用原则(CARP),尽量使用合成/聚合,而不是用继承达到复用;单一单一职责原则(SRP),就一个类而言,应该只有一个引起它变化的原因;
迪米特原则(LOD),一个软件实体与尽可能少的实体相互作用;
接口隔离原则(ISP),为客户端提供尽可能小的单独的接口
12、什么是多态性?
面向对象系统的多态性是指统一操作作用于不同的类的实例,将产生不同的执行结果,即是不同的类的对象收到相同的消息时得到不同的结果,它包括编译时多态性,运行时多态性。

13、发现对象有那些原则?
为了全面准确的发现系统所需要的对象,应该把握先多后少的原则,即首先要考虑各种启发自己发现对象的因素,尽可能找出对系统活动域可能有用的候选对象,宁可多条,不可遗漏;然后对所有的候选对象进行严格审查,筛选掉那些不必要的对象,或者对它们进行适当的调整和合并,使系统中对象的数量尽可能少。

14、研究问题域有那些工作要点?
阅读相关相关文档,与用户交流,进行实地调查,记录所得认识,整理相关资料,认真听取问题域专家的见解,借鉴他人经验。

15、如何发现系统中对象的属性和方法?
发现属性的策略:1按一般常识,该对象应该有哪些属性,2在问题域中,该对象应该有哪些属性3根据系统责任的要求,该对象应该有哪些属性4建立这个对象是为了保存和管理哪些属性5对象为了在服务中实现其功能,需要增设哪些属性6对象需要有哪些区别的状态,是否增设一个属性来管理这些状态,7用什么属性来表示整体部分结构和实力相连;
发现方法的策略:1考了系统责任2考虑问题域3分析对象状态,每一种状态下对象发生什么行为,状态的迁跃是由什么操作引起的4追踪服务的执行路线,从顺序图入手。

public Product factory(){
return new ConcreteProduct();
}
}
public interface Product{
public abstract ConcreteProduct();
}
public class ConcreteProduct implements Product{
public ConcreteProduct(){ }
} //简单工厂模式框架代码extends 继承
p ublic class EagerSingleton{
Private static EagerSingleton m_instance=new EagerSingleton(); Private EagerSingleton() {}
public static EagerSingleton(){
ruturn m_instance;
}
}//饿汉单例
Private static LazeSingleton m_instance=nell;
Private LazeSingleton() {}
Synchronized public static LazeSingleton getInstance(){ If(m_instance==null){
m_instance=new LazeSingleton
}
ruturn m_instance;
}
}//懒汉单例
public class EmployeeFactory {
public static Employee createEmployee(String emp){ Employee employee = null;
if(emp.equalsIgnoreCase("Sales")){
employee = new Sales();
}
if(emp.equalsIgnoreCase("Managers")){
employee = new Managers();
}
if(emp.equalsIgnoreCase("Engineers")){
employee = new Engineers();
}
return employee;}}//。

相关文档
最新文档