团队作业第四次 — 项目系统设计与数据库设计
这个作业属于哪个课程 | 班级 |
---|---|
这个作业要求在哪里 | 作业要求 |
团队名称 | 知社 |
这个作业的目标 | 完成需求分析,制定团队项目的整体计划安排及明确的里程碑 |
作业正文 | 本文链接 |
其他参考文献 | 《系统设计说明书》《数据库设计说明书》国标规范文本 |
一、预期开发计划时间安排
项目主要分为 3 个阶段:
- 环境搭建
- 编码阶段,前后端并行开发
- 联调阶段,接口测试
甘特图如下:
二、预期开发计划分工安排
前端
人员 | 任务 |
---|---|
唐靖钧 | 社员展示界面,社长活动审批界面,加入审批界面 |
林智信 | 登录注册,游客,社长换届,申请解散,公告,社团简介 |
陈凯琳 | 管理员页面,审批退社申请 |
吕宇昕 | 学生个人中心,学生社团中心 |
后端
人员 | 任务 |
---|---|
彭三福 | 持久层,社团活动列表、申请与审核,社长换届申请与审核 |
邹铭鸿 | 活动论坛,社团成员 |
梁晓键 | 项目搭建,权限管理,数据库持久层 |
王嘉泓 | 社团创建、解散、认证申请 |
杨泽 | 个人中心,社团简介 |
三、系统设计
体系结构设计
-
系统架构
系统是一个前后端分离的 Java Web 应用程序,前端使用 Vue.js,后端使用 Spring Boot 进行完全并行式开发。
-
zhishe-vue
为前端项目,负责向后端请求数据,渲染数据,返回给客户端浏览器 -
zhishe-core
为项目核心模块,向前端提供接口 -
zhishe-mbg
为 MyBatis 生成代码 -
zhishe-common
为通用代码 -
zhishe-shiro
为系统权限管理
-
-
业务架构
系统的主要业务如下图:
功能模块层次图
设计类图
ER分析 & 表结构设计
系统安全和权限设计
通过在对数据库中不同的表设置访问级别,来设置数据库的访问权限,从而保证数据库的安全性,防止被修改。
-
用户分类(区分不同的访问者)
不同类型的用户授予不同的数据管理权限。知社系统中,将用户权限分为六类,游客、学生、社员、社长、副社长、管理员。六类访问者的权限如上图所示
-
数据分类(不同的数据对象)
对于同一类权限的用户,对数据库中数据管理和使用的范围又可能是不同的。为此,DBMS 提供了将数据分类的功能,即建立视图。
如在对于同一份活动通知数据中,访问数据对象且拥有同一类权限的用户有发帖者和非发帖者。虽然两者都是注册验证的用户,但发帖者对自己的帖子有修改删除等权限,而非发帖者对帖子就只有查询、评论和点赞权限。
设计思路
前后端通过 JWT 访问验证,确保系统的安全性
权限管理是用户进行系统权限划分和设置的平台,按照管理的层次可划分为三个层面进行管理,用户、角色和权限,目前比较主流的方案是使用 RBAC 进行权限管理设计,百度百科对其的定义如下:
对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。-- 百度百科
下图是 RBAC 的模型,主要分为用户-角色-权限三个主体:
我们对用户的权限进行了详细约束,每行代表一个角色对权限的拥有情况,详细如下:
注:打 ✔ 表示有该权限
四、问题与改进
- 对类图进行了改进,使用继承关系,将一些类的公共部分抽取成父类,逻辑结构更加清晰
五、工作流程、组员分工、贡献比例
工作流程
-
根据对博客园发布的作业进行分析,列出需要完成的任务清单,定好时间节点需要交付或完成的任务,发布到 teambition, 让大家自己选择任务
-
大家各自选择完任务后开始各自开展工作,遇到问题及时在 QQ 群中反馈
-
周六进行一次组会,大家事先发布一份周报,由专人整理在 PPT 上,以表格的形式呈现,记录大家的工作内容,之后每个人都陈述自己本周完成的任务,遇到的问题,以及接下来的计划,下图是一部分 demo:
-
完成任务后,在 teamabition 上把任务状态改为已完成,将待交付成果发布到群里,由专人审核,遇到问题时抛到群里,大家一起讨论
组员分工与贡献比例
学号 | 工作内容 | 贡献度 |
---|---|---|
081700430 | 系统设计复审:类图、用况图、活动图 | 7% |
221701209 | 参与接口文档复审、团队文档提交到团队仓库 | 6% |
221701107 | 项目排期、博客编写、类图 & 数据库审核、接口文档初稿编写 | 19% |
221701126 | RBAC 权限模型、数据库设计说明书、参与接口文档清单 | 17% |
221701228 | 类图完善 | 9% |
221701323 | 活动图、数据库表设计 | 13% |
221701430 | 用况图、参与接口文档复审 | 7% |
221701308 | 功能结构图、参与接口文档清单和复审 | 7% |
221701407 | 参与接口文档清单和复审,系统设计说明书、系统设计答辩 | 15% |