Double-Ten ——项目系统设计与数据库设计
Double-Ten ——项目系统设计与数据库设计
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2020/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2020/homework/11447 |
团队名称 | Double-Ten |
这个作业的目标 | 项目系统设计与数据库设计 |
团队项目的预期开发计划时间安排
时间 | 计划与产出 | 里程碑 |
---|---|---|
11.2-11.9 | 完成系统设计与数据库设计 | |
11.10-11.16 | 完成登录+我的界面+完成3大主要功能界面的1/2 | 编码进度到达一半 |
11.17-11.24 | 完成三大主要功能剩下的1/2 | 完成编码 |
11.24-11.28 | 程序的最后完善与测试 | 结束 |
开发计划分工安排
人员 | 具体分工 |
---|---|
洪司坤 | 数据库处理登录界面+创建日程功能 |
林友相 | 数据库处理 |
易凡 | 番茄时钟功能+创建日程功能 |
林志炜 | 番茄时钟功能+创建日程功能 |
陈洋 | 日历功能 |
陈荣斌 | 测试 |
李陈世龙 | 测试 |
杨维涵 | 测试 |
张希铭 | 测试 |
简世苇 | 我的界面与意见反馈 |
功能模块层次图
设计类图
ER分析
表结构设计
用户表
事项表
番茄时钟表
日历表
设置表
提醒表
系统安全和权限设计
开发过程遵循原则
- 互不信任原则,不要信任用户提交的数据,包括第三方系统提供的数据,必要的数据校验必须放在后台校验。
- 最小权限原则,代码、模块等只拥有可以完成任务的最小权限,不赋予不必要的权限。
- 小程序代码(不包括云函数代码)跟传统 Web 应用的前端代码类似,可被外部获取及进行反混淆,重要业务逻辑应放在后台代码或云函数中进行。
- 后台接口调用以及云函数调用,必须进行有效的身份鉴权。
HTTPS 证书
必须使用 HTTPS/WSS 发起网络请求。请求时系统会对服务器域名使用的 HTTPS 证书进行校验,如果校验失败,则请求不能成功发起。
权限设计
因此项目是一个 “Todolist” 类型的小程序,更多是用户自己使用,所以权限设计也比较简单。对用户权限分为登录用户和非登录用户两种权限:
- 登录用户可以使用小程序的全部功能。
- 非登录用户不能使用查看已完成和已删除事项的功能,且不保存数据,退出小程序则数据清空。
管理员权限:定期删除长期未登录的用户数据,以六个月为例。
设计思路
确保只允许有一定资格的用户去访问数据库中特定的表或者数据,这主要是通过数据库系统的存取控制实现的。目的是将用户权限等级到数据字典中。用户只访问他有权访问的数据。每当用户进行某些数据的查询、插入、修改、删除等操作时,先对其进行一些检查,主要检查这些用户的操作权限,若用户的操作请求超出了或者不符合系统定义的权限,系统将拒绝用户执行此操作。
不同类型的用户授予不同的数据管理权限。将权限分为三类
数据库登录权限类:有了数据库登录权限的用户才能进入数据库管理系统,进入数据库管理系统,才能使用数据库管理系统所提供的各类工具和实用程序。同时,数据库客体的主人可以授予这类用户以数据查询、建立视图等权限。这类用户只能查阅部分数据库信息,不能改动数据库中的任何数据。
资源管理权限类:具有资源管理权限的用户,除了拥有上一类的用户权限外,还有创建数据库表、索引等数据库客体的权限,可以在权限允许的范围内修改、查询数据库,还能将自己拥有的权限授予其他用户,可以申请审计。
数据库管理员权限类:具有数据库管理员权限的用户将具有数据库管理的一切权限,包括访问任何用户的任何数据,授予(或回收)用户的各种权限,创建各种数据库客体,完成数据库的整库备份、装入重组以及进行全系统的审计等工作。这类用户的工作是谨慎而带全局性的工作,只有极少数用户属于这种类型。
需求分析作业的改进部分和改进过程
提出的问题:
- 哔哩哔哩视频是展示同学们讨论与部分同学做事的场景。如果能多些对你们所要的软件描述,就好了。要不然对我而言,看这视频,感觉没啥收获。
- 给出了看板链接,很好。不过看板的链接是需要登录用户才能看,修改成公开只读链接对用户较好。
- 如何决定这四个重要的界面?组员投票决定 OR其他方式?
- 是否通过权限限制番茄时钟开启后的手机使用
回答
-
明白,下次VLOG会加入相关内容。
-
后续会进行设置
-
主要以自愿方式,看组员更想做哪个界面,其次再是组长的分配,
-
无,我们小程序的目的是提供一个效率类的日程管理工具,而不是监督工具。且小程序相关权限获取较为困难,故舍去。
改进部分
通过线上与线下的讨论、进一步完善了相应的需求分析,并细化了分配的任务,争取后续能及时完成对应阶段的预定目标。对于不是很有必要的设置功能进行舍弃,在我的界面只留下意见反馈与登录功能。
此次任务贡献度
学号姓名 | 工作内容 | 贡献分数 |
---|---|---|
081800414洪司坤 | 博客编写 | 5.6 |
041801520 林志炜 | 数据库设计说明书 | 6.2 |
111800527易凡 | 数据库设计说明书 | 6.2 |
031802203陈洋 | 讨论与分析 | 3.7 |
031802640张希铭 | 讨论与分析 | 3.4 |
031802637 杨维涵 | 讨论与分析 | 3.4 |
031802613李陈世龙 | 答辩PPT | 6.2 |
031802602陈荣斌 | 讨论与分析 | 3.4 |
081800216林友相 | 系统设计与分析说明书 | 8.5 |
021800317简世苇 | 讨论与分析 | 3.4 |
github团队仓库链接与文档的下载链接
Github:https://github.com/Pikapika-sk/Double-Ten
系统设计说明书:https://files.cnblogs.com/files/Double-Ten/数据库设计说明书.zip
数据库设计说明书:https://files.cnblogs.com/files/Double-Ten/系统设计说明书.zip
答辩PPT :https://files.cnblogs.com/files/Double-Ten/数据库与系统设计说明书答辩PPT.pptx