计算机毕业设计临大机械学院选题管理系统论文_第1页
计算机毕业设计临大机械学院选题管理系统论文_第2页
计算机毕业设计临大机械学院选题管理系统论文_第3页
计算机毕业设计临大机械学院选题管理系统论文_第4页
计算机毕业设计临大机械学院选题管理系统论文_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

GraduationprojectmanagementsystemdesignandimplementationABSTRACTWiththeadventoftheInternettrend,allwalksoflifeareconsideringtheuseoftheInternettopromotethemselvesout,thebestwayistoestablishtheirownInternetsystem,anditsmaintenanceandmanagement.Inthepracticalapplication,theworkingrulesanddevelopmentstepsoftheapplicationsoftware,usingtheSSMframeworktoconstructthegraduationdesignmanagementsystem.Thisgraduationprojectmainlyrealizesthegraduationprojectmanagementsystemwhichintegratestheadvantagesofhumanization,highefficiencyandconvenience.Itcompletesthefunctionmodulesofteacherinformationmanagement,studentinformationmanagement,announcementinformationmanagement,notificationmanagementandsystemmanagement.Thesystemcommunicateswiththeserverthroughthebrowsertorealizedatainteractionandchange.Justneedtopassacomputer,movefingertobeabletooperateasystem,realizedatacommunicationmanagement.Thedesignprocessofthewholesystemfullyconsidersthesafety,stabilityandreliabilityofdata,andtheoperationprocessissimple.Throughscientificmanagementandconvenientservice,thesystemimprovesworkefficiencyandreduceserrorsandomissionsindatastorage.ThissystemUSESWindows7astheserver-sideoperatingsystem,Javaasthedevelopmentlanguage,Mysqlasthedatabase,mybatisasthedatabaseconnectiontechnology,Myeclipseasthesystemapplicationdevelopmenttool,andTomcat7.0astheWebserver.Keywords:Datacommunication;Java;Mysqldatabase;Thewebserver

