软件工程-第十三章-软件项目管理

软件项目管理

  • 13. 软件项目管理
    • 13.1 估算软件规模
      • 13.1.1 代码行技术
      • 13.1.2 功能点技术
    • 13.2 工作量估算
      • 13.2.1 静态单变量模型
      • 13.2.2 动态多变量模型
      • 13.2.3 COCOMO2 模型
    • 13.6 软件配置管理
    • 习题

13. 软件项目管理

13.1 估算软件规模

13.1.1 代码行技术

代码行技术是比较简单的定量估算软件规模的方法。这种方法依据以往开发类似产品的经验和历史数据,估计实现一个功能所需要的源程序行数。当有以往开发类似产品的历史数据可供参考时,用这种方法估计出的数值还是比较准确的。把实现每个功能所需要的源程序行数累加起来,就可得到实现整个软件所需要的源程序行数。

13.1.2 功能点技术

功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。这种方法用功能点(FP)为单位度量软件规模。

13.2 工作量估算

常用的估算模型为:

  • 静态单变量模型
  • 动态多变量模型
  • COCOMO2 模型

为了使估算结果更接近实际值,通常至少同时使用上述 3 种模型中的两种。

13.2.1 静态单变量模型

13.2.2 动态多变量模型

13.2.3 COCOMO2 模型

13.6 软件配置管理

软件配置管理是应用于整个软件过程中的保护性活动,是在软件整个生命期内管理变化的一组活动。软件配置管理的目标是,使变化能够更正确且更容易被适应,在需要修改软件时减少为此而花费的工作量。

习题

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

概括地说,软件质量就是"软件与明确的和隐含的定义的需求相一致的程度"。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。

软件可靠性是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。软件可靠性是关于软件能够满足需求功能的性质,软件不能满足需求是因为软件中的差错引起了软件故障。软件可靠性直接影响着软件质量,如果一个软件的可靠性不高的话,那么说明这个软件产品的质量是有问题的。只有软件可靠性足够高,才能让人家质量更好。

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

所谓软件可靠性,是程序在给定的时间间隔内按照规格说明书的规定成功地运行的概率。通常认为,软件可靠性既包含正确性又包含健壮性,也就是说,不仅在预定环境下程序应该能正确地完成预期功能,而且在硬件发生故障,输入的数据无效或用户操作错误等意外环境下,程序也应该能做出适当的响应。如果一个程序在预定环境下能够正确地完成预期的功能,但是在意外环境下不能做出适当的响应,则该程序就是既正确又不可靠。

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

基线是已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。简言之,基线就是通过了正式复审的软件配置项。

建立基线主要是由于下列三个方面:
1、重现性,指及时返回并重新生成软件系统和早些时候重新生成开发环境的能力。

2、可追踪性,建立项目工作的前后继承关系。目的是确保设计满足要求、代码实施设计以及用正确代码编译可执行文件。

3、报告,来源于两个基线内容之间的比较,它有助于调试并生成发布说明。建立基线后,需要标注所有组成构件和基线,以便能够对其进行识别和重新建立。

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

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

  1. CMM的基本思想是什么?为什么要把能力成熟度划分为5个等级?

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

你可能感兴趣的:(软件工程,软件工程师)