zoukankan      html  css  js  c++  java
  • 团队作业第四次 — 项目系统设计与数据库设计

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

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

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

    项目主要分为 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%

    六、附件链接

  • 相关阅读:
    HDU Problem 1811 Rank of Tetris【拓扑排序+并查集】
    POJ Problem 2367 Genealogical tree【拓扑排序】
    HDU Problem 2647 Reward【拓扑排序】
    HDU Problem 1285 确定比赛名次【拓扑排序】
    HDU Problem HDU Today 【最短路】
    HDU Problem 3665 Seaside【最短路】
    HDU Problem 一个人的旅行 【最短路dijkstra】
    HDU Problem 1596 find the safest road【最短路dijkstra】
    Beyond Compare文本合并进行内容替换要注意什么
    用这些工具都可以比较代码的差异
  • 原文地址:https://www.cnblogs.com/zhishe/p/12685774.html
Copyright © 2011-2022 走看看