




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第.1系统概要设计模型由于系统数据收集的实时性要求并不高,因此采用B/S结构来进行设计是合理可行的。图3.1是本系统的网络应用原理示意图:Internet上的用户Internet上的用户Internet校园新闻发布系统系统服务器系统后台数据库图3.1网络应用原理示意图4基于PHP的新闻发布系统详细设计4.1系统总体设计4.1.1系统结构校园新闻发布系统校园新闻发布系统新闻分类管理注册会员管理新闻管理评论管理新闻公告发布管理系统基本设置图4.1.1系统功能结构图4.1.2系统后台管理帐号及密码是否正确帐号及密码是否正确输入用户ID及password系统设置管理新闻分类管理新闻管理新闻添加新闻评论管理用户管理YN管理员登陆管理员页面图4.1.2系统后台管理程序流程图4.2系统建模4.2.1系统用例图图4.2.1系统用例图4.2.2系统类图图4.2.2系统类图4.2.3系统顺序图
图4.2.3(1)浏览新闻时序图
图4.2.3(2)会员登录时序图
图4.2.3(3)新闻管理时序图
图4.2.3(4)添加新闻时序图
图4.2.3(5)栏目管理时序图4.3系统模块功能描述4.3.1管理员后台新闻发布模块新闻发布模块对于新闻发布系统来说是最主要的一个模块。本系统的新闻发布系统模块中发布的信息包括了新闻作者,新闻标题,新闻内容,新闻来源,新闻发布的时间以及用户点击次数等。管理员用户可以通过后台的新闻发布页面填写相关的内容,然后点击发布新闻,即可将自己的新闻发布出去。新闻发布的过程简单易行,新闻由管理员在后台直接发布,无需验证和批准直接可以在新闻发布系统的主页面上显示最新的新闻内容。4.3.2管理员后台新闻管理模块管理员将新闻发布以后,难免有出错或者需要修改的时候。因此在设计后台的时候针对此需要,我们设计了管理员后台新闻管理模块。此管理模块是对已经发布出去的新闻进行修改编辑或者删除。同时也是新闻发布系统管理新闻的最基本的功能。此权限也只能是管理员才可以对此进行操作,对于游客身份的用户和已经登录的会员用户则均不可以对此进行操作。4.3.3管理员后台新闻类别添加模块为了满足用户对新闻的分类浏览,我们设计了新闻的分类浏览功能。因此,在后台的管理中我们首先要建立管理员后台新闻类别添加的模块。管理员要发布的新闻是有一定的分类的。首先管理员要添加自己所要发布新闻的新闻分类,以便在以后发布新闻的时候可以根据已经添加的新闻分类,自然地将需要发布的新闻进行分类。同时网页中的新闻分类里也显示已发布的新闻。这样用户在针对哪一类的新闻进行浏览时,可以在第一时间看到最新的新闻。如果网站需要宽展发布一些新类型的新闻,就可以动态的控制不同种类的新闻,可以做到新闻种类无限扩展。因此,此模块可以大大的增加动态网站的动态性,避免过的冗余操作。为管理员减少工作量,方便维护整个庞大的网站。4.3.4管理员后台新闻类别管理模块为了满足用户对新闻的分类浏览,我们设计了无限新闻类型添加的功能。与此同时,新闻的分类管理也是必不可少的一项模块。我们针对已经添加过的新闻进行修改或者直接删除,保证管理员可以对新闻分类进行任意操作。动态的控制整个新闻发布系统的新闻分类功能。同时也满足了不同用户对不同类型的新闻浏览的要求。使得这个新闻发布系统更有实用性,更人性化的管理。5基于PHP的新闻发布系统数据库设计数据库设计是CMS系中数据库设计的核心。数据库设计直接决定CMS系统的功能流程和运行系统的效率。因此,数据库的设计则需要深思熟虑。务求做到兼顾新闻发布系统的各项功能5.1数据库概念设计5.1.1数据库实体(1)新闻实体:对于新闻实体我们根据需要对其设计了:新闻ID、题目、内容、发布时间、作者、来源、点击次数、新闻分类这8个字段。如图所示:图5.1.1(1)新闻实体图(2)管理员实体:对于管理员实体,我们根据需求设计了管理员ID、登录账户、密码这个3个字段。如图所示:图5.1.1(2)管理员实体图(3)新闻类别实体:对新闻类别的实体分析后,我们设计了新闻类别ID和新闻类别的名称这2个字段。如图所示:图5.1.1(3)新闻类别实体图5.2数据库逻辑设计字段名类型长度是否为空主键外键备注描述IdINT10NoYesNo+1新闻编号CidINT10NoNoNo所属分类TitleVARCHAR255NoNoNo标题BodyTEXTNoNoNo新闻内容KeyVARCHAR255NoNoNo关键字PosttimeDATETIMENoNoNo发布时间AuthorVARCHAR20NoNoNo发布者FromVARCHAR20NoNoNo新闻来源BrowseINT10NoNoNo缺省‘0’浏览量IscommentTINYINT1NoNoNo缺省‘1’是否允许评论DefaultPicUilVARCHAR255NoNoNo图片IncludePicTINYINT1NoNoNo缺省‘0’是否含图片表5.2.1content字段名类型长度是否为空主键外键备注描述UidINT10NoYesNo+1会员编号UsernameCHAR20NoNoNo会员帐户PasswordCHAR50NoNoNo登录密码TimeDatetime10NoNoNo注册时间EmailCHAR30NoNo邮箱LevelINT1NoNoNo权限等级IpCHAR16NoNoNoIp地址表5.2.2user字段名类型长度是否为空主键外键备注描述CidINT10NoYesNo+1分类编号PidINT10NoNoNo缺省‘0’上级idNameVARCHAR20NoNoNo分类名称表5.2.3category6基于PHP的新闻发布系统实现与测试6.1系统实现6.1.1新闻发布页面及核心代码如下图所示,是本新闻发布系统的新闻发布页面,新闻的ID数据库自动累加用户不需要对其进行编号。发布时间的也不需要用户添加,系统会帮你自动添加发布新闻的时间。新闻标题、作者、新闻来源、新闻类型以及新闻内容等则是用户必须编辑的内容,用户填写好要发布的新闻后点击发布,新闻成功发布后,系统将给与成功发布的信息提示。图6.1.1新闻发布页面核心代码:?php}else:{ if(isset($_POST)) $postArray=&$_POST;//4.1.0orlater,use$_POST else $postArray=&$HTTP_POST_VARS;//priorto4.1.0,useHTTP_POST_VARS $cid=$postArray['cid']; $title=$postArray['title']; $author=$postArray['author']; $from=$postArray['from']; $key=$postArray['key']; $iscom=$postArray['iscom']; $body=$postArray['EditorDefault']; $imgPath=""; $includePic=0; //找到校园新闻封面图片 if(preg_match_all("/\/[^\/]+\.(jpg|jpeg|png)/",$body,$img)){ for($i=0;$i<count($img[0]);$i++){ $path="{$sitePath}{$upPath}image{$img[0][$i]}"; if(strpos($body,$path)){ $imgPath="image{$img[0][$i]}"; break; } } } if(!empty($imgPath)){ $includePic=1; } $sql="INSERTINTO`content`(`Id`,`Cid`,`title`,`author`,`browse`,`posttime`,`from`,`body`,`key`,`iscomment`,`defaultPicUrl`,`includePic`)VALUES(NULL,'$cid','$title','$author','0',NOW(),'$from','$body','$key','$iscom','$imgPath','$includePic');"; $rs=mysql_query($sql); if($rs){ echo"<center><h2>添加校园新闻成功!</h2><br/>请点击<ahref='article_add.php'>这里</a>继续添加!</center>"; }else{ echo"<center><h2>添加校园新闻出错!</h2><br/>请点击<ahref='article_add.php'>这里</a>继续添加!</center>"; }}endif;?>6.1.2新闻管理页面及核心代码管理员用户登录以后点击新闻管理链接时,出现如下图所示的页面。此页面给予的权限是最高的,可以修改新闻和删除新闻,浏览需要修改的新闻内容点击操作选项:修改新闻和删除新闻。图6.1.2新闻管理页面修改新闻核心代码:$sql="UPDATE`content`SET`Cid`='$cid',`title`='$title',`author`='$author',`body`='$body',`posttime`=NOW(),`from`='$from',`key`='$key',`iscomment`='$iscom',`defaultPicUrl`='$imgPath',`includePic`='$includePic'WHERE`Id`='$id';"; $rs=mysql_query($sql); if($rs){ echo"<center><h2>修改校园新闻成功!</h2><br/>请点击<ahref='article_index.php'>这里</a>返回!</center>"; }else{ echo"<center><h2>修改校园新闻失败!</h2><br/>请点击<ahref='article_index.php'>这里</a>返回!</center>"; }删除新闻核心代码:<?php$id=$_GET["id"];$sql="deletefromarticlewhereid=$id";/*删除新闻*/if(mysql_query($sql)){echo("<scriptlanguage='javascript'>alert('恭喜您,删除成功!');window.location.href='index.php';</script>");?>6.1.3新闻栏目管理页面及核心代码为了实现新闻分类管理,我们设计了新闻的分类添加功能。因此我们在的后台管理模块中也要设计新闻分类管理模块。管理员登录后台以后,选择点击新闻类型管理,即可进入新闻分类管理的页面。如图6-1新闻分类管理页面。在不同新闻类别名称后面有添加和删除的两个管理操作。如果要对新闻分类进行修改,只需点击对应新闻分类行的修改,即可跳转到分类修改页面。如果要对新闻分类进行添加,只需点击对应新闻分类行的修改,即可跳转到分类修改页面,如下所示。图6.1.3栏目管理页面修改类目核心代码:<?phpif($_POST["action"]=="do"){$classname=$_POST["classname"];$classid=$_POST["classid"];/*获得参数传递*//*修改新闻类别*/$sql="updateclasssetclassname='".$classname."'whereclassid=$classid";if(mysql_query($sql)){echo("<scriptlanguage='javascript'>alert('恭喜您,修改成功!');window.location.href='index.php';</script>");exit();}else{echo("<scriptlanguage='javascript'>alert('失败,请联系管理员!');window.location.href='index.php';</script>");exit(); }} ?>删除类目核心代码:<?php$classid=$_GET["classid"];/*获得参数传递*/$sql="deletefromclasswhereclassid=$classid";/*删除用户分类*/if(mysql_query($sql)){echo("<scriptlanguage='javascript'>alert('恭喜您,删除成功!');window.location.href='index.php';</script>");exit();}else{echo("<scriptlanguage='javascript'>alert('失败,请联系管理员!');window.location.href='index.php';</script>");exit(); }?>添加类目核心代码:<?phpif($_POST["action"]=="do"){$classname=$_POST["classname"];$sql="insertintoclass(classname)values('".$classname."')";/*添加新闻分类*/if(mysql_query($sql)){echo("<scriptlanguage='javascript'>alert('恭喜您,添加成功!');window.location.href='index.php';</script>");exit();}else{echo("<scriptlanguage='javascript'>alert('失败,请联系管理员!');window.location.href='index.php';</script>");exit(); }}?>6.2系统测试6.2.1系统测试目的依据用户需求,概要设计和详细设计说明,设计测试用例,对软件系统进行测试。其目的是:1.测试是为了发现程序中的错误而执行程序的过程。2.好的测试方案是极有可能发现迄今为止尚未发现的错误测试方案3.成功的测试是发现了至今为止尚未发现的错误的测试。系统测试方法网页以及各项功能模块装配成一个完整的系统。并测试各项功能,查找是否有设计上缺陷或是编写代码时的错误,完成预期的各项功能,满足用户的需求。采取的测试方法是先对每个模块进行单独测试,确保准确无误。调试成功以后,再进行整合测试。确保整个网站功能流程顺利进行。在后台管理模块中,为了保证后台管理系统的安全性,管理后台系统只有管理员才有权进行管理其他普通的用户则是无权进入。因此,我们用Session的在判断用户的身份,给予不同的操作权限。因此,在系统测试中,各个网页的session值是否能正常安全的相互之间传递,是保证整个系统的权限划分和实现的关键。Session保存在服务器端,只对当前打开的浏览器有效,当浏览器关闭时,Session将自动被清空。安全性较高。因此,我们采用Session判断用户的权限。白盒法其测试的前提是可以把程序看成装在一个透明的白盒内,也就是完全了解程序的结构盒处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每一条通路是否能按预定的要求正确工作。黑盒法其测试前提是把程序看成一个黑盒子,完全不考虑程序的内部结构盒处理过程。也就是说黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当的接收输入的数据产生正确的输出信息,并保持外部信息的完整性。新闻发布系统的测试本系统主要采用“白盒测试法”。在编程过程中就随时测试,以便于及时发现错误、及时更正。采用设置“断点”的方法找到错误根源,逐步缩小错误范围排错。在测试过程中,要站在用户体验的角度,对系统不断提出假设,完善系统功能。7结束语本系统采用当前流行的PHP编程语言作为开发语言,Apache作为服务器,在数据库的设计上利用了Mysql技术,增添了设计的便利性和实用性。在开发过程中,将服务器端脚本编写环境(PHP)组合HTML页、脚本命令和Mysql数据库以创建交互的Web页和基于Web的功能强大的应用程序。实现了将校园新闻管理移植Internet的功能,实现了无纸化校园新闻,使人与人之间通过互联网搭起了一个沟通、共享的联络平台。本系统的开发耗时两个月,我与团队成员分工合作,认真完成各自所负责的板块。彼此之间及时进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广告位租赁合同协议围挡
- 劳务合同移交协议
- 书本代理协议合同
- 种植转让协议合同
- 合同变更协议期限
- 废旧车辆买卖合同协议书
- 品牌维护合同协议
- 购销合同撤销协议
- 废旧回收协议合同
- 房地产装修协议合同
- 2022年四川专升本考试真题及答案(语文)
- EDTA及其配位特性
- 人教PEP版四年级英语下册《Unit 6 全单元》课堂教学课件PPT小学公开课
- 餐饮部作业流程图
- 重庆市2022年高考(学业水平选择性考试)化学试题及答案解析
- WS/T 510-2016病区医院感染管理规范
- GB/T 7078-1997纺织品色牢度试验耐甲醛色牢度
- GB/T 39766-2021人类生物样本库管理规范
- GB/T 2518-2008连续热镀锌钢板及钢带
- 与圆有关的最值问题课件
- 全大学进阶英语综合教程2综合训练第一单元(含答案)
评论
0/150
提交评论