某期刊在线投稿审稿管理系统 下载本文

中南大学

数据库课设实验报告

姓名: 孙毅

学号:0906140106 班级:信安1401 指导老师:张伟 时间:2016.09.24

1

目录

一、课程设计的题目、系统的总体功能描述----------------------3 1、本次的课程设计的题目----------------------------------3 2、系统的总体功能描述------------------------------------3 二、需求分析------------------------------------------------3 1、 业务描述---------------------------------------------3 2、业务流程----------------------------------------------4 三、数据库概念结构设计--------------------------------------5 四、数据库逻辑结构设计(列表形式)----------------------------7 五、应用系统功能结构图(模块结构图)--------------------------10 1、基本信息维护------------------------------------------10 2、人员信息维护------------------------------------------11 3、稿件管理----------------------------------------------13 4、交流与建议--------------------------------------------14 六、各功能模块程详细设计------------------------------------16 1、系统主框架设计----------------------------------------16 2、人员信息管理------------------------------------------16 3、本信息管理--------------------------------------------22 4、交流与建议--------------------------------------------23 5、稿件管理----------------------------------------------26 七、主要源程序----------------------------------------------34 八、总结------------------------------------------------------------------------------51 1、课设过程中遇到的问题和体会------------------------------------------51 2、对系统本身的一些分析---------------------------------------------------51 3、希望对系统的一些改进----------------------------------52 九、参考文献------------------------------------------------53

2

一、 课程设计的题目、系统的总体功能描述

1、本次的课程设计的题目

某期刊的在线投稿审稿管理系统。 2、系统的总体功能描述

流程描述:编辑部开展征稿,收集到稿件,登记稿件基本信息,给作者寄出收稿回执。由相应专家审核稿件,不合格就退回给作者,需要修改就交由作者修改后提交。修改合格后录用稿件。对录用稿件按学报要求编辑加工和校对。出版发行到各相应单位。

该系统必须能够让作者(注册后)在远程机器上通过网络上传自己的稿件,稿件上传后,系统自动生成一个唯一的稿件编号,以后作者可以通过该编号查询到稿件的当前处理状态,并及时和学报进行远程电子通信联系,同时作者可以远程修改自己的个人信息。系统必须和“期刊学报管理信息系统”有统一的接口,以便编辑人员能够通过期刊学报管理信息系统处理远程投稿的稿件,并及时反馈信息给稿件作者。

二、 需求分析

1、 业务描述

(1)投稿人员进行系统用户注册,获得系统核准后登录系统,填写稿件相关信息,提交稿件。

(2)编辑部工作人员接受提交稿件后进行稿件处理,将稿件分发给责任编辑,责任编辑根据稿件研究方向选定评审专家,评审专家审阅后填写评审意见。 (3)如稿件需要修改则返还给投稿人。

(4)投稿人阅读修改意见后,修改稿件重新提交。

(5)如稿件没有通过评审,则返还给投稿人,同时进行相应退稿信息的登记。 (6)如稿件通过评审,则进入录用,出版。

3

2、业务流程

投稿人注册编辑部人员接收稿件否分发给责任编成功辑修改或退稿1,4是登录选定评审专家并分发3,5投稿评审结论通过录用出版

图1 投稿系统业务流程图

4

26

三、数据库概念结构设计

管理员信息表管理员编号管理员名密码添加时间邮件信息表信息编号管理员发信人名管理员收信人名用户发信人名用户收信人名发送时间接收时间邮件内容邮件标题稿件信息表稿件编号中文题目英文题目学科类型专业类型稿件类型专刊名称中文摘要英文摘要中文关键词英文关键词基金类型收稿日期审核日期退修日期出版日期期刊编号责任编辑第一作者编号第二作者编号第三作者编号论文第一单位联系人姓名稿费备注状态 专家专家审稿费审核意见上传文件名学科类型表学科编号学科名作者信息表作者编号用户名密码作者姓名性别民族出生学历(中专,大专,本科,研究生,博士及以上)职称(下拉)学科类型专业类型研究方向固定电话移动电话传真号单位通信地址邮编E-mail专业类型表专业编号专业名学科名 图2 数据关联图

(1)管理员表单:管理员表单为后台管理员的信息表单,含管理员ID,管理员名,密码,添加时间。管理员表单可作为编辑部工作人员数据库表单设计的基础,在此上添加更多人员个人信息,以及权限字段,进一步区别后台为维护人员和系统管理人员。系统管理员:系统管理人员对系统拥有最高权限,可以修改、设定

5

