利用企業使用案例記錄企業流程

在系統開發的需求捕捉階段時,一般我們會利用活動圖(Activity Diagram)來記錄企業流程(Business Process)。
例如,範例圖一是利用活動圖來表達 "XX醫院" 的掛號就診流程(圖一僅為範例,並非是完整正確的就診業務流程)。

利用活動圖表達業務流程
圖一、利用活動圖表達業務流程

利用活動圖可以記錄詳細的業務流程,也可以看出哪些活動(Activity)是由哪些人或角色所負責的(利用 Partition 區分責任區塊)。

活動圖表達了企業內部的組織運作,但不容易表達出與該業務流程相關的外部主要參與者(Primary Actor),企業是如何滿足其目標。亦即,若想明確區分企業的 "內" 與 "外",我們可以利用 "企業使用案例圖(Business Use Case Diagram)" 來表達。

表達企業層次的使用案例圖(Business level UCD) ,有幾點要注意的:

  • 系統的設計範圍一般以企業、部門等組織為單位,而非單指軟體應用系統。
  • 會著重於描述企業內部的流程;而非系統功能面的行為描述。
  • 通常會以白箱式(Whie-box)的作法打開企業使用案例(Business Use case)內部,以瞭解內部工作者(internal worker)互動合作的流程。
  • 目標讀者(Target audience)會偏於企業決策層級的管理者、IT高階主管、系統開發的架構師(Architect)等,可以藉由企業層級的使用案例圖來辨別出組織的核心業務。
  • 可以協助從企業流程往技術層面來思考,以定義出適合採用新技術的業務流程。例如,有些人工作業流程,可以藉由電腦資訊化以增加作業效率與成本因素等考量。

閱讀全文 »

從鳥瞰的觀點看 Use Case Diagram

我個人一向主張寫 Use Case 的敘述之前,先畫使用案例圖(Use Case Diagram) 。原因在於我們可以從鳥瞰的視野綜觀系統的全貌:

  1. 可以利用套件(Package)界定系統的設計範圍(Boundary)。
  2. 避免過早涉及至細節(Detail)。

先說明,什麼是鳥瞰?

  • 從高處俯視低處。
  • 對事實情況作概略的觀察。

利用使用案例圖,可以協助我們從 "鳥瞰" 的視野來看系統的外觀,避免從系統的內部來看 Use Case (這是許多 Developer 常犯的毛病)。
同時,因為鳥瞰,所以,比較容易能看出系統的全貌、界定系統的範圍、區分系統的內與外(這很重要,如此才能知道什麼該作,什麼不需作)。還有,也比較容易看出使用案例的所表達的層次(level),如企業層級(Business level)、使用者目標層級(User-goal level)等。

寫使用案例若不知道系統的設計範圍,我很難相信 RA(Requirement Analyst)能寫得好 Use Case。
理由為何?若未能確定系統邊界,那麼,你如何能將系統視為一個黑箱(Black box)?你又如何能確認誰是使用系統的主要參與者(Primary Actor)?

而 Developer 常常以為很清楚系統範圍,但事實上系統範圍的界定在團隊成員之間往往會有見解上的落差。
例如,觀察下圖一,顧客至錄影帶店租片,很直覺地,我們發現有個 Use Case:租片 。

使用案例圖(沒有以Package界定範圍)
圖一、使用案例圖(沒有以Package界定範圍)

沒有畫出系統邊界,一般是常見於單一系統的開發,且系統的範圍很明確。但我們觀察圖一,試著問問團隊內部的開發成員們,她們所認知的系統是界定在那個範圍呢?
可能會以為,不就是要開發一個影片租借系統嗎?

閱讀全文 »

