新闻发布系统-Web课程设计_第1页
新闻发布系统-Web课程设计_第2页
新闻发布系统-Web课程设计_第3页
新闻发布系统-Web课程设计_第4页
新闻发布系统-Web课程设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书课程设计名称:Web课程设计课程设计题目:新闻发布系统学院名称:信息工程学院专业:计算机科学与技术班级:学号:姓名:评分:教师:时招军、胡建明2014年6月15日目录TOC\o"1-3"\h\z\u199571、系统分析 255442、系统设计 5104313、数据库的设计与实现 7302353.1数据库需求分析 7272833.2数据库逻辑设计 7261674、系统实现 10235734.1查看新闻类别 1092884.2删除新闻类别 11250144.3添加成功 12279154.4增加新闻类别 12120634.5命名规则 13286335、系统测试 13161825.1系统功能分析 13269265.2测试内容 14320145.2.1功能测试 14159435.2.2数据库操作与安全测试 14116425.3测试举例 1528115.3.1功能测试 15261435.3.2调试过程中遇到的问题 18232785.3.3部分问题解决方法 1815955.4测试结果 19209495.4.1后台管理模块测试 1916585.4.2用户系统模块测试 20251886、实验小结 21292087、参考文献 221、系统分析门户网站和企业内部信息系统都设有新闻频道,新闻频道系统主要是为了实现网上新闻实时动态显示及管理的系统,一个典型的新闻频道系统都应该包括两部分,一部分是面向上网用户的,提供新闻标题分类显示、新闻消息内容显示、相关新闻列表、新闻评论等功能。另一部分是面向系统后台管理者的,提供新闻维护和新闻栏目管理的功能。根据新闻频道的基本需求,该系统要完成的具体任务如下。1.新闻标题分类显示,在进入新闻主页时,应该能够列出各个栏目以及该栏目中最新的新闻,还应该提供按栏目查看该栏目下全部新闻信息的功能。2.查看新闻详细内容,在选择要查看的新闻之后,应该可以显示该新闻的全部详细信息,包括新闻标题、详细内容、作者信息、新闻来源、加入时间以及该新闻的评论信息。3.相关新闻显示,当用户查看新闻详细内容时,可以浏览与该新闻相关的新闻列表,方便用户查看。4.新闻评论相关功能,查看新闻内容时可以发表对新闻信息的看法,该系统还要实现新闻评论的模块,查看新闻详细内容时可以看到该新闻评论信息数,同时也应该提供查看新闻评论详细内容的入口,评论信息的页面可以看到全部的评论信息,同时能够看到评论信息的支持与反对情况,还能够添加对该新闻的评论信息,同时可以投票支持或反对某一条评论信息。新闻栏目信息后台管理的功能,任何一个新闻频道系统栏目可能都不是固定,如所有的新闻频道可能都有国内新闻、国际新闻,但是不同的系统都有各自的特殊需求,有的企业系统可能要包括一个与汽车有关的栏目,而有的企业可能更关注娱乐信息或者在一个系统中,在某一时间要添加新的栏目来丰富新闻频道的内容。这样,就要求新闻频道的栏目是可以定制的,新闻频道的维护人员可以添加新的栏目或者去掉已过时的栏目。通过对新闻频道系统的需求分析,可以得到新闻频道系统后台管理显示的UseCase图,如图1.1所示。图1.1新闻频道系统后台管理新闻频道前台管理显示的UseCase图,如图1.2所示。图1.2新闻频道前台管理该新闻频道系统的数据流图如图1.3所示图1.32、系统设计新闻频道系统中,总体来说应该包括两个模块:前台显示模块和后台管理模块。新闻频道系统的两个模块是面向不同用户的,前台显示面向上网用户,主要实现新闻信息的分类显示、新闻详细内容显示。相关系统结构图如图2.1所示图2.1系统结构图相关新闻显示、评论信息显示以及添加评论信息的功能,前台显示模块的UML活动图如图2.2所示。返回新闻列表查看评论添加评论信息查看新闻详细内容新闻分类显示进入新闻主页返回新闻列表查看评论添加评论信息查看新闻详细内容新闻分类显示进入新闻主页图2.2新闻频后台管理模块主要面向新闻频道系统管理员,主要实现新闻添加、新闻修改、新闻栏目添加和新闻栏目修改的功能,后台管理模块的UML活动图如图所示。登录失败退出系统删除类别添加类别删除评论删除新闻修改新闻添加新闻登录登录失败退出系统删除类别添加类别删除评论删除新闻修改新闻添加新闻登录图2.33、数据库的设计与实现3.1数据库需求分析新闻频道系统中,需要以下数据来保存相应的信息。1.新闻信息表,保存新闻信息的基本信息。2.新闻评论信息表,保存新闻评论信息。3.新闻栏目信息表,保存新闻栏目信息。4.用户信息表,保存新闻频道系统管理员的信息。3.2数据库逻辑设计1.新闻信息表图3.1新闻图3.1新闻表ER图根据以上需求,设计数据库表news来保存新闻信息,新闻信息的详细信息如表3.1所示。表3.1dbo_news新闻表:字段名数据类型是否为空是否主键默认值描述nidIntNoYes自动编号ntitleVarchar(100)yesnoNullmidintyesnoNull管理员表外键ndatetimedatetimeyesnoNull自动获取系统时间ntidIntyesnoNull新闻类型表外键外键ncontentTextYesNoNull2.新闻评论信息表图3.2新闻评论表ER图3.2新闻评论表ER图根据上述需求评论信息表字段的详细情况如表3.2所示。表3.2dbo_newsReplay新闻评论表:字段名数据类型是否为空是否主键默认值描述nridIntNoYes自动编号nidintyesnoNull新闻外键nrtitleVarchar(1000)yesnoNullnrdatetimedatetimeyesnoNull自动获取系统时间nrcontent textyesnoNull3.新闻栏目信息表图3.3新闻类别表图3.3新闻类别表ER图根据上述需求设计数据库表(newsType)保存新闻栏目,该表字段的详细信息如表3.3所示。表3.3dbo_newsType新闻类型表:字段名数据类型是否为空是否主键默认值描述ntidIntNoYes自动编号ntnameVarchar(20)yesnoNullntpictureVarchar(500)yesnoNull图片路径4.管理员信息表管理员信息表用于保存新闻管理系统的信息,该表比较简单,字段的详细信息如图3.4所示。图图3.4管理员信息表ER图表3.4dbo_manager管理员表:字段名数据类型是否为空是否主键默认值描述midIntNoYes自动编号mnameVarchar(20)yesnoNullmpasswordVarchar(20)yesnoNullmdatetimedatetimeyesnoNull自动获取系统时间mJBVarchar(2)yesnoNull上述四表的关系如下图3.5所示。图3.5关系表系统实现4.1查看新闻类别进入新闻类别信息页面之后,便可以看到一个新闻类别信息表如图4.1所示。可以按上一页下一页翻页查看不同的新闻类别的具体内容。图4.1新闻类别信息表4.2删除新闻类别在新闻类别信息表中点击操作一栏里面操作的点击删除,如图图4.2新闻删除类别信息表。片可以自由删除多余的新闻信息类别。图4.2新闻删除类别信息表这是一个专门用来对newsType表的数据javaBean进行删除操作的方法return返回true就删除成功,否则就失败。代码如下:publicbooleangetNewsTypeDelete(intntid){ Stringsql="deletefromnewsTypewherentid="+ntid; returnSQL.getSQL().getInsertAndUpdateAndDelete(sql);}publicbooleangetNewsTypeUpdate(NewsTypenewsType){ Stringsql="updatenewsTypesetntname=''{0}'',ntpicture=''{1}''wherentid={2}"; MessageFormatmf=newMessageFormat(sql);Object[]obj=newObject[]{newsType.getNtname(),newsType.getNtpicture(),newsType.getNtid()+""}; sql=mf.format(obj); returnSQL.getSQL().getInsertAndUpdateAndDelete(sql);}4.3添加成功当填写好信息信息后,点击添加新闻类别,就可以成功添加新闻类别。图4.3新闻添加类别信息表这是一个对newsType表的数据javaBean进行操作的javaBean对该表执行添,删,改,查的方法,return返回true就添加成功,否则就失败。publicclassNewsTypeDao{ publicbooleangetNewsTypeInsert(NewsTypenewsType){ Stringsql="insertintonewsTypevalues(''{0}'',''{1}'')"; MessageFormatmf=newMessageFormat(sql); Object[]obj=newObject[]{newsType.getNtname(),newsType.getNtpicture()}; sql=mf.format(obj); returnSQL.getSQL().getInsertAndUpdateAndDelete(sql);}4.4增加新闻类别当需要有新的新闻分类出来的时候,就点击添加新的新闻类别,点击添加新的新闻类别如图4.4添加新的新闻类别。图4.4添加新的新闻类别信息表4.5命名规则新闻类别中还需要有命名规则,不可随意命名:publicclassNewsTypeFileRenamePolicyimplementsFileRenamePolicy{publicFilerename(Filefile){ Stringf=file.getName(); //取出文件名中的的最后一个点的位置 intpos=f.lastIndexOf("."); //取出点之后的所有字符串 Stringext=f.substring(pos); //为了防止有相同的文件名,线程同步 //重新为图片命新名 StringnewFileName=null; synchronized(this) {newFileName=System.currentTimeMillis()+ext;} //返回一个不带文件名的路径和一个自创的图片名,合起来一个完整的工程目录 returnnewFile(file.getParent()+"/"+newFileName); }}5、系统测试5.1系统功能分析后台新闻发布:表5.1.1管理登陆新闻管理添加新闻管理员信息管理评论信息管理高级管理员普通管理员管理后台所有功能发布新闻分高级管理员登录和普通管理员登陆两种管理员对新闻的更新、删除、修改普通管理员功能,提供添加新闻功能高级管理员可以对管理员信息进行管理,普通管理员无权限管理员可以对用户评论信息进行删除用户功能:表5.1.2浏览新闻功能文章评论能成功进入新闻列表页面可以对新闻进行评论5.2测试内容5.2.1功能测试按照功能表对新闻中心管理系统进行一步一步地测试,测试的主要目的是发现实现和预期出现不符合的部分。在发现不符的情况下,按照序号记录发生的问题,问题的概要,发生的条件和推断导致问题的原因。5.2.2数据库操作与安全测试测试对数据库删除,写入,修改的操作,并根据数据库对权限的限制的要求,测试操作人员的权限度,进一步测试系统安全性与稳定性的目的。确保系统的安全机制不出现问题。5.3测试举例5.3.1功能测试设定系统的输入值,测试系统的输出值是否与期望值相符合。在Windows7系统上运行系统并采用微软公司的SQL数据库存储数据,在此基础上对系统功能进行测试。测试系统所需实现的基本功能,根据需求文档的要求设计测试例子。测试的输入输出举例如下:1、后台管理界面:输入管理员名称密码进入管理员界面。功能选用:页面跳转,新闻查看,发表新闻,新闻管理,信息加密图5.3.1新闻频道系统管理员登录界面图5.3.2新闻频道系统管理员后台管理界面2、管理员信息管理系统:输入:管理员注册信息,用户名,密码(分三组输入,包括正确组,密码错误组,账号错误组)功能实现:身份验证图5.3.3管理员登录是输入错误相应界面3、新闻欣赏基本功能:输入:进入新闻列表界面功能:提供用户查看新闻图5.3.4新闻列表界面4.数据库安全测试输入:普通管理员用户名与密码功能:普通管理员不能够管理管理员信息图5.3.5普通管理员登录成功界面5.3.2调试过程中遇到的问题1.验证码一直显示不出来。2.在进入新闻评论后的返回按钮出现异常。3.管理员信息插入不到数据库。4.管理员密码加密后写入不到数据库。5.3.3部分问题解决方法评论提交后不能返回解决方法:原因:参数&pagesize与&curpage在提交上层页面中丢失。解决方法:在NewsReplaySerlet.Java中修改见下面主要代码(斜体加粗部分):if(path.equals("/NewsReplyinsert.do4")){ Stringnid=request.getParameter("nid"); Stringnrtitle=request.getParameter("nrtitle"); StringnrContent=request.getParameter("nrContent"); Stringcurpage=request.getParameter("curpage"); Stringpagesize=request.getParameter("pagesize"); nrtitle=Utils.escapeHTML(nrtitle); nrContent=Utils.escapeHTML(nrContent); if(nid.equals("")|nrtitle.equals("")|nrContent.equals("")){ request.setAttribute("eoor","请输入完整的评论信息!!!"); request.setAttribute("path","NewsSelect.do3?id2="+nid+""); request.getRequestDispatcher("Eoeer.jsp").forward(request, response); return; } if(nrContent.length()>100){ request.setAttribute("eoor","评论内容不能大于100个字符!!!"); request.setAttribute("path","NewsSelect.do3?id2="+nid+""); request.getRequestDispatcher("Eoeer.jsp").forward(request, response); return; } NewsReplynt=newNewsReply(Integer.parseInt(nid),nrtitle, nrContent); md.getNewsReplyInsert(nt); response.sendRedirect("NewsSelect.do3?id2="+nid+"&curpage="+curpage+"&pagesize="+pagesize); }5.4测试结果5.4.1后台管理模块测试把本项测试中实际得到的动态输出(包括内部生成数据输出)结果同对于动态输出的要求进行比较,陈述其中的各项发现。输入数据预期输出结果运行输出结果结果正常是否正常测试输入数据1管理员注册注册成功注册成功√2管理员登陆登陆成功登陆成功√3分类查看分类显示新闻分类显示新闻√4查看新闻详情显示新闻详细信息显示新闻详细信息√5修改新闻数量新闻数量更新新闻数量没更新√6删除新闻该新闻删除新闻没有被删除√7查看列表显示新闻列表新闻列表没有显示√8添加新闻添加成功添加成功√9修改管理员信息修改成功修改成功√10评论信息的删除与批量删除删除成功删除成功√导致反常输入数据1注册:某项留空提示输入不能为空注册成功√2注册:用户名重复提示该用户已被注册提示该用户已被注册√3注册:两次密码不一致提示密码不一致提示密码不一致√4登陆:某项留空提示输入不能为空正常登陆(空帐号)√5登陆:密码错误提示密码错误提示密码错误√6登陆:未登录状态查看页面提示您未登录顺利查看√7搜索:关键字留空提示关键字不能为空显示所有新闻√8添加新闻:某项留空提示输入不能为空没有提示√9修改信息:某项留空提示修改内容不能为空修改成功√10新闻添加:某项留空提示输入不能为空没有提示√11新闻添加:新闻重复提示新闻重复没有提示√12新闻修改:某项留空提示输入不能为空没有提示√13新闻修改:新闻重复提示新闻重复没有提示√5.4.2用户系统模块测试把本项测试中实际得到的动态输出(包括内部生成数据输出)结果同对于动态输出的要求进行比较,陈述其中的各项发现。输入数据预期输出结果运行输出结果结果正常是否测试输入数据1分类查看分类显示新闻分类显示新闻√2查看新闻详情显示新闻详细信息显示新闻详细信息√3评论新闻新闻评论陈功新闻评论失败√4查看列表显示新闻列表新闻列表没有显示√5新闻评论:某项留空提示输入不能为空没有提示√6查看评论内容查看成功查看不成功√7从评论页面返回新闻列表返回成功返回异常√8从评论列表返回新闻列表返回成功返回异常√6、实验小结通过这次课程设计,我学到了很多的知识。在整个设计过程中,出现过很多的难题,但都在老师和同学的帮助下顺利解决的,在不断的学习过程中我体会到:课程设计是一个不断学习的过程,从最初对JSP网页编写问题的模糊认识到最后能够对该问题有深刻的认识,我体会到实践对于学习的重要性,以前只是明白理论,没有经过实践考察,对知识的理解不够明确,通过这次的做,真正做到理论与实践相结合。

一般我们组出了问题大家都会一起解决,集思广益。然后在一开始的时候,我们遇上几个问题,第一个,我们实际上用的是另外一个代码,但是我们按照书上连接池和Tomcat的配置方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论