所有人员的密码和权限,并拥有对系统的录入、查询、统计、修改、打印、浏览的全部操作权限。这一角色由系统的设计研制人员担任,并由其负责系统的运用和协调。系统操作员:系统的操作人员是指编辑部的责任编辑和编务人员。他们拥有对系统的录入、查询、统计、修改、打印、浏览的操作权限。他们只能修改自己的密码,不能修改他人的密码。

(2)作者信息表:作者与用户信息表合为一张,包括作者编号,用户名,密码,作者姓名,性别,民族,出生,学历(中专,大专,本科,研究生,博士及以上),职称(下拉),学科类型,专业类型,研究方向,固定电话,移动电话,传真号,单位,通信地址,邮编,E-mail。其中学科类型和专业类型由系统从学科类型表和专业类型表中提供。管理员字段不允许重复。

(3)稿件信息表:为所提交稿件信息,包括稿件编号,中文题目,英文题目,上传文件名,学科类型,专业类型,稿件类型(正常投稿,长文投稿,专刊投稿),专刊名称,中文摘要,英文摘要,中文关键词,英文关键词,是否基金论文(基金类型),收稿日期,审核日期,退修日期(退稿和修改日期),出版日期,期刊编号,责任编辑(管理员),第一作者编号,第二作者编号,第三作者编号,论文第一单位,联系人ID数字,稿费,备注,状态(待审核,审核中,待修改,已审核,已发表,已退稿),专家,专家审稿费,专家审核意见。其中学科类型和专业类型由系统从学科类型表和专业类型表中提供。稿件联系人姓名和作者名必须存在于作者信息表中,是该表的用户名或作者姓名字段。用户名字段不允许重复。

(4)学科类型:包括学科编号,学科名。学科名不允许出现重复值。(5)专业类型:包括专业编号,专业名,学科名。其中学科名为学科类型表中对应字段。专业名不允许出现重复值。

(6)邮件信息包括信息编号,管理员发信人名,管理员收信人名,用户发信人名,用户收信人名,发送时间,接收时间,邮件内容,邮件标题。

四、数据库逻辑结构设计(列表形式)

6

关系表设计

表1:管理员信息表:Admin表 列名 数据类型 长度 ID aName aPassword AddTime

表2:作者信息表:YNuser表

列名 ID usname uspassword usrealname ussex usnation usbirthday Num char char varchar char varchar datetime varchar usdegree 数据类型 6 20 20 10 2 12 8 6 长度 备注 作者编号 用户名 密码 作者姓名 性别 民族 出生 学历(中专,大专,本科,研究生,博士及以上) uspost LCat SCat usDrection usphone usmoblie usfaxnumber uscompany usaddress usaddresscode usemail

备注 管理员编号 管理员名 密码 添加时间 Num char char Date

10 20 20 varchar varchar varchar varchar varchar varchar varchar varchar varchar char varchar 7

6 20 20 50 14 14 14 40 40 6 40 职称(下拉) 学科类型 专业类型 研究方向 固定电话 移动电话 传真号 单位 通信地址 邮编 E-mail

表3:论文信息表:paper表 列名 pID pCName pEName LCat SCat Num 数据类型 8 50 50 20 20 8 varchar varchar varchar varchar varchar 长度 备注 稿件编号 中文题目 英文题目 学科类型 专业类型 稿件类型(正常投稿,长文投稿,专刊投稿) pClass ZKName Zwzy Ywzy Zwgj Ywgj Jjlx SGDate SHDate TXDate CBDate QKID EName pWriter1 pWriter2 pWriter3 pCom UName UFee varchar varchar varchar varchar varchar char 20 20 20 20 20 8 专刊名称 中文摘要 英文摘要 中文关键词 英文关键词 是否基金论文(基金类型)下拉 datetime datetime datetime datetime char char char char char char char money 8 8 8 8 6 8 6 6 6 20 6 8 收稿日期 审核日期 退修日期 出版日期 期刊编号 责任编辑 第一作者编号 第二作者编号 第三作者编号 论文第一单位 联系人姓名 稿费 8

pContent varchar Num 50 1 备注 状态(待审核,审核中,待修改,已审核,已发表,已退稿) pStatus proName proFee pClu pFilename

char smallint varchar varchar 6 8 500 20 专家 专家审稿费 审核意见 上传文件名 表4:学科类型表:LClass表

列名 LID LName

表5:专业类型表:SClass表 数据类型 Num char 10 20 长度 允许空 学科编号 学科名 列名 SID SName SLName

Num char char 数据类型 10 20 20 长度 允许空 专业编号 专业名 学科名 表6:邮件信息表:message表 列名 数据类型 长度 ID msgAFrom msgATo msgUFrom msgUTo msgSTime Num char char char char datetime 10 20 20 20 20 8 允许空 信息编号 管理员发信人名 管理员收信人名 用户发信人名 用户收信人名 发送时间 9

