关键字:面向对象 结构化方法
对很多老板来说,这些东西就跟用来杀狼人的纯银子弹一样,可以让专案所面临的所有.问题都顺利解决。所以每次听到一个比较新潮的理论,就会想要叫属下用用这么神奇的.理论。而这些东西看起来是这么的有连贯性,从OOA开始进行需求分析,到使用OOD.进行系统设计,接着再用OOP来开发程序,在开发过程中,都依循RUP的规范,再使用.共同的UML语言。只有依照这样完美的方法,才可以确保整个项目的品质,并且开发出.可以被重复使用的软件组件。
老板的思考的确比较单纯,然而不少信徒也吃这一套,于是乎根本就不管三七二十一,.直接就狠狠地给他用在项目上,丝毫没有考虑中国社会的特色,应该要先想想师夷之长.技以制夷,要尽量中学为体,西学为用才对啊。结果当然是撞的满头包。
还好对于信徒来说,通常他们还可以自我安慰:『美国这么先进的国家都采用这么新颖.的方法来开发,跟着世界趋势走,一定不会错。现在的问题,一定是因为我们的人资质.太过鲁钝,没有完全依照大师的指示来做。下一次,我们一定要按照大师精辟的理论来.开发,一定不会遇到什么问题。』
然后这些信众们,就会继续抱着众人皆醉我独醒的悲壮,继续努力下去。一边做的时候,.一边为自己又累积一些OOAD的开发经验而自豪。
当然,我个人也觉得,大师一定不会错,一定是我们资质比较鲁钝,又缺乏经验,所以.没有正确地体悟大师的讲法以及采取正确的做法,才会导致这样的结果。只是除了我们.比较笨以外,总也要找一些理由,把责任推给大师们,不然铁定会被客户砍头。大师既.然要济世救人,就只好请你们抱持着我不入地狱,谁入地狱的决心啰。
所以我会针对我观察到的几个因为采用OOAD,以及RUP在台湾做案子所发生的几个问.题,提出我个人的看法。几个我观察到的主要问题如下:
-没有依据项目的特性来选择项目开发方式。
-使用者或者是客户的信息人员,看不懂相关的文件。
-信息人员本身不了解UML, OOAD以及RUP。
-Relational Database
以下我会针对这些问题,进行我个人的看法。
没有依据项目的特性来选择项目开发方式
台湾的软件项目,通常规模都不是很大,除非你将人力外包给企业使用,否则一般的软.件项目,价格则多半是在一开始就定下来了,项目进行的过程里,通常没什么机会可以.调整金额。
项目成员人数,多半在二十人以下。所以如果你要采用RUP来开发项目,你的第一个问.题会是,你凑不到足够的人头,来担任每一个RUP所介绍的角色。
此外,你通常也没有那样的预算,可以让每个角色,都把他们该做的文件都做出来。所.以你会省略一些流程。每次有人跑RUP跑的不顺,他们第一个想法就是:『RUP的体系.博大精深,这是多少前人智能的结晶,一定是因为我省略了XX步骤,这次才会走的不.顺利,下回一定要…』
RUP的另一个问题是,它是iterative的开发方式,也就是说,因为项目一定会有变更需求.发生,所以它预期没有办法一次就开发出使用者所要的东西。因此在开发时,会重复来.个好几回。每次都会要求使用者提出评估。
这怎么会是个问题呢?实时取得使用者的响应是一件功德无量的事情啊。问题在于台湾.的使用者通常都有正职在身,他们多半是利用农闲时进行专案的开发。所以他们的时间.非常宝贵,有机会跟你谈一次需求,他就认为这是非常大的恩惠。