定位:怎么使用UML?
"黑夜給了我黑色的眼睛,我卻用它尋找光明."同樣一件東西怎么用確是不一定的,對于UML怎么使用也要有一個(gè)定位。Martin Fowler先生給出了三種使用使用UML的方式:藍(lán)圖blueprints ,骨架 sketches,編程語言。
三種使用方式比較容易區(qū)分出來的是:作為編程語言使用.ExecutedUML對工具的要求是非常高的-需要處理代碼和圖的同步問題等等.這里不做展開討論,大家可以到國家文獻(xiàn)中心找到更多相關(guān)資料:
源文檔 <http://s.wanfangdata.com.cn/paper.aspx?q=executed%20UML&n=10&f=top> UML作為編程語言,典型應(yīng)用時(shí)MDA.UML是MDA的事實(shí)標(biāo)準(zhǔn),占領(lǐng)了90%的市場份額.“MDA 的愿景是定義一種描述和創(chuàng)建系統(tǒng)的新的途徑。MDA 使得UML 的用途走得更遠(yuǎn),而不僅僅是美麗的圖畫。很多專家預(yù)言MDA 有可能會(huì)帶領(lǐng)我們進(jìn)入軟件開發(fā)的另一個(gè)黃金時(shí)代"。
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>
難以區(qū)分的是藍(lán)圖blueprints 和骨架 sketches,從中文說文解字的角度我們無法獲得一個(gè)滿意的答案.按照Martin Fowler先生的論述我將二者的區(qū)別通過表格的形式列了出來,通過比較還是能看出各中端倪的:
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勾勒重點(diǎn),藍(lán)圖blueprints注重完整性,無微不至.前者是一種探索性的explorative,后者是定義性的definitive。對于后者,一旦藍(lán)圖確定,編碼工作基本上就沒有什么創(chuàng)造性了.
出處:回頭再說
責(zé)任編輯:bluehearts
上一頁 聚焦UML實(shí)踐第一步 [1] 下一頁 聚焦UML實(shí)踐第一步 [3]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|