業(yè)務(wù)建模及用例建模(共139頁(yè)).ppt_第1頁(yè)
業(yè)務(wù)建模及用例建模(共139頁(yè)).ppt_第2頁(yè)
業(yè)務(wù)建模及用例建模(共139頁(yè)).ppt_第3頁(yè)
業(yè)務(wù)建模及用例建模(共139頁(yè)).ppt_第4頁(yè)
業(yè)務(wù)建模及用例建模(共139頁(yè)).ppt_第5頁(yè)
已閱讀5頁(yè),還剩134頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、面向?qū)ο蠓治雠c設(shè)計(jì)Object-Oriented Analysis & Design-2-學(xué)習(xí)路線圖OOUML : : 核心過(guò)程-3-業(yè)務(wù)建模Business Modeling-5-開(kāi)發(fā)過(guò)程解析 業(yè)務(wù)建模:用軟件建模方法描述業(yè)務(wù)流程;其目標(biāo)是認(rèn)識(shí)業(yè)務(wù)本質(zhì),該業(yè)務(wù)本質(zhì)是后續(xù)用例建模的基礎(chǔ) 用例建模:采用UML用例建模技術(shù)描述軟件需求,該需求模型將為后續(xù)用例分析提供輸入 用例分析:采用UML用例分析技術(shù)分析軟件需求,建立軟件系統(tǒng)的分析模型 架構(gòu)設(shè)計(jì):在系統(tǒng)的全局范圍內(nèi),以分析模型為基礎(chǔ),設(shè)計(jì)系統(tǒng)的架構(gòu) 構(gòu)件設(shè)計(jì):根據(jù)架構(gòu)設(shè)計(jì)的成果,將分析模型細(xì)化,設(shè)計(jì)系統(tǒng)構(gòu)件的實(shí)現(xiàn)細(xì)節(jié) 代碼實(shí)現(xiàn):將系統(tǒng)構(gòu)

2、件映射到目標(biāo)語(yǔ)言上-6-業(yè)務(wù) 業(yè)務(wù)是指某個(gè)組織或者組織單元 業(yè)務(wù)可以看作一種包含了人、機(jī)器、資源的“系統(tǒng)” 利用軟件思想(用例思想、對(duì)象思想)描述業(yè)務(wù)的過(guò)程,就是業(yè)務(wù)建模 業(yè)務(wù)建模只是輔助環(huán)節(jié) 不是所有項(xiàng)目都需要 也不一定和軟件開(kāi)發(fā)相關(guān)-7-業(yè)務(wù)建模 業(yè)務(wù)建模的目的 理解將要實(shí)施的系統(tǒng)的組織結(jié)構(gòu)和動(dòng)態(tài)特性 理解當(dāng)前在目標(biāo)組織中的問(wèn)題,并明確改進(jìn)的潛力 確保客戶、最終用戶和開(kāi)發(fā)人員對(duì)目標(biāo)組織有統(tǒng)一的理解 獲取用于支持目標(biāo)組織的系統(tǒng)需求 業(yè)務(wù)建模關(guān)注 機(jī)構(gòu)的核心價(jià)值 機(jī)構(gòu)的邊界 機(jī)構(gòu)的參與者 機(jī)構(gòu)中的工作流及如何優(yōu)化-8-業(yè)務(wù)建模方法 研究對(duì)象 軟件要改進(jìn)的 研究目標(biāo) 定義業(yè)務(wù)本質(zhì) 研究方法:把業(yè)

3、務(wù)看成對(duì)外提供價(jià)值的價(jià)值流-9-業(yè)務(wù)建模工件 業(yè)務(wù)用例模型(Business Use-Case Model) 業(yè)務(wù)用戶表示為 業(yè)務(wù)過(guò)程表示為和 業(yè)務(wù)對(duì)象模型(Business Object Model) 人們?cè)诮M織中扮演的角色表示為 組織管理或制造的“東西”表示為-10-業(yè)務(wù)建模流程 0. 建立 1. 識(shí)別業(yè)務(wù)參與者 2. 識(shí)別業(yè)務(wù)用例 3. 詳述業(yè)務(wù)用例 4. 建立-11-業(yè)務(wù)建模流程 0. 建立 1. 識(shí)別業(yè)務(wù)參與者 2. 識(shí)別業(yè)務(wù)用例 3. 詳述業(yè)務(wù)用例 1. 建立-12-1.業(yè)務(wù)參與者(Business Actor) 識(shí)別業(yè)務(wù)參與者 在,與業(yè)務(wù)進(jìn)行的人或組織-13-區(qū)分業(yè)務(wù)工人(Bus

4、iness Worker) 業(yè)務(wù)參與者在業(yè)務(wù)外面 業(yè)務(wù)工人在業(yè)務(wù)里面儲(chǔ)戶儲(chǔ)戶營(yíng)業(yè)員營(yíng)業(yè)員-14-區(qū)分業(yè)務(wù)實(shí)體(Business Entity)營(yíng)業(yè)員營(yíng)業(yè)員經(jīng)理經(jīng)理帳戶帳戶取款機(jī)取款機(jī)點(diǎn)鈔機(jī)點(diǎn)鈔機(jī)儲(chǔ)戶儲(chǔ)戶-15-識(shí)別業(yè)務(wù)參與者思路 客戶 供應(yīng)商 合作伙伴 潛在客戶 政府 組織中未建模部分 -16-2.業(yè)務(wù)用例(Business Use Case) 識(shí)別業(yè)務(wù)用例 業(yè)務(wù)為業(yè)務(wù)參與者提供的 體現(xiàn)企業(yè)業(yè)務(wù)本質(zhì),是的目標(biāo)看清楚了,我就是業(yè)務(wù)用例看清楚了,我就是業(yè)務(wù)用例-17-業(yè)務(wù)用例與業(yè)務(wù)參與者取款取款存款存款儲(chǔ)戶儲(chǔ)戶轉(zhuǎn)帳轉(zhuǎn)帳企業(yè)企業(yè)貸款貸款食客食客吃飯吃飯-18-識(shí)別業(yè)務(wù)用例的方法 直接獲得:從業(yè)務(wù)參與

5、者的角度,從外部推導(dǎo)出來(lái) 拼裝:從里面往外面看,內(nèi)部業(yè)務(wù)流程的目標(biāo)是什么業(yè)務(wù)工人業(yè)務(wù)工人業(yè)務(wù)工人業(yè)務(wù)工人活動(dòng)活動(dòng)活動(dòng)活動(dòng)直接獲得-19-從業(yè)務(wù)流程拼裝業(yè)務(wù)用例 業(yè)務(wù)流程 1. 收款人在支票背后簽名,寫(xiě)上身份證件號(hào)碼,把支票和身份證件交給營(yíng)業(yè)員 2. 營(yíng)業(yè)員核對(duì)印章正確且證件有效 3. 營(yíng)業(yè)員操作營(yíng)業(yè)受理系統(tǒng),辦理支票兌現(xiàn)手續(xù) 4. 營(yíng)業(yè)員把現(xiàn)金和證件交給交款人收款人收款人兌現(xiàn)支票兌現(xiàn)支票-20-識(shí)別業(yè)務(wù)用例-支持性事件 不要遺漏支撐性業(yè)務(wù)流程背后的業(yè)務(wù)用例 支持性事件 人員的發(fā)展與維護(hù) 業(yè)務(wù)內(nèi)部IT的開(kāi)發(fā)與維護(hù) 辦公室的設(shè)立與維護(hù) 安全性 法律活動(dòng) 例:公司為什么要舉行足球比賽?董事會(huì)董事會(huì)提

6、高員工士氣提高員工士氣-21-3.詳述業(yè)務(wù)用例 業(yè)務(wù)用例是對(duì)業(yè)務(wù)流程的封裝,在業(yè)務(wù)建模過(guò)程中需要逐一描述其內(nèi)部細(xì)節(jié),即詳述業(yè)務(wù)用例 目的 詳細(xì)說(shuō)明業(yè)務(wù)用例的工作流程 說(shuō)明業(yè)務(wù)用例的工作流程,以便于客戶、用戶和涉眾理解 -22-三種可選技術(shù)-23-選擇合適的技術(shù) 只有文字 不生動(dòng),不便于和客戶交流 只有活動(dòng)圖 難以表達(dá)所有細(xì)節(jié) 業(yè)務(wù)用例文檔中插入活動(dòng)圖 活動(dòng)圖中插入文字(+注釋+基本路徑) 順序圖(需要涉及到業(yè)務(wù)對(duì)象模型)-24-細(xì)說(shuō)活動(dòng)圖-25-細(xì)說(shuō)活動(dòng)圖(1) 起點(diǎn)、終點(diǎn) 活動(dòng)的一種特殊形式,各自只有一個(gè) 起點(diǎn):只有離開(kāi)的轉(zhuǎn)移 終點(diǎn):只有進(jìn)入的轉(zhuǎn)移 存在從起點(diǎn)出發(fā),到達(dá)終點(diǎn)的路徑 活動(dòng)和動(dòng)作

7、 有進(jìn)有出 動(dòng)賓結(jié)構(gòu) 可以簡(jiǎn)單,可以復(fù)雜 分區(qū) 定義活動(dòng)的負(fù)責(zé)者-26-細(xì)說(shuō)活動(dòng)圖(2) 控制流 向外轉(zhuǎn)移的條件之和必須是完備集 向外轉(zhuǎn)移的條件之間不能重疊 決策點(diǎn) 注意和流程圖的區(qū)別 誤把活動(dòng)當(dāng)決策 圖中判斷“技術(shù)可行性”需要單獨(dú)的活動(dòng)來(lái)完成 無(wú)空位 有空位 -27-細(xì)說(shuō)活動(dòng)圖(3) 并發(fā)(concurrent) 同步條(synchronization bar)的分叉(fork)與合并(join) 有分必有合 有分必有進(jìn) 有合必有出 并發(fā)同時(shí)-28-活動(dòng)圖中的對(duì)象流 指定活動(dòng)操作的數(shù)據(jù)(對(duì)象)以及數(shù)據(jù)的流向(對(duì)象流) 業(yè)務(wù)對(duì)象(business objects)、對(duì)象流(object flo

8、ws) 指出對(duì)某些業(yè)務(wù)實(shí)體的操作,類(lèi)似結(jié)構(gòu)化中的數(shù)據(jù)流圖 UML2中對(duì)象流由原來(lái)的虛線改為實(shí)線-29-活動(dòng)圖的分層 活動(dòng)可以簡(jiǎn)單可以復(fù)雜,復(fù)雜的活動(dòng)可以進(jìn)一步細(xì)化:分層 頂層有起點(diǎn)終點(diǎn),下層可以沒(méi)有 出入平衡-30-4.業(yè)務(wù)對(duì)象模型 業(yè)務(wù)對(duì)象模型(Business Object Model) 勾勒出實(shí)現(xiàn)業(yè)務(wù)關(guān)系中的人、事物、設(shè)備、資源以及它們之間的關(guān)系;即業(yè)務(wù)工人和業(yè)務(wù)實(shí)體之間的靜態(tài)關(guān)系 從另一個(gè)視角描述現(xiàn)實(shí) 使用UML類(lèi)圖描述 不要和待開(kāi)發(fā)系統(tǒng)中的分析設(shè)計(jì)類(lèi)相混淆-31-餐館的業(yè)務(wù)對(duì)象模型廚師廚師菜肴菜肴1.*1.*1 1 1 11.*1.*負(fù)責(zé)負(fù)責(zé)服務(wù)員服務(wù)員領(lǐng)位員領(lǐng)位員雇員雇員-32-業(yè)

