毕业设计手册(模板)_第1页
毕业设计手册(模板)_第2页
毕业设计手册(模板)_第3页
毕业设计手册(模板)_第4页
毕业设计手册(模板)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、山东理工大学毕业设计(论文)手册学院 计算机科学与技术 系 计算机科学与技术 专业 计算机科学与技术 班级 计科0704 学生姓名 解西扬 学号 指导教师 刘晓红 职称 副教授 山东理工大学教务处编印二一一年六月毕业设计(论文)自二一一年二月至二一一年六月 共十七周 毕 业 设 计 任 务 书(理工) 学院计算机科学与技术学生姓名解西扬专业计算机科学与技术班级计科0704学号指导教师刘晓红职 称副教授课题名称山东理工大学ACM训练管理系统的设计与实现起止日期自2011年2月21日起至2011年6月17日一、课题来源、目的与要求:来源:自拟题目,来自山东理工大学ACM训练队需求。目的:本毕业设计

2、希望通过对ACM训练管理系统平台的规划设计与实现,培养学生综合运用所学知识分析和解决实际问题的能力,解决ACM训练过程中的相关问题,为校训练队员提供一个代码交流,资源共享的平台。同时可以方便教练对训练队员的训练情况及时了解 ,以便对相应的训练计划做出调整。要求:熟悉数据库应用系统的开发模式和过程,熟练掌握利用Java相关技术实现网络应用系统的开发,能够使用新技术完成相应的需求,应用系统要求运行稳定、界面友好、操作方便、便于扩展和可维护性强。二、主要设计内容:本课题是一个结合实际需要的创新型课题,主要实现在ACM训练过程中代码收集,统计的功能,同时建立完善的教师后台管理端,实现高度可配置的系统。

3、1 全面准确了解ACM训练管理系统的各项需求;2 系统主要分为两个部分,学生端和教师端。主要模块包括学生端的代码上传、代码管理、上传代码排名、文档管理和主题讨论等。教师端的系统包括基础信息维护、队员管理与权限管理等。3 提供导出PDF文件功能,可以使队员备份自己的代码。4 提供电子邮件提醒功能,便于队员管理自己的代码。5 提供高度可维护性管理平台。三、主要设计技术指标与参数:利用Java相关技术实现ACM训练系统管理系统设计。该系统能够满足教练组和训练队员的训练过程监控和管理需要。提交成果:1 开题报告一份;2 翻译2万印刷字符(或译出5000汉字)以上的有关技术资料或专业文献,内容要尽量结合

4、课题(译文连同原文单独装订成册);3 完整的软件系统(刻录在光盘中)一套;4 毕业设计说明书一份。四、分阶段指导性进度计划: 第一阶段(208)查阅有关书籍,收集有关资料,熟悉开发工具,并撰写开题报告。 第二阶段(200)需求分析,总体设计。 第三阶段(200)软件系统详细设计和实现。第四阶段(202)软件系统整体调试,编写软件使用说明书。第五阶段(207)撰写毕业论文,准备答辩提纲和答辩演示幻灯片,参加答辩,并整理资料。五、主要参考文献资料:1 肖颖,刘禹针对ACM/ICPC的在线评测系统.哈

5、尔滨:哈尔滨工业大学,20032 王卓威,尹宝林一个基于网络的程序自动评测系统J北京航空航天大学学报,2004,30(6):502-505 3 张海藩软件工程导论M北京:清华大学出版社,20034 陈威,白伟明,李楠JSP工程应用与项目实践M北京:机械工业出版社,20055 孙鑫Java Web开发详解-XML+XSLT+Servlet+JSPM深入剖析与实例应用北京:电子工业出版社,2006指导教师(签字): 20 年 月 日系主任(签字): 20 年 月 日注:本表由指导教师填写,经系主任审定后下发学生。毕业设计开题报告(理工类)设计题目山东理工大学ACM训练管理系统的设计与实现学生姓名解

6、西扬学号专业计算机科学与技术一、课题的目的意义:经过近两年的发展,ACM程序设计大赛在我校已经有了较大的影响力,越来越多喜欢编程的同学投入到这项赛事中,同时我们也组建了自己的评测系统和论坛,方便大家训练和交流。但是由于一些客观原因的存在,集训队员大多会选择一些数据相对较完善题目质量比较高的系统进行日常的训练和学习。这样,教练组便不能及时掌握队员的训练情况,而队员之间也不能得到有效的交流。 传统上是以手工的方式登入其他OJ网站查阅自己感兴趣的信息,不仅操作不便,而且通常不能获得全部的信息。本系统可理解为ACM在线评测系统的辅助系统,旨在方便ACM训练队员的日常训练和学习。本毕业设计通过对ACM训

