版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学毕业设计(论文)用纸毕业设计(论文)资料设计(论文)题目:足球直播论坛的设计与实现指导老师班级:1014班姓名:论坛开发背景选题背景随着网络的不断发展,作为世界的第一运动足球,喜欢他的球迷不计其数,由于时差地域问题很多球迷没法现场看球,有一个好的发布直播链接的论坛是很有必要的。再者虽然现下中国足坛不景气,但是球迷的人数和热情度依旧不减,各大直播机构,如pptv,sina等等在比赛期间收视率居高不下,而在espn打拼多年的詹俊解说也因为球迷的热情来到sina做解说服务广大球迷,为了实时,准确的发布这些如俊哥这样球迷喜欢的解说解说的比赛也是很多球迷的需求。再者鉴于天下球迷是一家的准则,在论坛进行聊球,议球也是球迷们喜闻乐见的一个重要组成部分,经常一片评球的美文,可以引起很多人的共鸣。故本次毕业设计的内容是开发一个优秀的足球直播论坛,并且对足球直播论坛的测试,以达到完善,并且掌握软件测试的基本流程,寻找论坛的测试规律,总结其测试点。同时,通过毕业设计研究,将毕业设计与毕业实习相结合,培养从文档中获得信息的能力,综合运用所学知识分析问题和解决问题的能力;养成认真的工作态度、良好的工作作风,树立高尚的职业道德,争取为将来从事软件测试方面的工作打下良好的基础,为掌握软件测试积累宝贵的经历和经验。设计(研究)现状和发展趋势:相对于国外软件测试的悠久发展历史,我国的软件测试的起步较晚。由于起步时间上的差距,我国目前不论是在软件测试理论研究,还是在软件测试的实践上,和国外发达国家都有不小的差距。技术研究贫乏,测试实践与服务也未形成足够规模,从业人员数量少,水平层次也不够高。从总体上说,国内的软件行业的发展还很不成熟,软件测试更是处于弱势地位。目前,中国软件产业在产品功能和性能测试领域都存在着严重不足,中国软件企业已开始认识到,软件测试的广度和深度决定了中国软件企业的前途命运。国内软件测试人才紧缺的现状也已经凸现出来。未来软件测试技术会进入快速发展轨道,自动化软件测试技术应用将会越来越普遍,测试技术将不断细分.研究意义互联网正在融入我们的生活,影响和改变着我们的生活。网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,足球直播论坛正是一种供人们进行交流的网络空间。目前,网上论坛已不是新事物,许许多多的别具特色的论坛在网络上随处可见。为了体现论坛的特色,我搜索各式各样的论坛版面,为了改变网上现存论坛的普遍风格,追加功能,更便于管理,于是开发出一套界面友好美观的论坛系统。足球直播论坛是一个注册用户登录后能够浏览论坛上的帖子,并且游客能够注册成为用户。研究现状国内的BBS站,单线站还占大多数。随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来的拨号难和抢线难的问题将会加剧。尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。许多人同时拨号一个站台,不可避免地发生冲突。每回要拨上几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国BBS用户的一个难题。随着BBS活动的深入,国内已经出现了一些多线站,一次可以允许2人以上同时访问。
BBS的发展过程中,也出现了一些问题。由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。
1999年是中国网络的发展年。但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。包括一些厂商架设的BBS站,实用性还需要加强。今后,国内的BBS站将向着个性化和专业化的方向发展。现如今国内外最常用的三种动态网页语言是PHP(personalhomepage)、ASP(activeserverpage)和JSP(javaserverpage)。PHP可以在Windows、UNIX、Linux的web服务器上正常执行,支持IIS和Apache等一般的web服务器。微软开发的ASP功能强大,简单易学,但是只能在Windows系统下运行。UNIX下有Chilisoft的组件来支持ASP,但是ASP本身功能有限,必须通过与com的群组合来扩充功能。JSP基于平台和服务器的互相独立,出入支持来自广泛的、专门的工具包,服务器组件和数据库产品由开发商提供。这三种语言各有优缺点,根据BBS的用途不同,可以选择合适的语言来开发。现在,计算机与互联网的普及已经逐渐进入了机关、学校、企业和普通百姓家庭,互联网是一个新媒体,网络论坛是一种新的交流形式,这种交流形式被广大的用户接受是需要一个时间段的,在这个时间段中间,它的价值必然会被低估。而在这个时间段中,会有越来越多的用户意识到网络论坛的重要性,会越来越重视网络论坛,所以在这个阶段中,网络论坛的价格会不断的提升。享受不出门就能与人交谈的方便生活。论坛凭借它的实时性和真实性积累了大批的用户。网络论坛(BulletinBoardService简称:BBS)的是英特网上的一种用于信息服务系统。它提供一块电子公告板,每个用户都可以在上面输写,可发布信息或提出个人看法。大部分论坛都是由研究、教育、商业机构建立和管理.电子公告按照不同的主题、把主题分成很多个布告栏,布告栏的设立的依据是大多数BBS使用者的要求和喜好及回答,使用者可以阅读他人对某个主题的最新看法,也可以将自己的想法写到公告栏中。例已经不计其数,而且已经应用到各种站点上,可以说,各行各业的绝大部分的网站都使用到了网络论坛,大量的用户涌现在网络论坛上发表自己的意见等,给论坛更佳的规范管理提出了更高的要求。开发工具及技术开发工具此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和oracle数据库进行简要介绍。MyEclipseMyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。TomcatTomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。OracleORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。JSPJSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。内部对象说明:request客户端请求,此请求会包含来自GET/POST请求的参数;response网页传回客户端的响应;pageContext网页的属性是在这里管理;session与请求有关的会话;applicationservlet正在执行的内容;out用来传送响应的输出流;config代码片段配置对象;pageJSP网页本身;exception针对错误网页,未捕捉的例外B/S架构B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。B/S模式的优点:(1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。(2)业务扩展简单方便,通过增加网页即可增加服务器功能。(3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。(4)开发简单,共享性强。JavascriptJavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。Struts2简介Struts最早是作为ApacheJakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts是Apache软件基金会(ASF)赞助的一个\o"开源"开源项目。它最初是Jakarta项目中的一个子项目,并在2002年3月成为ASF的顶级项目。它通过采用Java\o"Servlet"Servlet/JSP技术,实现了基于JavaEE\o"Web"Web应用的Model-View-Controller〔MVC〕设计模式的应用框架〔Web\o"Framework"Framework〕,是MVC经典设计模式中的一个经典产品。而Struts2则是Struts的升级版本。它的优点在于:Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程;使用OGNL进行参数传递;强大的拦截器;易于测试;易于扩展的插件机制;系统需求分析功能需求本论坛具备一般论坛的功能,提供一个简单实用的足球直播论坛。具体的功能模块如下所示:(1)注册登陆。参与论坛的人注册自己的用户名及个人信息(详细一点),拥有论坛中的身份,可以获得更多的权限。(2)分版块浏览帖子。随着帖子数量的增多,话题相同或类似的帖子聚集在一起,引出了论坛系统新的扩展功能,即分版块浏览,属于同一版块的帖子讨论相同的话题。这样就使得对某一话题感兴趣的用户不会被其他帖子干扰,也有利于相同兴趣的用户互相讨论,不易跑题。(3)编辑帖子。发帖回帖的用户,如果需要修改更新自己发表的帖子内容,就引出了编辑帖子内容的这个扩展功能,提供给用户更新自己发言的选择。对于论坛管理员,可以编辑任何帖子的内容,有利于论坛的文明建设。(4)删除帖子。如果用户发表了不符合论坛规则的帖子,则需要管理员删除这些帖子,这就引出了删除帖子的扩展功能。(5)转移帖子。论坛划分了版块,如果帖子内容不属于所在版块的关注话题,管理员可以选择将此帖移动到所属话题的版块中去,这就引出了移动帖子的扩展功能,这个功能是随着版块功能的出现而出现的,版块将帖子进行了分组,从而提出了随版块移动帖子的要求。(6)置顶帖子。帖子一般是根据发表及回复时间倒序排列的,这样先发的帖子慢慢就排到后面,管理员如果需要强调某些帖子重要,有必看性,就要打乱默认的排列顺序,将这些帖子放在列表的最前端,不再按照时间进行顺序的变化,但是还要保证其他帖子按照时间变化顺序进行排序,这就引出了置顶帖子的扩展功能。(7)指定精华帖。如果管理员认为某个帖子的内容非常好,可以打上标记,推荐给看帖的用户,这就引出了指定精华帖的扩展功能。用户可以选择只看打上标记的精华帖。(8)管理版块。论坛版块需要先创建,才能被使用,管理员还可以修改版块的相关信息,因此管理版块是管理员使用的扩展功能。(9)设置参数。论坛一般有一些初始化信息,比如每页显示帖子数量等参数信息,管理员可以在后台界面自行设置。管理用户。管理员可以对论坛的注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户的权限,对于违规用户可以删除,这个功能便于管理员对论坛用户的管理。可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、运行三个方面来介绍。技术可行性本系统开发工具是MyEclipse和MySQL数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了java课程,大四期间也系统的了解了J2EE的知识,铁路售票系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。经济可行性软件的经济可行性是指软件所能带来的经济效益与开发设计所需要的投资相比,是否相适宜,同时还要看此软件能否真正给用户带来足够的经济效益。我所开发的足球直播论坛正是基于为用户提高工作效率、节省工作时间、方便操作与管理的目的而设计的。本系统的开发在经济上是完全可行的。开发此软件不需要大量的经费,而且是个人独立设计,可以节省许多费用,同时也可提高个人的实际动手能力。运行可行性自从人类社会进入九十年代后,以及计算机技术的飞速发展,各种应用软件已日益为人们所接受。管理形式的计算机化是社会发展的必然趋势,各种智能化的软件层出不穷,而面对二十一世纪智能管理的挑战,减少了原来人工操作的费时费力的状况。并且可以避免人为的经济犯罪,管理层容易做出及时的决策。本系统用户平台直接面向普通用户,界面简单、明了,采用可视化界面,普通用户只需用鼠标就可以完成相应的数据操作;少量的数据输入是由后台管理员用户完成的。对于初次使用此系统的用户,不必经过复杂的培训和学习就可以掌握本系统的操作流程。由此可见,开发此系统在操作上是可行的。系统重要流程登陆界面的主要功能是验证用户的合法性和载入用户信息,按照常规个人软件的设置,每套软件仅供一个用户使用,因此登录名称和密码是唯一的,仅用户自己可更改。登录的流程图如下:图3-1用户登录流程图论坛发帖功能模块是本网站重要的功能模块,前台会员登陆之后可以再网站中发布帖子信息,然后可以对帖子进行回复操作。发帖的流程图如下:图3-2会员发帖流程图搜索帖子是论坛的主要功能之一,用户可以通过帖子的类别和关键字进行搜索查找帖子信息。搜索帖子的流程图如下:图3-3搜索帖子流程图用户注册的流程图如图3-4。图3-4用户注册流程图硬件环境在运行本系统前,请检查以下计算机是否满足以下要求。服务器要求的配置为:CPU:Intel赛扬Ⅳ以上,建议IntelPentiumⅣ以上内存:1G以上,建议2G以上硬盘:20G以上的可用硬盘安装空间操作系统:Windows2000以上,Internet信息服务器6.0(IIS6.0)软件:MicrosoftSQLServer2008以上版本客户机硬件配置要求为:CPU:Intel赛扬Ⅲ以上,建议IntelPentiumⅢ以上内存:32M以上,建议64M以上操作系统:Windows2000以上,IE5.0以上版本系统设计分析总体设计系统设计目标本系统的开发目标是利用JSP技术开发一个关于足球直播讨论的论坛实现一般论坛具备功能,包括前台会员可以注册,登陆,发布信息,回复信息,查询信息等功能,后台管理员可以对整个的论坛数据信息进行管理的足球直播论坛。系统设计思想系统采用了B/S结构,因为它除了传承C/S结构的优点外,还具有以下的优势:首先,维护工作量大大减少了,降低了总体拥有的成本。C/S结构的每一个用户端都必须安装和配置软件,当软件哪怕进行了微小的改动后,系统维护员都必须将服务器更新到最新的版本;将用户端原有的软件卸载,再安装新的版本,然后进行设置,最为可怕的是必须对每个用户端都进行更新,当用户端很多时,维护量可想而知了。然而B/S结构,由于它只需要用户端有浏览器就可以,不用安装其它软件,用户端运行软件就像浏览网页一样。所有的维护、升级工作都只在服务器上进行,用户端始终能获得最新版本的软件。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,这对人力、时间、费用的节省是相当惊人的。其次,平台的依赖性小,可以在多个不同的操作系统上运行。B/S结构的应用软件只需安装在服务器上,所以服务器操作系统的选择是很多的,不管选用的是哪种操作系统都可以让大部分人使用windows作为桌面操作系统的情况不受影响,大大提高了程序的可移植性。传统的C/S结构要求针对不同的操作系统开发不同版本的软件。由于产品的更新换代是非常快的,所以这么高的代价和低效率越来越不适应了,特别是在Java这样的跨平台语言出现之后,B/S结构具有了更多的优势。通过高效能的B/S架构,透过IE浏览器就可以进行操作,没有任何程序更新的问题。易操作性,便于用户操作,因此,本系统利用普遍流行的B/S架构,利用Asp.Net建立前端界面,C#来进行编程实现系统中的功能部分,实现与数据库的交互。系统功能模块系统主要功能包括网站前台和网站后台管理2个功能模块。(1)直播论坛的整体布局:由于论坛数据库未实时更新以及过于简单,需要进行加工重新整合(2)足球比赛直播链接的发布:测试该准确性,实时性,这是该论坛的核心,所包含的链接需要具有兼容性,譬如手机平台的观看,各种播放器的播放等(3)用户登录发帖:这是畅所欲言的场所,需要测试发字数,安全性,以及不同等级用户的权限等等(4)游客与用户的留言互动;在实现聊天留言的同时需注意球迷立场不同,肯定会导致口水等,需要有和谐功能(5)管理员后台登陆维护:数据库的维护,以及查看用户发帖的内容是否合法合规(6)对论坛的整体测试:这是测试整个论坛的可运行性,兼容性,稳定性等整体扩要(7)其他功能的完善与测试:许多问题需要着手之后才可以更好的发现与改进整体的结构图如图4-1:图4-1系统功能模块图系统流程论坛前台是会员或者普通浏览人员的管理模块,用户要想在论坛中进行参与就必须注册会员并进行登陆,会员登陆后可以查看论坛帖子信息,搜索帖子信息,发布帖子信息,回复帖子信息,管理自己的帖子信息,修改自己的注册信息等功能。前台会员的流程图如图4-2所示。图4-2前台管理流程图网站后台管理模块是管理员操作的功能模块,管理员可以对所有论坛信息进行管理,包括账号管理,用户信息管理,论坛分类管理,对帖子信息进行管理包括修改帖子,转帖,删贴等功能。后台管理员的流程图如图4-3所示。图4-3后台管理流程图数据库设计数据库概念设计E-R图也即实体-联系图(EntityRelationshipDiagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系。实体型(Entity)用矩形表示,矩形框内写明实体名;属性(Attribute)用椭圆形表示,并用无向边将其与相应的实体连接起来;联系(Relationship)用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。直播信息实体图如图4-4。图4-4直播信息实体图管理员信息实体图如图4-5。图4-5管理员信息实体图会员信息实体图如图4-6。图4-6会员信息实体图帖子信息实体图如图4-7。图4-7帖子信息实体图版面信息实体图如图4-8。图4-8版面信息实体图分类信息实体图如图4-9。图4-9分类信息实体图数据库逻辑设计通过对系统的需求和功能的分析我将系统的数据结构主要分为四个部分,包括用户信息,专区信息,主题信息以及回复信息。用户信息包括:用户id,用户名,真实姓名,用户密码,密码确认,用户性别,用户联系方式,用户头像,E_mail,联系地址。tb_bbsAnswer用于存放会员留言。tb_bbs用于存放会员发表的帖子信息。tb_user用于存放论坛用户信息。tb_class用于存放论坛类别介绍。tb_board用于存放版面信息。建立数据库结构如图:用户表tb_user表如下表:表4_1tb_user字段描述类型空值长度id注册用户Varchar2非2user_name用户名Varchar2是20user_password密码Varchar2是20User_face头像Varchar2是2000user_sex性别Varchar2是2user_phone手机号Varchar2是12user_QICQQICQVarchar2是20user_email邮箱Varchar2是100User_from用户地区Varchar2是200user_able头像Varchar2是11T帖子表b_bbs表如下表:表4_2b_bbs字段描述类型空值长度bbs_id帖子编号Varchar2非4bbs_boardid版面编号Varchar2是200bbs_title帖子标题Varchar2是70bbs_content帖子内容Varchar2是2000bbs_sender发帖人Varcha2r是20bbs_sendTime发帖时间Varchar2是8bbs_face发帖人头像Varchar2是10bbs_opTime置顶时间Varchar2是8bbs_isTop是否置顶Varchar2是8bbs_toGoodTime成为精华时间Varchar2是8bbs_isGood是否精华Varchar2是8分区表tb_class表如下表:表4_3tb_class字段描述类型空值长度class_id分区编号int非2class_name分区名称nvarchar是50class_intro分区信息nvarchar是200留言表tb_bbsAnswer表如下表:表4_4tb_bbsAnswer字段描述类型空值长度bbsAnswer_id留言编号int4bbsAnswer_rootid留言者编号int是4bbsAnswer_title回帖标题varchar是70bbsAnswer_content回帖内容varchar是2000bbsAnswer_sender回帖者姓名varchar是20bbsAnswer_sentime留言时间datetime是8bbsAnswer_face留言者头像varchar是50板块表tb_border表如下表:表4_5tb_border字段描述类型空值长度board_id版块编号int非4board_classId板块编号smalint是2board_name版块名称nvarchar是40board_master斑竹datetime是20board_pcard版块提醒nvarchar是200系统详细设计我开发的这个足球直播论坛功能很丰富我们对主要的功能模块进行界面和关键代码的介绍。主界面设计首页是网站的第一个页面,也是打开网站的第一个页面,本网站首页显示了很多信息,包括界面的导航信息,用户登陆,用户注册,直播信息,帖子搜索,用户中心,等链接,页面左侧显示了精华帖子和置顶帖子信息,右侧显示了论坛的主要版面信息。网站首页的运行效果如图5-1。图5-1网站前台网站首页的关键代码如下:<%@pagecontentType="text/html;charset=gb2312"%><%@tagliburi="struts-html"prefix="html"%><%@tagliburi="struts-bean"prefix="bean"%><%@tagliburi="struts-logic"prefix="logic"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><html><head><title>前台登录</title><basehref="<%=basePath%>"><linkstyle="text/css"rel="stylesheet"href="css/style.css"></head><bodybgcolor="#AA8D60"><center><html:formaction="user/login.do"focus="userName"><inputtype="hidden"name="method"value="login"><tablebackground="images/login/loginB.jpg"width="500"height="300"border="0"cellspacing="0"cellpadding="0"style="margin-top:90"><trheight="175"><tdcolspan="2"style="text-indent:145"><html:errors/><logic:presentname="message"><bean:writename="message"filter="false"/></logic:present></td></tr><trheight="45"><tdalign="right"width="35%">用户名:</td><td> <html:textproperty="userName"size="30"/> <ahref="user/reg.do?method=userReg">[用户注册]</a></td></tr><trheight="30"><tdalign="right">密 码:</td><td> <html:passwordproperty="userPassword"redisplay="false"size="30"/> <ahref="index.jsp">[返回首页]</a></td></tr><tr><td></td><td> <html:imagesrc="images/login/bsup.gif"onmousedown="this.src='images/login/bsdown.gif'"onmouseup="this.src='images/login/bsup.gif'"/><html:imagesrc="images/login/brup.gif"onmousedown="this.src='images/login/brdown.gif'"onmouseup="this.src='images/login/brup.gif'"/> </td></tr></table><tablewidth="500"border="0"width="350"cellspacing="0"cellpadding="0"><tr><tdcolspan="2"><imgsrc="images/login/loginE.jpg"></td></tr></table></html:form></center></body>登陆功能及注册功能的设计会员模块包括会员的注册,会员登录,管理员对会员信息进行管理。会员注册信息包括会员登录账号,会员密码,会员性别,会员真实姓名,会员电话,会员住址,会员邮编等信息。会员注册界面如图5-2。图5-2会员注册界面会员登录界面如图5-3。图5-3会员登录界面会员注册的关键代码如下:publicActionForwarduserReg(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ ActionMessagesmessages=newActionMessages(); HttpSessionsession=request.getSession(); session.setAttribute("mainPage","../pages/userReg.jsp"); Stringvalidate=request.getParameter("validate"); if(validate==null||validate.equals("")||!validate.equals("yes")){ returnmapping.findForward("result"); } else{ UserFormregForm=(UserForm)form; Stringpass1=regForm.getUserPassword(); Stringpass2=regForm.getAginPassword(); if(!pass1.equals(pass2)){ System.out.println("两次输入的密码不一致!"); messages.add("userPassword",newActionMessage("luntan.user.reg.pass.noEquals")); saveErrors(request,messages); } else{ StringuserName=Change.HTMLChange(regForm.getUserName()); Object[]params=null; Stringsql=""; sql="select*fromtb_userwhereuser_name=?"; params=newObject[1]; params[0]=userName; OpDBmyOp=newOpDB(); UserFormuser=myOp.OpUserSingleShow(sql,params); if(user!=null){ System.out.println(userName+"用户已经存在!"); messages.add("userOpR",newActionMessage("luntan.user.reg.exist",userName)); } else{ StringuserPassword=Change.HTMLChange(regForm.getUserPassword()); StringuserFace=regForm.getUserFace(); StringuserSex=regForm.getUserSex(); StringuserPhone=regForm.getUserPhone(); StringuserOICQ=regForm.getUserOICQ(); StringuserEmail=regForm.getUserEmail(); StringuserFrom=Change.HTMLChange(regForm.getUserFrom()); StringuserAble="0"; sql="insertintotb_uservalues(?,?,?,?,?,?,?,?,?,?)"; params=newObject[10]; intid=newRandom().nextInt(99); params[0]=id; params[1]=userName; params[2]=userPassword; params[3]=userFace; params[4]=userSex; params[5]=userPhone; params[6]=userOICQ; params[7]=userEmail; params[8]=userFrom; params[9]=userAble; inti=myOp.OpUpdate(sql,params); if(i<=0){ System.out.println("用户注册失败!"); messages.add("userOpR",newActionMessage("luntan.user.reg.E")); } else{ System.out.println("用户注册成功!"); regForm.clear(); messages.add("userOpR",newActionMessage("luntan.user.reg.S")); } saveErrors(request,messages); } } returnmapping.findForward("result"); } } }发帖及回帖分享等功能的设计会员登陆后才能在网站中进行发帖操作,同样的只要登录会员才能回复帖子信息。会员点击任意论坛版面进入之后填写帖子的主题信息和内容信息,点击发布就成功发布一条帖子信息,点击任何一条帖子信息,在下面进行回复帖子的操作。在帖子的内容下面又一个分享的按钮图标,可以把论坛的帖子分享到QQ空间,开心网等网站增加帖子的阅读次数。会员发帖的效果图如图5-4所示。图5-4会员发帖界面会员回复帖子的效果图如图5-5所示。图5-5会员回复帖子界面会员发帖的关键代码如下: publicActionForwardaddBbs(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ HttpSessionsession=request.getSession(); session.setAttribute("mainPage","/pages/add/bbsAdd.jsp"); Stringvalidate=request.getParameter("validate"); if(validate==null||validate.equals("")||!validate.equals("yes")){ returnmapping.findForward("showAddJSP"); } else{ BbsFormbbsForm=(BbsForm)form; String boardId=(String)session.getAttribute("boardId"); String bbsTitle=Change.HTMLChange(bbsForm.getBbsTitle()); String bbsContent=Change.HTMLChange(bbsForm.getBbsContent()); String bbsSender=((UserForm)session.getAttribute("logoner")).getUserName(); String bbsSendTime=Change.dateTimeChange(newDate()); String bbsFace=bbsForm.getBbsFace(); String bbsOpTime=bbsSendTime; String bbsIsTop="0"; String bbsToTopTime=""; String bbsIsGood="0"; String bbsToGoodTime=""; Stringsql="insertintotb_bbsvalues(?,?,?,?,?,?,?,?,?,?,?,?)"; Stringbbsid=String.valueOf(newRandom().nextInt(99)); Object[]params={bbsid,boardId,bbsTitle,bbsContent,bbsSender,bbsSendTime,bbsFace,bbsOpTime,bbsIsTop,bbsToTopTime,bbsIsGood,bbsToGoodTime}; ActionMessagesmessages=newActionMessages(); OpDBmyOp=newOpDB(); inti=myOp.OpUpdate(sql,params); if(i<=0){ System.out.println("发表帖子失败!"); messages.add("userOpR",newActionMessage("luntan.bbs.add.E")); saveErrors(request,messages); returnmapping.findForward("error"); } else{ System.out.println("发表帖子成功!"); session.setAttribute("currentP","1"); messages.add("userOpR",newActionMessage("luntan.bbs.add.S")); bbsForm.clear(); saveErrors(request,messages); returnmapping.findForward("success"); } } } 搜索功能的设计前台会员可以实现搜索帖子的功能,选择论坛的分类,然后输入要搜索信息的关键字如果存在相关的记录就会被搜索出来显示到页面中。搜索帖子的界面效果如图5-6所示。图5-6搜索帖子信息界面搜素帖子的关键代码如下: intperR=5; StringcurrentP=request.getParameter("showpage"); if(currentP==null||currentP.equals("")) currentP=(String)session.getAttribute("currentP"); else session.setAttribute("currentP",currentP); Stringgowhich="user/listShow.do?method=rootListShow"; myOp.setMark(true); //进行分页显示 myOp.setPageInfo(perR,currentP,gowhich); //设置进行分页显示需要的信息 sql="select*fromtb_bbswherebbs_boardID=?and(bbs_isTop='0'orbbs_isGood='1')orderbybbs_toTopTimeDESC"; Listotherbbslist=myOp.OpBbsListShow(sql,params); CreatePagepage=myOp.getPage(); session.setAttribute("otherbbslist",otherbbslist); session.setAttribute("page",page); returnmapping.findForward("success"); } 版块管理功能的设计论坛板块管理是后台管理员的功能模块包括对论坛分类的管理,对版面的管理,对帖子信息的管理。管理员可以再后台添加论坛分类信息,添加版面信息,相关的界面如图5-7所示。图5-7添加论坛版面界面论坛类别管理的界面如图5-8所示。图5-8帖子信息管理界面帖子管理的关键代码如下:publicActionForwardaddBoard(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ HttpSessionsession=request.getSession(); session.setAttribute("backMainPage","../board/boardAdd.jsp"); OpDBmyOp=newOpDB(); Stringvalidate=request.getParameter("validate"); if(validate==null||validate.equals("")||!validate.equals("yes")){ ListclassList=myOp.OpClassListShow(); session.setAttribute("backClassList",classList); returnmapping.findForward("result"); } else{ BoardFormboardform=(BoardForm)form; StringclassId=boardform.getBoardClassID(); StringboardName=Change.HTMLChange(boardform.getBoardName()); StringboardMaster=Change.HTMLChange(boardform.getBoardMaster()); StringboardPcard=Change.HTMLChange(boardform.getBoardPcard()); ActionMessagesmessages=newActionMessages(); Stringsql="select*fromtb_boardwhereboard_name=?andboard_classID=?"; Object[]params={boardName,classId}; if(myOp.OpBoardSingleShow(sql,params)!=null){ System.out.println("添加版面-"+boardName+"版面已经存在!"); messages.add("adminOpR",newActionMessage("luntan.admin.add.board.exist",boardName)); } else{ sql="select*fromtb_userwhereuser_name=?"; Object[]params1={boardMaster}; UserFormuserform=myOp.OpUserSingleShow(sql,params1); if(userform==null){ System.out.println("添加版面-"+boardMaster+"版主不存在!"); messages.add("adminOpR",newActionMessage("luntan.admin.update.board.no.user",boardMaster)); } elseif(userform.getUserAble().equals("0")){ System.out.println("添加版面-"+boardMaster+"不是版主!"); messages.add("adminOpR",newActionMessage("luntan.admin.update.board.user.able",boardMaster)); } else{ sql="insertintotb_boardvalues(?,?,?,?,?)"; Stringboardid=String.valueOf(newRandom().nextInt(99)); Object[]params2={boardid,classId,boardName,boardMaster,boardPcard}; inti=myOp.OpUpdate(sql,params2); if(i<=0){ System.out.println("添加版面失败!"); messages.add("adminOpR",newActionMessage("luntan.admin.add.board.E")); } else{ boardform.clear(); System.out.println("添加版面成功!"); messages.add("adminOpR",newActionMessage("luntan.admin.add.board.S")); } } } saveErrors(request,messages); returnmapping.findForward("result"); }}系统测试系统测试概述测试目标软件测试的目的是尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。明确测试的目的是一件非常重要的事,因为在现实世界中对测试工作存在着许多模糊或者错误的看法,这些看法严重影响着测试工作的顺利进行。有人认为测试是为了证明程序是正确的,也就是说程序不再有错误,事实证明这是不现实的。因为要通过测试来发现程序中的所有错误就要穷举所有可能的输入数据,检查它们是否产生正确的结果。测试方法测试的关键是测试用例的设计,其方法可分成两类:白盒测试和黑盒测试。白盒测试是把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。黑盒测试是把程序看成一只黑盒子,测试者完全不了解(或不考虑)程序的结构和处理过程。它根据规格说明书规定的功能来设计测试用例,检查程序的功能是否符合规格说明的要求。软件测试的主要步骤有单元测试、集成测试和确认测试。1.单元测试(UnitTesting)单元测试也称模块测试。通常单元测试可放在编码阶段,程序员在编写好一个模块后,总会对自己编写的模块进行测试,检查它是否实现了详细设计说明书中规定的模块功能和算法。单元测试主要发现编码和详细设计中产生的错误,通常采用白盒测试。2.集成测试(IntegrationTesting)集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要检查模块间的接口和通信。集成测试主要发现设计阶段产生的错误,通常采用黑盒测试。3.确认测试(ValidationTesting)确认测试的任务是检查软件的功能、性能及其他特征与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试。确认测试通常采用黑盒测试。确认测试产生测试程序是否满足需求规格说明书所列的各项要求,然后要进行软件配置复查,特别是文档是否齐全,各方面的质量是否符合要求等。如果一个软件是为某个客户定制的,那么最后由客户来实施验收测试(acceptancetesting),以便客户确认该软件是他所需要的。如果一个软件是作为产品被许多客户使用的话,那不可能为每个客户进行验收测试。大多数软件生产者使用一种Alpha测试和Beta测试的过程,仅由最终用户才能发现的错误。测试方案测试要点分析我们对系统的主要功能模块进行测试,测试是否满意系统的要求。是否达到我们的开发需求分析的要求。我们主要对会员注册,会员登陆,会员发帖等功能模块进行测试。测试内容我们对系统登录进行测试,首先打开登录界面登录界面如图6-1。图6-1系统登录界面我们输入正确的登陆账号和登陆密码系统会显示当前登陆用户的账号名称以及注销按钮和进入用户中心按钮。图6-2登陆成功测试我们对会员注册进行测试,首先打开会员注册界面如图6-4。图6-3会员注册页面会员注册账号,登陆密码,电子邮件等信息是必须输入的信息,我们不输入任何信息直接点击注册系统会提示那些信息是必须输入的。提示信息界面如图6-5。图6-5测试不输入信息直接注册我们对输入的信息也是要按照规定的格式进行输入的例如电子邮件信息,比如按照电子邮件的格式进行输入否则给出相应的提示。电子邮件格式错误提示信息如图6-6所示。图6-6电子邮件格式测试测试结果分析评价通过对会员注册和会员登录2个功能模块的测试我们测试出系统符合开始我们设计的要求,对输入输出信息要求比较严格,符合一般用户的要求。结论本文研究了基于B/S模式的足球直播论坛的开发过程和方法。在系统开发的过程中,体会到了编程的辛苦,同时也学习了新的知识,加深了对oracle数据库和对JSP这种新的开发语言的认识。主要收获有如下几点:(1)完成了足球直播论坛基本功能模块的开发。(2)学习了使用oracle数据库,通过调用视图,来实现对数据库中数据的操作。(3)对在实际项目中如何选择、确定对象等做了一次尝试和分析。可以说,在这次设计中,学到了不少东西,尤其是对软件工程和Myeclipse平台的相关技术做了以比较深入的探索。参考文献张桂珠刘丽陈爱国Java面向对象程序设计(第2版)北京邮电大学出版社毕广吉.Java程序设计实例教程[M].北京:冶金工业出版社,2007年王保罗.Java面向对象程序设计[M].北京:清华大学出版社,2003年刘腾红,孙细明.信息系统分析与设计[M].北京:科学出版社,2003年林邦杰.彻底研究java.北京:电子工业出版社,2002年[美]RogersCadenhead.Java编程入门经典.梅兴文译.第4版.北京:人民邮电出版社,2007[美]BruceEckel,陈昊鹏译,Java编程思想(第三版)[M].北京:机械工业出版社,2007.6[英]FLANAGAN.《Java技术手册》.中国电力出版社,2002赵文靖.Java程序设计基础与上机指导.北京:清华大学出版社,2006赵毅.跨平台程序设计语言——Java.西安:西安电子科技大学出版社,2006王路群.Java高级程序设计.北京:中国水利水电出版社,2006雍俊海.Java程序设计习题集.北京:清华大学出版社,2006朱福喜.Java语言习题与解析.北京:清华大学出版社,2006吴其庆.Java程序设计实例教程.北京:冶金工业出版社,2006柳西玲.许斌.Java语言应用开发基础.北京:清华大学出版社,2006施霞萍等.Java程序设计教程第2版.北京:机械工业出版社,2006致谢在老师和同学的帮助下,我所开发的系统得到顺利的完成与实现。感谢我所有的同学和朋友。在学习生涯中,他们给了我许多帮助,带给我无限的快乐。是他们陪我一起走过学生时代,和我同舟共济,共同迎接困难和挑战,他们对我的种种支持和帮助,最是感激不尽。最后,感谢所有的老师。是他们传授给我了宝贵知识,是他们使我学会了奋斗与拼搏,同样是他们使我懂得了坚强与自信。他们在我的大学期间付出了很多的心血与精力,在我的学习道路中,他们孜孜不倦的教诲和鼓舞是促进我不断进取的重要精神动力。外文文献1.WhatisstrutsStrutsisopensourcesoftwarethathelpsdevelopersbuildwebapplicationsquicklyandeasily.Strutsreliesonstandardtechnologies—suchasJavaBeans,Javaservlets,andJavaServerPages(JSP)—thatmostdevelopersalreadyknowhowtouse.Bytakingastandards-based,“fill-in-the-blanks”approachtosoftwaredevelopment,Strutscanalleviatemuchofthetime-consuminggruntworkthatcomeswitheverynewproject.2.WhomakestheStrutssoftwareStrutsishostedbytheApacheSoftwareFoundation(ASF)aspartofitsJakartaproject.BesidesStruts,Jakartahostsseveralsuccessfulopensourceproducts,includingTomcat,Ant,andVelocity.TheinitialStrutscodebasewasdevelopedbetweenMay2000andJune2001whenversion1.0wasreleased.Morethan30developerscontributedtotheStrutsdistribution,andthousandsmorefollowtheStrutsmailinglists.TheStrutscodebaseismanagedbyateamofvolunteer“Committers.”By2002,theStrutsteamincludednineactiveCommitters.TheprimaryarchitectanddeveloperoftheStrutsframeworkisCraigR.McClanahan.CraigisalsotheprimaryarchitectofTomcat4andtheimplementationarchitectoftheJavaWebServicesDeveloperPack.HeisnowSun’sspecificationleadforJavaServerFaces(JSR-127)aswellastheWebLayerArchitectfortheJava2EnterpriseEdition(J2EE)platform.StrutsisavailabletothepublicatnochargeundertheApacheSoftwareLicense[ASF,License].Therearenoacquisitionorotherrecurringcostsforusingthesoftware.Unlikesomeotheropensourcelicenses,theApacheSoftwareLicenseisbusiness-friendly.YoucanuseStrutstocreateacommercialprojectanddistributetheStrutsbinarywithoutanyredtape,fees,orotherhassles.YoucanalsointegratetheStrutscomponentsintoyourownframeworkjustasiftheywerewrittenin-house.For
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025如何写农村土地承包合同范文
- 2025服装代理商合同协议书范本
- 2《花的学校》说课稿-2024-2025学年统编版语文三年级上册
- 2024年五年级数学上册 二 小数乘法 2小数的乘法第2课时 小数乘小数说课稿 冀教版
- 军训训合同范例
- 2024-2025学年高中化学上学期《化学计量在试验中的应用》说课稿 新人教版必修1
- 出口货代合同范例
- 出国劳务采购合同范例
- 出让土地盖楼合同范本
- 客户信息保护与商业推广分离准则
- 排球正面上手传球 说课稿-2023-2024学年高一上学期体育与健康人教版必修第一册
- 2025年浙江省交通投资集团财务共享服务中心招聘2名高频重点提升(共500题)附带答案详解
- 做投标文件培训
- 9.4+跨学科实践:制作简易活塞式抽水机课件+-2024-2025学年人教版物理八年级下册
- 建筑工程工作计划
- 2025年中国国际投资促进中心限责任公司招聘管理单位笔试遴选500模拟题附带答案详解
- 瓶装液化气送气工培训
- 外科护理课程思政课程标准
- 船舶航行安全
- 道德经全文完整版本
- 9.2溶解度(第1课时饱和溶液不饱和溶液)+教学设计-2024-2025学年九年级化学人教版(2024)下册
评论
0/150
提交评论