《毕业设计手册(模板).doc》由会员分享,可在线阅读,更多相关《毕业设计手册(模板).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、山东理工大学毕业设计论文手册学院 计算机科学与技术 系 计算机科学与技术专业 计算机科学与技术班级计科 0704学生姓名解西扬指导教师刘晓红学号职称副教授山东理工大学教务处编印2022年六月毕业设计论文自2022年二月至2022年六月 共十七周毕 业 设 计 任 务 书理工学院计算机科学与技术专业计算机科学与技术班级指导刘晓红教师学生姓名计科 0704学号职称解西扬0712022269副教授课题名称山东理工大学 ACM 训练治理系统的设计与实现起止日期自 2022 年 2 月 21 日起至 2022 年 6 月 17 日一、课题来源、目的与要求:来源:自拟题目,来自山东理工大学ACM 训练队需
2、求。目的:本毕业设计期望通过对 ACM 训练治理系统平台的规划设计与实现,培育学生综合运用所学学问分析和解决实际问题的力量,解决 ACM 训练过程中的相关问题,为校训练队员供给一个代码沟通,资源共享的平台。同时可以便利教练对训练队员的训练状况准时了解 ,以便对相应的训练打算做出调整。要求:生疏数据库应用系统的开发模式和过程,娴熟把握利用 Java 相关技术实现网络应用系统的开发,能够使用技术完成相应的需求,应用系统要求运行稳定、界面友好、操作便利、便于扩展和可维护性强。二、主要设计内容:本课题是一个结合实际需要的创型课题,主要实现在 ACM 训练过程中代码收集,统计的功能,同时建立完善的教师后
3、台治理端,实现高度可配置的系统。1. 全面准确了解 ACM 训练治理系统的各项需求;2. 系统主要分为两个局部,学生端和教师端。主要模块包括学生端的代码上传、代码治理、上传代码排名、文档治理和主题争辩等。教师端的系统包括根底信息维护、队员治理与权限治理等。3. 供给导出 PDF 文件功能,可以使队员备份自己的代码。4. 供给电子邮件提示功能,便于队员治理自己的代码。5. 供给高度可维护性治理平台。三、主要设计技术指标与参数:利用 Java 相关技术实现 ACM 训练系统治理系统设计。该系统能够满足教练组和训练队员的训练过程监控和治理需要。提交成果:1. 开题报告一份;2. 翻译 2 万印刷字符
4、或译出 5000 汉字以上的有关技术资料或专业文献,内容要尽量结合课题译文连同原文单独装订成册;3. 完整的软件系统刻录在光盘中一套;4. 毕业设计说明书一份。四、分阶段指导性进度打算: 第一阶段2022.2.213.18查阅有关书籍,收集有关资料,生疏开发工具,并撰写开题报告。其次阶段2022.3.194.10需求分析,总体设计。第三阶段2022.4.125.10软件系统具体设计和实现。第四阶段2022.5.115.22软件系统整体调试,编写软件使用说明书。第五阶段2022.5.236.17撰写毕业论文,预备辩论提纲和辩论演示幻灯片,参与辩论,并整理资料。五、主要参考文献资料:1 肖颖,刘禹
5、针对 ACM/ICPC 的在线评测系统.哈尔滨:哈尔滨工业大学,20222 王卓威,尹宝林一个基于网络的程序自动评测系统J北京航空航天大学学报,2022,30(6):502-5053 张海藩软件工程导论M北京:清华大学出版社,20224 陈威,白伟明,李楠JSP 工程应用与工程实践M北京:机械工业出版社,20225 孙鑫Java Web 开发详解-XML+XSLT+Servlet+JSPM深入剖析与实例应用北京:电子工业出版社,2022指导教师签字:系主任签字:20年月日注:本表由指导教师填写,经系主任审定后下发学生。20年月日毕业设计开题报告理工类设计题目学生姓名解西扬一、课题的目的意义:山
6、东理工大学 ACM 训练治理系统的设计与实现学号0712103269专业计算机科学与技术经过近两年的进展,ACM 程序设计大赛在我校已经有了较大的影响力,越来越多宠爱编程的同学投入到这项赛事中,同时我们也组建了自己的评测系统和论坛,便利大家训练和沟通。但是由于一些客观缘由的存在,集训队员大多会选择一些数据相对较完善题目质量比较高的系统进展日常的训练和学习。这样,教练组便不能准时把握队员的训练状况,而队员 之间也不能得到有效的沟通。传统上是以手工的方式登入其他 OJ 网站查阅自己感兴趣的信息,不仅操作不便,而且通常不能获得全部的信息。本系统可理解为ACM 在线评测系统的关心系统,旨在便利ACM
7、训练队员的日常训练和学习。本毕业设计通过对ACM 训练治理平台的设计与开发,将实现一套完整的ACM 训练系统, 便于队员之间的代码共享和业余沟通。同时,将极大地便利教练组治理自己的队员,随时关 注队员的训练状况。二、资料调研分析:关于此类系统的设计和开发,在国内外来讲尚为空白,通过本系统的设计,我们主要是想探究出一种较好的在线训练模式,进一步提高本校学生的编程兴趣和技术水平。下面我将从 四个方面来说明关于训练治理系统的现状和面临的问题。1关于 ACM 程序设计竞赛在国内外的进展状况和我校的实际状况。2国内外现有的开源训练系统和 E-Learning 系统的进展状况。3本系统的需求调研和主要解决
8、的问题描述。4系统开发所涉及相关技术的进呈现状。首先来说明第一点,ACM-ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织 ACMAssociation for Computing Machinery,国际计算机协会主办的,是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在使大学生运用计算机来充分呈现自己分析问题和解决问题的力量。我校计算机学院从 2022 年初就在学校大力支持下,领先在全省高校中建立程序设计竞赛与练习的网络在线测试平台Online
9、Judge和 ACM 创试验室,为学生进展竞赛学习和训练供给了良好支持。计算机学院与教务处联合于 2022 年、2022 和 2022 年先后成功举办三届校赛,塑造了良好的校园气氛,开掘了一批有潜力的队员,为参与赛事奠定了坚实的根底,并极大推动了学生专业综合力量培育。其次,目前和本系统类似的成熟产品大局部都可以归纳为在线学习治理系统也可以说 是 E-Learning 系统,开源社区中比较流行的有 EFront、SaKai 和 Eledge 等关于这些系统网上有具体的介绍。另外还有一些专业的基于特别硬件平台的虚拟训练系统,比方模拟驾 驶系统,模拟飞行系统等。对于要设计的 ACM 训练治理系统来说
10、,有参考价值的主要是第一类系统,而且它们都是开源的,便利个人学习和争辩。通过比较,在本系统的设计上将会参考 EFront 和 SaKai 系统。第三,我校开展 ACM 训练一经有两年多的时间,在某些方面积存了一些阅历,同时在相关竞赛中也取得了较好的成绩。但是在每年的训练过程中也觉察了一些问题,特别是队员和教练之间以及队员和队员之间不能得到较好的沟通和了解,所以通过前期的需求调研,我们认为可以开发这样一套训练治理系统。第四,本系统将基于 Java 相关技术进展开发,使用到当前 Java 开发社区中较流行的三个框架Struts2、Hibernate 和 Spring,另外系统中也会用到其他的一些
11、Java 组件比方JavaMail,iText 和 Poi 等,Java 经过 10 多年的进展已经建立起了一套格外成熟的企业解决方案,形成了很完善的系统开发平台。利用 JavaEE 相关技术可以快速开发强健稳定的企业级应用。基于OOP 的系统设计可以使系统更易于扩大和具备较好的可维护性。参考文献:1 孙卫琴精通 Struts:基于 MVC 的 JavaWeb 的设计与开发M.北京.电子工业出版社,20222 Kurnia,Andy, Lim,Andrew,Cheang,Brenda.Online Judge puters and Education, 2022,36:2993153 肖颖,刘
12、禹.针对 ACM/ICPC 的在线评测系统.哈尔滨:哈尔滨工业大学,2022.4 王卓威,尹宝林 .一个基于网络的程序自动评测系统 J.北京航空航天大学学报, 2022,30(6):502-5055 LIU Yu. Inside HIT Online Judge System.哈尔滨:哈尔滨工业大学,2022.6 PKU Online Judge. :/ 2022-2-87 ZOJ. :/ 2022-2-238 HDU Online Judge System. :/ 2022-2-29 苑文会,彭四伟.源代码在线评测系统的设计与实现.计算机与数字工程,2022 年,第34 卷第 9 期:130
13、-13210 王腾,姚丹霖.Online Judge 系统的设计开发.计算机应用与软件,2022(12)三、设计方案的可行性分析和预期目标: 从以下几个方面论证本系统的可行性:1) 应用意义开发本系统不仅可以便利教练组扫瞄队员的训练统计信息,同时也为训练队员供给了一个沟通和合作的开放平台,有利于促进本校 ACM 的进展和宽阔同学编程水平的提高。具有很好的现实意义。2) 硬件可行性。本系统的硬件要求并不需要很高,另外由于 Java 语言的跨平台性等特点,可以很便利的公布运行在不同的系统平台与环境中。所以本系统完全可以部署到学校现有的ACM 效劳器上,全部硬件都无需另外购置即可完成系统的公布与测试
14、。3) 技术可行性本系统中所使用到的技术大局部我都有过使用阅历,不需要花费过多时间进展技术学 习,同时基于 Java 已经是一种很成熟的系统设计语言,利用现有的开源框架,信任可以在预定打算内完成系统设计与开发。本次毕业设计是实现 ACM 训练治理系统,其主要功能包括:代码治理、队员治理、文档治理、主题争辩查询和统计报表等;供给良好的训练平台和系统维护功能。四、所需要的仪器设备、材料: 硬件:PCIBM 效劳器操作系统:Windows NT 开发工具:MyEclipse8.5 效劳器:Tomcat 6.0数据库:MySQL 5.1五、课题分阶段进度打算:序号起止日期工作内容阶段成果12022.2
15、.213.18查找有关资料,积存相关学问,选择开发语言,生疏相关的开发工具和技术。完成开题报告,建立数据库。22022.3.194.10进展需求调研,撰写需求分析报告,明确任务目标和工作内容。完成需求分析报告。32022.4.125.10依据需求完成数据设计和软件系统具体设计和实现,进展具体的编码工作。完成数据库设计,实现各种功能。42022.5.115.16完成系统的测试和系统 BUG 的修改,提高系统的稳定性和易用性。完善系统功能,提高系统的可操作性。52022.5.175.22撰写软件系统的说明书,整理相关资料。完成设计说明书。62022.5.236.17撰写毕业论文,预备辩论提纲和辩论
16、演示幻灯片,辩论。完成毕业论文及辩论相关资料。指导教师意见:签字:200年 月日毕业设计论文工作进程记录表 1时间段自 2022 年 2 月 21 日至 2022 年 3 月 18 日阶 段 工作 总 小结 及 任务 完 成情 况 评价本阶段争辩和分析了系统的任务书,明确设计的任务和目标,完成开 题报告,建立设计目标并且规划设计进程;查找相关的文献和资料;对学 校 ACM 训练队的训练过程进展调研,收集相关的数据和资料,确定系统开发要使用的技术,并进展开发环境的搭建和学习。经过四周左右的学习和调研,完成了 Java 相关技术的学习和本系统的设计目标和任务,对ACM 训练过程做了深入地了解和实践
17、。查找了与课题相关的文献,并进展深入的学习和阅读。了解本系统当前的争辩状况并进 行了可行性分析,并对可能消灭的难点进展争辩,较好地完成了系统前期 的预备工作,有力的保证了后期的设计和编码,并按时完成了开题报告的 撰写。对学生上一阶段工作完成状况进展总结评价,指出下一阶段工作需要解决的问题。指 导 教师 审 阅意见指导教师签字:年月日注:1、每完成一项阶段性工作后填写一次。2、12 栏由学生本人填写;第 3 栏由指导教师填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要准时,要实事求是毕业设计论文工作进程记录时间段自 2022 年 3 月 19 日至 2022 年 4 月 10 日本阶段主
18、要完成的是系统的需求分析,并完成需求报告,进展需求确认。经过和教师与训练队员的探讨,确定系统主要的模块和功能。进一步加强相关技术的学习和资料的收集,使用UML 进展软件的根本设计,分析系统中的实体以及实体之间的关系。画出系统的 E-R 图,并在数据库中创立出系统可能会用到的表,主要包括学院表、专业表、用户表、练习网站表、用户账号表、代码记录表、队伍表、竞赛表、竞赛类型表、竞赛成绩表、权限信息表、角色信息表以及一些关联表。本阶段得到了教师和集训队员的乐观协作,较好确实认了系统的核心功能,对需求有了比较全面的了解。并依据需求撰写了需求说明书,完成阶 段 工 了数据库的根底设计。作 总 小结 及 任
19、务 完 成情 况 评价对学生上一阶段工作完成状况进展总结评价,指出下一阶段工作需要解决的问题。指 导 教师 审 阅意见指导教师签字:年月日表 2注:1、每完成一项阶段性工作后填写一次。2、12 栏由学生本人填写;第 3 栏由指导教师填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要准时,要实事求是;毕业设计论文工作进程记录时间段自 2022年 4 月 12日至 2022 年 5 月 10 日本阶段依据上一阶段的需求,进一步与教师争辩系统的数据库设计,完善细节,并进入系统的具体设计和编码阶段。搭建系统的开发框架,完成系统各个模块。使用 Struts2、Hibernate 和 Spring
20、作为系统的底层框架,在此根底上进展各个模块的开发,主要完成的模块有:学生端代码治理、个人配置、代码记录排名和代码扫瞄评论等;系统治理端包括日志治理、队员治理、队员账号治理、系统配置、练习网站治理、数据库备份和恢复模块以及系统权限把握模块。经过一个多月的编码,实现了系统前期需求中的全部功能,并对有关阶 段 工 模块进展了扩展。作 总 小结 及 任务 完 成情 况 评价对学生上一阶段工作完成状况进展总结评价,指出下一阶段工作需要解决的问题。指 导 教师 审 阅意见指导教师签字:年月日表 3注:1、每完成一项阶段性工作后填写一次。2、12 栏由学生本人填写;第 3 栏由指导教师填写。3、使用钢笔或碳
21、素笔填写,字迹要清楚。 4、填写要准时,要实事求是;毕业设计论文工作进程记录时间段自 2022 年 5 月 11 日至 2022 年 5 月 22日本阶段的主要工作任务是完成系统的集成测试和系统的公布、撰写系统软件说明书,并对测试过程中消灭的BUG 进展修改,与教师和同学进展进一步的探讨,完善系统中存在的缺乏。依据系统的测试用例说明书,通过小范围的内部测试和公开测试,可以知道系统整体上处于比较稳定的运行状态,依据相关人员反响的一些系统问题准时做出了处理。并对系统的组队和排名模块做了小范围的改进。阶 段 工作 总 小结 及 任务 完 成情 况 评价对学生上一阶段工作完成状况进展总结评价,指出下一
22、阶段工作需要解决的问题。指 导 教师 审 阅意见指导教师签字:年月日表 4注:1、每完成一项阶段性工作后填写一次。2、12 栏由学生本人填写;第 3 栏由指导教师填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要准时,要实事求是;毕业设计论文工作进程记录时间段自 2022 年 5 月 23 日至 2022年 6 月 17 日本阶段首先学习了论文的撰写标准和格式要求,查阅相关的论文资料进展毕业论文的编写,预备辩论提纲和辩论演示幻灯片,进展毕业论文辩论。整理毕业设计中相应资料和技术,对毕业设计过程进展总结。在教师的帮助下,准时觉察论文中存在的问题,经过屡次的修改与审校形成终稿,按时完成了论文
23、的编写和校验工作,顺当地完成了毕业设计的辩论工作。阶 段 工作 总 小结 及 任务 完 成情 况 评价对学生上一阶段工作完成状况进展总结评价,指出下一阶段工作需要解决的问题。指 导 教师 审 阅意见指导教师签字:年月日表 5注:1、每完成一项阶段性工作后填写一次。2、12 栏由学生本人填写;第 3 栏由指导教师填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要准时,要实事求是;毕业设计工作总结表 6工作任务完成状况包括任务书中规定的工作内容、争辩目标等,如未能完成须说明缘由:本系统为基于 J2EE 的 ACM 训练治理系统的相关技术,针对设计中的几个难点问题,提出了相应的解决方法。设计实
24、现了用户代码账号治理、队员做题记录排名、代码评论、系统 配置、队员治理、队员账号治理、练习网站配置和系统权限设置等主要功能。在业务集成方面, 本系统在综合运用 JavaWeb 各项技术的根底上,通过分析现有的ACM 在线评测系统设计规章和链接特点,将本系统中队员代码和已有的OJ 系统结合,实现了多系统集成相结合的功能,避开了系统脱离实际训练环境的问题。同时,结合校 ACM 训练系统的设计与实现, 介绍了使用 Struts2、Hibernate 和 Spring 进展企业级开发的根本应用。为创立可复用的程序设计供给了设计思路和解决方案。系统完成了前期需求分析中全部功能,并对一些模块做出了扩展。该
25、系统被校ACM 训练队承受,极大地便利了教练员对训练过程的治理,加强了队员之间沟通和阅历共享,结果说明,系统构造设计合理,功能完善,具有肯定的应用意义。主要创点:本系统的主要创点如下:1、表现规律和业务规律分别,也就是模型和视图的分别,从而降低系统维护难度,大大提高代码的可重用性和可扩展性。2、面对切面的编程方式。系统中使用 Struts2 的拦截器功能实现了登录注销功能,开发捕获权限拦截器完成系统权限的初始化工作。3、使用 Spring 的声明式事务治理实现本系统数据库方面的事务把握。保证了业务规律和数据系统的完整性。4、系统使用 Java 中 Properties 技术实现了一套系统配置模
26、块,提高了系统的机敏性, 便于治理员的维护。5、通过使用iText 的 PDF 功能和 JavaMail 技术实现了用户代码的导出和邮件提示功能。工作状况包括工作态度、刻苦精神、协作精神、个人精力投入、出勤等状况:本设计是依据已有需求提出的争辩课题,具有肯定的应用意义,在本系统的设计过程 中,充分结合设计的实际要求,发挥认真钻研的精神,努力完成从设计到实现的转换。能认真听取教师和同学提出的意见和建议,努力将系统做的更好。另外,在本次毕业设计中,充分发挥自己曾经是集训队员的优势,与教练员和校集训 队员屡次探讨,收集相关信息以及查阅大量的资料,从而全面透彻的了解了设计任务、明确了设计目的,为后期的
27、设计进展全面的预备。本次毕业设计,我以极大的热忱投入到系统的设计和开发中,能够定期和指导教师进展沟通,保证全勤工作。收获、体会及建议:通过本系统的设计开发,使我个人把握了 JavaWEB 开发的根本技能,把握了很多的技术比方 Jquery、Poi、JavaMail 和 SiteMesh 等。通过利用这些技术,扩展了系统功能,加强了系统易用性,也使个人在快速运用技术完成任务的力量得到了肯定的提高,熬炼了自己快速学习的力量。通过对 Struts2、Hibernate 和 Spring 三大框架的学习,使自己把握了 Java 根本的企业级开发技能,便于在以后的工作和争辩中开展进一步的工作。在本次毕业
28、设计中,积存了一些在 WEB 开发中良好的设计方法和编码习惯,在相关功能的设计和开发中总结了一些阅历,也学到了很多东西。通过对一些开源系统的争辩,生疏 了一些它们的开发模式,也学到了一些业界精英的编码方式,并运用到自己系统中来。由于 在系统大量使用数据库技术,使自己对数据库相关技术也得到了更深入的生疏,理解了OR-Mapping 的根本原理,并努力创立良好的数据库设计。最终,通过对一些设计模式的运用,让自己在实践过程中对根本的设计模式有了更深入的理解,比方工厂模式、包装模式、单例模式和代理模式。从本次毕业设计中也使我个人养成了一种严谨的思考态度,认真对待一切细节问题, 努力使系统做到更好。学生签字:年月日