文档库 最新最全的文档下载
当前位置:文档库 › 基于JavaEE的毕业论文设计选题测试及管理系统的设计与实本科生毕业论文设计

基于JavaEE的毕业论文设计选题测试及管理系统的设计与实本科生毕业论文设计

(此文档为word格式,下载后您可任意编辑修改!)

毕业论文

题目基于JavaEE的毕业设计选题测试及管理系统的设计与实现

英文题目Designment and Implementation of Testing and Management System in

Graduation Design Topics Selection

Based on JavaEE

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日

导师签名:日期:年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

3)其它

摘要

基于JavaEE的毕业设计选题测试及管理系统通过在毕业设计选题之前的测试来判断学生能力,指导学生选择自己优势方向来选择题目,帮助毕业生正确选题。系统提供给学生有在线测试、查看评测结果、查看评测报告、推荐导师和课题、提交论文、下载论文等功能。系统提供给老师管理课题、查看学生测试结果、分配课题、查看学生论文、上传批阅的论文等功能。系统提供给系统管理员有管理用户信息、管理题库等功能。系统采用的Struts架构是对MVC设计模式的一种实现,它继承了MVC设计模式的所有特性,组件的模块化、重用性、灵活性使得开发更加快捷,管理和维护更加方便。

学生测试后可以更了解自己的专业水平,通过系统推荐的导师和课题,协助学生选择导师。导师可以通过系统更全面的了解学生的各方面能力同时选择学生。在学生与导师双向选定后对学生论文的进度跟进,论文批改工作方面也起到了一定的协助作用。

关键词:框架,选题测试,论文管理

Abstract

Based on JavaEE Testing and Management System in Graduation Design Topics Selection can determine the ability of the students according to the testing result. The System can guide the students according to their own advantages to choose a topic, and results, show testing scores, recommend tutors and thesis, upload paper, and download paper and some other functions. The system provides teachers to submit topic, search student testing scores, distribute thesis, download student’s paper, and upload student’s paper. As system administrator can manage all the users’information and manage all the questions’information. Struts framework is a realization of MVC design pattern. It inherited all the characteristics of MVC design pattern. It’s modularity, reusability, flexibility make the process of development more efficient and convenient.

After testing, students can better understand their professional level. Through the recommendation by the system, students can select their tutors better; tutors can in following the track of papers’ writing and in correcting the papers.

Keywords: Framework, Topics Testing, Paper Management

目录

摘要.................................................. I I Abstract................................................ V II 1 概述

1.1 课题意义 (10)

1.2 课题目标 (10)

1.3 论文结构简介 (2)

1.4 小结 (2)

2 技术介绍和分析

2.1 Struts简介 (3)

2.2 Mysql简介 (3)

2.3 Myeclipse简介 (4)

2.4 Rational Rose简介 (5)

2.5 小结 (6)

3 系统需求分析

3.1 系统概述 (7)

3.2 系统功能分析 (7)

3.3 系统用例建模 (8)

3.4 小结 (14)

4 系统设计

4.1 设计目标及原则 (15)

4.2 系统数据库设计 (16)

4.3 表示层Web设计 (17)

4.4 业务逻辑层设计 (19)

4.5 数据访问层DAO设计 (20)

4.6 小结 (22)

5 系统实现

5.1 选题测试模块的实现 (23)

5.2 预选导师模块的实现 (31)

5.3 开发环境介绍 (34)

5.4 小结 (34)

6 系统测试

6.1 单元测试 (35)

6.2 功能测试 (37)

6.3 集成测试 (38)

6.4 小结 (43)

致谢 (44)

参考文献 (45)

1 概述

1.1 课题意义

毕业设计是对大学生们在大学期间所学的所有知识的掌握程度进行考核。现在很多学生对大学学习的知识没有进行过系统的应用和总结,不了解自己总体的水平、优势和劣势。导师与学生之间的交流还停留在纸质论文交流的方式,效率较低[1]。由于不少学生正式选题时不了解有哪些导师的研究方向适合自己,造成选题盲目甚至做出来的毕业设计不符合要求等现象。出题的教师出题前也没有渠道来充分了解学生具体情况,设置的选题可能无法体现学生的技能水平。学生在制作毕业设计期间与老师要进行频繁的交流,特别是在毕业论文的修改、提交、审核、评阅、意见反馈,毕业设计制作进度的监督、系统质量的监督方面。本系统就是为了方便学生科学的了解自己的专业技能水平,根据自己有优势的方面选择毕业设计,方便导师与学生之间的交流和学生顺利完成毕业设计而提出来的采用当前流行架构和技术完成的系统。

1.2 课题目标

通过本课题的研究和课题系统的实现,可以让学生以学生身份登录,通过学生的在线测试系统将提供测试结果,根据测试结果再提供给学生选题建议,如适合选择的课题和导师。撰写论文期间可以上传写好的论文和下载导师批改过的论文,导师可以以教师身份登录,给每个选题填写题目要求和对学生的期望要求,可以查看学生的评测结果,对所带的学生提交的论文可以下载下来进行审阅,并提交到系统供学生查看。管理员通过该系统对所以系统用户进行管理,对题库进行管理。最终系统能帮助学生选题和教师出题,以及毕业论文高效设计和制作,搭建教师与学生的有效交流平台。

1.3 论文结构简介

系统是根据软件工程中软件开发过程来制作的,首先进行的是可行性研究,需求分析,总体结构设计,详细设计,编码实现,系统测试,最后是系统维护[2]。根据这个过程来组织论文的结构如下:

(1)概述:主要叙述课题研究对用户的意义,介绍最终系统应该完成的功能和达到的效果。

(2)技术介绍和分析:对系统所用的技术和工具作比较和介绍,阐述使用各项技术和工具的优势。

(3)需求分析:根据实际的应用和用户需求概述得到开发的系统的需求,通过对角色的分析得到系统使用对象的特点和功能需求。根据用户之间的关系为系统内部逻辑的设计和数据库的设计提供参考。

(4)系统设计:根据系统需求设计系统总体的架构和数据库。并解析JavaEE 技术在各层之间的具体应用。

(5)系统实现:根据系统设计,阐述系统功能实现过程、数据库创建过程、前后台工作过程。通过对学生选题测试功能中Struts架构的运作过程来更具体的阐述实现过程。

(6)系统测试与维护:通过测试工具的使用,测试系统是否符合用户需求。通过测试完善系统,改进系统,改正系统中存在的隐含的缺陷。

1.4 小结

通过本节的介绍,使得对系统的制作的意义和目的进一步细化。坚定了实现系统的决心,并对完成系统有了总体的把握。

2 技术介绍和分析

2.1 Struts简介

Struts框架是一种流行的MVC框架,它是对MVC的实现[3],将Servlet和JSP 标记作为实现的一部分。Struts最早是作为Apache基金会Jakarta项目组的组成部分Open Source项目,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准[4]。Struts采用MVC 模式,能够很好的帮助Java开发者利用JavaEE开发Web应用。Struts的使用能够很好的帮助开发团队减少在运用MVC设计模型来开发Web应用的时间。它的优势主要集中在:

(1)是一款开源软件,开发者可以深入了解其内部实现机制,各种开发要用的jar包可以通过网络下载到本地,非常便捷。

(2)有自己的标记库即Taglib,一方面使得JSP页面尽可能少的嵌入Java脚本,不必考虑Java语法或其他JSP语法专注于页面的可视特征上。另一方面给应用开发者很强的后台支持。

(3)页面导航功能,通过一个配置文件struts.xml来控制整个系统各部分之间的联系,对各个页面的请求进行分发。对后期的系统维护提供了很大的便利,对系统的脉络也更加清晰。

Struts在实现MVC模型时,模型层是将模型分为系统的内部状态和事物逻辑两个部分,内部状态通常由一组ActionForm JavaBean表示,大型应用程序的事物逻辑封装在方法内部,小型应用程序则可能内嵌在Action类中。视图层采用JSP实现[5],应用Struts的标签库。控制层用的是继承自ActionSupport的Action类,实际操作中是在struts.xml配置文件中进行Action映射。

2.2 Mysql简介

Mysql是目前非常流行的SQL语言数据库,是开放源代码的非商用的关系型数据库[6]。由于其开源性使得当前很多系统都使用Mysql数据库。虽然是免费的但是

与同类商业用途的数据库比并不逊色。其主要特性有:

(1)数据的物理存储和存取路径对用户是不透明的,这样也减少了用户的使用难度。对数据库不是十分了解的用户使用起来比较简单;

(2)不仅在WINDOWS操作系统还可以在LINUX、UNIX、SUN OS等操作系统上使用;

