{UML2.0} 分析 WebATM 的主要與次要參與者(Actor)

現在許多網路銀行均提供 WebATM 的功能,利用晶片金融卡為交易媒介,透過網際網路進行交易,而得以讓顧客於任何時刻使用 WebATM 所提供的銀行服務。

由於金融機構在發卡時,將可供金融機構辨識的安全資料放入卡片中,經由卡片的作業系統控管,無法透過任何方法將該部分的安全資料讀出,用任何設備均不能複製一張一模一樣的卡片,所以利用晶片金融卡作為交易媒介的WebATM具有很高的安全性。

上上個星期,有位學員,是實際撰寫某家銀行的 WebATM 系統。他希望能透過使用案例來紀錄需求。

在建立使用案例的模型時,系統範圍(System Boundary)很容易界定,即為 “WebATM” 系統。使用案例(Use Case)也挺容易捕捉的,只要觀察一般銀行 ATM 所提供的服務諸如 “轉帳”、”查詢餘額”、”變更密碼”、”查詢交易記錄”…等。

主要的參與者(Actor),”顧客(Customer)”,這也沒問題,支援性參與者(Supporting Actor),其中必然有一個 “Banking System”,因為 WebATM 系統必然會連至 Banking 系統以作轉帳服務。比較令人 Confuse 的是,晶片金融卡插入讀卡機後到底是否為 Actor?

讀卡機必然是輸、出入的裝置(Device),是屬於使用者介面。使用案例的敘述(Description)一般並不把特定的輸、出入裝置寫在敘述內容裡。例如,去租漫畫或影片時,店員利用 BarCode Reader 讀入條碼,但是,未來若有更佳的輸入裝置而取代現在的,那麼,使用案例的敘述就必須要隨之變動了。

但,學員挺堅持,幾年內輸入裝置是不會變的(其實,這也是許多實際案例中所碰到的),難道一定要堅持不把讀卡機寫入敘述內嗎?

我個人還是比較傾向不要寫在一般的使用案例敘述內,不過,解決方式事實上也非常簡單,只要在使用案例的 “參考資料” 欄位內,或是利用如 EA UML 工具,在 “Constraint” 欄位內,填入 “Key-Value”,如 “Input Device-USB2.0 晶片卡讀卡機” 就可以了。

使用者介面敘述的問題,這也還算好解決,不過,真正的問題是,晶片金融卡到底算不算是外部的系統而成為 WebATM 的 “Actor” 呢?

答案是 “Yes”,它確定是 Actor,是屬於支援性的參與者。

Why?思考 “支援性參與者” 的定義:它會提供服務給設計中的系統。

晶片金融卡具備記憶與運算功能,WebATM 可以透過呼叫晶片金融卡所提供的 APIs 來讀取或寫入資訊。例如,可以查詢晶片金融卡內所儲存的交易記錄;可以將欲變更的密碼寫入卡內;執行交易時由讀卡機將交易資料傳入晶片卡並取得唯一的一組交易驗證碼﹙Mac﹚或簽章﹙digital signature﹚,此交易驗證碼取代密碼傳回發卡銀行而取得此交易的授權,因此,密碼不會在網際網路上傳輸,也不會被破解。

結論是,要把讀卡機與晶片金融卡分開。讀卡機是輸、出入裝置(Device),並不能視為是外部系統;晶片金融卡因為有提供服務給 WebATM 系統,所以是屬於支援性參與者。

參考一個基本 WebATM 的使用案例圖如下。

WebATM 使用案例圖

【免費】8th_UML2.0/EA 軟體設計系列講座(9/24 13:10~17:00)

報名請至:
http://www.hsdc.com.tw/modules/eguide/event.php?eid=12

本次研討會訂於 星期六(9/24)舉辦。十月份因本團隊總裁 賴信仁 先生新婚(10/29)暨赴歐洲蜜月(三個星期),所以十月份的講座會暫停舉辦。

  • 講座主題:
    1. 軟體架構設計實作系列(一) — 陳明儀
      • 以認證授權模組為範例說明 Design Pattern 應用之優缺點及對系統生命週期之影響
    2. Hibernate 3 極限運動 -Part I — 101空降師中士 林志浩
      • 淺談 Analysis Pattern / Domain Model / Essential Object
      • 當 OO 遇上 RDB( Paradigm Mismatch / OR-Mapping )
      • ORM Framework 該提供些什麼服務
      • 從 “Proxy” Design Pattern 看 ORM
      • Hibernate 3 基礎入門
      • Think in Object? Think in Data?(Paradigm Shift ain’t no easy)
    3. 從整體架構看 Hibernate 的定位與設計 — 王克明
      • 利用 Hibernate 封裝 Database Schema
      • 設計 Persistent Object 封裝 Hibernate Frameword
      • Contorl, Domain, Persistent 三種類型物件的設計考量
      • 簡單範例-以 UML 表達以上三種類型物件的互動合作;以 Java 程式碼展示 Prototype 實做
  • 時間:2005/9/24 (星期六) PM13:10 ~ PM 17:00 (三小時的講座時間,並留半小時供學員提問) 
  • 對象:對軟體設計有興趣者,包括在職軟體開發人員及相關資訊科系講師及學生等。 
  • 地點:台北市建國南路二段 231 號(和平東路口) / 文化大學教育推廣部
  • 主辦單位:HSDc 軟體設計顧問團隊 
  • 協辦單位:中國文化大學推廣教育部 
  • 講師:王克明(Kenming Wang) and 客座講師陳明儀(Simon Chen)、空降師中士 林志浩(Tommy Lin)
  • 報名方式:請填寫報名活動內的表格內容,包括姓名、公司/職稱、聯絡電話、Email等。
  • 服務信箱與電話:Email: service.hsdc@gmail.com TEL: 02-27227179
  • 備註:
    1. 本次講座預計開放 90 個名額,完全免費。(額滿即停止報名)
    2. 因上課人數眾多,恕不直接提供列印教材。本次講座會直接提供「講座教材及示範操作光碟」等。學員可自行列印講座教材。

