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

面向对象思考

共 1111字,需浏览 3分钟

 · 2022-01-01

泛化关系

泛化定义类目之间的泛化/特化关系。泛化关系将特殊类目连接到更通用的类目。给定一个类目,其指向一般类目(泛化方向)的传递闭包通常统称为泛化类目,其指向特殊类目(泛化的反方向)的传递闭包通常统称为特化类目。直接的泛化类目也称为类目的父级,直接的特殊类目称为类目的子级。

这里传递闭包可以理解为可以到达的所有节点。

严格的传递闭包介绍:

https://www.cnblogs.com/lpshou/archive/2012/04/27/2473109.html

用例是类目的一种,当然也可以有泛化的概念。


ATM中的用例泛化

首先复习一下用户认证用例:

显示用户认证画面等待用户输入密码并按下确定按钮

除了密码认证,还可以有指纹认证:

显示指纹认证提示画面等待用户在指纹输入装置上按下指纹

也可以有面部识别:

显示面部识别认证画面等待用户根据画面显示将面部对准摄像头的适当位置

等等。

将上述3种形式的认证进行泛化可以得到一个抽象的用户认证用例。

对于ATM的业务流来讲,具体是那种形式并不重要,只要一个抽象的用户认证用例即可:


用例泛化的优点

至少有以下几点:

  1. 在使用用例的场景中(取款,转账等)使用抽象用例即可保证语义的完整性。

  2. 共同特性(例如上图中认证用例和银行系统之间的交互)可以在抽象用例上表现,而不是在每个具象用例上重复表示。

  3. 增加具象用例的种类在一个完全不考虑具体场景(例如可以是一个和银行完全无关的场景)的情况下进行,从而可以开发出更加通用的用例。


作者著作介绍

《实战Python设计模式》是作者去年3月份出版的技术书籍,该书利用Python 的标准GUI 工具包tkinter,通过可执行的示例对23 个设计模式逐个进行说明。这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明,让读者明白在编写代码时如何判断使用设计模式的利弊,并合理运用设计模式。

对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。




觉得本文有帮助?请分享给更多人。

关注微信公众号【面向对象思考】轻松学习每一天!

面向对象开发,面向对象思考!



浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报