(3)Mysql提供了不同的数据类型供选择,支持所有的SQL数值类型。根据数据结构可以选择不同格式和大小的数据类型,使得磁盘空间更加节省,数据库的性能的到提高。如:char提供的是定长的数据存储类型使得检索该类型的数据比较快,varchar类型的数据可以保存变长的字符串,通过设置其最大可存储的数据的长度可以在不知道数据长度的情况下存储任何小于该最大长度的字符串;

(4)查询功能很强大,支持SELECT和WHERE语句的count()、avg()、min()、sum()函数和order by等命令,使得检索时可以进行一些运算,对检索出来的结果可以进行一些处理;

(5)支持多个用户对数据库的同时访问。

与另一个比较常用的Access数据库比较,Access只能运行在Windows操作系统,主要应用于小型的系统[7]。Access数据库适合数据量小的数据存储,但数据量太大时会造成服务器死机有时甚至服务器崩溃。本系统是面向信息学院所有学生和教师的,要存储学生信息和教师信息以及题库信息,不适合使用Access数据库。而开发的系统对数据的查询和速度要求比较大,所以使用Mysql数据库更加适合本系统。

2.3 Myeclipse简介

Myeclipse是企业级工作平台是对Eclipse IDE的扩展,它是功能非常丰富的JavaEE的集成开发环境[8]。在Myeclipse下可以对系统进行编码、调试、测试和发布,另外支持html的所有标记。在使用Myeclipse时对代码能进行提示功能,并且对语法的错误能提示和定位错误。对于一些代码如JavaBean中的Get和Set方法可以自动生成相应的代码,节省了工作量。Myeclipse就是Eclipse的插件,它结构上

是模块化得,在不影响其他模块的情况下可以对任一模块单裤升级和扩展。系统开发时使用的是Myeclipse 8.0版本,从Myeclipse 5.0版本就增加了UML双向建模工具、可视化的HibernateORM工具、Web services支持和Oracle数据库开发等。之后出现了Myeclipse6.XGA版本,它兼容了Eclipse 3.3,可在WINDOWS,LINUX 等操作系统上运行,并且支持Java持久化结构开发,能够对项目自动部署和启动服务,另外还集成了Myeclipse Tomcat 6服务器。随后又出现了Myeclipse 7.0和8.0版本,7.9版本已经不需要配置Tomcat,只需安装好Myeclipse7.0即可,而8.0版本新增了对Struts2的支持。

2.4 Rational Rose简介

Rational Rose是由美国的Rational公司开发的一种面向对象的可视化建模工具。利用Rational Rose可以建立用UML(统一建模语言)描述的软件系统模型,而且可以自动生成和维护C++、Java、Visual Basic和Oracle等语言和系统的代码。Rational Rose包括了统一建模语言(UML)、面向对象的软件工程(OOSE)及对象建模技术(OMT)[9]。Rational可以运行在WINDOWS操作系统下,其主要的特点有:

(1)保证模型和代码高度一致,它实现了正向和逆向和双向工程。它可以更具模型生成代码,也可根据软件系统导出系统的模型;

(2)支持多种语言,Rational Rose支持包括C++、Visual C++、Java等语言,为Rational Rose用户提供了便利;

(3)为团队开发提供强有力的支持,它提供了蔡荣SCM(软件配置管理)的团队开发方式和没有SCM下的团队开发方式,用户可以根据具体项目规模和资源选择;

(4)支持模型的Internet发布,Rose中有Internet Web Publisher能将模型发布为HTML版本,使得其他人员可以通过IE等浏览器浏览模型;

(5)生成使用简单且定制灵活的文档,Rose中的文档生成工具SoDA可以提供模型文档模板,可以自动生成Word格式的文档;

(6)支持关系型数据库的建模,Rose能为SQL Server、Oracle等支持标准DDL 的数据库自动生成数据描述语言。

2.5 小结

在选择开发和设计使用的工具时并不是选择最好的而选择的是比较适合本系统的工具。Struts使得开发的项目层次分明,便于管理。Myeclipse的高度集成性使得与其它软件的合作性比较好。Rational Rose在建立系统模型过中起到了非常重要的作用。

3 系统需求分析