目录摘要 IABSTRACT II目录 III第1章绪论 31.1开发背景与意义 31.2开发现状 31.3论文结构 3第2章主要技术和工具介绍 32.1jsp脚本语言 32.2Mysql数据库 32.3B/S结构 32.4MVC模式 32.5SSM框架 32.6tomcat服务器概述 3第3章系统分析 33.1可行性分析 33.1.1技术可行性 33.1.2经济可行性 33.1.3操作可行性 33.2需求分析 33.3业务流程分析 3第4章系统设计 34.1整体架构 34.2系统结构设计 34.3功能模块设计 34.4系统安全设计 34.5表单字段校验处理设计 34.6系统维护设计 34.7数据库设计 34.7.1数据库设计概述 34.7.2概念设计 34.7.3逻辑设计 34.7.3物理设计 3第5章系统实现 35.1登录模块的实现 35.2用户子系统模块的实现 35.2.1用户首页的实现 35.2.2导师选择模块的实现 35.2.3论文上交模块的实现 35.2.4开题模块的实现 35.3管理员子系统模块的实现 35.3.1用户管理模块的实现 35.3.2公告管理模块的实现 3第6章系统测试 36.1测试目的与定义 36.2功能测试 36.3测试结果 36.4测试评价 3第7章总结 3致谢 3参考文献 3第1章绪论1.1开发背景与意义高校毕业设计管理工作是论文管理工作的重要环节,工作量大、灵活性强、时间要求紧、对论文管理工作质量影响大。特别是近年来,高校本科扩招工作进一步深入,每年毕业生人数不断增加,另外院校扩建带来的异地办学等,使得毕业设计的管理工作难度加大。随着教学改革的不断深入,如何有效地增强论文管理工作水平,充分调动学生的学习积极性,提高毕业设计的论文质量是各高校论文管理工作的重点之一。针对毕业设计管理中,课题的立项与学生选题的手工操作方式,适合于高校的毕业设计管理系统,实现网上双向选择,从而筛选有一定理论基础、应用价值及操作性强的毕业设计题目,把好导师立题关和设计审核关。同时充分满足学生选题及设计提交要求,增强学生的专业技能和动手能力。以此实现毕业设计的无纸化,电子化管理,提交高校毕业设计的质量和管理水平,节省人力物力财力[1][2]。1.2开发现状随着计算机时代的前进,计算机已经变成现实生活中不可缺少的一部分,人们在工作中依靠计算机技术已经无可替代。而毕业设计设计作为大学生在大学时代学习的一个重要展现,有必要具体实现计算机网络化和信息化的管理,这样不仅可以减轻设计指导老师承重的负担,也可方便指导老师进行课题申报、论文审核等过程,让比较繁重的毕业设计采用数据库进行统一管理。因此,设计一种毕业设计综合管理系统是各大高校论文管理工作所向往发展的一项任务,也是各院校教学发展的主要趋势。目前在国内外虽然有很多像这种类似的系统和软件,然而真正应用到各大高校和院校的却少之又少。针对各大高校及院校的基本需求和要求,一个好的毕业设计管理系统必须操作比较简单,功能比较完善,能够很好的向学生及老师展示其优点。1.3论文结构第一章是论文的绪论部分,主要介绍了课题的研究背景以及研究目的和意义。第二章研究了毕业设计管理系统的所采用的开发技术和开发工具。第三章研究实验室管理系统的需求分析。根据系统的特点,分析了系统结构和系统采用的开发方法,以及系统的运行环境,分析了业务流程,绘制了业务流程和数据流程。第四章是对系统的详细设计进行说明。第五章是系统的具体实现,介绍系统的各个模块的具体实现。第六章在前几章的基础上对系统进行测试和运行。最后对系统进行了认真的总结,以此对未来有一个新的展望。第2章主要技术和工具介绍2.1jsp脚本语言JSP是一种跨平台的网页技术,最终实现网页的动态效果,与ASP技术类似,都是在HTML中混合一些程序的相关代码,运用语言引擎来执行代码,JSP能够实现与用户的交互,方便用户的使用[3]。JSP技术具有诸多优点,由于JSP是基于Java的,所以具有了Java的最大优点。可以忽略所使用的平台,实现仅需一次编写就能够到处运行使用,而且还具有很好的安全性和多平台支持的特性,能够在任何平台的任何环境中进行开发,进行系统部署和环境扩展。它也有属于自己的功能强大的开发工具的支持,并且可以通过很多渠道免费得到,这就为JSP技术的传播也准备了条件[4]。与微软公司的ASP技术相比,JSP具有如下优点:(1)开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持[5]。(2)平台和服务器的独立性:JSP编写的代码可运行在任何符合JAVA语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包[6]。(3)开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。(4)JSP标记可扩充性:JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。(5)JSP跨平台的可重用性:JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的[7][8]。2.2Mysql数据库MySQL是PHP的最佳搭档,是一种关系数据库管理系统[9][10]。MySQL有如下特点:1.MySQL是一种关系数据库管理系统。2.MySQL是开源的。3.MySQL服务器是一种快速的、可靠的和易于使用的数据库服务器。4.MySQL可运行在不同的操作系统下,可以支持Windows95/98/NT/2000以及Unix、Linux等多种操作系统平台。5.MySQL支持大型的数据库。虽然对于用PHP编写的网页来说只要能够存放上百条以上的记录数据就足够了,但MySQL数据库可以方便地支持上千万条记录。6.MySQL服务器工作在客户/服务器或嵌入系统中[11]。2.3B/S结构B/S模式也就是浏览器/服务器模式,它的界面部分是在浏览器端展示,而主要工作是由服务器端进行实现的,用户的请求由浏览器端提交给服务器端进行处理,而服务器将处理结果反馈给浏览器端,在浏览器端界面描画给用户查看。采用B/S模式不仅可以避免用户必须安装专业软件才能开发系统或者访问系统的局限性,而且更加便利[12]。2.4MVC模式MVC是一个框架模式,有三个核心部件,即模型(Model)、视图(View)和控制器(Controller)。模型表示应用程序核心,视图表示显示数据,控制器表示处理输入。它们各自处理自己的任务,将业务逻辑和数据显示分离,便于代码的重用[13]。2.5SSM框架市面上J2EE的开源框架层出不穷,本系统采用近期比较流行的SSM的框架组合,即SpringMVC4.2.3+Spring4.2.3+Mybatis3.4.1的框架组合,、其中Mybatis和Hibernate都是操作数据库的框架,同时使用是因为Mybatis查询效率高,而Hibernate由于其ORM特性,对更新修改操作很方便。具体采用技术框架描述如下:(1)SpringMVCSpringMVC是一种实现了MVC设计模式的轻量级Web框架,大大简化了开发人员的日常Web开发,选择SpringMVC还有一个原因,就是SpringMVC对Ajax的支持非常好。(2)SpringSpring是一个全方位的应用程序框架,一般用Spring来整合整个应用程序,同时它也可以很轻松的用来整合其它各种框架,包括Mybatis、Hibernate等。(3)MybatisMyBatis是优秀的持久层框架,它可以通过配置xml或注解的方式来定制SQL,然后将接口和Java的实体对象映射成数据库中的记录[14]。2.6tomcat服务器概述Tomcat属于著名的Apache工程组下的一个独立项目组jakarta,该项目组和Java领导者Sun公司合作共同致力于Servlet/JSP服务技术的开发。虽然目前Tomcat不是性能最好的Servlet/JSP服务器,但是由于它的开发者具有深厚的技术背景,加上该项目本身非常活跃。同时Tomcat属于开放源代码项目产品,可以使我们有机会更深入的了解和使用[15]。第3章系统分析3.1可行性分析本次毕业设计基于B/S模式下,运用Java、SSM框架采用的是Mysql数据库和Myeclipse实现,总体的可行性共分为以下三个方面。3.1.1技术可行性采用的是当下流行的JAVA语言,SSM框架,它具有如下优点。强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。JSP可以使用成熟的JAVABEANS组件来实现复杂功能。3.1.2经济可行性毕业设计管理系统采用的插件都是开源免费的,开发工具,Myeclipse,以及数据库是Mysql皆是开源免费的,服务器采用tomcat,也是当下流行的开发所用的服务器,因为都是开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。3.1.3操作可行性本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以毕业设计管理系统具备操作可行性。3.2需求分析一个系统的开发至关重要的一点就在于对需求的分析。在研究调查的基础之上,对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。下面分别简单阐述一下这几个功能模块需求。登录:登录功能主要分为用户登录用户子系统和管理员登录管理子系统两部分内容,用户在用户子系统登录页面进行登录,系统将用户填写的登录信息与用户已存在的用户名和密码进行验证,验证通过则登录成功。个人资料管理:用户可以根据自己当前的情况修改个人的信息。开题管理:添加开题记录:用户添加开题记录;编辑开题记录:用户修改开题记录信息;删除开题记录:用户删除开题记录;查询开题记录:用户查询个人开题记录;开题记录审核:管理员给用户添加的开题进行审核。导师选择管理:对导师的选择,完成选择记录的录入、删除、修改,同时维护选择记录。论文管理:添加论文信息:学生添加论文信息;编辑论文信息:学生修改论文信息;删除论文信息:学生删除论文信息;查询论文信息:学生查询论文信息。通知管理:添加通知信息:管理员添加通知信息;编辑通知信息:管理员修改通知信息;删除通知信息:管理员删除通知信息;查询通知信息:管理员查询通知信息。3.3业务流程分析业务流程图是一种物理模型,它描述系统内部各单位与人员之间的业务关系和管理信息的流向。系统的业务流程如下图所示。图3-1系统业务流程图第4章系统设计4.1整体架构系统整体采用分层架构,分层就是要把界面部分、业务逻辑部分、数据库访问部分的代码放在各自独立的方法或类中编写,减少代码之间的联系,分层设计思想已经成为开发软件的主流思想。SSM框架是springMVC,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层,使用springMVC负责请求的转发和视图管理,spring实现业务对象管理,mybatis作为数据对象的持久化引擎。SSM框架的工作原理如下:1.客户端发送请求到DispacherServlet(分发器)。2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller。3.Controller调用业务逻辑处理后,返回ModelAndView。4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图。5.视图负责将结果显示到客户端。6.IOC容器可以装载bean(也就是Java中的类,当然也包括servicedao里面的),有了这个机制,就不用在每次使用这个类的时候为它初始化,很少看到关键字new。另外spring的aop,事务管理等等都是我们经常用到的。7.mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。其构建图如下图所示。图4-1整体架构4.2系统结构设计本系统使用的角色主要有系统管理员、教师、学生,学生可以登录个人中心进行学生资料管理、教师查询、公告查询、导师选择、开题上交、论文上交、通知查询等功能。以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用教师信息管理(教师信息录入、删除、修改)、学生信息管理(学生信息录入、删除、修改)、公告信息管理(公告信息录入、删除、修改)、通知管理(通知信息录入、删除、修改)、系统管理(系统用户录入、删除、修改)等功能操作。同时管理员可以通过关键字搜索可以搜索相应的信息,打印各种详细信息,导出各类信息列表至excel中。系统的功能结构图如下图所示。图4-2系统功能结构图4.3功能模块设计用户管理模块:该模块包括学生管理和系统用户管理,系统用户主要是普通管理员,对用户信息进行管理,只有学生才可在该系统上进行相应的操作。用户对个人信息可进行修改;管理员可对自己的个人信息进行维护,同时可对用户的密码信息进行修改,也可删除系统中的用户。论文信息管理模块论文信息管理模块主要实现了学生可以在系统中添加论文信息,也可以修改系统中已有的论文信息,同时可查看论文信息和搜索论文信息。选择导师模块学生查询导师信息,选择导师进入该导师的详细页面,点击选择按钮,填写选择表单,添加选择记录。选择管理模块学生选择导师模块主要实现的是对导师的选择功能,同时可查看自己的选择记录,并对选择可进行取消选择操作。管理员登录系统后,可查看学生的选择信息,也可搜索选择信息,同时可对选择信息进行确认或删除的操作。导师管理模块管理员点击导师管理菜单,点击导师添加子菜单,添加导师信息,添加成功后,该导师信息将显示给学生查看。开题管理模块学生点击开题管理菜单,点击开题添加子菜单,添加开题信息,添加成功后,管理员审核该开题,审核成功后,该开题信息将显示给学生查看。打印和导出模块系统多个页面可以进行打印功能,包括信息详细页,信息列表页,打印时调用外部打印机,完成打印设置即可打印,在信息列表页可以将该信息列表导出至excel中,用户选择保存excel文件的路径,既可以下载至本地,在excel中可以自由编辑。4.4系统安全设计毕业设计管理系统才为了防止被暴力登录,设置了登录验证码功能。除此之外,为了保证数据的安全性,用户密码被加密后存入系统数据库中,此外数据库采用的是Mysql相对稳定,数据通过人工备份的方式进行定期备份。系统整体上数据业务逻辑前台页面做到了很好的分离,这也是能够相对保证安全。4.5表单字段校验处理设计1.出错信息类型出错信息类型包括:A未输入必填项;B应输入合法字符或数字却输入非法字符或数字;C对空数据表进行更改或删除操作;D向要求唯一值的关键字段添加重复值。2.出错处理对策对于错误A,系统要求用户输入非空值。对于错误B,系统要求用户输入合法字符。对于错误C,系统提示数据表无记录可更改或删除。对于错误D,系统要求用户输入非重复值。4.6系统维护设计毕业设计管理系统是个现代化的高度集成的综合信息系统,系统主要服务对象为用户,最大化在页面中提供多的信息,因此在系统维护上,数据量较大,整体的维护设计如下:(1)代码的维护:部署在云服务器上或本地服务器,通过SVN或FTP保持版本更新迭代。(2)功能增加:功能升级在必要的前提下。(3)数据维护:根据安全性等需求,定期对数据库进行人工备份。4.7数据库设计4.7.1数据库设计概述数据库的设计在整个系统开发的过程中扮演者关键的角色,前期考虑不全面修改数据库有可能整个系统都要重新开发,所以数据库的设计不容忽视。数据库具有完整性和一致性,并且数据库的响应速度非常的快。在毕业设计管理系统中,设计数据库表的各个字段,确定表和表之间的关联关系,在后期的开发中尽量减少改动数据库,提高开发效率。4.7.2概念设计数据库的前期设计最关键的步骤是概念结构的设计,是数据模型的概念信息。将需求分析抽象为信息世界的结构,才能更好更准确的使用数据库管理系统。其设计具有以下两点优势:(1)能够体现事物之间的关联关,满足用户对数据的处理要求。(2)易于理解、更改,用户的积极参与是数据库设计成功的关键。(3)描述概念模型最有力的工具就是E-R模型,使用E-R图可以清楚的指导各实体之间的联系,它有三个关键的元素,即实体、属性和联系。系统总体ER图如下图所示。图4-3系统总体ER图4.7.3逻辑设计数据库的概念模型转换成逻辑模型又称逻辑设计,通俗的讲就是实体图转化成以关系模式、层次模式表现出来的形式。毕业设计管理系统的数据库逻辑结构如下。管理员用户信息(序号、用户名、密码、权限、添加时间)学生信息(学号、密码、姓名、性别、年龄、联系方式、照片、备注)教师信息(工号、密码、姓名、性别、年龄、联系方式、照片、备注、可选人数、已选人数)开题信息(工号、姓名、性别、开题名称、开题报告、提交时间、学生、备注)论文信息(工号、姓名、性别、开题名称、学生、论文)4.7.3物理设计数据库的物理结构设计,就是在数据库中创建表设置表的属性和大小等等,建立表和表之间的关联关系。本系统所使用的部分数据表结构如下。allusers表:序号字段名称字段类型大小允许为空最大长度备注1idInt410