9、務(wù)建模實(shí)踐:建模指南 業(yè)務(wù)模型不是UML標(biāo)準(zhǔn)直接支持的,但是通過(guò)UML的擴(kuò)展機(jī)制可以很方便的建立業(yè)務(wù)模型 主要構(gòu)造型(stereotype) 業(yè)務(wù)用例模型 參與者的構(gòu)造型:業(yè)務(wù)參與者(Business Actor) 用例的構(gòu)造型:業(yè)務(wù)用例(Business Use Case) 業(yè)務(wù)對(duì)象模型 類(lèi)的構(gòu)造型:業(yè)務(wù)工人(Business Worker)、業(yè)務(wù)實(shí)體(Business Entity)-33-建模指南:模型的組織 利用“包”組織模型 用例視圖中 “業(yè)務(wù)用例模型” 每個(gè)業(yè)務(wù)用例的”狀態(tài)/活動(dòng)模型” 邏輯視圖中 “業(yè)務(wù)對(duì)象模型”-34-建模指南:使用構(gòu)造型 業(yè)務(wù)用例模型是在UML的用例模型(用例

10、圖)基礎(chǔ)上添加構(gòu)造型來(lái)實(shí)現(xiàn)的 業(yè)務(wù)對(duì)象模型是在UML的對(duì)象模型(類(lèi)圖)基礎(chǔ)上添加構(gòu)造型來(lái)實(shí)現(xiàn)的 利用已有元素添加構(gòu)造型 Rose直接支持這些構(gòu)造型-35-業(yè)務(wù)建模實(shí)踐:實(shí)例分析 研究對(duì)象:某旅店 業(yè)務(wù)現(xiàn)狀: 某旅店可對(duì)外開(kāi)放50個(gè)雙人間和20個(gè)單人間,房間費(fèi)用視情況按季節(jié)調(diào)整,但周一到周五提供半價(jià)(周末全價(jià))折扣 旅客可以直接入住房間(如果有空房),也可提前預(yù)訂;入住和預(yù)訂都需要登記個(gè)人信息 旅客提前預(yù)訂房間時(shí),需提交一定的訂金;入住時(shí)間24小時(shí)之外的旅客可以取消預(yù)訂,并退回所有訂金,24小時(shí)以內(nèi)則不退還訂金 退房時(shí)繳納全部的住宿費(fèi)用 服務(wù)員每月為經(jīng)理提供房間的預(yù)訂情況和入住情況的詳細(xì)信息-3

11、6-實(shí)例分析:業(yè)務(wù)用例模型-37-實(shí)例分析:旅客住宿業(yè)務(wù)流程-38-實(shí)例分析:檢查業(yè)務(wù)用例模型 該業(yè)務(wù)用例模型體現(xiàn)了整個(gè)旅店的業(yè)務(wù)需求嗎? 如何考慮這項(xiàng)業(yè)務(wù):服務(wù)員每月為經(jīng)理提供房間的預(yù)訂情況和入住情況的詳細(xì)信息? 經(jīng)理是什么,如何體現(xiàn)在業(yè)務(wù)建模過(guò)程中? 是業(yè)務(wù)參與者還是業(yè)務(wù)工人?體現(xiàn)怎樣的業(yè)務(wù)本質(zhì)的差異?-39-實(shí)例分析:業(yè)務(wù)對(duì)象模型-40-從業(yè)務(wù)模型到系統(tǒng)模型 對(duì)于軟件開(kāi)發(fā)而言,業(yè)務(wù)建模只是輔助環(huán)節(jié),并不是最終目標(biāo) 軟件工程師最終目標(biāo)是要構(gòu)造軟件系統(tǒng) 業(yè)務(wù)建模則是一種定義系統(tǒng)模型的輔助手段 從業(yè)務(wù)模型到系統(tǒng)模型 業(yè)務(wù)模型描述了目前的業(yè)務(wù)現(xiàn)狀 系統(tǒng)模型才是軟件開(kāi)發(fā)的最終工件-41-業(yè)務(wù)模型為

12、系統(tǒng)模型提供素材 為用例視圖和邏輯視圖提供輸入 對(duì)于每個(gè)將被系統(tǒng)實(shí)現(xiàn)的業(yè)務(wù)用例,在用例視圖中確定一個(gè)系統(tǒng)用例或用例包(或單獨(dú)的子系統(tǒng))來(lái)實(shí)現(xiàn)該業(yè)務(wù) 為需要支持自動(dòng)化業(yè)務(wù)確定相應(yīng)的用例 對(duì)于業(yè)務(wù)對(duì)象模型中的業(yè)務(wù)實(shí)體,可以在系統(tǒng)模型中定義對(duì)應(yīng)的實(shí)體類(lèi) 為系統(tǒng)構(gòu)架提供一些重要的構(gòu)架機(jī)制 在軟件構(gòu)架中定義專用層來(lái)實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯-42-業(yè)務(wù)模型映射到系統(tǒng)模型 從入手,結(jié)合系統(tǒng),可以幫助獲取系統(tǒng)模型 可能的對(duì)應(yīng)關(guān)系(并非一一對(duì)應(yīng)) 業(yè)務(wù)用例 系統(tǒng)(子系統(tǒng)) 業(yè)務(wù)參與者 系統(tǒng)參與者 業(yè)務(wù)工人 系統(tǒng)參與者 業(yè)務(wù)工人的操作(活動(dòng)) 系統(tǒng)用例 業(yè)務(wù)實(shí)體 實(shí)體類(lèi)用例建模Use Case Modeling-44-

13、內(nèi)容安排 理解需求 從業(yè)務(wù)模型獲取需求 建立用例模型 編寫(xiě)用例文檔 重構(gòu)用例模型 其它問(wèn)題-45-內(nèi)容安排 從業(yè)務(wù)模型獲取需求 建立用例模型 編寫(xiě)用例文檔 重構(gòu)用例模型 其它問(wèn)題-46-需求建造“正確”的系統(tǒng) 需求:客戶可接受的、系統(tǒng)必須滿足的條件或具備的能力 RUP中的FURPS+軟件質(zhì)量準(zhǔn)則 功能性(Functionality) 使用性(Usability) 可靠性(Reliability) 性能(Performance) 可支持性(Supportability) +需求工程的主要活動(dòng) 定義需求 理解用戶的需要,建立用戶可理解的系統(tǒng)需求模型分析需求 根據(jù)需求模型,建立開(kāi)發(fā)者無(wú)二義性解釋的分

