【正文】
通過(guò)協(xié)作的腳本 , 發(fā)現(xiàn)建模的模型是否有被遺漏和語(yǔ)義錯(cuò)誤的地方 , 并更正錯(cuò)誤 。 在對(duì)類圖的簡(jiǎn)單協(xié)同建模時(shí) , 不僅要描述類的職責(zé) 、 結(jié)構(gòu)和服務(wù) , 還要強(qiáng)調(diào)類間的關(guān)系 。 類圖 類圖所包括的內(nèi)容如下: 類 、 接口 、 協(xié)作 依賴 、 泛化 、 實(shí)現(xiàn)和關(guān)聯(lián)關(guān)系 類圖的用途 ?類圖是系統(tǒng)靜態(tài)視圖的一部分,它主要是用來(lái)描述軟件系統(tǒng)的靜態(tài)結(jié)構(gòu)。 ?包括名稱部分( Name)、屬性部分( Attribute)和操作部分( Operation)。 一個(gè)類可以實(shí)現(xiàn)一個(gè)或多個(gè)接口 。第 7章 類圖、對(duì)象圖和包圖 主講:王海燕 主要內(nèi)容 ?類圖的定義和應(yīng)用 ?對(duì)象圖的定義和應(yīng)用 ?包圖的定義和應(yīng)用 ?圖書(shū)館系統(tǒng)實(shí)例分析 類 ?類是任何面向?qū)ο笙到y(tǒng)中最重要的構(gòu)造塊 。 這些對(duì)象包括現(xiàn)實(shí)世界中的軟件事物和硬件事物 , 甚至也可以包括純粹概念性的事物 , 它們是類的實(shí)例 。 ?對(duì)一組具有相同屬性、操作、關(guān)系和語(yǔ)義的對(duì)象的抽象。 靜態(tài)視圖用于為軟件系統(tǒng)進(jìn)行結(jié)構(gòu)建模 , 它構(gòu)造系統(tǒng)的詞匯和關(guān)系 , 而結(jié)構(gòu)模型的視化就是通過(guò)類圖來(lái)實(shí)現(xiàn)的 。 協(xié)同的靜態(tài)結(jié)構(gòu)是通過(guò)類圖表達(dá)出來(lái)的 。 ?( 2) 對(duì)每種機(jī)制 , 識(shí)別參與協(xié)作的類 、 接口和其他協(xié)作 , 并識(shí)別它們間的關(guān)系 。 傳統(tǒng)的邏輯數(shù)據(jù)庫(kù)建模工具 “ 實(shí)體-關(guān)系 ( ER) ”圖只針對(duì)數(shù)據(jù) , 而 UML的類圖還允許對(duì)行為建模 。 ( 4) 觀察系統(tǒng)中的公共模式 ( 如循環(huán)關(guān)聯(lián) 、 一對(duì)一關(guān)聯(lián)等 ) , 它們往往使物理數(shù)據(jù)庫(kù)設(shè)計(jì)復(fù)雜化 。 實(shí)例分析 ?對(duì)象代表一個(gè)單獨(dú)的、可確認(rèn)的物體、單元或?qū)嶓w,它可以是具體的也可以是抽象的,在問(wèn)題領(lǐng)域里有確切定義的角色。 ?對(duì)象圖可以被看作是類圖在系統(tǒng)某一時(shí)刻的實(shí)例。 對(duì)于組件圖和部署圖來(lái)說(shuō), UML可以直接對(duì)它們建模,組件圖和部署圖上分別可以包含部件或結(jié)點(diǎn)的實(shí)例。 ?類 是靜態(tài)的, 對(duì)象 是動(dòng)態(tài)的; 類 是一般化,對(duì)象 是個(gè)性化; 類 是定義, 對(duì)象 是實(shí)例; 類是抽象、 對(duì)象 是具體。 ?包的作用是: 1)對(duì)語(yǔ)義上相關(guān)的元素進(jìn)行分組; 2)定義模型中的“語(yǔ)義邊界”; 3)提供配置管理單元; 4)在設(shè)計(jì)時(shí),提供并行工作的單元; 5)提供封裝的命名空間,其中所有名稱必須惟一 。 ?設(shè)計(jì)良好的包是高內(nèi)聚、低耦合的,并且對(duì)其內(nèi)容的訪問(wèn)具有嚴(yán)密的控制。 ?圖形上,包是帶有標(biāo)簽的文件夾??梢?jiàn)性可以分成 3種。保護(hù)訪問(wèn)用前綴于內(nèi)含元素名字的#號(hào)(#)表示。引入( import) 關(guān)系用構(gòu)造型的 import來(lái)修飾。 ? 包在很多方面與類相似,但是在對(duì)大系統(tǒng)模型時(shí)特別要注意區(qū)別包與類。 ( 1)分析系統(tǒng)模型元素(通常是對(duì)象類),把概念上或語(yǔ)義上相近的模型元素納入一個(gè)包。 ( 5)繪制包圖。 3)在數(shù)據(jù)的展現(xiàn)過(guò)程中,將需要繪制大量的圖表 實(shí)例分析 2 ?根據(jù)功能模塊組織包: 實(shí)例分析 2 類包圖的應(yīng)用 ?在用包對(duì)類進(jìn)行分組時(shí),一般遵循 3個(gè)經(jīng)驗(yàn)法則: ? 將具有繼承關(guān)系的類分到一個(gè)包里 ? 將具有組合關(guān)系的類分到一個(gè)包里 ? 將協(xié)作較多的類分到一個(gè)包里 U s e r I n t e r f a c eT e a c h e r M a n a g e m e n tD a t a B a s eS t u d e n t M a n ag e m e n t圖 7 . 7 類 包 圖S e a r c h P e r s o n U I A d d P e r