四色原型图进行业务建模的思考
一般的需求,我們利用用例圖就可以表達清楚了,如果再復雜些,我們可能還得再配合序列圖、狀態圖等加于說明。但是,在非常復雜的業務邏輯中,怎么樣才能找出它們的聯系?而且還能更好地擁抱OO(面向對象),OO的優點不是我們本文的話題。
這里筆者介紹一種很靈活很實用的分析方法--四色原型圖,也叫彩色UML。
(圖片引自JDON的BANQ大師之手)
四個元素的介紹:
moment-interval :
粉紅色的時刻—時段:一個時刻或一個時段,您需要追蹤它或做某事,通俗地說其實就是關鍵動詞,就是服務,很容易在這里面抽象出事物邏輯類。
例如:計算、補償、結算等。 mi-detail :通常,粉紅色的時刻時段會有一些組成部分,稱為mi-detail(時
刻時段明細),
role :
黃色的角色,角色不一定是人,這個很重要,可以理解為一些有行為的名詞。
catalog-entry-like description :
藍色的描述(類似產品的目錄項),可以在這里找出
值對象,持久化的對象。
party, place or thing :
綠色的參與方—地點—物品,可以從這里找出模型、實體。
總體總結:“時刻時段”發生了,“事物”們扮演不同的“角色”參與進來“事物”變化的規
律和“描述”有關。
主要參考了BANQ的:http://www.jdon.com/mda/archetypes.html
和yananay的:http://www.javaeye.com/topic/399672#1055483
下面說一下最近學習后用到項目中的一個例子:
1、一開始最主要的其實是找出最基本的原型MI,即紅色,這里的原型是住院補償。
2、然后慢慢找出與之相關的一些東西,計算住院補償是有一個公式的,圍繞著公式可以抽象出一些元素、比如總費用。
3、再涉及到的“非基本用藥費用”的時候又可以找出一個計算的MI,再圍繞MI繼續抽取,最終可以抽取出以上詳細的流程,也很符合面向對象的思維。
總結:類圖可能大家會認為沒能表達出狀態和時序等時間上的概念,但是四色原型其實是蘊含著時間狀態的,所以在設計分析復雜的業務的時候確實是一個好的工具,這里引用一下BANQ大師的另一個圖:
我個人看法,四色原型也不是萬能藥,但是在分析復雜業務的時候他確實很直觀,非常容易找出內在的一些需求,所以我個人認為在整個開發的過程中,四色原型用于復雜業務的分析非常有用。
個人寫作的水平和能力有限,這里權當拋磚引玉,希望大家對我存在的不足批評指正,謝謝。
以下附上我的部分分析文檔:
實體:
| 實體 | 描述 |
| 參合農民 | 新農合的主要參與者 |
| 病例清單 | 記錄了患者治療和用藥的情況 |
| 醫療證 | 醫療證 |
| 家庭 | 參加新農合的家庭 |
功能詳細說明:
| 功能序號 | 功能名稱 | 子功能名稱 | 功能描述 |
| MED_REC_MI_2 | 住院補償 | 參合患者基本信息 | §前置條件:參合患者個人編號 §最終結果:查詢參合患者個人信息、戶信息、醫療證信息。 參合患者基本信息,根據參合患者的個人編號,獲取其個人信息、戶信息和醫療證信息。 1)獲取“參合患者的個人”,根據“參合患者個人編號”讀取“農民個人基本數據D401”數據表。 2)獲取“戶信息”,根據“參合患者個人編號”讀取“家庭檔案數據D301”。 3)獲取“醫療證信息”,根據“參合患者個人編號”讀取“農民繳費及家庭帳戶管理部分D601”。 |
| §?????? ? | |||
| 一般住院補償 | 醫院總醫藥費用
1)讀取病例價格清單信息。 2)計算未得到補償的住院費用。 非基本用藥費用 ?
1)讀取病例價格清單信息,獲取藥品名稱、用藥數量、藥品單價。 2)計算“總藥費”,根據藥品名稱、用藥數量和藥品單價計算總藥費。 3)計算“基本用藥費用”,用病例清單的藥名和“基本用藥目錄”進行對比,把匹配的藥品費用相加。 4)計算“非基本用藥費用”: 5)返回“非基本用藥費用”, | ||
| ? | |||
轉載于:https://www.cnblogs.com/greeny/archive/2010/09/16/1828240.html
總結
以上是生活随笔為你收集整理的四色原型图进行业务建模的思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Drupal] Submit and
- 下一篇: XP下修改IIS连接数