论坛系统概要设计说明书
1 概述
1.1 编写目的
本文档的编写目的是:详细定义 1.2参考资料 《BBS论坛系统需求说明书》 1.3 定义 游客 所有访问论坛,尚未登录的人。 注册用户 申请注册并提交成功的人。 版主 具有发布版块公告,管理版内帖子,删除/转移帖子,奖励/惩罚一般注册用户功能的已 注册用户。 系统管理员 具有宣布论坛开放/关闭注册,帖子的批量删除/转移,版块管理,用户管理功能的总版主。 用户 此“用户”泛指所有的注册用户和游客。 管理人员 此“管理人员”泛指版主和系统管理员。 注册 游客访问论坛按系统规则申请注册。 登录 注册用户按系统规则登录论坛。 退出 已登录用户退出登录状态。 浏览主题 游客及登录的用户通过此业务按系统规则浏览论坛上各版块的主题 用户(包括所有注册用户或游客)通过此操作可以浏览自身权限许可范围内的论坛的板块列表,主题列表,以及每一个主题。 发布主题 注册用户通过此业务按系统规则进行主题的发布。 回复主题 注册用户通过此业务按系统规则进行主题的回复。 修改帖子 注册用户和管理人员通过此业务按系统规则修改自己已发布的主题或回复的帖子。 修改个人资料 注册用户通过此业务按系统规则修改自已在注册新用户时所填写的个人资料或是已经通过此业务修改过的个人资料。 管理版内帖子 版主通过此业务按系统规则在自已管理的版块内对帖子进行锁定,解锁,置顶,取消置顶,加为精华,解除精华,删除帖子,移动帖子等操作。 删除帖子 管理人员通过此业务按系统规则在自已权限内对不良帖子进行删除操作。 禁用一般注册用户 管理人员通过此业务按论坛的规则对于屡次违反规定且拒不改悔的一般注册用户进行禁用操作,禁用后该用户无法正常登录。 查询主题 注册用户和管理人员通过此业务按关键字对帖子进行查找。 帖子的批量删除/转移 管理人员通过此业务按系统规则对于不符合规定的帖子进行批量的删除或者对于发错版块的帖子进行转移等操作。 版块管理 系统管理员通过此业务按系统规则对版块进行管理,如版块的增加,重新命名,删除,关闭等操作。 2 需求概述 2.1 目标 实现BBS论坛系统的基本功能。 2.2 运行环境 2.2.1设备环境 服务器端:P4或以上CPU, 1G或以上内存 客户端:P3或以上CPU, 256M或以上内存 2.2.2支持软件环境 服务端: 操作系统:Windows 2000 Server Web容器:JDK5.0、Tomcat5 数据库:Mysql 客户端: 操作系统:Microsoft Windows 98 简体中文版或 以上 浏览器:Internet Explorer,Firefox,遨游等主流浏览器。 2.3 需求概述 1. 游客可以浏览主题,注册,登陆。 2. 论坛的普通注册用户拥有的浏览,发表主题,回复主题,修改自己的个人资料,查询主题,修改自己发布或回复的帖子等功能。 3. 版主对版块的管理功能,包括对帖子的操作(查询主题,置顶,加为精华,移动,删除,编辑),对用户的操作(禁言,删除id),对版块的操作(发布版块内公告)。 4.系统管理员对版块的操作(版块的建立,修改,删除),对用户的操作(禁言,删除id), 对帖子的操作(查询主题,移动,删除),对论坛的操作(开放/关闭会员注册功能)。 5. 论坛自身拥有的一些机制包括防止恶意注册,防止机器人恶意访问论坛。 2.4 条件与限制 无 3 总体设计 系统框架图 游客操作会员注册会员登录浏览主题贴用户操作注册用户操作主题发表3.1 主要类图 1.用户信息类 UserInfo: 主题回复修改个人资料查询主题编辑个人贴子帖子管理查询主题置顶加精移动主题版删除帖子主操编辑作回复Bbs用户管理禁言论坛删除用户ID系统版块管理发布版内公告版块建立版块管理修改版块系统删除版块管理设置版主人员用户管理用户禁言操删除用户ID作移动帖子帖子管理删除帖子查询主题贴论坛管理开放/关闭注册功能防恶意注册 userID userName userPassword userSex userEmail userBirthday userBrief userShutup userIsbanzhu createuser() edituser() 2.用户操作类 UserBean: regist() login() logout() createtopic() topiclist() replytopic() searchtopic() editnote() 3.版主操作类 check() settop() setfine() move() deletenote() deletetopic() edittopic() shutup() deleteID() setmsg() 4.论坛操作类 settree() edittree() deletetree() setregister() setbanzhu() 3.2 浏览主题用例规约 用例名称:浏览主题 用例标识: 涉及的参与者:用户 描述: 用户通过此操作可以浏览自身权限许可范围内的论坛的板块列表,主题列表,以及每一个主题。 前置条件:用户通过浏览器访问论坛首页。 后置条件:浏览器显示了用户想要浏览的主题内容。 正常事件流: 1. 用户通过浏览器访问论坛首页。 2. 注册用户输入自己的用户名和密码。 3. 系统显示用户权限范围内可以查看的板块列表。 4. 用户从板块列表中选择自己想要浏览的论坛板块。 5. 系统显示此板块内用户权限范围内可以查看的主题列表。 6. 用户从主题列表中选择自己想要浏览的主题。 7. 系统分页显示用户指定的主题及所有该主题的回复。 3.3 发布主题用例规约 用例名称:发布主题 用例标识: 涉及的参与者:注册用户 描述: 注册用户通过此操作可以进行主题的发布。 前置条件:注册用户通过浏览器访问论坛首页。 后置条件:注册用户发布的主题内容提交给系统服务器,系统显示注册用户提交的主题内容。 正常事件流: 1. 注册用户通过浏览器访问论坛首页。 2. 注册用户输入自己的用户名和密码。 3. 系统显示用户权限范围内可以查看的板块列表。 4. 注册用户从板块列表中选择自己想要发布主题的论坛板块。 5. 系统显示此板块内用户权限范围内可以查看的主题列表。 6. 注册用户输入想要发布的主题的内容信息表情符号等,并选择提交。 7. 系统显示此注册用户提交的主题内容。 3.4 回复主题用例规约 用例名称:回复主题 用例标识: 涉及的参与者:注册用户 描述: 注册用户通过此操作可以回复主题。 前置条件:注册用户通过浏览器访问到想回复的主题。 后置条件:注册用户回复主题的内容提交给系统服务器,系统显示注册用户提交的回复内容。 正常事件流: 1. 注册用户通过浏览器访问论坛首页。 2. 注册用户输入自己的用户名和密码。 3. 系统显示用户权限范围内可以查看的板块列表。 4. 注册用户从板块列表中选择自己想要发布主题的论坛板块。 5. 系统显示此板块内用户权限范围内可以查看的主题列表。 5. 注册用户从主题列表中选择自己想要回复的主题。 6. 系统显示此主题内用户权限范围内可以查看的主贴与回复。 7. 注册用户输入想要回复的主题的内容信息表情符号等,并选择提交。 8. 系统显示此注册用户提交的回复内容。 3.5 注册用例规约 用例名称:游客注册 用例标识: 涉及的参与者:游客 描述: 游客通过此操作可以拥有注册用户权限。 前置条件:游客通过浏览器访问论坛首页。 后置条件:游客将注册内容提交给系统服务器,系统通过游客的注册请求。 正常事件流: 1. 游客通过浏览器访问论坛首页。 2. 游客选择注册。 3. 系统显示注册页面。 4. 游客填写注册用户信息,提交给系统服务器。 5. 系统通过游客注册请求,注册成功,显示登录页面。 3.6 登录用例规约 用例名称:用户登录 用例标识: 涉及的参与者:用户 描述: 用户通过此操作可以执行注册用户权限。 前置条件:用户通过浏览器访问论坛首页。 后置条件:用户将登录内容提交给系统服务器,系统通过用户的登录请求。 正常事件流: 1. 用户通过浏览器访问论坛首页。 2. 用户选择登录。 3. 系统显示登录页面。 4. 用户填写登录信息,提交给系统服务器。 5. 系统通过用户登录请求,登录成功,显示首页。 3.7 修改个人信息用例规约 用例名称:修改个人信息 用例标识: 涉及的参与者:登录用户 描述:登录用户通过此操作可以修改个人信息。 前置条件:登录用户通过浏览器访问论坛首页。 后置条件:登录用户将修改的个人信息内容提交给系统服务器,系统通过登录用户的修改请求。 正常事件流: 1.登录用户通过浏览器访问论坛首页。 2.登录用户选择修改个人信息。 3.系统显示修改个人信息页面。 4.登录用户修改个人信息,提交给系统服务器。 5.系统通过登录用户修改请求,修改成功,显示个人信息页面。 3.8 查询主题用例规约 用例名称:查询主题 用例标识: 涉及的参与者:登录用户/管理人员。 描述:登录用户/管理人员通过此操作可以查询主题。 前置条件:登录用户/管理人员通过浏览器访问论坛首页。 后置条件:登录用户/管理人员将查询关键字提交给系统服务器,系统通过登录用户/管理人员的请求,返回查询结果。 正常事件流: 1.登录用户/管理人员通过浏览器访问论坛首页。 2.登录用户/管理人员输入查询关键字,选择查询,将查询关键字提交给系统服务器。 3.系统通过登录用户/管理人员请求,显示查询结果。 3.9 编辑帖子用例规约 用例名称:编辑帖子 用例标识: 涉及的参与者:帖子作者/版主 描述:帖子作者/版主通过此操作可以编辑帖子。 前置条件:编辑帖子通过浏览器访问要编辑的帖子。 后置条件:帖子作者/版主将修改的帖子内容提交给系统服务器,系统通过帖子作者/ 版主的修改请求。 正常事件流: 1.帖子作者/版主通过浏览器访问要编辑的帖子。 2.帖子作者/版主选择修改帖子。 3.系统显示修改帖子页面。 4.帖子作者/版主修改帖子,提交给系统服务器。 5.系统通过帖子作者/版主修改请求,修改成功,显示主题页面。 3.10 主题置顶/加精用例规约 用例名称:主题置顶/加精 用例标识: 涉及的参与者:版主 描述:版主通过此操作可以将主题置顶/加精。 前置条件:版主通过浏览器访问要置顶/加精的主题所在的主题列表。 后置条件:版主将置顶/加精请求提交给系统服务器,系统通过版主的置顶/加精请求。 正常事件流: 1.版主通过浏览器访问要置顶/加精的主题所在的主题列表。 2.版主选择置顶/加精帖,将置顶/加精请求提交给系统服务器。 3.系统通过版主的置顶/加精请求。 4.主题置顶/加精成功,系统显示新主题列表。 3.11 主题移动用例规约 用例名称:主题移动 用例标识: 涉及的参与者:版主/系统管理员 描述:版主/系统管理员通过此操作可以将主题移动。 前置条件:版主/系统管理员通过浏览器访问要移动的主题。 后置条件:版主/系统管理员将移动请求提交给系统服务器,系统通过版主的移动请求。 正常事件流: 1.版主/系统管理员通过浏览器访问要移动的主题。 2.版主/系统管理员选择移动帖,选择移动到的版块,将移动请求提交给系统服务器。 3.系统通过版主/系统管理员的移动请求,在移动到的版块的主题列表里添加此主题。 4.主题移动成功,系统显示本版块主题列表。 3.12 主题删除用例规约 用例名称:主题删除 用例标识: 涉及的参与者:版主/系统管理员 描述:版主/系统管理员通过此操作可以将主题删除。 前置条件:版主/系统管理员通过浏览器访问要删除的主题。 后置条件:版主/系统管理员将删除请求提交给系统服务器,系统通过版主/系统管理员的删除请求。 正常事件流: 1.版主/系统管理员通过浏览器访问要删除的主题。 2.版主/系统管理员选择删除主题,将删除请求提交给系统服务器。 3.系统通过版主/系统管理员的删除请求。 4.主题删除成功,系统显示原版块主题列表。 3.13 用户禁言用例规约 用例名称:用户禁言 用例标识: 涉及的参与者:版主/系统管理员 描述:版主/系统管理员通过此操作可以将用户禁言。 前置条件:版主/系统管理员通过浏览器访问要禁言的用户的帖子。 后置条件:版主/系统管理员将用户禁言请求提交给系统服务器,系统通过版主/系统管理员的禁言请求。 正常事件流: 1.版主/系统管理员通过浏览器访问要禁言的用户的帖子。 2.版主/系统管理员选择禁言,将禁言请求提交给系统服务器。 3.系统通过版主/系统管理员的禁言请求。 4.用户禁言成功,返回原页面。 3.14 用户删除用例规约 用例名称:用户删除 用例标识: 涉及的参与者:版主/系统管理员 描述:版主/系统管理员通过此操作可以将用户删除。 前置条件:版主/系统管理员通过浏览器访问要删除的用户的帖子。 后置条件:版主/系统管理员将删除请求提交给系统服务器,系统通过版主/系统管理员的删除请求。 正常事件流: 1.版主/系统管理员通过浏览器访问要删除的用户的帖子。 2.版主/系统管理员选择删除用户,将删除请求提交给系统服务器。 3.系统通过版主/系统管理员的删除请求。 4.用户删除成功,系统显示原页面。 3.15 发布版内公告用例规约 用例名称:发布版内公告 用例标识: 涉及的参与者:版主 描述:版主通过此操作可以发布版内公告。 前置条件:版主通过浏览器访问权限内版块。 后置条件:版主将发布版内公告请求提交给系统服务器,系统通过版主的发布版内公告请求。 正常事件流: 1.版主通过浏览器访问权限内版块。 2.版主选择发布版内公告,将发布版内公告请求提交给系统服务器。 3.系统通过版主的发布版内公告请求。 4.发布版内公告成功,系统显示新主题列表。 3.16 帖子删除用例规约 用例名称:帖子删除 用例标识: 涉及的参与者:版主/系统管理员 描述:版主/系统管理员通过此操作可以将帖子删除。 前置条件:版主/系统管理员通过浏览器访问要删除的帖子。 后置条件:版主/系统管理员将删除请求提交给系统服务器,系统通过版主的删除请求。 正常事件流: 1.版主/系统管理员通过浏览器访问要删除的帖子所在的主题。 2.版主/系统管理员选择删除帖子,将删除请求提交给系统服务器。 3.系统通过版主/系统管理员的删除请求。 4.帖子删除成功,系统显示新主题。 3.17 版块建立用例规约 用例名称:版块建立 用例标识: 涉及的参与者:系统管理员 描述:系统管理员通过此操作可以新建版块。 前置条件:系统管理员通过浏览器访问版块管理页面。 后置条件:系统管理员将新建版块请求提交给系统服务器,系统通过系统管理员的新建版块请求。 正常事件流: 1.系统管理员通过浏览器访问版块管理页面。 2.系统管理员选择新建版块,将新建版块请求提交给系统服务器。 3.系统通过系统管理员的新建版块请求。 4.新建版块成功,系统显示版块管理页面。 3.18 版块修改用例规约 用例名称:版块修改 用例标识: 涉及的参与者:系统管理员 描述:系统管理员通过此操作可以修改版块。 前置条件:系统管理员通过浏览器访问版块管理页面。 后置条件:系统管理员将修改版块请求提交给系统服务器,系统通过系统管理员的修改版块请求。 正常事件流: 1.系统管理员通过浏览器访问版块管理页面。 2.系统管理员选择修改版块,将修改版块请求提交给系统服务器。 3.系统通过系统管理员的修改版块请求。 4.修改版块成功,系统显示版块管理页面。 3.19 版块删除用例规约 用例名称:版块删除 用例标识: 涉及的参与者:系统管理员 描述:系统管理员通过此操作可以删除版块。 前置条件:系统管理员通过浏览器访问版块管理页面。 后置条件:系统管理员将删除版块请求提交给系统服务器,系统通过系统管理员的删除版块请求。 正常事件流: 1.系统管理员通过浏览器访问版块管理页面。 2.系统管理员选择删除版块,将删除版块请求提交给系统服务器。 3.系统通过系统管理员的删除版块请求。 4.删除版块成功,系统显示版块管理页面。 3.20 开放/关闭注册用例规约 用例名称:开放/关闭注册 用例标识: 涉及的参与者:系统管理员 描述:系统管理员通过此操作可以开放/关闭注册。 前置条件:系统管理员通过浏览器访问管理页面。 后置条件:系统管理员将开放/关闭注册请求提交给系统服务器,系统通过系统管理员的开放/关闭注册请求。 正常事件流: 1.系统管理员通过浏览器访问管理页面。 2.系统管理员选择开放/关闭注册,将开放/关闭注册请求提交给系统服务器。 3.系统通过系统管理员的开放/关闭注册请求。 4.开放/关闭注册成功,系统显示管理页面。 4 数据结构设计 4.1 公共数据结构设计 为了保护数据,所有永久数据对应的变量都被设置为私有变量。同时为了记录在线人数,使用全局变量OnlineUser 其类型为HashTable类型,当有游客或者用户访问论坛的时候把用户的sessionid加入OnlineUser。30秒中之后如果用户没有刷新,则把该用户的 sessionid从Hashtable里移除。 4.2 数据结构同程序的关系 使用了HashTable,定义了HashTable类型的全局变量,在所有页面中存在。当用户进行任何操作时,在所有程序都要通过此全局变量判断用户的Session有没有过期。 5 系统出错处理设计 1.提供统一的系统出错用户界面。 2.出错用户界面中应提供详细的出错信息,如:错误页面,出错原因等。 3.出错用户界面中应提供解决错误的提示操作步骤。 因篇幅问题不能全部显示,请点此查看更多更全内容