Web 应用程序的 UML Class 图 MVC 模式

UML Class diagram MVC Pattern for a web application

我正在从事我的第一个 MVC 项目,该项目包含一个在线测验 Web 应用程序。我目前正在做我的文档,我试图弄清楚我的 class 图会是什么样子。共有三种类型的用户Admin、teachers和students。

到目前为止,我得出的结论是我需要将其作为模型的一部分:

*UsersDAO *问题DAO *测验模型 *测验查询

对于控制器,我可能需要一个 LoginController 和 QuizController,也许需要一个 UserController

我不确定我是否应该为每个 "Controller" 设置一个 "View",或者我是否需要为每种类型的用户设置一个 "Controller"。我在互联网上找到的示例非常简单,因为它们只包含一个 Action。

有什么建议吗?

您的模型包括以下操作(没有登录系统):

老师 (CRUD),设计试题,评分答案

学生 (CRUD),参加测验,获得测验分数

测验(增删改查)

所以你可以通过三个Controller:

来实现这个模型
TeacherController
StudentController
QuizController

对于 CRUD 操作您可以使用 View 但对于其他操作您应该添加新的 View.

UML 的全部意义在于抽象地设计系统。诸如控制器和视图之类的实现细节可能会有所不同,具体取决于您最终在哪个系统中构建它。您应该建模的只是您的业务对象以及它们之间的关系,而不是诸如它们将如何持久化或这些关系如何存在之类的事情管理。

像视图或控制器这样的东西不是一个普遍的概念。并非每个框架都有这些东西的概念,因此,根据定义,包含这些东西的模型是 而不是 "universal"。 FWIW,我还会对诸如 DAO、DTO、视图模型等建模对象投下阴影。这些也是实现细节,并且高度依赖于框架、数据存储等。