7、练管理平台的设计与开发,将实现一套完整的ACM训练系统,便于队员之间的代码共享和业余交流。同时,将极大地方便教练组管理自己的队员,随时关注队员的训练情况。二、资料调研分析:关于此类系统的设计和开发,在国内外来讲尚为空白,通过本系统的设计,我们主要是想探索出一种较好的在线训练模式,进一步提高本校学生的编程兴趣和技术水平。下面我将从四个方面来说明关于训练管理系统的现状和面临的问题。(1)关于ACM程序设计竞赛在国内外的发展状况和我校的实际情况。(2)国内外现有的开源训练系统和E-Learning系统的发展状况。(3)本系统的需求调研和主要解决的问题描述。(4)系统开发所涉及相关技术的发展现状。首先

8、来说明第一点,ACM-ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for Computing Machinery,国际计算机协会)主办的,是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。我校计算机学院从2006年初就在学校大力支持下,率先在全省高校中建立程序设计竞赛与练习的网络在线测试平台(Online Judge)和ACM创新实验室,为学生进行比赛学习和

9、训练提供了良好支持。计算机学院与教务处联合于2009年、2010和2011年先后成功举办三届校赛,塑造了良好的校园氛围,发掘了一批有潜力的队员,为参加赛事奠定了坚实的基础,并极大推动了学生专业综合能力培养。第二,目前和本系统类似的成熟产品大部分都可以归纳为在线学习管理系统(也可以说是E-Learning系统),开源社区中比较流行的有EFront、SaKai和Eledge等(关于这些系统网上有详细的介绍)。另外还有一些专业的基于特殊硬件平台的虚拟训练系统,比如模拟驾驶系统,模拟飞行系统等。对于要设计的ACM训练管理系统来说,有参考价值的主要是第一类系统,而且它们都是开源的,方便个人学习和研究。通

10、过比较,在本系统的设计上将会参考EFront和SaKai系统。第三,我校开展ACM训练一经有两年多的时间,在某些方面积累了一些经验,同时在相关比赛中也取得了较好的成绩。但是在每年的训练过程中也发现了一些问题,特别是队员和教练之间以及队员和队员之间不能得到较好的交流和了解,所以通过前期的需求调研,我们认为可以开发这样一套训练管理系统。第四,本系统将基于Java相关技术进行开发,使用到当前Java开发社区中较流行的三个框架(Struts2、Hibernate和Spring),另外系统中也会用到其他的一些Java组件(比如JavaMail,iText和Poi等),Java经过10多年的发展已经建立起

11、了一套非常成熟的企业解决方案,形成了很完善的系统开发平台。利用JavaEE相关技术可以快速开发健壮稳定的企业级应用。基于OOP的系统设计可以使系统更易于扩充和具备较好的可维护性。参考文献:1 孙卫琴精通 Struts:基于MVC 的 JavaWeb的设计与开发M.北京.电子工业出版社,2007 2 Kurnia,Andy, Lim,Andrew,Cheang,Brenda.Online Judge.Computers and Education, 2001,36:2993153 肖颖,刘禹.针对ACM/ICPC的在线评测系统.哈尔滨:哈尔滨工业大学,2003.4 王卓威,尹宝林.一个基于网络的

12、程序自动评测系统J.北京航空航天大学学报,2004,30(6):502-5055 LIU Yu. Inside HIT Online Judge System.哈尔滨:哈尔滨工业大学,2005.6 PKU Online Judge./. 2011-2-87 ZOJ./. 2011-2-238 HDU Online Judge System./. 2011-2-29 苑文会,彭四伟.源代码在线评测系统的设计与实现.计算机与数字工程,2006年,第34卷(第9期):130-132

13、10 王腾,姚丹霖.Online Judge系统的设计开发.计算机应用与软件,2006(12)三、设计方案的可行性分析和预期目标:从以下几个方面论证本系统的可行性:1) 应用意义 开发本系统不仅可以方便教练组浏览队员的训练统计信息,同时也为训练队员提供了一个交流和合作的开放平台,有利于促进本校ACM的发展和广大同学编程水平的提高。具有很好的现实意义。2) 硬件可行性。本系统的硬件要求并不需要很高,另外由于Java语言的跨平台性等特点,可以很方便的发布运行在不同的系统平台与环境中。所以本系统完全可以部署到学校现有的ACM服务器上,所有硬件都无需另外购买即可完成系统的发布与测试。3) 技术可行性本

14、系统中所使用到的技术大部分我都有过使用经验,不需要花费过多时间进行技术学习,同时基于Java已经是一种很成熟的系统设计语言,利用现有的开源框架,相信可以在预定计划内完成系统设计与开发。本次毕业设计是实现ACM训练管理系统,其主要功能包括:代码管理、队员管理、文档管理、主题讨论查询和统计报表等;提供良好的训练平台和系统维护功能。四、所需要的仪器设备、材料:硬件:PC IBM服务器操作系统:Windows NT开发工具:MyEclipse8.5 服务器:Tomcat 6.0数据库:MySQL 5.1五、课题分阶段进度计划:序号起止日期工 作 内 容阶段成果1208查找有关资料,

15、积累相关知识,选择开发语言,熟悉相关的开发工具和技术。完成开题报告,建立数据库。2200进行需求调研,撰写需求分析报告,明确任务目标和工作内容。完成需求分析报告。3200根据需求完成数据设计和软件系统详细设计和实现,进行具体的编码工作。完成数据库设计,实现各种功能。4206完成系统的测试和系统BUG的修改,提高系统的稳定性和易用性。完善系统功能,提高系统的可操作性。5202撰写软件系统的说明书,整理相关资料。完成设计说明书。6207撰写毕业论文,准备答辩提纲和答辩演示幻灯片,答辩。完成毕业论文及

16、答辩相关资料。指导教师意见: 签字: 200 年 月 日毕业设计(论文)工作进程记录 表1时间段自2011 年 2 月 21 日至2011 年 3 月 18 日阶段工作总小结及任务完成情况评价本阶段研究和分析了系统的任务书,明确设计的任务和目标,完成开题报告,建立设计目标并且规划设计进程;查找相关的文献和资料;对学校ACM训练队的训练过程进行调研,收集相关的数据和资料,确定系统开发要使用的技术,并进行开发环境的搭建和学习。经过四周左右的学习和调研,完成了Java相关技术的学习和本系统的设计目标和任务,对ACM训练过程做了深入地了解和实践。查找了与课题相关的文献,并进行深入的学习和阅读。了解本系

17、统当前的研究状况并进行了可行性分析,并对可能出现的难点进行讨论,较好地完成了系统前期的准备工作,有力的保证了后期的设计和编码,并按时完成了开题报告的撰写。指导教师审阅意见对学生上一阶段工作完成情况进行总结评价,指出下一阶段工作需要解决的问题。 指导教师签字: 年 月 日注:1、每完成一项阶段性工作后填写一次。2、12栏由学生本人填写;第3栏由指导教师填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要及时,要实事求是毕业设计(论文)工作进程记录 表2时间段自2011 年 3 月 19 日至2011 年 4 月 10 日阶段工作总小结及任务完成情况评价本阶段主要完成的是系统的需求分析,并完成

18、需求报告,进行需求确认。经过和老师与训练队员的探讨,确定系统主要的模块和功能。进一步加强相关技术的学习和资料的收集,使用UML进行软件的基本设计,分析系统中的实体以及实体之间的关系。画出系统的E-R图,并在数据库中创建出系统可能会用到的表,主要包括学院表、专业表、用户表、练习网站表、用户账号表、代码记录表、队伍表、比赛表、比赛类型表、比赛成绩表、权限信息表、角色信息表以及一些关联表。本阶段得到了老师和集训队员的积极配合,较好的确认了系统的核心功能,对需求有了比较全面的了解。并根据需求撰写了需求说明书,完成了数据库的基础设计。指导教师审阅意见对学生上一阶段工作完成情况进行总结评价,指出下一阶段工

19、作需要解决的问题。 指导教师签字: 年 月 日注:1、每完成一项阶段性工作后填写一次。2、12栏由学生本人填写;第3栏由指导教师填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要及时,要实事求是;毕业设计(论文)工作进程记录 表3时间段自2011 年 4 月 12 日至2011 年 5 月 10 日阶段工作总小结及任务完成情况评价本阶段根据上一阶段的需求,进一步与老师讨论系统的数据库设计,完善细节,并进入系统的详细设计和编码阶段。搭建系统的开发框架,完成系统各个模块。使用Struts2、Hibernate和Spring作为系统的底层框架,在此基础上进行各个模块的开发,主要完成的模块有:学

