资源描述
福建商业高等专科学校 2009 届毕业论文校园网站系统学生姓名: 李成宣 学生学号: 09537022年 级: 2009 专 业: 软件技术指导教师: 邱文海 职 称: 讲 师 2012年 05 月毕业论文原创性声明毕业论文原创性声明兹呈交的毕业 论文,是本人在指导老师指导下独立完成的。本人在毕业论文写作中参考的其他个人或集体的研究成果,均在文中心明确方式标明。本人依法享有和承担由此论文而产生的权利和责任声明人: 李成宣2012 年 05 月 内 容 摘 要随着网络技术的迅猛发展, 当代学校纷纷建立自己的网站,借助于互联网扩大自己的影响、推广自己的声誉,同时通过互联网快速的信息传递加速自身的发展。因此我选择将学校网站的设计以及后台的管理作为我的项目。 (选择此项目的理由)本论文所研究的是如何建设一个符合学生要求的校园网站后台数据库管理系统,意在通过设计一个具有强大的数据管理功能的系统来管理前台页面中不断更新的数据,方便网站管理员日后对网站的维护和数据更新。本论文所提出的方案是采用现在比较流行的 php 技术配合网页三剑客(dreamweaver、fireworks、flash)等制作工具来设计和建设一个校园网站后台数据库管理系统。该系统的基本功能有校园的简介、校园概况、新闻中心、后台的管理等等。通过对校园网站需求的了解和对其他学校网站的参考,最终成功完成了一个虚拟校园网站的后台数据库管理系统。该系统完全能满足大部分学生了解校园的需要,可以作为许多学校建设网站的参考系统。该系统在 Windows XP+php+mysql+dreamweaver 平台下开发、实现。进行网页设计、制作及发布。使用 PHP 脚本语言进行 Web 开发。关键字关键字:PHP;MYSQL; dreamweaver;PHOTOSHOP; 校园网站目目 录录中文摘要. (3)1.引言.(6)2.可行性分析.(6)2.1 可行性研究的前提.(6)2.1.1 目的.(6)2.1.2 条件.(6)2.1.3 决定可行性的主要因素.(6)2.2 系统技术可行性分析.(7)2.2.1 开发环境的选择 .(7)2.2.2 编程语言的选择.(7)2.2.3 数据库服务器的选择 .(7)3.模块分析及总体设计.(8)3.1模块需求. (8)3.1.1 系统结构分析.(8)3.1.2 功能描述.(8)3.1.3 功能模块详细描述.(10)3.2 系统开发工具 . (10)3.2.1 系统开发所用技术.(10)4.模块开发设计.(10)4.1开发框架的设计. (10)4.1.1 模型设计.(10)4.2 数据库设计 . (10)5.系统设计.(11)5.1 首页登录界面.(11)5.2 校园简介.(21)5.3 其它页面.(22)6.总结 .(30)致谢.(30)参考文献.(31)01.引 言计算机是新技术革命的一支主力,也是推动社会向现代化迈进的活跃因素。计算机科学与技术是第二次世界大战以来发展最快、影响最为深远的新兴学科之一。计算机产业已在世界范围内发展成为一种极富生命力的战略产业。随着社会的发展,计算机网络日趋成熟,走进了我们的生活,成为我们生活的主流,同时也被广泛应用于教学,科研,事业等各个方面。所谓科研管理系统就是针对日常科研管理工作的具体要求而实现科研工作的网络化管理的一种系统,本系统的建设也是计算机网络飞速发展给人们带来方便的一种表现。本设计具有一般校园网站管理的功能,且体现出校园风格。该系统提供的功能包括校园的简介、校园概况、新闻中心、后台的管理等等。本系统的特点在于应用了 PHP 技术。它是一种简单的动态脚本语言,具有开放源码、执行速度快的特点。该技术还支持广泛的数据库连接 ,具有大量的扩展库,安全性能高,易学易用。2.可行性分析2.1 可行性研究的前提2.1.12.1.1 目的尽可能在最短的时间内确定完成系统模块,以便学校网站管理工作更加顺利进行。2.1.22.1.2 条件现所具有的软、硬件设备如下:开发设备:PC 机(CPU:Intel(R) Core(TM)2 CPU 4300 1.80GHz (2 CPUs) ,内存:2046MB)开发环境:Windows XP开发软件:php数据库服务器:MYSQL其它辅助工具:Dreamweaver 以上设备可以满足本系统的开发。2.1.32.1.3 决定可行性的主要因素一个良好的校园网站可以帮助我校网络化管理。完成此系统有助于网络管理沟通平台的构建,系统维护只要在后台进行编辑,前台的用户界面操作就能很好地按一定方式进行以达到你所要的效果。服务于学校工作人员的工作,具有较强的使用性。当1然,系统的完整性离不开各模块的完整性。2.2 系统技术可行性分析2.2.12.2.1开发环境的选择 1 PHP 的技术性能与特点 PHP 自出现以来,就得到了广泛的应用和迅速的发展。根据 Netcraft 的权威调查,截至2002 年 5 月,PHP 技术已被用于 1188121 个 IP 地址。36%的 Apache Web 服务器(WEB 上最常用的服务器)上都使用了 PHP, PHP 的最新版本PHP4 在其发表的头两个月就被下载 265000 次。这些统计数字说明, PHP 已经成为世界上最受欢迎的脚本语言之一。 由于 PHP 是专门为 Web 环境设计的服务器端嵌入式脚本语言,就其技术本身而言,具有其它 Web 开发技术不可比拟的优点。 (1)理想的动态网站开发工具。在交互式网站迅速取代静态 HTML 网站的今天,不少网站包含了成百乃至上千的网页,要网络管理员保证这么多相互分离的网页时时更新是不可能的。于是如今许多网站采用以 HTML 或 XML 网页展示信息,而以数据库存储数据的管理方式。这样,只要在数据库里更新一次信息,就可以将变化反映在使用这条信息的每一个网页上。PHP 能很容易的做到这一点:只要将 PHP 脚本嵌入 HTML,数据就会出现在网页中恰当的地方。 (2)专为网络环境设计。很多网站建设工具最初是为一些其它目的设计的。例如, Java是面向客户端而不是服务器端的应用小程序; Perl 编程语言被设计为系统管理工具,后来勉强用作网络开发语言,结果出现了如存储漏洞(memory leaks)这样的结构问题。而 PHP 是专为网络环境设计的,这意味着它有很多内建函数使得网络编程非常简单,程序员可以集中精力研究编程逻辑而不再浪费宝贵的开发时间了。 (3)跨多个平台。目前 PHP 可在 Windows、Unix、Linux 的 Web 服务器上正常运行,支持 IIS,Apache 等通用 Web 服务器,用户更换平台时,无需变换 PHP 代码,可即拿即用。 (4)极其强大的数据库支持。PHP 最强大也最有代表性的特点在于它的数据库层,它内置了对很多数据库的支持,而不再需要特殊扩充,使得编写基于数据库的网页变得非常简单。目前所支持的数据库有 Oracle、Adabas D、Sybase、FilePro、MSSQL、Velocis、MySQL、Informix、Solid、dBase、ODBC、Unix dbm、Postgre SQL、MSSQL SERVER 等。针对每个数据库都有一组函数用于数据库访问和操作,如对 d Base 数据库有dbhttp:/ - delete - record、dbase - get -record、dbase-numfields、dbase-numrecords 等函数,对 MySQL 有 mysql-close、mysql-connect、mysql-create-db、mysql-data-seek、mysql-dbname、mysql-db-query 等函数。(5)多种扩展功能模块。由于有了 PHP 源代码库,可以很容易地与一些特殊库连接。其中有适用于 PDF 文件、Flash 动画、电子货币、日历、XML、IMAP、POP 等等的模块。即使某些功能 PHP 不支持,也可以很容易地编写或下载一个扩展功能的模块。 (6)开放源代码。所有的 PHP 源代码都是公开的,这意味着不必等待软件生产商去修复软件中的错误,也不必每年花钱去更新版本。 当然, PHP 也存在一些缺点,比如缺乏规模支持和多层结构支持,所提供的数据库接口支持不统一,这使得它不适合应用于大型电子商务站点,而更适合一些中小型的商业站点。 基于 PHP 的动态 Web 数据库应用系统的工作原理 在动态交互式 Web 数据库应用系统中, PHP 语言在 Web 服务器端运行,这种技术在开发互联网应用程序时非常有用,将它和客户端脚本技术联合起来可以制作出功能极其强大的动态网页。其工作原理是:创建一个 PHP 应用程序,实际上相当于创建了一个 PHP 脚本文件。在服务器将输出信息发送到客户端之前,Web 服务器会率先将文件中的 PHP 语言进行加工处理。如果服务器不支持 PHP,通常情况下, Web 服务器会直接将超文本文件送到客户的浏览器上以表示对 HTTP 的要求做出应答;如果服务器支持 PHP,则服务器在对 PHP文件的请求作出响应时,会先在一个 PHP 文件内将标准的 HTML 编码直接送到浏览器上,而内嵌 PHP 程序则由 Web 服务器解释执行。 基于 PHP 的动态交互式 Web 数据库是一种典型的 B/W/D (浏览器/Web 服务器/数据库服务器)三层结构。BWD 模式以 Web 为中心,采用 TCP/IP 技术,以 HTTP 作为传输协议,客户端通过浏览器访问 Web 及其所连接的数据库系统。Web 浏览器与 Web 服务器之间的关系就类似于主机/终端结构中两者之间的关系, Web 服务器与数据库服务器之间的关系就像客户机/服务器结构中两者之间的关系。3.模块分析及总体设计3.1模块需求此系统主要供学校网站工作者使用,根据一般校园网站系统功能分析,将系统分为管理3员、用户两大模块。系统管理员模块包括:系统配置管理、会员信息管理、网站新闻管理、物品信息管理、管理员管理、登录日志管理。刚进入网站的非会员能够在此网站浏览和搜索信息。经过注册成为会员便能发布信息。此系统还考虑到用户利用穷举法破解密码,专门设置了用户和管理员登录日志,以便及时了解和防范。模块结构图如下图 3-1 所示:校园特色学校网站学校简介组织机构查询评论教育教学评论查询评论查询查询评论新闻系统管理分类列表新闻列表添加分类添加新闻帐号管理帐号列表修改资料添加帐号修改密码4图 3-13.1.1功能描述 该系统的基本功能有校园的简介、校园概况、新闻中心、后台的管理3.2系统开发工具开发软件:php3.2.1系统开发所用技术其它辅助工具:Dreamweaver,PHOTOSHOP3.2.2运行环境数据库服务器:MYSQL4.4.模块开发设计模块开发设计4.1.1控制器设计通过 IE 可浏览主界面,根据客户的请求来操作模型,并把模型的响应结果由用户界面展现给用户4.1.2视图设计系统模块开发中所用到的界面和后台代码4.2数据库设计数据库设计是项目开发中非常重要的一个环节,它是整个项目的根基,如果设计不好,在后来的系统开发,维护,变更和功能扩充时,将会遇到非常大的困难,大量工作可能需要重新进行。4.2.1数据库表设计的准则数据库设计一个表最好只存储一个实体或对象的相关信息,不同的实体最好存储在不同的数据表中,如果实体还可以再划分,实体的划分原则是最好能够比当前系统要开发的实体的颗粒度要小;数据库表的信息结构一定要合适,表的字段的数量一定不要过多;扩充信息和动态变化的信息一定要分开在不同的表里;对于出现多对多这样的表关系系统,尽量不出现。4.2.2数据库表的设计55.系统设计5.1 首页界面5.1.1 相关代码Read_config();$aboutus = $db-Read_danye(1);include(head.php);6? 用户登录 用户名称: 用户密码: var widths=209; /设置幻灯片宽度var heights=121; /设置幻灯片高度var counts=4; /设置幻灯片数量/设置图片路径img1=new Image ();img1.src=images/new-pic-1.jpg;img2=new Image ();img2.src=images/new-pic-2.jpg;img3=new Image ();img3.src=images/new-pic-3.jpg;img4=new Image ();img4.src=images/new-pic-4.jpg;/设置图片的 URLurl1=new Image ();url1.src=#;url2=new Image ();url2.src=#;url3=new Image ();url3.src=#;8url4=new Image ();url4.src=#;var nn=1;var key=0;function change_img()if(key=0)key=1;else if(document.all)document.getElementById(pic).filters0.Apply();document.getElementById(pic).filters0.Play(duration=2);eval(document.getElementById(pic).src=img+nn+.src);eval(document.getElementById(url).href=url+nn+.src);for (var i=1;icounts)nn=1;/设置图片切换间隔时间tt=setTimeout(change_img(),3000);function changeimg(n)nn=n;window.clearInterval(tt);change_img();document.write();document.write(.axxpadding:1px 10px;border-left:#cccccc 1px solid;);document.write(a.axx:link,a.axx:visitedtext-decoration:none;color:#fff;line-height:12px;font:9px sans-serif;background-color:#666;);document.write(a.axx:active,a.axx:hovertext-decoration:none;color:#fff;line-height:12px;font:9px sans-9serif;background-color:#999;);document.write(.bxxpadding:1px 7px;border-left:#cccccc 1px solid;);document.write(a.bxx:link,a.bxx:visitedtext-decoration:none;color:#fff;line-height:12px;font:9px sans-serif;background-color:#D34600;);document.write(a.bxx:active,a.bxx:hovertext-decoration:none;color:#fff;line-height:12px;font:9px sans-serif;background-color:#D34600;);document.write();document.write();document.write();document.write();for(var i=1;icounts+1;i+)document.write(+i+);document.write();10change_img(); 1 2 3 4 5 var $ = function (id) return string = typeof id ? document.getElementById(id) : id;11;var Class = create: function() return function() this.initialize.apply(this, arguments); Object.extend = function(destination, source) for (var property in source) destinationproperty = sourceproperty;return destination;var TransformView = Class.create();TransformView.prototype = /容器对象,滑动对象,切换参数,切换数量 initialize: function(container, slider, parameter, count, options) if(parameter = 0 | count = 0) return;var oContainer = $(container), oSlider = $(slider), oThis = this;this.Index = 0;/当前索引this._timer = null;/定时器this._slider = oSlider;/滑动对象this._parameter = parameter;/切换参数this._count = count | 0;/切换数量this._target = 0;/目标参数12this.SetOptions(options);this.Up = !this.options.Up;this.Step = Math.abs(this.options.Step);this.Time = Math.abs(this.options.Time);this.Auto = !this.options.Auto;this.Pause = Math.abs(this.options.Pause);this.onStart = this.options.onStart;this.onFinish = this.options.onFinish;oContainer.style.overflow = hidden;oContainer.style.position = relative;oSlider.style.position = absolute;oSlider.style.top = oSlider.style.left = 0; , /设置默认属性 SetOptions: function(options) this.options = /默认值Up:true,/是否向上(否则向左)Step:5,/滑动变化率Time:10,/滑动延时Auto:true,/是否自动转换Pause:2000,/停顿时间(Auto 为 true 时有效)onStart:function(),/开始转换时执行onFinish: function()/完成转换时执行;13Object.extend(this.options, options | ); , /开始切换设置 Start: function() if(this.Index = this._count) this.Index = 0; this._target = -1 * this._parameter * this.Index;this.onStart();this.Move(); , /移动 Move: function() clearTimeout(this._timer);var oThis = this, style = this.Up ? top : left, iNow = parseInt(this._slider.stylestyle) | 0, iStep = this.GetStep(this._target, iNow);if (iStep != 0) this._slider.stylestyle = (iNow + iStep) + px;this._timer = setTimeout(function() oThis.Move(); , this.Time); else this._slider.stylestyle = this._target + px;this.onFinish();14if (this.Auto) this._timer = setTimeout(function() oThis.Index+; oThis.Start(); , this.Pause); , /获取步长 GetStep: function(iTarget, iNow) var iStep = (iTarget - iNow) / this.Step;if (iStep = 0) return 0;if (Math.abs(iStep) 0 ? 1 : -1);return iStep; , /停止 Stop: function(iTarget, iNow) clearTimeout(this._timer);this._slider.stylethis.Up ? top : left = this._target + px; ;window.onload=function()function Each(list, fun)for (var i = 0, len = list.length; i len; i+) fun(listi, i); ;var objs = $(idNum).getElementsByTagName(li);var tv = new TransformView(idTransformView, idSlider, 277, 5, onStart : function() Each(objs, function(o, i) o.className = 15tv.Index = i ? on : ; ) /按钮样式);tv.Start();Each(objs, function(o, i)o.onmouseover = function()o.className = on;tv.Auto = false;tv.Index = i;tv.Start();o.onmouseout = function()o.className = ;tv.Auto = true;tv.Start();)/test2var objs2 = $(idNum2).getElementsByTagName(li);var tv2 = new TransformView(idTransformView2, idSlider2, 736, 5, onStart: function() Each(objs2, function(o, i) o.className = tv2.Index = i ? on : ; ) ,/按钮样式Up: false);16tv2.Start();Each(objs2, function(o, i)o.onmouseover = function()o.className = on;tv2.Auto = false;tv2.Index = i;tv2.Start();o.onmouseout = function()o.className = ;tv2.Auto = true;tv2.Start();)$(idStop).onclick = function() tv2.Auto = false; tv2.Stop(); $(idStart).onclick = function() tv2.Auto = true; tv2.Start(); $(idNext).onclick = function() tv2.Index+; tv2.Start(); $(idPre).onclick = function() tv2.Index-;tv2.Start(); $(idFast).onclick = function() if(-tv2.Step = 10)tv2.Step = 10; $(idReduce).onclick = function() tv2.Pause-=1000; if(tv2.Pause = 175000)tv2.Pause = 5000; $(idReset).onclick = function()tv2.Step = Math.abs(tv2.options.Step);tv2.Time = Math.abs(tv2.options.Time);tv2.Auto = !tv2.options.Auto;tv2.Pause = Math.abs(tv2.options.Pause); 学校简介 Profile 详细 18 新闻中心 FJSZ News 更多 query(select * from head_new where cid=1 and shenhe=1 limit 0,6);while($rownew = $db-fetch_array($quss) ? a class=normal href=newcon.php?id= title= target=_blank 公告信息 Notice 更多 query(select * from head_new where cid=2 and shenhe=1 limit 0,8);while($rownewg = $db-fetch_array($qusg) ? a class=normal href=newcon.php?id= title= 5.25.2校园简介215.35.3 新闻中心新闻中心225.45.4校园特色5.55.5 组织机构组织机构5.65.6 教育教学教育教学235.75.7 图书馆图书馆245.8 精品课程255.9 招生信息5.10 联系我们5.11 系统后台管理展示266.总结本次科研系统修改主要采用php+mysql+dreamweave等网站开发相关技术。通过本次系统的开发,增加了我对一个完整系统开发技术的熟悉程度和网站的开发经验,以及要怎样部署发布网站。一个系统中要怎样控制不同用户的权限,提供给不同用户有不同的数据及不同的操作功能。提高了系统开发的代码可读性和重用性,减少代码量,同时也方便系统代码的后期维护。打开各校网站基本上都是对自己学校的宣传窗口。通过互联网,提高自己学校的知名度,是广大策划者的共识。不难看出,现阶段各校对校园网的利用只局限在宣传这一主题上,宣传成了校园网建立的宗旨。如此简单地开发、利用网络技术,与网络本身所具有的丰富、快捷等特点相比,显得我们搞教育的人,实在落后网络时代很多,当引起教育自身的重视。致谢本次毕业设计及毕业论文制作中,我要诚挚地感谢我的指导老师邱文海老师,他不仅以他那严谨的治学态度、缜密的思维能力、娴熟的操作技巧深刻地影响着我,更以他那博大的胸怀潜移默化地影响我如何学会去宽容别人,笑着面对生活。让我感到三年中不仅积累了丰富的学识,更在如何做人上让我学到了很多,我将随身携带着它们,勇敢的踏上新的人生之路。邱老师多次询问设计进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。邱老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,27不仅授我以文,而且教我做人,虽历时三载,却给以终生受益无穷之道。对邱老师的感激之情是无法用言语表达的。从课题的选择到项目的最终完成,邱老师都始终给予我细心的指导和不懈的支持。尽管在作业过程中会碰到各种疑惑,在邱老师亲切的关怀和悉心的指导下我才得以顺利地完成此次的毕业设计及毕业论文。同时,我要感邱老师能于百忙之中抽出空来,认真、细致的修改我的论文。在此我谨向邱老师及那些支持过我、帮助过我并给予我宝贵意见的同学和朋友致以最诚挚的谢意和最崇高的敬意。参考文献1 Dan Orzech. PHP: Speaking the Language of Enterpris.2 魏应彬,等.PHP 技术及其应用.计算机与现代化,2000(5)3 魏应彬,等.用 PHP 建立动态 Web 网面.电脑学习,2001 (1)4 汪学明.基于 PHP 和 MySQL 的 B/W/D 三层结构动态 Web 数据库应用系统的研究与开发.贵州工业大学学报, 2001 (4)
展开阅读全文