软件工程复习-面向对象的分析与设计题

合集下载

面向对象分析与及设计习题及答案

面向对象分析与及设计习题及答案

面向对象分析与及设计习题及答案一、单项选择题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)等。

面向对象分析与设计试题B卷及答案

面向对象分析与设计试题B卷及答案

面向对象分析与设计试题B卷及答案面向对象分析与设计试题(2011.12)一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号写在答题纸上。

每小题 1 分,共20 分)1.下列活动中,__C___ 属于面向对象设计阶段。

A.构建用例模型 B.识别分析类C.用例动态建模 D.绘制组件图2.面向对象方法认为客观世界是由各种各样的事物或实体组成,每个事物或实体都可用一个___D__来表示。

A. 实例B. 类C. 类模板D. 对象3. __B___可作为一种用户自定义类型来创建对象。

A. 实体B. 实例C.类D. 类模板4. __B___是对象之间的通信机制。

A. 成员函数B. 消息C. 参数表D. 友元函数5._D_____是实现“一种接口,多种方法”的机制。

A. 抽象B. 封装C. 多态D. 继承6. 下列原则中,__B____不是类的设计应遵循的三条基本原则之一。

A. 封装原则B. 开放/封闭原则C. 最小惊讶原则D. 单一功能原则7. 一个类的友元函数可以访问该类中的__B____。

A. 私有成员B. 受保护性成员C. 公有成员D. 所有成员8. 当要创建对象时,__D____将被调用来为对象做初始化。

A. 静态成员函数B. 友员函数C. 构造函数D.析构函数9. ___C___是实现“一种接口,多种方法”的技术。

A. 抽象B. 封装C. 多态D. 继承10. 如果某基类的一个成员函数被说明为___D___,则该成员函数在派生类中可以有不同的函数实现。

A. 内联函数B. 静态函数C. 友元函数D. 虚函数11. 在二进制模式下,可利用文件输入/输出流类中定义的__C____函数将所有数据以字符形式存储到文件里。

A. loadB. saveC. writeD. read12. 基类中的public 成员,通过protected派生,其在派生类中的可见性为___D___。

A. privateB. 不可访问C. publicD. protected13. __D____是数据类型抽象化或参数化的类。

软件工程试题及答案

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。

A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型5. 在E-R模型中,包含以下基本成分( )。

A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( c )A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a )A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。

A.数据流B.系统结构C.控制结构D.信息流14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试16.需求分析的产品是( D )A.数据流程图案B.数据字典C.判定表D.需求规格说明书17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )A.数据库设计B.数据通信C.数据定义D.数据维护18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型(×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。

面向对象分析与设计练习题及参考答案

面向对象分析与设计练习题及参考答案

《面向对象分析与设计》练习题及参考答案一、思考题:1. How many phases are included in system development? (brief description)2. Describe a system and the components of a system model.3. What two key components distinguish an information 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 designer’s and system builder’s roles in information systems development?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. 面向过程的系统分析与设计存在的问题是什么?通过什么OO技术来解决?17. 请画图说明面向对象系统的基本构造。

《面向对象分析与设计》练习题及参考答案.doc

《面向对象分析与设计》练习题及参考答案.doc

《面向对象分析与设计》练习题及参考答案一、思考题: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技术来解决?仃•请湎图说明而向对象系统的基本构造。

面向对象分析与设计试题总结

面向对象分析与设计试题总结

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

每小题2 分,共20 分)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)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。

面向对象分析与设计

面向对象分析与设计

面向对象分析与设计面向对象分析与设计(Object-oriented analysis and design)是软件工程领域中的一种方法论,用于解决软件系统开发过程中的问题和需求。

本文将对面向对象分析与设计的基本概念、流程和常用方法进行介绍,并附带答案和解析。

第一部分:面向对象分析(Object-oriented analysis)面向对象分析是软件开发过程中的第一步,旨在理解问题域并建立领域模型。

面向对象分析有以下几个重要概念:1. 对象(Object):对象是系统中的一个实体,包含数据和方法。

对象可以是具体的实物、虚拟的概念或一组相关的数据和行为。

2. 类(Class):类是一种抽象的定义,描述了一组具有相同特征和行为的对象。

3. 属性(Attribute):属性是对象的特征,用于描述对象的状态。

