1、 毕业设计文献综述 计算机科学与技术 C/C+程序自动评判系统 一、前言部分 计算机编程学习过程中,教师需要及时了解学生的学习情况,现有的教学方式难以满足需要,通过作业的方式了解的不够全面,而且不能做到精确掌握每个学生的学习情况。数据结构课程特点决定了实践教学环节是教学过程的必要组成部分,只有将实践教学和课堂教学紧密结合,互为补充,才能在最大程度上帮助学生尽快掌握课程知识,并更好地应用于实践,能够编写出结构清楚、正确易读的程序,达到知识和技能两方面的共同提高 1。在线 评测系统能够极大的减少教师花费在检查学生代码的正确性、算法性能、抄袭情况、作业的完成率和正确率统计方面的工作, 使教师有更多的
2、时间与学生交流和答疑,给出比较合理的考核成绩,充分调动学生的学习兴趣和动力 2。 在线评判系统最初使用于 ACM/ICPC(国际大学生程序设计竞赛 )和 OI(信息学奥林匹克竞赛 )当中,现广泛应用于世界各地高校学生程序设计的训练、参赛队员的训练和选拔、各种程序设计竞赛以及数据结构和算法的学习和作业的自动提交评判中 3。 2007 年教育部办公厅印发了教育部、 财政部关于教育质量工程的教 高 2007 1 号文件 ,谈到“实践教学与人才培养模式改革创新 ”时,指出:“大力加强实验、 实践教学改革 ” ,“开展基于企业的大学生实践基地建设试点,拓宽学生的校外实践渠道 ” 4。为了响应教育部的号召
3、,改善现状,和提高高校编程课程的普遍水平,需要开发一个能够自动评判程序正确性的系统。根据 c 语言程序设计学生作业的特点,一 种较好的批改方法是给定输入条件,然后直接运行程序,通过结果来评判。因此,设计并开发计算机自动评判系统来处理学生提交的 C 语言源程序作业不失为一种好的解决方案。 现讲有关概念作简要 阐述如下: Microsoft Visual Studio: Microsoft Visual Studio(简称 VS)是美国微软公司的开发工具套件系列产品。 VS 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如 UML 工具、代码管控工具、集成开发环境等等。
4、所写的目标代码适用于微软支持的所有平台,包括 Microsoft Windows、 Windows Mobile、 Windows CE、 .NET Framework、 .NET Compact Framework 和 Microsoft Silverlight。而 Visual Studio .NET是用于快速生成企业级 ASP.NET Web 应用程序和高性能桌面应用程序的工具。 Visual Studio包含基于组件的开发工具(如 Visual C#、 Visual J#、 Visual Basic 和 Visual C+),以及许多用于简化基于小组的解决方案的设计、开发和部署的其他技
5、术。 ASP.NET: ASP.NET 是由微软在 .NET Framework 框架中所提供,开发 Web 应用程序的类库,封装在 System.Web.dll 文件中,显露出 System.Web 命名空间,并提供 ASP.NET 网页处理、扩充以及 HTTP 通道的应用程序与通信处理等工作,以及 Web Service 的基础架构。ASP.NET 是 ASP 技术的后继者,但它的发展性要比 ASP 技术要强大许多 5。 ASP.NET 可以运行在安装了 .NET Framework 的 IIS 服务器上,若要在非微软的平台上运行,则需要使用 Mono 平台, ASP.NET 在 2.0
6、版本已经定型,在 .NET Framework 3.5 上则加上了许多功能,像是 ASP.NET AJAX、 ASP.NET MVC Framework、 ASP.NET Dynamic Data 与Microsoft Silverlight 的服务器控件等。很多人都把 ASP.NET 当做是一种编程语言,但它实际上只是一个由 .NET Framework 提供的一种开发平台 (development platform),并非编程语言。 AJAX: AJAX 全称为“ Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),是一种创建交互式网
7、页应用的网页开发技术。根据 Ajax 提出者 Jesse James Garrett 建议 ,它: 使用 XHTML+CSS 来表示信息; 使用 JavaScript 操作 DOM( Document Object Model)进行动态显示及交互; 使用 XML 和 XSLT 进行数据交换及相关操作; 使用 XMLHttpRequest 对象与 Web 服务器进行异步数据交换; 使用 JavaScript 将所有的东西绑定在一起。 类似于 DHTML 或 LAMP, AJAX 不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于 AJAX 的“派生合成”式( derivat
8、ive/composite)的技术正在出现,如 AFLAX。 AJAX 的应用使用支持以上技术的 Web 浏览器作为运行平台。这些浏览器目前包括:Internet Explorer、 Mozilla、 Firefox、 Opera、 Konqueror 及 Mac OS 的 Safari。但是 Opera不支持 XSL 格式对象,也不支持 XSLT。 SQL: SQL 全名是结构化查询语言( Structured Query Language),是用于数据库中的标准数据查询语言, IBM 公司最早使用在其开发的数据库系统中。 1986 年 10 月,美国国家标准学会 (ANSI) 对 SQL
9、进行规范后 ,以此作为关系式数据库管理系统的标准语言 (ANSI X3. 135-1986), 1987 年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对 SQL 规范作了某些编改和扩充。所以,实际上不同数据库系统之间的 SQL 不能完全相互通用。 UML: 统一建模语言( UML, Unified Modeling Language)是非专利的第三代建模和规约语言。 UML 是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。 UML 展现了一系列最佳工 程实践,这些最佳实践在对大规模,复杂系统进行建模方面
10、,特别是在软件架构层次已经被验证有效。 UML 集成了Booch, OMT 和面向对象软件工程的概念,将这些方法融合为单一的,通用的,并且可以广泛使用的建模语言。 UML 打算成为可以对并发和分布式系统的标准建模语言。 UML 并不是一个工业标准,但在 Object Management Group 的主持和资助下, UML 正在逐渐成为工业标准。 OMG 之前曾经呼吁业界向其提供有关面向对象的理论及实现的方法,以便制作一个严谨的软件建模语言( Software Modeling Language)。有很多业界的领袖亦真诚地回应 OMG,帮助她建立一个业界标准。 二、主题部分 在客户端脚本语言
11、 JavaScript和各类动态页面服务器脚本语言的带动下 Web 平台技术飞速发展,已经相对成熟,这也大大缩短了 C/C+自动评判系统的开发周期。 ASP.NET 技术的背景: ASP.NET 的前身 ASP 技术,是在 IIS 2.0 上首次推出( Windows NT 3.51),当时与 ADO 1.0 一起推出,在 IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软 还特別为它量身打造了 Visual InterDev 开发工具,在 1994 年到 2000 年之間, ASP 技术已经成为微软推展 Windows NT 4.0 平台的关键
12、技术之一,数以万計的 ASP 网站也是這个时候开始如雨后春笋般的出现在网络上。由于它的简单以及高度客制化的能力,也是它能迅速崛起起的原因之一 6。 不过 ASP 的缺点也逐渐的浮现出来: 意大利面型的程序开发方法,让维护的难度提高很多,尤其是大型的 ASP 应用程序。 直译式的 VBScript 或 JScript 语言,让效能有些许的受限。 延展性因为其基础架构扩充性不足 而受限,虽然有 COM 元件可用,但开发一些特殊功能(像档案上传)时,沒有来自內建的支援,需要寻求第三方软件商开发的元件。 1997 年时,微软开始針对 ASP 的缺点(尤其是意大利面型的程序开发方法)准备开始一个新专案来
13、开发,当时 ASP.NET 的主要领导人 Scott Guthrie 刚从杜克大学毕业,他和 IIS团队的 Mark Anders经理一起合作两个月,开发出了下一代 ASP技术的原型,這个原型在 1997年的圣诞节时被发展出来,並给予一个名称: XSP,這个原型产品使用的是 Java 语言。不过它马上就被纳入当时还在开发 中的 CLR 平台, Scott Guthrie 事后也认为将這个技术移植到当时的 CLR 平台,确实有很大的风险( huge risk),但当时的 XSP 团队却是以 CLR 开发应用的第一个团队 7。 为了将 XSP 移植到 CLR 中, XSP 团队将 XSP 的核心程
14、序全部以 C#语言重新撰写(在內部的专案代号是 “Project Cool“,但是当时对公开场合是保密的),並且改名为 ASP+,作为 ASP技术的后继者,並且也会提供一个简单的移转方法给 ASP 开发人員。 ASP+首次的 Beta 版本以及应用在 PDC 2000 中亮相,由 Bill Gates 主讲 Keynote(即关键技术的概览),由富士通公司展示使用 COBOL 语言撰写 ASP+应用程序,並且宣布它可以使用 Visual Basic.NET、 C#、 Perl与 Python 语言(后两者由 ActiveState 公司开发的互通工具支援)来开发。 在 2000 年第二季时,微
15、软正式推动 .NET 策略, ASP+也順理成章的改名为 ASP.NET,经过四年的开发,第一个版本的 ASP.NET 在 2002 年 1 月 5 日亮相(和 .NET Framework 1.0), Scott Guthrie 也成为 ASP.NET 的产品经理( 到现在已经开发了数个微软产品,像 ASP.NET AJAX 和Microsoft Silverlight)。目前最新版本的 ASP.NET 4.0 以及 .NET Framework 4.0 已经在 2010年 4 月 12 日正式登场,中文版也在 6 月 1 日正式发售 8。 AJAX 的背景、现状和发展方向: 对用户而言,最
16、近几年内最大的变革莫过于 AJAX 技术的风行,它存在于浏览器的一端,却彻底改变了 web 应用的用户体验方式。该技术在 1998 年前后得到了应用。允许客户端脚本发送 HTTP 请求( XMLHTTP)的第一个组件由 Outlook Web Access 小组写成。该组件原属于微软 Exchange Server,并且迅速地成为了 Internet Explorer 4.0 的一部分 9。部分观察家认为, Outlook Web Access 是第一个应用了 Ajax 技术的成功的商业应用程序,并成为包括Oddpost 的网络邮件产品在内的许多产品的领头羊。但是, 2005 年初,许多事件使
17、得 Ajax被大众所接受。 Google在它著名的交互应用程序中使用了异步通讯,如 Google讨论组、 Google地图、 Google 搜索建议、 Gmail 等。 Ajax 这个词由 Ajax: A New Approach to Web Applications一文所创,该文的迅速流传提高了人们使用该项技术的意识 10。另外,对 Mozilla/Gecko 的支持使得该技术走向成熟,变得更为易用。 SQL 数据库的背景、现状与发展方向: 在 1970 年代初,由 IBM 公司 San Jose,California 研究实验室的埃德加科德发表将数据组成表格的应用原则( Codds Re
18、lational Algebra)。 1974 年,同一实验室的 D.D.Chamberlin 和R.F. Boyce 对 Codds Relational Algebra 在研制关系数据库管理系统 System R 中,研制出一套规范语言 -SEQUEL(Structured English QUEry Language),并在 1976年 11月的 IBM Journal of R&D上公布新版本的 SQL(叫 SEQUEL/2)。 1980 年改名为 SQL。 1979 年 ORACLE 公司首先提供商用的 SQL, IBM 公司在 DB2 和 SQL/DS 数据库系统中也实现了 SQL
19、。 1986 年 10 月,美国 ANSI 采用 SQL 作为关系数据库管理系统 的标准语言( ANSI X3. 135-1986),后为国际标准化组织( ISO)采纳为国际标准。 1989 年,美国 ANSI 采纳在 ANSI X3.135-1989 报告中定义的关系数据库管理系统的 SQL标准语言,称为 ANSI SQL 89, 该标准替代 ANSI X3.135-1986 版本。该标准为下列组织所采纳: 国际标准化组织( ISO),为 ISO 9075-1989 报告“ Database Language SQL With Integrity Enhancement ”美国联邦政府,发布
20、在 The Federal Information Processing Standard Publication(FIPS PUB)127。目前,所有主要的关系数据库管理系统支持某些形式的 SQL, 大部分数据库打算遵守 ANSI SQL89 标准。 SQL 是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的 SQL 作为数据的输入与管理。它以记录项目 records的合集( set) 项集, record set作为操纵对象,所有 SQ
21、L 语句接受项集作为输入,回提交的项集作为输出,这种项集特性允许一条 SQL 语句的输出作为另一条 SQL 语句的输入,所以 SQL 语句可以嵌套,这使它拥有极大的灵活性和强大的功能 11。在多数情况下,在其他编程语言中需要用一大段程序才可实践的一个单独事件,而其在 SQL 上只需要一个语句就可以被表达出来。这也意味着用 SQL 可以写出非常复杂的语句。 SQL 同时也是数据库文件格式的扩展名。 SQL 包含 3 个部分: “数据定义语言”( DDL : Data Definition Language) “数据操纵语言”( DML : Data Manipulation Language)
22、“数据控制语言”( DCL : Data Control Language) UML 的历史背景: 当人类发明了抽象的编程语言后,随着软件开发规模的不断扩大,有一个问题一直困扰着软件开发人员,那就是如何在开发人员之间进行交流,因为编程语言比较抽象,所以交流也就成为了一个难题。 为了解决这个难题,从 20 世纪 70 年代开始,就不断地有面向对象的建模语言面世 12,但新的问题也随之而来 了,正如前面讲的,有人把白粉笔定义为白色,有人把白粉笔定义为黑色,双方定义的语义基础不同,不同的建模语言交流起来就很困难。 面向对象软件工程的概念最早是由 Booch 提出的,他是面向对象方法最早的倡导者之一。
23、后来, Rumbaugh 等人提出了面向对象的建模技术( OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。这种方法用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程。在 1994 年, Jacobson 提出了 OOSE 方法,其 最大特点是面向用例,并在用例的描述中引入了外部角色的概念 13。 1994 年 10 月, Grady Booch 和 Jim Rumbaugh 首先将 Booch 93 和 OMT-2 统一起来,并于 1995 年 10 月发布了第一个公开版本 UM 0.8,后来 Jac
24、obson 也加盟到这一工作中,经过Booch、 Rumbaugh 和 Jacobson 三人的共同努力,于 1996 年 6 月和 10 月分别发布了两个新的版本,即 UML 0.9 和 UML 0.91,并将 UM 重新命名为 UML( Unified Modeling Language) 14。 1996 年,一些公司和组织,比如: DEC、 HP、 IBM、 Microsoft、 Oracle、 Rational Software等成立了 UML 成员协会,以完善、加强和促进 UML 的定义工作。 1997 年 1 月 UML 1.0 发布,1998 年发布了 UML 1.2 版本,一
25、年后发布了 UML 1.3 版本, 2003 年 3 月发布了 UML 1.5 版本 15。 三、总结部分 如今 Web 平台上的各类技术已经逐渐走向成熟和系统化。客户端脚本、服务器端脚本和数据库三者组合成了各种功能强大,内容丰富多彩的 web 应用,这一切都促使着程序自动 评判系统的出现与发展。而且该系统有可能与现有的在线学习平台有机结合,构成高校编程类课程的全新的教学模式,彻底改变当代高校编程类课程教学方式的现状。 四、参考文献 1赵越 ,章小莉 .数据结构实践教学模式的设计与探索 J.计算机教育 ,2009(13):194-196. 2王涛春,罗永龙,左开中 . 基于在线评测的数据结构实
26、践教学探讨 J. 计算机教育 .2010(5):88-90. 3 陈湘骥,徐东风,杨秋妹 . 在线评判在 C 语言课程设计教学中的应用 J. 计算机教育 .2010(2):97-100 4林丕源 ,刘财兴 ,张明武 . 软件工程专业的实践教学改革初探 J. 实验室研究与探索 ,2007(12):238-240. 5 MickeyWilliams.Windows2000 编 程 技 术 内 幕 M. 北京 : 机 械 工 业 出 版社 ,1999.12:50-52. 6 ( 美 )Chris.Payne.ASP.NET 从 入 门 到 精 通 ( 专著 )M. 北京 : 人 民 邮 电 出 版社
27、 ,1997:163-164. 7 ( 美 )Chris.Payne.ASP.NET 从 入 门 到 精 通 ( 专著 )M. 北京 : 人 民 邮 电 出 版社 ,1997:95-97. 8 RichardAnderson.ASP.NET 高级编程 M.北京 :清华大学出版社 ,2003:259-260. 9 (美 )阿斯利森 ,(美 )舒塔 ,金灵 .Ajax 基础教程 M.北京 :人民邮电出版社 ,2006.:36-37. 10 董大伟编著 .ASP.NET 与 AJAX 深度剖析范例集 .M.中国青年出版社 ,2007:87-87. 11China Edition,Microsoft
28、SQL SERVER 2005 REPORTING SERVICESMPUBLISHED BY SHANGHAI WORLD PUBLISHING CORPORATION, 2007:128-129. 12 徐宝文 ,周毓明 ,卢红敏 .UML 与软件建模 M.北京 :清华大学出版社 ,2006:205-205. 13 王智学 .Rose 对象建模方法与技术 M.北京 :机械工业出版社 ,2003:159-160. 14 Miohael Blaha,James Rumbangh.Object-Oriented Modeling and Design with UMLM.北京 :人民邮电出版社 ,2006:203-203. 15 王智学 .Rose 对象建模方法与技术 M.北京 :机械工业出版社 ,2003:49-50.
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。