赛迪网 > 资讯中心 即时新闻 > 文章
  IT资讯搜索
 
IT产品搜索
· [专题] 乔布斯余情未了 重造iPod王国
· [专题] 淘宝屏蔽百度搜索 C2C大战全面升级
· [专题] 谷歌推浏览器Google Chrome挑战微软
· [热点] 雷曼兄弟申请破产 中国资产受到波及
· [热点] 特别策划专题:奥运巨星“邂逅”IT金主
· [热点] 王志东推GKE不惧“互联网寒冬”

隐喻在项目管理中的应用(图) (1)

发布时间:2007.11.20 14:14     来源:赛迪网-中国计算机报    作者:吴国龙

【赛迪网讯】

中企开源信息技术有限公司 吴国龙

隐喻是极限编程方法学中的重要概念。但隐喻比较晦涩,它表示什么意思?在项目中如何应用?这值得我们深入探讨。

XP项目管理流程图。XP的分析设计比起RUP会少很多,因为每一次迭代的粒度不太大,每个阶段的分析与设计相对简单一些,并且在迭代的过程中可以逐步改进。

最近阅读了《代码大全》其中的一章“隐喻”,对隐喻在项目管理中的应用有了一定体会:它能够促进分析人员、设计人员、开发人员之间的沟通与对项目业务的理解。

项目规模决定规划

首先,软件工程是从建筑领域引申进来的,“设计模式”便是起源于建筑大师亚历山大所写的《建筑的永恒之道》一书。

我们可以把一个开发项目比喻成建造房子。很明显,建造摩天大厦和建造一层楼的准备工作是截然不同的。建造摩天大厦需要前期经过非常仔细的规划,比如成本核算、时间核算、设计模型、设计图纸等。因为如果前期不规划好,我们不可能建到一半推倒重建,它的成本太高了。这就是我们软件工程里面“瀑布模型”的由来。其实这和软件开发项目是一一对应的,项目也要经过类似的成本时间估算、分析模型、设计模型这些过程。

而建造一层楼就不同了,因为它涉及的成本更低,前期所做的规划肯定简单一些。但不管如何,必要的成本核算、时间核算、设计模型、设计图纸等前期规划还是需要的。那么再更进一步,如果想建一个狗窝,我们会去做仔细的规划吗?我想不会。在项目开发中,我们同样必须根据项目的规模大小,去衡量我们所需要做的前期规划的详细程度。

其次,无论建造什么房子—摩天大厦也好,一栋楼房也好,在前期核算、设计等准备工作完成以后,必须先打地基,只有扎实的地基,才能支撑起整栋房子。程序开发也同样如此。在编码构建阶段开始的时候,我们必须在CVS上先搭建好整个开发环境,确定整个系统的代码目录结构,确定接口、类、方法、参数的名称以及它们之间的交互关系。如果采用UML统一建模语言来描述,设计阶段必须产生包关系图、类关系图这两种制品。我们在编码初始阶段必须根据这两种制品产生相应的代码骨架,为接下来的构建打下坚实的基础。我们以前开发的时候就吃过这样的亏,在设计阶段和编码初始阶段,没有定义好这些程序架构,先由各程序员自行定义,后来重新定义的时候要耗费大量的人力物力进行代码迁移。因此无论是建房子还是程序开发,打地基都是相当重要的。

再次,建造房子的时候,经过前面所说的核算、设计、打地基,接下来会一层一层地建造房子,建造每一层之前我们可能会进一步细化、优化这一层的设计蓝图。这个过程就类似于软件开发过程的迭代开发,先集中精力对若干个特征或功能点进行详细设计和代码构建。这次开发完成以后,再过渡到另外的若干个功能点,形成一次一次的迭代。

迭代粒度的奥秘

从上面可以看到,迭代对软件开发来讲是非常重要的,其实程序算法中的“分治法”也是这个道理。毫无疑问,RUP(Rational Unified Process,统一软件开发过程)和XP(eXtreme Programming,极限编程)都是强调迭代的,但为什么XP更轻量级、更加不注重详细的分析与设计,而RUP更加重量级,需要各种文档和详细的分析设计呢?

同样是建造一栋摩天大厦,在RUP开发方法学里面,它是从一次建造一层楼的粒度来进行迭代开发的,因此每一次迭代仍然需要相对详细的分析与设计。而XP的方法则不同。它会以一套房子或者以一个房间的粒度去建造整栋摩天大厦,每一次迭代开发的功能点不会太多,因此所需要做的前期规划自然要少得多。软件大师Robert C.Martin在他的《敏捷软件开发—原则、模式与实践》中提到,XP理想的一个迭代周期为2周,每6次迭代形成一个可发行版本。因此,迭代粒度的大小是RUP和XP本质的区别之一。

RUP更适合大型的开发项目,因为针对每一个项目,从跨越整个项目的广度上来讲,它制定了九大规程,每个规程对应若干个角色,每个角色需要产生若干个制品;从每一次迭代的深度上来讲,它强调把项目开发分成若干次迭代,每一次迭代都分成初始阶段、细化阶段、编码构建阶段和移交用户阶段,每一个阶段都强调形成若干制品,都对应多种不同的角色。

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 企业信息化实施策略:如何创新 (11-09) · CIO技巧:对IT项目管理有效的20条锦囊妙计 (11-07)
· 诺明软件助力天信达优化项目工时管理 (11-05) · IT项目管理-项目计划主要内容列表 (10-22)
· 如何有效进行ERP实施项目管理 (09-05) · 郭重庆:发展软件业要重视软件项目管理研究 (08-16)
· 业内分析:要重视软件项目管理研究 (08-13) · IT治理与应用:五个等级衡量企业IT成熟度 (08-06)
· 分析:应用过程中发现问题是否该终止项目 (07-31) · 如何管理软件开发中实施控制与进度 (07-10)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 回顾ERP市场发展经历 提醒CIO选型需理性
· 网银系统拥堵 SOA从治病良方到罪魁祸首
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统