2.2 UML用例模型


參與者(Actor)

參與者(注:有另一種翻譯“執行者”)
  代表位於系統之外並和系統進行交互的一類事物(人、物、其他軟件子系統等)
  通過它,可以對軟件系統與外界發生的交互進行分析和描述
  通過它,可以了解客戶希望軟件系統提供哪些功能
Actor的圖形表示
  參與者是人,用“小人圖”
  參與者是某個系統時用方框圖,構造型 《actor》

 

根據下面的問題來尋找系統的參與者
  ① 誰使用系統?Who or what uses the system
  ② 誰安裝系統、維護系統?Who installs the system? Who maintains the system
  ③ 誰啟動系統、關閉系統?Who starts and stops the system
  ④ 誰從系統中獲取信息,誰提供信息給系統?Who gets and provides information to the system
  ⑤ 在系統交互中,誰扮演了什么角色?What roles do they play in the interaction
  ⑥ 系統會與哪些其他系統相關聯?What other systems interact with this system
  ⑺ 內/外部定時器 Does anything happen at a fixed time?
對每一類參與者要有簡短描述
  如, 學生:需要參加培養計划規定的課程,並通過考核

 

 

例子

手機軟件系統的Actor有

  用戶

  網絡
  SIM卡
學院管理系統的Actor有
  用戶/學生/教師/系統管理員
  數據庫
  如果有子系統
  其它系統可以作為一個Actor
  有時數據庫可以作為一個Actor
銀行ATM機的Actor有
  用戶/管理員
  網絡 / 數據庫

 

用例
  系統為響應參與者引發的一個事件而執行的一系列的處理/動作,而這些處理應該為參與者產生一種有價值的結果
  這些動作
    不但應包含正常情況的各種動作序列
    而且應包含對非正常情況時軟件系統的動作序列的描述,Exception / Alternate
用例圖
  邊界
  參與者
  用例
  關系

 

尋找用例

  可以根據下面的一些問題來識別用例
    ①參與者希望系統提供什么功能 Start with actors, then identify what they want to do What functions will the actor want from the system ?
    ②系統是否存儲和檢索信息
    ③當系統改變狀態時,是否通知參與者 Are any actors notified when the system changes ?
    ④是否存在影響系統的外部事件,是哪個參與者通知系統這些外部事件 Are there external events that notify the system ?
    ⑤哪個參與者觸發了活動?Which actors trigger activity ?
  每個用例都有一個名稱
    短小精悍的“動名詞”
    例如ATM系統,經典的用例有“取錢” “存錢”“修改密碼”等

用例圖中的關系
  1)參與者與用例之間
    關聯關系: 用實線表示
  2)參與者/參與者之間的關系
    泛化關系:實線+空心箭頭
  3)用例之間的關系
    泛化關系 例如、發出訂單 - 網上發出訂單
    含關系《include》
    擴展關系《extend》

 

 用例描述UseCase description

  僅有用例圖還不夠,還需要詳盡的文字描述!

    主事件流:一切正常時的動作序列
    異常事件或者可選事件流:主事件流的每一步都有可能出現異常,此處描述異常情況的處理

用例模型 Usecase Model
  用例模型包括
    系統邊界
    參與者
    用例
    用例圖
    用例描述
  用例模型是系統分析的結果、是系統設計的輸入

案例

用例描述

  用例:處理銷售

  Summary : 完成一筆日常銷售業務的處理
  Actor List : 顧客、收銀員、財務子系統、稅金計算器
  Pre-Cond : 收銀員必須經過確認和認證
  Description :
    1)顧客攜帶所購商品或服務到收銀台通過POS機付款
    2)收銀員開始一次新的銷售交易
    3)收銀員輸入商品條碼
    4)系統記錄出售的商品,顯示品名、價格、數量
    重復第3~4步,直到輸入結束
    5)系統顯示應付總額
    6)顧客付錢,系統處理支付
    7)系統記錄完整的銷售信息,打印票據
    8)顧客攜帶商品和票據離開,銷售結束
  Exception :
    3a : 無效商品ID,收銀員手工輸入,或者取消該商品
    3b : 顧客要求刪除某項已經輸入的商品,需要經理授權,並刪除商品
    6a : 顧客信用卡不足部分,需要現金支付,請經理授權,並接受現金
  …….
  PostCond :

    系統完整記錄該筆銷售業務的信息
    系統正確協同其他子系統,確保數據一致性

 

用例模型小結
  用例模型
    是軟件開發人員分析客戶業務流程的結果
    是面向對象分析的結果
      不一定完全是面向對象分析的結果
    是面向對象設計的輸入
    是開發部門與顧客之間的合同
    是軟件設計部門與軟件工程師之間的合同
    是開發部門領導、非直接開發人員,了解系統的主要信息來源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM