基于PHP 的教学资源共享系统设计及开发

时间:2024-11-10 13:45:17 来源:作文网 作者:管理员

摘要:根据承德油专对教学资源管理的需求,设计了教学资源管理系统的总体构架及实施方案,并实现了系统中教学资源共享网、教学资源管理两大主体模块,通过该系统的实际应用全面推进了学校优质教学资源共建共享,促进了教学交流、师生互动,创造良好的信息化学习环境。

关键词:PHP;MVC;信息化教学;教学管理

Abstract: This paper mainly focuses on the framework and layout of a teaching resources management system designed to meet the requirement of teaching resources management of Chengde Petroleum College. And♂ it also discusses how to share and manage teaching resources with this system. The application of this system makes it possible for the teaching staff to share most outstanding teaching resources, and thus set up a sound information-based learning environment which promotes interaction between teachers and students as well as exchanging of experiences among the teaching staff.

Key words: PHP; MVC; Information-based teaching; teaching management

1 教学资源共享系统需求分析

教学资源在教学过程中占据着重要的地位,是教学的指导文件,也最能代表了一个教师的教学水平,而教学资源的保存、汇总、交流也是学校、系部重要的教学活动,教师们通过☂互相教学资源的观摩能够提高教学水平,增加教学经验。但是早期的教学资源普遍采用纸质的形式,这样的形式即不便于查找,而且对于教学视频等资源无法实现共享,因此实现一个基于互联网的教学资源共享系统对学校来说就变得十分必要。

因此本人根据石油高等专科学校当前教学资源管理现状及教务处发布的《教师个人教学资源库建设方案》开发了一套基于B/S结构的教学资源共享系统。本系统能够实现系部领导对教学资源的在线评分及教师之间的互评,还应具备系部及教师个人主页功能。师生可以在教师主页上浏览该教师的所有教学资源及个人信息,并可与教师进行在线交流,实现教师之间、师生之间的互动。

2 教学资源共享系统总体设计方案

根据学校对教学资源管理的需求及要求系统具备的主要功能确定如下总体设计方案:

2.1系统主界面

可对学校、系部教学资源进行展示。可以实现在线资源下载,互评等操作,同时可以查看系部及各教师对资源的贡献率等数据。

2.2系统架构

本系统采取Apache+MySql+PHP作为基础架构,网站部分主要采用HTML+JQuery框架,管理系统部分采用Ajax+ExtJs框架。这种架构部署简单、成本低廉、性能卓越,适合高校采用。

系统整体设计模式采用MVC模式,建立DAO层负责操作Model部分,Smarty框架负责调配View和Controller部分。

3 系统设计思路

作为教学资源的展示部分要求系统能够承受大量的并发访问,同时根据设计要求,不同的系部和教师能够设置不同的页面效果,这要求系统应具有一定的扩展性。因此本部分采用了PHP的Smarty模板框架,该模板框架提供了缓存功能,同时提供了快速更换模板等相关功能[1]。

3.1网站主要层次结构

3.1.1 网站入口层

针对首页、系部及教师主页分别提供了index,department,teacher等数个入口层。入口层的主要作用是建立相应的视图层对象,并检验传入的数据是否正确。这里以部门网站入口层代码为例:

use tms\view\DepartmentView;

$did=isset($_GET["did"])?$_GET["did"]:1; //检查传入数据正确性。

$view=new DepartmentView($did); //建立相应的视图。

$view->index(); //执行视图层的index方法。

根据不同的访问对象分别提供了index、department、teacher三个视图层类,主要作用是与数据层进行交互,组合数据并转入相应网页。以部门视图层的index方法为¡例:

/**作用:部门界面初始化,构造数据列表并转发到相应模板。*/

public function index(){

global $smarty; //调用smarty框架对象。

if(!$smarty->isCached("department.tpl",$this->department->id)){ //判断是否缓存,缓存则不需要运算。 $this-&gวt;common();

$likestDocList=$this->docDao->getDocListByKeyWordAndType(1,$max,DocumentDao::FIND_BY_DEPARTMENT,$this->department->id,"sum_like desc"); //取得最受欢迎文档列表。

$smarty->assign("likestDocList",$likestDocList); }

$smarty->display("department.tpl",$this->department->id); //转入部门模板。

$this->depDao->db_disconn();}

3.1.3 数据层

针对不同的Model对象提供了相应的DAO数据类,如TeacherDao,每个类主要操作一个数据库表。以部门DAO类departmentDao为例:

/* 作用:对部门信息进行管理。*/

class DepartmentDao extends Dao{

/* 作用:根据id取得部门信息。*/

public function get($id){

$query="select id,name,descr,tmp from department where id=?";

$result=$this->query_temp($query,function($stmt)use($id){

$stmt->bindValue(1,$id,\PDO::PARAM_INT); });

return $result[0]; }…}

因为类代码较长这里只展示了一个get方法。

3.1.4 模板层

使用模板的好处在于可以根据程序的设置方便快速的进行页面切换。由于现在本系统属于试运行阶段,因此每个部分只提供了首页、列表页、图表页三个默认模板,共9个模板页,但是设计了多个模板标签,在未来网站日趋成熟时方便实现更多的模板。

部门模板页department.tpl部分代码


热门排行: 教你如何写建议书