msgRTime msgContent msgTitle

datetime varchar varchar 8 50 20 接收时间 邮件内容 邮件标题 五、应用系统功能结构图(模块结构图)

1、基本信息维护

基本信息维护学科类型专业类型

图3 基本信息维护模块

功能描述:管理员定期在后台更新学科类型和专业类型,投稿人员进行稿件提交操作时,从系统提供的下拉表单中选取相应栏目,此设置既可便于用户操作,又可统一提交信息,便于查询辨识。

学科类型维护管理员专业类型维护 图4 基本信息维护流程

10

流程描述:管理员先进行学科类型添加,修改删除维护,在学科类型下面再进行专业类型的添加、修改和删除。

2、人员信息维护

人员信息维护用户信息管理员信息

图5 人员信息维护模块

功能描述:管理员在后台进行管理员信息的添加,修改和删除操作,同时可进行自己密码的更新。管理员也可在后台进行用户信息的查看,修改,删除和查询操作,可按用户名,真名,性别,单位名称进行查询。用户在前台可进行自我信息注册,登录,权限检查,个人信息修改等操作。在此模块中,系统会对登录用户和管理员进行验证,核对权限,为用户和管理员进行其他模块操作提供Session记录。

11

添加个人信息用户未通过登录登录管理员未通过未通过该用户名存在?系统审核系统审核通过通过通过个人信息维护个人信息维护管理员信息维护用户信息维护用户信息查询 图6 人员信息维护流程

流程描述:用户填写个人用户信息,系统检测填写信息是否符合要求,查看所选用户名是否唯一,符合一切条件后允许用户注册成功,后台数据库自动为用户插入用户编号。用户以注册所得的用户名登录系统,系统进行用户名和密码检测,审核权限,通过后用户可进行个人信息,密码,邮箱信息的远程维护工作。管理员进行系统登录,系统核对用户名和密码,审核权限,管理员登录成功后可进行个人信息维护,管理员添加,修改删除操作,系统将查测新添加管理员名是否唯一,唯一允许添加,并自动为新管理员添加编号,管理员还可进行用户信息的修改,删除,以及查询工作。

12

3、稿件管理

稿件管理投稿处理稿件修改稿件审核稿件退回稿件查询

图7 稿件管理模块

功能描述:

1.投稿处理:该模块将为用户提供稿件信息填写,文件上传下载的平台,并自动生成稿件编号,便于用户以后查询。

2.稿件修改:该模块为用户提供待修改稿件的查看,修改意见的查看,稿件信息重新修改,修改稿的提交。

3.稿件审核:该模块为后台管理者提供待审文件的查看和删除功能,并能对待审文件进行审核,将稿件分别送往审核处理,修改,已审核,已发表,退稿流程,并可填写相应审核意见,与作者进行交互。

4.稿件退回:接收退回稿件,登记退回稿件相应信息,查看退回稿件文档和退稿意见。

5.稿件查询:用户可按系统提供的稿件编号和投稿时间查看所需稿件处理进程,基础信息和详细文档。管理员可按学科类型对处于待审、修改、已审和退稿状态的稿件分别进行查看,还可按稿件编号,投稿时间,作者进行综合查询。该模块将更有利于作者了解稿件处理进程,有利于编辑部工作人员进行稿件的检索统计,减轻工作量,提高工作效率。

13

填写稿件基本信息用户上传文档填写审核意见管理员修改审核结果通过退稿记录稿件信息录用出版

图8 稿件管理流程

流程描述:用户登录系统,填写提交稿件基本信息,上传文档。管理员接收提交稿件,交责任主编由专家审核,审核完毕管理员向系统填写审核意见,通过审核就准备录用出版,如需要修改,系统根据审核结果将文档返还作者,作者查看修改意见,重新提交稿件。如果稿件不被录用,则系统记录稿件信息后,自动转还用户。

4、交流与建议

14

交流与建议邮件收取邮件发送邮件回复

图9 交流与建议模块

功能描述:用户和编辑部可就某一问题或信息进行邮件式的往复交流,都可进行邮件的接收,发送和回复。此模块旨在加强作者和编辑之间的沟通交流,扩大学报信息的透明度,以及学报在读者中的影响力。

发送邮件接收邮件查看邮件回复邮件

图10 交流与建议流程

15

流程描述:用户填写邮件主题,内容,选择接收人,发送邮件。查看接收邮件,根据内容进行回复,系统将自动以原发送人作为接收人,同时保留原主题和内容,用户可在此基础上进行添加修改。此功能将使作者和编辑之间的联系更加紧密。

