已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数学专业实践教学网的设计与研制内容摘要:本设计是将抽象的数学思想与数学软件、计算机编程、网页制作有机融合。网站将在数学软件应用、软件编程进行直观的展示,其目的是充分整合现有的实践教学资源,全方面提高数学学科专业实践教学的教学效果。通过本设计师生可以进行高效的交流,特别是数学学科专业实践教学的网络平台在网上进行互动,方便了数学实践教学。本设计最大的特色是在于它的实用性和易操作性,实用性主要体现在可以随时随地的进行网站的日常维护和更新,易操作性体现在于此网站系统可以使即使不懂网站技术的人在很短的时间内学习和掌握网站日常维护和更新。同时,此专业教学实践网站管理系统具有很强的可拓展性,可以增添投票系统模块,订单系统模块和积分管理模块等功能模块,满足不同需求。关键词:数学软件;实践教学;编程;互动1 导言1.1 研究背景及意义数学实践教学网的研制,具体地讲,就是将抽象的数学思想与数学软件、计算机编程、网页制作有机融合。网站将在数学软件应用、软件编程进行直观的展示,其目的是充分整合现有的实践教学资源,全方面提高数学学科专业实践教学的教学效果。通过本项目师生可以进行高效的交流,特别是数学学科专业实践教学的网络平台在网上进行互动,方便了数学实践教学。师生之间可利用网络方便、快捷的进行交流实践过程中遇到的问题以及实践所取得的成果,是数学实践教学的教学资源更加丰富。从而加深对与数学相关知识的认识、学习和理解。数学具有高度的抽象性、严密的逻辑性,学生们感到学了大量的数学知识和方法,但很难运用到实际问题当中,因此不少同学失去了学习数学的兴趣。国外注重培养学生的应用数学知识解决数学问题的能力,值得我们借鉴。近年来,随着现代信息技术的快速发展和不断普及,培养学生借助于计算机运用先进技术软件及所学的数学理论知识创造性地解决现实中的问题显得越来越重要 。运用所学的理论知识解决社会中所遇到的实际问题已成为当今数学学习的最终目的。为推进实验内容和实验模式改革和创新,培养学生的实践动手能力、分析问题和解决问题的能力,建立一个发布和搜集信息,连接相互交流的平台是十分必要的。适当加强数学教学中的“应用”内容与实践环节,加强数学建模、数学试验课程的教学,强调科学计算、统计实验、社会调查等实践性环节,以充分体现学校的办学指导思想,对于实现我校培养复合型、创业型应用人才的目标具有重要意义。基于以上目的,本设计将研制数学专业实践教学网络平台,具体包括:新闻发布系统(主要完成包括首页各项目的新闻后台新建、编辑、删除、推荐、审核等操作)、资料下载系统(包括常用数学软件和资料的上传和下载等操作,完成资料的发布和下载共享等功能)、会员管理系统(日常会员管理的全部功能和管理,可以对用户完成注册、认证、管理、修改、删除等功能)、后台管理系统(强大的后台管理系统解决了校园网网站更新烦琐的程序)。2 系统开发工具2.1 PHP语言介绍PHP,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。2.2 MySQL数据库介绍MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的特性:1、使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2、支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OS/2 Wrap、Solaris、Windows等多种操作系统。3、为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和TCL等。4、支持多线程,充分利用CPU资源。5、既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据支持多线程,充分利用CPU资源。3 系统规划与系统分析 系统规划和系统分析,是系统开发过程中重要的一步。只有通过系统规划和系统分析,才能把系统功能和性能的总体概念描述为具体的系统需求规格说明,从而奠定了系统开发的基础。同时系统规划和系统分析工作也是一个不断认识和逐步细化的过程。花大量的时间进行系统规划和系统分析,可以给开发带来一个良好的开端,也会使开发过程中少走许多弯路。开发人员认真了解用户的要求,细致地进行调查分析,把用户“做什么”的要求最终转换成一个完全的,精细的软件逻辑模型并写出软件的需求规格说明,准确地表达用户的要求。3.1 前台系统的规划该新闻管理系统可以在Windows 2000 Server 操作系统平台上运行,Web 服务器为IIS,数据库服务器为MYSQL 5.1.26,开发工具主要采用Dreamweaver。系统的工作流程为:用户登录时首先判断其权限,若为普通用户则可以浏览、查看、搜索新闻,而注册用户则可以直接登陆,查看新闻,修改个人资料,上传下载资料等。该系统前台把用户要求浏览信息的欲望直观地反映出来,将新闻进行分类,实现用户的浏览,登陆注册功能,搜索匹配功能,将点击率最高的新闻更醒目的反映出来,并将刚上传的最新消息及时反映出来。前台页面功能结构图如图1所示:图1:系统功能结构图3.2 页面模块化本系统把一些常用的页面制作成为不同的模板变量形成集成模块,如分类信息分类导航模板变量!classnav-,分类信息区域导航模板变量!area-,动态页面头部模板变量!temp.dtheader-,页面尾部模板变量!temp.footer-,页面头部模板变量!temp.header-,在制作各页面时,只需调用相应的模板变量即可,方便且整齐统一。4 系统设计与实现4.1 系统的功能设计 前台的页面如图2所示,图2显示了各类新闻的排版情况。 图2 前台页面显示新闻页面的浏览界面如图3所示。图3 新闻浏览界面(1) 页面模块化调用:系统界面的设计使用模块进行处理,如把页面的头、尾页面内容,数据库的连接等做成单独的文件,在其它页面设计中需要时,只要用 !-temp.header-和!-temp.footer-就可以把相应的内容包括进去了,这样有利于页面风格比较统一以及提高开发系统的效率,实现代码见附录1。(2) 新闻模板的应用:本系统的新闻代码的生成是基于模块的,更换新闻内容时只要将新闻的一些必要的信息(如新闻的作者、标题、内容)录入,然后自动修改新闻模板,再利用组件技术创建新闻文件。这样使得文件格式统一,便于搜索,同时对已录入新闻的处理(包括审核、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”,体现了新闻的时效性,实现代码见附录2。(3) 功能完善,管理方便:功能方面包括注册,登陆,对新闻浏览、搜索等各个方面,完整地实现了网站对即时新闻的管理要求,同时由于应用了模板,对系统的管理维护非常方便,登陆页面实现代码见附录3。(4) 新闻分类的应用:功能包括上传的新闻进行分类上传,将不同的信息分类存放在各个不同的类别里,方便同学们的查阅,并显示上传的时间。(5) 点击率排行榜显示功能的实现:将点击率最高的新闻自动显示在热点新闻排行榜栏目里,满足同学们对热点新闻的关注,实现标签为showsearch每行显示条数,总条数,栏目id,操作类型/showsearch,其中栏目id为0,则显示所有栏目的关键字,操作类型:0为搜索热行排行,1为最新搜索排行。4.2 系统实现系统的主要功能是通过几个功能模块来实现的。包括系统登录的实现、新闻浏览与新闻搜索的实现、新闻点击率排行榜的实现,后台管理的实现。4.2.1 系统登录的实现该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。实现的关键代码为:if(!isset($_SESSIONname)|empty($_SESSIONname)/如果不是管理员身份 header(location:login.php?act=login);/页面就转向到login.php页面如果是管理员身份就$smarty-display()让页面到后台的主页面去login.php这个文件的代码:$act=isset($_POSTact)?$_POSTact:login;if($act=login)/如果不是管理员身份就执行if语句$smarty-display(login.html);/让页面转向到login.html登陆页面logon.htm登陆页面里面的表单提交到login.php页面,其中有个关键地方,在提交按钮的代码后面再加个隐藏按钮name=act type=hidden 代码:输入完账号密码后,就又执行到login.php页面了这次login.php会检查到$act=submit了,那就让它再去执行个else if 代码:else if($act=submit)/在这里面检测账号密码对不对./.如果正确就来个$_SESSIONname=$name;header(location:index.php);/页面就转向回index.php.index.php就会又判断$_SESSIONname系统登录界面如图4所示。图4 系统登录界面4.2.2 新闻搜索的实现其实现的关键代码如下:设计搜索表单在网站的根目录下建个search.htm,内容如下搜索表单 搜索程序再在根目录下建个search.php 的文件,用来处理search.htm表单传过来的数据.内容如下这样如果访问者输入的关键字为空时,可以做出提示。下面是遍历所有文件。用递归的方法遍历所有的文件下面就是读取文件内容,并检查内容中是否含有关键字$keyword,如果含有就把文件地址赋给一个数组。?php/$dir是搜索的目录,$keyword是搜索的关键字 ,$array是存放的数组function listFiles($dir,$keyword,&$array)$handle=opendir($dir);while(false!=($file=readdir($handle)if($file!=.&$file!=.)if(is_dir($dir/$file)listFiles($dir/$file,$keyword,$array);else/读取文件内容$data=fread(fopen($dir/$file,r),filesize($dir/$file);/不搜索自身if($file!=”search.php”)/是否匹配if(eregi($keyword,$data)$array=$dir/$file;/定义数组$array$array=array();/执行函数listFiles(.,php,$array);/打印搜索结果foreach($array as $value)echo $value.n;?把这个结果和开头的一段程序结合起来,输入一个关键字,再把它进一步完善。(1) 列出内容的标题把if(eregi($keyword,$data)$array=$dir/$file;改成if(eregi($keyword,$data)if(eregi(.+),$data,$m)$title=$m1;else$title=没有标题;$array=$dir/$file $title;原理是如果在文件内容中找到xxx,那么就把xxx取出来作为标题,如果找不到那么就把标题命名为“没有标题”.(2) 只搜索网页的内容的主题部分。做网页时一定会有很多html代码在里面,而这些都不是我们想要搜索的,所以要去除它们。用正则表达式和strip_tags的配合,并不能把所有的都去掉。把$data=fread(fopen($dir/$file,r),filesize($dir/$file);/不搜索自身if($file!=”search.php”)/是否匹配if(eregi($keyword,$data)改为 $data=fread(fopen($dir/$file,r),filesize($dir/$file);if(eregi(+)(.+),$data,$b)$body=strip_tags($b2);else$body=strip_tags($data);if($file!=search.php)if(eregi($keyword,$body)(3) 标题上加链接foreach($array as $value)echo $value.n;改成foreach($array as $value)/拆开list($filedir,$title)=split(“ ”,$value,”2”);/输出echo $value.n;(4) 防止超时如果文件比较多,那么防止PHP执行时间超时是必要的。可以在文件头加上set_time_limit(“600”);以秒为单位,所以上面是设10分钟为限。所以完整的程序就是?phpset_time_limit(600);/获取搜索关键字$keyword=trim($_POSTkeyword);/检查是否为空if($keyword=)echo您要搜索的关键字不能为空;exit;/结束程序function listFiles($dir,$keyword,&$array)$handle=opendir($dir);while(false!=($file=readdir($handle)if($file!=.&$file!=.)if(is_dir($dir/$file)listFiles($dir/$file,$keyword,$array);else$data=fread(fopen($dir/$file,r),filesize($dir/$file);if(eregi(+)(.+),$data,$b)$body=strip_tags($b2);else$body=strip_tags($data);if($file!=search.php)if(eregi($keyword,$body)if(eregi(.+),$data,$m)$title=$m1;else$title=没有标题;$array=$dir/$file $title;$array=array();listFiles(.,$keyword,$array);foreach($array as $value)/拆开list($filedir,$title)=split( ,$value,2);/输出echo $title .n;?4.2.3 新闻浏览的实现新闻浏览是注册用户在搜索查询后阅读的新闻。新闻页面的展示是通过调用新闻栏目实现的。新闻信息的发布和浏览都是通过标签调用新闻栏目中的新闻信息实现的,调用标签为ecmsinfo栏目ID/专题ID,显示条数,标题截取数,是否显示栏目名,操作类型,模板ID,只显示有标题图片/ecmsinfo。调用语句图5所示:图5 新闻调用语句4.2.4 新闻点击率排行的实现实现新闻点击排行的关键在于统计新闻点击数目,实现的关键代码如下: 0) ? intval($_GETarticle_id) : 0;/新闻的IDif ($article_id 0) $filename = $ROOT_PATH . log/click_log.txt;$s = ;if (file_exists($filename) $content = file_get_contents($filename);$d_ary = array();if ($content) $ary = explode(n, $content);foreach ($ary as $line) $data_ary = explode(|, $line);if (is_numeric($data_ary0) & is_numeric($data_ary1) $d_ary$data_ary0 = $data_ary1;if (array_key_exists($article_id, $d_ary) $d_ary$article_id = $d_ary$article_id+1;/将当前的新闻的点击数加1 else $d_ary$article_id = 1;foreach ($d_ary as $key = $val) $s .= $key . | . $val . n; else $s .= $article_id . |1 . n;/这个是初始化记录文件/写记录文件$fp = fopen($filename, w);/加入锁定if (flock($fp, LOCK_EX) / 进行排它型锁定fwrite($fp, $s);flock($fp, LOCK_UN); / 释放锁定 /fwrite($fp, $s);fclose($fp); chmod($filename, 0777);$last_update = file_get_contents(./log/last_update.txt);/取上一次更新的时间$last_update = intval($last_update);if ($last_update + $update_time) debug = true;$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;if (!$db-Connect($DB_HOST, $DB_USER, $DB_PASS, $DB_DATABASE) exit(服务器忙,请稍候再访问);$content = file_get_contents($filename);$d_ary = array();if ($content) $ary = explode(n, $content);foreach ($ary as $line) $data_ary = explode(|, $line);if (is_numeric($data_ary0) & is_numeric($data_ary1) $sql = UPDATE article SET hits=hits+ . $data_ary1 . WHERE id= . $data_ary0;$db-Execute($sql);/点击数更新完了,将这个记录文件清空$fp = fopen($filename, w);fwrite($fp, );fclose($fp); chmod($filename, 0777);/将最后一次更新时间改为当前时间$fp = fopen(./log/last_update.txt, w);fwrite($fp, time();fclose($fp); chmod(./log/last_update.txt, 0777);$db-Close();/关闭数据库连接exit();?5结论5.1 小结用PHP和MYSQLr技术来实现数学专业实践教学网的设计与研制,能够很方便地实现信息的发布和资料的下载等动态网站功能。同时使用CMS网站管理系统构架网站后台,实现可视化话的后台管理与简单便捷的后台操作,完成无论何地,有网的地方就能管理网站的理念。并且,基于Web界面的客户端,操作方便查询、统计信息快捷,极大地提高了工作效率。今后可以根据需要来增加更多的功能,如教材的转让和交易,照片和视频的发布,话题投票和网上调查分卷发布等。5.2 存在的不足由于开发时间短,网站信息量大,数学专业教学实践网的设计与研制更多的工作放在网站的构架和功能的实现,网页的整体美工相对简单和粗糙,比如色彩搭配,页面美化等还有待于改进,还可以再丰富一下,信息的采集也可以更丰富一些。这些都需要付出更多的时间和努力去完善和改进。5.3 今后进一步研究的方向今后还要进一步研究更多的网站开发技术,如ASP.NET,JSP等网站开发语言,使得能够更简单易操作的实现网站的前期开发和后期管理,从技术上来提高系统的使用和方便维护来完善系统。同时继续学习和研究Photoshop与flash等图片与动画制作处理软件,CSS技术等,以使得网站界面更工整,美观。参考文献:1孙东梅.Dreamweaver8+ASP完美动态网站设计M.北京:电子工业出版社,20072武欣,邵煜.PHP和 MySQL Web开发M.北京:机械工业出版社,20053鲍雷.Flash 8动画设计实例教程M.北京:机械工业出版社,20074袁国忠.Adobe Photoshop CS3中文版经典教程M.北京:人民邮电出版社,20085孙东梅.Dreamweaver CS3网页设计与网站建设详解M.北京:电子工业出版社,20086邹天思.PHP网络编程自学手册.北京:人民邮电出版社,20087叶新伟.PHP+Ajax Web 2.0 编程技术与项目开发大全.北京:电子工业出版社,20088张亚飞.PHP开发王. 电子工业出版社,20089王明亮.中国学术期刊标准化数据库DB,199810康佛斯著.马云译.PHP4宝典M.北京:电子工业出版社,2001-211王孟奎,韩笑著.PHP4实用教程M.北京:北京理工大学出版社,200212王石,杨英娜.精通PHP+MySQL应用开发M.北京:人民邮电出版社,200613骆耀祖,龚淘禹,刘鳢澄等.动态网页设计教程M.广东:中山大学出版社,200314张枭,新一代PHP+MySQL+Dreamweaver网站建设典型案例.北京:清华大学出版社,2006Design and Development on Practice Teaching Network of mathematics ProfessionAbstract: The thesis mainly stated that the harmonious combination of abstract mathematical thinking and mathematical software, computer programming. Web site software applications in mathematics and software programming for visual display, in order to execute the integration of existing teaching resources, all aspects of professional practice to improve teaching disciplines of mathematics teaching effectiveness. Thro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 零售行业销售数据保密制度
- 4-11最小公倍数的应用(导学案)-五年级下册数学人教版
- 大班下学期数学教案《分析图形特征》
- 大班健康教案公开课同顶
- 网络直播互动对讲调度平台方案
- 高校心理健康安全维护方案
- 中班数学教案:分类
- 药店客户关系管理方案
- 媒体机构危机应急预案
- 2022年苏科版物理中考一轮基础复习《第6课时 光的折射 透镜(2)》学案
- 全国教育期刊杂志社网址投稿邮箱电话地址一览
- GB/T 11836-2023混凝土和钢筋混凝土排水管
- 第三章 继承优良传统 弘扬中国精神
- 科幻小说赏读智慧树知到答案章节测试2023年杭州师范大学
- 中国阴道炎诊治课件
- 微生物生物转化
- 冠心病的护理心得体会(11篇)
- 学生心理健康档案表格
- (新版)金属冶炼(铅、锌冶炼)主要负责人考试题库(含答案)
- 月光下的中国 诗歌朗诵词 作者:欧震
- 2023年神东煤炭集团招聘笔试题库及答案解析
评论
0/150
提交评论