软件工程基于Web的BBS系统试验报告_第1页
软件工程基于Web的BBS系统试验报告_第2页
软件工程基于Web的BBS系统试验报告_第3页
软件工程基于Web的BBS系统试验报告_第4页
软件工程基于Web的BBS系统试验报告_第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 5 开发环境 在开发此论坛的时候 需要具备下面的软件环境 服务器端 操作系统 Windows XP Web 服务器 Tomcat 6 0 Java 开发包 JDK 1 6 数据库 SQL Server 2000 浏览器 IE6 0 分辨率 最佳效果为 1024 768 像素 客户端 浏览器 IE6 0 分辨率 最佳效果为 1024 768 像素 二 概念模型设计二 概念模型设计 E R E R 图图 数据模型是是数据特征的抽象 从抽象层次上描述了系统的静态特征 动态行为和约束条件 为数据库 系统的信息表与操作提供一个抽象的框架 描述了数据结构 数据操作及数据约束 E R 模型的基本概念 ER 图概念化地构建实体间关系的模型 这使得它们区别于数据库模型图 ER 图的理念是 项目所有参与 者能理解 ER 图 ER 图由不同实体类型 关系 特性和类型构成 实体是诸如用户的实际对象 有时更抽象 但必须有业务意义 特性用于描述实体 关系用于实体之间 1 实体 现实世界中的事物 2 属性 事物的特性 3 联系 现实世界中事物间的关系 实体集的关系有一对一 一对多 多对多的联系 E R 模型的基本概念 本系统的 ER 图 用户 M 发表 N 帖子 详细资料 1 1 N 管理 管理员 1 N 添加 1 修改 论坛 数据库及关系的建立 根据以上这些步骤就可以创建一个数据库 依次建立下列表结构 1 用户基本资料表 2 用户详细信息表 3 论坛文章表 4 论坛版区表 5 论坛初始化信息表 1 用户基本信息表 和用户详细信息表是一对一的关系 一个用户只对应一个详细的信息表 2 用户基本信息表和文章表是一对多的关系 即一个用户可以发表多篇文章和回复 3 论坛版区表和论坛文章表是一对多的关系 在一个论坛中可以含有多个文章和回复 详细数据库结构设计 1 用户基本资料表 用户基本资料表中存放的是用户登陆时所需要或者记录用户的基本信息 包含比如登陆名 密码 最后登陆 时间等 用户基本信息表的建立主要是记录用户最常用的一些信息 1 1 leafbbs userinfoleafbbs userinfo 字段名字段名数据类型数据类型长度长度主键主键索引索引外键外键可空可空说明说明 IDbigint20YNN 代理主键 UserNameVarchar20NYN 用户名 NickNameVarchar60NNN 昵称 PasswdVarchar40NNN 密码 Emailvarchar255NNN 电子邮件 Questionvarchar255NNN 提示问题 Answervarchar255NNN 提示答案 RegTimedatetimeNNN 注册时间 LoginTimedatetimeNNN 最后登陆时间 LoginIPvarchar20NNN 最后登陆 IP LoginTimesint11NNN 登陆次数 StayTimebigint20NNN 停留时间 SignDetailtextNNY 用户签名 HavePictinyint1NNY 是否有头像 PicFileNamevarchar255NNY 头像地址 TimeZonevarchar20NNY 地区 2 用户详细信息表 用户详细信息表中存放的是用户的身高 体重 联系方式等详细资料 建立此表的目的是把一些用户不经常 用到的详细信息 单独存放到一张表中 可以节约系统的资源 2 2 leafbbs userdetaileafbbs userdetai 字段字段数据类数据类长度长度主键主键索引索引外键外键可空可空说明说明 IDbigint20YYN 代理主键 Heightvarchar20NNY 身高 Weightvarchar20NNY 体重 FavourPeoplevarchar255NNY 最喜欢的人 DreamJobvarchar255NNY 向往工作 FavourMusicvarchar255NNY 喜欢的音乐 FavourPlacevarchar255NNY 喜欢的地方 FavourMovievarchar255NNY 喜欢的电影 HomePagevarchar255NNY 主页 OicqNovarchar255NNY QQ 号码 IcqNovarchar255NNY ICQ 号码 MSNvarchar255NNY MSN 号码 Sextinyint1NNY 性别 BrieftextNNY 简介 3 论坛文章表 论坛文章表存放的是用户所发表的文章信息 也包括回复信息 而在数据库的设计中主要问题是鉴别帖子 信息和回复信息 3 3 leafbbs forumleafbbs forum 字段名字段名数据类型数据类型长度长度主键主键索引索引外键外键可空可空说明说明 IDbigint20YNN 代理主键 ParentIDbigint20NNN 父帖 ID MainIDbigint20NNN 主帖 ID BoardIDbigint20NNN 版区 ID BoardNamevarchar60NNN 版区名字 ReNumint11NNN 回复数量 ClickNumint11NNN 点击次数 UserIDbigint20NNN 发表者 ID UserNamevarchar20NNN 发表者姓名 NickNamevarchar60NNN 发表者昵称 Titlevarchar150NNN 文章标题 DetailtextNNN 文章内容 SigntextNNN 文章说明 ArtSizeint11NNN 文章字节数 postTimebigint20NNN 发表时间 LastTimebigint20NNN 最后回复时间 IPAddressvarchar20NNN 发表者 IP IsNewtinyint1NNN 是否是新 IsHiddentinyint1NNN 是否隐藏 IsToptinyint1NNN 是否置顶 IsLocktinyint1NNN 是否被锁定 4 论坛版区表 论坛版区表是存放的是论坛中版块信息 而论坛也划分为父论坛和子论坛 区分他们也靠表中的某个字段 来实现的 具体实际的设计如下 4 4 leafbbs boardleafbbs board 字段名字段名数据类型数据类型长度长度主键主键索引索引外键外键可空可空说明说明 IDbigint20YNN 代理主键 ParentIDbigint20NNN 父版区 ID ChildIDsvarchar255NNN 子版区 ID BoardNamevarchar255NNN 版区名字 ExplainstextNNN 版区描述 BoardPicvarchar200NNN 图片地址 Ordersint11NNN 显示顺序 IsHiddentinyint1NNN 是否隐藏 PostNumint11NNN 文章数量 NeedPasswdtinyint1NNN 是否加密 Passwdvarchar100NNY 密码 论坛初始化信息表 论坛初始化信息表是存放初始化信息和管理员的帐号密码等信息 初始化信息是在论坛在加载过程中读取 的或者以后经常用的一些信息 表表 3 53 5 leafbbs configleafbbs 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 sql strname request Form name strpassword request Form password sql select from user where username 声明变量用来接收从数据库中获得对应值 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 else return 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

提交评论