14、析模型 需求管理-47-48-需求難在何處:石頭問(wèn)題 我要一塊石頭 差不多,但我要小一點(diǎn)的 很好,不過(guò)我要藍(lán)色的 啊,沒(méi)有那么小 咳,還是原來(lái)那個(gè)好了 -49-需求:也需要開(kāi)發(fā)客戶客戶/用戶的要用戶的要求求/想法想法/期望期望軟件設(shè)計(jì)軟件設(shè)計(jì)軟件產(chǎn)品軟件產(chǎn)品開(kāi)發(fā)開(kāi)發(fā)編碼和測(cè)試編碼和測(cè)試驗(yàn)收驗(yàn)收有價(jià)值的有價(jià)值的軟件需求軟件需求分析和設(shè)計(jì)分析和設(shè)計(jì)-50-需求問(wèn)題:對(duì)策-51-內(nèi)容安排 理解需求 用例建模流程 獲取原始需求 構(gòu)建初始用例模型 編寫(xiě)用例文檔 重構(gòu)用例模型-52-從業(yè)務(wù)模型獲取需求 有業(yè)務(wù)模型 從業(yè)務(wù)用例模型中尋找系統(tǒng)改進(jìn)點(diǎn) 結(jié)合系統(tǒng),獲取系統(tǒng)用例來(lái)表達(dá)需求 采用需求啟發(fā)技術(shù),從涉眾獲

15、得-53-從業(yè)務(wù)模型獲取需求 從業(yè)務(wù)用例模型中獲取系統(tǒng)需求,來(lái)構(gòu)建系統(tǒng)用例模型 1. 尋找業(yè)務(wù)改進(jìn)點(diǎn) 2. 定義項(xiàng)目遠(yuǎn)景 3. 導(dǎo)出系統(tǒng)需求-54-1. 業(yè)務(wù)改進(jìn)點(diǎn) 業(yè)務(wù)模型描述業(yè)務(wù)現(xiàn)狀,這些現(xiàn)狀: 有些可能一直運(yùn)轉(zhuǎn)的很好,不需要改進(jìn),也就沒(méi)有必要作為軟件需求來(lái)由系統(tǒng)實(shí)現(xiàn) 而另外可能更多的業(yè)務(wù)在運(yùn)轉(zhuǎn)過(guò)程中存在這樣或那樣的問(wèn)題,這些問(wèn)題就成為業(yè)務(wù)待改進(jìn)的改進(jìn)點(diǎn),也就很可能作為軟件需求而存在-55-尋找業(yè)務(wù)改進(jìn)點(diǎn) 從業(yè)務(wù)流程中獲取改進(jìn)點(diǎn)的思路: 信息的自動(dòng)流轉(zhuǎn) 演繹復(fù)雜業(yè)務(wù)邏輯 訪問(wèn)和操作業(yè)務(wù)對(duì)象 自動(dòng)工作 -56-2. 遠(yuǎn)景(Vision) 系統(tǒng)改進(jìn)點(diǎn)不等同于軟件需求 用戶根據(jù)自身的工作特點(diǎn)和支

16、付能力決定哪些應(yīng)該改進(jìn),哪些不需要改進(jìn) 這就是用戶的遠(yuǎn)景,它表明用戶改進(jìn)的目標(biāo),這也將成為項(xiàng)目的目標(biāo) 業(yè)務(wù)模型描述了“現(xiàn)實(shí)是什么”,遠(yuǎn)景則描述“希望的改進(jìn)” 遠(yuǎn)景表達(dá)了“為什么要開(kāi)發(fā)這個(gè)系統(tǒng)” 在業(yè)務(wù)現(xiàn)狀(業(yè)務(wù)模型)下,開(kāi)發(fā)系統(tǒng)是為了達(dá)到什么目標(biāo)?-57-定義項(xiàng)目遠(yuǎn)景 遠(yuǎn)景包含了對(duì)待開(kāi)發(fā)系統(tǒng)的目標(biāo)和約束 代表了項(xiàng)目涉及的所有人之間達(dá)成的第一個(gè)共識(shí) 是項(xiàng)目核心需求的概覽 為更詳細(xì)的技術(shù)需求提供了契約性的依據(jù) 指導(dǎo)團(tuán)隊(duì)實(shí)現(xiàn)具體的業(yè)務(wù)目標(biāo) 遠(yuǎn)景的作用 最初,根據(jù)項(xiàng)目的遠(yuǎn)景目標(biāo)來(lái)決定項(xiàng)目是否值得繼續(xù) 在項(xiàng)目批準(zhǔn)后,團(tuán)隊(duì)根據(jù)項(xiàng)目遠(yuǎn)景來(lái)指導(dǎo)后續(xù)的需求和設(shè)計(jì)-58-遠(yuǎn)景說(shuō)明 遠(yuǎn)景可以作為一個(gè)單獨(dú)的文檔存在,

17、而這其中最重要的部分就是關(guān)于遠(yuǎn)景目標(biāo)的說(shuō)明,它建立了一個(gè)項(xiàng)目涉及的所有人的共同目標(biāo) 遠(yuǎn)景說(shuō)明應(yīng)該是精確、清晰和激勵(lì)性的描述,以便激勵(lì)所有的團(tuán)隊(duì)成員為達(dá)成該遠(yuǎn)景而努力。一個(gè)好的遠(yuǎn)景應(yīng)該具有以下五個(gè)特點(diǎn)(SMART): 具體的(Specific) 可測(cè)量的(Measurable) 可實(shí)現(xiàn)的(Achievable) 相關(guān)的(Relevant) 基于時(shí)間的(Time-based)-59-3. 導(dǎo)出系統(tǒng)需求 從業(yè)務(wù)改進(jìn)點(diǎn)入手,結(jié)合項(xiàng)目遠(yuǎn)景,導(dǎo)出系統(tǒng)需求: 對(duì)于每一個(gè)業(yè)務(wù)改進(jìn)點(diǎn),明確是否是為了達(dá)到遠(yuǎn)景目標(biāo)的需要 如果是則作為軟件需求而存在,并把相應(yīng)地模型作為系統(tǒng)模型 如果不是則不作為需求而存在,可能作為一

