软件工程复习题库(挂答案) 联系客服

发布时间 : 星期日 文章软件工程复习题库(挂答案)更新完毕开始阅读0580d7e3b1717fd5360cba1aa8114431b90d8e90

48、 49、 50、 51、 52、 汽车有一个发动机,汽车和发动机之间的关系是(B)关系。 详细设计的基本任务是确定每个模块的( A )设计 软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的( C )上。 以下(D )不属于系统设计。 B详细设计

C过程设计

D需求设计

需求规格说明书的作用不应该包括( D )。 A.一般与具体 B.整体与部分 C.分类 D.is a A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 A.复制 B.开发方式 C.开发和研制 D.磨损和消耗 A总体设计

A.软件设计的依据

B.用户与开发人员对软件要做什么的共同理解 C.软件验收的依据 D.软件可行性研究的依据 53、 54、 55、 软件质量必须从需求分析开始,在( D )加以保证。 B开发之后

C可行性研究过程

D整个开发过程 软件简略定义是(一系列按照特定顺序组织的计算机数据和指令的集合)。 SA方法的基本思想是( C )。 A开发之前

A.自底向上逐步抽象 B.自底向上逐步分解 C.自顶向下逐步分解 D.自顶向下逐步抽象 56、 57、 软件工程是一门(指导计算机软件开发和维护的工程(交叉性))学科。 等价分类法的关键是( C )。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类

D.确定系统中相同和不同的部分

二、填空题 1. 可行性研究 _的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 2.采用UML进行软件设计时,可用__泛化__关系来表示两类事物之间存在的特殊/一般关系,用_ 聚集 _关系来表示事物之间存在的整体/部分关系。

3.继承与_ 多态 _机制,是面向对象程序中实现重用的主要手段。 4.成本效益分析的目的是从 经济 角度评价开发一个软件项目是否可行。 5.对象之间通过 消息 进行通信。 6.在面向对象的软件中, 类 是对具有相同数据和相同操作的一组相似对象的定义;实例是由某个特定的类所

描述的一个具体对象。 7.需求分析阶段产生的最重要的文档是 需求规格说明书 。

8.软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的 重要特性 。 9.软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和 功能变化。

10.软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档,其中可行性研究报告属于 开发 文档。 word文档 可自由复制编辑

11.可行性研究实质上是要进行一次 简化、压缩 了的需求分析、设计过程,是在较高层次上以较抽象的方式进行需求分析和设计过程。 12.一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用 角色 来表述“谁做”。 13.在面向对象的软件中,类是对具有相同数据和相同操作的一组相似对象的定义; 实例 是由某个特定的类所描述的一个具体对象。 14.软件结构是以 模块 为基础而组成的一种控制层次结构。

15.软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级 和优化级。 16.关联是建立类之间关系的一种手段,而链则是建立 对象 之间关系的一种手段。 17. 软件测试方法中的 计算机辅助静态分析 属于静态测试方法。 18.继承与 多态 机制是面向对象程序中实现重用的主要手段。 19.系统详细设计阶段最后产生的文档是 详细设计说明书 。

20.DFD利用图形符号表示系统中的各个元素,表达了系统中各种元素之间的 信息流动 。 21.在设计阶段,要充分体现软件工程的“ 模块化 ”、“抽象”、“信息隐蔽”等基本原则。 22.在面向对象分析和OOD中,通常将对象的操作称为 方法或服务 。 23.单元测试一般以_ 白盒法 为主,测试的依据是系统的模块功能规格说明。 24.当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 数据耦合 。 25.软件测试用例主要由输入数据和 预期输出结果 两部分组成。 26.为适应软硬件环境变化而修改软件的过程是 适应性维护 。 27.提高程序效率的根本途径在于选择良好的设计方法、良好的 数据结构 和 算法 ,而不是靠编程时对程序语句做调整。 三、名词解释 1.数据字典:描述数据流图的数据存储、数据加工(最底层加工)和数据流。

2.模块独立性:指每个模块只完成系统要求的独立的子功能(即:功能单一),并且与其他模块的联系最少且接口简单(比如:只有一个接口)。 3.软件复用:将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。 4.内聚:一个模块内部各成分之间相关联程度的度量

5.测试用例:为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求

6.软件生存周期模型:描述软件开发过程中各种活动如何执行的模型 7.信息隐蔽:将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理 8.McCabe度量法:由Thomas McCabe提出的一种基于程序控制流的复杂性度量方法 9.动态模型:用于描述系统的过程和行为 10.软件维护:在软件运行或维护阶段对软件产品所进行的修改 11.CMM:软件过程能力成熟度模型

