用例中的前提条件

Fos*_*osa 7 uml use-case

我正在为学校的项目创建一个用例.我有点困惑的前提条件选项卡.

在某些方面确实有一个先决条件,如"必须登录"或"需要一个帐户"

但是,如果软件是本地设置怎么办?

对我而言,听起来逻辑是前提条件是"需要安装软件"

但另一方面,这个前提条件看起来很奇怪,否则你首先就不会有这个用例.

所以我的问题很简短.系统要求或软件安装是否可以作为前提条件的一部分?

Ale*_*eks 9

解决UML问题核心的非常好的问题 - 它的语义很弱.因此,你的问题的答案是 - 可能是对的,可能是错的.UML设置符号规则,并且仅定义基本元素语义(例如,"必须按顺序实现前提条件......").

我们甚至可以进一步提出"操作系统应该正确配置"等前提条件,甚至更糟 - "计算机有电"......这些讨论很容易变成哲学.:)

根据我的经验,有一种方法可以使用例有效 - 构建另一个UML模型,一个互补的UML模型,用于制定前提条件,后置条件甚至用例场景(你可以为场景提出前提条件的相同问题)那么 - 这是一个场景的正确抽象?或者,"打开计算机?"是场景中的有效步骤?).

为了实现这一点,我通常使用概念类图 - 我对我的域进行建模,然后根据这些元素(类及其属性)表达前/后条件和场景,并且仅使用这些元素.这很有意义,特别是知道前/后条件查询系统的状态,整齐地反映在对象/值上.

回到你的例子,如果你想知道"软件需要安装"的前提条件,你只需要问自己"我真的需要一个带有attribut'isInstalled'的课程'软件'吗?"

然后你很可能意识到你可能不需要这个前提条件,因为它太过"低级别" 并超出了我的域范围.现在您只需要定义您的域名.:)这是一个类似情况的简单示例,演示了这个想法(请记住,用例和类模型是在不同的图表上绘制的):

在此输入图像描述

这种方法不仅可以更容易地指定用例,而且可以制作允许域规范,业务规则识别和系统设计的第一次抽象的补充类模型.

祝好运并玩得开心点!