我正在尝试创建两个UML图,以描述一个php应用程序的提交过程(在设计更改之前/之后)。我意识到我的UML已经非常生疏了,我怀疑我的图表是否正确,尽管我认为它很好地描述了这个过程。
第一个图表(在我改变设计之前)。
- 用户进入CMS页面(manage.php)
- Manage.php开始构建HTML,需要一些数据库数据。
- 5-10秒钟后,CMS准备好并显示给用户作为HTML。
- 用户选择要编辑的某个包含表单的页面(有多个页面,每个页面都有自己的表单,可以编辑不同的内容)。
- 用户编辑/更改表单(所有表单在步骤2中加载了当前设置)。
- 用户点击提交按钮。所有表单数据都发送到processor.php,cms页面死机?(表单刷新页面)。
- 用户使用一些会话工具进行验证(Facebook SDK)返回成功。
- 处理器标识操作(哪些表单被编辑)。
- 处理器验证接收到的数据(它是OK)返回成功。
- 处理器向数据库发送CRUD操作。成功!
- 处理器设置一些头文件并向客户端发送响应。
- CMS重新加载所有内容并从数据库获取新数据。
- 完成加载后,用户再次获得HTML页面。
如何显示CMS及其js死机?(红色X),如何显示它是如何重新实例化的(蓝色->)?
设计更改
由于这个设计很差,我决定进行更改。我决定使用jQuery ajax请求异步提交更改,而不是每次编辑一个小表单时重新加载整个CMS。CMS页面从未刷新,现在“保存”过程比5-10秒快得多。
- 用户进入CMS页面(manage.php)
- Manage.php开始构建HTML,需要一些数据库数据。
- 加载屏幕尽早显示。
- 5-10秒后,CMS准备就绪,并以HTML形式显示给用户。
- 用户选择要编辑的包含表单的页面....
- 用户编辑/更改表单....
- 用户点击保存按钮并触发一个函数。
- 收集表单数据并分配给一个变量。
- 在进行ajax请求之前,按钮变为橙色以表示它还未读取。同时禁用该按钮。
- 进行ajax请求。
- 对用户进行验证...成功。
- 处理器识别操作....
- 处理器验证接收到的数据....成功。
- 处理器向数据库发送CRUD操作。成功!
- 处理器设置状态200并向客户端发送响应。
- 然后ajax函数调用success()函数,将按钮变为绿色以表示现在已完成。
验证过程相同。但其余部分是新的,我也不确定这是否正确。两者都对我来说很合理,但当涉及到UML时,我的逻辑感通常不是正确的解决方案。