第六次团队作业:项目系统设计与数据库设计
这个作业属于哪个课程 | 2018级计算机和综合实验班 |
---|---|
这个作业要求在哪里 | |
这个作业的目标 | ① 1篇博客随笔,发表在团队博客的博客中,博客标题设置为“XXX(团队名称)——项目系统设计与数据库设计”,并提交作业 ② 1份《系统设计说明书》(pdf文件); ③ 1份《数据库设计说明书》(pdf文件)数据库设计要求使用工具PowerDesigner; ④ 04月22日系统设计和数据库设计答辩准备:1份《系统设计和数据库设计答辩PPT》(课堂现场评审)。 ⑤ 建立github团队仓库,将《系统设计说明书》《数据库设计说明书》《系统设计和数据库设计答辩PPT》等团队文档提交到团队仓库; ⑥ 现场评审要求 |
作业正文 | 见下文 |
其他参考文献 | 见下文 |
团队的github仓库链接 | github仓库 |
一、系统设计和数据库设计部分的内容
1.1系统设计部分
《系统设计说明书》中,大致分为引言、功能模块层次设计、功能模块层次图、UML设计图、接口设计、ER分析、表结构设计、系统安全和权限设计。
1.2数据库设计部分
《数据库设计说明书》中,大致分为引言、外部设计、结构设计、运用设计和数据库验证验收标准几方面的内容。其中结构设计分为概念结构设计、逻辑结构设计和物理结构设计,是分别从学生用户端和管理员端设计的。
二、细化团队的开发计划和时间计划、细化组员分工
2.1预期开发计划时间安排
周次 | 任务计划安排 | 完成情况 |
---|---|---|
第七周 | 完成团队项目的选题 | 已完成 |
第八周 | 完成需求规格说明书以及明确团队人员的分工 | 已完成 |
第九周 | 完成《系统设计说明书》《数据库设计说明书》 | 已完成 |
第十周 | 前端完成登录注册的GUI界面,后端初步完成各个模块的代码,数据库做完基本的增删改查 | 未完成 |
第十一周 | 前端完成剩下所有页面的GUI界面,后端完善模块代码和编写接口,数据库根据后端需求进行进一步的开发 | 未完成 |
第十二周 | 前端调用后端的接口进行测试,后端校验是根据小程序不足,重新编写接口,完善功能 | 未完成 |
第十三周 | 对小程序进行测试,修复Bug | 未完成 |
2.2预期开发计划分工安排
组员 | 角色 | 主要负责 |
---|---|---|
余秀璇 | 前端 | 主要编写前端所需的GUI代码 |
王美婉 | 前端 | 界面设计与排版,协助编写GUI代码 |
徐誉丹 | 后端 | 主要负责业务逻辑代码与实体类代码的编写 |
陈彤 | 后端 | 编写接口代码,协助编写实体类代码 |
林婷 | 数据库 | 数据库表的设计,后端与数据库交互代码的编写 |
王琪 | 项目总结 | 文案与博客的编写 |
2.3设计思路
2.3.1设计思路
我们打算做一个微信打卡小程序,对于学生打卡问题做出针对性的措施,用排行榜排名来进行奖励机制,从而激发学生读书的兴趣,用提醒打卡功能提醒学生不要忘记打卡,用户登录注册模块就是登录需要。
管理员模块的设计思路是为了后台工作人员能够统计学生的信息并且能知道哪些学生需要提醒打卡并提醒。
2.3.2体系结构设计+功能模块层次图
2.3.3设计类图
2.3.4 ER分析
2.3.5表结构设计
表名 | 功能说明 |
---|---|
Student | 学生表,用于验证是否是学生以及存储个人信息 |
Notes | 记录表,用于存储打卡记录 |
Administrator | 管理员表 |
1、Student表
列名 | 数据类型 | 空/非空 | 约束条件 | 其他说明 |
---|---|---|---|---|
id | VARCHAR(255) | 非空 | PRIMARY KEY | 用户ID |
sno | VARCHAR(5) | 非空 | 学生学号 | |
name | VARCHAR(16) | 非空 | 学生姓名 | |
sex | VARCHAR(9) | 非空 | 性别 | |
major | VARCHAR(255) | 非空 | 专业 | |
grade | VARCHAR(10) | 非空 | 年级 | |
loginAccount | VARCHAR(255) | 登录账号 | ||
passwd | VARCHAR(255) | 密码 |
2、Notes表
列名 | 数据类型 | 空/非空 | 约束条件 | 其他说明 |
---|---|---|---|---|
id | VARCHAR(255) | 非空 | PRIMARY KEY | 用户ID |
sno | INT(20) | 非空 | 学生学号 | |
name | VARCHAR(20) | 非空 | 学生姓名 | |
time | DATETIME(255) | 非空 | 打卡成功时间 | |
count | INT(255) | 非空 | 个人打卡总天数 |
3、Administrator表
列名 | 数据类型 | 空/非空 | 约束条件 | 其他说明 |
---|---|---|---|---|
id | VARCHAR(255) | 非空 | PRIMARY KEY | 用户ID |
account | VARCHAR(255) | 非空 | 账号 | |
password | VARCHAR(255) | 非空 | 密码 |
2.3.6系统安全和权限设计
- 数据库系统安全性
当数据库增删改操作异常时,对当前修改请求进行撤回,保证数据的安全性和完整性。数据库系统采用安全的用户名加口令方式登录。
用户在使用此系统时,由于不同的用户登录密码不同,而且增加了密码设置,相当于对数据的访问设置了权限。- 用户请求权限设计
后端设置过滤机制,使用过滤器对没有注册登录用户的请求进行拦截,不予放行, 防止非法用户恶意操作,只有经过常规途径注册并登录的用户才能使用系统。
后端对前端提交的数据进行校验,防止有用户通过非正规途径使用恶意的数据包对服务器发送请求造成服务器端出现异常。- 数据备份和恢复
为防止用户手机丢失导致数据丢失的情况,应当定时进行数据备份。- 日志管理机制
实现系统使用情况的日志记录,系统对重要的操作都自动进行日志记录,管理人员对日志记录进行查询、管理;提供用户访问系统记录,目前提供用户名、用户密码、打卡时间、打卡次数等。
2.4Q&A
Q:用户登录错误时的弹窗信息
A:在具体应用时会添加该弹窗信息
Q:没有打卡时常计算机制
A:因为我们的打卡是只要去过图书馆就算一次打卡,所以没有打卡时常的计算
Q:没有打卡鼓励机制
A:会增加虚拟勋章奖励机制,针对不同打卡天数的勋章,不设置实体奖励
2.5作业贡献度比例
学号 | 名字 | 工作内容 | 贡献度 |
---|---|---|---|
211806139 | 余秀璇 | 1. 将《系统设计说明书》、《数据库设计说明书》和 答辩PPT 提交到团队仓库 2.准备答辩,设计《系统设计和数据库设计答辩PPT》 |
16% |
211808672 | 王琪 | 1.负责《系统设计说明书》的第一章引言部分 2.负责《数据库说明书》的引言部分和数据库验证验收标准 3.编写博客 |
16% |
211806157 | 陈彤 | 1.负责《系统说明书》的接口设计部分 2.负责《数据库说明书》的运用设计部分 3.负责博客的团队项目的预期开发计划时间安排和分工安排 4.编排《数据库说明书》 |
20% |
211806230 | 林婷 | 1.负责《系统说明书》的功能模块层次设计和功能模块层次图 2.负责《数据库说明书》的外部设计部分 |
16% |
211806242 | 徐誉丹 | 1.负责《系统说明书》的UML设计图 2.负责《数据库说明书》的结构设计部分 |
16% |
211806184 | 王美婉 | 1.负责《系统说明书》的ER分析+表结构设计、系统安全和权限设计 2.编排《系统说明书》 |
16% |
2.6 github仓库
系统设计说明书(提取码:0evx)
数据库设计说明书(提取码:df84)
系统设计和数据库设计答辩PPT(提取码:8x1t)