软件工程导论第六版 张海藩 牟永敏课后习题答案 下载本文

6.假设自己被指派作为一个大型软件软件产品公司的项目负责人,工作是管理该公司已被广泛应用的字处理软件的新版本开发。公司严格规定了严格的完成期限并且对外公布了,应该选择哪种项目组结构?为什么?打算采用哪种软件过程模型?为什么?

答:现代程序员组,因为小组成员都能对发现程序错误持积极、主动的态度。能更好的适应竞争。大型软件应该采用演化模型中的螺旋模型,

7.什么是软件质量?试叙述它与软件可靠性的关系。

答:软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征一致的程度。

8.一个程序能既正确又不可靠吗?解释一下自己的答案。

答:能。所谓软件可靠性,是程序在给定的时间间隔内按照规格说明书的规定成

功地运行的概率.通常认为,软件可靠性既包含正确性又包含健壮性,也就是说,

不仅在预定环境下程序应该能正确地完成预期功能,而且在硬件发生故障,输入

的数据无效或用户操作错误等意外环境下,程序也应该能做出适当的响应. 如果一个程序在预定环境下能够正确地完成预期的功能,但是在意外环境下 不能做出适当的响应,则该程序就是既正确又不可靠

9.仅当每个与会者都在事先作了准备时,正式的技术复审才能缺德预期的效果。如果自己是复审小组的组长,怎样发现事先没做准备的与会者?打算采取什么措施来促使大家事先做准备?

答: 软件复审包括了对需求文档、详细设计、数据库设计、功能设计、编码功能实现及质量、错误跟踪等的审查,以避免使用过程中出现更多的差错。反复审查是为了确保质量,保证不出现更多的错误和异常,软件复审就是以对质量保证为目的的。

对每个与会者提些软件配置复审因素问题:变更指令中指令的变更是否完成?每个附加变更是否已经纳入到系统中?是否进行了正式技术审核?是否遵循软件工程标准?变更的软件配置项是否作了特殊标记而得到强调?是否注明变更日期和变更执行人员?软件配置项属性是否反映了变更?是否遵循与变更有关的注释,记录及报告的软件配置管理规程?相关的软件配置项是否都得到了同步更新?等问题。

经常督促大家事先做准备,平时严格要求每次在准备开会前几天再次提醒每个与会者,开会时记录下每个与会者回答问题的准确性程度,根据此内容对与会者进行适当的赏罚。

10.什么是基线?为什么要建立基线?

答:是已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。建立基线的三大原因是:重现性、可追踪性和报告。

重现性是指及时返回并重新生成软件系统给定发布版的能力,或者是在项目中的早些时候重新生成开发环境的能力。可追踪性建立项目工件之间的前后继承关系。其目的在于确保设计满足要求、代码实施设计以及用正确代码编译可执行文件。报告来源于一个基线内容同另一个基线内容的比较。基线比较有助于调试并生成发布说明。

建立基线后,需要标注所有组成构件和基线,以便能够对其进行识别和重新建立。

11.配置审计和技术复审有何不同?可否把它们的功能放在一次复审终完成?

答:正式的技术复审关注被修改后的配置对象的技术正确性。复审者审查该对象以确定它与其他软件配置项的一致性,并检查是否有遗漏或副作用,软件配置审计通过评估配置对象的那些通常不在复审过程中考虑的特征,而成为对正式技术复审的补充。

12.CMM的基本思想是什么?为什么要把能力成熟度划分为5个等级? 答:CMM的基本思想是,由于问题是由我们管理软件过程的方法不当引起的,所以软件技术的运用并不会自动提高软件的生产率和质量。把能力成熟度划分成5个等级的原因是:对软件的改进不可能一撅而就