作者 内容
 zongconghua  UML是什么?是word,是五线谱。
 

UML是什么?是一种表达工具。不是思想,也不是设计方法。
举例来说,音乐的表达方式有很多种,可以用乐谱(书面的),可以用录音(声音的)等等,那么乐谱的表达工具呢?有很多种,比如:简谱、五线谱,还有中国古老的工尺谱等等。
软件设计的表达工具也有很多种,流程图、伪代码,当然还有UML。
五线谱是什么?它只是一种标记方法,这种标记方法有其优点(比如,能直观体现出音高),所以这个方法成为世界范围内通用的方法,五线谱之于音乐,恰如UML之于软件。
五线谱本身并没有告诉你应该如何作曲,熟悉五线谱也不意味着你同时就会作曲,当然熟悉五线谱,可以保证你读懂别人的音乐作品。同样,UML本身也没有告诉你如何设计软件,但是,你熟悉了UML,就可以看懂别人的设计,如果你自己也有设计上的思路,你也可以用UML表达出来,大家也都能看得懂。
所以,掌握UML只是成为软件设计师的必要条件,要想真正成为软件设计师,还需要有很多 设计经验,通过设计模式的学习,了解前人的设计套路(注意,模式就是套路),也是一个比较好的途径。
综上所述:
1、掌握UML和编码工具(如C++/java),就像一个既能看懂图纸又会操作车床的工人一样,能把别人的意图弄明白,继而实现出来。这是技工的级别。
2、掌握UML+设计模式,就能比划着也进行一点设计了。这是实习设计师的阶段。
3、掌握UML,再有自己的创意,这就是到了真正的软件设计师了,就像从演奏上升到作曲,写字上升到创作了。

另外还可以拿WORD来比如UML.
不会用WORD,照样可以当作家。只是传播你的作品比较费事,需要别人来录入、排版。
不会用ROSE,也可以作软件设计师,只是传播你的设计比较困难,因为需要别人来把纸上的图形输入到工具中。
不会用UML,也一样可以成为软件大师,UML定型以前,大师们不是一样可以产生?就像五线谱定型以前,很多民间艺人照样可以成为一代大师,比如瞎子阿炳。阿炳哪里懂什么五线谱?还不一样有《二泉映月》?

 04/01/29 13:09 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 tzf2002  回复: UML是什么?是word,是五线谱。
 

有道理,形成一种标准,便于交流,利于发展。写一篇科技论文,利用地方方言,你可以试一试。例如:Visual C++开发工具儿,liao的太,开发窗口软件儿,wo比啥都强。狗nai锤的,zheng zhen 儿是个好东西。(陕西人都看得懂)

 04/01/30 04:18 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 lyghe  回复: UML是什么?是word,是五线谱。
 

有哲理啊!

 04/01/30 16:58 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 xfzzmzj   回复: UML是什么?是word,是五线谱。
 

听君一比喻,胜读十年书

 04/02/11 15:50 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首

作者 内容
 zongconghua  软件与音乐的类比:关于UML的一些问题
 

软件设计和音乐作曲,有很多类同之处:
构思:软件设计考虑的是构架,作曲家考虑的是风格。
设计:软件设计师用流程图、伪码、或UML表达出他的构思,作曲家用简谱、或五线谱表达出他的作品。
实现:软件编码员通过VB/C++/java等语言按照UML图实现软件(形成执行代码),演奏家通过提琴、钢琴等乐器按照五线谱实现出音乐(发出声音)。

现在的问题是:UML里面那么多的图,对于实现过程的具体指导意义是什么?
比如:活动图,活动图对后面实现流程的哪一步有什么样的指导价值呢?我们知道,后面的实现过程,以编码来说,主要是类图和协作图有明显的指导价值,根据类图,可以编写出类的框架代码,根据协作图可以写出类的方法代码,那么活动图呢?它在编码阶段有什么直接的指导意义?

请高手不吝赐教,谢谢!

 04/01/29 14:15 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 lyghe  看来你还没有敏捷
 

在敏捷软件开发过程中,作曲与演奏的是同一个团队,并且在演奏的过程中不断得到反馈,不断修改乐曲,最终完成一个大多数听众满意的作品。

呵呵,离题了。

说说活动图吧。
我个人认为活动图一般是和分析类在一块儿的,而白皮书上说分析类在编码阶段是可以丢弃的。所以我的意见是用活动图来表达初期的分析意图,并用以交流。在实现阶段将其抛弃,否则会为其所累。
在迭代式和增量式开发中,可以在每次修改前画些活动图,然后将其抛弃。

 04/01/30 17:08 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 longsansan   回复: 软件与音乐的类比:关于UML的一些问题
 

个人认为活动图应该在软件开发的各个阶段都能使用,只不过全凭分析者和设计者个人意愿使用罢了。比如在业务建模阶段,可以使用活动图来描述某项业务的过程。在编码阶段,可以描述一个方法内部的实现步骤(有点类似于流程图)。此外活动图出现的一些元素也不是随便就出现和抛弃的。我认为UML在图的使用并没有给出限制。各种图之间是互补的,专注于某一 方面。

 04/01/31 14:39 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 spide   教会你画五线谱,弹出单个音符,教会你乐谱应该按小节、乐章等等分段,甚至开发一个软件让你在电脑上写复杂谱子。软件源代码其实就是一个一个“类”来写出的。这些简单的格式化的初等知识,只是静态的入门知识,还没有接触到分析、设计动态过程的深度。
 
 04/02/02 15:14 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首