软件工程《软件工程》习题集
《软件工程》练习题
《软件工程》练习题一一、单选题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.面向对象分析12.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的()阶段。
A.各个B.前期C.中期D.后期13.从事物的属性侧面来描述事物的方法就是()的方法。
A.面向对象B.面向过程C.面向数据D.面向属性14.Jackson方法在需求分析阶段的主要步骤不包括()。
A.了解实体行为B.标识实体与行为C.生成实体结构图D.创建软件系统模型15.原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。
A.需求不确定性高的B.需求确定的C.管理信息D.实时16.原型化方法是一种()型的设计过程。
《软件工程》练习题
18.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A.调用关系 B.组成关系 C.链接关系 D.顺序执行关系 20. “软件危机”是指( C ) 。 A. 计算机病毒的出现 B.利用计算机进行经济犯罪活动 C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统 21.具有风险分析的软件生命周期模型是( C ) 。 A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 22.数据流图(DFD)中的每个数据处理至少需要( D ) 。 A.一个输入数据流 B.一个输出数据流 C.一个输入或者输出数据流 D.一个输入数据流和一个输出流 二.判断题(每小题 2 分,共 24 分) 1.文档是软件产品的一部分,没有文档的软件就不称其为软件。 ( Y ) 2.需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。 ( N ) 3.数据流图建立系统的功能模型,它由数据流、数据处理和数据存贮组成。 (N ) 4.在结构化分析建模中要建立的是对象模型、功能模型和行为模型,它们以数据字典为核心。 ( N ) 5.好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。 (Y ) 6.边界值分析方法是取输入/输出等价类的边界值来构成测试用例的测试方法。 (Y ) 7.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 ( N ) 8.在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。 ( Y ) 9.软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。 ( N ) 10.面向对象方法学的四要素是对象、类、继承和消息通信。 ( Y ) 11.详细设计的结果基本最终决定了软件的质量。 ( Y ) 12.在详细设计中常采用的工具有层次图、PAD(问题分析图) 、程序流程图、盒图等。 ( N ) 三.填空题(每空 2 分,共 24 分) 1.为了便于对照检查,测试用例应由输入数据和预期的 输出结果 两部分组成。 2.软件结构是以 模块 为基础而组成的一种控制层次结构。 3.如果知道软件的规格说明书描述的程序功能,那么就可以采用 进行测试。 4.当 A 模块调用 B 模块时若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是 数值耦合。 5.软件概要设计关键的一步是 确定软件体系结构 __,它直接影响下一阶段详细设计和编码的工作。 6. 数据流图中的箭头表示 数据流 , 椭圆或圆形表示 数据处理 , 矩形表示 数据源点或终点 。 7.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个___自底向上或相反____集成的过程。 8.按数据流的类型,面向数据流的设计方法有两种设计策略,它们是变换分析设计和 事务分析设计。 9.数据流图仅反映系统必须完成的逻辑功能,所以它是一种 功能 模型。 10.软件结构中的 深度 表示的软件的控制层数,它往往能够粗略地标志一个系统的大小和复杂程度。 四.简答题(每小题 5 分,共 10 分) 1.衡量模块独立性的两个定性标准是什么(2 分)?这两个标准的定义分别是什么(2 分)?在我们的软件设计 中,关于模块独立性我们追求的目标是什么 答:衡量模块独立性的两个定性标准是内聚和耦合(2 分) 。 耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元 素彼此结合的紧密程度。在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(。 2.简述结构化程序设计方法的基本特点。 (5 分) 答: 1) .是尽可能少用 goto 语句的程序设计方法; 2) .每个代码块都单入单出; 3) .使用控制结构:顺序、选择和循环+Do_UNTIL 和 Do_CASE; 4) .自顶向下逐步求精。
软件工程习题集答案
软件工程习题集答案第一章《软件工程概述》作业答案一、名词解释1.软件软件是计算机程序以及开发、使用和维护程序所需要的所有文档。
软件是包括程序、数据及其相关文档的完整集合。
2.软件危机软件生产的进度、数量、质量、成本满足不了社会对软件的需求量和希望的现象,称为“软件危机”。
软件工程IEEE[IEE93]:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
4.软件生存周期软件生存周期是指一个软件从提出开发要求开始直到不再使用(报废)为止的整个时期。
软件过程模型软件过程指为获得高质量软件所需要完成的一系列任务以及完成这些任务的工作步骤。
过程还规定了运用的方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施、任务完成的标志等。
软件过程模型也叫软件生存期模型、软件工程范型,是软件过程的一种抽象表示。
二、填空题1、在信息处理和计算机领域内,一般认为软件是程序、数据和文档的集合。
2、软件生产的发展经历了程序设计时代、程序系统时代和软件工程时代,各时代的生产方式分别是个体、作方式和工程化。
3、软件生存周期的8个阶段分别是问题定义、可行性研究、需求分析、概要设计、详细设计、编码与模块测试、综合测试、维护。
4、软件工程是利用工程化的原理和方法来进行开发、维护和管理软件的一门学科。
5、描述软件开发过程中各种活动如何执行的模型称为软件过程模型。
6、瀑布模型不适应需求可变的软件开发,只有到最后才能见到整个软件系统。
7、软件产品的生产主要是研制,软件产品的成本主要体现在人力成本上。
8、软件工程面临的问题有软件费用、可靠性、可维护性、生产率。
三、单项选择题1、软件文档是( C )。
A.程序B.工具C.文书和资料D.数据2、软件是一种( B )性工业产品A.理论B.知识(或逻辑)C.消耗D.体力3、与计算机科学的理论研究不同,软件工程是一门( B )的学科。
《软件工程练习题及参考答案》
《软件工程练习题及参考答案》一、单向选择题(四选一、每小题3分,共18分)1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。
对应映射反映反射2、盒图也称为(D)或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
流程图框图判定表N-S图3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。
程序数据逻辑物理4、人机界面的风格大致经过了(B)代的演变。
三四五六5、以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
纠错性维护适应性维护改善性维护预防性维护二、填空题(每空2分,共18分)1.文档—一种数据媒体和其上所记录的(数据)。
2.机器语言、汇编语言:依赖于机器,面向(机器)3.软件有效性,指软件系统的时间和(空间)效率。
4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。
5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。
6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。
04027.一个软件的深度是指其控制的(层数)。
8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
9.软件维护是软件生命周期的(最后)一个阶段。
三、判断题(每小题2分,共24分,错误打X、正确打√)1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
(√)2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
(X)3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
(√)4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
(完整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.软件的主要特性是()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.软件就是程序,编写软件就是编写程序。
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
《软件工程》11套考试复习练习题、作业题(含答案)
作业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.“软件危机〞产生的主要原因是()。
A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2.软件工程中描述生存周期的瀑布模型一般包括计划、()、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成()和()两步。
①需求分析②需求调查③可行性分析④问题定义⑤方案设计⑥代码设计⑦概要设计⑧数据设计⑨运行设计⑩详细设计3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是〔〕。
A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.在软件工程时期,决定软件质量的主要因素是()A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展5.下列哪个模型没有采用迭代的思想〔〕A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型6.下列关于瀑布模型的描述正确的是()A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开7.瀑布模型的关键不足在于〔〕〔A〕过于简单〔B〕不能适应需求的动态变更〔C〕过于灵活〔D〕各个阶段需要进行评审8.瀑布模型把软件生存周期划分为软件定义、软件开发与〔〕三个阶段,而每一阶段又可分为若干更小的阶段。
A. 详细设计B. 可行性分析C. 运行与维护D. 测试与排错二、判断题1.软件工程是指导计算机软件开发和维护的工程学科。
( )2.在软件工程时期,决定软件质量的主要因素是管理水平. ()3.软件生存期是从软件项目需求定义直至软件开始使用为止。
〔〕4.常用的软件生存周期模型有瀑布模型和结构化模型。
〔〕5.瀑布模型是一种线形的、顺序的软件开发模型()6.瀑布模型的关键不足在于不能适应需求的动态变更.( )7.快速原型模型是为了克服瀑布模型的缺点而提出来的。
软件工程习题集
软件工程练习题一、填空题1.软件生存周期一般可以划分为, 问题定义、可行性研究、需求分.、设计、编码、测试和运营与维护。
2.可行性研究, 应从经济可行性、技术可行性、运营可行性、法律可行性等方面研究。
3.数据流图的四种基本成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文献。
4.结构化分析方法是面向_数据.进行需求分析的方法。
5.结构化分析方法使.数据流图DF..数据字典DD来描述。
6.软件具体设计的重要任务是算法描述和数据结构的设计。
7.为了在软件开发过程中保证软件的质量, 重要采用下述措施:审查_、复查和管理复审、测试。
8.大型软件测试涉.单元测. 、集成测. 、确认测试.系统测.四个环节。
9. 在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管.能协调软件开发,并使混乱减到最低限度.10. McCall提出的软件质量模型涉及__13_个软件质量特性。
11. 软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
12.为了便于对照检查, 测试用例应由输入数据和预期的输出结果两部分组成。
13.软件结构是以模块为基础而组成的一种控制层次结构。
14.在结构化分析中,用于描述加工逻辑的重要工具有三种,即: 结构化语言、鉴定表、鉴定树。
15.结构化语言是介于自然语言和形式语.之间的一种半形式语言。
16.系统流程图是描述物理模型的传统工具, 用图形符号表达系统中各个元素表达了系统中各种元素之间的信息流动情况。
17.CASE技术是软件工具和软件开发方法的结合。
18. 数据字典有四类条目, 分别是数据流、数据项、数据存储和基本加工。
19. 各种软件系统的数据流图一般可分为变换型和事务型两类。
20.软件可维护性可用七种质量特性来衡量,分别是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
21.面向对象分析中,动态模型使用状态图_作为描述工具,该图反映了状态与事件的关系。
(完整版)软件工程习题+答案(可编辑修改word版)
一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A)可行性研究,问题定义,需求分析。
B)问题定义,可行性研究,需求分析。
C)可行性研究,需求分析,问题定义。
D)以上顺序都不对。
(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3.耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:(C)A)内容耦合,控制耦合,数据耦合,公共环境耦合。
B)内容耦合,控制耦合,公共环境耦合,数据耦合。
C)内容耦合,公共环境耦合,控制耦合,数据耦合。
(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D)控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是:(C )A)程序流程图,PAD 图,N-S 图,HIPO 图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD 图,N-S 图,HIPO 图。
C)判定表,判定树,PDL,程序流程图,PAD 图,N-S 图。
D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD 图、N-S 图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD 数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
《软件工程》题库及参考答案
《软件工程》练习测试题库一、单项选择题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.类库这种机制是()级别的信息共享。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题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、软件生存周期一般可分为问题定义、可行性研究、()、设计、()、测试、运行与维护阶段。
软件工程习题集一
一、判断题判断以下叙述的正误。
正确的叙述请在答题纸上的相应题号后打“√”,错误的打“×”。
1.编码时应尽可能使用全局变量。
2.为了提高程序的易读性,尽可能使用高级语言编写程序。
3.只要模块之间的接口关系不变,各模块的内部实现细节的修改不会影响别的模块。
4.为了加快软件维护作业的进度,尽可能增加维护人员的数目。
5.尽可能用GOTO语句6.程序的注释并不是可有可无的。
7.尽可能在软件生产过程中保证各阶段文档的正确性。
8.在进行总体设计时应加强模块间的联系。
9.程序的模块划分得越大越好。
10.模块越小,模块化的优点越明显,一般说来,模块的大小都在10行以下。
11.软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
12.在可行性研究中最难决断和最关键的问题是经济可行性。
13.在软件开发中,采用原型系统策略的主要困难是时间问题。
14.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。
15.模块越多,开发成本越小。
16.耦合是指一个模块内各个元素彼此结合的紧密程度。
17.内聚是指一个软件结构内各个模块之间互连程度的度量。
18.模块分解时应注意不要降低模块的独立性。
19.总体设计阶段完成的主要文档是总体设计说明书。
20.详细设计是在总体设计之后进行的,它利用总体设计的结果,对系统中的每个模块给出足够的过程性描述。
21.程序设计语言中应绝对禁止使用GOTO语句。
22.PAD图在设置了五种基本的控制结构后,还允许递归调用。
23.程序中嵌套的层数应加以限制。
24.程序的书写格式最好所有语句都左对齐,这样也可以节省纸张。
25.在编写程序时尽可能对程序代码进行优化。
26.使用可以看得出意义的标识符。
27.在进行需求分析时需同时考虑维护问题。
28.完成测试作业后,为了缩短源程序的长度应删去源程序的注释。
29.重视程序结构的设计,使程序具有较好的层次结构。
软件工程练习题
软件工程练习题一、填空或选择题1、程序的三种基本结构是(A),它们的共同特点是(B),结构程序设计的一种基本方法是(C)。
软件测试的目的是(D),软件排错的目的是(E)。
A(1)过程,子程序,分程序(2)顺序,条件,循环(3)递归,堆栈,队列(4)调用,返回,转移B(1)不能嵌套使用(2)只能用来写简单程序(3)已经用硬件实现(4)只有一个入口和一个出口C(1)筛选法(2)递归法(3)归纳法(4)逐步求精法D(1)证明程序中没有错误(2)发现程序中的错误(3)测量程序的动态特性(4)检查程序中的语法错误E(1)找出错误所在改正之(2)排除存在错误的可能性(3)对错误性质进行分析(4)统计出错的次数2、软件测试的目的是(A)。
为提高测试的效率,应该(B)。
使用白盒测试方法时,测试数据应根据(C)和指定的覆盖标准。
一般说来,与设计测试数据无关的文档是(D),软件集成测试最好由(E)承担,以提高集成测试的效果。
A(1)评价软件质量(2)发现软件的错误(3)找出软件中的所有错误(4)证明软件是正确的B(1)随机地选取测试数据(2)取一切可能的输入数据作为测试数据(3)在完成编码以后制定软件测试计划(4)选择发现错误的可能性大的数据作为测试数据C(1)程序内部逻辑(2)程序的复杂程序(3)使用说明书(4)程序的功能D(1)需求规格说明书(2)总体设计说明书(3)源程序(4)项目开发计划E(1)该程序的设计人员(2)该软件开发组的负责人(3)该软件的编程人员(4)不属于该软件开发组的软件设计人员3、软件测试中常用的静态测试分析方法是(A)和(B)。
(B)用来检查模块或子程序间的调用是否正确。
分析方法(白盒法)中常用的方法是(C)方法。
非分析方法(黑盒法)中常用的方法是(D)方法和(E)方法。
(E)在单元测试后进行。
A,B(1)引用分析(2)算法分析(3)可靠性分析(4)效率分析(5)接口分析(6)操作性分析C,D,E(1)路径测试(2)等价类(3)边界值分析(4)归纳测试(5)综合测试(6)追踪(7)深度优待(8)排错(9)相对图4、原型法是用户和设计者之间执行的一种交互过程,适用于(A)系统。
《软件工程》(第五版)习题参考答案
《软件工程》(第五版)习题参考答案
第1章 一、判断题 1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适 当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和 衰亡的生存过程。 5、(×)文字处理软件 Word 属于系统软件。应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系 统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所 付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面 不够灵活。 二、选择题 1、软件是一种(C)。 A、程序 B、数据
D、合同文档 14、结构化分析方法是以数据流图、(D)和加工说明等描述工 具,即用直观的图和简洁的语言来描述软件系统模型。 A、DFD 图 B、PAD 图 C、IPO 图 D、DD 15、软件需求分析阶段的工作,可以分为四个方面:需求获取、 需求分析、编写需求规格说明书以及(B)。 A、阶段性报告 B、需求评估 C、总结 D、都不正确 16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一 些特定的图符构成。下面图符名称标识的图符不属于数据流图合 法图符的是(A)。 A、控制流 B、加工 C、数据存储 D、源点和终点 17、DFD 用于描述系统的(D)。 A、数据结构
软件工程(习题及参考答案)
第1章概述(习题与参考答案)[判定题]1. 由于今天个人运算机不断进展壮大,人们再也不采纳软件团队的开发方式。
(×)2. 由于软件是产品,因此能够应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数运算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)5. 大多数软件系统是不容易转变的,除非它们在设计时考虑了转变。
(√)6. 一样来讲,软件只有在其行为与设计者的目标一致的情形下才能成功。
(×)[选择题]1. ()因素促使运算机系统愈来愈复杂。
(D)A. 运算机内存和存储容量上的庞大增加B. 外部输入/输出选项的加倍多样性C. 运算机体系结构方面的深刻转变D. 以上所有选项2. 下面的()再也不是现代软件工程师关注的问题。
(A)A. 什么缘故运算机硬件的本钱这么高?B. 什么缘故软件需要很长时刻才能完成?C. 什么缘故开发一个软件的本钱这么高?D. 什么缘故不能在产品发布前去除软件错误?3. 软件会慢慢退化而可不能磨损,其缘故在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在利用以后C. 不断的变更使组件接口之间引发错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其缘故在于()。
(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法利用C. 软件在不利用其他组件的情形下很容易构造出来D. 商业组件在很多应用领域中能够取得5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年代末期全面暴发B. 当前先进的软件工程方式已经解决了软件危机的问题C. 软件危机是指在运算机软件的开发和保护进程中碰到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的大体目标是()。
(B)A. 排除软件固有的复杂性B. 开发高质量的软件C. 尽力发挥开发人员的制造性潜能D. 更好地保护正在利用的软件产品7. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。
软件工程各章习题
软件工程各章习题(总10页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--即时练习第1讲一、 填空题1. 软件危机是指在计算机软件的过程中所遇到的一系列严重问题。
2.3.软件不同于硬件,它是计算机系统中的而不是物理部件。
4. 一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为。
5.软件配置主要包括和等成分。
6. 软件工程学的一个重要目标就是提高软件的、减少的代价。
7. 软件工程是指导计算机软件和的一门工程学科。
8. 软件工程包括和两方面的内容,是技术与管理紧密结合所形成的工程学科。
9. 通常把在软件生命周期全过程中使用的一整套技术方法的集合称为,也称为范型。
10. 软件工程方法学包含和三个要素。
11.目前使用最广泛的软件工程方法学,分别是_。
12. 概括地说,软件生命周期由、__和3个时期组成,每个时期又进一步划分为若干个阶段。
13. 软件定义时期通常进一步划分为3个阶段,即、14.模型和模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。
15. 瀑布模型适应需求可变的软件开发,只有到才能见到整个软件系统。
二、 选择题:1. 软件是一种( )产品。
A、有形 B、逻辑 C、物质 D、消耗 2. 与计算机科学的理论研究不同,软件工程是一门( )学科。
A、理论性 B、工程性 C、原理性 D、心理性 3. 软件工程学科出现的主要原因是( )。
A、计算机的发展 B、其他工程学科的影响 C、软件危机的出现 D、程序设计方法学的影响 4. 由于软件生产的复杂性和高成本性,使大型软件的生存出现危机,软件危机的主要表现包括了下述( )方面。
①生产成本过高 ②需求增长难以满足 ③进度难以控制 ④质量难以保证 A、①② B 、②③ C 、④ D 、全部5. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程习题集第一章概述一、选择题1.“软件危机”产生的主要原因是( B )。
A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2.软件工程中描述生存周期的瀑布模型一般包括计划、( 需求分析)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。
①需求分析②需求调查③可行性分析④问题定义⑤方案设计⑥代码设计⑦概要设计⑧数据设计⑨运行设计⑩3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(程序、数据、文档)。
A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.在软件工程时期,决定软件质量的主要因素是( )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展5.下列哪个模型没有采用迭代的思想(A )A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型6.下列关于瀑布模型的描述正确的是( D )A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开7.瀑布模型的关键不足在于(B )(A)过于简单(B)不能适应需求的动态变更(C)过于灵活(D)各个阶段需要进行评审8.瀑布模型把软件生存周期划分为软件定义、软件开发与(D )三个阶段,而每一阶段又可分为若干更小的阶段。
A. 详细设计B. 可行性分析C. 运行及维护D. 测试与排错二、判断题1.软件工程是指导计算机软件开发和维护的工程学科。
( )2.在软件工程时期,决定软件质量的主要因素是管理水平. ( )3.软件生存期是从软件项目需求定义直至软件开始使用为止。
()4.常用的软件生存周期模型有瀑布模型和结构化模型。
()5.瀑布模型是一种线形的、顺序的软件开发模型( )6.瀑布模型的关键不足在于不能适应需求的动态变更.( )7.快速原型模型是为了克服瀑布模型的缺点而提出来的。
()8.快速原型模型可以有效地适应用户需求的动态变化。
()9.风险分析是螺旋模型的优点,因此螺旋模型适合任何大系统的开发。
()三、简答题1、什么软件工程?什么是软件过程?2、软件工程学的主要内容是什么?3、什么是软件生命周期?软件生命周期为什么要划分阶段?划分阶段的原则是什么?第二章可行性研究与软件开发计划一、选择题1.经济可行性研究的范围包括( C )A.资源有效性 B.管理制度 C.效益分析 D.开发风险2.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。
A.确定 B.行或不行 C.正确 D.无二义3.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。
A.需求不确定的 B.需求确定的 C.管理信息 D.决策支持4.一个项目是否开发,从经济上来说是否可行,归根结底是取决于对( A )A.成本的估算B.项目计划C.工程管理D.工程网络图5. 可行性研究的目标是( B )A. 开发项目B. 项目值得开发否C. 规划项目D. 维护项目6.软件可行性研究一般不考虑(D )(A)是否有足够的人员和相关的技术来支持系统开发(B)是否有足够的工具和相关的技术来支持系统开发(C)待开发软件是否有市场、经济上是否合算(D)待开发的软件是否会有质量问题二、判断题1.可行性研究的目标是规划项目。
()2.需求规格说明书是软件可行性研究的依据。
()3.软件需求规格说明书的内容应当包括对算法的详细过程性描述。
( )4.分层DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于描绘了系统的实现细节.( )5.对于软件项目,投资回收期越长,越快获得利润。
( )6.项目效益分析中投资回收率越低越好。
()7.甘特图表是一种比较常用的进度图表。
()8.数据流图应采用由外向里画的原则逐步细化。
()三、简答题1、什么是可行性研究?可行性研究报告的内容是什么?可行性研究的结论有哪几种?第三章需求分析一、选择题1.软件需求分析的任务不应包括(结构化程序设计)。
进行需求分析可使用多种工具,但(判定表)是不适用的。
在需求分析中,分析员要从用户那里解决的最重要的问题是(要让软件做什么 )。
需求规格说明书的内容不应当包括(对算法的详细过程性描述)。
该文档在软件开发中具有重要的作用,但其作用不应当包括( )。
A.① 问题分析② 信息域分析③ 结构化程序设计④ 确定逻辑模型B.① 数据流图② 判定表③ PAD图④ 数据词典C.① 要让软件做什么② 要给该软件提供哪些信息③要求软件工作效率如何④要让软件具有什么样的结构D.①对重要功能的描述② 对算法的详细过程性描述③软件确认准则④ 软件的性能E.①软件设计的依据②用户和开发人员对软件要“做什么”的共同理解③软件验收的依据④软件可行性分析的依据2.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(数据流图)。
①数据流图②数据词典③结构化英语④判定表与判定树3.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(数据流图)。
A.数据流图B.数据词典C.结构化英语D.判定表与判定树4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型,并写出(软件规格说明书)。
(A) 模块说明书(B) 软件规格说明书(C) 项目开发计划(D) 合同文档6.分层DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于( ) 。
A. 描绘了系统的实现细节B. 表明了被开发系统的范围以及它和周围环境的数据交换关系C. 描绘了系统的抽象D. 描绘了软件实现的作者和绘制的时间二、判断题1.数据流图可分为两种基本形式:事务型数据流图和变换型数据流图。
()2.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
()3.HIPO图由H图和IPO图组成,即一个H图对应一个或多个IPO图()。
4.软件模块之间的耦合性越弱越好。
()5.模块的内聚度越高,则说明模块的独立性越强。
()6.模块独立性有两个定性的度量标准是扇入与扇出。
( )7.模块化就是将系统划分为若干个模块,每个模块完成一个子功能。
因此,模块分得越小越好。
()8.用例图的主要元素是用例和执行者及其它们之间的联系。
()9.模块独立性有两个定性的度量标准是耦合和内聚。
( )10.模块的作用范围可不限制在其控制范围之内()11.事务调度中心并不对输入数据进行加工,而只是根据不同的输入数据作出不同的事务流程选择。
()12.事务数据流以事务调度中心为核心,在此之前为接收事务,在此之后为事务分流处理。
()13.变换数据流所体现的是数据从输入到加工再到输出的一般步骤。
()14.模块接口简单是软件发生错误的一个主要原因。
( )15.C/S结构的系统客户端要安装程序,维护起来比较麻烦()16.模块分为传入模块、传出模块、协调模块、变换模块()17.公共耦合是一种通过访问公共数据环境而实现通信的模块耦合形式。
()18..一个较好的软件结构有这样的特征:顶层模块高扇出, 中间层模块低扇出, 底层模块高扇入()19.模块独立性是衡量软件中模块质量最重要的指标。
()20.系统构架中集中式结构是最传统的系统构架,系统建设费用和运行费用都非常便宜()三、简答题1、什么是需求分析?结构化分析的基本任务是什么?结构化分析的步骤有哪些?2、什么是实体-关系图?它的基本符号有哪些?3、什么是数据流图?它的基本符号各表示什么含义?第四章概要设计一、选择题1.Jackson方法是以(B )为基本依据的程序算法设计方法。
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)最小模块必须是50~100行代码范围9.概要设计的结果是提供一份()。
A. 模块说明书B. 框图C. 程序D. 数据流图10.Jackson方法数据分三种结构:顺序结构、选择结构、()结构。
A. 重复B. 选择C. 顺序D. 有规则 GOTO11.Jackson详细设计方法中数据结构不包括()。
A. 重复结构B. 顺序结构C. 选择结构D. 有规则 GOTO二、判断题1.结构化程序的基本特征是程序的任何位置是单入口、单出口的。
()2.“顺序”、“选择”、“循环”这三种基本的控制结构能实现任何复杂的程序计算问题。
()3.结构化程序设计的基本途径是对程序问题自顶向下、逐步求精。
()4.聚集关系可以分为共享聚集与复合聚集两种形式。
()5.复合聚集是一种较强的聚集关系,也称组合关系,其图形符号是实心菱形。
()6.共享聚集是一种较弱的聚集关系,其图形符号是空心菱形。
()三、简答题1、什么是概要设计?基本任务是什么?2、什么是模块?模块有哪些属性?3、什么是模块化?划分模块的原则是什么?4、什么是软件结构设计?软件结构设计的准则是什么?第五章详细设计一、选择题1.下列哪一个不是详细设计时使用的工具。