《基于任務(wù)驅(qū)動(dòng)模式的軟件工程與UML建模技術(shù)》課件項(xiàng)目十三_第1頁(yè)
《基于任務(wù)驅(qū)動(dòng)模式的軟件工程與UML建模技術(shù)》課件項(xiàng)目十三_第2頁(yè)
《基于任務(wù)驅(qū)動(dòng)模式的軟件工程與UML建模技術(shù)》課件項(xiàng)目十三_第3頁(yè)
《基于任務(wù)驅(qū)動(dòng)模式的軟件工程與UML建模技術(shù)》課件項(xiàng)目十三_第4頁(yè)
《基于任務(wù)驅(qū)動(dòng)模式的軟件工程與UML建模技術(shù)》課件項(xiàng)目十三_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目十三雙向工程任務(wù)一認(rèn)識(shí)雙向工程

任務(wù)二正向工程任務(wù)三逆向工

任務(wù)一認(rèn)識(shí)雙向工程

操作一動(dòng)態(tài)建模概述

Rose的雙向工程包括正向工程和逆向工程。正向工程就是從UML模型到具體語(yǔ)言代碼的過(guò)程,而逆向工程是在軟件開(kāi)發(fā)環(huán)境中由具體的語(yǔ)言到UML模型的過(guò)程。

使用正向工程,一旦軟件系統(tǒng)的設(shè)計(jì)完成后,開(kāi)發(fā)者可以借助于正向工程直接由UML模型生成程序代碼框架,提高開(kāi)發(fā)效率。借助于逆向工程,開(kāi)發(fā)者可以通過(guò)程序源代碼得到軟件系統(tǒng)的設(shè)計(jì)模型和設(shè)計(jì)文檔。

任務(wù)二正向工程

操作一正向工程的概述

正向工程是從模型圖到代碼框架的過(guò)程。通過(guò)軟件模型對(duì)某種特定語(yǔ)言的映射可以從UML圖得到該語(yǔ)言的代碼,幫助開(kāi)發(fā)者節(jié)約許多編寫(xiě)類(lèi)、定義屬性和方法等重復(fù)性工作的時(shí)間。

對(duì)一個(gè)Java模型元素進(jìn)行正向工程時(shí),模型的特征會(huì)映射到對(duì)應(yīng)的Java語(yǔ)言的特征。Rose類(lèi)圖中的一個(gè)類(lèi)會(huì)通過(guò)組件生成一個(gè)“.Java”文件;Rose中的包會(huì)生成Java中的一個(gè)包。對(duì)于其他語(yǔ)言而言,生成過(guò)程大同小異,在此不作詳細(xì)介紹。

操作二使用Rose的正向工程將類(lèi)圖生成Java代碼

(1)設(shè)置默認(rèn)語(yǔ)言為Java。在主菜單欄中依次選擇【Tools】→【Options】菜單,選擇【Notation】選項(xiàng)卡,選擇“Default”列表框中的語(yǔ)言為Java,如圖13-1所示。

(2)設(shè)置環(huán)境變量ClassPath。在主菜單欄中依次選擇【Tools】→【Java/J2EE】→【ProjectSpecification】菜單,選擇【ClassPath】選項(xiàng)卡,通過(guò)提供的路徑操作按鈕創(chuàng)建保存Java文件的目錄(如D:\temp),如圖13-2所示。

圖13-1設(shè)置默認(rèn)語(yǔ)言為Java圖13-2設(shè)置ClassPath

(3)設(shè)置代碼生成屬性。在“正向工程項(xiàng)目屬性“對(duì)話(huà)框中,選擇【CodeGeneration】選項(xiàng)卡,對(duì)正向工程的屬性進(jìn)行相關(guān)設(shè)置,如圖13-3所示。圖13-3設(shè)置CodeGeneration

(4)進(jìn)行語(yǔ)法檢查。在圖13-4所示的【Tools】→【Java/J2EE】菜單中選擇【SyntaxCheck】進(jìn)行語(yǔ)法檢查并根據(jù)日志中的提示進(jìn)行修正。也可以使用【Tools】→【CheckModel】菜單,對(duì)整個(gè)模型進(jìn)行檢查,如果有錯(cuò)誤將在日志窗口中顯示,可根據(jù)日志進(jìn)行錯(cuò)誤的修改。

(5)指定保存路徑及名稱(chēng)。

