面向?qū)ο笈cUML-第二章-用例分析_第1頁
面向?qū)ο笈cUML-第二章-用例分析_第2頁
面向?qū)ο笈cUML-第二章-用例分析_第3頁
面向?qū)ο笈cUML-第二章-用例分析_第4頁
面向?qū)ο笈cUML-第二章-用例分析_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、面向?qū)ο笈cUML第二章 用例分析用例圖概述建立用例模型用例設(shè)計(jì)實(shí)例UML概述2.1 UML概述現(xiàn)實(shí)世界對(duì)象世界軟件建模Less ImportantImportant2.1 UML概述現(xiàn)實(shí)世界和對(duì)象世界之間存在著一道鴻溝,這道鴻溝的名字就叫做抽象。抽象是面向?qū)ο蟮木杷?,同時(shí)也是面向?qū)ο蟮睦щy所在。實(shí)際上,要想跨越這道鴻溝,我們需要:一種把現(xiàn)實(shí)世界映射到對(duì)象世界的方法。一種從對(duì)象世界描述現(xiàn)實(shí)世界的方法。一種驗(yàn)證對(duì)象世界行為是否正確反映了現(xiàn)實(shí)世界的方法。UML背后所代表的面向?qū)ο蠓治鲈O(shè)計(jì)方法,正好架起了跨越這道鴻溝的橋梁。OO、UML與建模建模是最終目的OO是一種建模理論UML是一種體現(xiàn)OO的建

2、模語言,是將OO理論轉(zhuǎn)化為實(shí)踐的工具 UML(統(tǒng)一建模語言 Unified Modeling Language )是一種通用的可視化建模語言,是面向?qū)ο蠓治雠c設(shè)計(jì)的一種標(biāo)準(zhǔn)表示,用于對(duì)軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)的文檔。UMLUML的構(gòu)成UML構(gòu)造塊公共機(jī)制架構(gòu)物件關(guān)系圖規(guī)格說明修飾公共分類擴(kuò)展機(jī)制用例視圖邏輯視圖進(jìn)程視圖實(shí)現(xiàn)視圖部署視圖結(jié)構(gòu)物件行為物件分組物件注解物件關(guān)聯(lián)依賴泛化實(shí)現(xiàn)類圖序列圖對(duì)象圖協(xié)作圖構(gòu)件圖狀態(tài)圖部署圖活動(dòng)圖用例圖圖圖diagrams類圖class diagrams對(duì)象圖object diagrams組件圖component diagrams部署圖depl

3、oyment diagrams用例圖use case diagrams序列圖sequence diagrams協(xié)作圖collaboration diagrams狀態(tài)圖statechart diagrams活動(dòng)圖activity diagrams靜態(tài)模型(系統(tǒng)結(jié)構(gòu))動(dòng)態(tài)模型(系統(tǒng)行為)UML 9種圖類 圖:類以及類之間的相互關(guān)系對(duì)象圖:對(duì)象以及對(duì)象之間相互關(guān)系組件圖:組件及其相互依賴關(guān)系部署圖:組件在各節(jié)點(diǎn)上的部署序列圖:強(qiáng)調(diào)時(shí)間順序的交互圖協(xié)作圖:強(qiáng)調(diào)對(duì)象協(xié)作的交互圖狀態(tài)圖:類所經(jīng)歷的各種狀態(tài)活動(dòng)圖:對(duì)工作流建模用例圖:需求捕獲,測試依據(jù)結(jié)構(gòu)行為用例圖靜態(tài)圖實(shí)現(xiàn)圖交互圖行為圖UML1.x中主要

4、有9種圖,UML2.0中共有13種不同類型圖需求:如此脆弱客戶/用戶的要求/想法/期望軟件設(shè)計(jì)軟件產(chǎn)品分析和設(shè)計(jì)編碼和測試驗(yàn) 收沒價(jià)值的軟件需求補(bǔ)文檔2.2 用例圖概述需求:也需要開發(fā)客戶/用戶的要求/想法/期望軟件設(shè)計(jì)軟件產(chǎn)品開發(fā)編碼和測試驗(yàn)收有價(jià)值的軟件需求分析和設(shè)計(jì)需求:系統(tǒng)必須滿足的條件或具備的能力Robert Grady軟件質(zhì)量準(zhǔn)則“FURPS”功能性(Functionality)使用性(Usability)可靠性(Reliability)性能(Performance)可支持性(Supportability)認(rèn)識(shí)問題分析問題解決問題最終用戶(提出問題)開發(fā)團(tuán)隊(duì)(解決問題)以用戶的身份

5、站在用戶的角度認(rèn)識(shí)問題獲取需求用例建模技術(shù)以開發(fā)者的身份站在用戶的角度分析問題分析需求用例分析技術(shù)以開發(fā)者的身份站在開發(fā)團(tuán)隊(duì)的角度分析問題解決需求面向?qū)ο笤O(shè)計(jì)面向?qū)ο笈cUML需求問題:對(duì)策難捕獲易變從用戶視角看問題合理的結(jié)構(gòu)用例 一個(gè)用例是用戶與計(jì)算機(jī)之間為達(dá)到某個(gè)目的的一次典型交互作用。 用例的屬性:用例描述了用戶提出的一些可見的需求;用例可大可?。挥美龑?duì)應(yīng)一個(gè)具體的用戶目標(biāo)。 大多數(shù)用例都是在定義過程中隨著對(duì)用戶需求理解的加深而不斷得到細(xì)化。 用例圖元語參與者用例系統(tǒng)邊界關(guān)聯(lián)擴(kuò)展包含泛化注釋體注釋連接用例圖是用簡單直觀的方式來描述系統(tǒng)需求的視圖,將系統(tǒng)、子系統(tǒng)和類的行為可視化,以利于所有參

6、與人員準(zhǔn)確理解這些元素,并確保軟件開發(fā)人員最終實(shí)現(xiàn)這些元素。用例模型主要包含4方面的內(nèi)容:系統(tǒng)邊界參與者(Actor)用例 (Use Case)用例間的關(guān)系 (Relationship)系統(tǒng)邊界參與者 參與者是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。 用例是系統(tǒng)使用片斷的集合,描述了所有的功能需求。它來自于對(duì)客戶需求的分析,這個(gè)過程稱為用例分析。用例分析有助于如下工作:(1) 捕捉需求。(2) 計(jì)劃開發(fā)過程的循環(huán)往復(fù)。(3) 驗(yàn)證系統(tǒng)。 (4) 動(dòng)態(tài)分析從用例分析開始,它驅(qū)動(dòng)整個(gè)開發(fā)過程。用例用例 一般將活動(dòng)者和用例之間的關(guān)系稱為通信,而用例與用例之間可以存在的關(guān)系分為: 泛化(G

7、eneralization) 包含(Include) 擴(kuò)展(Extend) 用例之間的關(guān)系 泛化 表示幾個(gè)元素某些共性,類似于類中的繼承關(guān)系,表示子用例繼承了父用例。 泛化關(guān)系 用例可以簡單地包含其他用例具有的行為,并把它所包含的用例行為作為自身行為的一部分,這被稱作包含關(guān)系。包含使一個(gè)用例的功能可以在另一個(gè)用例中使用。 包含關(guān)系 擴(kuò)展關(guān)系允許一個(gè)用例(可選)擴(kuò)展另一用例 (基用例)提供的功能。 擴(kuò)展關(guān)系用例建模的主要功能就是用來表達(dá)系統(tǒng)的功能性需求或行為。用例建模的結(jié)果是要畫出用例圖,并且給出用例描述。步驟:問題描述確定參與者確定用例用例描述2.3 建立用例模型確定參與者如何判別參與者?(1

8、)系統(tǒng)開發(fā)完成之后,有哪些人會(huì)使用這個(gè)系統(tǒng)?(2)系統(tǒng)需要從哪些人或其他系統(tǒng)中獲得數(shù)據(jù)?(3)系統(tǒng)會(huì)為哪些人或其他系統(tǒng)提供數(shù)據(jù)?(4)系統(tǒng)會(huì)與哪些其他系統(tǒng)相關(guān)聯(lián)?(5)系統(tǒng)是由誰來維護(hù)和管理的?(6)誰啟動(dòng)或關(guān)閉系統(tǒng)?確定參與者建模參與者需要注意以下幾點(diǎn):(1)參與者對(duì)于系統(tǒng)而言總是外部的;(2)參與者直接與系統(tǒng)交互;(3)參與者表示人或事物與系統(tǒng)交互時(shí)所扮演的角色,而不是人或事物本身;(4)一個(gè)人或事物在與系統(tǒng)交互時(shí)可以同時(shí)扮演多種角色。用例是參與者想要系統(tǒng)做的事情:參與者希望系統(tǒng)提供什么功能?參與者是否會(huì)在系統(tǒng)中創(chuàng)建、修改、刪除、訪問、存儲(chǔ)數(shù)據(jù)?如果是,參與者又是如何完成這些操作的?(3)

9、 參與者是否會(huì)將外部的某些事件通知給該系統(tǒng)?(4) 系統(tǒng)是否會(huì)將外部的某些事件通知該參與者?確定用例確定用例用例要有以下幾個(gè)特點(diǎn):用例總是由參與者來啟動(dòng)的用例必須為參與者提供數(shù)據(jù)用例的完整性確定用例用例描述由參與者與用例構(gòu)成的用例圖就是用例模型。由命名的橢圓構(gòu)成的用例圖只是在總體上大致描述了系統(tǒng)所能提供的各種服務(wù),但是它沒有提供任何細(xì)節(jié)信息。為此,對(duì)于每個(gè)用例,還需要有詳細(xì)的說明,即用例描述。用例描述用例描述的格式和內(nèi)容,沒有硬性的規(guī)定,一般包括如下部分:用例名稱參與者簡要描述事件流前置條件后置條件用例描述用例名稱參與者簡要描述:對(duì)用例的作用和目的的簡要說明。事件流:包括基本流、可選流和異常流

10、。前置條件:用例執(zhí)行之前系統(tǒng)必須要處于的狀態(tài),或者要滿足的條件。后置條件:用例執(zhí)行之后系統(tǒng)所處的狀態(tài)。2.4 用例設(shè)計(jì)實(shí)例問題描述:設(shè)計(jì)一個(gè)即時(shí)通信系統(tǒng),實(shí)現(xiàn)多個(gè)用戶進(jìn)行網(wǎng)上聊天的功能,各個(gè)聊天客戶端通過注冊、登錄才可以和好友進(jìn)行通信。系統(tǒng)既包括客戶端部分,也包括服務(wù)器端部分。問題描述:在客戶端能夠?qū)崿F(xiàn)消息的查看,添加和刪除網(wǎng)上的好友,與選定好友進(jìn)行通信,查詢自己與好友的聊天記錄功能。在服務(wù)器端負(fù)責(zé)好友的在線維護(hù),同時(shí)服務(wù)器端還應(yīng)該具有保存客戶資料和用戶聊天記錄的功能。此外,當(dāng)用戶不在線時(shí),收到好友消息能夠保存,使用戶在下次登錄時(shí)可以查看。要求功能完善,用戶界面良好,用Java語言實(shí)現(xiàn)。確定參

11、與者客戶 Client服務(wù)器 Server數(shù)據(jù)庫 Database(1)系統(tǒng)開發(fā)完成之后,有哪些人會(huì)使用這個(gè)系統(tǒng)?(2)系統(tǒng)需要從哪些人或其他系統(tǒng)中獲得數(shù)據(jù)?(3)系統(tǒng)會(huì)為哪些人或其他系統(tǒng)提供數(shù)據(jù)?(4)系統(tǒng)會(huì)與哪些其他系統(tǒng)相關(guān)聯(lián)?(5)系統(tǒng)是由誰來維護(hù)和管理的?(6)誰啟動(dòng)或關(guān)閉系統(tǒng)?確定用例客戶Client:Register(注冊帳號(hào))Log in(登錄)Send Message(發(fā)送消息)Add Friends(添加好友)Delete Friends(刪除好友)Query Record(查詢聊天記錄)參與者希望系統(tǒng)提供什么功能?參與者是否會(huì)在系統(tǒng)中創(chuàng)建、修改、刪除、訪問、存儲(chǔ)數(shù)據(jù)?如果是

12、,參與者又是如何完成這些操作的?(3) 參與者是否會(huì)將外部的某些事件通知給該系統(tǒng)?(4) 系統(tǒng)是否會(huì)將外部的某些事件通知該參與者?確定用例服務(wù)器(Server):Log in(登錄系統(tǒng))Log out(退出系統(tǒng))Add Friends(添加好友)確定用例數(shù)據(jù)庫(Database):Register(注冊帳號(hào))Send Message(發(fā)送消息)Add Friends(添加好友)Delete Friends(刪除好友)Query Record(查詢聊天記錄)畫出用例圖用例描述一般包括如下部分:用例名稱參與者簡要描述事件流前置條件后置條件用例描述注冊帳號(hào)用例名稱:Register參與者:客戶、數(shù)據(jù)

13、庫簡要描述:客戶在線即時(shí)通信系統(tǒng)中注冊前置條件:客戶端應(yīng)用程序主界面已經(jīng)啟動(dòng)基本事件流:1、客戶單擊“注冊”按鈕2、系統(tǒng)彈出一個(gè)注冊交互對(duì)話框3、客戶輸入注冊信息:昵稱、密碼等4、客戶單擊“提交”按鈕,發(fā)送注冊信息到數(shù)據(jù)庫5、數(shù)據(jù)庫保存注冊信息,并自動(dòng)生成一個(gè)數(shù)字ID返回6、客戶端彈出對(duì)話框顯示注冊ID,提示注冊成功7、用例終止可選事件流:在“提交”按鈕前,客戶可隨機(jī)單擊“取消”按鈕,關(guān)閉注冊窗口,返回客戶端主界面異常事件流:提示注冊錯(cuò)誤,請(qǐng)稍后再試,客戶確認(rèn),然后返回客戶端主界面后置條件:客戶獲得一個(gè)ID,可用此ID登錄系統(tǒng)開始即時(shí)通信用例描述登錄系統(tǒng)4.4 用例設(shè)計(jì)實(shí)例用例名稱:Log in參與者:客戶、服務(wù)器簡要描述:客戶登錄即時(shí)通信系統(tǒng)前置條件:客戶端應(yīng)用程序主界面已經(jīng)啟動(dòng),并且已經(jīng)有了注冊ID基本事件流:1、客戶單擊應(yīng)用程序主界面上的“登錄”按鈕2、系統(tǒng)彈出一個(gè)登錄交互對(duì)話框3、客戶輸入ID和密碼4、客戶單擊“登錄”按鈕,發(fā)送登錄請(qǐng)求到服務(wù)器5、服務(wù)器執(zhí)行“驗(yàn)證用戶”用例,將登錄請(qǐng)求中的信息發(fā)送給數(shù)據(jù)庫6、數(shù)據(jù)庫將ID和密碼與數(shù)據(jù)庫中的注冊記錄比對(duì)7、信息合法,數(shù)據(jù)庫發(fā)送合法消息

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論