近年来,随着高考改革,高校连年扩招,大学生的基数不断增大,一批一批的毕业生数量也不断增加,所有应届毕业生都必须要通过毕设的选择和制作。因为毕业设计是实践和考核在校大学生们在大学几年中学习的知识和专业技能,而且不同专业的毕业设计课题种类也很多,学生基数大。所以,普通的毕业设计制作无论是选题还是完整的过程,这都很冗杂,很明显,这已经无法满足当代毕业生和相关老师等的管理需求。所以,我们对于这一现象,做出了一个简单实用的毕业设计网上选题的系统。我相信,这无论是老师还是学生而言,对他们的毕业设计和答辩都是至关重要的。
该系统基于JSP开发,然后数据库选用的是MYSQL。该系统一共分为三个功能模块,这其中分为教师功能模块、学生功能模块、还有管理员功能模块。对本毕业设计网上选题系统,主要是完成老师在网上自主发布课题、学生在网上选课题和提交,而且老师还能够对学生选题情况实时查看和老师发布的课题有没有通过管理员审核等等操作;管理员的功能有很多,比如教师信息和学生信息的增、删、改、查,专业和院系的添加、修改和删除,对老师发布的课题进行审核等多种功能的实现。这样就实现了学校与老师、老师与学生之间的相互沟通,且沟通非常方便。其中管理员拥有的功能最多,权限也最高。该系统界面简单、易懂、灵活,非常适合高等学校作为毕业设计选题系统,这也和现目前高等院校大学生毕业设计的管理需求相呼应。
关键词:毕业设计、网上选题系统、JSP、MYSQL
论文类型:工程设计
Summary
With the expansion of annual enrollment, the base of college students is increasing, and the number of graduates is increasing. The necessary link for graduates is the topic selection and production of graduation design.Because the graduation project is a kind of practice and test of College Students’ learning and professional skills in recent years, there are a large number of graduates. Therefore, the traditional graduation design from topic selection to completion is rather cumbersome, which obviously can not meet the current management needs of graduates, teachers and teachers,Develop a simple graduation project online topic selection system is very important for teachers and students to graduate design and defense.
The system is based on JSP technology development, and then the database is selected MYSQL, there are three main functional modules in the system, namely, administrator function module, teacher function module and student function module.through this graduation design online topic selection system, mainly realizes the teacher online independent release topic, the student online independent choice topic and submits, and the teacher can check the student topic and whether the teacher publishes the topic through the administrator audit and so on.There are many functions of administrators, such as increasing, deletion, modification, checking, addition, modification and deletion of majors and departments, and review of the topics released by teachers. In this way, the school and teachers, teachers and students to communicate with each other, and communication is very convenient. The administrator has the most functions, the highest permissions. The unified interface is simple, good, dynamic and practical. It is an established election system for colleges and universities,and it also accords with the management requirements of college students’ graduation design at present.
Key words: graduation project,online topic selection system, JSP,MYSQL
摘 要 I
Abstract II
目 录 III
1 绪论 1
1.1 系统开发背景 1
1.2 研究目的和意义 1
1.2.1 研究目的 1
1.2.2 研究意义 2
1.3 论文章节安排 2
2 系统开发技术 4
2.1 JSP技术的概述 4
2.2 Servlet简介 4
2.3 MYSQL简介 5
2.4 MyEclipse开发平台 6
2.5 B/S架构 6
2.6系统开发应用环境 6
2.6.1 硬件环境 6
2.6.2 软件环境 6
3 系统分析和设计 8
3.1 可行性分析 8
3.1.1经济可行性 8
3.1.2技术可行性 8
3.1.3操作可行性 8
3.1.4法律可行性 9
3.2 系统的功能需求分析 9
3.2.1 教师模块 9
3.2.2 学生模块 9
3.2.3 后台管理模块 9
3.3 系统的功能结构设计 10
3.4 系统流程设计 10
3.4.1 用户登录流程 11
3.4.2 学生选题审核流程 11
3.4.3 后台管理员功能操作流程 12
3.5 数据库设计 13
3.5.1 数据库概念设计 13
3.5.2 数据库逻辑设计 17
4 系统的详细设计与实现 22
4.1 系统管理员登录界面 22
4.2 添加学生信息页 22
4.3 学生信息列表页面 23
4.4 专业信息列表页 24
4.5 研室信息列表页 26
4.6 课题信息列表页 26
4.7 添加课题信息页 27
4.8 添加教师选题信息列表页 27
4.9 教师选题信息列表页 28
4.10 选题信息列表页 29
4.11 教师信息查询列表页 29
5 应用与测试 31
5.1 软件测试的目的 31
5.2 测试的步骤 31
5.3 测试内容 31
5.3.1 管理员模块测试 31
5.3.2 教师模块测试 32
5.3.3 学生模块的测试 32
5.4 测试结果 33
结 论 34
致 谢 35
参考文献 36
1.1 系统开发的背景
近年来,随着高考改革,高校连年扩招,大学生的基数不断增大,一批一批的毕业生数量也不断增加,每年的毕业设计和论文答辩是每一个毕业生的必须跨过的坎,毕业设计和毕业答辩是否成功通过,直接影响大学生是否能够顺利拿到毕业证。于学校而言,无论是从毕业设计的选题审核还是完成答辩后的工作量都是很大的,而且这个过程冗杂、重要,不得有一丝的错误。又由于毕业设计都存在着课题种类多样化、复杂化、文档多、审核的过程长,步骤多等原因,不提升效率,还用老旧的人工审核机制,这但是是浪费时间还大大降低了工作效率,而且还耗费时间,并且存在文档还不容易保存,容易造成丢失。但是,由于现在网络普及程度和互联网技术的推陈出新,逐渐成熟,计算机在各个领域的使用率也越来越高。所以,我们基于了JSP的毕业设计网上选题系统能够顶替传统毕业设计的管理方式,实现了新时代新型的网络教学管理。
目前很多高校还没有自己的毕业设计网上选题系统,只有小部分高校实现了毕业设计选题的网络化,在如今计算机网络技术已经成熟,生活中的各个领域都在用计算机技术来代替人工操作,大大节省了人们的时间,同时也提高了工作的效率。因此高校毕业设计网上选题系统的普及和应用已是大势所趋。
1.2 研究目的和意义
1.2.1 研究目的
基于JSP的毕业设计网上选题系统针对高等院校对于毕业设计和毕业答辩的具体要求上开发的。该系统能够让学校对毕业设计这方面进行有效管理,能够帮助各位管理人和老师提高效率,这能够提高管理的准确性,将学生和老师的工作任务量减轻,还增加了老师和学生之间的沟通和交流,仅由人工操作的毕业设计选题和毕业答辩被网上管理模式代替。
该系统分为学校管理员、老师、学生三个使用对象,这是一款简单容易的信息管理系统,能够很好的利用学校的网络资源,将学校在毕业设计选题方面的工作方便高效化。该系统利用B/S架构,运用MYSQL数据库和JSP技术开发完成,学生可以直接在网络上进行毕业设计的选题,再确认上传。老师们也能够在任何时间在线上发布有关课题以及对学生的选题进行查看等操作,不用再为传统的人工操作审核而烦恼了,整个实现了一个学生老师双选的操作过程。整个系统实现的功能有很多,比如学生管理、教师管理、课题管理、选题管理等多个功能,每个用户都有着不同的操作权限。这其中,管理员的权限最高。
1.2.2 研究意义
近年来,互联网技术逐渐进入千家万户,计算机网络逐渐全面覆盖,我国高校对于网络功能方面的需求也越来越高,因此,有必要开始对高校的网络环境进行一个改善了,让学校对于工作量比较大的管实现网络化管理,这就需要学校支持和鼓励网络管理的开发以及使用。就当代大学生而言,在毕业设计期间还面临各种情况比如就业等,因此,老师指导学生毕业设计所花费的时间和精力无法得到充足保证,指导老师对学生的监督不到位,指导时间少,导致部分学生的毕业设计和毕业论文的质量不够高。并且这个工作本来十分冗杂,单纯的用人工管理的方式非常耗费时间。又由于每年学校毕业生增加,学校也面临着比较大的工作量还有课题重复的现象。所以,为了方便导师和学校对于毕业课题的监督,导师和学生可以及时的讨论,设计出一个可靠有用的毕业设计选题系统是很有必要的。
该毕业设计网上选题系统继续JSP开发,对几个使用者方面都进行了一些列的分析,终于还是实现了该功能的设计。毕业设计网上选题系统不但需要在设计出用户访问的架构,还要让之有易用性、具有强交互性、功能完备的特点。而对于数据库而言,要具有原子性、一致性、持久性等。当一个用户登录之后,能够根据不同的身份进入到不同的访问界面,这也行有着相应操作权限。比如对于学生而言,学生能够对教师信息进行查询和个人信息的修改。教师能够发布课题、对课题增删改。而管理员能够对于系统进行更新、维护和管理整体信息,审核课题等功能。
该系统以MyEclipse为开发工具,MYSQL为数据库,利用互联网传输信息。按照图形用户界面(GUI)的形式被用户所浏览。这样就使得本系统不论是在操作方面,还是在后期的数据维护方面都比较简单,对于学生和老师来说也接触的多,比较容易理解。
1.3 论文章节安排
第一章
绪论:对于毕业设计网上选题系统的开发背景、研究意义和研究目的进行介绍。
第二章
系统开发技术:对本系统中所用的相关技术进行了简单的介绍,并说明了本系统开发的软硬件环境。
第三章
可行性分析和设计:主要从经济、技术、操作、法律四个方面分析可行性,再者又对系统功能需要分析。对系统功能结构以及数据库进行设计。
第四章
系统的详细设计与实现:对系统中所实现的具体的功能进行展示和说明。
第五章
应用与测试:对测试目的及测试步骤进行阐述,并对毕业设计网上选题系统的各项功能进行测试和分析。
2.1 JSP技术的概述
JSP页面由HTML代码组成且java代码嵌入其中,有着很好的跨平台性[3]。当客户请求该页面时,服务器能够处理其中.java代码,再将生成的标准HTML页面发送给客户机[4]。用户在首次访问JSP页面时,系统服务器能够自动将JPS编译成二进制代码再将其保存起来,当用户下一次访问该页面时,服务器就会自动调用这些二进制代码,所以JSP的运行效率高,这也是与ASP的主要区别[8]。在JSP页面,也可以编写业务逻辑处理HTTP请求,也能够利用HTML代码编辑页面,实现功能。Servlet和JSP看着几乎一样,但是在本质上还是有一定的差异,设计主要使用JavaBean实现业务逻辑或封装业务对象[6]。通常JSP在网络服务器上,在客户端发送请求的时候,JSP对请求开始响应,再按照请求的具体内容生成HTML、XML或其他格式的网页内容,最后把响应内容返回给客户端,供客户端使用。JSP技术的脚本为Java语言,给用户HTTP请求提供帮助,能够与服务器上面的其他Java程序共同处理一些复杂的业务需求。
JSP还有多方面特点,例如,你可以通过模板简单有效地添加动态web内容。JavaBean和标记库技术可用于重用公共功能代码(设计的组件易于重用并减少重复工作)。标签库不仅具有通用的内置标签(JSTL),而且还支持具有可扩展功能的用户定义标签,是良好的工具支持。它继承了Java语言的优点,使用相对简单,跨平台。由于Java及相关技术开发平台的支持,网站开发人员可以选择最适合JSP开发的系统平台;在不同环境中开发的JSP项目可以在所有客户端上顺利访问[2]。页面的动态部分(内容更改控制)/静态区域(不需要更改的部分)以分散但有序的形式聚集在一起,这可以使人们更直观地看到页面代码的整体结构,也让设计页面程序的第二部分工作逻辑易分离(逻辑和外部视图分离)。这样有利于对人员进行调配,分别发挥各自的优势,最终实现分工明确高效,与其他企业级Java技术兼容。JSP可以单独负责页面中数据的呈现,实现分层开发。
2.2 Servlet简介
Servlet是使用Java Servlet接口(Java Servlet Interface, API)运行在Web服务器上的Java程序,功能强大。它不仅能够处理HTTP请求中的业务逻辑,还能够输出HTML代码显示指定的页面[5]。Servlet运用Java语言编写,它结合Java语言的优点,且Servlet还对Web的相关应用进行了封装[2],与此同时Servlet容器还提供了对应用的相关扩展,在功能、性能、安全等方面都非常优秀[4],它的技术特点为性能、安全性能等方面都很强劲,还具有可扩展性等特点。 最后Servlet生成响应内容并将其传输到服务器,服务器通常根据客户机的请求生成相应相应内容,接着服务器又把响应返回到客户机。Servlet的结构体系如图2-2所示。
图2-2 Servlet UML图
2.3 MYSQL简介
MySQL是一个多用户多线程的SQL数据库,是客户端或者服务器结构的应用程序,由MySQL和其他不同客户端程序和库组成[5]。
结构化查询SQL是使用最为广泛的标准数据库语言[5]。SQL语言让访问或更新信息变得更加简单,所以更多使用SQL查询的信息的网站。由于MySQL拥有体积小、速度快和源代码开放等特点,可以轻松实现一个网站的信息管理[9]。之间的接口程序数据库和客户端可以与CGI交流。使用JSP和MySQL开发数据驱动的网站结合在一起,这是是最好的组合。JSP页面包含HTML代码和嵌入式.Java代码。如果你已经接触到JSP,然后你应该更熟悉HTML页面中嵌入代码。
MySQL的功能特点,如支持 AIX、FreeBSD、HP-UX、Solaris、Windows等多种操作系统,这给多种编程语言提供 API,这些编程语言包括 C、C++、Python、Java、Perl、和 PHP等,MySQL 使用标准的 SQL数据语言形式,复制无崩溃从机,可提高可用性,复制多线程从机,可提高性能,3倍更快的性能,新的优化器,原生JSON支持,多源复制,GIS的空间扩展,简单有效的用户特权系统,可以同时处理多个用户数据等等[4] 。
2.4 MyEclipse开发平台
MyEclipse是很优秀的Eclipse插件开发Java集合,J2EE和MyEclipse很是强大,有着很广泛的支持,特别是对各种产品支持[1]。MyEclipse企业级工作平台MyEclipse是对Eclipse IDE的扩展,我们可以利用它在数据库和JavaEE的开发、发布,和应用程序的集成服务器极大增加工作效率[2]。并且包含JavaEE的功能集成的开发环境,主要有代码、调试、测试和发布功能,还能够完整的支持HTML、Struts、JSP、CSS、Javascript、SQL等等[4]。
2.5 B/S架构
我们都知道B/S架构是浏览器服务器的一种结构,当然一说到B/S架构,就会想到C/S架构,但是他们存在很多的区别。这些区别主要体现在三个方面,第一个方面就是它们对硬件设备的环境要求不同,B/S架构一般是建立在广域网上,而C/S架构却是建立在局域网上;其次它们的安全需求不同,B/S架构由于其硬件环境的需求,所以它的用户群体复杂多样,安全能力弱,而C/S架构的用户群相对来说比较固定,安全性强;最后它们的程序架构也不同,B/S架构由于安全性低则需要建立在更加的优化基础之上,而C/S对安全和速度不需要过多的考虑。总而言之,B/S结构的程序架构是对C/S的改进和进化,是发展的趋势。它将系统功能、工作流程、系统管理、系统接口集中到WEB服务器中,只要安装一个浏览器,便可以实现数据在数据库和浏览器之间的交互。具体流程如图2-1所示。
图2-1 B/S架构系统功能图
2.6系统开发应用环境
2.6.1 硬件环境
硬件平台:硬盘空间: 80G
内存: 4G
2.6.2 软件环境
操作系统:Windows10 64位
其它软件:浏览器:Microsoft Edge
数据库:MYSQL数据库
架构:B/S架构
开发技术:Servlet技术和JSP技术等
开发平台:MyEclipse
在这个新时代,利用计算机进行网络管理在我们日常生活中的越来越常见。它能够代各种复杂的人工操作,而且既安全,操作又简单,准确性高这些优点,很大程度上降低了对时间的消耗,提高工作效率。因此,一到开发除了一个容易使用、可操作性强、数据安全性高的基于JSP的毕业设计网上选题系统将成为很重要的技术问题。
3.1 可行性分析
该系统的用户主要分为三类,为管理员、老师、和学生三类,用户的数据变化也很大,容易计算。所以利用数据库作为中心是很贴合的。利用较低的成本以及时间能够获取较大的利益,可行性的研究是一个了解系统开发项目是否能够实现的过程,只有通过初步设计目标和对市场进行研究可以得出以下四点可行性∶
3.1.1经济可行性
使用了该毕业设计选题系统以后,能够对高校毕业设计工作得自动化管理,这对教师和管理者而言都是一个很好的选择,可以节约人力物力的成本,提高毕业课题设计的自动化程度,这一整个工作代替了以前的人工操作,在很大程度上方便老师和学生在毕业设计选题、更新维护、上传课题等操作。除了以上优点,还能够有着很大的储存量,学生能够在线进行选题管理、教师信息和教师选题信息的搜索和查询。该系统带来的价值是不可估量的无论从成本还是收益上来看,该系统都有较强的可行性。
3.1.2技术可行性
在系统的发展期间,利用现在的人类和材料可以开发出来,它作为阶段性的产品,在以后的利用价值很大,然而实施方法却很容易理解。此系统由JSP技术和MySQL数据库实现。因为现在所有的数据信息的储存都是通过数据库完成,因此,该系统在技术层面上而言是能够实现的。现在通过互联网处理信息的普及程度日渐升高,基于考虑现目前普通高校教学管理和改革,无论是从当前因素还是从长期的发展而言都必须要通过使用计算机来管理数据,这将很大程度上的提高高校毕业生毕业设计管理的工作效率,而且现在的高校已经有很多都在使用无纸化的信息系统。因此,该系统的使用通过对现在高校发展前景分析,它的发展空间很是巨大。而且,该系统推广和普及都相对较易,在高校推广也很快。综上,该系统在现在所有高校的毕业设计管理系统方面是可以实现的。
3.1.3操作可行性
因为该系统在开发初期都已经考虑到其他操作界面、其他开发界面还有比较精简的操作名称,使使用者能够更加容易掌握该系统的操作。短时间内,用户就能够进行实际操作,对该系统的各大功能模块进行熟练的掌握。而且该系统的主要使用对象是面向当前高校的学生和老师,他们对于电脑的操作是不生疏的。所以,在操作这方面是毫无疑问,具有可行性。
3.1.4法律可行性
该平台设计作是一个和毕业设计、其它毕业设计管理平台无关,由于自主开发设计,不会对其构成侵权,在法律意义上是具有可行的。
分析上面的可行性,将使用JSP技术,利用MYSQL 数据库构建系统,自主开发毕业设计网上选题系统。
3.2 系统的功能需求分析
本设计将在Windows系统下基于JSP技术实现一个基于JSP的毕业设计网上选题系统。借助需求分析明确了用户角色分为管理员、学生和教师的角色不同的角色意味着权限。
登录功能:每个角色在登陆系统的时候都需要验证用户名和密码,只有符合对应身份的验证码才能够正确的进入系统,不同角色进入系统之后对应的权限也不一样,对于教师和学生而言,要先经过注册眼睁睁才能够登录。
3.2.1 教师模块
(1)个人信息管理中心:这部分老师可以对自己的信息进行改动;
(2)项目管理:老师能够对项目课题进行增加、删除、查找、改动等操作,添加课题后待管理员审核通过后方可生效。
(3)选题管理部分:管理员可以删除、查询、改动、审核等各种操作
(4)管理员对教师角色的选题管理部分:这部分管理员可以对教师的项目进行查看、增加、删除、改动等操作
3.2.2 学生模块
(1)个人信息管理中心:这部分学生可以对自己的信息进行改动;
(2)选题项目管理部分:学生能够对项目课题进行增加、删除、查找、改动等操作,提交添加的申请之后需要等到管理员通过之后,才算生效。
(3)教师信息查询:学生用户对教师信息搜索或查看、导出EXCEL文档。
(4)教师选题管理:实现学生对教师选题信息的搜索和查看。
3.2.3 后台管理模块
(1)用户信息管理功能:管理员可以对系统中存放的用户信息进行更新和维护等。
(2)对学生信息管理:管理员身份能够对学生的信息进行管理,比如个人信息、专业信息等进行增加、删除、查询、搜索以及改动等,同时还支持导出EXCEL格式的文件。
(3)对教师信息管理:管理员能够对教师和研室的信息进行管理,可以增加、删除、查询、搜索以及改动;
(4)对课题信息进行管理:管理员能够对课题信息进行删除、查询、搜索、改动以及审核状态等操作,同时还支持导出EXCEL格式的文件。
(5)对选题信息进行管理:管理员能够对课题进行查询、查看或导出EXCEL文档。
(6)对老师的选题进行管理:管理员能够对老师所有的选题进行增加、查看、查询等操作。
3.3 系统的功能结构设计
此次毕业设计的系统整体可以分为三类,分别对应学生、老师和管理员的角色。
学生部分的功能需求如下,分别是个人资料信息管理、选题信息管理和老师相关选题管理以及老师信息查找等功能;老师部分的功能需求如下:分别是个人资料信息管理、所有的选题和课题管理以及老师的选题管理等部分;管理员权限最高,可以对学生、老师、选题、课题以及教师选题等信息都可以进行管理。如下图3-1是对系统整体功能模块的划分:
图3-1 系统整体功能模块图
3.4 系统流程设计
系统流程设计一环是非常重要的,是对系统的操作步骤进行分析和说明。其中主要的操作流程有用户登录流程,学生选题审核流程和管理员功能操作流程,重点说明的是登录的时候要选择对应的身份进行登录,不然会提示错误信息。这里我还加了一个输入验证码的操作,是为了防止机器人模拟真人登陆系统。
3.4.1 用户登录流程
用户若要进入系统,需要有正确合法的用户名和密码才可以,选好对应的自己的角色,每个用户对应的用户名和密码各不相同,同时所拥有的权限也不太,但是在登陆的流程设置和环节上,都是一样的。流程设置如下所示,图3-2:
图3-2用户登录流程设计图
3.4.2 学生选题审核流程
只有用户在顺利进入系统之后才能够进行后续操作。以下为,学生在进行选题信息模块的操作时,可以对课题信息进行提交,经由别人审核。进入系统之后,查找教师有无发布课题信息,如果发布了,则需要管理员进行审核,审核通过后学生才能开始进行选题部分,选题审核过程如下图所示,如图3-3:
图3-3 学生选题审核流程设计
当学生完成前面的审核选题之后,可以进行下一步毕业设计流程操作。
3.4.3 后台管理员功能操作流程
即使是管理员,也需要通过正确的用户名和密码才能够进入系统,管理员在执行功能时,其大致的流程设计如下图所示,图3-4:
图3-4管理员后台执行功能管理流程设计图
3.5 数据库设计
3.5.1 数据库概念设计
数据库的设计在系统实现中也很关键,占据着核心地位,因为整个系统中所有用到的数据都存储在数据库中,由于我们需要存储大量各种各样的数据,特别容易混淆,因此需要建立很多数据库表,这些表与系统中的用户实体一一对应,进行正确无误的数据存储和读取。实体包括许多种类的信息,数据库的E-R图设计如下图所示,见图3-5:
(1)图中的管理员实体指的是本系统中拥有权限最高的一类用户,管理员作为实体,主要有ID、用户名、密码、身份、添加时间5种属性。具体管理员部分的E-R图如下图所示
图3-5管理员实体属性图
(2)图中的教师部分实体,教师是本系统中重要的一类,老师时系统当中十分关键的组成,其信息包括ID、姓名、工号、密码、性别、照片等具体的教师E-R图如图3-6所示。
图3-6教师实体属性图
(3)教师选题实体,是教师实体中的一个具体功能实体,包括ID、课题要求、教师的工号、姓名、教师、院系、专业信息、学号信息等各种,下图3-7时在教师选题环节当中E-R图设计:
图3-7 教师选题功能实体设计图
(4)课题实体,课题作为本系统中的一个重要实体,包含ID、课题要求、工号、教师、姓名、职称、审核状态、回复、添加时间等属性。具体的课题E-R图如图3-8所示。
图3-8课题实体属性图
(5)选题实体,选题作为本系统不可或缺的实体,拥有的属性也比较多,包括教师学生两方面的属性,分别有ID、课题、课题要求、工号、教师、姓名、职称信息,以及学生的学院、专业、学生、学号、选题的审核信息等内容。具体的选题部分E-R图如图3-9所示。
图3-9选题部分的实体属性图
(6)学生实体,学生也是本系统中关键的用户组成部分,学生部分的信息主要有学生ID、姓名、密码、学号、学院、专业信息、班级、性别、身份证号、联系方式等信息,下图3-10是详细的学生部分设计的E-R图设计:
图3-10学生实体属性图
(7)研室实体,研室比较简单,包括ID、研室名称、添加时间三个属性,具体的研室E-R图如图3-11所示。
图3-11研室实体属性图
(8)院系实体,院系作为学校的一个主要的部分,包含院系名称、添加时间两个实体。具体的院系E-R图如图3-12所示。
图3-12院系实体属性图
(9)专业实体,专业相对来说也比较简单,主要包含专业名称、添加时间这两个属性。具体的管理员E-R图如图3-13所示。
图3-13专业部分设计的实体属性图
3.5.2 数据库逻辑设计
通过对系统流程进行梳理以及查阅各种资料等,对数据表进行了字段的设计,明确了各个表存储的数据、类型及相互之间的关系,其具体数据表如下:
管理员角色的表:就是将管理员实体通过表格的方式表达出来,用来表达和存放管理员的一些信息,比如用户名、密码、人员身份、以及添加时间等信息,管理员在登录页面登录以后,便可以查看相关信息或进行具体的操作。如下表4-1。
表4-1 管理员角色表
字段名 数据类型 默认值 允许非空 自动递增 备注
ID int(11) NO 是 ID
username varchar(50) YES 否 用户名
pwd varchar(50) YES 否 密码
cx varchar(50) YES 否 身份
addtime timestamp CURRENT_TIMESTAMP NO 否 添加时间
教师表就是将教师实体通过表格的方式表达出来,主要是用来标识和存放教师角色的一些基本信息,比如教师的工号、密码、姓名、性别、电话等、以及身份证、职称等等,教师在登录页面登录以后,便可以查看个人相关信息或进行具体的操作。如表4-2。
表4-2 教师角色表
字段名 数据类型 默认值 允许非空 备注
调查ID int(11) NO ID
gonghao varchar(50) YES 工号
mima varchar(50) YES 密码
jiaoshixingming varchar(50) YES 姓名
xingbie varchar(50) YES 性别
shenfenzheng varchar(255) YES 身份证
dianhua varchar(50) YES 电话
zhicheng varchar(50) YES 职称
suoshuyanshi varchar(50) YES 所属研室
jiguan varchar(50) YES 籍贯
zhaopian varchar(50) YES 照片
beizhu varchar(255) YES 备注
addtime timestamp CURRENT_TIMESTAMP NO 添加时间
教师选题表用来描述课题这个实体,主要用来记录教师发布课题的相关内容,比如课题名称、课题要求、发布课题教师的相关信息、选择课题学生的相关信息,教师登录后,便可以查询。如表4-3。
表4-3 教师选题环节表
字段名 数据类型 默认值 允许非空 自动递增 备注
ID int(11) NO 是 Id
keti varchar(50) YES 否 课题
ketiyaoqiu varchar(50) YES 否 要求
gonghao varchar(50) YES 否 工号
jiaoshixingming varchar(50) YES 否 教师姓名
zhicheng varchar(50) YES 否 职称
xuehao varchar(50) YES 否 学号
xingming varchar(50) YES 否 姓名
yuanxi varchar(50) YES 否 院系
zhuanye varchar(50) YES 否 专业
banji varchar(50) YES 否 班级
addtime timestamp CURRENT_TIMESTAMP NO 否 添加时间
课题表就是将课题实体通过表格的方式表达出来,主要是用来存储课题的基本信息,比如课题名称、课题要求、发布课题教师的相关信息、课题的审核状态等,教师在登录页面登录以后,便可以查看所发布课题是否通过审核。如表4-4。
表4-4 课题信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
ID int(11) NO 是 ID
keti varchar(50) YES 否 课题
ketiyaoqiu varchar(255) YES 否 要求
gonghao varchar(50) YES 否 工号
jiaoshixingming varchar(50) YES 否 教师姓名
zhicheng varchar(50) YES 否 职称
zhuangtai varchar(50) YES 否 状态
shenhezhuangtai varchar(50) YES 否 审核状态
huifu varchar(255) YES 否 回复
addtime timestamp CURRENT_TIMESTAMP NO 否 添加时间
选题信息表是用来描述学生和老师之间的联系,主要用来记录教师发布选题是否成功的相关内容,比如课题名称、课题要求、发布课题教师的相关信息、选择课题学生的相关信息、审核是否通过等信息,学生登录后,便可以查询。如表4-5。
表4-5 选题信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
ID int(11) NO 是 Id
keti varchar(50) YES 否 课题
ketiyaoqiu varchar(50) YES 否 课题要求
gonghao varchar(50) YES 否 工号
jiaoshixingming varchar(50) YES 否 教师姓名
zhicheng varchar(50) YES 否 职称
xuehao varchar(50) YES 否 学号
xingming varchar(50) YES 否 姓名
yuanxi varchar(50) YES 否 院系
zhuanye varchar(50) YES 否 专业
banji varchar(50) YES 否 班级
shenhezhuangtai varchar(50) YES 否 审核状态
huifu varchar(255) YES 否 回复
addtime timestamp CURRENT_TIMESTAMP NO 否 添加时间
学生信息表就是将学生实体通过表格的方式表达出来,主要是用来存储学生的基本信息,比如姓名、密码、身份证、学号、院系、专业、班级等信息,学生在登录页面登录以后,便可以查看个人相关信息或进行具体的操作。如表4-6。
表4-6 学生信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
ID int(11) NO 是 ID
xuehao varchar(50) YES 否 学号
mima varchar(50) YES 否 密码
xingming varchar(50) YES 否 姓名
xingbie varchar(50) YES 否 性别
shenfenzheng varchar(255) YES 否 身份证
shoujihao varchar(50) YES 否 手机号
yuanxi varchar(50) YES 否 院系
zhuanye varchar(50) YES 否 专业
banji varchar(50) YES 否 班级
zhaopian varchar(50) YES 否 照片
beizhu varchar(255) YES 否 备注
addtime timestamp CURRENT_TIMESTAMP NO 否 添加时间
研室表就是将研室实体通过表格的方式表达出来,主要是用来存储研室的基本信息,这个表比较简单,管理员在登录页面登录以后,便可以查看相关信息或进行具体的操作。如表4-7。
表4-7 研室信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
ID int(11) NO 是 ID
yanshi varchar(50) YES 否 研室
addtime timestamp CURRENT_TIMESTAMP NO 否 添加时间
院系表就是将学院实体通过表格的方式表达出来,主要是用来存储学院的基本信息,比如学院名称、添加时间等信息,管理员在登录页面登录以后,便可以查看相关信息或进行具体的操作。如表4-8。
表4-8 院系信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
ID int(11) NO 是 ID
yuanxi varchar(50) YES 否 院系
addtime timestamp CURRENT_TIMESTAMP NO 否 添加时间
专业表就是将专业这个实体通过表格的方式表达出来,主要是用来存储专业的基本信息,比如专业名称、添加时间等,管理员在登录页面登录以后,便可以查看相关信息或进行具体的操作。如表4-9。
表4-9 专业信息表
字段名 数据类型 默认值 允许非空 自动递增 备注
ID int(11) NO 是 ID
zhuanye varchar(50) YES 否 专业
addtime timestamp CURRENT_TIMESTAMP NO 否 添加时间
4.1 系统管理员登录界面
如下图是管理员再进行登录时所呈现的界面,管理员需要正确的用户名和密码才能给进入系统,同时还要选定对应的身份角色和输入正确的验证码,点击下方的登录按钮。之后系统会自动判断用户表中的信息是否和输入的信息相符合,如果不匹配,那么系统会提示错误,无法进系统。学生以及老师进入系统也是同样的流程,但是面对的身份权限不同,见下图4-1:
图4-1系统管理员登录界面示意图
4.2 添加学生信息页
这部分是能够添加学生用户的信息,信息涉及学生学号、密码、姓名、身份证号、联系方式等。如下图4.2:
图4- 2添加学生信息页
4.3 学生信息列表页面
这部分是可以对学生信息进行管理的部分的界面,能够进行搜索、查找、删除甚至是改动,还可以进行文件的导出,界面如下图4-3所示:
图4-3学生信息列表界面
4.4 专业信息列表页
这部分是管理员可以对专业信息进行查找、搜索的界面展示,实现管理员对专业的修改、删除和添加。具体如图4-4所示。
图4-4 专业信息列表页
此页面实现管理员对专业信息的添加页面,可以添加相关专业。具体如图4-5所示。
图4-5 添加专业页面
此页面实现管理员对学院信息的添加页面,可以添加相关院系。具体如图4-6所示。
图4-6 管理员添加院系页面
此页面实现管理员对院系信息的添加和查看,以了解学院的相关资料,实现管理员对院系的修改、删除和添加。具体如图4-7。
**
**
图4-7 管理员查看院系展示的页面
4.5 研室信息列表页
这部分是管理员对应研室管理的功能部分,管理员能够对研室信息进行查找、增加、改动、删除、搜索等操作,还能够导出文件,参考下图4-8:
图4-8 管理员视角的研室信息列表展示界面
4.6 课题信息列表页
这部分是管理员视角,管理可以对课题进行管理,比如课题的查找、搜索、删除、改动以及审核等部分,具体参考下图:
图4-9 管理员视角的课题信息列表页
4.7 添加课题信息页
这部分是针对老师部分的界面展示,老师进入系统之后,能够对课题信息进行对应管理,在申请增加课题之后,会显示对课题名、工号和教师姓名、职称;添加课题后须经管理员审核方可生效,具体如图4-10所示。
图4-10 添加课题信息页
4.8 添加教师选题信息列表页
这部分是针对老师部分的界面展示,老师可以对选题信息申请进行增加操作,添加内容主要包括课题、要求及工号、教师姓名、职称和学号、姓名及专业等功能。具体如图4-11所示。
图4-11 添加教师选题信息展示页面
这部分是针对老师部分的界面展示,老师能够对自己的信息界面进行修改,比如密码、职称呢个、姓名、联系方式、工号的内容,详细参考下图4-12:
mc
图4-12 教师视角下,修改个人信息页面
4.9 教师选题信息列表页
如下图4-13,是老师视角下的对选题信息进行搜索时展示的界面,老师能够对选题进行搜索、查找、改动、删除等操作:
图4-13 教师选题信息列表页面
4.10 选题信息列表页
这部分是学生视角下的对选题信息进行管理的界面,能够对选题信息进行申请、查找和查看等,以及修改或删除等操作,添加选题后,须教师用户进行审核通过,方可生效。具体如图4-14所示。
图4-14 选题信息列表页
此页面为学生对个人信息的修改,修改的主要内容包含学号、密码、姓名、手机号、专业、班级等项目具体如图4-15所示。
图4-15 学生修改个人信息时呈现的页面
4.11 教师信息查询列表页
此界面是学生视角的对老师信息进行查找和查阅时所见,以了解教师的相关资料,便于决定自己是否选择某位老师的课题。具体如图4-16所示。
图4-16 学生查看教师信息呈现的页面
5.1 软件测试的目的
完成基本功能后,即进入系统测试和代码调试阶段。
软体测试是软体投入使用前的需求分析、设计说明及程式码之最后检讨,是保证软体品质的关键。软体测试是执行程式以发现错误的过程。设计和实现该系统的过程中会出现许多错误和问题。有两类错误:程序逻辑错误和设计思想错误。前者可以通过发送请求来发现此类错误,而后者则可以通过查找相应的代码区来解决,而后者则比较难解决,需要重新分析系统,需要进行大量的修改,因此在系统设计时,要花费较多的时间和精力,以确保此类错误较少发生。这降低了后续代码实现的难度。
5.2 测试的步骤
在测试毕业设计网上选题系统的过程中,主要分为三个步骤:
(1)模块化测试:对编码的检查就是对模块化的测试,也是对系统详细设计部分所存在的缺陷和错误的测试。找到问题并找到它。
(2)系统测试:是整个软件设计过程中,对存在的缺陷和错误码进行检测、调试。在此过程中,当然也会发现系统需求描述中的问题或错误。
(3)接受性测试:在这一步中,主要是测试软件系统需求描述中的缺陷或错误代码。此步骤中的验收测试对于系统是否满足预期的功能要求也非常重要。
5.3 测试内容
5.3.1 管理员模块测试
(1)系统用户管理:管理员对系统用户信息和个人信息的更新和维护等功能操作。
(2)学生信息管理:管理员账户可以对学生的信息进行管理类,比如增加、查询、查看内容、改动或者是删去,还支持导出文档的设计;
(3) 老师部分的管理:管理员能够对老师信息和研室信息进行查找、查看内容、添加和改动以及删除等;
(4) 课题信息管理:管理员能够队课题信息进行查找、内容查看、删去、改动以及审核等,还支持EXCEL文件格式的导出:
(5)选题信息管理:管理员还能够对选题信息进行查找、内容查看、文件导出等选项和功能;
(6)老师选题管理:管理员能够对老师所拥有的选题进行管理,比如增加、查找和查看内容等的具体测试内容如表5.1所示。
表5.1 管理员模块测试用例表
管理项目 测试数据 预期结果 实际结果
系统用户管理 用户名:hyl 密码:123 用户密码修改成功 和预期一致
学生管理 姓名:后永亮 密码:123 学生的增删改查成功 和预期一致
教师管理 姓名:李晨 密码:111 教师的信息修改成功 和预期一致
课题管理 课题名称:人工智能 课题审核和查询成功 和预期一致
选题管理 选题名称:深度学习 课题修改和删除成功 和预期一致
教师选题管理 所选课题名称:人工智能 课题修改和删除成功 和预期一致
注:本次测试于2021-05-10进行
5.3.2 教师模块测试
(1)个人资料管理:教师用户修改个人信息。
(2)课题管理:教师可添加、搜索、查询、修改或删除课题信息,添加课题后待管理员审核通过方可生效。
(3)选题管理部分:管理员能够对老师所属的课题信息进行管理,比如查找、内容查看、删去、改动、审核等;
(4)老师选题管理:管理员能够对老师的选题进行管理,如查找、内容查看、删去、改动、审核等;具体测试内容如表5.2所示。
表5.2 教师模块测试用例表
管理项目 测试数据 预期结果 实际结果
个人资料管理 姓名:李晨 密码:111 修改个人资料成功 和预期一致
课题管理 课题名称:人工智能 课题添加和查询成功 和预期一致
选题管理 选题名称:深度学习 查看课题审核是否通过以及选题详情 和预期一致
教师选题管理 所选课题名称:人工智能 教师选题添加和查询成功 和预期一致
注:本次测试于2021-05-10进行
5.3.3 学生模块的测试
(1)个人信息管理:学生用户对个人信息改动;
(2)选题信息管理:学生能够自主对自己的选题信息进行增添、查找、内容查看、删去、改动等,添加选题信息后待管理员审核方可生效。
(3)教师信息查询:学生用户对教师信息搜索或查看、导出EXCEL文档。
(4)教师选题管理:实现学生对教师选题信息的搜索和查看。具体测试内容如表5.3所示。
表5.3 学生模块测试用例表
管理项目 测试数据 预期结果 实际结果
个人信息管理 姓名:后永亮 密码:111 修改个人资料成功 和预期一致
选题管理 选题名称:深度学习 选题添加和查询成功 和预期一致
教师信息查询 姓名:邓超 工号:111 教师信息查看成功 和预期一致
注:本次测试于2021-05-10进行
5.4 测试结果
通过谨慎的、细致的测试,能够得出以下结论:系统功能正常,数据调用无问题,设计的功能实现正常,而且运行无问题。
该项目历经几个月的时间沉淀,通过此次毕业设计系统设计,对于一个网络信息管理平台的较为完整的开发体系进行了学习和了解,本文第一章主要说了一下毕业设计网上选题系统开发的背景和意义,第二章讲了本系统在开发过程中用到的各种技术和软件,并对其进行了简单的介绍,还有用到的软件和硬件设备,第三章主要讲了系统的可行性剖析,从法律可行性、经济可行性、操作可行性、技术可行性等几方面,还进行了系统功能需求分析和系统功能结构设计,最后还说了下数据库设计,第四章重点讲了系统详细设计与实践,分别从管理员、老师、学生三个方面需要实现的功能去讲,第五章主要讲了系统的测试和应用。
同样不容忽视的还有数据库设计部分,在整个系统当中十分关键,由于其简洁、便捷性,数据库是使用的MYSQL。同时编程语言是JAVA来实现数据库和网页的整合。
在开发毕业设计网上选题系统的过程中,因为自己开发经验和编程能力的不足,遇到了很多困难和问题,通过老师和同学的指点,还有自己下去花费了大量的时间进行网上查询学习,才解决了系统中遇到的问题。但是由于时间和能力的不足,系统在部分功能方面还是做的不够完善。比如界面的优化、功能的优化、数据库的优化等方面都不是很完善,这些都是需要优化的地方。
在此过程中,我对系统从设计到开发的大致过程和重点方向有了初步的了解,同时也提高了自己的编程能力和开发能力。并对 JSP技术有较深的理解与掌握。研究没有终点,在以后的学习中,我会更加注重系统开发方面的学习,提升自己的开发能力和编程能力,积累系统开发的经验,不断完善自己的系统,希望可以开发出更完善更实用的系统。
经过几个月的努力,此次毕业设计已经逐渐走向结束,由于自己项目方面的经验尚且缺乏,知识和经验积累较少,难免存在很多的缺陷和错误,但是在指导老师的耐心指导和帮助下,我不断完善和改进自己的系统,基本完成了预期的目标,所以在这里首先要感谢我的指导老师。
这几个月,对我来说过的很快也很慢。快是因为在毕业设计期间同时还在找工作,每天都很忙碌,感觉时间过的很快,一转眼就到了答辩的时候;慢是因为毕业设计的过程中遇到很多问题和困难,花费很多时间才得到解决,这个过程离不开同学的帮助和鼓励,所以这里我也要感谢同学帮我答疑解难。
在结束的大学四年学习生涯中,同学们和我一起学习,一起生活,我的各个课程的老师们,因为有了师生之间的信任和鼓励,才使我能够不断地学习和发展!还要感谢我的挚友,大学四年的学习生活,经历了酸甜苦辣,有失败的时候,也有成功的时候,失败的时候给我鼓励,成功的时候与我分享快乐,我会永远记得大学的点点滴滴,那也是我人生的一部分财富,将来步入社会参加工作我会更加珍惜所经历和所拥有的。
在此再次向我的指导老师和同学们表示衷心的感谢,感谢你们的鼓励与帮助。
[1]李明欣、林琳、朱卫平、康凤编.基于BootStrap3的JSP项目实例教程[M].北京航空航天大学出版社,2015.8.
[2]林龙编著.JSP+Servlet+Tomcat应用开发从零开始学[M].清华大学出版社,2015.01.
[3]王晓军、田中雨、刘跃军、李乃文著.JSP程序开发基础教程与实验指导ISBN[M].清华大学出版社,2012.03.
[4]克尼亚万著.Servlet、JSP和Spring MVC初学指南[M].人民邮电出版社,2016.11.
[5]王顺、朱少民、汪红、盛安平著.软件测试方法与技术实践指南[M].清华大学出版社, 2012.09 .
[6]陈忠平著.大型每日快讯软件系统能力建设探索与实践[M].北京邮电大学出版社,2015.02.
[7][澳]蒂姆·麦克莱恩(Timothy Mclean)著.余凤华、郑俐旎译.中小型企业精益实践指南[M].人民邮电出版社,2017.12.
[8]王丹丹著.软件测试方法和技术实践教程[M].清华大学出版社,2017.06.
[9]尹志宇、郭睛.数据库原理与应用教程—SQL Server 2008[M]. 清华大学出版社,2013.8.
[10]明日科技.Java项目开发全程实录(第4版)[M].清华大学出版社,2018.05.
[11]孙华林.构建WEB应用系统基于JSP+SERVLET+JAVABEAN[M].机械工业出版社,2017.07.
[12]金泉.基于Web的毕业设计选题系统的设计与实现[D].山东大学,2016.
[13]明日科技编.JavaScript从入门到精通(第3版)[M].清华大学出版社,2019-12-01.
[14] [日] 西泽梦路著.卢克贵译. MySQL基础教程[M].人民邮电出版社,2020-01-01.
[15]翟振兴、张恒岩、崔春华、黄荣、董骐铭著. 深入浅出MySQL数据库开发优化与管理维护3版[M].人民邮电出版社,2019-09-01.
[16]明日科技著. MySQL从入门到精通[M],2017-08-01.
[17]Paul、DuBois 著. MySQL经典实例(第三版)[M].中国电力出版社,2019-05-01.
[18]James Goodwill. Pure Java Server Pages .Indianapolis Ind: Sams, 2000.