基于WEB的C语言在线学习系统.docx
《基于WEB的C语言在线学习系统.docx》由会员分享,可在线阅读,更多相关《基于WEB的C语言在线学习系统.docx(47页珍藏版)》请在冰豆网上搜索。
基于WEB的C语言在线学习系统
怀化学院本科毕业论文(设计)诚信声明
作者郑重声明:
所呈交的本科毕业论文(设计),是在指导老师的指导下,独立进行研究所取得的成果,成果不存在知识产权争议。
除文中已经注明引用的内容外,论文不含任何其他个人或集体已经发表或撰写过的成果。
对论文的研究做出重要贡献的个人和集体均已在文中以明确的方式标明。
本声明的法律结果由作者承担。
本科毕业论文(设计)作者签名:
年月日
目录
摘要I
关键词I
AbstractII
KeywordsII
1前言1
2需求分析3
2.1范围3
2.1.1标识3
2.1.2系统概述3
2.1.3文档概述3
2.2引用文件3
2.3需求概述4
2.3.1系统目标4
2.3.2运行环境4
2.3.3用户的特点4
2.4功能需求4
2.4.1系统用例图5
2.4.2公共栏目模块功能设计7
2.4.3学生栏目模块功能设计7
2.4.3教师栏目模块功能设计7
2.4.4管理员栏目模块功能设计7
2.5数据8
2.6故障处理13
3概要设计14
3.1范围14
3.1.1标识14
3.1.2系统概述14
3.1.3文档概述14
3.1.4基线14
3.2引用文件14
3.3系统结构14
3.3.1部署图15
3.3.2类图15
3.4执行概念17
3.4.1游客涉及到的执行概念17
3.4.2学生涉及到的执行概念17
3.4.3教师涉及到的执行概念18
3.4.4管理员涉及到的执行概念18
3.5用户界面设计19
3.5.1出错信息21
3.5.2补救措施21
3.5.3系统维护21
4系统详细设计22
4.1范围22
4.1.1标识22
4.1.2系统概述22
4.1.3文档概述22
4.1.4基线22
4.2引用文件22
4.3系统结构23
4.4详细设计说明23
4.4.1系统功能模块23
4.4.2实体类24
4.4.3数据库接口类25
4.5接口设计27
5测试说明28
5.1范围28
5.1.1标识28
5.1.2系统概述28
5.1.3文档概述28
5.1.4基线28
5.2引用文件28
5.3测试计划29
5.3.1测试进度29
5.3.2测试方案29
5.3.3测试环境29
5.3.4测试人员29
5.4测试说明30
5.4.1功能测试30
5.4.2性能测试33
6测试及性能分析34
6.1范围34
6.1.1标识34
6.1.2系统概述34
6.1.3文档概述34
6.1.4基线34
6.2引用文件34
6.3测试结果概述35
6.4详细测试结果35
6.5测试结果评价39
7总结40
参考文献41
致谢42
基于WEB的C语言在线学习系统的实现
摘要
这是采用ASP.NET2.0技术,SQLServer2005数据库实现的一个基于Web的C语言在线学习系统。
系统具有用户登录和注册、在线学习、在线测试、学习论坛、网上答疑、论坛管理、资源管理和公告管理等功能。
在线学习是通过提供电子课件,让学生可以进行在线学习,并支持电子课件下载的操作;在线测试是对用户所掌握的知识进行测试的操作;学习论坛是提供学生与教师、学生与学生、教师与教师之间的交流平台的操作。
系统的特点是具有开放性,打破了地域和时间的限制,实时开放,自主学习与教师指导相结合,提高了学习效率。
经过测试,系统运行正常,为C语言在线学习提供了一个较好网络平台。
关键词
C语言;在线学习;ASP.NET
ImplementationoftheCLanguageOnlineLearningSystemBasedonWeb
Abstract
ThisisanOnline-StudyingofCSystem,whichisbasedonWEB.ThetechnologyofASP.NETandSQLServer2005havebeenusedinthissystem.Thesystemhasmanyfunctions,suchasloginingandregistering,online-learning,studyingBBS,managementofBBS,managementofresourceandsoon.Online-Learningcanletstudentsstudyingonlineandsupportthedownloadofe-lessions.TheaimofOnline-Testingistotesttheknowledgethatthestudentshavelearned.TheBBScanprovideastageofcommunicationforteachersandstudents.Thesystemisopen,whichbreaksupthelimitoftimeandplace.Itisopentooutsideontime.Itcanimprovethestudyingthroughthecombinationofpositivestudyingandteachers’guiding.Aftertesing,thesystemcanworkwell,itisusefulfortheonline-learningofClanguage.
Keywords
CLanguage;OnlineLearning;ASP.NET
。
1前言
步入二十一世纪,人类进入了信息时代。
信息产业以其飞快的速度发展着,并且推动着各行业的进步。
在此基础上网络多媒体教学成为教育领域新兴的一个重要的教学形式,它是网络和多媒体教学结合的产物。
网络多媒体教学将使得学院的教学形式更加丰富。
教育模式更加先进、校园更加广阔。
C语言是一种兼有高级语言和低级语言特点的计算机编程语言,具有程序设计自由度大,语言简洁紧凑,生成代码质量高,程序执行效率高等优点。
结合C语言的优点、充分利用网络的优势而实现的C语言在线学习系统,对现代教育的发展具有重要的推动作用。
开发专门针对C语言的在线学习系统,用以促进学生对C语言的更深层次的了解以及提高学生在C语言学习方面的兴趣。
同时给老师与学生提供了一个交流的平台。
老师可以通过本系统为学生提供试题、资料以及C语言学习方面的建议。
从而更好的了解学生在C语言学习方面的不足,以便于更好的帮助学生解决问题。
学生可以在本系统进行自我能力的检测,充分认识自己的不足。
还可以了解关于C语言学习的最新动态。
网络化在线学习作为网上远程教育的重要组成部分和发展分支,己经在国外一些发达国家得到蓬勃发展,人们选学课程和考试都是通过网上进行。
特别是Internet业务的普及,构筑高性能、低成本的计算机网络化在线学习,从技术条件和经济条件上己经成熟。
但是在国内在教学上对互联网的应用仅限于网上报名工作和网上成绩查询,还没有真正形成上网学习测试的规模。
传统的学习方式已经不能适应现代学习的需要。
随着国内网络教育的兴起,各高校纷纷开发了自己的网络教学平台,作为网络课程重要组成部分的网络学习系统也相继问世,如北京师范大学的网络教学平台、上海交大的网络学习平台。
基于Web的C语言在线学习系统实现了在线学习、在线测试、学习论坛、网上答疑、资源管理、公告管理、用户登录等功能。
能够满足C语言在线学习的需求。
在此次基于Web的C语言在线学习系统的实现过程中,本系统使用SQLServer建立数据库。
系统运用VS2008新建一个网站项目,ASP.NET、C#等关键技术进行功能代码的编写,以及调试等等。
系统功能基本完善后,运用CSS、Flash、PhotoShop等工具软件对页面进行适当的美化。
经过多次的测试查找并修复程序中出现的BUG和功能缺陷,完成本系统的设计。
本系统采用B/S模式开发,系统具有较好的安全性与可靠性,与传统的方式相比,该系统具有开放性的特点。
学生通过在线学习,下载电子课件方便地获取课程学习需要的资源,在线测试可以及时地检测和巩固学生所学的知识;教师可以发布最新教学信息,对相关的资源进行添加和删除,回复学生留言、答疑等;并提供学生与教师、学生与学生、教师与教师之间的交流平台,体现数字化学习、自主学习教育理念。
2需求分析
2.1范围
2.1.1标识
文件状态:
【】草稿
【√】正式发布
【】正在修改
文件标识:
需求分析报告
当前版本:
1.0
作者:
杨子帅
完成日期:
2010-10-11
2.1.2系统概述
1)软件名称:
基于WEB的C语言在线学习系统
2)软件功能:
C语言在线学习和在线测试、在线生成试题等
3)其他子系统的关系:
无
4)用户:
学生、教师和管理员
5)开发者:
杨子帅
2.1.3文档概述
需求分析采用面向对象的方法,在文档中主要采用了用例、E-R图等表示方法来描述需求。
文档的预期读者为系统管理人员、软件开发人员等。
2.2引用文件
《系统任务书》,2010年6月15日
《系统开题报告》,2010年7月6日
计算机软件文档编制规范(GB/T8567—2006),2006年3月14日发布,2006年7月1日实施。
2.3需求概述
2.3.1系统目标
本系统主要用来促进学生对C语言的更深层次的了解以及提高学生在C语言学习方面的兴趣。
同时给老师与学生提供了一个交流的平台。
老师可以通过本系统为学生提供试题、资料以及C语言学习方面的建议。
从而更好的了解学生在C语言学习方面的不足,以便于更好的帮助学生解决问题。
学生可以在本系统进行自我能力的检测,充分认识自己的不足。
详细目标主要从下面几个部分来诠释:
(1)系统基于B/S模式设计开发;
(2)能够管理各类信息,包括试题、各种用户、公共管理、资源管理等;
(3)能够实现在线学习、在线测试、在线生成试题、在线判断等功能;
(4)能够保留学生的答题记录;
(5)要求界面操作满足:
操作简单、效率很高、安全可靠、界面人性化程度高、整齐、美观。
2.3.2运行环境
本系统可以运行在IIS6.0+Microsoft.NETFramework2.0及以上版本的Windows系统之上。
2.3.3用户的特点
该系统是针对普通高校的专业教师和学生,用户具备一定的专业技能,对于C语言的学习有一定的了解,对于网络接触的比较多。
能够快速地掌握本系统的一些操作。
教师可以通过此系统进行课外教学和辅导等,学生可以通过该系统进行在先学习和测试,并通过论坛和老师同学进行交流。
2.4功能需求
通过前期对实际需求的调研,系统功能主要可以从以下几个部分实现:
1)能够完成用户的登录功能。
2)能够完成管理员对学生信息、教师信息、试题信息的管理功能。
3)能够完成管理员对资源以及公告的管理功能。
4)能够完成学生的在线学习和在线测试等功能。
5)能够完成教师的课件上传等功能。
根据需求分析,该系统主要分为4个栏目:
公共栏目、教师栏目、学生栏目和管理员栏目。
具体描述如下:
系统模块分析图如图2.1所示
图2.1系统功能模块分析图
2.4.1系统用例图
1)管理员首先通过登录进入到后台管理模块。
在此模块管理员可以进行公告管理、资源管理、学生信息管理、教师信息管理、试题信息管理以及修改密码等操作。
管理员用例图如图2.2所示:
图2.2管理员用例图
2)学生在首页便能进行浏览公告和资源下载等操作。
当学生通过登录模块进入系统之后便可以开始答题和在线交流。
学生用例图如图2.3所示:
图2.3学生用例图
3)教师通过登录之后能进行修改密码、发布试题信息、查看学生成绩以及在线交流等操作。
教师用例图如图2.4所示:
图2.4教师用例图
2.4.2公共栏目模块功能设计
用户刚开始点击进入的是公共栏目,分别提供了首页、登陆、在线学习、在线测试、学习论坛等功能模块。
其中在线学习模块提供了电子课件,让学生可以进行在线学习,并提供了电子课件下载;在线测试是当用户对所学的知识有了一定的掌握的时候所提供的功能模块;学习论坛提供学生与教师、学生与学生、教师与教师之间的交流平台,体现数字化学习、自主学习教育理念。
2.4.3学生栏目模块功能设计
当学生通过注册,并根据注册的ID号登陆后,进入学生栏目。
学生栏目提供了在线学习、在线测试、学习论坛等功能模块。
它们的功能基本与公共栏目的一样。
2.4.3教师栏目模块功能设计
分为资源管理、公告管理和网上答疑,其中资源管理教师根据教学计划与要求,自由的添加与删除页面等功能;公告管理模块提供教师随时发布最新教学信息;网上答疑针对学生的问题留言进行解答,提供学生与教师的交流平台。
2.4.4管理员栏目模块功能设计
分为公告管理、论坛管理和资源管理:
其中公告管理方便随时发布公告信息,这些公告信息将会在公共栏目中显示,它不同于教师栏目的公告管理,后者的公告信息是在学生栏目中显示;论坛管理提供了学生和教师、学生和学生之间的交流;资源管理方便管理员随时对该教学平台进行修改与更新,能够动态的删除、修改和添加网页。
2.5数据
系统数据库共有9个表,依次存储了系统管理员、文件、课程、新闻、成绩、学生、教师、试题和公告的数据信息。
(1)数据表Admin
管理员主要是对学生信息、教师信息、试题信息、资源信息以及公告信息进行管理。
管理员信息实体如图2.5所示:
图2.5管理员信息实体E-R图
表2.1Admin数据表
列名
数据类型
是否为空
备注
ID
Int
AdminNum
Nvarchar(50)
是
管理员帐号
AdminName
Nvarchar(50)
是
管理员姓名
AdminPwd
Nvarchar(50)
是
管理员密码
(2)数据表File
文件主要是由管理员上传提供给学生下载的资源。
文件信息实体如图2.6所示:
图2.6文件信息实体E-R图
表2.2File数据表
列名
数据类型
是否为空
备注
ID
Int
filename
Nvarchar(50)
是
文件名字
filetitle
Nvarchar(50)
是
文件标题
(3)数据表Course
课程信息主要由老师进行发布,学生可以通过在线学习功能进行浏览。
课程信息实体如图2.7所示:
图2.7课程信息实体E-R图
表2.3Course数据表
列名
数据类型
是否为空
备注
ID
Int
XXtile
Nvarchar(50)
是
课程名称
XXcontent
Nvarchar(3999)
是
课程内容
(4)数据表News
新闻是通过首页界面来展示给大家的,一些重要的公告都可以通过这个板块来发布。
新闻信息实体如图2.8所示:
图2.8新闻信息实体E-R图
表2.4News数据表
列名
数据类型
是否为空
备注
ID
Int
nTitle
Nvarchar(50)
是
新闻标题
nFrom
Nvarchar(50)
是
新闻来源
nBody
Nvarchar(3999)
是
新闻内容
nTime
Nvarchar(50)
是
发布时间
(5)数据表Score
学生成绩是学生通过在线测试模块进行测试之后保存在数据库里面的数据。
成绩信息实体如图2.9所示:
图2.9成绩信息实体E-R图
表2.5Score数据表
列名
数据类型
是否为空
备注
ID
Int
StudentID
Nvarchar(50)
是
学生编号
Score
Int
是
学生成绩
StudentName
Nvarchar(50)
是
学生姓名
StudentAns
Nvarchar(50)
是
学生答案
RightAns
Nvarchar(50)
是
正确答案
(6)数据表Student
学生可以通过该系统进行学习、测试以及和老师之间的交流。
学生信息实体如图2.10所示:
图2.10学生信息实体E-R图
表2.6Student数据表
列名
数据类型
是否为空
备注
ID
Int
StudentNum
Nvarchar(50)
是
学生帐号
StudentPwd
Nvarchar(50)
是
学生密码
StudentName
Nvarchar(50)
是
学生姓名
StudentSex
Nvarchar(50)
是
学生性别
(7)数据表Teacher
教师用户可以通过本系统进行试题发布、资源发布以及学生考试成绩的查看。
教师信息实体2.11所示:
图2.11教师信息实体E-R图
表2.7Teacher数据表
列名
数据类型
是否为空
备注
ID
Int
TeacherNum
Nvarchar(50)
是
教师帐号
TeacherPwd
Nvarchar(50)
是
教师密码
TeacherName
Nvarchar(50)
是
教师姓名
(8)数据表Test
试题主要提供给学生进行自我测试,主要由教师用户提供。
试题信息实体如图2.12所示:
图2.12试题信息实体E-R图
表2.8Test数据表
列名
数据类型
是否为空
备注
ID
Int
TestContent
varchar(200)
是
试题内容
testAns1
varchar(50)
是
选项1
testAns2
varchar(50)
是
选项2
testAns3
varchar(50)
是
选项3
testAns4
varchar(50)
是
选项4
rightAns
varchar(50)
是
正确答案
Pub
Int
是
发布日期
TestCourse
varchar(50)
是
所属科目
2.6故障处理
1)网站无法打开:
该故障产生的原因可能是IIS服务没有启动,启动该服务即可;IIS配置时,起始页没有指定或指定错误,需要在IIS中配置正确的默认文档,本系统为Default.aspx。
2)网站可以打开,但无法登录:
该故障产生的原因可能是数据库服务没有启动,启动MySql服务即可;数据库连接不正确,检查连接字符串并在web.config文件里正确修改。
3概要设计
3.1范围
3.1.1标识
文件状态:
【】草稿
【√】正式发布
【】正在修改
文件标识:
概要设计报告
当前版本:
1.0
作者:
杨子帅
完成日期:
2011-01-10
3.1.2系统概述
见《需求分析报告》的系统概述。
3.1.3文档概述
文档根据《需求分析报告》,对软件的功能实现、接口和界面等进行设计。
文档采用了面向对象的设计方法,描述了系统中主要的类、各用例对应的顺序图等。
3.1.4基线
《需求分析报告》
3.2引用文件
计算机软件文档编制规范(GB/T8567—2006),2006年3月14日发布,2006年7月1日实施。
3.3系统结构
系统采用B/S结构,用户界面通过浏览器来实现,主要的业务逻辑在服务器和应用服务器端实现,数据存储在数据库服务器,形成常见的Web应用三层结构。
系统开发采用MVC(Model-View-Controller)框架,模型(Model)提供数据的内部表示,视图(View)负责显示数据,控制器(Controller)负责对用户的输人或内部事件进行解释,决定要做的处理步骤和处理内容,控制模型和视图做相应的改变。
3.3.1部署图
系统部署如图3.1所示,前台采用浏览器显示页面,后台包括服务器、应用服务器和数据库服务器,主要处理业务逻辑。
提高数据的安全性,一台备份数据库服务器专用于数据的实时备份,当数据库服务器出现故障时,通过人工切换可以保证银行业务基本上不受影响。
图3.1系统部署图
3.3.2类图
本系统采用ADO.NET操作数据库,没有任何实体类,数据库操作类如图3.2所示:
功能:
负责获得数据库连接及对数据库进行各种操作。
属性:
数据库连接字符串、数据库连接。
操作:
构造函数,根据SQL语句获取一个数据集,执行一条语句并返回收影响的记录数,根据SQL语句获取查询对象,检索数据库中是否有相同记录并返回一个Int值。
图3.2数据库操作类图
数据库连接类如图3.3所示:
图3.3数据库连接类图
3.4执行概念
下面采用顺序图来表示各对象之间或对象与参与者之间如何通过交互来实现需求中的功能,每个顺序图分别与需求文档中的用例相对应。
3.4.1游客涉及到的执行概念
游客执行概念图如图3.4所示,其中游客为用例中的参与者。
图3.4游客执行概念图
3.4.2学生涉及到的执行概念
学生执行概念图如图3.5所示,其中学生为用例中的参与者
图3.5学生执行概念图
3.4.3教师涉及到的执行概念
教师执行概念图如图3.6所示,其中教师为用例中的参与者。
图3.6教师执行概念图
3.4.4管理员涉及到的执行概念
管理员执行概念图如图3.7所示,其中管理员为用例中的参与者。
图3.7管理员执行概念图
3.5用户界面设计
采用图形用户界面。
首页界面:
供游客、学生、老师、管理员进行选择操作,提供公告显示、资源下载等功能。
大致界面如图3.8所示:
图3.8首页界面图
1)公共栏目界面:
提供在线学习、在线测试、学习论坛、资源下载等功能。
大致界面如图3.9所示:
图3.9公共栏目界面图
2)教师栏目界面:
提供进入教师管理模块等功能。
大致界面如图3.10所示:
图3.10教师栏目界面
3)学生栏目界面:
提供在线学习、在线测试、学习论坛、资源下载等功能。
4)后台入口界面:
给管理员以及老师提供后台入口登录。
3.5.1出错信息
1)数据库崩溃;人为操作不当或数据库自身潜在原因引起。
2)界面运行出错;人为操作不当或编码过程中编码有误。
3)系统运行出错;服务器安装有误或系统运行环境配置有误。
3.5.2补救措施
1)用Navicat进行数据库管理,并定期进行数据库备份;
2)规范操作行为和系统开发过程中的编码行为;
3)重新进行服务器安装或检查的系统运行环境确定是否要重新进行环境配置;
3.5.3系统维护
为了方便系统维护,同时也