




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库应用系统课程设计报告题 目: 某期刊的在线投稿审稿管理系统的设计与实现 院系名称:信息科学与工程学院 指导教师: 唐建国 教师职称: 讲师 2016年12 月目录1引言32需求分析33小组分工54数据库设计54.1ER图54.2关系模式64.3物理结构设计64.4Sql语句以及存储过程85概要设计115.1详细设计126测试分析197测试结果208心得体会211 引言随着网络普及程度的提高,人们的办公观念和方式都发生了重大的改变,基于网络的无纸化办公也越来越深入人心。一个好的在线投稿系统,也让杂志社给读者形成一个好的的印象。许多杂志社、报社的编辑部都已意识到实现网上办公和在线处理稿件的重要性和紧迫性。 在线投稿和稿件处理系统有效地解决了传统模式下投递和送审的各种弊端,实现了作者的投稿、信息查询、信息反馈的便捷处理和编辑部规范高效化办公,从而节省了稿件处理的时间和流通费用,提高了稿件投递和投审的效率和安全性,同时也保证了杂志社所有的编辑能够在相同的业务平台进行业务处理,适应了集中管理的需要。通过规范流程、强化内部管理,建立强大的数据库,为数据分析、人员管理等提供强大的支持,为用户、专家、编辑提供了安全的权限设置,使稿件分级处理,避免了处理流程的混乱,减低工作量、减少重复劳动。 利用在线投稿与稿件处理系统,作者只要进行注册,即可进行稿件的投递与查阅,编辑部和专家可以将传来的稿件存盘后即可在电脑上进行编辑加工即在线编辑,既简便又准确,又提高期刊编辑出版的效率。 开发此系统是为了提高办公效率,适应信息网络时代期刊发展的趋势,也为了满足人们对信息实时性、安全性及便捷性的需求2 需求分析报投稿管理系统是一个典型的数据库开发应用程序,由投稿管理、审稿管理、稿件管理、审稿人管理、系统管理等部分组成,规划系统功能模块如下: 投稿人模块分为三小块:(本人完成的投稿人模块) 投递稿件:主要是将自己的稿件进行上传,以及其他信息 查看投稿状态:查阅自己投递的稿件是否通过,以及稿费 修改个人信息:主要是个人联系方式的修改 该模块主要功能是接收投稿人的基础信息,以便完成后续投稿工作。包括投稿人的联系方式,以及电话等等 审稿人模块分为两个模块 审稿:主要功能是对投稿人提交的稿件进行审核给出相应的审核意见,期间审稿人可以跟管理员进行相应得会话以提高稿件的审核进度,最后审稿人可以管理已经审核的稿件修改个人信息:主要是个人联系方式管理员模块分为四个模块:(本人完成分配稿件,管理版面费,稿费模块) 分配稿件任务:管理员将上传的稿件进行分配给审稿人,让审稿人进行审查管理审稿人:主要是对审稿人的增加删除的管理查看审查状态:查看已经审阅通过的稿件投稿管理系统审稿人管理员投稿人分配稿件任务管理审稿人查看审稿状态管理版面费,稿费个人设置审稿投递稿件查看投稿状态修改个人信息管理版面费,稿费:看到已经审阅过的稿件,输入相应的版面费,稿费3 小组分工本人完成的模块包括:投稿人模块的三个模块,以及管理员模块中的分配稿件,管理版面费,稿费模块,引言,数据库系统需求描述共同完成部分:存储过程,er图,数据库的设计,触发器,关系模式4 数据库设计4.1 ER图说明:投稿人与稿件是投稿关系,1:n,生成投稿时间,审稿费,审稿费状态审稿人与稿件是审稿关系,m:n,生成审查状态,是否通过,评语管理员与稿件是管理关系,m:n,生成发表时间,稿费,稿费状态,版面费,版面费状态4.2 关系模式关系模型:投稿人:(账号,密码,姓名,电话,地址,邮箱,银行卡号)稿件: (编号,标题,摘要,类型,字数,投稿时间,审稿费,审稿费状态,作者账号)审稿人:(账号,密码,姓名,电话)管理员:(账号,密码,姓名,电话)审稿: (审稿人账号,稿件编号,审查状态,是否通过,评语)稿件管理:(管理员账号,稿件编号,发表日期,稿费,稿费状态,版面费,版面费状态)4.3 物理结构设计投稿人表:writer字段名称字段类型是否为空字段描述备注writerIdintNot null投稿人登录的账号PKpasswordVarchar(30)Not null投稿人密码nameVarchar(30)Not null投稿人姓名phoneNchar(11)Not null电话addressVarchar(100)Not null 通信地址emailVarchar(30)Not null邮箱cardIDVarchar(30)Not null银行卡号稿件表:article字段名称字段类型是否为空字段描述备注articleIdintNot null稿件编号PKtitleVarchar(50)Not null标题abstractVarchar(1000)Not null摘要typeVarchar(50)Not null类型lengthintNot null字数timeDatetimeNot null 投稿日期reviewfeefloatNot null审稿费reviewfeeStatusVarchar(30)Not null审稿费状态writerIdintNot null投稿人idFK,对应writer表的writerid审稿人:(账号,密码,姓名,电话)Reviewer字段名称字段类型是否为空字段描述备注reviewerIDintNot null 审稿人账号PKpasswordVarchar(30)Not null 密码nameVarchar(30)Not null姓名phoneNchar(11)Not null电话管理员:(账号,密码,姓名,电话)Administrator字段名称字段类型是否为空字段描述备注adminIDintNot null 管理员账号PKpasswordVarchar(30)Not null 密码nameVarchar(30)Not null姓名phoneNchar(11)Not null电话审稿: (审稿人账号,稿件编号,审查状态,是否通过,评语)Review字段名称字段类型是否为空字段描述备注reviewerIDintNot null审稿人IDPK联合主键FK Reviewer表的外键articleIDIntNot null稿件编号PK FKArticle表的外键reviewStatusVarchar(30)Not null审查状态passedVarchar(30)记录稿件是否通过commentsVarchar(1000)审稿人的评语稿件管理:(管理员账号,稿件编号,发表日期,稿费,稿费状态,版面费,版面费状态)articleManagement字段名称字段类型是否为空字段描述备注adminIDintNot null审稿人IDPK联合主键 FK administrator表的外键articleIDintNot null已经通过的稿件编号PK 联合主键FK article表的外键datedatetimeNot null发表日期articleFeefloat稿费articleFeeStatusVarchar(30)Not null稿费发放状态spaceFeefloat版面费spaceFeeStatusVarchar(30)Not null版面费是否收到4.4 Sql语句以及存储过程create database onlineSubmission;use onlineSubmission;CREATE TABLE writer (writerIdintNot null primary key,passwordVarchar(30)Not null,nameVarchar(30)Not null,phoneNchar(11)Not null,addressVarchar(100)Not null ,emailVarchar(30)Not null,cardIDVarchar(30)Not null);CREATE TABLE article (articleIdintNot null primary key,titleVarchar(50)Not null,abstractVarchar(1000)Not null,typeVarchar(50)Not null,lengthintNot null,timedatetimeNot null ,reviewfeefloatNot null,reviewfeeStatusVarchar(30)Not null,writerIdintNot null ,foreign key(writerId) references writer(writerID);CREATE TABLE reviewer (reviewerIDintNot null primary key,passwordVarchar(30)Not null ,nameVarchar(30)Not null,phoneNchar(11)Not null,);CREATE TABLE administrator (adminIDintNot null primary key,passwordVarchar(30)Not null ,nameVarchar(30)Not null,phoneNchar(11)Not null);CREATE TABLE review (reviewerIDintNot null,articleIDintNot null,reviewStatusVarchar(30)Not null,passedVarchar(30),commentsVarchar(1000),primary key(reviewerID,articleID),foreign key(reviewerID) references reviewer(reviewerID),foreign key(articleID) references article(articleID);CREATE TABLE articleManagement (adminIDintNot null,articleIDintNot null,datedatetimeNot null,articleFeefloat,articleFeeStatusVarchar(30)Not null,spaceFeefloat,spaceFeeStatusVarchar(30)Not null,primary key(adminID,articleID),foreign key(adminID) references administrator(adminID),foreign key(articleID) references article(articleID)CREATE PROCEDURE getreviewerlist pageSize INT, pageIndex INTasSELECT reviewerid,password,name,phoneFROM ( SELECT TOP ( pageSize * pageIndex ) ROW_NUMBER() OVER ( ORDER BY reviewerid Asc ) AS rownum ,* FROM reviewer ) AS tempWHERE temp.rownum ( pageSize * ( pageIndex - 1 ) )ORDER BY temp.revieweridUSE onlineGO/* Object: StoredProcedure dbo.getArticleBywriterIDPage Script Date: 2017/1/2 16:42:34 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE dbo.getArticleBywriterIDPage pageSize INT, pageIndex INT, writerid intasSELECT articleid,title,abstract,type,length,time,reviewfee,reviewfeestatus,writeridFROM ( SELECT TOP ( pageSize * pageIndex ) ROW_NUMBER() OVER ( ORDER BY articleID Asc ) AS rownum ,* FROM article where writerid = writerid ) AS tempWHERE temp.rownum ( pageSize * ( pageIndex - 1 ) )ORDER BY temp.articleidUSE onlineGO/* Object: StoredProcedure dbo.getreviewerlist Script Date: 2017/1/2 16:43:06 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE dbo.getreviewerlist pageSize INT, pageIndex INTasSELECT reviewerid,password,name,phoneFROM ( SELECT TOP ( pageSize * pageIndex ) ROW_NUMBER() OVER ( ORDER BY reviewerid Asc ) AS rownum ,* FROM reviewer ) AS tempWHERE temp.rownum ( pageSize * ( pageIndex - 1 ) )ORDER BY temp.reviewerid5 概要设计该系统采取的是web开发模式,采用mvc架构,具体环境如下:开发环境:MyEclipse 2015。开发语言:JSP+JAVA+servlet。后台数据库:mysql。开发环境运行平台:Windows10浏览器:FireFox。投稿人:管理员模块:审稿人模块:5.1 详细设计投稿人:package com.online.web;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.sql.Date;import java.util.List;import java.util.UUID;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import mons.fileupload.FileItem;import mons.fileupload.FileUploadException;import mons.fileupload.disk.DiskFileItemFactory;import mons.fileupload.servlet.ServletFileUpload;public class upload extends HttpServlet /* * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String path = this.getServletContext().getRealPath(/WEB-INF/down); DiskFileItemFactory dis = new DiskFileItemFactory(); dis.setRepository(new File(this.getServletContext().getRealPath(/WEB-INF/temp); ServletFileUpload upload = new ServletFileUpload(dis); upload.setHeaderEncoding(UTF-8); List list = null;try list = upload.parseRequest(request); catch (FileUploadException e) / TODO Auto-generated catch blocke.printStackTrace(); for(FileItem item : list)if(item.isFormField()/fileitem中封装的是普通输入项的数据String name = item.getFieldName();String value = item.getString(UTF-8);if(name.equals(time)long i = System.currentTimeMillis(); Date d = new Date(i); java.sql.Timestamp st = new java.sql.Timestamp(d.getTime(); request.getSession(false).setAttribute(name+1, st);request.getSession().setAttribute(name, value);/value = new String(value.getBytes(iso8859-1),UTF-8);System.out.println(name + = + value);else/fileitem中封装的是上传文件String filename = item.getName(); /不同的浏览器提交的文件是不一样 c:ab1.txt 1.txtSystem.out.println(filename);if(filename=null | filename.trim().equals()continue; long i = System.currentTimeMillis();filename = i+filename.substring(filename.lastIndexOf()+1);request.getSession().setAttribute(file, filename);InputStream in = item.getInputStream();/得到文件保存的名称/得到文件的保存目录FileOutputStream out = new FileOutputStream(path + + filename);System.out.print(path + + filename);byte buffer = new byte1024;int len = 0;while(len=in.read(buffer)0)out.write(buffer, 0, len); in.close();out.close();item.delete(); /删除临时文件 String length2 = (String) request.getSession().getAttribute(length); String money = Integer.parseInt(length2)/100+; request.setAttribute(message, money); request.getRequestDispatcher(/give.jsp).forward(request, response);/* * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request,response);管理员:package com.online.web.admin;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.online.dao.Page;import com.online.service.bussiness;public class allocate extends HttpServlet /* * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String page = request.getParameter(page);String page3 = request.getParameter(pageNum); bussiness b = new bussiness(); request.setAttribute(rer, b.getReviewer(); if(page=null) Page page2 = new Page();Page pagereal = b.getAllatricle(page2);request.setAttribute(page, pagereal);request.getRequestDispatcher(/admin/allocate.jsp).forward(request, response);return; if(page.equals(next)Page page2 = new Page();page2.setNext(page);page2.setPageNum(Integer.parseInt(page3);Page pagereal = b.getAllatricle(page2);request.setAttribute(page, pagereal);request.getRequestDispatcher(/admin/allocate.jsp).forward(request, response);return ;if(page.equals(last)Page page2 = new Page();page2.setLast(page);page2.setPageNum(Integer.parseInt(page3);Page pagereal = b.getAllatricle(page2);request.setAttribute(page, pagereal);request.getRequestDispatcher(/admin/allocate.jsp).forward(request, response);return ;if(page.equals(firstpage)Page page2 = new Page();page2.setFirstPageNum(page);page2.setPageNum(Integer.parseInt(page3);Page pagereal = b.getAllatricle(page2);request.setAttribute(page, pagereal);request.getRequestDispatcher(/admin/allocate.jsp).forward(request, response);return ;if(page.equals(lastpage)Page page2 = new Page();page2.setLastPageNum(page);page2.setPageNum(Integer.parseInt(page3);Page pagereal = b.getAllatricle(page2);request.setAttribute(page, pagereal);request.getRequestDispatcher(/admin/allocate.jsp).forward(request, response);return ;/* * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request,response);审稿人:package com.online.web.reviewer;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.online.dao.ReviewDAO;import com.online.domain.Review;public class DealArticleServlet extends HttpServlet /* * */private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽源公务员专业知识培训课件
- 深圳社保公积金培训
- 2025年3D打印的定制化医疗产品开发
- 2025行业未来发展趋势研究
- 中国银行2025固原市秋招笔试EPI能力测试题专练及答案
- 邮储银行2025怒江傈僳族自治州金融科技岗笔试题及答案
- 建设银行2025赤峰市秋招笔试性格测试题专练及答案
- 农业银行2025绍兴市数据分析师笔试题及答案
- 工商银行2025呼和浩特市结构化面试15问及话术
- 交通银行2025黄石市半结构化面试15问及话术
- JC-T 2127-2012 建材工业用不定形耐火材料施工及验收规范
- 人教版小学英语所有语法及人教版小学英语语法大全
- 雅思词汇2000(带音标)
- 英雄联盟游戏分析报告
- 黑白装饰画教学课件
- 《休闲时尚品牌》课件
- 保健食品用原料人参叶团体标准
- 小儿支气管肺炎护理查房
- 五年级上册道德与法治总复习资料
- 小学校本课程-【海洋教育】海洋中的绿洲教学课件设计
- 第一课 社会主义从空想到科学、从理论到实践的发展 思维导图+必背知识点填空+同步练习(含答案)
评论
0/150
提交评论