4. 方法(Method):方法是对象的行为,用于描述对象可以执行的操作。

面向对象分析的主要流程包括以下步骤:1. 需求收集:收集系统的需求,与利益相关者沟通,了解系统的功能和性能要求。

2. 领域建模:对现实世界的问题域进行抽象和建模,识别出系统中的对象和它们之间的关系。

3. 需求分析与规约:通过使用用例、活动图和状态图等工具对需求进行分析和规约,明确功能和交互细节。

4. 领域模型验证:与利益相关者验证领域模型的准确性和实用性,确保模型能够满足系统需求。

第二部分:面向对象设计(Object-oriented design)面向对象设计是在面向对象分析的基础上,进一步细化领域模型,为系统的实现提供指导。

面向对象设计有以下几个常用方法:1. 类图(Class diagram):类图用于展示类、属性和方法之间的关系。

类图包括类的名称、属性和方法,并通过关联、继承和聚合等关系展示类之间的联系。

2. 对象图(Object diagram):对象图用于展示类的实例和对象之间的关系。

对象图是类图的实例化表示,展示了系统在某一时刻的对象及其特定的属性值。

软件工程复习-面向对象的分析与设计题

软件工程复习-面向对象的分析与设计题

软件工程复习-面向对象的分析与设计题此部分内容包括教材第2、7、8、10章内容一、填空题1. 面向对象开发方法一改过去传统的以_______________为基础的______________的结构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列_______的集合,其______________又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的______,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与____________在结构上尽可能一致。

因此,采用面向对象方法可以更有效地开发大型软件系统。

面向对象方法的________、________、_________等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服____________。

因此,它已成为成熟的广为采用的软件开发方法。

2. 对象是客观实体的抽象表示,是由__________________________和________________________两部分组成。

而______是对具有相同属性和行为的一组对象的抽象描述。

因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的___________。

通过________关系又可形成一种类层次结构。

在类层次结构的不同类中,可用相同的函数名实现功能不同的函数,面向对象技术的这种特性叫做___________。

3. UML中用于描述系统的交互行为的视图称为动态视图,包括________、_________、__________和__________。

二、选择题1、面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。

A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象2、()是从用户使用系统的角度描述系统功能的图形表达方法。

软件工程复习题答案

软件工程复习题答案

1、面向对象的程序设计方法具有比结构化程序设计方法无比优越性,是因为(B)A、OO方法具有封装性、动态性、多态性B、O O方法具有封装性、继承性、多态性C、O O方法具有封装性、客观性、动态性D、OO方法具有客观性、动态性、动态性2、UML中采用(C )表现系统的动态性(类图表示对象的结构,用状态图表示对象的内部活动)A、类图(静)B、对象图(静)C、交互图D、配置图(静)3、软件工程是一门交叉学科,其研究领域包括(ABD )。

A、软件开发模型与开发方法B、软件开发环境与工具C、计算机辅助设计与制造CAD/CAMD、软件工程经济学4、软件质量的好坏决定着软件的生命力,一般说来,一个质量好的软件应具备(D )。

A、功能正确、界面友善、占内存少、足够可靠、易于维护B、功能正确、结构良好、程序短小、足够可靠、易于维护C、功能正确、界面友善、速度足够、足够可靠、易于维护D、功能正确、界面友善、程序易读、结构良好、文档齐全5、黑盒子、白盒子测试法是常采用的测试方法,其中白盒子测试主要用于测试(D )。

A、结构合理性B、软件功能(黑盒子)C、程序正确性D、程序内部结构6、在以下几种耦合中,最低耦合是(C )。

A、数据耦合(较低)B、内容耦合(最强)C、非直接耦合D、公共耦合(较强)7、可行性研究的主要任务是了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定( B )。

A、项目总体规划B、初步项目开发计划C、需求规格说明书(需求分析)D、总体解决方案8、软件系统开发对技术性能的指标要求主要包括:存储容量限制、执行速度、响应时间和(A )等。

A、吞吐量B、安全性C、正确性D、可靠性9、需求分析过程负责分析当前系统与目标系统的差别,建立目标系统的(B )A、物理模型B、逻辑模型C、过程模型D、数据模型10、问题分析图(PAD)包括的基本控制结构有:顺序结构、选择结构、重复结构和(B )。

