【发布时间】:2014-01-06 20:06:41
【问题描述】:
我对 UML 用例图有疑问。
如果我有以下情况的应用程序:
用户可以单击名为我的驱动器 的选项卡中的按钮,该按钮会显示一个显示虚拟驱动器列表的视图。在此视图中,我还有一个名为:添加新虚拟驱动器的按钮,如果用户单击此按钮可以添加新虚拟驱动器
现在什么是虚拟驱动器并不是很重要,无论在这种特定情况下,虚拟驱动器是我系统上的虚拟硬盘。
所以我必须用 UML 用例图将这种情况形式化。
actor 是与我的应用程序交互的用户
所以我认为我有第一个用例代表用户单击 我的驱动器 按钮并查看当前可用虚拟驱动器列表的情况。
使用这个用例的表格表示如下:
ID:UC01 用例:显示可用的详细信息 虚拟驱动器
描述:代表用户请求的功能操作 显示详细 有关它有权访问的虚拟驱动器的信息。
类型: PRIMARY,是系统直接调用的函数 用户。
参与者:用户(主要参与者)、应用程序/服务器(次要参与者)。
前提条件:用户必须登录系统并且 图形界面,使 必须显示与它的交互。
主场景(正常运行过程):用户点击 我的云端硬盘按钮 进入主表格菜单和详细 有关可用虚拟驱动器的信息 显示在表格中。
成功后的后置条件:对于每个可用的虚拟驱动器 显示以下 信息:一些信息(这里不重要)。
失败情况下的后置条件:这种情况不是预期的, 不应该有 执行此操作失败。
好的,我认为这个模板是正确的,前面的用例是好的。此时我只对上一个模板的Type字段有疑问。
我有:
类型: PRIMARY,是系统直接调用的函数 用户。
我正在搜索有关此描述字段的信息,但我一无所获...所以对此进行推理,我是这样解释的:“如果用户直接调用系统上的函数,则表示此用例的类型函数将主要作为类型字段的值"
好不好?
现在我必须代表与第二个功能相关的用例:重要的观察是,只有在首先运行第一个操作(显示列表)时,我才能执行第二个操作(添加新的虚拟驱动器)可用的虚拟驱动器)。
所以我有这样的事情:
ID:UC02 用例:将新的虚拟驱动器添加到可用列表中 虚拟驱动器
描述: 代表用户请求添加新虚拟的功能操作 drive 到可用的虚拟驱动器列表。
类型: ?????????????
参与者:用户(主要参与者)、应用程序/服务器(次要参与者)。
前提条件:用户必须登录系统并且用户必须已经显示视图 与我的云端硬盘按钮相关
成功后的后置条件:出现一个新视图,允许用户添加新的虚拟 drive 到可用的虚拟驱动器列表。
Postcondition in case of Failure:这种情况是不应该的,应该没有 执行此操作失败。
现在我的疑问与这个次要用例的 Type 描述字段有关。
这个函数是由用户直接调用的,所以按照前面的推理,这必须是PRIMARY(和前面的用例一样)
但在其他地方(在另一个例子中)我发现在这种用例中 Type 描述字段的值必须是 SECONDARY 因为它取决于第一个用例(因为用户首先必须调用显示所有可用虚拟驱动器列表的操作,然后他才能添加新的虚拟驱动器)
那么,你能帮我澄清一下这个话题吗?
Tnx
安德烈亚
【问题讨论】:
标签: uml software-design use-case