模型驅動開發(MDD)的未來

2021-09-05 04:58:32 字數 1100 閱讀 6791

目前公司所從事的專案是採用建模方式實現wimax的呼叫處理的,應當說是乙個典型的mdd(model-driven development)專案。mdd或是mda(model-driven architecture)是目前軟體行業的乙個熱門,也是一項處在發展和完善階段的技術。我所在的公司採用mdd開發方法,所有的業務**都是從uml模型生成,就目前公司對於mdd開發實踐的經驗來看,mdd還有很長的路要走。mdd在未來要被大型專案廣泛採用,我想以下幾點是必需要得到解決。

1)模型的合併(merge)問題。我們知道對於小型的軟體專案,開發人員相對少,而且專案也不複雜,那麼對於並行開發所出現的合併問題,應當說所花的代價可能相對的少。但對於大型專案,我們不得不考慮多個開發子團隊同時並行開發時,模型的合併所花費的代價。更有可能,合併的花費造成並行開發成為不可能。根據我們的經驗,在我們開發人員大約在50人左右時,合併問題就已經是乙個令人相當頭痛的問題了。當前,公司採用mdd的幾個產品都不想繼續採用mdd,但是要完全拋棄mdd,需要很大的工作量,所以現在大家都處於煎熬當中。以圖型表達為開發方式的mdd,應當說如果只是將其運用於需求分析,或是概要設計還是可以的,但如果將其運用於詳細設計以及最終由其生成**,那麼mdd必須要找到一種如的方法(演算法)來解決圖型的合併問題。與**合併所不同的是,圖形的合併更為複雜。

2)模型的測試問題。**單元測試(unit test)是目前軟體行業廣泛採用的軟體開發測試方法,採用mdd開發方法,我想也必然要面對與**單元測試相似的問題,或說需要模型的單元測試方法,而模型的單元測試我想更為複雜。這一點不得到解決,我們是很難相信其質量的。

3)可讀性和可維護性問題。對於**我們往往可以找到乙個入口(類似於c中的main函式),通過從入口入手,我們可以慢慢的摸清軟體是如何實現其功能(或是行為)的,但對於建模工具來說,這一點有可能不是這麼直觀。目前我們所採用的建模工具就存在類似的問題,往往要知其所以然,還得花不少的功夫。此外,模型所採生的**往往其可讀性很差,就目前我的經驗來看可以說是「非人能讀的」,而建模工具往往自身也是有問題的,有時,不得不從其生成的**中通過除錯來找到問題,這可以說是另一種煎熬。

綜上所述,個人認為mdd的思想是好的,而且運用在一定的場合會帶來很大的好處,畢竟圖形有乙個先天的好特性「一幅(好)圖勝過千言萬語」,但要將mdd運用到**生成級,那,mdd還有很長的路要走。

模型驅動開發(MDD)介紹

在過去多年,軟體開發面臨了多個挑戰,新的需求和存在系統不斷增長,系統也變得越來越複雜,以至於我們很難及時的構建它們。為了解決這些問題,就出現了很多新的方法,其中最突出的乙個就是模型驅動開發。mdd代表了一套理論和工業化軟體開發的方法框架,在軟體開發全生命週期中系統的的使用模型作為主要工件,它主要為了...

模型驅動開發(MDD)介紹

在過去多年,軟體開發面臨了多個挑戰,新的需求和存在系統不斷增長,系統也變得越來越複雜,以至於我們很難及時的構建它們。為了解決這些問題,就出現了很多新的方法,其中最突出的乙個就是模型驅動開發。mdd代表了一套理論和工業化軟體開發的方法框架,在軟體開發全生命週期中系統的的使用模型作為主要工件,它主要為了...

模型驅動開發(MDD)介紹

在過去多年,軟體開發面臨了多個挑戰,新的需求和存在系統不斷增長,系統也變得越來越複雜,以至於我們很難及時的構建它們。為了解決這些問題,就出現了很多新的方法,其中最突出的乙個就是模型驅動開發。mdd代表了一套理論和工業化軟體開發的方法框架,在軟體開發全生命週期中系統的的使用模型作為主要工件,它主要為了...