《bbs+论坛管理系统说明书.doc》由会员分享,可在线阅读,更多相关《bbs+论坛管理系统说明书.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、滨州学院JAVA课程设计说明书 题目:bbs论坛管理系统班 级: 2006级软件班姓 名: 商庆涛,张家国,代江波 李金玉,韩超指导老师: 宋锋计算机科学技术系2008年12月Bbs论坛管理系统的设计与实现目录一、序言和设计人员3二、需求分析说明书32.1编写目的32.2系统介绍32.3系统面向的用户群体42.4系统的基本功能性需求42.5系统的开发目标4三、可行性分析报告43.1技术可行性43.2人员可能性43.3时间、设备可能性43.4系统工作量43.5代码工作量43.6文档要求4四、开发环境与项目规划44.1开发环境44.2项目规划与管理5五、概要设计说明书55.1系统的划分55.2用户
2、角色划分55.3结构化编码约定65.4前台服务的用例图75.4.1各种信息的显示75.4.2各种信息的用户操作85.4.3各种留言信息的操作85.4.4各种个人信息的浏览操作8六、软件详细设计说明书126.1系统概述126.2设计约束126.3设计策略126.4系统概要设计说明书137.4.1图例说明137.4.2系统总体结构图147.4.3销售子系统流程图147.4.4进货子系统流程图147.4.5退货子系统流程图147.5系统详细设计说明书157.5.1系统模块汇总157.5.2系统核心模块详解157.5.3系统模块详解15八、软件测试分析报告388.1测试范围与主要内容388.2测试方法
3、388.3测试报告388.4改进建议与措施39参考资料39一、序言和设计人员在网络技术逐渐渗入社会生活各个层面的今天,以前网站上的论坛管理系统要用户登陆以后才能进行相关访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统,用户可选择自己的看法。所以我提出了本课题的研究设计人员:李金玉商庆涛 代江波张家国韩超二、需求分析说明书2.1编写目的在网
4、络技术逐渐渗入社会生活各个层面的今天,以前网站上的论坛管理系统要用户登陆以后才能进行相关访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统,用户可选择自己的看法。所以我提出了本课题的研究。本系统开发的目的是为了学习这样去做一个交互式的网页以及了解这种强大的网络编程工具,方便客户端和浏览器端之间的交流。2.2系统介绍系统包括主要的功能:新用户
5、的注册,会员密码取回,会员登录,用户自己修改信息,管理员删除用户,游客浏览留言,会员新增留言,会员留言回复,管理员删除留言这些功能,可以应付一般的用户需要。2.3系统面向的用户群体网上论坛系统是一个会员登录留言系统。网上游客能够浏览论坛上的帖子,并且能够注册成为用户。论坛注册会员能够修改自己的资料信息,申请版主,发表帖子,让大家积极参与讨论。论坛管理员能够便于管理论坛,包括浏览游客留言,审核留言,对于不健康或是不利于社会稳定的留言能进行删除操作,会员管理以及论坛版主管理等等。2.4系统的基本功能性需求系统包括主要的功能:新用户的注册,会员密码取回,会员登录,用户自己修改信息,管理员删除用户,游
6、客浏览留言,会员新增留言,会员留言回复,管理员删除留言这些功能,可以应付一般的用户需要2.5系统的开发目标这个系统预期的目的是为了做成交互式的网页,方便客户端和浏览器端之间的交流。通过论坛,人们能够相互交流沟通,把疑惑在论坛里公布,大家献计献策,共同学习,共同进步。三、可行性分析报告3.1技术可行性系统的性质为BBS论坛管理软件,因而数据库的设计与操纵和JSP的应用是系统设计的核心。我在教师的指导下实习过很多项目的开发,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;指导老师宋锋多年从事数据库的教学与研究工作,因而该系统的实现在技术上是可行的。3.2人员可能性我们组都拥有一定的的开发经验
7、,目前时间充足,可以完成开发任务。李金玉的计算机功底很深,可以参与系统的数据库设计与开发。代江波有深厚的文字功底,可以参与用户文档的制作、内部文档整理、后期测试等任务。所有人员均可立即投入开发工作。3.3时间、设备可能性系统设计与开发工作预计耗时一个月,所有参与开发的人员均能够保证按时完成任务。实验设备如:计算机、打印机、扫描仪等不足,上机任务可以完成,打印机、扫描仪的实验根据具体条件暂时延缓执行。3.4系统工作量该系统的工作量相对于我们的开发小组来说很大,必须保证按进度完成任务。实际工作量预计超过一个月。如包含软件维护及技术文档的整理、制作,工作量将更大。3.5代码工作量预计需2个月左右。3
8、.6文档要求依据国家计算机软件产品开发文件编制指南和现代软件工程的理论与原则编制标准的软件技术文档。四、开发环境与项目规划4.1开发环境前台开发环境:Eclipse 3.2后台数据库环境:Microsoft Access 2000/20024.2项目规划与管理系统分析与设计:商庆涛程序编制:李金玉数据库设计:张家国、韩超文档整理与制作:代江波系统测试:全组人员五、概要设计说明书5.1系统的划分该网站建设包含以下子系统:前台服务功能后台管理功能登录、注册、修改信息、注销管理个人的留言信息查看、发表、回复留言用户管理BBS论坛系统查询留言(分类、高级)管理员后台管理版主后台系统设置留言管理公告管理
9、其它管理5.2用户角色划分1、 普通(游客)用户是该论坛的一种用户,普通用户以游客身份登录本系统,只具有察看帖子的功能,不能留言。2、 注册用户具备普通用户所有的能力。并且是已经注册了的用户,可以登录、修改个人信息,并且可以发表留言。3、版主具备注册用户所有的能力,其主要权限是对分论坛进行文章管理。4、管理员管理员登录以后可以对论坛系统进行管理,包括论坛的基本信息、用户设置,还可以修改管理员密码。5.3结构化编码约定编码应清晰、可读性好,运用缩进、空行,结合大小写区别等方法保持程序结构良好。凡与数据库操作相关的模块一律加上容错代码,涉及多表操作的模块应运用“事务”处理,以保持数据完整性。编码风
10、格参照下例进行:Public Sub CheckUser(userID As String, passwd As String)Dim userDB As DatabaseDim userRD As RecordsetDim dbName As StringDim STRSQL As StringScreen.MousePointer = 11On Error GoTo errEnddbName = App.PathIf Right(dbName, 1) 、 Then dbName = dbName + 、dbName = dbName + DataBase、WFSSDataBase.mdbS
11、TRSQL = select 用户身份 from Admin where 用户ID= & userID & and 用户密码= & passwd & 打开数据库Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)检索用户,验证密码Set userRD = userDB.OpenRecordset(STRSQL, dbOpenSnapshot)If userRD.RecordCount 0 Then 设置用户身份 UserShenFen = userRD!用户身份 关闭数据库 userRD.Close Set
12、userRD = Nothing userDB.Close Set userDB = Nothing 进入用户环境 Load FrmMain FrmMain.Show Unload FrmLogIn logOK = True userName = userID Screen.MousePointer = vbDefaultElse 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing logOK = False Screen.MousePointer = vbDefault MsgBox 用户名或密码
13、错误!请重新输入!, vbOKOnly + vbExclamation, 登陆失败End IfExit SuberrEnd: Screen.MousePointer = vbDefault MsgBox Err.Description, vbOKOnly + vbExclamation, 登陆错误 logOK = False Err.Clear 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing Exit SubEnd Sub5.4前台服务的用例图5.4.1各种信息的显示(面向游客)5.4.2各种信
14、息的用户操作(面向注册用户)5.4.3各种留言信息的操作(面向注册用户)5.4.4各种个人信息的浏览操作(面向注册用户)六、软件详细设计说明书6.1系统概述基于Struts框架的BBS论坛系统摘要:本文从系统概述到系统详细设计对基于struts框架的bbs论坛系统的设计做了深入而详细的介绍.开发过程中使用到的开发工具有:web服务器tomcat,数据库服务器oracle,集成开发工具myeclipse和jdk。整个论坛系统分为前台,和后台两个大的模块。其中前台模块实现的基本功能主要有:用户注册,用户登陆,查看和修改用户个人信息,浏览帖子,发表回复,发表新帖子,注销登陆;后台模块实现的基本功能主
15、要有:管理员登陆,模糊查找用户,编辑用户权限,编辑论坛版块,删除论坛版块,模糊搜索帖子,删除帖子6.2设计约束 系统将实现人员、帖子的全面管理,而帖子管理是系统的核心部件,怎样实现二者的相互联系,和帖子系统的管理,是本系统设计的难点。本系统必须实现对用户权限的有效合理控制。6.3设计策略由于所有的帖子都需要有人员的活动才能够发生,因此,我们决定采用一种“人员活动对应帖子流动”的策略来解决人员管理与帖子管理的统一管理问题。这个想法是模拟现实而来的,比如说,只有已注册人员进行了“发表帖子”活动,才会将这个人的帖子放入这个人的帖子库中。6.4系统详细设计说明书6.4.1系统核心模块详解全局变量定义:
16、用户身份标志Public UserShenFen As String登陆状态Public logOK As Boolean用户名Public userName As String用户名编号Public YongHuMingID As String会员卡号Public HuiYuanKaHao As String会员姓名Public HYXingMing As String会员等级Public HYDengJi As String模块名:CheckUser原型:Public Sub CheckUser(userID As String, passwd As String)代码:Public Su
17、b CheckUser(userID As String, passwd As String)Dim userDB As DatabaseDim userRD As RecordsetDim dbName As StringDim STRSQL As StringScreen.MousePointer = 11On Error GoTo errEnddbName = App.PathIf Right(dbName, 1) Then dbName = dbName + dbName = dbName + DataBaseWFSSDataBase.mdbSTRSQL = select 用户身份 f
18、rom Admin where 用户ID= & userID & and 用户密码= & passwd & 打开数据库Set userDB = DBEngine.Workspaces(0).OpenDatabase(dbName, False, True)检索用户,验证密码Set userRD = userDB.OpenRecordset(STRSQL, dbOpenSnapshot)If userRD.RecordCount 0 Then 设置用户身份 UserShenFen = userRD!用户身份 关闭数据库 userRD.Close Set userRD = Nothing user
19、DB.Close Set userDB = Nothing 进入用户环境 Load FrmMain FrmMain.Show Unload FrmLogIn logOK = True userName = userID Screen.MousePointer = vbDefaultElse 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing logOK = False Screen.MousePointer = vbDefault MsgBox 用户名或密码错误!请重新输入!, vbOKOnly +
20、 vbExclamation, 登陆失败End IfExit SuberrEnd: Screen.MousePointer = vbDefault MsgBox Err.Description, vbOKOnly + vbExclamation, 登陆错误 logOK = False Err.Clear 关闭数据库 userRD.Close Set userRD = Nothing userDB.Close Set userDB = Nothing Exit SubEnd Sub模块名:LogOff模块原型:Public Sub LogOff()代码:Public Sub LogOff()Di
21、m retVal As IntegerretVal = MsgBox(你确定要注销吗?, vbOKCancel + vbQuestion, 注销当前用户)If retVal = vbCancel Then Exit SubLoad FrmLogInFrmLogIn.ShowIf UserShenFen = 论坛总管理员 Then Unload FrmAdminMainElseIf UserShenFen = 论坛模块管理员 Then Unload FrmCangGuanMainElseIf UserShenFen = 会员 Then Unload FrmMemberMainElse Unloa
22、d FrmGuestMainEnd IfUnload FrmMainUserShenFen = logOK = FalseEnd Sub模块名:Sys_exit模块原型:Public Sub Sys_exit()代码:Public Sub Sys_exit()Dim retVal As IntegerretVal = MsgBox(你确定要退出吗?, vbOKCancel + vbQuestion, 退出系统)If retVal = vbCancel Then Exit SubIf UserShenFen = 论坛管理员 Then Unload FrmAdminMainElseIf UserS
23、henFen = 论坛模块管理员 Then Unload FrmCangGuanMainElseIf UserShenFen = 会员 Then Unload FrmMemberMainElse Unload FrmGuestMainEnd IfUnload FrmMainEndEnd Sub模块名:Form_Load模块原型:Private Sub Form_Load()代码:Private Sub Form_Load()Dim dbName As StringDim connSTR As StringOn Error GoTo errEndChDir App.PathdbName = Ap
24、p.PathIf Right(dbName, 1) Then dbName = dbName + dbName = dbName + DataBaseWFSSDataBase.mdbconnSTR = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & dbName & ;Persist Security Info=FalseAdodc1.ConnectionString = connSTRExit SuberrEnd: MsgBox 连接数据库失败!, vbOKOnly + vbExclamation, 打开数据库出错 EndEnd Sub模块名:
25、GetHYDaZhe模块原型:Public Function GetHYDaZhe(bianHao As String) As String代码:Public Function GetHYDaZhe(bianHao As String) As StringOn Error GoTo errEndIf bianHao = Then GetHYDaZhe = 1 Exit FunctionEnd IfAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select 打折 from 会员政策 where 会员级别= & bianHao & Adod
26、c1.RefreshIf Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst GetHYDaZhe = Adodc1.Recordset!打折Else MsgBox 会员政策数据丢失,请与经理联系!, vbOKOnly + vbExclamation, 检索错误 GetHYDaZhe = 1End IfExit FunctionerrEnd: MsgBox 检索数据库出错!, vbOKOnly + vbExclamation, 检索错误 GetDingJia = 未知End Function模块名:GetKuCun模块原
27、型:Public Function GetKuCun(bianHao As String) As String代码:Public Function GetKuCun(bianHao As String) As StringOn Error GoTo errEndAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select 库存量 from Book where 图书编号= & bianHao & Adodc1.RefreshIf Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.Mo
28、veFirst GetKuCun = Adodc1.Recordset!库存量Else MsgBox 图书资料数据丢失,请与经理联系!, vbOKOnly + vbExclamation, 检索错误 GetKuCun = 0End IfExit FunctionerrEnd: MsgBox 检索数据库出错!, vbOKOnly + vbExclamation, 检索错误 GetDingJia = 未知End Function模块名:HYShengJi模块原型:Public Function HYShengJi(HYKaHao As String) As Boolean代码:Public Fun
29、ction HYShengJi(HYKaHao As String) As BooleanOn Error GoTo errEndDim BiaoZhun As IntegerDim SUMBook As IntegerIf HYKaHao = Guest Then HYShengJi = False Exit FunctionEnd IfBeginTransAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select sum(实收金额) as 总金额 from 售书记录 where 会员卡号= & HYKaHao & Adodc1.Re
30、freshIf Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst SUMBook = CInt(Adodc1.Recordset!总金额)Else SUMBook = 0End IfAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select 会员标准 from 会员政策 where 会员级别=Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun = CInt(Adodc1.Recordset!会员标准)If SUMBo
31、ok = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 会员表 where 会员卡号= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!会员等级 = Adodc1.Recordset.Update End IfEnd IfAdodc1.CommandType = adCmdTextAdodc1.RecordSo
32、urce = select 会员标准 from 会员政策 where 会员级别=Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun = CInt(Adodc1.Recordset!会员标准)If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 会员表 where 会员卡号= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1
33、.Recordset.MoveFirst Adodc1.Recordset!会员等级 = Adodc1.Recordset.Update End IfEnd IfAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select 会员标准 from 会员政策 where 会员级别=Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun = CInt(Adodc1.Recordset!会员标准)If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdTex
34、t Adodc1.RecordSource = select * from 会员表 where 会员卡号= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!会员等级 = Adodc1.Recordset.Update End IfEnd IfAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select 会员标准 from 会员政策 where 会员级别=Adodc1.R
35、efreshAdodc1.Recordset.MoveFirstBiaoZhun = CInt(Adodc1.Recordset!会员标准)If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 会员表 where 会员卡号= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!会员等级 = Ado
36、dc1.Recordset.Update End IfEnd IfAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select 会员标准 from 会员政策 where 会员级别=Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun = CInt(Adodc1.Recordset!会员标准)If SUMBook = BiaoZhun Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from 会员表 where
37、会员卡号= & HYKaHao & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset!会员等级 = Adodc1.Recordset.Update End IfEnd IfCommitTransHYShengJi = FalseExit FunctionerrEnd: Rollback HYShengJi = True Screen.MousePointer = vbDefault MsgBox 检查会员是否应升级时操作失败!, vbOKOnly +
38、 vbExclamation, 图书销售 CmdOK.Enabled = TrueEnd Function模块名:CmdSellBook_Click模块原型:Private Sub CmdSellBook_Click()代码:Private Sub CmdSellBook_Click()On Error GoTo errEndDim QD As IntegerCmdSellBook.Enabled = FalseIf TxtShuLiang.Text = Then MsgBox 请输入交易的数量!, vbOKOnly + vbExclamation, 填写数量 TxtShuLiang.SetF
39、ocus CmdSellBook.Enabled = True Exit SubEnd IfIf GetKuCun(TuShuBianHao) = 0 Or GetKuCun(TuShuBianHao) TxtShuLiang.Text Then MsgBox 该类图书库存量不足,请与仓库管理员联系!, vbOKOnly + vbExclamation, 库存不足 TxtShuLiang.SetFocus CmdSellBook.Enabled = True Exit SubEnd IfIf TxtZheKou.Text = Then MsgBox 请输入交易的实际折扣率!, vbOKOnly
40、 + vbExclamation, 填写折扣 TxtZheKou.SetFocus CmdSellBook.Enabled = True Exit SubEnd IfIf TxtZheKou.Text 1 Then MsgBox 实际折扣率填写错误!请在 0 与 1 之间选择., vbOKOnly + vbExclamation, 填写折扣 TxtZheKou.SetFocus CmdSellBook.Enabled = True Exit SubEnd IfIf TxtSJJinE.Text = Then MsgBox 请输入交易的实际金额!, vbOKOnly + vbExclamatio
41、n, 填写金额 TxtSJJinE.SetFocus CmdSellBook.Enabled = True Exit SubEnd IfIf TxtMemo.Text = Then TxtMemo.Text = 无QD = MsgBox(确定入帐吗?, vbOKCancel + vbQuestion, 确认入帐)If QD = vbCancel Then CmdSellBook.Enabled = True Exit SubEnd If售书入帐Screen.MousePointer = 11BeginTransAdodc1.CommandType = adCmdTableAdodc1.RecordSource = 售书记录Adodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset!图书编号 = TuShuBianHaoAdodc1.Recordset!数量 = TxtShuLiang.TextAdodc1.Recordset!会员卡号 = HuiYuanKaHaoAdodc1.Recordset!实际打折 = TxtZheKou.TextAdodc1.Recordset!实收金额 = TxtSJJinE.TextAdodc1.Recordset!日期 = Year(Now) & - & Month(Now)
限制150内