【2nd_UML系列講座(3/19】教材提供下載

這星期六(3/19)所舉辦的 2nd_UML系列講座,簡報教材已做成 pdf 格式提供下載,歡迎下載參考(參加本次講座的學員請自行列印教材,本次講座因人數眾多,不克列印書面教材,僅提供電子光碟檔)。

請至:http://www.hsdc.com.tw 【檔案下載區】下載檔案(.rar 壓縮,pdf格式)。

P.S. 請加入 HSDc 網站會員後始可有權限下載(註冊會員程序不到 30 秒即可完成註冊)。

本次的教材內容:

  • 【2nd-UML系列講座】UCD 的妙用
    • 為何要凸顯UCD?
    • UCD 的核心思維
    • UCD(Use Case Diagram)的價值
    • 從UCD能看到與不能看到什麼?
    • Use Case 的Realization
  • 【2nd_UML系列講座】使用UML Tool輔助實作use case
    • 實作Use Case的步驟
    • 從Model檔產生程式碼
    • 從程式碼轉成Model檔
    • 搭配程式開發環境(IDE Tool)的操作
    • 使用IDE Tool在實作程式前產出測試程式碼

{UML2.0} Component Diagram 簡單說明與範例

Component(元件) 圖:

  • 元件圖專注的焦點有二個:
    • 元件所提供的介面(Interface)。
    • 元件之間的相依性(Dependency)。
  • 與業界推導的規格,如 COM+、EJB …,並沒有直接的關連。
  • 元件,其本質其實就是物件!但最大的不同點在於:物件強調的是 “個體(Instance)” 的特徵及外在行為;而元件強調的是 “介面(Interface)” 的溝通。
  • 元件的單位有大有小:
    • 顆粒度細緻(fine-grained)的元件,會比較接近本質性(Essentiality)、單一性(Atomic)。所提供的介面是屬於高度穩定的。
      *** 領域物件(Domain Object),係源自於該領域所經常溝通的術語(terminology)。
    • 顆粒度粗糙(coarse-grained)的元件,也可稱之為聚合(Composite)元件,是基於完成某項功能或為提供服務而聚合了欲完成該功能或服務的多個 “Part” 組件來達成任務。其所提供的介面是較不穩定的(功能會基於需求而善變)。
      *** 模組(Module)、子系統(SubSystem)等,即為功能性的元件 — 基於服務或功能而形成的聚合元件。

UML 2.0 Component Diagram
(縮略圖,點擊圖片鏈接看原圖)

【UML2.0/EA 2nd 軟體設計系列講座 – **免費**】UCD and Code-generation

**報名請至:
http://www.hsdc.com.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=37&forum=9

  • 講座主題:UCD and Code-generation
  • 內容:
    1. UML 2.0 — Use Case Diagram 的妙用。
      — 界定系統範圍
      — 封裝的妙用
    2. UML Model 與程式碼的整合 — 說明及示範 UML 正反向工程
      — 利用 EA MDG LINK 與 Java Eclipse IDE 的整合
      — Model 的 Code-generation;Java Code re-engineer to Model

     

  • 時間:2005/3/19 (星期六) PM13:10 ~ PM 16:30
    (三小時的上課時間,並留半小時供學員提問)
     
  • 對象:對軟體設計有興趣者,包括在職軟體開發人員及相關資訊科系講師及學生等。 
  • 地點:台北市建國南路二段 231 號(和平東路口) / 六樓 601 教室 
  • 主辦單位:HSDc 軟體設計顧問團隊 
  • 協辦單位:中國文化大學推廣教育部 
  • 講師:賴信仁(Ringle Lai) and 王克明(Kenming Wang)
     
  • 報名方式(請選擇其中一種方式報名):
    1. 請於此本討論區回應留下報名資料 (不需註冊會員)。
    2. 請 email 給聯絡人,並留下報名資料。

    ** 報名資料請留下: **
    ——————–
    姓名:
    任職公司及職稱:
    Email:
    聯絡電話:
    ——————–

  • 承辦人:
    Steve Tsou(鄒順安), email: shunan.tsou@msa.hinet.net
    TEL: 02-27227179, FAX: 02-27234296
     
  • 備註:
    1. 本次講座預計開放 80 個名額,完全免費。(額滿即停止報名)
    2. 因環保因素,本次講座直接提供「講座教材及示範操作光碟」等。學員可自行列印講座教材。
軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal