這首太極建模詩(或叫十六字OO建?谠E)受到了Larman(《UML和模式應用》)、Cockburn(《編寫有效用例》)、3 Amigos(《UML用戶指南》)等世界級專家們睿智大作的啟發,也凝結了我10多年來從事OO設計和編程的一點小小感悟。
我發現“外與內,高與低,靜與動,粗與細”等基本二元辯證關系,不但適用于軟件用例需求的建模,也適用于軟件架構的OOAD/UML 建模。
當然,軟件設計中的二元關系還遠不止這些。充滿了二元辯證、平衡之道的現代軟件工程,竟然與兩千年前中國古典哲學《陰陽太極》中的黑、白對立統一相暗合,這真的是歷史的巧合,還是科學的必然?
由外而內
外與內,即軟件系統本身與其外部環境的關系,大概是軟件開發中最根本的一對關系。在軟件開發之初需求調研時,我們通常視整個軟件系統為一個黑盒子,我們劃地為界,從系統外部來觀察軟件提供給其各個用戶的功能,以及它與外部環境的各種動態關系(包括彼此之間的行為交互和信息數據的交換)。這種方法可以用UML用例圖表示如下:
以銀行證券帳戶管理系統(類似于“銀證通”)為例,圖中用例“打印帳戶報告!”的需求簡述是:
主用角:用戶
輔用角:外匯交易中心、證券交易所
范圍:證券賬戶管理系統
層次:用戶目標層
后置條件:系統打印客戶帳號下已購買的所有幣種的證券清單,包括每支證券的單價、份數、余額以及該客戶賬戶下的資產總額(轉換成用戶指定的幣種,缺省情況下為美元)。
前置條件:用戶已登錄,客戶的賬戶、帳號已知。
觸發事件:用戶選擇打印賬戶報告(證券余額清單)。
基本流:
1.用戶根據系統提示選擇結算幣種(用于計算資產總額),缺省值為美元。
2.系統讀取該客戶帳號下的所有證券信息,打印每支證券的名稱、份數、單價和總價(即證券余額,等于單價 * 份數),總價用原幣種表示。
文章來源于領測軟件測試網 http://www.kjueaiud.com/