




已阅读5页,还剩48页未读, 继续免费阅读
(通信与信息系统专业论文)基于internet的c语言学习支撑平台的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士学位论文摘要 摘要 随着计算机网络技术和软件开发技术的不断发展,远程教育作为 一种新的教育模式在世界范围全面展开。而基于i n t e m e t 的学习支撑 平台的研究和开发是远程教育成功的重要因素。学习支撑平台以计算 机网络技术为支撑,具有时空自由、资源共享、系统开放、便于交互 操作等优点。 本文在深入分析c 语言特点和远程教育中编程语言学习难点的 基础上,提出了一种基于i n t e m e t 的c 语言学习支撑平台系统。该系 统基于n e t 平台开发,通过重定向技术实现与经典c 语言编译器的 无缝交互功能;结合编译原理和多线程技术实现更加强大的编译检错 和逻辑检测功能,大大提高编译错误提示的准确性和高效性,并提供 程序功能完整性和安全性检测,弥补了现有编程语言支撑平台无法进 行功能检错的不足;利用面向对象的工程化设计思想实现编译算法的 扩展接口和测试用例调度机制,保证系统的扩展性和健壮性。同时, 通过可视化的远程管理界面,实现用户群、试题库和测试用例库的更 新和管理操作。该系统有助于培养和提高c 语言学习者分析问题和解 决问题的自主学习能力,为其它编程语言支撑平台的开发提供很好的 设计思想和技术指导。 本文最后对平台实现过程中的研究与开发工作进行了总结,并阐 述了将来进一步对该系统进行扩充与完善的一些后续工作。 关键词编译检错,逻辑检测,远程教育,c 语言学习,面向对象 硕士学位论文a b s t r a c t a bs t r a c t w i t ht h ef a s t d e v e l o p m e n to fc o m p u t e rs c i e n c ea n ds o f t w a r e d e v e l o p m e n tt e c h n o l o g y , r e m o t ee d u c a t i o na san e we d u c a t i o nm o d eh a s a l r e a d yb e e nw i d e l yu s e di nt h ew o r l d a n do n ek e yp o i n tt os u c c e s so f r e m o t ee d u c a t i o ni si n t e r n e t - b a s e d l e a r n i n gp l a t f o r m s w h i c ha r e i n t e r a c t i v es y s t e m so ft i m e - f r e e ,r e s o u r c e s h a r i n ga n ds y s t e m o p e n i n g t h e s ep l a t f o r m sm a k et h er e m o t ee d u c a t i o nb ee f f e c t i v e b ya n a l y z i n gt h ec h a r a c t e r i s t i c sa n dd i f f i c u l t i e so fcp r o g r a m m i n g l a n g u a g e ,t h i sp a p e rp r o p o s e sa l li n t e r n e t b a s e ds y s t e mf o rcl a n g u a g e l e a r n i n g t h es y s t e mi sb a s e do n n e tp l a t f o r m t h ec o m m u n i c a t i o n b e t w e e nt h es y s t e ma n dt h ec o m p i l e ro fcl a n g u a g ei si m p l e m e n t e db y u s i n gr e d i r e c tt e c h n o l o g y m o r ep o w e r f u lc o m p i l ea n dl o g i ce r r o r - c h e c k f u n c t i o ni sp r o v i d e di nt h es y s t e m ,w h i c ha d o p t sc o m p i l i n gp r i n c i p l ea n d c # m u l t i - t h r e a dt e c h n o l o g y t h ec o m p i l ee r r o r - c h e c kf u n c t i o nm a k e st h e e r r o rm e s s a g e sm o r ea c c u r a t ea n de f f i c i e n t a n dt h el o g i ce r r o r - c h e c k f u n c t i o ni nt h es y s t e mc a nc h e c kt h a tt h ef u n c t i o no fp r o g r a m si s c o m p l e t eo rn o t ,w h i c hh a sn o tb e e np r o v i d e db yt h ef o r m e rw o r k o b j e c t o r i e n t e dd e s i g nm e t h o d sa r e u s e dt os o l v et h e p r o b l e mo f a l g o r i t h mi n t e r f a c ea n dd y n a m i ct e s t c a s es c h e d u l i n g ,w h i c hm a k e st h e s y s t e mb ee x t e n s i b l ea n dr o b u s t a tt h es a m et i m e ,t h em a n a g e m e n ta n d u p d a t eo fu s e r , q u e s t i o na n dt e s t c a s ei si m p l e m e n t e db yt h er e m o t e m a n a g e m e n ti n t e r f a c e t h es y s t e mc a ni m p r o v et h ecl a n g u a g el e a r n e r s a b i l i t i e so fa n a l y z i n ga n ds o l v i n gp r o b l e m i tw i l lp r o v i d ed e s i g nc o n c e p t a n dt e c h n i c a lg u i d a n c ef o rd e v e l o p i n go t h e rl a n g u a g el e a r n i n gp l a t f o r m s f i n a l l y , t h ep a p e rs u m su po u rw o r kd u r i n gt h ed e s i g na n d d e v e l o p m e n t ,a n dd i s c u s s e sh o wt oi m p r o v et h es y s t e mi nt h ef u t u r e k e yw o r d s l o g i ce r r o rc h e c k i n g ,c o m p i l ee r r o r c h e c k i n g ,d i s t a n c e e d u c a t i o n ,cl a n g u a g el e a r n i n g ,o b j e c to r i e n t e d 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均己在论文中作了明确的说明。 作者签名:卤缢i 逝日期:趔翌年上月血日 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校一 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 作者签名:j 虱鲣逝导师签名呈玺煮 日期:2 塑星年上月监日 硕士学位论文第一章绪论 第一章绪论弟一早三百化 2 1 世纪是信息化时代,计算机作为一种社会工具被广泛应用于各个领域,从 不同角度改变着人们的生活方式、思维方式、工作方式,更对传统的教育方式形 成了巨大冲击。网络与教育的结合,将会彻底改变传统的教育思想、观念、内容、 方法和培养模式【l j 。如何利用i n t e m e t 进行远程教学已成为近年来各国教育界的重 要研究课题。基于i n t e m e t 的各类网络学习支撑平台是实现远程教育的核心因素。 学习支撑平台以计算机网络技术为支撑,具有时空自由、资源共享、系统开放、 便于交互操作等优点,是目前远程教育应用研究开发的热点。 1 1 课题的研究背景 当今人类已经进入了“知识爆炸时代,现代信息科学与技术的迅猛发展, 使人们的生活、工作方式都发生了革命性的变化;新学科、新专业、新领域的不 断涌现,迫使人们必须持续不断地进行自我学习;而快节奏的生活又不得不使人 们将远程教育作为自我学习的第一选择。在新时代,一个人的学习能力往往意味 着他的社会生存能力。许多发达国家也在人才素质结构内涵的总结中提出,要培 养人的继续发展能力、学习能力、对不断变化的世界的迅速反应能力、新知识的 及时吸取能力、以及知识的更新和创造能力【2 】。要把熟练地运用现代信息技术手 段,借助各种类型的媒体教材,把获得自主学习、自我提高之能力作为学生能力 培养的重点。 现代信息技术支撑下的远程教育是随着现代信息技术的发展而产生的一种 新型教育形式,是构筑知识经济时代人们自我学习体系的主要手段【3 】。它以现代 远程教育手段为主,综合面授、函授和自学等教学形式、采用多种媒体手段联系 师生并承载课程内容。现代远程教育可以有效地发挥各种教育资源的优势,为各 类教育的教育质量提高提供有力支持,为不同的学习对象提供方便的、快捷的、 广泛的教育服务。 现代远程教育的重要特色,是在分离状态下的教师和学生利用现代教育技术 跨越空间进行实时或非实时的交互性教学【4 】。与传统的教学形式相比,它强调的 是教学手段的革命性和学生的个别性自主学习,其教学模式要求开放,即包括教 学观念,教学对象、教学资源、教学方法,教学过程的开放,这就要求教师从 传统的面授为主向以导学为主,对整体教学计划、课件设计进行便于学生自学的 总体构思,其角色便发生了从讲授者向参与者、合作者的转换。其管理模式亦能 真正体现“以学生为中心”的现代管理思想。所以现代远程教育是现代教育思想与 硕士学位论文 第一章绪论 现代教育技术的完美融合: 虽然现代远程教育给教与学概念赋予新的内涵,但也必将随着现代远程教育 的发展,给未来的教育思想、教育内容、教育模式和教育结构带来重大的变化1 5 j 。 而基于i n t e m e t 的各类网络学习支撑平台是实现远程教学的核心因素,是技术与 教育相融合,推动教育变革的有利保证【6 1 。网络学习平台的开发对于高校教学改 革具有重要的应用价值,对于提高远程教育的教学质量具有重要的意义。 基于i n t e m e t 的网络学习支撑平台就是以计算机网络为基础,以学生网上自 主学习为中心,为学生提供学习服务的一个平台系统。一个良好的平台应具备以 下功能: 1 自主进行学习的功能,为学生提供一个自主安排学习的优良环境。包括 注册、登录、选课、自主学习、学习自测等。 2 网上授课功能,为学生在网上得到多媒体教学提供支持,包括作业管理、 辅导答疑等,利用专门为教与学丌发的软件,实现远程交互功能,同时能对知识 要点、参考教材、学习进度等进行更新维护。 3 教学管理功能,供教学管理人员对学生学籍进行管理、登记、注册等教 学管理功能。对学生提供教学安排等功能。 4 学习管理功能,为网上学习管理维护提供支持。包括课程资源的管理、 教师的管理、学生的管理等功能。 尽管网络学习支撑平台的后台内容和数据有很大的变化,但作为整个系统门 户的客户端具有相同或相似的功能,应提供良好的人机界面,方便访问者对后台 海量存储信息的快速检索和访问。网络学习支撑平台提供的学习环境,不仅包含 快速高效的信息传输网络、功能完备的学习管理平台和完善的远程学习支持服务 体系,还应包含丰富的网上教学资源【7 1 。因此,应用于远程教育的网络学习支撑 平台的开发与研究可以为远程教育提供一个资源更丰富,功能更全面的平台系 统,为学生的不断自我学习提供更完善的支持。 1 2 课题的研究现状 基于i n t e r n e t 的网络学习支撑平台,又称网络教育支撑平台,有广义和狭义 之分。广义的网络教育平台既包括支持网络学习的硬件设施、设备,又包括了支 持网络学习的软件系统。也就是说,广义的网络学习平台有两大部分:硬件学习 平台和软件学习平台。狭义的网络学习平台是指建立在i n t e m e t 基础之上,为网 络学习提供全面支持服务的软件系统【8 母l 。一般情况下,我们常说的网络学习平 台在概念上是指狭义的网络学习平台。 基于i n t e m e t 的网络学习支撑平台的开发对促进学生的自我学习有着重要的 2 硕士学位论文第一章绪论 意义。它提供一个不受时空和场所限制的学习环境,学生可以简单方便地通过客 户端进行远程课程的自我学习【1 0 1 。同时,学习支撑平台以计算机网络技术为支 撑,具有时空自由、资源共享、系统开放、便于交互操作等优点,是开放式远程 教育系统必不可少的一部分【i 卜1 2 j 。目前,在国内外有很多组织都已经开展了网 络学习系统的研究和建设工作,特别是在一些著名的大学和实验室中,已经 建好并投入使用的网络学习平台也不少【l 引。 国外应用比较好的有i b ml o t u s 公司开发的l e a r n i n gs p a c e i b m 电子学 习策略的核心技术,作为世界领先的基于w e b 的远程教学平台,它提供了完整的 可扩展的分布式解决方案,是唯一能够在单一平台上提供自学、非同步协作学习 和“虚拟教室”同步交互学习所有3 种在线学习模式的分布式教学平台【1 4 。5 j ;英 属哥伦比亚大学计算机系开发的w e b c t ,它提供了一批支持多媒体学习环境的学 员、教师和技术方面的工具【1 6 】;w b t 系统在1 9 9 5 年开发的t o p c l a s s 是一个综合 的课程稀内容和教室管理系统【1 7 1 ;另外还有b l a c k b o a r d 公司开发的c o u r s e i n f o 1 8 】;m a d d u c k 学 - j 技术公司开发的w 曲c o u r s ei nab o x 以及a s y m m e tf i x 公 司研制的支持网络培训和虚拟学习环境的集成软件t o o l b o o k 等【1 9 】。这些产品都是 从支持多媒体开发或网站建设等方面发展起来的,经过多年的积累,成长为综合 的网络学习支撑平台。 我国的网络学习支撑平台研究起步较晚,但是随着计算机技术、网络技术的 发展和虚拟现实技术、人工智能技术、智能代理技术在教育中的应用,各类新型 学习支持工具、教学系统不断产生,促使网络学习支撑平台朝着多元化的方向发 展【2 0 】。主要有虚拟教室( v i r t u a lc l a s s r o o m ) 、网上协同实验室( c o l l a b o r a t o r y ) 、基 于智能代理的网络学习系统等【2 1 1 。同时,网络学习支撑平台在原有集成性教育 支撑平台系统的基础上,根据教育教学工作的需要形成了一系列具有针对性的产 品,如校园教育局行政管理系统、校园图书馆管理系统、资源库管理系统、分 布式资源网、i t s 技能考试系统、编程语言自我学习系统等产品。 文献 2 2 】给出了一种基于网络的j a v a 语言学习支撑平台,该系统是一个基于 w e b 系统,采用互联网技术,为教师与学生提供交互式的j a v a 语言远程学习系统。 该平台可以为学生提供一个编辑、编译、测试和调试的环境,可以让学生在网络 上自我课程的选择,进行自我j a v a 编程语言的实践练习。同时,教师可以通过该 系统了解学生的学习进度,进行在线辅导工作。文献 2 3 2 7 介绍了基于i n t e m e t 的虚拟实验室平台,该系统以j a v a a p p l e t 为客户端,以j a v a b e a n 形式实现实验组 件,通过x m l 描述应用和实验数据。该实验室为用户提供了各种仪器设备,实 现可视化定制实验流程的功能,具有组件重用、平台独立、可扩充性等特点。文 献 2 8 】提出了一种基于网络的虚拟学习实验室平台。该平台是一个分布式系统, 3 硕士学位论文第一章绪论 用于学生的远程培训与学习,能让学生得到实时更新的学习资料与良好的学习平 厶 口。 文献 2 9 】描述了一种基于i n t e r n e t 的编程虚拟实验室的设计与实现。该系统集 合了众多的互联网协议,实现了实验室的资源共享。学生可以根据不同需求,通 过网络远程连接实验室服务器,下载不同的软件包进行编程实践学习,也为网络 学院的网上远程教学提供了有效的帮助。文献【3 0 】描述了一种应用于计算机编程 的交互式学习支撑平台。通过这个平台,学生可以进行真实的编程练习,并能得 到有效的编译错误帮助,也可以和教师端进行远程交互,为学生自我学习编程语 言提供了一个友好的环境。 1 3 课题的研究目标 现有的网络学习支撑平台,尤其是各类编程语言学习支撑平台基本都针对特 定课程实现了交互性、开放性和实时性。学生可以通过学习平台进行程序的编辑、 编译和运行。但在远程教育中,只提供了简单的编译运行环境是不够的。学生会 遇到众多的编译错误和逻辑错误,现有的任何平台都没有办法提供自动有效的帮 助,尤其是遇到具有较高隐蔽性的逻辑错误时,由于个人思维的局限性,很难被 发现和排除。除非学生拥有丰富编程经验,或者直接和教师面对面交流,但这点 对于应用于网络教学的自我学习平台是不现实的,何况他们的用户群基本都是一 群初学者。 而c 语言是目前世界上流行,使用最广泛的高级程序设计语言【3 1 1 。为了加强 编程语言c 语言在远程教育中的实践环节,培养学生编程思想的完善性,本课题 研究利用面向对象技术,设计并实现了基于i n t e m e t 的c 语言学习支撑平台。基本 的设计目标是: 1 提供功能强大的逻辑检测帮助服务。结合庞大的测试用例库,对用户编 写的程序进行测试,检测是否达到所有的功能,是否存在逻辑错误,并给出相应 的提示信息。 2 提供完善的编译检错服务。结合c 语言经典编译器和平台提供的各类算 法,正确定位编译错误信息,针对不同的错误信息给出相应的分析结果,摒除一 些关联错误信息。 3 利用面向对象的设计思想使平台具有很好的扩展性,各类编译错误检测 算法可以方便地引入平台,试题库与测试用例库都能进行实时的更新与补充。 4 友好真实的编程环境,丰富的c 语言学习资料和工具,让c 语言学习者从 众多的编程练习中形成良好的编程习惯和编程思想,提高学习者分析问题和解决 问题的实践动手能力。 4 硕士学位论文第一章绪论 1 4 论文的组织结构 论文共分为六章。 第一章绪论。这一章主要介绍远程教育中基于i n t e m e t 网络学习支撑平台的 研究背景,介绍当前网络学习支撑平台在国内外的研究现状。最后,提出基于 i n t e m e t 的c 语言学习支撑平台系统的研究目标。 第二章系统的需求分析和总体设计。这一章主要在分析基于i n t e r n e t 的c 语 言学习支撑平台系统特点的基础上,拟定了c 语言学习支撑平台的总体设计方 案,提出系统的架构和功能模块划分,最后对开发过程中的运行环境和主要开发 工具进行了简单介绍。 第三章系统主要模块的设计与实现。这一章主要介绍平台主要功能模块 在开发过程中的详细设计和实现方法。分别从登录、编译检错、逻辑检测和 远程管理三个方面对系统的开发实现做重点阐述。 第四章系统的关键技术。这一章对平台实现过程中使用的关键技术进行了详 细的介绍,包括重定向技术、编译原理技术、多线程和网络编程技术等。通过采 用这些技术,很好地解决了服务器端和客户端在需求分析阶段所要求解决的问 题,为平台的实现提供了技术支持。 第五章系统运行实例。这一章以具体的c 语言编程题为例介绍了利用平 台提供的编译检错和逻辑检测功能进行程序的错误分析和处理的具体操作过 程。 第六章结束语。对所做的c 语言学习支撑平台的设计与开发工作进行了总 结,并阐述了将来进一步的扩展与完善工作。 5 硕士学位论文第二章系统的需求分析和总体设计 第二章系统的需求分析和总体设计 远程教育是现代信息技术应用于教育化生产的新的教育形式,实施远程教育 的关键是创设能够促进学习者主动学习的网络环境,而学习者在网络学习环境中 的学习活动离不开网络学习支撑平台。从编程语言的学习角度出发,培养学生的 实践动手能力和设计创新能力是编程学习的关键,而好的编程思想来源于基础理 论的学习和丰富的编程实践。因此,基于i n t e m e t 的c 语言学习支撑平台的研究 对远程教育中编程语言自我学习的发展具有重要意义。 2 1 系统需求分析 c 语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于 调试和维护。c 语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数 据类型,便于实现各类复杂的数据结构p 2 1 。它还可以直接访问内存的物理地址, 进行位( b i t ) 一级的操作。由于c 语言实现了对硬件的编程操作,因此c 语言集高 级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件 的开发。此外,c 语言还具有效率高,可移植性强等特点。同时,c 是c + + 的基 础,c + + 语言和c 语言在很多方面是兼容的。因此,掌握了c 语言,再进一步学 习c + + 就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目 的。所以如何提高c 语言教学质量,让学生尽快掌握这门语言,值得探讨与研 究。 尤其在网络教学中,教师无法面对面辅导学生,学生主要以自学为主。编程 中遇到的问题和和错误,都要靠自己去解决和排除。然而,对于一个c 语言初 学者来说,编程思路模糊,实践编程经验缺乏,众多编译错误及逻辑错误容易导 致学习积极性下降,尤其是逻辑错误,隐蔽性极强,经常让人不知如何下手解决。 而对于编程语言自我学习系统,能否给学生提供一个功能强大的帮助系统,能否 使用户体验到编程的乐趣与成就感是非常重要的。 c 语言编译系统比较多,但是最经典的就是t u r b oc2 0 。作为经典的t c 编 译器,虽然存在很多优点,但是也存在一些不足。一方面,从编译错误角度来看, 由于c 语言在编程中的关联性,往往容易使编译器产生众多的关联编译错误信 息。比如,有时候可能只是掉了一个小小的“;”,但是编译器却可能因为关联性 产生了五条、六条,甚至十多条的错误信息。另一方面,由于c 语言的模块性 特点,容易导致外部错误屏蔽内部错误的特点,使用户不能及时发现所有的错误 信息。这些因素都是c 语言学习者在编程实践中遇到的棘手问题,所以,如何 6 硕士学位论文第二章系统的需求分析和总体设计 找到一种好的途径对t u r b oc2 0 作很好的补充,使用户在编程实践中感觉犹如 一位老师在身边对他进行亲自指导是基于i n t e r n e t 的c 语言学习支撑平台必需要 实现的一个功能。 另一方面,从逻辑错误角度来看,逻辑错误是指妨碍程序执行用户希望它执 行的操作的错误。代码在编译和运行时可能都没有错误,但某个操作的结果却可 能不是期望的结果。所以,逻辑错误是不能被编译器发现的一种隐蔽错误,是最 难查找和修复的错误。目前世界上虽有一些支撑平台提供了c 语言网络教学功 能,但是没有任何一个平台为学习者提供逻辑检测服务,使得c 语言网络教学 受到一定限制。基于i n t e r n e t 的c 语言学习支撑平台应该弥补这一方面的缺失, 通过庞大的测试用例帮助用户发现和排除逻辑错误,检测用户的程序是否具备功 能完整性。 基于i n t e m e t 的c 语言学习支撑平台除了要考虑到以上两个功能外,作为一 个网络学习支撑平台,还应该具有人机交互性、试题库和测试用例库的可扩充性。 在该系统中,采用c s 模式开发,由于客户端实现与服务器的直接相连,没有中 间环节,因此响应速度快。操作界面友好,可以充分满足客户自我学习的个性化 要求。根据网络特性,用户可以在任何时间、任何地点、从任何知识点开始学习 c 语言,在学习模式上直接体现了学习和主动学习的特点,也满足了发展中的现 代教育和编程语言自我学习的基本要求。整个平台犹如一个专家系统,指点用户 快速学习和掌握c 语言编程思想,形成良好编程习惯。 2 2 系统的架构与功能 基于i n t e m e t 的c 语言学习支撑平台的系统架构如图2 1 所示。系统采用c s 模式开发,客户端( c l i e n t s ) 和服务端( s e r v e r s ) 通过互联网进行通信连接。基于n e t 的客户端程序主要提供c 语言学习的编程环境和实战练习服务。用户可以通过 友好的客户端界面进入全真的t u r b oc2 0 编程环境,随意选择试题进行编程实 战练习,平台可以帮助用户有效的解决编译错误问题。 基于n e t 的服务器端程序主要提供用户管理服务、数据库管理、文件服务 和逻辑检测服务。负责接收与处理客户端传来的c 源程序,为用户提供实时的 逻辑检测反馈信息。同时,服务器端包含三个数据库:用户数据库、用例数据库 和试题数据库。用户数据库用于用户的管理,用例数据库用于逻辑检测服务,试 题数据库用于存储各类试题。三个数据库统一由基于n e t 的数据库操作程序进 行规范管理,并可通过远端的管理端界面由管理员对数据进行更新与删除,从而 保证系统的可扩充性和实时更新性。 7 硕:。 :学位论文第二章系统的需求分析和总体设计 图2 1 基于i n t e r n e t 的c 语言学习支撑平台的系统架构 平台的功能模块如图2 2 所示。客户端主要包括四个功能模块:用户登陆、 编译检错、逻辑检测和t c 编程。服务器端主要包括三个功能模块:用户管理、 数据库管理和逻辑检检测服务。其中,编译检错和逻辑检测是本系统最主要的两 大功能模块。编译检错模块主要为用户提供全真的编程环境和准确简洁的编译错 误帮助。逻辑检测模块主要对客户端提交的c 语言源文件进行代码安全性检测 和编译运行,利用重定向技术和数据库管理技术对程序进行逻辑检测,最后将检 测分析的结果反馈给客户端。 - 用j ! i 窨蚤越排p - 一 卜 c) 用户管理模块,口d 、l ,、 提交信息夕 jr 逻辑检测模块 = :数据库管理模块 j r 刀k锣蟹枪涮服备檬 编译检错模块 反馈信息一 :】。一五一 yr 职 1 n t c 编程模其它辅助其它辅助服务模 块模块块 客户端功能模块 服务端功能模块 图2 - 2 基于i n t e r n e t 的c 语言学习支撑平台的系统功能模块 用户可通过客户端学习c 语占相关知识,在t u r b oc2 0 编程环境中进行程 序编写,若遇到解决不了的编译错误,通过客户端提供的编译错误帮助功能,得 到修正编译错误的提示信息,以此改f 程序中的语法错误。待程序运行成功后, 硕士学位论文第二章系统的需求分析和总体设计 用户可通过互联网将源程序代码提交到服务器端以进行逻辑检测,判断其程序的 功能是否达到所需的要求。最后,根据反馈信息,对原有程序进行相应的修正, 达到编译与功能的双重正确性。 同时,为了方便系统的扩充和维护管理,系统还设置了远程管理端,对系统 的用户、试题、测试用例等进行实时的管理和维护。管理员通过网络就可以对系 统的服务器端进行有效的操控。 2 3 系统的运行环境 系统运行环境包括系统的客户端运行环境和服务器端运行环境。客户端需要 具有一个n e t 运行环境,服务器端需提供s q ls e r v e r 服务器。下面针对这两个 部分具体介绍系统运行环境。 2 3 1 客户端 基于i n t e m e t 的c 语言学习支撑平台的客户端基于n e t 平台,采用c # 语 言开发。c 群是一种现代的,类型安全的,兼容性强,面向对象的编程语言,它 兼有c + + 强大的语言功能和v b 简单快速的特点,具有完全面向n e t 框架的设 计【3 3 1 。处理机包括i n t e lx 8 6 系列,基于r i s c 的p o w e rp c 等。操作系统如微软 的w i n d o w s 系列,如w i n d o w s9 8 、w i n d o w sm e 、w i n d o w sn t 、w i n d o w s2 0 0 0 系列、s u n 公司的s o l a r i s 、苹果公司的m a c i n t o s h 以及l i n u x 操作系统等。 用户可以通过登录界面进入基于i n t e r n e t 的c 语言学习支撑平台系统,但是 成功运行客户端需要一个n e t 运行环境的支持。系统客户端是一个针对n e t 框 架1 1 版编写的应用程序,它要求在运行该应用程序的计算机上安装n e t 框架 可重新分发程序包1 1 版。n e t 框架可重新分发程序包是一个独立的可执行文 件d o t n e t f x e x c ,客户端使用它来部署n e t 框架应用程序。 2 3 2 服务器端 基于i n t e r n e t 的c 语言学习支撑平台系统的服务器端需提供s q l s e r v e r 服务 器。它可以安装在w i n d o w sx p 、w i n d o w s n t 、w i n d o w s2 0 0 0 、w i n d o w ss e r v e r 2 0 0 3 系列的操作系统上,如果安装的是s q ls e r v e r 的企业版和标准版,则要求 操作系统必须为:w i n d o w ss e r v e r2 0 0 3 、w i n d o w s2 0 0 0s e r v e r 、w i n d o w s2 0 0 0 a d v a n c e ds e r v e r 、w i n d o w s2 0 0 0d a t a c e n t e rs e r v e r 、m i c r o s o f tw i n d o w sn ts e r v e r 4 0s e r v i c ep a c k5 ( 或更高版本) 、w i n d o w sn ts e r v e r4 0s p 5 或更高版本( 企业 版) 。如果安装的是企业评估版和开发人员版,则操作系统的要求为:w i n d o w sx p p r o f e s s i o n a l ,w i n d o w sx ph o m ee d i t i o n ,w i n d o w s2 0 0 0p r o f e s s i o n a l 、w i n d o w sn t w o r k s t o l o n4 0 ( 带s p 5 ) 或更高版本。 9 硕士学位论文第二章系统的需求分析和总体设计 2 4 系统的主要开发工具 系统设计、分析、开发和发布主要使用到以下的编程语言以及相应的开发工 具和软件包。实验平台采用c s 模式结构开发,使用m i c r o s o f tv i s u a ls t u d i o2 0 0 5 作为软件开发的集成开发环境,采用c # 语言进行开发;利用s q ls e r v e r2 0 0 0 作为后台数据库开发工具。利用d o tn e tf r a m e w o r k2 0 提供客户端的n e t 运行 环境。下面将对实验平台所使用的开发工具和软件包作具体介绍。 1 m i c r o s o f tv i s u a ls t u d i o2 0 0 5 m i c r o s o f tv i s u a ls t u d i o2 0 0 5 是微软推出的应用于n e t2 0 开发的首选工具, 功能强大而且方便易用。它是一套完整的开发工具,用于生成桌面应用程序、 a s pw e b 应用程序、x m lw e bs e r v i c e s 移动应用程序。v i s u a lc 撑n e t 、 v i s u a l b a s i c n e t 、v i s u a lc + + n e t 和v i s u a lj j f j n e t 全都使用相同的集成开发环境 f i d e ) ,该环境允许它们共享工具并有助于创建混合语言解决方案。 作为m i c r o s o f tv i s u a ls t u d i o2 0 0 5 中一部分的编程语言c 群( 发音为 “c s h a r p ”) ,是一种先进的面向对象的语言,它既保持了c + + 中熟悉的语法, 并且还包含了大量的高效代码和面向对象特性。它不仅能用于w e b 服务程序的 开发,并且还能开发强大的系统级程序。通过m i c r o s o f tv i s u a ls t u d i o2 0 0 5 这个 开发平台c 群可以让开发人员快速的建立大范围的基于m s 网络平台的应用,并 且提供大量的开发工具和服务帮助开发人员开发基于计算和通信的各种应用。 2 s q ls e r v e r2 0 0 0 s q ls e r v e r2 0 0 0 是m i c r o s o f t 公司推出的s q ls e r v e r 数据库管理系统的开 发工具。该工具继承了s q ls e r v e r7 0 版本的优点,同时又比它增加了许多更先 进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优剧3 4 】。可跨 越从运行m i c r o s o f tw i n d o w s9 8 的膝上型电脑,到运行m i c r o s o f tw i n d o w s2 0 0 0 的大型多处理器的服务器等多种平台使用。 另外,s q l 是结构化查询语言( s t r u c t u r e dq u e r yl a n g u a g e ) 的缩写,是一门 a n s i 的标准计算机语言,用来访问和操作数据库系统。通过s q ls e r v e r2 0 0 0 这个开发工具,s q l 语言可以对数据库进行复杂的操作,用于取回和更新数据 库中的数据。 3 d o tn e tf r a m e w o r k2 0 d o tn e tf r a m e w o r k2 0 是一个微软发布的为运行应用程序提供运行环境的 一个工具。它可以提供一个一致的面向对象的编程环境,无论对象代码是在本地 存储和执行,还是在本地执行但在i n t e m e t 上分布,或者是在远程执行的,提供 一个将软件部署和版本控制冲突最小化的代码执行环到3 5 】。同时,它也提供一个 可以消除脚本环境或解释环境性能问题的代码执行环境,使开发人员在面对类型 1 0 硕士学位论文第二章系统的需求分析和总体设计 大不相同的应用程序( 如基于w i n d o w s 的应用程序和基于w e b 的应用程序) 时 保持一致开发。 2 5 本章小结 本章首先根据一般网络学习平台中针对编程语言学习的基本功能和c 语言 学习本身的特点,分析了该系统的功能需求和设计要点;然后介绍了系统总体设 计的系统架构以及其功能模块的划分;最后简单的介绍了系统的运行环境及其开 发工具,使读者对基于i n t e r n e t 的c 语言学习支撑平台有了一个直观的宏观认识。 硕士学位论文 第三章系统主要模块的设计与实现 第三章系统主要模块的设计与实现 基于i n t e m e t 的c 语言学习支撑平台系统基于n e t 平台,实现了与经典c 语言编译器的无缝交互功能,提供了更加准确的编译检错和逻辑检测功能,弥补 了现有支撑平台无法进行功能检错的不足。系统提供可视化的远程管理界面,实 现试题库和测试用例库的实时更新与完善功能;平台提供统一的外部接口供编译 检错算法的不断扩充。本章将针对平台提供的主要模块登录、编译检错、逻 辑检测和远程管理端的设计与实现进行详细介绍。 3 1 登录模块的设计与实现 登录模块是基于i n t e m e t 的c 语言支撑平台系统的主要模块之一,是系统安 全性和隐私信息的保障。本系统登陆模块的功能结构如图3 1 所示。它主要由用 户注册、用户登陆、系统设置、检测更新四个子模块组成。 图3 - 1 登陆模块的功能结构图 用户注册子模块主要实现新用户注册功能。本平台是针对网络学习中的c 语言学习者,具有一定的用户群,同时,考虑到系统的安全性,基于i n t e r n e t 的 c 语言支撑平台只对已注册用户开放使用权。新用户只有通过注册子模块提交个 人信息,再经管理员审核通过后才能使用平台的各项功能。 用户登录子系统主要实现系统身份和权限的判定。对登录系统来说,系统身 份总共有5 种:新用户、待审核用户、普通用户、教师和管理员。其中,新用户 和待审核用户都无法成功登录系统。普通用户、教师和管理员是系统的三类合法 用户,权限依次增大。提交用户名和密码后,登录模块会进行正确性和身份判断, 然后根据不同权限登录到不同操作界面。普通用户进入用户界面,教师进入教师 管理界面,管理员进入远程管理界面。 系统设置子模块主要为用户提供网络参数设置和数据库参数设置。用户登录 的实现依赖于客户端与服务器端通信的正常进行。当服务器地址发生改变时,网 络通信的参数设置和数据库的参数设置都会改变,用户必须及时更新相应参数才 1 2 硕士学位论文 第三章系统主要模块的设计与实现 能保证客户端和服务器端的正常连接通信,否则,客户端将无法正常运行。系统 设置子模块可以让用户通过可视化界面方便地修改网络和数据库参数,完成系统 重新配置操作。 系统设置子模块主要通过v i s u a lc 撑中的配置文件实现。此配置文件允许任 意添加各种数据类型节点,及其为这些节点赋属性值。平台通过后台调用可获取 此文件中各个节点的属性值,并可将这些值赋给与配置参数相关的各个变量。配 置文件实际上是一个x m l 文档,所以系统可利用c 撑的x m l d o c u m e n t 类对其进 行分析。当用户通过设置界面修改了各参数值时,系统利用按钮响应对配置文件 的各个节点相应属性进行替换修改,动态完成配置文件的重写,实现系统的网络 和数据库参数重新设置操作。 检测更新子模块主要实现客户端试题数据的自动更新操作。试题数据的更新 分为手动和自动两种方式。手动更新是用户登陆后通过用户界面的“更新试题 菜单项进行,而自动更新则依赖于用户登录模块实现。用户可以根据需要设置更 新的方式。登录模块的检测更新是一种自动更新操作,依附于登录请求自动向服 务器端发送更新试题数据操作,其操作流程如图3 2 所示。 图3 - 2 检测更新操作流程图 1 3 硕士学位论文第三章系统主要模块的设计与实现 客户端和服务器端都有一个用于保存当前数据版本的系统升级文件,每进行 一次更新升级操作,版本号会自动增1 。当用户发送登录请求时,客户端也同时 向服务器端发送更新请求,并将当前客户端的试题数据版本号发送到服务器端。 服务器端收到请求后,提取其版本号信息,与当前服务器端的版本号相比较。若 发现当前版本号高于客户端的版本号,则说明系统的试题数据已经进行更新操 作,服务器将接受客户端的更新请求,通过网络发送新的试题数据,完成自动更 新操作,同时,客户端的试题数据版本号自动加1 。否则,说明客户端试题数据 已经为最新版本,服务器将拒绝更新请求,直接返回一个提示信息。 登录模块四个子功能的实现不仅为用户提供了方便的用户群管理,使系统具 有一定的安全性,也保证了试题的实时更新操作和c s 结构中系统的灵活配置, 使服务器地址的改变不影响客户端的正常运行。 3 2 编译检错模块的设计与实现 编译检错模块是基于i n t e m e t 的c 语言支撑平台系统客户端的主要功能模 块,能为用户修正编程中遇到的编译错误提供有效的支持。编译检错功能的实现 主要从两个方面入手,一方面是对t c 编译错误进行捕获和解析,另一方面是通 过平台自身提供的各类算法以及得到的t c 错误,直接对源程序进行编译错误检 测分析,即系统推断错误分析。 3 2 1t c 编译检错解析的设计与实现 t c 编译错误解析子模块主要负责捕获c 语言编译器t u r b oc2 0 产生的编译 错误信息,对产生的错误进行逐条解读与分析,推断出错误引起的可能原因。系 统通过n e t 平台提供的p r o c e s s 类,结合d o s 操作命令,与t u r b oc2 0 进行交 互。p r o c e s s 类能访问正在计算机上运行的各种进程,是非常有用的启动、停止、 控制和监视应用程序等任务的工具。系统通过这个类,调用c m d e x e ,产生与d o s 的接口,再利用d o s 命令操作t u r b oc2 0 ,对其编译错误进行重定向操作。其 主要代码如下: p r i v a t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 昔阳公务员面试题及答案
- 朝阳音乐基础知识培训课件
- 朝阳厨卫装修知识培训课件
- 高水头混凝土挑流鼻坎精细化施工技术及其应用研究
- 高中生物理概念明晰的障碍成因与干预研究
- 解剖课程思政课件
- 2025年互联网金融服务平台品牌建设与影响力提升策略
- 幼儿园火灾隐患攻坚总结
- 自考专业(公共关系)试题预测试卷(各地真题)附答案详解
- 2025年职业技能鉴定考试(考评员)经典试题及答案-全国职业技能鉴定
- 2025年中级会计职称考试经济法冲刺试题及答案
- 乐器供销合同范本
- 2025年辽宁省中考生物学试卷真题附答案
- 《法律职业伦理(第3版)》全套教学课件
- 2025年青岛市崂山旅游集团招聘考试笔试试题
- 2025年秋季新学期全体中层干部会议校长讲话:在挑战中谋突破于坚实处启新篇
- 2025年幼儿园保育员考试试题(附答案)
- 2025年上半年中国铁路兰州局集团有限公司校招笔试题带答案
- 2025年执业医师考试全真试题及答案
- GA 1808-2022军工单位反恐怖防范要求
- DB14∕T 1131-2015 麦茬复播花生栽培技术规程
评论
0/150
提交评论