定位:怎么使用UML?
"黑夜给了我黑色的眼睛,我却用它寻找光明."同样一件东西怎么用确是不一定的,对于UML怎么使用也要有一个定位。Martin Fowler先生给出了三种使用使用UML的方式:蓝图blueprints ,骨架 sketches,编程语言。
三种使用方式比较容易区分出来的是:作为编程语言使用.ExecutedUML对工具的要求是非常高的-需要处理代码和图的同步问题等等.这里不做展开讨论,大家可以到国家文献中心找到更多相关资料:
源文档 <http://s.wanfangdata.com.cn/paper.aspx?q=executed%20UML&n=10&f=top> UML作为编程语言,典型应用时MDA.UML是MDA的事实标准,占领了90%的市场份额.“MDA 的愿景是定义一种描述和创建系统的新的途径。MDA 使得UML 的用途走得更远,而不仅仅是美丽的图画。很多专家预言MDA 有可能会带领我们进入软件开发的另一个黄金时代"。
Model-driven architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.
源文档 <http://en.wikipedia.org/wiki/Model-driven_architecture>
Executable UML,often abbreviated to xtUML or xUML , is the evolution of the Shlaer-Mellor method[3] to UML. Executable UML graphically specifies a system using a profile of the UML. The models are testable, and can be compiled into a less abstract programming language to target a specific implementation.Executable UML supports MDA through specification of platform-independent models, and the compilation of the platform-independent models into platform-specific models.
源文档 <http://en.wikipedia.org/wiki/Executable_UML>
难以区分的是蓝图blueprints 和骨架 sketches,从中文说文解字的角度我们无法获得一个满意的答案.按照Martin Fowler先生的论述我将二者的区别通过表格的形式列了出来,通过比较还是能看出各中端倪的:
Mode |
Essence |
Forward engineering |
Reverse engineering |
Tools |
Practice |
Sketch |
selectivity |
communicate ideas and alternatives
|
explain how some part of a system works |
lightweight drawing tools |
To help communicate some aspects of a system.
Do it quickly and collaboratively, so a common medium is a whiteboard. |
Blueprint |
completeness |
detailed design for a programmer to code up |
convey detailed information about the code |
CASE Tools
(much more sophisticated ) |
Reducing programming to a simple and fairly mechanical activity |
从上面的比较中可以看出sketches勾勒重点,蓝图blueprints注重完整性,无微不至.前者是一种探索性的explorative,后者是定义性的definitive。对于后者,一旦蓝图确定,编码工作基本上就没有什么创造性了.
出处:回头再说
责任编辑:bluehearts
上一页 聚焦UML实践第一步 [1] 下一页 聚焦UML实践第一步 [3]
◎进入论坛网络编程版块参加讨论
|