六、各功能模块程详细设计

1、系统主框架设计

系统分为题头,题尾,中间三部分,其中中间部分又分为左右两部分,左边为目录树,右边为内容. 中间部分代码如下:

??

表单中调用以上检查项目,对表单提交的信息进行正确性检查

name=AuthorInfoBean

action=\

method=post onSubmit=\(5)管理员对用户信息的维护

其包括对用户信息的查看,修改,删除和查询。管理员可根据用户名,真名,单位名称,性别对用户信息进行综合查询。查询技术解决方法:在Select语句的where中设定用户名,真名,单位名称,性别字段值,对Select语句从数据库中选出

21

来的信息进行刷选。

(6)管理员对管理员信息的维护

其包括管理员的添加,删除,修改和查看。添加或修改管理员会对密码与确认密码是否一致,管理员名是否唯一进行检查。 3、本信息管理

(1)学科信息的添加,修改,删除和查看

学科信息添加或修改时,将对学科名是否唯一进行检查,方法如下: sql= \ LClass where LName = '\set rs = ExecuteQuery(sql)

if(rs(0) > 0) then

Alert(\重复输入学科名\GoBack() rs.close() set rs = nothing Response.end

end if

删除学科时,必须注意将该学科下的专业名一起删除,方法如下 del_subject.asp:删除学科 <% dim i dim j

id=request(\接收传来的多个要删除的学科ID号 'response.write id

id=split(id,\将多个要删除的学科ID号进行分离 i=ubound(id) 'response.write i

22

for j=0 to i

sql=\删除学科 ExecuteNonQuery(sql)

sql=\from SClass where SLName =(select LName from LClass where LID=\删除该学科下的专业 ExecuteNonQuery(sql) next

response.redirect \%>

(2)专业信息的添加,修改,删除和查看

专业信息添加或修改时,将对专业名是否唯一进行检查,方法如下: sql= \ SClass where SName = '\set rs = ExecuteQuery(sql)

if(rs(0) > 0) then

Alert(\重复输入专业名\GoBack() rs.close() set rs = nothing Response.end

end if

删除专业时,由于专业位于学科之下,所以不会对位于上一层的学科产生影响. 4、交流与建议

用户和编辑部之间可进行邮件的接收,回复,发送,查看和删除. (1)接收发送邮件列表

由于用户和编辑分别位于两张表YNuser和Admin中,数据库的message表中为发出信息的用户,接收信息的用户,发出信息的编辑,接收信息的编辑分别设

23

了字段msgUFrom, msgUTo, msgAFrom, msgATo来识别发送人是用户类还是编辑类,接收人是用户类还是编辑类。由于存在发送信息的用户或编辑已经被删除,而其所发送信息还存在,这样接收人在对已被删除的发送人发出的信件进行查看,回复时就会发生错误,所以我们在书写Select语句时使用了左连接,当用户表或管理员(编辑)表的ID与message表中的用户ID或管理员ID字段不能一一对应的时候,就以用户表和管理员表有的ID号为准.方法如下: 接收方为用户方:

msgUTo = Session(\

sql = \message.*,Admin.aName from Admin left join message on message.msgAFrom = Admin.ID where message.msgUTo = \ sql = sql & msgUTo & \接收方为编辑方:

msgATo = Session(\

sql = \message.*,YNuser.usname from YNuser left join message on message.msgUFrom = YNuser.ID where message.msgATo = \ sql = sql & msgATo & \

用户或管理员查看了邮件后,系统将为邮件查看时间msgRTime赋值Now() (2)邮件的回复

进行回复操作时,系统将自动将邮件的接收人和发送人的位置对调,原来的发送人成为邮件默认的接收人,还可重新选择其他人作为接收人,同时邮件标题自动变为”Re:原邮件标题”,邮件内容自动变为: “于原邮件发送时间收到原邮件发送人发来的信件,内容:原邮件内容”,实现方法以接收人为用户类,发送人为编辑为例:

msgTitle = \)回复邮件标题 msgATo = mrs(\交换收发邮件人位置 msgUFrom = mrs(\

接收邮件人设置:默认为原发送邮件人,但也可选择其他邮件接收人

邮件内容的设置

height=\

class=\

rows=\

name=\cols=\class=\于<%=msgSTime%>收到<%=msgAFrom%>发来的信件

内容:<%=msgContent%>

新回复的邮件将作为一条新记录插入到message表中,拥有新的ID 号.同时系统在回复邮件正式提交时,还会进一步确认邮件接收人是否还继续存在于系统中,防止在回复邮件的过程中,被回复邮件原来的发送人已被删除,确保回复操

25

作的成功! (3)新邮件发送

系统自动将当前用户默认为邮件的发送人,并将提供接收人名列表.同时在邮件正式发送时,进一步确认接收人是否还继续存在于系统中,防止在发送新邮件的过程中,新邮件的接收人已被删除,确保发送操作的成功! (4)邮件查看

邮件查看时,系统将检查该用户或管理员是否有查看此邮件的权限,方法是将用户或管理员登录时,记录的Session(“userID”)与该邮件的接收人或发送人ID进行比较,如果既不是接收人也不是发送人则无权查看该邮件,实现对邮件信息进行保护。 5、稿件管理 (1)稿件提交

由于要上传文件,所以与其他增加信息操作不同在于,提交表单的Form中要加上enctype=\\将所传数据变成二进制上传;表单还将对提交信息正确性,文件格式是否为word或pdf进行检查,方法如下:

name=PaperContentFormBean

29

action=\

enctype=\ method=post >

由于学科和专业是上下级关系,在提供选择时,形成级联菜单,实现方法如下

学科类型

class=greentdnoborder> 专业选择

稿件提交完成后,系统将为稿件生成一个编号,作为以后查询稿件处理进程之用,生成稿件编号的方法如下: randomize

ID=100000000+fix(100000000*Rnd)随机生成一个ID

sql = \保证生成ID唯一 Set rs = ExecuteQuery(sql) do while (rs(0) <> 0)

rs.close set rs=nothing randomize

ID=100000000+fix(100000000*Rnd)

sql = \

Set rs = ExecuteQuery(sql) loop rs.close set rs=nothing (2) 稿件审核

管理员查看待审稿件基本信息,下载或保存待审稿件,填写责任编辑名和专

32

家名,选定审核结果为审核中,修改,通过或退稿.为了区分这几种审核结果,在稿件信息表paper中用字段pStatus区别, 其中待审核0,审核中1,待修改2,已审核3,已发表4,已退稿5,选定审核结果后,稿件将转到待修改稿件列表,已审稿件列表或退稿列表。 (3)稿件修改

系统从数据库读取该稿件信息供用户修改,用户可下载或保存需要修改稿件,查看修改意见,重新填写稿件基本信息,重新上传稿件,原理与稿件上传相同。 (4)稿件列表

按稿件的状态进行待修改稿件列表,已审稿件列表,退稿列表展示,方便用户查看稿件处理状态和管理员管理稿件,删除无用稿件。

a.前台稿件列表:根据登录用户ID和需查看稿件状态进行属于该用户的稿件列表,方法如下,其中pStatus随查看列表的稿件处理状态而设定不同取值。 UName = Session(\

sql = \ pStatus = ? and UName = '\by SGDate desc\

b.后台稿件列表:根据稿件状态进行所有用户列表,并可按学科专业分类进行列表.实现方法:依据稿件不同处理状态,设定pStatus的取值.对需按学科专业分类展示的,则在Select语句的where中设定学科专业的取值,对从数据库中选取的信息进一步刷选。 (5)稿件综合查询

1.前台稿件查询:用户可查看处于各种处理状态的,属于该用户提交的稿件,并可根据稿件编号和投稿时间进行查询,实现方法是对Select语句where中稿件编号和投稿时间字段进行设定,实现对数据库中选取信息进一步刷选。

2.后台稿件查询:管理员可查看处于各种处理状态,所有用户提交的稿件,并可对无用稿件进行删除.可以按稿件编号,投稿时间和作者进行综合查询,方法是在Select语句的where中设定投稿编号,投稿时间和作者的取值范围,对数据库选出

33

的数据进一步刷选。 (6)稿件查看

根据提供的稿件编号,可查看该稿件的基本信息,责任编辑,审核专家,处理意见和结果,并可下载稿件文档详细审阅

七、主要源程序

1.头文件: dtree.js:目录树函数 Data.js:前台目录树结构 dataAdmin.js:后台目录树结构 const.asp:数据库连接头文件 Check.asp;用户权限判断文件

checkAdmin.asp:管理员权限判断文件 reg.asp:用户注册 Login.asp:用户登录 Logout.asp:用户退出 adminlogin.asp:管理员登录 Logout.asp:管理员退出

2.基本信息管理

Listsubject.asp:学科列表 listsubject1.asp:专业列表 save_subject.asp:保存学科 save_subject1.asp:保存专业 edit_subject.asp:学科编辑 edit_subject1.asp:专业编辑

34

del_subject.asp:删除学科