自己最近在學習MDA,在看一本名為MDA Explained:The Model Driven Architecture:Practice and Promise,以下是自己的總結(jié),如有不對,請厲聲指出。
1.什么是MDA?
MDA是軟件開發(fā)的一個框架,由OMG(Object Mangemnet Group)定義。對于MDA的重點是軟件開發(fā)過程中的各個模型。在MDA中,軟件開發(fā)過程是以對系統(tǒng)建模為驅(qū)動的。
2.MDA開發(fā)的生活周期如下圖所示
3.MDA中的三個重要的模型
(1)PIM(platform independent model):對系統(tǒng)的高層次的抽象,獨立于任何的實現(xiàn)技術
(2)PSM(platform specific model):系統(tǒng)相關的模型,系統(tǒng)架構(gòu)由特定的技術實現(xiàn),PIM可以轉(zhuǎn)換成一個或多個PSM
(3)Code,對系統(tǒng)的一個源碼級的描述(規(guī)范),每個PSM都被會轉(zhuǎn)換成Code
在傳統(tǒng)的開發(fā)過程中,模型到模型的轉(zhuǎn)換,或是模型到代碼的轉(zhuǎn)換都是人工做的,而MDA中的轉(zhuǎn)換都是通過工具自動來實現(xiàn),包括PIM到PSMs的轉(zhuǎn)換。