模型驅動開發 基本模型 外掛程式模型的開發方法

2021-05-26 09:10:14 字數 1597 閱讀 8841

任何乙個複雜的系統都應該存在簡單的規則,可以使用一些基本元素組合構建而成。這樣的系統在數學上被認為是簡潔和優美的。這一點在軟體中最容易歸納出來。人們也一直試圖找出一種簡潔方便方法和系統來構建軟體。

軟體的乙個特性是相似性。我們寫過大量**後會發現:很多**都有相當程度的相似性。我們每個人每天只是重複寫其他人寫過的**或者組合別人的**。軟體的相似性,讓我們有可能找到組成軟體的簡單規則和基本元素。

首先每乙個軟體的基本架構所包含的要素都是相同的,如介面、實體、功能等等。將基本要素用結構化的資料描述組成一種模型,可以稱其為基本模型。

其次軟體的處理模式有相似性, 如果我們為這種模式命名,用屬性描述模式的變化,最後抽象成另一種模型,我們稱之為外掛程式模型。這些模型依附於基本模型。

基本模型是軟體系統的共性,外掛程式模型是軟體的特殊性。特殊性建立在共性基礎之上。基本模型是固定的,外掛程式模型是多樣的。當遇到新的模式,只需增加新的外掛程式或者新的屬性。這樣就能解決軟體多樣性的問題,做出豐富的軟體功能。

構造外掛程式模型的方法和人們歸納認識新事物相似:觀察特性,歸納共性,創立新概念,建立新模型供人使用。使用外掛程式讓軟體復用更加容易和有效。

如果將軟體元資料比作骨架,將不容易修改**比作肌肉,那麼現在的軟體全部用**構成,就像軟體動物一樣,只有肌肉組織沒有骨架,不能適應變化。「基本模型+外掛程式模型」的方式將軟體的基本架構用結構化的資料描述,將實現功能的**以外掛程式的形式附著在這些基本結構之上,這樣的軟體就像有骨有肉的脊柱動物,適應性更廣闊的環境。

目前雖然有一些公司也提供模型驅動開發平台,但大部分都停留在使用基本模型描述軟體系統這一階段,沒有提供通過外掛程式或其他方式擴充套件基本模型的功能,這樣開發人只能使用平台提供的大量內建功能,平台提供的無用功能無法去掉,而使用者需要的特殊功能加不進去。很難擴充套件平台的本身,因此很難做出豐富多樣的軟體。

通過多年摸索和實踐,西安賽斐軟體公司開發出一套模型驅動的軟體開發平台—imodel studio。它包括建模工具和模型執行引擎,使用「基本模型+外掛程式模型」的方法描述和構建軟體系統。它使用基本模型描述軟體的各個部件和基本功能,用外掛程式模型描述特殊的業務功能,用模型引擎載入並執行模型,在執行態修改模型、調整外掛程式,同時imodel studio 實現了抽象模型、模型繼承、模型介面等高階模型復用技術,進一步簡化開發步驟,快速完成軟體開發。

imodel studio 讓計算機直接執行抽象層次較高的模型,而不是低階的**,解決了設計人員、程式設計人員和計算機因為使用不同語言需要互相翻譯而產生的"阻抗「的問題。

imodel studio使用微核心技術,它的執行引擎很小,基本模型也只包括了實體、介面、功能、選單等軟體基本元素,但它同時包括了超過100個外掛程式模型,使用這些外掛程式,可以簡單地處理極為複雜的企業級應用邏輯。最為難能可貴的是它的建模工具本身也是使用「模型+外掛程式」配置出來的,實現了模型工具的自描述功能。在此基礎之上使用者也可以使用「模型+外掛程式」這一概念,通過自定義模型和外掛程式擴充套件平台本身,從而實現任何複雜的應用系統。

使用過面向過程、物件導向的語言和各種設計模式之後,首次遇到模型驅動的開發方法時,多數設計師會認為模型就是構建軟體的基石。但是模型驅動方法已經提出近十年,一直沒有推廣開來。我們認為它沒有有效解決軟體多樣性的問題,也沒有充分歸納軟體的相似性。而基本模型和外掛程式模型相結合的技術,解決了單一模型和軟體多樣性的的矛盾,是軟體開發方法從面向機器、面向過程、物件導向到面向模型發展道路上乙個新的里程碑。

模型驅動開發 基本模型 外掛程式模型的開發方法

任何乙個複雜的系統都應該存在簡單的規則,可以使用一些基本元素組合構建而成。這樣的系統在數學上被認為是簡潔和優美的。這一點在軟體中最容易歸納出來。人們也一直試圖找出一種簡潔方便方法和系統來構建軟體。軟體的乙個特性是相似性。我們寫過大量 後會發現 很多 都有相當程度的相似性。我們每個人每天只是重複寫其他...

模型驅動開發

模型驅動開發 mdd model driven developement 是更偉大視景mda 模型驅動體系架構 model driven architecture 中的一部分 mdd開發更快速 使開發成本更低 提高開發質量 使架構更加強壯 出錯率更低 有效性驗證 可以提供最新的文件 模型就是文件 使...

Windows的驅動開發模型

windows的驅動開發模型 在windows的不同版本上開發的驅動程式 模型 模型這個詞語應該 於單詞 mode 在windows nt上,驅動程式被稱為kernel driver mode驅動程式。筆者認為這個mode是指一種驅動程式的結構和運作的規範 有過不同的名稱。比如在windows 9x...