通过导入CSV执行各种功能的插件的UML用例图 [英] UML use case diagram for a plugin performing various functions through importing a CSV

查看:135
本文介绍了通过导入CSV执行各种功能的插件的UML用例图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个在核心应用程序顶部添加各种功能的插件.该插件使管理员能够上传CSV文件,并根据在文件中输入的信息(通过在核心应用程序的数据库上执行操作)执行以下功能:

I'm creating a plug-in which adds various functions on top of a core application. The plug-in gives administrators the ability to upload a CSV file and performs the following functions depending on the information entered in the file (by performing operations on the database of the core application):

  • 创建用户
    • 可以是管理员或普通用户
    • Creating users
      • Can be administrators or normal users
      • 可以是父项目或父项目的子项目
      • 从给定的父项目中复制子项目(因此该插件还添加了创建从父项目中复制的子项目的选项)

      我想为此插件绘制一个UML用例图,但无法弄清楚应该去哪里,尤其是CSV文件的上传.我也对如何在此处绘制核心应用程序的角色感到困惑.在这种情况下,它唯一直接做的就是授权.该插件还通过对核心应用程序的数据库执行操作来执行这些功能,因此我想知道是否应该因此而从创建用户那里获得一些关联.

      I would like to draw a UML use case diagram for this plugin but can't figure out what should go where, especially the uploading of the CSV file. I'm also confused with how to draw the role of the core application here. The only thing it does directly is authorization in this case. The plugin also performs these functions by performing operations on the database of the core application and I'm wondering if there should be some associations coming from create users for example because of this.

      我的尝试之一可以在这里找到:

      One of my attempts can be found here:

      在此先感谢您提供的任何帮助!

      Thanks in advance for any help offered!

      推荐答案

      用例涉及正在考虑的系统为主要参与者带来的增值.您的系统有3个用例

      A use case is about added value the system under consideration brings to the primary actor. Your system has (as it seems) three use cases

      • Create user(如何删除和修改它们?)
      • Create project(与此处相同)
      • Assigning user to project(也在此处)
      • Create user (what about deleting and modifying them?)
      • Create project (same here)
      • Assigning user to project (also here)

      这些是您的用例,仅此而已(我从您的解释中了解到).您放入的所有其他气泡都是来自功能分解的,不是用例,而是(可能)用例内部活动中的某些步骤.只需将它们扔掉即可.

      Those are your use cases and no more (to what I read from your explanation). All the other bubbles you put there are from a functional decomposition and are no use cases but (likely) some steps in activities inside the use cases. Simply throw them away.

      参与者Core Application看起来像代表正在考虑的系统.如果是这样:请将其丢弃,因为那是错误的.

      The actor Core Application looks like representing the system under consideration. If so: throw it away since that would be wrong.

      Authorize气泡是(我想)您需要附加到用例的约束,并且这意味着您必须针对数据库进行授权.这不是用例.

      The Authorize bubble is (I guess) a constraint you need to attach to the use cases and shall mean that you have to authorize against the database. It's no use case.

      您的系统看起来像

      现在,您的插件仅使用现有用例,并根据上传的CSV中的某些脚本执行这些用例.这是一个新的用例.根据设计,这可能只是添加到现有系统中的新用例. UC的名称可以是Upload control file来描述实际执行的操作.

      Now your plugin is just using the existing use cases and executes them based on some scripting in the uploaded CSV. So that's a new use case. Depending on the design this could simply be a new use case added to the existing system. A name for the UC could be Upload control file to describe what is actually done.

      如果您允许对系统进行动态扩展,那将是另一回事.您可以像这样设计它:

      It would be a different story if you would allow sort of a a dynamic extesion of a system. You could design it just like so:

      Value added system仅具有上载" UC,并使用核心系统作为参与者.

      The Value added system just has the "upload" UC and uses the core system as an actor.

      这篇关于通过导入CSV执行各种功能的插件的UML用例图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