国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
月光軟件站 - 編程文檔 - Java - 模型驅(qū)動(dòng)開發(fā)
模型驅(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è)的整體概念和理解MDAOptimalJ中的作用。

模型驅(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é)并和OMGMDA中的平臺(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)的行為。

域模型的可視化

編輯域模型可以在圖形化的域模型編輯器或模型資源導(dǎo)航器中的中進(jìn)行。

域模型編輯器在網(wǎng)格上顯示所有的類和它們的關(guān)系。類圖以UML符號(hào)為基礎(chǔ)并包含屬性和操作。關(guān)聯(lián)端用一個(gè)數(shù)字和象征性的符號(hào)顯示多重性。一個(gè)小菱形標(biāo)識(shí)聚合關(guān)系。你可以在類編輯器中將類圖放大、縮小或移動(dòng),也可以通過小拇指視圖以及布局管理方便地瀏覽類圖。在許多種情況下,結(jié)構(gòu)或模型已經(jīng)存在,此存在的結(jié)構(gòu)或模型可以作為域模型的開始點(diǎn)。例如,已經(jīng)存在的某種UML模型工具定義的模型或客戶已經(jīng)使用的包含數(shù)據(jù)關(guān)系的數(shù)據(jù)庫,可以在域模型中重用。OptimalJ提供了UML/XMI導(dǎo)入/導(dǎo)出工具,域模式和DBMS導(dǎo)入工具來處理這些情境。

 

 

UML/XMI 導(dǎo)入/導(dǎo)出工具

當(dāng)設(shè)計(jì)人員用第三方UML建模工具,例如Rational Rose,他們盡可能從建模階段重用以有效地利用以前的工作成果。在以UML為基礎(chǔ)的建模有幾個(gè)階段,每個(gè)階段有不同的模型活動(dòng)。范圍從在概念階段的高層分析到最終的單個(gè)組件的細(xì)節(jié)模型。當(dāng)模型完成時(shí),最終產(chǎn)生可用的類模型。類模型可以導(dǎo)出為XML元數(shù)據(jù)接口(XMI)文件。用OptimalJUML/XMI導(dǎo)入/導(dǎo)出工具,XMI文件能夠移植到OptimalJ的域模型。一旦導(dǎo)入完成,用OptimalJ的域模型編輯器可以查看、擴(kuò)展和修改域模型。另外,如果創(chuàng)建或更新域模型時(shí),在必要情況下可以通過導(dǎo)入/導(dǎo)出工具和其他建模工具交互。

域模式(Domain Patterns)

UML建模是一個(gè)費(fèi)時(shí)和復(fù)雜的過程。OptimalJ通過域模式簡化這個(gè)過程。域模式幫助設(shè)計(jì)人員創(chuàng)建可以重用的的模型,加速建模階段并減少錯(cuò)誤。因此,域模式加速新模型的創(chuàng)建。域模式可以將模型拷貝到空的目標(biāo)域模型或同已經(jīng)存在的域模型進(jìn)行合并。在OptimalJ中,這個(gè)過程稱為模式組合。在模式組合時(shí),從源域模式可以繼承和合并關(guān)聯(lián)和屬性。

域模式用新建域模型相似的方式創(chuàng)建,但與域模型不同的是,域模式在域模式庫中創(chuàng)建。模式庫保存、分組和組織域模式,用一個(gè)完全兼容的UML/XMI格式做為域模式模塊。

域模式給設(shè)計(jì)人員帶來了一些關(guān)鍵優(yōu)點(diǎn):

1.         設(shè)計(jì)人員能夠在不同應(yīng)用系統(tǒng)間重用域模型或域模型的子集,以此減少在建模階段的錯(cuò)誤。

2.         域模式強(qiáng)制設(shè)計(jì)人員基于標(biāo)準(zhǔn)和最好的實(shí)踐用一致性的方法為應(yīng)用系統(tǒng)建模。

3.         域模式增加了建模階段的生產(chǎn)力。

DBMS導(dǎo)入工具

OptimalJ中客戶可以重用已經(jīng)存在的數(shù)據(jù)庫。如果該數(shù)據(jù)庫能通過JDBC驅(qū)動(dòng)訪問,分類文件能夠?qū)氲綉?yīng)用模型層的DBMS模型。OptimalJ通過“關(guān)系型到面向?qū)ο?#8221;的鏡像模式,自動(dòng)轉(zhuǎn)換DBMS模型到域模型。在正常情況下,首先,定義域模型,然后從域模型產(chǎn)生DBMS模型,但在導(dǎo)入情況下,以重用已存在的數(shù)據(jù)庫做為應(yīng)用系統(tǒng)的基礎(chǔ)。

 

