一、填空题:
1. 软件测试通常有两种方法,一种是从功能上的测试,也称为黑盒测试,一种是从结构上的测试称为白盒测试。p151
2. 软件生命周期通常由问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护等阶段构成。p11
3. 数据字典的内容通常由4类元素的定义组成:数据流、数据流分量(即数据元素)、数据存储、处理。p47
4. 用面向对象方法开发软件,通常需要建立3种形式的模型:对象模型(静态结构)、动态模型(交互次序)、功能模型(数据变换)。p232
5. 由数据元素组成数据的方式有三种基本类型顺序、选择、重复。p48
6. 一个大型软件系统的测试过程基本上由五个步骤组成:模块测试、子系统测试、系统测试、验收测试、平行运行。p151
7. 软件生存周期是指一个软件从提出开发要求开始直到该软件报废不用的整个时期。通常,软件生存周期包括问题定义、可行性研究、需求分析、设计编码、编测试、运行和维护活动,可以将这些活动以适当方式分配到不同阶段去完成。
p11
8. 大型软件测试包括模块测试、子系统测试、系统测试、验收测试四个步骤。p151
9. 软件详细设计工具可分为3类,即图形、**、语言。p124
10. 数据流图的基本四种成分:符号、例子、命名、用途。p40
11. 等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。
12. 软件过程模型也被称为软件生命周期模型,常用软件过程模型有瀑布模型、快速原型模型、螺旋模型、增量模型、喷泉模型。
13. 在设计构件的过程中,应尽量使用数据耦合,少用控制和特征耦合,完全不用内容耦合。p98
14. 软件开发过程模型主要有瀑布模型、快速原型模型、螺旋模型、增量模型、喷泉模型等。
15. 对象的基本特点是以数据为中心、对象是主动的、实现了数据封装、本质上具有并行性、模块独立性好。p210
16. 软件生命周期由三个时期组成:软件定义时期、开发时期、维护时期。
17. 可行性研究通常从三方面研究每种解法的可行性技术可行性、经济可行性、操作可行性。
18. 面向数据流的设计方法把信息流映射成软件结构,信息流的类型主要有两种变换流、事务流。
19. 大多数系统的面向对象设计模型,在逻辑上都可以分解成4大部分:人机交互部分、问题域部分、任务管理部分、数据管理部分。
20. 在软件进行集成测试中,当使用渐增方式把模块结合到程序中去时,有自顶向下、自底向上两种集成策略。
21. 软件生命周期由软件定义时期、开发时期、维护时期三个时期组成。进一步划分,可分为问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护等阶段构成。
22. 软件开发范型主要有瀑布模型、快速原型模型、螺旋模型等。
23. 软件开发方法学可分为传统方法学、面向对象方法学等。
24. 传统方法学中,建立分析模型,主要建立数据模型、行为模型、功能模型三类模型。
25. 增量集成主要有自顶向下、自底向上两种集成方式。?
26. 估算技术主要分为两大类:分解和经验建模。
27. 根据测试的步骤和规模,可以把测试分为单元测试、集成测试、确认测试。
二、名词解释:
1、 软件危机及其典型表现:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。1.
对软件开发成本和进度的估计常常很不准确。2.用户对已完成的软件系统不满意的现象经常发生。
3.软件产品的质量往往靠不住。4.
软件常常不可维护的。5.软件通常没有适当的文档资料。
6.软件成本在计算机系统总成本中所占的比例逐年上升。7.
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
2、 面向对象设计的准则 :模块化、抽象、信息隐藏、弱耦合、强内聚、可重用。
3、 耦合:是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。p97
4、 软件复用:是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。
早期的软件复用主要是**级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、**和文档等一切有关方面。
5、 软件工程:是指导计算机软件开发和维护的一门工程科学,采用工程的概念、远离、技术和方法来开发与维护让un见,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
6、 模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。p94
7、 内聚:标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。
8、 软件工程工具(case)
9、 进度计划:将使产品满足顾客和期望的任务、分配、事件的进度列出的计划、安排进度计划的目的是为了控制时间和节约时间,而项目的主要特点之一即是有严格的时间期限要求,由此决定了进度计划在项目管理中的重要性。
10、 黑盒测试:是在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。 把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。
11、 白盒测试:它的前提是可以把程序看成装在一个透明的白盒子里,测试这完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
三、判断题:试判断下列说法是否正确。
1. 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(
2. 发现错误多的程序模块,残留在模块中的错误也多。(
3. 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(
4. 软件维护就是改正软件中的错误。(
5. 质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。(
6. 软件开发的主要任务是写程序。 (
7. 测试只能证明程序有错误,不能证明程序没有错误。(
8. 模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。(
9. 在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。(
10. 程序设计风格指导原则提出,尽量多使用临时变量。(
11. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(
12. 软件是指用程序设计语言(如pascal ,c,visual basic 等)编写的程序,软件开发实际上就是编写程序**。(
13. 软件模块之间的耦合性越弱越好。(
14. 在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(
15. 过程描述语言可以用于描述软件的系统结构。(
16. 如果通过软件测试没有发现错误,则说明软件是正确的。(
17. 快速原型模型可以有效地适应用户需求的动态变化。(
18. 白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(
19. 软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(
20. 为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(
21. 软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。(√
22. 对于规模较大的软件项目往往编码开始得越早,最终完成开发工作所需要的时间就会越短。(
23. 需求分析的任务是…。(它的基本任务是准确地回答“系统必须做什么?”这个问题。
24. 数据字典的作用……。p47
25. 在面向对象的设计方法中,……
26. 源程序是软件配置的一个成分,用**行技术……(
27. 如果软件通过黑盒白盒测试……。p162 171
28. 模块接口复杂是……。
29. 软件维护需要的工作量……。
30. 可行性研究的主要目的……。p35
31. 可行性分析主要是……。p35
32. 面向对象分析,就是……。p231
33. 扇出是………
34. 软件中使用的可重用构件越多,软件的可靠性越差。(×
35. 对象模型表示了………
四、论述题:
1、 耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?
耦合性7种由高到低内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。
内聚性7种由高到低功能内聚、顺寻内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶当内聚。
2、 分析软件危机产生的主要原因有哪些?
a) 软件不同与硬件,是逻辑部件; b) 软件规模庞大,逻辑结构复杂;
c) 软件开发人员和管理人员只重视设计程序而轻视用户的需求分析,导致最后研制出。
的软件产品无法满足用户的需求;
d) 软件设计技术和管理技术落后,没有统一的软件质量管理规范;
e) 在软件的开发与维护关系问题上存在错误的概念,重视开发,而轻视维护。
3、 耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?
4、 可行性研究的主要目的不是解决问题,而是确定问题是否值得去解。
答:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。主要从技术可行性、经济可行性、操作可行性和法律可行性4个方面考虑。
5、 软件的质量主要是由编码阶段决定的。
编码是软件项目实例化的根本途径。目标:按照系统设计阶段产生的文档,进行软件系统功能开发,整合各个功能模块,实现系统的集成运行,并满足需求分析阶段提出的性能要求。
任务: 将详细设计的结果转化为用具体程序设计语言编写的程序**。
6、 测试的目标是为了验证软件正确性。
测试是为了发现程序中的错误而执行的过程,好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案,成功的测试是为了发现至今为止尚未发现的错误的测试。是为了发现错误不是验证正确性。
7、 向一个拖延的项目中增加人手,可以非常有效地加快进度。
这是错误的,项目成功的关键是有高素质的软件开发人员和配合的亲密无间的团队。如果随意的增加人手,会照成之前的开发团队合作被破坏,造成资源的浪费。
软件工程复习 1
第一章概述。1.什么是软件危机?产生的原因。是指在计算机软件开发和维护过程中所遇到的一系列严重问题。原因 软件本身的特点 软件开发与维护方法不正确。2软件的概念 软件是计算机系统中与硬件相互依存的另一部分,它包括程序 数据及相关文档的完整集合。特点 软件是一种逻辑实体,缺乏 可见性 在软件的开发过程...
软件工程复习 1
重庆邮电大学。期末复习。1.什么是软件工程?他的基本原理是什么?1 把系统化的 规范的 可度量的途径应用于软件开发 运行和维护的过程,也就是把工程化应用于软件中 研究 中提到的途径。2.是什么导致了软件工程?为了消除软件危机,为了从管理和技术两方面研究如何更好地开发和维护计算机软件导致了软件工程的出...
年软件工程复习材料
软件工程 原理 方法与应用 第三版 史济民编著,高等教育出版社。2 参考软件 rational rose enterprise 2003.试题格式 填空题40分 不定项选择题30分 简答题20分 综合体10分。总评分 考试分 80 平时分 20 一 填空题示例 1 计算机中的对象是 具有唯一对象名和...