软工题第五章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章习题

一、选择题

1.对于软件产品来说,有4 个方面影响着产品的质量,即( A )、( B )、( C )及成本、时间和进度等条件。重视软件过程的质量是近年来质量管理理论和实践的新发展。

重视软件过程质量的控制,其部分原因可能是:相对于产品质量的控制来说,过程质量的控制是( D )、( E )、( F ),而产品质量的控制是( G )、( H )、( I )。

供选择的答案:

A ~ C. ①开发时间② 开发技术③ 过程质量④ 风险控制

⑤质量控制⑥ 人员素质⑦ 项目管理⑧ 配置管理

D ~ I. ①主动的② 被动的③ 整体的④ 系统的

⑤ 先期的⑥ 事后的⑦ 个别的⑧ 部分的

2.在软件维护的实施过程中,为了正确、有效地修改,需要经历以下 3 个步骤:( A )、( B )、( C )。( A )是决定维护成败和质量好坏的关键。( C )包括( D )确认、计算机确认和维护后的( E )。

供选择的答案:

A ~ C. ①修改程序② 建立目标程序③ 分析和理解程序

④ 重新验证程序⑤ 验收程序

D.①动态②静态③人工④自动

E.①验证② 验收③ 检验④ 存档

2.A.③,B.①,C.④,D.②,E.②

在软件维护的实施过程中,为了正确、有效地修改,需要经历以下3个步

骤:分析和理解程序、修改程序和重新验证程序。经过分析,全面、准确、迅速地理解程序是决定维护成败和质量好坏的关键。有如下几种方法:分析程序结构图、数据跟踪、控制跟踪及其它方法。

在将修改后的程序提交用户之前,需要通过静态确认、计算机确认和维护后的验收,保证修改后的程序的正确性。

3•从供选择的答案中选出同下列各叙述关系最密切的字句。

A.软件从一个计算机系统或环境转移到另一个计算系统或环境的容易程度。

B.软件在需要它投入使用时能实现其指定的功能的概率。

C.软件使不同的系统约束条件和用户需求得到满足的容易程度。

D.在规定的条件下和规定的一段期间内,实现所指定的功能的概率。

E.尽管有不合法的输入,软件仍能继续正常工作的能力。

供选择的答案:

①可测试性②可理解性③可靠性④可移植性

⑤可使用性⑥兼容性⑦容错性⑧可修改性

⑨可接近性⑩一致性

4•软件可移植性是用来衡量软件的(A )的重要尺度之一。为了提高软件的可移植性,应注意提咼软件的(B )。米用(C )有助于提咼(B )。为了提高可移植性,还应(D )。使用(E )语言开发的系统软件具有较好的可移植性。

供选择的答案:

A.①通用性②效率③质量④人机界面

B.①使用的方便性② 简洁性③ 可靠性④ 设备独立性

C.①优化算法② 专用设备③ 表格驱动方式④ 树型文件目录

D. ①有完备的文件资料② 选择好的宿主计算机③ 减少输入输出次数④ 选择好的操作系统

E.① COBO② APL③ C④ SQL

5.下面有关软件维护的叙述有些是不准确的,请将它们列举出来。

供选择的答案:

①要维护一个软件,必须先理解这个软件。

②阅读别人写的程序并不困难。

③如果文档不齐全也可以维护一个软件。

④谁写的软件就得由谁来维护这个软件。

⑤设计软件时就应考虑到将来的可修改性。

⑥维护软件时一件很吸引人的创造性工作。

⑦维护软件就是改正软件中的错误。

⑧维护好一个软件是一件很难的事情。

二、简答题

1.某些软件工程师不同意“目前国外许多软件开发组织把60%以上的人力用于维护已有的软件”的说法,他们争论说:“我并没有花费我的60%的时间去改正我所开发的程序中的错误”。

请问,你对上述争论有何看法?

2.为什么大型软件的维护成本高达开发成本的4 倍左右?

3.某软件公司拟采取下述措施提高他们开发出的软件产品的可维护性。请判断哪些措施是正确的,哪些措施不正确。

(1)在分析用户需求时同时考虑维护问题。

(2)测试完程序后,删去程序中的注解以缩短源程序长度。

(3)在软件开发过程中尽量保证各阶段文档的正确性。

(4)编码时尽量多用全局变量。

(5)选用时间效率和空间效率尽可能高的算法。

(6)尽可能利用硬件特点以提高程序效率。

(7)尽可能使用高级语言编写程序。

(8)进行总体设计时加强模块间的联系。

(9)尽量减少程序模块的规模。(10)用数据库系统代替文件系统来存储需要长期保存的信息。

(11)用CAS邸境或程序自动生成工具来自动生成一部分程序。

(12)尽量用可重用的软件构件来组装程序。

(13)使用先进的软件开发技术。

(14)采用放错程序设计技术,在程序中引入自检能力。

(15)把与硬件及操作系统有关的代码放到某些特定的程序模块中。

4.假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某些设计工具表示);(c)源程序清单(其中有适当数量的注解)。

你将选取哪两份文档?为什么这样选取?

5.当一个十几年前开发出的程序还在为其用户完成关键的业务时,是否有必要对它进行再工程?如果对它进行再工程,经济上是否划算?

6.代码重构与正向工程有何相同之处?有何不同之处?

第五章习题解答

一、选择题

1. A.②,B.③,C.⑥D.⑤,E.①,F④,G⑥, H②,I⑦

其中,A、B、C答案顺序可互换,D、E、F答案顺序可互换,G、H、I答案顺序

相关文档
最新文档