1、成本估算
由于软件项目具有可见性差、难定量化的特点,一般情况下很难在项目完成前准确的评估软件项目开发的工作量和费用。通常会根据以往开发类似项目的经验来进行成本估算。也可以将整个项目
划分为若干个子系统或按照软件的生命周期的各个阶段分别进行费用估算,然后汇总整个项目的成本。
1.1 成本估算方法
自顶向下估算方法:估算人员参照之前完成项目所消耗的总成本,来估算将要开发的项目总成本,然后把它们按阶段、步骤、工作单元进行分配。
优点:估算工作量小、速度快、不会遗漏集成、配置管理等系统级事务的成本估算。
缺点:通常不清楚低级别上的技术性困难问题,从而造成成本上升。
自顶向上估算方法:将待开发的软件项目细分,分别估算每个子任务所需要的工作量,汇总就可以得到总的开发量。
优点:因为该方法是对每个子任务交给相应的负责人员来做,估算较为准确。
缺点:缺少各项子任务之间相互配合的工作量和开发相关系统级工作量,往往会造成估算偏低。
差别估算方法:将待开发的项目和一个或者多个类似项目比较,找到与某个类似项目的若干个不同之处,并估算不同之处对项目成本的影响,然后给出待开发项目的总成本。
优点:可以提高估算的准确度。
缺点:所谓的差别不太容易明确界限。
专家估算法:依靠一个或者多个专家对项目进行估算。准确性取决于专家估算项目的定性参数的了解和专家的项目经验。
类推估算法:自顶向下估算方法中,类推是将估算项目的总体参数与相似项目进行直接比较得到结果;自顶向上估算方法中,类推是在具有相似条件工作单元之间进行。
算式估算法:算式估算法企图避免主观因素的影响。用于估算的方式有:理论导出、经验导出。
1.2 成本估算模型
常见的软件项目成本估算模型有Putnam模型、COCOMO模型。
Putnam模型:一种动态多变模型。它是假设在软件开发的整个生存周期中工作量有特定的分布。
COCOMO模型:是最精确、最易于使用的成本估算模型之一。分为基本COCOMO模型、中级COCOMO模型、详细COCOMO模型。
2、风险分析
风险分析主要有风险识别、风险预测、风险评估、风险控制。
2.1 风险识别
风险识别是试图系统化地确定对项目计划的威胁。风险识别的一种方法是建立风险条目清单,用于识别风险。常见可以预知的风险如下:
产品规模:与要开发的软件总体规模相关的风险。
商业影响:与管理或市场制约相关的风险。
客户特性:与客户的素质以及开发者和客户沟通能力相关的风险。
过程定义:软件过程定义的程度以及被开发者遵守相关风险。
开发环境:构建软件产品的工具和软件项目质量相关的风险。
构建的技术:构建产品所有开发技术可能的风险。
人员数目和经验:开发人员的能力和项目经验相关的风险。
2.2 风险预测
风险预测又称为风险估算,它从两个方面评估一个风险:风险发生的可能性或概率、风险发生后产生的后果。
风险预测活动
建立一个尺度或标准,用来反映风险发生的可能性。
描述风险的后果
估计风险对项目和产品的影响。
标注风险预测的整体精确度。以免产生误解。
2.3 风险评估
风险评估非常有用的技术是定义风险参照水准。主要有成本、进度、性能三个典型风险参照水准。
2.4 风险控制
软件项目组对于风险采用主动的方法,尽可能避免风险是最理想的策略。可以通过建立一个风险缓解计划来达到。
风险管理策略可以包含在软件项目计划中,或者风险管理步骤也可以组织成一个独立的风险缓解、监控、管理计划。作为整个项目计划中的一部分来使用。
IT技术分享社区
个人博客网站:https://programmerblog.xyz
文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识