BBS论坛系统UML建模

上传人:jin****ng 文档编号:53577072 上传时间:2022-02-10 格式:DOC 页数:22 大小:832KB
返回 下载 相关 举报
BBS论坛系统UML建模_第1页
第1页 / 共22页
BBS论坛系统UML建模_第2页
第2页 / 共22页
BBS论坛系统UML建模_第3页
第3页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件建模与 UML实训报告实训工程: 小组名称: 小组成员: 联系方式: 目录一、摘要 1二、BBS论坛系统的可行性分析 2三、BBS论坛系统的需求分析 3四、系统的UMI建模设计 6五、BBS系统的数据库建模 14六、心得 19一、摘要随着 Internet 技术的快速开展,人与人之间交流方式逐渐增多。网络视频、网络聊天、 博客已成为人们彼此沟通、 交流信息的主要方式。 此外, 为了方便人们在某一专业领域探讨 问题和发表意见, Internet 上还出现了在线论坛。在论坛上,人们可以对某一领域提出自己 遇到的问题,即发表某一主题, 随后,论坛上的其他人会根据自己的学识、 经历发表意见或 提出问题的方法。开发 BBS 论坛系统的目的是提供一个供用户交流的平台,为广阔用户提供交流经历、 探讨问题的网上社区。因此, BBS 论坛系统最根本的功能首先是发表主题,其次是其他人 员根据主题发表自己的看法。 此外, 为了记录主题的发表者和主题的回复者信息, 系统还需 要提供用户注册和登录的功能。 只有注册的用户登录后才能够发表和回复主题, 浏览者 游 客只能浏览主题信息。本论坛系统是基于是 Struts1.2+SQL Server 2000 实现的,它具有使用方便、操作灵活、 运行稳定、平安可靠等特点。关键词 在线论坛, BBS ,网上社区二、BBS 论坛系统的可行性分析可行性分析是在系统调查的根底上, 针对新系统的开发是否具备必要性和可能性, 对新 系统的开发从技术、 经济、社会的方面进展分析和研究, 以防止投资失误, 保证新系统的开 发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。2.1、技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开 发者的需要等。该 BBS 论坛管理系统采用了流行的 JSP 语言和当前新兴的 Browser/Server 浏览器 /效劳器模式进展开发。三层的 B/S 体系构造具有许多传统 Client/Server 客户机 / 效劳器体系构造不具备的优点,而且又严密的结合了Internet/Intranet 国际互联网 /企业内部互联网技术, 是技术开展的大势所趋, 它把应用系统带入了一个崭新的开展时代。数 据库效劳器选用 SQL Server 2000 数据库,它能够处理大量数据,同时保持数据的完整性并 提供许多高级管理功能。 它的灵活性、 平安性和易用性为数据库编程提供了良好的条件。 因 此,系统的软件开发平台已成熟可行。硬件方面, 科技飞速开展的今天,硬件更新的速度越 来越快, 容量越来越大, 可靠性越来越高, 价格越来越低, 其硬件平台能满足此系统的需要。2.2 、经济可行性主要是对工程的经济效益进展评估, 本系统模拟的是提供一个供用户交流的平台, 为广 阔用户提供交流经历、探讨问题的社区。 但实际只是用于个人的毕业设计, 只是模拟, 也不 存在资金的流动,故在经济上是可行的。2.3 、社会可行性随着 Internet 技术的快速开展, BBS 论坛已成为人们彼此沟通、交流信息的主要方式。 在论坛上, 人们可以对某一领域提出自己遇到的问题, 随后, 论坛上的其他人会根据自己的 学识、经历发表意见或提出问题的方法。 BBS 论坛接近了人们之间的距离,它早已成为人 们网上生活的必备工具。所以说 BBS 论坛对当今社会是相当重要的。三、BBS论坛系统的需求分析3.1、系统的目标设计系统开发的总目标是提供一个供用户交流的平台,为广阔用户提供交流经历、 探讨问题的社区。一般来说BBS论坛大致分为以下流程:用户登陆进入论坛一半为游客,有时候注册 为会员,就某个话题贴字的主题展开讨论。通过发帖功能发布新的话题;通过回帖功 能回复已有的话题;通过搜索功能查找已有的话题。管理员通过功能创立、编辑、删除论坛的板块;管理注册的用户;管理帖子。3.2、系统的功能需求分析1游客注册提供新会员注册功能, 包括提供录入信息的界面, 检查注册信息的有效性, 并将注册会 员信息保存在对应数据库的数据表中。(2)会员发帖回帖提供会员发表文章,回复文章的功能,未注册用户不允许使用该功能(3)浏览帖子对注册会员和胃注册会员提供文章查询以及阅读的功能,即通过对应文章标题信息, 查看查询详细内容及发表文章的超级链接(4)会员管理当网上论坛的回忆完成注册后,系统会在数据库中参加会员的资料。包括会员名称, 会员密码,会员 Email等相关信息资料。同时,按照会员的不同身份,将特殊会员设置为版 主,使他具备删除被讨论区中对应文章等特殊操作的权利。管理者可以依据数据库中注册的特殊身份登录到论坛后台对会员信息进展管理。(5)板块论坛分类管理根据不同的讨论内容,管理员将整个讨论区分为不同的区域,会员可以选择进入不同 的讨论区,允许管理者对分类进展调整,同时提供不同讨论区中包括文章等的统计功能。(6)贴子管理管理员和版主都可以对会员发表的帖子进展提前、置顶和删除等操作。系统总体功能模块图如下:图一:系统总体功能模块图3.3、前台根本业务模块:图二:前台根本业务模块图(1 )注册会员提供新会员注册功能,包括录入信息的节目,检查注册信息的有效性,并将注册会员信 息存入对应数据库的数据表中。2)登录系统提供会员登录论坛功能, 要想针对谋篇帖子发言, 或发表帖子,必须是登陆用户才可以 操作。由于论坛中某些操作只有会员才可以执行,所以必须先登录系统。3浏览帖子对注册会员和未注册会员提供文章查询以及阅读的功能,即提供对应文章标题信息,以及查看详细内容及回复文章的超链接4会员发表帖子会员可以针对某个感兴趣的活体发表自己独到的见解。未注册用户无此项功能5回复帖子注册会员可以对某一话题展开讨论,发表意见,并给出回复。3.4、后台管理模块后台管理模块主要包括对整个BBS论云系统的设置管理,如下图三:后台管理模块图1板块管理理员可以删除认为不必要的板块话题; 还可以添加新的板块根据不同的话题,管理员可以将每个话题分成不同的种类板块,然后对起进展管理。管 管理员可以修改板块的主题, 类型和数量等;管理员2帖子管理管理员可以对会员发表的帖子进展管理。管理员可以删除内容反动火不艰辛的帖子,可以指定帖子。还可以设置精华帖,删除、提前帖子等操作3会员管理管理员可以对会员进展管理。可以删除会员,收回他的会员号;修改会员的根本信 息,修改会员的积分,排行等。3.5、BBS论坛系统的流程图:1前台流程图:图五:系统后台流程图四、系统的UML建模设计4.1、UML简介UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟 的建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务 流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述到达一样的理 解,以减少语义差异,保障分析的正确性。4.2、该BBS论坛系统的用例分析版主管理会员BBS维护管理员管理论坛发帖评论登陆查看发帖游客会员管理发帖注册图六:系统的用例图从用例图中我们可以看出管理员、会员、游客之间对本系统所具有的用例。 管理员所包含的用例有:(1)登录系统:管理员可以通过登录该系统进展各项功能的操作(2)管理论坛发帖:包括帖子的增加、删除等(3)版主管理:可以对各板块版主的职务划定以及增、删、改等(4)会员管理:包括对会员的增加、删除、改变等(5)BBS维护:对整个BBS论坛系统功能、效劳器稳定进展维护 会员包含的用例有:(1)登录系统(2)发帖:发表自己个性的帖子(3)查看发帖:可以查看自己和其他会员发的帖子(4)评论:对帖子进展回复,发表自己的观点和看法游客包含的用例图有:(1)注册:可以申请成为该论坛的会员(2)查看发帖:查看会员发表的帖子。4.3、系统的顺序图顺序图是显示对象之间交互的图,在该BBS论坛系统中,每个用例都可以建立一个时序图,将用例执行那个的各个参与的对象之间的消息传递过程表现出来。主要含有以下几个重要的顺序图:1会员发帖回帖的顺序图::注册用户登陆系統论坛主页发帖模块输入用户名和密码I昼示论坛分类住表新哀章:回复新帖图七:会员发帖回帖的顺序图【说明】会员首先使用自己的账号和密码登录系统,登录模块将会把用户的的ID保存在系统的缓存中,并展现论坛的分类模块给会员。会员此时可以按照兴趣进入不同的主题讨论区,查看主题文章,并发表新文章需要 ID检验和回复新帖,还可以浏览其他类别的 主题讨论区。2论坛管理员管理会员的顺序图:登随系筑理址理鈕1除改数据库複块提交用戶心显示会昴酣摆惟信鼠IT埠变増删改除的会员卩I提示操杵成功馆息I更新咸功II图八:论坛管理员管理会员的顺序图【说明】管理员在提交ID给会员管理模块后,可以对会员进展维护添加、删除或修 改。管理员首先输入自己的账号和密码登录系统,此时会将管理员的ID保存在系统缓存中并提交会员管理模块。 在操作会员的页面中, 管理员会根据需要对每个会员进展增删等操作,并将其信息提交给数据库。数据库会对其进展相应的处理,并更新会员信息,至此管理员管理会员操作成功。3论坛管理员管理论坛分类的顺序图:论坛管理员登陆系统论坛类别管 理模块相关处理数据库模块图九:论坛管理员管理论坛分类的顺序图【说明】管理员使用自己的账号和密码登录后,将管理员的 ID保存在系统的缓存中并 提交给论坛类别管理模块。在显示论坛类别管理的页面中, 将显示处理类别的相关信息给管 理员,管理员在该页面中进展增删等操作后,提交操作的 ID给数据库模块处理。数据库模 块执行操作后更新结果,并提示更新成功。最后提示处理成功信息给管理员。4论坛管理员管理帖子的顺序图:登陆系统弗关处理数据库模块俞入喉号和密码提交管理员泊、畫啖贴、楕华帖的泊见示11占子母理信启数掲库扯理,办更新数遍库|提示成功信息提示成功图十:论坛管理员管理帖子的顺序图【说明】管理员在帖子管理模块可以对会员发表的帖子进展维护删除,还可以对帖子进展一些额外的智能操作,比方置顶帖子、设置精华帖子等。更改完成后,都要经过数据库的处理,并更新数据,才能成功。4.4、状态图1帖子的状态图【说明】帖子最初的存在属性是会员发表的帖子和回复的帖子,当版主将帖子设置置顶、精华、热门标志后,这些帖子的状态就发生了改变。当版主将帖子拖至垃圾箱后,那么该帖子就成为被删除的帖子了, 但是当版主在没有清空垃圾箱时,该帖子还是存在的, 所以帖子也有删除这种状态。2用户的状态图。图十二:版主的状态图【说明】当用户首次进入 BBS论坛系统时,他的身份是普通游客,但是当他注册成功 后,就成为了普通会员, 会员有申请成为版主的权利,当管理员批准并设为版主后,普通会 员就成为版主了,版主同样有权利提出辞职,当管理员批准后,版主就成为普通会员了。当会员/版主发出的请求没有得到回复时,会员和版主又是一种状态,因为当会员/版主的请求没有得到回应时,系统对这些发出请求的用户是有记录的。和普通会员还是有区别的。4.5、活动图BBS论坛系统中可以建立的活动图细分下去很多,下面大体按前台和后台笼统地介绍该系统中的活动图。(1)前台业务模块的活动图:【说明】用户进入论坛,首先会员登录或新用户注册,显示论坛的分类,查阅 论坛文章标题,点击阅读,读者可以对帖子进展回复,如果已注册会员,那么 回帖成功;否那么提示用户注册会员。【说明】管理员登录管理系统,验证信息,正确进入系统,错误,退出系统。 进入系统后,有三个模块:用户管理可以控制会员和游客的使用权限管理对帖子进展分类、 板块划分等、文章管理可以对帖子进展置顶、 设为精华帖等操作、分类删除、图十四:后台业务的活动图4.6、系统中的类图1参与者相关的类系统中参与者有4个,分别是未注册用户、注册用户、版主和系统管理员。其中把 未注册用户、注册用户和版主归为使用者,所以该系统中和参与者相关的类的类图如 以下图所示:bb&userQ-userid Integer ere lass : Integer -usernafn*changeUs ()*heckUsefQ changeU ser Pas swor d() OetUserBirthdayO registry NewUserf) *1istUserQ etUwrChssf setUsersfflnO *setUsefSex( set Use rPas s wcrd() Retuse rNameO五:系统中和参与者相关的类的类图i. bbsuser类是未注册用户、注册用户和版主的总陈,包含的属性有用户编号userid、用户姓名(username)、用户密码userpassword、用户性别(usersex)、 用户籍贯(comefrom)、用户注册时间(dateandtime)等。包含的方法有注册会员, 设置用户名字、性别、密码,改变密码等。ii. bbsadmi n类是系统管理员类,包括的属性有管理员ID、管理员账号adminname、管理员密码(adminpwd)。包含的方法有获得用户的名字,用 户的密码等。2系统中其他的类: : String 耳.password : String email - StTing erhomepage : String pname . String djmerse* : String Q-cornelrom - String usersign : Stnng uerbirthda : Date datfiandtlme . ID白itbbs admin交 id : Inteoer adminnanne String adminpwd String*chec kAdrninPa&sword() *getAdmlnNamel)*aetAdminPasssxd()bbs Wi bbsid : Integer (parenbd : Integer boardid . Integer 島child : Integer 島bbshitw : Integer bbslength : Integer usemanie : Stnng xj$erernail String xusermail : Stnng tiserip : String % expression : Stnng usereign Shing bbstopic String bbscontent: String*addNewB bs) *changeBbsChdd() *changeBbsHits(| *delBbs() *coun(Bbs() getBbsInfoO *getBbsTopic () *get Rec o nds Count ()bbsboard boandname : Stnng boardmaster: Siring masterpwd : String masteiward : String masteiemail String boaidid : String boaidhits : Stnng boajdtopics : StnngcheckBoardMasleri() *checkBoardName() *count5oard() delBoard() getBoaidldf) *getBoardlnfo() listBoand)bbscompagesCurrent: In怕gepages Next. Integerpages Last : Integerge 沪 agesCurrentf) *getPagesLast() getPagesNext() *selPages()bbsn&g 务sDBCin怕r: Stnng sConnStr: String 电conn 电executeQuery enecuteUpdateO图十六:系统中其他的类图i. bbs类表示论坛中发表的帖子类。此类的属性有帖子编号 bbsid、板块编号(boardid)、父贴编号(parentid)、跟帖数(child)、发表人姓名(username)、发表人 E-mail(usermail)、发表人IP 地址(userip)、发表人表情 (expressionO、签名(usersign0、文章的主题(bbstopic)。包含的方法有增加、删除、更改帖子等操 作。ii. bbscom类是设置分页显示的类。属性包括分页数pagesCurrent、下一页(pagesNext)、最后一页(pagesLast)。该类的功能主要是分页显示得到的数据列表。包含的方法有向上、向下翻页,设置页码等。iii. bbsboard类表示板块信息的类。它的属性主要有板块编号(boardid)、板块名称(boardname)、板块中的版主称呼 (boardmaster) 版主密码(masterpwd0、版主格 言(masterword)、版主 E-mail(masteremail)、板块点击率(boardhits)、板块主题 数(boardtopics)。包含的方法有检查版主信息,删除、排列板块等。iv. bbsreg类是跟数据库连接相关的类。属性有jdbc驱动(sDBDriver)、连接(conn)、结果集rs。该类是专门为数据库设计的,其中有一个执行SQL ” executeQuery()的方法。3各类之间的关系BBS论坛系统中主要类类不是单独存在的,各个类之间的存在着一定得联系。该 之间的关系如以下图所示:bbscom pagesCurrent: Integer pagesNext : Integer %pagesLast Integerbbs boa rdl*getPages Curre nt QagesLastf) agesNext)*setPages()boandnarne String boardmaster: String Smasterpwd : Slnng masterword String -masteremaii String boardid : String boacdhits : String 笔board祐pi Stringbbs 笑 bbsid Integer parentid . Integer boanjid : Integer bbshit5 Integer bbslength : Integer tsemame String sermail: String sermail: Stringxjserip String xpn&ssion : String njsersign : String bbstopic : String bbscontent : StringaddlMevvBbsO SjhangeBbsChiidO changeB bsHitsf) *delBbs() 上 ountBbsQ *g&tBbslnfo() getBbsTopicf) *get Rec ords Co unt()*c heck Board Master! checkBoardNameO count Bo 自 rd () *delBoard() getBoardldQ getBoardlnfo() *listBoard()0.00.0bbsregDriver : StringConnStr: Stnng bcorin T&executeQueQ excuteUpda()图十七:系统中主要类之间的关系图【说明】一个板块可以发表很多帖子,所以板块和帖子之间是一对多的关系。每个帖 子都要用到分页显示的功能。而且分页功能是一样的,所以帖子和分页是多对一的关系。五、BBS系统的数据库建模5.1、数据库设计分析数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求).(1) 数据库是信息系统的核心和根底,把信息系统中大量的数据按一定的模型组织起 来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获 得所需的信息。(2) 数据库是信息系统的各个局部能否严密地结合在一起以及如何结合的关键所在。(3) 数据库设计是信息系统开发和建立的重要组成局部。5.2、概念模型设计(E-R图)数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据构造、数据操作及数据约束。E-R模型的根本概念ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:工程所有参与者能理解 ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如 用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间1实体:现实世界中的事物;2属性:事物的特性;3联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。本系统的ER图:图十八:系统E-R图5.3、数据库表及关系建立根据以上这些步骤就可以创立一个数据库,依次建立以下表构造.1. 用户根本资料表2. 用户详细信息表3. 论坛文章表4. 论坛版区表5. 论坛初始化信息表(1) .用户根本信息表和用户详细信息表是一对一的关系,一个用户只对应一个详细 的信息表(2) .用户根本信息表和文章表是一对多的关系,即一个用户可以发表多篇文章和回复(3).论坛版区表和论坛文章表是一对多的关系,在一个论坛中可以含有多个文章和回复.5.4、详细数据库构造设计用户根本资料表中存放的是用户登陆时所需要或者记录用户的根本信息,包含比方登陆名,密码,最后登陆时间等.用户根本信息表的建立主要是记录用户最常用的一些信 息。表 3.1 leafbbs_userinfo字段名数据类型长度主键索引外键可空说明IDbigi nt20是否否代理主键UserNameVarchar20否是否用户名NickNameVarchar60否否否昵称PasswdVarchar40否否否密码Emailvarchar255否否否电子邮件Questi onvarchar255否否否提示问题An swervarchar255否否否提示答案RegTimedatetime否否否注册时间Logi nTimedatetime否否否最后登陆时间Logi nIPvarchar20否否否最后登陆IPLogi nTimesint11否否否登陆次数StayTimebigi nt20否否否停留时间Sig nDetailtext否否是用户签名HavePictin yi nt1否否是是否有头像Picvarchar255否否是头像地址TimeZ onevarchar20否否是地区(2).用户详细信息表:用户详细信息表中存放的是用户的身高,体重,联系方式等详细资料,建立此表的目的是把一些用户不经常用到的详细信息,单独存放到一张表中,可以节约系统的资源.表 3.2 leafbbs_userdetai字段数据类 长度 主键 索引 外键 可空说明IDbigi nt20是是否代理主键Heightvarchar20否否是身高Weightvarchar20否否是体重FavourPeoplevarchar255否否是最喜欢的人DreamJobvarchar255否否是向往工作FavourMusicvarchar255否否是喜欢的音乐FavourPlacevarchar255否否是喜欢的地方FavourMovievarchar255否否是喜欢的电影HomePagevarchar255否否是主页OicqNovarchar255否否是QC号码IcqNovarchar255否否是ICQ号码MSNvarchar255否否是MSN号 码Sextin yi nt1否否是性别Brieftext否否是简介(3) .论坛文章表:论坛文章表存放的是用户所发表的文章信息,也包括回复信息.而在数据库的设计中主要问题是鉴别帖子信息和回复信息表 3.3 leafbbs_forum字段名数据类型长度主键索引外键可空说明IDbigi nt20是否否代理主键Pare ntIDbigi nt20否否否父帖IDMa in IDbigi nt20否否否主帖IDBoardIDbigi nt20否否否版区IDBoardNamevarchar60否否否版区名字ReNumint11否否否回复数量ClickNumint11否否否点击次数UserIDbigi nt20否否否发表者IDUserNamevarchar20否否否发表者姓名NickNamevarchar60否否否发表者呢称Titlevarchar150否否否文章标题Detailtext否否否文章内容Signtext否否否文章说明ArtSizeint11否否否文早字节数postTimebigi nt20否否否发表时间LastTimebigi nt20否否否最后回复时间IPAddressvarchar20否否否发表者IPIsNewtin yi nt1否否否是否是新IsHidde ntin yi nt1否否否是否隐藏IsToptin yi nt1否否否是否置顶IsLocktin yi nt1否否否是否被锁定(4) .论坛版区表:论坛版区表是存放的是论坛中版块信息.而论坛也划分为父论坛和子论坛,区分他们也靠表中的某个字段来实现的.具体实际的设计如下表 3.4 leafbbs_board字段名数据类型长度主键索引外键可空说明IDbigi nt20是否否代理主键Pare ntIDbigi nt20否否否父版区IDChildIDsvarchar255否否否子版区IDBoardNamevarchar255否否否版区名字Explai nstext否否否版区描述BoardPicvarchar200否否否图片地址Ordersint11否否否显示顺序IsHidde ntinyint1否否否是否隐藏PostNumint11否否否文早数量NeedPasswdtinyint1否否否是否加密Passwdvarchar100否否是密码(5) .论坛初始化信息表:论坛初始化信息表是存放初始化信息和管理员的帐号密码等信息,初始化信息是在论坛在加载过程中读取的或者以后经常用的一些信息表 3.5 leafbbs_config表字段名数据类型长度主键索引 外键可空说明IDvarchar50是否否初始化标题Co nfCo ntexttext否否否初始化信息六、心得经过了这么多天的努力,不仅在制作的过程中复习和了解了开发一个软件的过程,而且 凝聚了我们团队,深刻地体味到了团队合作对于软件开发的重要性,受益匪浅。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!