本项目基于IDEA进行开发,前端使用mdui框架,后端基于MVC开发模式实现,数据库方面使用了Mysql,主要使用了数据库的备份还原以及触发器的技术。数据库连接方面主要使用阿里巴巴的Druid连接池和Spring的JdbcTemplate,版本控制方面基于Git和Github进行版本控制。已上传github,也欢迎大家观看我的博客
设计内容: 在线投稿审稿管理系统数据库包括以下功能:作者、审稿人的信息管理(录入、修改、删除等);稿件类型、稿件信息的管理;稿件的审阅过程管理稿费、审稿费和版面费的管理; 创建存储过程,统计指定作者的稿件信息 ;创建触发器,当收到审稿费时自动修改审稿费收到标记为“是”; 具有数据备份和数据恢复功能。 要求: 数据库系统要根据设计内容和要求进行分析与设计,要考虑系统的完整性约束,系统中的数据表设计应合理、高效,尽量减少数据冗余。(规范到3NF或BCNF系统完成对数据库数据的增加、修改、删除、查询功能)
审稿人和作者登录界面
管理员主界面
作者主界面
审稿人主界面 具体功能界面
管理员管理作者界面(可实现对作者的CURD)
管理员管理稿件主界面(可实现对稿件的CURD)
管理员对审稿人的CURD
当然管理员还有数据库备份和还原的功能 指定在D盘下的mysql下生成backup.sql
作者修改个人信息界面
关于审核者和作者其他的界面就不做详细介绍了,其实最复杂就是审核者和管理员之间的关系。
信息要求
作者基本信息稿件基本信息审稿人基本信息安全性与完整性需求安全性需求 安全性需求:
作者和审稿人登录系统时,需要输入正确的用户名和密码,方可登陆系统。作者登录系统后,只能修改本人的身份。登录系统后长时间(30min)未操作,需要重新登录。触发器,审稿人收到稿费后,审稿标记完成审稿。完整性需求:
实体完整性:作者编号、稿件编号、审稿人编号分别为作者、稿件、审稿人主码。参照完整性:发布订单作者和稿件编号与基本表作者编号、稿件编号登陆对应;审核订单审稿人和稿件编号与基本表审稿人编号、稿件编号登陆对应系统。用户定义完整性:审核订单表中,审稿状态为0、1和2,其中0表示待审核;1表示审核通过;2表示审核不通过。用户密码必须为六位及以上。处理需求 该系统的基本业务要求如下:一名审稿人可以审阅多篇稿件,同时一篇稿件也可以被多个审稿人审核。一名作者可以发布多篇稿件,同时一篇稿件也可以被多个作者发布。 根据在线审稿系统业务情况,该系统被分为登录,管理,发布,审阅四大系统模块。
登录认证/退出系统 (1)登录认证,判别身份。 (2)将权限作为变量传入系统。管理系统(1)审阅人,作者的管理。 (2)审阅人,作者,稿件初始化。(3)审稿和发布系统的开发与关闭。 (4)数据库备份与还原。发布系统 (1)修改作者个人信息。 (2)发布稿件。 (3)修改发布的稿件。 (4)查看稿件状态。审阅系统 (1)修改审阅人信息。 (2)审阅稿件。查看稿件状态。总体结构图如下:
数据库的备份与还原
主要调用JdbcUtils包中的这两个语句: //数据库还原public static void backup() throws IOException { Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /c D:/mysql/dbbackup.bat"); } //数据库备份 public static void restore() throws IOException { Runtime.getRuntime().exec("C:/Windows/System32/cmd.exe /c D:/mysql/dbrestore.bat"); }(1)数据库还原语句如下: mysqldump -uroot -pzzd..000 submission_review_system > D:\mysql\backup.sql 在windows命令行中运行得到如下效果: (2)数据库备份语句如下: mysql -uroot -pzzd..000 submission_review_system < D:\mysql\backup.sql
我发现这其中需要很多知识我们没有接触过,去网上查资料时候发现我们前边所学到仅仅是皮毛,还有很多需要我们掌握东西我们根本不知道。同时也发现有很多已经学过东西我们没有理解到位,不能灵活运用于实际,不能很好用来解决问题,这就需要我们不断大量实践,通过不断自学,不断地发现问题,思考问题,进而解决问题。 我不仅了解到了在完成系统中数据库所起的巨大作用是软件所自带的数据结构比拟不了的,同时在完成系统的过程中体验数据库关系模式的设计以满足第三范式或者BC范式规范化,数据库的触发器等等新鲜的知识。这些数据库相关的知识对于我的启发很大,学习软件工程,不仅要掌握一门门技术语言,数据库知识也要过关。
最后,如果这篇文章对大家有用的话,不胜感激!!!