正在加载图片...
但是,复杂性是相对度量,它与项目参加人员的经验有关。例如,一个实时系统的开发,对 于过去仅做过批处理应用项目的软件开发组来说是非常复杂的,但对于一个过去开发过许多 高速过程控制软件的软件小组来说可能就是很容易的了。此外,这种度量一般用在设计或编 码级,而在软件计划时(设计和代码存在之前)使用就很困难。因此,可以在计划过程的早期 建立其它较为主观的复杂性评估,如功能点复杂性校正因素。 项目的规模对于软件估算的精确性和功效影响也比较大。因为随着软件规模的扩大,软 件元素之间的相互依赖、相互影响程度迅速增加,因而估算的一个重要方法—一问题分解会 变得更加困难。由此可知,项目的规模越大,开发工作量越大,估算的风险越高 项目的结构化程度也影响项目估算的风险。所谓结构性是指功能分解的简便性和处理信 息的层次性。结构化程度的提高,进行精确估算的能力就能提高,而风险将减少。 历史信息的有效性也影响估算的风险。回顾过去,就能够仿效做过的事,且改进出现问 题的地方。在对过去的项目进行综合的软件度量之后,就可以借用来比较准确地进行估算, 安排进度以避免重走过去的弯路,而总的风险也减少了 风险靠对不确定性程度定量地进行估算来度量,此外,如果对软件项目的作用范围还不 十分清楚,或者用户的要求经常变更,都会导致对软件项目所需资源、成本、进度的估算频 频变动,增加估算的风险。计划人员应当要求在软件系统的规格说明中给出完备的功能、性 能、接口的定义。更重要的是,计划人员和用户都应认识到经常改变软件需求意味着在成本 和进度上的不稳定性 (2)软件的范围 软件项目计划第一项活动就是确定软件的范围。应当从管理角度和技术角度出发,确定 明确的和可理解的项目范围,明确地给出定量的数据(如同时使用该软件的用户数目,发送表 格的长短,最大允许响应时间等),指明约束条件和限制(如存储容量)。此外还要叙述某些质 量因素(如给出的算法是否容易理解、是否使用高级语言等)。 软件范围包括功能、性能、限制、接口和可靠性。在估算开始之前,应对软件的功能进 行评价,并对其进行适当的细化以便提供更详细的细节。由于成本和进度的估算都与功能有 关,因此常常采用某种程度的功能分解。性能的考虑包括处理和响应时间的需求。约束条件 则标识外部硬件、可用存储或其它现有系统对软件的限制。 功能、性能和约束必须在一起进行评价。当性能限制不同时,为实现同样的功能,开发 工作量可能相差一个数量级。功能、性能和约束是密切联系在一起的。 软件与其它系统元素是相互作用的。计划人员要考虑每个接口的性质和复杂性,以确定 对开发资源、成本和进度的影响。接口的概念可解释为: 运行软件的硬件(如处理机与外设)及间接受软件控制的设备(如机器、显示器) 必须与新软件链接的现有的软件(如数据库存取例程、子程序包、操作系统) 通过终端或其它输入/输出设备使用该软件的人 该软件运行前后的一系列操作过程。 对于每一种情况,都必须清楚地了解通过接口的信息转换 软件范围最不明确的方面就是可靠性的讨论。软件可靠性的度量已经存在,但它们在项 的这个阶段难得用上。因此,可以按照软件的一般性质规定一些具体的要求以保证它的可 靠性。 (3)软件开发中的资源 软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。图97把软件开 发所需的资源画成一个金字塔,在塔的底部有现成的用以支持软件开发的工具——硬件及软 件工具,在塔的高层是最基本的资源——人。通常,对每一种资源,应说明4个特性:资源 的描述,资源的有效性说明,资源在何时开始需要,使用资源的持续时间。最后两个特性统8 但是,复杂性是相对度量,它与项目参加人员的经验有关。例如,一个实时系统的开发,对 于过去仅做过批处理应用项目的软件开发组来说是非常复杂的,但对于一个过去开发过许多 高速过程控制软件的软件小组来说可能就是很容易的了。此外,这种度量一般用在设计或编 码级,而在软件计划时(设计和代码存在之前)使用就很困难。因此,可以在计划过程的早期 建立其它较为主观的复杂性评估,如功能点复杂性校正因素。 项目的规模对于软件估算的精确性和功效影响也比较大。因为随着软件规模的扩大,软 件元素之间的相互依赖、相互影响程度迅速增加,因而估算的一个重要方法──问题分解会 变得更加困难。由此可知,项目的规模越大,开发工作量越大,估算的风险越高。 项目的结构化程度也影响项目估算的风险。所谓结构性是指功能分解的简便性和处理信 息的层次性。结构化程度的提高,进行精确估算的能力就能提高,而风险将减少。 历史信息的有效性也影响估算的风险。回顾过去,就能够仿效做过的事,且改进出现问 题的地方。在对过去的项目进行综合的软件度量之后,就可以借用来比较准确地进行估算, 安排进度以避免重走过去的弯路,而总的风险也减少了。 风险靠对不确定性程度定量地进行估算来度量,此外,如果对软件项目的作用范围还不 十分清楚,或者用户的要求经常变更,都会导致对软件项目所需资源、成本、进度的估算频 频变动,增加估算的风险。计划人员应当要求在软件系统的规格说明中给出完备的功能、性 能、接口的定义。更重要的是,计划人员和用户都应认识到经常改变软件需求意味着在成本 和进度上的不稳定性。 (2) 软件的范围 软件项目计划第一项活动就是确定软件的范围。应当从管理角度和技术角度出发,确定 明确的和可理解的项目范围,明确地给出定量的数据(如同时使用该软件的用户数目,发送表 格的长短,最大允许响应时间等),指明约束条件和限制(如存储容量)。此外还要叙述某些质 量因素(如给出的算法是否容易理解、是否使用高级语言等)。 软件范围包括功能、性能、限制、接口和可靠性。在估算开始之前,应对软件的功能进 行评价,并对其进行适当的细化以便提供更详细的细节。由于成本和进度的估算都与功能有 关,因此常常采用某种程度的功能分解。性能的考虑包括处理和响应时间的需求。约束条件 则标识外部硬件、可用存储或其它现有系统对软件的限制。 功能、性能和约束必须在一起进行评价。当性能限制不同时,为实现同样的功能,开发 工作量可能相差一个数量级。功能、性能和约束是密切联系在一起的。 软件与其它系统元素是相互作用的。计划人员要考虑每个接口的性质和复杂性,以确定 对开发资源、成本和进度的影响。接口的概念可解释为: ▪ 运行软件的硬件(如处理机与外设)及间接受软件控制的设备(如机器、显示器); ▪ 必须与新软件链接的现有的软件(如数据库存取例程、子程序包、操作系统); ▪ 通过终端或其它输入/输出设备使用该软件的人; ▪ 该软件运行前后的一系列操作过程。 对于每一种情况,都必须清楚地了解通过接口的信息转换。 软件范围最不明确的方面就是可靠性的讨论。软件可靠性的度量已经存在,但它们在项 目的这个阶段难得用上。因此,可以按照软件的一般性质规定一些具体的要求以保证它的可 靠性。 (3) 软件开发中的资源 软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。图 9.7 把软件开 发所需的资源画成一个金字塔,在塔的底部有现成的用以支持软件开发的工具──硬件及软 件工具,在塔的高层是最基本的资源──人。通常,对每一种资源,应说明 4 个特性:资源 的描述,资源的有效性说明,资源在何时开始需要,使用资源的持续时间。最后两个特性统
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有