用例模型
用例模型是一种系统模型,旨在展示系统预期功能及其运行环境。它是客户与开发人员之间的一种协议,贯穿整个系统开发过程。同一用例模型可用于需求、分析设计和测试等多个工作流程。
建模介绍
系统建模有多种方法,其中用例模型的作用在于向客户或最终用户提供易懂的系统行为描述。模型的设计应考虑到用户的理解和接受度。
用途说明
用例模型的角色包括可能与系统互动的用户和其他系统。角色帮助定义系统范围并提供明确的系统用途说明。用例的编写应基于角色的需求,以确保系统符合用户期望。
如何演进
用例模型的发展过程中,主角和用例的确定是关键步骤。在详细描述用例前,客户应审查模型以确认所有必要的元素均已涵盖。在迭代开发环境下,可以选择一组用例进行详细描述。完成的用例模型应经过审核,以确保开发人员和客户对系统所需操作达成共识。
功能分解
为了避免用例模型退化而导致的功能分解,应注意避免出现过于简单的用例和过多的用例数量。用例应该是完整的事件流,能为角色带来实际价值。
非功能性需求
用例模型不仅涵盖了功能性需求,也包含了非功能性需求,如可用性、可靠性和性能等方面的要求。这些需求可以通过用例内的特征或作为用例的特殊需求来获取。
内容与方式的平衡
确定用例的适当细节水平是一项挑战。用例应规定系统做什么,而非如何做。这取决于个人背景和对“什么”和“如何”的理解。
具体用例与抽象用例
具体用例是由角色启动的完整事件流,而抽象用例本身不被实例化,但可在其他用例中包含、扩展或泛化。重要的是区分这两类用例,因为角色只能看到和启动具体用例。
构建用例模型
构建用例模型有三个主要原因:提高可理解性、分离公共行为和便于维护。但在构建模型之前,应先深入了解用例的行为,并为其建立详细的事件流大纲。
关系类型
用例模型中有三种关系:包含关系、扩展关系和泛化关系。这些关系可用于分析用例组件,以便在其他用例中重用或作为特例或选项。
主角泛化关系
主角泛化关系可用于显示角色间的特化情况。例如,在订单管理系统中,互联网客户是从普通客户派生出来的,两者的关系可通过主角泛化关系表示。
包装用例
为了更好地组织用例模型,可以将用例划分为多个包,形成层级结构。用例模型可以组织成一个有层次的用例包结构,而角色或用例是该结构中的叶子节点。
用例与角色的关系
每个用例的执行都需要与一个或多个角色进行交互。用例实例总是通过角色的要求启动。每个用例都需要与角色建立通信关联关系,除非用例是抽象的,或者在泛化或包含关系中,父用例或基本用例已经说明了所有的角色通信。
调查说明
用例模型的调查说明应包括系统的主要用例、技术实现、系统边界、环境概述和用例执行顺序等内容。例如,关于回收机的用例模型的调查说明应包括三个角色和三个用例,重点突出主要用例“回收项”。
参考资料
- [1] https://zh.wikipedia.org/wiki/%E7%94%A8%E4%BE%8B%E6%A8%A1%E5%9E%8B
参考资料
软件设计用例模型 V1.0.CSDN博客.2024-11-01
用例建模.豆丁网.2024-11-01
用例模型.蚂蚁文库.2024-11-01