首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
 您现在的位置: 中国IT实验室 >> 项目管理 >> 进度管理 >> 正文
软件开发周期估算及探讨
来源:ChinaItLab  时间:2007-6-18

  1.概述

  软件开发周期估算是IT人员经常提到的一个概念,那么究竟什么是软件开发周期估算呢?我们可以把它定义如下:根据软件的开发内容、开发工具、开发人员等因素对需求调研、程序设计、编码、测试等整个开发过程所花费的时间做的预测。在这个定义中,“预测”两个字非常关键,它突出体现了估算的含义,同时也隐含表明了结果的不确定性。有效的软件开发周期估算在软件开发中是非常困难的工序之一,之所以说困难,是因为软件开发所涉及的因素不仅多而且异常复杂,即便是及其类似的软件项目也不能完全照搬,在估算的把握上有一定难度。估算也是软件开发中很重要的一个环节,如果低估项目周期会造成人力低估、成本预算低估、日程过短,最终人力资源耗尽,成本超出预算,为完成项目不得不赶工,影响项目质量,甚至导致项目失败。项目周期估计过长表面看来影响不大,但是实际上也会带来成本估计过高,人力资源利用不充分效率低下的后果。无论哪种情况对于项目经理控制整个项目都会带来很大影响,周期估算如同盖楼房中打地基,是后续工作的基础,它完成质量的好坏所带来的影响会贯穿整个项目,由此可见开发周期正确估算的重要性。

  2.国内外软件估算比较

  国内软件开发的管理目前正逐步向规范化发展,但是在开发周期的估算上绝大部分还是处于手工作坊的状态。所谓的手工作坊指两个方面,一方面是管理人员意识上没有认识到估算的重要性,认为估算就是一个大概的估计,很多还受限于商业行为,比如为了签订合同而不惜减少开发工作量却未经任何评审;另一方面也没有专门的工具来辅助估算,或者说没有专门对它进行研究。一个软件开发周期究竟要多长基本上是依靠经验来判断,不同经验的人估算出的周期相差很大,而更糟糕的是这种开发周期的判断由于完全凭借经验使得不同意见的人之间很难沟通,因为谁都没有确切的量化标准来支持自己的判断,最终的结果往往是以“专家”的估算为准。这就有些类似于中式烹调,放多少作料没有依据,一般都是“少许”,这个“少许”靠的就是经验,高级厨师和新手根据这个量炒出的菜味道可能差得很远;实际上国内的软件开发需要的正是定量估算,这样做不仅规范而且精确,十分有助于软件事业的健康发展以及与国际接轨。

  国外发达国家在软件估算上比国内要成熟的多,不仅有很多先进方法比如代码行估算法、功能点估算法、人力估算法,而且形成了专业化的估算工具来辅助这项工作,比如微软公司开发的项目管理工具软件Project,加拿大Software Productivity Center Inc.公司开发的Estimate,都是比较成熟的估算辅助工具。Project采用了自下而上的估算法,Estimate更是属于专业化工具,包含常用的各种估算方法、校正方法,使用了Putnam Methodology、Cocomo II和 Monte Carlo Simulation几种成熟算法,估算结果除了项目花费时间、人力,还包括十几种分析报告以及模拟发散图、计划编制选项图、人力图、预计缺陷图、缺陷方差图等等,从各种不同角度辅助管理人员进行分析。

  采用辅助工具对软件开发周期进行估算具有明显的优势,这些辅助工具是在大量不同类型项目数据研究的基础上总结开发出来的,采用的算法、估算的方法已经很成熟,估算结果的准确性有保障,由于这种估算是可以量化的,并非依据个人经验直接得出一个结果,在结果的评审上有据可依。长期依靠工具辅助估算可以将大量项目的数据和估算结果积累形成历史经验库,知识成果得以保存,便于以后利用。

  3. 软件估算中的因素探讨

  软件开发是一项非常复杂的工程,不仅包含需求分析、设计、编码、测试、实施、维护等完整的过程,还涉及到开发工具、开发人员、项目管理、风险等众多因素,不同因素对估算产生的影响不尽相同,在进行软件估算时(包括利用工具辅助估算)必须考虑到这些方面,否则最终结果就会和实际结果有很大的偏差,影响项目控制,以下对其中几个常见的因素做一些探讨。

  3.1估算与软件规模

  软件规模通常指的是软件的大小,这可以通过不同的方式来描述,比如程序代码行的长度、功能函数的数量、数据库中表的数量、数据库的大小等等。一般而言软件规模越大,所花费的开发周期就越长,但这并不是一个简单的线形函数关系,下表详细列举了实际开发中的一些数据,开发平台为Lotus Domino/Notes.

  表一

  单个模块的开发周期

  序号 模块 开发周期(中级程序员) 代码行长度 数据库大小(无数据)

  1. 办事指南 0.25人月 300 1170K

  2. 名片簿 0.25人月 300 1039K

  3. 合同管理 0.25人月 460 2110K

  4. 物控管理 0.5人月 850 2560K

