1、摘 要随着互联网的普及,网络在人们生活中的应用越来越广泛。在线课程学习系统平台是信息化教育资源建设的关键环节,学生通过网络平台了解专业动态、自助学习课程知识、提出学习过程中遇到的问题,教师通过网络平台与学生形成交互式教学。针对身边有关C语言程序设计的在线学习的网站较少,本系统尝试用Visual Studio 2008在网络上架构一个C语言在线学习系统,为学生提供一个自主学习的平台,弥补了学生课后对C语言程序设计学习资源的不足。本文从理论和实践两个角度出发,对系统的开发背景、系统的开发和运行环境、系统功能分析、系统功能模块设计、数据库结构实现、各个功能模块的创建等各个过程进行了阐述,设计、实现一
2、个具有数据挖掘功能C语言在线学习系统。本在线学习系统采用ASP.NET技术进行开发,选用SQL Server 2005作为后台数据库。系统实现了用户管理、查看文件、分类查找、课件下载、留言板、教学大纲、网站管理等功能。关键词:ASP.NET;C语言;在线学习系统;AbstractWith the popularity of the Internet, network applications in peoples lives more and more widely. Online course system is the key link of the construction of edu
3、cational information resources, students through the network platform to understand dynamic, vironment professional learning course knowledge, the proposed learning problems encountered in the process, teachers and students through the network platform of interactive teaching. In side the C language
4、 programming online learning site is less, the system attempts to use the Visual Studio 2008on the network structure of a C language online learning system, to provide students with a learning platform, made up of students on the C language program design learning resource. The article from theory a
5、nd practice two angle set out, the system development background, system development and running en, system function analysis, the system function module design, database structure, the creation of various functional modules and so on each process are described, the design, the realization of a has
6、the functions of data mining in C language online learning system. The online learning system using ASP.NET technology development, using SQL Server 2005database as a background. System user management, view the file, classification search, courseware download, message boards, syllabus, website mana
7、gement and other functions.Keywords: ASP.NET; C language; online learning system;目录摘 要1Abstract21 前言51.1 课题的提出51.2 在线学习系统的研究现状51.3 在线学习系统研究的意义51.3.1在线学习系统的特点51.3.2在线学习系统的意义62 系统分析62.1 可行性分析62.1.1 技术可行性分析62.1.2 操作可行性分析62.1.3 风险分析72.2 系统需求分析72.2.1 系统功能需求72.2.2 系统性能需求73 系统开发工具及相应技术83.1 B/S体系结构83.2 Visu
8、al Studio 200883.3 SQL Server 200594 系统总体设计94.1系统总体设计94.2系统总体框架设计94.3系统模块设计104.4后台数据库设计与实现104.4.1 数据库概念结构设计114.4.2 数据库逻辑结构设计124.4.3 数据库物理结构设计135 系统详细设计145.1 在线留言页面管理功能145.1.1 在线留言页面描述145.1.2 在线留言界面设计145.1.3 在线留言功能实现155.2 学习课件页面管理功能155.2.1 学习课件页面描述155.2.2 学习课件页面设计165.2.3 学习课件页面功能实现175.3 作业发布页面管理功能175
9、.3.1 作业发布页面描述175.3.2 作业发布查看界面设计175.3.3作业发布页面功能实现186 系统的实现与测试186.1 测试内容186.2 测试方法186.3 测试目的196.4 系统测试197 总结21参考文献23致 谢241 前言1.1 课题的提出随着互联网的普及,网络在人们生活中的应用越来越广泛,在教学学习方面网络带来的便利尤为突出。而C语言程序设计作为目前我国计算机类专业必须开设的一门基础类课程,它的应用已经深入到了人类生活的各个角落,渗透到了各行各业各行业,各部门进行计算机应用、管理和维护都需要熟练的操作员掌握扎实的程序设计语言基础1。但是对于大多数学生来说,学习这部分知
10、识都是初学者,在这之前根本就没有接触过这些知识,程序学习不同于其它课程的学习,很容易形成一种恶性循环从而完全散失学习兴趣。但是作为计算机类专业的学生,毕业后可能要承担计算机软件应用和开发的任务,就应具有一定的编程能力和应用开发能力。在线学习是一种全新的网上学习平台。它改变传统的学习方式,让程序学习不再受时间、地理位置、师资水平及教学资源方面的限制,调动了学生的自主性和积极性2。面对目前C语言学习资源的缺乏、自主学习尚存在诸多问题的状况以及C语言课程的重要性,为学生提供一个自助学习的平台,是目前让学生更好的学习C语言的有效途径。1.2在线学习系统的研究现状我国互联网行业较国外起步晚,所以课程网站
11、的起步也较晚,但目前中国课程网站的发展十分迅速,几乎涵盖了所有包括中小学、大学及各种技能证书培训的所有课程,内容丰富而冗余,分类庞杂而紊乱,大多功能相似,内容相仿3。1.3在线学习系统研究的意义1.3.1在线学习系统的特点在线学习又称网络化学习,是应用网络进行在线学习的一种全新方式。网上学习社区及网络技术平台构成的全新的学习环境。在线学习系统是计算机技术、网络技术、数据库技术和多媒体技术相结合的现代网络在线学习的平台4。主要表现在三个方面:1、内容资料丰富。在良好的网络学习界面基础上不受实物陈列空间的限制,系统向学生提供了多种学习方法,学生可选择不同的学习媒体与学习方法。2、方便学习交流、疑难
12、解答。学生通过系统中的留言板等功能模块,向老师寻求在线帮助及解答。3、完备的学习功能。学生可进行课程授课计划等信息的查看,相关课件、作业的下载,疑难问题的提问等操作5。1.3.2在线学习系统的意义在线学习系统不仅是学校提高教学质量进行教学改革的窗口,也是学生自主学习、教学互动、学习交流的重要平台。在线学习系统除了具有丰富的课件、作业习题等相关资料,应该具有运行良好的开放式教学课程网站。通过网络学习平台,教师可以了解学生的学习状况,在线解决学生的疑问,听取学生的意见,发布相关信息资源等。及时消除学生学习中的疑惑,便于巩固所学的知识。2 系统分析2.1 可行性分析2.1.1 技术可行性分析目前,网
13、络应用程序的开发主要采用的框架是Browser/Server(浏览器/服务器)和Client /Server(客户端/服务器)模式。B/S采用Internet技术,适用于广域网环境,支持更多的用户,可根据访问量动态配置Web服务器,应用程序,以保证系统性能。客户端只需安装标准浏览器即可。采用面向对象技术,代码可重复性较好,系统扩展维护简单。C/S适用于局域网环境,可以连接用户数量有限,当用户数量增多时性能会明显下降,客户端要安装应用程序,系统扩展维护比较复杂,代码可重复性比较差6。本系统所面向的对象是广大的互连网用户,从均衡服务器和客户端的负载的角度出发,采用B/S三层结构。2.1.2 操作可
14、行性分析在线学习系统在操作上,界面友好,使用简单。对于教师而言,操作简单,只要登录后台管理,就能很方便的进行教学课件、作业查看发布等操作。2.1.3风险分析1、系统软件硬件的风险。系统存在一定的软硬件崩溃带来的风险,可以定期备份数据以降低风险。2、计划的拖延。网站的开发存在因计划拖延带来的风险。2.2 系统需求分析2.2.1 系统功能需求本系统由角色分可分为三类,即:学生用户,教师用户和管理员。根据调查研究,本系统教师用户需实现的功能有:学习课件的上传,作业的发布及查看,留言板的设置及回复。教师用户的用例图如图1所示:教师学习课件上传作业发布留言板设置学生问题回复作业查看图1教师用户用例图2.
15、2.2 系统性能需求1、实用性:方便快捷,便于管理,调动学生学习积极性,提高教学质量。2、操作简单:本系统适用于不同水平的使用者,要求系统不太复杂和繁琐,以便系统操作尽可能简单易行。3、适应性:应该能广泛应用于该校学生,采用模块化设计,用户可以根据自身情况自行自合,合理使用该系统。4、安装使用简便:服务器端的安装简洁明了,客服无需安装任何软件,只要能访问Internet都可以使用该系统7。3 系统开发工具及相应技术3.1 B/S体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作
16、,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成8。这种三层体系结构如图2所示:图2 B/S三层结构图B/S模式具有C/S模式无法替代的优越性,它简化了系统的开发和维护。因此,我小组开发的系统采用了基于B/S模式的体系结构。3.2 Visual Studio 2008Microsoft Visual Studio 2008提供了一个用于在该平台上创见应用程序的集成开发环境,程序员可以使用一种或多种.NET编程语言来编写代码,例如微软自己
17、的Visual BASIC.ET、Visual C+、Visual C#和Jscrip.NET等。大量.NET编程语言还可以从第三方厂商获得9。集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。它集成了各种开发工具和编译器,程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用VS2008可以高效开发Windows应用。同时VS2008支持项目模板、调试器和部署程序。VS2008可以高效开发Web应用。3.3 SQ
18、L Server 2005SQL Server是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML和Internet标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。SQL Server 2005是一个全面的数据库平台。使用集成的商业智能提供了企业级的数据管理SQLServer2005强大的数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。SQL Server2005结合了分析、报表、集成和通知功能,可以构建和管理用于业务的高
19、可用和高性能的数据应用程序10。4 系统总体设计4.1系统总体设计面对面的人际交互不再是在线学习系统的主要教学形式,因此,以媒体为中介的交互是实现在线学习系统中教与学再度整合的关键过程。该学习系统中,学生用户可以以原有的注册帐号或新注册帐号登录,进入学生操作功能页面进行课件及视频的下载,新闻浏览,学生基本信息的修改,学在线留言,提出问题,下载作业等功能。教师用户可以浏览学生的基本信息,可以以自己的用户名密码登录后台,发布新闻、上传课件及视频、回复留言,作业习题发布及作业查看。管理员则是对学生用户,教师用户的权限进行管理,设置登录界面,发布新闻及公告等功能11。4.2系统总体框架设计C语言在线学
20、习系统教师由教师注册后台登录,发布新闻,编辑课程相关内容,留言板管理,作业习题发布,作业查看等模块组成。系统框架如图3所示:C语言在线学习系统学生教师管理员编辑课件内容模块后台登录模块留言板管理模块作业习题发布模块作业查看模块图3教师功能框架图4.3系统模块设计教师相关模块,实现功能描述如下:a 教师用户的登录模块:教师使用已有帐号密码登录后台进行相关操作。b上传课件:教师可以上传相关的教学课件及学习资料等,还可以查看或删除历史资料。c作业发布查看:教师可以根据课件的内容和进度发布相应的作业并对学生上交作业进行查看。d疑难解答:老师可以回复学生提出的建议和学习中遇到的难题,还可以浏览或删除历史
21、留言记录。4.4后台数据库设计与实现后台数据库的设计是系统设计与实现的关键,该系统针对于传统C语言学习中的学习资源有限,学习形式单一的特点,考虑到学生人数众多、以及数据库的易用性,可靠性,该系统采用了SQL Server2005作为后台数据库的开发工具12。4.4.1 数据库概念结构设计概念设计用来反映现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立数据库的用户视图。1、教师功能局部的E-R图如下:a.课件(课件编号,标题,附件,添加时间)课 件课件编号标题附件添加时间图4 课件实体与属性的定义b.作业(编号,课程,题目,添加时间)作 业编号课程题目添加时间 图5 作业实体与属性的
22、定义2、实体关系定义:E-R模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:1、1:N、N:N的关系。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等,本系统实体间关系如下:a.教师用户部分E-R图:回复111nn发布n1n发布产生课件作业教师留言nn查看图6 教师模块E-R图b.一个课件只能属于一门课程,而一门课程可以包含多个课件。课程课件包含1N 图7 课程与课件一对多的关系4.4.2 数据库逻辑结构设计根据本系
23、统需求分析,教师用户设计所需的表名及对应字段如下:教师信息表(教师ID,用户名,密码,角色权限,添加时间)教师发布的教学课件表(课件ID,编号,课件名称,课程、文件,简介,发布人,发布时间)在线留言表(留言ID,姓名,性别,留言内容,QQ,电子邮箱,头像,添加日期,悄悄话,个人主页,回复,回复内容)作业发布表(作业ID,作业编号,作业名称,课程,内容,附件,发布人,发布时间)备注:含下划线字段为该表的主键。4.4.3 数据库物理结构设计表1教学课件表序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号10主键2bianhaoVarChar 50是2553mingchengVar
24、Char 50是2554kechengVarChar 50是2555wenjianVarChar 50是2556jianjieVarChar 50是2557faburenVarChar 50是2558addtimeDateTime 8是23 表2在线留言表(book)序号字段名称字段类型大小允许为空最大长度备注1idInt 4自增编号10主键2usernameNvarchar20是2553sexNvarchar4是2554bodyNvarchar500是2555qqNvarchar10是2556emailNvarchar20是2557faceNvarchar10是2558adddateDate
25、Time 8是239ishiddenBit2是25510homepageNvarchar50是25511isrelyBit2是25512rebodyNvarchar500是255表3作业发布表序号字段名称字段类型大小允许为空最大长度备注1IDInt 4自增编号10主键2bianhaoVarChar 50是2553zuoyemingchengVarChar 50是2554kechengVarChar 50是2555neirongVarChar 50是2556fujianVarChar 50是2557faburenVarChar 50是2558addtimeDateTime 8是235 系统详细设
26、计5.1 在线留言页面管理功能5.1.1 在线留言页面描述在线留言页面学生可进行添加留言、查看历史留言等操作,还可以查看到教师的相关回复,教师通过后台查看留言并进行回复,使网络学习的交互性得到很好的体现。5.1.2 在线留言界面设计1、学生可以填写自己的相关信息及留言内容,发表留言。如图:图8 发表留言2、用户可以查看自己留言以及有无回复,还可以查看已有问题及教师解答。如图:图9 查看留言3、教师通过后台查看学生留言并回复留言。如图:图10 后台管理留言5.1.3 在线留言功能实现学生登录后进入在线留言模块,可以实名或者匿名添加留言,编辑完建议或者提出问题后提交,提交的问题就已存入后台数据库里
27、等待教师或管理员的处理回复。教师登录后台查看留言板的问题并进行回复。5.2 学习课件页面管理功能5.2.1 学习课件页面描述学习课件页面主要是教师将每章节的学习课程和资料通过后台发布,学生通过前台页面能够看到课程及课件信息并且下载学习课件,当课件数目较多时,学生还可以对课件的编号、名称等检索查找到相应的学习课件。5.2.2 学习课件页面设计1、课件信息列表,如图:图11 学习课件列表2、通过信息列表学生可下载课件。如图:图12 课件下载3、教师通过后台添加教学课件:图13上传学习课件5.2.3 学习课件页面功能实现教师通过后台发布新的课程课件和修改原有课件,学生登录后经过查找找到符合条件的课程
28、信息后即可下载该课件。操作简单、快捷。5.3 作业发布页面管理功能5.3.1 作业发布页面描述作业发布页面主要是教师登录后台管理将每章节的学习课程的习题和作业通过后台进行发布,学生登录后进入作业发布页面能够看到有关作业信息并且下载作业,当作业数目较多时,学生还可以对课件的编号、名称等检索查找到相应的作业进行下载。5.3.2 作业发布查看界面设计1、作业列表。如图:图14作业列表2、教师通过后台添加上传作业题目。如图:图15 作业上传发布3、教师通过后台查看学生上交的作业。如图:图16 教师查看作业5.3.3作业发布页面功能实现教师通过后台查看、发布作业。学生登录后可看到教师通过后台发布的作业,
29、经过查找找到符合条件的作业后即可下载。显示作业信息简洁、明了,操作简便、快捷。6 系统的实现与测试6.1 测试内容教师用户功能测试主要包括以下条目:(1)教师用户查看留言功能测试;(2)教师用户回复功能测试;(3)教师用户发布课件功能测试;(4)教师用户查看作业功能测试;(5)教师用户发布作业功能测试;6.2 测试方法(1)尽早的、不断的进行系统测试。我们知道,错误发现的越早,改正它所付出的代价也就越小。由于错误的发生往往是不可避免的,因此系统测试贯穿于整个开发过程中,而不是把系统测试仅仅看作是软件开发的一个独立阶段。(2)设计测试用例时,给出测试的预期结果。一个测试用例由两部分组成:测试用的
30、输入数据和该输入数据所期望的程序运行结果。这样测试时才能有一个判断标准,利用输入数据得出测试数据并和预测数据进行比较,看它们是否一致。(3)在对系统修改完之后进行回溯测试。我们在修改系统的同时往往又会引入新的错误,所以在对程序修改完之后,用以前的用例进行回归测试。6.3 测试目的系统测试的目的是在真实系统工作环境下通过与系统的需求定义作比较,检验完整的软件配置项能否和系统正确连接,发现软件与系统/子系统设计文档不符合或与之矛盾的地方。在实际运行环境下,对计算机系统进行的测试。是为了发现缺陷并度量产品质量。而且,系统测试还要检验系统的文档等是否完整、有效 13。测试目的有:(1)测试是为了发现程
31、序中的错误而执行程序的过程。(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。(3)成功的测试是发现了至今为止尚未发现的错误的测试。6.4 系统测试1、在线留言页面学生通过在线留言页面进行添加留言、查看历史留言等操作,提交的问题存入后台数据库里等待教师或管理员的处理回复,回复后学生下次登录就能看到回复。教师通过后台查看留言并进行回复,使网络学习的交互性得到很好的体现。图17 在线留言界面2、学习课件页面教师依据学生与课程的特点,分章节分阶段的选择课程内容或编写重点资料登录后台上传学习课件、资料到前台。学生通过学习课件页面看到课程及课件信息并且下载学习课件。图18 学习课件页面图1
32、9学习课件后台管理3、作业发布页面教师可以根据学生意见反馈随时登录查看上交作业、修改更新作业,通过后台上传发布作业,学生从前台登录后进入作业发布页面就能够看到并检索有关作业信息,下载作业。图20 作业发布界面图21 作业发布后台管理7 总结经过一个多月进行的努力,终于完成了基于ASP.NET的C语言在线学习系统的设计。虽然在功能的完善上还没有达到最初的设计计划,但在这次C语言在线学习系统的设计过程中我受到很大启发:在网站开发与设计上,体会到了理论与实际结合的重要性,认识到网站开发中应该更加注重网站的规划及按步骤实施。网站作为多栏目、多版面的有机结合整体,不仅仅要考虑到网站功能及其效果的实现,更
33、应该注重网站与用户的有机结合。网站设计与实现的成功只是网站成功的一步,网站的明确定位显得更加重要,网站应该随时根据实施环境,实施困难进行必要的定位调整。理论与实践相结合,让我真正体会到学以致用的乐趣。通过理论作指导,再用实践来体会,验证理论。这样既加深了对理论知识的认识,又从实践活动中充实了自己。通过这次的毕业设计,使我大致了解了软件开发的基本过程,并让我清楚的认识到了自己的不足之处。面对日新月异的科技发展,自己应该是主动地接受并去适应新的技术,而不是被动的等技术来配合自己的思想;应该熟练的掌握一到两门编程语言,是自己所学的理论知识能和实际操作有机地联系起来;光说不练、动手能力差也是摆在自己面
34、前的一大难题。在今后的学习中,我要努力的拓宽自己的知识面,不断地补充自己的专业知识,当面对一个新的课题时,自己积极思考,使该课题不再是空想,能在自己手中实现。参考文献1 谭浩强. C 语言程序设计. 清华大学出版社, 2009.2 洪洲, 蔡木生, 罗林编. 计算机高级语言程序设计. 治金工业出版社, 2007.3 孙智勇. 基于ASP.NET技术的精品课程教学平台的设计与实现. 广州司法职业学校.4 李天智, 魏永红, 张娟等. 在线学习系统的设计与实现. 河北省科学院学报, 2009.5 李艾丽莎, 张庆林. 在线学习的类型及其特点J. 教育科学, 2003.6 晏愈光. 基于ASP的教学
35、网站设计D. 长春:吉林大学硕士学位论文, 2006.7 张海藩, 软件工程导论. 清华大学出版社, 2003年.8 李德奇, 罗雅丽, 何 颖. C#程序设计M . 北京: 科学出版社, 2005.9 王智勇, 贾鑫, 常明杰. 浅谈连接SQL Server 2005数据库的方法. 邯郸职业技术学院, 2010.10 杨 毅. 数据库系统原理及应用M . 科学出版社, 2004.11胡颖辉,宁赛飞.基于UML和ASP.NET实现三层B/S结构系统开发J. 计算机与信息技术, 2008.12 李艳红. 浅析BS体系结构. 西安外事学院现代教育技术中心.13 李龙. 软件测试实用技术与常用模版.
36、 机械工业出版社, 2010.致 谢本次毕业设计和毕业论文是在张能明老师的悉心指导下完成的,在此衷心的感谢我的指导老师,从课题的选择到项目的最终完成,都给予我们细心地指导和不懈的支持,给我提供很多宝贵的意见和建议,使我们更加完善了系统的功能。在此还要感谢帮助过我们的同学,由于之前对系统开发不是很熟悉,在系统的设计过程中,经过同学耐心的讲解和帮助,使得系统能够完成。同时感谢同组的同学,大家的系统设计期间精诚合作,相互学习,彼此尊重,正是大家的互相努力,才能完成该在线学习系统的设计和论文撰写。最后感谢我们所有的任课老师,对我们的悉心教导和培养,不辞辛劳为我们辛勤授业,祝您们工作顺利、身体健康。 (注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)