業(yè)務建模及用例建模_第1頁
業(yè)務建模及用例建模_第2頁
業(yè)務建模及用例建模_第3頁
業(yè)務建模及用例建模_第4頁
業(yè)務建模及用例建模_第5頁
已閱讀5頁,還剩136頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向對象分析與設計

Object-OrientedAnalysis&Design-2-學習路線圖OOUMLOOPDP…Case-Study…學習路線圖……

……

……

……12345678910核心過程-3-業(yè)務建模BusinessModeling-5-開發(fā)過程解析業(yè)務建模:用軟件建模方法描述業(yè)務流程;其目標是認識業(yè)務本質,該業(yè)務本質是后續(xù)用例建模的基礎用例建模:采用UML用例建模技術描述軟件需求,該需求模型將為后續(xù)用例分析提供輸入用例分析:采用UML用例分析技術分析軟件需求,建立軟件系統(tǒng)的分析模型架構設計:在系統(tǒng)的全局范圍內,以分析模型為基礎,設計系統(tǒng)的架構構件設計:根據架構設計的成果,將分析模型細化,設計系統(tǒng)構件的實現細節(jié)代碼實現:將系統(tǒng)構件映射到目標語言上-6-業(yè)務業(yè)務是指某個組織或者組織單元業(yè)務可以看作一種包含了人、機器、資源的“系統(tǒng)”利用軟件思想(用例思想、對象思想)描述業(yè)務的過程,就是業(yè)務建模業(yè)務建模只是輔助環(huán)節(jié)不是所有項目都需要也不一定和軟件開發(fā)相關-7-業(yè)務建模業(yè)務建模的目的理解將要實施的系統(tǒng)的組織結構和動態(tài)特性理解當前在目標組織中的問題,并明確改進的潛力確保客戶、最終用戶和開發(fā)人員對目標組織有統(tǒng)一的理解獲取用于支持目標組織的系統(tǒng)需求業(yè)務建模關注機構的核心價值機構的邊界機構的參與者機構中的工作流及如何優(yōu)化-8-業(yè)務建模方法研究對象軟件要改進的業(yè)務單元研究目標定義業(yè)務本質研究方法用例觀點:把業(yè)務看成對外提供價值的價值流-9-業(yè)務建模工件業(yè)務用例模型(BusinessUse-CaseModel)業(yè)務用戶表示為業(yè)務參與者(BusinessActor)業(yè)務過程表示為業(yè)務用例(BusinessUse-Case)和業(yè)務用例實現業(yè)務對象模型(BusinessObjectModel)人們在組織中扮演的角色表示為業(yè)務工人(BusinessWorker)組織管理或制造的“東西”表示為業(yè)務實體(BusinessEntity)-10-業(yè)務建模流程0.建立業(yè)務用例模型1.識別業(yè)務參與者2.識別業(yè)務用例3.詳述業(yè)務用例4.建立業(yè)務對象模型-11-業(yè)務務建建模模流流程程0.建立立業(yè)務務用用例例模模型型1.識別別業(yè)業(yè)務務參參與與者者2.識別別業(yè)業(yè)務務用用例例3.詳述述業(yè)業(yè)務務用用例例1.建立立業(yè)務務對對象象模模型型-12-1.業(yè)務務參參與與者者(BusinessActor)識別別業(yè)業(yè)務務參參與與者者在業(yè)務務之之外外,與與業(yè)業(yè)務務進進行行交互互的人人或或組組織織-13-區(qū)分分業(yè)業(yè)務務工工人人(BusinessWorker)業(yè)務務參參與與者者在在業(yè)業(yè)務務外外面面業(yè)務務工工人人在在業(yè)業(yè)務務里里面面-14-區(qū)分分業(yè)業(yè)務務實實體體(BusinessEntity)-15-識別別業(yè)業(yè)務務參參與與者者思思路路客戶戶供應應商商合作作伙伙伴伴潛在在客客戶戶政府府組織織中中未未建建模模部部分分………-16-2.業(yè)務務用用例例(BusinessUseCase)識別別業(yè)業(yè)務務用用例例業(yè)務務為為業(yè)業(yè)務務參參與與者者提提供供的的價值值體現現企企業(yè)業(yè)業(yè)業(yè)務務本本質質,,是是有意意義義的目目標標-17-業(yè)務務用用例例與與業(yè)業(yè)務務參參與與者者-18-識別別業(yè)業(yè)務務用用例例的的方方法法直接接獲獲得得::從從業(yè)業(yè)務務參參與與者者的的角角度度,,從從外外部部推推導導出出來來拼裝裝::從從里里面面往往外外面面看看,,內內部部業(yè)業(yè)務務流流程程的的目目標標是是什什么么直接接獲獲得得拼裝裝-19-從業(yè)業(yè)務務流流程程拼拼裝裝業(yè)業(yè)務務用用例例業(yè)務務流流程程1.收款款人人在在支支票票背背后后簽簽名名,,寫寫上上身身份份證證件件號號碼碼,,把把支支票票和和身身份份證證件件交交給給營營業(yè)業(yè)員員2.營業(yè)業(yè)員員核核對對印印章章正正確確且且證證件件有有效效3.營業(yè)業(yè)員員操操作作營營業(yè)業(yè)受受理理系系統(tǒng)統(tǒng),,辦辦理理支支票票兌兌現現手手續(xù)續(xù)4.營業(yè)業(yè)員員把把現現金金和和證證件件交交給給交交款款人人-20-識別別業(yè)業(yè)務務用用例例-支支持持性性事事件件不要要遺遺漏漏支支撐撐性性業(yè)業(yè)務務流流程程背背后后的的業(yè)業(yè)務務用用例例支持持性性事事件件人員員的的發(fā)發(fā)展展與與維維護護業(yè)務務內內部部IT的開開發(fā)發(fā)與與維維護護辦公公室室的的設設立立與與維維護護安全全性性法律律活活動動例::公公司司為為什什么么要要舉舉行行足足球球比比賽賽??-21-3.詳述述業(yè)務用用例業(yè)務用例例是對業(yè)業(yè)務流程程的封裝裝,在業(yè)業(yè)務建模模過程中中需要逐逐一描述述其內部部細節(jié),,即詳述述業(yè)務用用例目的詳細說明明業(yè)務用用例的工工作流程程說明業(yè)務務用例的的工作流流程,以以便于客客戶、用用戶和涉涉眾理解解-22-三種可選選技術文字活動圖順序圖-23-選擇合適適的技術術只有文字字不生動,,不便于于和客戶戶交流只有活動動圖難以表達達所有細細節(jié)業(yè)務用例例文檔中中插入活活動圖活動圖中中插入文文字(+注釋+基本路徑徑)順序圖(需要涉及及到業(yè)務務對象模模型)-24-細說活動動圖-25-細說活動動圖(1)起點、終終點活動的一一種特殊殊形式,,各自只只有一個個起點:只只有離開開的轉移移終點:只只有進入入的轉移移存在從起起點出發(fā)發(fā),到達達終點的的路徑活動和動動作有進有出出動賓結構構可以簡單單,可以以復雜分區(qū)定義活動動的負責責者-26-細說活動動圖(2)控制流向外轉移移的條件件之和必必須是完完備集向外轉移移的條件件之間不不能重疊疊決策點注意和流流程圖的的區(qū)別誤把活動動當決策策圖中判斷斷“技術術可行性”需需要單獨獨的活動來完完成-27-細說活動動圖(3)并發(fā)(concurrent)同步條(synchronizationbar)的分叉(fork)與合并(join)有分必有有合有分必有有進有合必有有出并發(fā)≠同時-28-活動圖中中的對象象流指定活動動操作的的數據(對象)以及數據據的流向向(對象流)業(yè)務對象象(businessobjects)、對象流流(objectflows)指出對某某些業(yè)務務實體的的操作,,類似結結構化中中的數據據流圖UML2中對象流流