系统需求分析是在需求获取结束之后进行的,主要是根据获取的需求提炼、分析和仔细审查收集到的需求,以确保项目参与者都明白其含义并分析每个需求与其他需求的关系,找出其中的错误、遗漏、重叠、不一致或其他不足的地方[10]。通过分析得到系统可以实现的范围和实现能力,根据用户的需求对需求进行排序。系统需求分析的目的在与开发出高质量和具体的需求,为软件设计和实现提供依据。3.1 系统概述

基于JavaEE的毕业设计选题测试及管理系统要求学生在设计选题前参加平台提供的测试了解自己的专业知识掌握能力和动手能力,以便选题。同时也为教师了解学生具体情况提供参考,确保毕业论文(设计)选题工作的顺利开展。此外系统也要解决毕业设计的相关管理业务功能,包括学生与教师在毕业设计制作期间的论文交流功能。

为了保证系统能发挥其作用,系统管理员要把所有学生和教师信息和测试用题库按照数据库相应的表的要求存入数据库中,导师在学生测试之前应该提供所有可选的课题和课题建议和每个课题特别要求哪些课程信息到系统。系统的功能应该包括所有用户的合法登陆,系统根据学生所在专业设置的课程出题,从学生的测试结果来判断和推荐适合该学生做的课题和适合选择的导师。教师可以从系统中查看预先选择了自己的学生的测试成绩。在毕业设计制作期间,学生可以通过系统来与导师交流制作的论文等。该系统使用应该尽量简单,容易被理解。

3.2 系统功能分析

系统功能分析可以帮助将整个系统的任务细化成较小的模块,将一个大问题进行分解。为了能够实现学生的专业知识掌握能力和动手能力的测试、教师通过学生的测试成绩来了解学生综合能力,系统管理员对系统的后台数据库进行管理,系统应该分别对这三个角色的功能进行实现。系统按角色的功能分为三大功能模块,如图3-1所示。

图3-1 功能模块图

每个功能模块之间是相互独立的。

3.3 系统用例建模

系统的角色是指与系统功能有关的外部实体,一般系统参与者为系统用户、与所建造系统交互的其他系统和一些可以运行的进程[11]。由于本系统与其他系统和进程没有直接的联系,是一个独立的系统,所以系统主要参与的角色分为三个:学生、

教师和系统管理员。对于不同角色使用该系统是要保证系统部分信息已经完善,部分用例有时间上的优先顺序。所有用户使用系统时必须先登录,学生和教师的部分必填的个人信息要导入到系统中,教师在学生测试之前要完成对课题的设置和课题建议工作。

从系统概述可得到,学生参与者具有的功能如图3-2所示。

download_thesis

图3-2 学生用例图

student(学生)的用例有:

login:登陆系统

logout:退出系统

testing:测试

extract_questions:抽取试题

answer_questions:回答测题

submit_test_paper:提交考卷

manage_personal_infor:管理个人信息

view_personal_infor:查看个人信息

change_password:修改密码

view_test_result:查看测试结果

view_test_report:查看测试报告

save_test_report:保存测试报告

manage_thesis:管理论文

upload_thesis:上传论文

download_thesis:下载已批改论文

apply_teacher:预选导师

对于学生的功能可以看到选题测试功能包括:抽取试题、回答问题、提交答卷用例。

选题测试用例说明:

前置条件:进入主页面,登录系统。

基本事件流:

(1)输入用户名、密码和用户身份

(2)点击“登录”,系统通过对用户信息验证和数据库中用户信息的对比检测用户的合法性,如果用户合法则进入学生后台管理首页

(3)单击“我要测试”菜单下的“开始测试”,如果用户还未测试则进入测试页面

(4)单击“抽取试题”按钮,做完测题后,单击“提交答卷”按钮,测试完毕备选事件流:

(1)当用户输入的用户名或密码为空时,系统将不进行跳转,不出现用户操作页面

(2)当用户已经测试,则不跳转到测试页面,而是跳转到提示已经测试的页面后置条件:用户测试完成,得到测试结果和测试报告。

教师实体具有的功能如图3-3所示。

change_password

view_personal_infor

图3-3 教师用例图teacher(教师)的用例有:

login:登陆系统

logout:退出系统

distribute_thesis:分配课题

manage_student_paper:管理学生论文

fill_in_thesis_requirement:填写课题要求课程view_student_test_result:查看学生测试结果manage_apply_information:管理学生预选情况manage_thesis:管理课题

add _thesis:添加课题

delete_thesis:删除课题

update_thesis:更新课题

view_thesis:查看课题

相关文档
相关文档 最新文档