基于PHP语言的操作系统教学网站的开发
2015-12-26孙增国,杨柳
基于PHP语言的操作系统教学网站的开发
孙增国,杨柳
(华侨大学计算机科学与技术学院,福建厦门361021)
摘要:针对传统课堂教学的缺陷,开发了操作系统的教学网站。依次对网站进行了需求分析、概要设计、详细设计和代码设计,采用PHP语言,最终完成网站的设计与实现。操作系统教学网站界面美观,操作方便,实用性强,具有算法演示、资料共享、疑问解答和作业在线提交与批改等功能。该网站能够满足教师和学生的实际需求,显著提高教学效率,可以作为课堂教学的辅助工具。
关键词:PHP语言;操作系统教学网站;需求分析;概要设计;详细设计;代码设计
收稿日期:2014-08-09
基金项目:国家自然科学
作者简介:孙增国(1980-),男,陕西西安人,副教授,博士,主要从事雷达信号及图像处理的研究。
中图分类号:TP311文献标志码:A
操作系统是计算机专业的主干课程,包含大量的算法,涉及到很多抽象的概念和原理。[1~3]传统的课堂教学会遇到很多挑战,比如,算法讲解不够形象,教师答疑受时间和空间的很大限制,纸质作业提交与批改效率低下等等。另一方面,网络的应用已经非常普及,如果能将教学内容集成于网络,必然会扩大课堂教学的影响。因此,有必要建立操作系统的教学网站,使基本的教学环节能够在网站上实现,弥补传统课堂教学的缺陷,提高教学质量,使学生更加高效的掌握操作系统的内容。[4~6]本文按照软件工程的一般步骤,由网站的需求分析、概要设计、详细设计到代码设计,采用PHP编程语言,从而完成操作系统教学网站的开发。本网站集成常见的教学手段,如算法演示、资料共享、疑问解答和作业在线提交与批改等等,可以作为操作系统课堂教学的有效辅助工具。
1需求分析
需求分析的目的在于从用户的角度分析网站应该具有哪些功能。[7~9]本网站的主要用户包括教师与学生。对于教师,应该具有资料共享、课程互动、作业中心、后台管理等功能。其中,资料共享包括教学资源的上传和下载功能,课程互动包括提出问题、回答问题和查看问题三个子功能,作业中心包括布置作业、批改作业、查看作业、编辑作业和删除作业等功能,后台管理包括班级信息管理、学生信息管理,可以进行班级的添加、删除以及学生密码的重置等操作。对于学生,应该具有资料共享、课程互动、作业中心等功能。其中,资料共享包括和课程相关的资源的上传和下载功能,课程互动包括提出问题、回答问题和查看问题三个子功能,作业中心包含查看作业、书写完成和提交作业等功能。为了提高网站的安全性,教师和学生必须登录后才能提出问题、回答问题、布置作业和书写作业。为了提高网站的实用性,网站还应该提供不需要登录可以直接查看的功能,如课程内容介绍、教师简介、课堂教学资源、公告栏和常见问题等等,其中课堂教学资源包括教学课件、教学视频和算法演示。总之,在对网站进行需求分析的基础上,本网站合理组织功能模块,适当划分用户类别,从而保证了网站的实用性和安全性。
2概要设计
在需求分析的基础上,本节对操作系统教学网站进行概要设计,其目的在于确定网站的结构框架和功能模块。[7~9]操作系统教学网站包括课程内容、教师风采、课堂教学、资料共享、课程互动、作业中心、常见问题、公告栏和后台管理等功能模块,其结构图如图1所示。其中,“课程内容”和“教师风采”主要介绍课程和任课教师的基本情况,“课堂教学”主要为学生提供教学课件、教学视频和算法演示功能,便于学生自学,帮助他们掌握经典的算法。“资料共享”提供文件的上传和下载功能,便于教师和学生共享有用的资料。“课程互动”提供在线提问和回答功能,便于教师和学生及时沟通,而不受时间和空间的限制。“作业中心”提供布置作业、完成作业和批改作业等功能,使作业的布置、提交与批改这一教学基本环节完全在网上实现,既简化了流程,又提高了效率。“常见问题”单独罗列出学生在课程学习中经常遇到的共性问题,便于学生查阅,尽量减少同类错误的发生。“公告栏”提供课程教学的最新通知,如上课时间调整、考试时间和实验安排等等。“后台管理”包括班级管理、学生管理和重置密码等功能,便于教师宏观管理所教的班级和学生的信息。
网站概要设计的另一个任务是合理确定教师和学生的访问权限,既保证网站使用的方便性,又保证网站操作的安全性。对于课程内容、教师风采、课堂教学和常见问题等模块以及资料共享中的下载文件功能,教师和学生不需要登录,可以直接查看和使用。除此之外,学生必须注册登录后才能上传文件、提出问题、回答问题、查看作业以及完成作业,教师必须注册登陆后才能上传文件、提出问题、回答问题、布置作业、批改作业、上传公告、管理公告以及管理后台班级和学生信息。
图1 操作系统教学网站的结构图
3详细设计
根据网站的概要设计,本节对网站进行详细设计,其任务是确定每个功能模块的具体实现流程。[7-9]本网站最关键的功能在于资料共享、课程互动和作业中心,因此,本节以这三个模块为例,具体说明模块的设计思路和实现流程,它们的流程图如图2所示。对于资料共享模块,教师和学生无需登录,可以直接浏览资料列表并下载资料。如果教师和学生希望上传资料,则必须先登录,否则显示登陆提示信息。对于课程互动模块,教师和学生无需登录就可以浏览最新问题列表,查看问题内容。如果要查看本人提出的问题,并且希望提出新的问题和回复问题,则必须进行登录,未登录的情况下会显示登陆提示信息。对于作业中心模块,教师和学生必须登录后才能访问该模块,否则显示登录提示信息。登陆后,判断登录用户是教师还是学生。如果是教师,可以进行作业的布置、查看、修改和批改等作业管理功能。如果是学生,则可以进行作业的查看、完成和提交。
(a)资料共享模块
(b)课程互动模块
(c)作业中心模块 图2 功能模块流程图
本网站涉及很多数据库,因此,详细设计的另一个任务是数据库的设计和建立。本网站数据库使用到的表如表1所示。合理设置这些表的功能和属性,同时建立不同表之间的关系,是网站能够正常运行的关键问题。这里以作业中心为例,详细说明表的设计。教师通过作业中心布置作业,所有作业信息放在一张表中,如表2所示。作业表包含作业id、作业标题、所在章节、作业题目、所属班级、创建日期、开始做作业的时间以及作业提交的截止时间。作业id作为主键,唯一标识本次作业,避免不同作业的混淆。所属班级作为外键,反映了作业和班级之间的联系。学生通过作业中心完成并提交作业,学生作的答案以及教师的批改结果放在另一张表中,如表3所示。作业答案表包含用户id、作业id、学生作的答案、成绩、评语和创建日期。用户id和作业id同时作为主键和外键,既唯一标识学生作的答案,又反映了作业答案和用户及作业之间的联系。
表1 网站使用到的表
表2 作业表
表3 作业答案表
4代码设计
根据详细设计的结果,就可以对网站进行代码设计。[7~9]本网站采用PHP语言进行编码。PHP语言是一种服务器端HTML嵌入式脚本描述语言,其最大特色在于在网页上对数据库操作的方便性。此外,PHP语言具有支持多种系统平台、版本更新速度快、容易与现有网页整合、几乎完整的包括所有网站所需要的功能以及系统移植速度快等特点。[10~12]因此,采用PHP语言实现网站功能是可行的并且是方便的。本网站最大的特色在于作业中心模块,教师可以在网上布置并修改作业,学生可以在网上完成,最后教师在网上批改,整个过程完全在线处理。本节以教师布置及修改作业为例,详细说明如何利用PHP语言进行编码。教师布置及修改作业的代码如下:首先进行权限检查,只有教师才能布置作业;其次输入作业的相关信息,如作业标题、所在章节、班级、作业内容和完成时限等等,系统自动获取当前时间。作业布置及修改成功后,学生登录网站点击我的作业,就会看到新的作业。
//教师布置、修改作业代码
case "create" :
//判断用户权限,不是教师不能布置作业,并提示警示信息
if ($user ["power"] < 1) {
echoInfoPage("只有教师才能布置作业", "权限不足");
} else {
//布置作业
$homework_model = new Homework($base);
if (!isset($_POST ["hwid"])) {
//系统自动获取当前时间作为布置作业时间
$edate = date("Y-m-d", strtotime("+". $_POST ["time_limit"]. " day"));
//编辑所布置作业的标题、所属章节、分配班级、作业内容等
$homework_model->add($_POST ["title"], $_POST ["chapter"], getPostContent(), $_POST ["class"], $edate);
echoInfoPage("作业布置成功", "添加完成");
} else {
//修改作业
//系统自动获取当前时间作为修改所布置作业时间
$edate = date("Y-m-d", strtotime($homework ["edate"]. "+". $_POST ["time_limit"]. " day"));
$homework = $homework_model->get_by_hwid($_GET ["hwid"]);
//修改所布置作业的标题、所属章节、分配班级、作业内容等
$homework_model->update($_POST ["hwid"], $_POST ["title"], $_POST ["chapter"], getPostContent(), $_POST ["class"], $edate);
echoInfoPage("修改完成");
}
(1)菌株。菌株CEH-ST79分离自察尔汗盐湖湖水样品,保存于本实验室,并于2016年保存于广东省微生物菌种保藏中心,保藏编号为GDMCC NO.: 60079。3株马铃薯干腐病病原菌Fusarium sp.由本实验室分离保存,其中马铃薯干腐病病原菌青9A-4-13和青9A-5-2分离自马铃薯青薯9号,病原菌65B-2-6分离自下寨65号。供试马铃薯品种为青薯2号。
}
break;
5界面展示
使用与PHP编程语言相对应的高效服务器配置工具phpStudy 2013在本机搭建服务器,本节展示操作系统教学网站的首页及重要的功能模块,包括算法演示、资料共享、课程互动和作业中心。
5.1网站首页
网站首页如图3所示。在首页中,可以直接浏览课程介绍、教师简介、最新通知、最新话题以及常见问题,可以直接下载讲义等教学资料,可以通过登录进入资料共享、课程互动和作业中心等模块,实现资料上传、交流答疑以及作业在线提交与批改等功能,也可以通过链接进入其它常用网站。可见,本网站界面美观,操作方便,功能全面,能够实现基本的教学环节。
图3 操作系统教学网站首页
图4 算法演示模块界面
5.2算法演示模块
算法演示模块的界面如图4所示。在该界面中,教师和学生可以演示操作系统的经典算法,如进程调度算法、基于时间片的进程调度算法、预防进程死锁的银行家算法、动态分区分配算法、页面置换算法和磁盘调度算法。演示过程具体形象,交互性强,可以设置不同的参数,观察相应的实验结果,便于教师讲解算法原理,也便于学生理解和掌握操作系统的基本概念和方法。
5.3资料共享模块
资料共享模块界面如图5所示,包括资料列表、上传文件和下载文件。所有资料根据其类别放在资料列表中的不同文件夹中,便于上传、下载和整理。教师和学生登录后可以把有用资料上传至资料列表中;教师和学生无需登录,可以直接下载资料列表中的文件。登录后使用上传功能便于资料的管理,而不需登录直接下载则方便教师和学生使用资料。
(a)资料列表
(b)上传文件
(c)下载文件
5.4课程互动模块
课程互动模块的界面如图6所示,包括问题列表、提出问题和回复问题。学生可以在这里提出问题,教师可以在线解答。点击“我要提问”,当前登录用户就可以提出问题。如果没有登录,系统会提示先登录然后才能提问。点击“我的问题”,会显示当前登陆用户提出的所有问题,并按时间降序排列显示。如果没有登录,系统会提示先登录然后才能查看自己提出的问题。点击“最新问题”,不需登录直接显示教师和学生提出的所有问题,并按时间降序排列。用户登录后,可以对问题进行回复。可见,课程互动模块既能浏览问题,又能提出问题,还能针对某一问题做出回复,便于学生之间的交流,也便于教师及时了解学生的学习动态,有针对性的给出解答和辅导。
(a)问题列表
(b)提出问题
(c)回复问题
5.5作业中心模块
作业中心模块界面如图7所示,包括教师布置作业、学生提交作业和教师批改作业三部分。为便于管理,并保证作业的安全性,作业中心模块的所有功能必须在登录后才能完成。只有教师才能布置作业,布置作业时需要填写作业标题、内容、章节、班级以及时限等信息。教师布置作业完毕后,学生可以在我的作业中进行查看。学生在我的作业列表中点击未提交的作业后,就可以看到作业的详细信息,可以直接在界面上编辑进行回答,编辑完毕后点击提交按钮,将作业提交给教师。学生完成作业提交后,教师在作业列表中选择要批改的作业批次,点击批改按钮,进行作业批改,并给出评语和分数。可见,作业中心模块可以在线实现作业的布置与批改,缩短了作业反馈的周期,提高了作业环节的效率,方便教师及时发现教学中存在的问题并进行改进。
(a)布置作业
(b) 提交作业
(c) 批改作业
6结语
本文开发了操作系统的教学网站,作为传统教学方式的有益补充。本文按照软件工程的一般步骤,依次对网站进行了需求分析、概要设计、详细设计和代码设计。需求分析从用户的角度分析了网站应具有的功能,概要设计从宏观角度确定了网站的结构框架、功能模块和不同用户的访问权限,详细设计明确了每个模块的具体实现流程以及网站数据库的设计细节,代码设计则使用高效的PHP语言完成网站的编码。最后,本文给出了算法演示、资料共享、课程互动和作业中心等主要功能模块的实现界面,并简要说明了各个模块的使用方法。操作系统教学网站界面美观,操作方便,实用性强,具有算法演示、资料共享、疑问解答和作业在线布置、提交与批改等功能,能够满足教师和学生的实际需求,弥补传统教学手段的不足,提高教学效率,可以作为课堂教学的有效辅助工具。操作系统教学网站的开发,为课程的远程在线教学提供了必要的准备工作。
参考文献:
[1]左万历, 周长林, 彭涛. 计算机操作系统教程[M]. 北京: 高等教育出版社, 2010.
[2]汤小丹, 梁红兵, 哲凤屏, 等. 计算机操作系统[M]. 西安: 西安电子科技大学出版社, 2007.
[3]Silberschatz A, Galvin P B, Gagne G. 操作系统概念[M]. 郑扣根, 译. 北京: 高等教育出版社, 2010.
[4]孙伟, 冯萍. 《操作系统》教学网站的设计与实现[J]. 长春大学学报, 2008, 18(2): 42-45.
[5]杨丽萍. 基于B/S架构的《操作系统》教学辅助系统的研发[J]. 长春大学学报, 2009, 19(4): 24-26.
[6]詹泽梅. 《操作系统》教学网站设计与实现[J]. 软件导刊, 2010, 9(12): 218-219.
[7]李浪, 朱雅莉, 熊江. 软件工程[M]. 武汉: 华中科技大学出版社, 2013.
[8]Sommerville I. Software engineering [M]. Ninth Edition. 北京: 机械工业出版社, 2011.
[9]Pfleeger S L, Atlee J M. 软件工程[M]. 杨卫东, 译. 北京: 人民邮电出版社, 2010.
[10]胡秀源. PHP技术在动态网站设计中的研究[J]. 煤炭技术, 2011, 30(12): 222-223.
[11]张恩民. PHP开发实战权威指南[M]. 北京: 清华大学出版社, 2012.
[12]Welling L, Thomson L. PHP和MySQL Web开发[M]. 武欣, 等译. 北京:机械工业出版社, 2009.
责任编辑:刘琳
Development of Operation System Teaching Website Based on PHP Language
SUN Zengguo, YANG Liu
(College of Computer Science and Technology, Huaqiao University, Xiamen 361021, China)
Abstract:Aiming at the drawbacks of traditional classroom teaching, this paper develops a operation system teaching website, the design and implementation of which are completed by requirement analysis, summary design, detailed design and code design successively based on PHP language. This website with the beautiful interface, convenient operation and strong practicability has the functions of algorithm demonstration, resource sharing, question solution and homework on-line submit and correction, which can satisfy the practical needs of teachers and students and improve the teaching efficiency obviously, so it can be regarded as an assistant tool for classroom teaching.
Keywords:PHP language; operation system teaching website; requirement analysis; summary design; detailed design; code design