面向对象分析与设计试题A卷及答案

面向对象分析与设计试题A卷及答案

面向对象分析与设计试题 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)不属于这类视图。

软件需求分析与设计复习题-软件工程

软件需求分析与设计复习题-软件工程

软件需求分析与设计复习题一.判断1、( × ) 程序设计语言种类很多,在进行软件开发时可以随便选择一种语言进行编码。

2. ( x ) 软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。

3、(× ) 在软件开发的各个阶段进行过程中,增加人员肯定会对整个项目提前完成有好处。

4.( x ) 好的测试用例应能证明软件是正确的。

5.( x ) 软件功能测试的测试用例主要是由需求阶段的功能说明部分转化而来。

6、( x ) CoCoMo模型可以用来估算系统的工作量和软件开发所需时间。

7.( x ) 有时为了测试的方便,而可以局部地修改软件系统。

8、( v ) OOA方法的核心思想是利用面向对象的概念和方法为软件需求建造模型,大致步骤是识别对象(属性和方法),识别类及其结构,定义对象之间的消息传递等。

9.( x ) 面向对象方法更适合于软件重用的根本原因在于它是软部件唯一的合成技术。

10、( v ) 系统需求分析员应该具有开发软、硬件系统的经验并且了解用户领域的知识。

11.( x ) 在软件的生命周期中,工作量最大的一个阶段就是编写程序。

12、( x )软件运行正确,可见软件中没有缺陷(fault)。

13.( x ) RUP(Rational Unified Process:统一软件过程)本质上是轻量级的软件过程规范。

14、( v )软件失败(failure)在系统交付之前和交付之后都可能被发现。

15.( x ) 基准测试(benchmark test)是非正式的用户确认和验收测试。

16、( x )开发人员和客户对软件质量因素的认可是完全一致的。

17.( x ) UML语言支持面向对象的主要概念,并与具体的开发过程相关。

18、( v )里程碑(milestone)就是开发过程中的某个活动(activity)。

19.( v ) 好的软件测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

面向对象分析与设计习题及部分答案

面向对象分析与设计习题及部分答案

《面向对象分析与设计》习题及部分答案第一章 概论1.什么是面向对象方法?面向对象的基本原则主要有哪些?答:面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。

面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。

面向对象的基本思想主要有:1)从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。

这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象)2)用对象的属性表示事物的性质;用对象的操作表示事物的行为。

(属性与操作)3)对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节。

(对象的封装)4)对事物进行分类。

把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。

(分类)5)复杂的对象可以用简单的对象作为其构成部分。

(聚合)6)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。

特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档。

(继承)7)对象之间通过消息进行通讯,以实现对象之间的动态联系。

(消息)8)通过关联表示类(一组对象)之间的静态关系。

(关联)2.与传统开发方法比,面向对象方法有什么优点?答:面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。

与传统方法相比,面向对象的方法主要优点有:1)从认识论的角度可以看出,面向对象方法改变了人们认识世界的方式;2)语言的发展——鸿沟变窄;3)面向对象方法使得从问题域到计算机间的鸿沟变窄;4)面向对象方法有助于软件的维护与复用;(1)把易变的数据结构和部分功能封装在对象内并加以隐藏,一是保证了对象行为的可靠性;二是对它们的修改并不会影响其他的对象,有利于维护,对需求变化有较强的适应性。

面向对象分析与设计(第二版)习题答案

面向对象分析与设计(第二版)习题答案

面向对象分析与设计(第二版)习题答案第一章:面向对象基础知识1.1 什么是面向对象分析和设计?面向对象分析和设计(Object-Oriented Analysis and Design,OOAD)是软件工程中一种常用的方法论,通过将问题领域进行建模,通过对象、类、继承、封装等概念来描述现实世界中的实体、关系和行为。

面向对象分析和设计的目标是开发出可复用、可维护、可扩展、高质量的软件系统。

1.2 面向对象分析和设计的优势有哪些?面向对象分析和设计有以下优势: - 高度模块化:通过将系统划分为多个独立的对象,便于理解和设计系统的各个部分。

- 可复用性:面向对象设计强调对象的复用,通过定义通用的类和接口,可以提高代码的复用程度。

