第六次团队作业:项目系统设计与数据库设计
这个作业属于哪个课程 | 2018级计算机和综合实验班 |
---|---|
这个作业要求在哪里 | 第六次团队作业:项目系统设计与数据库设计 |
这个作业的目标 | 项目系统设计和数据库设计 |
团队的github仓库链接 | paper-plane0 |
一、团队项目的预期开发计划时间安排
周数 | 任务 | 进度 |
---|---|---|
第一周 | 制作系统设计说明书、制作数据库设计说明书、答辩 PPT | 已完成 |
第二周 | 前后端同时学习和开发 | 未完成 |
第三周 | 完成小程序的登录、打卡功能 | 未完成 |
第四周 | 完成小程序的排行榜显示、打卡分享功能 | 未完成 |
第五周 | 完成剩余功能 | 未完成 |
第六周 | 优化 UI 界面,修缮程序。 | 未完成 |
二、团队项目的预期开发计划分工安排
组员 | 角色 | 负责的开发部分 |
---|---|---|
严耀宇 | 后端、测试 | 1、服务器搭建 2、登录功能 3、后端测试 |
陈为靖 | 后端、测试 | 1、数据库的搭建 2、打卡排行榜、补签功能 3、后端测试 |
温佳超 | 前端、测试 | 1、界面设计和排版 2、负责部分 css 和 js 3、前端测试 |
钟宏鸣 | 前端、测试 | 1、调用接口,和后端对接 2、负责部分 css , js 样式 3、前端测试 |
张俊鸿 | 后端、测试 | 1、打卡功能 2、打卡定位 3、后端测试 |
江仁隽 | 后端、测试 | 1、打卡分享 2、个人打卡记录 3、后端测试 |
三、功能模块
1、设计思路
我们在设计的过程中,通过优先确定各个功能模块的实际功能、所需的实际需求以及相互之间的关系,确定好涉及到的各类数据属性,再通过确定的属性反馈到完善各表的设计之中。
最终确定下来:
用户表(User)记录学生学号、姓名和联系方式等基本信息
打卡信息表(Click_Info)记录学生关于签到记录的相关信息
排行时长榜表(Ranking_duration_list)记录学生月份签到时长以及学期时长等基本信息
2、功能模块层次图与体系结构设计
2.1 功能模块层次图
2.2体系结构设计
2.2.1概念结构模型
用户(学生ID、学生学号、学生姓名、系别、专业、年级)
打卡信息(学生ID、学生学号、累计打卡天数、签到时间戳、签退时间戳、连续天数判断、累计小时数、当天小时数、连续打卡天数)
时长排行榜(学生ID、学生学号、学期时长、当月时长、当前月份)
2.2.2 逻辑结构设计
2.2.3 物理结构设计
用户表
打卡信息表
排行时长榜表
3、设计类图
4、ER分析+表结构设计
用户表记录学生学号、姓名和联系方式等基本信息(User的结构)
打卡信息表记录学生关于签到记录的相关信息(Click_Info的结构)
排行时长榜表记录学生月份签到时长以及学期时长等基本信息(Ranking_duration_list的结构)
5、系统安全和权限设计
5.1 系统安全设计原则
由于在网络环境下,任何用户拥有对任何资源包括硬件和软件资源的共享的权利,所以必须通过制定相应的安全策略来防止非法访问者访问数据资源,对数据资源的存储以及传输进行安全性保护。
5.1.1 标识与确认信息
用户在访问小程序资源时,必须得到系统的身份认证以及身份标识,如学号、姓名、系别、专业等。当用户信息与数据库中的学生信息一致时,才能获准访问小程序。
5.1.2 授权
对用户授予访问小程序页面资源的权限,例如打卡,浏览排行榜、查看个人信息,日历图的签到补签等功能。
5.2 系统级安全
系统级安全主要体现系统软件平台的安全设置上。
5.2.1 操作系统平台的安全管理
保证学生用户对数据库的数据文件不能有可写、可删除的权限,以保证数据库的数据信息不会被随意篡改导致其他用户信息出错。
5.2.2 数据库系统的安全管理
数据库系统是整个系统的核心,是所有业务管理数据以及清算数据等数据存放的中心。数据库的安全直接关系到整个系统的安全。通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密设计,考虑如下:
(1)数据库由专门数据库管理员对数据库操作。管理员权限最大,可以控制所有数据,同时,数据库的密码应由专人负责,密码应该定期变换。
(2)小程序连接数据库的用户绝对不能使用及修改数据库,必须对其进行严格的权限管理,控制对数据库中每个对象的读写权限。
(3)利用数据库的审计功能,以对用户的某些操作进行记录。充分使用视图以及存储过程,保护基础数据表。
5.3 应用级安全
针对本小程序,我们在考虑其应用级安全时,主要针对系统的用户授权及安全访问控制。
5.3.1 用户授权及安全访问控制
用户类型:认证成功的学生用户。通过学生认证的学生用户在不违背系统规则情况下可以使用小程序页面的所有功能。
用户认证:使用小程序的主体在进行身份认证时,需要提供学生信息和身份信息,只有正确符合学生和身份信息的用户才会被允许登录。
用户授权:给学生用户授予访问资源的权限。
5.4 权限管理
权限管理是用户进行系统权限划分和设置的平台,按照管理的层次可划分为两个层面进行管理,管理员和学生用户。
5.4.1 管理员
管理员权限最大,可以控制数据库的修改及使用还有小程序的所有数据。
5.4.2 学生用户
学生用户权限低于管理员,没有操作数据库的权限,只能使用小程序已有的定位,打卡,分享等功能模块。
四、项目问题解答及改进
1、问题解答
Q:是否需要管理员界面,如果需要,是采用web界面还是小程序界面?
A:由于本产品的功能较为简单,所以不需要单独的管理员界面。
Q:如果用户没有签退,如何处理未结算的累计时长?
A:考虑到离馆时间难以统计,且无法维持程序运行状态和定位,故选择将未在闭馆前签退的时长不予结算。
Q:补签功能的实际作用?
A:考虑到用户可能错失全勤,提供补签的机会,可以与未来预期功能的激励制度相结合达到更好的鼓励效果。
2、改进部分及过程
1、根据组内讨论,重新修改了需求分析报告中的类图,由江仁隽负责修改
2、根据老师的建议,重新评估补签以及补签卡机制。其他组员讨论补签和补签卡的可行性、补签卡使用对个人数据带来的影响等方面,完善补签机制趋于合理化。最后由严耀宇对需求分析报告进行修改。
五、项目的工作流程、组员分工、组员贡献度比例
1、工作流程及分工
2、贡献度
学号 | 工作内容 | 贡献度 |
---|---|---|
211806243 | 撰写系统说明书功能模块层次设计部分 撰写数据库说明书外部设计部分 整合系统说明书 绘制功能模块层次图 |
19% |
211806158 | 撰写系统说明书ER分析、表结构设计部分 撰写数据库说明书结构设计部分 整合数据库说明书 审核博客 |
18% |
211806133 | 撰写系统说明书引言部分 撰写数据库说明书运用设计部分 审核PPT、演讲稿 |
18% |
211806149 | 撰写系统说明书接口设计部分 制作项目PPT |
15% |
211806142 | 撰写系统说明书UML设计图部分 撰写数据库说明书引言部分 起草演讲稿 |
15% |
211804212 | 撰写系统说明书系统安全和权限设计部分 撰写博客 |
15% |