[1] [2] [3] 下一页

【责编:Youping】

中国IT教育热线咨询
  相关文章
IT项目实施中如何进行成本估算?
工程项目质量的全过程控制
进度控制问题对信息化建设项目的影响
关于IT项目管理的思考
项目管理工具的特性简要介绍
软件项目管理流程分析与设计
项目经理售前阶段任务
论IT项目的人力资源管理
项目成本管理有效建议
浅谈业主对工程项目建设的进度控制
   推荐文章
 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
中国IT实验室--项目管理
 进度管理  质量管理  需求管理  采购管理
普通文章施工项目成本管理基础工作07-30
普通文章关于项目计划调整的原则01-29
普通文章项目工期的绩效跟踪步骤01-29
普通文章浅析软件项目进度管理中的积习流弊01-29
普通文章重视项目收尾管理工作10-17
普通文章关键链进度管理的两个重点10-17
普通文章IT项目管理-计划-进度安排10-17
普通文章谈网站项目的WBS分解10-17
普通文章进度控制问题对信息化建设项目的影响09-11
普通文章浅谈业主对工程项目建设的进度控制09-04
普通文章项目管理的质量保证计划07-28
普通文章质量管理,企业稳步发展的必然选择07-28
普通文章谁是质量管理的灵魂07-28
普通文章项目中的软件质量管理07-28
普通文章质量管理知识小结07-28
普通文章软件项目过程管理保证软件质量07-28
普通文章软件项目质量管理责任分配07-28
普通文章质量管理八项原则07-28
普通文章项目管理:软件质量的可靠保证07-28
普通文章项目管理中的质量控制问题07-28
普通文章需求分析中的用户识别与调查[2]09-20
普通文章需求分析中的用户识别与调查[1]09-20
普通文章实际项目中可使用的性能需求07-24
普通文章软件项目需求的关键06-26
普通文章需求捕获指南(四)—需求捕获技术06-19
普通文章需求捕获指南(三)—需求捕获的阶段组成(06-19
普通文章需求捕获指南(三)—需求捕获的阶段组成(06-14
普通文章需求捕获指南(三)—需求捕获的阶段组成(06-14
普通文章需求捕获指南(三)—需求捕获的阶段组成(06-14
普通文章需求捕获指南(二)—需求捕获的问题及过程06-14
普通文章军队工程建设项目招投标规范化探讨07-24
推荐文章国际招投标项目管理的模式和经验07-24
普通文章战略采购管理:一个被忽视的利润源泉08-14
普通文章浅析采购成本控制与绩效管理08-07
普通文章剖析手机研发企业的采购管理06-26
普通文章项目采购项目管理:架起理论与实践的桥梁06-18
普通文章加强对政府采购中标项目验收监管的实践06-18
推荐文章如何应对零星IT项目采购06-15
普通文章外国政府贷款项目采购公司招标办法06-15
普通文章项目采购管理06-13
  培训中心
  ITLab技术交流平台: