在线课程学习网站的设计与实现
题 目:
摘 要
随着互联网的普及,网络在人们生活中的应用越来越广泛。在线课程学习系统平台是信息化教育资源建设的关键环节,学生通过网络平台了解专业动态、自助学习课程知识、提出学习过程中遇到的问题,教师通过网络平台与学生形成交互式教学。针对web开发的最流行的php语言程序设计的在线学习的网站较少,本系统尝试用wamp在网络上架构一个php语言在线学习系统,为学生提供一个自主学习的平台,弥补了学生课后对php语言程序设计学习资源的不足。本文从理论和实践两个角度出发,对系统的开发背景、系统的开发和运行环境、系统功能分析、系统功能模块设计、数据库结构实现、各个功能模块的创建等各个过程进行了阐述,设计、实现一个具有数据挖掘功能php语言在线学习系统。本在线学习系统采用php技术进行开发,选用mysql作为后台数据库。系统实现了用户管理、查看文件、分类查找、课件下载、留言板、教学大纲、网站管理等功能。
关键词:php;mysql;在线学习系统;
Abstract
With the popularity of the Internet, network applications in people's lives more and more widely. Online course system is the key link of the construction of educational 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 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 and 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 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 management and other functions.
Keywords: php; mysql; online learning system;
目 录
摘 要 ................................................................. 0 Abstract ............................................................ 0 1 绪论 .............................................................. 3
1.1 课题的提出 .................................................. 3 1.2在线学习系统的研究现状 ...................................... 4 1.3在线学习系统研究的意义 ...................................... 4
............................................ 错误!未定义书签。 ............................................ 错误!未定义书签。
2 需求分析 ........................................... 错误!未定义书签。
2.1 可行性分析 .................................................. 5
2.1.1 技术可行性分析 ........................................ 5 2.1.2 操作可行性分析 ........................................ 5 ............................................ 错误!未定义书签。
2.2 系统需求分析 ................................................ 5
2.2.1 系统功能需求 .......................................... 5 2.2.2 系统性能需求 .......................................... 6
3 系统开发工具及相应技术 .............................................. 6
3.1 B/S体系结构 ................................................ 6 3.2 wamp ........................................................ 7 3.3 数据库 ...................................................... 7
4 系统总体设计 ....................................................... 8
4.1系统总体设计 ................................................ 8 4.2系统总体框架设计 ............................................ 8 4.3系统模块设计 ................................................ 9 4.4后台数据库设计与实现 ........................................ 9
4.4.1 数据库概念结构设计 ................................... 10 4.4.2 数据库逻辑结构设计 ................................... 10 4.4.3 数据库物理结构设计 ................................... 11
5 系统详细设计 ...................................................... 13
5.1 在线留言页面管理功能 ....................................... 13
5.1.1 在线留言页面描述 ..................................... 13 5.1.2 在线留言界面设计 ..................................... 13 5.1.3 在线留言功能实现 ..................................... 13 5.2 学习课件页面管理功能 ....................................... 15
5.2.1 学习课件页面描述 ..................................... 15
5.2.2 学习课件页面设计 ..................................... 15 5.2.3 学习课件页面功能实现 ................................. 15 5.3 资源下载页面管理功能 ....................................... 17
5.3.1 资源下载页面描述 ..................................... 17 5.3.2 资源下载查看界面设计 ................................. 17 ............................................ 错误!未定义书签。
6 系统的实现与测试 .................................................. 20
6.1 测试内容 ................................................... 20 6.2 测试方法 ................................................... 20 6.3 测试目的 ................................................... 20 6.4 系统测试 ................................................... 21
7 总结 ............................................................. 21 参考文献 ............................................................ 22
致谢 ........................................................... 34
1 绪论
1.1 课题的提出
随着互联网的普及,网络在人们生活中的应用越来越广泛,在教学学习方面网络带来的便利尤为突出。而php语言程序设计作为目前我国计算机类专业必须开设的一门基础类课程,它的应用已经深入到了人类生活的各个角落,渗透到了各行各业各行业,各部门进行计算机应用、管理和维护都需要熟练的操作员掌握扎实的程序设计语言基础。但是对于大多数学生来说,学习这部分知识都是初学者,在这之前根本就没有接触过这些知识,程序学习不同于其它课程的学习,很容易形成一种恶性循环从而完全散失学习
[1]
兴趣。但是作为计算机类专业的学生,毕业后可能要承担计算机软件应用和开发的任务,就应具有一定的编程能力和应用开发能力。在线课程学习网站是一种全新的网上学习平台,它改变传统的学习方式,让程序学习不再受时间、地理位置、师资水平及教学资源方面的,调动了学生的自主性和积极性。
面对目前php语言学习资源的缺乏、自主学习尚存在诸多问题的状况以及php语言课程的重要性,为学生提供一个自主学习的平台,是目前让学生更好学习的有效途径。
[2]
1.2在线课程学习网站的研究现状
我国互联网行业较国外起步晚,所以课程网站的起步也较晚,但目前中国课程网站的发展十分迅速,几乎涵盖了所有包括中小学、大学及各种技能证书培训的所有课程,内容丰富而冗余,分类庞杂而紊乱,大多功能相似,内容相仿。
[3]
1.3在线课程学习网站研究的意义
在线学习又称网络化学习,是应用网络进行在线学习的一种全新方式。网上学习社区及网络技术平台构成的全新的学习环境。在线课程学习网站是计算机技术、网络技术、数据库技术和多媒体技术相结合的现代网络在线学习的平台。主要表现在三个方面: 1、内容资料丰富。在良好的网络学习界面基础上不受实物陈列空间的,系统向学生提供了多种学习方法,学生可选择不同的学习媒体与学习方法。
2、方便学习交流、疑难解答。学生通过系统中的留言板等功能模块,向老师寻求在线帮助及解答。
3、完备的学习功能。学生可进行课程授课计划等信息的查看,相关课件、作业的下载,疑难问题的提问等操作。
在线课程学习网站不仅是学校提高教学质量进行教学改革的窗口,也是学生自主学习、教学互动、学习交流的重要平台。在线课程学习网站除了具有丰富的课件、作业试题等相关资料,应该具有运行良好的开放式教学课程网站。通过网络学习平台,教师可以了解学生的学习状况,在线解决学生的疑问,听取学生的意见,发布相关信息资源等。及时消除学生学习中的疑惑,便于巩固所学的知识。
[5]
[4]
2 需求分析
2.1 可行性分析 2.1.1 技术可行性分析
目前,网络应用程序的开发主要采用的框架是Browser/Server(浏览器/服务器)和Client /Server(客户端/服务器)模式。B/S采用Internet技术,适用于广域网环境,支持更多的用户,可根据访问量动态配置Web服务器,应用程序,以保证系统性能。客户端只需安装标准浏览器即可。采用面向对象技术,代码可重复性较好,系统扩展维护简单。C/S适用于局域网环境,可以连接用户数量有限,当用户数量增多时性能会明显下降,客户端要安装应用程序,系统扩展维护比较复杂,代码可重复性比较差。本系统所面向的对象是广大的互连网用户,从均衡服务器和客户端的负载的角度出发,采用B/S三层结构。
[6]
2.1.2 操作可行性分析
在线课程学习网站在操作上,界面整洁,使用简单。对于教师而言,操作简单,只要登录后台管理,就能很方便的进行教学课件、作业查看发布等操作。
1、系统软件硬件的风险。系统存在一定的软硬件崩溃带来的风险,可以定期备份数据以降低风险。
2、计划的拖延。网站的开发存在因计划拖延带来的风险。
2.2 系统需求分析 2.2.1 系统功能需求
本系统由角色分可分为三类,即:学生用户,教师用户和管理员。根据调查研究,本系统教师用户需实现的功能有:学习课件的上传,作业的发布及查看,留言板的设置及回复。教师用户的用例图如图1所示:
学习课件上传 作业发布 作业查看 留言板设置 管理学生问题回复
图1管理员用户用例图
2.2.2 系统性能需求
1、实用性:方便快捷,便于管理,调动学生学习积极性,提高教学质量。 2、操作简单:本系统适用于不同水平的使用者,要求系统不太复杂和繁琐,以便系统操作尽可能简单易行。
3、适应性:应该能广泛应用于该校学生,采用模块化设计,用户可以根据自身情况自行自合,合理使用该系统。
4、安装使用简便:服务器端的安装简洁明了,无需安装任何软件,只要能访问Internet都可以使用该系统。
[7]
3 系统开发工具及相应技术
3.1 B/S体系结构
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的
工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。这种三层体系结构如图2所示:
[8]
图2 B/S三层结构图
B/S模式具有C/S模式无法替代的优越性,它简化了系统的开发和维护。因此,我小组开发的系统采用了基于B/S模式的体系结构。
3.2 wamp
Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。LAMP是基于Linux,Apache,MySQL/MariaDB和PHP的开放资源网络开发平台,PHP是一种有时候用Perl或Python可代替的编程语言。这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。名字来源于每个程序的第一个字母。每个程序在所有权里都符合开放源代码标准:Linux是开放系统;Apache是最通用的网络服务器;mySQL是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP。
3.3 数据库
SQLserver是一个使用非常广泛的数据库,对于我们常见的数据库有好几种,这里,我们来列举一下,包括mysql,access,oracle,还有sqlserver,那么他们的特点各不相同,有各自的优点和缺点,那么,我们来列举一下,mysql的优点是比较灵活,是个开源的数据库,受广大自由开发者的喜爱啊,经常和php语言进行搭配,acess的优点是比较小,适合于小型的企业使用,经常和asp的语言进行搭配,oracle,这个大家应该知
道,是个非常好的数据库软件,甲骨文公司的产品,大型的数据库,成本,非常的高,使用的要求,也非常的高。甲骨文的老板,甚至是可以和微软的盖茨比肩的商业巨头。但是对于开发小企业的的网站来说,成本太高了。经常和jsp的语言配合使用。最后就是sqlserver,微软自己研发的数据库,有多个版本,最老的版本,是sql2000,然后发展到了,sql2005,sql2008,最新的是sql2012,他的优点是不需要收费,使用成本比较低,而且是微软的软件,开发的平台,就可以在windows上面开启,非常的方便,经常和asp.net的语言搭配使用,是个不错的数据库语言。
[10]
。
4 系统总体设计
4.1系统总体设计
面对面的人际交互不再是在线学习系统的主要教学形式,因此,以媒体为中介的交互是实现在线学习系统中教与学再度整合的关键过程。
该学习系统中,学生用户可以以原有的注册帐号或新注册帐号登录,进入学生操作功能页面进行课件及视频的下载,新闻浏览,学生基本信息的修改,学生在线留言,提出问题,下载作业等功能。教师用户可以浏览学生的基本信息,可以用自己的用户名密码登录后台,发布试题、上传课件及视频、回复留言,作业习题发布及作业查看。管理员则是对学生用户,教师用户的权限进行管理,设置登录界面,发布公告等功能
[11]
。
4.2系统总体框架设计
在线课程学习网站由教师注册后台登录,发布试题,编辑课程相关内容,留言板管理,作业习题发布,作业查看等模块组成。系统框架如图3所示:
在线课程学习网站 学生 教师 管理员 后台登录模块 编辑课件内容模块 留言板管理模块 资源发布模块 资源查看模块
图3功能框架图
4.3系统模块设计
教师相关模块,实现功能描述如下:
a. 教师用户的登录模块:教师使用已有帐号密码登录后台进行相关操作。 b.上传资源:教师可以上传相关的学习资料视频等,还可以查看或删除历史资源。 c.资源发布查看:教师可以根据课件的内容和进度发布相应的作业并对学生上交作业进行查看。
d.留言管理:老师可以回复学生提出的建议和学习中遇到的难题,还可以浏览或删除历史留言记录。
4.4后台数据库设计与实现
后台数据库的设计是系统设计与实现的关键,该系统针对于传统C语言学习中的学习资源有限,学习形式单一的特点,考虑到学生人数众多、以及数据库的易用性,可靠性,该系统采用了mysql作为后台数据库的开发工具[12]。
4.4.1 数据库概念结构设计
概念设计用来反映现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立数据库的用户视图。 1、教师功能局部的E-R图如下:
A.资源(资源编号,标题,附件,添加时间)
资 源图4 课件实体与属性的定义 B.试题(编号,课程,题目,添加时间) 资源编2、实体关系定义: 作业实体与属性的定义附件 标题图5 试 题 添加时E-R模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意课程 题目 两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在编号 添加时联系。若有联系,进一步确定是1:1、1:N、N:N的关系。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等,本系统实体间关系如下:
a.教师用户部分E-R图:
图6 教师模块E-R图
b.一个课件只能属于一门课程,而一门课程可以包含多个课件。
课程 图7 课程与课件一对多的关系包含 课件 1 N 4.4.2 数据库逻辑结构设计
根据本系统需求分析,教师用户设计所需的表名及对应字段如下: 教师信息表(教师ID,用户名,密码,角色权限,添加时间)
教师发布的教学课件表(课件ID,编号,课件名称,课程、文件,简介,发布人,发布时间)
在线留言表(留言ID,姓名,性别,留言内容,QQ,电子邮箱,头像,添加日期,
悄悄话,个人主页,回复,回复内容)
作业发布表(作业ID,作业编号,作业名称,课程,内容,附件,发布人,发布时间)
备注:含下划线字段为该表的主键。
4.4.3 数据库物理结构设计
表1教学课件表
序号 字段名称 1 2 3 4 5 6 7 8 ID bianhao mingcheng kecheng wenjian jianjie faburen addtime 字段类型 Int VarChar VarChar VarChar VarChar VarChar VarChar DateTime 大小 允许为空 4 50 50 50 50 50 50 8 自增编号 是 是 是 是 是 是 是 最大长度 10 255 255 255 255 255 255 23 备注 ?主键 表2在线留言表(book)
序号 字段名称 1 2 3 4 5 id username sex body qq 字段类型 Int Nvarchar Nvarchar Nvarchar Nvarchar 大小 允许为空 4 20 4 500 10 自增编号 是 是 是 是 最大长度 10 255 255 255 255 备注 ?主键 6 7 8 9 email face adddate ishidden Nvarchar Nvarchar DateTime Bit Nvarchar Bit Nvarchar 20 10 8 2 50 2 500 是 是 是 是 是 是 是 255 255 23 255 255 255 255 10 homepage 11 isrely 12 rebody 表3作业发布表
序号 字段名称 1 2 3 4 5 6 7 8 ID bianhao zuoyemingcheng kecheng neirong fujian faburen addtime 字段类型 大小 允许为空 最大长度 备注 Int 4 自增编号 10 是 是 是 是 是 是 是 255 255 255 255 255 255 23 ?主键 VarChar 50 VarChar 50 VarChar 50 VarChar 50 VarChar 50 VarChar 50 DateTime 8 5 系统详细设计
5.1 在线留言页面管理功能 5.1.1 在线留言页面描述
在线留言页面学生可进行添加留言、查看历史留言等操作,还可以查看到教师的相关回复,教师通过后台查看留言并进行回复,使网络学习的交互性得到很好的体现。
5.1.2 在线留言界面设计
1、学生可以填写自己的相关信息及留言内容,发表留言。如图:
图8 发表留言
2、用户可以查看自己留言以及有无回复,还可以查看留言内容。如图:
图9 查看留言
5.1.3 在线留言功能实现
学生登录后进入在线留言模块,可以实名或者匿名添加留言,编辑完建议或者提出问题后提交,提交的问题就已存入后台数据库里等待教师或管理员的处理回复。教师登录后台查看留言板的问题并进行回复。代码如下:
session_start();
$act=isset($_GET[\"act\"])?$_GET[\"act\"]:\"\"; if($act==\"add\") {
if($_SESSION[\"member\"]!=NULL) {
require(\"admin/conn.php\");
$sql=\"insert into
liuyuan(title,content,username,addtime)values('\".$_POST[\"title\"].\"','\".$_POST[\"content\"].\"','\".$_SESSION[\"member\"].\"','\".date(\"Y-m-d\").\"')\";
if(mysql_query($sql)or die(mysql_error())) {
echo \"\";
}
} else {
echo \"\";
} } >
5.2 学习课件页面管理功能 5.2.1 学习课件页面描述
学习课件页面主要是教师将每章节的学习课程视频资料通过后台发布,学生通过前台页面能够看到课程及课件信息并且下载学习课件,当课件数目较多时,学生还可以对课件的编号、名称等检索查找到相应的学习课件。
5.2.2 学习课件页面设计
1、通过信息列表学生可下载课件。如图:
图19 课件下载
2、教师通过后台添加教学视频课件:
图11上传学习课件
5.2.3 学习课件页面功能实现
教师通过后台发布新的课程课件和修改原有课件,学生登录后经过查找找到符合条件的课程信息后即可下载该课件。操作简单、快捷。 代码如下: require(\"top.php\"); >
require(\"foot.php\"); >