(完整word版)软件工程习题
(完整word版)软件工程习题及答案解析
软件工程习题及答案一、选择题: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. 结构化程序设计主要强调程序的。
(完整word版)软件工程MiddleTermExam-2015-11(带答案)
评阅教师得分“软件工程导论”课程半期考试题一、单项选择题(本大题共20小题,每小题2分,共40分)提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下表中。
错选、多选或未选均无分。
1. Which design model elements are used to depict a model of informationrepresented from the user’s view?a. Architectural design elementsb. Component—level design elementsc. Data design elementsd. Interface design elementsAnswer:c (Section 8。
4.1)2. Which of the following are not areas of concern(考虑)in the design model?a. architectureb. datac. interfacesd. project scopeAnswer: d (Section 8.1)3. The importance of software design can be summarized in a single worda. accuracyb. complexityc. efficiencyd. qualityAnswer: d (Section 8。
1)4. Which of the following is not a characteristic common to all design methods?a. configuration managementb. functional component representationc. quality assessment guidelinesd. refinement heuristicsAnswer: a (Section 8.2.2)5. What types of abstraction are not used in software design?a. controlb. datac. environmentald. proceduralAnswer:c (Section 8。
《软件工程练习题及参考答案》
《软件工程练习题及参考答案》一、单向选择题(四选一、每小题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.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。
2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。
3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。
4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。
5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
在这种维护中,可能会因为修改软件而引入新的错误。
二、填空题1、软件工程包括()、()和()三个要素。
答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。
答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。
答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。
软件工程学试题及答案
软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
(完整word版)软件工程习题集+答案
(完整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.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
(完整word版)软件工程(第五版)--习题及答案--第一章
A、缺乏支持原型开发的工具
B、要严格控制原型构造的迭代
C、终端用户对原型不能理解
D、软件的测试和文档更新困难
12、螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。
A、增量模型B、专家系统C、喷泉模型D、变换模型
13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导致了(A)。
4、软件生命周期概念对软件的开发有哪些指导作用。
答:软件生命周期是软件工程的一个重要的概念。把整个软件生命周期划分为若干个较小的阶段,每个阶段都有相对独立的任务和完成任务的步骤和方法,然后逐步完成各个阶段的任务,这有利于软件开发过程的组织和管理,从而降低了整个软件开发过程的困难程度,从而使规模庞大、结构复杂和管理复杂的软件开发变得容易控制和管理。
答:软件包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能够正确地处理信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。软件包括程序,程序只是软件的一部分。
2、简述软件危机产生的原因以及避免的方法。
答:软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
5、分析瀑布模型和螺旋模型的异同,比较它们的适用场合。
答:瀑布模型是线性模型,是整体开发模型,文档驱动的模型,每一阶段必须完成指定的文档,需求明确的中、小型软件开发,不适宜需求模糊或多变的应用软件开发;螺旋模型是典型迭代模型,是风险驱动模型,可用于面向对象开发,适宜风险较大的大型软件开发。
7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。
(完整word版)软件工程题库(word文档良心出品)
1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统( B )A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4. 模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6. 软件详细设计主要采用的方法是( D )A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是( D )A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是( D ) A. Pascal B. C C. Fortran D. Prolog9.黑盒测试在设计测试用例时,主要需要研究( A )A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是( C )A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11. 下列属于维护阶段的文档是( C )A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12. 快速原型模型的主要特点之一是( D )A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13. 因计算机硬件和软件环境的变化而做出的修改软件的过程称为( B )A.较正性维护B.适应性维护C.完善性维D.预防性维护14. 类库这种机制是( D )级别的信息共享。
(完整版)软件工程习题+答案(可编辑修改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)以上说法都不对。
(完整word版)软件工程阶段性作业1
中国地质大学(武汉)远程与继续教育学院软件工程课程作业1(共 4 次作业)学习层次:专升本涉及章节:第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 年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
软件工程习题(附答案)
软件工程习题(附答案)软件工程习题(附答案)1.概述1.1 介绍本文档是一份软件工程习题文档,包含了一系列关于软件工程的习题及其对应的答案。
这些习题涵盖了软件工程的各个方面,旨在帮助读者巩固和扩展自己的软件工程知识。
1.2 目的本文档的目的是提供一份全面而详细的习题文档,供软件工程学习者参考和学习。
每个习题都配有答案,以便读者可以自行对比答案和解答过程,提高自己的理解和运用能力。
2.软件需求工程2.1 需求获取2.1.1 什么是需求获取?为什么它在软件工程中非常重要?答案:需求获取是指在软件开发过程中,获取并理解用户对软件系统所需功能和约束的过程。
它在软件工程中非常重要,因为一个完整、清晰、准确的需求基础是成功软件开发的关键,它直接影响着软件系统的功能、性能和质量。
2.1.2 几种常见的需求获取方法。
答案:常见的需求获取方法包括面谈、问卷调查、观察、原型展示等。
2.2 需求分析与规格2.2.1 什么是需求分析?它的目标是什么?答案:需求分析是指对需求进行深入的分析和理解,以确定需求的准确性、完整性和一致性。
它的目标是明确系统需求,并将其规格化,为软件开发提供指导和依据。
2.2.2 需求分析的主要步骤有哪些?答案:需求分析的主要步骤包括需求获取与识别、需求验证与确认、需求排序与组织、需求规格化等。
3.软件设计3.1 结构化设计3.1.1 什么是结构化设计?答案:结构化设计是指将系统进行层次化和模块化分解,定义各个模块之间的接口和关系,从而使系统具有更好的可维护性、可扩展性和可重用性。
3.1.2 结构化设计的原则有哪些?答案:结构化设计的原则包括模块化原则、信息隐藏原则、高内聚低耦合原则等。
3.2 面向对象设计3.2.1 什么是面向对象设计?答案:面向对象设计是一种基于对象的思维方式,将系统分解为各个独立的对象,通过对象之间的交互和协作来实现系统的功能。
3.2.2 面向对象设计的主要特点是什么?答案:面向对象设计的主要特点包括封装、继承、多态等。
(完整版)软件工程试卷及答案(多套精品试卷)
软件工程试题及答案第一部分选择题一、单项选择题每小题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。
软件工程题库(含答案)
软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。
A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。
A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。
A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。
A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )A、信息隐藏和局部化的根据B、逐步求精的根据C、抽象的根据D、模块化的根据正确答案:D13、下列说法中,不正确的是( )。
(完整word版)软件工程随堂练习
软件工程随堂练习1. 软件工程学的一个重要目标是()。
A.提高程序的执行效率B.降低程序对存储空间的要求C.提高软件的可理解性D.提高软件的可维护性参考答案:D2. 软件工程的过程是将软件工程()综合起来以达到合理、及时地进行计算机软件开发的目的。
A.方法B.工具C.方法和工具D.过程参考答案:C3. ( )是以提高软件质量为目的的技术活动。
A、技术创新B、测试C、技术改造D、技术评审参考答案:D4. 软件生命周期由软件计划、软件开发和()三个时期组成。
A.软件运行B.软件维护C.软件过程D.软件运行维护参考答案:D5. ()是将软件生命周期的各个阶段,依线性顺序连接,用文档驱动的模型。
A.统一过程B.瀑布模型C.螺旋模型D.喷泉模型参考答案:B6. 快速原型方法是用户和设计者之间的一种交互过程,适用于()系统。
A.需求不确定性较高的B.需求确定的C.管理信息D.决策支持参考答案:A7. 快速原型从设计用户界面开始,首先形成(),然后用户运行界面原行,并就同意什么和不同意什么提出意见。
A.用户使用手册B.系统界面原行C.界面需求分析说明书D.完善用户界面参考答案:B8. 快速原型是一种()型设计过程。
A.自外向内B.自底向上C.自顶向下D.自内向外参考答案:A9. 要开发一个软件,它的功能是把73624.9385这个数开平方,所得到的结果精确到小数点后4位,一旦实现并测试完后,该产品将被抛弃。
该项目选择()生命周期模型。
A.快速原型B.瀑布模型C.喷泉模型D.螺旋模型参考答案:A10. ()是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。
A.统一过程B.瀑布模型C.喷泉模型D.螺旋模型参考答案:C11. 喷泉模型克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,喷泉模型的开发过程具有()和无间隙。
A.需求确定性B.迭代性C.无间隙D.风险性参考答案:B12. 在()中是采用用例驱动和架构优先的策略,并采用迭代增量建造方法,使软件“逐渐”被开发出来。
软件工程复习题库带答案完整版
软件工程复习题库带答案完整版1、白盒测试法是通过分析程序的内部逻辑来设计测试用例的。
2、风险预测从两个方面评估风险,即风险发生的可能性以及风险发生所产生的后果。
3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和反馈和勇气。
4、等价分类法的关键是划分等价类。
5、下列不属于黑盒测试的技术是程序段或语句的功能。
6、为了提高模块的独立性,模块之间最好是数据耦合。
7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用角色来表述“谁做”。
8、功能性注释嵌入在源程序内部,它是用来说明程序段或语句的功能。
9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有有结构化语言、判定树和判定表。
10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行适应性维护。
11、软件危机的主要原因是软件本身特点与开发方法。
12、DFD是常用的进行软件需求分析的图形工具,其基本符号是加工、数据流、数据存储和外部实体。
13、软件工程管理是对软件项目的开发管理。
具体地说,就是对整个软件生存期的一切活动进行管理。
14、在面向数据流的软件设计方法中,一般将信息流分为输入、输出、外部实体和加工。
A.白盒测试B.黑盒测试C.灰盒测试D.集成测试15、参与人员之间的通信困难是不随参与人数增加而使软件生产率增加的主要原因。
因为通信困难会导致信息不畅通,任务分配不明确,进度无法掌握等问题,从而影响软件开发效率。
16、有形性与可控性不是软件的特征。
软件的特征包括系统性与复制性、抽象性与智能性、依附性与泛域性。
17、面向对象的设计是面向对象分析进一步的细化和更高的抽象,不是另一种思维方式。
18、在软件的可行性分析中,可以从经济可行性、技术可行性、操作可行性、法律可行性等角度对软件进行研究。
(完整版)软件工程课后习题答案
第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。
●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。
●软件的使用没有硬件那样的机械磨损和老化问题。
1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。
例如:编译软件、操作系统。
2.支撑软件支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境。
3.应用软件应用软件是特定应用领域专用的软件。
例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
1.3简述软件语言的分类,并举例说明。
1.需求定义语言是用于书写软件需求定义的语言。
例如:PSL/PSA。
2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。
例如:广谱语言、Z 语言。
3.设计性语言是用于书写软件设计规约的语言。
例如:PDL。
4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。
例如:C、java、PROLOG、FORTRAN、COBOL、Modula。
5.文档语言是用于书写软件文档的语言。
通常用自然语言或半形式化语言书写。
1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。
1.5简述软件工程的基本原则。
软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。
1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。
2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
3.提供高质量的工程支撑软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
(完整word版)软件工程选择题
chapter 11. Which question no longer concerns the modern software engineeringWhy does computer hardware cost so much?Why does software take a long time to finish?Why does it cost so much to develop a piece of software?Why can't software errors be removed from products prior to delivery?Answer: a2.Today the increased power of the personal computer has brought about an abandonment of the practice of team development of software.TrueFalseAnswer: b3.Software is a product and can be manufactured using the same technologies used for other engineering artifacts.TrueFalseAnswer: b4.Software deteriorates rather than wears out becauseSoftware suffers from exposure to hostile environments.Defects are more likely to arise after software has been used often.Multiple change requests introduce errors in component interactions.Software spare parts become harder to order.Answer: c5. Most software continues to be custom built becausea. Component reuse is common in the software world.b. Reusable components are too expensive to use.c. Software is easier to build without using someone else's components.d. Off-the-shelf software components are unavailable in many application domains.Answer: d6. The nature of software applications can be characterized by their informationa. complexityb. contentc. determinacyd. both b and cAnswer: d7. Change cannot be easily accommodated in most software systems, unless the system was designed with change in mind.TrueFalseAnswer: a8. The functionality of most computer systems does not need to be enhanced the lifetime of the system.TrueFalseAnswer: bchapter 21.Which of the items listed below is not one of the software engineering layers? Answer: bProcessManufacturingMethodsTools2.Software engineering umbrella activities are only applied during the initial phases of software development projects. Answer: bTrueFalse3.Which of these are the 5 generic software engineering framework activities? Answer: a communication, planning, modeling, construction, deploymentcommunication, risk management, measurement, production, reviewinganalysis, designing, programming, debugging, maintenanceanalysis, planning, designing, programming, testing4.Which of these terms are level names in the Capability Maturity Model? Answer: ePerformedRepeatedReusedOptimizedBoth a and d5. Which of the items listed below is not one of the process patterns. Answer: da. Intentb. Solutionc. Resulting Contextd. Output6. Process technology tools allow software organizations to compress schedules by skipping unimportant activities. Answer: ba. Trueb. False7. It is generally accepted that one cannot have weak software processes and create high quality end products. Answer: aTrueFalse8. The tasks (and degree of rigor) for each activity are always unchanged. Answer: bTrueFalsechapter 31.The linear sequential model of software development is Answer:aA reasonable approach when requirements are well defined.A good approach when a working program is required quickly.The best approach to use for projects with large development teams.An old fashioned model that cannot be used in a modern context.2.The linear sequential model of software development is also known as the Answer:eClassical life cycle modelFountain modelSpiral modelWaterfall modelboth a and d3.The incremental model of software development isAnswer:bA reasonable approach when requirements are well defined.A good approach when a working core product is required quickly.The best approach to use for projects with large development teams.A revolutionary model that is not used for commercial products.4.The rapid application development model isAnswer:cAnother name for component-based development.A useful approach when a customer cannot define requirements clearly.A high speed adaptation of the linear sequential model.All of the above.5. Evolutionary software process models Answer:dAre iterative in natureCan easily accommodate product requirements changesDo not generally produce throwaway systemsAll of the above6. The prototyping model of software development is Answer:ba. A reasonable approach when requirements are well defined.b. A useful approach when a customer cannot define requirements clearly.c. The best approach to use for projects with large development teams.d. A risky model that rarely produces a meaningful product.7. Which of these is not one of the phase names defined by the Unified Process model for software development? Answer:dInception phaseElaboration phaseConstruction phaseValidation phase8. In the Unified Process model requirements are determined iteratively and may span more than one phase of the process. Answer:aTrueFalsechapter 4Chapter 55. UML notations that can be used to model the hardware and software elements of a system areActivity diagramsClass diagramsDeployment diagramsUse-case diagramsa, b, and cAnswer: e6. The system model template contains which of the following elementsa. inputb. outputc. user interfaced. all of aboveAnswer: d7. The top level of the hierarchical model of a system is known as theAFDDFDSCDSFDAnswer: cChapter 61.In requirements validation the requirements model is reviewed to ensure its technical feasibility.TrueFalseAnswer: b2.In win-win negotiation, the customer's needs are met even though the developer's need may not be.TrueFalseAnswer: b3.Which of the following is not one of the context-free questions that would be used during project inception? What will be the economic benefit from a good solution?Who is against this project?Who will pay for the work?Who will use the solution?Answer: b4.The use of traceability tables helps todebug programs following the detection of run-time errorsdetermine the performance of algorithm implementationsidentify, control, and track requirements changesnone of the aboveAnswer: c5. The system specification describes theFunction, performance and constraints of a computer-based systemimplementation of each allocated systemelement software architecturetime required for system simulationAnswer: a6. Use-case actors are always people, never system devices.a. Trueb. FalseAnswer: b7. Which of the following is not one of the requirement classifications used in Quality Function Deployment (QFD)?excitingexpectedmandatorynormalAnswer: cChapter 71.Which of these is not an element of an object-oriented analysis model?Answer: cBehavioral elementsClass-based elementsData elementsScenario-based elements2.Which of the following is not an objective for building an analysis model? Answer: cdefine set of software requirements that can be validateddescribe customer requirementsdevelop an abbreviated solution for the problemestablish basis for software design3. The data flow diagram: Answer: edepicts relationships between data objectsdepicts functions that transform the data flowindicates how data are transformed by the systemindicates system reactions to external eventsboth b and c4.Which of the following items does not appear on a CRC card? Answer: cclass collaboratorsclass nameclass reliabilityclass responsibilities5. For purposes of behavior modeling a state is anyconsumer or producer of data.data object hierarchy.observable mode of behavior.well defined process.Answer: c6. Attributes cannot be defined for a class until design has been completed.a. Trueb. FalseAnswer: b7. Operations are object procedures that are invoked when an object receives a message.TrueFalseAnswer: a8. UML activity diagrams are useful in representing which analysis model elements?a. Behavioral elementsb. Class-based elementsc. Flow-based elementsd. Scenario-based elementsAnswer: dChapter 81.Which of the following are areas of concern in the design model? Answer: earchitecturedatainterfaceproject scopea, b and c2.Which of these are characteristics of a good design? Answer: eexhibits strong coupling between its modulesimplements all requirements in the analysis modelincludes test cases for all componentsprovides a complete picture of the softwareboth b and drmation hiding makes program maintenance easier by hiding data and procedure from unaffected parts of the program. Answer: aTrueFalse4.Cohesion is a qualitative indication of the degree to which a module Answer: bcan be written more compactly.focuses on just one thing.is able to complete its function in a timely manner.is connected to other modules and the outside world.5. Coupling is a qualitative indication of the degree to which a module Answer: dcan be written more compactly.focuses on just one thing.is able to complete its function in a timely manner.is connected to other modules and the outside world.6. Polymorphism reduces the effort required to extend an object system by Answer: bcoupling objects together more tightly.enabling a number of different operations to share the same namemaking objects more dependent on one another.removing the barriers imposed by encapsulation.7. Which design model elements are used to depict a model of information represented from the user's view? Answer: cArchitectural design elementsComponent-level design elementsData design elementsInterface design elements8. Which design is analogous to the floor plan of a house? Answer: aa. Architectural design elementsb. Component-level design elementsc. Data design elementsd. Interface design elements9. Which design model is analogous to the detailed drawings of the access points and external utilities for a house?Architectural design elementsComponent-level design elementsData design elementsInterface design elementsAnswer: d10. Which design model is analogous to a set of detailed drawings for each room in a house?a. Architectural design elementsb. Component-level design elementsc. Data design elementsd. Interface design elementsAnswer: b11. The deployment design elements specify the build order for the software components.a. Trueb. FalseAnswer: b12. One of the key problems in software reuse is the inability to find existing reusable design patterns when hundreds of candidates exist.a. Trueb. FalseAnswer: aChapter 91.An architectural style encompasses which of the following elements?Answer: ea.constraintsb.set of componentsc.semantic modelsd.syntactic modelse.a, b and c2.During the process of modeling the system in context, systems that interact with the target system are not represented as Answer: da.Peer-level systemsb.Subordinate systemsc.Super-ordinate systemsd.Working systems3.When the overall flow in a segment of a data flow diagram is largely sequential and follows straight-line paths, _________ is present. Answer: da.low couplingb.Good modularityc.transaction flowd.transform flow4.When you encounter both transform flow and transaction flow in the same DFD the flow is partitioned and the appropriate mapping technique is used on each part of the DFD. Answer: aa.Trueb.False5. When a single item that triggers other data flow along one of many paths of a data flow diagram, ________ characterizes the information flow.Answer: ca.high couplingb.poor modularityc.transaction flowd.transform flow6. In transaction mapping the first level factoring results in the Answer: ba.creation of CFD.b.derivation of control hierarchyc.distribution of work modulesd.refinement of the module view7. A successful application of transform or transaction mapping to create an architectural design is supplemented by Answer: ea.entity relationship diagramb.module interface descriptionsc.processing narratives for each moduled.test case for each modulee.Both b and c8. The best representation of system architecture is an operational software prototype. Answer: ba. Trueb. FalseChapter 101.In the context of object-oriented software engineering a component containsa.attributes and operationsb.instances of each classc.roles for each actor (device or user)d.a set of collaborating classesAnswer: d2. In traditional software engineering, modules must serve in which of the following roles?a.Control componentb.Infrastructure componentc.Problem domain componentd.All of the aboveAnswer: d3. Which of the following is not one of the four principles used to guide component-level design?a.Dependency Inversion Principleb.Parsimonious Complexity Principlec.Interface Segregation Principled.Open-Closed PrincipleAnswer: b4. Classes and components that exhibit functional, layer, or communicational cohesion are relatively easy to implement, test, and maintain. Answer: aa.Trueb.False5. In component design, elaboration does not require which of the following elements to be described in detail?a.Source codeb.Attributesc.Interfacesd.Operationse.b, c and dAnswer: a6. In component-level design "persistent data sources" refer to Answer: eponent librariesb.Databasesc.Filesd.All of the abovee.Both b and c7. The object constraint language (OCL) complements UML by allowing a software engineer to use a formal grammar to construct unambiguous statements about design model elements.a.Trueb.FalseAnswer: a8. Which of these criteria are useful in assessing the effectiveness of a particular design notation?a. maintainabilityb. modularityc. simplicityd. sizee. a, b, and cAnswer: eChapter 111.Which of the following interface design principles does not allow the user to remain in control of the interaction with a computer?Answer: da.allow interaction to interruptibleb.allow interaction to be undoablec.hide technical internals from casual usersd.only provide one defined method for accomplishing a task2.Which of the following interface design principles reduces the user's memory load? Answer: ea.define intuitive shortcutsb.disclose information in a progressive fashionc.establish meaningful defaultsd.provide an on-line tutoriale.answers a, b and c3.Interface consistency implies thatAnswer: ea.each application should have its own distinctive look and feelb.input mechanisms remain the same throughout the applicationc.navigational methods are context sensitived.visual information is organized according to a design standarde.both b and d4.The reason for reducing the user's memory load is make his or her interaction with the computer quicker to complete. Answer: ba.Trueb.False5. Which model depicts the profile of the end users of a computer system?Answer: ca.design modelb.implementation modeler modeler's model6. Which of these framework activities is not normally associated with the user interface design processes? Answer: aa.cost estimationb.interface constructionc.interface validationer and task analysis7. Which approach(es) to user task analysis can be useful in user interface design? Answer: ea.have users indicate their preferences on questionnairesb.rely on the judgement of experienced programmersc.study existing computer-based solutionsd.observe users performing tasks manuallye.both c and d8. Several usability measures can be collected while observing users interacting with a computer system including Answer: ea. down time for the applicationb. number of user errorsc. software reliabilityd. time spent looking at help materialse. both b and d1.Which of the following interface design principles allow the user to remain in control of the interaction witha computer?Answer: ea.allow interaction to interruptibleb.allow interaction to be undoablec.hide technical internals from casual usersd.only provide one defined method for accomplishing a taske.a, b and c2.Which of the following interface design principles does not reduce the user's memory load?a.define intuitive shortcutsb.disclose information in a progressive fashionc.establish meaningful defaultsd.provide an off-line tutoriale.answers a, b and cAnswer: d3.Interface consistency implies thata.each application should have its own distinctive look and feelb.input mechanisms remain the same throughout the applicationc.navigational methods are context sensitived.visual information is organized according to a design standarde.both b and dAnswer: e4.If past interactive models have created certain user expectations it is not generally good to make changes to the model.a.Trueb. FalseAnswer: a5. Which model depicts the image of a system that an end user creates in his or her head?a.design modeler modelc.system modeld.system perceptionAnswer: d6. Which of these framework activities is normally associated with the user interface design processes?a.cost estimationb.interface constructionc.interface validationer and task analysise.b, c and dAnswer: e7. Which approach(es) to user task analysis can be useful in user interface design?a.have users indicate their preferences on questionnairesb.rely on the judgement of experienced programmersd.observe users performing tasks manuallyAnswer: d8. Several common design issues surface for almost every user interface includinga. adaptive user profilesb. error handling resolution of graphicsc. response timed. displays systeme. both b and dAnswer: eChapter 121.What is the normal order of activities in which traditional software testing is organized?Answer:ca.integration testing, unit testing, system testing, validation testingb.validation testing, unit testing, integration testing, system testingc.unit testing, integration testing, validation testing, system testingd.system testing, validation testing, integration testing, unit testing2.Which of the following strategic issues needs to be addressed in a successful software testing process? Answer: ea.conduct formal technical reviews prior to testingb.specify requirements in a quantifiable mannere independent test teamsd.wait till code is written prior to writing the test plane.answers a and b3.Which of the following need to be assessed during unit testing? Answer: ea.algorithmic performanceb.code stabilityc.error handlingd.execution pathse.both c and d4.Drivers and stubs are not needed for unit testing because the modules are tested independently of one another. Answer: ba.Trueb.False5. Top-down integration testing has as it‘s major advantage(s) that Answer: ea.low level modules never need testingb.major decision points are tested earlyc.no drivers need to be writtend.no stubs need to be writtene.both b and c6. Bottom-up integration testing has as it's major advantage(s) that Answer: ca.major decision points are tested earlyb.no drivers need to be writtenc.no stubs need to be writtend.regression testing is not required7. The OO testing integration strategy involves testing Answer: ab.single operations as they are added to the evolving class implementationc.operator programs derived from use-case scenariosd.none of the above8. Which of the following is an approach to debugging? Answer: ea. backtrackingb. cause eliminationc. brute forced. code restructuringe. a, b and c1.What is the normal order of activities in which traditional software testing is organized?Answer: ca.integration testing, unit testing, system testing, validation testingb.validation testing, unit testing, integration testing, system testingc.unit testing, integration testing, validation testing, system testingd.system testing, validation testing, integration testing, unit testing2.Which of the following strategic issues needs to be addressed in a successful software testing process? Answer: ea.conduct formal technical reviews prior to testingb.specify requirements in a quantifiable mannere independent test teamsd.wait till code is written prior to writing the test plane.answers a and b3.Which of the following need to be assessed during unit testing? Answer: ea.algorithmic performanceb.code stabilityc.error handlingd.execution pathse.both c and d4.When testing object-oriented software it is important to test each class operation separately as part of the unit testing process. Answer: ba.Trueb.False5. Which of the following tests is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption?Answer: da.security testingb.performance testingc.stress testingd.recovery testing6. Bottom-up integration testing has as it's major advantage(s) that Answer: ca.major decision points are tested earlyb.no drivers need to be writtenc.no stubs need to be writtend.regression testing is not requiredAnswer: aa.groups of classes that collaborate or communicate in some wayb.single operations as they are added to the evolving class implementationc.operator programs derived from use-case scenariosd.none of the above8. Which of the following is an approach to debugging?Answer: ea. backtrackingb. cause eliminationc. brute forced. code restructuringe. a, b and cChapter 131.Which of the following are characteristics of testable software? Answer: da.observabilityb.simplicityc.stabilityd.all of the above2.The testing technique that requires devising test cases to demonstrate that each program function is operational is called? Answer: aa.black-box testingb.glass-box testingc.grey-box testingd.white-box testing3.The testing technique that requires devising test cases to exercise the internal logic of a software module is called? Answer: da.behavioral testingb.black-box testingc.grey-box testingd.white-box testing4.The cyclomatic complexity metric provides the designer with information regarding the number ofa.cycles in the programb.errors in the programc.independent logic paths in the programd.statements in the program Answer: c5. Black-box testing attempts to find errors in which of the following categories Answer: da.incorrect or missing functionsb.interface errorsc.performance errorsd.all of the abovee.none of the above6. Testing OO class operations is made more difficult by Answer: dc.polymorphismd.both b and c7. What is the differences between black-box testing and white-box testing?Answer: Black-box testing involves testing the functionality of a software component without knowing the details of its internal logic. White-box testing involves testing the independent logic paths with full implementation knowledge.8. What is equivalence partitioning as it applies to software testing? What is scenario-based testing?Answer: Equivalence partitioning technique divides the input domain into classes of equivalent data items. Test cases are derived from combinations of elements from each equivalence class. Exhaustive testing of all input domain values is not necessary. Scenario-based testing: The user tasks described in the use-cases are used to construct the test cases. It is used to uncover errors that occur when actors interact with the software (focus is on user behavior, not product behavior).1.Which of the following are characteristics of testable software?Answer: da.observabilityb.simplicityc.stabilityd.all of the above2.The testing technique that requires devising test cases to demonstrate that each program function is operational is called? Answer:da.while-box testingb.glass-box testingc.grey-box testingd.black-box testing3.The testing technique that requires devising test cases to exercise the internal logic of a software module is called? Answer:ca.behavioral testingb.grey-box testingc.while-box testingd.black-box testing4.The cyclomatic complexity metric provides the designer with information regarding the number ofa.Independent logic paths in the programb.cycles in the programc.errors in the programd.statements in the program Answer: a5. Black-box testing attempts to find errors in which of the following categories Answer: da.incorrect or missing functionsb.interface errorsc.performance errorsd.all of the abovee.none of the above6. Testing OO class operations is made more difficult by Answer: da.polymorphismd.both b and c7. What is the differences between black-box testing and white-box testing?Answer: Black-box testing involves testing the functionality of a software component without knowing the details of its internal logic. White-box testing involves testing the independent logic paths with full implementation knowledge.8. What is equivalence partitioning as it applies to software testing? What is scenario-based testing?Answer: Equivalence partitioning technique divides the input domain into classes of equivalent data items. Test cases are derived from combinations of elements from each equivalence class. Exhaustive testing of all input domain values is not necessary. Scenario-based testing: The user tasks described in the use-cases are used to construct the test cases. It is used to uncover errors that occur when actors interact with the software (focus is on user behavior, not product behavior).。
(完整word版)软件工程填空题(18套试题及答案).doc
《软件工程》填空题二、填空题(请把答案写在相应的横线上, 每小题 1.5 分)1、软件是数据、计算机程序及其说明程序的各种文档。
2、概要设计主要是把各项功能需求转换成系统的体系结构。
3、面向对象开发方法包括OOA 、 OOD、 OOP 三部分。
4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。
5、在单元测试时,需要为被测模块设计驱动模块和桩模块。
6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成 5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。
7.子类自动共享父类的属性和操作的机制称为继承。
8. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。
9、可行性研究的三个方面是技术可行性、社会可行性和 __经济可行性 __。
10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明 __。
11、在画分层的 DFD时,父图与子图的输入输出数据流要__平衡 __。
12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构 _进行设计。
13.对象的抽象是 ___类 ___。
14.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。
因此,基线可以作为项目的一个 ___检查点 __。
15.软件工程包括软件开发技术和 __软件工程管理 __两大部分内容。
16、开发过程管理包括项目计划、控制和___任务管理 __等。
17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具 __等方面研究和发展的产物。
18、数据字典中有四类条目,分别是___数据流、数据项、19、用于描述基本加工的小说明的三种描述工具是结构化语言数据存储、基本加工。
、判定表、判定树_。
20、子类只继承一个父类的属性和操作, 这称为__单重继承__。
21、 McCabe复杂性度量又称 __环路度量 _。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题2
一、名词解释
1. 软件结构图
2. 模块
3. 模块化
4. 抽象
5. 信息隐蔽
6. 模块独立性
7. 耦合
8. 内聚
9. 变换流
10. 事务流
11. 结构化程序设计
12. 程序流程图
二、填空题
1. 衡量软件的独立性有两个定性的度量标准,即和。
2. 模块之间联系越紧密,其就越强,模块的则越差。
3. 数据耦合传递的是,控制耦合传递的是。
4. 面向数据流的设计又称,它是以需求分析阶段产生的为基础,按一定的步骤映射成软件结构。
5. 数据流图一般可分为和两类。
6. 模块独立的概念是,,和局部化概念的直接结果。
7. 设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低,提高。
8. 详细设计主要确定每个的具体执行过程。
9. 判定表能够清晰地表示复杂的 与所产生的动作之间的关系。
10.任何程序都可由、和 3种基本控制结构构造。
11.详细描述处理过程常用3种工具:、和。
12. 程序流程图又称,它是历史最悠久、使用最广泛的一种描述程序结
构的工具。
三、判断题
1.模块越多,开发成本越小。
()
2.耦合是指一个模块内各个元素彼此结合的紧密程度。
()
3.内聚是指一个软件结构内各个模块之间互连的度量。
()
4.模块分解时应注意不要降低模块的独立性。
()
5.对于DFD图的划分,主要依赖设计人员的经验,一切都应该根据设计人员的经验确定。
6.详细设计是在概要设计之后进行的,它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述。
( )
7.程序设计语言中应绝对禁止使用GOTO语句。
( )
四、选择题
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. 变换型DFD是一个()结构。
A. 循环
B. 选择
C. 分层
D. 顺序
8. 下面说法不正确的是()
A. 模块的作用域在模块的控制域之内
B. 模块的控制域在模块的作用域之内
C. 模块的作用域和模块的控制域有时相同
D. 模块的作用域和模块的控制域都是一种层次结构
9.下面说法哪个不属于设计准则()
A. 提高模块的内聚,降低模块间的耦合
B.降低模块接口的复杂程度
C. 模块大小要适中
D.模块要有重用性
10. 下面说法不正确的是( )。
A. 流程图不易表示数据结构
B. 流程图容易造成非结构化的程序结构
C. 流程图支持逐步求精
D. 流程图描述的是程序的算法
11. 下面说法不正确的是( )。
A. PAD图支持逐步求精
B. PAD图容易造成非结构化的程序结构
C. PAD图描述的是算法
D. PAD图容易表达模块的层次结构
五、简答题
1. 什么是软件概要设计?该阶段的基本任务是什么?
2. 什么是模块间的耦合性?有哪几种耦合性?
3. 详细设计阶段的基本任务是什么?
4. 变换分析设计与事务分析设计有什么区别?简述其设计步骤。
5.说明并比较概要设计说明书与需求分析说明书的内容。
6. 什么是结构化分析?“结构化”体现在哪里?
7. 什么是结构化程序设计?
5.需求分析说明书是需求分析的阶段成果,将成为软件开发、验收和管理的依据;概要设计说明书是概要设计的阶段成果,将成为详细设计的输入和集成测试的依据。
需求分析说明书主要内容是描述系统的需求,包括数据描述、功能要求、性能要求、运行需
求以及其他要求;而概要设计说明书主要内容是描述系统的结构,包括总体设计、接口设计、数据结构设计、运行设计、出错处理设计、安全保密设计以及维护设计等。
六、综合题:
1. 某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。
请使用流程图、PAD图、PDL来设计收费算法。
2. 某单位住房分配方案如下:所有住户50平方米以内每平方米1000元,超过50平方米后:在本人住房标准面积以内每平方米1500元,其中住房标准为:教授105平方米,副教授90平方米,讲师75平方米;标准面积以外每平方米4000元。
请用判定表和判定树表示各条件组合与费用之间的关系。
3. 根据伪码画出PAD图。
START
SWITCH P
CASE1:A; break;
CASE2:B; break;
CASE3:C; break;
DEFAULT;
STOP
4.画出与下列程序流程图对应的PAD图,程序图,计算V(G)的值。
Y
答案:
一、
二、填空题
1.内聚耦合
2.内聚性耦合
3.数据控制信息
4.结构化设计DFD
5.事务性变换型
6.模块化抽象信息隐藏
7.耦合内聚
8.模块
9.条件
10.顺序分支循环
11.流程图盒图PAD PDL
12.程序框图控制
三、判断题
1错2错3错4对5 错6对7错
四、选择题
1B 2D 3A 4C 5A 6A 7D 8B 9D 10 C 11 B 条件取值表
决策表。