18、項(xiàng)潛在的需求考慮,也可能直接拋棄 -60-實(shí)例分析:旅店系統(tǒng)開(kāi)發(fā)背景 隨著旅店聲譽(yù)日益提高,住宿人員越來(lái)越多,旅客為了能夠獲得好的房間,均提前預(yù)訂房間 然而,隨著預(yù)訂的增多、預(yù)訂周期的拉長(zhǎng),前臺(tái)服務(wù)員工作壓力也日益增大,還經(jīng)常出現(xiàn)工作的失誤,使得已經(jīng)預(yù)訂好房間的旅客也不能按期入住,這給酒店的聲譽(yù)帶來(lái)不好的影響 為此,旅店老板想到了計(jì)算機(jī),希望能夠通過(guò)計(jì)算機(jī)來(lái)自動(dòng)管理這些預(yù)訂業(yè)務(wù),不過(guò)由于目前資金的問(wèn)題,目前只開(kāi)發(fā)一個(gè)單機(jī)版的系統(tǒng),不提供網(wǎng)上業(yè)務(wù);并且旅店方面的其它業(yè)務(wù)暫不考慮信息化問(wèn)題 旅店老板委托某計(jì)算機(jī)公司開(kāi)發(fā)該系統(tǒng),并承諾如果系統(tǒng)運(yùn)轉(zhuǎn)良好的話,將會(huì)考慮進(jìn)一步合作事宜-61-遠(yuǎn)景:旅店預(yù)訂

19、系統(tǒng) A很榮幸地成為項(xiàng)目經(jīng)理,并被要求在兩個(gè)月之內(nèi)發(fā)布該系統(tǒng)的第一個(gè)版本,同時(shí)還被要求要為后續(xù)的開(kāi)發(fā)提供必備的接口 結(jié)合現(xiàn)狀和老板的要求,考慮到的項(xiàng)目可擴(kuò)展的要求,A首先進(jìn)行了簡(jiǎn)單的業(yè)務(wù)建模 之后,A初步定義了項(xiàng)目的遠(yuǎn)景 方便、快捷、準(zhǔn)確地為旅客預(yù)訂房間 旅客可以方便的取消預(yù)訂的房間 旅店經(jīng)理能夠定期的獲取預(yù)訂的信息,根據(jù)這些信息可以及時(shí)調(diào)整房間的價(jià)格 及時(shí)、快速地計(jì)算房間費(fèi)用、預(yù)訂費(fèi)用、取消預(yù)訂后退款金額等信息 ?預(yù)留接口:可以為以后的網(wǎng)絡(luò)版,以及其它業(yè)務(wù)系統(tǒng)的開(kāi)發(fā)提供支持-62-結(jié)合遠(yuǎn)景,獲取系統(tǒng)需求-63-業(yè)務(wù)模型映射到系統(tǒng)模型思路 從入手,結(jié)合系統(tǒng),可以幫助獲取系統(tǒng)模型 可能的對(duì)應(yīng)關(guān)系

20、(并非一一對(duì)應(yīng)) 業(yè)務(wù)用例 系統(tǒng)(子系統(tǒng)) 業(yè)務(wù)參與者 系統(tǒng)參與者 業(yè)務(wù)工人 系統(tǒng)參與者 業(yè)務(wù)工人的操作(活動(dòng)) 系統(tǒng)用例 業(yè)務(wù)實(shí)體 實(shí)體類(lèi)-64-內(nèi)容安排 理解需求 從業(yè)務(wù)模型獲取需求 編寫(xiě)用例文檔 重構(gòu)用例模型 其它問(wèn)題-65-1.需求從何而來(lái) 需求只能來(lái)自涉眾(stakeholders) 最終用戶、客戶 政府、法律、文化 開(kāi)發(fā)人員、管理人員 競(jìng)爭(zhēng)對(duì)手 但并不是直接從涉眾中來(lái) 你們的需求是什么?-66-涉眾無(wú)法直接提供需求 涉眾無(wú)法陳述自己的需要 涉眾說(shuō)的是解決方案而不是需求 涉眾難以構(gòu)想新的工作方法 涉眾的利益矛盾 涉眾抵制變更 “最好也要有”過(guò)度的要求 需求引發(fā)需求-67-需求啟發(fā)技術(shù)

21、 需求工程師利用需求啟發(fā)技術(shù),從涉眾中發(fā)掘需求 收集資料 現(xiàn)場(chǎng)觀察 訪談 開(kāi)會(huì) 原型 問(wèn)卷調(diào)查 -68-2 識(shí)別參與者(Actor) 識(shí)別參與者 關(guān)鍵詞:邊界 參與者:在系統(tǒng)之外,透過(guò)系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物-69-參與者要點(diǎn)分析 系統(tǒng)外 參與者不是系統(tǒng)的一部分,處于系統(tǒng)的外部 系統(tǒng)邊界 參與者透過(guò)系統(tǒng)邊界直接與系統(tǒng)交互,參與者的確定代表系統(tǒng)邊界的確定 系統(tǒng)角色 參與者與使用系統(tǒng)的物理人和職務(wù)沒(méi)有關(guān)系 需要從參與系統(tǒng)的角色(作用)來(lái)尋找參與者 與系統(tǒng)進(jìn)行信息交互 系統(tǒng)需要關(guān)注其交互過(guò)程,即系統(tǒng)職責(zé) 任何事物 人、外系統(tǒng)、外部因素、時(shí)間-70-要點(diǎn):與系統(tǒng)進(jìn)行信息交互-71-要點(diǎn):