2username150255

3pwd150255

4cx150255

5addtimeDateTime819

gonggaoxinxi表:序号字段名称字段类型大小允许为空最大长度备注1idInt410

2gonggaomingcheng150255

3neirong255255

4fabushijian150255

5faburen150255

6addtimeDateTime819

jiaoshixinxi表:序号字段名称字段类型大小允许为空最大长度备注1idInt410

2gonghao150255

3mima150255

4xingming150255

5xingbie150255

6nianling150255

7lianxifangshi150255

8zhaopian150255

9beizhu255255

10kexuanrenshu150255

11yixuanrenshu150255

12addtimeDateTime819

kaitixinxi表:序号字段名称字段类型大小允许为空最大长度备注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kaitimingcheng150255

6kaitibaogao150255

7zhuangtai150255

8tijiaoshijianDateTime819

9xuesheng150255

10beizhu255255

11addtimeDateTime819

tijiaolunwen表:序号字段名称字段类型大小允许为空最大长度备注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kaitimingcheng150255

6xuesheng150255

7lunwen150255

8pingshen150255

9dengji150255

10issh30255

11addtimeDateTime819

tongzhi表:序号字段名称字段类型大小允许为空最大长度备注1idInt410

2faburen150255

3tongzhineirong255255

4jieshouren150255

