EA&UML日拱一卒 用例泛化關系

泛化關系
泛化定義類目之間的泛化/特化關系。泛化關系將特殊類目連接到更通用的類目。給定一個類目,其指向一般類目(泛化方向)的傳遞閉包通常統(tǒng)稱為泛化類目,其指向特殊類目(泛化的反方向)的傳遞閉包通常統(tǒng)稱為特化類目。直接的泛化類目也稱為類目的父級,直接的特殊類目稱為類目的子級。
這里傳遞閉包可以理解為可以到達的所有節(jié)點。
嚴格的傳遞閉包介紹:
https://www.cnblogs.com/lpshou/archive/2012/04/27/2473109.html
用例是類目的一種,當然也可以有泛化的概念。
ATM中的用例泛化
首先復習一下用戶認證用例:
顯示用戶認證畫面等待用戶輸入密碼并按下確定按鈕
除了密碼認證,還可以有指紋認證:
顯示指紋認證提示畫面等待用戶在指紋輸入裝置上按下指紋
也可以有面部識別:
顯示面部識別認證畫面等待用戶根據畫面顯示將面部對準攝像頭的適當位置
等等。
將上述3種形式的認證進行泛化可以得到一個抽象的用戶認證用例。

對于ATM的業(yè)務流來講,具體是那種形式并不重要,只要一個抽象的用戶認證用例即可:

用例泛化的優(yōu)點
至少有以下幾點:
在使用用例的場景中(取款,轉賬等)使用抽象用例即可保證語義的完整性。
共同特性(例如上圖中認證用例和銀行系統(tǒng)之間的交互)可以在抽象用例上表現(xiàn),而不是在每個具象用例上重復表示。
增加具象用例的種類在一個完全不考慮具體場景(例如可以是一個和銀行完全無關的場景)的情況下進行,從而可以開發(fā)出更加通用的用例。
作者著作介紹
《實戰(zhàn)Python設計模式》是作者去年3月份出版的技術書籍,該書利用Python 的標準GUI 工具包tkinter,通過可執(zhí)行的示例對23 個設計模式逐個進行說明。這樣一方面可以使讀者了解真實的軟件開發(fā)工作中每個設計模式的運用場景和想要解決的問題;另一方面通過對這些問題的解決過程進行說明,讓讀者明白在編寫代碼時如何判斷使用設計模式的利弊,并合理運用設計模式。

對設計模式感興趣而且希望隨學隨用的讀者通過本書可以快速跨越從理解到運用的門檻;希望學習Python GUI 編程的讀者可以將本書中的示例作為設計和開發(fā)的參考;使用Python 語言進行圖像分析、數據處理工作的讀者可以直接以本書中的示例為基礎,迅速構建自己的系統(tǒng)架構。
覺得本文有幫助?請分享給更多人。
關注微信公眾號【面向對象思考】輕松學習每一天!
面向對象開發(fā),面向對象思考!
