jsp4高校论文库管理系统(ssh)_第1页
jsp4高校论文库管理系统(ssh)_第2页
jsp4高校论文库管理系统(ssh)_第3页
jsp4高校论文库管理系统(ssh)_第4页
jsp4高校论文库管理系统(ssh)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要:随着计算机网络信息技术的发展,信息化办公在校园日益普及,而以前论文管理部靠手工处理论文的方式越来越无法体现信息时代的需要,我开发的高校论文库管理系统则有助于提高论文管理部处理论文的效率和质量,加强与作者的沟通交流,扩大论文的影响力。高校论文库管理系统能有效地获取、管理、查询、验证和处理系统中的数据,进而提供信息给相关用户并支持其的合理的操作、管理和维护功能。系统采用浏览器/服务器(Browser/Server)结构,能使客户端的维护工作大大降低。因为B/S结构简单,使用方便,利用单一的Browser软件,就可以访问文本、图象、声音、数据等信息。同时客户端无须设计专用软件,使系统的维护工作大为减轻。系统中在B/S模式下处理表单数据、确认用户表单、信息查询与管理、实现文件的上传和下载、后台管理等功能。通过应用便于维护的模块化设计思路,将处理系统划分为论文基本信息管理,用户和管理员人员信息管理,论文管理,信息交流建议,信息综合查询等模块,同时结合动态服务器(JSP脚本环境,HTML语言、Script语言和mysql数据库等技术实现其功能,利用这些技术来开发系统可以起到事半功倍的效果。关键词:;论文;系统设计;JSP;数据库;PeriodicaljournalcontributionsystemofthenetworkAbstract:Withthedevelopmentofnetworkinformationtechnologyofthecomputer,handlingofficialbusinessininformationizationpopularizesdaybydayinthecampusinthesummary,thejournaleditorialdepartmentofbeforeisbydealingwithwaymoreunableneedwhichreflectedinformationageofthemanuscriptbyhand,thenetworkcontributionsystemthatwedevelopedcontributestoraisingjournalefficiencyandqualityofdealingwithmanuscriptofeditorialdepartment,theonesthatstrengthenedwiththeauthorweresocialised,expandedtheinfluencepowerofthejournal.Networkcontributionsystem,Itcanobtain,manages,inquiresabout,provesandthedataintheprocesssystemeffectively,andthenofferinformationtorelevantusersandrationaloperation,managementandmaintenancefunctionofsupportingit.Thesystemadoptsthebrowser/thestructureoftheserver(Browser/Server),canmakethemaintenanceworkofthecustomerendreducegreatly.BecauseB/Sisofsimplestructure,easytouse,utilizessingleBrowsersoftware,canvisitsuchinformationasthetext,vision,sound,data,etc..Atthesametimethecustomerendneedn'tbedesignedspecial-purposesoftware,makethesystematicmaintenanceworkgreatlylighten!Dealwiththeformdata,confirmuser'sform,informationinquiryandmanaging,realizingsuchfunctionsasuploadinganddownloading,back-stagemanagementofthefile,etc.underB/Smodeinthesystem.Throughusingthemodulementalityofdesigningeasytomaintain,dividetheprocesssystemintothebasicinformationmanagementofthemanuscript,userandinformationmanagement,personofjanitor,,themanuscriptismanaged,informationinterchangeisproposed,suchmoduleastheinformationcomprehensiveinquiry,etc.,combinethescriptenvironmentofthedynamicserver(JSP)atthesametime,suchitsfunctionsoftechnologyasHTMLlanguage,ScriptlanguageandAccessdatabase,etc.,cangetuptotheresultofgettingtwicetheresultwithhalftheeffortwhilemakinguseofthetechnologytodevelopthesystem.Keyword:Periodicaljournal;Networkcontribution;Thesystemisdesigned;JSP;Database;目录1绪论 11.1高校论文库管理系统设计的意义 11.1.1论文采编管理工作的现状 11.1.2论文采编管理手工工作的流程 11.1.3手工操作方式中几个比较突出的问题 21.1.4高校论文库管理系统设计的意义 31.2毕业设计的主要工作和论文组织 31.2.1毕业设计的任务 31.2.2工具简介 41.2.3人员 62需求分析 62.1业务描述 62.2业务流程 73系统总体结构设计 83.1系统结构设计 83.2功能模块设计 93.2.1基本信息维护 93.2.2人员信息维护 103.2.3论文管理 124系统详细设计、运行及调试 144.1系统主框架设计 144.2人员信息管理 144.2.1用户注册 144.2.2用户和管理员登录 154.2.3权限检查 164.2.4用户或管理员个人信息和密码修改 164.2.5管理员对用户信息的维护 194.2.6管理员对管理员信息的维护 194.5论文管理 204.5.1论文提交 204.5.2论文审核 264.5.3论文修改 264.5.4论文列表 264.5.5论文综合查询 274.5.6论文查看 275结束语 28谢辞 29参考文献 291绪论1.1高校论文库管理系统设计的意义1.1.1论文采编管理工作的现状论文管理部作为一个出版部门,工作内容多,正所谓“麻雀虽小,五脏具全”。论文工作是一项集组稿、审稿、编辑出版发行等于一身的系统工作。管理部面临人员少、事务繁多工作量大等问题。而且现在的以手工为主的落后的管理方式更加重了编辑人员的负担。以论文登记为例,管理部收到作者投论文后,要进行手工登记,将论文的信息如论文编号、篇名、作者姓名、作者单位、联系方式等记录在登记本上,所有来稿登记在一起,然后返回回执,找好相关专家对论文进行审阅。这种手工工作方式的现状:登记信息不直观,查询论文困难大,费时间,难以掌握某篇论文的现行状况,不便于统计阶段性工作,不便于把握论文的总体情况,工作效率低等等。21世纪是信息化的时代,计算机的应用将普及人类的生活和工作的各个方面。随着各种信息交流量的急剧增加,信息作为人类社会三大资源之一,将会得到更广泛的开发和使用。应用计算机系统为人们全面、及时、准确、迅速地提供各种有益的信息,包括各种优化的决策信息,以提高管理工作效率和决策水平,这是管理信息系统和办公自动化的基本功能。因而,为提高编辑工作效率,实现论文管理工作的现代化、规范化、高效化、必须借助速度快、信息储存量大的计算机辅助完成管理部的日常事务工作。1.1.2论文采编管理手工工作的流程流程描述:管理部开展征稿,收集到论文,登记论文基本信息,给作者寄出收稿回执。由相应专家审核论文,不合格就退回给作者,需要修改就交由作者修改后提交。修改合格后录用论文。对录用论文按论文要求编辑加工和校对。出版发行到各相应单位。如图1-1所示。图1-11.1.3手工操作方式中几个比较突出的问题(1)掌握论文总体情况困难。在工作总结、评估或对论文总体情况进行分析时,需要掌握很多数据,如某一学科专业的投稿数量,某一部门在论文上的投稿数量等。在现行手工登记来稿的工作状况下,就很难及时、准确地掌握这些信息,如果一篇一篇地数,在每年许多来稿的情况下这是一项费时费力的工作。(2)重复性工作多。手工操作的论文处理过程中,需要和作者进行各种书信交流,这些书信基本上是统一体例,有较强的规范性,如果重复地进行手工操作,不仅工作量大、效率低,而且不利于提高管理质量和管理水平。(3)论文查询难。在日常工作中,经常会有作者查询论文处理情况,有时是较长时间的论文,这时单靠编辑人员头脑记忆就会很难得到,要查一篇论文要翻一年的登记表,工作效率很底。(4)选择审稿专家难度大。论文经管理部初审后,要送专家评审,这时要根据论文的内容确定其专家分类,再寻找该专家分类中的专家。到底某一专业分类的专家有哪些人,找哪一位专家审更合适,这时仅仅靠记忆或靠经验是有很大局限性的。如果有一个完整的信息库提供全面情况,再从中挑选就容易了。(5)发行工作难度大。论文发行是论文编辑出版的最后一道工序,也是实现论文编辑出版最终目的的一个环节。发往哪些单位,发行数量有多少,这是一项复杂的工作,发行单位的地址等信息需要准确记录。并且发往的单位每年都有所调整,几百家单位再加上不断调整,只靠手工记录是很容易出错的,需要利用计算机实行系统的管理。另外,每期发行都要写信封也是重复性劳动,占据很大的工作量。1.1.4高校论文库管理系统设计的意义针对以上论文采编管理中存在的问题,设计高校论文库管理系统将有助于论文采编的信息化,实现资源远程共享,信息查询的优化,同时还有利于管理部简化采编流程,实现工作流程的标准化。对于原来需要管理部手工登记的论文信息,可由投稿者在投稿时通过网络登记在系统后台数据库中,将极大地节省了管理部人员的工作量,管理部人员收到论文后无论下一步工作是交由专家评审,管理部校对还是发行到各相应单位,都无需再重复书写论文的主要信息,可以直接通过高校论文库管理系统后台调用,提高了工作效率。使用高校论文库管理系统还将极大地加强投稿者和管理部地沟通交流工作,使投稿者及时了解和跟踪论文处理的情况,缩短了论文在管理部和投稿人间往复的时间,也使投稿人的意见和建议能够充分反馈给管理部,提高管理部的工作质量,同时也将会提高投稿人投稿的积极性,对所投论文给予正确导向,提高论文在读者心目中的影响力。最后系统所提供的信息库将为管理部工作人员以及投稿者节约大量查询统计的时间,提高工作质量,节约工作开支。1.1.5可行性分析系统的可行性分析可以从经济可行性、技术可行性、管理可行性等几个方面进行可行性分析。整个系统尚未运行之前,需要一笔投资,花费相对而言比较多。其中我们需要配置一些电脑、还有服务器及相关的网络设备。一旦整个系统投入运行之后,相关的成本便可以大大的减少。技术可行性分析,考虑使用的硬件和软件技术,旨在满足用户的要求(如计算机的容量,速度等)。此外,该系统并不难,涉及的是有限的机构,如中小型企业或人才服务中心,这样的技术能力已经达到了系统的开发。从管理的角度来分析系统的可行性来讲,作为一个系统,必须有系统的管理员来对系统的一些基础数据进行管理。从系统的维护角度来可以,必须有专门的维护人员来对系统进行维护。系统操作简单易懂,对于操作人员而言只需要学习简单的电脑操作即可熟练使用本系统。系统以个人为单位,仅供个人所用,没有侵犯任何版权,也没有违反国家相关法律法规及相关方面的规定,与业界有关规定也无矛盾之处,所以法律方面可行。1.2毕业设计的主要工作和论文组织1.2.1毕业设计的任务(1).课题目的论文处理是论文工作中一个重要的内容,为了及时、有序和高效地处理众多作者的投稿,及时了解论文当前的状态,论文编辑工作人员必须进行大量繁重的整理和管理论文的工作。本课题的主要目的就是开发一个让作者进行远程投稿的“论文远程处理系统”,该系统必须能够让作者(注册后)在远程机器上通过网络上传自己的论文,论文上传后,系统自动生成一个唯一的论文编号,以后作者可以通过该编号查询到论文的当前处理状态,并及时和论文进行远程电子通信联系,同时作者可以远程修改自己的个人信息。系统必须和“管理信息系统”有统一的接口,以便编辑人员能够通过管理信息系统处理远程投稿的论文,并及时反馈信息给论文作者。本课题主要用JSP语言进行开发,采用mysql数据库。开发工具是myeclipse。(2).课题工作内容①论文论文远程处理系统的需求分析。②论文论文远程处理系统的总体结构设计、详细设计和功能模块结构设计,结合“管理信息系统”的数据库结构设计本系统的数据库结构。③利用Asp或Jsp开发工具开发论文论文远程处理系统,编写完成相关的帮助文档,制作系统的安装文件。④根据所做的工作编写完成毕业设计论文。1.2.2开发语言和开发工具介绍(1)编程语言—JSPJava语言自从1996年正式发布。目前已经成长为IT领域必不可少的主流编程语言。Java起源于Sun公司的“Green”项目。1999年,Sun公司吧Java2技术分成了J2SE,J2EE和J2ME。其中J2E为分布式的企业应用提供开发和运行环境。进入21世纪以后,J2EE由于固有的良好的线性和可扩展性,逐渐成为各大开发商青睐的对象。Java语言中具有面向对象的优势、安全、跨平台、直接支持分布式的网络中的应用、鲁棒性、效率等.Java语言是非常简单且高效的,它使编程时间缩短,却使功能增强,让编程人员接手起来也更加简单,方便。Java语言就像万花筒一样,随意只是几个普通碎片组成起来,但是只要你发挥想象轻轻摇一摇,就会变换出千万种不同的花色。互联网已经发展成为Web应用程序中,如电子商务,电子政务,应用系统的基础设施。基于Web的应用程序称为浏览器/服务器模式,即B/S模式。开发Web应用程序,传统的HTML不能满足要求,需要一些语言来处理用户请求。目前,生成动态网页的方法有CGI、ASP.NET、PHP和JSP。其中JSP是基于Java的。JSP是JavaServerPage的缩写。JSP用来创建动态Web应用程序的快捷方式,并继承了Java“一次编写,到处运行”的特点。[2]JSP具有以下特点:1.将内容的生成和显示进行分离2.强调可重用的组件3.采用标识简化页面开发4.健壮性与安全性5.良好的移植性6.企业级的扩展性和性能(2)编程工具—myeclipseMyEclipse达到了企业工作台水平,是EclipseIDE扩展,用户可以用它来大大提高效率的数据库和JavaEE开发、释放、和应用程序服务器的集成。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse是适合用来开发Java,J2EE的Eclipse插件集合。MyEclipse的功能特别强大,支持面广泛,特别是对各种开放源产品的支持效果很是不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。在结构上,MyEclipse的特征可以被分为7类:1.J2EE模型2.WEB开发工具3.EJB开发工具4.应用程序服务器的连接器5.J2EE项目部署服务6.数据库服务7.MyEclipse整合帮助以上所有功能,在Eclipse中都可以找到对应功能部件。这些功能的实现是利用一系列的插件。MyEclipse的结构上是模块化的,这样可以在不影响其他模块在任何单个模块扩展和升级。简单来说,MyEclipse的是Eclipse插件,J2EE的集成,支持代码编写,配置,测试和调试功能强大的开发环境。(3)数据库—mysqlMySQL是一个开发性的关系型数据库管理系统。它将数据存储在不同的表,并不是简单的将所有数据都放在一个大型的仓库。它是可以提高数据读取的速度和灵活性的RDBMS。[7]MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件拥有社区版和商业版两大版本。因为MySQL体积小、速度快、总成本低,尤其是开放源码这一特点,所以得到了大小型网站开发者的青睐,他们都十分愿意选择MySQL作为数据库。[8]一般对于个人使用者来说MySQL的功能已经十分全面了。在多次比较了Oracle、DB2、SQLserver之后,本论文还是选择了MySQL作为系统的数据库。(4)开发模式—BSB/S结构就是只安装和维护一个服务器,客户端是利用浏览器来运行软件。随着Internet技术的兴起和发展。C/S结构已经无法满足人们的要求。于是人们开始变换的C/S,这产生了B/S结构。B/S比C/S的维护工作量大大减少了。[9]C/S结构的每个客户端都必须安装和配置软件。B/S能够降低总体拥有成本。随着计算机技术的发展,目前大多数科技公司都不约而同的对数据提出了实时性、一致性和安全性等这些要求。传统类型C/S结构根本达不到这些要求,迫切的需要做出改变。但是B/S结构则不同,它可以清楚正确的看到系统正在处理的业务,这样有利于管理人员快速的做出决策,有效地避免了企业经济上的亏损。B/S结构的软件,因为在数据集中在数据库服务器,客户端不持有任何业务数据和数据库连接信息,也无需进行数据同步,所以安全性可以大大提高。B/S结构中的数据采取了集中式管理模式。当客户端的业务产生数据时,这些数据都直接被存入中央数据库。这样的做法避免了数据一致性的问题。这些优点很好更好的迎合了人们的需要。[10] 以当下技术水平来说,利用B/S结构来开发网络应用,并通过Internet/Intranet模式下数据库应用,是容易把握的而且成本也是比较低的。这样的开发模式实现了不同的人,从不同的地点,不同的接入方式访问和操作共同的数据库;它可以有效地保护和管理数据访问平台,服务器数据库也是非常安全的。尤其是在这样一种跨平台语言JAVA之后出现,B/S体系结构管理软件是更方便、更快捷、更高效(5)开发框架系统使用的是SSH2框架。Struts2框架实现了MVC模式,层次结构清晰,程序员只需要注重业务逻辑的实现就可以了,这样一来大大的提高了开发的效率;Struts2只要有配置文件,就可以把握住整个系统各个部分之间的关系;Spring框架在没有程序员的情况下就可以自己实现singleton模式。Hibernate框架的可移植性非常好。在开发过程中简洁的HQL语句,减少了JDBC与SQL操作数据库的代码量,使开发难度降低。[14]所以,SSH2十分适合本系统的开发。在配置SSH2时首先需要创建工程,然后添加struts支持,紧接着进行分包。紧接着添加spring支持和spring配置文件。下面给出具体配置详细分布过程。第一步,在web.xml文件中配置初始化读取参数(spring的配置文件),代码如下: <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param>第二步,配置spring监听器,代码如下:<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>第三步,在struts-config.xml文件中配置请求处理器,将struts请求委托给spring代理,达到控制反转的目的,代码如下:<controllerprocessorClass=“ org.springframework.web.struts.DelegatingRequestProcessor"></controller>第四步,添加hibernate支持,配置好hibernate以后,在applicationContext.xml文件中会自动生成“数据源”,“sessionFactory”,代码如下:<beanid="dsid"class="mons.dbcp.BasicDataSource"><!--方法注入--><propertyname="driverClassName"value="com.microsoft.jdbc.sqlserver.SQLServerDriver"></property><propertyname="url"value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs"></property><propertyname="username"value="sa"></property><propertyname="password"value="sa"></property></bean><!--将hib中的sessionFactory封装--><beanid="sfid"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!--引用实例化好的数据源--><propertyname="dataSource"><refbean="dsid"/></property><propertyname="hibernateProperties"><props><!--设置数据库方言--><propkey="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop><propkey="show_sql">true</prop></props></property></bean>第五步,通过表,反向生成“实体类”,添加配置文件。在当正确添加实体后,appilcationContext.xml文件中会自动添加实体类的映射。详细配置过程如下。<!--将hib中的sessionFactory封装--><beanid="sfid"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!--映射表对象--><propertyname="mappingResources"><list><value>com/alex/ssh/entity/Root58.hbm.xml</value></list></property></bean>第六步,完成上面步骤之后需要修改DAO类的位置,修改配置文件属性值。第七步,添加service类,反转serviceClass,添加struts部分(添加jsp,form,action)。第八步,将struts-config.xml文件中action节点的type属性去掉。第九步,在acpplicationContext.xml文件中代理action类,也是一种控制反转的实现。具体实现操作如下。 <!--反转actionname属性的取值与struts配置中的path="/root"一致--> <beanname="/root"class="com.alex.ssh.action.RootAction"> <propertyname="service"> <refbean="rootService"/> </property> </bean>(6)MVC介绍MVC的英文全称是Model-View-Controller,就是把一个应用的输入、输出和处理流程按照模型、视图、控制的方式进行分离,这样一个应用就会被分成三个层次——模型层、控制层、视图层。如图4-2为MVC模式的基本分层图。[15]图4-2MVC模式基本分层图视图(View)视图代表人机交互界面,就是用户可以清楚看到内容,同时可以参与交互的界面。主要功能实现数据的传输和输出功能,然后在相关页面显示出来,这样用户便可以从视图层获取到有用信息。不同的视图利用不同的方法来呈现需要反应给用户的信息。每一个视图组件都会有一个更新函数,当模型层发生变化的时候这个函数就会被激活。在这个函数被激活以后视图层就会进行更新操作。通过状态查询函数,视图层可以从模型获取数据。模型(Model)模型层的另一个名字是业务逻辑层,它主要用来封装业务逻辑和业务产生的数据。业务逻辑是软件的核心。用户是无法看到业务逻辑层的,业务逻辑层独立于特定输出表示或者输入模式。用户只能利用控制器来控制业务逻辑层。控制(Controller)控制层可以理解起到控制整个业务流程的作用,实现View层跟Model层的协同工作。每个视图有一个与之对应的控制器组件。一旦控制器组件接受到某个事件,就会将这个事件翻译成为对模型或者视图的请求。如果控制器的行为取决于模型的状态,那么控制器需要进行变更的时候也需要向模型发出变更请求通知。例如:用户点击确定按钮,确定按钮的事件响应函数将会做出相应的反应来处理用户要求。本论文在实现系统时,系统架构使用了MVC设计模式。所以它拥有以下几点优势。第一,系统拥有多个视图对应一个模型的能力。这样做可以减少本系统代码量,在进行维护时也减少了工作压力,同时也便于维护。其次,该模型还没有数据显示格式,因此,这些模型可以直接应用到接口。第二,因为应用程序被分成三个图层,所以有时候改变其中之一将能够满足应用程序的更改。第三,系统控制层的概念也很有效,因为它把不同的模型和不同的视图组合在一起完成不同的要求,因此,控制层可以说是包含用户请求的权限的概念。第四,本系统采用的设计模式有利于软件的工程管理。由于每层都有着不同的功能,而每一层不同的应却具有某些相同的特征。利用这样的特点程序员可以工程化、工具化产生管理程序代码。1.2.3人员本次投稿系统的全部设计由本人单独负责。2需求分析2.1业务描述(1)投稿人员进行系统用户注册,获得系统核准后登录系统,填写论文相关信息,提交论文。(2)管理部工作人员接受提交论文后进行论文处理,将论文分发给责任编辑,责任编辑根据论文研究方向选定评审专家,评审专家审阅后填写评审意见。(3)如论文需要修改则返还给投稿人。(4)投稿人阅读修改意见后,修改论文重新提交。(5)如论文没有通过评审,则返还给投稿人,同时进行相应退稿信息的登记。(6)如论文通过评审,则进入录用,出版,发行流程。2.2业务流程图2-1投稿系统业务流程图2.3性能分析系统必须实现可以安全、稳定、可靠、高效、长期的运行。所以系统应满足以下几个性能需求。2.3.1系统处理的精确性和准时性系统处理的精确性和准时性是系统的必要性能。在系统设计和开发过程中,应当充分的考虑到系统当下和将来可能承载的工作量。开发完成的系统在处理能力和响应时间性能方便必须要满足公司对信息处理的需求。2.3.2系统的开放性和系统的可扩展性在开发过程中,应该充分考虑系统投入使用以后的可扩充性。比如说查询功能可以需要完善或者可以实现更多信息的查询下。所有这些都需要系统提供调整和扩大的适当手段。为了实现这一目标,应通过系统的开放性来完成,两个系统应该是一个开放的系统,只要符合一定的规格,只需加入和减少系统的模块,配置系统上的硬件。2.3.3系统的易用性和易维护性系统服务的人群往往并不会深入了解计算机技术,他们大多数只掌握了基本电脑操作技术。所以系统需要提供良好的用户接口,简单易懂的人机交互界面。要实现这一目标,它要求该系统应能使用的用户界面熟悉术语和中文信息;当用户在进行一些操作时应给出相应的提示。比如某些数据删除后不能恢复,这时在删除操作前必须提示用户警惕操作。2.3.4系统的标准性系统在设计与开发使用过程中肯定要涉及到很多计算机软硬件。系统必须符合相应的标准。2.3.5系统的先进性目前计算机技术发展的相当迅速,在出租车管理系统的生命周期中尽量保障系统的先进,可以胜任公司信息处理的要求而不至于提前被淘汰。系统开发时所考虑的可扩展性便可以发挥作用,利用这点可以对系统进行升级和完善从而延长系统的使用寿命。在系统开发时,应选用当下流行且先进的开发工具这样才能开发出先进的系统。2.3.6系统的响应速度系统系统对日常处理中的响应速度要求十分苛刻。为了不耽误公司正常运行,系统必须做到不会因为速度问题而影响工作效率。如果一个简单的查询工作需要数小时才能完成,那么制作这个系统就会失去意义。2.3.7可靠行和可用性需求系统可用并且在一个月内不能出现2次以上故障。2.3.8出错处理要求系统出错以后必须给出相应错误信息,同时提醒用户采取相应操作手段来解决故障。在使用本系统时可能出现如下系统故障:1.当系统提示输入用户名密码错误则说明需要检查输入的用户名密码的正确性。2.当管理员进行操作时,未明确需要进行操作的目标:说明未选中需要进行操作的数据,应该做出提示3.当用户操作可能导致不可恢复的损失应给出警告。2.3.9接口需求第一,硬件接口方面主要日常所用的移动硬盘与U盘,基本没有其他与外界硬件的联系。第二,软件接口方面主要是考虑到软件与操作系统的接口,考虑到文档处理的需求可能包括办公软件和常用接口。例如Microsoft的office系列。软件界面和用户和用户需求,这些应该明确在用户需求定义。2.3.10系统操作系统选择本论文选择Windows7操作系统。系统运行时,服务器端配置需要选择CPUPentium以上,内存128mb以上;操作平台为WindowsNT4.0Server,数据库系统为MYSQL;客户端配置选择主机586/100以上,内存4G;操作平台Windows9.x或Windows3.2。3系统总体结构设计高校论文库管理系统主要包括四个功能模块(1)基本信息维护:用户投稿时,需要填写论文的一些基础信息,比如题目,作者,摘要,关键词,研究背景等,对于此类基本信息中用户可以共享的信息选项由系统同一提供,可保证信息一致性,避免出现同一信息内容不同名称的情况。比如:人工智能和自动化人工智能,同一内容不同名称,不便于信息的查阅。而象论文类型字段,由于可选项变化不多,不单独设置数据库,学科类型和专业类型由于随办刊的需要,学科设置,时代变迁等原因经常发生变化,而且可选项较多,所以专门设置数据库加以灵活添加、删除和修改,使系统具有更好的可用行。(2)人员信息维护:系统目前设置了用户和管理员两种权限,人员信息维护模块主要是对用户和管理员信息进行添加,删除,修改,以及权限的设置和审核,用户可以通过该模块远程维护个人信息。(3)论文管理:作为高校论文库管理系统的主要部分,论文管理模块主要是提供给作者投稿和跟踪论文处理进程的一个平台,同时还便于编辑人员处理论文,以及和作者及时交互处理情况,缩短修改论文的时间要求。(4)交流与建议:为作者和管理部提供交流反馈的平台,该模块可提供邮件信息的查看,回复和添加功能,便于作者和管理部及时交流,提高管理部工作质量和效率,以及作者的投稿积极性,让读者对论文有更多了解,进一步可扩大论文在读者中的影响力。3.2功能模块设计3.2.1基本信息维护图3-2基本信息维护模块功能描述:管理员定期在后台更新学科类型和专业类型,投稿人员进行论文提交操作时,从系统提供的下拉表单中选取相应栏目,此设置既可便于用户操作,又可统一提交信息,便于查询辨识。图3-3基本信息维护流程流程描述:管理员先进行学科类型添加,修改删除维护,在学科类型下面再进行专业类型的添加、修改和删除。3.2.2人员信息维护图3-4人员信息维护模块功能描述:管理员在后台进行管理员信息的添加,修改和删除操作,同时可进行自己密码的更新。管理员也可在后台进行用户信息的查看,修改,删除和查询操作,可按用户名,真名,性别,单位名称进行查询。用户在前台可进行自我信息注册,登录,权限检查,个人信息修改等操作。在此模块中,系统会对登录用户和管理员进行验证,核对权限,为用户和管理员进行其他模块操作提供Session记录。图3-5人员信息维护流程流程描述:用户填写个人用户信息,系统检测填写信息是否符合要求,查看所选用户名是否唯一,符合一切条件后允许用户注册成功,后台数据库自动为用户插入用户编号。用户以注册所得的用户名登录系统,系统进行用户名和密码检测,审核权限,通过后用户可进行个人信息,密码,邮箱信息的远程维护工作。管理员进行系统登录,系统核对用户名和密码,审核权限,管理员登录成功后可进行个人信息维护,管理员添加,修改删除操作,系统将查测新添加管理员名是否唯一,唯一允许添加,并自动为新管理员添加编号,管理员还可进行用户信息的修改,删除,以及查询工作。3.2.3论文管理图3-6论文管理模块功能描述:1.投稿处理:该模块将为用户提供论文信息填写,文件上传下载的平台,并自动生成论文编号,便于用户以后查询。2.论文修改:该模块为用户提供待修改论文的查看,修改意见的查看,论文信息重新修改,修改稿的提交。3.论文审核:该模块为后台管理者提供待审文件的查看和删除功能,并能对待审文件进行审核,将论文分别送往审核处理,修改,已审核,已发表,退稿流程,并可填写相应审核意见,与作者进行交互。4.论文退回:接收退回论文,登记退回论文相应信息,查看退回论文文档和退稿意见。5.论文查询:用户可按系统提供的论文编号和投稿时间查看所需论文处理进程,基础信息和详细文档。管理员可按学科类型对处于待审、修改、已审和退稿状态的论文分别进行查看,还可按论文编号,投稿时间,作者进行综合查询。该模块将更有利于作者了解论文处理进程,有利于管理部工作人员进行论文的检索统计,减轻工作量,提高工作效率。图3-7论文管理流程流程描述:用户登录系统,填写提交论文基本信息,上传文档。管理员接收提交论文,交责任主编由专家审核,审核完毕管理员向系统填写审核意见,通过审核就准备录用出版,如需要修改,系统根据审核结果将文档返还作者,作者查看修改意见,重新提交论文。如果论文不被录用,则系统记录论文信息后,自动转还用户。4系统详细设计、运行及调试4.1系统主框架设计系统分为题头,题尾,中间三部分,其中中间部分又分为左右两部分,左边为目录树,右边为内容.中间部分代码如下:<tr> <tdwidth="150"> <divclass="deeptree">左边调用结构树 <scriptlanguage="javascript"src="utility/data.js"></script> </div> </td> <tdalign="center">右边展示内容<iframename="main"border="0"frameborder="0"width="847"height="450"src="paper.asp"> </iframe></td></tr>图4-14.2人员信息管理4.2.1用户注册1.用户在系统中注册,系统检测用户提交信息是否正确,必填字段如用户名,密码,真实姓名,性别,出生日期,邮件,电话,地址和单位的信息是否已经填写,出生日期是否为日期格式,方法如下: if(userName=""oruserPassword=""orRealName=""oruserSex=""orBirthday=""oruserEmail=""oruserPhone=""orMobilePhone=""oruserAddress=""orAddresscode=""orCompanyname="")then Alert("对不起,请填充所有必填字段后再提交!") GoBack() Response.End endif if(notIsDate(Birthday))then Alert("请输入日期格式yyyy-mm-dd") GoBack() Response.end endif2.检查用户名是否已经存在,如果存在就拒绝操作 sql="selectcount(*)fromYNuserwhereusname='"&userName&"'" Setrs=ExecuteQuery(sql) if(rs(0)<>0)then Alert("对不起,该用户名已经有人使用,请查实!") GoBack() Response.end rs.close setrs=nothing endif rs.close setrs=nothing sql=sql&Addresscode&"',1)"3.给Session("userID")等赋值,以便跳转其他页面时进行权限检查4.2.2用户和管理员登录1.读取用户提交的数据并进行完整性判断。2.进行登陆信息验证,验证系统中是否存在该用户名及其密码。3.给Session("userID")等赋值,以便跳转其他页面时进行权限检查。4.2.3权限检查用户或管理员打开系统页面时,系统都将检查 Session("userID")是否已经被赋值,如已赋值,证明用户或管理员已经登录,是系统成员,否则将打不开该页面,并跳转到登录页面进行登录或注册。 4.2.4用户或管理员个人信息和密码修改系统根据用户或管理员登录时记录的Session(“userID”)从数据库中读取原有个人信息和密码,展现给用户或管理员,用户或管理员在此基础上进行修改后,重新提交回系统,如果用户填写的旧密码或旧邮箱名不对,都不能对密码或邮箱进行修改,只有旧密码或旧邮箱正确后,修改后的密码或邮箱值才能输入系统中,修改用户个人信息表单时,使用javascript对表单提交信息进行正确性检查<SCRIPTlanguage=javascript>functionnotify_email(){ alert("此电子信箱地址为登录帐号,建议使用长期有效的电子信箱地址。如非必须,建议不要轻易修改,以免忘记。");}functioncheckInput(){ //姓名是否已填写if(document.AuthorInfoBean.userName.value.length<1){//请输入您的用户名alert("请输入您的用户名");document.AuthorInfoBean.userName.focus();returnfalse;}if(document.AuthorInfoBean.userPassword.value==""){alert("密码不能为空!");document.AuthorInfoBean.userPassword.focus();returnfalse;}if(document.AuthorInfoBean.userPasswordChk.value==""){alert("验证密码不能为空!");document.AuthorInfoBean.userPasswordChk.focus();returnfalse;}if(document.AuthorInfoBean.userPassword.value!=document.AuthorInfoBean.userPasswordChk.value){alert("新设密码和验证密码不相符!");returnfalse;}//名 if(document.AuthorInfoBean.RealName.value.length<1){//清输入您的真名alert("请输入您的真名"); document.AuthorInfoBean.RealName.focus();returnfalse;}if(document.AuthorInfoBean.Birthday.value.length<3){//请输入您所在出生alert("请输入您的出生日期"); document.AuthorInfoBean.Birthday.focus();returnfalse;}//单位 if(document.AuthorInfoBean.Companyname.value.length<3){//请输入您所在单位的全称alert("请输入您所在单位的全称"); document.AuthorInfoBean.Companyname.focus();returnfalse;} //有效通信地址 if(document.AuthorInfoBean.userAddress.value.length<4){alert("请输入有效通信地址"); document.AuthorInfoBean.userAddress.focus();returnfalse;}//邮政编码 if(document.AuthorInfoBean.Addresscode.value.length<4){alert("请输入邮政编码"); document.AuthorInfoBean.Addresscode.focus();returnfalse;}//固定电话 if(document.AuthorInfoBean.userPhone.value.length<4){alert("请输入固定电话"); document.AuthorInfoBean.userPhone.focus();returnfalse;}if(document.AuthorInfoBean.MobilePhone.value.length<11){alert("请输入移动电话"); document.AuthorInfoBean.MobilePhone.focus();returnfalse;}//email if(document.AuthorInfoBean.userEmail.value.length<4){alert("请输入E-mail信箱地址"); document.AuthorInfoBean.userEmail.focus();returnfalse;} returntrue;}</SCRIPT>……表单中调用以上检查项目,对表单提交的信息进行正确性检查<FORMname=AuthorInfoBeanaction="ManageUser.asp?id=<%=ID%>"method=postonSubmit="returncheckInput()">4.2.5管理员对用户信息的维护其包括对用户信息的查看,修改,删除和查询。管理员可根据用户名,真名,单位名称,性别对用户信息进行综合查询。查询技术解决方法:在Select语句的where中设定用户名,真名,单位名称,性别字段值,对Select语句从数据库中选出来的信息进行刷选。4.2.6管理员对管理员信息的维护其包括管理员的添加,删除,修改和查看。添加或修改管理员会对密码与确认密码是否一致,管理员名是否唯一进行检查。4.5论文管理4.5.1论文提交由于要上传文件,所以与其他增加信息操作不同在于,提交表单的Form中要加上enctype="multipart/form-data",将所传数据变成二进制上传;表单还将对提交信息正确性,文件格式是否为word或pdf进行检查,方法如下:<SCRIPTlanguage=javascript>functionisOK(){if(confirm("真的要提交吗?")){returntrue;}returnfalse;}functioncheckInput(){//中文题目if(document.all.paperTitleGb.value.length<4){alert("请输入中文题目"); document.all.paperTitleGb.focus();returnfalse;}if(PaperContentFormBean.paperTitleGb.value.length>120){alert("输入的中文题目过长,请限制在120个汉字以内"); PaperContentFormBean.paperTitleGb.focus();returnfalse;}//英文题目if(PaperContentFormBean.paperTitleEn.value.length<4){alert("请输入英文题目"); document.all.paperTitleEn.focus();returnfalse;}if(PaperContentFormBean.paperTitleEn.value.length>240){alert("输入的英文题目过长,请限制在240个字母以内"); document.all.paperTitleEn.focus();returnfalse;}//全部作者if(PaperContentFormBean.AName1.value.length<2){alert("请输入论文作者"); PaperContentFormBean.AName1.focus();returnfalse;}//论文第一单位if(PaperContentFormBan.value.length<4){alert("请输入论文第一单位"); PaperContentFormBan.focus();returnfalse;}//author.hint.contact=请输入联系人姓名 if(PaperContentFormBean.contact.value.length<2){alert("请输入联系人姓名"); PaperContentFormBean.contact.focus();returnfalse;}if(PaperContentFormBean.abstractGb.value.length>500){alert("中文摘要输入的汉字过多,请确认在500个汉字以内"); PaperContentFormBean.abstractGb.focus();returnfalse;}//author.hint.uploadFile=请输入选择需要提交的论文if(PaperContentFormBean.file1.value.length<2){alert("请输入选择需要提交的论文"); PaperContentFormBean.file1.focus();returnfalse;}else { filestr=PaperContentFormBean.file1.value; //if(filestr.search(".doc")!=-1||filestr.search(".pdf")!=-1||filestr.search(".DOC")!=-1||//filestr.search(".PDF")!=-1) if(checkModel(".doc",filestr)||checkModel(".pdf",filestr)||checkModel(".DOC",filestr)||checkModel(".PDF",filestr)) else{alert("系统只接受doc和pdf格式文件,请选择正确文件格式"); returnfalse; } }if(!isOK())returnfalse;returntrue;}functioncheckModel(pattern,str){varplen=pattern.length-1;varslen=str.length-1;//document.writeln(""+slen);for(vari=plen-1;i>=0;i--){if(str.charAt(slen-i)!=pattern.charAt(plen-i))returnfalse;}returntrue;}</SCRIPT><FORMname=PaperContentFormBeanaction="Upfile.asp"enctype="multipart/form-data"method=post>由于学科和专业是上下级关系,在提供选择时,形成级联菜单,实现方法如下<scriptlanguage="JavaScript"type="text/JavaScript"><!--functionMM_jumpMenu(targ,selObj,restore){//v3.0eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");if(restore)selObj.selectedIndex=0;}//--></script><TDclass=greentdnoborder2>学科类型</TD><TDclass=greentdnoborder><selectname="ft"class="greentdnoborder"onchange="MM_jumpMenu('this',this,0)"><%dimconndimconnstr连接数据库Setconn=Server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(""&db&"")conn.Openconnstr学科选择sql="selectLNamefromLClass" Setrs=conn.execute(sql)ifrs.eoforrs.bofthenresponse.write"<optionvalue=""></option>"'如果没有记录,就显示elsewhilenot(rs.eoforrs.bof)'有记录,就将父名称列出来,形成下拉。response.write("<optionvalue='?sec="&rs(0)&"'")ifcstr(rs(0))=request.querystring("sec")thenresponse.write"selected"endifresponse.write(">"&rs(0)&"</option>")rs.movenextwendrs.movefirst'将游标移到第一条,以备下面之用。endif%></select>专业选择<selectname="sd"size=""><%ifrs.eoforrs.bofthenresponse.write("<option></option>")elseifrequest.querystring("sec")=""then'获取跳转之后的sec值temp=rs(0)'如果为空,就把temp的值设为第一条记录的值elsetemp=request.querystring("sec")'否则就为收到的值endifsubsql="selectSNamefromSClasswhereSLName='"&temp&"'"setsubrs=conn.execute(subsql)'列出一切资料为temp的记录ifsubrs.eoforsubrs.bofthenresponse.write("<option></option>")'如果没有记录,则在这个列表中显示""elsewhilenot(subrs.eoforsubrs.bof)'否则就用循环列出一切符合条件的记录。response.write("<optionvalue="&subrs(0)&">"&subrs(0)&"</option>")subrs.movenextwendendifendif'关闭所有的记录集subrs.closesetsubrs=nothingrs.closesetrs=nothingconn.closesetconn=nothing%></select></TD>论文提交完成后,系统将为论文生成一个编号,作为以后查询论文处理进程之用,生成论文编号的方法如下:randomizeID=100000000+fix(100000000*Rnd)随机生成一个ID sql="selectcount(*)frompaperwherepID="&ID保证生成ID唯一 Setrs=ExecuteQuery(sql) dowhile(rs(0)<>0) rs.close setrs=nothing randomizeID=100000000+fix(100000000*Rnd) sql="selectcount(*)frompaperwherepID="&ID Setrs=ExecuteQuery(sql) loop rs.close setrs=nothing4.5.2论文审核管理员查看待审论文基本信息,下载或保存待审论文,填写责任编辑名和专家名,选定审核结果为审核中,修改,通过或退稿.为了区分这几种审核结果,在论文信息表paper中用字段pStatus区别,其中待审核0,审核中1,待修改2,已审核3,已发表4,已退稿5,选定审核结果后,论文将转到待修改论文列表,已审论文列表或退稿列表。4.5.3论文修改系统从数据库读取该论文信息供用户修改,用户可下载或保存需要修改论文,查看修改意见,重新填写论文基本信息,重新上传论文,原理与论文上传相同。4.5.4论文列表按论文的状态进行待修改论文列表,已审论文列表,退稿列表展示,方便用户查看论文处理状态和管理员管理论文,删除无用论文。1.前台论文列表:根据登录用户ID和需查看论文状态进行属于该用户的论文列表,方法如下,其中pStatus随查看列表的论文处理状态而设定不同取值。 UName=Session("userName") sql="select*frompaperwherepStatus=?andUName='"&UName&"'orderbySGDatedesc"2.后台论文列表:根据论文状态进行所有用户列表,并可按学科专业分类进行列表.实现方法:依据论文不同处理状态,设定pStatus的取值.对需按学科专业分类展示的,则在Select语句的where中设定学科专业的取值,对从数据库中选取的信息进一步刷选。4.5.5论文综合查询1.前台论文查询:用户可查看处于各种处理状态的,属于该用户提交的论文,并可根据论文编号和投稿时间进行查询,实现方法是对Select语句where中论文编号和投稿时间字段进行设定,实现对数据库中选取信息进一步刷选。2.后台论文查询:管理员可查看处于各种处理状态,所有用户提交的论文,并可对无用论文进行删除.可以按论文编号,投稿时间和作者进行综合查询,方法是在Select语句的where中设定投稿编号,投稿时间和作者的取值范围,对数据库选出的数据进一步刷选。4.5.6论文查看根据提供的论文编号,可查看该论文的基本信息,责任编辑,审核专家,处理意见和结果,并可下载论文文档详细审阅。5系统测试5.1测试目的与目标在此系统功能大部分实现可以运行之之时,便需要开始考虑进行系统测试工作了。通过对系统进行测试可以找出系统中隐藏的一些错误。在发现错误以后需要及时进行修正,以保障系统的长期稳定运行。这个过程必不可少。测试的软件模块的基本功能,可以继续进行,尽可能提高软件的鲁棒性。5.2测试方法系统的测试有黑盒测试和白盒测试两种方法。黑盒测试也称作功能测试。黑盒测试是在程序接口进行。它只检查程序功能是否可以运行并符合设计时所提出的要求。黑盒测试检查当有数据进行输入的时候程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论