您好,欢迎访问三七文档
软件策划本章导读软件项目管理始于软件立项,终于软件交付,中间进程是软件计划的制订、执行、跟踪、修改。软件策划,既是为软件开发者和管理者制定合理的计划,又是为软件项目跟踪和监控提供考核依据。软件估计既是软件策划的核心,又是软件策划的重点与难点。本章首先论述软件策划方法,重点介绍软件项目工作量和开发费用的估计方法,然后介绍软件策划文档。本章对读者的要求了解:(1)软件策划的概念(2)软件策划的步骤(3)软件策划的具体目标(4)软件策划的时机(5)定义软件过程(6)软件项目跟踪与监督(7)软件策划管理文档理解:风险的种类与化解风险的方法掌握:(1)软件项目工作量和开发费用的估计方法(2)《软件开发计划书》的内容与编写方法5.1软件策划概论软件策划和软件项目策划是一个意思,既是为软件开发者和管理者制定合理的工作计划,又是为软件项目跟踪和监控提供考核依据。软件策划,或者说软件计划,英文单词都是指Planning。但是,策划包含有出谋划策和做计划两个意思,计划只是策划的一个主要结果。软件策划属于软件管理和软件决策的范畴,是项目经理以上人员的职责范围,是软件企业管理的重大事件之一。软件策划的输入/输出1)《合同》/《立项建议书》2)《用户需求报告》策划过程1)《软件开发计划书》2)《质量保证计划》3)《配置管理计划》4)《里程碑及评审计划》软件策划的目的软件策划的目的,是为软件开发和软件管理制定合理的工作计划。由于项目的管理者,是按照计划确定的内容和进度对项目进行管理的,所以计划的合理性将直接关系到项目管理的成败。软件策划的理论基础软件策划的基础,是软件生命周期模型的选取。软件组织和项目经理,要根据项目的特点,在瀑布模型、增量模型、迭代模型、原型模型中选取一种,并经过适当的裁剪后,列入项目计划,作为软件项目策划的理论依据之一。软件策划的步骤步骤步骤名称步骤内容1估计软件工作产品的规模及所需的资源软件工作产品,包括需求规格说明书,概要设计说明书,详细设计说明书,源代码,测试计划和测试报告,质量保证计划,软件配置管理计划,里程碑及评审点计划2制定时间表包括开发进度时间表和管理进度时间表:软件开发计划、质量保证计划、软件配置管理计划、测试计划、评审计划3鉴别和评估风险政策风险,资源风险,市场突变风险,技术风险和技能风险等4与相关组或人协商策划中的有关约定策划的结果要实事求是,要得到各有关方面的同意和认可软件策划的目标(1)对供项目策划和跟踪用的三个软件估计已建立文档。这三个估计是:──工作产品规模估计──工作量及成本估计──计算机资源估计;(2)软件项目活动和约定,是有计划的并巳建立文档。这里的活动,包括开发活动和管理活动。这里的约定,是指对项目的各种标准、规范、规程的约束;注:标准是对产品的约束规范是对行的约束规程是对操作的约束软件策划的目标(3)受影响的组和个人,同意他们对软件项目的约定。受影响的组和个人有:──软件工程组(项目组)──软件估计组──系统测试组──质量保证组──配置管理组──合同管理组──文档支持组软件策划的时机对软件项目进行策划的时机,中国人习惯的作法与国际通用的作法不大一致。美国人要先做需求分析,后做软件策划,因为需求不清楚,项目的功能点个数、性能点个数、接口个数、界面个数、实体个数、文档页数都心中无数,策划人员是无法估计工作量、进度、经费和其他资源的,完成项目策划是不现实的。与美国人相反,中国人习惯在用户需求报告之前策划,不习惯在用户需求报告之后策划。不管怎么样,调查研究是十月怀胎,软件策划是一朝分娩,心中无数是不能作软件策划的。因此,我们要逐渐与向国际接轨。5.2软件策划方法直到目前为止,软件策划的方法仍然是采用经验数据加结构化方法,这些方法有三个要点:(1)粒度由粗到细的分解:自顶向下、逐步细化、逐项逐条逐日安排计划。(2)粒度由细到粗的综合:自底向上、逐步归纳、逐日逐周逐月安排计划。(3)同类项目经验数据类比法、同行专家协商策划法。软件策划是以用户确认的需求为基础,以软件组织内部的软件标准为依据,把组织内部类似项目的成功经验作为策划时的参考。策划阶段主要进行的活动1.定义软件过程。就是根据选定的生命周期模型,规定每一开发阶段的工作步骤及文档标准。2.进行软件估计。就是指对软件项目进行量化估计,并记录估计结果的过程。3.进行风险分析。就是对政策风险、技术风险、技能风险、资源风险等进行逐个分析与分解。4.进行项目跟踪与监督。就是对策划阶段输出的软件开发计划,进行动态跟踪与实时监督,一旦发现偏差,必须立即纠正。5.完成软件开发计划书。6.使参与软件开发计划制定的组或个人意见统一。1.定义软件过程根据项目特性,使用软件组织制定的“生存周期模型裁剪指南”,对标准软件过程进行裁剪,形成项目定义软件过程,指导项目策划活动的进行。开发计划是对项目定义软件过程的规模、工作量、成本、进度、质量、人员配置和其他资源的具体描述。由于软件项目能共享过程数据,所以在制定计划时,能吸取软件组织中积累的经验教训。为此,要建立较完善的“软件测量数据库”和“文档库”,这一工作称作过程财富积累,一般在CMMI2级就要开始考虑,在CMMI3级就必须做到。2.进行软件估计项目组要对项目的规模、工作量、成本、进度、关键计算机资源等方面进行量化估计,然后使用估计数据进行软件策划。在以后的项目执行过程中,若发现估计数据严重偏离实际数据,则要重新进行软件估计。这些收集的实际项目数据与估计数据,要及时地录入到“软件测量数据库”之中,日积月累,就建立了强大的软件过程数据库,为日后的软件策划和CMM升级准备了雄厚的财富。软件估计的内容和方法包括如下三个方面:(1)对软件工作产品的规模进行量化估计软件工作产品规模和工作量的估计方法序号规模估计方法工作量估计方法工作量估计方法说明1功能点个数N个功能点/人月一个人的月工作量,能完成的功能点个数2性能点个数N个性能点/人月一个人的月工作量,能完成的性能点个数3代码行数N行代码/人月一个人的月工作量,能完成的代码行数4实体个数N个实体/人月一个人的月工作量,能完成的实体个数5需求个数(UseCase个数)N个需求数/人月一个人的月工作量,能完成的Usecase个数6文档页数N页文档/人月一个人的月工作量,能完成的文档页数对代码行的估计方法LOC指所有的可执行的源代码行数。1LOC的价值和人月代码行数,体现软件组织的生产力。可以根据历史项目的审计,来核算组织的单行代码价值。例如,统计发现某公司每一万行C语言源代码形成的源文件为250K。某项目的源文件大小为3.75M,则可估计该项目源代码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(包括人均工资,福利,办公费用公滩等),1LOC的价值为:(240×10000)/150000=16元/1LOC项目的人月均代码行数为:150000/240=625LOC/人月。目前,IT企业软件项目规模估计方法有以下四种:方法1:希腊古都法(Delphi法)在没有历史数据的情况下,希腊古都法是流行的专家评估法。它要求有多种软件相关经验的人参与,互相说服对方。其步骤是:1、协调人向各专家提供项目需求规格和估计表格;2、协调人召集小组会,专家讨论与规模相关的因素;3、专家匿名填写迭代估计表格;4、协调人整理出一个估计,以迭代表形式返回专家;5、协调人召集小组会,讨论较大的估计差异;6、专家复查估计,在迭代表上提交另一个匿名估计;7、重复4-6,直到最低估计和最高估计一致为止。方法2:类比法在有历史数据的情况下,类比法适合评估一些与历史项目在应用领域、环境、复杂度方面相似的估计项目,通过估计项目与历史项目的比较,得到规模估计。其步骤是:1、整理出历史项目功能点列表和实现每个功能点的代码行;2、标识出估计项目的功能点列表与历史项目功能点列表的差异;3、按照历史项目每个功能点的代码行,确定估计项目每个功能点的代码行;4、通过步骤1和3的循环,得出所有功能点的估计;5、产生总的规模估计。方法2:类比法(续)注:用类比法中,往往还要解决可重用代码的估算问题。估算出新项目可重用的代码中,需重新设计的百分比、需重新编码的百分比、需重新测试的百分比。根据这三个百分比,可用下面的公式计算等价新代码行:等价新代码行=[(重新设计%+重新编码%+重新测试%)/3]×已有的旧代码行比如有10000行旧代码,假定30%要重新设计,50%要重新编码,70%要重新测试,那么其等价的新代码行为:[(30%+50%+70%)/3]×10000=5000(新代码行)意即:重用这10000代码相当于新编写5000代码行的工作量。方法3:功能点估计法功能点(实体数、构件数、屏幕数、报表数、文档数)估计方法。通过研究需求来确定各种输入、输出、计算和数据库需求的数量和特性。通常的步骤是:1、计算输入、输出、查询、主控文件和接口需求的数目;2、将这些数据进行加权乘,得到总的功能点数;3、估计每个功能点的规模,得出总的规模估计;4、估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。注:对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。然而,在了解产品越多后,功能点可以转换为软件规模测量更常用的LOC。代码行法和功能点法的比较LOC代码行法和FP功能点法,它们之间的区别和关系如下:FP功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高,假如这个时候使用LOC代码行估算法,则误差会比较大。使用FP功能点估算法无需懂得软件使用何种开发技术。LOC代码行估算法与软件开发技术密切相关。FP功能点法是从用户为角度进行估算,LOC代码行估算法则是从开发者角度进行估算的。通过一些行业标准或企业自身度量的分析,FP功能点估算法是可以转换为LOC代码行的。方法4:无礼估计法无礼估计法对各个项目活动的完成工作量(规模),按三种不同情况估计:一个期望规模估计一个最低可能估计一个最高可能估计用这三个估计用来得到一个产品期望规模和标准偏差,称为无礼统计估计法。无礼的估计法可得到代码行的期望值E和标准偏差SD。(2)对软件工作产品成本的费用进行量化估计软件工作产品成本估计的方法序号估计方法估计单位方法说明1直接的劳务费人民币元开发人员的工资和福利2管理费人民币元技术管理和行政管理人员的工资和福利3差旅费人民币元售前、售中、售后的人员差旅费4计算机使用费人民币元网络设备的折旧费和房租水电费5其他招待费和公关费人民币元控制在总费用的15%以内(3)对关键计算机资源进行量化估计关键计算机资源估计的方法序号估计方法方法说明1软件工作产品的规模对存储能力(磁盘容量和内存大小)的要求2运行处理的负载对处理器速度的要求3通信量对网络通道和带宽的要求3.风险分析所谓风险分析,是指对项目及团队的政策风险、技术风险、技能风险、资源风险等因素,进行逐个分析与分解,制定用于跟踪和监控风险的风险管理计划。风险分析活动,是通过对项目的各个方面可能存在的风险进行识别和分析,逐步降低与化解风险,确定避免或减轻风险的策略及措施,以达到回避风险,保证项目顺利进行的目的。五种风险风险分析序号风险名称风险内容1政策风险IT企业外部和内部两个方面的政策及政策的变化,将会给项目带来什么风险2技术风险新技术的成熟程度及难度系数,将会给项目带来什么风险3技能风险项目组成员学习、领会、掌握、运用新技术的能力,将会给项目带来什么风险4资源风险保证项目正常进行所需的各种资源的供应程度,将会给项目带来什么风险5其他风险目前意想不到的风险,即不可预测的风险,如天灾人祸4.软件项目跟踪与监督所谓软件项目跟踪与监督,就是对软件开发计划进行动态跟踪与实时监督,一旦发现偏差,必须立即纠正。因为:项目跟踪与监督的基础,是开发计划。在跟踪过程中,定期地或事件驱动式的对开发计划进行修订。在美国,项目实践中通常指定一名项目软件经理(ProjectSoftwareManager),由项目软件经理负责,依据开发计划对项目实施跟踪与监督。5.软件开发计划书的
本文标题:软件策划
链接地址:https://www.777doc.com/doc-4159950 .html