22、任何事物-72-任何事物:小人與圣小豬-1-73-小人與圣小豬-2 眾所周知,用例圖中的參與者用一個(gè)小人表示。但是這個(gè)小人具有一定的誤導(dǎo)性,往往讓初學(xué)者(包括客戶)理解為一個(gè)真實(shí)的人。大多數(shù)UML 學(xué)習(xí)者都要花好長(zhǎng)一段時(shí)間來(lái)搞明白小人其實(shí)不一定代表的是人,而是很抽象的系統(tǒng)不可控的外部因素,比如說(shuō)另一個(gè)系統(tǒng)。那么為什么不干脆用其它的符號(hào)來(lái)表示參與者呢? 如果我開(kāi)發(fā)一個(gè)豬圈自動(dòng)供食供水系統(tǒng),豬的前蹄觸發(fā)一個(gè)開(kāi)關(guān)系統(tǒng)就供食或供水。顯然,這里的參與者 是小豬。那么在用例圖里用小豬代替原來(lái)的小人不是更易于交流嗎?-74-思考:參與者與系統(tǒng)邊界? 某企業(yè)要求開(kāi)發(fā)一個(gè)企業(yè)信息管理系統(tǒng),并與原來(lái)已有的庫(kù)存系統(tǒng)

23、相連接 某企業(yè)要求開(kāi)發(fā)一個(gè)企業(yè)信息管理系統(tǒng),并把原來(lái)已有的庫(kù)存管理系統(tǒng)加以改造,成為企業(yè)信息管理系統(tǒng)的一部分-75-識(shí)別參與者的思路 可以從以下要點(diǎn)來(lái)識(shí)別參與者 系統(tǒng)在哪些部門(mén)使用 誰(shuí)向系統(tǒng)提供信息、使用和刪除信息。 誰(shuí)與系統(tǒng)的需求有關(guān)聯(lián) 誰(shuí)使用系統(tǒng)的功能(用例) 誰(shuí)對(duì)系統(tǒng)進(jìn)行維護(hù) 與外部系統(tǒng)是否有關(guān)聯(lián) 時(shí)間參與者:一種習(xí)慣用法,用于激活那些系統(tǒng)定期的、自動(dòng)執(zhí)行的用例-76-參與者的命名 對(duì)參與者賦予能更好地表達(dá)其角色(作用)的名稱 不好的參與者命名的例子:用職務(wù)名稱和個(gè)人姓名來(lái)命名 例如,張三、老李、校長(zhǎng)、科長(zhǎng) 若使用系統(tǒng)的人(職務(wù)名稱)變化的話,就不是參與者了 好的參與者命名的例子:用能知

24、道其角色的名稱來(lái)命名 例如,學(xué)生、訂單管理員、維護(hù)部門(mén) 即使使用系統(tǒng)的人改變,從系統(tǒng)來(lái)看,使用者的角色(作用)是相同的。-77-參與者之間的關(guān)系:泛化 參與者可以通過(guò)來(lái)定義,在這種泛化關(guān)系中,一個(gè)參與者的抽象描述可以被一個(gè)或多個(gè)具體的參與者所共享 如系統(tǒng)中經(jīng)理可以參加雇員的所有用例用例A雇員用例B經(jīng)理用例C-78-參與者地位 識(shí)別用例之前重要 有助于識(shí)別用例,寧多勿少 開(kāi)始書(shū)寫(xiě)用例文檔以后不重要 涉及的參與者太多 測(cè)試和部署階段重要 需要從參與者的角度考慮-79-3 識(shí)別用例 關(guān)鍵詞:價(jià)值 定義 用例實(shí)例是系統(tǒng)執(zhí)行的一系列動(dòng)作,這些動(dòng)作將生成特定參與者可觀測(cè)的結(jié)果值 一個(gè)用例定義一組用例實(shí)例(

25、場(chǎng)景) 簡(jiǎn)潔:參與者使用系統(tǒng)達(dá)到某個(gè)目標(biāo)記住了,我是(系統(tǒng))記住了,我是(系統(tǒng))用例用例-80-用例要點(diǎn) 可觀測(cè)用例止于系統(tǒng)邊界 結(jié)果值用例是有意義的目標(biāo) 系統(tǒng)執(zhí)行結(jié)果值由系統(tǒng)生成 由參與者觀測(cè)業(yè)務(wù)語(yǔ)言、用戶觀點(diǎn) 一組用例實(shí)例用例的粒度-81-要點(diǎn):有意義的目標(biāo) 設(shè)定查詢條件 會(huì)員 選擇零件 會(huì)員 檢索零件-82-要點(diǎn):結(jié)果值由系統(tǒng)生成出納員吃飯-83-要點(diǎn):用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn)-84-用例的命名 參與者視角: (狀語(yǔ))動(dòng)詞+(定語(yǔ)+ )賓語(yǔ)-85-要點(diǎn):用例粒度-1 用例是一組用例實(shí)例的抽象;其內(nèi)部要有路徑,路徑要有步驟 最常犯錯(cuò)誤:粒度過(guò)細(xì),陷入功能分解 通過(guò)執(zhí)行用例,參與者完成想做的事情

26、(最終的目的),并為參與者產(chǎn)生價(jià)值 過(guò)細(xì)的粒度,一般都會(huì)導(dǎo)致技術(shù)語(yǔ)言的描述,而不再是業(yè)務(wù)語(yǔ)言-86-用例粒度-2 把步驟當(dāng)用例 把系統(tǒng)活動(dòng)當(dāng)用例 會(huì)員 輸入用戶名 驗(yàn)證用戶名和密碼 會(huì)員 登錄 查詢訂單建立數(shù)據(jù)庫(kù)連接執(zhí)行SQL語(yǔ)句-87-用例粒度-3 “四輪馬車(chē)” C(Create)R(Read)U(Update)D(Delete) 所有業(yè)務(wù)最終對(duì)會(huì)成為CRUD? CRUD能為Actor提供價(jià)值? CRUD掩蓋業(yè)務(wù),銳變成關(guān)系數(shù)據(jù)庫(kù)的建模: “系統(tǒng)就是數(shù)據(jù)的增刪改查” 關(guān)心數(shù)據(jù)的存儲(chǔ)和維護(hù),反而忽略了用戶的目的 刪除用戶 修改用戶 增加用戶 管理員 查詢用戶-88-用例粒度-4 如果確實(shí)是CR