打開(kāi)設(shè)計(jì)好的類(lèi)圖,選中要生成的Java文件類(lèi),依次選擇【Tools】→【Java/J2EE】→【GenerateCode】菜單,如圖13-4所示。打開(kāi)“AssignClassPathEntries”對(duì)話(huà)框,按要求指定保存生成的Java文件的路徑以及包名和組件名稱(chēng)。圖13-4選擇生成代碼

(6)完成代碼的生成。指定ClassPath入口路徑后,單擊【OK】按鈕,執(zhí)行代碼生成操作。如果在代碼生成過(guò)程出現(xiàn)問(wèn)題,會(huì)打開(kāi)如圖13-5所示的對(duì)話(huà)框,同時(shí)在Rose的日志顯示區(qū)域會(huì)顯示代碼生成過(guò)程中的信息。圖13-5代碼生成警告對(duì)話(huà)框代碼生成后,可以在保存Java文件夾路徑(這里為D:\temp)中查看所生成的Java文件,如圖13-6所示。圖13-6正向工程生成的Java文件

(7)編輯代碼。代碼生成后,可以在如圖13-7所示的右鍵菜單中選擇【EditCode】,在Rose中查看并編輯新生成的代碼。圖13-7編輯代碼

任務(wù)三逆向工程

操作一逆向工程的概述

RationalRose逆向工程就是從現(xiàn)有系統(tǒng)的代碼來(lái)生成模型的功能。逆向工程通常在迭代過(guò)程結(jié)束后,重新同步模型和代碼時(shí)非常有用。在一個(gè)迭代開(kāi)發(fā)周期中,對(duì)于原有模型的實(shí)現(xiàn),可能會(huì)加入許多新的類(lèi)、屬性或方法,這樣就可能造成設(shè)計(jì)模型和實(shí)現(xiàn)模型不一致。這時(shí)候,采用逆向工程就可以實(shí)現(xiàn)設(shè)計(jì)模型和實(shí)現(xiàn)模型的同步。同時(shí),通過(guò)逆向工程可以分析已有的代碼,了解代碼結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu),這些代碼對(duì)應(yīng)到模型圖就是類(lèi)圖、數(shù)據(jù)模型圖與組件圖。RationalRose所支持的逆向工程功能很強(qiáng)大,包括的編程語(yǔ)言有C++、VB、VC、CORBA、Java等,并且可以直接連接DB2、SQLServer、Oracle、Sybase等數(shù)據(jù)庫(kù),還可導(dǎo)入Schema并且生成數(shù)據(jù)模型。

很多大型的軟件系統(tǒng)的開(kāi)發(fā)都涉及數(shù)據(jù)庫(kù)的使用,對(duì)這種大型系統(tǒng)的開(kāi)發(fā),尤其是做二次開(kāi)發(fā)的情況下,主要的難點(diǎn)就是對(duì)源代碼與數(shù)據(jù)庫(kù)結(jié)構(gòu)的分析。利用Rose的逆向工程這一功能,就可以完成代碼、類(lèi)圖以及數(shù)據(jù)庫(kù)Schema到數(shù)據(jù)模型圖的轉(zhuǎn)換。假設(shè)現(xiàn)有圖書(shū)管理系統(tǒng)中的圖書(shū)類(lèi)Book.java代碼如圖13-8所示。圖13-8Book.java代碼

操作二使用Rose的逆向工程將已有的Java源代碼轉(zhuǎn)換成Rose模型

下面由Book.java源文件生成Rose類(lèi)圖。

(1)選擇Java逆向工程。依次選擇【Tools】→【Java/J2EE】→【ReverseEngineer】菜單,如圖13-9所示。打開(kāi)“JavaReverseEngineer”(Java逆向工程)對(duì)話(huà)框。圖13-9Java逆向工程對(duì)話(huà)框

(2)選擇指定文件夾(ClassPath)下的Java源文件,單擊【Reverse】按鈕,執(zhí)行從代碼到模型的逆向轉(zhuǎn)換,在Rose工程的視圖區(qū)域中可以查看由逆向工程所生成的類(lèi),如圖13-10所示。圖13-10生成UML類(lèi)

(3)將轉(zhuǎn)換后的類(lèi)添加到類(lèi)圖,使用鼠標(biāo)將視圖區(qū)域中轉(zhuǎn)換后的類(lèi)(這里為Book)拖放到繪圖區(qū)域,即可得到對(duì)應(yīng)類(lèi)圖,如圖13-11所示。圖13-11逆向工程得到的類(lèi)圖

(4)逆向工程(Java)常見(jiàn)問(wèn)題的解決過(guò)程如下:

①Rose逆向工程的時(shí)候,屬性類(lèi)型表現(xiàn)為:LogicalView::java::lang::。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論