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