- 可维护性:面向对象的封装特性使得系统的各个部分具有独立性,便于维护和修改。

- 可扩展性:通过继承和多态等特性,可以方便地扩展和修改系统的功能。

- 高可靠性:面向对象的封装和隐藏特性可以减少系统中的错误和安全漏洞。

- 开发效率高:面向对象的分析和设计提供了一种更自然的思考和描述问题的方法,可以提高开发效率。

第二章:面向对象建模2.1 对象的特征有哪些?对象具有以下特征: - 状态(State):对象的状态是对象的属性值的集合,表示对象的某个时刻的状态。

- 行为(Behavior):对象可以执行的操作,描述了对象能够做什么。

- 身份(Identity):每个对象都有唯一的身份,可以通过身份来区分不同的对象。

2.2 类和对象之间的关系有哪些?类和对象之间有以下关系: - 实例化(Instantiation):类是对象的模板,对象是类的一个具体实例。

- 继承(Inheritance):一个类可以继承另一个类的属性和方法。

- 聚合(Aggregation):一个类可以包含其他类的对象作为成员变量。

- 关联(Association):两个类之间存在某种关系,一个类的对象可以访问另一个类的对象。

软件工程复习题库带答案完整版

软件工程复习题库带答案完整版

一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。

A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。

A.风险产生的原因B.风险监控技术C.风险能否消除D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。

A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。

A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。

A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。

A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。

A.角色B.活动C.制品D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。

A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能9、在结构化分析方法中,数据字典是重要的文档。

对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。

A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。

A.正确性 B.适应性C.完善性 D.预防性11、软件危机的主要原因是(A)。

A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。

A.输入、输出、外部实体和加工B.变换、加工、数据流和存储C.加工、数据流、数据存储和外部实体D.变换、数据存储、加工和数据流13、软件工程管理是对软件项目的开发管理。

面向对象软件工程总复习

面向对象软件工程总复习
第十七页,编辑于星期一:十四点 十一分。
综上所述,系统中的执行者有接线员、医生和护士;用例有打 印工作安排、取消挂号、更新挂号、查询挂号、完成挂号、访问病人 记录和访问挂号登记表等。
护士 接线员
医生
某医院电话挂号管理系统

完成挂号
<<uses>> 访问病人记录
1


查询挂号


<<uses>>


第十九页,编辑于星期一:十四点 十一分。
医院,接线员,医生,护士,软件系统, 挂号,病人,挂号登记表,就诊时间,挂号时 间,约定时间,系统,名字,记录的病人数据, 病历号,姓名,日期,挂号信息,病人清单, 病人记录,电话号码,每天工作安排,每周工 作安排。
由于通过名词识别法找到的候选者中有许 多并不是问题域中真正有意义的类,因此必须 对这些候选者进行严格的筛选,从中删去不正 确的或不必要的,只保留确实应该记录其信息 或需要其提供服务的那些类。
B)操作系统不断向应用程序发送消息,但应用程
序不能向操作系统发送消息
C)应用程序之间可以相互发送消息
D)发送与接收消息的通信机制与传统的子程序调
用机制不同
❖ 软件测试的目的是 。通常单元测试是在代码编写
阶段可进行的测试,它是整个测试工作的基础。
(C)
A)表明软件的正确性
B)评价软件质量
C)尽可能发现软件中错误 D)判定软件是否合
第二十页,编辑于星期一:十四点 十一分。
根据需求陈述,电话挂号管理系统的主要功能是管理 病人的挂号情况,并不关心医院内每名工作人员的分工, 因此,医生、护士和接待员都不是问题域中的类;“软件 系统”和“系统”是同义词,指的是将要开发的软件产品, 不是问题域中的类;“就诊时间”、“挂号时间”和“约 定时间”在本问题陈述中的含义相同,指的都是挂号时约 定的就诊时间,它们包括日期和时间两部分,但是,它们 是挂号登记表包含的属性,不能作为问题域中的类;“名 字”和“姓名”是同义词,应该作为病人和挂号登记表的 属性;“记录的病人数据”实际上就是“病人记录”,可 以统一使用“病人记录”作为类名;“病历号”和“电话 号码”是病人记录的属性,不是独立的对象;从需求陈述 可知,“病人清单”是已挂号但尚未就诊的病人名单,应 该包含病人姓名、约定的就诊时间等内容,它和“挂号信 息”包含的内容基本相同,可以只保留“病人清单”作为 问题域中的类。

