• 团队作业第四次 — 项目系统设计与数据库设计


    团队作业第四次 — 项目系统设计与数据库设计

    这个作业属于哪个课程 班级
    这个作业要求在哪里 作业要求
    团队名称 知社
    这个作业的目标 完成需求分析,制定团队项目的整体计划安排及明确的里程碑
    作业正文 本文链接
    其他参考文献 《系统设计说明书》《数据库设计说明书》国标规范文本

    一、预期开发计划时间安排

    项目主要分为 3 个阶段:

    1. 环境搭建
    2. 编码阶段,前后端并行开发
    3. 联调阶段,接口测试

    甘特图如下:

    二、预期开发计划分工安排

    前端

    人员 任务
    唐靖钧 社员展示界面,社长活动审批界面,加入审批界面
    林智信 登录注册,游客,社长换届,申请解散,公告,社团简介
    陈凯琳 管理员页面,审批退社申请
    吕宇昕 学生个人中心,学生社团中心

    后端

    人员 任务
    彭三福 持久层,社团活动列表、申请与审核,社长换届申请与审核
    邹铭鸿 活动论坛,社团成员
    梁晓键 项目搭建,权限管理,数据库持久层
    王嘉泓 社团创建、解散、认证申请
    杨泽 个人中心,社团简介

    三、系统设计

    体系结构设计

    • 系统架构

      系统是一个前后端分离的 Java Web 应用程序,前端使用 Vue.js,后端使用 Spring Boot 进行完全并行式开发。

      • zhishe-vue 为前端项目,负责向后端请求数据,渲染数据,返回给客户端浏览器

      • zhishe-core 为项目核心模块,向前端提供接口

      • zhishe-mbg 为 MyBatis 生成代码

      • zhishe-common 为通用代码

      • zhishe-shiro 为系统权限管理

    • 业务架构

      系统的主要业务如下图:

    功能模块层次图

    设计类图

    ER分析 & 表结构设计

    系统安全和权限设计

    通过在对数据库中不同的表设置访问级别,来设置数据库的访问权限,从而保证数据库的安全性,防止被修改。

    1. 用户分类(区分不同的访问者)

      不同类型的用户授予不同的数据管理权限。知社系统中,将用户权限分为六类,游客、学生、社员、社长、副社长、管理员。六类访问者的权限如上图所示

    2. 数据分类(不同的数据对象)

      对于同一类权限的用户,对数据库中数据管理和使用的范围又可能是不同的。为此,DBMS 提供了将数据分类的功能,即建立视图。

      如在对于同一份活动通知数据中,访问数据对象且拥有同一类权限的用户有发帖者和非发帖者。虽然两者都是注册验证的用户,但发帖者对自己的帖子有修改删除等权限,而非发帖者对帖子就只有查询、评论和点赞权限。

    设计思路

    前后端通过 JWT 访问验证,确保系统的安全性

    权限管理是用户进行系统权限划分和设置的平台,按照管理的层次可划分为三个层面进行管理,用户、角色和权限,目前比较主流的方案是使用 RBAC 进行权限管理设计,百度百科对其的定义如下:

    对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。-- 百度百科

    下图是 RBAC 的模型,主要分为用户-角色-权限三个主体:

    我们对用户的权限进行了详细约束,每行代表一个角色对权限的拥有情况,详细如下:

    注:打 ✔ 表示有该权限

    四、问题与改进

    • 对类图进行了改进,使用继承关系,将一些类的公共部分抽取成父类,逻辑结构更加清晰

    五、工作流程、组员分工、贡献比例

    工作流程

    1. 根据对博客园发布的作业进行分析,列出需要完成的任务清单,定好时间节点需要交付或完成的任务,发布到 teambition, 让大家自己选择任务

    2. 大家各自选择完任务后开始各自开展工作,遇到问题及时在 QQ 群中反馈

    3. 周六进行一次组会,大家事先发布一份周报,由专人整理在 PPT 上,以表格的形式呈现,记录大家的工作内容,之后每个人都陈述自己本周完成的任务,遇到的问题,以及接下来的计划,下图是一部分 demo:

    4. 完成任务后,在 teamabition 上把任务状态改为已完成,将待交付成果发布到群里,由专人审核,遇到问题时抛到群里,大家一起讨论

    组员分工与贡献比例

    学号 工作内容 贡献度
    081700430 系统设计复审:类图、用况图、活动图 7%
    221701209 参与接口文档复审、团队文档提交到团队仓库 6%
    221701107 项目排期、博客编写、类图 & 数据库审核、接口文档初稿编写 19%
    221701126 RBAC 权限模型、数据库设计说明书、参与接口文档清单 17%
    221701228 类图完善 9%
    221701323 活动图、数据库表设计 13%
    221701430 用况图、参与接口文档复审 7%
    221701308 功能结构图、参与接口文档清单和复审 7%
    221701407 参与接口文档清单和复审,系统设计说明书、系统设计答辩 15%

    六、附件链接

  • 相关阅读:
    设置ImageView圆角
    GitHub-引导页
    GitHub-特效
    TextView总汇
    【笔记8-Redis分布式锁】从0开始 独立完成企业级Java电商网站开发(服务端)
    【笔记7-部署发布】从0开始 独立完成企业级Java电商网站开发(服务端)
    【笔记6-支付及订单模块】从0开始 独立完成企业级Java电商网站开发(服务端)
    【笔记5-购物车及地址模块】从0开始 独立完成企业级Java电商网站开发(服务端)
    【笔记4-商品模块】从0开始 独立完成企业级Java电商网站开发(服务端)
    【笔记3-用户模块】从0开始 独立完成企业级Java电商网站开发(服务端)
  • 原文地址:https://www.cnblogs.com/zhishe/p/12685774.html
Copyright © 2020-2023  润新知