软件工程练习册d(四)
- 格式:doc
- 大小:47.00 KB
- 文档页数:4
软件工程形考作业4题目1:程序的三种基本控制结构,包括顺序结构、(条件判断结构)和循环结构。
题目2:程序结构清晰且简单易懂,一个函数的规模一般(100左右)行。
题目3:程序设计语言的技术特性不应包括(软件的可移植性)。
题目4:对于嵌套的循环和分支程序,层次不要超过(3)层。
题目5:构架设计的主要目的是(确定系统总体结构),这项工作由经验丰富的构架设计师主持完成。
题目6:两个浮点数X0和X1比较相等时,应该用(|X0-X1|<ε)比较。
题目7:(程序员应该仔细测试自己编写的程序代码)不符合软件测试原则。
题目8:(白盒测试)时,测试人员必须接触到程序源代码。
题目9:(边值分析和等价类划分)属于功能测试方法。
题目10:不管多么完善的软件都可能有潜在的问题,所以设计人员应该为软件进行(容错性)设计,当软件遇到异常数据、事件或操作时,软件不至于彻底崩溃。
题目11:测试用例是一组(测试用的输入数据以及对应的预期结果)。
题目12:测试最早的开始时间是(从需求分析阶段开始)。
题目13:从测试对象的粒度上划分测试为(单元测试、集成测试、系统测试和验收测试)。
题目14:从狭义上讲,软件测试是(为发现错误而执行程序)的过程。
题目15:软件维护过程中产生的副作用,一般是由(修改程序)引起的。
题目16:通常软件的可维护性常常随着时间的推移而(降低)。
题目17:为了获得维护的统计信息,应该记录每次维护的(以上全部)。
维护管理者根据统计信息积累维护管理的经验,作为今后制定维护计划的依据。
题目18:为了适应软硬件环境变化而修改软件的过程是(适应性维护)。
题目19:维护的工作量与软件规模成(正比),软件的规模可以由源程序的语句数量、模块数、输入输出文件数、数据库的规模,以及输出的报表数等指标来衡量。
题目20:一般维护程序代码的策略(根据维护申请读源程序,并修改)。
题目21:以下属于完善性维护的有(增加联机求助命令)。
题目22:引起软件改变的原因主要有(以上全部)。
软件工程练习册(一)、名词解释。
1.软件:计算机系统是通过运行程序来实现各种不同的应用。
把各种不同功能的程序,包括用户为自己的特定目的编写的应用程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等通常称为软件。
2.软件危机指的是软件开发和维护过程中遇到的一系列严重问题。
3.软件工程是指导计算机软件开发和维护的工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
4.软件工程学是研究软件结构、软件设计与维护方法、软件工具与环境、软件工程标准与规范、软件开发技术与管理技术的相关理论。
5.生存周期:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
6.系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。
、填空题。
1.计算机软件的发展经历了__________ __ ____________ ___________三个阶段。
2.软件工程学从内容上划分为_____________ ___________ _________-------- 、------- 、---- 、规范等。
3.软件工程学的最终目标是以较少_________________________________________ 的软件产品。
4.软件开发模型是跨越整个软件生存周期的___________ ___________________ 所实施的全部工作和任务的结构框架。
5.—般说来,应从___________ __________ ___________ _________和________ 等方面研究可行性。
6.软件开发模型是___________ 的具体化,是实施于_________ 中的软件开发方法和工具,是在软件开发实践中总结出来的软件开发__________ 和参考答案:1.程序设计阶段、程序系统阶段、软件工程阶段2.理论、结构、方法、工具、环境、管理、3.投资获得易维护、易理解、可靠、高效率4.系统开发、运行、维护5.经济可行性、技术可行性、运行可行性、法律可行性、开发方案可行性6.软件工程思想、过程模型、方法、步骤三、选择题。
软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
《软件工程》习题集赵绪辉渤海大学信息科学与工程学院2005年9月目录一软件与软件工程 (2)二软件项目管理 (4)三需求分析 (6)四面向对象的需求分析 (8)五软件设计 (11)六程序设计语言和编码 (13)七软件测试 (15)八软件维护 (17)综合试卷一 (18)综合试卷二 (21)综合试卷三 (24)附参考答案: (27)一软件与软件工程参考答案 (27)二软件工程管理参考答案 (29)三需求分析参考答案 (30)四面向对象的需求分析参考答案 (32)五软件设计参考答案 (37)六程序设计语言和编码参考答案 (39)七软件测试参考答案 (41)八软件维护参考答案 (43)综合试卷一参考答案及评分标准 (45)综合试卷二参考答案及评分标准 (47)综合试卷三参考答案及评分标准 (49)一软件与软件工程一、选择题1.软件的主要特性是()A、无形性B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()A、螺旋模型B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。
B、克服软件危机。
C、作好软件开发的培训工作。
D、以较低的成本开发出高质量的软件。
二、判断题1.软件就是程序,编写软件就是编写程序。
(完整word版)软件工程习题集+答案《软件工程》习题集目录一软件与软件工程 (1)二软件项目管理 (4)三需求分析 (7)四面向对象的需求分析 (10)五软件设计 (15)六程序设计语言和编码 (18)七软件测试 (20)八软件维护 (23)综合试卷一 (25)综合试卷二 (28)综合试卷三 (31)附参考答案: (34)一软件与软件工程参考答案 (34)二软件工程管理参考答案 (37)三需求分析参考答案 (39)四面向对象的需求分析参考答案 (43)五软件设计参考答案 (52)六程序设计语言和编码参考答案 (55)七软件测试参考答案 (59)八软件维护参考答案 (62)综合试卷一参考答案及评分标准 (65)综合试卷二参考答案及评分标准 (68)综合试卷三参考答案及评分标准 (71)一软件与软件工程一、选择题1.软件的主要特性是()B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。
B、克服软件危机。
C、作好软件开发的培训工作。
D、以较低的成本开发出高质量的软件。
二、判断题1.软件就是程序,编写软件就是编写程序。
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
软件工程(第四版)习题及解答1-7软件工程(第四版)习题及解答1-7软件工程一直是信息技术领域中一门重要的学科,它涉及到软件设计、开发、测试和维护等多个方面。
对于学习软件工程的学生来说,练习和解答一些相关习题是非常重要的。
本文将为大家提供《软件工程(第四版)》中的习题1-7的解答和详细讨论。
1. 习题1题目描述:什么是软件工程?为什么软件工程如此重要?解答:软件工程是一门学科,涵盖了软件开发的所有阶段,包括需求分析、软件设计、编码、测试和维护等。
软件工程关注如何以系统化的、规范的方法来开发高质量的软件。
软件工程之所以如此重要,原因有以下几点:首先,软件工程能够提供一个结构化的方法来开发软件,保证开发流程可控、可预测。
通过规范的过程和方法,可以减少软件开发过程中的风险和错误。
其次,软件工程将软件开发过程分解为不同的阶段,并引入了各种工具和技术来支持这些阶段的开发工作。
这些工具和技术能够提高开发效率,减少开发成本。
此外,软件工程还注重软件质量管理,包括软件测试、验证和验证等方面,以确保最终交付给用户的软件是高质量可靠的。
最后,软件工程也关注软件的维护和更新。
由于软件在使用过程中会面临各种问题和需求变化,软件工程可以帮助开发人员及时响应和解决这些问题,提供更好的用户体验。
2. 习题2题目描述:简要解释软件需求分析的目标和过程。
解答:软件需求分析的目标是识别和规范用户对软件系统的需求,确保开发人员和用户对软件系统的期望一致,并将这些需求转化为可行的系统规格说明。
软件需求分析的过程包括以下几个步骤:1) 需求收集:通过与用户沟通、调研等方式,收集用户对软件系统的需求。
可以采用面谈、问卷调查、观察等方法。
2) 需求分析和整理:对收集到的需求进行分析和整理,将其转化为可理解的形式。
可以使用需求建模工具和技术,如用例图、数据流图等。
3) 需求规格说明:在此阶段,将需求转化为详细的规格说明,包括功能需求、性能需求、质量需求等。
软件工程习题附答案软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。
在软件工程的学习和实践中,习题是一种重要的学习方法,通过解答习题可以加深对知识的理解和应用。
本文将为您提供一些关于软件工程的习题,并附带答案。
请注意,下文中的答案仅供参考,具体情况还需根据实际情况进行判断和调整。
1. 什么是软件工程?答案:软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。
2. 软件工程的核心原则是什么?答案:软件工程的核心原则是系统分析、设计、编程、测试和维护各个阶段严格按照规范进行,并强调团队协作和项目管理的重要性。
3. 软件生命周期包括哪些阶段?答案:软件生命周期包括问题定义、需求分析、系统设计、编码、测试和维护等阶段。
4. 请简要描述软件工程的开发流程。
答案:软件工程的开发流程一般包括需求分析、系统设计、编码、测试和维护等阶段。
具体而言,首先需要明确需求,然后进行系统设计,确定软件的整体结构和功能。
接着进行编码,将设计好的软件实现为代码。
随后进行测试,检查软件是否符合需求并修复潜在的问题。
最后是维护阶段,对软件进行更新和修复,以保证其长期有效运行。
5. 请列举几种常用的软件开发方法。
答案:常用的软件开发方法包括瀑布模型、迭代模型、敏捷开发等。
6. 什么是瀑布模型?答案:瀑布模型是一种线性顺序型的软件开发方法,各个阶段严格按照顺序进行,上一个阶段的输出作为下一个阶段的输入。
7. 什么是迭代模型?答案:迭代模型是一种反复迭代、循环演化的软件开发方法,每次迭代都会增加新的功能或修复问题。
8. 请简要介绍敏捷开发方法。
答案:敏捷开发方法是一种轻量级的软件开发方法,强调迭代、灵活和快速响应变化。
它鼓励团队协作、自我组织和持续改进。
9. 请列举几种常用的软件测试方法。
答案:常用的软件测试方法包括单元测试、集成测试、系统测试和验收测试等。
10. 什么是单元测试?答案:单元测试是针对软件开发的最小单位——单元(如函数、方法等)进行的测试,用于检查该单元是否符合预期的功能和设计要求。
《软件工程模拟试题及参考答案》(一)一、单向选择题(四选一、每小题3分,共18分)1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。
a对应 b 映射 c 反映 d 反射2、盒图也称为(D)或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
0802流程图框图判定表N-S图3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。
1001程序数据逻辑物理4、人机界面的风格大致经过了(B)代的演变。
三四五六5、以下不属于白盒测试技术的是(D)1402逻辑覆盖基本路径测试循环覆盖测试等价类划分6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
1501纠错性维护适应性维护改善性维护预防性维护二、填空题(每空2分,共18分)1.文档—一种数据媒体和其上所记录的(数据)。
01012.机器语言、汇编语言:依赖于机器,面向(机器)01013.软件有效性,指软件系统的时间和(空间)效率。
01034.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
01035.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
01036.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
04027.一个软件的深度是指其控制的(层数)。
08018.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
13019.软件维护是软件生命周期的(最后)一个阶段。
1501三、判断题(每小题2分,共24分,错误打X、正确打√)1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
(√)01022.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
(X)02063.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
软件工程习题及答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解释:需求分析阶段的主要任务是确定软件系统的功能和性能要求,解决软件“做什么”的问题。
2、下面不属于软件设计阶段任务的是()A 软件总体结构设计B 算法设计C 制定测试计划D 数据库设计答案:C解释:制定测试计划属于软件测试阶段的任务,软件设计阶段主要包括总体结构设计、详细设计(如算法设计、数据库设计等)。
3、软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是()A 循环的集合B 地址的集合C 路径的集合D 目标的集合答案:C解释:白盒测试是把程序看成装在一个透明的白盒子里,也就是清楚了解程序的结构和处理过程,测试用例要覆盖程序中的所有可能路径。
4、软件维护工作中,大部分工作属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:C解释:在软件维护工作中,完善性维护占了大部分,因为随着用户需求的变化和使用过程中的新发现,需要对软件功能进行扩充和增强。
二、填空题1、软件危机产生的主要原因是软件产品的_________和软件生产的_________之间的矛盾。
答案:复杂性;规模性解释:软件产品的复杂性不断增加,而软件生产的规模性又使得管理和控制变得困难,这两者之间的矛盾导致了软件危机。
2、结构化分析方法使用的主要工具是_________和_________。
答案:数据流图;数据字典解释:数据流图用于描述系统中数据的流动和处理过程,数据字典则对数据流图中的元素进行详细的定义和说明。
3、软件测试的步骤包括单元测试、_________、_________和系统测试。
《软件工程》练习题一答案一、单选题1.C 2.A 3.C 4.D 5.B6.C 7.C 8.C 9.D 10.D11.D 12.A 13.B 14.A 15.A16.A 17.D 18.A 19.D 20.B21.A 22.C 23.C 24.A 25.C26.C 27.B 28.C 29.B 30.C31.A 32.D 33.C 34.B 35.C36.A 37.B 38.C 39.C 40.D41.B 42.D 43.B 44.A 45.D46.C 47.B 48.D 49.D 50.B51.A二、填空题1.软件配置管理2.容错功能3.11 4.模块5.F/(1+(n*i))6.管理技术7.软件工具软件开发环境8.数据字典DD9.可测试性10.父图子图11.数据结构12.防错程序设计13.空间14.可行性研究15.需求16.需求建模技术17.层数18.经济19.概率20.过程21.IPO 22.资源23.数学24.重复25.模块数26.系统约束27.从属28.软件工程29.复杂30.外部31.风险估算32.文档33.数据源34.动态多变量35.数据流图36.三种基本控制结构37.事务分析设计38.功能39.用户组织的管理模式及规范40.符号表示习惯41.不可再分解的42..软件需求明确43.累计经济效益(折合成现在值)44.硬件/操作系统45.差别估算法三、判断题1.错2.对3.对4.错5.错6.错7.对四、名词解释1.软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
2.数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
3.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
4.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
1.开发软件所需高成本和产品的低质矛盾,这种现象称做( C ) C.软件危机2.研究开发所需要的成本和资源是属于研究的一方面。
(B ) B.经济可行性3.模块的内聚性最高的是( D ) D.功能内聚4.在SD方法中全面指导模块划分的最重要的原则是( D ) D.模块独立性5.软件详细设计主要采用的方法是( D ) D.结构化程序设计6.黑盒测试在设计测试用例时要需要研究(A ) A.需求规格说明与概要设计说明7.若有一个计算类型的程序,它的输入量只有一个,其范围是现从输入的角度考虑一组测试用例:设计这组测试用例的方法是( C ) C.边界值分析法8下列属于维护阶段的文档是( C ) C.软件问题报告9快速原型模型的主要特点之一是( D ) D.及早提供工作软件10.因计算机硬件和软件环境的变化件的过程称为( B ) B.适应性维护11.下列文档与维护人员有关的有(C ) C.概要设计说明书12.下列模型属于成本估算方法的有( A ) A.COCOMO模型13. (C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
C 封装14.美国卡内基—梅隆大学SEI提出的CMM模型将分为5个等级,级的特征是( D )。
D.软件过程中活动的生产率和质量是可度量的15.在McCall软件质量度量模型中,(C)属于面向软件产品修改。
C.适应性16.汽车有一个发动机。
汽车和发动机之间的关系是__B_关系。
B.整体部分17.对象是OO方法的如飞行、事故、演出、开会等等,称之为( C) C.事件18.为软件的运行增加监控设施,这种维护的维护类型是( D ) D.预防性维护19.软件,在规定时间和条件下达到不出故障特性称为( B ) B.可靠性20.数据流图(DFD)是(A)方法中用于表示系辑模型的一种图形工具。
A.SA1.软件工程釆用层次化的方法,每个层次都包括过程、方法、工具三要素。
1.IDEF0图反映系统()A.怎么做B.对谁做C.何时做D.做什么【参考答案】: D2.软件维护的副作用主要有以下哪几种()A.编码副作用数据副作用测试副作用B.编码副作用数据副作用调试副作用C.编码副作用数据副作用文档副作用D.编码副作用文档副作用测试副作用【参考答案】: C3.面向对象的分析方法主要是建立三类模型,即( )。
A.系统模型ER模型应用模型B.对象模型动态模型应用模型C.E-R模型对象模型功能模型D.对象模型动态模型功能模型【参考答案】: D4.程序的三种基本控制结构是()。
A.过程子程序和分程序B.顺序选择和重复C.递归迭代和回溯D.调用返回和转移【参考答案】: B5.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件【参考答案】: B6.在详细设计阶段,经常采用的工具有()A.PADB.SAC.SCD.DFDree【参考答案】: A7.软件是()。
A.处理对象和处理规则的描述B.程序C.程序及其文档D.计算机系统【参考答案】: C8.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计【参考答案】: D9.程序的三种基本控制结构是()A.过程子程序和分程序B.顺序选择和重复C.递归堆栈和队列D.调用返回和转移【参考答案】: B10.采用Gantt图表示软件项目进度安排,下列说法中正确的是()A.能够反映多个任务之间的复杂关系B.能够直观表示任务之间相互依赖制约关系C.能够表示哪些任务是关键任务D.能够表示子任务之间的并行和串行关系【参考答案】: D11.A.AB.BC.CD.D【参考答案】: ABCD12.A.AB.BC.CD.D【参考答案】: AC13.A.AB.BC.CD.D 【参考答案】: CD14.A.AB.BC.CD.D 【参考答案】: CD15.A.AB.BC.CD.D 【参考答案】: AC16.A.错误B.正确【参考答案】: B17.A.错误B.正确【参考答案】: A18.A.错误B.正确【参考答案】: B19.A.错误B.正确【参考答案】: A20.A.错误B.正确【参考答案】: B。
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生命周期中所花费用最多的阶段是()A 详细设计B 软件编码C 软件测试D 软件维护答案:D解析:软件维护阶段需要对软件进行修改、优化和修复,由于软件在使用过程中可能会遇到各种问题和需求变更,所以维护阶段通常会花费大量的时间和资源。
2、下面不属于软件工程的 3 个要素的是()A 工具B 过程C 方法D 环境答案:D解析:软件工程的三要素是方法、工具和过程。
方法为软件开发提供了“如何做”的技术;工具为方法的运用提供了自动的或半自动的软件支撑环境;过程是将方法和工具结合起来,以达到合理、及时地进行软件开发的目的。
3、软件可行性研究实质上是要进行一次()需求分析和设计过程。
A 简化、压缩的B 详细的C 彻底的D 深入的答案:A解析:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,其实质是进行一次简化、压缩的需求分析和设计过程。
4、软件测试的目的是()A 证明软件的正确性B 找出软件中的所有错误C 尽可能多地发现软件中的错误D 调试程序答案:C解析:软件测试的目的是尽可能多地发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误。
5、下面描述中,不符合结构化程序设计风格的是()A 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 自顶向下C 注重提高程序的执行效率D 限制使用 goto 语句答案:C解析:结构化程序设计强调清晰的结构和良好的可读性,注重程序的可理解性和可维护性,而不是过于追求执行效率。
二、填空题1、软件生存周期一般可分为问题定义、可行性研究、()、设计、()、测试、运行与维护阶段。
软件工程课后作业软件工程第4版课后答案软件工程第4版课后答案第一题:1. 什么是软件工程?软件工程的目标是什么?软件工程是一种应用工程原理和方法来开发和维护高质量软件的学科。
它涵盖了软件开发生命周期的各个阶段,包括需求分析、设计、编码、测试、部署和维护等。
软件工程的目标是以系统化、规范化和可控的方式来开发软件,使得软件能够满足用户的需求,具有高质量、高可靠性和高效率。
第二题:2. 软件工程的关键特性是什么?软件工程的关键特性包括可靠性、可维护性、可复用性和可管理性。
可靠性指的是软件在预期情况下能够正确运行的能力;可维护性指的是容易对软件进行修改和更新;可复用性指的是能够将软件组件应用于不同的项目中;可管理性指的是有效地管理和控制软件开发过程和项目资源。
第三题:3. 软件开发生命周期中的阶段有哪些?软件开发生命周期包括需求分析、设计、编码、测试、部署和维护等阶段。
需求分析阶段是确定软件系统需求的过程,包括收集、分析和规划需求;设计阶段是定义软件系统的结构和组织,确定软件的架构和模块划分;编码阶段是根据设计产生的规范和文档来实现软件系统;测试阶段是验证软件系统是否满足需求和质量标准;部署阶段是将软件系统转移到用户环境并进行正式使用;维护阶段是对软件进行修改和改进,以保持其可用性和稳定性。
第四题:4. 什么是质量保证?软件开发中的质量保证活动有哪些?质量保证指的是通过有效的管理和控制手段,确保软件开发过程和软件产品的质量。
软件开发中的质量保证活动包括需求评审、设计评审、代码审查、单元测试、功能测试、性能测试、用户验收测试等。
通过这些活动,可以及早发现和解决开发中的问题,确保软件的质量。
第五题:5. 软件项目管理的关键活动有哪些?软件项目管理的关键活动包括项目规划、项目组织、项目估计、进度控制和风险管理等。
项目规划是确定项目目标、任务和资源分配计划等;项目组织是建立和管理项目团队;项目估计是对项目工作量、成本、资源等进行估计和计划;进度控制是监控和调整项目进度;风险管理是识别和应对项目中的风险。
北语22秋《软件工程》作业4
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
[A.选项]结合
[B.选项]隐藏
[C.选项]封装
[D.选项]抽象
本题参考选择是:C
2.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()
[A.选项]数据库设计
[B.选项]数据通信
[C.选项]数据定义
[D.选项]数据维护
本题参考选择是:C
3.( )引入了“风险驱动”的思想,适用于大规模的内部开发项目。
[A.选项]增量模型
[B.选项]喷泉模型
[C.选项]原型模型
[D.选项]螺旋模型
本题参考选择是:D
4.可行性研究要进行一次_____需求分析。
[A.选项]详细的
[B.选项]全面的
[C.选项]简化的压缩的
[D.选项]彻底的
本题参考选择是:C
5.快速原型模型的主要特点之一是( )
[A.选项]开发完毕才见到产品
[B.选项]及早提供全部完整的软件产品
[C.选项]开发完毕后才见到工作软件
[D.选项]及早提供工作软件
本题参考选择是:D
6.IDEF0图不反映出系统()
[A.选项]系统做什么
[B.选项]系统功能如何实现
[C.选项]系统由谁来做
[D.选项]系统实现的约束条件
本题参考选择是:B。
软件工程练习册(四)
一、名词解释。
1.程序效率是指程序的执行速度及程序占用的存储空间
2.软件测试是对软件计划、软件设计、软件编码进行查错和纠错的活动(包括代码执行活动与人工活动)。
3.静态分析是不执行程序本身,分析程序正文可能导致错误的异常情况。
4.动态分析是执行被测程序,从执行结果分析程序可能出现的错误。
5.黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。
黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按
照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正
确的输出信息,并且保持外部信息的完整性。
黑盒测试又称为功能测试。
6.白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。
这种方法按照程序内部的逻辑测试程
序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又
称为结构测试。
二、填空题。
1.源程序的效率与___________确定的___________直接有关。
在详细设计翻译转换成源程序代码后,算法效率反映为程序的__________和
______________的要求。
2.在软件系统中,采用冗余技术是指要解决一个问题必须设计出_______不同的程序,包括采用不同的_________和_____________,而且
_______________也应该不同。
3.动态测试包括____________和____________。
4.动态测试的内容包括:____________,______________,______________,_______________。
5.组装测试也称_____________,______________,____________,_________________。
6.系统测试是软硬件或子系统的______________。
7.源程序的效率与详细设计阶段确定的_____________直接有关。
在详细设计翻译转换成源程序代码后,算法效率反映为程序的____________和
____________的要求。
8.关于SCM需要考虑的问题归结到SCM的五个任务,即_________、_________、______________、______________和________________。
9.软件测试在程序员对每一个模块的编码之后先做程序测试,再做单元测试,然后再进行
___________,____________,______________,____________,_________
____,其中单元测试的一部分己在编码阶段就开始了,测试横跨开发与
测试两个阶段,又有不同的人员参加,测试工作本身是复杂的。
10.程序编码是最后_____________和__________________的重要阶段,因此在此阶段必须考虑程序的效率。
11.测试方法有________________(包括静态分析法与白盒法)与________________(称黑盒法)。
12.白盒法的具体设计程序测试用例的方法有:
________,___________,___________,_________,主要目的是提高测试的____________。
13.黑盒法的具体设计程序测试用例的方法有:___________,_____________,_____________,主要目的是设法以___________测试数据子集来尽可能多的测试____________的错误。
14.动态测试既可以采用___________对模块进行___________的测试,又可以用__________做___________的测试,接口的测试,都是以执行程序并分析执行结果来查错的。
参考答案:
1、详细设计阶段、算法的效率、执行速度、存储容量
2、两个、算法、设计、编程人员
3、功能测试、结构测试
4、单元测试,也称逻辑测试,模块测试,功能测试
5、集成测试,综合测试,或结构测试,子系统测试
6、组装测试
7、算法的效率、执行速度、存储容量
8、标识、版本控制、修改控制、配置审计、配置报告
9、集成(综合或组装)测试,系统测试,验收(确认)测试,平行测试,
人工测试
10、提高运行速度、节省存储
11、分析方法、非分析方法
12、语句覆盖、分支(判定)覆盖、条件覆盖、路径覆盖(或条件组合
覆盖),覆盖率
13、等价类划分法,边界值分析法,错误推测法,最少、软件程序
14、白盒法、逻辑结构,黑盒法、功能结枸
三、选择题。
1、与设计测试数据无关的文档是(D)。
A. 需求说明书
B. 设计说明书
C. 源程序
D. 项目开发设计
2、下列( C )可能导致软件维护困难。
A. 开发人员经常调动,缺少原开发人员对软件的解释
B.缺少开发文档或文档严重不足
C.无法追踪软件的版本演化
D.对于其他开发人员编写的程序理解困难
3、软件开发成本估计的基本估算方法分如下为(A,B.C)
A. 自顶向下的估算方法
B. 自底向上的估计法
C. 差别估计法 D,成本估计法
四.判断题。
1、功能错,占整个软件错误27%,是需求分析设计不完整而引起的。
()
f
2、在编写程序时,要注意数据说明的风格。
为了数据说明便于理解和维护,
应避免使用空的ELSE语句和IF…THEN IF…的语句。
在早期使用ALGOL
语言时就发现这种结构容易使读者产生误解。
()f
3、按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。
()f
五、简述题。
1.测试的原则如下:
(1)测试前要认定被测试软件有错,不要认为软件设有错。
(2)要预先确定被测试软件的测试结果。
(3)要尽量避免测试自己编写的程序。
(4)测试要兼顾合理输入与不合理输入数据。
(5)测试要以软件需求规格说明书为标准。
(6)要明确找到的新错与已找到的旧错成正比。
(7)测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,并选择好测试用例与测试方法。
(8)测试用例留作测试报告与以后的反复测试用,重新验证纠错的程序是否有错。
2.在详细设计翻译转换成源程序代码后,算法效率反映为程序的执行速度和存储容量的要求。
转换过程中的指导原则是:
(1)在编程序前,尽可能化简有关的算术表达式和逻辑表达式;
(2)仔细检查算法中的嵌套的循环,尽可能将某些语句或表达式移到
循环外面;
(3)尽量避免使用多维数组;
(4)尽量避免使用指针和复杂的表达式;
(5)采用快速的算术运算;
(6)不要混淆数据类型,避免在表达式中出现类型混杂;
(7)尽量采用整数算术表达式和布尔表达式;
(8)选用等效的高效率算法。
3.维护步骤需要经历以几个步骤。
(1)分析和理解程序
(2)修改程序
(3)重新验证程序
(4)维护组织
4.软件管理的主要功能包括:
1.制定计划:规定待完成的任务、要求、资源、人力和进度等。
2.建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构。
3.配备人员:任用各种层次的技术人员和管理人员。
4.指导:鼓励和动员软件人员完成所分配的情况。