软件工程基于Web的BBS系统试验报告.doc_第1页
软件工程基于Web的BBS系统试验报告.doc_第2页
软件工程基于Web的BBS系统试验报告.doc_第3页
软件工程基于Web的BBS系统试验报告.doc_第4页
软件工程基于Web的BBS系统试验报告.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

软件工程 实验报告一、实验目的:1. 从全局上把握项目开发的全过程2综合使用前面接触的各种软件3. 能够独立自主地完成系统的开发计划、需求分析、概要设计、详细设计、测试等步骤二、实验环境:1. PC机一台三、实验内容和要求:1、在实习题目(见PPT文件)中任选一个或自拟题目,完成系统的分析、设计和实现2、作业形式是上交开发计划、需求分析、概要设计、详细设计(只针对概要设计中的一个具体模块给出程序流程图、用户说明书即可)和测试等主要文档。详细设计中涉及到的具体模块的源程序代码(程序开发语言任选)。四、实验步骤:(对实验步骤的说明应该能够保证根据该说明即可重复完整的实验内容,得到正确结果。)一1、 选题:开发一个基于Web的BBS系统,包含一般BBS所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。 并且确定系统立项背景。(具体选作用户模块),详细内容见第三部分2、 可行性分析 可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 1技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发。三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用SQL Server 2000数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。 2经济可行性 主要是对项目的经济效益进行评估,本系统模拟的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。但实际只是用于个人的毕业设计,只是模拟,也不存在资金的流动,故在经济上是可行的。 3社会可行性 随着Internet技术的快速发展,BBS论坛已成为人们彼此沟通、交流信息的主要方式。在论坛上,人们可以对某一领域提出自己遇到的问题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法。BBS论坛接近了人们之间的距离,它早已成为人们网上生活的必备工具。所以说BBS论坛对当今社会是相当重要的3、 需求分析: 随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间, 影响和改变着我们的生活。4、数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求).数据库和设计概述(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。(3)数据库设计是信息系统开发和建设的重要组成部分。5、开发环境在开发此论坛的时候,需要具备下面的软件环境服务器端: 操作系统:Windows XP。 Web服务器:Tomcat 6.0。 Java开发包:JDK 1.6。 数据库:SQL Server 2000。 浏览器:IE6.0。 分辨率:最佳效果为1024768像素。客户端: 浏览器:IE6.0。 分辨率:最佳效果为1024768像素。二、概念模型设计(E-R图)数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。 E-R模型的基本概念 ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间(1)实体:现实世界中的事物; (2)属性:事物的特性; (3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。E-R模型的基本概念 本系统的ER图用户M发表N帖子 详细资料11N管理管理员 1 N添加1修改论坛数据库及关系的建立根据以上这些步骤就可以创建一个数据库,依次建立下列表结构.1.用户基本资料表2.用户详细信息表3.论坛文章表4.论坛版区表 5.论坛初始化信息表 (1).用户基本信息表 和用户详细信息表是一对一的关系,一个用户只对应一个详细的信息表(2).用户基本信息表和文章表是一对多的关系,即一个用户可以发表多篇文章和回复.(3).论坛版区表和论坛文章表是一对多的关系,在一个论坛中可以含有多个文章和回复.详细数据库结构设计(1).用户基本资料表:用户基本资料表中存放的是用户登陆时所需要或者记录用户的基本信息,包含比如登陆名,密码,最后登陆时间等.用户基本信息表的建立主要是记录用户最常用的一些信息.1 leafbbs_userinfo字段名数据类型长度主键索引外键可空说明IDbigint20YNN代理主键UserNameVarchar20NYN用户名NickNameVarchar60NNN昵称PasswdVarchar40NNN密码Emailvarchar255NNN电子邮件Questionvarchar255NNN提示问题Answervarchar255NNN提示答案RegTimedatetimeNNN注册时间LoginTimedatetimeNNN最后登陆时间LoginIPvarchar20NNN最后登陆IPLoginTimesint11NNN登陆次数StayTimebigint20NNN停留时间SignDetailtextNNY用户签名HavePictinyint1NNY是否有头像PicFileNamevarchar255NNY头像地址TimeZonevarchar20NNY地区(2).用户详细信息表:用户详细信息表中存放的是用户的身高,体重,联系方式等详细资料,建立此表的目的是把一些用户不经常用到的详细信息,单独存放到一张表中,可以节约系统的资源.2 leafbbs_userdetai字段数据类长度主键索引外键可空说明IDbigint20YYN代理主键Heightvarchar20NNY身高Weightvarchar20NNY体重FavourPeoplevarchar255NNY最喜欢的人DreamJobvarchar255NNY向往工作FavourMusicvarchar255NNY喜欢的音乐FavourPlacevarchar255NNY喜欢的地方FavourMovievarchar255NNY喜欢的电影HomePagevarchar255NNY主页OicqNovarchar255NNYQQ号码IcqNovarchar255NNYICQ号码MSNvarchar255NNYMSN号码Sextinyint1NNY性别BrieftextNNY简介(3).论坛文章表:论坛文章表存放的是用户所发表的文章信息,也包括回复信息.而在数据库的设计中主要问题是鉴别帖子信息和回复信息.3 leafbbs_forum字段名数据类型长度主键索引外键可空说明IDbigint20YNN代理主键ParentIDbigint20NNN父帖IDMainIDbigint20NNN主帖IDBoardIDbigint20NNN版区IDBoardNamevarchar60NNN版区名字ReNumint11NNN回复数量ClickNumint11NNN点击次数UserIDbigint20NNN发表者IDUserNamevarchar20NNN发表者姓名NickNamevarchar60NNN发表者昵称Titlevarchar150NNN文章标题DetailtextNNN文章内容SigntextNNN文章说明ArtSizeint11NNN文章字节数postTimebigint20NNN发表时间LastTimebigint20NNN最后回复时间IPAddressvarchar20NNN发表者IPIsNewtinyint1NNN是否是新IsHiddentinyint1NNN是否隐藏IsToptinyint1NNN是否置顶IsLocktinyint1NNN是否被锁定(4).论坛版区表:论坛版区表是存放的是论坛中版块信息.而论坛也划分为父论坛和子论坛,区分他们也靠表中的某个字段来实现的.具体实际的设计如下.4 leafbbs_board字段名数据类型长度主键索引外键可空说明IDbigint20YNN代理主键ParentIDbigint20NNN父版区IDChildIDsvarchar255NNN子版区IDBoardNamevarchar255NNN版区名字ExplainstextNNN版区描述BoardPicvarchar200NNN图片地址Ordersint11NNN显示顺序IsHiddentinyint1NNN是否隐藏PostNumint11NNN文章数量NeedPasswdtinyint1NNN是否加密Passwdvarchar100NNY密码论坛初始化信息表:论坛初始化信息表是存放初始化信息和管理员的帐号密码等信息,初始化信息是在论坛在加载过程中读取的或者以后经常用的一些信息.表3.5 leafbbs_config表字段名数据类型长度主键索引外键可空说明IDvarchar50YNN初始化标题ConfContexttextNNN初始化信息 用户分三类:普通用户、 管理员 帖子管理信息表:部分用例图:功能需求列表编号功能名称功能描述输入内容输出内容1用户注册对用户名验证并注册用户信息注册结果2用户信息管理管理用户信息,保证用户使用安全管理方面管理结果3发帖功能用户可以自由发帖帖子内容帖子发布情况4帖子管理管理员管理帖子帖子管理操作管理结果5主题词查询查询主题词主题词查询到的信息6用户信息修改和查询用户修改个人信息用户信息更新后的信息BBS基于UML建模用例模型(use cases view)(用例视图)的基本组成部件是用例(use case)、角色(actor)和系统(system)。用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。UML:是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。UML模型4、 系统目标对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。本系统在设计时应满足以下几个目标: 1采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。2全面展示系统内所有分类的帖子,并进行分页显示。3为用户提供一个方便、快捷的主题信息查看功能。4实现在线发表帖子。5提供登录模块,主要用开管理员登录系统和发表帖子时留下发表者的信息。6用户随时都可以查看自己发表的帖子。7对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。8系统最大限度地实现了易维护性和易操作性。9系统运行稳定安全可靠。系统设计:总体结构图如下BBS论坛系统 系统主要功能模块用户信息修改用户信息管理用户注册发帖功能用户信息查询帖子管理主题词查询系统行为图(一) 状态图:1、前台业务状态图:2、帖子管理状态图:(二) 活动图:2、后台业务活动图:系统组件图:六、系统配置图:七、系统类图:三:用户模块用户功能实现 (1).用户的登录 (2).用户的注册 (3).用户的查找 (4).用户资料的修改会员登入根据系统首页的链接,将表格中“会员登录”项建立链接到登录页面,登录页面login.htm界面设计同样采用表单,内部嵌入表格的形式,包含“帐号”和“密码”两项内容,用户填写完毕单击“确定”按钮即进入登录信息处理页面login.asp,如果用户填写错误可单击“重置”按钮进行重填。 信息接收后转入登录信息处理程序login.asp,根据要求编写代码实现,其中,用户名和密码均不能为空,且用户填写信息需与数据库中相应内容进行比较,其中任何一项内容填写错误均会有提示信息且要求返回重填。只有用户填写的内容与数据库中内容进行比较无误后方可进入论坛主目录,主目录头会显示会员应有的权限,如:浏览帖子、发表帖子、回复帖子、搜索帖子以及搜索帖子等。如果单击登录的用户是游客,则剥夺其登录权限并给出提示。代码如下: %set rstemp=server.CreateObject(adodb.recordset)dim strname,strpassword,sqlstrname=request.Form(name)strpassword=request.Form(password)sql=select*from user where username=&strname&rstemp.open sql,conn,1,3if strname= thenresponse.write账号不能为空%上一页%response.endend ifif strpassword= then response.write密码不能为空%上一页密码错误 请重新输入账号错误 请重新输入浏览帖子任何访问论坛的用户,均可以浏览帖子简要信息表,单击标题可以浏览帖子详细内容及所有回复内容。相关代码及界面如下:String s_id=; 声明变量用来接收从数据库中获得对应值: String s_hit=; String s_renum=; String s_subject=; String s_context=; String s_date1=; String s_reid=;BBS论坛首页界面显示主帖子界面设计代码如下:   点击次数 回复次数 主题 内容 发言日期判断数据库中的记录值是否为空,若不为空,将从数据库中获得的值赋给前面声明的变量,代码如下:通过JSP表达式显示,代码如下: ahref=part.jsp?id= 发表帖子发表帖子模块的实现过程如下:首先创建一个用来封装根贴信息的ActionForm,该ActionForm继承ValidatorForm类,并覆盖了Validate()方法,其关键代码如下:public class BbsForm extends ValidatorForm private String bbsId;private String bbsBoardID;private String bbsTitle;private String bbsContent;private String bbsSender;private String bbsFace=face0.gif;private String bbsSendTime;private String bbsAnswerNum;private String bbsLastUpdateUser;private String bbsLastUpdateTime;private String bbsOpTime;private String bbsIsTop;private String bbsToTopTime;private String bbsIsGood;private String bbsToGoodTime;public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) String validate=request.getParameter(validate);if(validate=null|validate.equals()|!validate.equals(yes)return null;elsereturn super.validate(mapping, request);回复帖子用户在该论坛系统的首页浏览帖子简要信息列表时,若对某以主题感兴趣,只要点击该主题,并将该主题对应的帖子号传到“part.jsp”,在帖子详细内容页面浏览该帖子的所有恢复,并可以在下面的恢复文本框中对该主题进行恢复。相关代码及界面如下:=100 ) alert(留言内容不能大于100字!); document.form.context.focus(); return false; return true; 连接数据库,并声明变量,代码如下:    主题 发帖内容 发帖时间    历史回复 回复时间 form name=form action=dealbbs.jsp?reID= method=post/点击回复按钮,将回复内容提交到插入处理文件dealbbs.jsp,并传递参数reID=到该文件。 我要回复 input name=subject type=hidden value= /用hidden向“dealpost.jsp”传参数     返回/点击返回,回到上一页 修改资料 用户修改个人信息部分代码:public void ChangeUser(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException HttpSession session = request.getSession();User user = (User) session.getAttribute(user);String userName = user.getUserName();String qq = request.getParameter(QQ);String email = request.getParameter(Email);String oldUserPassowrd = request.getParameter(OldUserPassowrd);String userPassword = request.getParameter(UserPassword);QueryRunner qr = DbHelper.getQueryRunner();if(oldUserPassowrd=null | oldUserPassowrd.equals()String sql = UPDATE user SET Email =?,QQ =? WHERE UserName= + userName;String params = email, qq;try qr.update(sql,params); catch (SQLException e) e.printStackTrace();response.setContentType(text ml;charset=UTF-8) ;PrintWriter out = response.getWriter();out.println();out.println(alert(修改个人信息成功!);); 用户登陆界面: 五、实验结果与分析(含程序、数据记录及分析和实验总结等):实验总结:完成这次设计任务用了很多时间,前期来收集资料、学习要用到的各项开发技术、

温馨提示

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

评论

0/150

提交评论