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

下載本文檔

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

文檔簡介

項目十三雙向工程任務(wù)一認識雙向工程

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

任務(wù)一認識雙向工程

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

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

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

任務(wù)二正向工程

操作一正向工程的概述

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

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

操作二使用Rose的正向工程將類圖生成Java代碼

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

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

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

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

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

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

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

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

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

任務(wù)三逆向工程

操作一逆向工程的概述

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

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

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

下面由Book.java源文件生成Rose類圖。

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

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

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

(4)逆向工程(Java)常見問題的解決過程如下:

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

溫馨提示

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

最新文檔

評論

0/150

提交評論