在说明原因之前,我们先了解一下什么是软件开发周期。
软件开发周期,是指软件开发的各个阶段,从最初的构思到全面完成。
进行这种分工的目的是为了让软件开发的各个环节都可以得到合理的监督,在每个步骤的详细论证和测试以后,确保每个开发环节的完成,都能最好的实现客户的需求。
软件开发周期一般包括以下内容:
● 定义目标和项目,并将其纳入一个全面的战略目的;● 分析需求可行性,也就是收集和分析申请人的需要,在技术层面可否达成或实现;
● 整体设计,定义软件体系结构的一般式样或特殊样式;
● 精确定义每个小项目的详细设计;
● 编码,定义一种或几种编程语言在设计阶段的具体功能;
● 单元测试,以验证每个软件的项目是否按照客户需求的规范实施;
● 整合,其目的是确保各个组成模块都可以正常运行;
● 规格,参考同类型软件,再确认目前完成的软件的规格;
● 维护,包括所有的纠正措施(纠正性维护)和逐行扫描(持续维护);
由此可知,软件开发周期的预估是理论上的分析得出的。而现实中的开发周期往往与现实有着差异。这些差异就是软件开发周期总是预估的2—3倍的原因了 。
以下是我分析产生差异的原因:
1、理论上的软件开发周期是忽视很多细节的预估。
来,让我们从旧金山出发,沿着西海岸徒步旅行,到洛杉矶的纽波特沙滩面基吧!
摘要:https://www.sohu.com/a/132411358_355123
看看地图,然后计划一下路线!
从以上的事件可知,理论上的估算往往会忽视很多细节,把大概所需的时间算出来而已。而在现实的软件开发之中被忽视的细节在影响着开发周期。
2、现实的实践往往要比想象中的困难。
相信很多人都经历过这样类似的情况:在看着其他人打游戏时,看着他轻轻松松完胜,脑海中会或多或少的想着 “ 我上我也行 ”。但是真的是这样吗,你想太多了,你上你真不一定不行!
软件开发时也是如此,当我们在规划时,我们觉得这个问题很简单,所以会花很少的时间,但真的简单吗不一定。我们判断这个问题简单是凭着自己的经验来判断的,这只是一个大致的判断而已,要想知道是不是真正的简单只有实践才知道。
所以说,软件开发所预估的开发时间只是我们按照自己的经验大致的计算,因此会和现实所要的时间有着差距。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!