爱是用心码——项目系统设计与数据库设计
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 项目系统设计与数据库设计 |
这个作业的目标 | 项目系统设计与数据库设计 |
作业正文 | 爱是用心码——项目系统设计与数据库设计 |
github链接 | 项目地址 |
其他参考文献 | 无 |
一、预期开发计划时间安排
周数 | 团队目标与产出 | 当前进度 |
---|---|---|
第一周 | 1、前端完成基础页面设计。 2、后端完成各模块的php代码。 |
已完成 |
第二周 | 1、前端进行跳转页面以及组件功能实现。 2、后端补足各模块缺失接口代码。 3、代码测试修改bug。 |
未完成 |
第三周 | 1、前端进行UI统一以及美化界面。 2、后端测试并完善基础功能接口。 |
未完成 |
第四周 | 1、前端调用后端小组的接口,并尝试完成页面渲染和效果调用。 2、后端辅助前端小组调用,并进行相应的修改调整。 |
未完成 |
第五周 | 1、前端组合成功后进行前端测试。 2、后端进行完整性校验,根据小程序不足,编写新的接口,进而完善功能。 |
未完成 |
第六周 | 1、前后端收尾,保证小程序基本功能运行正常,页面效果对用户友好。 2、bug修改和后期维护。 |
未完成 |
二、预期开发计划分工安排
学号 | 姓名 | 角色 | 预期任务分配 |
---|---|---|---|
211706206 | 吴秋悦 | 后端 | 1、学生模块接口功能实现。 2、辅助前端进行接口调用。 3、API接口文档及测试。 |
211706130 | 王孟玉 | 前端 | 1、学生模块中“我的”全部功能。 2、UI统一以及美化界面。 3、前端测试。 |
211706205 | 吴娉婷 | 前端 | 1、学生模块中“首页”全部功能。 2、UI统一以及美化界面。 3、前端测试。 |
211706152 | 张露 | 前端 | 1、登录页面、辅导员模块中的功能主页、个人页面部分。 2、UI统一以及美化界面。 3、前端测试。 |
211706161 | 蔡雨婷 | 前端 | 1、辅导员模块中的忘记密码部分、查看查寝结果。 2、UI统一以及美化界面。 3、前端测试。 |
211706197 | 汪钰莹 | 前端 | 1、宿舍管理功能、抽取宿舍功能。 2、UI统一以及美化界面。 3、前端测试。 |
211706187 | 林连坤 | 后端 | 1、辅导员模块接口功能实现。 2、辅助前端进行接口调用。 3、API接口文档及测试。 |
211706174 | 洪成龙 | 后端 | 1、登录模块与辅导员模块接口功能实现。 2、数据库建立。 3、API接口文档及测试。 |
三、设计图和设计思路
1、体系结构图
2、功能模块图
该功能模块图分为两个模块:学生端与辅导员端。学生端拥有登录功能、查看功能、拍照上传功能以及个人信息管理功能,辅导员端拥有登录功能、抽取功能、查看功能、宿舍管理功能以及个人信息管理功能,每个功能都带有子功能。
3、类图
我们设计了用户、辅导员、学生、照片、宿舍类,各类所拥有的属性、操作以及各类之间的关系如下图,辅导员和学生都继承于用户类,辅导员与照片、宿舍类关联,学生实现照片类、依赖宿舍类。
4、ER图
我们有辅导员、学生、宿舍、记录四个实体,分别以id为主键,辅导员与宿舍之间为一对多,学生与宿舍之间为一对多,辅导员、学生与记录之间为多对多。
辅导员【学工号,性别,用户名(姓名),密码,电子邮箱,手机号,头像地址,年级,系别】
学生【学号,性别,用户名(宿舍号),密码,电子邮箱,手机号,头像地址,年级,系别】
宿舍【ID,宿舍号,舍长学号】
记录【ID,照片地址,宿舍号,随机号码,开始时间,上传时间,结束时间】
5、数据库设计图
设计思路:
- student表、counselor表用来存储学生、辅导员的个人、登陆信息
- dorm表用来存储宿舍的相关信息
- record表用来存储用户的查寝记录
6、系统安全和权限设计
系统安全
- 数据库不直接存储用户的密码,而是以MD5或其它等方式加密后存入数据库,避免密码明文传输过程中被截获;
- 防止SQL注入:在后台代码中以预编译SQL语句等方式防止SQL注入,降低通过原生SQL语句攻击数据库的风险;
- 定期备份数据库中的数据到其他地方,防止数据丢失、损坏等意外;
- 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人,时间和内容等;
- 用户标识符和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才能提供系统的使用权。
用户权限设计
系统首先对用户发出的访问请求进行身份和授权认证,具有合法权限的用户才能进入系统操作环境,对数据库进行权限范围内的访问。本系统主要面向辅导员和学生两种角色,系统会根据角色授予具体的功能权限。
四、Q&A与改进
1、Q&A
Q:只有一个辅导员用户吗?
A:如果其他辅导员愿意使用,我们可以为他提供账号,并帮助他将学生宿舍信息批量导入数据库。
Q:如何对宿舍进行管理?
A:我们增加了宿舍管理功能,辅导员可以自己增删宿舍,或是联系后台管理员进行批量导入。
Q:抽签采用什么规则?怎么随机?
A:使用MySQL的rand()函数随机抽取宿舍和号码,如
select dormNumber, round(rand()*999 + 1) as randNumber from dorm order by rand() limit 4;
Q:需求报告中提到的用户重要信息指哪些,加密方式采用什么?
A:用户重要信息指的是密码,采用MD5算法加密。
Q:后端应该会备有相应的数据库,这应该会有相应的通讯需求的。搜索采用关键字完全搜索,如果数据量大了之后会不会性能出现严重降低?
A:如果数据量大了会性能会降低。但我们总的数据量不会太大,如果我们系的所有辅导员都在使用,也大概只有300间宿舍,所以在设计数据库时暂时不考虑性能问题。
2、改进
- 新增辅导员宿舍管理、查看等功能。辅导员可查看或增删自己名下管理的宿舍名单,也可联系后台管理员批量增删。为了解决单个辅导员可能兼职其他年级或系的辅导员,因而加上年级与系的选择框(注:只显示自己管理的年级与系的宿舍),为了方便查看宿舍,辅导员可通过宿舍楼进行分量查看。
- 新增用户的用户名、系、年级、宿舍号显示及修改。用户可登陆至修改个人信息界面,修改自己的信息至数据库中,方便宿舍楼调动的情况的修改。
- 新增登录中忘记密码的验证身份模块,及手机验证与邮箱验证。增加了用户使用的安全性。
五、此次工作流程与贡献度比例
工作流程
分工及贡献度
学号 | 工作内容 | 贡献度 |
---|---|---|
211706206 | 分配任务、画数据流图、《系统设计说明书》接口设计、整合说明书、编辑博客 | 13% |
211706130 | 画体系结构图、《系统设计说明书》验收标准及引言、审查博客和ppt | 12% |
211706205 | 画功能模块图、《系统设计说明书》验收标准及引言、审查博客和ppt | 12% |
211706187 | 画泳道图、《系统设计说明书》输入输出格式、审查博客和ppt | 12% |
211706152 | 画类图、编写《数据库设计说明书》、PPT制作、演讲、审查博客 | 13.5% |
211706161 | 画ER图、编写《数据库设计说明书》、PPT制作、审查博客 | 12% |
211706197 | 画ER图、编写《数据库设计说明书》、PPT制作、审查博客 | 12% |
211706174 | 画类图、数据库设计、编写《数据库设计说明书》、PPT制作、审查博客 | 13.5% |
六、commit提交记录
七、github地址与文档下载地址
系统设计和数据库设计答辩PPT 提取码:6jw8