ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 清玄的敏捷

清玄的敏捷

原创 Linux操作系统 作者:Allen0805 时间:2009-08-25 23:17:40 0 删除 编辑

做软件的系统的分析和设计,现在已经有无数的学院经典著作,然而现实的情况是,失败的项目比比皆是,客户与开发商常常形成双输的结局。

其 实事情应该简单一些,软件系统不就是把我们在生活中看得见、摸得着的一些事情翻译成计算机程序,然后在计算机里运行,我们每天只是用它来协助完成工作,一 个工具而已。这个过程和我们看见花鸟木石而后吟诗作画,然后放在那里偶尔赏玩一下的情况并无根本的区别。所以,在某种程度上,软件系统的设计更接近于一项 艺术创作,一个工程形式的艺术创作,而不是一项科学活动。

所以,我们在设计软件系统的时候,在方法上要尽量回到事物的本源,无论是OO,还是面向过程的OP,仅是我们画笔、画风不同而已。

这 样,在设计过程中,最关键的是方案师在自己大脑中通过深入的思考所产生的那个目标系统的印象。说到印象,如果我们见过梵高的《向日葵》,或者莫奈的《日 出·印象》,那么我们就可以知道艺术家于艺术之间的关系,也知道艺术家与工匠之间的区别,也就更能理解老子所说的“惚兮恍兮其中有象。恍兮惚兮其中有物” 的蕴含的道理了。其实,软件系统设计的基本方法也就是从恍恍惚惚之中,在方案师自己的经验、印象、想像的基础上,把系统的轮廓能够勾画出来,中间在叠加上 自己对这门业务学问的理解,以及对很多精微细则的钻研,一个优秀的软件至少在概念上会有了基础。

在规范中谈论这些,目的是在思想上能够对大家有所引导,建立一些基本的意识,这些思想意识无形中会对大家实际的工作方法有所借鉴。

这些话有些玄虚,要说得白话一些。这样,我们可以把操作层面的方法要求来个一二三四了:

1、我们采用的是敏捷开发模式,我们的敏捷是基于我们的业务分析和设计经验来完成的。在项目中,设计师(也叫方案师)是项目组的核心。

2、 做软件要努力地从整体上进行把握,所以,我们的设计工作是包含需求分析的,不要把需求和设计分割开来。需求在很大程度上是为商务服务的,设计是为技术目标 而完成的。方案师首先把自己要定位在技术人员的位置上,商务工作由公司来考量。软件系统在项目中的演进是以一个整体来逐步明晰的,所谓“其中有象、其中有 物、其中有精”,这是一个系统不断明确的过程。

3、系统的设计目标是三个方面:功能、数据库和功能内部的逻辑处理。方案师的工作就是想清 楚、说出来,告诉工程师,那么系统也就可以开发了。这个过程和一个要盖房子的师傅,告诉徒弟们房子大概是什么样子,每个部分应该怎么做的道理是一样的,我 想,做过新房装修的人,应该能够理解这些。

4、设计工作在项目规划阶段就要开始,方法基本是一样的,但是对系统的认识和勾画的深度、广度是有所差别的,业务目标也是不一样的。规划阶段是为了售前商务,设计阶段是为了交付系统。

因此,做软件,基本的哲学就是遵循常识,所以,做软件,方法也是很简单的,只要你的脑袋勤于思考,勤于分析就可以了。

这 样,我们的分析和设计工作的场景就是,一支笔、一张纸,还有一杯咖啡,香气萦绕,激活我们的思维,把所有能够想到的业务场景想像出来,分析、抽象、建模, 很快,系统的轮廓就形成了。做工作时,可以集合一群人,到咖啡厅小座片刻,清谈论道;也可以自己独处,发呆数日,求得顿悟的那一刻。所有的方法其实就是一 个“玄”---把事物的机理说清楚,一个“清”字---描述那个形而上的概念系统。

超脱一些,自然有着意外的收获。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/190707/viewspace-613236/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 也谈敏捷(2)
下一篇: 项目目标是什么
请登录后发表评论 登录
全部评论

注册时间:2009-08-22

  • 博文量
    11
  • 访问量
    14547