BBS管理系统分析与设计_第1页
BBS管理系统分析与设计_第2页
BBS管理系统分析与设计_第3页
BBS管理系统分析与设计_第4页
BBS管理系统分析与设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、BBSBBS管理系统分析与设计1 1引言1.1编写目的编写此文档主要是为开发商指定我们对此系统的主要需求,使开发商能够根据该文档更准确的完成该系统。希望开发商能通过该文档完全了解我们对本系统的功能需求。1.2背景说明:a.勇敢者BBS:勇敢者论坛b.任务提出者:系统开发者:系统使用者:b.该软件系统同其他系统或其他机构的基本的相互来往关系。1.3定义BBS: Bullet in Board Service( 电子公告板)用例图:从用户分析系统该系统的功能流程图:描述用户希望该系统的执行流程1.4参考资料列出用得着的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文;b.属于本项

2、目的其他已发表的文件;c. 本文件中各处引用的文件、 资料、包括所要用到的软件开发标准。列 出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2 2任务概述2.1目标叙述该项软件开发的意图、 应用目标、作用范围以及其他应向读者说明 的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关 系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。|2.2用户的特点列出本软件的

3、最终用户的特点,充分说明操作人员、 维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束2.3假定和约束列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。3 3需求分析3.1对功能的规定.1系统功能(根据用户角色划分)1.游 客浏览帖子注册会员登录论坛2.普通会员修改个人信息 浏览帖子 回复帖子发布新帖3.版 主删除帖子 修改帖子 帖子置顶 帖子加精回复为普通帖子 移动帖子4.管理员1)会员管理删除会员 浏览会员列表 查看会员信息2)板块管理增加板块删除板块修改板块浏览板块3)版主管理增加版主 删除版主修改版主浏览版主

4、.2系统功能(图示)勇敢者论坛系统龊构图.2系统用例图1.游客用例图罚敢君论九2.普通会员用例图游客用例图勇敢者论坛普通会员用例图勇敢者论坛3.版主用例图版主用例图4.管理员用例图管理员勇敢者论坛输入错i吴.3业务操作流程图1.会员注册会员注册流程图(开始)1 _/检入注册伫息JF注册成功2.会员登录存储注册信息3. 发布帖子会员登录流程图发布帖了流程图4.回复帖子回复帖子流程图浏览帖子5. 版主管理6.板块管理版屯管理流秤图版主養理否d -2)7. 帖子管理帖子管理流秤图3.2对性能的规定.1 精度说明对该软件的输入、 输出数据精度的要求, 可

5、能包括传输过程中的精 度。.2时间特性要求说明对于该软件的时间特性要求,如对:a.响应时间;b.更新处理时间;c.数据的转换和传送时间;d.解题时间;等的要求。.3灵活性说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:a.操作方式上的变化;b.运行环境的变化;c.同其他软件的接口的变化;d.精度和有效时限的变化;e.计划的变化或改进。对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。3.3MVC设计模式3.3.1MVC3.3.1MVC设计模式MVC设计模式是目前用得比较多的一种设计模式,最早出现在Smalltalk中,

6、后来广泛应用于 Java Web应用程序中。Model (模型)表示 业务逻辑层,View (视图)代表表示层,Controller (控制器)代表控制层。(1)View在Java Web应用程序中,View部分一般用JSP和HTML构建。客 户在View部分提交请求,在业务逻辑层处理后,把处理结果又返回给View 部分显示出来。因此, View部分也是 Web应程序的用户界面。(2)ControllerController部分一般由Servlet组成。当用户请求从 View部分传过来 时,Controller把该请求发给适当的业务逻辑组件处理;请求处理完成后,又返回给Controller。后

7、者再把处理结果转发给适当的 View组件显示。因 此,Controller在视图层与业务逻辑层之间起到了桥梁作用,控制了它们两者之间的数据流向。(3)ModelModel部分包括业务逻辑层和数据库访问层。在Java Web应用程序中,业务逻辑层一般由 JavaBeans 或 EJB ( Enterprise JavaBeans,企业级 JavaBeans)构建。EJB是J2EE的核心组件,可以构建分布式应用系统。 与普通JavaBeans不同,它由两个接口和一个实现类组成,并且包含一些固有的用于控制容器生命周期的方法。.2应用程序实例按照MVC 设计模式,用JSP, Servl

8、et及JavaBeans构建一个登录系统。该系统的要求是,当用户在登录页面上填入用户名和密码并提交后,系统将检查该用户是否已经注册;如果该用户已注册,系统将进入主页面,否则就进入注册页面。按以下步骤构建这个系统:1) 数据库设计:使用 mysql作为数据库,构建数据库javaee.sql ;2) 构建视图组件:会员登录页面login.jsp,主页面main.jsp,以及注册 页面 register.jsp ;3) 构建控制层组件:一个Servlet,取名为 mainServlet.java ;4) 构建业务逻辑层组件( Model组件):一个 JavaBean,取名为Adm in Bkbz.j

9、ava ;5) 构建数据访问层组件:一个数据访问类,取名为 DB.java ;6) 编译、打包程序;7) 部署该程序到 Web服务器Tomcat中,然后运行。该系统的工作流 程如图1.3所示:图1.3个简单登录系统的工作流程3 33 33 3数据表设计用户登录是一个涉及数据库操作的用例。为简便起见,本例使用的数据库为MS Access。登录涉及的数据表取名为userTable,其结构如表1.5所示。表7数据表userTable字段名字段类型字段描述userNameuserName文本(50(50 b)b)用户名,主键passwordpassword文本(30(30 b)b)密码构建视图组件:本