12.软件调试:软件测试成功后,根据错误迹象确定错误的原因和准确位置,并加以改正。 13.耦合:块间联系,软件系统结构中各模块间相互联系紧密程度的一种度量 14.配置管理:一种标识、组织和控制修改的技术,应用于整个软件工程过程 15.软件项目计划:一个软件项目进入系统实施的启动阶段 word文档 可自由复制编辑

四、简答题 1.软件工程的两大范型分别是什么?它们有什么不同?

分别是传统的结构化范型和面向对象范型。结构化范型要么面向行为要么面向数据,但没有既面向数据又面向行为的;而面向对象范型把数据和行为看成同等重要,即将对象视作一个融合了数据及在其上操作的行为的统一的软件组件。面向对象相对于结构化技术,无论对象的内部细节如何变化,只要对象提供的方法即接口保持不变,则整个软件产品的其他部分就不会受到影响,不需要了解对象内部的变化。 2.如何画分层数据流图? 第一步,画子系统的输入输出:把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。

第二步,画子系统的内部:把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。

3.面向对象程序设计有哪些优点?

1)易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。

2)质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。

3)效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。

4)易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。

4.在软件测试中,应注意哪些原则? 1)认真执行测试计划 2)“尽早和不断地进行软件测试/评审” 3)优选测试工具、技术和方法 4)精心设计测试用例 5)交叉进行软件检测 6)重点测试群集现象 7)全面检查并分析测试结果 8)妥善保管测试文档 5.为了具有良好的程序设计风格,应注意哪些方面的问题? 程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。 要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。 6.面向对象分析与面向对象设计的关系?

面向对象分析与面向对象设计的任务相同,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象的设计结果可以作为蓝图,利用面向对象编程方法最终实现一个系统。 7.成本-效益分析的目的是什么?可用哪些指标进行度量?

成本/效益分析的目的是从经济角度论证开发一个特定的新系统开发是否划算,是决定是否投资开发新系统的依据。 (1)货币的时间价值:货币的价值本身随时间的增加而产生增值 (2)投资回收期:累计的经济效益等于最初的投资所需的时间。

word文档 可自由复制编辑

(3)纯收入:在整个生存周期内系统的累计经济效益(折合现在的钱)与投资之差。 (4)投资回收率----投资的年利率

8.软件设计分哪几个阶段,它们的主要任务是什么?

软件设计可以分为概要设计和详细设计两个阶段。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。 9.用户需求和系统需求各有什么特点?

用户需求是从用户角度来描述系统功能和非功能需求,以便让不具备专业技术方面知识的用户能看懂。用户需求是描述系统的外部行为,用自然语言、图表和直观的图形来叙述。系统需求是比用户需求更详细的需求描述,是系统实现的基本依据,因此,是一个完全的、一致的系统描述,是软件工程人员系统设计的起点。 系统需求描述可能包括许多不同的模型,如对象模型和数据流模型。 10.面向对象设计的准则? 1)模块化 2)抽象 3)信息隐藏 4)弱耦合 5)强内聚 6)可重用

11.需求分析过程主要有哪几个步骤?

需求分析过程主要有沟通、导出需求、分析与精化、可行性研究、协商与沟通、规格说明、需求验证、变更管理等步骤。 12.软件设计分哪几个阶段,它们的主要任务是什么?

总体设计——概要设计、软件结构设计、高层设计,仔细地分析需求规格说明,研究开发产品的模块划分。 详细设计——(模块)过程设计、低层设计,为结构设计中的各个模块设计过程细节,确定模块所需的算法和数据结构等。 设计测试——测试和复审,确保设计的正确和优化。 13.什么是软件结构图?它有哪些主要元素?

软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。主要元素有: 14.面向对象方法的特点是什么?为什么要用面向对象方法开发软件? 面向对象方法的特点是: 方法的唯一性,即方法是对软件开发过程所有阶段进行综合考虑而得到的。 从生存期的一个阶段到下一个阶段的高度连续性,即生存期后一阶段的成果只是在前一阶段成果的补充和修改。 把面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)集成到生存期的相应阶段。 使用面向对象方法开发软件的好处是: 开发方法的唯一性,开发阶段的高度连续性,表示方式的一致性; 问题空间实体的自然表示,减轻了设计者的负担,在设计系统之初不必考虑一个很完整的解决方案。 建立稳定的系统结构,可促进复用性,易于维护,易于修改,可合理利用共同性,减少复杂性。 15.什么是编码风格?请根据自己的编程经验编写一个编程注意事项。 是指一个人编制程序时所表现出来的特点、习惯和逻辑思路等。 word文档 可自由复制编辑