基于PHP的考研论坛系统的设计与实现.docx

上传人:b****5 文档编号:7375974 上传时间:2023-01-23 格式:DOCX 页数:37 大小:912.33KB
下载 相关 举报
基于PHP的考研论坛系统的设计与实现.docx_第1页
第1页 / 共37页
基于PHP的考研论坛系统的设计与实现.docx_第2页
第2页 / 共37页
基于PHP的考研论坛系统的设计与实现.docx_第3页
第3页 / 共37页
基于PHP的考研论坛系统的设计与实现.docx_第4页
第4页 / 共37页
基于PHP的考研论坛系统的设计与实现.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于PHP的考研论坛系统的设计与实现.docx

《基于PHP的考研论坛系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于PHP的考研论坛系统的设计与实现.docx(37页珍藏版)》请在冰豆网上搜索。

基于PHP的考研论坛系统的设计与实现.docx

基于PHP的考研论坛系统的设计与实现

南阳理工学院

本科生毕业设计(论文)

学院(系):

软件学院

专业:

网络工程

学生:

秦梦霞

*********************

完成日期2015年05月

南阳理工学院本科生毕业设计(论文)

基于PHP的考研论坛系统的设计与实现

DesignandImplementationofForumforGraduate

SchoolExamSystemBasedonPHP

总计:

毕业设计(论文)30页

表格:

7个

图片:

22个

南阳理工学院本科毕业设计(论文)

基于PHP的考研论坛系统的设计与实现

DesignandImplementationofForumforGraduate

SchoolExamSystemBasedonPHP

学院(系):

软件学院

专业:

网络工程

**********************

学号:

**********

指导教师(职称):

耿凯峰讲师

评阅教师:

黄照鹤

完成日期:

2015年05月01日

南阳理工学院

NanyangInstituteofTechnology

基于PHP的考研论坛系统的设计与实现

网络工程秦梦霞

1[摘要]为了方便所有学子和父母们及时了解和交流考研的相关问题,设计了这个PHP考研论坛。

本文从分析软件项目的可行性出发,提出了基于B/S结构考研论坛系统的基本设计思想,主要使用PHP、MySQL开发,前台页面通过Dreameaver软件进行布局设计,并运用了页面模块化、信息发布的动态生成、静态页面显示等。

本系统实现的功能主要分为两类:

前台功能和后台功能,主要有:

用户注册与登录,发帖与回帖,帖子管理,用户管理,论坛系统,公告管理等功能。

[关键词]交流网站;PHP;MySQL;B/S模式

DesignandImplementationofForumforGraduate

SchoolExamSystemBasedonPHP

NetworkEngineeringMajorQinMengxia

1Abstract:

FortheconvenienceofallstudentsandparentstokeepabreastofrelevantproblemanddesignedthePHPPubMed,PubMedforum.Thispaperfromtheanalysisofthefeasibilityofthesoftwareprojectof,proposedbasedonB/Sstructurestudysectionoftheforumsystem,thebasicdesignidea,themainuseofPHPandMySQLdevelopment,frontpagebythesoftwareDreameaverforlayoutdesign,andusepagemodule,informationdisseminationofdynamicandstaticpagedisplay.Thesystemtoachievethemainfunctionisdividedintotwocategories:

frontandbackofficefunctions,mainlyhas:

userregistrationandlogin,postingandreplies,postmanagement,usermanagement,forumsystem,bulletinmanagementfunctions.

2Abstract:

Exchange;PHP;MySQL;B/Smodel

1引言

1.1项目开发的背景

近年的互联网的急速发展,网络已经波及了中国的各行各业,作为学子的我们更是不能离开互联网,而考研则是我们学生和家长最为关心的问题,那么势必要有一个好的考研论坛,来方便学子们交流及时了解考研的相关动态,来及时的调整我们学习的重点方向,所以这个考研论坛的开发有着重要的意义,从初期的综合性论坛到越来越多的专业性论坛中逐渐分离出来[1]。

在人们日常生活和工作经历中,专业性的论坛也是越来越受到人们的重视,数以万计的会员活跃在论坛中,为各个行业的兴旺和交流起到了很大的作用。

