美食论坛系统设计设计.docx
- 文档编号:6261146
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:18
- 大小:296.03KB
美食论坛系统设计设计.docx
《美食论坛系统设计设计.docx》由会员分享,可在线阅读,更多相关《美食论坛系统设计设计.docx(18页珍藏版)》请在冰豆网上搜索。
美食论坛系统设计设计
引言
随着网络的发展,论坛已经成为人们日常进行交流的一个不可或缺的空间。
人们可以在论坛中谈论喜欢的话题、提出或解答疑问、发布通知和公告等。
由于它独特的形式和强大的功能,受到广大网友的欢迎,并成为全世界计算机用户交流信息的园地。
1.系统概述
目前论坛为人们提供了一个交流空间,用户可以参与到自己的讨论话题中,浏览论坛中的帖子或者发表自己的看法。
在论坛中非注册用户只可以浏览论坛中的帖子,不可以对帖子发表评论或发表新的论题;论坛的注册会员可以发布新的论题,并且可以自己的个人信息。
1.1系统现状研究
目前常见的论坛系统主要有两类:
一类是利用Telnet软件登陆站点上,这种方式可以使用同时上站的用户数大大增加,每一个站点可以同时有200人上线,使多人之间的直接讨论成为可能;另一类就是现在许多用户更习惯的,基于web的论坛系统,用户只要连接到Internet上直接利用浏览器就可以进入论坛,阅读其他用户的发言,发表自己的意见。
1.2系统开发方法
本系统讨论的是一个基于web的关于饮食的论坛系统。
本系统需要综合应用数据库,javabean和jdbc等技术。
2.可行性分析
2.1系统总体目标
本系统主要是为了给那些对饮食方面感兴趣的朋友提供一个交流的平台,对有话可说的朋友,你在这里可以进行注册成为会员,参与有关话题的讨论,或提出新的话题,还可以修改个人资料。
非注册会员你可以浏览论坛里的帖子,获取对自己有用的信息。
另外假如你对某些版块很赶兴趣,你还可以向管理员申请成为某一版块的斑竹,去管理本版块的帖子,对于那些不健康的帖子你可以把它们给删除掉。
起到对论坛的维护作用。
对于管理员拥有最高权限,可以授予别人为某个版块的斑竹等等。
2.2技术可行性分析
本论坛是基于web来开发的,主要运用JSP,JDBC,JavaBean等相关技术,以Access为后台数据库、Tomcat5.5为应用服务器。
这些应用软件(如JDK、tomcat5.5、eclipse、MacromediaDreamweaverMX2004等都可以在网络上免费下载得来),并且这些软件都是些最常用的网页开发工具,都能够快和好的掌握,并且也学了有关网页开发的课程,所以一些最常用的技术能够比较好的实现,所以对于本系统在技术上是可以达到的。
3.需求分析
经过以上对系统的调研及可行性分析后,下面对系统在功能上和性能上进行进一步的需求分析。
3.1功能需求
本系统应该具有信息浏览、信息发布、信息回复、编辑、删除帖子、用户注册、用户管理、个人信息修改、查看个人信息等功能。
3.2性能需求
设备需求:
PC机,Windows98/2000/xp操作系统,PII以上,64MBRAM。
服务器、采用Access数据库管理。
4.系统设计
4.1功能模块结构图
SHAPE\*MERGEFORMAT
(功能模块结构图)
4.2功能模块描述
根据权限的不同,用户的操作范围也不相同,系统管理员可以维护此版块的所有帖子的相关信息;注册用户可以发布新帖子、回复帖子、编辑自己发的帖子和浏览版块中的所以帖子;而非注册用户只有浏览帖子的权限。
(1)登陆模块
根据用户输入的拥护名和密码,与数据库中进行匹配,验证账号和密码。
(2)注册模块
注册新的用户,根据提示填写你的相关信息,再提交到数据库,进行检查,如果已经有此用户名就要重新命名。
(3)信息修改
可以进行修改你的个人信息。
(4)浏览帖子
用户可以在此浏览帖子的主题信息。
通过单击主题信息的连接,可以进入此贴的主题的内容和浏览此贴的详细内容。
(5)发布帖子
匿名用户不可以使用此部分的功能,只有注册用户才可以在此模块中发布一个新的主题信息。
(6)回复帖子
此部分也需要由注册用户使用。
用户可以在此部分对一个贴子的信息进行回复。
(7)编辑帖子
注册用户可以对自己所发的帖子进行编辑。
4.3数据库设计
此实例中使用Access数据库,通过JDBC-ODBC桥进行数库连接,例如此数据库名为fourm.mdb,该系统中需要建立,存放相关信息。
(1)首先创建user表,在此表里存储了包括所有用户的注册信息。
userid
文本
name
文本
password
文本
sex
文本
age
文本
phone
文本
文本
address
文本
rank
数字
pubnum
数字
face
文本
(2)然后创建article表,此表记录了论坛中的所有版块的所有信息
id
自动编号
authorID
数字
title
文本
content
备注
boardID
数字
reID
数字
reNum
数字
pubtime
日期/时间
feel
文本
excellent
是/否
4.4 详细设计
4.4.1登陆模块设计
用户登陆模块主要根据用户登陆信息,与数据库信息成功匹配后,获得其相应的操作权限。
打开网页,等待用户输入帐号、密码、判断用户输入信息,与后台数据库是否匹配,若不匹配,则刷新页面,等待用户重新输入。
4.4.2用户注册模块设计
单击登陆页面下方的“注册新用户”将进入注册页面。
根据注册相关选项填写所要求填写的信息。
其中会进行用户名长度和密码长度验证。
如果不符合条件得从新输入。
4.4.3用户信息修改设计
当进入系统后,你可以单击“修改个人信息”,进行相关信息的修改。
4.4.4浏览帖子模块设计
当单击论坛某个版块连接时,即可以在打开的页面看到该版块帖子的主题列表,在列表中列出了帖子的作者、回复数量、浏览数量和最后恢复的时间。
4.4.5发布帖子模块设计
论坛作为一种信息交流的工具,少不了要发表文章,其页面和一般的表单提交差不多,只是增加了一些功能而已。
为了用户的方便,在设计时有两个地方可以实现对帖子的发表,一个是在浏览帖子主题列表页面中;另一个是在浏览帖子内容页面中,但这两个所指向的连接是同一个页面。
在发表帖子时,将通过JavaBean取得帖子数量,并保存到数据库中。
4.4.6回复帖子模块设计
回复帖子也是在post.jsp页面完成的。
回复帖子都会在原文标题前加上“re”作为帖子标题,对帖子的回复需要获得帖子的主题id,一个帖子id可能有零个或多个回复,这个主题id提交也是在连接中动态生成。
4.4.7编辑帖子模块设计
如果用户需要修改自己发表的帖子,或者对帖子不满意,那么你可以对帖子进行相应的修改。
在浏览帖子页面单击“编辑”连接,既可进入编辑页面,在此可以对标题、内容和图表等信息进行修改,编辑帖子页面。
5.系统的组成和实现
在本系统中,版块越多,帖子数量越大,就越能吸引人气,所以,论坛都会分为多个模块,在每个版块中发表相应的帖子,而本文将着重介绍论坛帖子的相应操作及管理这一部分,包括浏览帖子,发表帖子,回复帖子,编辑帖子,删除帖子等操作,而具有不同权限的用户可以进行不同的操作非注册用户只能浏览帖子。
注册拥护可以发表帖子、回复帖子、可以管理自己所发表的帖子;而管理员可以进行所有的操作。
下面将逐一介绍。
5.1系统组成
本系统包括浏览帖子,发表帖子,回复帖子,编辑帖子,删除帖子等操作,分为技术交流区、美食天地、生活五味、精华区等区域版块。
5.2系统的实现
dbBean文件实现了数据库的连接,以及各种通用函数的声明。
其他网页如果需要连接数据库,只要包含该文件即可。
这样可以大大减少代码的重复,便于阅读和维护,由于该文件设计合理,因此所有页面都使用该文件。
主页面()
5.2.1登陆模块实现
当用户在浏览器中输入http:
//localhost:
8080/login.jsp时,系统将进入登陆页面。
主要代码:
......
<%
request.setCharacterEncoding("gb2312");
session.setMaxInactiveInterval(-1);
Stringuser=request.getParameter("user");
Stringpw=request.getParameter("pw");
Stringsql="select*fromuserwherename='"+user+"'andpassword='"+pw+"'";
ResultSetrs=conn.executeQuery(sql);
if(rs.next())
{
session.setAttribute("rank",rs.getString("rank"));
session.setAttribute("id",rs.getString("userid"));
session.setAttribute("name",rs.getString("name"));
rs.close();
conn.close();
%>
forwardpage="home.jsp"/> <% } else { rs.close(); conn.close(); %> ...... 5.2.2用户注册模块实现 单击登陆页面下方的“注册新用户”将进入注册页面。 代码如下: ... <% request.setCharacterEncoding("gb2312"); Stringname=""; Stringpassword=""; Stringsex=""; Stringage=""; Stringphone=""; Stringemail=""; Stringaddress=""; Stringface=""; ResultSet rs=null; if(request.getParameter("username")! =null) name=request.getParameter("username"); if(request.getParameter("password")! =null) password=request.getParameter("password"); if(request.getParameter("sex")! =null) sex=request.getParameter("sex"); if(request.getParameter("age")! =null) age=request.getParameter("age"); if(request.getParameter("phone")! =null) phone=request.getParameter("phone"); if(request.getParameter("email")! =null) email=request.getParameter("email"); if(request.getParameter("address")! =null) address=request.getParameter("address"); if(request.getParameter("face")! =null) face=request.getParameter("face"); Stringsql="select*fromuserwherename='"+name+"'"; rs=conn.executeQuery(sql); if(rs.next()) { rs.close(); out.println("对不起,该用户名已经被占用,请另选一个用户名!
");
out.println(" history.back()'>返回"); } else { sql="insertintouser(name,password,sex,age,phone,email,address,rank,pubnum,face)values('"+name+"','"+password+"','"+sex+"','"+age+"','"+phone+"','"+email+"','"+address+"',0,0,'"+face+"')"; conn.executeUpdate(sql); out.println("恭喜您,注册成功!
");
out.println("
}
conn.close();
%>
...
5.2.3用户信息修改实现
当进入系统后,你可以单击“修改个人信息”,进行相关信息的修改。
代码省略。
5.2.4浏览帖子模块实现
当单击论坛某个版块连接时,即可以在打开的页面看到该版块帖子的主题列表,在列表中列出了帖子的作者、回复数量、浏览数量和最后恢复的时间。
代码见系统;
(该图即为技术交流区的相关帖子,其他的版块帖子见系统。
)
另外浏览帖子主题列表和论坛的其他版块都使用了分页的功能,这里通过intpagesize=10;语句确定每页帖子的数量,这个数量可以根据自己的需要设置;用pagecount=(recordCount%pageSize==0)?
(recordCOunt/pageSize):
(recordCount/pageSize+1)语句计算得到该版块的帖子所站用的总页数;通过for(inti=1;i<=pageCount;i++)语句在翻页时获得页数,如第2页、第三页。
效果如图:
在显示帖子内容这个页面,论坛使用了目前最常用的一种格式,即分为标题和正文部分,通过标题部分和正文部分的颜色不同将不同的帖子划分开来。
单击想查看的帖子,即可浏览该帖子的内容。
5.2.5发布帖子模块实现
论坛作为一种信息交流的工具,少不了要发表文章,其页面和一般的表单提交差不多,只是增加了一些功能而已。
为了用户的方便,在设计时有两个地方可以实现对帖子的发表,一个是在浏览帖子主题列表页面中;另一个是在浏览帖子内容页面中,但这两个所指向的连接是同一个页面。
在发表帖子时,将通过JavaBean取得帖子数量,并保存到数据库中。
发表帖子的页面为(post.jsp):
当用户提交帖子时,该帖子的信息将被保存到.jsp页面中,然后保存到数据库的数据表中,然后页面跳到浏览帖子页面。
5.2.6回复帖子模块实现
回复帖子也是在。
Jsp页面完成的。
回复帖子都会在原文标题前加上“re”作为帖子标题,如图,对帖子的回复需要获得帖子的主题id,一个帖子id可能有零个或多个回复,这个主题id提交也是在连接中动态生成。
5.2.7编辑帖子模块实现
如果用户需要修改自己发表的帖子,或者对帖子不满意,那么你可以对帖子进行相应的修改。
在浏览帖子页面单击“编辑”连接,既可进入编辑页面,在此可以对标题、内容和图表等信息进行修改,编辑帖子页面。
5.2.8帖子加精模块设计
对于那些好的帖子你可以把它们加入精华区。
同理你也可以把它们删除掉。
用户对帖子进行删除时,不能删除整个帖子,只能删除单个回复(如果该帖子没有回复时,那么将删除该帖子),而且和编辑帖子一样,只能删除自己所发表的帖子或恢复的帖子(管理员除外),在要删除的帖子回复上单击“删除”连接,将弹出删除确认对话框,确认后,该回复将被删除,并返回到浏览帖子主题列表页面。
6 系统测试
6.1系统登陆模块测试
(1) 测试问题单
项目编号 测试类别:
集成测试 序号:
001
产品标识
产品中文标识
美食论坛-系统登陆
第几次测试
3
测试工程师
测试模块/功能/性能
系统登陆
测试记录单
测试时间
2007-6-10
问题记录
序号
故障现象
级别
处理人
处理时间
处理说明
1
输入用户名和密码后,在数据库中查找无该用户
中
谢学明
2007/6/9
已处理
6.2帖子回复模块测试
测试问题单
项目编号 测试类别:
集成测试 序号:
001
产品标识
产品中文标识
美食论坛-帖子回复模块
第几次测试
3
测试工程师
测试模块/功能/性能
帖子回复模块
测试记录单
测试时间
2007-6-10
问题记录
序号
故障现象
级别
处理人
处理时间
处理说明
1
中
谢学明
2007/6/9
已处理
6.3 测试总结
本次测试主要用于对系统的出错进行测试,测试项目包括用户登陆模块、帖子回复模块、用户注册模块等方面。
在本次测试中我们共发现了8处错误,经过修改,已对部分错误进行更正,其他部分正在进行中。
通过本次测试,我希望在以后的开发中能够避免再犯类似错误。
7.结束语
经过以上详细的设计与架构,终于完成了毕业选题系统的开发。
在本次开发过程中,遇到了很多的困难。
包括数据库设计方面,技术实现方面以及系统测试方面。
同时,我也受到了很大的启发,希望通过今后的学习,能够对本系统在安全性方面进行进一步的完善。
参考文献
[1]李长林等编著.Jsp组建动态网站基础与实例操作[M].电子工业出版社,2005,11
[2][美]Thinking.In.Java(翻译版)[M]eBooks
[3]鲁晓东 李育龙 杨健。
jsp软件工程案例精解[M]电子工业出版社,2005,5
[4]冯博 应群 编著。
面向对象的JAVA网络编程[M] 清华大学出版社,2004,5,4
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
致谢
时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。
首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。
本次毕业设计大概持续了半年,现在终于到结尾了。
本次毕业设计是对我大学四年学习下来最好的检验。
经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。
这期间凝聚了很多人的心血,在此我表示由衷的感谢。
没有他们的帮助,我将无法顺利完成这次设计。
首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。
郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。
从他身上,我学到了许多能受益终生的东西。
再次对周巍老师表示衷心的感谢。
其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。
另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。
最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。
致谢
四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。
从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。
回首四年,取得了些许成绩,生活中有快乐也有艰辛。
感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。
学友情深,情同兄妹。
四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。
在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。
最后,我要特别感谢我的导师刘望蜀老师、和研究生助教吴子仪老师。
是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。
老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。
他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。
在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 美食 论坛 系统 设计