5addtimeDateTime819

xuanzedaoshi表:序号字段名称字段类型大小允许为空最大长度备注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kexuanrenshu150255

6yixuanrenshu150255

7xuesheng150255

8lianxifangshi150255

9beizhu255255

10issh30255

11addtimeDateTime819

xueshengxinxi表:序号字段名称字段类型大小允许为空最大长度备注1idInt410

2xuehao150255

3mima150255

4xingming150255

5xingbie150255

6nianling150255

7lianxifangshi150255

8zhaopian150255

9beizhu255255

10addtimeDateTime819

第5章系统实现5.1登录模块的实现系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,其不能为空,然后调用数据库查找alluser表中数据,进行匹配查看此账号是否存在和密码是否正确。在主页中切入登录窗口页面,调用设计好的CSS、JS和IMAGES等文件对页面进行整体设计,创建表单,在login.jsp页面发送登录请求,通过applicationContext.xmll文件来指定所要执行的DispacherServlet分发器,分发器找到控制层下的hsgloginController文件。当系统判定账号密码都正确,系统会跳转到系统的首页。用户登录模块的IPO如下所示:输入:用户名和密码。处理:1)检验用户是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提示用户输入用户名和密码。2)检验是否存在用户输入的用户名,并且密码是否正确。3)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。4)根据用户名,将其显示在系统首页上。5)关闭窗口。输出:是否成功的信息。登录流程图如下所示。图5-1登录流程图系统登录界面如下所示。图5-2系统登录用户登录的逻辑代码如下:@RequestMapping("hsglogin.do") publicStringcheckAllusersLogin(Allusersallusers,HttpSessionsession){ Map<String,Object>u=newHashMap<String,Object>(); System.out.println("name==="+allusers.getUsername()); u.put("username",allusers.getUsername()); //u.put("utype","用户"); //Md5.MD5HexEncode(user.getPassword()) u.put("pwd",allusers.getPwd()); allusers=allusersService.allusersLogin(u); if(allusers!=null){ session.setAttribute("username",allusers); System.out.println("username="+allusers); session.removeAttribute("suc"); return"redirect:index.do"; }else{ System.out.println("usernafwfwwme="); session.setAttribute("suc","登录失败!用户名或密码错误!"); return"login"; }5.2用户子系统模块的实现5.2.1用户首页的实现本系统的首页使用多个jsp页面组成,通过设置页面的长度和高度限制显示区域的大小,整个系统首页以图片为背景。在一个jsp页面中,使用css指定字体大小和字体类型以及其位置,水平排列菜单栏,通过设置超链接的样式去掉下划线和鼠标移动到该选项时变颜色等等,编写javascript脚本在导航栏显示系统的当前日期,首先定义一个数组d存放周一至周日,创建一个获取时间的对象time后通过该对象的方法获取年月日,(time.getDay())%7计算得到的结果是数组的下标,通过数组下标就获取了数组的值,利用字符窜连接把年月日和星期转换成字符窜,通过document.getElementById("date")获取标签后使用innerHTML把该字符窜显示在jsp页面。利用<jsp:include></jsp:include>标签包含设计好的头部和左边部分的网页。如下图所示为系统的首页界面。图5-3系统首页其中载入前台页面的主要代码如下:<td><%@includefile="qttop.jsp"%></td><td><%@includefile="qtleft.jsp"%></td><td><%@includefile="qtdown.jsp"%></td>5.2.2导师选择模块的实现学生点击某个导师点进入导师详细页,使用getmap(id,"xinxi"),通过导师ID得到导师信息,将导师信息赋值给选择信息,添加选择则发出名为daoshixuanze_add.jsp的action请求,找到DaoshixuanzeController控制层的addDaoshixuanze()方法,然后调用业务逻辑层下的daoshixuanzeService类,将选择内容插入选择表中。导师选择流程图如下所示。图5-12导师选择流程图导师选择界面如图所示。图5-13导师选择选择管理界面如图所示。图5-14选择管理选择添加关键代码为:@RequestMapping("addDaoshixuanze.do") publicStringaddDaoshixuanze(HttpServletRequestrequest,Daoshixuanzedaoshixuanze,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); daoshixuanze.setAddtime(time.toString().substring(0,19)); daoshixuanzeService.add(daoshixuanze); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","daoshixuanzeList.do"); return"redirect:postback.jsp"; //return"redirect:daoshixuanzeList.do"; }5.2.3论文上交模块的实现学生点击某个开题点进入开题详细页,使用getmap(id,"xinxi"),通过开题ID得到开题信息,将开题信息赋值给论文信息,调添加论文则发出名为yuyuejilu_add.jsp的action请求,找到YuyuejiluController控制层的addYuyuejilu()方法,然后调用业务逻辑层下的yuyuejiluService类,将论文内容插入论文表中。成功论文后,教师管理学生的论文信息,审核论文信息。论文上交界面如图所示。图5-15论文上交论文管理界面如图所示。图5-16论文管理论文添加关键代码为:@RequestMapping("addYuyuejilu.do") publicStringaddYuyuejilu(HttpServletRequestrequest,Yuyuejiluyuyuejilu,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); yuyuejilu.setAddtime(time.toString().substring(0,19)); yuyuejiluService.add(yuyuejilu); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","yuyuejiluList.do"); return"redirect:postback.jsp"; //return"redirect:yuyuejiluList.do"; }5.2.4开题模块的实现用户发布开题,可以进行新增、查看、修改以及删除等相应的开题管理操作。当点击"新增开题"的按钮时,在开题添加界面进行详细信息的添加操作。当点击"查看开题"超级链接时,会显示所选的开题的信息,然后点击"返回"再返回到其主页面。开题新增界面如图所示。图5-15开题新增开题管理界面如图所示。图5-16开题管理开题添加关键代码为:@RequestMapping("addXindexinxi.do") publicStringaddXindexinxi(HttpServletRequestrequest,Xindexinxixindexinxi,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); xindexinxi.setAddtime(time.toString().substring(0,19)); xindexinxiService.add(xindexinxi); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","xindexinxiList.do"); return"redirect:postback.jsp"; //return"redirect:xindexinxiList.do"; }5.3管理员子系统模块的实现5.3.1用户管理模块的实现用户在yhzhgl查看用户信息,先使用sql语句查询出所有用户表的数据,然后调用PageManager.getPages(url,4,sql,request),返回一个ArrayList的对象,在for循环里,使用jsp得到每个ArrayList对象的数据,然后放入页面模板中,添加用户则将添加的用户数据封装在HashMap,中然后调用action包下Action类的insert方法将用户内容插入用户表中。系统用户管理界面如下图所示。图5-17系统用户管理学生管理界面如下图所示。图5-18学生管理系统用户管理关键代码为:@RequestMapping("allusersList.do") publicStringgoodList(@RequestParam(value="page",required=false)Stringpage, ModelMapmap,HttpSessionsession,Allusersallusers,Stringusername,Stringpwd,Stringcx){ /*if(session.getAttribute("user")==null){ return"login"; }*/ if(page==null||page.equals("")){ page="1"; } PageBeanpageBean=newPageBean(Integer.parseInt(page),15); Map<String,Object>pmap=newHashMap<String,Object>(); pmap.put("pageno",pageBean.getStart()); pmap.put("pageSize",15); Map<String,Object>bmap=newHashMap<String,Object>(); Map<String,Object>cmap=newHashMap<String,Object>(); /*pmap.put("uid",((Users)session.getAttribute("user")).getId()); bmap.put("uid",((Users)session.getAttribute("user")).getId());*/ if(username==null||username.equals("")){pmap.put("username",null);cmap.put("username",null);}else{pmap.put("username",username);cmap.put("username",username);} if(pwd==null||pwd.equals("")){pmap.put("pwd",null);cmap.put("pwd",null);}else{pmap.put("pwd",pwd);cmap.put("pwd",pwd);} if(cx==null||cx.equals("")){pmap.put("cx",null);cmap.put("cx",null);}else{pmap.put("cx",cx);cmap.put("cx",cx);} inttotal=allusersService.getCount(bmap); pageBean.setTotal(total); List<Allusers>list=allusersService.getByPage(pmap); map.put("page",pageBean); map.put("list",list); session.setAttribute("p",1); return"allusers_list"; }5.3.2公告管理模块的实现用户在gonggaoxinxi_list查看公告信息,先使用sql语句查询出所有公告表的数据,然后调用PageManager.getPages(url,4,sql,request),返回一个ArrayList的对象,在for循环里,使用jsp得到每个ArrayList对象的数据,然后放入页面模板中。用户点击添加公告则跳转至gonggaoxinxi_add.jsp,添加公告则将添加的公告数据封装在HashMap,中然后调用action包下Action类的insert方法将公告内容插入公告表中。公告管理流程图如下所示。图5-21公告管理流程图公告添加如下图所示:图5-22公告添加公告查询如下图所示:图5-23公告查询公告信息添加关键代码为:@RequestMapping("addGonggaoxinxi.do") publicStringaddGonggaoxinxi(HttpServletRequestrequest,Gonggaoxinxigonggaoxinxi,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); gonggaoxinxi.setAddtime(time.toString().substring(0,19)); gonggaoxinxiService.add(gonggaoxinxi); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","gonggaoxinxiList.do"); return"redirect:postback.jsp"; //return"redirect:gonggaoxinxiList.do"; }第6章系统测试6.1测试目的与定义在对该系统进行完详细设计和编码之后,就要对毕业设计管理系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。6.2功能测试功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项检测,检查产品是否达到用户要求的功能。下面列出的测试用例是基于需求分析阶段的用例描述而进行的设计。下面将通过表格的形式介绍针对本系统每个功能模块所进行的功能测试。测试用例表如下所示。表6-1测试用例测试用例方案输入数据预期结果测试结果用户登录使用已存在的用户名和相匹配的密码、验证码登录系统用户名:zcyh密码:zcyh验证码:6066系统提示登录成功,并跳转至系统主页与预期结果一致使用已存在的用户名和不匹配的密码、正确的验证码登录系统用户名:zcyh密码:zcyh123验证码:6066系统提示登录失败,密码错误与预期结果一致使用已存在的用户名和相匹配的密码、不正确验证码登录系统用户名:zcyh密码:zcyh验证码:6061系统提示登录失败,验证码错误与预期结果一致密码修改用户登录系统后,使用原始密码和两次一致新密码修改当前的登录密码原始密码:zcyh新密码:zcyh1确认新密码:zcyh1系统提示修改密码成功与预期结果一致原始密码输入错误,两次新密码一致原始密码:zcyh2新密码:zcyh1确认新密码:zcyh1系统提示修改密码失败,原始密码错误与预期结果一致原始密码输入正确,两次新密码不一致原始密码:zcyh新密码:zcyh1确认新密码:zcyh2系统提示修改密码失败,两次新密码不一致与预期结果一致公告管理用户已登录,打开公告添加界面,输入公告标题、内容等信息公告标题:wernziihu公告内容:qerjzfiew系统提示公告添加成功,新公告成功显示与预期结果一致用户已登录,打开公告添加界面,用户未输入公告标题和内容公告标题:公告内容:系统提示公告添加失败与预期结果一致导师选择用户已登录,打开导师选择界面,输入选择人、内容等信息选择人:555选择内容:已选系统提示导师选择成功与预期结果一致用户已登录,打开导师选择界面,用户未输入选择人和内容选择人:选择内容:系统提示导师选择失败与预期结果一致6.3测试结果测试完成后,系统总体上已经完成了预期的所有功能,满足了任务书中的各项要求,该系统操作简便,界面简洁,安全性高,对用户来说无疑是一款非常实用的毕业设计管理系统。6.4测试评价软件基本达到设计要求,功能完整,操作简便,界面简洁,安全可靠,错误处理正确,且能在出错时提示出相对应的错误种类,然而同时在测试中也发现了软件的一些不足。比如,该系统在用户的数据量达到上万条时,页面操作会有微小的卡顿,等等一些缺陷,这些需要在软件之后的进一步修改和维护时进行修改。第7章总结通过毕业设计管理系统的开发,本人巩固了之前学过的知识,平时所学到的知识不仅融合了,还获得了许多其他学科上知识,本人深深体会到学科之间的关联效应。为了完成毕业设计,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。本次系统上线成功后,得到了用户的高度认

温馨提示

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

评论

0/150

提交评论