基于web的注重创新培养的程序设计基础课程的支撑环境建设.doc
《基于web的注重创新培养的程序设计基础课程的支撑环境建设.doc》由会员分享,可在线阅读,更多相关《基于web的注重创新培养的程序设计基础课程的支撑环境建设.doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、毕业设计题目名称: 基于Web的创新能力的培养系统 学 院: 计算机科学技术学院 专 业: 计算机科学与技术(工) 班 级: 软件08-2 学 号: 33 姓 名: 徐加哲 指导教师: 张玲玲 二一二 年 六 月 一 日II摘 要进入二十一世纪以来,计算机与信息技术正在全球以令人难以置信的速度突飞猛进, 计算机应用发展水平已经成为国家竞争力的重要标志,网络与知识经济受到了世界各国政府的高度重视。发展计算机和信息产业的关键在于培养高素质人才。对一流人才的培养和竞争已成为各国政府、学校和科研机构、各大公司等的头等重要的战略任务。在此宏观背景下,各种旨在考察学生计算机应用能力的校内、国内、国际竞赛为
2、选拔和培养高素质人才提供了广阔的舞台。针对现有BHU ACM程序设计竞赛评判系统存在的缺陷,设计了新的架构模式。在研究该系统架构的特点和体系结构后 ,提出了一种基于逐个字符比较的评判算法,并针对页面设计、数据库接口、评判算法、资源限制等关键性问题进行了分析,并给出了具体的解决方案,为在线评测系统的研究提供了新的思路。 关键词: 程序设计,在线测试,编程比赛Abstract Enter since twenty-first Century, computer and information technology in the world at a be hardly worthy of beli
3、ef speed make a spurt of progress, the computer application level of development already has become the important mark of national competition ability, network and knowledge economy by the governments of all countries in the world attach great importance to. The development of computer and informati
4、on industry is the key to training high quality talents. To first-class talents training and competition have become the various countries government, schools and scientific research institutions, major companies such as first class important strategic task. Under this macroscopic background, variou
5、s aims to explore students computer application ability school, home, international competition for the selection and training of high-quality talents to provide a broad stage.In view of existing BHU ACM programming contest judge system defects of the new architecture patterns, design. In the study
6、of the architecture of the system and the characteristics of system structure, based on a character by character comparison of evaluation algorithm, and for page design, database interface, evaluation algorithm, resource constraints and other key problems are analyzed, and given a specific solution,
7、 for the online evaluation system study with new ideas.Key words: Program Design ; Online Judge ;Programming Contest目 录摘 要IABSTRACT(英文翻译还未翻译)I目 录1第1章 绪论11.1 选题背景11.2 PG系统概述11.3 Online Judge1第2章 方案论证32.1 需求规定32.2 运行环境32.3 基本设计概念和处理流程3第3章 需求分析43.1 对功能的规定43.2 对性能的规定53.3 数据管理能力要求63.4 故障处理要求63.5 运行环境规定6第
8、4章 系统设计与实现74.1 系统结构图7第5章 系统测试265.1 单元测试265.1.1 白盒测试265.1.2 黑盒测试265.2 集成测试275.3功能测试27结 论31后 记32参考文献3334第1章 绪论1.1 选题背景随着计算机和互联网技术的发展,网络教育与计算机辅助教学引发了一场深刻的教育模式和教育观念的变革。 一方面计算机技术减轻 了教育者的工作量,提供了更丰富的教育表现形式 ,并可在教育资源和教育对象之间建立联系:另一方面互联网技术使得更为广泛的群体可以远程接受到更高质量的教育。在这方面,人们已经有了不少的工作成就,MIT的开放课件系统 OCW和Module课程管理系统即是
9、其中的两个。 在面 向程序 设计类课 程的教学辅助方面 ,以 BHU ACM Judge Online为代表的Online Judge系统能够对用户提交的程序进行 “黑盒判定 ”来 自动生成判题结果。但从另一方面来说,传统的 Online Judge系统针对的是解题训练,并不针对课程教学辅助的场景。为了弥补这一不足 ,为程序设计类课程提供一定程度的网络教学辅助,我们基于 Online Judge功能,开发了一个针对程序设计类课程的教学辅助系统编程网格系统(Programming Grid,PG)。PG利用Online Judge的功能提供了程序设计类课程对学生编程能力的锻炼,通过将现实中的教学
10、中的资源、场景、活动引入系统,在虚拟教学活动中提供教学辅助功能,为使用该系统的师生展现 了一个虚拟的程序设计类课程的编程训练、教学辅助、教学互动的平台。同时,为了方便各学校或者组织加入到此系统并充分利用其中的资源和功能,PG 采用了分布式的系统结构 ,为系统未来的部署和发展奠定了很好的基础。本课题正是在这种背景下选取的。1.2 PG系统概述 PG 面向的是程序设计类课程及其师生,以及网络上的编程爱好者和计算机相关课程的自学者。对于PG来说主要的用户包括:一般用户、学生用户、教师用户以及管理员。显然,学生和教师用户是系统中主要活动的发起者与参与者。PG 以Online Judge为基础功能,为用
11、户解决编程 问题 提供 自动判别能力,同时针对程序设计类课程,引入了题 目、题集、文摘、课程等教学资源,以这些教学资源为核心形成了众多的虚拟教学场景,利用这些虚拟教学场景中 的教学活动为系统中的师生用户提供教学辅助,特别在这 些教学活动中增加了师生之问教学互动的功能,为教学中的一对一辅导提供一定的支持。下面几节就分别概述一下系统的这几个方面。 1.3 Online Judge Online Judge系统的最大特点是可以对用户提交的程序“在线判定”其对错。在 Online Judge系统中,用户可以在线提交程序多种语言f如 C、C+)源代码,系统对源代码进行编译和运行,并通过预先设计的输入输出
12、测试数据来检验程序源代码的正确性,并对代码生成的程序质量做一定 的监控 譬如对程序运行时所使用的内存大小或运行时间进行限制。目前,这一功能的实现方式主要是“黑盒判定”。对于每一个算法 ,我们知道,它有 。个到多个输入,1个到多个输出,并且具有穷性、确定性和可行性等特征,而每一个算法都是解决一类问题。Online Judge系统上有很多的编程题 目,对于每一道题 目,都存储了关于此题的多个输入输出对,这些输入输出对 已经经过验证符合题意要求。当用户提交一道题 目的源码之后,系统会把这个源码放入系统中编译运行,并针对题 目的每 一个输入输出对比较用户程序的输入输 出。最后系统会根据结果返回给用户一
13、个状态 :通过(Accepted)、答案错误(Wrong Answer)、超时(Time Limit Exceed)、超 内存(Memory Limit Exceed)、运行时错误(Runtime Error)、编译错误(Compile Error),并同时返回程序使用的内存、运行时间等数据信息。第2章 方案论证2.1 需求规定本系统面向用户的输入接口有:代码提交页面;论坛发帖页面;各种搜索、查找等的条件输入域;还有只针对高级用户和管理员的题目上传、测试数据文件上传;只针对管理员的系统首页公告输入、内部比赛的用户添加、恶意用户锁定及解锁等。对用户输入,可能出现恶意攻击的部分,采用基于 Stru
14、ts 框架的 Validation 组件进行验证。系统输出统一按 Web 方式进行,这样用户完全不需要安装客户端。2.2 运行环境服务器端环境:Windows Server 2003、MySQL Server 5、Tomcat 5.5、GCC 编译器、Free Pascal 编译器、Sun Java 虚拟机、GCJ 编译器。客户端环境:任何能够连接网络的计算机。2.3 基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。1、 系统总体结构图:本系统,从文件存放的角度看,分为三个部分:分别是1、 网 络 程 序 部 分 ( 存 放 在 网 络 服 务 器 目 录 , 即
15、 Tomcat 服 务 器 的webappsacmhome 目录下);2、 数 据 库 数 据 ( 存 放 在 MySQL 数 据 库 目 录 下 , 即 MySQL Server 5.0dataacmhome 目录下);3、 外部文件部分,包括编译器文件、系统日志文件、测试数据文件、搜索引擎索引文件、评判程序、评判程序临时工作目录(可存放在硬盘的任何目录,为确保测试数据的安全,不建议放在网络程序相同目录下),本部分通过网络程序的acmhomeWEB-INF initSystem.property 文件设置并与 Web系统耦合。注意格式,论文格式合格是及格的标准,若格式有问题,连答辩都不准参加
16、,请正视第3章 需求分析3.1 对功能的规定 改为“功能需求“本项目的第一个可运行版本的完成将耗时六个月,分为三个阶段,第一阶段为理论研究,第二阶段为实际开发,第三阶段为系统测试与完善阶段。各阶段的进度安排如下:一、理论研究,持续时间为三个月。由于网络系统设计复杂度高,涉及的知识面大,同时由于本系统的特殊用途,又涉及到编译器与后台程序整合的问题,所以需要解决的理论问题将是很多的,本人将在理论研究阶段通过查阅书籍,请教指导老师,以及通过网络进行必要的知识积累并解决若干关键性的技术问题。具体安排为1、第一个月首先将研究北大,浙大,UVA 等知名的 OJ 的架构特点,确定用户需求及系统总体功能规划,
17、对各 OJ 进行详细比较,取长补短,详细设计本系统各功能板块应具备的功能,确定实现各功能所使用的技术。由于本系统将设计到 Java 虚拟机底层实现原理(因编译器中将包括 Sun Java),故将对 Java 程序运行原理进行再次研究,同时由于外挂编译器的需要以及不可避免的操作系统 API 的调用,将对 Java 本地方法(Native Method)和Windows API 进行研究,为后期编译系统的安装奠定理论基础。与此同时,将学习 Java 网络编程原理,精通 Java Web 编程语言(主要时Java Servlet 和 Jsp),在巩固了语言基础后,将重点研究成功的 Java Web
18、开发项目(如 Jive 论坛)以了解 Java 网络项目的网络结构;2、第二月基于项目现代化与方便后期改进和后续开发的需要,本项目将采用目前主流的 MVC 架构进行开发,确定使用的框架是 Struts。在项目第二月,将重点研究 Struts 框架的使用,同时将研究 Struts 框架下各种开源组件的整合使用,目前确定使用的开源组件包括 Log4j、Hibernate、Validator、Struts-menu、Lucene 等,另外,将尝试在 Eclipse 的 Web 开发插件 MyEclipse 下试验各组件的使用和分析其性能表现(Hibernate 将在数据库研究阶段进行研究)一、二月总
19、结:经过两个月的学习研究,将对 Java Web 编程的各种方面达到彻底的了解,力求解决本项目的 Web 显示功能所需的技术问题;3、第三月本月将是本项目理论研究最关键的一个月。在这个月内,将解决两个事关项目成败的关键:一是数据库设计;二是后台编译和评判系统的理论研究;由于在线评判系统的特殊现状,在系统运作(尤其是举办在线比赛)时,网络对数据库的并发操作将是十分巨大的 这对数据库的设计提出了很高的要求。在本月,本人将通过查阅数据库设计的典籍和搜索网络,力求设计出一个符合本项目要求的数据库结构。同时,为方便可能出现的数据库移植,项目将使用Hibernate 进行数据库操作(项目的初始设计将使用
20、MySQL 数据库),因此,本月也将对 Hibernate 的使用进行学习研究;编译和评判系统将是本系统区别于一般的 Web 系统的根本,也是本项目的技术重点。系统将使用 6 个编译器,分别为 GNU 组织的 GCC、G+、C+和 GNU Java,以及 Sun Java 和 Free Pascal。由于编译与评判系统是独立于前台的 Web 系统的,同时 Java 的特点决定了用其操作特定操作系统(本项目默认为 Windows)将十分困难,因此,如何是前台的 Web 程序能有序地调度编译器的工作,如何安全地运行用户的程序,以及如何获得用户输出和通过操作系统获得程序运行信息(运行时间、空间占用)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 web 注重 创新 培养 程序设计 基础 课程 支撑 环境 建设
限制150内