《软件工程》11套考试复习练习试题、作业题[含答案解析]
- 格式:doc
- 大小:340.73 KB
- 文档页数:23
软件工程考试试题(含答案)软件工程考试试题(含答案)1. 简答题1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。
传统瀑布模型:软件生命周期模型的一种经典模型,包含需求分析、系统设计、编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。
优点:- 易于理解和使用;- 需求固定,有利于计划和控制;缺点:- 需求变更困难;- 风险高,需求出错难以弥补;- 开发周期长,无法满足紧迫的需求。
敏捷开发模型:一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。
优点:- 高度适应变化;- 可以提供早期可用软件;- 强调团队合作和沟通;缺点:- 需要高度的客户参与度;- 需要经验丰富的开发团队;- 不适用于大型项目。
1.2 什么是需求工程?请简述需求工程的过程和方法。
需求工程:需求工程是软件开发过程中用来获取、分析、定义和验证系统需求的过程。
它的目标是建立对用户需求的准确和完整的理解。
需求工程的过程:1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。
2. 需求分析:对需求进行分析、整理,形成需求的详细描述。
3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。
4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和完整性。
需求工程的方法:- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。
- 观察法:观察用户的工作环境和行为,了解其需要的功能和约束条件。
- 文献研究法:通过研究现有的相关文档来获取需求信息。
- 原型法:通过创建原型,让用户提供反馈并进一步明确需求。
2. 算法设计题有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。
算法设计:1. 将整数数组按照从小到大的顺序进行排序。
2. 使用冒泡排序算法:- 比较相邻的两个数,如果前一个数大于后一个数,则交换它们的位置。
- 重复上述操作,直到没有任何交换发生,即数组已经按照从小到大的顺序排列好。
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________。
2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。
3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件。
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和四个步骤。
1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件设计方法。
A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法。
软件工程考试题带答案软件工程考试题一、单项选择题(每题5分,共30分)1.软件需求分析的主要目标是:A. 发现并修正软件中的错误B. 确定软件系统的功能和性能需求C. 编写软件代码D. 打印和发布软件答案:B2. 下列哪个是软件生命周期模型?A. 瀑布模型B. 微服务架构C. 敏捷开发D. 协同开发答案:A3. 软件设计阶段的主要目标是:A. 开发详细的测试计划B. 创建软件的体系结构和模块设计C. 编写和调试软件代码D. 验收和发布软件答案:B4. 软件测试的主要目的是:A. 发现并修复软件错误B. 确保软件系统符合质量标准C. 完成软件系统的开发D. 验收和发布软件答案:B5. 下列哪个是软件项目管理过程中的常用工具?A. 甘特图B. 数据流图C. 类图D. 鱼骨图答案:A6. 下列哪个是软件配置管理的主要目标?A. 确保软件开发过程的质量B. 管理软件中不同部分的变更C. 编写和调试软件代码D. 验收和发布软件答案:B二、简答题(每题10分,共20分)1. 简要解释软件工程的概念。
答:软件工程是一门研究和应用工程原理、方法和工具来开发和维护高质量软件的学科。
它注重应用系统性的、规范化的方法来开发和维护软件,以提高软件的质量、效率和可维护性。
2. 请简述瀑布模型的基本原理。
答:瀑布模型是软件开发过程中最早也是最广泛使用的模型之一。
它基于线性顺序的开发过程,将软件开发划分为需求分析、设计、开发、测试和运行维护等不同阶段,每个阶段按照顺序进行。
三、案例分析题(40分)某公司正在开发一个电商网站,你作为软件工程师参与其中。
请回答以下问题:1. 在需求分析阶段,你应该做些什么?答:在需求分析阶段,我应该与客户沟通,了解他们的需求和期望。
我将分析和记录客户的功能和性能需求,制定需求规格说明书,并与团队成员一起进行需求评审,确保需求的准确性和完整性。
2. 在设计阶段,你应该做些什么?答:在设计阶段,我将设计软件系统的体系结构和模块设计。
(完整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.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。
( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段,3.软件工程的出现主要是由于(C ) ,A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用 D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法 D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于面向对象方法学的软件生存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。
软件工程考试题及答案一、选择题1. 下列哪项不是软件工程的基本特征?A. 系统性B. 统一性C. 可度量性D. 个别性答案:D2. 谁提出了软件生命周期模型的概念?A. RoyceB. BrooksC. BoehmD. Yourdon答案:A3. 下列哪个模型是一种迭代的模型?A. 瀑布模型B. 原型模型C. 增量模型D. 螺旋模型答案:D4. 软件测试的目的是什么?A. 证明程序是正确的B. 发现程序中的错误C. 验证程序的正确性D. 保证程序可靠性答案:B5. 下列哪项不是软件配置管理的任务?A. 识别软件配置项B. 控制软件配置项的变更C. 维护软件配置项的单位标识D. 确认软件配置项是否软件错误答案:D二、问答题1. 请简要说明软件质量保证的概念及作用。
答案:软件质量保证是确保软件产品达到预期质量水平的所有活动的总称。
它包括制定质量政策、计划和目标,制定和实施过程、标准和检查措施等。
软件质量保证的主要作用是确保软件产品在交付给用户之前达到预期的标准,提高软件开发过程的效率和质量。
2. 请简要介绍软件配置管理的基本概念和主要任务。
答案:软件配置管理是控制软件产品变化和构建组合软件的过程。
它包括软件配置项的识别、版本控制、变更控制、状态报告等任务。
主要任务包括识别软件配置项和管理它们的变更,保持软件产品的相互间的一致性和交付版本的可跟踪性。
3. 请分析软件测试中的黑盒测试和白盒测试的区别。
答案:黑盒测试是根据软件的需求规格进行测试,测试者不需要了解软件的内部结构和实现细节,只关注软件的功能和接口。
白盒测试是基于对软件内部结构和代码的了解进行测试,测试者可以根据代码的逻辑路径和执行情况设计测试用例。
黑盒测试更关注软件的功能是否符合需求,白盒测试更关注软件的代码逻辑和执行路径是否正确。
三、综合题1. 请简要描述软件生命周期模型的特点及常见的几种模型,并比较它们之间的优缺点。
答案:软件生命周期模型是描述软件开发过程中不同阶段顺序和关系的模型。
《软件工程作业》考试复习题库(含答案)一、选择题1. 软件工程的三要素不包括以下哪项?A. 软件开发B. 软件维护C. 软件管理D. 软件设计答案:B2. 下列哪种编程范式主要用于软件工程中的面向对象编程?A. 命令式编程B. 函数式编程C. 面向对象编程D. 逻辑编程答案:C3. 在软件开发过程中,以下哪个阶段产生的文档最多?A. 需求分析B. 设计C. 编码D. 测试答案:A4. 以下哪个软件工程方法学强调在软件开发过程中使用迭代和增量开发?A. 敏捷开发B. 水晶方法C. 瀑布模型D. 敏捷开发与水晶方法的结合答案:A5. 以下哪个工具常用于软件需求分析阶段的模型建立?A. UML图B. 数据流程图C. 状态转换图D. 时序图答案:B二、填空题1. 软件工程的目的是提高软件的______、______和______。
答案:可用性、可靠性、可维护性2. 软件开发生命周期包括______、______、______、______和______。
答案:需求分析、设计、编码、测试、维护3. 在软件需求分析阶段,常用的方法有______、______和______。
答案:数据流程图、实体关系图、状态转换图4. 软件设计分为______设计和______设计。
答案:架构设计、详细设计5. 软件测试的目的不包括以下哪项______。
答案:找出软件的错误三、判断题1. 软件工程是计算机科学的一个分支。
()答案:正确2. 软件工程适用于所有类型的软件开发项目。
()答案:错误3. 敏捷开发方法适用于所有类型的软件开发项目。
()答案:错误4. 软件测试是软件开发过程中的最后一个阶段。
()答案:错误5. 软件维护是软件开发过程中的重要环节。
()答案:正确四、简答题1. 简述软件工程的定义及目标。
答案:软件工程是应用计算机科学、数学原理和方法来设计、开发、测试和维护软件的一门学科。
其目标包括提高软件的可用性、可靠性和可维护性,降低软件开发成本,提高软件开发效率。
软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一局部,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:1〕如何开发软件,以满足对软件日益增长的需求;2〕如何维护数量不断膨胀的已有软件。
软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:1〕软件是逻辑部件而不是物理部件。
2〕软件的规模越来越大,复杂性越来越大。
3〕轻视需求分析的重要性,轻视软件维护的错误观点和方法。
3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原那么,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法〞。
1993年IEEE的定义:“①软件工程是:把系统的、标准的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径〞。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型〔需求稳定,而且可以预先指定〕原型模型〔需求模糊或者随时间变化〕增量模型〔分析员先作出需求分析和概要设计,用户参与逐步完善〕螺旋模型〔将瀑布模型与原型化模型结合起来,并参加了风险分析〕喷泉模型〔使开发过程具有迭代性和无间隙性〕5、软件过程模型有哪些?简述它们的特点。
过程模型分为五大类: 1.管理过程模型。
2.瀑布模型〔又称为生命周期模型〕。
3.增量过程模型:包括增量模型,,RAD模型。
4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。
软件工程考试试题含答案软件工程考试试题含答案一. 选择题1. 下列不属于软件工程方法论的是:A. 瀑布模型B. 敏捷开发C. 融合开发D. 增量开发答案:C. 融合开发2. 哪个不是软件需求工程的阶段?A. 需求收集和分析B. 需求规格说明书编写C. 需求确认和验证D. 需求修复和更新答案:D. 需求修复和更新3. 软件开发生命周期中不包含以下哪个阶段?A. 需求分析B. 软件设计C. 软件测试D. 软件维护答案:C. 软件测试4. 下列哪个是软件开发项目管理的基本约束?A. 时间B. 人员C. 质量D. 成本答案:D. 成本5. 使用UML建模时,哪个图标不属于结构图?A. 类图B. 对象图C. 时序图D. 包图答案:C. 时序图二. 填空题1. 软件工程的目标是提高软件的质量和________。
答案:生产效率2. 软件需求可以分为________和________两类。
答案:功能需求,非功能需求3. 软件设计的核心目标是________。
答案:满足需求4. 软件测试的目的是发现________。
答案:缺陷和错误5. 软件维护分为________和________两个主要类别。
答案:正确性维护,适应性维护三. 简答题1. 请简要介绍敏捷开发方法。
答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。
其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。
敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。
2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?答案:软件需求工程是研究软件需求获取、分析、规格化和验证等过程的学科。
软件需求工程是软件开发的关键环节,因为它直接关系到软件最终能否满足用户的期望和需求。
缺乏有效的需求工程将导致软件质量下降、进度延误、成本增加等问题。
3. 请简述UML类图的作用和主要元素。
答案:UML类图用于展示软件系统中的类、对象及其之间的关系。
软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于.A、变换型B、事务型8. PAD〔Problem Analysis Diagram〕图是一种工具.A、系统描述B、详细设计C、测试D、编程辅助9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的.A、总貌B、细节C、抽象D、软件的作者10. 数据流图中,当数据流向或者流自文件时,.A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出11. 分析员是.A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导12. 在软件开辟中,有利于发挥集体智慧的一种做法是.A、设计评审B、模块化C、主程序员制D、进度控制13. 在开辟软件时,可用来提高程序员的工作效率.A、程序开辟环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14. 结构化程序设计主要强调程序的.A、效率B、速度C、可读性D、大小15. 开辟软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作.A、软件投机B、软件危机C、软件工程D、软件产生16. 瀑布模型把软件生存周期划分为软件定义、软件开辟和三个阶段,而每一阶段又可细分为若干更小的阶段.A、详细设计B、可行性分析C、运行与维护D、测试与排错17. 软件的设计又称为总体结构设计,其主要任务是建立软件系统的总体结构.A、概要B、抽象C、逻辑D、规划18. 结构化分析 SA 是软件开辟需求分析阶段所使用的方法,不是 SA 所使用的工具.A、DFD 图B、PAD 图C、结构化英语D、判定表19. 结构化分析方法以数据流图、和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型.A、DFD 图B、PAD 图C、IPO 图D、数据字典20. 模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是.A、顺序性内聚B、过程性内聚C、逻辑性内聚D、功能性内聚21. Jackson 设计方法是由英国的 M.Jackson 提出的,它是一种面向的设计方法.A、对象B、数据流C、数据结构D、控制结构22. 结构化程序设计思想的核心是要求程序只由顺序、循环和三种结构组成.A、分支B、单入口C、单出口D、有规则 GOTO23. 源程序的版面文档要求应有变量说明、适当注释和.A、框图B、统一书写格式C、修改记录D、编程日期24. 在软件工程中,软件测试的目的是.A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误25. 在软件工程中,当前用于保证软件质量的主要技术手段还是.A、正确性证明B、测试C、自动程序设计D、符号证明26. 在软件工程中,高质量的文档标准是完整性、一致性和.A、统一性B、安全性C、无二义性D、组合性27. 在软件研究过程中,CASE 是.A、指计算机辅助系统工程B、CAD 和CAM 技术的发展动力C、正在实验室用的工具D、指计算机辅助软件工程28. 软件〔结构〕设计阶段文档是.A、系统模型说明书B、程序流程图C、系统功能说明书D、模块结构图和模块说明书29. 软件的维护指的是.A、对软件的改进、适应和完善B、维护正常运行C、配置新软件D、软件开辟期的一个阶段30. 逆向工程在软件工程中主要用于阶段.A、分析B、设计C、编码D、维护31. 软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为测试.A、白盒法B、灰盒法C、黑盒法D、综合法32.阶段是软件生命期中花费最多,持续时间最长的阶段.A、需求分析B、维护C、设计D、测试33. 在可行性研究阶段,对系统所要求的功能、性能以与限制条件进行分析,确定是否能够构成一个满足要求的系统,这称为可行性.A、经济B、技术C、法律D、操作34. 结构化系统分析所得到的系统需求说明书中包含一组小说明.小说明是指对作进一步说明.A、数据流B、数据存储〔文件〕C、处理〔加工〕D、外部项〔源点终点〕35. 分层的数据流图中,父图与子图的平衡是指的平衡.A、处理B、数据存储C、外部项D、数据流36. 数据流图中,当数据流向或者流自数据存储时,. A、数据流要命名,数据存储不必命名B、数据流不必命名,数据存储要命名C、数据流和数据存储均应命名,因流进和流出的数据流可能不同D、数据流和数据存储都不必命名,因为从处理上可自然反映出来37. 结构化系统设计阶段的目的是.A、获得良好的软件结构B、获得可读性好的程序C、获得满足用户需求的数据流图D、获得高效的算法38. 要减少两模块之间的联系,则.A、两模块之间的调用次数要尽量少B、两模块之间直接传递的信息要尽量少C、两模块应使用尽可能相同的全局变量D、两模块应尽量共享相同的数据结构39. 在集成〔联合〕测试中,测试的主要目的是发现阶段的错误.A、软件计划B、需求分析C、设计D、编码40. 在验收测试时,测试所依据的文档是.A、可行性报告B、系统〔需求〕说明书C、模块说明书D、用户手册41. 在软件生存期的维护阶段,继续诊断和修正错误的过程称为.A、完善性维护B、适应性维护C、预防性维护D、改正性维护42. 软件的可移植性是衡量软件质量的重要标准之一.它指的是.A、一个软件版本升级的容易程度B、一个软件与其他软件交换信息的容易程度C、一个软件对软硬件环境要求得到满足的容易程度D、一个软件从一个计算机系统或者环境转移到另一个计算机系统或者环境的容易程度43. 软件生存周期是指阶段.A、软件开始使用到用户要求修改为止B、软件开始使用到被淘汰为止C、从开始编写程序到不能再使用为止D、从立项制定计划,进行需求分析到不能再使用为止44. 可行性研究的目的是用最小的代价,在最短的时间内确定问题是否可能解决和值得去解决,主要从三个方面进行.A、技术可行性、费用可行性、效益可行性B、经济可行性、技术可行性、机器可行性C、技术可行性、操作可行性、经济可行性D、费用可行性、机器可行性、操作可行性45. 数据流图是一种描述数据与其变换的图形表示,在数据流图上不允许浮现.A、数据流B、控制流C、文件D、加工46. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是.A、数据定义B、数据维护C、数据通讯D、数据库设计47. 事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,通过执行后面的加工.A、变换B、选择C、合并D、联接48. 如果一个模块要调用另一个模块,在下列几种方式中,采用方式的块间联系小.A、过程调用,传递控制参数B、过程调用,传递数据参数C、直接引用,共用控制信息D、直接引用,共用数据信息49. 软件的结构化设计方法是以为依据的模块结构设计方法.A、系统数据要求B、数据结构C、数据流图D、数据流50. 结构化设计〔SD〕是软件开辟中常用的方法,使用 SD 方法可以得到.A、程序流程图B、编程语言的源程序C、分层数据流图和数据字典D、模块结构图51. 在测试层次结构的大型软件时,有一种方法是从上层模块开始, 自顶向下进行测试,此时有必要用替代尚未测试过的下层模块.A、主模块B、桩模块C、驱动模块D、输出模块52. 联合〔集成〕测试可以由两种方式进行.A、模块测试、系统测试B、条件测试、非条件测试C、渐增式测试、非渐增式测试D、分析测试、验收测试53. 由于更新了操作系统而对软件进行的修改工作属于.A、修正性维护B、适应性维护C、完善性维护D、预防性维护54. 为保证软件质量,在软件生存周期的每一个阶段结束之前,都需要进行工作. A、制定计划 B、测试 C、审查 D、交接55. 模块内部联系最大的是.A、顺序内聚B、功能内聚C、通信内聚D、时间内聚56. 将以下 3 种耦合性由弱到强的顺序罗列,正确的是.A、控制耦合数据耦合公共耦合B、数据耦合公共耦合控制耦合C、公共耦合数据耦合控制耦合D、数据耦合控制耦合公共耦合57. 对某程序进行测试时,选择足够多的测试用例,使程序的每一个判定中条件的各种可能组合都至少浮现一次,这称为覆盖法.A、判定B、判定/条件C、条件D、条件组合58. 数据字典是对数据流图中浮现的组成元素定义的集合,它不包括条目.A、文件B、数据流C、加工D、I/O 参数59. 软件需求分析的内容是.A、确定开辟的软件应有哪些功能,应达到什么性能B、确定软件的开辟成本C、制定软件开辟的进度表D、确定软件的总体结构60. 在软件的设计阶段应提供的文档是.A、软件需求规格说明书B、概要设计规格说明书和详细设计规格说明书C、数据字典与数据流图D、源程序以与源程序的说明书61. 软件测试时,正确的测试次序是.A、模块测试,组装测试,确认测试B、模块测试,确认测试,组装测试C、组装测试,模块测试,确认测试D、确认测试,模块测试,组装测试62. 在软件维护阶段,若用户要求在程序中增加一个原来没有的联机匡助功能是属于.A、改正维护B、适应性维护C、完善性维护D、改正并适应性维护63. 程序流程图、 N-S 图和 PAD 图是使用的算法表达工具.A、设计阶段的概要设计B、设计阶段的详细设计C、编码阶段D、测试阶段64.软件的可维护性是指.A、软件的可理解程度,修改的难易程度B、软件文档修改的难易程度C、程序修改的难易程度D、使用维护工具进行维护的难易程度65.月收入≤800 元者免税,现用输入数 800 元和 801 元测试程序,则采用的是方法.A、边缘值分析B、条件覆盖C、错误猜测D、等价类66.采用黑盒法测试程序是根据.A、程序的逻辑B、程序的功能说明C、程序中的语句D、程序中的数据67.数据流图的小说明中描述的最基本部份是.A、激发条件B、加工逻辑C、优先级D、执行频率68.系统的茁壮性是指.A、系统能够正确地完成预期的功能B、系统能有效地使用计算机资源C、在有干扰或者输入数据不合理等意外情况下,系统仍能进行适当的工作 D、在任何情况下,系统均具有错误自修复功能69.软件工程学是应用科学理论和工程上的技术指导软件开辟的学科,其目的是.A、引入新技术提高空间利用率B、用较少的投资获得高质量的软件C、缩短研制周期扩大软件功能D、硬软件结合使系统面向应用70.不适于作为数据流图处理〔加工〕框名称的是.A、人工校核工资数据B、工资支票数据C、打印工资支票D、计算职工工资71.如果模块中所有成份引用共同的数据,该模块内的联系类型是.A、顺序内聚B、功能内聚C、通信内聚D、过程内聚72.某模块的功能是打印录取通知书或者不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用执行哪种通知书的打印.这种模块间的耦合称为.A、数据耦合B、混合耦合C、公共耦合D、控制耦合73.适应性维护的含义是所进行的维护.A、为使软件在改变了的环境下仍能使用B、为改正在开辟期产生、测试阶段没有发现、运行时浮现的错误C、为改善系统性能、扩充功能D、为软件的正常执行74.采用白盒法测试模块〔程序〕 ,应根据.A、内部逻辑结构B、算法复杂度C、外部功能特性D、支撑环境75.下列关于软件工程方面的叙述中,正确的说法是.A、软件的质量标准中,某些因素是不可兼得的B、数据词典包括数据流、文件、模块调用关系等三种条目C、测试过程即调试D、白盒法测试用例中,满足条件覆盖的一定满足判定覆盖76.程序编写〔实现〕阶段完成的文档有.A、详细设计说明书、模块开辟宗卷B、详细设计说明书、用户手册C、模块开辟宗卷、操作手册D、用户手册、操作手册77.软件总体结构的内容应在文档中阐明.A、软件需求规格说明书B、概要设计规格说明书C、详细设计规格说明书D、数据要求规格说明书78.使用结构化分析方法时,采用的基本手段是.A、分解和抽象B、分解和综合C、归纳与推导D、试探与回溯79.系统需求分析阶段的任务是分析系统的.A、数据要求B、功能要求C、性能要求D、A,B,C 三方面80.决定软件可维护性的主要因素可概括为.A、可测试性、可理解性、可修改性B、一致性、结构性、自我描述性C、可计测性、可访内性、可通讯性D、可扩充性、简洁性、结构性81.要减少两个模块之间的耦合,则必须.A、两个模块间的调用次数要少B、模块间传递的参数要少C、模块间传递的参数要少且不传递开关型参数D、模块间传递的参数要少且不传递开关型参数以与两模块不引用同样的全局变量82.软件开辟中系统分析阶段产生的文档是.A、数据流图B、系统说明书C、模块结构图和模块说明书D、数据字典83.初始化模块和结束模块从块内联系看,被称为模块.A、过程内聚B、功能内聚C、时间内聚D、逻辑内聚84.系统分析阶段的主要任务是分析系统的综合要求,其中对系统需要的存储量、茁壮性、完全性和联机系统的响应时间等方面的要求属于.A、环境要求B、功能要求C、性能要求D、运行要求85.结构化设计方法采用变换分析和事务分析技术实现.A、从数据结构导出程序结构B、从模块结构导出程序结构C、从模块结构导出数据结构D、从数据流图导出初始结构图86.在软件测试中,确认〔验收〕测试主要用于发现阶段的错误.A、软件计划B、需求分析C、软件设计D、编码87.软件维护阶段是软件生存周期中持续时间最长的阶段,它从时算起.A、产生可执行程序B、组装测试通过C、软件交付使用D、用户提出第一份维护报告88.结构化系统分析主要是通过进行分析的.A、算法分解B、控制结构分解C、数据结构分解D、处理功能分解89.结构化设计方法是面向的设计方法.A、过程B、对象C、数据流D、数据结构90.在结构化系统分析中,判定表和判定树常用于表达数据流图中的.A、加工B、数据流C、数据存储D、外部项91.下列耦合度表示中,最弱的耦合形式是.A、特征耦合B、公共耦合C、数据耦合D、控制耦合92.为软件系统今后的改进和发展打好基础而进行的维护工作称为.A、改正性维护B、适应性维护C、完善性维护D、预防性维护93.系统开辟的需求分析阶段的重要工作之一是.A、数据定义B、数据库设计C、数据维护D、数据结构实现94.一个模块直接控制〔调用〕的下层模块的数目称为模块的.A、扇人数B、扇出数C、宽度D、作用域95.下列所述的测试原则中,错误的是.A、应设计非法输入的测试用例B、测试用例要给出测试的预期结果C、因维护修改程序后需回归测试D、开辟小组应与测试小组合并96.某应用系统为今后的发展将单用户系统改为多用户系统,并形成新的应用软件,由此进行的维护工作称为.A、改正性维护和预防性维护B、适应性维护和完善性维护C、完善性维护和改正性维护D、预防性维护和适应性维护97.需求分析说明书不能作为.A、可行性研究的依据B、用户和开辟人员之间的合同C、系统概要设计的依据D、软件验收测试的依据98.如果,则称该模块具有功能内聚.A、模块包括单一功能B、模块包括若干功能,但所有功能相互密切相关C、每一个模块有单入口、单出口D、模块中每一个处理成份对应一个功能,它们密切结合99.如果一个排序程序所设定的测试用例为〔1〕表空〔2〕表中惟独一个元素〔3〕元素均有相同的关键字值〔4〕元素已排序则此测试方法称为.A、等价分类法B、边缘值分析法C、因果图法D、错误猜测法100.维护机构接受维护申请后,接下来的工作是.A、回归测试B、评价申请C、执行维护D、组织复审101.软件重用概念是指一个程序.A、被多次使用B、被循环使用C、被多个其他软件调用D、在不同环境下的多次重复使用102.面向对象分析时,所标识的对象为是错误的.A、与目标系统有关的物理实体B、与目标系统发生作用的人或者组织的角色 C、目标系统运行中需记忆的事件 D、目标系统中环境场所的状态103.在维护请求后进行的维护过程中,应先,然后对维护要求进行评估并分别处理.A、确定维护类型B、安排维护优先次序C、组织人员维护D、分析软件错误的严重程序104.划分软件生存周期的阶段时所应遵循的基本原则是.A、各阶段的任务尽可能相关B、各阶段的任务尽可能相对独立C、各阶段的任务在时间上连续D、各阶段的任务在时间上相对独立105.OOA模型规定了一组对象如何协同才干完成软件系统所指定的工作.这种协同在模型中是以表明对象通信方式的一组连接来表示的.A、消息B、记录C、数据D、属性106.用黑盒法设计测试用例时采用的方法包括.A、判定覆盖法B、条件覆盖法C、因果图法D、路径分析法107.软件维护过程中,将会引起维护副作用.A、修改代码或者数据后未作测试B、进行改正性维护时错误未全部改正C、进行完善性、适应性或者预防性维护时考虑因素不全面D、维护过程中发生系统运行错误108.Jackson 程序设计方法是一种面向的设计方法.A、数据结构B、数据流图C、IPO 图D、系统流程图109.下面所列的性质中,不属于面向对象程序设计的特性.A、继承性B、重用性C、封装性D、可视化110.普通来说,在管理软件中,软件生存周期各个阶段的工作量以所占的比例最大.A、需求分析与设计阶段B、编码实现阶段C、测试阶段D、维护阶段111.结构化系统分析中,处理逻辑可用描述.A、数据字典B、数据流图C、结构图D、结构化语言112.系统开辟人员使用系统流程图或者其他工具描述系统,估计每种方案的成本和效益的工作是在阶段进行的.A、需求分析B、总体设计C、详细设计D、编码阶段113.结构化设计方法采用变换分析和事务分析技术实现.A、从数据结构导出程序结构B、从数据流图导出初始结构图C、从模块结构导出数据结构D、从模块结构导程序结构114.设一模块内部的处理动作为:成份 A 的输出是成份 B 的输入,则该模块的聚合性称为.A、顺序聚合B、功能聚合C、过程聚合D、通信聚合115.某个模块的作用域是指.A、被该模块调用的所有模块B、调用该模块的所有模块C、与该模块相关联的所有模块D、受该模块内的判定所影响的所有模块116.在软件测试中,确认〔验收〕测试主要用于发现阶段的错误.A、软件计划B、需求分析C、软件设计D、编码117.如果按用户要求增加新功能或者修改已有的功能而进行的维护工作,称为. A、完善性维护 B、适应性维护 C、预防性维护 D、改正性维护118.软件维护阶段是软件生存周期中持续时间最长的阶段,它从时算起.A、产生可执行程序B、组装测试通过C、软件交付使用D、用户提出第一份维护报告119.软件质量因素中,是指软件产品能准确执行需求规格说明中所规定的任务.A、茁壮性B、正确性C、可扩充性D、精确性120.下列是面向对象设计方法中有关对象的叙述,其中是正确的.A、对象在内存中没有它的存储区B、对象的属性集合是它的特征表示C、对象的定义与程序中类型概念相当D、对象之间不能相互通信121.软件生成周期中,开辟期间包括阶段.A、软件计划、结构设计、测试和运行维护B、需求分析、概要设计、详细设计和编码C、结构设计、编码、测试和运行维护D、需求分析、结构设计、编码和测试122.结构化系统分析主要是通过进行分析的.A、算法分解B、控制结构分解C、数据结构分解D、处理功能分解123.下列不是模块化设计的目的.A、可采用结构化设计方法B、降低复杂度C、有利于信息隐蔽D、描述系统的功能与性能124.下面不属于结构化设计需解决的问题 X 围.A、确定系统应由哪些系统和模块组成B、模块以什么方式联结,接口如何C、如何编写结构程序D、如何以恰当方式表达系统的软件结构125.结构化设计方法是面向的设计方法.A、过程B、对象C、数据流D、数据结构126.下列耦合度表示中,最弱的耦合形式是.A、特征耦合B、公共耦合C、数据耦合D、控制耦合127.在结构化系统分析中,判定表和判定树常用于表达数据流图中的.A、加工B、数据流C、数据存储D、外部项128.全局数据结构的错误通常在中检查.A、单元测试B、有效性测试C、集成〔系统〕测试D、确认测试129.为软件系统今后改进和发展打好基础而进行的维护工作称为.A、改正性维护B、适应性维护C、完善性维护D、预防性维护130.下列系统设计工具中,不属于详细设计工具.A、N-S 图B、数据流图C、程序流程图D、PAD131.软件生存周期中,运行期的主要任务是.A、软件开辟B、软件维护C、版本更换D、功能扩充132.系统开辟的需求分析阶段的重要工作之一是.A、数据定义B、数据库设计C、数据维护D、数据结构实现133.下列叙述中,不属于数据字典的作用.A、作为编码阶段的描述工具B、为用户与开辟人员之间统一认识C、作为概要设计的依据D、为需求分析阶段定义各类条目134.一个模块直接控制〔调用〕的下层模块的数目称为模块的.A、扇入数B、扇出数C、宽度D、作用域135.模块内部的算法设计在结构化方法的阶段进行.A、系统分析B、概要设计C、详细设计D、编码〔实现〕136.在面向对象软件方法中,"类〞是.A、具有同类数据的对象的集合B、具有相同操作的对象的集合C、具有同类数据的对象的定义D、具有同类数据和相同操作的对象的定义137.编码〔实现〕阶段得到的程序段应该是.A、编辑完成的源程序B、编译〔或者汇编〕通过的可装配程序C、可交付使用的程序D、可运行程序138.下列所述的测试原则中,错误的是.A、应设计非法输入的测试用例B、测试用例要给出测试的预期结果C、因维护修改程序后需回归测试D、开辟小组与测试小组合并139.某应用系统为今后的发展将单用户系统改为用户系统,并形成新的应用软件,由此进行的维护工作称为.A、改正性维护和预防性维护B、适应性维护和完善性维护C、完善性维护和改正性维护D、预防性维护和适应性维护140.可维护性是软件的重要质量标准.下列措施与提高可维护性无关.A、提高程序效率B、强调程序设计风格化C、采用模块化程序设计方法D、采用结构化程序设计方法或者面向对象方法141.产生软件危机的原因有如下几点,除了.A、软件开辟过程未经审查B、软件开辟不分阶段,开辟人员没有明确的分工C、所开辟的软件,除了程序清单外,没有其他文档D、采用工程设计的方法开辟软件,不符合软件本身的特点142.需求分析说明书不能作为.A、可行性研究的依据B、用户和开辟人员之间的合同C、系统概要设计的依据D、软件验收测试的依据。
软件工程试卷及答案篇一:《软件工程》复习题及答案软件工程复习题第一部份(第 1~6 章)一、选择题:1.开辟软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B)。
A.用户容易参预开辟 B.缺乏灵便性 C.用户与开辟者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开辟模型。
A.增量模型 B.专家系统 C.喷泉模型 D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,合用于( A) 系统。
A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时 6.下列有关软件工程的标准,属于国际标准的是(C)A.GBB.ANSIC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。
A.数据结构B.程序结构C.算法D.数据流 8.软件可行性研究实质上是要进行一次(A)需求分析、设计过程。
A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9.可行性研究的目的是(D)A、分析开辟系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开辟系统 10.设年利率为 i,现存入 p 元, n 年后可得钱数为(C)。
A、P×(1+i*n)B、P×(i+1)*nC、p×(1+i)nD、p×(i+n) 11.可行性研究是在(A)之前A、系统开辟B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,普通来说,可行性研究的成本只是预期总成本的(C)。
A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14.效率是一个性能要求,因此应当在以下哪个阶段规定? B A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开辟人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据 16.数据字典是用来定义(D)中的各个成份的具体含义的。
《软件工程导论》测试题(参考答案)(本试卷答卷时间为60分钟)学号:______________ 组别:____________、选择(每题2分,共20 分)1 .瀑布模型的存在冋题是( B )A .用户容易参与开发B .缺乏灵活性C .用户与开发者易沟通D .适用可变需求2 .程序的三种基本控制结构是( B )A .过程、子程序和分程序B .顺序、选择和重复C .递归、堆栈和队列D .调用、返回和转移3 .在详细设计阶段,经常采用的工具有( A )A. PADB. SAC. SC4 .详细设计的结果基本决定了最终程序的( C )A. 代码的规模 B .运行速度C.质量5. 结构化程序设计主要强调的是( D )A. 程序的规模D . DFDD .可维护性B. 程序的效率C. 程序设计语言的先进性D. 程序易读性6 .需求分析阶段的任务是确定( D )A. 软件开发方法B. 软件开发工具C. 软件开发费D . 软件系统的功能7.在E-R模型中,包含以下基本成分(C )。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作8 .设函数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 •信息隐藏和局部化的根据9 .面向数据流的设计方法把( D )映射成软件结构。
A •数据流B •系统结构C •控制结构D .信息流10.聚程度最低的是( A )聚A.偶然B.过程C.顺序D.时间、填空题(每空2分,共8分)。
1 .软件结构是以—模块为基础而组成的一种控制层次结构。
2 .在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、定树。
《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
2022年下半年《软件工程》全国自考考题一、单项选择题1、RUP中,用于捕获系统语境中的一些重要领域对象,其中领域对象表达系统工作环境中存在的事物或发生的事件,领域模型一般采用______。
A.PAD图B.流程图C.类图D.N-S图2、软件生存周期是指______。
A.开发软件的全部时间B.使用软件的全部时间C.开发和使用软件的全部时间D.从形成概念开始到最后淘汰让位于新的软件产品的时间3、软件工程在20世纪60年代末到80年代初获得的主要成果有______。
A.CASE产品B.面向对象语言C.瀑布模型D.软件生存周期过程4、结构精细化设计过程中,为了提高模块的独立性,应遵循的原则是______。
A.低内聚高耦合B.低内聚低耦合C.高内聚低耦合D.高内聚高耦合5、结构化分析方法给出了一种能表达功能模型的工具是______。
A.HIPO图B.PAD图C.N-S图D.DFD图6、下列不属于需求规约的基本性质是______。
A.可重复的B.重要性和稳定性程度C.完整的D.一致的7、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
A.供应过程B.开发过程C.测试过程D.支持过程8、下列不属于软件危机的主要表现是______。
A.软件生产效率低B.软件开发没有工具支持C.软件生产质量低D.软件开发缺乏可遵循的原理、原则、方法体系以及有效的管理9、RUP的分析类包括边界类、实体类和______。
A.子类B.控制类C.父类D.活动类10、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。
A.IdleB.InitializingC.CommandD.Active11、下列不属于创建一个系统的类图步骤是______。
A.模型化待建系统中的概念,形成类图中基本元素B.模型化待建系统中的各种关系,形成该系统的初始关系C.模型化系统中的接口,不需给出该系统的最终类图D.模型化逻辑数据库模式12、RUP设计阶段的主要活动不包含______。
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
5. 试说明“软件生存周期”的概念。
6. 试论述瀑布模型软件开发方法的基本过程。
7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。
8. 软件工程学的基本原则有哪些?试说明之。
9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。
对否?请解释你的回答。
上机题1. 假设需要制造一个带有四个按钮和两个灯泡的盒子并具有以下功能:⑴有四个按钮输入,分别称为B1,B2,B3和B4;⑵有两个灯泡作为输出,分别称为L1和L2;⑶ B1是打开电源的按钮;⑷ B4是关闭电源的按钮;⑸ B2和B3 是操作按钮;⑹在B1被按下后及B4被按下前,系统应称为电源打开状态;⑺在B4被按下后及B1被按下前,系统应称为电源关闭状态;⑻在电源关闭状态下,B2和B3按钮不起作用;⑼在电源关闭状态下,灯应不亮;⑽从最近一次电源打开状态算起,如果B2被按下的次数比B3被按下的次数多,L1亮,否则L2亮。
⑾任何时候都不能有一个以上的灯泡亮;⑿如果其中的一个灯泡出现故障,另一个灯泡应以2秒钟的间隔闪烁,而不管B2和B3的操作过程。
当B4按下时,闪烁停止;当B1被按下时,闪烁重新开始。
当故障被排除后闪烁停止,系统恢复正常状态。
作业2:1. 雇员类含有计算报酬的行为,利用面向对象的(),可以使得其子类专职雇员类和兼职雇员类计算报酬的行为有相同名称,但有不同的计算方法。
A)多态性 B)继承性 C)封装性 D)复用性2. 下面关于UML叙述正确的是()。
A)UML是一种建模语言,使用者不能对其扩展B)UML仅适用于系统的分析和设计阶段C)UML是独立于软件开发过程的D)UML仅是一组图形的集合3. 某公司欲开发一个在线交易系统,为了能够精确表达用户于系统的负责交互过程,应采用UML的()进行交互过程建模。
A)序列图 B)用例图 C)活动图 D)对象图4.如果对银行ATM的常用功能进行建模,包括取款、存款、转账、查询等,可以用()来表示该系统的功能需求。
A)序列图 B)用例图 C)活动图 D)对象图5.你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。
6. 可行性研究主要研究哪些问题?试说明之。
上机题1.一家公司有许多部门,部门名唯一地确定一个部门;每个部门由一名经理管理,也有的经理并不管理任何一个部门;每个部门生产多种产品,每种产品仅由一个部门生产。
该公司有许多名员工为之工作,员工又进一步划分为经理和工人两类。
每名工人可参加多个工程项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一人主持。
使用对象模型描述类对象所具有的属性,以及公司类对象提供的服务。
2.建立一个图书馆系统的用例视图作业3:1.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。
供选择的答案:A. 总结B. 阶段性报告C. 需求分析评审D. 以上答案都不正确2.各种分析方法都有它们共同适用的( )。
供选择的答案:A.说明方法B.描述方式 C. 准则D.基本原则3.软件需求分析的任务不应包括( A )。
进行需求分析可使用多种工具,但( B )是不适用的。
在需求分析中,分析员要从用户那里解决的最重要的问题是( C )。
需求规格说明书的内容不应当包括( D )。
该文档在软件开发中具有重要的作用,但其作用不应当包括( E )。
供选择的答案:A. ①问题分析②信息域分析③结构化程序设计④确定逻辑模型B. ①数据流图②判定表③ PAD图④数据词典C. ①要让软件做什么②要给该软件提供哪些信息③要求软件工作效率如何④要让软件具有什么样的结构D. ①对重要功能的描述②对算法的详细过程性描述③软件确认准则④软件的性能E. ①软件设计的依据②用户和开发人员对软件要“做什么”的共同理解③软件验收的依据④软件可行性分析的依据4.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。
它从用户界面的开发入手,首先形成( B ),用户( C ),并就( D )提出意见,它是一种( E )型的设计过程。
供选择的答案:A. ①需求不确定性高的②需求确定的③管理信息④决策支持B. ①用户界面使用手册②用户界面需求分析说明书③系统界面原型④完善的用户界面C. ①改进用户界面的设计②阅读文档资料③模拟用户界面的运行④运行用户界面原型D.①同意什么和不同意什么②使用和不使用哪一种编程语言③程序的结构④执行速度是否满足要求E.①自外向内②自顶向下③自内向外④自底向上5.在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。
试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?6.软件需求分析是软件工程过程中交换意见最频繁的步骤。
为什么交换意见的途径会经常阻塞?上机题1.建立一个图书馆系统的活动图2.建立一个图书馆系统的顺序图作业4:1. 需求分析()。
A. 要回答“软件必须做什么?B. 可概括为:“理解,分解,表达”6个字C. 要求编写需求规格说明书D. 以上都对2. 进行需求分析可使用多种工具,但()是不适用的。
A. 数据流图B. 判定表C. PAD图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. 软件需求分析阶段的工作,可以分成以下4个方面:对问题的识别、分析与综合、制定规格说明以及()。
A. 总结B. 实践性报告C. 需求分析评审D. 以上答案都不正确9. 以下说法错误的是()。
A. 结构化语言外层中的顺序结构是一组祈使语句、选择语句、重复语句的顺序排列B. 结构化语言外层中的选择结构使用IF-THEN-ELSE-ENDIF等关键字C. 结构化语言的内层可以采用祈使语句的自然语台短语D. 结构化语言外层中的重复结构使用CASE-OF-ENDCASE等关键字10. 结构化分析方法使用的描述工具()定义了数据流图中每一个图形元素。
A. 数据流图B. 数据字典C. 判定表D. 判定树上机题1.我们需研制一个“教育基金会的捐助资金管理系统”的例子来说明数据流图的具体建模方法。
要求如下:⑴由捐助者向基金会提出捐助请求,经身份确认后被接受,对捐助人进行登记并授予捐助证书,捐款存入银行。
⑵由教育单位提出用款申请,在进行相应的合法性校验和核对相应的捐款储备后做出支出。
⑶每月给基金会的理事会一份财政状况报表,列出本月的收入和支出情况和资金余额。
为了搞清系统中的各种关系,用数据流图的方法进行分析和建模。
2.假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。
对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。
零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。
当某种零件的库存数量少于库存量临界值时就应该再次订货。
作业5:1.从下列有关系统结构图的叙述中选出正确的叙述。
(1) 系统结构图中反映的是程序中数据流的情况。
(2) 系统结构图是精确表达程序结构的图形表示法。
因此,有时也可将系统结构当作程序流程图使用。
(3) 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。
(4) 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。
这时,使用斜的线段和水平、垂直的线段具有相同的含义。
2.软件的开发工作经过需求分析阶段,进入( A )以后,就开始着手解决“怎么做”的问题。
常用的软件设计方法有( B )、( C )、( D )和( E )等方法。
供选择的答案:A ~ B.①程序设计②设计阶段③总体设计④定义阶段⑤ SD方法⑥ SP方法C. ① Jackson方法②瀑布法③快速原型法④回溯法D ~ E. ① LCP(Wanier)方法②递归法③ Parnas方法④自下而上修正⑤逐步求精法⑥检测校正法3.软件设计中划分模块的一个准则是(A)。