基于jsp管理系统的设计与实现.docx
- 文档编号:10452117
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:51
- 大小:881.38KB
基于jsp管理系统的设计与实现.docx
《基于jsp管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于jsp管理系统的设计与实现.docx(51页珍藏版)》请在冰豆网上搜索。
基于jsp管理系统的设计与实现
南京工程学院
毕业设计说明书(论文)
作者:
学号:
院系:
计算机工程学院
专业:
网络工程
题目:
基于JSP毕业设计管理系统的设计与实现
指导者:
讲师
(姓名)(专业技术职务)
评阅者:
袁宗福 副教授
(姓名)(专业技术职务)
2016年5月南京
毕业设计说明书(论文)中文摘要
高等教育教学改革的不断推进,对于高校毕业设计管理的规范化、流程化、信息化已成为目前面临的重要课题。
近年来高校基本上都建立了自己的校园网,为毕业设计管理系统的开发提供了必备的物质基础。
计算机软件规定工作流样式,并帮助处理复杂的工作流程是目前毕业设计信息管理系统的基本解决思路。
本设计采用Tomcat作为Web服务器,SQLServer作为后台数据库管理系统,在MVC模式的相互协调下,将毕业设计管理系统分为公共模块、分角色模块两个模块。
不同的用户角色具有不同的操作权限,只能执行与其角色匹配的操作,利用此机制,保证了系统中数据流的有序流动。
关键字TomcatMVC毕业设计管理系统
毕业设计说明书(论文)外文摘要
TitleDesignandImplementationofGraduationProjectManagementSystemBasedonJSP
Abstract
Thecontinuousadvancementofhighereducationteachingreformhasbecomeanimportantissuefacingthestandardization,processandinformationmanagementofgraduationprojectmanagementinCollegesanduniversities.Inrecentyears,collegesanduniversitieshaveestablishedtheirowncampusnetwork,whichprovidesthenecessarymaterialfoundationforthedevelopmentofgraduationdesignmanagementsystem.Computersoftwareprovidesworkflowpatterns,andhelptodealwiththecomplexworkflowisthebasicsolutiontothegraduationdesigninformationmanagementsystem.ThisdesignusesTomcatastheWebserver,ServerSQLasthebackgrounddatabasemanagementsystem,intheMVCmodeofmutualcoordination,thegraduationdesignmanagementsystemisdividedintotwomodules,thepublicmodule,thesubrolemodule.Differentuserroleshavedifferentoperatingrights,canonlyperformtheoperationoftherole,theuseofthismechanismtoensuretheorderlyflowofdataflowinthesystem.
KeywordsTomcat,MVC,GraduationProjectManagementSystem
目 录
前言
随着信息技术的快速发展和编程语言的日益成熟,毕业设计信息管理系统在高校的应用越来越普遍,传统的毕业设计存在诸多问题:
流程复杂、管理不方便、学生与指导老师沟通困难。
高校随着毕业生数量的不断增加,也产生对性能、安全一系列新的需求。
基于这样的现实环境,一个高质量、高可靠的毕业设计信息管理系统几乎成为每个高校必需品。
本系统使用MVC模式,基于JSP语言开发出高度可移植性的毕业设计管理系统,使用Tomcat作为Web服务器软件,数据库管理系统软件采用SQLServer2005,前端页面开发利用JSP+CSS+JQuery为系统用户提供友好的操作体验。
该系统从总体结构上被分解为公共模块、分角色模块2个模块,角色包括管理员、老师和学生,不同的用户角色在系统中拥有不同的操作权限。
本文主要从以下几个方面对系统进行阐述,包括需求分析、总体设计、数据库设计、详细设计、及总结。
在编码过程中,充分考虑了用户交互体验的友好性。
同时在数据库中为实体预留了许多属性,例如分组表中预留了分组大小属性,为系统后期实现对分组内用户数量进行控制功能提供了便捷。
这样的例子在系统中随处可见。
为系统后续的拓展提供了巨大的可能。
第1章
开发环境简介
1.1编程语言介绍
JSP(JavaServerPages)构建了动态网页编程的规范,由许多公司合力推动建设完成的,在制作动态网页时功能十分强悍。
JSP由HTML与其它编程语言融合而成,由客户端浏览器自带的语言引擎解释并执行。
JSP代码段中通常混合有HTML、Java、CSS和JavaScript,因此,JSP与Java拥有相同的特点:
稳定、安全、可移植性好,广泛应用于大中型网站的搭建中。
JSP技术处理网页的动态逻辑时,通常使用的语言是Java,用来编写类XML的标签和脚本小程序。
此外,通过标签和脚本小程序,网页还能请求对保存在服务器端资源的应用逻辑的访问。
JSP的出现,使得网页的操作逻辑与页面的显示隔离起来,简化了编程负担,同时JSP引入了对复用组件的支持的机制,这一切大大加快了基于Web应用系统的开发效率,减轻了编程人员的开发负担。
当JSP的访问请求传递到网络服务器时,服务器首先会解释执行其中的代码段,并会返回给客户端一个结果,结果中包含程序运行结果和JSP中嵌入的HTML片段,JSP中嵌入的Java代码段可以执行多种操作,包括对数据库的增删改查、对网页的跳转控制等。
这一切为实现动态网页提供了技术基础。
JSP和JavaServlet在某些方面具有一些相同点,解释执行是在服务器端。
客户端收到的返回值一般是一个HTML页面,用户使用浏览器即可浏览这些页面。
这大大降低了对客户端的要求,客户端只需要安装浏览器即可执行相关操作。
JavaServlet与JSP息息相关,在大型的Web应用系统开发过程中通常将两者结合起来使用。
JSP优点众多,继承了Java的相关特点:
上手容易、使用便捷、是完全面向对象的、与开发的平台没有多大关系、在内存管理方面相比其他语言,自动完成了内存管理,不存在内存溢出风险,使得程序代码的安全性得到保证。
JSP技术的优势:
(1)程序代码只需要编写一遍、其他地方都可以执行。
由于JSP/Servlet的基础都来源于Java,因此它们也继承了Java语言的最大优势——与平台无关性,也即通常意义上的的“代码编写一次,随处可以运行”。
除此之外,JSP/Servlet的运行效率非常高,由于Java引动了内存自动管理机制,不存在内存溢出风险。
故安全性也得到了保证。
(2)系统的多平台支持。
主流的平台环境都支持Java开发,包括Windows、Linux等,应用系统可以实施在多种多样操作平台的下,对系统后期的拓展也对多种多样的环境进行了适配。
对比ASP/PHP等语言的只能部署在单一环境下的局限性。
JSP的这个优点是显得难能可贵。
(3)扩展功能强悍。
在开发过程中,JSP/Servlet的执行最小单元可以仅为一个Jar文件,最大到许多台大型服务器的集群和流量分担,从一台本地服务器扩展到远端多台服务器,JSP展示了其强悍的扩展能力。
(4)开发工具的多种多样和功能完备。
在这一点上,JSP与ASP十分相像。
在JSP的成长过程中,众多公司和开发人员为其编写了许多完备的开发套件,并且其中许多对于编程爱好者来说,获得不需要任何代价,完全免费。
此外这些开发工具绝大多数是支持多平台运行的,这些优秀的开发工具为Java的发展与普及注入了强大的活力。
1.2服务器工具简介
(1)Tomcat
Tomcat是由Apache基金会发行的,完全免费,对系统的占用非常低,是一个轻量级的应用服务器。
在Web应用程序开发中,是一个不可或缺的组成部分。
其对大部分的J2EE的API接口进行了适配。
应用场合十分普遍,包括中小型互联网应用程序及对并发控制、系统安全性的限制并不严格的系统中。
Tomcat运行方式多种多样,可以支持单独运行,在单独运行模式下,又可以分为运行和调试两种,这为程序编码者对系统的开发与测试带来了巨大的便捷性。
除此之外,Tomcat也支持解压缩后直接运行,这使得其移植性也非常优异。
(2)SQLServer2005
SQLServer是由微软公司开发的,在数据库分类中,属于使用最广泛的关系型数据库,在Web系统开发中,SQLServer一直是最好用的关系数据库管理系统应用软件其中之一,SQLServer相比其他数据库,具有独特而显著的优势:
操作十分简单(对开发人员的数据库知识要求极低)、支持与其他服务器软件协调工作、适合可分布式组织的可伸缩性、性价比十分诱人(与其他数据库管理系统应用软件相比)等。
这些优势,实现了用户对海量数据的管理,同时也为数据挖掘带来了可操作性。
将传统意义上的数据变为了宝贵的商业资源,为企业的发展提供了新的机遇。
SQLServer作为一个完备而成熟的数据库管理软件,在Web应用系统开发过程中(通常应用在企业应用系统中),十分普遍,SQLServer的加入大大提高了系统的开发进度。
总结起来,SQLServer是一个完整地对Web各项功能组件都支持的数据库软件。
第2章
总体设计
2.1总体思路
毕业设计信息管理系统用户包括管理员、老师、学生。
不同的用户角色之间具有不同的操作权限,在软件开发前,需要确定不同角色之间的权限。
这需要实现对系统作详细的需求分析,确定每个角色对系统能执行的操作,在设计数据库时,我们要为每个实体设计合适的属性。
在编码过程中,需要考虑到MVC的分层思想,将页面的展示与后台操作逻辑分离,通过这种机制,使得代码的可读性更好,后期对系统的维护也变得简单可行。
2.2系统总体规划结构
毕业设计管理系统整体上包括了两个主要模块:
公共模块、分角色模块。
模块之间亦存在许多分之,逻辑复杂。
本系统-毕业设计管理系统的系统总体规划如“图2-1”所示:
图2-1系统总体规划
用户只有登陆验证通过后才能进入系统,在登录界面,用户必须输入正确的用户名和密码,系统后台根据用户名自动检测判断出用户的角色,验证通过后才能进入系统主界面(用户角色不同,主界面亦有所差异)。
进入系统后,用户可以看到2个模块(公共模块、分角色模块)。
在系统主界面,用户也可以执行注销操作。
在系统主界面,提供的主要功能是用户依据权限在相应模块,执行对应操作。
根据上述规划,毕业设计管理系统系统主要分为两个模块:
●公共管理模块
●分角色模块
其中,分角色模块分为依据角色不同分为管理员、老师、学生三个部分。
每个部分对系统功能的操作权限是不同。
下面将针对每个模块的主要功能进行详细描述。
2.3公共模块功能结构图
公共模块被分解为四个小模块,分别是校园资讯、论文下载、选题列表以及个人留言。
公共模块是系统的基础功能,服务对象包括系统的所有用户,用户登录进入系统后,界面上都会展现。
校园资讯由管理员在资讯管理部分添加,所有用户登录系统后均可浏览。
论文下载部分的论文由学生提交,所有用户可以查看论文相关信息,学生提交论文时可以为论文附件设置不同的下载权限,只有符合权限的用户才能下载,这样一定程度上保证了论文的安全性,防止其他用户非法窃取。
指导老师登录系统后,可以设计选题。
选题设计成功后,选题会出现在选题列表部分。
学生在选题列表部分只能选择对应指导老师设计的选题。
在个人留言部分,用户可以给其他所有用户留言,也可以查看自己收到的留言和回复对方的留言。
公共模块功能结构图如“图2-2”所示:
图2-2公共模块功能结构图
2.4管理员模块功能结构图
管理员模块操作功能被分解为6个主要部分,包括:
分组管理、留言管理、用户管理等,每个部分又可以划分出许多独立的小功能。
管理员进入系统后,相应功能结构图如“图2—3”所示
图2-3管理员功能结构图
分组管理:
管理员可以查看所有创建的分组列表,点击某条分组记录操作栏后的“浏览”,系统将呈现该分组下的所有用户信息。
也可以修改分组信息,但分组的指导老师不能修改。
删除分组时,必须先删除该分组下的用户,否则,系统会弹出告警提示“删除失败”。
分组管理的主要作用在于将老师与其指导的学生关联起来,老师与其指导的学生具有相同的分组编号。
图2-4分组管理
留言管理:
管理员登录系统后,在该部分可以查看所有用户的留言记录,点击某条记录操作栏中“删除”按钮,可以删除某条相应记录。
图2-5留言管理
用户管理:
管理员进入系统后,在用户管理部分可以查看所有用户的相关信息(包括用户编号、用户名、账号状态等),用户注册账号时,账号状态为未审核,此时,用户用该账号无法登录系统,只有等管理员审核通过该账号后,用户才能正常登录系统。
管理员也可以锁定某个正常账号,此时,该账号将变为锁定状态,无法正常使用。
管理员也可以解锁某个锁定状态的账号,解锁后,账号正常使用。
当然,管理员也可以对某个用户的账号进行删除或修改操作在界面上,设置了许多筛选条件:
根据用户角色筛选、账号状态筛选。
筛选机制的加入使得管理员查找用户变得简单易操作。
图2-6用户管理
选题管理:
管理员在该部分可以查看所有指导老师设计的选题信息,包括选题的设计老师及选择该选题的学生,也可以下载选题中包含的选题附件。
图2-7选题管理
资讯管理:
该部分为管理员特有操作,在该界面下,系统将呈现管理员添加的所有资讯信息,点击某条资讯的标题,进入资讯详细界面,乐意查看资讯的详细信息。
管理员也可添加资讯,添加某条资讯后,用户可以在公共模块校园资讯部分查看该条资讯的相关信息。
此外,管理员亦可根据需要删除某条资讯,此时该资讯信息在公共模块校园资讯部分亦被删除。
在界面上,管理员也可以根据筛选查找出满足条件的资讯。
这样做的好处显而易见,当资讯的数量很大时。
通过筛选管理员可以快速定位某条资讯。
图2-8资讯管理
论文管理:
学生上传论文后,管理员在该部分可以审核学生上传的论文。
当论文审核不通过时,学生需要修改论文,等待管理员再次审核。
图2-9论文管理
2.5老师功能结构图
老师模块主要由选题设计、同组用户部分组成。
老师在系统中扮演着关键角色,进入系统后负责设计选题,审题等工作,老师进入系统后,相应功能结构图如图“2-10”所示
图2-10老师功能结构图
选题设计:
老师可以设计选题,选题设计完成后,选题的状态为“未选择”,学生可以在公共模块选题列表部分选择其对应指导老师设计的选题,一个选题只能被一个学生选择,一个学生也只能选择一个题目。
学生选题操作完成后,该选题的选题状态将由“未选择”变为“未审核”,此时,老师进入系统,在“选题设计”部分,点击操作栏的“审核”按钮,可以审核学生的选题,审核通过后,学生才能提交论文,若审核不通过,该选题的状态亦会变为“未选择”,该组其他同学可以选择该课题,之前选择该选题的学生需要重新选题。
老师也可以修改选题或者删除选题相关信息,但是若某一道选题已经被学生选择,则无法删除该选题,该机制的加入,使得系统的功能逻辑更加合理,也防止了数据库中脏数据的产生。
同组用户:
在该模块指导老师可以方便地查看其指导学生的选题情况,该模块的加入,方便了老师监督其指导学生的选题情况。
2.6学生功能结构图
学生模块主要由我的选题、同组用户两部分组成。
学生角色是系统中不可或缺的一环,可以选题,提交论文等操作,用户以学生身份进入系统后,相应功能结构图如“图2—11”所示
图2—11学生功能结构图
我的选题:
学生进入系统后,可以在公共模块选题列表部分选择其指导老师设计的选题,选题成功后,在我的选题部分可以看到自己选题的题目。
此时选题状态为“未审核”。
在该部分,学生可以方便查看其选题状态。
对应指导老师对选题审核通过后,选题状态变为“审核通过”,此时学生可以上传论文。
我的论文:
学生上传论文后,在该部分可以查看自己上传的论文,也可以修改自己上传的论文。
上传或修改论文后,论文状态为“等待管理员审核”,管理员登录系统后,在“论文管理”部分可以审核学生上传的论文,若审核通过,学生在“我的论文”部分可以看到论文状态变为“审核通过”,至此,选题-上传论文流程结束。
若审核不通过,论文状态变为“审核不通过”,学生在“我的论文”部分需要修改已经提交的论文,修改完成后,论文状态会重新变为“等待管理员审核”,等待管理员的再次审核。
学生提交论文后,用户可以在公共模块论文下载部分下载论文附件和查看论文相关信息。
第3章数据库设计
一个完整的系统,数据库是其中一项必不可少的元素,数据库设计的好坏直接决定后续编码的进行。
所以,在进行编码之前,首先要做好需求分析,依据系统的需求及功能设计数据库。
如果在编码之前,没有设计出合理的数据库,在后续编码过程中,需要不断修改完善数据库,这将大大影响系统的开发进度,降低系统的质量。
数据库的设计是建立在对系统功能需求完全熟悉的前提下,是系统开发的先决条件。
由于系统功能的复杂性,因此数据库的设计不能一蹴而就,需要不断探索,这是一个“反复探寻、精益求精”的过程,也就是分析数据库对象的属性及探寻数据库对象之间联系的过程。
3.1数据库的需求分析
毕业设计管理系统选题-审题-上传论文流程复杂,涉及实体众多,实体之间的联系也比较复杂。
。
本系统需要用到的到的数据实体主要有:
用户、选题、分组、选择、论文、留言、资讯等。
在本系统中,服务的对象包括学生、老师和管理员。
用户使用系统时,首先需要在登录页面输入用户名和密码,验证通过后方能进入系统。
用户实体的属性主要包括用户编号Uid、账号状态Active、注册时间Regtime、性别Sex、联系电话Tel、邮箱编号Email、角色Lev、用户名Uname、登录密码Pwd、分组编号Gid。
其中用户编号Uid是主键。
指导老师设计选题时,需要一个选题表来记录选题的相关信息。
选题实体的属性主要包括选题名称name、上传论文者用户编号upload、选题编号id、选题附件files、选题者用户编号choose、设计选题者用户编号upload、课题性质nature、课题来源source、选题状态status、选题要求require、添加时间addtime。
其中选题编号id为主键。
分组表用来记录的所在分组信息,通过分组,保证了学生在选题时只能选择其对应指导老师设计的选题。
分组实体属性主要包括分组编号Gid、分组添加时间Regtime、该分组指导老师用户编号Uid、分组名称Gname。
其中分组编号Gid是主键。
选择表用来记录学生与选题的对应关系。
选择实体属性主要包括选择编号id、选题编号tid、选题者编号uid。
其中选择编号id是主键。
与选题编号tid值相同。
论文表用来记录学生上传的论文信息,方便系统管理。
论文实体属性主要包括论文编号id、论文附件path、上传时间addtime、论文上传者uid、是否提供下载download、论文名称name、下载权限lev、下载次数downloadnum、论文状态status、标志位flag。
其中论文编号id是主键。
留言表用来记录用户之间的留言信息,该表的加入,搭建了用户之间沟通的桥梁。
留言实体属性主要包括留言编号(id)、留言者编号(uid)、收到留言者编号(toId)、标题(title)、留言内容(msg)、留言时间(addtime)、是否收到回复(isback)、回复内容(remsg)、回复时间(backtime)。
其中留言编号id是主键。
资讯表用来记录管理员上传的资讯信息。
所有用户可以浏览管理员上传的资讯。
资讯实体属性主要包括资讯编号nid、资讯标题title、资讯关键字keywords、资讯简介shortdesc、资讯内容text、资讯附件img、上传者poster。
其中资讯编号nid是主键。
通过对系统前期的需求分析,得出实体间的对应联系如下:
一个用户只能对应一个分组,但一个分组内可以包含许多个用户。
一个用户可以发布多条留言,一条留言只能被一个用户发布。
一个老师可以设计多个选题,一个选题只能被一个老师设计。
一个学生只能选择一个选题,一个选题只能被一个学生选择。
一个学生只能上传一个论文,一个论文只能被一个学生上传。
一个管理员可以发布多条资讯,一条资讯只能被一个管理员发布。
3.2数据库E-R图设计
设计数据库时,通过前文的需求分析及对实体间联系的描述,可以看出实体间会有1对1、1对多等多种对应关系。
为了满足此需求,我们需要选用一个合适的工具,用来准确地呈现实体、实体属性、实体之间的联系。
E-R图由于能清晰地展示各实体间的联系。
并为系统的表结构设计做好概念结构的准备。
通过对系统的需求分析,得到本系统中实体之间的联系
分部E-R图表达如下:
一个用户只能属于一个分组,一个分组可以有多个用户。
n1
图3-1用户-分组E-R图
一个老师可以设计多个选题,一个选题只能被一个老师设计。
其中老师属于用户的一种,属性与用户属性相同。
n1
图3—2老师—选题E-R图
一个学生只能选择一道选题,一个选题只能被一个学生选择。
学生属于用户的一种,属性与用户属性相同
11
图3-3学生-选题E-R图
一个用户可以发布多条留言,一条留言只能被一个人用户发布
11
图3-4用户-留言E-R图
一个学生只能上传一篇论文,一篇论文只能被一个学生上传
11
图3-5学生-论文E-R图
一个管理员可以发布多条资讯,一条资讯只能被一个管理员发布,管理员属于用户的一种,与用户属性相同。
1n
图3-6管理员资讯E-R图
通过以上的总结与归纳,系统总的E-R图如下:
图3-7系统总体E-R图设计
注:
用户根据角色分为管理员、老师、学生三种,其实体属性相同。
属性中角色字段不同(管理员0老师1学生2),管理员、老师、学生与用户之间的关系是一种包含关系(包含关系需要用到扩展的E-R图,由于本人知识储备存在欠缺,没有在图中表示出来)。
但根据对角色的不同,与其它实体之间的对应关系存在差异性.在E-R图设计过程中这点尤为关键。
3.3数据库表的规划
(1)用户信息表(users)
该表用来保存用户的相关信息,包括用户编号(uid)、用户名(uname)、分组编号(gid)、角色(lev)、联系方式(tel)、注册时间(regtime)、密码(pwd)、账号状态(active)、Email地址(email)、性别(sex)。
其中用户编号uid是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 jsp 管理 系统 设计 实现