OptimalJ應(yīng)用模型的來源

一旦第一次域模型迭代完成,OptimalJ自動(dòng)轉(zhuǎn)換域模型到應(yīng)用模型。OptimalJ的應(yīng)用模型對(duì)應(yīng)于OMGMDA的對(duì)象相關(guān)模型(PSM),應(yīng)用模型目標(biāo)集中在J2EE平臺(tái)。從域模型到應(yīng)用模型的鏡像和轉(zhuǎn)換由OptimalJ的技術(shù)模式2來處理。

產(chǎn)生的應(yīng)用模型包含三種模型:

l         展示(WEB)模型

l         業(yè)務(wù)邏輯(EJB)模型

l         數(shù)據(jù)庫(DBMS)模型

為了完成J2EE應(yīng)用系統(tǒng),應(yīng)用模型定義了開發(fā)J2EE所需的內(nèi)容。模型展示了由每一層構(gòu)成所有J2EE組件的概要視圖。用這種方法,當(dāng)技術(shù)方面軟件升級(jí)和變化時(shí),而從商業(yè)方面的域模型卻可以保持不變。

展示(WEB)模型

產(chǎn)生應(yīng)用系統(tǒng)WEB前端需要的信息包含Web模型。通過編輯代碼模型中模版、層疊樣式表單(CSSs)JSP頁面,你可以修改自動(dòng)生成應(yīng)用系統(tǒng)的外觀(Look and feel)。鏡像模式從域模型生成WEB模型,自動(dòng)鏡像域模型的元素到WEB模型的元素。在WEB模型的重要元素有:

l         web模塊(modules)――web組件的包容器。

l         web數(shù)據(jù)大綱(Data Schema)――定義了一個(gè)數(shù)據(jù)類的集合

l         web組件――定義了指定數(shù)據(jù)類集合的用戶接口

l         web驗(yàn)證組件――為應(yīng)用系統(tǒng)定義驗(yàn)證方法

web展示類型――定義展示和校驗(yàn)

開發(fā)人員能根據(jù)向?qū)?/span>(wizards),以聲明的方式盡一步精制(refine)Web模型。精制的一個(gè)例子是用戶接口的擴(kuò)展。因?yàn)椴季趾透袷交瘜傩詢H能在WEB模型層定義,OptimalJ確保這些屬性在全部應(yīng)用系統(tǒng)內(nèi)保持一致。使用在不同展示組件如JSP頁面的一個(gè)屬性,繼承在這個(gè)模型中定義的布局和格式化方式。因?yàn)橐砸环N聲明的方式進(jìn)行許多精細(xì),使展示組件開發(fā)更快速。定義在模型中格式化和布局屬性,最終體現(xiàn)在生成的代碼中。

因?yàn)橛凶兏鼤r(shí)僅需要在應(yīng)用模型修改一次,系統(tǒng)的維護(hù)變的更為容易。當(dāng)精細(xì)WEB模型元素的屬性時(shí),開發(fā)人員對(duì)他們的配置有更多的想法。這包括設(shè)置日期或數(shù)字格式、選擇大小寫的轉(zhuǎn)換、對(duì)一個(gè)元素的HTML類型和設(shè)置某種HTML屬性,包括層疊式表單。另外,開發(fā)人員可以在OptimalJ用正則表達(dá)式去建模數(shù)據(jù)校驗(yàn)(如特定格式的校驗(yàn))。定義后的屬性將傳導(dǎo)到在展示層產(chǎn)生的源代碼中。

商業(yè)邏輯模型

企業(yè)Java Bean模型是中間件層,處理如交易、安全性、持久性和可擴(kuò)展性。它是代碼模型之上的抽象層。

 

OptimalJ用包含在域模型的定義產(chǎn)生EJB模型,包括應(yīng)用系統(tǒng)實(shí)體和會(huì)話組件的模型元素。EJB模型包括實(shí)體組件、數(shù)據(jù)大綱、主鍵類和其他EJB相關(guān)的組件。

 

雖然域模型驅(qū)動(dòng)開發(fā)過程,開發(fā)人員能夠擴(kuò)展由域模型產(chǎn)生的EJB模型,可以定義附件組件如查找、商業(yè)、Home和選擇方法等。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
解析UML的要點(diǎn)與應(yīng)用|IT168 技術(shù)開發(fā)
模型驅(qū)動(dòng)開發(fā) —在RUP與Agile之間找到平衡點(diǎn)
第五課時(shí):PowerDesigner15十大模型總覽
學(xué)習(xí)建模工具:Rose
大數(shù)據(jù)治理系列,第二部分: 元數(shù)據(jù)集成體系結(jié)構(gòu)
UML建模的要點(diǎn)總結(jié)(一)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服