Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Design Pattern & UML  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 各种图之间的关系你研究过吗?
colin_fox





发贴: 9
积分: 0
于 2003-05-20 11:49 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
就我所知,只有类图能够生成代码。

其他的图在做各种各样的分析,我在想,他们除了做一些文档性的工作外,对类图的设计贡献率到底有多大?正在探索中。。。

如果你的答案是便于与客户以及程序员之间的交流,或者便于分析工作流程之类的话,那么我明确的告诉你,uml只能是鸡肋!!

uml是中性的,用uml建模的方法学百家争鸣,各吹各的好,RUP是叫得最响的一个,我想知道,到底多少人完全按照它做的,如果你的回答是没见过,我有明确的告诉你,所谓的RUP只不过是一个概念股而已!!



作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
fat32

一个字:帅!@_@

CJSDN高级会员


发贴: 251
积分: 60
于 2003-05-20 15:27 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
RUP确实过于庞大而难以在中小的软件开发公司或者中小项目中实施,我想起码现在国内是没有一家公司。至于国外有没有,那就不晓得了。我觉得象IBM、Microsoft这样的大公司一般都有自己成熟的开发过程管理,估计也不会采用RUP的。但作为学习软件工程的手段,研究研究RUP的思想是很有帮助的,起码可以使你开阔视野吧。


作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
jameszhang



CJSDN高级会员


发贴: 1594
积分: 111
于 2003-05-21 08:26 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
设计小型软件用不用看不出来,设计大型软件时用和不用分别很大。


"First they ignore u, then they laugh at u, then they fight u, then u will win

Mahatma Gandhi"

作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
yj780210





发贴: 442
积分: 70
于 2003-05-21 08:59 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
楼主说的俺不同意,UML不是为了生成代码的,要是为了生成,我看不如用IDE的向导好。
UML是为了更好的生成代码,关注与关系,关注与结构。UML和RUP是不一样的。虽然在RUP里大量的使用了UML。

我不知道你凭什么“明确的告诉大家”,UML确实有缺点,有不妥当的地方。但是对于某种环境,某种情况下,它的作用是非常大的。
可能你不在我描述的那个环境中。不过不要总是“明确的”

技术是多样的,适用范围和人群是不同的。不能一概而论。



simple is good , short is good

作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
floater

Java Jedi

总版主


发贴: 3233
积分: 421
于 2003-05-21 11:19 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
agreed, UML & RUP are different. UML is just a language to express thoughts, RUP is more of a process.

UML is the best 鸡肋 you could get, man, Big Smile.

If you have 4000 classes, you have 10 minutes to find where the bug is, you have only vague info, you are not familiar with the product, hehe, then you know UML is useful.



"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
- Martin Fowler, Refactoring - Improving the Design of Existing Code
作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
colin_fox





发贴: 9
积分: 0
于 2003-05-21 16:28 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
曾经,本人是uml的狂热的追随者,从99年到现在也算有一段时间了吧。在多个项目中曾建议使用uml作为分析和建模,特别是和IDE协同开发(rose + visualage for java),客观的说,和我们想象的效果差的太远了。特别是做商业项目而不是出于学习目的,这一点非常重要。

比如,用例图本来为了与客户更好的沟通系统的功能,而我碰到的实际情况事实是,我为客户解释用例图所花的时间要比直接告诉(如用文本形式)所花的时间多得多,难道我们应该去责难我们得客户吗?当然不能。

或许你会说,用例图很简单,教客户学会就好了嘛!但现实情况是即便是软件专业人员对用例图的理解也需要一个不短的过程(至少我是这样),比如曾经有一个客户问,用例的“使用”与“扩张”这两个关系到底有什么不同,很多人模棱两可,国内的书上对这样的概念也是相互传抄,而在uml规范的英文版上我才知道,“扩展点”是区别这两个概念的关键。学用例图专业人员尚且如此,我们有理由要求我们的上帝吗?

yj780210提到的“明确的”问题,其意义是本人在陈述一个事实(本人视野所及的)。这儿是一个uml学习的天地,不想拿一些子虚乌有的东东来吓唬人。也不想“一概而论”,既然是论坛,就要提出点有观点的东西,没有观点的东西哪真的叫“灌水”了。

当然,分析uml的不足并不能掩盖其优点。比如Java Jedi 所说的代码结构分析,我曾经就用rose分析和升级过一个Pb做的大型程序。分析起来相当快。用rose的类图设计类时,可以花更多的时间来考虑类之间的关系、以及代码重用等问题,比如用设计模式来指导类图的设计,可以得到质量更高的代码。

