版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?9.1 面向?qū)ο蠓治鼋榻B面向?qū)ο蠓治鼋榻B9.2 獲取需求建立用例模型獲取需求建立用例模型9.3 建立系統(tǒng)分析模型建立系統(tǒng)分析模型 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?掌握面向?qū)ο蠓治龅幕靖拍钫莆彰嫦驅(qū)ο蠓治龅幕靖拍?掌握掌握UML關(guān)于用例模型的有關(guān)概念關(guān)于用例模型的有關(guān)概念; 掌握掌握UML關(guān)于用例模型的建立方法;關(guān)于用例模型的建立方法;4.4.會應(yīng)用會應(yīng)用UML建立靜態(tài)模型和動態(tài)模型;建立靜態(tài)模型和動態(tài)模型; 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?9.1 面向?qū)ο蠓治鼋榻B 面向?qū)ο蠓治觯嫦驅(qū)ο蠓治觯∣bjec
2、tOrientedAnalysis簡稱簡稱OOA)就)就是利用面向?qū)ο蠓椒ㄟM行需求分析。是利用面向?qū)ο蠓椒ㄟM行需求分析。OOA的基本任務(wù)是運用面向?qū)ο蠓椒?,對問題域和系的基本任務(wù)是運用面向?qū)ο蠓椒ǎ瑢栴}域和系統(tǒng)責(zé)任進行分解和理解,對其中的事物和它們之間的統(tǒng)責(zé)任進行分解和理解,對其中的事物和它們之間的關(guān)系產(chǎn)生正確的認(rèn)識,找出描述問題域及系統(tǒng)責(zé)任所關(guān)系產(chǎn)生正確的認(rèn)識,找出描述問題域及系統(tǒng)責(zé)任所需的類及對象,定義這些類和對象的屬性與服務(wù),以需的類及對象,定義這些類和對象的屬性與服務(wù),以及它們之間所形成的結(jié)構(gòu)、靜態(tài)聯(lián)系和動態(tài)聯(lián)系。及它們之間所形成的結(jié)構(gòu)、靜態(tài)聯(lián)系和動態(tài)聯(lián)系。OOA的最終目的是產(chǎn)生一個
3、符合用戶需求,并能夠直的最終目的是產(chǎn)生一個符合用戶需求,并能夠直接反映問題域和系統(tǒng)責(zé)任的接反映問題域和系統(tǒng)責(zé)任的OOA模型及其詳細說明。模型及其詳細說明。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?問題域和問題域和系統(tǒng)責(zé)任系統(tǒng)責(zé)任 系統(tǒng)邊界系統(tǒng)邊界 參與者參與者 問題域是指被開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,即在現(xiàn)實世問題域是指被開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,即在現(xiàn)實世界中由這個系統(tǒng)進行處理的業(yè)務(wù)范圍。系統(tǒng)責(zé)任界中由這個系統(tǒng)進行處理的業(yè)務(wù)范圍。系統(tǒng)責(zé)任即所開發(fā)系統(tǒng)的應(yīng)該具備的職能。二者有很大的即所開發(fā)系統(tǒng)的應(yīng)該具備的職能。二者有很大的重合,但不一定完全相同重合,但不一定完全相同 系統(tǒng)邊界是指一個系統(tǒng)所包含的所有系統(tǒng)成分與系
4、統(tǒng)邊界是指一個系統(tǒng)所包含的所有系統(tǒng)成分與系統(tǒng)以外各種事物的分界線。這里所說的系統(tǒng)是系統(tǒng)以外各種事物的分界線。這里所說的系統(tǒng)是指被開發(fā)的計算機軟硬件系統(tǒng),而不是泛指問題指被開發(fā)的計算機軟硬件系統(tǒng),而不是泛指問題域的全部事物所構(gòu)成的現(xiàn)實系統(tǒng)。域的全部事物所構(gòu)成的現(xiàn)實系統(tǒng)。 參與者(參與者(Actor)指在系統(tǒng)之外(透過系統(tǒng)世界)指在系統(tǒng)之外(透過系統(tǒng)世界)與系統(tǒng)進行交互的任何事物。最常見的參與者與系統(tǒng)進行交互的任何事物。最常見的參與者有人員、設(shè)備和外系統(tǒng)。有人員、設(shè)備和外系統(tǒng)。面向?qū)ο蠓治鼋?jīng)常用到的概念包括以下幾種:面向?qū)ο蠓治鼋?jīng)常用到的概念包括以下幾種:第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治? 問
5、題域與系統(tǒng)責(zé)任問題域與系統(tǒng)責(zé)任 交流問題交流問題 需求的不斷變化需求的不斷變化 復(fù)用的要求復(fù)用的要求 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治? 抽象抽象 封裝封裝 繼承繼承 分類分類 聚合聚合 關(guān)聯(lián)關(guān)聯(lián) 消息通訊消息通訊 粒度控制粒度控制 行為分析行為分析第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治? 面向?qū)ο蠓治鍪菍F(xiàn)實世界中的問題進行分析和理解,面向?qū)ο蠓治鍪菍F(xiàn)實世界中的問題進行分析和理解,理清其中的關(guān)系并映射到系統(tǒng)層面的一個過程。這個過程可理清其中的關(guān)系并映射到系統(tǒng)層面的一個過程。這個過程可以分為以分為2 2個階段,即個階段,即需求分析階段和系統(tǒng)分析階段需求分析階段和系統(tǒng)分析階段。 需求分析階段
6、主要是了解用戶的需求,對現(xiàn)實問題進行需求分析階段主要是了解用戶的需求,對現(xiàn)實問題進行分析,確定用戶需求。在此階段可以用用例來捕獲用戶分析,確定用戶需求。在此階段可以用用例來捕獲用戶需求。通過建立用例模型來描述對系統(tǒng)感興趣的外部角需求。通過建立用例模型來描述對系統(tǒng)感興趣的外部角色及其對系統(tǒng)(用例)的功能要求。色及其對系統(tǒng)(用例)的功能要求。1.1.系統(tǒng)分析階段是將需求分析的結(jié)果確定系統(tǒng)的范圍和主系統(tǒng)分析階段是將需求分析的結(jié)果確定系統(tǒng)的范圍和主要功能。此階段主要關(guān)心問題域中的主要概念(如抽象、要功能。此階段主要關(guān)心問題域中的主要概念(如抽象、類等)和機制,需要識別這些類以及它們相互間的關(guān)系,類等)
7、和機制,需要識別這些類以及它們相互間的關(guān)系,并用并用UMLUML類圖來描述。此階段可以根據(jù)用例來創(chuàng)建分析模類圖來描述。此階段可以根據(jù)用例來創(chuàng)建分析模型。型。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?1用例模型用例模型 用例模型是系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型,它可以作用例模型是系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型,它可以作為客戶和開發(fā)人員的契約。用例是貫徹整個系統(tǒng)開發(fā)的一為客戶和開發(fā)人員的契約。用例是貫徹整個系統(tǒng)開發(fā)的一條主線。用例模型即為需求分析的結(jié)果。用例模型主要包條主線。用例模型即為需求分析的結(jié)果。用例模型主要包括以下內(nèi)容:括以下內(nèi)容:(1)業(yè)務(wù)用例)業(yè)務(wù)用例(2)業(yè)務(wù)場景)業(yè)務(wù)場景(3)系統(tǒng)用例)系
8、統(tǒng)用例(4)用例規(guī)約)用例規(guī)約第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?0用例模型用例模型第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?12分析模型分析模型 分析模型是跨越需求和設(shè)計實現(xiàn)的橋梁,分析模型是采用分分析模型是跨越需求和設(shè)計實現(xiàn)的橋梁,分析模型是采用分析類,在系統(tǒng)架構(gòu)和框架的約束下,來實現(xiàn)用例場景的產(chǎn)物。析類,在系統(tǒng)架構(gòu)和框架的約束下,來實現(xiàn)用例場景的產(chǎn)物。分析模型是高層次的系統(tǒng)視圖分析模型是高層次的系統(tǒng)視圖 。分析模型主要包括以下內(nèi)容:。分析模型主要包括以下內(nèi)容:(1)靜態(tài)視圖)靜態(tài)視圖 靜態(tài)視圖用于描述事物的靜態(tài)結(jié)構(gòu),而不是描述動態(tài)行靜態(tài)視圖用于描述事物的靜態(tài)結(jié)構(gòu),而不是描述動態(tài)行為。在本階
9、段,靜態(tài)視圖包括分析類圖、包圖。其中分析類圖為。在本階段,靜態(tài)視圖包括分析類圖、包圖。其中分析類圖是整個分析模型的核心。是整個分析模型的核心。(2)動態(tài)視圖)動態(tài)視圖 動態(tài)視圖用于描述事物的動態(tài)行為。需要注意的是,動動態(tài)視圖用于描述事物的動態(tài)行為。需要注意的是,動態(tài)視圖不能單獨存在,它必須特指一個靜態(tài)視圖或態(tài)視圖不能單獨存在,它必須特指一個靜態(tài)視圖或UML元素,元素,說明在靜態(tài)視圖規(guī)定的事物結(jié)構(gòu)下它們的動態(tài)行為。動態(tài)視圖說明在靜態(tài)視圖規(guī)定的事物結(jié)構(gòu)下它們的動態(tài)行為。動態(tài)視圖包括序列圖、協(xié)作圖、狀態(tài)圖、活動圖等等。包括序列圖、協(xié)作圖、狀態(tài)圖、活動圖等等。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?2分
10、析模型分析模型 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?39.2獲取需求建立用例模型 某學(xué)校打算將學(xué)生選課系統(tǒng)網(wǎng)絡(luò)化,以減輕教務(wù)工作的強度,同時滿足校領(lǐng)導(dǎo)對課程情況某學(xué)校打算將學(xué)生選課系統(tǒng)網(wǎng)絡(luò)化,以減輕教務(wù)工作的強度,同時滿足校領(lǐng)導(dǎo)對課程情況實時把握的需求,在校領(lǐng)導(dǎo)的支持下,由教務(wù)處管理員牽頭對學(xué)生選課系統(tǒng)提出以下要求。實時把握的需求,在校領(lǐng)導(dǎo)的支持下,由教務(wù)處管理員牽頭對學(xué)生選課系統(tǒng)提出以下要求。在新學(xué)期開始之前,任課教師需要將所開的課程上報教務(wù)處。其中包括課程的名稱,適合的專在新學(xué)期開始之前,任課教師需要將所開的課程上報教務(wù)處。其中包括課程的名稱,適合的專業(yè),選修課還是必修課,學(xué)分,課時,課
11、程設(shè)置人數(shù)等。業(yè),選修課還是必修課,學(xué)分,課時,課程設(shè)置人數(shù)等。教務(wù)處課程管理人員結(jié)合各專業(yè)課程大綱和教師所提交的授課內(nèi)容,對課程進行篩選,并最終教務(wù)處課程管理人員結(jié)合各專業(yè)課程大綱和教師所提交的授課內(nèi)容,對課程進行篩選,并最終確定新學(xué)期要開設(shè)的課程。確定新學(xué)期要開設(shè)的課程。 在課程確定后,學(xué)生可以根據(jù)課程要求選擇課程。其中必修課為必選內(nèi)容,此部分不能選在課程確定后,學(xué)生可以根據(jù)課程要求選擇課程。其中必修課為必選內(nèi)容,此部分不能選擇;學(xué)生可以根據(jù)興趣愛好選擇選修課。選修課的數(shù)量不能大于擇;學(xué)生可以根據(jù)興趣愛好選擇選修課。選修課的數(shù)量不能大于6門,且上課時間不能沖突。門,且上課時間不能沖突。當(dāng)課
12、程的選課人數(shù)已達到課程設(shè)置人數(shù)時,學(xué)生將不能再選擇此門課程。在一段時間內(nèi),學(xué)生當(dāng)課程的選課人數(shù)已達到課程設(shè)置人數(shù)時,學(xué)生將不能再選擇此門課程。在一段時間內(nèi),學(xué)生可以修改所選的課程。當(dāng)選課時期結(jié)束后,學(xué)生只能查看已選課程。在選課結(jié)束后,教師可以可以修改所選的課程。當(dāng)選課時期結(jié)束后,學(xué)生只能查看已選課程。在選課結(jié)束后,教師可以查看所開課程的選課人數(shù)。若人數(shù)少于課程設(shè)置人數(shù)的五分之一時,教師可以選擇是否取消課查看所開課程的選課人數(shù)。若人數(shù)少于課程設(shè)置人數(shù)的五分之一時,教師可以選擇是否取消課程。程。 在課程考試結(jié)束后,教師可以對學(xué)生的成績進行維護和分析??梢圆榭凑n程的平均分?jǐn)?shù),在課程考試結(jié)束后,教師可
13、以對學(xué)生的成績進行維護和分析。可以查看課程的平均分?jǐn)?shù),成績的分布情況等等。學(xué)生可以查看已結(jié)課程的分?jǐn)?shù),并可以自動計算平均分,已獲得的學(xué)分成績的分布情況等等。學(xué)生可以查看已結(jié)課程的分?jǐn)?shù),并可以自動計算平均分,已獲得的學(xué)分等。校領(lǐng)導(dǎo)可以隨時查看學(xué)生信息、教師信息、選課信息、課程成績等。并可以對教師、學(xué)生等。校領(lǐng)導(dǎo)可以隨時查看學(xué)生信息、教師信息、選課信息、課程成績等。并可以對教師、學(xué)生情況進行評估。情況進行評估。 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?49.2獲取需求建立用例模型1了解問題領(lǐng)域了解問題領(lǐng)域為教務(wù)管理人員服務(wù),提高工作效率,減少工作差錯。為教務(wù)管理人員服務(wù),提高工作效率,減少工作差錯。
14、為學(xué)生服務(wù),選課更加方便快捷。為學(xué)生服務(wù),選課更加方便快捷。為教師服務(wù),課程管理更加輕松。為教師服務(wù),課程管理更加輕松。為校領(lǐng)導(dǎo)服務(wù),實時的統(tǒng)計分析,更容易得到想要的數(shù)據(jù)。為校領(lǐng)導(dǎo)服務(wù),實時的統(tǒng)計分析,更容易得到想要的數(shù)據(jù)。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?5 業(yè)主業(yè)主 業(yè)務(wù)提出者業(yè)務(wù)提出者 業(yè)務(wù)管理者業(yè)務(wù)管理者 業(yè)務(wù)執(zhí)行者業(yè)務(wù)執(zhí)行者 第三方第三方 用戶用戶2涉眾分析涉眾分析 涉眾是與要建設(shè)的業(yè)務(wù)系統(tǒng)相關(guān)的一切人和事。涉眾不等于用涉眾是與要建設(shè)的業(yè)務(wù)系統(tǒng)相關(guān)的一切人和事。涉眾不等于用戶,通常意思的用戶是指系統(tǒng)的使用者,而這僅是涉眾中的一部分。戶,通常意思的用戶是指系統(tǒng)的使用者,而這僅是涉眾
15、中的一部分??梢哉f凡是和此系統(tǒng)相關(guān)的人和事物都屬于涉眾,他們都可能對系可以說凡是和此系統(tǒng)相關(guān)的人和事物都屬于涉眾,他們都可能對系統(tǒng)的開發(fā)產(chǎn)生影響。統(tǒng)的開發(fā)產(chǎn)生影響。 對于軟件項目來說,可以通過以下幾類來發(fā)現(xiàn)項目中的涉眾。對于軟件項目來說,可以通過以下幾類來發(fā)現(xiàn)項目中的涉眾。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?63確定業(yè)務(wù)范圍確定業(yè)務(wù)范圍 在進行需求訪談之前,還需要對業(yè)務(wù)范圍進行規(guī)劃。在進行需求訪談之前,還需要對業(yè)務(wù)范圍進行規(guī)劃。業(yè)務(wù)范圍的確定需要考慮項目的周期、成本和可行性等業(yè)務(wù)范圍的確定需要考慮項目的周期、成本和可行性等眾多因素。業(yè)務(wù)范圍并不是系統(tǒng)的建設(shè)范圍,而是在需眾多因素。業(yè)務(wù)范圍并不
16、是系統(tǒng)的建設(shè)范圍,而是在需求調(diào)研的范圍。業(yè)務(wù)范圍可以從業(yè)務(wù)目標(biāo),涉眾期望開求調(diào)研的范圍。業(yè)務(wù)范圍可以從業(yè)務(wù)目標(biāo),涉眾期望開始。例如在本例中教務(wù)人員在確定新學(xué)期開課目錄前,始。例如在本例中教務(wù)人員在確定新學(xué)期開課目錄前,需要參考各專業(yè)課程設(shè)置。而專業(yè)課程設(shè)置并沒有在系需要參考各專業(yè)課程設(shè)置。而專業(yè)課程設(shè)置并沒有在系統(tǒng)中維護,同時在確定新學(xué)期開課目錄時,需要考慮的統(tǒng)中維護,同時在確定新學(xué)期開課目錄時,需要考慮的因素較為眾多。所以可以取消計算機進行新學(xué)期課程設(shè)因素較為眾多。所以可以取消計算機進行新學(xué)期課程設(shè)置的功能,而改為線下進行。置的功能,而改為線下進行。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?74
17、需求調(diào)研準(zhǔn)備需求調(diào)研準(zhǔn)備 這就要求系統(tǒng)分析人員在做需求調(diào)研前,一定要做好準(zhǔn)這就要求系統(tǒng)分析人員在做需求調(diào)研前,一定要做好準(zhǔn)備工作,對業(yè)務(wù)問題,訪談人的背景有一個充分的了解。在備工作,對業(yè)務(wù)問題,訪談人的背景有一個充分的了解。在訪談過程中能夠理清用戶的業(yè)務(wù)問題。同時對于某些核心問訪談過程中能夠理清用戶的業(yè)務(wù)問題。同時對于某些核心問題,往往會涉及到多個業(yè)務(wù)人員的工作,為了理清這一業(yè)務(wù),題,往往會涉及到多個業(yè)務(wù)人員的工作,為了理清這一業(yè)務(wù),需要系統(tǒng)分析人員能夠針對這一問題,將問題設(shè)計各方組織需要系統(tǒng)分析人員能夠針對這一問題,將問題設(shè)計各方組織起來進行專項討論以達到理清業(yè)務(wù)需求的目的。起來進行專項討論
18、以達到理清業(yè)務(wù)需求的目的。5制定項目計劃制定項目計劃 在準(zhǔn)備工作的最后,最終要的一項工作就是制定項目計劃。在準(zhǔn)備工作的最后,最終要的一項工作就是制定項目計劃。 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?89.2獲取需求建立用例模型 1用例圖介紹用例圖介紹 用例圖的基本概念:用例圖的基本概念: 用例圖(用例圖(UseCaseDiagram)是由軟件需求分析到最終實現(xiàn)的第)是由軟件需求分析到最終實現(xiàn)的第一步,它描述人們希望如何使用一個系統(tǒng)。用例圖顯示誰將是相關(guān)的一步,它描述人們希望如何使用一個系統(tǒng)。用例圖顯示誰將是相關(guān)的用戶、用戶希望系統(tǒng)提供什么服務(wù),以及用戶需要為系統(tǒng)提供的服務(wù),用戶、用戶希望系統(tǒng)提
19、供什么服務(wù),以及用戶需要為系統(tǒng)提供的服務(wù),以便使系統(tǒng)的用戶更容易地理解這些元素的用途,也便于軟件開發(fā)人以便使系統(tǒng)的用戶更容易地理解這些元素的用途,也便于軟件開發(fā)人員最終實現(xiàn)這些元素。員最終實現(xiàn)這些元素。 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?99.2獲取需求建立用例模型 用例圖主要包含用例圖主要包含4中元素,分別是:中元素,分別是:參與者、用例、關(guān)聯(lián)和系統(tǒng)參與者、用例、關(guān)聯(lián)和系統(tǒng)邊界邊界。用例圖可以包含注釋和約束,還可以包含包,用于將模型中的。用例圖可以包含注釋和約束,還可以包含包,用于將模型中的元素組合成更大的模塊。用例圖模型如下圖所示,參與者用人形圖標(biāo)元素組合成更大的模塊。用例圖模型如下圖
20、所示,參與者用人形圖標(biāo)表示,用例用橢圓形符號表示,連線表示它們之間的關(guān)系。表示,用例用橢圓形符號表示,連線表示它們之間的關(guān)系。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?0(1 1)參與者)參與者參與者是系統(tǒng)外部的一個實體,它以某種方式參與用例的執(zhí)行參與者是系統(tǒng)外部的一個實體,它以某種方式參與用例的執(zhí)行過程。參與者通過向系統(tǒng)輸入或請求系統(tǒng)輸入某些事件來觸發(fā)過程。參與者通過向系統(tǒng)輸入或請求系統(tǒng)輸入某些事件來觸發(fā)系統(tǒng)的執(zhí)行。參與者由參與用例時所擔(dān)當(dāng)?shù)慕巧珌肀硎尽⑴c系統(tǒng)的執(zhí)行。參與者由參與用例時所擔(dān)當(dāng)?shù)慕巧珌肀硎?。參與者用名字寫在下面的人形圖標(biāo)表示。者用名字寫在下面的人形圖標(biāo)表示。每個參與者可以參與一個
21、或多個用例。參與者有三大類:每個參與者可以參與一個或多個用例。參與者有三大類:n 系統(tǒng)用戶系統(tǒng)用戶n 與所建造的系統(tǒng)交互的其他系統(tǒng)與所建造的系統(tǒng)交互的其他系統(tǒng)n 一些可以運行的進程。一些可以運行的進程。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?1參與者可以劃分為發(fā)起參與者和參加參與者。發(fā)起參與者發(fā)起用例的執(zhí)行過程,參與者可以劃分為發(fā)起參與者和參加參與者。發(fā)起參與者發(fā)起用例的執(zhí)行過程,一個用例只有一個發(fā)起參與者,但可以有若干個參加參與者。一個用例只有一個發(fā)起參與者,但可以有若干個參加參與者。參與者還可以劃分為主要參與者和次要參與者,主要參與者是執(zhí)行系統(tǒng)主要功參與者還可以劃分為主要參與者和次要參與者,
22、主要參與者是執(zhí)行系統(tǒng)主要功能的參與者,次要參與者是使用系統(tǒng)次要功能的參與者。通過主要參與者有利能的參與者,次要參與者是使用系統(tǒng)次要功能的參與者。通過主要參與者有利于找出系統(tǒng)的核心功能,往往也是用戶最關(guān)心的功能。于找出系統(tǒng)的核心功能,往往也是用戶最關(guān)心的功能。尋找參與者可以從以下幾個問題入手:尋找參與者可以從以下幾個問題入手:n 系統(tǒng)開發(fā)出來后,主要功能被誰使用?系統(tǒng)開發(fā)出來后,主要功能被誰使用?n 誰需要借助系統(tǒng)來完成日常工作?誰需要借助系統(tǒng)來完成日常工作?n 系統(tǒng)需要從哪里獲得數(shù)據(jù)?系統(tǒng)需要從哪里獲得數(shù)據(jù)?n 系統(tǒng)會為哪些人或其他系統(tǒng)提供數(shù)據(jù)?系統(tǒng)會為哪些人或其他系統(tǒng)提供數(shù)據(jù)?n 系統(tǒng)會與那
23、些系統(tǒng)交互?系統(tǒng)會與那些系統(tǒng)交互?n 系統(tǒng)由誰負責(zé)管理和維護?系統(tǒng)由誰負責(zé)管理和維護?n 誰對本系統(tǒng)的結(jié)果感興趣?誰對本系統(tǒng)的結(jié)果感興趣?第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?2(2 2)用例)用例用例是外部可見的系統(tǒng)功能單元,這些功能由系統(tǒng)單元所提供,并通過一系列用例是外部可見的系統(tǒng)功能單元,這些功能由系統(tǒng)單元所提供,并通過一系列系統(tǒng)單元與一個或多個參與者之間交換的消息所表達。用例的用途是,在不揭系統(tǒng)單元與一個或多個參與者之間交換的消息所表達。用例的用途是,在不揭示系統(tǒng)內(nèi)部構(gòu)造的前提下定義連貫的行為。示系統(tǒng)內(nèi)部構(gòu)造的前提下定義連貫的行為。用例的定義包含它所必需的所有行為用例的定義包含它所必需
24、的所有行為執(zhí)行用例的主線次序、標(biāo)準(zhǔn)行為的不同執(zhí)行用例的主線次序、標(biāo)準(zhǔn)行為的不同變形、一般行為下的所有異常情況及其預(yù)期反應(yīng)。從用戶角度來看,上述情況變形、一般行為下的所有異常情況及其預(yù)期反應(yīng)。從用戶角度來看,上述情況很可能是異常情況:從系統(tǒng)角度來看,它們是必須被描述和處理的附加情況。很可能是異常情況:從系統(tǒng)角度來看,它們是必須被描述和處理的附加情況。更確切地說,用例不是需求或功能的規(guī)格說明,但是也展示和體現(xiàn)其所描述的更確切地說,用例不是需求或功能的規(guī)格說明,但是也展示和體現(xiàn)其所描述的過程中的需求情況。在過程中的需求情況。在UML中,用例用一個橢圓來表示,用例的名字可以書寫中,用例用一個橢圓來表示
25、,用例的名字可以書寫在橢圓的下方,如圖所示。在橢圓的下方,如圖所示。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?3識別用例最好的方法就是從分析系統(tǒng)的參與者開始,考慮每個參與者是識別用例最好的方法就是從分析系統(tǒng)的參與者開始,考慮每個參與者是如何使用系統(tǒng)的。使用這種策略的過程中可能會發(fā)現(xiàn)新的參與者,這對如何使用系統(tǒng)的。使用這種策略的過程中可能會發(fā)現(xiàn)新的參與者,這對完善整個系統(tǒng)的建模有很大的幫助。完善整個系統(tǒng)的建模有很大的幫助。在識別用例的過程中,通過回答以下的幾個問題,系統(tǒng)分析者可以獲得在識別用例的過程中,通過回答以下的幾個問題,系統(tǒng)分析者可以獲得幫助。幫助。n 特定參與者希望系統(tǒng)提供什么功能;特定參與
26、者希望系統(tǒng)提供什么功能;n 系統(tǒng)是否存儲和檢索信息,如果是,由哪個參與者觸發(fā);系統(tǒng)是否存儲和檢索信息,如果是,由哪個參與者觸發(fā);n 當(dāng)系統(tǒng)改變狀態(tài)時,是否通知參與者;當(dāng)系統(tǒng)改變狀態(tài)時,是否通知參與者;n 是否存在影響系統(tǒng)的外部事件;是否存在影響系統(tǒng)的外部事件;n 哪個參與者通知系統(tǒng)這些事件。哪個參與者通知系統(tǒng)這些事件。用例的粒度指的是用例所包含的用例的粒度指的是用例所包含的系統(tǒng)服務(wù)或功能單元的多少。系統(tǒng)服務(wù)或功能單元的多少。 用例粒度示例用例粒度示例 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?4(3 3)用例之間的關(guān)系)用例之間的關(guān)系關(guān)系是指用例圖中參與者與用例,用例與用例之間的聯(lián)系。關(guān)系是指用例
27、圖中參與者與用例,用例與用例之間的聯(lián)系。除用例與其參與者發(fā)生關(guān)聯(lián)外,還可以具有系統(tǒng)中的多個關(guān)系,這些除用例與其參與者發(fā)生關(guān)聯(lián)外,還可以具有系統(tǒng)中的多個關(guān)系,這些關(guān)系包括包含關(guān)系、擴展關(guān)系和泛化關(guān)系。關(guān)系包括包含關(guān)系、擴展關(guān)系和泛化關(guān)系。應(yīng)用這些關(guān)系的目的是為了從系統(tǒng)中抽取出公共行為及其變體。應(yīng)用這些關(guān)系的目的是為了從系統(tǒng)中抽取出公共行為及其變體。關(guān)系關(guān)系說明說明記號記號關(guān)聯(lián)關(guān)聯(lián)執(zhí)行者與他所參與的一個用例之間的通信路執(zhí)行者與他所參與的一個用例之間的通信路徑徑 擴展擴展擴展的用例到基本用例的一種關(guān)系,它指出擴展的用例到基本用例的一種關(guān)系,它指出擴展的用例所定義的行為如何插入到基本用擴展的用例所定義
28、的行為如何插入到基本用例所定義的行為中。擴展的用例通過模塊化例所定義的行為中。擴展的用例通過模塊化方式增量地修改基本用例方式增量地修改基本用例 extend第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?5關(guān)系關(guān)系說明說明記號記號包含包含從基本用例到另一個用例(稱為包含用例)的從基本用例到另一個用例(稱為包含用例)的一種關(guān)系,它指出包含用例定義的行為被包含一種關(guān)系,它指出包含用例定義的行為被包含在基本用例所定義的行為中?;居美芸吹皆诨居美x的行為中。基本用例能看到包含用例,并依賴于執(zhí)行包含用例后的結(jié)果,包含用例,并依賴于執(zhí)行包含用例后的結(jié)果,但兩者相互間不能訪問其它屬性但兩者相互間不能訪問其它
29、屬性 用例泛化用例泛化一個一般用例與一個更特殊的用例之間的關(guān)系,一個一般用例與一個更特殊的用例之間的關(guān)系,特殊用例可繼承一般用例的特征特殊用例可繼承一般用例的特征 include關(guān)聯(lián)關(guān)系示例關(guān)聯(lián)關(guān)系示例 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?6 包含包含是指基本用例會用到包含用例是指基本用例會用到包含用例(inclusion),具體地講,就是將包含用例的事件流插入到基礎(chǔ)用具體地講,就是將包含用例的事件流插入到基礎(chǔ)用例的事件流中。例的事件流中。 包含用例是可重用的用例包含用例是可重用的用例多個用例的公共用多個用例的公共用例。例。 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?7第第9章章
30、 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?8 基礎(chǔ)用例不必知道擴基礎(chǔ)用例不必知道擴展用例的任何細節(jié),展用例的任何細節(jié),它僅為其提供擴展點。它僅為其提供擴展點。 擴展用例的行為是否擴展用例的行為是否被執(zhí)行要取決于主事被執(zhí)行要取決于主事件流中的判定點。件流中的判定點。 擴展是擴展是將擴展用例的事件流在一定的條件下按照將擴展用例的事件流在一定的條件下按照相應(yīng)的擴展點插入到基礎(chǔ)用例中。相應(yīng)的擴展點插入到基礎(chǔ)用例中。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?9第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?0 泛化泛化:同一業(yè)務(wù)目的的不同技術(shù)實現(xiàn)。:同一業(yè)務(wù)目的的不同技術(shù)實現(xiàn)。 當(dāng)多個用例當(dāng)多個用例共同擁有一種類似的結(jié)構(gòu)和行為共同
31、擁有一種類似的結(jié)構(gòu)和行為的的時候,可以將它們的共性抽象成為父用例,其他的時候,可以將它們的共性抽象成為父用例,其他的用例作為泛化關(guān)系中的子用例。用例作為泛化關(guān)系中的子用例。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?1(4 4)系統(tǒng)邊界)系統(tǒng)邊界系統(tǒng)邊界是指系統(tǒng)之間的界限。通常所說的系統(tǒng)可以認(rèn)為是由一系系統(tǒng)邊界是指系統(tǒng)之間的界限。通常所說的系統(tǒng)可以認(rèn)為是由一系列的相互作用的元素形成的具有特定功能的有機整體。列的相互作用的元素形成的具有特定功能的有機整體。系統(tǒng)同時又是相對的,一個系統(tǒng)本身可以使另一個更大系統(tǒng)的組成系統(tǒng)同時又是相對的,一個系統(tǒng)本身可以使另一個更大系統(tǒng)的組成部分,因為系統(tǒng)與系統(tǒng)之間需要使用
32、系統(tǒng)邊界進行區(qū)分,把系統(tǒng)邊部分,因為系統(tǒng)與系統(tǒng)之間需要使用系統(tǒng)邊界進行區(qū)分,把系統(tǒng)邊界以外的同系統(tǒng)相關(guān)聯(lián)的其他部分統(tǒng)稱為系統(tǒng)環(huán)境。界以外的同系統(tǒng)相關(guān)聯(lián)的其他部分統(tǒng)稱為系統(tǒng)環(huán)境。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?29.2獲取需求建立用例模型2 2、獲取業(yè)務(wù)用例、獲取業(yè)務(wù)用例 (1 1)發(fā)現(xiàn)業(yè)務(wù)參與者)發(fā)現(xiàn)業(yè)務(wù)參與者 業(yè)務(wù)參與者是參與者的一個版型,專門用于定義業(yè)務(wù)相關(guān)的參與業(yè)務(wù)參與者是參與者的一個版型,專門用于定義業(yè)務(wù)相關(guān)的參與者。業(yè)務(wù)參與者在遵守參與者定義的同時,也有其自身的特點。業(yè)務(wù)者。業(yè)務(wù)參與者在遵守參與者定義的同時,也有其自身的特點。業(yè)務(wù)參與者的特點在于,它針對的是業(yè)務(wù)人員而不是系統(tǒng)使
33、用者。所以在參與者的特點在于,它針對的是業(yè)務(wù)人員而不是系統(tǒng)使用者。所以在查找業(yè)務(wù)參與者的時候,要拋開計算機的概念。業(yè)務(wù)參與者是實際業(yè)查找業(yè)務(wù)參與者的時候,要拋開計算機的概念。業(yè)務(wù)參與者是實際業(yè)務(wù)工作的參與者,沒有抽象的計算機角色。要確認(rèn)參與者是否為業(yè)務(wù)務(wù)工作的參與者,沒有抽象的計算機角色。要確認(rèn)參與者是否為業(yè)務(wù)參與者可從以下幾個問題入手:參與者可從以下幾個問題入手:第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?3 業(yè)務(wù)參與者的名稱是否是客戶的業(yè)務(wù)術(shù)語?業(yè)務(wù)參與者的名稱是否是客戶的業(yè)務(wù)術(shù)語? 業(yè)務(wù)參與者的職責(zé)是否在客戶的崗位手冊中查到?業(yè)務(wù)參與者的職責(zé)是否在客戶的崗位手冊中查到? 業(yè)務(wù)主角的業(yè)務(wù)用例是否
34、為客戶的業(yè)務(wù)術(shù)語?業(yè)務(wù)主角的業(yè)務(wù)用例是否為客戶的業(yè)務(wù)術(shù)語? 客戶是否可以對業(yè)務(wù)主角順利理解?客戶是否可以對業(yè)務(wù)主角順利理解?學(xué)生選課系統(tǒng)的業(yè)務(wù)參與者:學(xué)生選課系統(tǒng)的業(yè)務(wù)參與者:第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?4(2 2)獲取業(yè)務(wù)用例)獲取業(yè)務(wù)用例 業(yè)務(wù)用例是用例版型中的一種,它專門用于需求階段的業(yè)務(wù)用例是用例版型中的一種,它專門用于需求階段的業(yè)務(wù)建模。業(yè)務(wù)建模是針對客戶業(yè)務(wù)的模型。業(yè)務(wù)建模。業(yè)務(wù)建模是針對客戶業(yè)務(wù)的模型。業(yè)務(wù)用例面對的問題領(lǐng)域是客觀存在的業(yè)務(wù)領(lǐng)域,沒有業(yè)務(wù)用例面對的問題領(lǐng)域是客觀存在的業(yè)務(wù)領(lǐng)域,沒有將來的計算機系統(tǒng)的參與。相應(yīng)的,它的參與者就是業(yè)將來的計算機系統(tǒng)的參與。相
35、應(yīng)的,它的參與者就是業(yè)務(wù)參與者。務(wù)參與者。 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?5學(xué)生選課系統(tǒng)業(yè)務(wù)用例學(xué)生選課系統(tǒng)業(yè)務(wù)用例第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?6學(xué)生選課系統(tǒng)業(yè)務(wù)用例學(xué)生選課系統(tǒng)業(yè)務(wù)用例第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?7(3 3)建立業(yè)務(wù)模型)建立業(yè)務(wù)模型在完成了業(yè)務(wù)用例分析后,我們要為每一個業(yè)務(wù)用例繪制在完成了業(yè)務(wù)用例分析后,我們要為每一個業(yè)務(wù)用例繪制一幅活動圖?;顒訄D描述了這個業(yè)務(wù)用例中,用戶可能會一幅活動圖?;顒訄D描述了這個業(yè)務(wù)用例中,用戶可能會進行的操作序列。進行的操作序列?;顒訄D有個很重要的使命就是從業(yè)務(wù)用例分析出系統(tǒng)用例?;顒訄D有個很重要的使命就是從業(yè)務(wù)用例
36、分析出系統(tǒng)用例。 學(xué)生選課系統(tǒng)的活動圖有:學(xué)生選課系統(tǒng)的活動圖有:第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?8活動圖二:校領(lǐng)導(dǎo)查詢活動圖二:校領(lǐng)導(dǎo)查詢 活動圖一:教務(wù)處課程管理活動圖一:教務(wù)處課程管理 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?9活動圖四:學(xué)生選課活動圖四:學(xué)生選課 活動圖三:教師管理課程活動圖三:教師管理課程第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?09.2獲取需求建立用例模型(1 1)建立系統(tǒng)用例)建立系統(tǒng)用例 需求分析就是在業(yè)務(wù)用例圖和相關(guān)的活動圖的基礎(chǔ)上,形需求分析就是在業(yè)務(wù)用例圖和相關(guān)的活動圖的基礎(chǔ)上,形成用例圖和用例規(guī)約。成用例圖和用例規(guī)約。課程設(shè)置用例課程設(shè)置用例課程情況查詢
37、用例課程情況查詢用例教師課程管理用例教師課程管理用例學(xué)生選課管理用例學(xué)生選課管理用例人員信息管理用例人員信息管理用例賬號管理用例。賬號管理用例。 學(xué)生選課系統(tǒng)的系統(tǒng)用例:學(xué)生選課系統(tǒng)的系統(tǒng)用例:第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?1校領(lǐng)導(dǎo)系統(tǒng)用例校領(lǐng)導(dǎo)系統(tǒng)用例 教務(wù)處課程管理員系統(tǒng)用例教務(wù)處課程管理員系統(tǒng)用例 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?2學(xué)生系統(tǒng)用例學(xué)生系統(tǒng)用例 教師系統(tǒng)用例教師系統(tǒng)用例 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?3系統(tǒng)管理員系統(tǒng)用例系統(tǒng)管理員系統(tǒng)用例 人員信息管理員系統(tǒng)用例人員信息管理員系統(tǒng)用例第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?49.2獲取需求建立用例模型(2
38、2)建立用例規(guī)約)建立用例規(guī)約 用例規(guī)約就是對用例的詳細描述和說明,主要內(nèi)容有:用例規(guī)約就是對用例的詳細描述和說明,主要內(nèi)容有: 簡要說明:簡要介紹該用例的作用和目的。簡要說明:簡要介紹該用例的作用和目的。 事件流:包括基本流和備選流,基本流描述的是用例事件流:包括基本流和備選流,基本流描述的是用例的基本流程,是指用例的基本流程,是指用例“正常正?!边\行時的場景;備選運行時的場景;備選流描述的是用例執(zhí)行過程中可能發(fā)生的異常或偶然情流描述的是用例執(zhí)行過程中可能發(fā)生的異?;蚺既磺闆r?;玖骱蛡溥x流綜合起來能夠覆蓋一個用例所有況。基本流和備選流綜合起來能夠覆蓋一個用例所有可能發(fā)生的場景。可能發(fā)生的場
39、景。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?5 用例場景:同一個用例在實際執(zhí)行的時候會有很多不同用例場景:同一個用例在實際執(zhí)行的時候會有很多不同的情況發(fā)成,稱之為用例場景。用例場景就是用例的實的情況發(fā)成,稱之為用例場景。用例場景就是用例的實例,包括成功場景和失敗場景。在用例規(guī)約中,由基本例,包括成功場景和失敗場景。在用例規(guī)約中,由基本流和備選流組合來對場景進行描述。在描述用例的時候流和備選流組合來對場景進行描述。在描述用例的時候要注意覆蓋所有的用例場景。此外場景還能幫助測試人要注意覆蓋所有的用例場景。此外場景還能幫助測試人員進行測試,幫助開發(fā)人員檢查是否完成所有的需求。員進行測試,幫助開發(fā)人員檢
40、查是否完成所有的需求。 特殊需求:描述與該用例相關(guān)的非功能性需求(包括性特殊需求:描述與該用例相關(guān)的非功能性需求(包括性能、可靠性、可用性和可擴展性等)和設(shè)計約束(所使能、可靠性、可用性和可擴展性等)和設(shè)計約束(所使用的操作系統(tǒng)、開發(fā)工具等)。用的操作系統(tǒng)、開發(fā)工具等)。 前置條件:執(zhí)行用例之前系統(tǒng)必須所處的狀態(tài),例如前前置條件:執(zhí)行用例之前系統(tǒng)必須所處的狀態(tài),例如前置條件是要求用戶有訪問的權(quán)限或是要求某個用例必須置條件是要求用戶有訪問的權(quán)限或是要求某個用例必須已經(jīng)執(zhí)行完。已經(jīng)執(zhí)行完。 后置條件:用例執(zhí)行完畢后系統(tǒng)可能處于的一組狀態(tài),后置條件:用例執(zhí)行完畢后系統(tǒng)可能處于的一組狀態(tài),例如要求在某
41、個用例執(zhí)行完成后,必須執(zhí)行某一用例。例如要求在某個用例執(zhí)行完成后,必須執(zhí)行某一用例。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?6執(zhí)行者的簡要描述執(zhí)行者的簡要描述 客戶客戶:向公司訂購商品的人:向公司訂購商品的人 客戶代表客戶代表:公司處理客戶請求的雇員:公司處理客戶請求的雇員 庫存系統(tǒng)庫存系統(tǒng):記錄公司庫存的軟件:記錄公司庫存的軟件用例的簡要描述用例的簡要描述 訂購貨物訂購貨物:客戶創(chuàng)建一個新的請求商品的訂單,:客戶創(chuàng)建一個新的請求商品的訂單,并為那些商品付費并為那些商品付費 取消訂單取消訂單:客戶取消一個已經(jīng)存在的訂單:客戶取消一個已經(jīng)存在的訂單 用例的詳細描述用例的詳細描述例如:訂購貨物用例的
42、描述如下頁所示。例如:訂購貨物用例的描述如下頁所示。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?7用例名稱用例名稱:訂購貨物:訂購貨物參與的執(zhí)行者參與的執(zhí)行者:客戶、客戶代表:客戶、客戶代表前置條件前置條件:一個合法的客戶已經(jīng)登錄到這個系統(tǒng):一個合法的客戶已經(jīng)登錄到這個系統(tǒng)事件流事件流: 當(dāng)客戶選擇訂購貨物時,用例開始當(dāng)客戶選擇訂購貨物時,用例開始 客戶輸入他的姓名和地址客戶輸入他的姓名和地址 如果客戶只輸入郵編,系統(tǒng)將給出州和城市名如果客戶只輸入郵編,系統(tǒng)將給出州和城市名 當(dāng)客戶輸入產(chǎn)品代碼當(dāng)客戶輸入產(chǎn)品代碼a.a.系統(tǒng)給出產(chǎn)品描述和價格系統(tǒng)給出產(chǎn)品描述和價格b.b.系統(tǒng)往客戶訂單中添加該物品的價
43、格系統(tǒng)往客戶訂單中添加該物品的價格1.1. 循環(huán)結(jié)束循環(huán)結(jié)束第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?85. 客戶輸入信用卡支付信息客戶輸入信用卡支付信息6. 客戶選擇提交客戶選擇提交7. 系統(tǒng)檢驗輸入的信息,把該訂單作為未完成的交易保系統(tǒng)檢驗輸入的信息,把該訂單作為未完成的交易保存,同時向記賬系統(tǒng)轉(zhuǎn)發(fā)支付信息。如果客戶提交的存,同時向記賬系統(tǒng)轉(zhuǎn)發(fā)支付信息。如果客戶提交的信息不正確,系統(tǒng)將提示客戶修改。信息不正確,系統(tǒng)將提示客戶修改。8. 當(dāng)支付確認(rèn)后,訂單就被標(biāo)記上已經(jīng)確認(rèn),同時返回當(dāng)支付確認(rèn)后,訂單就被標(biāo)記上已經(jīng)確認(rèn),同時返回給客戶一個訂單給客戶一個訂單ID,用例也就結(jié)束了。如果支付沒有,用例
44、也就結(jié)束了。如果支付沒有被確認(rèn),系統(tǒng)將提示客戶改正支付信息或者取消。如被確認(rèn),系統(tǒng)將提示客戶改正支付信息或者取消。如果客戶選擇修改信息,就回到第果客戶選擇修改信息,就回到第5步;如果選擇取消,步;如果選擇取消,用例結(jié)束。用例結(jié)束。后置條件后置條件:如果訂單沒有被取消,它將保存在系統(tǒng)中,:如果訂單沒有被取消,它將保存在系統(tǒng)中,并做上標(biāo)記并做上標(biāo)記第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?9事件流可分為兩部分:事件流可分為兩部分:基本路徑基本路徑 基本路徑是運轉(zhuǎn)正常時的路徑,是一系列沒基本路徑是運轉(zhuǎn)正常時的路徑,是一系列沒有分支和選擇的簡單陳述句有分支和選擇的簡單陳述句可選路徑可選路徑 可選路徑是指不
45、同于基本路徑而允許不同的可選路徑是指不同于基本路徑而允許不同的事件序列的路徑。事件序列的路徑。 對于明顯有可能隨時發(fā)生的事情來說,可選對于明顯有可能隨時發(fā)生的事情來說,可選路徑非常有效。路徑非常有效。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?0 如訂購貨物用例的基本路徑:如訂購貨物用例的基本路徑:事件流事件流:基本路徑基本路徑 當(dāng)客戶選擇訂購貨物時,用例開始當(dāng)客戶選擇訂購貨物時,用例開始 客戶輸入他的姓名和地址客戶輸入他的姓名和地址 當(dāng)客戶輸入產(chǎn)品代碼時當(dāng)客戶輸入產(chǎn)品代碼時a. 系統(tǒng)給出產(chǎn)品描述和價格系統(tǒng)給出產(chǎn)品描述和價格b. 系統(tǒng)往客戶訂單中添加該物品的價格系統(tǒng)往客戶訂單中添加該物品的價格 循環(huán)
46、結(jié)束循環(huán)結(jié)束 4. 客戶輸入信用卡支付信息客戶輸入信用卡支付信息 5. 客戶選擇提交客戶選擇提交6. 系統(tǒng)檢驗輸入的信息,把該訂單作為未完成的交易保存,系統(tǒng)檢驗輸入的信息,把該訂單作為未完成的交易保存,同時向記賬系統(tǒng)轉(zhuǎn)發(fā)支付信息同時向記賬系統(tǒng)轉(zhuǎn)發(fā)支付信息7. 當(dāng)支付確認(rèn)后,訂單就被標(biāo)記上已經(jīng)確認(rèn),同時返回給客當(dāng)支付確認(rèn)后,訂單就被標(biāo)記上已經(jīng)確認(rèn),同時返回給客戶一個訂單戶一個訂單ID,用例結(jié)束,用例結(jié)束第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?1 如果在訂購貨物用例中,客戶可以在提交訂單前隨如果在訂購貨物用例中,客戶可以在提交訂單前隨時取消訂單,其可選路徑如下:時取消訂單,其可選路徑如下:可選路徑可
47、選路徑:在選擇提交前的任何時候,客戶都可選擇在選擇提交前的任何時候,客戶都可選擇cancel。這。這次訂購沒有被保存,用例結(jié)束。次訂購沒有被保存,用例結(jié)束。在基本路徑第在基本路徑第6步,如果有任何不正確的信息,系統(tǒng)步,如果有任何不正確的信息,系統(tǒng)提示客戶去修改這些信息。提示客戶去修改這些信息。在基本路徑第在基本路徑第7步,若支付沒有被確認(rèn),系統(tǒng)將提示步,若支付沒有被確認(rèn),系統(tǒng)將提示客戶改正支付信息或者取消。若客戶選擇修改信息,客戶改正支付信息或者取消。若客戶選擇修改信息,就回到基本路徑第就回到基本路徑第4步;若選擇取消,用例結(jié)束。步;若選擇取消,用例結(jié)束。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?
48、2錄入學(xué)生成績用例說明錄入學(xué)生成績用例說明用例說明一般沒有通用的格式,最大的要求就是用例說明一般沒有通用的格式,最大的要求就是“清晰易懂清晰易懂” ” 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?39.3 系統(tǒng)分析建立分析模型 1、類圖介紹、類圖介紹(1)類圖與對象圖的概念)類圖與對象圖的概念 類圖是描述類、接口、協(xié)作以及它們之間關(guān)系的圖,用類圖是描述類、接口、協(xié)作以及它們之間關(guān)系的圖,用來顯示系統(tǒng)中各個類的靜態(tài)結(jié)構(gòu)。來顯示系統(tǒng)中各個類的靜態(tài)結(jié)構(gòu)。 類圖是一種模型類型,確切地說,是一種靜態(tài)模型類型。類圖是一種模型類型,確切地說,是一種靜態(tài)模型類型。一個類圖根據(jù)系統(tǒng)中的類以及各個類之間的關(guān)系描述系一個
49、類圖根據(jù)系統(tǒng)中的類以及各個類之間的關(guān)系描述系統(tǒng)的靜態(tài)視圖。類不僅顯示了系統(tǒng)內(nèi)信息的結(jié)構(gòu),也描統(tǒng)的靜態(tài)視圖。類不僅顯示了系統(tǒng)內(nèi)信息的結(jié)構(gòu),也描述了系統(tǒng)內(nèi)信息的行為。述了系統(tǒng)內(nèi)信息的行為。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?49.3 系統(tǒng)分析建立分析模型 (一)類圖介紹(一)類圖介紹1、類圖與對象圖的概念、類圖與對象圖的概念 類圖類圖是面向?qū)ο笙到y(tǒng)建模中最常用的圖,它是定義其他是面向?qū)ο笙到y(tǒng)建模中最常用的圖,它是定義其他圖的基礎(chǔ),在類圖的基礎(chǔ)上,可以使用狀態(tài)圖、協(xié)作圖、圖的基礎(chǔ),在類圖的基礎(chǔ)上,可以使用狀態(tài)圖、協(xié)作圖、組件圖和配置圖等進一步描述系統(tǒng)其他方面的特性。組件圖和配置圖等進一步描述系統(tǒng)其
50、他方面的特性。 類圖類圖包含包含7個元素:類、接口、協(xié)作、依賴關(guān)系、泛化個元素:類、接口、協(xié)作、依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系以及實現(xiàn)關(guān)系。關(guān)系、關(guān)聯(lián)關(guān)系以及實現(xiàn)關(guān)系。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?5類圖類圖展示了系統(tǒng)中類的靜態(tài)結(jié)構(gòu),即類與類之間的相互聯(lián)展示了系統(tǒng)中類的靜態(tài)結(jié)構(gòu),即類與類之間的相互聯(lián)系??梢园讶舾蓚€相關(guān)的類包裝在一起作為一個單元系。可以把若干個相關(guān)的類包裝在一起作為一個單元(包包),相當(dāng)于一個子系統(tǒng)。一個系統(tǒng)可以有多張類圖,一個類也相當(dāng)于一個子系統(tǒng)。一個系統(tǒng)可以有多張類圖,一個類也可以出現(xiàn)在幾張類圖中??梢猿霈F(xiàn)在幾張類圖中。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?6對象圖對
51、象圖是類圖的實例,它展示了系統(tǒng)執(zhí)行在某一時間點是類圖的實例,它展示了系統(tǒng)執(zhí)行在某一時間點上的一個可能的快照。對象圖使用與類圖相同的符號,上的一個可能的快照。對象圖使用與類圖相同的符號,只是在對象名下面加上下劃線,同時它還顯示了對象間只是在對象名下面加上下劃線,同時它還顯示了對象間的所有實例鏈接(的所有實例鏈接(link)關(guān)系。)關(guān)系。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?7類圖類圖對象圖對象圖類圖包含三部分:類名、屬性和操類圖包含三部分:類名、屬性和操作作對象圖包含兩部分:對象名稱和對象圖包含兩部分:對象名稱和屬性屬性類名稱欄只包含類名類名稱欄只包含類名對象的名稱欄包含對象名和類名對象的名稱欄
52、包含對象名和類名類的屬性欄定義了所有屬性的特征類的屬性欄定義了所有屬性的特征 對象的屬性欄定義了當(dāng)前值對象的屬性欄定義了當(dāng)前值類中列出了操作類中列出了操作對象圖中不包含操作,因為對于對象圖中不包含操作,因為對于屬于同一個類的對象而言,其操屬于同一個類的對象而言,其操作是相同的。作是相同的。類使用了關(guān)聯(lián)連接,關(guān)聯(lián)中使用名類使用了關(guān)聯(lián)連接,關(guān)聯(lián)中使用名稱、角色以及約束等特征定義稱、角色以及約束等特征定義對象使用鏈連接,鏈中包含名稱對象使用鏈連接,鏈中包含名稱和角色和角色類是對象的抽象,類不存在多重性類是對象的抽象,類不存在多重性 對象具有多重性對象具有多重性類圖和對象圖的區(qū)別類圖和對象圖的區(qū)別第第
53、9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?82類圖的組成類圖的組成 類圖由類、接口等模型元素以及它們之間的關(guān)系構(gòu)成。類圖由類、接口等模型元素以及它們之間的關(guān)系構(gòu)成。類圖的目的在于描述系統(tǒng)的構(gòu)成方式,而不是系統(tǒng)如何協(xié)類圖的目的在于描述系統(tǒng)的構(gòu)成方式,而不是系統(tǒng)如何協(xié)作運行。作運行。(1)類)類 類是面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。類是對一組具有類是面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。類是對一組具有相同屬性、操作、關(guān)系和語義的對象的描述。這些對象包相同屬性、操作、關(guān)系和語義的對象的描述。這些對象包括了現(xiàn)實世界中的物理實體、商業(yè)事物、邏輯事物、應(yīng)用括了現(xiàn)實世界中的物理實體、商業(yè)事物、邏輯事物、應(yīng)用事物和行為事物等,甚至
54、也包括了純粹概念性的事物,它事物和行為事物等,甚至也包括了純粹概念性的事物,它們都是類的實例。們都是類的實例。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?9 名稱名稱 屬性屬性 操作操作 職責(zé)職責(zé) 約束約束 注釋注釋描述類的信息有:描述類的信息有:第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?02類圖的組成類圖的組成(2)接口)接口 接口是在沒有給出對象的實現(xiàn)和狀態(tài)的情況下對對象接口是在沒有給出對象的實現(xiàn)和狀態(tài)的情況下對對象行為的描述。接口包含操作但不包含屬性,且它沒有對外行為的描述。接口包含操作但不包含屬性,且它沒有對外界可見的關(guān)聯(lián)。界可見的關(guān)聯(lián)。 在在UML中,接口是用一個帶有名稱的小圓圈表示的,中,接
55、口是用一個帶有名稱的小圓圈表示的,并且通過一條實線與它的模型元素相連接。并且通過一條實線與它的模型元素相連接。 第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?12類圖的組成類圖的組成(3)類之間的關(guān)系)類之間的關(guān)系類之間的關(guān)系最常用的有類之間的關(guān)系最常用的有4種,分別是:種,分別是:表示類之間使用關(guān)系的表示類之間使用關(guān)系的依賴關(guān)系依賴關(guān)系;表示類之間一般和特殊關(guān)系的表示類之間一般和特殊關(guān)系的泛化關(guān)系泛化關(guān)系;表示對象之間結(jié)構(gòu)關(guān)系的表示對象之間結(jié)構(gòu)關(guān)系的關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系;表示類中規(guī)格說明和實現(xiàn)之間關(guān)系的表示類中規(guī)格說明和實現(xiàn)之間關(guān)系的實現(xiàn)關(guān)系實現(xiàn)關(guān)系。第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?2 依賴關(guān)系:
56、依賴關(guān)系:依賴指出兩個或多個模型元素之間語義依賴指出兩個或多個模型元素之間語義上的關(guān)系。它表示被依賴元素的變化會要求或指示依上的關(guān)系。它表示被依賴元素的變化會要求或指示依賴元素的改變。賴元素的改變。 依賴關(guān)系用一個虛線箭頭表示,箭頭上可附加含關(guān)鍵依賴關(guān)系用一個虛線箭頭表示,箭頭上可附加含關(guān)鍵字的版型,關(guān)鍵字用來指明依賴的種類。字的版型,關(guān)鍵字用來指明依賴的種類。 在在UML2.0中的依賴種類如下:中的依賴種類如下:Access(訪問訪問), bind(綁定綁定),call(調(diào)用調(diào)用),create(創(chuàng)建創(chuàng)建),derive(派生派生),instantiate(實例化實例化),permit(允許
57、允許),realize(實現(xiàn)實現(xiàn)),refine(精化精化),send(發(fā)送發(fā)送),substitute(替換替換),trace(追蹤追蹤依賴依賴),use(使用使用)。依賴關(guān)系依賴關(guān)系Scheduling EngineBox Officeuse第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?3 泛化關(guān)系泛化關(guān)系 泛化指出類間的泛化指出類間的“一般一般特殊關(guān)系特殊關(guān)系” 一般類定義了它的特殊類的公共屬性和操作一般類定義了它的特殊類的公共屬性和操作 對一般類擴展一些屬性和對一般類擴展一些屬性和/或操作后,可以特化或操作后,可以特化(specialize)成特殊類)成特殊類 一般類是特殊類的父類,特殊類是一
58、般類的子類一般類是特殊類的父類,特殊類是一般類的子類 特殊類可以繼承一般類的屬性和操作特殊類可以繼承一般類的屬性和操作 子類可以定義自己的屬性和操作,也可重新定義子類可以定義自己的屬性和操作,也可重新定義父類中的操作,但重新定義的操作必須與父類具父類中的操作,但重新定義的操作必須與父類具有相同的操作特征(有相同的操作特征(signature)第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?4顯示顯示計算面積計算面積四邊形四邊形顯示顯示六邊形六邊形顯示顯示三角形三角形多邊形多邊形顯示顯示邊數(shù)邊數(shù)頂角座標(biāo)頂角座標(biāo)長長寬寬矩形矩形計算面積計算面積泛化和繼承泛化和繼承第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?5關(guān)聯(lián)
59、(關(guān)聯(lián)(association)是兩個或多個類之間的一個關(guān)系。)是兩個或多個類之間的一個關(guān)系。鏈(鏈(link)是關(guān)聯(lián)的具體體現(xiàn)。是關(guān)聯(lián)的具體體現(xiàn)。 如圖如圖(a)(b)(a)(b)所示,關(guān)聯(lián)有二元關(guān)聯(lián)所示,關(guān)聯(lián)有二元關(guān)聯(lián)( (binary) )、三元關(guān)聯(lián)、三元關(guān)聯(lián)( (ternary) )、多元關(guān)聯(lián)、多元關(guān)聯(lián)( (higher order) )。(a) 二元關(guān)聯(lián)二元關(guān)聯(lián)人員人員公司公司二元關(guān)聯(lián)的例二元關(guān)聯(lián)的例(人員)(人員)張濤張濤(公司)(公司)通大通大鏈的例子鏈的例子(b)三元關(guān)聯(lián))三元關(guān)聯(lián)項目項目語言語言人人三元關(guān)聯(lián)的例三元關(guān)聯(lián)的例(項目項目)CAD系統(tǒng)系統(tǒng)(語言語言) C +(人人)
60、李波李波鏈的例子鏈的例子第第9章章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?6 關(guān)聯(lián)的重數(shù)關(guān)聯(lián)的重數(shù)重數(shù)表示多少個對象與對方對重數(shù)表示多少個對象與對方對象相連接,常用的重數(shù)符號有:象相連接,常用的重數(shù)符號有: “ “0.1” 0.1” 表示零或表示零或1 1 “0. “0.* *”或或“* *” ” 表示零或多個表示零或多個 “ “1.1.* *” ” 表示表示1 1或多個或多個 “ “1,3,7” 1,3,7” 表示表示1 1或或3 3或或7 7(枚舉型)(枚舉型) 重數(shù)的默認(rèn)值為重數(shù)的默認(rèn)值為1 1。PersonHobby1*CommitteePersonYear0.20.21.41.4PostPost
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學(xué)教務(wù)年終總結(jié)匯報
- 四川省眉山市東坡區(qū)眉山育英實驗學(xué)校2024-2025學(xué)年高一上學(xué)期1月期末地理試題( 含答案)
- 電氣物資知識培訓(xùn)課件
- 2025年度智能安防SAAS解決方案銷售服務(wù)協(xié)議2篇
- 醫(yī)學(xué)基礎(chǔ)知識培訓(xùn)課件
- 河北省張家口市萬全區(qū)2024-2025學(xué)年八年級上學(xué)期1月期末考試生物試卷(含答案)
- 遼寧省葫蘆島市(2024年-2025年小學(xué)六年級語文)人教版課后作業(yè)(下學(xué)期)試卷及答案
- 2024年事業(yè)單位教師招聘言語理解與表達題庫附參考答案【突破訓(xùn)練】
- 貴州盛華職業(yè)學(xué)院《個人理財學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆巴音郭楞蒙古自治州(2024年-2025年小學(xué)六年級語文)部編版階段練習(xí)(上學(xué)期)試卷及答案
- 科教版2023-2022小學(xué)五年級科學(xué)上冊期末試卷及答案
- 3360機dp c2255維修手冊中文版06chapgeneral
- 北京生命科技研究院有限公司招聘考試真題2022
- (42)-妊娠合并內(nèi)外科疾病
- 骨科手術(shù)后患者營養(yǎng)情況及營養(yǎng)不良的原因分析,骨傷科論文
- 糕點生產(chǎn)檢驗記錄表
- GB/T 1040.3-2006塑料拉伸性能的測定第3部分:薄膜和薄片的試驗條件
- 河北省房屋建筑和市政基礎(chǔ)設(shè)施施工圖設(shè)計文件審查要點(版)
- 醫(yī)院院長年終工作總結(jié)報告精編ppt
- 綠化養(yǎng)護重點難點分析及解決措施
- “三排查三清零”回頭看問題整改臺賬
評論
0/150
提交評論