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