前言
在 一个项目的开发之前,我们首先得拿出一个技术方案来,分析项目将要使用的技术,以及业务流程;主要的概要设计和具体设计方案可以使用UML(统一建模语言)来更清晰地表达。本篇博客就是我根据自己的一个简单的在线工单管理与协同办公项目构建的类图和时序图;我也是第一次编写这个,如果有什么问题,请大家帮我指正!
1.用户和工单类图
1.1 用户类图
在上面的类图中我们分为用户类、权限类、角色类、菜单类、以及工单类 ;其中这个项目中的身份有三种,分别是管理员(最高权限)、调度员以及指挥员,它们各司其职。
1)用户基类可以进行注册、登录、修改密码、修改信息、修改图像以及获取权限等操作;
2)在调度员类中继承了用户基类的所有属性以及操作,并且新增了增删改查工单的功能;
3)在指挥员类中继承了用户基类的所有属性和操作,且新增查询工单功能;最后的管理员类中也继承了用户基类的所有属性和操作,并新增了工单查询、用户修改和用户删除等功能。
4)权限类与用户类是组合的关系,互帮互助的关系
5)权限类与菜单类也是组合的关系,我们会建立权限与菜单的联系来完成权限的动态配置
6)工单类主要是与调度类的协同合作
1.2 工单类图
在上面的工单类图中,我们主要的工单的增删改查都是通过调度台来完成的,另外它还具备发布订单申请的功能,而我们的指挥台是根据指挥员的审核再传递审批信息给调度员。
在上面的用户类图中我已经阐述了各种类的操作和功能
2.用户登录和工单审批时序图
2.1 用户登录时序图
时序图主要是来描述用户与对象、对象与对象在某些时间段之中的信息交互。
在上图的用户登录时序图中的主要流程:
1)用户输入用户名和密码在前端登录
2)controller层在前端获取用户名和密码
3)controller层将用户名和密码传递给业务层
4)业务层使用Jwt和RSA对用户信息进行加密
5)业务层调用loadUserByUsername()方法去查询用户的用户名和密码
6)mapper层执行SQL语句去数据亏查询该用户的用户名和密码
7)mapper层返回查询的用户信息给业务层
8)业务层验证前端的用户名和密码与数据库的用户名和密码是否一致
9)根据验证的信息判断用户是否存在
10)用户存在返回user
11)业务层返回user或异常给controller层
12)controller层将用户存放在session中
13)并将token返回给用户
2.2 工单审批时序图
以上是本项目的工单审批时序图,主要流程:
1)调度员发起工单请求
2)调度台向指挥台传递工单信息
3)指挥台将工单申请反馈给指挥员
4)指挥员审核工单信息
5)指挥员返回批准/拒绝工单申请给指挥台
6)指挥台返回指挥员审批信息给调度台
7)调度台返回审核信息给调度员
标签:方案,用户名,用户,技术,类图,密码,工单,时序 From: https://www.cnblogs.com/kzf-99/p/16820543.html