20、生端代码管理、个人配置、代码记录排名和代码浏览评论等;系统管理端包括日志管理、队员管理、队员账号管理、系统配置、练习网站管理、数据库备份和恢复模块以及系统权限控制模块。经过一个多月的编码,实现了系统前期需求中的全部功能,并对有关模块进行了扩展。指导教师审阅意见对学生上一阶段工作完成情况进行总结评价,指出下一阶段工作需要解决的问题。 指导教师签字: 年 月 日注:1、每完成一项阶段性工作后填写一次。2、12栏由学生本人填写;第3栏由指导教师填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要及时,要实事求是;毕业设计(论文)工作进程记录 表4时间段自2011 年 5 月 11 日至2011

21、年 5 月 22 日阶段工作总小结及任务完成情况评价本阶段的主要工作任务是完成系统的集成测试和系统的发布、撰写系统软件说明书,并对测试过程中出现的BUG进行修改,与老师和同学进行进一步的探讨,完善系统中存在的不足。根据系统的测试用例说明书,通过小范围的内部测试和公开测试,可以知道系统整体上处于比较稳定的运行状态,根据相关人员反馈的一些系统问题及时做出了处理。并对系统的组队和排名模块做了小范围的改进。指导教师审阅意见对学生上一阶段工作完成情况进行总结评价,指出下一阶段工作需要解决的问题。 指导教师签字: 年 月 日注:1、每完成一项阶段性工作后填写一次。2、12栏由学生本人填写;第3栏由指导教师

22、填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要及时,要实事求是;毕业设计(论文)工作进程记录 表5时间段自2011 年 5 月 23 日至2011 年 6 月 17 日阶段工作总小结及任务完成情况评价本阶段首先学习了论文的撰写规范和格式要求,查阅相关的论文资料进行毕业论文的编写,准备答辩提纲和答辩演示幻灯片,进行毕业论文答辩。整理毕业设计中相应资料和技术,对毕业设计过程进行总结。 在老师的帮助下,及时发现论文中存在的问题,经过多次的修改与审校形成终稿,按时完成了论文的编写和校验工作,顺利地完成了毕业设计的答辩工作。指导教师审阅意见对学生上一阶段工作完成情况进行总结评价,指出下一阶段工

23、作需要解决的问题。 指导教师签字: 年 月 日注:1、每完成一项阶段性工作后填写一次。2、12栏由学生本人填写;第3栏由指导教师填写。3、使用钢笔或碳素笔填写,字迹要清楚。 4、填写要及时,要实事求是; 毕业设计工作总结 表6工作任务完成情况(包括任务书中规定的工作内容、研究目标等,如未能完成须说明原因):本系统为基于J2EE的ACM训练管理系统的相关技术,针对设计中的几个难点问题,提出了相应的解决办法。设计实现了用户代码账号管理、队员做题记录排名、代码评论、系统配置、队员管理、队员账号管理、练习网站配置和系统权限设置等主要功能。在业务集成方面, 本系统在综合运用JavaWeb各项技术的基础上

24、,通过分析现有的ACM在线评测系统设计规则和链接特点,将本系统中队员代码和已有的OJ系统结合,实现了多系统集成相结合的功能,避免了系统脱离实际训练环境的问题。同时,结合校ACM训练系统的设计与实现,介绍了使用Struts2、Hibernate和Spring进行企业级开发的基本应用。为创建可复用的程序设计提供了设计思路和解决方案。系统完成了前期需求分析中所有功能,并对一些模块做出了扩展。该系统被校ACM训练队采用,极大地方便了教练员对训练过程的管理,加强了队员之间交流和经验分享,结果表明,系统结构设计合理,功能完善,具有一定的应用意义。主要创新点:本系统的主要创新点如下:1、表现逻辑和业务逻辑分离,也就是模型和视图的分离,从而降低系统维护难度,大大提高代码的可重用性和可扩展性。2、面向切面的编程方式。系统中使用Struts2的拦截器功能实现了登录注销功能,开发捕获权限拦截器完成系统权限的初始化工作。3、使用Spring的声明式事务管理实现本系统数据库方面的事务控制。保证了业务逻辑和数据系统的完整性。4、系统使用Java中Properties技术实现了一套系统配置模块,提高了系统的灵活性,便于管理员的维护。 5、通过使用iText的PDF功能和JavaMail技术实现了用户代码的导出和邮

温馨提示

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

评论

0/150

提交评论