我正在try 为我的项目制作一个用例图,后端将使用Django rest框架制作,前端使用react制作,我的问题是如何以正确的方式对这种情况进行建模,我应该对前端进行建模,并将后端表示为参与者还是相反,因为我正在考虑将移动应用程序作为第二个前端?

推荐答案

这里的正确答案是业务分析师的标准答案1:It depends.

问题是——你想做什么样的模型,为什么.那么,正确的工具(图表)是什么.

用例图的目标是显示系统将提供哪些功能.现在,系统可以被视为一个整体,在这种情况下,你展示的功能没有描述系统内部是如何组织的(这是最常见的场景,也很可能是在你的 case 中使用用例图的最佳方式——但它没有显示FE和be的事实,请注意,这种类型的图并不是最适合这样做的,所以请继续阅读).

你也可以像系统本身一样行事(尤其是当你准备无头API并真正将BE与FE分开时,这是有意义的;当你的BE和FE团队完全分开时,更是如此).在这种情况下,FE将成为参与者(就像其他可以与BE交互的系统一样).显然,FE可以以同样的方式处理(即被视为作为参与者的系统),但通常没有太多理由这样做.

现在已经说过了,如果你想描述BE和FE之间的区别,你应该考虑其他类型的图表.请记住,用例图是一个动态图,系统的内部 struct 是静态的,所以显然它应该是静态图之一.组件图是专门用来显示系统内部 struct 的图,它最有可能用于指示FE和BE的存在(可能具有进一步的细节,例如现有的微服务).

另一方面,如果您想展示正在使用的特定技术,那么部署图可能是您的最佳 Select .它允许显示实际的运行时环境、工件及其技术.

请记住——使用一种图表,甚至更糟糕的是一种图表来显示所有内容通常是一个坏主意,新手经常犯错误.比这更聪明.

Django相关问答推荐

Django:无法分配必须是实例(&Q;X),不想获取对象(&Q;)

Django ORM Groupby

在Django管理中仅显示外键的特定值

Django:不能在子函数中返回重定向异常.第一个功能继续

ModuleNotFoundError:没有名为guardian.shortcuts的模块

在不指定查找的情况下调用 prefetch_lated() 有用吗?

Django 表单字段必填和可选配置

基于模型多选字段在模板django中显示结果

QuerySet对象在bulk_update中没有属性pk

多租户 Django 应用程序:根据请求更改数据库连接?

Django REST Framework - 将额外参数传递给操作

删除所有表的django命令是什么?

如何在 Django 中返回静态 HTML 文件作为响应?

Django App 配置不当 - 应用程序模块有多个文件系统位置

Django 1.9 中 django.db.models.loading.get_model() 的类似功能是什么?

如何使用基于类的视图处理表单(通过 get 或 post)?

整数的Python正则表达式?

Django:何时使用 QuerySet 无

如何在 django 中使用更少的 css?

Django 的 Select .如何设置默认选项?