hello world

          隨筆 - 2, 文章 - 63, 評(píng)論 - 0, 引用 - 0
          數(shù)據(jù)加載中……

          建模工具Rose的學(xué)習(xí)

          前言

             成功地運(yùn)用J2EE構(gòu)建企業(yè)應(yīng)用的關(guān)鍵和所有復(fù)雜的軟件平臺(tái)是一樣的:有效的需求溝通、制定正確的分析和設(shè)計(jì)決定,并且識(shí)別最佳的實(shí)現(xiàn)選擇。

            追求最佳可視化模型的公司可以更快地開(kāi)發(fā)它們的軟件,并且建立更高質(zhì)量的系統(tǒng)。Unified Modeling Language (UML)就是可視模型化的軟件工業(yè)標(biāo)準(zhǔn)。

            在這里,我們將向你介紹如何運(yùn)用UML和Rational Rose 2001a,它是現(xiàn)今最流行的基于UML的軟件模型化和開(kāi)發(fā)工具,可用于開(kāi)發(fā)基于J2EE的企業(yè)應(yīng)用。

          什么是UML?

             Unified Modeling Language (UML),是始于1997年一個(gè)OMG標(biāo)準(zhǔn),它是一個(gè)支持模型化和軟件系統(tǒng)開(kāi)發(fā)的圖形化語(yǔ)言,為軟件開(kāi)發(fā)的所有階段提供模型化和可視化支持,包括由需求分析到規(guī)格,到構(gòu)造和配置。

            使用UML作可視化模型主要是為了了解系統(tǒng)的重要細(xì)節(jié),以便項(xiàng)目的需求可以清晰地表達(dá)、開(kāi)發(fā)出解決方案體系、并且一個(gè)選擇的實(shí)現(xiàn)可以清晰地標(biāo)識(shí)和構(gòu)造。為達(dá)到這個(gè)目的,需要豐富的符號(hào)來(lái)表達(dá)模型化的軟件系統(tǒng)。UML不但為基本的構(gòu)造塊提供了符號(hào)表示,它還提供了方法來(lái)表達(dá)基本構(gòu)造塊之間的復(fù)雜關(guān)系。這些關(guān)系都以UML框圖的形式表示出來(lái)。

            以下就讓我們來(lái)看一下UML和Rational Rose是如何有助于理解、設(shè)計(jì)和實(shí)現(xiàn)J2EE應(yīng)用的。

          理解需求

             項(xiàng)目失敗的原因通常是由于需求沒(méi)有很好地理解或者進(jìn)行溝通。我們也可以很容易地理解,無(wú)論是口頭或者書面的語(yǔ)言,都是不嚴(yán)密的。

            你可以應(yīng)用UML用例模型來(lái)開(kāi)發(fā)一個(gè)精確的模型來(lái)表示系統(tǒng)的需求,然后以這些用例為基礎(chǔ)來(lái)推動(dòng)系統(tǒng)開(kāi)發(fā)的其它方面。用例的作用就好象是項(xiàng)鏈上的一條線,它將所有的珍珠綁定在一起。用例在最終的用戶和系統(tǒng)需求之間建立起一座橋。它們可用來(lái)在功能需求和系統(tǒng)實(shí)現(xiàn)本身之間進(jìn)行回溯。用例也可以作為一個(gè)連接點(diǎn),連接到一個(gè)詳細(xì)的說(shuō)明需求細(xì)節(jié)的用例文檔。

            圖1展示了一個(gè)在線CD商店的部分用例框圖,它們是從文本和口頭的功能需求中提取出來(lái),然后轉(zhuǎn)為用例。在這個(gè)例子中,很明顯購(gòu)買者(由幾條線條組成的人物,表示為UML中的角色)可以通過(guò)4種方式來(lái)使用系統(tǒng)(在UML中以橢圓表示一個(gè)用例)。


          ***********圖1********
          一個(gè)簡(jiǎn)單的用例圖

            每個(gè)用例則通過(guò)順序框圖中的一個(gè)或者多個(gè)場(chǎng)景來(lái)精確描述。當(dāng)然,在需求捕捉和分析的早期階段,順序圖是相對(duì)簡(jiǎn)單,而且也可能是不完整的。順序圖的這樣一個(gè)例子如圖2所示。在Rational Rose中,要為某個(gè)用例創(chuàng)建順序圖,你可以在瀏覽器中選擇它,然后從用例的菜單中選擇New>Sequence Diagram。


          ***********圖2************
          一個(gè)解釋付費(fèi)用例的順序圖

          概述

            在這個(gè)面向?qū)ο髴?yīng)用程序開(kāi)發(fā)不斷變化的時(shí)代,在合理時(shí)間內(nèi)開(kāi)發(fā)和管理高質(zhì)量應(yīng)用程序變得越來(lái)越困難。為了面對(duì)這種挑戰(zhàn),制定出每個(gè)公司都能使用的通用對(duì)象模型語(yǔ)言,統(tǒng)一建模語(yǔ)言(UML)。UML是信息技術(shù)行業(yè)的藍(lán)圖,是詳細(xì)描述系統(tǒng)結(jié)構(gòu)的方法。利用這個(gè)藍(lán)圖,我們?cè)絹?lái)越容易建立和維護(hù)系統(tǒng),保證系統(tǒng)能適應(yīng)需求的改變。一個(gè)系統(tǒng)的模型建得好,就為滿足用戶需求、保證系統(tǒng)的穩(wěn)定性和質(zhì)量、提高系統(tǒng)的擴(kuò)展性打下了良好的基礎(chǔ)。ROSE是用UML快速開(kāi)發(fā)應(yīng)用程序的工具之一,它是一個(gè)面向?qū)ο蟮慕9ぞ摺?

          UML統(tǒng)一建模語(yǔ)言

            UML,Unified Modeling Language,統(tǒng)一建模語(yǔ)言,是一種面向?qū)ο蟮慕UZ(yǔ)言,它的主要作用是幫助我們對(duì)軟件系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒#梢悦枋鲞@個(gè)軟件開(kāi)發(fā)過(guò)程從需求分析直到實(shí)現(xiàn)和測(cè)試的全過(guò)程。UML通過(guò)建立各種類、類之間的關(guān)聯(lián)、類/對(duì)象怎樣相互配合實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)行為等成分(這些都稱為模型元素)來(lái)組建整個(gè)模型,刻畫客觀世界。UML提供了各種圖形,比如Use Case圖、類圖、順序圖、協(xié)作圖、狀態(tài)圖等,來(lái)把這些模型元素及其關(guān)系可視化,讓人們可以清楚容易的理解模型。我們可以從多個(gè)視角來(lái)考察模型,從而更加全面的了解模型,這樣同一個(gè)模型元素可能會(huì)出現(xiàn)在多個(gè)圖中,對(duì)應(yīng)多個(gè)圖形元素。

            由視圖view,圖diagram,模型元素model element和通用機(jī)制general mechanism等幾個(gè)部分組成 .視圖是表達(dá)系統(tǒng)的某一方面特征的UML建模元素的子集,由多個(gè)圖構(gòu)成,是在某一個(gè)抽象層上,對(duì)系統(tǒng)的抽象表示.圖是模型元素集的圖形表示,通常為弧(關(guān)系)和頂點(diǎn)(其他模型元素)相互連接構(gòu)成的.模型元素代表面向?qū)ο笾械念悺?duì)象、消息和關(guān)系等概念,是構(gòu)成圖的最基本的常用概念.通用機(jī)制用于表示其它信息,比如注釋、模型元素的語(yǔ)義等。另外,它還提供擴(kuò)展機(jī)制,使UML語(yǔ)言能夠適應(yīng)一個(gè)特殊的方法(或過(guò)程),或擴(kuò)充至一個(gè)組織或用戶.

            UML是用來(lái)描述模型的,用模型來(lái)描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征,以及行為或動(dòng)態(tài)特征。從不同的視角為系統(tǒng)的構(gòu)架建模,形成系統(tǒng)的不同視圖(VIEW)。

            用例視圖(use case view),強(qiáng)調(diào)從用戶的角度看到的或需要的系統(tǒng)功能,是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖;

            邏輯視圖(logical view),展現(xiàn)系統(tǒng)的靜態(tài)或結(jié)構(gòu)組成及特征,也稱為結(jié)構(gòu)模型視圖(structural model view)或靜態(tài)視圖(static view);

            并發(fā)視圖(concurrent view),體現(xiàn)了系統(tǒng)的動(dòng)態(tài)或行為特征,也稱為行為模型視圖(behavioral model view)、動(dòng)態(tài)視圖(dynamic view);

            組件視圖(component view),體現(xiàn)了系統(tǒng)實(shí)現(xiàn)的結(jié)構(gòu)和行為特征,也稱為實(shí)現(xiàn)模型視圖(implementation model view) ;

            配置視圖(deployment view),體現(xiàn)了系統(tǒng)實(shí)現(xiàn)環(huán)境的結(jié)構(gòu)和行為特征,也稱為環(huán)境模型視圖(environment model view)或物理視圖(physical view)。

          建模工具Rose 之游

            ROSE是美國(guó)Rational公司的面向?qū)ο蠼9ぞ撸眠@個(gè)工具,我們可以建立用UML描述的軟件系統(tǒng)的模型,而且可以自動(dòng)生成和維護(hù)C++、Java、VB、Oracle等語(yǔ)言和系統(tǒng)的代碼。

            ROSE是個(gè)菜單驅(qū)動(dòng)應(yīng)用程序,用工具欄幫助使用常用特性。它的界面分為三個(gè)部分--Browser窗口、Diagram窗口和Document窗口。Browser窗口用來(lái)瀏覽、創(chuàng)建、刪除和修改模型中的模型元素;Diagram窗口用來(lái)顯示和創(chuàng)作模型的各種圖;而Document窗口則是用來(lái)顯示和書寫各個(gè)模型元素的文檔注釋。

          Rose界面

            Rose模型的四個(gè)視圖是Use Case視圖 、Logical視圖、Component視圖和Deployment視圖。每個(gè)視圖針對(duì)不同對(duì)象,具有不同用途。Use Case視圖包括系統(tǒng)中的所有角色、案例和Use Case圖,還包括一些Sequence圖和Collaboration圖。

          Use Case視圖

            Logical視圖關(guān)注系統(tǒng)如何實(shí)現(xiàn)使用案例中提到的功能。它提供系統(tǒng)的詳細(xì)圖形,描述組件間如何關(guān)聯(lián)。除其它內(nèi)容之外,Logical視圖還包括需要的特定類、Class圖和State Transition 圖。利用這些細(xì)節(jié)元素,開(kāi)發(fā)人員可以構(gòu)造系統(tǒng)的詳細(xì)設(shè)計(jì)。


          Logical視圖

            Component視圖包括模型代碼庫(kù)、執(zhí)行庫(kù)和其它組件的信息。組件是代碼的實(shí)際模塊。Component視圖的主要用戶是負(fù)責(zé)控制代碼和編譯部署應(yīng)用程序的人。有些組件是代碼庫(kù),有些組件是運(yùn)行組件,如執(zhí)行文件或動(dòng)態(tài)鏈接庫(kù)(DLL)文件。

            Collaboration圖關(guān)注系統(tǒng)的部署,可能與系統(tǒng)的邏輯結(jié)構(gòu)不同。整個(gè)小組都用Collaboration圖了解系統(tǒng)部署,但用戶是發(fā)布應(yīng)用程序的人員。

          Rose的九種圖

            用例圖use case diagram,描述系統(tǒng)功能
             類圖class diagram,描述系統(tǒng)的靜態(tài)結(jié)構(gòu)
             對(duì)象圖object diagram,描述系統(tǒng)在某個(gè)時(shí)刻的靜態(tài)結(jié)構(gòu)
             序列圖sequence diagram,按時(shí)間順序描述系統(tǒng)元素間的交互
             協(xié)作圖Collaboration diagram,按照時(shí)間和空間順序描述系統(tǒng)元素間的交互和它們之間的關(guān)系
             狀態(tài)圖state diagram,描述了系統(tǒng)元素的狀態(tài)條件和響應(yīng)
             活動(dòng)圖activity diagram,描述了系統(tǒng)元素的活動(dòng)
             組件圖component diagram,描述了實(shí)現(xiàn)系統(tǒng)的元素的組織
             配置圖deployment diagram,描述了環(huán)境元素的配置,并把實(shí)現(xiàn)系統(tǒng)的元素映射到配置上

            根據(jù)它們?cè)诓煌軜?gòu)視圖的應(yīng)用,可以把9種圖分成:

            用戶模型視圖:用例圖
             結(jié)構(gòu)模型視圖:類圖、對(duì)象圖
             行為模型視圖:序列圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖(動(dòng)態(tài)圖)
             實(shí)現(xiàn)模型視圖:組件圖
             環(huán)境模型視圖:配置圖


          posted on 2008-03-31 10:43 聽(tīng)風(fēng) 閱讀(496) 評(píng)論(0)  編輯  收藏 所屬分類: 其他


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 理塘县| 辉县市| 东阿县| 罗江县| 咸宁市| 英山县| 双辽市| 方城县| 米林县| 福海县| 湖南省| 平舆县| 类乌齐县| 霍林郭勒市| 曲麻莱县| 壶关县| 泊头市| 肃南| 洛川县| 阳东县| 永兴县| 芜湖市| 泊头市| 南乐县| 枣阳市| 广饶县| 闽清县| 苗栗市| 新建县| 亚东县| 张家港市| 类乌齐县| 繁昌县| 来凤县| 罗江县| 平安县| 灵寿县| 南澳县| 绥宁县| 奉新县| 洛宁县|