成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用模型驅(qū)動開發(fā)(MDD)的十五個理由

原創(chuàng)
開發(fā) 架構(gòu)
什么是模型驅(qū)動開發(fā)(MDD)?為什么使用MDD?本文將回答這些問題,告訴您在軟件項目中使用模型驅(qū)動開發(fā)的十五個理由。

【51CTO譯文】什么是模型驅(qū)動開發(fā)(MDD)?為什么使用MDD?本文將回答這些問題,告訴您在軟件項目中使用模型驅(qū)動開發(fā)的十五個理由。

1、MDD開發(fā)更快速

相比傳統(tǒng)軟件開發(fā),模型驅(qū)動開發(fā)(MDD)的軟件項目中,應(yīng)用程序被指定為一個更高層次的抽象模型。通過對模型的解釋/執(zhí)行或產(chǎn)生的代碼,抽象模型會自動轉(zhuǎn)化為可工作的軟件應(yīng)用。

在代碼方面,因為模型具有更高的抽象層次,所以比相同實現(xiàn)的其他方式具有更小的代碼量。換句話說,模型中的每個元素(符號或其它偽編程語言)可以代表多行代碼;這樣,我們可以在相同的時間內(nèi)實現(xiàn)更多的功能。比如,對比Mendix和Java開發(fā), MetaEdit+或其他MDD開發(fā)工具比傳統(tǒng)開發(fā)方式快五倍的速度。

2、MDD使開發(fā)成本更低

MDD能夠以更低的成本高效的實現(xiàn)項目。正如上文所說,MDD的開發(fā)速度更高,可以縮短軟件產(chǎn)品的交付日期,提早上市時間。其次,使用MDD本身就可以用較低的成本完成開發(fā);比如,可以用更少的工程師和非專業(yè)人士并保證軟件高質(zhì)量的完成。當然,能節(jié)約多少成本還取決于學(xué)習(xí)MDD的成本和開發(fā)或購買MDD開發(fā)工具的成本。

另外,使用MDD來改變正在開發(fā)和維護的項目也能夠節(jié)約成本。在維護方面,閱讀高抽象模型的應(yīng)用程序行為更加容易(詳細參考第六點),此外,我們還可以更快的使用高級語言添加或改進產(chǎn)品的功能。

3、MDD可以提高開發(fā)質(zhì)量

在使用MDD的軟件開發(fā)過程中,應(yīng)用程序使用高級的抽象模型,而模型由一個引擎執(zhí)行或被解釋成代碼;所以,該程序模塊的質(zhì)量將取決于執(zhí)行引擎或解釋器,而執(zhí)行引擎或解釋器一般是由一流軟件公司和專家級程序員打造的。

此外,我們在項目中所使用的所有好的方法都可以包含在模型驅(qū)動開發(fā)(MDD)引擎中,并且在使用MDD工具開發(fā)軟件時應(yīng)用到你的項目中。如果你購買了一個MDD工具,你也同時購買了眾多優(yōu)秀的開發(fā)工具,因為MDD工具建立在過去所有軟件項目的優(yōu)秀技術(shù)總結(jié)。

4、MDD出錯率更低

每個具有軟件開發(fā)經(jīng)驗的人都知道,測試會花費開發(fā)人員大量的時間和精力。MDD可以確保我們專注于程序功能的測試,這意味這我們只需進行驗收測試。技術(shù)細節(jié)的測試已經(jīng)包含在MDD測試工具中。比如,對基礎(chǔ)構(gòu)造或安全問題的測試。

5、MDD的有效性驗證

在使用MDD時,程序功能本身是低錯誤的,因為程序的有效性驗證時在MDD的高層模型中完成的。我們知道,在使用傳統(tǒng)的編程語言時,IDE會提供一些語法檢查,甚至?xí)M行靜態(tài)代碼的分析。但這并不能真正幫助我們避免程序的功能性錯誤。

當使用MDD方法時,對特定領(lǐng)域的有效性驗證可以在系統(tǒng)設(shè)計時進行,由此產(chǎn)生的錯誤也可以控制在一定的范圍內(nèi)。比如對本文的一個靜態(tài)文本驗證。在使用Mendix模型環(huán)境中,我們可以使用實時的一致性檢查以確保模型的一致性并保證其可以在運行時環(huán)境執(zhí)行。

6、MDD使人在軟件中的影響降低

在第二點中我們提到過使用MDD可以用更少的工程師和非專業(yè)人士并保證軟件高質(zhì)量的完成。當你不再需要技術(shù)專家來建立軟件,你可以挑選更多人來為你工作。另外,與傳統(tǒng)的開發(fā)方式相比,在使用MDD的項目中,如果有人中途加入,他可以更簡單的理解軟件應(yīng)用的高級模型,因為他不必為搞懂程序的某些功能而閱讀大量的源碼。