10、例有3个视图组件,分别是登录页面login.jsp,主页面 main.jsp及注册页面register.jsp。它们之间的关系是,当用户在登录页面login.jsp上填 入用户名和密码并提交后,系统将检查该用户是否已经注册,如果该用户已注册,系统将进入主页面mai n.jsp,否则就进入注册页面register.jsp。构建控制组件:本用例的控制组件是一个Servlet,叫做main Servlet。该组件先处理 HTTPPOST请求,然后调用模型组件或业务逻辑组件db检查该用户是否已注册,如果已注册,系统转入主页面main.jsp,否则进入注册页面register.jsp,要求用户注册自己的

11、信息。另外,Servlet都要在web.xml中声明。mainServlet在web.xml中的声明如代码清单。构建模型组件:本用例的模型组件(或称为业务逻辑组件)是db。它先调用构造函数取得数据库连接,然后检查数据库中是否已有该用户的记录,即检查该用户是否已注册。如果已注册,返回true,否则返回false。构建数据访问组件:本用例的数据访问组件是db。db在构造函数中设置数据库驱动程序名,URL,用户名和密码,然后利用这些信息连接数据库,取得连接。因为 所用数据库是mysql,数据库驱动程序采用com.mysql.jdbc.Driver,数据库URL 为 jdbc:mysql:/local

12、host:3306/javaee,其中 javaee 是本用例的数据库。4 4附录(代码)部分界面代码:回复留言界面及 Servlet部分代码:DB db = new DB();/*这里是去添加回复界面,界面中包含显示所有贴子标题的下拉 列表,所以要从留言信息表中查出来。*/ArrayList al = db.fi ndLy lnfo();/包查询的信息保存在 session中request.getSessio n().setAttribute(al2, al);respo nse.se ndRedirect(http:/localhost:8080/webtest2/Huifu.jsp);/

13、查询留言信息,返回一个 ArrayList public ArrayList fin dLy lnfo() try ArrayList al = new ArrayList(); pstmt = ct.prepareStateme nt(select * from lyTable); ResultSet rs = pstmt.executeQuery();while (rs. next() LyTable ly = new LyTable();ly.setld(rs.getl nt(1);ly.setUserId(rs.getI nt( 2);ly.setDate(rs.getStri ng(

14、3);ly.setTitle(rs.getStri ng(4);ly.setCo nte nt(rs.getStri ng(5);al.add(ly);return al; catch (Excepti on e) e.pri ntStackTrace(); return n ull;/将帖子标题加载到下拉菜单 回帖标题:vselect n ame=select %ArrayListal(ArrayList)sessio n.getAttribute(al2);Iterator iter = al.iterator();while (iter.hasNext() LyTable ly = (L

15、yTable) iter. next();%增加版块界面及Servlet部分代码:Adm in Bkbz bkbz = new Adm in Bkbz();/这里是去增加版块界面,界面中包含显示所有版主的下拉列 表,所以要从版主信息表中查出来。ArrayList al = bkbz.fi ndBz In fo();/包查询的信息保存在session中request.getSession().setAttribute(al, al);respo nse.se ndRedirect(http:/localhost:8080/webtest2/bkgl/addlist.jsp);将版主信息写入 Ar

16、rayListpublic ArrayList fin dBz lnfo() try Conn ecti on ct = Adm in Bkbz.getC onnection();String sql = select * from bzTable;ArrayList al = new ArrayList(); ct.createStateme nt(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCU R_UPDA TABLE);ResultSet rs = stmt.executeQuery(sql);while (rs.next() Ban zh

17、u bz = new Ban zhu();bz.setld(rs.get In t(1);bz.setBa nzhun ame(rs.getStri ng(2);bz.setPassword(rs.getStri ng(3);al.add(bz);rs.close();ct.close();return al; catch (Exceptio n e) e.pri ntStackTrace();return nu II;/将版主名称加载到下拉菜单 选择版主:%ArrayListal(ArrayList)sessio n. getAttribute(al);Iterator iter = al.

18、iterator();while (iter.hasNext() Ban zhu bz = (Ba nzhu) iter. next();%/获得JSP页面填入的版主名称Stri ngselect=newStrin g(request.getParameter(select).getBytes(iso-8859-1), utf-8);/获得JSP页面填入的板块标题Stringmessage=newStri ng(request.getParameter(message).getBytes(iso-8859-1), utf-8);Admi nBkbz bk = new Admi nBkbz();

19、将版主名称转换为IDint id = bk.getBzID(select);添加板块bk.addBk(id,message);/resp on se.setHeader(refresh, 3;URL=http:/localhost:8080/webtest2/admi nUl.jsp);resp on se.se ndRedirect(http:/localhost:8080/webtest2/admi nUI.jsp);沁园春雪北国风光, 千里冰封, 万里雪飘。望长城内外,惟余莽莽;大 河上下,顿失滔滔。山舞银蛇,原驰蜡象,欲与 天公试比高。须晴日,看红装素裹,分外 妖娆。江山如此多娇,引无数英雄 竞折腰。惜秦皇汉武,略输文采;唐 宗宋祖,稍逊风骚。一代天骄,成吉思汗,只识 弯弓射大雕。俱往矣,数风流人物, 还看 今朝。克出师表两汉:诸葛亮先帝创业未半而中道崩殂, 今天下三分,益州疲弊,此诚危急存亡之秋 也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之 于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄, 引喻失义,以塞忠谏之

温馨提示

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

评论

0/150

提交评论