UML分析与设计案例:BBS网上论坛2014-5-23学习内容需求分析创建系统用例模型创建系统静态模型创建系统动态模型创建系统部署模型系统需求分析随着Internet的发展,促进了门户网站和BBS论坛的蓬勃发展。特别是BBS论坛,几乎每个网站都开发了自己的论坛系统。BBS是电子公告牌(BulletinBoardSystem)的英文缩写,主要通过文字的界面,为广大的用户提供发表各自观点和交换消息等功能。目前,通过BBS系统可随时取得各种最新的信息;也可以通过BBS系统来和别人讨论各种有趣的话题;还可以利用BBS系统来发布一些“征友”、“廉价转让”、“招聘人才”及“求职应聘”等启事;更可以召集亲朋好友到聊天室内高谈阔论……只要您在一台可以访问互联网的计算机旁,就可以进入这个交流平台,来享用它的种种服务。BBS网上论坛可以说已经成为人们生活中的进行信息交流的重要渠道之一。系统需求分析一个基本的BBS网上论坛,可以大致分为以下流程:用户(一般为游客或注册会员)登录进入论坛,就某个帖子的主题展开讨论。通过发帖功能发布新的主题;通过回帖功能回复已有的主题;通过搜索功能查找已有的主题。论坛管理员通过管理功能创建、编辑、删除论坛的板块;管理注册用户和管理帖子。根据以上BBS网上论坛的流程,决定了本系统的功能性需求包括以下内容:本论坛的用户主要分为有三种:一种是普通用户即游客、一种是论坛的注册会员、还有一种是论坛的管理员。三者的身份不同,权限不同,所以,具体的功能需求也不同。系统需求分析对于普通用户来说,具有以下二个功能:1.无须注册即可以浏览论坛的信息,系统提供论坛文章的查询和阅读功能,即提供对应文章的标题信息以及查看详细内容。2.如果要想对某个主题发帖和回复,则该用户必须先进行注册成为论坛注册的会员。系统提供新会员的注册功能,在用户输入个人信息后,经检查注册信息有效后,将注册会员的信息保存到相应的数据库中。系统需求分析对于论坛注册会员来说,除了具备普通用户的所有功能,并还拥以下的功能:1.要想针对主题发帖或回复必须是登录的注册用户。无论时在进入论坛首页时或在发帖和回复帖子时,进行登录都是可以的。注册会员在登录页面中要输入注册的用户账号和密码,通过身份验证才能获得发帖和回复的权限。2.注册会员可以针对某一主题发表帖子(文章)和修改发帖的内容。3.注册会员能够对某一个主题展开讨论,发表意见,并进行回复。4.注册会员可以修改自己的个人会员信息、修改密码、找回密码和进行登录的注销。系统需求分析对于论坛管理员而言,它的功能范围包括:1.当网上论坛会员注册后,系统会在数据库中加入会员的资料,包括会员名称、会员密码、会员E-mail等个人信息。论坛管理员对会员资料信息进行管理,可查看用户的基本信息、删除该用户的信息修改会员的积分和排行等。2.根据不同的讨论内容,论坛管理员将整个讨论区划分成不同的版块,会员可以选择进入不同的讨论区,允许管理者对版块进行调整,删除不必要的版块、修改版块的名称、类型和数量,同时提供不同讨论区中包括文章数量等的统计功能。3.论坛管理员能够对会员发表的帖子进行修改、删除内容反动或不健康的帖子、转移、置顶、设置精华贴、控制帖子的点击率等操作。系统需求分析本BBS网上论坛各个功能模块及各个模块间的关系如下图所示的功能结构图。系统建模创建系统用例模型创建系统用例的第一步是确定系统的参与者。根据前面的需求分析可知BBS网上论坛的参与者包含以下四种:1.用户。泛指所有使用BBS网上论坛系统的人,是专门抽象出来的一个参与者。2.普通用户。也就是游客,没有在论坛中进行注册的用户,无权发帖和回帖,仅能浏览论坛文章。3.注册会员。已经注册成为了BBS论坛的会员的用户,登录论坛后即可拥有发帖和回帖的权限。4.管理员。拥有对本论坛进行设置管理、会员管理、版块管理、帖子管理和用户进行管理的权限。系统建模创建系统用例模型普通用户、注册会员用户、管理员都继承自用户是泛化的关系。如此便可以画出三个参与者如下图所示。系统建模创建系统用例模型普通用户可以通过本系统进行如下活动:在BBS网上论坛中进行注册成为注册会员。在论坛中查询帖子(文章)。在论坛中浏览论坛帖子的具体内容。系统建模创建系统用例模型注册会员除了普通用户所有的功能,还可以通过本系统进行如下活动:登录BBS网上论坛。在论坛中发帖和回复帖子,包括修改发帖的内容。修改个人注册信息,包括修改登录密码。在忘记登录密码时,可以找回该密码。可以在线注销登录。系统建模创建系统用例模型论坛管理员可以通过本系统进行如下活动:对论坛会员进行管理,包括删除会员、设置会员等级、查询会员信息、添加会员等。对论坛的帖子进行管理,包括帖子置顶、设置精华帖、删除帖子、修改帖子等。对论坛版块分类进行管理,包括添加版块、修改版块和删除版块等。登录到BBS网上论坛。系统建模创建系统静态模型根据系统需求我们可以识别系统中存在的五个类:用户类(User)、管理员类(Admin)、文章类(Article)、版块类(Catagory)和数据库处理类(DataHandle)。并且注册会员类和文章类之间是“一对多”的关系,因为一个注册会员可以同时发表多个帖子。由于一篇文章只能归属于一个版块,而一个版块可以有多个文章,所以版块类和文章类是“一对多”的关系。而对于管理员来说,能够同时管理多个文章、多个版块和多个用户,所以相对于这几个类都是“一对多”的关系。用户和管理员在论坛中的所有功能的实现都离不开都离不开数据库处理类,该类和其他的类形成的是一对一的关系。系统建模创建系统静态模型最后,创建完成后的BSS网上论坛的类图如下图所示。系统建模创建系统静态模型BBS网上论坛采用了多层的架构设计模式,也就把系统分为了“表示层”、“控制层”、“业务层”和“数据访问层”四个层次。那么对系统进行组织也就顺理成章的先分为对应的四个包:表示层包、控制层包、业务层包和数据访问层包。另外,在加上处理系统各种错误的“错误信息处理包”。这五个包之间是存在的是相互依赖的关系。创建后的系统包图如下图所示。系统建模创建系统动态模型1.注册会员发帖和回帖序列图和协作图工作流程如下:(1)注册会员进入登录页面,输入账号和密码并提交。(2)登录成功后,进入到论坛首页。首页显示论坛版块分类信息。(3)在分类中选择相关主题,浏览帖子的具体内容,单击发帖或回帖按钮就进入发帖或回帖的页面。(4)在页面中执行发帖回帖的操作。(5)数据库处理相应的帖子数据。(6)注册用户回到主页继续浏览论坛。(7)浏览结束后退出论坛。系统建模创建系统动态模型2.管理员管理论坛会员用例序列图和协作图工作流程如下:(1)管理员进入登录后台的页面,输入账号和密码并提交。(2)登录成功后,进入后台会员管理的页面。(3)在会员管理页面提交要管理的会员编号,页面显示可以对会员进行的操作信息。(4)执行相应的会员操作如添加、删除、修改会员信息等。同时,系统将会员的编号提交到会员处理业务层,通知数据库更新会员信息的数据。(5)数据库数据更新成功后通知会员处理业务层,由该层返回提示操作成功的信息。系统建模创建系统动态模型3.管理员管理论坛版块用例序列图和协作图工作流程如下:(1)管理员进入登录后台的页面,输入账号和密码并提交。(2)登录成功后,进入后台论坛版块管理的页面。(3)在论坛版块管理页面提交要管理的版块编号,页面显示可以对版块进行的操作信息。(4)执行相应的版块操作如添加、删除、修改版块等。同时,系统将版块的编号提交到版块处理业务层,通知数据库更新版块信息的数据。(5)数据库数据更新成功后通知版块处理业务层,由该层返回提示操作成功的信息。系统建模创建系统动态模型4.管理员管理帖子用例序列图和协作图工作流程如下:(1)管理员进入登录后台的页面,输入账号和密码并提交。(2)登录成功后,进入后台论坛帖子管理的页面。(3)在论坛帖子管理页面提交要管理的帖子编号,页面显示可以对帖子进行的操作信息。(4)执行相应的帖子操作如添加、删除、设置精华帖等。系统将帖子的编号提交到帖子处理业务层,通知数据库更新帖子信息的数据。(5)数据库数据更新成功后通知帖子处理业务层,由该层返回提示操作成功的信息。系统建模创建系统动态模型在BBS网上论坛中,有明确状态转换的类有四个,分别是用户、注册会员、普通会员和管理员。1.管理员在本系统中的可能出现的各种状态有:登录系统、管理用户、管理帖子和管理版块。它们之间的转化规则是:(1)管理员首先必须登录系统,才能进行各种的操作。(2)管理员可以在后台系统中进入到管理会员、管理版块和管理帖子的操作状态。系统建模创建系统动态模型根据管理员的各种状态以及转换规则,管理员状态图如下图所示:系统建模创建系统动态模型2.用户在本系统中可能出现的各种状态包括:未注册、已注册、在线注销。它们之间的转化规则是:(1)用户未注册时称为普通用户即游客,可以浏览论坛上的帖子和进行帖子的搜索查询,但不能进行发帖和回帖的操作。(2)当用户注册后,称为注册会员,就拥有了进行发帖和回帖的权限。(3)在线注销是已经成功登录的用户提前结束会话,从而可以用另一个账号来登录或退出本系统。系统建模创建系统动态模型根据用户的各种状态以及转换规则,创建用户的状态图如下图所示。系统建模创建系统动态模型3.注册会员在本系统中的可能出现的各种状态有:登录系统、查询帖子、浏览帖子发表帖、回复帖子和修改信息。它们之间的转化规则是:(1)注册会员首先必须登录系统,才能进行各种的操作。(2)登录后可以在查询帖子的界面寻找想要阅读的帖子进行浏览。(3)注册会员能够就某一个版块的主题进行发表帖子表达自己的观点或者对感兴趣的帖子进行回复。(4)修改信息使注册会员可以进行修改密码、找回密码、修改个人信息的操作。系统建模创建系统动态模型根据注册会员的各种状态以及转换规则,创建注册会员的状态图如下图所示。系统建模创建系统动态模型4.普通会员在本系统中的可能出现的各种状态有:进入论坛、查询帖子、浏览帖子和注册。它们之间的转化规则是:(1)普通会员在网页输入论坛地址,进入论坛的首页(2)在论坛中可以查询感兴趣的内容(3)浏览帖子的具体内容(4)注册成为会员(4)最后退出论坛系统建模创建系统动态模型根据普通会员的各种状态以及转换规则,创建普通会员的状态图如下图所示。系统建模创建系统动态模型在BBS网上论坛中,我们可以创建主要的活动图包括用户活动图、会员管理活动图、管理帖子活动图。1.用户具体活动过程描述如下:(1)会员通过网址,进入本论坛。(2)进入注册界面,输入个人信息,提交成功后成为注册会员。(3)在登录界面,输入注册的账号和密码,提交成功回到首页继续浏览。如果登录失败,页面显示提示信息,重新登录。(4)进入版块区,浏览帖子(5)发表或回复帖子(6)注销登录,退出论坛系统建模创建系统动态模型创建完成的用户活动图如下图所示。系统建模创建系统动态模型2.会员管理活动图的具体活动过程描述如下:(1)管理员首先要进行论坛首页。(2)单击后台管理超链接,进入后台登录页面,如果登录成功,则进入后台管理的主界面。(3)在界面中选择会员管理菜单,进入会员管理的界面。(4)管理员在会员管理操作界面可以进行对会员的添加、删除、修改的操作。(5)在操作结束后,最后退出后台管理。系统建模创建系统动态模型创建完成的会员管理活动图如下图所示。系统建模创建系统动态模型3.管理帖子活动图的具体活动过程描述如下:(1)管理员首先必须进行登录系统的活动。(2)如果管理员登录失败,将返回登录界面。(3)如果管理员登录成功,才能进入到系统后台管理的界面。(4)在该界面中,管理员可以进行用户信息管理、商品信息管理和订单信息管理的活动。(5)结束所有操作活动后,退出系统。系统建模创建系统动态模型创建完成的帖子管理活动图如下图所示。系统建模创建系统部署模型在BBS网上论坛中,我们可以对系统的主要参与者和主要的业务实体类分别创建对应的构件进行映射。我们根据类图创建系统的构件图,包括