【7th_UML系列講座(8/21】教材提供下載

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

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

*** 若不刻前來欲索取講座光碟者,請參考: ***
http://www.hsdc.com.tw/modules/wfchannel/index.php?pagenum=7

講座時間:2005/8/21 (星期日) PM13:10 ~ PM 17:00 (3.5小時的講座時間,並留半小時供學員提問)

講座地點:台北市建國南路二段 231 號(和平東路口) / 文化大學教育推廣部

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

本次的教材內容 ...

1. 企業流程模式建構- 以JBoss jBpm為例 –賴信仁
 • BPM簡介
 • 利用BPM快速建構企業流程
 • UML與企業流程模型
 • jBpm與WfMC

2. The Shadow of architecture — Exception Handling — 陳明儀(PDF 格式)
 • Exception 是什麼?
 • Exception Architecture Design
 • Exception Handling Strategy

3. 淺論 MDA (Model Driven Architecture) –王克明
 • MDA Basic Concepts
 • MDA Process –PIMsand PSMs
 • MDA 轉換(Transform) 程序
 • 應用實例–利用EA 5.0 實現MDA 轉換

{UML2.0} MDA Process and Transformation

MDA Process — PIMs and PSMs

  1. 建構最高層次的抽象模型(abstract model)。該模型是獨立於各平台的實做技術,稱之為 PIMs (Platform Independent Models)。
  2. 轉換(Transform) PIM 至與平台相依的可被建構的實作模型,此一轉換過程需經過適當的裁適(tailor)。例如,可以將 PIM 轉換為資料庫的 E-R (Entity-Relationship)模型或者是 EJB (Enterprise Java Bean) 模型。與平台相依、可被具化的實作模型稱之為 PSMs (Platform Specific Models)。
  3. 轉換 PSMs 至程式碼 (Source Code)。

Model Tranformation

Model Tranformation

閱讀全文 »

{UML2.0} MDA(Model Driven Architecture) 簡單說明

What is MDA?

  • OMG 所制訂的規格,基於以模型驅動的架構設計(Model-Driven Architecture)模式。
  • 是一個框架(Framework),獨立於各作業系統平台,以模型(Model)作為建構系統的藍圖(Blueprint)。
  • 定義 UML 模型(Model)不僅是開發者之間互通的草稿(Draft)而已,更可以具體成為一種開發語言,經過轉換(Transform)的程序,可以轉成實際可執行的應用程式碼(ex. SQL、Java、.NET …)。

OMG MDA 規格制訂的善意

  • 確實分離企業(business)、應用程式(application)邏輯(logic)與系統平台的獨立性。
  • 以 OMG 的“塑模(Modeling)”規格為核心,來建基可獨立於各廠商所提供的平台技術之上的塑模技術,而不致企業應用邏輯因系統平台的變更而跟著變動。
  • 塑模的產出(Artifacts),可“具化”至現實任一實體平台,包括 J2EE, .NET 等。
  • MDA 規格,係由 UML, XMI(XML Metadata Interchange), MOF(MetaObject Facility), CWM(Common Warehouse Metamodel) 等規格所提供支援。

adopted from the OMG MDA Standard

“Extreme” MDA — MDA 的極致目標

設計工程圖經過轉換可以產出具體可執行的應用程式

【免費】7th_UML2.0/EA 軟體設計系列講座(8/21 13:00~17:00)

報名請至:
http://www.hsdc.com.tw/modules/eguide/event.php?eid=11

請各位報名學員注意喔,本次研討會改於星期日(8/21)舉辦。

  • 講座主題:
    1. 企業流程模式建構(Business Process Modeling)簡介 – 以JBoss jBpm為例
      — 賴信仁
      • BPM簡介
      • 利用BPM快速建構企業流程
      • 使用UML建構企業流程模型
      • jBpm與Wfmc 的關係
      • 實例介紹 – 利用jBpm快速建構J2EE程式
    2. The Shadow of Architecture – Exception Handling Design — 陳明儀
      • 例外處理的策略
      • 例外處理的流程
      • 例外處理的架構與軟體架構之相輔相乘
    3. 淺論 MDA(Model-driven Architecture) — 王克明
      • MDA Basic Concepts
      • 簡介 MDA Process
      • 簡介 MDA Transforms
      • 簡單範例-利用 EA5.0 實做 MDA Tranform
  • 時間:2005/8/21 (星期日) PM13:10 ~ PM 16:30 (三小時的講座時間,並留半小時供學員提問) 
  • 對象:對軟體設計有興趣者,包括在職軟體開發人員及相關資訊科系講師及學生等。 
  • 地點:台北市建國南路二段 231 號(和平東路口) / 文化大學教育推廣部
  • 主辦單位:HSDc 軟體設計顧問團隊 
  • 協辦單位:中國文化大學推廣教育部 
  • 講師:賴信仁(Ringle Lai) and 王克明(Kenming Wang) and 客座講師陳明儀(Simon Chen)
  • 報名方式:請填寫報名活動內的表格內容,包括姓名、公司/職稱、聯絡電話、Email等。
  • 服務信箱與電話:Email: service.hsdc@gmail.com TEL: 02-27227179
  • 備註:
    1. 本次講座預計開放 90 個名額,完全免費。(額滿即停止報名)
    2. 因上課人數眾多,恕不直接提供列印教材。本次講座會直接提供「講座教材及示範操作光碟」等。學員可自行列印講座教材。
軟體思維顧問

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

Personal