考研论坛是为考研的年轻人群搭建一个交流和学习的平台,随着电脑和移动手机不断普及,不但是学子们关心考研的问题,很多家长朋友也想了解这方面的相关知识,以便帮助孩子及时的掌握大的考研方向,所以这个论坛的建立是很有必要的,它会给很多人带来方便[2]。

基于对上述的认识,收集相关考研资料和数据,查阅有关文献及技术参数,对考研论坛实际需求等方面进行了研究和分析,发现现在的论坛普遍存在以下几个方面的弊端:

一个是大论坛分类繁多,没有什么特别的特色,而小型论坛因为技术财力等问题,往往又界面缺乏美观,访客稀少,而管理员疏于打理,致使人气更加微弱。

而专业性的技术人才望望都扎堆于大的论坛。

从这几个方面来看,我要设计的这个论坛一个是版块设置要合理,另一个是界面要突出考研相关问题重点,这样才能更好的吸引人气,也能将我的技术发挥到更好。

应该看到,互联网发展极为迅猛,随着互联网的普及,移动互联网也跟着发展起来,而在互联网上占有一席之地的论坛,特别是年轻人关心的问题要如何发展,这是一个很大的问题[3]。

因为它关系着年轻人一生的前途。

1.2项目开发的意义

考研论坛系统的实施具有如下现实意义:

第一,通过开发这次考研论坛系统,能够将自己所学的技术应用于实践的开发中,使自己不仅仅限于理论,更可以立足于实践,为毕业后做项目打下基础。

第二,考研是时下很多大学生和家长所感兴趣的问题,而通过系统游客可以自己注册登录,随时了解考研新动态,方便广大学子和家长。

第三,对于一些有用的帖子,系统能够稳定的保存帖子信息,而对于一些不符合要求的帖子,则不会被发表到论坛上。

这就极大限度的保持了信息的正确性和健康性等。

第四,通过整个论坛的开发我详细的了解了软件开发的流程,为日后走上工作岗位开发软件打下基础。

1.3本课题研究目标和内容

本课题旨在提高考研信息处理的精度、准确度和提高更新效率。

本课题研究内容为考研论坛管理系统工作中将要使用的信息化管理系统的设计与开发。

论文首先较为详尽地介绍了面向对象分析与设计的有关概念与技术。

接着对热点版块的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。

在论文的最后,我主要阐述了对系统界面、数据库等的设计与实现。

本考研系统采用结构化分析的方法,首先进行系统开发背景的介绍,系统的开发目的;接下来系统的关键技术以及系统开发模式的介绍;之后是系统分析,包括系统可行性分析,业务流程分析,数据流程分析和数据字典;然后是系统设计,包括功能设计和数据库的设计;接下来是系统实现,主要讲述了系统的界面实现;最后是系统测试,测试了本系统的功能和性能。

为了体现分散操作、统一管理的思想,根据上述的技术,将整个系统划分为论坛前台和管理后台两个部分。

2相关技术

2.1PHP

PHP是一种通用脚本语言,在大三的那一年学习了这样的一门与网页有关的语言。

它是一种HTML内嵌式的语言,可以在服务器端执行的嵌入HTML文档,语法吸收了C语言、Java和Perl的特点,在工作和生活中被广泛运用[4]。

PHP的语法十分的独特,它混合了C语言、Java、Perl以及PHP自创的语法。

PHP比CGI或Perl在执行动态页面的时候具有更快的速度[5]。

在比较动态页面的执行效率的时候,相对于HTML标记的CGI,用PHP做出的动态页面执行效率要高许多;PHP在执行过程中不但可以将程序嵌入到HTML文档中去执行而且还可以执行编译后代码,为了达到加密和优化代码运行,使代码的运行更迅速,编译是必不可少的。

PHP独特的语法混合了C语言、Java、Perl以及PHP自创新的语法。

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快[6]。

PHP在制作网页方面具有非常强大的功能,在PHP中可以实现所有的CGI的功能,几乎所有流行的数据库以及操作系统,PHP都支持。

在这些中最为重要的是PHP可以用C、C++进行程序的扩展。

2.2MySQL

MySQL是一个关系型数据库管理系统,目前属于Oracle公司。

它关联数据库管理系统,将数据保存在不同的表中,并不是将所有的数据都存放于同一个空间里,这样就很大程度的提高了速度和灵敏性[7]。

在所有访问数据库的语言中,MySQL的SQL语言则是最常用的标准化语言。

MySQL可以开放源码,在生活和工作中,选择MySQL作为网站数据库的一般都是中小型网站的开发。

为了使开发环境更良好,可以在开发的同时搭配PHP和Apache。

虽然与Oracle、DB2、SQLServer等大型数据库相比,MySQL有不足,但是由于MySQL是开放源码软件,可以降低总体拥有的成本。

支持 AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。

为多种编程语言提供了 API[8]。

这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和Tcl等,是一种灵敏都非常高的数据库。

2.3B/S结构

B/S结构就是浏览器和服务器相结合的一种结构。

随着Internet技术对C/S结构的一种变化或者改进的结构。

用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,事务逻辑在服务器端(Server)实现,形成所谓三层3.tier结构。

简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

局域网建立B/S结构的网络应用,可以在Internet/Intranet模式下数据库应用,使得易于把握、成本低。

并且一次性到位的开发,可以使不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;保护数据平台和管理访问权限,使得服务器数据库更安全[9]。

尤其是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

C/S与B/S区别:

最明显的区别是Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。

(1)硬件环境不同:

C/S一般建立在小范围的专用的学校环境上,局域网之间则通过专门服务器提供连接和数据交换服务。

B/S则是建立在广域网之上,例如电话上网、租用设备、信息自己管理。

有比C/S更强的适应范围,只要有操作系统和浏览器[10]。

(2)对安全要求不同:

C/S面向十分固定的用户群,在信息安全方面有很强的控制能力,一般高度机密的信息系统采用C/S结构适宜。

B/S发布部分可公开信息,但是是建立在广域网之上,对安全的控制能力弱,面向的是不可知的用户群。

(3)对程序架构不同:

C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。

B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。

比C/S有更高的要求B/S结构的程序架构是发展的趋势,从微软的.Net系列的BizTalk2000Exchange2000等,全面支持学校的构件搭建的系统。

SUN和IBM推的JavaBean构件技术等,使B/S更加成熟[11]。

(4)系统重用不一样:

在使用C/S程序的过程中,我们必须整体性考虑,而在B/S要求下的构件的重用性明显要优于在C/S要求下的构件的重用性。

B/S对的多重结构,要求构件相对独立的功能,能够相对较好的重用。

(5)维护系统不同:

C/S程序具有整体性,所以要整体考察,处理出现的问题以及系统升级。

再做一个全新的系统B/S构件组成,方便构件个别更换,实现系统无缝升级。

系统维护开销减到最小。

用户从网上自己下载安装实现升级。

(6)处理问题不同:

C/S程序可以处理用户面固定,在相同区域,安全要求高需求,与操作系统相关,都是B/S建立在广域网上,面向不同的用户群,分散地域,而C/S则无法做到,与操作系统平台关系最小[12]。

(7)用户接口不同:

C/S是建立在Window平台上,表现方法有限,对程序员要求较高;B/S则是建立在浏览器上,有更加丰富和生动的表现方式与用户交流。

并且大部分难度减低,减少开发。

(8)信息流不同:

C/S程序一般是典型的中央集权的机械式处理,交互性相对低。

B/S信息流向可变化,信息、流向的变化,更像交易中心。

2.4SQL语言

SQL语言广泛地被采用正说明了它的优点。

它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。

它的优点如下:

(1)非过程化语言

SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。

SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。

所有SQL语句接受集合作为输入,返回集合作为输出。

SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。

SQL不要求用户指定对数据的存放方法。

这种特性使用户更易集中精力于要得到的结果。

所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。

查询优化器知道存在什么索引,使用在哪儿合适,而用户从不需要知道表是否有索引,表有什么类型的索引[14]。

(2)统一的语言

SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。

基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。

SQL为许多任务提供了命令,包括:

查询数据在表中插入、修改和删除记录,建立、修改和删除数据对象,控制对数据和数据对象的存取,保证数据库一致性和完整性。

以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中[13]。

(3)SQL是所有关系数据库的公共语言

由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。

所有用SQL编写的程序都是可以移植的[15]。

SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。

它是可以移植的,并且容易学习使用。

但是所有SQL语句都必须由数据库服务器独立地执行。

这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。

所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。

如果使用了PL/PGSQL,那么可以把一块运算和一系列查询在数据库服务器里面组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。

通过使用PL/PGSQL,应用可以获得可观的性能提升[16]。

3需求分析

3.1系统可行性分析

在建立这个考研论坛的时候,为避免投资失误,保证新系统的成功开发和运行,将我们从技术、经济和社会三方面对本系统的可行性进行分析和研究。

3.1.1技术可行性

根据一个小型论坛提出的系统功能、性能及实现系统的各种约束限制性条件,在衡量所需的技术是否具备的时候,一般是根据新系统目标来衡量。

我所做的考研论坛系统是包含数据库管理和查询的一个系统,我们可以很乐观的进行估计,利用现有技术条件完全可以达到该系统的功能目标,这是因为现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好。

开发期限考虑给予的较为充裕,可以在规定的期限内开发完成预计系统。

因此该开发系统具有技术可行性。

3.1.2经济可行性

通过对本系统的分析研究,主要从成本和效益两方面进行分析其经济可行性:

(1)支出

本系统的设计是为了完成毕业设计,所以用到的都是一些开源软件或在试用期的软件,所以开发系统软件费用不用考虑。

如果本系统运行,需要把适用版的软件编写的代码用一些开源工具编译一次即可,所以运行的软件费用也不存在。

在硬件方面,开发本系统只需要一台电脑,所以开发系统硬件费用也不用考虑。

如果本系统运行,只需要花费一些钱在网上购买个空间并注册一个域名。

但是这个费用是相当少的。

综上所述,本系统的支出成本很少,可以承受。

(2)效益

本系统的效益可以从经济效益和社会效益两方面考虑。

其经济效益主要来源于系统的广告收入,我们可以邀请些销售考研资料的企业为我们网前些天投放广告,其收入会远超过系统的开发和运行成本。

系统投入运行后可以基本满足所有用户的需求,减少用户的查询时间,提高查询效率,这些都是社会效益。

并能起普及一些考研知识,来更好的促时学习,帮助有上进心的朋友来完善自己的学业人生。

因此,考研论坛系统在不管是在经济上还是在它的社会效益上都是可行的。

3.1.3社会可行性

本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。

(1)法律因素

考研论坛系统是经过努力在结合实际情况下进行开发出来的,经过了大量的调查问卷所得出的,并且是在独立的环境下得出的,我们禁止抄袭。

(2)用户使用可行性:

本系统需要用户具备在MicrosoftWindows平台上使用个人电脑的知识。

使用系统的管理员在投入使用前,无需对操作系统的人员进行培训。

这样既减少投入成本又简化了操作环节。

由以上分析可知,本系统具有社会可行性。

3.1.4系统功能性分析

本系统实现的功能主要分为两类:

前台功能和后台功能,主要有:

用户注册与登录,发帖与回帖,帖子管理,用户管理,公告管理等功能。

(1)前台功能

用户注册模块是为了方便广大用户使用这个信息系统设计的,为以后的考研信息发布、信息交互以及论坛交流提供个人基本的资料等功能。

用户通过贴子的形式迅速、便捷地发布自己的心得体会。

为充分展现网站读者与作者的交互性,采用动态网页技术实现信息在线发布。

论坛主题的发布和回复以及留言功能,主要包括文字形式和图片形式。

 实现用户信息的管理功能,主要包括修改用户的基本信息和修改用户的登录密码等。

用户登录模块主要实现用户登录验证,通过用户登录页面对用户进行校验。

用户在登录前要先注册,输入用户名、性别、密码等进行注册。

在登录过程中输入用户的帐号和密码,正确则进入,错误则返回再输入。

(2)后台功能 

论坛帖子管理要实现对帖子的管理功能,主要包括论坛帖子的审核、论坛帖子的删除、论坛帖子的置顶和论坛帖子的推荐等。

论坛主题回复管理要实现对回复内容的管理,主要包括回复内容的审核、回复内容的删除和回复内容的屏蔽等。

论坛版块管理模块要实现论坛版块信息的功能,主要包括论坛版块信息的添加、删除、修改、移动和屏蔽等。

 论坛公告管理要实现对公告的管理功能,主要包括公告的添加、删除、修改和置顶等。

 实现论坛贴子后台管理中的各种查询,如按照回复数量查询、按照贴子关键字查询、贴子类型查询和按照发表时间查询等。

后台功能主要是系统管理员进行管理。

3.2业务流程分析

在进行业务流程分析时,为了能够弄清楚各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等,我们通常要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求。

业务流程分析的作用有很多,一般在进行该业务处理过程中,可以帮助开发者更好了解,也能更加迅速的发现和处理系统调查工作中的错误和疏漏。

我们可以通过业务流图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程,如图3-1所示。

图3-1业务流图

4系统设计

4.1系统设计目标

系统开发的总体任务是实现本考研论坛管理从游客提出注册申请到会员信息管理的规范化和自动化,从而达到奔本考研论坛管理工作高效率的目的。

使得信息传递更加的迅猛快捷,实现无纸化、办公信息化管理,以提高信息传播的迅速性和正确性,减少人力、物力的投入。

计算机的资源是受到限制的,因此要充分利用PHP技术和MySQL的功能,设计出功能强大的软件,同时要尽可能减少对系统资源的占用,界面的设计上讲究方便、灵活,这样用户使用起来非常之简便,对本系统要求有良好的安全性和保密性。

4.2系统设计思想

4.2.1先进性

本系统采用先进的计算机、网络和数据库技术,选用具有良好发展前景的产品,为系统的应用及开发创造一个良好的环境,使系统具有先进性,并在相当长的时期内不失其先进性。

4.2.2实用性

随着Internet技术的发展,人们的日常生活已经离不开网络。

Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,考研也是近年人们最关注的热点问题。

而此时本考研论坛管理信息管理系统就能发挥其优越性和实用性,且用户界面做到直观、友好,使用本系统的相关人员只需经过简单培训即可操作。

4.2.3可靠性

系统采用Win7操作系统和MySQL数据库,确保数据的一致性和完整性,并使系统免受病毒感染。

提供完善的数据备份方案和系统崩溃后的恢复手段。

4.2.4可扩充性

本系统采用B/S模式的网络系统拓扑结构灵活,适应性强,易于扩展;用户的增减不影响系统的运行;系统设备配置灵活方便,兼容性和开放性好,便于升级;同时采用PHP先进的封装技术实现业务逻辑与程序模块相互独立,具有高度的程序独立性和数据独立性,使本考研论坛管理系统业务的变更对系统的修改减至最小,方便了系统的扩充和修改。

4.2.5安全保密性

系统在系统级、数据库级和应用级提供三级权限控制功能,检查用户是否具有合法身份和权限,以防止非用户的入侵或数据的不合法使用,有效地保证数据的安全性。

4.3系统功能设计

把系统需求转换成用系统表示的过程就是系统设计。

我在做这次考验系统的总体规划的前提下,先分析并研究了目标系统,我认为这是全面开发系统的重要基础。

制定出此次考研论坛系统的总体规划的时候,是立足于对考研论坛系统全面分析调查的基础之上的。

系统设计包括五个模块,分别是:

系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。

在对数据流图进行分析的基础之上,我从数据流图出发,得出的层次化的模块结构图。

考研论坛系统前台功能模块图如图4-1所示:

图4-1考研论坛系统前台功能模块图

会员注册:

未注册的游客可以通过此模块填写所要注册的用户账号和密码。

当点击注册按钮时,系统会自动检测所要注册的账号是否已被注册并给予用户提示(如果账号已存在时,系统提示用户已存在);注册成功后系统会自动登录用户注册的账号并跳转至系统首页。

修改信息:

点击系统右上角的修改资料,进入用户个人资料修改页面,填写完要修改的信息后单击确定即可修改用户个人信息;

发帖:

用户登录以后进入发帖页面,填写完发帖标题、发帖内容等信息以后,单击提交按钮,发帖成功。

回帖:

用户登录以后,进入帖子的详情页面点击,点击我要发帖可以对该帖子进行回复。

考研论坛系统后台功能模块图如图4-2所示:

图4-2系统后台功能模块图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1