实验CAI系统设计与实现.docx
《实验CAI系统设计与实现.docx》由会员分享,可在线阅读,更多相关《实验CAI系统设计与实现.docx(52页珍藏版)》请在冰豆网上搜索。
实验CAI系统设计与实现
分类号学号J200762802
学校代码10487密级
硕士学位论文
实验CAI系统的设计与实现
学位申请人
:
翁炎泉
学科专业
:
软件工程
指导教师
:
高建生副教授
答辩日期
:
2009.10
AThesisSubmittedinPartialFulfillmentoftheRequirements
fortheDegreeofMasterofEngineering
DesignandImplementationof
ExperimentCAISystem
Candidate:
WengYanquan
Major:
SoftwareEngineering
Supervisor:
Ass.Prof.GaoJiansheng
HuazhongUniversityofScience&Technology
Wuhan430074,P.R.China
October,2009
独创性声明
本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
学位论文作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:
学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本论文属于
保密□,在年解密后适用本授权书。
不保密□。
(请在以上方框内打“√”)
学位论文作者签名:
指导教师签名:
日期:
年月日日期:
年月日
摘要
随着现代社会信息技术日新月异的发展,互联网技术、信息处理技术、数据库技术不断改进完善,高校的计算机程序设计实验教学也逐渐向网络化发展。
传统的程序设计实验教学方法存在互动性不够、针对性不强、效率低、学生的实际动手能力并没有在实验后得到提高、教师辅导学生上实验课程辛苦等问题,为了适应信息时代的发展,减轻教师实验教学的工作量,提高课程教育质量,实现现代化大学的教学运行机制和高质量的办学水平,体现现代计算机中心的教学特色,并充分利用网络资源开展教学,实验CAI系统的开发很有必要。
实验CAI系统作为新型的实验教学模式,它具有对于教育、教学过程来说极为宝贵的特性,可以为新型实验教学模式的建构提供理想的环境。
由于本系统基于局域网,通过这种新的模式,为各大学计算机中心营造一种新的程序设计实验教学环境,使教学突破时空限制,提高教师的工作效率和学校的办学水平,使教师和学生可以在实验教学过程中通过网络进行学习与交流,最终达到提高学生的实际动手能力的目的。
论文讨论了实验CAI系统的国内外发展状况。
以计算机网络和数据库理论为基础,详细地介绍了UML技术在系统中的应用,并在此基础上进行了各模块的需求分析和建模。
在系统体系结构方面,论文深入地分析了三层C/S模式的优势,针对本系统的应用目标,进行了合理有效的系统结构设计,合理有序地完成了实验CAI系统的设计与实现。
本系统的出现将为高校计算机程序设计实验教学提供一个高效化、智能化的平台,通过良好的操作界面,为教师、学生服务,具有广阔的应用前景。
关键词:
计算机辅助教学、三层C/S、实验教学、局域网
Abstract
Withthedevelopmentofsocialcommunicationtechnology,theinternettechnology,informationprocessing,databasetechnologyhavebeengraduallypromotingandexperimentalteachingmethodshavecombinedwiththeInternet.Theexperimentalteachingwayoftraditionalprocessdesignexistsmanyshortcomings,suchasalackofinteractivity,weakpertinenceandlowefficiency.Studentscannotmakebigprogressinoperationaftertheexperiments,andteacherscannoteasilycoachstudentsinexperimentalpractice.Forthepurposeofadaptingtotheinformationage,relievingtheteachers'workload,improvingtheteachingqualityandimplementingthemodernizeduniversityteachingsystemanditshigh-qualitymanagementlevel,embodyingtheteachingfeatureofourmoderncomputercentre,andwellutilizingthewebsiteresourceforteaching,whichisnecessaryforustoexploittheExperimentCAISystem.
Asanewtypeofexperimentalteachingmode,ExperimentalCAISystemhasextremelyvaluablecharacteristicsbothforeducationandteachingprocessandcanalsoprovideanidealenvironmentfortheconstructionofthisnewmode.BasedonLAN,thesystemcreatesanewprogramexperimentalteachingenvironmentwiththenewmodeineveryuniversity’scomputercenters.Withthissystem,wecanbreakthroughthelimitedspace-timebyteaching,increaseteachers’workingefficiencyandimprovethewayofrunningschools,andmakeitavailableforteachersandstudentstogetaccesstostudyandcommunicatebyInternetduringtheexperimentalteachingprocess,thustoreachthegoalofimprovingstudents’operatingabilities.
ThethesisisfocusedonthediscussionofthedevelopmentofexperimentalCAIbothathomeandaboard.Basedontheinternetanddatabasetheory,itgivesanoverallintroductiontotheapplicationofUMLtechnologysystem,analyzetheneedsofthemodesandbuildnewmodes.Inthesystemconstructionaspect,thisessaydeeplydemonstratestheadvantagesofthree-tierC/Smode.Asfortheapplicationgoal,itgivesareasonablesystemconstructiondesigninaneffectivewaywhichrealizestheexperimentalCAIsystemdesign.
Thissystemwillofferahigheffect,intelligentizedplatformforuniversities’computerprocessingdesignandhasaboardviewpointinapplianceforteachersandstudentsthroughthewell-designedoperationform.
Thekeyword:
CAI、Three-TierClient/ServerStructure、EmpiricalTeaching、LAN
1.绪论
随着计算机技术、网络技术日新月异的发展,我们已进入网络化时代,网络给人们的生活带来了很大的便利,也给高校程序设计实验课程教学的改革提供了前所未有的机遇。
当前高校实验教学的模式已不能保证学生真正得到锻炼,通过建设实验CAI系统,使教师和学生拥有一个实验教学的平台,方便信息发布、信息交流和信息共享,使学生得到更多的锻炼,最终提高学生的实际动手能力。
1.1实验CAI系统开发背景
CAI(ComputerAided-Instruction),计算机辅助教学,在国内外都得到了很大的发展,出现了许多类型的CAI,比如:
多媒体CAI、流媒体CAI、实验CAI等。
CAI是计算机技术和网络技术发展的产物,在国外,实验CAI系统技术发展较国内迅速,可以说是各国技术争相发展,以美国、日本为代表的实验CAI系统更为突出,其功能比较完善。
在国内,近些年来对实验CAI系统的研究逐步增多,国内很多大学都有自己的研究项目,比如浙江科技学院的VB实验CAI系统等,但由于起步较晚,技术、功能完善等还有待加强。
1.2实验CAI系统开发目的
为了提高实验教学的工作效率,针对高校当前实验课程中存在的不足,学校实验教学有必要采用一种新的教学模式,即实验CAI系统。
它的出现将使教师和学生可以在系统平台上完成程序设计实验,进行相关的测试以及在实验教学过程中通过网络通讯进行学习与交流,方便教师对实验信息的及时更新,从而使学生的实际动手能力能够得到真正的提高。
本系统主要目标是学生可在本系统上进行实验和测试,还可以利用本系统与教师及时进行沟通,使得教师不用再因为学生的提问而东奔西跑!
从而提高实验课时间的利用率。
1.3CAI系统国内外现状研究
CAI(ComputerAided-Instruction),计算机辅助教学,既是一项重要的教育技术,又代表着一个十分广阔的计算机应用领域,最早开发的计算机辅助教学系统是1958年美国IBM公司的沃斯顿研究所研制的。
进入90年代后,随着一个网络化和多媒体化时代的到来,特别是“信息化教育”的提出,CAI的概念和技术有了很大的发展。
其基本特点是“整合”,就是综合应用各方面的研究与实践成果,从而产生符合信息化教育要求的新CAI系统。
我国的CAI起步较晚,直到上个世纪80年代才被引入,但发展迅速。
到了90年代,计算机已处于具有各种资料库、工具平台的背景状态,进入了整合阶段。
人们开始思考在教育中如何利用计算机优化课堂教学,即教育与技术的整合。
90年代中期以后,随着超文本技术的广泛应用,教学课件由特定的、线性的、封闭结构特征转向非特定、非线性、开放结构的特征,人们努力寻求一种灵活的、可分可合的教学软件。
目前我国CAI领域技术还比西方国家落后,因此需要计算机工作者投入更多精力,为高校教学带来更多的方便[1]。
1.4本论文的主要研究工作
在此开发的实验CAI系统,旨在探索一种以互联网为基础的实验教学模式。
通过这种新的模式,为高校计算机中心营造一种新的实验教学环境,使教学突破时空限制,提高教师的工作效率和高校的办学水平,使教师和学生可以在实验教学过程中通过网络进行学习与交流,最终达到提高学生的实际动手能力的目的。
本文分为六个部分,具体结构为:
第一章主要分析了实验CAI系统的现状,发现了当前实验教学的不足之处,在此基础上提出建设实验CAI系统并阐明了建立实验CAI系统的意义。
第二章对相关关键技术进行了介绍和分析。
详细介绍了UML的定义、目标、组成和建模工具;描述了VB技术及其特点。
第三章介绍了系统主要功能模块的设计。
在前面几章的基础上对实验CAI系统进行详细的设计。
第四章介绍了系统主要功能模块的实现。
在前面几章的基础上对实验CAI系统进行详细的实现。
第五章介绍了系统的功能测试,采用了黑盒测试的方法。
第六章对本文的研究工作进行了总结和展望,以及指出了系统需要进一步完善的环节。
2.相关关键技术分析
此实验CAI系统是基于局域网,在三层C/S模式的基础上进行架构,在设计与实现的过程中使用了相关的技术,下面就对这些技术进行介绍与分析。
2.1UML
UML统一建模语言(UnifiedModelingLanguage)是Rational软件公司世界级知名专家GradyBooch,IvarJacobson和JimRumbaugh三人联合开发成功的。
开发过程中,得到了其他一些学术领先的方法论学者、软件厂商及众多用户的帮助和支持。
该语言是系统开发中一种普遍适用的、统一的、功能强大的图形建模语一言,是一种对软件密集型系统进行可视化、详述、构造和文档化的建模语言,主要适用于分析与设计阶段的建模工作。
UML的表达能力丰富,因为它从各种方法中吸取了大量的概念,并在“UML语义”、“UML表示法指南”、“对象约束语言规约”等UML文献中对这些概念的语义、图形表示法和使用规则作了完整而详细的定义。
可以说,UML对系统模型的表达能力超出了以往任何一种OOAD方法。
作为一种标准的图形化建模语言,它是理想的需求描述和建模分析工具,对信息系统大规模的、复杂的、不断变化的用户需求有着很强的控制力,为解决人员交流和通信障碍提供了有利的工具。
人们可以采用各种方法来使用UML,而无论方法如何变化,其基础都是UML的图,这也是UML的最终用途为不同领域的人们提供统一的交流标准。
UML目前已经获得了工业界、科技界和应用界的广泛支持,成为可视化建模语言事实上的工业标准。
它的主要作用是帮助用户对软件系统进行面向对象的描述和建模,可以描述整个软件开发过程从需求分析到实现和测试的全过程。
UML可创建系统的静态结构和动态行为结构等多种结构模型,具有可扩展性和通用性,适合为各种多变的系统建模[2]。
2.1.1UML的定义
UML(统一建模语言)是一种直观化、明确化、构建和文档化软件系统产物的通用可视化语言。
他记录被构建系统的有关决定和理解,可用于对系统的理解、设计、浏览、配置、维护以及信息控制。
UML可以与所有的开发方法、生命阶段、应用领域和媒介同时使用。
2.1.2UML的特点
UML成功的关键在于反映软件开发者各种真实的需要。
UML的发展过程使其具备如下特点,使其得以在许多方面获得软件开发者的青睐,成为先进实用的标准建模语言:
(1)UML统一了Booch、OMT和OOSE等方法中的基本概念。
UML是在Booch、OMT和OOSE等三种方法的基础上发展起来,他们设计方法虽各有特色,但也各有不足之处,而且术语不统一,缺乏共同的标准,常给软件开发人员带来困惑。
因此UML具有表达力更强、更清晰和一致的优点。
它不仅可以应用在更广泛的应用领域,而且也消除了不同方法在表示法和术语上的差异,避免了符号表示和理解上不必要的混乱。
(2)UML还吸取了面向对象技术领域中其他流派的长处,其中也包括非OO方法的影响。
UML也融入了其他面向对象方法的可取之处,也包括非OO方法的影响。
UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。
因此,在UML中汇入了面向对象领域中很多人的思想。
这些思想并不是UML的开发者们发明的,而是开发者们依据最优秀的OO方法和丰富的计算机科学实践经验综合提炼而成的。
(3)UML在演变过程中还提出了一些新的概念。
在UML标准中新加了模板(Stereotypes)、职责(Responsibilities)、扩展机制(Extensibilitymechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns)、合作(Collaborations)、活动图(Activitydiagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Components)等概念。
UML是计算机科学和软件工程领域中各种思想长期渗透结合的产物,因此它的标准更加实用,更能反映开发者的真实需要,也因此成为可视化建模语言事实上的工业标准[3]。
2.1.3UML的组成
客观世界时一个巨大且复杂的系统,为了能从不同的角度考察系统,统一建模语言UML定义了五类共十种模型图。
其中用例图是在需求获取阶段要使用的图,活动图、类图、顺序图是在分析阶段要使用的图,状态图、类图、对象图、协作图是设计阶段要使用的图,当然这种划分不是很绝对的,因为在面向对象的方法中,分析阶段和设计阶段本来就没有明确的界限。
第一类是用例图,它从用户角度描述系统的功能,指出用例、参与者及它们之间的连接关系。
用例通过系统与一个或多个参与者之间的关系描述了与参与者的交互。
参与者可以是人员,也可以是外部计算机系统和外部进程。
第二类是静态图,包括类图、对象图和包图。
其中类图用于定义系统中的类,描述类之间的联系以及类的内部结构,即类的属性和操作。
因此类图是描述系统中类的静态结构及它们之间的静态关系在系统的整个生命周期都是有效的。
对象图所使用的表示符号与类图几乎完全相同。
它们的不同点在于对象图只是显示类的对象实例,而不是实际的类。
由于对象存在生命周期,因此对象图只能在系统的某一时间段存在。
包图由包或类组成,主要表示包与包、包与类之间的关系,用于描述系统的分层结构。
第三类是行为图,描述系统的动态模型和组成对象间的交互关系。
一种是状态图,描述类的对象的所有可能的状态以及事件发生时状态的转移条件。
通常,状态图是对类图的补充。
实际上我们不需要为所有的类绘制状态图,而只需要为那些有多个状态、并且其行为受外界环境影响会发生改变的类绘制状态图。
另一种是活动图,它本质上是一种流程图,描述需要做的活动、执行这些活动的顺序(多为并行的)以及工作流(完成工作所需要的步骤),描述满足用例要求所要进行的活动以及活动间的约束关系。
用活动图可以方便地表示并行活动。
第四类是交互图,描述对象间的交互关系。
一种是顺序图,用以显示对象间的动态合作关系,它强调对象消息发送的先后次序,阐明对象之间的交互过程。
另一种是合作图。
合作图与顺序图类似,显示对象间的动态合作关系。
除了显示信息交换外,合作图还显示对象以及它们之间的关系。
如果时间或顺序是需要重点强调的方面,那么选择顺序图,如果通信关系是需要重点强调的方面,那么选择合作图。
第五类是实现图,包括构件图和配置图。
构件图描述代码部件的物理结构及各部件之间的依赖关系。
一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。
构件图有助于分析和理解部件之间的相互影响程度。
配置图定义系统中软硬件的物理体系结构,可以显示实际的计算机和设备以及它们之间的连接关系,也可以显示连接的类型及部件之间的依赖性[4]。
这些图为系统的分析、开发提供了多种图形表示,构成了UML的建模机制,它们的有机结合是分析和构造系统的基础。
2.1.4UML工具简介
在分析和设计中,如果仅靠现有的图形、文字处理工具,那么更多的精力不是用于分析和设计,而是繁琐的画图工作。
由于UML的模型主要是通过图来表达的,一个系统往往需要很多的图来从不同侧面进行建模。
如果仅靠手工,要正确和一致的处理好它们不是一件简单的事情。
目前有很多支持UML的工具,例如RationalRose、Together、ArgoUML。
其中Rose是Rational公司开发的用于分析和设计面向对象软件系统的工具,可以与Rational公司其他开发工具如ClearCase,RequisitePro等很好地集成使用,目前有较高的市场占有率。
Together是用纯Java开发的支持UML的工具,而ArgoUML是开放源代码项目,可以获得其源代码。
其他还有很多工具,如Visio、VisualUML等。
其中Rational公司推出的RationalRose是目前最好的基于UML的建模工具之一。
在本系统的开发过程中,选择使用RationalRose2003来进行建模。
它把UML和谐的集成到了面向对象的软件开发中。
不论是在系统需求阶段,还是在对象的分析与设计、软件的实现与测试阶段,它都提供了清晰的UML表达方法和完善的工具,方便建立起相应的软件模型。
RationalRose支持业务模型,帮助了解系统的业务,有助于系统分析。
它具有良好的设计界面,可以生成现在流行的各种编程语言对应的代码和数据框架,如JAVA,C++等。
可以先设计使用案例和用例图,显示系统的功能,也可以用交互图显示对象间如何配合,提供所需功能。
类图可以显示系统中的对象及其相互关系。
组件图可以演示类如何映射到实现组件。
最后,配置图可以显示系统的网络设计[4]。
RationalRose具有如下优秀特点:
(1)支持UML对象建模符号标准RationalRose提供完整的UML支援。
不论是在系统需求阶段,还是在分析与设计、软件的实现与测试阶段,它都提供了清晰的UML表达方法和完善的工具,方便建立起相应的软件模型,并支持Rational统一过程。
(2)支持构件化软件发展对复杂系统而言,构件式的软件开发己跃升为最有效率的模式。
RationalRose允许使用者构件图(componentdiagram)清楚地表达构件及其界面之间的关联。
(3)支持多种语言的软件开发在大型软件开发中,使用数种的程序语言是很常见的。
RationalRose企业版提供了多种语言的支援,让使用者可以发展不同程序语言的构件.RationalRose可从模型产生C++,Java,VB,Delphi,PowerBuilder,SmallTalk或Ada的程序代码。
(4)反复式工程(Round-TripEngineering)RationalRose具有正向工程(ForwardEngineering)、反向工程(ReverseEngineering)等功能特性,可以在修改实际程序后将最新的程序代码状况,迅速