但对uml的东西,要三思而行。国内的使用现状就是对我这句话的最好的诠释。


colin_fox edited on 2003-05-21 16:42

作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
colin_fox





发贴: 9
积分: 0
于 2003-05-21 16:30 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list



作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
yj780210





发贴: 442
积分: 70
于 2003-05-22 09:06 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
楼上的说的问题俺也遇到过。
不过跟客户沟通我觉得就不要用use case了。我感觉和程序员沟通都不能用class diagrams。但是如你所说,UML是分析员的好工具。
对客户,我觉得如分析结果一样,尽量用自然语言来描述,专业名词用的越少越好。有的时候就跟和孩子沟通一样,尽可能的用比喻来说明问题。需求分析我感觉就是把客户的语言转变成程序员的语言的一个过程。要让客户都学会了用use case要我们干什么?呵呵。
对程序员呢,就要用专业语言,越专业,越准确越好。要不做出来的东西,能把你气死,动不动就来个“我想,我认为”。哈哈,最近因为这个生了点气,不自觉就写上了。
UML说穿了就是个工具,能帮助开发,在它的适用范围呢用好了对你有帮助。根据情况使用吧。

java之道,重在一心



simple is good , short is good

作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
jeez



发贴: 0
积分: 0
于 2003-05-22 13:59 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
说实在话,客户他们大多没有UML知识,但你用一些图和客户沟通,总比用嘴说强多了吧,我想只要图画的比较易于理解,还是能够起到很好的沟通作用的。这是个比较有价值的课题,值得去深入研究一下。

作为开发团队本身的沟通,UML是最好的了。就分析设计来讲,也分层次的,你如果想从Usecase一步到类图,十有八九是吐血而亡,可不能怪UML了。我记得很多以前Unix开发人员都用字符来画一些图,现在和UML来比简直是茹毛饮血吗。

Tool也在人去理解和灵活的使用,我一直用UML,我觉得不错啊,比以前画那些无聊的流程图强多了,结构很清楚,从静态到动态,从设计到部署,层次很分明。

RUP的概念非常好,它以架构为中心,采用迭代增量,各种工作流的定义都很好,能够更好的控制风险。而且它的过程是可以裁减的, 采用其中合理的就行了,总不可能一无是处吧。




作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
lly003



发贴: 0
积分: 0
于 2003-05-22 15:45 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
其实你们的意见我不太苟同。我从1996年底就追踪UML,而且一直在作相关研究和开发。UML对于项目的开发过程很有帮助。UML不是为了生成代码。UML主要用分析、设计、而且可以生成代码原型。UML本省便于文档归案和交流,而且对于协调项目组的开发很有用,我是深有体会。对后期的维护和测试很有用。



作者 Re:各种图之间的关系你研究过吗? [Re:lly003]
floater

Java Jedi

总版主


发贴: 3233
积分: 421
于 2003-05-22 22:40 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
lly003 wrote:
UML对于项目的开发过程很有帮助。UML不是为了生成代码。UML主要用分析、设计、而且可以生成代码原型。UML本省便于文档归案和交流,而且对于协调项目组的开发很有用,我是深有体会。对后期的维护和测试很有用。

Nod. This and only this.



"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
- Martin Fowler, Refactoring - Improving the Design of Existing Code
作者 Re:各种图之间的关系你研究过吗? [Re:colin_fox]
jackzhuo





发贴: 102
积分: 40
于 2003-05-27 09:23 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我觉得UML只是一个建模工具,而建立模型的最大好处是可能在交流中使用,比如用例图,它可以很清楚地说明用户需要完成的功能,在用例图中配上序列图,就能表达出一个功能的处理过程,在使用时,需求分析人员只是起个引导的作用,你可以给用户大致讲一个这两个图的意思(我想这是很容易明白的),而这些图不是目的,只是工具!

其它的图我认为也是这个意思,它们是交流的工具,而不是工作的目的!我觉得现在在国内看UML,很多都是为了做UML而做UML,首先把它当作工作的目的就不对了,我觉得其实在工作中你有好的交流方式的话,不用UML也罢!

另外,我写了贴子讲了一下我们在一个项目中使用UML建模的经验,大家有兴趣可以看一下,提点意见Smile

http://www.cjsdn.com/post/view?bid=19&id=28502&sty=1&tpg=1&age=0




flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923