李維關於Together的講座要點
——UMLChina講座錄音及幻燈20051214李維Together2006和UML2.0模型驅動開發
2007-11-11
軟件工程越來越重要、普及
越來越多的IDE引入軟件工程。開發中所採用的軟件工程將決定採用的語言開發工具。
目前各種開發方法還無法涵蓋軟件開發的整個過程。如MDA應用於design和development階段。XP關注development和test階段。所以必須瞭解各種軟件工程方法後面的含義,知道每種方法適用的開發階段。
CMM是未來軟件開發的基本要求。
軟件開發發展的幾個階段:
-
Information technology (technology itself)
-
Software engineering (methodology)
-
Process improvement (s.o.p optimization)
-
People improvement (all of us)
軟件開發最終的目的:質量
需要解決的問題
設計模型一定是正確的嗎?測試、驗證要從設計開始。
不同設計模型如何相互轉換?設計、開發、測試使用不同的模型,如何保證模型之間的轉換沒有問題。
如何使用Open source
使用前要考慮幾個問題:
-
爲什麼要用?
-
如何選擇最好的版本?
-
能得到什麼?
使用open source可以學習軟件架構,提升軟件技術。爲達到這個目的,我們需要工具的幫助。
爲什麼使用Together2006
跳出UML範疇,更好的利用軟件工程。
可以在建模的時候進行測試,驗證軟件的品質。
方便模型的轉換。
對代碼進行逆向工程,方便掌握架構,提升能力。
分析評估代碼的質量。
模型的轉換無處不在
語言, 模型, 系統
模型轉換的場景:
1) 數據庫建模;
2) 重構;
3) UML生成代碼。
爲了能夠執行、驗證模型,需要定義精確的模型。需要工具提供對模型進行檢查,定義準確的、合理的模型。
MDA
基本的思想:集中精力在設計階段,以模型爲中心。
MDA是OMG相關規範的集合:UML2.0,OCL, MOF, XMI, CWM, QVT
模型是如何轉換的:
Model A -----> Metamodel A ------> Metamodel B ------> Model B
Metamodel 用來定義Model,只要定義兩種Model之間的Metamodel轉換關係,就可以實現兩種模型之間的轉換。