7、MDD給行業(yè)專家更高多空間

MDD可以使行業(yè)專家專注于軟件的行業(yè)特性,而技術(shù)專家將集中精力用于構(gòu)建MDD的工具(詳見第八點)。構(gòu)建復(fù)雜的應(yīng)用程序?qū)⒉辉偈蔷⒊绦騿T的專利,在MDD項目中,將允許行業(yè)專家用他們自己的知識系統(tǒng)使用特定的符號構(gòu)建一個模型,并使之融入高層的程序模型中。

8、MDD使高階程序員只做他們該做的事

在使用MDD開發(fā)的項目中,開發(fā)人員很少進行重復(fù)性的工作。他們將有更多的機會在他們的工作中發(fā)揮創(chuàng)造性。比如,他們可以關(guān)注如何構(gòu)建MDD工具;他們可以指導(dǎo)程序新手進行軟件的初級開發(fā)或配合行業(yè)專家進行系統(tǒng)建模。高級程序?qū)⒂酶嗟木θソ鉀Q應(yīng)用程序中關(guān)鍵部分的技術(shù)攻關(guān)。比如,行業(yè)專家可以為圖形用戶接口、處理流程和商業(yè)規(guī)則創(chuàng)建模型。應(yīng)用的集成部分(WebServices、API調(diào)用、數(shù)據(jù)庫成等)對行業(yè)專家和開發(fā)新手存在困難,但這部分工作留給高級程序員去關(guān)注。高級程序員可以輕松而富有創(chuàng)造性的搞定這類項目中難度較大的部分。

9、MDD將消除業(yè)務(wù)和IT之間的隔閡

業(yè)務(wù)和IT的完美對接是在軟件開發(fā)中經(jīng)常被談及的。MDD可以用以下方法使商業(yè)和IT之間走的更近:

◆行業(yè)專家或業(yè)務(wù)分析人員可以直接的參與開發(fā)過程(參考第七點)。軟件的應(yīng)用部分被定義為一個很高的抽象模型,這些模型將無限接近業(yè)務(wù)概念中的描述和定義。

◆因為MDD可以更快速的進行開發(fā)(參考第一點),軟件的構(gòu)建過程將更少的迭代,這將使軟件更符最初的需求(軟件交付日期縮短,從市場策劃到最終用戶的周期變短)。

◆業(yè)務(wù)和模型以及模型和IT系統(tǒng)之間的定義更加明確。比如,使用模型驅(qū)動的面向業(yè)務(wù)需求(SOA)的一個框架。

10、MDD使軟件開發(fā)不再懼怕商業(yè)需求變更

軟件開發(fā)界當前存在的一個問題是商業(yè)需求的經(jīng)常變化,而且這種變化的速度遠遠高于軟件系統(tǒng)本身所容納的限度。這主要是目前企業(yè)的長期戰(zhàn)略無法保持足夠的時間就產(chǎn)生變化并導(dǎo)致核心IT業(yè)務(wù)經(jīng)常變化。當前動態(tài)的商業(yè)環(huán)境不得使企業(yè)有足夠的反應(yīng)時間。

但MDD可以提供有效的解決方案,因為MDD可以使軟件開發(fā)更加快速(參考第一點),它還可以是應(yīng)用程序的改變更加容易(參考第二點和第六點)。如何商業(yè)需求和軟件應(yīng)用模型的關(guān)聯(lián)足夠明確,需求變化甚至可以自動傳遞到軟件應(yīng)用部分的變化(參考第九點)。

11、由技術(shù)產(chǎn)生的軟件變化更少

技術(shù)的更新與變化越來越快。想想Java EESOA/SOBA、WebServers、RESTOSGi和最近一年云計算帶來的技術(shù)變革。MDD可以確保我們的應(yīng)用程序模型在遷移到其他技術(shù)平臺時不會發(fā)生變化;我們只需根據(jù)所變更的技術(shù)平臺相應(yīng)的改版代碼編譯器或解釋器。更換解釋器后,所有的程序模型將直接被編譯成新平臺的代碼。

12、MDD使架構(gòu)更加強壯

公司經(jīng)常會定義架構(gòu)標準,軟件開發(fā)必須按照這些標準行事。但當所有代碼都用手創(chuàng)建時如何檢查或執(zhí)行這些架構(gòu)標準?當選擇MDD進行項目開發(fā)時,應(yīng)用程序會遵守既定的架構(gòu)標準。你可以確保IT架構(gòu)的標準化,因為這些架構(gòu)標準在MDD工具中被定義。

