论坛首页 综合技术论坛

RUP的反模式(转)

浏览 15734 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-02-19  
Dennis 写道
这个问题问得好,什么时候开始编码呢?2位老大谈谈呢?

这个和开发经验有关的,经验越丰富,开始编程的时间越早。因为经验使他的思维产生了跳跃性。但是对于初学者,最好还是按部就班地来,把设计先做好,想问题尽量想细致些再开始编程。不一定要画成漂亮的 UML,如果纸上能写清楚就不一定用图形。UML 是二维的,思想则是没有维度的,尤其是有些复杂的设计很难展现为二维的图形。所以不要想当然认为图形一定比文字要好。
思想、解决问题的方法都是可重用的。平时要注重积累。这样早晚有一天你会达到一个比较自如的境界的。
0 请登录后投票
   发表时间:2004-02-19  
Dennis
不知道你仔细看了我的发言了没有,我有几次强调在还没有项目的时候,工作就已经开始了,而代码的编写是不是可以在还没有项目的时候开始呢?
首先我们应该知道,你不必把所有的需求都了解清楚再开始别的工作,比如编码就可以很早开始。而我们需要了解多少就可以开始呢?我的看法是可以了解很少,也许你可以一点都不了解那些业务的逻辑和流程,就只是知道那些业务存在就可以开始。那么我们需要先了解什么呢?我想你首先应该去了解你的程序会要访问什么资源,比如数据库、短讯、中间件等等这些外部的资源。这些东西你可以在完全部考虑领域的情况下就开始书写对他们的访问接口,这些东西可以是垮领域的,你随时都可以开始。而我们常见的那些框架、那些工具就是这些东西,不过我认为这里说的应该不是这个方面的东西,而是具体的涉及具体的业务逻辑的东西。
但是我想你也看到了我说的领域类模型,是可以在没有具体的项目需求前就开始,而实际上由这些类就可以开始部分的编码。比如我们开发HIS,不管你怎么做你的药房管理部分总是会涉及药品名称、批号、商品名称等等这些东西,也就是不管你的流程怎么样,是否需要做监控,都是要涉及那些基本的东西。而这些就是我们需要掌握的核心概念,就是那些领域模型应该突出的部分。这些东西就可以成为一个软件结构的雏形。而我们更加进一步去了解领域,就会发现有一些肯定会存在的功能需求,还是HIS为例,药品的过期监控,病人的药费超支监控。这些功能是总会存在的,只不过是药品的期限监控是固定流程的,而药费监控是有可能变更一些逻辑和流程的,但是这些变更还是存在一个固定的范围的。药费的监控不管怎么样也布可能离开药品的金额和药品的包销等等几个指标,差别的主要是在总金额和报警的方式上,而总金额很容易解决,而报警方式可以通过先设置一个报警接口的方法解决。
你看即使你不知道任何的项目的情况,只是了解了领域,你就可以做很多事情。
0 请登录后投票
   发表时间:2004-02-20  
oz6
我是今天早上才仔细看了你对上述9点的理解,又可以出一篇文章了,很感谢你对我提的问题的解释,还有dlee!

一个项目还没有来的时候,的确,我们已经做了很多工作了,软件工程尽管有那么多理论,设计模式,方法可以使用,利用,借鉴,但看看2位有了较多年开发管理经验的评论后,给我的一个强烈印象是,软件工程原来还是不规范,很模糊,因为这本身就是由软件本身的不确定所造成的,尤其是在国内,不知道大家有没有参与过csdn上的一个网上调查,《今年,你出国了吗?》

相关链接:http://www.csdn.net/Questionnaire/award1.asp?id=84

为什么那么多人想出国,我想有不少朋友都会在选择第7个问题答案时想选择全部或其中的一大部分,因此我觉得
dlee说的"软件开发最重要的是代码和人,而不是过程,这是我一贯的观点。"我很支持,我也很讨厌很多约束的东西,但是我最近总在考虑软件工程方面的东西,想学习和采用RUP,但目前公司情况根本就没有实施的可能,因此,我更希望有一个好的团队!
0 请登录后投票
   发表时间:2004-02-20  
我出过国,01 年在德国一家小型 ASP(Application Service Provider)工作过半年,做 Web 开发。但是不太顺利,后来就回来了。
不要以为国外的开发流程就很正规,实际上很多小型软件公司根本就没有什么正规的开发流程。一个经验丰富的 coder 到处都受欢迎,就象熟练的技术工人一样。德国人向来都是注重实用的知识,并不是非常看中学历的。德国的职业教育质量是全世界最高的,一个熟练技工的收入是非常高的。我们现在每年这么多大学毕业生找不到工作究竟是什么原因?那个陈至立心里最清楚。
一个公司很多人都在讨论开发过程,这本身就是一件不正常的现象,说明这家公司还非常地不成熟。我在国外认识的那些高手从来都是跟我谈一些具体问题的解决方法,从来不高谈阔论什么开发过程的。

软件业最富有活力的就是这些小公司,国外的软件公司是个什么样我比很多人都要清楚。
0 请登录后投票
   发表时间:2004-02-20  