由原原來的虛虛線改改為實線線-29-活動圖的的分層活動可以以簡單可可以復雜雜,復雜雜的活動動可以進進一步細細化:分分層頂層有起起點終點點,下層層可以沒沒有出入平衡衡-30-4.業(yè)務務對象模模型業(yè)務對象象模型(BusinessObjectModel)勾勒出實實現業(yè)務務關系中中的人、、事物、、設備、、資源以以及它們們之間的的關系;;即業(yè)務務工人和和業(yè)務實實體之間間的靜態(tài)態(tài)關系從另一個個視角描描述現實實使用UML類圖描述述不要和待待開發(fā)系系統(tǒng)中的的分析設設計類相相混淆-31-餐館的業(yè)業(yè)務對象象模型-32-業(yè)務建模模實踐::建模指指南業(yè)務模型型不是UML標準直接接支持的的,但是是通過UML的擴展機機制可以以很方便便的建立立業(yè)務模模型主要構造造型(stereotype)業(yè)務用例例模型參與者的的構造型型:業(yè)務務參與者者(BusinessActor)用例的構構造型::業(yè)務用用例(BusinessUseCase)業(yè)務對象象模型類的構造造型:業(yè)業(yè)務工人人(BusinessWorker)、業(yè)務實實體(BusinessEntity)-33-建模指南南:模型型的組織織利用“包包”組織織模型用例視圖圖中“業(yè)務用用例模型型”每個業(yè)務務用例的的”狀態(tài)/活動模型型”邏輯視圖圖中“業(yè)務對對象模型型”-34-建模指南南:使用用構造型型業(yè)務用例例模型是是在UML的用例模模型(用例圖)基礎上添添加構造造型來實實現的業(yè)務對象象模型是是在UML的對象模模型(類圖)基礎上添添加構造造型來實實現的利用已有有元素添添加構造造型Rose直接支持持這些構構造型-35-業(yè)務建模模實踐::實例分分析研究對象象:某旅旅店業(yè)務現狀狀:某旅店可可對外開開放50個雙人間間和20個單人間間,房間間費用視視情況按按季節(jié)調調整,但但周一到到周五提提供半價價(周末末全價))折扣旅客可以以直接入入住房間間(如果有空空房),也可提提前預訂訂;入住住和預訂訂都需要要登記個個人信息息旅客提前前預訂房房間時,,需提交交一定的的訂金;;入住時時間24小時之外外的旅客客可以取取消預訂訂,并退退回所有有訂金,,24小時以內內則不退退還訂金金退房時繳繳納全部部的住宿宿費用服務員每每月為經經理提供供房間的的預訂情情況和入入住情況況的詳細細信息-36-實例分分析::業(yè)務務用例例模型型旅店的的本質質就是是為旅旅客提提供住住宿服服務,,其它它的只只是為為達到到這個個目標標而采采用的的手段段(用例觀觀點::把業(yè)業(yè)務看看成對對外提提供價價值的的價值值流)-37-實例分分析::旅客客住宿宿業(yè)務務流程程-38-實例分分析::檢查查業(yè)務務用例例模型型該業(yè)務務用例例模型型體現現了整整個旅旅店的的業(yè)務務需求求嗎??如何考考慮這這項業(yè)業(yè)務::服務務員每每月為為經理理提供供房間間的預預訂情情況和和入住住情況況的詳詳細信信息??經理是是什么么,如如何體體現在在業(yè)務務建模模過程程中??是業(yè)務務參與與者還還是業(yè)業(yè)務工工人??體現現怎樣樣的業(yè)業(yè)務本本質的的差異異?-39-實例分分析::業(yè)務務對象象模型型-40-從業(yè)務務模型型到系系統(tǒng)模模型對于軟軟件開開發(fā)而而言,,業(yè)務務建模模只是是輔助助環(huán)節(jié)節(jié),并并不是是最終終目標標軟件工工程師師最終終目標標是要要構造造軟件件系統(tǒng)統(tǒng)業(yè)務建建模則則是一一種定定義系系統(tǒng)模模型的的輔助助手段段從業(yè)務務模型型到系系統(tǒng)模模型業(yè)務模模型描描述了了目前前的業(yè)業(yè)務現現狀系統(tǒng)模模型才才是軟軟件開開發(fā)的的最終終工件件-41-業(yè)務模模型為為系統(tǒng)統(tǒng)模型型提供供素材材為用例例視圖圖和邏邏輯視視圖提提供輸輸入對于每每個將將被系系統(tǒng)實實現的的業(yè)務務用例例,在在用例例視圖圖中確確定一一個系系統(tǒng)用用例或或用例例包((或單單獨的的子系系統(tǒng)))來實實現該該業(yè)務務為需要要支持持自動動化業(yè)業(yè)務確確定相相應的的用例例對于業(yè)業(yè)務對對象模模型中中的業(yè)業(yè)務實實體,,可以以在系系統(tǒng)模模型中中定義義對應應的實實體類類為系統(tǒng)統(tǒng)構架架提供供一些些重要要的構構架機機制在軟件件構架架中定定義專專用層層來實實現復復雜的的業(yè)務務邏輯輯-42-業(yè)務模模型映映射到到系統(tǒng)統(tǒng)模型型從業(yè)務改改進點點入手,,結合合系統(tǒng)統(tǒng)遠景,可以以幫助助獲取取系統(tǒng)統(tǒng)模型型可能的的對應應關系系(并非一一一對對應)業(yè)務用用例系統(tǒng)(子系統(tǒng)統(tǒng))業(yè)務參參與者者系統(tǒng)參參與者者業(yè)務工工人系統(tǒng)參參與者者業(yè)務工工人的的操作作(活動)系統(tǒng)用用例業(yè)務實實體實體類類用例建建模UseCaseModeling-44-內容安安排理解需需求從業(yè)務務模型型獲取取需求求建立用用例模模型編寫用用例文文檔重構用用例模模型其它問問題-45-內容安安排理解需需求從業(yè)務務模型型獲取取需求求建立用用例模模型編寫用用例文文檔重構用用例模模型其它問問題-46-需求——建造造“正正確””的系系統(tǒng)需求::客戶戶可接接受的的、系系統(tǒng)必必須滿滿足的的條件件或具具備的的能力力RUP中的FURPS+軟件質質量準準則功能性性(Functionality)使用性性(Usability)可靠性性(Reliability)性能((Performance)可支持持性((Supportability)+非功能能性需需求需求工工程的的主要要活動動定義需需求理解用用戶的的需要要,建建立用用戶可可理解解的系系統(tǒng)需需求模模型分分析需需求根據需需求模模型,,建立立開發(fā)發(fā)者無無二義義性解解釋的的分析析模型型需求管管理-47--48-需求難難在何何處::石頭頭問題題我要一一塊石石頭……差不多多,但但我要要小一一點的的…很好,,不過過我要要藍色色的……啊,沒沒有那那么小小…咳,還還是原原來那那個好好了……小一點點的藍藍色大大理石石難捕獲獲,易易變??!-49-需求::也需需要開開發(fā)客戶/用戶的的要求求/想法/期望軟件設設計軟件產產品開發(fā)編碼和和測試試驗收有價值值的軟軟件件需求求分析和和設計計-50-需求問題::對策難捕獲易變從用戶視角角看問題合理的結構構用例-51-內容安排理解需求從業(yè)務模型型獲取需求求用例建模流流程獲取原始需需求構建初始用用例模型編寫用例文文檔重構用例模模型-52-從業(yè)務模型型獲取需求求有業(yè)務模型型從業(yè)務用例例模型中尋尋找系統(tǒng)改改進點結合系統(tǒng)遠景,獲取系統(tǒng)統(tǒng)用例來表表達需求采用需求啟啟發(fā)技術,,從涉眾獲獲得-53-從業(yè)務模型型獲取需求求從業(yè)務用例例模型中獲獲取系統(tǒng)需需求,來構構建系統(tǒng)用用例模型1.尋找業(yè)務改改進點2.定義項目遠遠景3.導出系統(tǒng)需需求-54-1.業(yè)務務改進點業(yè)務模型描描述業(yè)務現現狀,這些些現狀:有些可能一一直運轉的的很好,不不需要改進進,也就沒沒有必要作作為軟件需需求來由系系統(tǒng)實現而另外可能能更多的業(yè)業(yè)務在運轉轉過程中存存在這樣或或那樣的問問題,這些些問題就成成為業(yè)務待待改進的改改進點,也也就很可能能作為軟件件需求而存存在-55-尋找業(yè)務改改進點從業(yè)務流程程中獲取改改進點的思思路:信息的自動動流轉演繹復雜業(yè)業(yè)務邏輯訪問和操作作業(yè)務對象象自動工作……-56-2.遠景景(Vision)系統(tǒng)改進點點不等同于于軟件需求求用戶根據自自身的工作作特點和支支付能力決決定哪些應應該改進,,哪些不需需要改進這就是用戶戶的遠景,,它表明用用戶改進的的目標,這這也將成為為項目的目目標業(yè)務模型描描述了“現現實是什么么”,遠景景則描述““希望的改改進”遠景表達了了“為什么么要開發(fā)這這個系統(tǒng)””在業(yè)務現狀狀(業(yè)務模型)下,開發(fā)系系統(tǒng)是為了了達到什么么目標?-57-定義項目遠遠景遠景包含了了對待開發(fā)發(fā)系統(tǒng)的目目標和約束束代表了項目目涉及的所所有人之間間達成的第第一個共識識是項目核心心需求的概概覽為更詳細的的技術需求求提供了契契約性的依依據指導團隊實實現具體的的業(yè)務目標標遠景的作用用最初,根據據項目的遠遠景目標來來決定項目目是否值得得繼續(xù)在項目批準準后,團隊隊根據項目目遠景來指指導后續(xù)的的需求和設設計-58-遠景說明遠景可以作作為一個單單獨的文檔檔存在,而而這其中最最重要的部部分就是關關于遠景目目標的說明明,它建立立了一個項項目涉及的的所有人的的共同目標標遠景說明應應該是精確確、清晰和和激勵性的的描述,以以便激勵所所有的團隊隊成員為達達成該遠景景而努力。。一個好的的遠景應該該具有以下下五個特點點(SMART):具體的(Specific)可測量的((Measurable)可實現的((Achievable)相關的(Relevant)基于時間的的(Time-based)-59-3.導出出系統(tǒng)需求求從業(yè)務改進進點入手,,結合項目目遠景,導導出系統(tǒng)需需求:對于每一個個業(yè)務改進進點,明確確是否是為為了達到遠遠景目標的的需要如果是則作作為軟件需需求而存在在,并把相相應地模型型作為系統(tǒng)統(tǒng)模型如果不是則則不作為需需求而存在在,可能作作為一項潛潛在的需求求考慮,也也可能直接接拋棄-60-實例分析::旅店系統(tǒng)統(tǒng)開發(fā)背景景隨著旅店聲聲譽日益提提高,住宿宿人員越來來越多,旅旅客為了能能夠獲得好好的房間,,均提前預預訂房間然而,隨著著預訂的增增多、預訂訂周期的拉拉長,前臺臺服務員工工作壓力也也日益增大大,還經常常出現工作作的失誤,,使得已經經預訂好房房間的旅客客也不能按按期入住,,這給酒店店的聲譽帶帶來不好的的影響為此,旅店店老板想到到了計算機機,希望能能夠通過計計算機來自自動管理這這些預訂業(yè)業(yè)務,不過過由于目前前資金的問問題,目前前只開發(fā)一一個單機版版的系統(tǒng),,不提供網網上業(yè)務;;并且旅店店方面的其其它業(yè)務暫暫不考慮信信息化問題題旅店老板委委托某計算算機公司開開發(fā)該系統(tǒng)統(tǒng),并承諾諾如果系統(tǒng)統(tǒng)運轉良好好的話,將將會考慮進進一步合作作事宜-61-遠景:旅店店預訂系統(tǒng)統(tǒng)A很榮幸地成成為項目經經理,并被被要求在兩兩個月之內內發(fā)布該系系統(tǒng)的第一一個版本,,同時還被被要求要為為后續(xù)的開開發(fā)提供必必備的接口口結合現狀和和老板的要要求,考慮慮到的項目目可擴展的的要求,A首先進行了了簡單的業(yè)業(yè)務建模之后,A初步定義了了項目的遠遠景方便、快捷捷、準確地地為旅客預預訂房間旅客可以方方便的取消消預訂的房房間旅店經理能能夠定期的的獲取預訂訂的信息,,根據這些些信息可以以及時調整整房間的價價格及時、快速速地計算房房間費用、、預訂費用用、取消預預訂后退款款金額等信信息?預留接口::可以為以以后的網絡絡版,以及及其它業(yè)務務系統(tǒng)的開開發(fā)提供支支持-62-結合遠景,,獲取系統(tǒng)統(tǒng)需求-63-業(yè)務模型映映射到系統(tǒng)統(tǒng)模型思路路從業(yè)務改進點點入手,結合合系統(tǒng)遠景,可以幫助助獲取系統(tǒng)統(tǒng)模型可能的對應應關系(并非一一對對應)業(yè)務用例系統(tǒng)(子系統(tǒng))業(yè)務參與者者系統(tǒng)參與者者業(yè)務工人系統(tǒng)參與者者業(yè)務工人的的操作(活動)系統(tǒng)用例業(yè)務實體實體類-64-內容安排理解需求從業(yè)務模型型獲取需求求建立用例模模型編寫用例文文檔重構用例模模型其它問題-65-1.需求從從何而來需求只能來來自涉眾(stakeholders)最終用戶、、客戶政府、法律律、文化開發(fā)人員、、管理人員員競爭對手…但并不是直直接從涉眾眾中來你們的需求求是什么??-66-涉眾無法直直接提供需需求涉眾無法陳陳述自己的的需要涉眾說的是是解決方案案而不是需需求涉眾難以構構想新的工工作方法涉眾的利益益矛盾涉眾抵制變變更“最好也要要有”—過過度的要求求需求引發(fā)需需求-67-需求啟發(fā)技技術需求工程師師利用需求求啟發(fā)技術術,從涉眾眾中發(fā)掘需需求收集資料現場觀察訪談開會原型問卷調查…-68-2識別參參與者(Actor)識別參與者者關鍵詞:邊界參與者:在在系統(tǒng)之外,透過系統(tǒng)邊界與系統(tǒng)進行行有意義交互互的任何事物-69-參與者要點點分析系統(tǒng)外參與者不是是系統(tǒng)的一一部分,處處于系統(tǒng)的的外部系統(tǒng)邊界參與者透過過系統(tǒng)邊界界直接與系統(tǒng)交互互,參與者者的確定代代表系統(tǒng)邊界的確定系統(tǒng)角色參與者與使使用系統(tǒng)的的物理人和和職務沒有有關系需要從參與與系統(tǒng)的角角色(作用)來尋找參與與者與系統(tǒng)進行行信息交互互系統(tǒng)需要關關注其交互互過程,即即系統(tǒng)職責責任何事物人、外系統(tǒng)統(tǒng)、外部因因素、時間間-70-要點:與系系統(tǒng)進行信信息交互-71-要點:任何何事物-72-任何事物::小人與圣圣小豬-1-73-小人與圣小小豬-2眾所周知,,用例圖中中的參與者者用一個小小人表示。。但是這個個小人具有有一定的誤誤導性,往往往讓初學學者(包括客戶)理解為一個個真實的人人。大多數數UML學習者都要要花好長一一段時間來來搞明白小小人其實不不一定代表表的是人,,而是很抽抽象的系統(tǒng)統(tǒng)不可控的的外部因素素,比如說說另一個系系統(tǒng)。那么么為什么不不干脆用其其它的符號號來表示參參與者呢??如果我開發(fā)發(fā)一個豬圈圈自動供食食供水系統(tǒng)統(tǒng),豬的前前蹄觸發(fā)一一個開關系系統(tǒng)就供食食或供水。。顯然,這這里的參與與者是小小豬。那么么在用例圖圖里用小豬豬代替原來來的小人不不是更易于于交流嗎??-74-思考:參與與者與系統(tǒng)統(tǒng)邊界?某企業(yè)要求求開發(fā)一個個企業(yè)信息息管理系統(tǒng)統(tǒng),并與原原來已有的的庫存系統(tǒng)統(tǒng)相連接某企業(yè)要求求開發(fā)一個個企業(yè)信息息管理系統(tǒng)統(tǒng),并把原原來已有的的庫存管理理系統(tǒng)加以以改造,成成為企業(yè)信信息管理系系統(tǒng)的一部部分-75-識別參與者者的思路可以從以下下要點來識識別參與者者系統(tǒng)在哪些些部門使用用誰向系統(tǒng)提提供信息、、使用和刪刪除信息。。誰與系統(tǒng)的的需求有關關聯(lián)誰使用系統(tǒng)統(tǒng)的功能((用例)誰對系統(tǒng)進進行維護與外部系統(tǒng)統(tǒng)是否有關關聯(lián)時間參與者者:一種習習慣用法,,用于激活活那些系統(tǒng)統(tǒng)定期的、、自動執(zhí)行行的用例-76-參與者的命命名對參與者賦賦予能更好好地表達其其角色(作用)的名稱不好的參與與者命名的的例子:用用職務名稱稱和個人姓姓名來命名名例如,張三三、老李、、校長、科科長…若使用系統(tǒng)統(tǒng)的人(職職務名稱))變化的話話,就不是是參與者了了好的參與者者命名的例例子:用能能知道其角角色的名稱稱來命名例如,學生生、訂單管管理員、維維護部門…即使使用系系統(tǒng)的人改改變,從系系統(tǒng)來看,,使用者的的角色(作作用)是相相同的。-77-參與者之間間的關系::泛化參與者可以以通過泛化關系來定義,在在這種泛化化關系中,,一個參與與者的抽象象描述可以以被一個或或多個具體體的參與者者所共享如系統(tǒng)中經經理可以參參加雇員的的所有用例例-78-參與者地位位識別用例之之前—重要有助于識別別用例,寧寧多勿少開始書寫用用例文檔以以后—不重要涉及的參與與者太多測試和部署署階段—重要需要從參與與者的角度度考慮-79-3識別用用例關鍵詞:價價值定義用例實例是是系統(tǒng)執(zhí)行的一系列動作作,這些動作作將生成特特定參與者可觀觀測的結果值一個用例定定義一組用例實實例(場景景)簡潔:參與與者使用系統(tǒng)達到某個目目標-80-用例要點可觀測→用例止于系系統(tǒng)邊界結果值→用例是有意意義的目標標系統(tǒng)執(zhí)行→結果值由系系統(tǒng)生成由參與者觀觀測→業(yè)務語言、、用戶觀點點一組用例實實例→用例的粒度度-81-要點:有意意義的目標標-82-要點:結果果值由系統(tǒng)統(tǒng)生成系統(tǒng)需要處處理的,由由系統(tǒng)生成成-83-要點:用戶戶觀點而非非系統(tǒng)觀點點用戶觀點系統(tǒng)觀點-84-用例的命名名參與者視角角:(狀語)動動詞+(定語+)賓語-85-要點:用例例粒度-1用例是一組組用例實例例的抽象;;其內部要要有路徑,,路徑要有有步驟最常犯錯誤誤:粒度過過細,陷入入功能分解解通過執(zhí)行用用例,參與與者完成想想做的事情情(最終的目的的),并為參與與者產生價價值過細的粒度度,一般都都會導致技技術語言的的描述,而而不再是業(yè)業(yè)務語言-86-用例粒度-2把步驟當用例例把系統(tǒng)活動當當用例-87-用例粒度-3“四輪馬車””C(Create)R(Read)

U(Update)

D(Delete)所有業(yè)務最終終對會成為CRUD?CRUD能為Actor提供價值?CRUD掩蓋業(yè)務,銳變成關系數數據庫的建模模:“系統(tǒng)就是數數據的增刪改改查”關心數據的存存儲和維護,,反而忽略了了用戶的目的的-88-用例粒度-4如果確實是CRUD?如果CRUD不涉及復雜的的交互,一個個用例“管理理××”即可不管是C、R、U、D,都是為了完完成“管理””目標甚至很多種的的基本數據管管理都可以用用一個用例表表示-89-用例粒度-5靈活處理CRUD可以把包含復復雜交互的路路徑獨立出去去形成用例-90-找出用例的思思路用例要考慮如如下要點來尋尋找。參與者的工作作是什么參與者的角色色(作用)是什么參與者是否生生成、參照、、刪除系統(tǒng)信信息參與者是否需需要把外部變變更通知給系系統(tǒng)系統(tǒng)是否需要要把內部事情情通知給參與與者是否存在進行行系統(tǒng)維護的的用例用例數量的參參考基準1個系統(tǒng)中存在在十幾個用例例(或更少)1個用例中有多多個用例實例例(場景)-91-UML2.4中的常見的的14種圖UML2.4-圖Diagrams類圖ClassDiagrams對象圖ObjectDiagrams構件圖ComponentDiagrams部署圖DeploymentDiagrams用例圖UseCaseDiagrams順序圖SequenceDiagrams通信圖CommunicationDiagrams狀態(tài)機圖StateMachineDiagrams活動圖ActivityDiagrams靜態(tài)模型(系統(tǒng)結構)動態(tài)模型(系統(tǒng)行為)包圖PackageDiagrams組合結構圖CompositeStructureDiagrams時間圖TimingDiagrams交互縱覽圖InteractionOverviewDiagrams外廓圖ProfileDiagrams畫用例圖的基基本元素附錄2-1.UML元元語-94-用例圖元語返回用例圖-95-活動圖元語返回活動圖-96-類圖、對象圖圖、包圖元語語返回靜態(tài)結構構圖組合結構圖元元語-97-返回組合結構構圖-98-順序圖元語返回順序圖-99-通信圖元語返回通信圖-100-交互縱覽圖元元語返回交互縱覽覽圖時間圖元語-101-返回時間圖-102-狀態(tài)機圖元語語返回狀態(tài)機圖圖-103-構件圖元語返回構件圖-104-部署圖元語返回部署圖-105-外廓圖返回外廓圖-106-4構建用例例圖用例圖:表達達參與者與用用例關系圖形形-107-內容安排從業(yè)務模型獲獲取需求建立用例模型型編寫用例文檔檔重構用例模型型其它問題-108-撰寫用例文檔檔用例文檔:更更進一步的精精度需求規(guī)格說明明書的核心,,而用例圖作作為用例文檔檔的索引圖進一步的精度度:有層次的文檔文檔中每一句句話都有其價價值用例圖是骨架架,而用例文文檔則是其內內在的肉-109-用例文檔的組組成用例標識(UC)、名稱、描述述涉及的參與者者、涉及的用用例涉眾利益前置條件、后后置條件事件流基本路徑備選路徑補充約束字段列表、業(yè)業(yè)務規(guī)則非功能需求、、設計約束待解決問題相關圖(用例圖、活動動圖、類圖)用例文檔參考考模板用例名用例名稱,與用例圖中的名稱保持一致簡要描述用簡單的幾句話說明用例本身以及使用它的原因參與者與該用例相關的參與者,應與用例圖保持一致涉眾與該用例相關的其他用戶或部門,該用例的執(zhí)行會對這些用戶產生影響相關用例與該用例存在關系的用例,對于不同的關系可采用不同的表示方式前置條件執(zhí)行該用例之前必須滿足的條件后置條件在該用例執(zhí)行之后,系統(tǒng)所達到的狀態(tài)基本事件流描述用例在最通常情況下所發(fā)生的事件流的執(zhí)行步驟,采用編號的方式表示發(fā)生的先后順序;對于復雜的事件流還可以采用子流的方式分解為多個事件流進行表述備選事件流描述用例基本流程可能出現的分支事件或異常事件補充約束描述與該用例相關的約束,包括數據需求、業(yè)務規(guī)則、非功能需求、設計約束等待解決問題說明該用例日前還未明確的相關問題相關圖與該用例相關的其他圖形,可以是標準的UML圖,如活動圖、類圖等,也可以是其他格式的圖形。-111-尋找涉眾的思思路區(qū)分涉眾與參參與者涉眾是與當前前用例存在利利益關系的人人或組織參與者是啟動動或參與用例例執(zhí)行過程的的人或外部事事物可能的涉眾有有:當事人上游下游操作對象的主主人…-112-前置、后置條條件前置條件約束束在用例開始始前系統(tǒng)的狀狀態(tài)作為用例的入入口限制,它它阻止參與者者觸發(fā)該用例例直到滿足所所有條件說明在用例觸觸發(fā)之前什么么必須為真后置條件約束束用例執(zhí)行后后系統(tǒng)的狀態(tài)態(tài)用例執(zhí)行后什什么必須為真真對于存在各種種分支事件流流的用例,則則可以指定多多個后置條件件把用例看作是是參與者與系系統(tǒng)交互的流流程,前置條條件和后置條條件則是這個個流程的入口口和出口狀態(tài)態(tài)。如圖直線箭頭表示示基本事件流流,曲線箭頭頭代表各種備備選事件流,,注意前置條條件和后置條條件所處位置置-113-定義前置、后后置條件前置、后置條條件必須是系系統(tǒng)能檢測到到的前置條件必須須是系統(tǒng)在用用例開始前就就能檢測到的的-114-應用前置、后后置條件某些用例依賴賴于其他用例例一個用例在離離開系統(tǒng)時,,可能是另一一個用例的前前置條件(例例如:“登錄錄”和“管理理系統(tǒng)”)有助于識別漏漏掉的用例如果一個用例例的前置條件件不能有執(zhí)行行其他用例滿滿足,可能意意味著丟失了了用例(例如如:“管理訂訂單”卻沒有有“登錄”用用例)-115-事件流描述-用例交互四四部曲1.動作4.響應2.驗證3.處理系統(tǒng)重點寫:1和4(可觀測的、、體現客戶利利益的文字))用例的核心內內容就是參與與者和系統(tǒng)交交互的過程,,這個交互過過程在用例文文檔中采用事事件流的方式式進行完整的的表示。如圖圖-116-事件流描述要要點事件件流流描描述述要要使使用用戶戶和和開開發(fā)發(fā)人人員員互互相相理理解解用用例例的的功功能能,,要要注注意意以以下下幾幾點點::使用用業(yè)業(yè)務務語語言言::使使用用用用戶戶平平時時所所使使用用的的語語言言進進行行描描述述要明明確確參參與與者者與與系系統(tǒng)統(tǒng)所所交交互互的的信信息息不使使用用[例如如]、[等]這樣樣的的不不清清晰晰的的表表達達不要要過過多多地地考考慮慮界界面面細細節(jié)節(jié)不要要描描述述計計算算機機內內部部的的處處理理,,要要描描述述從從系系統(tǒng)統(tǒng)外外部部所所看看到到的的活活動動除了了基基本本流流程程,,還還要要描描述述替替代代流流程程要明明確確描描述述用用例例的的開開始始和和結結束束-117-例1::使使用用業(yè)業(yè)務務語語言言技術術語語言言::無無法法與與用用戶戶溝溝通通系統(tǒng)統(tǒng)通通過過JDBC建立立數數據據庫庫連連接接,,傳傳送送SQL查詢詢語語句句,,從從““商商品品表表””查查詢詢商商品品的的詳詳細細信信息息…業(yè)務務語語言言(用戶戶語語言言)系統(tǒng)統(tǒng)按按照照查查詢詢條條件件搜搜索索商商品品的的詳詳細細信信息息-118-例2:描描述述參參與與者者與與系系統(tǒng)統(tǒng)交交互互過過程程以參與與者者或系系統(tǒng)統(tǒng)作作為為主主語語描描述述參與與者者………系統(tǒng)統(tǒng)………示例例出納納員員接接收收顧顧客客的的付付款款—顧客客的的付付款款數數可可能能高高于于商商品品總總額額出納納員員錄錄入入顧顧客客所所付付的的現現金金總總額額系統(tǒng)統(tǒng)顯顯示示出出應應找找還還給給顧顧客客的的余余額額,,打打印印付付款款收收據據-119-例3:不不細細化化界界面面細細節(jié)節(jié)過細細的的界面面細細節(jié)節(jié)描述述會員員從從下下拉拉框框中中選選擇擇類類別別會員員在在相相應應文文本本框框中中輸輸入入查查詢詢條條件件會員員點點擊擊““確確定定””按按鈕鈕-120-例4::分分支支和和循循環(huán)環(huán)的的描描述述分支支::放放到到備備選選路路徑徑中中參與與者者的的選選擇擇另一一條條成成功功線線路路系統(tǒng)統(tǒng)進進行行驗驗證證………循環(huán)環(huán)::直直接接描描述述-121-用例例文文檔檔中中的的補補充充約約束束用例例重重點點在在于于描描述述功功能能需需求求,,而而其其它它方方面面的的補補充充約約束束采采用用兩兩種種處處理理策策略略::與特特定定用用例例相相關關的的補補充充約約束束,,作作為為該該用用例例文文檔檔中中一一部部分分來來描描述述一些些全全局局性性的的補補充充約約束束,,單單獨獨形形成成一一份份獨獨立立的的文文檔檔,,如如““補補充充需需求求規(guī)規(guī)約約””文文檔檔補充充約約束束字段段列列表表業(yè)務務規(guī)規(guī)則則非功功能能需需求求設計計約約束束-122-實例例分分析析::撰撰寫寫用用例例文文檔檔用例例文文檔檔參參考考模模板板旅店店預預訂訂系系統(tǒng)統(tǒng)用用例例文文檔檔“UC01-預訂訂房房間間””用用例例文文檔檔-123-內容容安安排排從業(yè)務模模型獲取取需求建立用例例模型編寫用例例文檔重構用例例模型其它問題題重構用例例模型對于一些些復雜的的系統(tǒng),,用例可可能很多多,所以以可以利利用用例例建模高高級技術術重構用用例模型型用例關系系通過用例例關系將將復雜的的用例進進行適當當的分解解,以便便于提高高需求的的復用性性和可擴擴展性等等,從而而使用例例模型的的結構更更合理用例分級級可以根據據用例的的重要程程度進行行分級,,以便后后續(xù)迭代代計劃的的制定,,高級別別的用例例優(yōu)先考考慮用例分包包將相關的的用例打打包,通通過分包包的方式式可以將將用例圖圖分層表表示,以以用于大大規(guī)模系系統(tǒng)的用用例建模模-124--125-用例關系系<<include>><<extend>>擴展包含泛化-126-通過關系系整理文文檔Extend(擴展)通過擴展展用例對對基用例例增加附附加的行行為Include(包含)基用例中中復用被被包含用用例的行行為提取公共共步驟,,便于復復用Generalization(泛化)派生用例例繼承泛泛化用例例的行為為并添加加新行為為-127-用例關系系:擴展展擴展:某某個用例例在特定定情況下下,包含含其他用用例(擴展用例例)的行為,,表示功功能被擴擴展擴展使用用帶有<<extend>>的虛線表表示。此此時,箭箭頭由擴擴展的用用例指向向原用例例,通過過擴展點點指明在在原用例例中的擴擴展位置置-128-用例關系系:包含含包含:表表示某個個用例中中包含了了其他用用例的行行為包含用帶帶有<<include>>的虛線來來表示。。此時,,箭頭由由原有的的用例指指向被包包含部分分的用例例-129-擴展VS.包包含-1包含:由由用例A連向用例例B,表示用用例A中使用了了用例B中的行為為或功能能包含關系系的提出出一般是是基于用用例行為為復用的的考慮,,這也意意味著被被包含的的用例往往往被多多個基用用例引用用擴展:由由用例B連向用例例A,表示用用例A描述了一一項基本本需求,,而用例例B則描述了了該基本本需求的的特殊情情況,即即一種擴擴展擴展用例例的提出出是為了了將基用用例的一一些特殊殊情況分分離出來來,在保保持基用用例本身身相對完完整的情情況下((即一般般情況都都能處理理)來處處理這些些特殊行行為-130-用例關系系:泛化化泛化:表示子用用例繼承承了父用用例用例間的的泛化關關系表明明子用例例繼承父父用例中中定義的的所有屬屬性、行行為序列列和擴展展點,并并且參與與父用例例中所有有的關系系-131-用例分包包對用例進進行分包包讓用例圖圖能夠更更為清晰晰地表現現出系統(tǒng)統(tǒng)的業(yè)務務邏輯關關系和層層次對系統(tǒng)進進行模塊塊的分割割,這將將影響到到今后的的開發(fā)和和系統(tǒng)的的最終表表現形式式常見的分分包方式式按參與者者分包按主題分分包按開發(fā)團團隊分包包按發(fā)布情情況分包包先按主題題分包,,主題內內再按開開發(fā)團隊隊和發(fā)布布情況分分包-132-利用分包包機制組組織用例例模型-133-用例分級級用例和迭迭代開發(fā)發(fā)迭代開發(fā)發(fā)中開發(fā)發(fā)周期的的定義是是圍繞用用例來組組織的一個迭代代周期要要被指派派一個到到多個用用例,如如果完全全版本的的用例在在一個迭迭代周期期中處理理起來太太復雜的的話,那那就采用用簡化版版本的用用例迭代周期期迭代周期期迭代周期期用例A-簡化版本本用例A-完整版本本用例B用例C-134-用例分級級實施策策略-1可以使用用一個簡簡單的但但是有些些不精確確的分類類方法,,如將用用例劃分分成高、、中、低低三個等等級-135-用例分級級原則用例分級級的一個個基本原原則高級別用用例是那那些對系系統(tǒng)核心心架構影影響最大大的用例例提高用例例級別的的特性::a.對架構設設計有重重要影響響的用例例,如在在領域層層中增加加多個類類的用例例或者需需要持久久化的用用例b.不需要花花費很多多努力就就可以從從中獲得得重要信信息和線線索的那那些用例例c.含有開發(fā)發(fā)風險、、時間緊緊迫或功功能復雜雜的用例例d.涉及到重重要技術術研究或或者新技技術和高高風險的的用例e.代表主要要的在線線業(yè)務流流程的用用例f.能產生直直接經濟濟效益或或者降低低成本的的用例-136-用例分級級實施策策略-2依照上述述的影響響用例級級別的特特性給用用例打分分(特性性也可能能帶有權權值)-137-內容安排排從業(yè)務模模型獲取取需求建立用例例模型編寫用例文文檔重構用例模模型其它問題用例建模中中常見的問問題用例不是功功能分解用例圖不是是流程圖用例關系的的誤用-138--139-何時適用用用例建模用例是從參參與者角度度捕獲系統(tǒng)統(tǒng)功能,當當系統(tǒng)只有有一個或者者沒有參與與者時,顯顯然不是非非常有效的的用例捕獲功功能需求,,因此對于于系統(tǒng)的非非功能需求求不是有效效當遇到下述述情況時,,用例是需需求捕獲的的最好選擇擇系統(tǒng)由功能能需求所主主導系統(tǒng)具有很很多類型的的用戶,系系統(tǒng)對他們們提供不同同的功能系統(tǒng)具有很很多接口當遇到下述述情況時,,用例是一一個糟糕的的選擇:系統(tǒng)由非功功能需求所所主導(如如:google)系統(tǒng)具有很很少的用戶戶系統(tǒng)具有很很少的接口口(非內部部功能)如:嵌入式式系統(tǒng)、算算法復雜但但接口少的的系統(tǒng)等謝謝1月-2304:03:3904:0304:031月-231月-2304:0304:0304:03:391月-231月-2304:03:392023/1/54:03:399、靜靜夜夜四四無無鄰鄰,,荒荒居居舊舊業(yè)業(yè)貧貧。。。。1月月-231月月-23Thursday,January5,202310、雨中黃黃葉樹,,燈下白白頭人。。。04:03:3904:03:3904:031/5/20234:03:39A

溫馨提示

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

評論

0/150

提交評論