資源描述:
《面向?qū)ο蠓治雠c設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、面向?qū)ο蠓治雠c設(shè)計(jì)第10章軟件工程領(lǐng)域在1995年至1997年取得了前所未有的進(jìn)展,其成果超過軟件工程領(lǐng)域1995年之前15年的成就總和。其中最重要的、具有劃時(shí)代重大意義的成果之一就是統(tǒng)一建模語言—UML(UnifiedModelingLanguage)的出現(xiàn)。在世界范圍內(nèi),至少在近10年內(nèi),UML將是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語言。概述10.1UML概述UML(UnifiedModelingLanguage)是軟件界第一個(gè)統(tǒng)一建模語言,該方法結(jié)合了Booch,OMT,和OOSE方法的優(yōu)點(diǎn),統(tǒng)一了符號體系,并
2、從其它的方法和工程實(shí)踐中吸收了許多經(jīng)過實(shí)際檢驗(yàn)的概念和技術(shù)。它是一種標(biāo)準(zhǔn)的表示,已成為國際軟件界廣泛承認(rèn)的標(biāo)準(zhǔn)。是一種基于面向?qū)ο蟮目梢暬耐ㄓ?General)建模語言。為不同領(lǐng)域的用戶提供了統(tǒng)一的交流標(biāo)準(zhǔn)—UML圖。UML應(yīng)用領(lǐng)域很廣泛,可用于軟件開發(fā)建模的各個(gè)階段,商業(yè)建模(BusinessModeling),也可用于其它類型的系統(tǒng)。UML語言定義了五種類型,9種不同的圖,把它們有機(jī)的結(jié)合起來就可以描述系統(tǒng)的所有視圖。用例圖(Usecasediagram)從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。靜態(tài)圖(Sta
3、ticdiagram),表示系統(tǒng)的靜態(tài)結(jié)構(gòu)。包括類圖、對象圖、包圖。行為圖(Behaviordiagram),描述系統(tǒng)的動(dòng)態(tài)模型和組成對象間的交互關(guān)系。包括狀態(tài)圖、活動(dòng)圖。交互圖(Interactivediagram),描述對象間的交互關(guān)系。包括順序圖、合作圖。實(shí)現(xiàn)圖(Implementationdiagram)用于描述系統(tǒng)的物理實(shí)現(xiàn)。包括構(gòu)件圖、部件圖。圖(Diagrams)圖(1)統(tǒng)一標(biāo)準(zhǔn)UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念,已成為OMG的正式標(biāo)準(zhǔn),提供了標(biāo)準(zhǔn)的面向?qū)ο蟮哪P驮氐亩x和表示。(
4、2)面向?qū)ο骍ML還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其它流派的精華。刪除了大量易引起混亂的、多余的和極少使用的符號,也添加了一些新符號。(3)可視化、表示能力強(qiáng)系統(tǒng)的邏輯模型或?qū)崿F(xiàn)模型都能用UML模型清晰的表示,可用于復(fù)雜軟件系統(tǒng)的建模。(4)易掌握、易用UML的概念明確,建模表示法簡潔明了,圖形結(jié)構(gòu)清晰,易于掌握使用。UML的特點(diǎn)10.2通用模型元素模型元素是UML構(gòu)造系統(tǒng)的各種元素,是UML構(gòu)建模型的基本單位。分為以下兩類:1.基元素是由UML定義的模型元素。如:類、結(jié)點(diǎn)、構(gòu)件、注釋、關(guān)聯(lián)、依賴和泛化等。2.構(gòu)造型元素在基元
5、素的基礎(chǔ)上增加了新的定義而構(gòu)造的新的模型元素。如擴(kuò)展基元素的語義(不能擴(kuò)展語法結(jié)構(gòu)),也允許用戶自定義。構(gòu)造型元素用括在雙尖括號<<>>中的字符串表示。目前UML提供了40多個(gè)預(yù)定義的構(gòu)造型元素。如包含<>、擴(kuò)展<>。10.2.1常用模型元素常用的模型元素可以在圖中使用的概念統(tǒng)稱為模型元素。模型元素在圖中用其相應(yīng)的視圖元素(符號)表示,圖中給出了常用的元素符號:類、對象、結(jié)點(diǎn)、包和組件等。用例包結(jié)點(diǎn)狀態(tài)組件屬性類操作對象屬性操作接口注釋模型元素關(guān)聯(lián):連接(connect)模型元素及鏈接(
6、link)實(shí)例。依賴:表示一個(gè)元素以某種方式依賴于另一種元素。泛化:表示一般與特殊的關(guān)系,即“一般”元素是“特殊”關(guān)系的泛化。聚合:表示整體與部分的關(guān)系。連接關(guān)系關(guān)聯(lián)組合聚合依賴細(xì)化泛化(繼承)模型元素與模型元素之間的連接關(guān)系也是模型元素,常見的關(guān)系有關(guān)聯(lián)(association)、泛化(generalization)、依賴(dependency)和聚合(aggregation),其中聚合是關(guān)聯(lián)的一種特殊形式。這些關(guān)系的圖示符號如圖所示。關(guān)聯(lián)(association)是兩個(gè)或多個(gè)類之間的一個(gè)關(guān)系。鏈(link)是關(guān)聯(lián)的具
7、體體現(xiàn)。10.2.2關(guān)聯(lián)和鏈關(guān)聯(lián)的表示關(guān)聯(lián)分為二元關(guān)聯(lián)(binary)、三元關(guān)聯(lián)(ternary)、多元關(guān)聯(lián)(higherorder)。關(guān)聯(lián)(a)二元關(guān)聯(lián)人員公司雇用二元關(guān)聯(lián)的例(人員)張濤(公司)通大雇用鏈的例子(b)三元關(guān)聯(lián)項(xiàng)目語言◆人三元關(guān)聯(lián)的例(項(xiàng)目)CAD系統(tǒng)(語言)C++◆(人)李波鏈的例子10.3用例建模1992年由Jacobson提出了Usecase的概念及可視化的表示方法—Usecase圖,并加入由他所倡導(dǎo)的OOSE。受到了IT界的歡迎,被廣泛應(yīng)用到了面向?qū)ο蟮南到y(tǒng)分析中。用例驅(qū)動(dòng)的系統(tǒng)分析與設(shè)計(jì)方法已
8、成為面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)方法的主流。UML的用例模型一直被推薦為識別和捕獲需求的首選工具!!用例建模技術(shù),用于描述系統(tǒng)的功能需求。在宏觀上給出模型的總體輪廓。通過對典型用例的分析,使開發(fā)者能夠有效地了解用戶的需求。10.3.1用例建模概述網(wǎng)絡(luò)中間層狀態(tài)包檢測防火墻系統(tǒng)開/關(guān)防火墻基于歷史狀態(tài)的包處理網(wǎng)卡驅(qū)動(dòng)程序(