27、UD? 如果CRUD不涉及復(fù)雜的交互,一個(gè)用例“管理”即可 不管是C、R、U、D,都是為了完成“管理”目標(biāo) 甚至很多種的基本數(shù)據(jù)管理都可以用一個(gè)用例表示 管理員 管理用戶-89-用例粒度-5 靈活處理CRUD 管理員 管理用戶 增加用戶 -90-找出用例的思路 用例要考慮如下要點(diǎn)來(lái)尋找。 參與者的工作是什么 參與者的角色(作用)是什么 參與者是否生成、參照、刪除系統(tǒng)信息 參與者是否需要把外部變更通知給系統(tǒng) 系統(tǒng)是否需要把內(nèi)部事情通知給參與者 是否存在進(jìn)行系統(tǒng)維護(hù)的用例 用例數(shù)量的參考基準(zhǔn) 1個(gè)系統(tǒng)中存在十幾個(gè)用例(或更少) 1個(gè)用例中有多個(gè)用例實(shí)例(場(chǎng)景)-91-中的常見(jiàn)的14種圖圖Diagr

28、ams類(lèi)圖Class Diagrams對(duì)象圖Object Diagrams構(gòu)件圖Component Diagrams部署圖Deployment Diagrams用例圖Use Case Diagrams順序圖Sequence Diagrams通信圖Communication Diagrams狀態(tài)機(jī)圖State Machine Diagrams活動(dòng)圖Activity Diagrams包圖Package Diagrams組合結(jié)構(gòu)圖Composite Structure Diagrams時(shí)間圖Timing Diagrams交互縱覽圖Interaction Overview Diagrams外廓圖Pro

29、file Diagrams畫(huà)用例圖的基本元素附錄2-1. UML元語(yǔ)-94-用例圖元語(yǔ)返回用例圖-95-活動(dòng)圖元語(yǔ)返回活動(dòng)圖-96-類(lèi)圖、對(duì)象圖、包圖元語(yǔ)返回靜態(tài)結(jié)構(gòu)圖組合結(jié)構(gòu)圖元語(yǔ)-97-返回組合結(jié)構(gòu)圖-98-順序圖元語(yǔ)返回順序圖-99-通信圖元語(yǔ)返回通信圖-100-交互縱覽圖元語(yǔ)返回交互縱覽圖時(shí)間圖元語(yǔ)-101-返回時(shí)間圖-102-狀態(tài)機(jī)圖元語(yǔ)返回狀態(tài)機(jī)圖-103-構(gòu)件圖元語(yǔ)返回構(gòu)件圖-104-部署圖元語(yǔ)返回部署圖-105-外廓圖返回外廓圖-106-4 構(gòu)建用例圖 用例圖:表達(dá)參與者與用例關(guān)系圖形-107-內(nèi)容安排 從業(yè)務(wù)模型獲取需求 建立用例模型 重構(gòu)用例模型 其它問(wèn)題-108-撰寫(xiě)用例

30、文檔 用例文檔:更進(jìn)一步的精度 需求規(guī)格說(shuō)明書(shū)的核心,而用例圖作為用例文檔的索引圖 進(jìn)一步的精度:文檔 文檔中每一句話都有其價(jià)值-109-用例文檔的組成 用例標(biāo)識(shí)(UC)、名稱、描述 涉及的參與者、涉及的用例 涉眾利益 前置條件、后置條件 事件流 基本路徑 備選路徑 補(bǔ)充約束 字段列表、業(yè)務(wù)規(guī)則 非功能需求、設(shè)計(jì)約束 待解決問(wèn)題 相關(guān)圖(用例圖、活動(dòng)圖、類(lèi)圖)用例文檔參考模板用例名用例名稱,與用例圖中的名稱保持一致簡(jiǎn)要描述用簡(jiǎn)單的幾句話說(shuō)明用例本身以及使用它的原因參與者與該用例相關(guān)的參與者,應(yīng)與用例圖保持一致涉眾與該用例相關(guān)的其他用戶或部門(mén),該用例的執(zhí)行會(huì)對(duì)這些用戶產(chǎn)生影響相關(guān)用例與該用例存在

31、關(guān)系的用例,對(duì)于不同的關(guān)系可采用不同的表示方式前置條件執(zhí)行該用例之前必須滿足的條件后置條件在該用例執(zhí)行之后,系統(tǒng)所達(dá)到的狀態(tài)基本事件流描述用例在最通常情況下所發(fā)生的事件流的執(zhí)行步驟,采用編號(hào)的方式表示發(fā)生的先后順序;對(duì)于復(fù)雜的事件流還可以采用子流的方式分解為多個(gè)事件流進(jìn)行表述備選事件流描述用例基本流程可能出現(xiàn)的分支事件或異常事件補(bǔ)充約束描述與該用例相關(guān)的約束,包括數(shù)據(jù)需求、業(yè)務(wù)規(guī)則、非功能需求、設(shè)計(jì)約束等待解決問(wèn)題說(shuō)明該用例日前還未明確的相關(guān)問(wèn)題相關(guān)圖與該用例相關(guān)的其他圖形,可以是標(biāo)準(zhǔn)的UML圖,如活動(dòng)圖、類(lèi)圖等,也可以是其他格式的圖形。-111-尋找涉眾的思路 區(qū)分涉眾與參與者 涉眾是與當(dāng)前

32、用例存在利益關(guān)系的人或組織 參與者是啟動(dòng)或參與用例執(zhí)行過(guò)程的人或外部事物 可能的涉眾有: 當(dāng)事人 上游下游 操作對(duì)象的主人 -112-前置、后置條件 前置條件約束在用例開(kāi)始前系統(tǒng)的狀態(tài) 作為用例的入口限制,它阻止參與者觸發(fā)該用例直到滿足所有條件 說(shuō)明在用例觸發(fā)之前什么必須為真 后置條件約束用例執(zhí)行后系統(tǒng)的狀態(tài) 用例執(zhí)行后什么必須為真 對(duì)于存在各種分支事件流的用例,則可以指定多個(gè)后置條件 把用例看作是參與者與系統(tǒng)交互的流程,前置條件和后置條件則是這個(gè)流程的入口和出口狀態(tài)。如圖 直線箭頭表示基本事件流,曲線箭頭代表各種備選事件流,注意前置條件和后置條件所處位置-113-定義前置、后置條件 前置、后