面向对象系统分析【复习题】

面向对象系统分析【复习题】

【第五章复习题】一.填空题1.软件生存周期可划分为软件定义、和软件使用三个阶段。

(软件开发)2.软件开发模型有、渐增模型、演化模型、螺旋模型和智能模型等5种主要模型。

(瀑布模型)3.面向对象方法有三大特性:封装性、和多态性。

(继承性)4.面向对象分析与设计模型由:、静态图和动态图组成。

(用例图)5.面向对象的统一开发过程即生命周期按时间顺序划分为面向对象分析(OOA)、和面向对象实现(OOI)。

(面向对象设计(OOD))6.面向对象的开发过程是一种二维结构软件开发过程,软件项目开发过程流包括的核心工作内容是业务建模、、面向对象设计、面向对象实现和面向对象测试。

(需求分析)7.UML中用例视图、、构件视图、进程视图和配置视图可完整地描述所建造的系统。

(逻辑视图)8.UML中用例图、、对象图、包图、活动图、顺序图、协作图|通信图、状态机图、构件图、配置图可完整地描述所建造的系统。

(类图)9.面向对象需求分析阶段产生的需求模型是功能模型、业务流程模型和。

(用例图模型)10.面向对象分析阶段产生的基本模型是。

(类图模型)11.软件项目的可行性研究中技术可行性包括风险分析、和技术分析。

(资源分析)12.用例建模的步骤包括确定系统范围和边界、确定系统参与者和用例、对用例进行描述、定义用例间的关系和。

(审核用例模型)13.在用例模型中,参与者之间只可能存在关系。

(泛化|继承)14.在用例模型中,参与者和用例之间只可能存在关系。

(关联)15.在用例模型中,用例与用例之间存在关联关系、继承关系、包含关系和关系。

(扩展)16.在用例模型中,参与者可以是人员、外系统和组成。

(不受操作系统控制的设备)17.在用例模型中,系统边界以内描述的是系统,系统边界以外描述的是。

(系统环境)18.在面向分析(OOA)阶段产生的基本模型(OOA类图)包括对象层、特征层和。

(关系层)19.在面向分析(OOA)阶段产生的基本模型(OOA类图)包括对象层、和关系层。

软件工程复习题主观题

软件工程复习题主观题

复习题名词解释(每题3分)1.数据字典精确地、严格地定义了每个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。

2.面向对象分析分为两个过程:论域分析(建立大致的系统实现环境)和应用分析(根据特定的应用需求进行论域分析),目的是定义所有与待解决问题相关的类(包括类的操作和属性、类与类之间的关系以及它们的表现行为)。

需完成的任务:a软件工程师和用户必须充分沟通,以了解基本用户的需求。

b必须标识类(即定义类的属性和操作)。

c必须定义类的层次。

d应表达对象与对象之间的关系(对象连接)e必须模型化对象的行为f反复做以上步骤直至模型建成。

3.程序效率指程序的执行速度以及程序占用的存储空间4.软件生存期软件与其他事物一样,有孕育、诞生、成长、成熟、衰亡的生存过程,这就是软件的生存周期。

它主要分为6个阶段,即软件项目计划、软件需求分析和定义、软件设计、程序编码、软件测试以及运行和维护。

5.原型化方法原型化方法特别适用于需求不确定性较高的软件系统的开发。

它的运作思想是根据用户给出的基本需求,通过快速实现构造出一个小型的可执行的模型,这就是用户界面原型。

让用户在计算机上实际运行原型,然后修改。

6.软件质量与软件产品满足规定的和隐含的需求的能力有关的特性或特性的全体。

或“所有描述计算机软件优秀程度的特性的组合。

7.螺旋模型对于复杂的大型软件,开发一个原型往往达不到要求。

螺旋模型将瀑布模型与演化模型结合起来,并且添加两种模型均忽略的风险分析。

螺旋模型沿着螺线旋转,分4个方面的活动:制定计划、风险分析、实施工程、客户评估。

沿螺旋线自内向外每旋转一圈,便开发出一个更为完善的、新的软件版本。

