




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 网上论坛系统实践指南 2 导读 介绍网上论坛系统的立项 需求 设计和编程实现 重点是J2EE下的系统整体架构设计 数据库设计 JDBC数据库连接中间件的连接方法 用户注册登录功能和版块管理功能的编程实现源代码 根据文献 1 的文档制作标准 本章还给出了详细而标准的需求分析文档和系统设计文档 本章的重要性与先进性在于 网上论坛系统是在当今最先进的J2EE平台下设计的 程序是用Java实现的 核心源码以文字的方式提供 全部源码在附带的光盘上给出 作为学生实习的项目 网上论坛系统的规模 或工作量 不大不小 既非常合适 又极具新意 希望将学生划分为多个项目组 每组3 5人 确定1名项目经理 按照需求 设计 美工 编程 测试进行分工 组员之间既分工又协作 一边上课 一边看书 一边模仿着做项目 用1 2个月完成这项任务 验收内容包括需求文档 设计文档 源代码 可执行程序 测试文档 用户指南 3 本章对读者的要求 4 系统立项背景 论坛又叫BBS 全称为BulletinBoardSystem 中文意思是 电子公告板 它是Internet上的一种交互性极强的 网友喜闻乐见的电子信息服务系统 提供一块公共电子白板 每个用户都可以在上面书写 发布各自的信息或提出不同的看法 以便与其它用户进行交流讨论 J2EE技术具有许多显著的优点 所以我们采用J2EE平台来开发 近两年来也开始流行起新的网络编程脚本语言ASP NET ASP NET和JSP同样是属于编译型的 即在第一次运行WEB应用时将代码编译 以后重新运行就不再进行编译了 除非代码发生改变 冰鱼论坛管理系统采用了J2EE设计模式中的MVCModel2模式 采用MySQL做数据库服务器 由于前面的章节已详细讲解了需求分析 数据库设计等方面 本章对冰鱼论坛管理系统的讨论 重点放在J2EE系统架构设计及具体实现上 而对需求分析及系统测试不作详细介绍 5 系统需求分析 需求分析就是对顾客的需求进行定义或确定 这一过程十分重要 而且有许多工作看似容易 做起来很难 因为客户的需求具有动态性 甚至有个别用户朝三暮四地变化 同时客户的需求具有模糊性 有些客户对业务流程表达不规范 对需求表达不清楚不明确 甚至自己都不清楚真正的需求是什么 所以唯一不变的是变化 论坛具有的最基本模块有 1 用户模块主要包括用户登录 注册 用户资料修改等 2 版块模块主要实现对论坛版块的管理 如增删改等 3 帖子模块主要实现显示帖子内容 斑竹或管理员能进行相应管理 4 友情链接主要用于其他站长申请友情链接 5 广告模块主要用于论坛放置广告 并进行相应管理 6 系统需求分析 尽管需求分析过程的工作很多 但最主要的是完成以下8项任务 第1项任务 画出冰鱼论坛管理系统的组织结构图 由于论坛的组织结构是以角色的组成为结构的 因此列出角色结构就可以了 画出了组织结构图 就可以了解到论坛的角色组成 为往后的权限分配和开发各个功能模块奠定了基础 第2项任务 画出冰鱼论坛管理系统的业务操作流程图 即业务操作模型 重点是业务操作的流水步骤 第3项任务 列出论坛系统的功能点列表 即功能模型 第4项任务 列出论坛系统的性能点列表 即性能模型 第5项任务 列出系统的接口列表 即接口模型 由于冰鱼论坛管理系统不需要与其它系统或设备进行交互 连接等 因此此项需求任务在该论坛系统中略去 第6项任务 确定冰鱼论坛管理系统的运行环境 即环境模型 第7项任务 约定冰鱼论坛管理系统的界面 即界面模型 第8项任务 对冰鱼论坛管理系统的开发工期 费用 开发进度 系统风险等问题进行分析与评估 7 需求规格说明书 RequirementsSpecification 1 概述 Summary 1 1用户简介 UserSynopsis 现实生活中的交流存在时间和空间上的局限性 交流人群范围的狭小 以及间断的交流 不能保证信息的准确性和可取性 因此 用户需要通过网上论坛的交流扩大交流面 同时可以从多方面获得自己的及时需求 本系统面向所有乐于参与交流活动的广大网友 用户角色大致分为三类 普通用户 管理员 斑竹 也称为版主 以下均称为斑竹 1 2项目目的和目标 PurposeandAimofProject 信息时代迫切要求信息传播速度加快 局部范围的信息交流只会减缓前进的步伐 本系统的目的在于为分散于五湖四海的人提供一个共同交流 学习 倾吐心声的平台 实现来自不同地方用户的极强的信息互动性 用户在获得自己所需要的信息的同时也可以广交朋友 拓宽自己的视野和扩大自己的社交面 1 3术语定义 TermsGlossary IceFishBBS 冰鱼论坛的英文名称 8 需求规格说明书 RequirementsSpecification 1 4参考资料 References 实用软件工程 第二版 赵池龙等编著 电子工业出版社 2006年9月1 5相关文档 RelatedDocuments 1 IceFishBBS项目开发计划书 2 IceFishBBS概要设计说明书 3 IceFishBBS详细设计说明书 1 6版本更新信息 VersionUpdatedRecord 2 目标系统描述 SysteminTarget 2 1组织结构与职责 OrganizingFrameworkandFunction 本系统用户的组织结构图如图4 3所示 2 2角色定义 RoleDefinition 用户在系统中扮演的角色 以及可以执行的职责 如表4 3所示 2 3作业流程 业务模型 BusyworkFlow OperationModel 系统总体业务流程图 如图4 8所示 对于每一个小的业务流程图 需要单独画出 为了节省篇幅 在此不再介绍 2 4信息源 BillofDocument 本系统的主要信息源说明 如表4 4至表4 9所示 9 3 目标系统功能需求 FunctionofTargetSystem 10 4 目标系统性能需求 PerformanceofTargetSystem 4 1时间需求 TimeRequest 1 查询的最长等待时间不超过5秒 2 更新信息的时间不超过3秒 3 数据的上传和下载的时间不超过10秒 4 2空间需求 SpaceRequest 1 支持的终端数 1000 2 支持的并行操作的使用者数 300 3 处理的记录数 1000 11 5 目标系统界面与接口需求 InterfaceofTargetSystem 图4 5论坛首页 12 图4 6后台管理界面 13 开发环境和运行环境 目前的J2EE应用开发环境分为两大类 基于命令行的开发环境和集成开发环境 基于命令行的开发环境利用简单的文本编辑工具写程序代码 并使用Java命令进行编译 发布 运行 常见的集成开发环境有Borland公司的JBuilder IBM公司的WSAD SUN公司的SUNoneStudio等 但这些集成开发环境价格昂贵 且运行时对硬件配置要求较高 我们使用开源的免费集成开发环境Eclipse 来开发冰鱼论坛管理系统 冰鱼论坛管理系统的测试 部署和运行 还需要一个WEB服务器的支持 这里选择使用开源免费的Tomcat 另外 还采用免费的MySQL作为数据库服务器 系统环境配置如下 JDK1 5 Eclipse3 1 Tomcat5 5 15 MySQL5 1 其中的JDK1 5可以从Sun官方网 下载 它是一切Java应用程序的基础 Eclipse3 1可以到http www eclipse org下载 Tomcat5 5 15可以到http tomcat apache org下载 MySQL5 1可以到下载 当然 以上介绍的版本可能已经不是最新版本 读者可以从它们的官方网站选择下载最新版本 安装过程 首先安装JDK 可以选择目标安装位置 其它的步骤可以按默认选项进行安装 接着安装Tomcat和MySQL 可以都按照默认选项进行安装 最后是Eclipse 直接从官方网站下载的压缩包解压就行了 第一次运行时会自动找出系统中适合Eclipse运行的Java环境 14 整体架构设计 Java是一门纯面向对象的编程语言 用来编写各种应用程序 与Java不同的是 J2EE是一种体系结构 而不是一门编程语言 J2EE是一个标准中间件体系结构 旨在简化和规范分布式多层企业应用系统的开发和部署 如图4 7为J2EE多层体系结构 包括了客户层 表示层 业务逻辑层和企业信息系统层 J2EE体系结构的实施显著地提高了企业应用系统的可移植性 安全性 可伸缩性 负载平衡和可重用性 15 J2EE多层体系结构 J2EE架构开发应用系统主要有两种类型 Model1和Model2 Model1为三层体系结构 以JSP为中心进行开发 在JSP页面中同时实现显示 业务逻辑和流程控制 这种开发模式便于掌握且开发快速 然而从软件工程化的角度来看 它存在着一些不足之处 1 由一组JSP页面实现一个业务流程 在进行改动时要同时改进多个地方 不便于应用扩展和升级 2 业务逻辑和表示逻辑混合在JSP页面中 不利于应用系统业务的重用和改动 3 对于大型应用程序 随着后期开发 JSP会变得臃肿笨重 应用系统的可维护性会严重恶化 Model2是基于MVC Model View Control 模式的框架 很好地将业务逻辑和表示逻辑分离出来 MVC架构具有以下优点 1 多视图使用同一模型 及时地得到模型数据变化 从而使所有相关联的视图和控制器做到同步 2 MVC三个层各施其职 互不干扰 并且有利于开发的分工 3 容易支持新类型的客户端 只需写一个新的视图和控制 就可连接到现存的业务模型中 16 J2EE多层体系结构 本章的冰鱼论坛管理系统案例 将采用Model2的MVC架构来实现 现在 根据前面的需求分析 设计出论坛系统的总体结构图 如图4 8所示 冰鱼论坛管理系统由五个子系统构成 并且除了注册登录功能模块有所不同 其它子系统或功能块的处理与实现都是相似的增删改查功能 因此 这里将仔细讨论用户注册登录和版块管理的功能 对于帖子管理 友情管理等子系统将在这里略去 读者可以参考附件光盘上的源代码 然后 根据需求分析文档 设计出注册登录系统的整体体系结构和版块管理子系统的整体体系结构 它们均分为四层 表示逻辑层 控制逻辑层 数据表示层 数据持久层 由图4 10可知版块管理子系统用MVC模式设计出来的流程如下 管理员在View层 视图层 JSP页面中输入版块相关信息后 由Control层 控制层 中的BoardServlet利用request获取JSP页面中表单的版块相关信息以及判断action的行为 增删改查 然后再传递给Model层 模型层 的BoardBean进行版块信息的封装 接着BoardServlet再调用模型层中已封装了所有SQL语句BoardDataBean中相应的方法对数据库进行相应的操作 由以上流程可以看出 MVC设计模式的一个明显优点是 三个层次各司其职 互不干扰 17 J2EE多层体系结构 View层 JSP页面 负责在界面上表现 它是通过Model 模型 访问企业数据并指定这些数据的显示 Control层 Servlet 负责处理与视图的交互转化成模型执行的动作 用户可以通过按钮或菜单等 来提交在Web应用中GET和POSTHTTP请求 Model层 JavaBean 负责实现业务逻辑的封装 很好的分离了后台业务逻辑和前台表示逻辑 提高了程序的可维护性 另外 MVC模式也有利于软件开发中的分工 对于擅长于网页设计界面的美工 可以负责View层 而不必熟悉Java 熟悉Java的程序员主要负责Control层和业务逻辑层 这样的分工合作 达到开发资源的最优配置 充分发挥每个人的专长 18 数据库设计 冰鱼论坛系统通过数据库连接中间件JDBC 来访问数据库 几乎在所有的Web应用程序中 都要访问存储在数据库中的信息 J2EE提供了一个标准接口JDBC来进行数据库的访问操作 要利用JDBC访问数据库 首先必须在机器上安装一个数据库管理系统 并将数据库的JDBC驱动程序添加到J2EE应用服务器的Java编译器路径中 冰鱼论坛管理系统采用的是MySQL数据库管理系统 因此还需要MySQL的驱动程序 该论坛系统所用的驱动程序为 mysql connector java 3 1 12 bin jar 你可以从网站下载而得到它 再将该驱动程序拷贝到Tomcat Home Tomcat的安装目录 下的common lib子目录下即可 由于MySQL并没有提供界面操作 对于许多人来说 靠输入SQL命令来访问数据库 显得十分不方便 为此 可以安装数据管理工具MySQL front 或者 ysql官方提供的MySQLQueryBrowser工具 这些工具的特点就是可视化 所有操作完全界面化 使MySQL管理变得较为简单 这里应当注意的是 数据库管理本身并不是一件容易的事情 只能通过可视化界面管理 让操作简单方便而已 19 数据库设计 设计好系统数据库后 便可以通过使用MySQL font管理工具 来创建冰鱼论坛的数据库 步骤如下 1 启动MySQL5 1数据库服务器 首先 打开 开始 菜单选择 运行 在弹出的运行窗口中输入 services msc s 如图4 11所示 点击 确定 按钮即打开系统服务 再在 服务 窗口中找到MySQL选项 如图4 12 点击 启动 即可启动MySQL服务 2 创建冰鱼论坛数据库 接着打开数据库管理工具MySQL Front 如图4 13所示 点击窗口中的 SQL编辑器 把冰鱼论坛管理系统的SQL脚本复制进来 然后执行SQL脚本 系统的数据库就创建完成了 20 数据库设计窗口 21 概要设计说明书 ArchitecturalDesignSpecification 图4 15用户登录系统时序图 22 图4 16添加版块时序图 23 图4 17数据表关系CDM图 24 系统目录结构 25 数据库连接实现 冰鱼论坛管理系统经常要访问存储在数据库中的信息 几乎所有的功能操作都需要实现对数据库的访问操作 因此首先要建立与数据库的连接 从达到代码重用的角度出发 该系统实现了公用的数据库连接类 以备在系统的其它Java程序中直接调用 Conn java连接完整的代码如程序4 2所示 26 用户注册登录功能实现 首先实现用户注册功能 该功能利用MVC设计模式实现 其中的View 视图层 由三个jsp页面组成 分别为reg jsp adduser jsp regsuccess jsp 其中的reg jsp文件显示了论坛注册协议 只有同意该协议才能进入下一步的注册页面adduser jsp 用户信息注册页面adduser jsp主要由一个表单form组成 该表单form利用了post请求方法 将用户信息传递给Control 控制层 中的Servlet 如果用户注册成功 则转向regsuccess jsp页面文件 并提示注册成功 如果用户注册失败 依然转向regsuccess jsp页面 不过在该页面上提示的是注册失败的原因 完整的View层代码 如程序4 3 程序4 4 程序4 5所示 27 版块管理子系统实现 该子系统实现冰鱼论坛系统的后台对版块的增删改管理 View层中关于增删改的操作主要由admin addboard jsp admin editboard jsp和admin delboard jsp页面组成 Control层主要由BoardServlet实现 Model层主要由BoardBean和BoardDataBean实现 由于前面的用户注册登录功能已经详细讲解了MVC模式的实现方法 这里就不再重复讲解 只给出程序代码让读者自行理解 首先 我们实现了一个用来查询数据库中所有结果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兔子饲养中兔毛加工工艺的研究与开发考核试卷
- 肺脏疾病检查指南解读
- 新生儿气囊使用操作规范
- 脑血管疾病案例式教学
- 海姆立克儿童急救法
- 腮腺常见疾病超声诊断
- 糕点加工过程中的卫生管理
- GSK256066-Standard-生命科学试剂-MCE
- 2025年美容护理行业中期领跑新消费美妆个护全面崛起
- 2025年新疆生产建设兵团中考生物试卷及答案
- 2025年北京市第一次普通高中学业水平合格性考试历史试题(含答案)
- 浙江省杭州市2024年中考英语真题(含答案)
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 山东省泰安市2021-2022学年高一下学期期末考试数学试题(Word版含答案)
- 复杂超限结构设计要点
- 《硅酸盐物理化学》word版
- 羽毛球社团教案(共17页)
- 下肢静脉曲张诊断及治疗进展PPT学习教案
- 化工企业41条禁令
- 2019-2020学年北京市海淀区上地实验小学北师大版四年级下册期末考试数学试卷
- 装修管理规则-城市综合体---成都租户指引
评论
0/150
提交评论