33、置條件必須是系統(tǒng)能檢測(cè)到的 前置條件必須是系統(tǒng)在用例開(kāi)始前就能檢測(cè)到的-114-應(yīng)用前置、后置條件 某些用例依賴于其他用例 一個(gè)用例在離開(kāi)系統(tǒng)時(shí),可能是另一個(gè)用例的前置條件(例如:“登錄”和“管理系統(tǒng)”) 有助于識(shí)別漏掉的用例 如果一個(gè)用例的前置條件不能有執(zhí)行其他用例滿足,可能意味著丟失了用例(例如:“管理訂單”卻沒(méi)有“登錄”用例)-115-事件流描述-用例交互四部曲1. 動(dòng)動(dòng) 作作4. 響響 應(yīng)應(yīng)2.驗(yàn)證驗(yàn)證3.處理處理系系 統(tǒng)統(tǒng) 用例的核心內(nèi)容就是參與者和系統(tǒng)交互的過(guò)程,這個(gè)交互過(guò)程在用例文檔中采用事件流的方式進(jìn)行完整的表示。如圖-116-事件流描述要點(diǎn) 事件流描述要使用戶和開(kāi)發(fā)人員互相理

34、解用例的功能,要注意以下幾點(diǎn): 使用業(yè)務(wù)語(yǔ)言:使用用戶平時(shí)所使用的語(yǔ)言進(jìn)行描述 要明確參與者與系統(tǒng)所交互的信息 不使用例如、等這樣的不清晰的表達(dá) 不要過(guò)多地考慮界面細(xì)節(jié) 不要描述計(jì)算機(jī)內(nèi)部的處理,要描述從系統(tǒng)外部所看到的活動(dòng) 除了基本流程,還要描述替代流程 要明確描述用例的開(kāi)始和結(jié)束-117-例1:使用業(yè)務(wù)語(yǔ)言 技術(shù)語(yǔ)言:無(wú)法與用戶溝通 系統(tǒng)通過(guò)JDBC建立數(shù)據(jù)庫(kù)連接,傳送SQL查詢語(yǔ)句,從“商品表”查詢商品的詳細(xì)信息 業(yè)務(wù)語(yǔ)言(用戶語(yǔ)言) 系統(tǒng)按照查詢條件搜索商品的詳細(xì)信息-118-例2:描述參與者與系統(tǒng)交互過(guò)程 以參與者或系統(tǒng)作為主語(yǔ)描述 參與者 系統(tǒng) 示例 出納員接收顧客的付款顧客的付款

35、數(shù)可能高于商品總額 出納員錄入顧客所付的現(xiàn)金總額 系統(tǒng)顯示出應(yīng)找還給顧客的余額,打印付款收據(jù)-119-例3:不細(xì)化界面細(xì)節(jié) 過(guò)細(xì)的界面細(xì)節(jié)描述 會(huì)員從下拉框中選擇類(lèi)別 會(huì)員在相應(yīng)文本框中輸入查詢條件 會(huì)員點(diǎn)擊“確定”按鈕-120-例4:分支和循環(huán)的描述 分支:放到備選路徑中 參與者的選擇 另一條成功線路 系統(tǒng)進(jìn)行驗(yàn)證 循環(huán):直接描述-121-用例文檔中的補(bǔ)充約束 用例重點(diǎn)在于描述功能需求,而其它方面的補(bǔ)充約束采用兩種處理策略: 與特定用例相關(guān)的補(bǔ)充約束,作為該用例文檔中一部分來(lái)描述 一些全局性的補(bǔ)充約束,單獨(dú)形成一份獨(dú)立的文檔,如“補(bǔ)充需求規(guī)約”文檔 補(bǔ)充約束 字段列表 業(yè)務(wù)規(guī)則 非功能需求

36、設(shè)計(jì)約束-122-實(shí)例分析:撰寫(xiě)用例文檔 用例文檔參考模板 旅店預(yù)訂系統(tǒng)用例文檔 “ UC01-預(yù)訂房間”用例文檔-123-內(nèi)容安排 從業(yè)務(wù)模型獲取需求 建立用例模型 編寫(xiě)用例文檔 其它問(wèn)題重構(gòu)用例模型 對(duì)于一些復(fù)雜的系統(tǒng),用例可能很多,所以可以利用用例建模高級(jí)技術(shù)重構(gòu)用例模型 用例關(guān)系 通過(guò)用例關(guān)系將復(fù)雜的用例進(jìn)行適當(dāng)?shù)姆纸?,以便于提高需求的?fù)用性和可擴(kuò)展性等,從而使用例模型的結(jié)構(gòu)更合理 用例分級(jí) 可以根據(jù)用例的重要程度進(jìn)行分級(jí),以便后續(xù)迭代計(jì)劃的制定,高級(jí)別的用例優(yōu)先考慮 用例分包 將相關(guān)的用例打包,通過(guò)分包的方式可以將用例圖分層表示,以用于大規(guī)模系統(tǒng)的用例建模-124-125-用例關(guān)系擴(kuò)展擴(kuò)展包含包含泛化泛化-126-通過(guò)關(guān)系整理文檔 Extend(擴(kuò)展) 通過(guò)擴(kuò)展用例對(duì)基用例增加附加的行為 Include(包含) 基用例中復(fù)用被包含用例的行為 提取公共步驟,便于復(fù)用 Generalization(泛化) 派生用例繼承泛化用例的行為并添加新行為-127-用例關(guān)系:擴(kuò)展 擴(kuò)展:某個(gè)用例在特定情況下,包含其他用例(擴(kuò)展用例)的行為,表示功能被擴(kuò)展 擴(kuò)展使用帶有的虛線表示。此時(shí),箭頭由擴(kuò)展的用例指向原用例,通過(guò)擴(kuò)展點(diǎn)指明在原用例中的擴(kuò)展位置-128-用例關(guān)系:包含 包含:表示某個(gè)用例中包含了其

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論