通过导入 CSV 执行各种功能的插件的 UML 用例图
UML use case diagram for a plugin performing various functions through importing a CSV
我正在创建一个在核心应用程序之上添加各种功能的插件。该插件使管理员能够上传 CSV 文件并根据文件中输入的信息执行以下功能(通过对核心应用程序的数据库执行操作):
- 创建用户
- 可以是管理员或普通用户
- 正在创建项目
- 可以是父项目或父项目的子项目
- 从给定的父项目复制子项目(因此插件还添加了创建从父项目复制的子项目的选项)
- 将用户分配给具有特定权限的项目
我想为这个插件画一个UML用例图,但不知道应该去哪里,尤其是CSV文件的上传。我也对如何在这里绘制核心应用程序的角色感到困惑。在这种情况下,它唯一直接做的就是授权。该插件还通过对核心应用程序的数据库执行操作来执行这些功能,我想知道是否应该有一些来自创建用户的关联,例如因此。
我的其中一个尝试可以在这里找到:
在此先感谢您提供的任何帮助!
前言:我的回答基于 Bittner/Spence(和其他人),而非 UML 规范中的定义。
用例是关于所考虑的系统给主要参与者带来的附加值。您的系统有(看起来)三个用例
Create user
(删除修改呢?)
Create project
(此处相同)
Assigning user to project
(也在这里)
这些是您的用例,仅此而已(根据我从您的解释中读到的内容)。您放在那里的所有其他气泡都来自功能分解,不是用例,而是(可能)用例内部活动中的一些步骤。直接扔掉。
参与者 Core Application
看起来像是在代表正在考虑的系统。如果是这样:把它扔掉,因为那是错误的。
Authorize
气泡(我猜)是您需要附加到用例的约束,这意味着您必须对数据库进行授权。这不是用例。
你的系统看起来像
现在您的插件仅使用现有用例并根据上传的 CSV 中的一些脚本来执行它们。所以这是一个新的用例。根据设计,这可能只是添加到现有系统的新用例。 UC 的名称可以是 Upload control file
来描述实际完成的工作。
如果您允许对系统进行某种动态扩展,情况就会不同。你可以这样设计:
Value added system
只有"upload" UC并且使用核心系统作为actor。
为什么要无视规范?好吧,出于许多简单的原因:它没有用。这是一个纯粹的技术描述,并且您的 设计 最终会变成蜘蛛网。专注于附加值正是项目开始时所需要的。如果你没有,你从一开始就迷路了。有几个著名的作者在传播这种方法。我从 Bitter/Spence 那里学到了东西,从那以后发现它很有用。
我正在创建一个在核心应用程序之上添加各种功能的插件。该插件使管理员能够上传 CSV 文件并根据文件中输入的信息执行以下功能(通过对核心应用程序的数据库执行操作):
- 创建用户
- 可以是管理员或普通用户
- 正在创建项目
- 可以是父项目或父项目的子项目
- 从给定的父项目复制子项目(因此插件还添加了创建从父项目复制的子项目的选项)
- 将用户分配给具有特定权限的项目
我想为这个插件画一个UML用例图,但不知道应该去哪里,尤其是CSV文件的上传。我也对如何在这里绘制核心应用程序的角色感到困惑。在这种情况下,它唯一直接做的就是授权。该插件还通过对核心应用程序的数据库执行操作来执行这些功能,我想知道是否应该有一些来自创建用户的关联,例如因此。
我的其中一个尝试可以在这里找到:
在此先感谢您提供的任何帮助!
前言:我的回答基于 Bittner/Spence(和其他人),而非 UML 规范中的定义。
用例是关于所考虑的系统给主要参与者带来的附加值。您的系统有(看起来)三个用例
Create user
(删除修改呢?)Create project
(此处相同)Assigning user to project
(也在这里)
这些是您的用例,仅此而已(根据我从您的解释中读到的内容)。您放在那里的所有其他气泡都来自功能分解,不是用例,而是(可能)用例内部活动中的一些步骤。直接扔掉。
参与者 Core Application
看起来像是在代表正在考虑的系统。如果是这样:把它扔掉,因为那是错误的。
Authorize
气泡(我猜)是您需要附加到用例的约束,这意味着您必须对数据库进行授权。这不是用例。
你的系统看起来像
现在您的插件仅使用现有用例并根据上传的 CSV 中的一些脚本来执行它们。所以这是一个新的用例。根据设计,这可能只是添加到现有系统的新用例。 UC 的名称可以是 Upload control file
来描述实际完成的工作。
如果您允许对系统进行某种动态扩展,情况就会不同。你可以这样设计:
Value added system
只有"upload" UC并且使用核心系统作为actor。
为什么要无视规范?好吧,出于许多简单的原因:它没有用。这是一个纯粹的技术描述,并且您的 设计 最终会变成蜘蛛网。专注于附加值正是项目开始时所需要的。如果你没有,你从一开始就迷路了。有几个著名的作者在传播这种方法。我从 Bitter/Spence 那里学到了东西,从那以后发现它很有用。