新聞中心
上節(jié)我們介紹了UML技術(shù)的一些基礎(chǔ)知識(shí),本節(jié)向大家介紹一下幾種常用的面向?qū)ο蟮能浖_(kāi)發(fā)方法,主要從五個(gè)方面來(lái)介紹,相信通過(guò)本節(jié)的學(xué)習(xí)大家對(duì)UML技術(shù)有深一步的理解,下面讓我們一起來(lái)學(xué)習(xí)這幾種方法吧。

創(chuàng)新互聯(lián)主營(yíng)新津縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā),新津縣h5成都微信小程序搭建,新津縣網(wǎng)站營(yíng)銷(xiāo)推廣歡迎新津縣等地區(qū)企業(yè)咨詢(xún)
可視化建模的一個(gè)重要問(wèn)題是用哪種圖形標(biāo)注方法表示系統(tǒng)的各個(gè)方面。隨著面向?qū)ο蠹夹g(shù)的發(fā)展,出現(xiàn)了幾十種面向?qū)ο蟮能浖_(kāi)發(fā)方法。其中,Booch、OMT、和OOSE以及較早的Coad/Yourdon(OOA/OOD)方法在面向?qū)ο筌浖_(kāi)發(fā)界得到了廣泛的認(rèn)可。前三種方法也是UML技術(shù)的直接來(lái)源,它們各有特點(diǎn),適合于不同的領(lǐng)域。盡管UML統(tǒng)一了面向?qū)ο蠓椒ǖ膱D形標(biāo)注體系,但是這些方法仍然具有重要的指導(dǎo)作用,在實(shí)際開(kāi)發(fā)過(guò)程中我們可以綜合考慮這幾種方法來(lái)進(jìn)行建模。下面將分別介紹這幾種方法的主要思想:
2.4.1Booch方法
Booch方法是GradyBooch從1983年開(kāi)始研究,1991年后走向成熟的一種方法。Booch方法區(qū)分系統(tǒng)的邏輯和物理結(jié)構(gòu)并描述這兩種結(jié)構(gòu)的靜態(tài)和動(dòng)態(tài)語(yǔ)義。Booch方法被區(qū)分為微觀和宏觀的過(guò)程。[3]
微觀開(kāi)發(fā)過(guò)程代表開(kāi)發(fā)者或開(kāi)發(fā)小組的日?;顒?dòng),包含以下任務(wù):
在一定抽象層次上表示類(lèi)和對(duì)象,發(fā)現(xiàn)問(wèn)題域中的類(lèi)和對(duì)象,確定對(duì)象需要哪些行為來(lái)完成某些功能。
標(biāo)識(shí)類(lèi)與對(duì)象的語(yǔ)義,目標(biāo)是建立前一階段抽取出來(lái)的類(lèi)的狀態(tài)和行為。
標(biāo)識(shí)類(lèi)與對(duì)象的聯(lián)系,確定每一個(gè)類(lèi)對(duì)象的邊界,區(qū)分相互協(xié)作的類(lèi)對(duì)象,主要用類(lèi)圖來(lái)表達(dá)。
實(shí)現(xiàn)類(lèi)與對(duì)象,選擇算法和數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)對(duì)象的語(yǔ)義。
宏觀開(kāi)發(fā)過(guò)程是微觀開(kāi)發(fā)過(guò)程的控制框架,這個(gè)更廣的過(guò)程確定一些相應(yīng)的成果和活動(dòng),以幫助開(kāi)發(fā)小組進(jìn)行有效的風(fēng)險(xiǎn)評(píng)價(jià)以及早對(duì)開(kāi)發(fā)過(guò)程進(jìn)行修改。宏觀過(guò)程側(cè)重風(fēng)險(xiǎn)和結(jié)構(gòu)方面,對(duì)日程、結(jié)構(gòu)和完整性最為重要,它包含以下階段:
概念化,建立需求。概念化試圖建立系統(tǒng)得核心需求,這是一個(gè)非常具有創(chuàng)造性的過(guò)程,所以沒(méi)有嚴(yán)格的開(kāi)發(fā)規(guī)則可循。原型是這項(xiàng)活動(dòng)的基本產(chǎn)品。
分析,開(kāi)發(fā)所需要行為的模型:分析的目的是通過(guò)區(qū)分類(lèi)和對(duì)象為現(xiàn)實(shí)世界建模,而這些類(lèi)和對(duì)象來(lái)自于問(wèn)題域的詞匯。這個(gè)階段強(qiáng)調(diào)系統(tǒng)的行為,通過(guò)關(guān)注系統(tǒng)的行為,可以區(qū)分出系統(tǒng)的功能點(diǎn),并以此來(lái)標(biāo)識(shí)系統(tǒng)外不可見(jiàn)的和可測(cè)試的行為。
設(shè)計(jì),開(kāi)發(fā)系統(tǒng)的體系結(jié)構(gòu):將產(chǎn)生一個(gè)用于將來(lái)實(shí)現(xiàn)的體系結(jié)構(gòu)。
演化,精化設(shè)計(jì)階段的實(shí)現(xiàn):演化的目的是不斷增加和改變實(shí)現(xiàn),直到系統(tǒng)作為一個(gè)產(chǎn)品問(wèn)世。
維護(hù),進(jìn)行交付使用后的改進(jìn):這個(gè)過(guò)程主要是演化階段的繼續(xù),但現(xiàn)在很多對(duì)系統(tǒng)的改變是作為新的需求備加進(jìn)來(lái)以及修正系統(tǒng)中的Bug。
Booch方法是UML技術(shù)的主要來(lái)源,其面向?qū)ο蟮母拍钍重S富。主要概念有:類(lèi)、對(duì)象、繼承、元類(lèi)、消息、域、操作、機(jī)制、模塊、子系統(tǒng)、進(jìn)程等;其模型主要包括:邏輯靜態(tài)視圖(類(lèi)圖、對(duì)象圖),邏輯動(dòng)態(tài)視圖(順序圖、狀態(tài)圖),物理靜態(tài)視圖(模塊圖、進(jìn)程圖)以及物理動(dòng)態(tài)視圖。
Booch方法的優(yōu)點(diǎn)在它在項(xiàng)目的設(shè)計(jì)和構(gòu)造階段的表達(dá)能力特別強(qiáng),其迭代和增量的思想也是大型軟件開(kāi)發(fā)中的重要思想。這種方法比較適合系統(tǒng)設(shè)計(jì)和構(gòu)造。
2.4.2OMT方法
OMT(ObjectModelingTechnique)方法最早是由Loomis,Shan和Rumbaugh在1987年提出的,曾擴(kuò)展應(yīng)用于關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)。Rumbaugh在1991年正式把OMT應(yīng)用于面向?qū)ο蟮姆治龊驮O(shè)計(jì)。這個(gè)方法是在實(shí)體—關(guān)系模型上擴(kuò)展了類(lèi)、繼承和行為而得到的。
OMT方法從三個(gè)視角描述系統(tǒng),相應(yīng)地提供了三種模型:
對(duì)象模型:描述對(duì)象的靜態(tài)結(jié)構(gòu)和它們之間的關(guān)系,主要的概念包括:類(lèi)、屬性、操作、繼承、關(guān)聯(lián)、聚集;
動(dòng)態(tài)模型:描述系統(tǒng)那些隨時(shí)間變化的方面,其主要概念有:狀態(tài)、子狀態(tài)和超狀態(tài)、事件、行為、活動(dòng);
功能模型:描述系統(tǒng)內(nèi)部數(shù)據(jù)值的轉(zhuǎn)換,其主要概念有:加工、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)流、控制流、角色。
該方法將開(kāi)發(fā)過(guò)程分為四個(gè)階段:分析、系統(tǒng)設(shè)計(jì)、對(duì)象設(shè)計(jì)、實(shí)現(xiàn)。
OMT的來(lái)源也決定了它在分析數(shù)據(jù)密集型信息系統(tǒng)時(shí)具有很大優(yōu)勢(shì),是MIS系統(tǒng)建模常用的方法之一。
2.4.3OOSE方法
OOSE(Object-OrientedSoftwareEngineering)是IvarJacobson在1992年提出的一種面向?qū)ο箝_(kāi)發(fā)方法,以其“用例”驅(qū)動(dòng)(UseCaseDriven)的思想而著稱(chēng)。
OOSE方法與上述兩種方法有所不同,它涉及到整個(gè)軟件生命周期,包括需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試四個(gè)階段。
該方法中的一個(gè)關(guān)鍵概念就是“用例”。用例是指行為相關(guān)的事物序列,該序列將由用戶(hù)在與系統(tǒng)對(duì)話(huà)中執(zhí)行。因此,每一個(gè)用例就是一個(gè)外界使用系統(tǒng)的方式,當(dāng)用戶(hù)給定一個(gè)輸入,就執(zhí)行一個(gè)用例的實(shí)例并引發(fā)執(zhí)行屬于該用例的一個(gè)事務(wù)?;谶@種系統(tǒng)視圖,Jacobson將用例模型與其它五種系統(tǒng)模型相關(guān)聯(lián):需求模型、分析模型、設(shè)計(jì)模型、實(shí)現(xiàn)模型、測(cè)試模型。
OOSE對(duì)以用例作為一種途徑來(lái)驅(qū)動(dòng)需求捕獲、分析和高層設(shè)計(jì)提供了極好的支持。使用用例捕獲需求是OOSE對(duì)傳統(tǒng)面向?qū)ο蠼7椒ǖ暮芎玫难a(bǔ)充。這種方法比較適合商業(yè)工程和需求分析。
2.4.4Coad|Yourdon方法
PeterCoad和EdwardYourdon的方法嚴(yán)格區(qū)分了面向?qū)ο蠓治觯∣OA)和面向?qū)ο笤O(shè)計(jì)(OOD)。
在分析階段,該方法用五個(gè)層次及相關(guān)活動(dòng)定義并記錄系統(tǒng)行為,以及系統(tǒng)的輸入和輸出。這五個(gè)層次及活動(dòng)如表所示:
表1-1Coad/Yourdon方法中的OOA層次模型
經(jīng)過(guò)五個(gè)層次的活動(dòng)后,分析結(jié)果是一個(gè)分成五個(gè)層次的問(wèn)題域模型,包括主題、類(lèi)及對(duì)象、結(jié)構(gòu)、屬性和服務(wù)五個(gè)層次,由類(lèi)及對(duì)象圖表示。五個(gè)層次活動(dòng)的順序并不重要。在設(shè)計(jì)階段,OOD模型是OOA模型的擴(kuò)展。OOD模型同樣包括OOA模型的五個(gè)層次,但同時(shí)又引進(jìn)了四個(gè)部分:?jiǎn)栴}域部分(PDC):面向?qū)ο蠓治龅慕Y(jié)果直接放入該部分。人機(jī)交互部分(HIC):包括對(duì)用戶(hù)分類(lèi)、描述人機(jī)交互的腳本、設(shè)計(jì)命令層次結(jié)構(gòu)、設(shè)計(jì)詳細(xì)的交互、生成用戶(hù)界面的原型、定義HIC類(lèi)等。任務(wù)管理部分(TMC):識(shí)別任務(wù)(進(jìn)程)、任務(wù)所提供的服務(wù)、任務(wù)的優(yōu)先級(jí)、進(jìn)程的驅(qū)動(dòng)模式,以及任務(wù)與其它進(jìn)程和外界如何通信等。數(shù)據(jù)管理部分(DMC):確定數(shù)據(jù)存儲(chǔ)模式,如使用文件系統(tǒng)、關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)還是面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)等。Coad/Yourdon方法強(qiáng)調(diào)技術(shù)獨(dú)立性,從而實(shí)現(xiàn)了包括OOA/OOD本身在內(nèi)的可復(fù)用性。例如,當(dāng)一個(gè)給定的應(yīng)用系統(tǒng)從圖形用戶(hù)界面(GUI)升級(jí)到聲音響應(yīng)接口時(shí),只需替換其中的人機(jī)交互部分,其他部分均無(wú)需改動(dòng),因?yàn)橛脩?hù)界面技術(shù)的改變對(duì)系統(tǒng)的其他部分是透明的。
該方法簡(jiǎn)單、易學(xué),適合于面向?qū)ο蠹夹g(shù)的初學(xué)者使用,但由于該方法在處理能力方面的局限,目前已很少使用。
概括起來(lái),首先,面對(duì)眾多的建模語(yǔ)言,用戶(hù)由于沒(méi)有能力區(qū)別不同語(yǔ)言之間的差別,因此很難找到一種比較適合其應(yīng)用特點(diǎn)的語(yǔ)言;其次眾多的建模語(yǔ)言實(shí)際上各有千秋;第三,雖然不同的建模語(yǔ)言大多數(shù)雷同,但仍有細(xì)微差別,極大地妨礙了用戶(hù)之間的交流。因此,統(tǒng)一建模語(yǔ)言勢(shì)在必行。
統(tǒng)一建模語(yǔ)言UML是由Rational公司的知名專(zhuān)家GradyBooch、JimRumbaugh和IvarJacobson三人聯(lián)合開(kāi)發(fā)的第三代面向?qū)ο蟮慕UZ(yǔ)言。UML技術(shù)采納和擴(kuò)展了Booch標(biāo)記法、OMT標(biāo)記法和OOSE標(biāo)記法,并包容了其他學(xué)者和軟件廠商的建議,適用于上述三種面向?qū)ο蠓椒ɑ蚱渌梅ǖ挠脩?hù)。對(duì)象管理組織(OMG)采納UML作為基于面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語(yǔ)言.
2.4.5UML方法
UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言。它融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。UML包括概念的語(yǔ)義,表示法和說(shuō)明,提供了靜態(tài)、動(dòng)態(tài)、系統(tǒng)環(huán)境及組織結(jié)構(gòu)的模型。它可被交互的可視化建模工具所支持,這些工具提供了代碼生成器和報(bào)表生成器。以將UML模型轉(zhuǎn)換為多種程序設(shè)計(jì)語(yǔ)言代碼,如:可生成XMLDTD代碼,JAVA代碼等,或使用反向生成器工具將程序源代碼轉(zhuǎn)換為UML。它是為支持大部分現(xiàn)存的面向?qū)ο箝_(kāi)發(fā)過(guò)程而設(shè)計(jì)的??傊琔ML是一種總結(jié)了以往建模技術(shù)的經(jīng)驗(yàn)并吸收當(dāng)今優(yōu)秀成果的標(biāo)準(zhǔn)建模方法。
任何建模語(yǔ)言都以靜態(tài)建模機(jī)制為基礎(chǔ),UML也不例外。UML技術(shù)采用用例圖、類(lèi)圖、包圖、對(duì)象圖、構(gòu)件圖和配置圖來(lái)建立系統(tǒng)的靜態(tài)模型,屬于靜態(tài)建模機(jī)制;狀態(tài)圖、活動(dòng)圖、順序圖和協(xié)作圖被用來(lái)建立系統(tǒng)的動(dòng)態(tài)模型,屬于動(dòng)態(tài)建模機(jī)制。在論文中主要采用類(lèi)圖、活動(dòng)圖、順序圖相結(jié)合建立對(duì)象模型。類(lèi)圖用于表示系統(tǒng)中的類(lèi)與類(lèi)之間的聯(lián)系,活動(dòng)圖描述領(lǐng)域業(yè)務(wù)流程,順序圖描述對(duì)象間交互動(dòng)作的時(shí)序特性。
可視化建模將模型中的信息用標(biāo)準(zhǔn)圖形元素直觀地表示??梢暬5囊粋€(gè)重要問(wèn)題是用哪種圖形標(biāo)注方法表示系統(tǒng)的各個(gè)方面。最常用的方法有Booch,對(duì)象建模技術(shù)(OMT)和統(tǒng)一建模語(yǔ)言(UML)。
Booch方法是按其***GradyBooch命名的,他是Rational軟件公司的***科學(xué)家。他開(kāi)發(fā)了表示模型各個(gè)細(xì)節(jié)的圖注方法。
OMT(對(duì)象建模技術(shù))圖注方法來(lái)自JamesRumbaugh博士,OMT使用比Booch更簡(jiǎn)單的圖形表示系統(tǒng)。
UML由面向?qū)ο蠓椒I(lǐng)域的三位著名學(xué)者JamesRumbaugh、GradyBooch和IvarJacobson提出,總結(jié)了以往建模技術(shù)的經(jīng)驗(yàn)并吸收當(dāng)今優(yōu)秀成果,并結(jié)合其他眾多的優(yōu)秀的軟件方法和思想演變而成。UML于1997年被國(guó)際對(duì)象管理組織(ObjectManagementGroup,OMG)接受,發(fā)布了UML的標(biāo)準(zhǔn)版。如今,UML已經(jīng)成為公認(rèn)的***的分析和設(shè)計(jì)面向?qū)ο筌浖臉?biāo)準(zhǔn)建模語(yǔ)言。
幾年來(lái),UML技術(shù)不斷演變,加進(jìn)了基于Web的系統(tǒng)、數(shù)據(jù)模型等新思想。
【編輯推薦】
- Web的應(yīng)用系統(tǒng)中UML技術(shù)如何應(yīng)用?
- 專(zhuān)訪(fǎng)UMLchina***專(zhuān)家潘加宇:UML技術(shù)不可或缺
- UML用例圖用法實(shí)例剖析
- 術(shù)語(yǔ)匯編 UML統(tǒng)一建模語(yǔ)言簡(jiǎn)介
- UML技術(shù)在軟件設(shè)計(jì)中的應(yīng)用
本文標(biāo)題:UML技術(shù)等五種實(shí)現(xiàn)面向?qū)ο蟮能浖_(kāi)發(fā)方法解析
轉(zhuǎn)載來(lái)源:http://www.5511xx.com/article/dpjhsce.html


咨詢(xún)
建站咨詢(xún)