dlee 写道
我出过国,01 年在德国一家小型 ASP(Application Service Provider)工作过半年,做 Web 开发。但是不太顺利,后来就回来了。
不要以为外国的开发流程就很正规,实际上很多小型软件公司根本就没有什么正规的开发流程。一个经验丰富的 coder 到处都受欢迎,就象熟练的技术工人一样。德国人从来都是注重实用的知识,并不是非常看中学历的。德国职业教育的质量是全世界最高的。一个熟练技工的收入是非常高的。我们现在每年这么多大学本科生毕业找不到工作究竟是什么原因?那个陈至立心里面最清楚。
一个公司很多人在讨论开发过程,这本身就是一件不正常的现象,说明这家公司还非常地不成熟。

软件业最富有活力的是这些小公司,国外的软件公司是个什么样我比很多人都要清楚。
呵呵,我不是那种以一概全的人,就好象现在国外很多野鸡大学一样,那自是不好的了,非但没有学到什么,还失去了很多!

“一个公司很多人在讨论开发过程,这本身就是一件不正常的现象,说明这家公司还非常地不成熟。”
就是这样的,很不成熟,觉得能用规范的文档和控制管理手段,来控制这种手工作坊式的生产。

“软件业最富有活力的是这些小公司,国外的软件公司是个什么样我比很多人都要清楚。


就拿国内的中小企业和国外的中小企业来比,也没有可比性,很多国家(象意大利,法国),都是靠中小企业支持的,国民生产总值里占了很大一部分,反观国内,富有活力的小公司,实在是少的可怜,那些所谓的大公司(人多),恐怕活力会更少!

没有出去看看,始终不甘心,dlee是过来人,自是能够体会!
0 请登录后投票
   发表时间:2004-02-20  
Dennis
软件工程还不够规范,这就是软件工程的一个最重要的规范。这是因为我们现在的工程化实际操作和工程化实际研究还太少,而并不是说软件开发就不能工程化。同时工程化未必就会带来所谓的规章化,而是规则化。
比如现代电影也是工业化产业,他们也是分工很细,但是却是一个高度依赖明星并且整个产业也愿意依赖明星的。所以工程化,未必就是一种模式。向电影、戏剧、写作、漫画这些高度依赖人类智力活动的工程化就不应该和建筑、制造这些传统工程走一个路子。认识到这里的差别才是真正的工程化,才是真正的软件工程。
工程化和人性化在软件开发这个领域并不是矛盾的对立面。
0 请登录后投票
   发表时间:2004-02-20  
oz6(敏捷的胖子)
你怎么总是能说到我的痒处

引用
软件工程还不够规范,这就是软件工程的一个最重要的规范。这是因为我们现在的工程化实际操作和工程化实际研究还太少,而并不是说软件开发就不能工程化。同时工程化未必就会带来所谓的规章化,而是规则化。


本来这些软件工程就是老外提出的,我们在工程化实际研究阶段就处于落后,而实际操作的时候,又完全想不加改动的套用这些,而且总还喜欢灌以XXX的思想,理论,缺乏认知和批判性,结果是放弃这些,回到自己想怎么干就怎么干的地步。

现在学校里软件工程方面的课程,得不到学生的认可,一方面大家都觉得没有必要,以后再学吧,其实大可利用这段时间,来工程化的实际研究和实际操作(最好能有经验丰富的老师,好比oz6  )一把,所以,我很后悔自己在学校的时候,就没有融入项目中(光有理论,算不上研究,没有实际操作),所以现在让我写,我只能写写规范而非规则,并且写得是如此的空洞,因为自己的实践,积累不够,不能很好的把握人性化和工程化。

还有dlee在上文里提到陈XX,我想她是该有责任的,现在虽说软件学院多了,但出来的学生素质,实在是不敢恭维。从教育体制到用人机制,亟需改革。

引用
工程化和人性化在软件开发这个领域并不是矛盾的对立面
,所以能够将工程化和人性化最大限度结合的企业,哪怕很小,亦或很大,相信大家都是会愿意多待几年的
0 请登录后投票
   发表时间:2004-02-27  
ozzzzzz 写道
Dennis
软件工程还不够规范,这就是软件工程的一个最重要的规范。这是因为我们现在的工程化实际操作和工程化实际研究还太少,而并不是说软件开发就不能工程化。同时工程化未必就会带来所谓的规章化,而是规则化。
比如现代电影也是工业化产业,他们也是分工很细,但是却是一个高度依赖明星并且整个产业也愿意依赖明星的。所以工程化,未必就是一种模式。向电影、戏剧、写作、漫画这些高度依赖人类智力活动的工程化就不应该和建筑、制造这些传统工程走一个路子。认识到这里的差别才是真正的工程化,才是真正的软件工程。
工程化和人性化在软件开发这个领域并不是矛盾的对立面。


说得不错,我也是一直在想软件业要想降低成本快速的发展,工程化肯定是分不开的,不过软件业和其他行业不同的是这里面对个人的智力发挥也很重要。就像电影业几年前提出什莫数码明星一样,可是现在呢,怎莫没人提了?
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics