UML系統(tǒng)用例及用例關系_第1頁
UML系統(tǒng)用例及用例關系_第2頁
UML系統(tǒng)用例及用例關系_第3頁
UML系統(tǒng)用例及用例關系_第4頁
UML系統(tǒng)用例及用例關系_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

CH4用例圖系統(tǒng)用例及用例關系統(tǒng)一建模語言11軟件工程知識回顧—需求獲取

需求工程需求管理需求開發(fā)問題獲取分析編寫規(guī)格說明驗證難點重點掌握用例圖模型元素

能夠根據(jù)需求分析使用用例圖建模掌握用例圖的地位作用及定義確定用例及用例間的關系教學目標教學內(nèi)容用例圖什么叫用例圖用例圖的構成要素用例的重要元素用例之間的各種重要關系用例圖建模應用識別參與者確定用例用例建模需求獲取需求獲取及分析需求的基本方法需求是客戶在項目立項時就有的一個遠景,客戶需求將決定在整個項目中需求承辦方具體做些什么,即承辦方的任務。承辦方在明確了需求后,就會開始后期的設計、開發(fā)、測試、部署等工作。一需求獲取

Clicktoaddtitleinhere4問題引入1在需求獲取過程中,主要需要弄清楚三個問題一需求獲取解答問題2明確需要獲取的信息明確所獲取信息的來源和渠道怎樣獲取需求

WhatWhereHow二用例圖相關概念介紹1.什么是用例圖由參與者(Actor)、用例(UseCase)以及它們之間的關系構成的用于描述系統(tǒng)功能的動態(tài)視圖稱為用例圖。2.用例圖的作用用例圖是需求分析中的產(chǎn)物,主要作用是描述參與者和用例之間的關系,幫助開發(fā)人員可視化的了解系統(tǒng)的功能。用例圖可視化地表達了系統(tǒng)的需求,具有直觀、規(guī)范等優(yōu)點,克服了純文字性說明的不足。用例方法是完全從外部來定義系統(tǒng)功能,它把需求和設計完全的分離開來。參與者,Actor關鍵詞:邊界參與者:在系統(tǒng)之外,透過系統(tǒng)邊界與系統(tǒng)進行有意義交互的任何事物識別參與者1要點系統(tǒng)外參與者代表在系統(tǒng)邊界之外的真實事物,并不是系統(tǒng)的成分系統(tǒng)邊界參與者透過系統(tǒng)邊界直接與系統(tǒng)交互,參與者的確定代表系統(tǒng)邊界的確定有意義交互的任何事物人、外系統(tǒng)、外部因素、時間識別參與者2識別參與者思路誰使用系統(tǒng)的主要功能誰改變系統(tǒng)的數(shù)據(jù)誰從系統(tǒng)獲取信息誰需要系統(tǒng)的支持以完成日常工作任務誰負責日常維護、管理并保證系統(tǒng)正常運行誰使用或刪除系統(tǒng)中的信息誰(或什么)對系統(tǒng)運行產(chǎn)生的結(jié)果(值)感興趣系統(tǒng)需要應付(處理)那些硬設備系統(tǒng)需要和那些外部系統(tǒng)交互在預定時間,是否有事件自動發(fā)生時間、氣溫等內(nèi)部外部條件……參與者的類型和職責主要參與者直接與系統(tǒng)交互的人,或執(zhí)行系統(tǒng)主要功能的執(zhí)行者次要參與者使用系統(tǒng)次要功能的執(zhí)行者,或維護系統(tǒng)一般功能的執(zhí)行者外部硬件作為系統(tǒng)一部分的、運行應用的非計算機的硬件其他系統(tǒng)為其工作需要與系統(tǒng)交互的外部系統(tǒng)參與者之間的關系獨立關系泛化關系一個參與者的抽象描述可以被一個或多個具體的參與者所共享客戶個體客戶商業(yè)客戶用例1定義:UseCase用例表示系統(tǒng)的一項外部功能,它從用戶的角度分析所得的需求。為完成一個相對完整的一種功能,系統(tǒng)執(zhí)行的一系列動作的集合是外部可見的一種系統(tǒng)功能代表的是一個完整的功能有一系列動作用例用例2用例捕獲某些角色可見的需求,實現(xiàn)一個具體的角色需求用例由其用戶角色使用,并提供確切的輸出給角色用例可大可小,但它必須是對一個具體的角色目標實現(xiàn)的完整描述用例的動態(tài)執(zhí)行過程可以用UML的交互作用來說明,可以用狀態(tài)圖、順序圖、協(xié)作圖或非正式的文字描述來表示識別用例識別用例關鍵詞:價值定義用例實例是系統(tǒng)執(zhí)行的一系列動作,這些動作將生成特定參與者可觀測的結(jié)果值一個用例定義一組用例實例(場景)簡潔:參與者使用系統(tǒng)達到目標識別用例要點可觀測→用例止于系統(tǒng)邊界結(jié)果值→用例是有意義的目標系統(tǒng)執(zhí)行→結(jié)果值由系統(tǒng)生成由參與者觀測→業(yè)務語言、用戶觀點一組用例實例→用例的粒度用例命名可觀測:用例止于系統(tǒng)邊界系統(tǒng)描述交互,而不是內(nèi)在的系統(tǒng)活動邊界---Boundary也叫系統(tǒng)邊界,用于界定系統(tǒng)功能范圍用一個帶名稱的矩形框,把描述系統(tǒng)功能的用例都置于其中,而描述的與系統(tǒng)交互的角色都置于其外系統(tǒng)----完整系統(tǒng)或子系統(tǒng)一個系統(tǒng)包括一個或多個用例準確的定義系統(tǒng)的邊界(功能)不是一件很容易的事先識別出系統(tǒng)的基本功能集,以此為基礎定義一個穩(wěn)定的、精確定義的系統(tǒng)體系結(jié)構,再不斷地擴充系統(tǒng)功能,以逐步完善結(jié)果值:有意義的目標√業(yè)務功能,而非系統(tǒng)處理×系統(tǒng)執(zhí)行:結(jié)果值由系統(tǒng)生成系統(tǒng)需要處理的,由系統(tǒng)生成×參與者觀測:用戶觀點而非系統(tǒng)觀點用戶觀點系統(tǒng)觀點×要點:用例粒度用例要有路徑,路徑要有步驟;而這一切都是可觀測的最常犯錯誤:粒度過細,陷入功能分解過細的粒度,一般都會導致技術語言的描述,而不再是業(yè)務語言用例粒度-1把步驟當用例把系統(tǒng)活動當用例×√×用例粒度-2ד四輪馬車”C(Create)R(Read)U(Update)D(Delete)所有業(yè)務最終會成為CRUD?CRUD能為Actor提供價值?CRUD掩蓋業(yè)務,銳變成關系數(shù)據(jù)庫的建模:“系統(tǒng)就是數(shù)據(jù)的增刪改查”關心數(shù)據(jù)的存儲和維護,反而忽略了用戶的目的用例粒度-3用例粒度-4如果確實是CRUD?如果CRUD不涉及復雜的交互,一個用例“管理××”即可不管是C、R、U、D,都是為了完成“管理”目標甚至很多種的基本數(shù)據(jù)管理都可以用一個用例表示用例粒度-5靈活處理CRUD可以把包含復雜交互的路徑獨立出去形成用例用例的命名執(zhí)行者視角:(狀語)動詞+(定語+)賓語用例關系Include提取公共步驟,便于復用Extend分離擴展路徑Generalization同一業(yè)務目的的不同技術實現(xiàn)<<extend>>Extend<<include>>IncludeGeneralization包含關系1包含關系2包含關系某些步驟在多個用例重復出現(xiàn),且單獨形成價值用例步驟較多時,可用Include簡化當完全知道什么時間要調(diào)用用例時,基用例需要包含用例所封裝的邏輯可以簡單認為源代碼中的函數(shù)調(diào)用或操作調(diào)用包含舉例1包含舉例2擴展關系1擴展關系2將擴展用例的事件流在一定的條件下按照相應的擴展點插入到基礎用例中?;A用例不必知道擴展用例的任何細節(jié),它僅為其提供擴展點擴展用例的行為是否被執(zhí)行要取決于主事件流中的判定點。擴展關系2基用例路徑本身是完整的可能是一條擴展路徑擴展路徑步驟多擴展路徑內(nèi)部還可以有擴展點-擴展之擴展擴展路徑未定或容易變化-分離以“凍結(jié)”基用例基礎用例可以單獨存在,但在一定條件下,他的行為可以被另一個用例作為擴展擴展關系擴展舉例泛化關系同一業(yè)務目的不同技術實現(xiàn):一個用例可以泛化為另一個更普通用例(更普通用例特化為特殊用例)UML1.5:用例間的泛化關系表明子用例包含父用例中定義的所有屬性、行為序列和擴展點,并且參與父用例中所有的關系泛化一個售貨員可以終止任何交易,除了那些需要特殊的售貨員(高級代理)終止的超過了一定限制的交易包含用例與擴展用例的區(qū)別①相對于基礎用例,擴展用例是可選的,而包含用例則不是。②如果缺少擴展用例,基礎用例還是完整的,而缺少包含用例,則基礎用例就不完整了。③擴展用例的執(zhí)行需要滿足某種條件,而包含用例不需要。④擴展用例的執(zhí)行會改變基礎用例的行為,而包含用例不會。用例關系:擴展VS.泛化采用不同關系,文檔結(jié)構不同小結(jié)理解需求以用例為中心組織需求基于用例的需求分析過程獲取原始需求開發(fā)一個可以理解的需求識別參與者識別用例確定關系思考基于用例的需求分析過程可大致分幾步?什么是系統(tǒng)邊界用例的概念用例的關系參與者的定義與關系思考1:識別參與者?尋呼臺系統(tǒng):用戶如果預定了天氣預報,系統(tǒng)每天定時給他發(fā)天氣消息;如果當天氣溫高于35度,還要提醒用戶注意防暑;在這個敘述里,誰是尋呼臺系統(tǒng)的Actor?用戶?氣溫?時間?思考2:獲取需求-考勤卡應用程序初次訪談記錄

開發(fā)者:誰將使用這個應用程序?

客戶:所有用它來記錄可記帳以及不可記帳的工時的雇員

……

開發(fā)者:現(xiàn)在考勤卡應用程序是什么樣的?

客戶:每半個月就用一個Excel表格來記錄。每個雇員都將通過他的表格填好,然后用電子郵件發(fā)給我。這個表格相當標準:縱向是收費項目代碼,橫向是日期。雇員可以在每個條目上填寫說明。

開發(fā)者:這個收費項目代碼可以從什么地方得到?

……

開發(fā)者:誰來管理收費項目代碼?

客戶:嗯,必要的時候由我來添加這個代碼。而每個經(jīng)理總會告訴他的下屬應該填寫什么。

……思考2:識別參與者:考勤卡系統(tǒng)開發(fā)者:誰將使用這個應用程序?

客戶:所有用它來記錄可記帳以及不可記帳的工時的雇員

……

開發(fā)者:現(xiàn)在考勤卡應用程序是什么樣的?

客戶:每半個月就用一個Excel表格來記錄。每個雇員都將通過他的表格填好,然后用電子郵件發(fā)給我。這個表格相當標準:縱向是收費項目代碼,橫向是日期。雇員可以在每個條目上填寫說明。

開發(fā)者:這個收費項目代碼可以從什么地方得到?

……

開發(fā)者:誰來管理收費項目代碼?

客戶:嗯,必要的時候由我(業(yè)務經(jīng)理)來添加這個代碼。而每個經(jīng)理總會告訴他的下屬應該填寫什么。

……思考2:識別用例:考勤卡系統(tǒng)開發(fā)者:誰將使用這個應用程序?

客戶:所有用它來記錄可記帳以及不可記帳的工時的雇員

……

開發(fā)者:現(xiàn)在考勤卡應用程序是什么樣的?

客戶:每半個月就用一個Excel表格來記錄。每個雇員都將通過他的表格填好,然后用電子郵件發(fā)給我。這個表格相當標準:縱向是收費項目代碼,橫向是日期。雇員可以在每個條目上填寫說明。

開發(fā)者:這個收費項目代碼可以從什么地方得到?

……

溫馨提示

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

評論

0/150

提交評論