[yanglinux]的博客:
http://DickYoung.mypm.net
计划之选择开发生命周期

近来思想天马行空,常会想“我们以前在软件工程中花了大力气学到的瀑布模型及各种模型去哪里了,软件开发生命周期我们何时在哪儿用到了”这样无聊的问题。其实,在我们实际的项目开发过程中,不管意识未意识,我们都自觉不自觉的用到了某个或某几个软件生命周期。目前各类书籍上提到了很多概念,搞的人晕乎晕乎的,其实也就是那么回事情,叫什么不重要,重要的是理解透彻并运用自如。

       为什么要用生命周期?它给我们指明了一种开发周期的方式,如此,做计划、开发、监控都按照它来处理。

       有哪几种生命周期?常用的就那么几个,并且我们总是在同它们打交道。

       1.当小孩哭闹时,你很有可能不知道TA到底需要什么。怎么办?给一个玩具,不行,喂奶,不行,给个水喝……,一步一步试,直到给予TA想要的。其实这种情况在软件开发行业中也很常见,当用户的需求不明确时,我们只有采用这种方法,有个鸟名字叫“渐进原型”——反反复复,直到明确了客户想要的。其实这种事情在软件行业蛮多见的,尤其是面对政府行业客户,给他们开发类似于电子政务、或概念性项目时,就用这招。

       2.当我们购买大件,手头没有那么多资金,但又急着需要,怎么办?分期付款咯。软件开发也一样,用户急着要而时间又不够,这时候,“阶段交付”这个家伙粉墨登场了。与买大件分期付款可能不一样的地方,每一次阶段交付要做事前设计、测试等工作。

       3当需求不太确定,时间也不够的时候怎么办?凉拌!就是凉拌菜啊。极限编程来了,凉拌菜既快也有营养。当然以前人们叫它“渐进交付”。其实叫什么真的不重要,只是一个符号而已,重要的是我们能够驾驭它。

       4.有时候我们新开发一个产品线时,不知道是否有技术难题无法解决、不清楚用户到底有哪些期望、不知道成本是不是会严重超支、不知道时间够不够用,总之是整体风险特别大,怎么办?摸着石头过河啊,软件工程总会取一些好听的名字,叫什么“螺旋模型”,注意,这个地方主要是针对项目(产品)的大阶段来说的,例如可行性研究阶段、计划阶段、需求阶段、概要设计阶段等等,目的是将风险降到最小,以免给公司带来不可估量的损失。

      

      不管是什么模型或生命周期,都不能直接冲上去就写代码,那样会死的非常难看的,除非是很小很小的项目。都得经过:计划——设计——编码——测试这样的操作流程,否则统统成了“鲁莽编码”。只要不是一个人几天就写出来的东西,鲁莽编码都是该遭到唾弃的。

 

       以上是我在现实环境中最常见到、用到的生命周期,以前老用而未意识到,其实就那么回事。当然,还有基于“瀑布模型”而演变成的各种生命期模型例如:生鱼片模型、改进瀑布模型等,没怎么用,不去想、不去理了。

 

yanglinux 发表于 2010/11/8 20:10:00 阅读全文 | 回复(0) | 引用通告 | 编辑 | 收藏该日志

发表评论:

    昵称:
    密码:
    主页:
    标题:
公 告
登 陆
日志日历
搜 索
日 志
评 论
链 接
统 计