这个作业属于哪个课程 | <2020春S班(福州大学)> |
---|---|
这个作业要求在哪里 | <作业要求的链接> |
团队名称 | 烤盐屋 |
这个作业的目标 | 项目系统设计与数据库设计 |
作业正文 | <团队作业第四次—项目系统设计与数据库设计> |
其他参考文献 | 无 |
一.整体计划安排
阶段数 | 安排 | 具体时间 |
---|---|---|
第一阶段 | 全体:参与系统/概要设计,系统需求分析,完成前后端,移动端以及web端分工;进行知识储备 | 3.30-4.12 |
第二阶段 | 完成基本数据库设计,前端基本页面(静态)及框架搭建 | 4.13-4.19 |
第三阶段 | 根据分工同步进行: web端:用户注册/登录功能的完成;个人页面模块的编写。安卓端:个人界面模块的编写 |
4.13-4.19 |
第四阶段 | 根据分工同步进行: web端:资讯页面模块的编写。安卓端:资讯页面模块的编写 |
4.19-4.26 |
第五阶段 | 根据分工同步进行: web端:社区页面,课程页面等核心模块的编写。安卓端:社区页面,专注界面等核心模块的编写 |
4.27-5.3 |
第六阶段 | 进一步完善相关功能的开发,将爬虫爬取的数据筛选验证同步到相关页面。 | 5.4-5.10 |
第七阶段 | 进一步完善整合: 1、程序最后的完善。2、项目整合、整体项目的测试 |
5.11-5.17 |
第八阶段 | 测试数据,bug修复,美化前端页面 | 5.18-5.24 |
第九阶段 | 完善项目,事后总结 | 5.25-5.31 |
二.预期开发计划分工安排
学号 | 姓名 | 工作内容 |
---|---|---|
131700305 | 黄一舟 | 前端 |
221701113 | 王霆锴 | 爬虫 |
221701131 | 郑志成 | 后端 |
221701214 | 陈朝帏 | 前端 |
221701236 | 郭子成 | 前端 |
221701313 | 任智明 | 安卓端 |
221701329 | 留晓滨 | 安卓端 |
221701411 | 代铭杰 | 博客编写 文档整理 |
221701437 | 张岑 | 后端 |
三.项目系统及数据库设计
体系结构设计
- 设计策略
●扩展策略。在界面设计版图中保留部分简介空隙留待业务扩展开发需
要,数据库表的建造时保留对数据的扩展的需求,便于日后的网站扩展之用。
●复用策略。对于网站各方面的数据保留,便于日后数据已经网络的复用。
功能模块设计
Web端子系统 | |
---|---|
模块名称 | 功能简述 |
资讯模块 | 显示所有热门资讯列表 显示考研报名流程热门文章用轮播图播放按类型对研究生招生进行解读 |
首页模块 | 考研倒计时、励志格言、考研时间安排。 |
院校模块 | 显示部分院校招生简章显示部分院校专业目录显示学校专业分数线 |
社区模块 | 按类型对帖子进行分类按帖子名字进行查找按模块进行查找有发帖评论等功能 |
个人模块 | 显示个人信息显示参与课程,发帖记录,评论回复等更改头像 |
课程模块 | 按公共课,专业课,其他进行分类观看网课视频 |
登录子系统 | |
---|---|
模块名称 | 功能简述 |
登录模块 | 登陆个人账号 |
注册模块 | 通过手机号注册账户 |
后台子系统 | |
---|---|
模块名称 | 功能简述 |
首页管理 | 管理首页的信息 |
课程管理 | 显示所有课程列表筛选课程 |
资讯管理 | 按类型对资讯进行删除,编辑或显示/隐藏操作按院校对资讯进行删除,编辑或显示/隐藏操作 |
轮播图管理 | 显示所有轮播图对轮播图进行轮播或删除操作上传轮播图 |
用户管理 | 显示所有教师信息对用户进行禁用账号,编辑或删除功能设置管理员显示所有管理员信息新增,修改或删除管理员 |
社区管理 | 帖子筛选编辑或删除精华帖,热门贴编辑或删除社区板块编辑或删除帖子详情页 |
安卓子系统 | |
---|---|
模块名称 | 功能简述 |
资讯模块 | 显示最新热门资讯 |
社区模块 | 按类型显示不同贴可以按板块进行发帖 |
个人模块 | 查看,编辑个人信息查看发帖数,评论数 |
专注模块 | 制定、查看每日的计划使用番茄钟查看每个月的总结报。 |
模块关系图
设计类图
- Web前台类图:
- Web后台类图:
安卓端:
- 网络数据缓存模块
- Http框架模块
- UI模块
- 数据库设计
ER图
- 全局ER
- uer局部ER
- comment局部ER
- school局部ER
- like局部ER
逻辑结构设计
- 模式
User用户信息表记录用户登陆账号和联系方式,权限状态等
root用于表现权限0表示游客1表示管理员
sex用于表示用户性别0表示女1表示男
isBan用于表示用户封禁状态0表示未封禁1表示封禁
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
user_id | varchar | 8 | 是 | 是 | 自增ID |
username | varchar | 32 | 是 | 用户名 | |
password | varchar | 32 | 是 | 用户密码 | |
phone | varchar | 32 | 用户手机 | ||
nickname | varchar | 32 | 用户昵称 | ||
root | int | 1 | 权限设置 | ||
sex | int | 1 | 用户性别 | ||
isBan | int | 1 | 封禁状态 | ||
invitation_number | int | 16 | 发帖数 | ||
comment_number | int | 16 | 评论数 | ||
follow | int | 16 | 关注数 | ||
head_sculpture | varchar | 255 | 用于记录后台存储图片的超链接 |
userRoot权限表
目前权限只有0游客1管理员
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
root_id | int | 8 | 是 | 是 | 作为权限的id |
root_name | varchar | 32 | 权限的名称 |
Invitation帖子表
status表示帖子状态0表示显示1表示隐藏
post_user用于连接user表
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
invitation_id | int | 32 | 是 | 是 | 作为数据库索引 |
invitation_title | varchar | 32 | 帖子标题 | ||
content | varchar | 255 | 帖子内容 | ||
plate | int | 8 | 作为帖子的分区 | ||
invitation_status | int | 1 | 帖子状态 | ||
scan_number | int | 32 | 浏览数 | ||
post_user | int | 8 | 发帖用户id | ||
update_time | varchar | 20 | 修改时间 | ||
create_time | varchar | 20 | 发帖时间 |
comment评论表
comment_user用于连接user表
comment_status表示评论状态0为显示1为隐藏
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
comment_id | int | 8 | 是 | 是 | 自增id |
content | varchar | 255 | 评论内容 | ||
comment_user | int | 8 | 评论用户 | ||
comment_status | int | 1 | 评论状态 | ||
like_number | int | 8 | 点赞数 | ||
create_time | varchar | 20 | 创建时间 | ||
update_time | varchar | 20 | 更新时间 |
like点赞表
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
like_id | int | 8 | 自增id | ||
comment_id | int | 8 | 评论id | ||
invitation_id | int | 8 | 评论所在文章 | ||
user_id | int | 8 | 点赞用户id |
plan计划表
plan_status表示计划的状态0表示未完成1表示完成
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
plan_id | int | 8 | 是 | 是 | 自增id |
user_id | int | 8 | 计划所属用户 | ||
date | varchar | 20 | 计划日期 | ||
plan_status | int | 1 | 计划状态 | ||
plan_type | varchar | 16 | 计划类型(科目) | ||
plan_content | varchar | 255 | 计划内容 | ||
create_time | varchar | 20 | 创建时间 | ||
end_time | varchar | 20 | 完成时间 |
province省份表
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
province_id | int | 8 | 是 | 是 | 自增id |
province_name | varchar | 16 | 省份名 | ||
area | int | 1 | 表示身份所属区域(0A区1B区 |
school学校表
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
school_id | int | 8 | 是 | 是 | 自增id |
school_name | varchar | 学校名称 | |||
school_tag | varchar | 255 | 学校标签 | ||
province_id | int | 8 | 所属省份 |
subject学科表
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
subject_id | int | 8 | 是 | 是 | 自增id |
subject_name | varchar | 32 | 学校名称 |
user_invitation
每个用户维护一张属于自己的发帖表
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
user_id | int | 8 | 是 | 是 | 标记用户 |
invitation_id | 8 | 标记帖子 |
invitation_comment
每个帖子维护一个属于自己的评论表
每个用户维护一个属于自己的评论表
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
user_id | int | 8 | 标记用户 | ||
invitation_id | int | 8 | 标记帖子 | ||
comment_id | int | 8 | 标记评论 |
province_school
每个省份标记该省所有的学校
字段名 | 数据类型 | 长度 | 主键 | 非空 | 描述 |
---|---|---|---|---|---|
province_id | int | 8 | 是 | 是 | 标记省份 |
school_id | int | 8 | 标记学校 |
系统安全与权限设计
系统安全
1.保证系统安全可靠和持续运行
系统后台运行的平台要可靠,代码要健壮,对于异常情况要进行测试和处理。
2.保证系统完整性机密性和信息访问的权限认证
保证有信息加密措施,对信息访问进行严格控制,对访问权限进行身份认证。不同角色,权限也不同。
3.安全机制的易用性
在确保安全的条件下,尽量为系统应用提供统一的身份认证。
4.提供容错的安全保障
为了确保系统的可靠运行、数据的完整性,要求本系统提供系统容错机制。
5.对输入信息的合法性进行校验
例如在输入信息的时候,对信息进行验证和合法性及处理,并给予一定的提示。
权限设计
1.建立数据备份机制
建立健全的数据备份机制,利用系统提供的数据备份功能,定期不定期的对数据进行备份,并转存其他介质。
利用数据库服务系统进行数据备份。由数据库自动的完成数据备份功能。
2.提供容灾风险和保证,鉴于信息不可损坏和丢失,要求加强系统的意外灾害和人为误操作等不可预知的问题的预防和恢复功能。
3.系统中通过因特网访问的数据应该进行一定程度的加密处理(如交易数据、客户的个人信息、账号密码等关键数据),系统远程访问的密码不能采用明文传输。系统中的业务数据要脱离系统,和外界进行交换时也应当有保密措施,防止业务数据泄露。
4.应设备钥匙、密码控制、系统日志监督、系统更新凭证等各种手段防止存储的系统数据不被窃取和改变。
5.新注册的系统账号应当采用本系统统一的账号管理登录,而不使用第三方的数据登录(比如QQ、微信等社交账号登陆),防止因账号被窃取而损害客户的利益。
6.防止SQL注入
处理输入信息时预先进行语句处理,输出信息时去除多余的信息。
四.问腿与改进
1.社区除了公共部分,要不要开设各学校的专门版块?所有帖子都在一起感觉比较难找到信息。应用中关于课堂的设定是怎样的?提供辅导吗?还是提供学习视频?
- 答:要开设学校的版块。课堂的设定是提供链接的形式
2.类图需要在完善一下,原型界面的很多功能都没有在类图上体现
- 答:已经将类图进行了改进,新增后台类图与安卓端类图
五.小组分工
学号 | 具体分工 | 贡献度 |
---|---|---|
131700305 | 功能模块层次设计 | 9 |
221701113 | 数据库设计ppt+答辩 | 9 |
221701131 | 接口设计,系统安全与权限设计,外部设计与运用设计 | 13 |
221701214 | 统筹安排组员任务,参与所有任务的协调与完成,系统说明书ppt+答辩 | 11 |
221701236 | web端类图设计 | 10 |
221701313 | 系统说明书评审表+答辩当日评审 | 9 |
221701329 | 安卓端结构设计 | 11 |
221701411 | 引言,体系结构设计,文档整理,博客编写 | 15 |
221701437 | ER分析与设计,数据库结构设计 | 13 |
六.附件材料
<github仓库地址>
<系统设计说明书>
<数据库设计说明书>
<系统设计说明ppt>
<数据库设计说明PPT>