《UML分析類、狀態(tài)圖基礎(chǔ)和畫法-PPT》由會(huì)員分享,可在線閱讀,更多相關(guān)《UML分析類、狀態(tài)圖基礎(chǔ)和畫法-PPT(29頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,UML分析類、狀態(tài)圖基礎(chǔ)和畫法,分析類,分析類的概念,在分析模型中,分析類是概念層次上的內(nèi)容,用于描述系,統(tǒng)中較高層次的對象。,分析類直接與應(yīng)用邏輯相關(guān),而不關(guān)注于技術(shù)實(shí)現(xiàn)的問題。,分析類的類型,實(shí)體類:表示系統(tǒng)存儲和管理的永久信息,邊界類:表示參與者與系統(tǒng)之間的交互,控制類:表示系統(tǒng)在運(yùn)行過程中的業(yè)務(wù)控制邏輯,2,實(shí)體類,實(shí)體類,描
2、述必須存貯的信息及其相關(guān)行為,通常對應(yīng)現(xiàn)實(shí)世界中的“事物”,實(shí)體類與數(shù)據(jù)庫中的表對應(yīng),類的實(shí)例對應(yīng)于表中的一條記錄;類中的屬性和記錄中的字段對應(yīng)。,實(shí)體類的,UML,表示,3,邊界類,邊界類,描述外部的參與者與系統(tǒng)之間的交互,類型:用戶界面、系統(tǒng)接口、設(shè)備接口,邊界類是系統(tǒng)的用戶界面,直接跟系統(tǒng)外部參與者交互,與系統(tǒng)進(jìn)行信息交流。如網(wǎng)上購物系統(tǒng)中登陸子功能里的登錄頁面(,login.html,或,index.jsp,),邊界類的,UML,表示,4,控制類,控制類,描述一個(gè)用例所具有的事件流控制行為,實(shí)現(xiàn)對用例行為的封裝,將用例的執(zhí)行邏輯與邊界和實(shí),體進(jìn)行隔離,控制類是控制系統(tǒng)中對象之間的交互,
3、通常每個(gè)用例都是一個(gè)控制類。,控制類的,UML,表示,5,課堂作業(yè),圖中的實(shí)體類為:,圖中的控制類為:,圖中的邊界類為:,6,內(nèi)容提綱,1,、面向?qū)ο蠓治龈拍?分析類:邊界類、控制類、實(shí)體類,用例實(shí)現(xiàn),2,、基于用例的分析建模,識別分析類,定義交互行為,建立分析類圖,檢查分析模型,7,分析建模過程,理解用例模型,理解用例模型和詞匯表,適當(dāng)補(bǔ)充系統(tǒng)內(nèi)部情況的描述,識別分析類,找出可能的能夠執(zhí)行用例行為的分析類,定義交互行為,將用例行為分配到分析類中,建立分析類圖,確定分析類的關(guān)鍵屬性和責(zé)任,定義分析類之間的關(guān)系,檢查分析模型,8,大家學(xué)習(xí)辛苦了,還是要堅(jiān)持,繼續(xù)保持安靜,9,示例:,MiniLi
4、brary,10,補(bǔ)充用例描述,補(bǔ)充用例描述,為了發(fā)現(xiàn)分析類,有必要補(bǔ)充說明系統(tǒng)的內(nèi)部行為,即系,統(tǒng)內(nèi)部必須做什么才能響應(yīng)外部的要求。,可能的情況,用例描述的內(nèi)容足夠充分,不用補(bǔ)充直接可用;,現(xiàn)有事件流中沒有明確定義系統(tǒng)內(nèi)部應(yīng)該執(zhí)行的行為,直接在現(xiàn)有用,例描述中作出補(bǔ)充行為;,獨(dú)立于原始用例描述系統(tǒng)的內(nèi)部行為。,注意:沒有必要規(guī)定系統(tǒng)的哪些部分完成哪些特定任務(wù)。,11,MiniLibrary,:補(bǔ)充用例描述,舉例:“登記還書”用例,12,識別分析類,識別邊界類,通常,一個(gè)參與者與一個(gè)用例之間的交互或通信關(guān)聯(lián)對應(yīng),一個(gè)邊界類。,13,識別分析類,識別邊界類應(yīng)當(dāng)注意的問題,邊界類應(yīng)關(guān)注于參與者與用
5、例之間交互的信息或者響應(yīng)的,事件,不要描述窗口組件等界面的組成元素;,在分析階段,力求使用用戶的術(shù)語描述界面;,邊界類實(shí)例的生命周期并不僅限于用例的事件流,如果兩,個(gè)用例同時(shí)與一個(gè)參與者交互,那么它們有可能會(huì)共用一個(gè)邊界類,以便增加邊界類的復(fù)用性。,14,MiniLibrary,:識別邊界類,15,識別分析類,識別控制類,控制類負(fù)責(zé)協(xié)調(diào)邊界類和實(shí)體類,通常在現(xiàn)實(shí)世界中沒有,對應(yīng)的事物。,一般來說,一個(gè)用例對應(yīng)一個(gè)控制類。,16,識別分析類,識別控制類應(yīng)當(dāng)注意的問題,當(dāng)用例比較復(fù)雜時(shí),特別是產(chǎn)生分支事件流的情況下,一,個(gè)用例可以有多個(gè)控制類。,在有些情況下,用例事件流的邏輯結(jié)構(gòu)十分簡單,這時(shí)沒,
6、有必要使用控制類,邊界類可以實(shí)現(xiàn)用例的行為。,舉例:,MiniLibrary,系統(tǒng)中的用例“登錄”,如果不同用例包含的任務(wù)之間存在著比較密切的聯(lián)系,則,這些用例可以使用一個(gè)控制類,其目的是復(fù)用相似部分以便,降低復(fù)雜性。,通常情況下,應(yīng)該按照一個(gè)用例對應(yīng)一個(gè)控制類的方法識別出多個(gè)控,制類,再分析這些控制類找出它們之間的共同之處。,17,MiniLibrary,:識別控制類,18,識別分析類,識別實(shí)體類,實(shí)體類通常是用例中的參與對象,對應(yīng)著現(xiàn)實(shí)世界中的“事物”,19,識別分析類,識別實(shí)體類應(yīng)當(dāng)注意的問題,實(shí)體類的識別質(zhì)量在很大程度上取決于分析人員書寫文檔,的風(fēng)格和質(zhì)量;,自然語言是不精確的,因此在
7、分析自然語言描述時(shí)應(yīng)該規(guī),范化描述文檔中的一些措辭,盡量彌補(bǔ)這種不足;,在自然語言描述中,名詞可以對應(yīng)類、屬性或同義詞等多,種類型,開發(fā)人員需要花費(fèi)大量的時(shí)間進(jìn)行篩選。,思考:如何識別,MiniLibrary,的實(shí)體類?,20,MiniLibrary,:識別實(shí)體類,21,定義交互行為,交互圖可以將用例和分析對象聯(lián)系在一起,實(shí)現(xiàn)將用例的行為分配到所識別的分析類中,并且?guī)椭_發(fā)人員發(fā)現(xiàn)和補(bǔ)充前面遺漏的分析類。,22,MiniLibrary,:“登記借書”基本流,23,MiniLibrary,:“登記借書”基本流,24,MiniLibrary,:分析類,將“登記還書”用例行為分配到相應(yīng)的分析類之后,
8、系統(tǒng)的一些分析類具有相應(yīng)的職責(zé),25,建立分析類圖,定義關(guān)系,找出分析類之間的關(guān)聯(lián)關(guān)系,并通過泛化實(shí)現(xiàn)復(fù)用。,定義屬性,按照一般常識,找出對象的某些屬性;,認(rèn)真研究問題域,找出對象的某些屬性;,根據(jù)系統(tǒng)責(zé)任的要求,找出對象的某些屬性;,考慮對象需要系統(tǒng)保存的信息,找出對象的相應(yīng)屬性;,對象為了在服務(wù)中實(shí)現(xiàn)其功能,需要增設(shè)一些屬性;,識別對象需要區(qū)別的狀態(tài),考慮是否需要增加一個(gè)屬性來,區(qū)別這些狀態(tài);,確定屬性表示整體與部分結(jié)構(gòu)和實(shí)例連接。,26,MiniLibrary,:分析類圖,27,檢查分析模型,檢查“正確性”,用戶是否可以理解實(shí)體對象的術(shù)語表?,抽象類與用戶層次上的概念對應(yīng)嗎?,所有的描述都與用戶定義一致嗎?,所有的實(shí)體類和邊界類都使用具有實(shí)際含義的名詞短語嗎?,所有的用例和控制類都使用具有實(shí)際含義的動(dòng)詞短語嗎?,所有的異常情況都被描述和處理了嗎?,是否描述了系統(tǒng)的啟動(dòng)和關(guān)閉?,是否描述了系統(tǒng)功能的管理?,28,檢查分析模型,檢查“完整性”,每一個(gè)分析類都是用例需要的嗎?它在什么用例中被創(chuàng)建、,修改和刪除?是否存在邊界類可以訪問它?,每一個(gè)屬性是在什么時(shí)候設(shè)置的?其類型是什么?它是限定,詞嗎?,每一個(gè)關(guān)系是在什么時(shí)候被遍歷?為什么選定指定的重?cái)?shù)?,一對多和多對多的關(guān)系能被限定嗎?,每一個(gè)控制類對象是否有必要訪問參與用例的對象?,29,