没有合适的资源?快使用搜索试试~ 我知道了~
首页软件工程概论的练习题及答案完整版
资源详情
资源评论
资源推荐

《软件工程概论的练习题及答案》来自南京廖华
点这里,有很多篇《软件工程概论的练习题及答案》
在线阅读本文:
软件工程概论的练习题及答案
概述
一、填空题
、软件由计算机程序、数据和文档组成。
、软件是一种逻辑产品,它与物质产品有很大的区别。
、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成。 、软件的
发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程。
、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工
程时代的生产方式是工程化。
、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科。
、计算机科学的成果都可用于软件工程,但计算机科学着重于理论和原理,软件工程着重于
建造软件系统。 、软件工程研究的主要内容是方法、过程和工具等三个方面。
、软件开发各阶段任务的划分应尽可能相对独立,同一阶段任务的性质应尽可能相同。
、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型。它规定了
各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。
、演化模型是一种非整体开发模型。先开发一个原型软件,完成部分主要功能,展示给用
户并征求意见,然后逐步完善,最终获得满意的产品。
、螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤:制定计
划、风险分析、开发实施、用户评估。
、喷泉模型是一种以用户要求为动力,以对象为驱动的模型。它使开发过程具有迭代性和
无间隙性,适用于面向对象开发方法。 二、单项选择题
、软件产品的生产主要是 !。 "#制造 $#复制 !#开发 %#研制 、个体手工劳动是 $ 时代的
软件生产方式。
"#程序系统 $#程序设计 !#软件工程 %#程序编码 、软件工程是一门 ! 学科。
"#理论性 $#原理性 !#工程性 %#心理性 、软件开发费用只占软件生存期全部费用的 $。 "
#$##!##%##

、在软件开发过程中大约要花费 !&的工作量进行测试和调试。 "# #$# #!# #%# #
、准确地解决“软件系统必须做什么”是 $ 阶段的任务。 "#可行性研究 $#需求分析 !#软件
设计 %#程序编码 、软件生存期中时间最长的是 % 阶段。
"#需求分析 $#软件设计 !#软件测试 %#软件运行维护
、在软件生存期的模型中,% 适合于大型软件的开发它吸收了软件工程中“演化”的概念。
"#喷泉模型 $#基于知识的模型 !#瀑布模型 %#螺旋模型 、在软件生存期中,用户的参与主要在
"。
"#软件定义阶段 $#软件开发阶段 !#软件维护阶段 %#整个软件生存期过程中
、在软件开发过程中的每个阶段都要进行严格的 %,以尽早发现在软件开发过程中产生的
错误。 "#检验 $#验证 !#度量 %#评审
、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须
实施严格的 $#"#产品检验 $#产品控制 !#产品标准化 %#开发规范
、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件的 %。
"#可靠性 $#可使用性 !#安全性 %#可维护性
、为了提高软件开发过程的 ",有效地进行管理,应当根据软件开发项目的总目标及完成
期限,规定开发组织的责任和产品标准。
"#可见性 $#生产率 !#安全性 %#有效性
、随着开发小组人数的 ",因交流开发进展情况和讨论遇到的问题而造成的通信开销也急
剧增加。 "#增加 $#降低 !#稳定 %#不稳定
、为保证软件开发的过程能够跟上技术的进步,必须不断地灵活地改进软件工程 !。 "#原
则 $#工具 !#过程 %#方法 三、选择填空题
、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到
相应的括内。 '(软件是计算机系统中与硬件相互依存的另一部分,它是包括)②*、)⑦*及)⑤*的完
整集合。其中,)②*是按事先设计的功能和性能要求执行的指令序列。)⑦*是使程序能够正确操纵
信息的数据结构。)⑤*是与程序开发、维护和使用有关的图文材料。
供选择的答案: "+!# #① 软件 ② 程序 ③ 代码④ 硬件 ⑤ 文档 ⑥ 外设 ⑦ 数据 ⑧ 图表
、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到
相应的括内。 开发软件时对提高软件开发人员工作效率至关重要的是)①*。软件工程中描述生存
周期的瀑布模型一般包括计划、)①*、设计、编码、测试、维护等几个阶段,其中设计阶段在管
理上又可以依次分成)③*和)⑥*两步。
供选择的答案:".① 程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的
并行处理能力 $.① 需求分析②需求调查③可行性分析④问题定义 !、%.①方案设计②代码设

计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计 ⑧ 软件体系结构设计
、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到
相应的括内。 有人将软件的发展过程划分为 个阶段:
第一阶段( ~ 年代末)称为“程序设计的原始时期”,这时既没有)#"#*,也没有
)#$#*,程序员只能用机器指令编写程序。
第二阶段( 年代末~ 年代末)称为“基本软件期”。出现了)①*,并逐渐普及。随着
)④*的发展,编译技术也有较大的发展。
第三阶段( 年代末~ 年代中期)称为“程序设计方法时代”。这一时期,与硬件费用
下降相反,软件开发费急剧上升。人们提出了)⑤*和)⑧*等程序设计方法,设法降低软件的开发费
用。
第四阶段( 年代中期~现在)称“软件工程时期”。软件开发技术不再仅仅是程序设计技
术,而是包括了与软件开发的各个阶段,如)⑤*、)④*、编码、单元测试、综合测试、)①*及其整
体有关的各种管理技术。
供选择的答案:
"+%:①汇编语言 ②操作系统 ③虚拟存储器概念 ④高级语言 ⑤结构式程序设计 ⑥数据库概
念 ⑦固件
#⑧ 模块化程序设计
,+-:① 使用和维护 ② 兼容性的确认 ③ 完整性的确认 ④ 设计 ⑤ 需求定义 ⑥ 图象处理
、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到
相应的括内。 软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的
软件产品。软件工程技术应遵循)⑦*、)④*、)⑥*、)③*、一致性、确定性、完备性、可验证性、
抽象和信息隐蔽。 原型法适用于开发较复杂的系统,原型可分为三种:)②*、)⑤*和)④*。
供选择的答案:"+%① 有效性 ②合理性 ③局部化 ④协同性 ⑤实用性 ⑥模块化 ⑦抽象 ⑧信
息隐蔽 ,+-:① 复用型 ② 实验型 ③ 废弃型 ④ 演化型 ⑤ 探索型
四、问答题
、什么是软件?它的特性是什么?
答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的
完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操
纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。 软件的特点是:
)*#软件是一种逻辑实体,而不是具体的物理实体。它具有抽象性。
)*#软件的生产与硬件不同,它没有明显的制造过程。 )*#在软件的运行和使用期间,没有硬
件那样的机械磨损,老化问题。然而它存在退化问题。 )*#软件的开发和运行常常受到计算机系

