2011年10月13日

1.4.2-屬性與操作

寫給SA的UML/MDA實務手冊
----------
第1章-Why系統分析師需要學習UML
1.4-重要的OO及UML概念

1.4.2-屬性與操作

試圖去了解真實世界中任一事物時,有多元的角度可以去探尋,就像佛法有四萬八千法門一般。不過,系統分析師並不需要這麼樣深入了解物件,對於任何一種物件本身,系統分析師只需要針對下列兩項問題去探尋:

1.物件需要記錄哪些屬性(Attributes)?
2.物件可以提供哪些操作(Operations)?

上述的問題可以說的更白話些,或許系統分析師可以向企業人員作如下的提問:

1.某物會記錄什麼資料呢?(探問屬性)
2.某物可以提供我們哪些資料呢?(探問屬性)
3.透過某物,可以讓我們查到哪些資料嗎?(探問屬性)
4.某物可以做什麼用呢?(探問操作)
5.有了某物之後,我們可以拿它來做什麼事呢?(探問操作)

假設我們要開發基金交易平台,來向企業人員進行訪談,期間提到了「基金帳戶」。想像一下,系統分析師跟企業人員之間的模擬對話,大概會像這樣子:

系統分析師問:基金帳戶會記錄什麼資料呢?(探問屬性)
企業人員答:基金帳戶裡頭主要會記錄總成本、總現值、總損益、總報酬率。
系統分析師問:有了基金帳戶之後,我們可以拿它來做什麼?(探問操作)
企業人員答:有了基金帳戶之後,只要裡頭存有足夠的錢,你就可以用它來申購基金,或者贖回基金。


圖1-1: 基金帳戶的屬性與操作

針對物件的各項屬性,系統分析師還需要進一步了解它在企業裡的定義、資料型態(Data Type)、可能的範圍值、或者初始值,更別忘了了解這項屬性是怎麼跑出來的?或許,系統分析師可以向企業人員作如下的提問:

1.可以請您(企業人員)用簡單的一、兩句話,解釋某屬性是什麼嗎?(探問屬性定義)
2.可以請您舉個例子嗎?(判斷屬性的資料型態)
3.請問某屬性有範圍值嗎?(判斷屬性的資料型態以及欄位大小)
3.1可被接受的數字,最大最小為何?(數字型態)
3.2.可被接受的字串,最長最短為何?(字串型態)
3.3.預設的項目,有哪幾個?項目異動的頻率?(列舉型態)
4.請問某屬性有初始值嗎?(探問屬性的初始值)
5.怎樣做才能夠得到某屬性值(Attribute Value)?(探問屬性值的獲得方法)
5.1.請問誰會提供這項屬性值?(鍵入值)
5.2.請問可以向哪裡查詢這項屬性值?(查詢值)
5.3.請問計算公式為何?(計算值)
5.4.請問可有獨特的編碼方式?(流水碼或特定編碼)

沒有留言: