模型驅(qū)動(dòng)開發(fā) |
作者:未知 來源:月光軟件站 加入時(shí)間:2005-2-28 月光軟件站 |
- OptimalJ:模型驅(qū)動(dòng)開發(fā)如何提高生產(chǎn)力介紹:OptimalJ是一個(gè)高級(jí)的企業(yè)級(jí)應(yīng)用開發(fā)環(huán)境,它使用成熟的模式(Pattern) 直接從可視化模型生成全面的、可運(yùn)行的J2EE應(yīng)用系統(tǒng),實(shí)現(xiàn)了最好的實(shí)踐經(jīng)驗(yàn)并基于J2EE規(guī)則編寫代碼。使用OMG的模型驅(qū)動(dòng)架構(gòu)標(biāo)準(zhǔn),OptimalJ幫助簡化開發(fā),使架構(gòu)師、設(shè)計(jì)人員和開發(fā)人員快速開發(fā)可靠的應(yīng)用系統(tǒng)。 OptimalJ以五個(gè)關(guān)鍵基礎(chǔ)概念為特性,將在一系列的技術(shù)白皮書進(jìn)行討論它們。 1、模型驅(qū)動(dòng)開發(fā) ― 如何提高生產(chǎn)力 2、商業(yè)規(guī)則 ― 如何適應(yīng)商業(yè)的快速變化。 3、模式 ― 如何轉(zhuǎn)換UML模型為高質(zhì)量的J2EE應(yīng)用系統(tǒng)。 4、動(dòng)態(tài)同步 ― 如何確保模型和代碼的一致性。 5、集成部署 ― 如何簡化測試。 在閱讀技術(shù)白皮書系列之前,我們強(qiáng)烈建議您訪問如下網(wǎng)址-http://www.compuware.com/products/optimalj/detail.htm,以便對(duì)OJ有一個(gè)的整體概念和理解MDA在OptimalJ中的作用。 模型驅(qū)動(dòng)架構(gòu)(MDA)的重要性在領(lǐng)導(dǎo)優(yōu)良應(yīng)用系統(tǒng)的部署中,建模是核心過程之一。建模是為了傳達(dá)系統(tǒng)應(yīng)包含的結(jié)構(gòu)和行為;建模為了可視化系統(tǒng)架構(gòu)并能掌控它;建模為了更好地理解我們正在建立的系統(tǒng);建模經(jīng)常揭示簡化和重用的機(jī)會(huì);建模為了管理風(fēng)險(xiǎn)。 然而,當(dāng)今建模面臨的問題是模型在許多組織中是基于書面的一項(xiàng)活動(dòng)。這便產(chǎn)生了模型間的同步問題,即應(yīng)用系統(tǒng)藍(lán)圖和應(yīng)用系統(tǒng)本身。因?yàn)閼?yīng)用系統(tǒng)被更新而模型沒有變化,模型僅僅作為文檔 (perspective)是沒有用的。 關(guān)鍵是在建模和開發(fā)間的鴻溝間搭建橋梁,使建模構(gòu)成整體所需要的一部分。OMG的模型驅(qū)動(dòng)架構(gòu)是志在解決此問題的框架,在此框架中模型驅(qū)動(dòng)開發(fā)進(jìn)程。MDA遠(yuǎn)景定義了一個(gè)詳細(xì)說明和構(gòu)建系統(tǒng)的新方法,用UML作為基礎(chǔ)建模。MDA擴(kuò)展了UML以前僅僅是漂亮圖片的作用。 統(tǒng)一建模語言(UML)UML是用于MDA的關(guān)鍵技術(shù)標(biāo)準(zhǔn)之一。MDA是以OMG為主導(dǎo)的,康博公司(Compuware)是該組織的成員之一。UML是一個(gè)標(biāo)準(zhǔn)化的圖形語言,可以可視化瀏覽、詳細(xì)說明、搭建和文檔化一個(gè)軟件系統(tǒng)的模型。UML給出了一個(gè)描繪系統(tǒng)藍(lán)圖的標(biāo)準(zhǔn)方法,涵蓋了概念性和具體事物,概念如商業(yè)流程和系統(tǒng)功能,具體如用特定程序語言熟悉的類,數(shù)據(jù)基礎(chǔ)大綱和可重用的軟件組件。UML是一個(gè)被廣泛采用的標(biāo)準(zhǔn),它代表了從十多年軟件系統(tǒng)建模的經(jīng)驗(yàn)總結(jié)的最好的實(shí)踐和經(jīng)驗(yàn)。建模有如下幾個(gè)主要優(yōu)點(diǎn): l 提供了應(yīng)用系統(tǒng)架構(gòu)和行為的概要視圖。 l 便利對(duì)象和規(guī)則的重用。 l 確保了開發(fā)過程的一致性。 l 運(yùn)行獨(dú)立實(shí)現(xiàn),這樣當(dāng)變化(如基礎(chǔ)技術(shù)架構(gòu))發(fā)生時(shí),模型保持有效。 模型驅(qū)動(dòng)開發(fā)實(shí)踐OptimalJ是一個(gè)以MDA為基礎(chǔ)的模型驅(qū)動(dòng)開發(fā)環(huán)境,它結(jié)合企業(yè)標(biāo)準(zhǔn)建模技術(shù)和在UML中使用的符號(hào),用來設(shè)計(jì)和開發(fā)企業(yè)J2EE應(yīng)用系統(tǒng)。 OptimalJ允許設(shè)計(jì)和開發(fā)人員在更高的抽象層次上進(jìn)行開發(fā),從一開始就減少J2EE平臺(tái)和復(fù)雜性。從建模到部署,在OptimalJ中的應(yīng)用開發(fā)都是模型驅(qū)動(dòng)。OptimalJ通過可視化模型確保定義和重用。模型驅(qū)動(dòng)開發(fā)范例允許設(shè)計(jì)和開發(fā)人員集中在做什么,而不是如何做。 OptimalJ域模型的定義OptimalJ高級(jí)模型驅(qū)動(dòng)開發(fā)環(huán)境的核心是以UML為基礎(chǔ)的域模型(Domain Model)。域模型是一個(gè)高層次的對(duì)象模型,包含應(yīng)用系統(tǒng)的信息結(jié)構(gòu)和行為以及不同數(shù)據(jù)結(jié)構(gòu)間的關(guān)系。域模型是一個(gè)商業(yè)為中心的模型并調(diào)整商業(yè)信息的集成,它不關(guān)注技術(shù)細(xì)節(jié)并和OMG的MDA中的平臺(tái)無關(guān)模型(PIM)對(duì)應(yīng)。換言之,域模型不包含實(shí)現(xiàn)和代碼細(xì)節(jié),例如不包含實(shí)現(xiàn)應(yīng)用系統(tǒng)所必須的技術(shù)類。開發(fā)和完善域模型時(shí),OptimalJ允許設(shè)計(jì)人員以聲明方式定義商業(yè)規(guī)則,例如初始值的設(shè)置和級(jí)聯(lián)刪除約束。域模型的所有定義在低層的應(yīng)用模型和實(shí)際的代碼中被重用和繼承。設(shè)計(jì)人員在域模型定義的內(nèi)容越多,從域模型自動(dòng)生產(chǎn)的內(nèi)容越多。1 域模型層將設(shè)計(jì)人員和底層的實(shí)現(xiàn)細(xì)節(jié)隔離,讓他們將工作重心集中在應(yīng)用系統(tǒng)的功能而不是J2EE平臺(tái)的具體實(shí)現(xiàn)細(xì)節(jié)。而且,設(shè)計(jì)人員能夠在模型層快速修改。 OptimalJ在域模型標(biāo)識(shí)兩種模型:域類模型(Domain Class Model)和域服務(wù)模型(Domain Services Model)。 域類模型定義應(yīng)用系統(tǒng)運(yùn)行依賴的信息結(jié)構(gòu),例如客戶、訂單、產(chǎn)品和它們的屬性、關(guān)系、集成、商業(yè)方法( 操作)和商業(yè)規(guī)則。 域服務(wù)模型以獨(dú)立實(shí)現(xiàn)的方法定義應(yīng)用系統(tǒng)的交易,例如訂單登錄、根據(jù)訂單開發(fā)票、訂單發(fā)貨和其他典型的商業(yè)任務(wù)。服務(wù)模型的關(guān)鍵優(yōu)勢(shì)是它能生成自動(dòng)生成會(huì)話組件(Beans),會(huì)話組件的典型特征是定義應(yīng)用系統(tǒng)的行為。 |
聯(lián)系客服