西南交软件工程复习题及参考答案.docx
《西南交软件工程复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《西南交软件工程复习题及参考答案.docx(97页珍藏版)》请在冰豆网上搜索。
西南交软件工程复习题及参考答案
软件工程第1次作业
本次作业是本门课程本学期的第1次作业,注释如下:
一、单项选择题(只有一个选项正确,共36道小题)
1. 软件文档是
(A) 程序
(B) 工具
(C) 文书和资料
(D) 数据
正确答案:
C
解答参考:
2. 软件是一种( )性工业产品
(A) 理论
(B) 知识(或逻辑)
(C) 消耗
(D) 体力
正确答案:
B
解答参考:
3. 与计算机科学的理论研究不同,软件工程是一门( )的学科
(A) 理论性
(B) 工程性
(C) 原理性
(D) 心理性
正确答案:
B
解答参考:
4. 软件工程与计算机科学的性质不同,软件工程着重于( )
(A) 理论研究
(B) 建造软件系统
(C) 原理探讨
(D) 原理的理论
正确答案:
B
解答参考:
5. 软件工程学科出现的直接原因是( )
(A) 计算机的发展
(B) 其它工程学科的影响
(C) 软件危机的出现
(D) 程序设计方法学的影响
正确答案:
C
解答参考:
6.
软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,以期达到的最终目标是( )
(A) 软件开发工程化
(B) 消除软件危机
(C) 实现软件可重用
(D) 程序设计自动化
正确答案:
A
解答参考:
7.
由于软件生产的复杂性和高成本,使大型软件的生成出现危机,软件危机的主要表现包括了下述( )方面。
①生产成本过高 ②需求增长难以满足
③进度难以控制 ④质量难以保证
(A)
①②
(B) ②③
(C) ④
(D) 全部
正确答案:
D
解答参考:
8. 软件的主要结构和功能是在( )阶段决定的
(A) 分析设计
(B) 编程
(C) 测试
(D) 维护
正确答案:
A
解答参考:
9. 有关计算机程序功能、设计、编制、使用的文字或图形资料称为【 】
(A) 软件
(B) 文档
(C) 程序
(D) 数据
正确答案:
B
解答参考:
10. 软件生成周期模型有多种,下列选项中,【 】不是软件生存周期模型
(A) 螺旋模型
(B) 增量模型
(C) 功能模型
(D) 瀑布模型
正确答案:
C
解答参考:
11.
在软件的可行性研究主要从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( )的研究。
(A) 经济可行性
(B) 技术可行性
(C) 操作可行性
(D) 社会可行性
正确答案:
B
解答参考:
12. 制定软件项目开发计划的目的对软件开发过程、进度、资源进行( )
(A) 组织和管理
(B) 分析与估算
(C) 设计与测试
(D) 规划与调整
正确答案:
D
解答参考:
13. 下列不属于成本-效益分析的度量指标是( )
(A) 货币的时间价值
(B) 投资回收期
(C) 性质因素
(D) 纯收入
正确答案:
C
解答参考:
14. 技术可行性要解决( )
(A) 存在侵权否
(B) 成本-效益问题
(C) 运行方式可行
(D) 技术风险问题
正确答案:
D
解答参考:
15. 需求分析阶段最重要的技术文档之一是( )
(A) 项目开发计划
(B) 设计说明书
(C) 需求规格说明书
(D) 可行性分析报告
正确答案:
C
解答参考:
16. 在需求分析之前有必要进行( )
(A) 程序设计
(B) 可行性分析
(C) ER分析
(D) 3NF分析
正确答案:
B
解答参考:
17. 软件需求分析阶段建立原型的主要目的时( )
(A) 确定系统的功能和性能要求
(B) 确定系统的运行要求
(C) 确定系统是否满足用户需要
(D) 确定系统是否满足开发人员需要
正确答案:
A
解答参考:
18. 软件开发的需求活动,其主要任务是( )
(A) 给出软件解决方案
(B) 给出系统模块结构
(C) 定义模块算法
(D) 定义需求并建立系统模型
正确答案:
D
解答参考:
19. 需求分析阶段的研究对象是( )
(A) 用户要求
(B) 分析员要求
(C) 系统要求
(D) 软硬件要求
正确答案:
A
解答参考:
20. 数据流图描述系统的( )
(A) 数据结构
(B) 控制流程
(C) 基本加工
(D) 软件功能
正确答案:
D
解答参考:
21. 软件需求阶段要解决的问题是( )
(A) 软件做什么
(B) 软件提供哪些信息
(C) 软件采用的结构
(D) 软件怎样做
正确答案:
A
解答参考:
22. 数据字典不包括的条目是( )
(A) 数据项
(B) 数据流
(C) 数据类型
(D) 数据加工
正确答案:
C
解答参考:
23. 需求分析( )
(A) 要回答“软件必须做什么?
”
(B) 可以概括为“理解,分解,表达”六个字
(C) 要求编写需求规格说明书
(D) 上面都对
正确答案:
D
解答参考:
24. 在数据流图中,有名字及方向的成分是( )
(A) 数据流
(B) 信息流
(C) 控制流
(D) 信号流
正确答案:
A
解答参考:
25.
软件需求分析阶段的工作,可以分成以下四个方面:
对问题的识别、分析与综合、制定需求规格说明以及( )。
(A) 总结
(B) 实践性报告
(C) 需求分析评审
(D) 以上答案都不正确
正确答案:
C
解答参考:
26. 结构化分析方法使用的描述工具( )定义了数据流图中每一个图形元素
(A) 数据流图
(B) 数据字典
(C) 判定表
(D) 判定树
正确答案:
B
解答参考:
27. 需求规格说明书的作用不应包括( )
(A) 软件设计的依据
(B) 用户与开发人员对软件要做什么的共同理解
(C) 软件验收的依据
(D) 软件可行性研究的依据
正确答案:
D
解答参考:
28. 在结构化分析方法中,与数据流图配合使用的是( )
(A) 网络图
(B) 实体联系图
(C) 数据字典
(D) 程序流程图
正确答案:
C
解答参考:
29. 软件需求规格说明书的内容不应包括对( )的描述
(A) 主要功能
(B) 算法的详细过程
(C) 用户界面及运行环境
(D) 软件的性能
正确答案:
B
解答参考:
30. 通过( )分解完成数据流图的细化
(A) 结构分解
(B) 功能分解
(C) 数据分解
(D) 系统分解
正确答案:
B
解答参考:
31. 数据存储和数据流都是( ),仅仅所处的状态不同
(A) 分析结果
(B) 事件
(C) 动作
(D) 数据
正确答案:
D
解答参考:
32. 数据字典中,一般不包括下列选项中的( )条目
(A) 数据流
(B) 数据存储
(C) 加工
(D) 源点与终点
正确答案:
D
解答参考:
33. SA方法用DFD描述( )
(A) 系统的控制流程
(B) 系统的数据结构
(C) 系统的基本加工
(D) 系统的功能
正确答案:
D
解答参考:
34. 初步用户手册在( )阶段编写
(A) 可行性研究
(B) 需求分析
(C) 软件概要设计
(D) 软件详细设计
正确答案:
B
解答参考:
35. SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( )
(A) 获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型
(B) 获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型
(C) 获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型
(D) 获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型
正确答案:
A
解答参考:
36. SA方法的基本思想是( )
(A) 自底向上逐步抽象
(B) 自底向上逐步分解
(C) 自顶向下逐步分解
(D) 自顶向下逐步抽象
正确答案:
C
解答参考:
四、主观题(共51道小题)
37.
简述软件维护的流程
参考答案:
制定维护申请报告:
用户填写维护申请,组织制定软件修改报告。
维护审批:
由维护机构审查维护申请,决定是否需要维护。
进行维护并记录维护中的各种情况。
维护复审
38. 决定软件可维护性的因素有哪些?
它们是怎样影响软件的可维护性
参考答案:
●可理解性:
软件可理解性表现为外来读者理解软件的结构、接口、功能和内部过程的难易程度。
●可测试性:
诊断和测试的难易程度主要取决于软件容易理解的程度。
良好的文档对诊断和测试是至关重要的。
●可修改性:
软件容易修改的程度设计原理和规则直接有关。
耦合、内聚、局部化,控制域与作用域的关系等等,都影响软件的可修改性。
●可移植性:
一个程序被移植到一个新的计算环境的可能性的大小,或表明程序可以容易地、有效地在各种各样的计算环境中运行的程度。
●可重用性:
重用指同一事物不作修改或稍加改动就在不同环境中多次重复使用。
大量使用可重用的软件构件来开发软件,可以明显提高软件可维护性:
39. 文档在提高软件可维护性中扮演什么角色
参考答案:
文档是影响软件可维护性的决定因素。
其作用是:
1、帮助维护人员读懂程序。
2、方便被维护软件的测试。
40.
名词解释:
软件--
参考答案:
软件是计算机程序以及开发、使用和维护程序所需要的所有文档。
软件是包括程序、数据及其相关文档的完整集合。
41.
名词解释:
软件危机--
参考答案:
软件生产的进度、数量、质量、成本满足不了社会对软件的需求量和希望的现象,称为“软件危机”
42. 名词解释:
软件工程--
参考答案:
IEEE[IEE93]:
软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
43. 名词解释:
软件生存周期--
参考答案:
软件生存周期是指一个软件从提出开发要求开始直到不再使用(报废)为止的整个时期。
44. 名词解释:
软件过程模型--
参考答案:
软件过程指为获得高质量软件所需要完成的一系列任务以及完成这些任务的工作步骤。
过程还规定了运用的方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施、任务完成的标志等。
软件过程模型也叫软件生存期模型、软件工程范型,是软件过程的一种抽象表示。
45. 在信息处理和计算机领域内,一般认为软件是 、 和
参考答案:
程序,数据,文档的集合
46.
软件生产的发展经历了 时代、 时代和 时代,各时代的生产方式分别是 、 和 。
参考答案:
程序设计 ,程序系统,软件工程,个体,作方式,工程化
47.
软件生存周期的8个阶段分别是
、 、 、 、 、 、 、 。
参考答案:
问题定义,可行性研究,需求分析,概要设计,详细设计,编码与模块测试,综合测试 ,维护
48.
软件工程是利用工程化的原理和方法来进行 、 和 软件的一门学科。
参考答案:
开发,维护,管理
49. 描述软件开发过程中各种活动如何执行的模型称为 模型
参考答案:
软件过程
50. 瀑布模型 适应需求可变的软件开发,只有到 才能见到整个软件系统
参考答案:
不 ,最后
51. 软件产品的生产主要是研制,软件产品的成本主要体现在 上。
参考答案:
人力成本
52. 软件工程面临的问题有 、 、 、
参考答案:
软件费用,可靠性,可维护性,生产率
53.
为什么要进行需求分析?
通常对软件系统有哪些需求?
参考答案:
开发一个软件系统,必须知道用户对目标软件系统在功能、行为、性能、设计约束等方面有什么期望和要求,所以必须进行需求分析。
通常对软件系统的需求有:
功能需求,性能需求,运行要求、可扩展要求、数据需求。
54. 软件需求分析阶段的任务是什么
参考答案:
●需求获取:
通过调研,获取用户对系统的功能需求和非功能需求。
●需求分析:
通过对用户需求分析和综合,消除用户需求的模糊性、歧义性和不一致性。
建立系统逻辑模型。
●需求描述:
用规范化的语言和格式生成需求规格说明。
55. 数据字典的作用是什么
参考答案:
数据字典是对数据流图中出现的所有成分都给出“严格定义”。
,包括对数据加工、数据流、数据存储、数据元素的定义。
56. 什么是结构化分析方法?
该方法使用什么描述工具
参考答案:
面向数据流进行需求分析的方法,采用自顶向下、逐步求精的分析方法。
描述工具:
数据流图,数据字典。
57. 可行性研究的目的和任务是什么
参考答案:
目的:
用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。
任务:
(1)对项目可能的各种实现方案的可行性进行论证,确定项目是否应该开发,以减少和降低软件开发的技术风险和投资风险。
(2)若项目应该开发,则需要进行开发方案的评价,并制定项目开发计划。
58.
成本效益分析对软件项目是否开发有何影响?
参考答案:
成本效益分析是从经济角度论证开发一个特定的新系统开发是否划算,是决定是否投资开发新系统的依据。
59. 成本-效益分析的目的是什么?
可用哪些指标进行度量?
参考答案:
成本/效益分析的目的是从经济角度论证开发一个特定的新系统开发是否划算,是决定是否投资开发新系统的依据。
(1)、货币的时间价值:
货币的价值本身随时间的增加而产生增值:
(2)、投资回收期:
累计的经济效益等于最初的投资所需的时间。
(3)、纯收入:
在整个生存周期内系统的累计经济效益(折合现在的钱)与投资之差。
(4)、投资回收率----投资的年利率
60. 名词解释:
结构化分析方法--
参考答案:
面向数据流进行需求分析的方法,采用自顶向下、逐步求精的分析方法
61. 名词解释:
数据流图--
参考答案:
用图形的方式从数据加工的角度来描述数据在系统中流动和处理的过程,只反映系统必须完成的功能,是一种功能模型。
62. 名词解释是:
数据字典--
参考答案:
用于定义对数据流图中的各个成分的具体含义。
63.
需求分析是指开发人员通过细致的 ,准确理解 ,将用户非形式化的需求转化为 ,再把 转化为相应的形式化功能规约的过程。
参考答案:
调查,用户的要求,完整的需求定义,需求定义
64.
需求分析的基本任务是准确定义 ,为了满足用户的需要,回答系统必须 的问题。
参考答案:
新系统的目标 ,“做什么”
65.
需求分析阶段需编写的文档有 、 、 。
参考答案:
需求规格说明书 ,初步用户手册,软件测试计划
66. 数据流图的基本组成部分有 、 、 、 。
参考答案:
源点/终点,加工,数据流,数据存储
67.
数据流图和数据字典共同构成了系统的 模型,是需求规格说明书的主要组成部分。
参考答案:
逻辑
68. 结构化分析方法是面向 、 、 进行分析的方法
参考答案:
数据流的,自顶向下,逐步求精
69.
数据字典有以下四类条目:
、 、 、 。
是组成组成数据流和数据存储的最小元素。
参考答案:
数据加工,数据流,数据存储 , 数据元素,数据元素
70.
在结构化分析的需求描述中, 描述系统的分解,即描述系统由哪几部分组成,各部分有什么联系等等。
定义了数据流图中每一个图形元素。
参考答案:
数据流图 ,数据字典
71.
在数据流图中, 是数据在系统内传播的路径,因此由一组固定的数据项组成。
加工(又称为数据处理)是对数据流进行的某些 。
参考答案:
数据流,处理
72. 软件产品的特点是什么
参考答案:
软件是一种逻辑产品,无形态,具有抽象性。
●软件是开发而形成的,无明显的制造过程。
与硬件相比,软件开发更依赖于开发人员的业务素质、智力以及人员的组织、合作和管理。
软件成本集中在开发上,主要反映在人力成本上,而且开发成本难以估计。
●软件不会“磨损”和老化,但存在退化问题。
●大多数软件是定做的,不是通过已有构件组装而成。
●主要靠脑力劳动生产。
●开发和维护成本高。
73.
软件生产经历了哪几个时代,各有何特征?
参考答案:
软件生产经历了三个时期:
(1)程序设计时期(1946~1956) 软件=程序
主要特征:
计算机硬件=计算机
用途少,规模小;不作为商品;
开发者=使用者:
自己开发,自己使用。
(2)程序系统时期(1956~1968) 软件=程序+说明
主要特征:
程序规模增大,多人分工合作。
软件作为商品,即程序设计者≠使用者;
程序开发和使用的文档资料已不可缺少。
(3)软件工程时期(1968~现在) 软件=程序+数据+文档
主要特征:
按工程管理的方法管理整个软件开发过程。
74.
软件危机是如何产生的?
其表现形式是什么?
试说明产生危机的原因?
参考答案:
大规模集成电路出现后,性能大大提高,推动了计算机的广泛应用,促进了大规模软件系统的设计。
但由于软件开发方法不适应规模较大的项目的开发,因而出现了比计划延迟交付、费用比预算增加很多、功能和质量不能满足用户要求,维护困难等问题,造成了软件危机。
主要表现:
(1)软件开发:
软件开发过程和成本无法有效控制,延迟交付且成本逐年上升;
软件开发生产率提高的速度跟不上需求的增加;
用户需求模糊,用户对已完成的软件系统不满意;
没有确保质量的有效措施,软件产品的质量靠不住。
(2)软件维护:
软件常常是不可维护的(缺乏文档或文档质量)。
维护花费的时间和费用占整个软件开发组织的60%以上。
原因:
(1)客观原因:
软件规模越来越大,结构越来越复杂,使得开发和管理都变得困难。
但是:
软件是手工劳动,是智力产品----生产率低。
软件是逻辑实体,出错容易,纠错困难。
软件的复杂性使得仅靠人的智力难以驾驭。
(2)主观原因
开发方式:
认为开发软件就是写程序。
组织方式:
作坊式的生产方式;开发无计划、开发过程无规范、开发过程难控制。
用户方面:
对软件需求描述不精确。
开发人员方面:
对用户需求的理解与用户本来愿望有差异,相互之间的信息交流不及时、不准确、有误解。
75. 阐述软件工程的定义和目标,试说明软件工程是如何克服软件危机的
参考答案:
目标:
在给定成本、进度的前提下,开发出满足用户需求的高质量的、易于维护的软件产品。
克服危机的方法:
软件工程是从技术和管理两方面利用一套科学的技术和管理方法进行软件的开发,从而提高软件质量和生产率。
76.
什么是软件生存周期?
软件生成周期把软件产品的分成哪几个阶段?
各阶段的任务什是么?
参考答案:
软件生存周期由8个阶段组成:
1、问题定义:
确定要求解决的问题是什么?
2、可行性研究:
确定在时间和资源的约束条件下,能否完成指定的任务?
包括:
技术可行性、经济可行性、法律可行性、社会可行性。
若可行,则制定项目所需费用、资源、时间的开发计划。
3、需求分析:
准确地确定“软件系统必须做什么”,即明确目标系统必须具备的功能和对系统的约束。
4、概要设计:
确定在总体上应该怎样实现目标系统,包括系统的软件结构设计、接口设计和数据结构设计。
5、详细设计:
对软件结构中的模块进行精确描述—算法设计。
6、编码及模块测试:
把模块算法转换成特定程序设计语言的正确的、容易理解、容易维护的程序模块。
7、综合测试:
发现和纠正程序中的错误,保证软件功能和性能符合需求规格说明书规定的要求。
包括集成测试、确认测试和系统测试。
8