统的限制,对计算机系统有着不同程度的依赖性。 )*#软件的开发至今尚未完全摆脱手工艺的开
发方式。
)*#软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程
序逻辑结构的复杂性。 )*#软件成本相当昂贵。
、试比较软件发展的三个时期的特点,从软件所指、软件工作范围、软件开发组织、决定质
量的因素、开发技术和手段等几个方面说明它们的差别。 答:
、软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。
答:软件工程包括三个要素:方法、工具和过程。
软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计划与估
算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维
护等。
软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。
软件工程的过程则将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开
发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的
管理、及软件开发各个阶段完成的里程碑。 、软件工程过程有哪几个基本过程活动?试说明之。
答:软件工程过程的基本过程活动有 步:
.#/#)/*##软件规格说明。规定软件的功能及其运行的限制; .#%#)%*##软件开发。产生满足
规格说明的软件;
.#!#)!0*##软件确认。确认软件能够完成客户提出的要求;
.#"#)"*##软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。 、试说明
“软件生存期”的概念。
答:软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。这就是
软件的生存期。它分为 个阶段:
)*#软件项目计划 :在这一步要确定软件工作范围,进行软件风险分析,预计软件开发所需
要的资源,建立成本与进度的估算。根据有关成本与进度的限制分析项目的可行性。 )*#软件需
求分析和定义 :在这一步详细定义分配给软件的系统元素。可以用以下两种方式中的一种对需求
进行分析和定义。一种是正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩
充这些模型成为软件的规格说明。另一种是软件原型化方法,即建立软件原型,并由用户进行评
价,从而确定软件需求。
)*#软件设计 :软件的设计过程分两步走。第一步进行概要设计,以结构设计和数据设计开
始,建立程序的模块结构,定义接口并建立数据结构。第二步做详细设计,考虑设计每一个模块

部件的过程描述。经过评审后,把每一个加细的过程性描述加到设计规格说明中去。 )*#程序编
码 :在设计完成之后,用一种适当的程序设计语言或 !"1, 工具生成源程序。应当就风格及清晰
性对代码进行评审,而且反过来应能直接追溯到详细设计描述。 )*#软件测试 :单元测试检查每
一单独的模块部件的功能和性能。组装测试提供了构造软件模块结构的手段,同时测试其功能和
接口。确认测试检查所有的需求是否都得到满足。在每一个测试步骤之后,要进行调试,以诊断
和纠正软件的故障。
)*#软件维护 :为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与软件维
护相关联的那些任务依赖于所要实施的维护的类型。
、试论述瀑布模型软件开发方法的基本过程,比较它的优点和缺点。
答:瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,
软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相互衔接的固定次序,如同
瀑布流水,逐级下落。瀑布模型为软件开发和软件维护提供了一种有效的管理图式。根据这一图
式制定开发计划、进行成本预算、组织开发力量,以项目的阶段评审和文档控制为手段有效地对
整个开发过程进行指导,从而保证了软件产品及时交付,并达到预期的质量要求。瀑布模型的缺
点是缺乏灵活性,特别无法解决软件需求本身不明确或不准确的问题。这些问题的存在对软件开
发会带来严重影响,最终可能导致开发出的软件并不是用户真正需要的软件,并且这一点在开发
过程完成后才有所察觉。面对这些情况,无疑需要进行返工或是不得不在维护中纠正需求的偏差
但无论上述哪一种情况都必须付出高额的代价,并将为软件开发带来不必要的损失。
、试说明演化模型软件开发方法的基本过程,比较它的优点和缺点。 答:由于在项目开发
的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出
现返工再开发在所难免。因此,可以先做试验开发,其目标只是在于探索可行性,弄清软件需求
然后在此基础上获得较为满意的软件产品。通常把第一次得到的试验性产品称为“原型”。
演化模型从需求分析开始。软件开发人员与用户一起定义待开发软件系统的总目标,定义需
求,确定软件的工作范围。然后快速设计软件中对使用者可见部分的表示,进而建造原型,再让
用户或客户评估原型,根据评估结果,修改和细化待开发软件系统的需求,使之满足用户的需求
这个过程是一个迭代的过程。
演化模型的优点是:
.#演化模型能够得到更好的软件需求,它不仅能够处理模糊的需求,而且开发人员与用户可
通过原型充分进行交流;
.#演化模型给用户提供了机会,以更改用户原来设想的不尽合理的最终系统;
.#演化模型使得开发出来的最终系统更容易维护,对用户更友好; .#演化模型可以降低总的开
发费用,缩短开发时间。 演化模型的缺点是: .#对于开发人员不熟悉的领域,演化模型可能误导
开发者把系统的次要部分当作主要框架,作出不切题的原型;
剩余53页未读,继续阅读










安全验证
文档复制为VIP权益,开通VIP直接复制

评论0