软件工程(习题与参考答案)
软件工程习题及参考答案
数据输入的一般准则中包括尽量(增加)用户输入的动作。(X)
用穷举测试是较现实的测试方法。(X)
编码时应尽可能使用全局变量(X)
重视程序结构的设计,能使程序具有较好的层次结构(√)
程序中的注解越少越好( X )。
缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。(√)
在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×)
加工小说明是对系统流程图中的加工进行说明。(×)
判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×)
需求分析的主要方法有SD法、OOA法及HIPO法等。(×)
分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。(×)
软件模块之间的耦合性越弱越好。(√)
如果通过软件测试没有发现错误,则说明软件是正确的。(X)
快速原型模型可以有效地适应用户需求的动态变化。(√)
模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高聚,低耦合度的软件产品。(√)
集成测试主要由用户来完成。(X)
确认测试计划应该在可行性研究阶段制定(X)
文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理;运行阶段的维护。(√)
软件开发、设计几乎都是从头开始,成本和进度很难估计。(√)
《软件工程导论》试题及答案
《软件工程导论》试题及答案
软件工程导论试题及答案
一、选择题
1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?
A. 计算机科学
B. 电子工程
C. 数学
D. 管理学
E. 心理学
答案:A、B、C、D
2. 软件工程的目标是什么?
A. 提高软件开发效率
B. 提高软件质量
C. 提高软件可靠性
D. 提高软件维护性
E. 提高软件安全性
答案:A、B、C、D、E
3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?
A. 瀑布模型
B. 增量模型
C. 螺旋模型
D. 敏捷模型
E. 喷泉模型
答案:A、B、C、D
4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?
A. 瀑布模型
B. 增量模型
C. 螺旋模型
D. 敏捷模型
答案:D
5. 软件需求分析的主要任务是什么?
A. 确定软件的功能和性能需求
B. 定义软件系统的架构
C. 设计软件的用户界面
D. 实施软件测试
答案:A
二、填空题
1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。
答案:质量、可靠性
2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和
______ 。
答案:实现、维护
3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。
答案:测试、维护
4. “快速原型”开发模型注重 ______ 。
答案:用户参与
5. 敏捷开发模型的核心原则是 ______ 。
答案:迭代开发
三、简答题
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.软件的主要特性是()
A、无形性
B、高成本
C、包括程序和文档
D、可独立构成计算机系统
2.软件工程三要素是()
A、技术、方法和工具
B、方法、工具和过程
C、方法、对象和类
D、过程、模型、方法
3.包含风险分析的软件工程模型是()
A、螺旋模型
B、瀑布模型
C、增量模型
D、喷泉模型
4.软件工程的主要目标是()
A、软件需求
B、软件设计
C、风险分析
D、软件实现
5.下列属于面向对象开发方法的是()
A、Booch
B、UML
C、Coad
D、OMT
6.软件危机的主要表现是()
A、软件成本太高
B、软件产品的质量低劣
C、软件开发人员明显不足
D、软件生产率低下
7.软件开发方法的主要工作模型有()
A、螺旋模型
B、循环模型
C、瀑布模型
D、专家模型
软件工程学习题答案
软件工程学习题答案
1. 什么是软件工程?
软件工程是一门针对软件开发过程的系统化方法和管理体系的学科,它通过运用工程的概念、原理和方法,以及面向对象的开发技术,来组织、控制和管理软件开发的全过程,以保证软件能够按照要求高质量地开发出来。
2. 为什么需要软件工程?
软件工程的出现是因为软件在社会和经济中的重要地位越来越突出,而传统的软件开发方法已经无法满足人们对软件的需求。软件工程的引入可以提高软件开发的效率和质量,减少软件开发过程中的风险和失败率。
3. 软件开发生命周期是什么?
软件开发生命周期是指软件从提出需求到最终交付使用之间的各个阶段。常见的软件开发生命周期包括需求分析、系统设计、编码、测试、部署和维护等阶段。
4. 请解释需求分析阶段的重要性。
需求分析是软件开发生命周期中的第一阶段,它的重要性不言而喻。需求分析的目标是确定用户对软件的需求,包括功能需求和非功能需求。只有通过充分的需
求分析,才能确保软件开发过程中不会出现需求的误解或遗漏,从而避免后续开发阶段的错误和重复工作。
5. 请解释面向对象的开发方法。
面向对象的开发方法是一种软件开发的范式,它以对象为基本单位将系统进行分析、设计和实现。面向对象的开发方法将现实世界中的事物抽象成对象,通过对象间的交互和消息传递来实现系统的功能。面向对象的开发方法具有高内聚、低耦合、易维护等优点,已经成为主流的开发方法之一。
6. 软件测试的目的是什么?
软件测试的目的是为了确保软件的质量。通过对软件进行全面的测试,可以发现和修复软件中的缺陷和错误,以提高软件的可靠性、稳定性和安全性。
软件工程课后习题参考答案
软件工程课后习题参考答案
1.简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念
和处理逻辑之间的映射。P19
2.简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。所谓系统建模,是指运用所掌
握的知识,通过抽象,给出该系统的一个结构——系统模型。P19
3.简述何谓模型以及软件开发中所涉及的模型。
答:模型是一个抽象。该抽象是在意图所确定的角度和抽象层次对物
理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了
系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
4.简述软件开发所涉及的两大类技术。
答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是
求解软件的开发手段。
5、简述需求与需求规约的基本性质。
答:需求的基本性质:1)必要的,该需求是用户所要求的。2)无歧义的,该需求只能用一种方式解释。3)可测的,该需求是可进行测试的。4)可跟
踪的,该需求可从一个开发阶段跟踪到另一个阶段。5)可测量的,该需求
是可测量的。需求规约的基本性质:1)重要性和稳定性程度:按需求的重要
性和稳定性,对需求进行分级。2)可修改的:在不过多地影响其他需求的
前提下,可以容易地修改一个单一需求。3)完整的:没有被遗漏的需求。4)一致的:不存在互斥的需求。
6、简述软件需求的分类。
答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。
软件工程课后习题答案第五版
软件工程课后习题答案第五版
《软件工程导论》课后习题答案
第一章软件工程概论
1.什么是软件危机?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:
(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?
(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置
组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、
公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?
(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术
和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使
软件工程习题及参考答案
软件工程习题及参考答案
软件工程习题及部分参考答案
判断题
软件也会磨损和老化。(X)
完善性维护是提高或完善软件的性能。(√)
数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
(X)
软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X)
软件模块之间的耦合性越弱越好。(√)
如果通过软件测试没有发现错误,则说明软件是正确的。(X)
快速原型模型可以有效地适应用户需求的动态变化。(√)
模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√)
集成测试主要由用户来完成。(X)
确认测试计划应该在可行性研究阶段制定(X)
白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X)?软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√)
软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳)?模块越多,开发成本越小。(╳)
软件测试的目的就是证明软件没有错。(╳)
PAD图在设置了五种基本的控制结构后,还允许递归使用。(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×)
SA法是面向数据流,建立在数据封闭原则上的需求分析方法。
(√)
HIPO 法既是需求分析方法,又是软件设计方法。(√)
在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×)
《软件工程练习题及参考答案》
4.软件工程使用的软件工具能够自动或半自动地支持软件的开发、管理和文档的生成。(√)
5.为了充分发挥开发人员的潜力、缩短工期,软件工程项目的任务分解与安排应尽力挖掘可并行开发的部分。(√)
6.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。(X)
6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。0402
7.一个软件的深度是指其控制的(层数)。
8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。
9.软件维护是软件生命周期的(最后)一个阶段。
三、判断题(每小题2分,共24分,错误打X、正确打√)
6、为适应软件运行环境的变化而修改软件的活动称为(B)。
A.纠错性维护
B.适应性维护
C.改善性维护
D.预防性维护
二、填空题(每空2分,共18分)
1.软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。
2.高级语言:独立于机器,面向过程或面向(对象)
3.软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。
A.集成测试
B.单元测试
C.集合测试
D.系统测试
软件工程课后习题参考答案
软件工程课后习题参考答案
软件工程课后习题参考答案
1.简答题
1.1 什么是软件工程?
软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。
1.2 软件工程的目标是什么?
软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。
1.3 软件生命周期有哪些阶段?
常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
1.4 什么是软件需求?
软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。
1.5 软件开发过程有哪些模型?
常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。
2.客观题
2.1 软件测试的目的是什么?
a) 发现软件中的错误和缺陷
b) 验证软件是否符合需求和规格
c) 提高软件的可靠性和质量
d) 以上皆是
答案:d) 以上皆是
2.2 瀑布模型的特点是什么?
a) 瀑布模型是一种线性顺序的软件开发过程模型
b) 各个开发阶段是相互独立的
c) 开发过程按照需求分析、设计、编码、测试等顺序进行
d) 以上皆是
答案:d) 以上皆是
2.3 敏捷开发的原则是什么?
a) 个体和交互胜过流程和工具
b) 可工作的软件胜过详尽的文档
c) 客户合作胜过合同谈判
d) 响应变化胜过遵循计划
e) 以上皆是
答案:e) 以上皆是
3.计算题
3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)
软件工程习题及详细答案
软件工程习题及答案
一、选择题:
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/6
B、1/5
C、1/4
D、1/3
7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型
B、事务型
8. PAD(Problem Analysis Diagram)图是一种工具。
A、系统描述
B、详细设计
C、测试
D、编程辅助
9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌
B、细节
C、抽象
D、软件的整理
10. 数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名
B、数据流不必命名,有文件名就足够了
C、数据流和文件均要命名,因为流出和流进数据流是不同的
D、数据流和文件均不要命名,通过加工可自然反映出
软件工程习题与答案
第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. 当前先进的软件工程方法已经解决了软件危机的问题
软件工程习题及课后答案
第8章面向对象设计(习题与参考答案)
[选择题]
1. ()面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境
下的设计模型。
A. 真
B. 假
2. ()系统设计的主要任务是细化分析模型,最终形成系统的设计模型。
A. 真
B. 假
3. ()关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对
应到关系数据库中的表。
A. 真
B. 假
4. ()用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界
面可能导致用户拒绝使用该系统。
A. 真
B. 假
5. 内聚表示一个模块()的程度,耦合表示一个模块()的程度。
A. 可以被更加细化
B. 仅关注在一件事情上
C. 能够适时地完成其功能
D. 联接其他模块和外部世界
6. 良好设计的特征是()。
A. 模块之间呈现高耦合
B. 实现分析模型中的所有需求
C. 包括所有组件的测试用例
D. 提供软件的完整描述
E. 选项B和D
F. 选项B、C和D
7. ()是选择合适的解决方案策略,并将系统划分成若干子系统,从而建立整个系
统的体系结构;( )细化原有的分析对象,确定一些新的对象、对每一个子系统接口和类进行准确详细的说明。
A. 系统设计
B. 对象设计
C. 数据库设计
D.
用户界面设计
8.
下面的( )界面设计原则不允许用户保持对计算机交互的控制。
A. 允许交互中断
B. 允许交互操作取消
C. 对临时用户隐藏技术内部信息
D.
只提供一种规定的方法完成任务
[练习题]
1. 面向对象设计与面向对象分析的区别是什么?设计包括哪些活动? 答案要点:
面向对象分析是重点考虑系统“做什么”的问题,即运用面向对象方法对问题域进行分析和理解,建立系统的分析模型;面向对象设计重点考虑系统“怎样做”的问题,即在分析模型的基础上形成实现环境下的设计模型。
软件工程课本习题答案
软件在运行中可能由于多方面的原因,需要对它进行维护。通常有四种类型的维护:改正性维护、适应性维护、完善性维护和预防性维护。
1.7常见的软件生存期模型主要有哪些?每种模型的优缺点是什么?
常见的软件生存期模型主要有瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型和统一过程。
户就能做一些实用的工作。
逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的
软件可能给用户组织带来的冲击。
项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够
成功地交付给客户。
优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统
2.3形式化方法的特点是什么?
形式化方法的主要特点是:
(1)软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;
(2)设计、实现和单元测试等开辟过程由一个变换开辟过程代替。通过一系列变换将形式的规格说明细化成为程序。
2.5安装RationalRose2000/2002/2003,并练习基本操作。
缺点:RUP只是一个开辟过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开辟结构,这在一定程度上降低了在开辟组织内大范围实现重用的可能性。
软件工程习题参考答案
数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。
具体条目内容及举例如下:
数据流条目
数据流名称:订单
别名:无
简述:顾客订货时填写的项目
来源:顾客
去向:加工1"检验订单"
数据流量:1000份/每周(单位时间内的传输次数)
②选择结构:一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等关键词。
③重复结构:一般用DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。
⑵内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其 动词含义要具体,尽量不使用形容词和副词来修饰。
数据存储名称:库存文件
别名:无
简述:存放图书出/入库信息
组成:书名+出版社+作者+出版日期+入库数据+总数量+(内容简介)+当前库存量
组织方式:数据文件,以书名为关键字进行索引
查询要求:要求能立即查询并修改
加工名:审核借书证
编号:1.1
激发条件:接受到借书证
输入:借书证
输出:认定合格的借书证
加工逻辑:根据借书文件及读者借书证
THEN 可供货处理
ELSE 此订单缺货,登录,待进货后再处理
软件工程习题与参考答案
软件⼯程习题与参考答案
习题(第1章)
1、简述下列术语:数据、数据元素、数据结构
答:数据——在计算机系统中,把客观事物采⽤计算机进⾏识别、存储和加⼯所进⾏的描述,统称为数据。
数据元素——数据的基本单位成为数据元素,也称结点或记录等。
数据结构——是指相互有关联的数据元素的集合。因此,⼀个数据结构既要反映数据元素的信息,还要反映数据元素之间的关系。
2、数据结构主要研究哪些内容?
答:数据结构主要研究以下三⽅⾯的内容:
(1)数据元素之间的逻辑关系是什么?
(2)适宜选⽤什么存储结构进⾏存储?
(3)采⽤什么样的操作实现算法效率更⾼?
3、什么是数据的逻辑结构?逻辑结构主要分哪⼏种?
答:逻辑结构——能反映数据元素之间的关系的数据组织。
逻辑结构主要分为两⼤类:线性结构和⾮线性结构
4、什么是数据的存储结构?存储结构主要分哪⼏种?
答:存储结构——反映数据在计算机中的存储⽅法。⼜称物理结构。
11、设有编号1,2,3,4的四辆列车,顺序进⼊⼀个栈式结构的站台,具体写出这四辆列车开出站的所有可能的顺序。
答:堆栈具有“先进后出”或“后进先出”的特性,在出⼊过程中,可边进边出。只要保证列车的进⼊先后顺序是1,2,3,4且出栈的总是栈顶元素就可以了。因此,这四辆列车可能的出栈顺序有14种。即
1,2,3,4 1,2,4,3 1,3,4,2 1,3,2,4 1,4,3,2
2,1,3,4 2,1,4,3 2,3,4,1 2,3,1,4 2,4,3,1
3,2,1,4 3,4,2,1 3,2,4,1
4,3,2,1
14、对于下列稀疏矩阵
软件工程习题及答案解析
一、选择题:
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/6
B、1/5
C、1/4
D、1/3
7. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于.
A、变换型
B、事务型
8. PAD〔Problem Analysis Diagram〕图是一种工具.
A、系统描述
B、详细设计
C、测试
D、编程辅助
9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的.
A、总貌
B、细节
C、抽象
D、软件的作者
10. 数据流图中,当数据流向或者流自文件时,.
A、数据流要命名,文件不必命名
B、数据流不必命名,有文件名就足够了
C、数据流和文件均要命名,因为流出和流进数据流是不同的
D、数据流和文件均不要命名,通过加工可自然反映出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方
法、工具和过程三个要素。(D)
A. 软件产品
B. 软件过程
C. 软件测试
D. 软件工程
8. 软件工程的基本要素包括方法、工具和()。(C)
A. 软件系统
B. 硬件环境
C. 过程
D. 人员
9. 软件工程师在从事软件工作时应使用下面的()准则。(E)
A. 从来不为个人获利而窃取数据
B. 从来不散布或出售项目中自己工作的信息
C. 从来不故意毁坏或修改别人的程序、文件或数据
D. 从来不侵犯个人、小组或组织的隐私
E. 以上所有选项
第2章软件过程(习题与参考答案)
[选择题]
1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、
软件确认、软件改进等活动组成。(A)
A. 软件过程
B. 软件工具
C. 软件产品
D. 软件工程
2. 软件过程的基本活动是()。(A)
A. 分析、设计、实现、测试、演化
B. 沟通、计划、建模、构造、部署
C. 计划、分析、设计、实现、调试
D. 沟通、风险管理、度量、产品化、评审
3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。(B)
A. 真
B. 假
4. 软件开发的瀑布模型是()。(A)
A. 适用于需求被清晰定义的情况
B. 一种需要快速构造可运行程序的好方法
C. 最适合于大规模团队开发的项目
D. 已不能用于现代环境的过时模型
5. 软件开发的增量模型是()。(B)
A. 适用于需求被清晰定义的情况
B. 一种需要快速构造核心产品的好方法
C. 最适合于大规模团队开发的项目
D. 一种不适用于商业产品的创新模型
6. 快速原型开发模型是()。(B)
A. 适用于客户需求被明确定义的情况
B. 适用于客户需求难以清楚定义的情况
C. 最适合于大规模团队开发的项目
D. 很难产生有意义产品的一种冒险模型
7. 演进式软件过程模型()。(D)
A. 本质上是迭代的
B. 可以很容易适应需求的变化
C. 通常不会抛弃所产生的系统
D. 以上所有选项
8. 螺旋模型()。(C)
A. 在软件产品发布时结束
B. 比增量模型更加混乱
C. 在每一次迭代过程中包含项目风险评价
D. 以上所有选项
9. 基于组件的开发模型()。(C)
A. 只适用于计算机硬件设计
B. 不能支持可重用组件的开发
C. 在面向对象技术获得支持的情况下应用得更好
D. 增加了开发风险和成本
10. 形式化方法模型是将数学方法用于()。(D)
A. 定义计算机系统的规格说明
B. 开发无错误的计算机系统
C. 验证计算机系统的正确性
D. 以上所有选项
11. 下面的()不是RUP模型的阶段。(D)
A. 启动阶段
B. 精化阶段
C. 构造阶段
D. 确认阶段
第3章软件项目管理(习题与参考答案)
[选择题]
1. 软件项目管理的“4P”是()。(C)
A. people,performance,payoff,product
B. people,product,performance,process
C. people,product,process,project
D. people,process,payoff,product
2. ()项目管理在现代软件开发中是不太重要的,因为大多数项目能够及时完成并成功交付。(B)
A. 真
B. 假
3. 在软件开发的各种资源中,()是最重要的资源。(C)
A. 开发工具
B. 方法
C. 硬件环境
D. 人员