第六次团队作业:项目系统设计与数据库设计
这个作业属于哪个课程 | 2018级计算机和综合实验班 |
---|---|
这个作业要求在哪里 | 第六次团队作业:项目系统设计与数据库设计 |
这个作业的目标 | 完成系统设计说明书 完成数据库设计说明书 完成答辩PPT 预期开发计划规划 |
作业正文 | 见下文 |
其他参考文献 | 见文末参考文献 |
团队的github仓库链接 | Github |
一、系统设计
二、数据库设计
三、预期开发计划
3.1 预期开发计划时间规划
时间 | 任务 |
---|---|
4.28~5.9 | 1.编写系统设计说明书 2.编写数据库设计说明书 3.制作答辩PPT 4.编写blog 5.答辩 |
5.10~5.17 | 1.学习制作小程序有关知识 2.前端后端同时进行初步开发 |
5.18~5.25 | 1.前端后端同时进行开发 2.完成简易版本小程序 |
5.26~6.2 | 小程序调试及完善 |
6.3~6.10 | 1.页面优化 2.bug查找修复 |
3.2 预期开发计划组员分工
成员 | 分工 | 负责内容 |
---|---|---|
姜睿喆 | 数据预处理 前端 前后端衔接 |
1.书籍数据预处理 2.前端代码编写 3.前后端衔接 |
朱嘉欣 | 前端 | 1.页面设计及页面布局 2.前端代码编写 |
陈可鑫 | 前端 | 1.协助页面设计及页面布局 2.前端代码编写 |
陈伟超 | 前后端衔接 后端 |
1.搭建服务器及数据库 2.后端代码编写 3.前后端衔接 |
江政 | 后端 测试 |
1.后端代码编写 2.项目测试 |
徐鑫泽 | 后端 测试 |
1.后端代码编写 2.项目测试 |
五、体系结构设计
5.1 设计思路
客户服务器架构适用于大部分系统,由于平常程序课经常使用,所以比较熟悉。客户服务器架构保证了系统调用的可靠性,通过分层保证模块分离,便于开发和后期更新、维护。
5.2 技术架构
将我们的应用分为两个逻辑独立的部分,即客户部分和服务器部分,不同的部分完成不同的功能。
5.3 具体实现
5.3.1 客户端:
包含前端和展示层,负责以可视化的方式提供给用户信息,并提供用户输入。
5.3.2 服务器端:
-
接口层:
为数据管理层抽象出接口方法,并提供给业务逻辑层进行调用,保证其完成客户端的需求。
-
业务逻辑层:
接收数据管理层的数据,通过实现接口层的方法,实现大部分对数据的具体操作方法,最后提供给客户端。
-
数据管理层:
负责实时更新数据库,并将原始数据进行提取和加工,提供给业务逻辑层。
5.4 系统架构图
六、功能模块层次图
6.1 设计思路
我们准备做一个图书馆系统便于师生查找图书馆里的书籍。
用户登录模块是登录需要的,根据学生的学号以及教师的工号进行登陆验证。只有登录之后才能使用小程序其他功能。
图书搜索模块用于搜索图书,用户可以手动选择输入的关键字为书名、作者或ISBN,根据输入的信息对书籍信息进行检索。查找失败会有对应报错信息,查找成功后会返回书籍的相关信息,如书名、作者、ISBN、索书号等。在初期未使用实时数据库时,图书状态信息更新会有一定的延迟。
6.2
七、设计类图
7.1 设计思路
根据表结构设计进绘制类图,以用户的基本信息、图书搜索并访问数据库、获取用户基本信息并登录为主来进行设计。
7.2
八、ER分析
8.1 设计思路
根据所准备制作的小程序进行ER分析,考虑到目前功能仅支持登录和查询,可以判断出用户对图书信息的查询为一对多。
8.2
九、表结构设计
9.1 设计思路
建立三张表:学生表、教师表、图书表。学生表和教师表用于用户登录验证,并绑定微信号。图书表存储图书的相关信息,用于图书搜索功能,通过表内信息进行匹配。
9.2
学生表
教师表
图书表
十、系统安全和权限设计
10.1 设计思路
-
图书馆各类服务器中开设的账户和口令归特定用户所有,信息技术部负责队用户口令保密,不向任何其他个人提供有关信息。
-
信息技术部负责网络系统的日常维护工作,任何人未经信息技术部统一不得擅自安装、拆卸和改变网络设备。
-
数字签名是保护数据完整性和抗否认性的主要手段,目前主要通过HASH、MD5等算法提取文件的特征信息,并通过非对称算法如RSA对特征信息加密来完成数字签名。根据数字签名机制,可以对文件签发电子印章。
10.2
十一、针对需求分析作业的改进
11.1 Q&A
Q1:对于小程序开发中书籍信息如何获取?对借阅系统的编写该如何进行实现?
A1:书籍的信息将通过图书馆管理员对现在的数据库数据进行导出。在于图书馆管理员进行沟通以及小组讨论后,我们暂时不准备做图书馆的借阅系统,这涉及到实时数据库的连接,暂时难以实现。
Q2:对于数据库里的数据信息,如果不使用实时的数据库是否失去了意义?
A2:组长与技术部张老师进行过沟通,我们认为可以通过导出图书馆数据,再导入到我们的数据库里,进行定期更新,比如几天一次,或者在图书馆购入新的图书后进行更新都可以实现。在目前不做图书借阅功能的情况下,书籍的查询对于数据的实时性要求不高,我们认为以上方法足以满足日常查找书籍的需要。
11.2 改进部分及过程
1.根据老师的问题,我们与图书馆管理员和技术部老师进行了沟通,为需求报告提供了修改意见,并会根据之后进度进行合理调整。
十二、此次作业任务分配
12.1 工作流程
任务分配泳道图
12.2 成员分工及贡献度比例
学号 | 工作内容 | 贡献度 |
---|---|---|
211804117 | 1.ER分析 2.系统设计说明书 |
18 |
211804203 | 1.系统安全和权限设计 | 10 |
211806107 | 1.体系结构设计 2.数据库设计说明书 |
20 |
211806199 | 1.答辩PPT制作 | 14 |
211808579 | 1.设计类图 2.系统设计说明书 |
18 |
211814315 | 1.功能模块层次设计 2.表结构设计 3.说明书审核整理 4.blog编写 5.GitHub管理 |
20 |