以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 软件工程论坛 』 (http://bbs.xml.org.cn/list.asp?boardid=48) ---- 独孤木专栏:漫谈UML OOAD and RUP(上) zz (http://bbs.xml.org.cn/dispbbs.asp?boardid=48&rootid=&id=10314) |
-- 作者:admin -- 发布时间:9/23/2004 1:22:00 AM -- 独孤木专栏:漫谈UML OOAD and RUP(上) zz ● 独孤木专栏:漫谈UML OOAD and RUP(上) zz发信人: david (little little girl of mine), 信区: SoftEng 标 题: 独孤木专栏:漫谈UML OOAD and RUP(上) zz 发信站: BBS 水木清华站 (Wed Jun 18 20:22:44 2003), 转信 如果你没听过UML,容我在此做个解释。这三个字就是U Must Learn的 缩写,指的就是你一定得学(you must learn),如果有下一句,应该是 You Must Pay。这是几个大师级的人物,为了要把学术理论顺利转化成 现金,所想出来的好点子。基本的想法是,如果可以弄出一套理论,让 全世界想要学软体开发的人都得要来学习,那他们光卖这套理论的教育 训练、认证、顾问谘询、以及难用的开发工具,就可以让公司上市,变 成亿万富翁。 开玩笑的。 这是三位物件导向软体工程界的大师(Grady Booch, James Rumbaugh, Ivar Jacobson),为了济世救人所整合出来的一种模型语言,称为 Unified Modeling Language。算是把三个人的东西,切成小块以後煮 一煮,放在碗里面用汤匙搅一搅,整合成一个大杂烩…嗯,不是,是 把三个人的理论去芜存菁,所整理出来的结果。 UML主要的目的,在於让所有进行系统分析设计的工程师,可以有一个 共同的图形化语言,来描述他们所想要建立的系统。至於让公司上市, 以及让所有学习UML的工程师,可以有比较显赫的履历表,则算是产品 附加价值,不算是主要的目的。 因为这个语言,现在正流行,算是当红炸子鸡,所以许多软体公司,莫 不努力地往这个方向发展,期望引进UML,可以为软体开发,带来前所 未有的助益。很多人的想法,当然还是围绕着可以做出被重复使用(reuse) 的软体元件,以加速系统开发为核心。 吉娜:布鲁斯,老板问我什麽是UML?他说他到研讨会里听到,超人公 司已经在采用这个东西了,听说有非常好的成果。他觉得我们所有的 工程师也应该学习这种新的skill,这到底是什麽东西? 布鲁斯:这是几个物件导向分析设计界的大师,所共同建立的新的 Modeling Language。 吉娜:Modeling language是什麽东西?算了,我不需要知道这些detail 。既然老板已经说需要引进这种新的趋势,这就是我们今年的目标。你 先找一些人去上课,然後回来我们拿几个专案开始试试这种新的方法。 既然这只是一种语言,其实并没有好坏的问题。这就像中文是否比英文 优秀一样,每个人会有不同的看法。只要在使用的时候,它可以发挥它 的用处,可以让看到文件的每个人,都很清楚了解你想描述的模型,我 觉得它就发挥了这个模型的功用。 然而大师或是大师的徒子徒孙们,不会光把UML这三个字从头到尾念一遍 就了事,他们除了介绍这个语言,还会讲其他的理论。这些话,就跟着 UML的推广,跟着被信众们奉为圭臬,当作是神谕。例如引进UML的团队 ,通常会采用Use Case Driven的OOAD(物件导向分析设计),也通常会想 要采用大师建议的开发流程:RUP(Rational Unified Process),来开发 专案。 对很多老板来说,这些东西就跟用来杀狼人的纯银子弹一样,可以让专 案所面临的所有问题都顺利解决。所以每次听到一个比较新潮的理论, 就会想要叫属下用用这麽神奇的理论。而这些东西看起来是这麽的有连 贯性,从OOA开始进行需求分析,到使用OOD进行系统设计,接着再用OOP 来开发程式,在开发过程中,都依循RUP的规范,再使用共同的UML语言 。只有依照这样完美的方法,才可以确保整个专案的品质,并且开发出 可以被重复使用的软体元件。 老板的思考的确比较单纯,然而不少信徒也吃这一套,於是乎根本就不 管三七二十一,直接就狠狠地给他用在专案上,丝毫没有考虑中国社会 的特色,应该要先想想师夷之长技以制夷,要尽量中学为体,西学为用 才对啊。结果当然是撞的满头包。 还好对於信徒来说,通常他们还可以自我安慰:『美国这麽先进的国家 都采用这麽新颖的方法来开发,跟着世界趋势走,一定不会错。现在的 问题,一定是因为我们的人资质太过鲁钝,没有完全依照大师的指示来 做。下一次,我们一定要按照大师精辟的理论来开发,一定不会遇到什 麽问题。』 然後这些信众们,就会继续抱着众人皆醉我独醒的悲壮,继续努力下去 。一边做的时候,一边为自己又累积一些OOAD的开发经验而自豪。 当然,我个人也觉得,大师一定不会错,一定是我们资质比较鲁钝,又 缺乏经验,所以没有正确地体悟大师的讲法以及采取正确的做法,才会 导致这样的结果。只是除了我们比较笨以外,总也要找一些理由,把责 任推给大师们,不然铁定会被客户砍头。大师既然要济世救人,就只好 请你们抱持着我不入地狱,谁入地狱的决心罗。 所以我会针对我观察到的几个因为采用OOAD,以及RUP在台湾做案子所 发生的几个问题,提出我个人的看法。几个我观察到的主要问题如下: -没有依据专案的特性来选择专案开发方式。 -使用者或者是客户的资讯人员,看不懂相关的文件。 -资讯人员本身不了解UML, OOAD以及RUP。 -Relational Database 以下我会针对这些问题,进行我个人的看法。 没有依据专案的特性来选择专案开发方式 台湾的软体专案,通常规模都不是很大,除非你将人力外包给企业使用, 否则一般的软体专案,价格则多半是在一开始就定下来了,专案进行的过 程里,通常没什麽机会可以调整金额。 专案成员人数,多半在二十人以下。所以如果你要采用RUP来开发专案,你 的第一个问题会是,你凑不到足够的人头,来担任每一个RUP所介绍的角色。 此外,你通常也没有那样的预算,可以让每个角色,都把他们该做的文件 都做出来。所以你会省略一些流程。每次有人跑RUP跑的不顺,他们第一 个想法就是:『RUP的体系博大精深,这是多少前人智慧的结晶,一定是 因为我省略了XX步骤,这次才会走的不顺利,下回一定要…』 RUP的另一个问题是,它是iterative的开发方式,也就是说,因为专案一 定会有变更需求发生,所以它预期没有办法一次就开发出使用者所要的东 西。因此在开发时,会重复来个好几回。每次都会要求使用者提出评估。 这怎麽会是个问题呢?即时取得使用者的回应是一件功德无量的事情啊。 问题在於台湾的使用者通常都有正职在身,他们多半是利用农闲时进行专 案的开发。所以他们的时间非常宝贵,有机会跟你谈一次需求,他就认为 这是非常大的恩惠。 在台湾,进行使用者需求访谈,就像在火车站把一个要赶着去搭车的人拦 下来进行问卷调查差不多。一开始,他可能还会基於礼貌,填写问卷。当 他需要第四次还是第五次回答同一张问卷的话,他会觉得你是否听不懂人 类所说的语言,还是存心找他麻烦。如果你开发一个系统,得要使用者评 估个好几回的话,God bless you。 就算使用者对你十分仁慈,没有把你轰出去,采用iterative的做法会有的 另外一个问题,其实是在於你的系统是一个iteration,一个iteration慢 慢调整,逐渐形成的。所以到底什麽算是在系统的范围(scope)里面,其实 很难界定。所以如果使用者觉得这个iteration的成品,与他原始需求还有 距离,你大概都会被迫再多几个iteration。而这几个iteration,是收不 到钱的。这跟以前的所谓螺线型的开发方式,在台湾遇到的困难是一样的 。客户不会因为你多做了几个循环(cycle),而多给你钱。然而,你会因为 多做了几个cycle,投入超出预期的人力与时间。 事情多做了,可是赚不到钱,这怎麽划算呢?要知道,开发专案跟开发产 品是不同的。开发专案,就是要在最少的资源之下,提供给客户一个可以 接受的烂货。可以花100万就让客户愿意结案,绝对不要花101万,让客户 拥有一个比较好用的系统。越好用的东西越难做,出槌的机率也越高,为 什麽要这样做呢? 除非今天客户是人力外包,花钱买你的人月,去帮他开发。这个时候,当 然是尽量选择可以做得长长久久的方式来开发罗。 所以我觉得应该要以专案的特性来选择专案开发方式。大部分的专案,应 该用传统的软体生命周期开发方式来开发。 (代续) ------------------------------------------------------------------------ -------- 阿德 顾问,美商函数科技顾问公司 David@MethodTechnology.com http://www.MethodTechnology.com ——自由是位女神,她只爱战士。 除非今天客户是人力外包,花钱买你的人月,去帮他开发。这个时候,当 然是尽量选择可以做得长长久久的方式来开发罗。 所以我觉得应该要以专案的特性来选择专案开发方式。大部分的专案,应 该用传统的软体生命周期开发方式来开发。 (代续) ------------------------------------------------------------------------ -------- 阿德 顾问,美商函数科技顾问公司 David@MethodTechnology.com http://www.MethodTechnology.com ——自由是位女神,她只爱战士。 ※ 修改:·david 于 Jun 18 20:23:01 修改本文·[FROM: 159.226.251.30] ※ 来源:·BBS 水木清华站 smth.org·[FROM: 159.226.251.30] 索引页面|上一篇|下一篇
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
31.250ms |