在线审稿投稿管理系统,就这?

在这里插入图片描述

本项目基于IDEA进行开发,前端使用mdui框架,后端基于MVC开发模式实现,数据库方面使用了Mysql,主要使用了数据库的备份还原以及触发器的技术。数据库连接方面主要使用阿里巴巴的Druid连接池和Spring的JdbcTemplate,版本控制方面基于Git和Github进行版本控制。已上传github,也欢迎大家观看我的博客

一. 内容与要求

设计内容
在线投稿审稿管理系统数据库包括以下功能:作者、审稿人的信息管理(录入、修改、删除等)稿件类型、稿件信息的管理;稿件的审阅过程管理稿费、审稿费和版面费的管理; 创建存储过程,统计指定作者的稿件信息创建触发器,当收到审稿费时自动修改审稿费收到标记为“是”; 具有数据备份和数据恢复功能。
要求: 数据库系统要根据设计内容和要求进行分析与设计,要考虑系统的完整性约束,系统中的数据表设计应合理、高效,尽量减少数据冗余。(规范到3NF或BCNF系统完成对数据库数据的增加、修改、删除、查询功能)

二. 开发环境

  1. JDK8LST (Java Development Kit)
    JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具,使用版本是Java 8长期支持版。
  2. Web服务器 Tomcat 8.5.31
    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
  3. 开发工具 IDEA
    2019.2.4IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。
  4. 数据库 Mysql 5.5
    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

三. 页面展示

  • 审稿人和作者登录界面
    在这里插入图片描述

  • 管理员主界面
    在这里插入图片描述

  • 作者主界面
    在这里插入图片描述

  • 审稿人主界面
    在这里插入图片描述具体功能界面

  • 管理员管理作者界面(可实现对作者的CURD)
    在这里插入图片描述

  • 管理员管理稿件主界面(可实现对稿件的CURD)
    在这里插入图片描述

  • 管理员对审稿人的CURD
    在这里插入图片描述

  • 当然管理员还有数据库备份和还原的功能
    指定在D盘下的mysql下生成backup.sql
    在这里插入图片描述

  • 作者修改个人信息界面
    在这里插入图片描述

关于审核者和作者其他的界面就不做详细介绍了,其实最复杂就是审核者和管理员之间的关系。
在这里插入图片描述

四. 需求分析

信息要求

  1. 作者基本信息
  2. 稿件基本信息
  3. 审稿人基本信息

安全性与完整性需求安全性需求
安全性需求:

  1. 作者和审稿人登录系统时,需要输入正确的用户名和密码,方可登陆系统。
  2. 作者登录系统后,只能修改本人的身份。
  3. 登录系统后长时间(30min)未操作,需要重新登录。
  4. 触发器,审稿人收到稿费后,审稿标记完成审稿。

完整性需求:

  1. 实体完整性:作者编号、稿件编号、审稿人编号分别为作者、稿件、审稿人主码。
  2. 参照完整性:发布订单作者和稿件编号与基本表作者编号、稿件编号登陆对应;审核订单审稿人和稿件编号与基本表审稿人编号、稿件编号登陆对应系统。
  3. 用户定义完整性:审核订单表中,审稿状态为0、1和2,其中0表示待审核;1表示审核通过;2表示审核不通过。用户密码必须为六位及以上。

处理需求
该系统的基本业务要求如下:一名审稿人可以审阅多篇稿件,同时一篇稿件也可以被多个审稿人审核。一名作者可以发布多篇稿件,同时一篇稿件也可以被多个作者发布。
根据在线审稿系统业务情况,该系统被分为登录,管理,发布,审阅四大系统模块。

  1. 登录认证/退出系统
    (1)登录认证,判别身份。
    (2)将权限作为变量传入系统。
  2. 管理系统(1)审阅人,作者的管理。
    (2)审阅人,作者,稿件初始化。(3)审稿和发布系统的开发与关闭。
    (4)数据库备份与还原。
  3. 发布系统
    (1)修改作者个人信息。
    (2)发布稿件。
    (3)修改发布的稿件。
    (4)查看稿件状态。
  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范式规范化,数据库的触发器等等新鲜的知识。这些数据库相关的知识对于我的启发很大,学习软件工程,不仅要掌握一门门技术语言,数据库知识也要过关。

最后,如果这篇文章对大家有用的话,不胜感激!!!
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章