8.单元测试集中对用源代码实现的每个程序单元进行测试,检查各个模块是否正确地实现了规定的功能。

9.软件质量同610.对象对象可以定义为系统中用来描述客观事物的一个实体,它是构成系统的一个基本单元,由一组属性和一组对属性进行操作的服务组成。

面向对象分析与设计在线作业

面向对象分析与设计在线作业

一、单选题 (共50题,每题1分,共50分)1、Bridge(桥接)模式的意图是(C)。

A.将一个无法控制的现有对象与一个特定借口相匹配B.希望简化现有系统的使用方法。

你需要定义自己的借口C.将一组实现部分从另一组使用它们的对象中分离出来D.你需要为特定的客户(或情况)提供特定系列的对象2、在根据不同的机器选择设备驱动程序的案例中,以下叙述不准确的是(D)。

A.可以使用switch语句选择驱动程序B.可以使用继承来实现选择驱动程序,但它可能会产生类组合爆炸问题C.可以选择抽象工厂模式实现,且能避免组合爆炸问题D.使用继承的解决方案要比switch语句有更多的优势3、关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织B.协作图是顺序图的一种特例C.协作图中有消息流的顺序号D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成4、到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。

A.Simula67语言B.Smalltalk语言C.Java语言D.统一建模语言(UML)的标准5、外观模式的作用是(B)。

A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用C.保证一个类仅有一个实例,并提供一个访问他的全局访问点D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现6、在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)7、将一个类的接口转换成客户希望的另一个接口。

这句话是对下列哪种模式的描述(C)。

A.策略模式(Strategies)B.桥接模式(Bridge)C.适配器模式(Adapter)D.单例模式(Singleton)8、(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。

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

此部分内容包括教材第2、7、8、10章内容
一、填空题
1. 面向对象开发方法一改过去传统的以_______________为基础的______________的结
构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列_______的集合,其______________又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的______,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与____________在结构上尽可能一致。

因此,采用面向对象方法可以更有效地开发大型软件系统。

面向对象方法的________、________、_________等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服____________。

因此,它已成为成熟的广为采用的软件开发方法。

2. 对象是客观实体的抽象表示,是由__________________________和
________________________两部分组成。

而______是对具有相同属性和行为的一组对象的抽象描述。

因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的___________。

通过________关系又可形成一种类层次结构。

在类层次结构的不同类中,可用相同的函数名实现功能不同的函数,面向对象技术的这种特性叫做___________。

3. UML中用于描述系统的交互行为的视图称为动态视图,包括________、
_________、__________和__________。

二、选择题
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、软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与
其最相适应的软件开发方法是______。

A)构件化方法B)结构化方法
C)面向对象方法D)快速原型方法
11、软件部件的内部实现与外部可访问性分离,这是指软件的________。

A) 继承性B) 共享性
C) 封装性D) 抽象性
三、简答题
1、面向对象分析与设计方法与面向功能(结构化)分析与设计方法的区别是
什么?(比较面向对象方法与结构化开发方法,阐述各自的特点)
2、简述对象要素中抽象和封装的含义?
3、什么是对象?什么是类?类与对象的关系是什么?
4、面向对象的分析需要建立的三个模型是什么,各自的作用?
5、说明什么是对象模型,举现实世界的例子,给出它的关联类、聚合关系、
泛化关系的描述。

6、Coad与Yourdon在面向对象设计阶段中将系统划分为四个组成部分,这四个组成部分
是什么?简述各部分涉及内容。

7、说明对象分析建模的过程。

8、说明对象设计的步骤
四、建模题
1、一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,
每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。

要求:
1)创建该书的对象模型。

2)在对象模型中要包括对象间的关联,并表示出关联的多重性。

2、某电话公司决定开发一个管理所有客户信息的交互式网络系统。

系统的功能如下:1)浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。

2)登录:电话公司授予每个客户一个帐号。

拥有授权帐号的客户,可以使用系统提供的页面设置个人密码,并使用该帐号和密码向系统注册。

3)修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。

4)删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。

要求:
(1)在需求分析阶段,采用UML的用例图描述系统功能需求,画出该系统的用例图
(2)画出系统的类图来建立系统的对象模型。

相关文档
最新文档