《UML第14章Rose的雙向工程》由會員分享,可在線閱讀,更多相關(guān)《UML第14章Rose的雙向工程(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,*,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,第,14,章,Rose,的雙向工程,目錄,14.1,雙向工程簡介,14.2,正向工程,14.3,逆向工程,小結(jié),14.1,雙向工程簡介,雙向工程包括正向工程和逆向工程。正向工程指把設(shè)計模型映射為代碼;逆向工程是指將代碼轉(zhuǎn)換成設(shè)計模型。,無論是把設(shè)計模型轉(zhuǎn)換成代碼,還是把代碼轉(zhuǎn)換為設(shè)計模型,都是一項非常復(fù)雜的工作。雙向工程提供了一種機制,它使系統(tǒng)架構(gòu)或者設(shè)計模型
2、與代碼之間進行雙向交換。,正向工程把設(shè)計模型轉(zhuǎn)換為代碼框架。,逆向工程是指把代碼轉(zhuǎn)換成設(shè)計模型。,14.2,正向工程,正向工程,(,代碼生成,),:通過使用一種特定的實現(xiàn)語言從一個模型生成代碼。,代碼的生成分為五步,但并不是每種語言都需要這些步驟,生成,C+,代碼時不需要先創(chuàng)建組件。,14.2,正向工程,1.,將,UML,類加入模型中的,Java,組件,Rose,會將,.java,文件與模型中的組件聯(lián)系起來。因此,,Rose,要求模型中的每個,Java,類都必須屬于組件視圖中的某個,Java,組件。,有兩種給組件添加,Java,類的方法。,(,1,)當啟動代碼生成時,可以讓,Rose,自動創(chuàng)建
3、組件。,Rose,會為每個類都生成一個,.java,文件和一個組件。,(,2,)可以自己創(chuàng)建組件,然后顯式地將類添加到組件視圖中。這樣可以將多個類生成的代碼放在一個,.java,文件中。,14.2,正向工程,2.,語法檢查,這是一個可選的步驟。生成代碼前,可以選擇對模型組件的語法進行檢查。在生成代碼時,Rose,會自動進行語法檢查。,Rose,的,Java,語法檢查是基于,Java,代碼語義的。,設(shè)置“,Classpath,”,為模型指定一個,Java,類路徑。,14.2,正向工程,4.,備份文件,代碼生成以后,,Rose,將會生成一份當前源文件的備份,它的前綴是,.,jv,。在用代碼生成設(shè)計
4、模型時,必須將源文件備份。如果多次為同一個模型生成代碼,那么新生成的文件會覆蓋原來的,.,jv,文件。,5.,生成,Java,代碼,如果是第,1,次使用該模型生成代碼,系統(tǒng)會彈出一個映射對話框,它允許用戶將包和組件映射到“,classpath,”,屬性設(shè)置的文件夾中。,14.3,逆向工程,逆向工程是將使用特定語言的代碼通過映射轉(zhuǎn)換成模型的能力。,Rose,支持逆向轉(zhuǎn)出工程代碼為,UML,模型。,在逆向轉(zhuǎn)出工程代碼過程中,,Rose,從代碼讀取組件、包、類、關(guān)系、屬性和操作,將這些信息讀取進,Rose,模型中后,就可以進行所需的改變,然后通過,Rose,的正向工程特性重新產(chǎn)生代碼。,小結(jié),雙向工程包括正向工程和逆向工程。正向工程指把設(shè)計模型映射為代碼;逆向工程是指將代碼轉(zhuǎn)換成設(shè)計模型。,正向工程把設(shè)計模型轉(zhuǎn)換為代碼框架,開發(fā)者不需要編寫類、屬性、方法代碼。一般情況下,開發(fā)人員將系統(tǒng)設(shè)計細化到一定的級別,然后應(yīng)用正向工程。,逆向工程是分析代碼,然后將其轉(zhuǎn)換到,Rose,模型的類和組件的過程。,