一般,功能性的架構(gòu)標準將指導(dǎo)功能設(shè)計。這些標準表現(xiàn)在你所采用的DSL(領(lǐng)域特定語言)。在MDD中,架構(gòu)標準指導(dǎo)功能設(shè)計,并將在代碼編譯器和解釋器中得到體現(xiàn)。

13、MDD使開發(fā)人員獲得更多行業(yè)知識

MDD的另一個好處是你不只是建立一個軟件,在高層的軟件模型中,你將獲得所建立軟件的領(lǐng)域知識。在大多數(shù)軟件項目中,領(lǐng)域需求的描述并不清晰,我們通常需要與行業(yè)專家或領(lǐng)域內(nèi)不同的用戶接觸,用他們的專業(yè)知識來描述系統(tǒng)需求并建模。在MDD中,基于高度抽象的領(lǐng)域模型,我們可以通過行業(yè)專家對應(yīng)用模型的描述獲得深入了解具體應(yīng)用領(lǐng)域的機會。

14、MDD可以提供最新的文檔

當使用MDD進行項目開發(fā)時,我們無需再忍受不完整或不及時的文檔,因為模型就是文檔。當使用正確的抽象方法,模型的描述對行業(yè)專家和項目需求方具有很高的易讀性(請參考第十三點)。

15、MDD使項目重心放在業(yè)務(wù)問題,而不是技術(shù)

就行前面提到的,MDD可以讓我們更多的關(guān)注業(yè)務(wù)問題而不是如何將這些問題用技術(shù)實現(xiàn)。所以,不要再討論我們該使用Java EE還是.NET,應(yīng)該盡快開始MDD的學(xué)習(xí)和項目實踐。

原文:15 reasons why you should start using Model Driven Development

鏈接:http://www.theenterprisearchitect.eu/archive/2009/11/25/15-reasons-why-you-should-start-using-model-driven-development

【編輯推薦】

  1. 模型驅(qū)動開發(fā)的誤解和挑戰(zhàn)
  2. UML2.0使模型驅(qū)動的開發(fā)更加容易
  3. 詳解設(shè)計測試驅(qū)動開發(fā)TDD技術(shù)總體流程
責任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2010-01-04 10:09:49

2022-01-06 15:21:32

pipPython技巧

2012-03-06 14:38:23

Visual Stud

2015-10-29 09:46:29

PHP開發(fā)工具

2019-07-16 13:15:38

Kafka分布式數(shù)據(jù)

2016-12-05 15:15:52

JavaScriptCSS庫

2021-12-20 09:35:14

Kubernetes命令Linux

2010-09-03 09:22:19

Linux命令行

2017-12-04 09:50:55

數(shù)據(jù)中心遷移實踐

2017-12-03 15:41:26

數(shù)據(jù)中心遷移基礎(chǔ)設(shè)施

2012-08-22 15:00:04

2013-08-09 09:39:21

程序員程序員圖片搞笑程序員

2012-02-22 09:23:03

2016-12-28 11:23:59

優(yōu)化iOS程序性

2020-12-22 13:49:23

開發(fā)編碼框架

2021-12-08 11:50:07

Python游戲網(wǎng)站編程語言

2021-09-28 10:06:54

數(shù)字化轉(zhuǎn)型CIO數(shù)字化

2015-07-28 14:05:01

IT 技術(shù)人考慮

2021-11-02 14:46:13

新華三

2020-06-04 08:15:53

Kubernetes容器PaaS
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品海角社区在线观看 | 久久综合久久综合久久 | 欧美中文一区 | 日韩一级免费观看 | 在线免费观看欧美 | 国产美女自拍视频 | 九九热精品免费 | 久久久新视频 | 99热精品在线观看 | 亚洲在线一区 | 91精品国产欧美一区二区成人 | 在线欧美视频 | 国产一区二区三区四区三区四 | 国产精品视频入口 | 欧美一区二区三区久久精品 | 黄色毛片在线观看 | 最新中文字幕在线 | 日韩av一二三区 | 91精品国产一区二区三区香蕉 | 四虎影视免费观看 | 国产视频久久久 | 国产视频精品在线观看 | 国产日韩精品在线 | 国产电影一区二区在线观看 | 国产精品美女一区二区三区 | 亚洲电影第1页 | 久久久国产一区二区三区四区小说 | 日韩精品福利 | 欧美色综合一区二区三区 | 国产日韩精品久久 | 国产精品免费一区二区 | 久久精品小视频 | 黄色免费观看 | 成人伊人 | av片在线观看 | 日韩精品在线播放 | 日韩成人在线看 | 欧美综合久久久 | 日韩欧美在线观看 | 亚洲色在线视频 | 日韩精品视频在线 |