软件工程--网上论坛.doc_第1页
软件工程--网上论坛.doc_第2页
软件工程--网上论坛.doc_第3页
软件工程--网上论坛.doc_第4页
软件工程--网上论坛.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

VIP免费下载

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

文档简介

江西理工大学应用科学学院信息工程系课程设计说明书设计题目 网上论坛系统 专业班级 计算机072班 学 号 02号 学生姓名 陈端 指导老师 胡健 起止日期 2010年 11月8日至11月19日19目录1系统需求分析111引言1111目的1112背景1113项目概述1114参考文献112需求概述1121目标1122用户类和特征1123运行环境113功能需求2131确定执行者2132确定用例3133编写用例文档314非功能需求7141性能需求7142安全性需求72建立分析的对象模型721用户类描述822管理员类描述923话题类描述1024版块类描述1025广告类描述1126友情链接类描述113提供交互界面的类1231用户操作的界面类1232管理员操作的界面类1233斑竹操作的界面类1234通用操作的界面类134建立动态模型1341用户注册登录系统1342添加板块145数据库表的设计1551数据库表之间关系说明1552数据库表的详细清单166 总结20软件工程课程设计网上论坛系统1 系统需求分析11引言111目的本项目名称为“阳光论坛系统”。系统功能主要包括:用户通过网上论坛的交流扩大交流面,同时可以从多方面获得自己的及时需求。112背景需求分析报告的作用是为“阳光论坛系统”开发人员进行系统总体规划设计及具体实施开发工程提供必需的参考资料,在系统开发完成为后期系统的测试、验收提供帮助。113项目概述本项目的用户是用户、管理员、斑竹。普通用户能够通过网上论坛查找网上信息,进行网上交流,同时发表自己的意见。管理员可以聘请斑竹,管理论坛信息,如添加、删除、修改版块和广告等。斑竹能够对帖子进行维护,查看信息等。114参考文献1 王华,周丽娟,谭小慧编著。软件工程实验与课程设计指导。北京:电子工业出版社,2008年8月2 陈明。软件工程实用教程。北京:电子工业出版社,2006年1月12需求概述121目标“阳光论坛系统”主要提供网上交流信息、帖子信息管理与维护。本系统的目的在于为分散于五湖四海的人提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方用户的极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和扩大自己的社交面。122用户类和特征用户主要是用户、管理员、斑竹。管理员需要进行斑竹的聘任、删除等工作,具备计算机知识,如技术管理等。斑竹需要进行帖子筛选等工作,具备一定的计算机操作知识即可。用户是普通用户,具备一定的计算机操作知识即可。123运行环境“阳光论坛系统”的运行环境主要是以下2个方面:(1) 硬件资源服务器:工作站或小型机。网络设备:网络交换机,网卡,网线。(2) 软件资源服务器端软件选择的具体说明如下。操作系统:Window 2000或Windows XP.数据库:Microsoft SQL Sever 2005。JDK:jdk1.5。应用服务器:Apache tomcat 5.5。开发平台:Ecplise3.2+MyEcplise 5.5.1。客户端软件选择的具体说明:Web浏览器13功能需求相应的功能需求有如下方面。(1) 能够对用户进行一定的信息操作,并方便、有效地进行相应的信息操作和管理,主要包括以下内容。 用户登录。 用户资料的修改。 用户可以对帖子进行浏览、回复、修改。 用户可以发表话题。(2) 能够对一定数量的斑竹的帖子信息进行相应的信息操作和管理,其中包括以下内容。 斑竹对帖子的添加。 斑竹对帖子的加精。 斑竹对帖子的顶置。 斑竹对帖子的移动。 斑竹对帖子的锁定。(3) 管理员能够对网上论坛进行的信息操作和管理,其中包括以下内容。 管理员对斑竹能够进行任免。 管理员对版块进行添加、修改、删除。 管理员对友情链接能够进行添加、删除。 管理员对广告能够进行添加、删除。(4) 数据保存:需要长期保存在数据库的数据有以下内容。 用户信息:用户的基本信息。 帖子信息:帖子的基本信息。 友情链接信息:链接的基本信息。 广告信息:广告的基本信息。(5) 系统用户:用户、管理员、斑竹。其功能需求分别介绍如下。 用户:可以发表话题,修改本人资料,可对本人发表的帖子进行回复、修改,可对别人发表的帖子进行浏览、回复。 管理员:可对版块进行添加、删除、修改;可对斑竹进行任免;可对广告进行添加、修改;可对链接进行添加、修改、删除。 斑竹:可对帖子进行添加、删除、加精、置顶、移动、锁定。131确定执行者确定执行者为用户、管理员、斑竹。132确定用例图1.1所示是我们通过一定的调研和分析后得到的“阳光论坛系统”的用例图。图1.1用例图133编写用例文档以下介绍编写用例文档的内容和方法。(1) 登录论坛用例用例名:登录论坛。参与执行者:用户,斑竹或者管理员入口条件:用户,斑竹或者管理员已经登录到该系统中。事件流:用户(或斑竹和管理员)单击【登录】按钮,出现一个用户登录框,输入用户的用户名和密码,单击【登录】。如果普通用户没有用户名和密码,则必须先注册。出口条件:用户名和密码正确,就进入该系统,否则系统提示用户名和密码错误,重新输入用户名和密码。异常事件:无。(2)修改资料用例用例名:修改资料参与执行者:用户。入口条件:用户已经登录到该系统中。事件流:用户登录到该系统以后,可以对自己的资料进行修改。找到相应位置点击【修改】按钮进行修改。出口条件:用户修改完自己的资料以后,点击【保存】。异常事件:无。(3)浏览帖子用例用例名:浏览帖子参与执行者:用户。入口条件:用户已经登录到该系统中。事件流:当用户登录到论坛系统后,就可以浏览到别的用户发布到论坛的帖子,同时可以发表自己的意见。出口条件:用户浏览完自己想要看的帖子,不想看其他帖子了,就可以退出该系统。异常事件:无。(4)回复帖子用例用例名:回复帖子参与执行者:用户。入口条件:用户已经登录到该系统中。事件流:用户找到自己想要看的帖子,点击【回复】按钮对这个帖子进行回复,或者对别的用户的回复进行回复。出口条件:用户对所有要回复的帖子回复完成,点击【确定】。异常事件:无。(5)修改帖子用例用例名:修改帖子。参与执行者:用户已经登录到该系统中。事件流:用户对自己发表过的帖子可以进行修改。点击【修改】按钮就可以进行修改了。出口条件:用户修改完帖子的内容后,点击【确定】按钮就可保存当前修改。异常事件:无。(6)发表话题用例用例名:发表话题。参与执行者:用户。入口条件:用户已经登录到该系统中。事件流:用户登录系统以后,如果用户有自己想要发表的话题,用户就可以点击【发表新话题】按钮来发表话题放到论坛上,如果不想发表,用户就可以退出该系统。出口条件:用户发表完自己想要发表的话题,点击【保存】按钮则成功发表了一个新话题。异常事件:无。(7)添加板块用列用例名:添加板块。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:当管理员登录到该系统之后,管理员可以根据相应的需求,添加一个版块到论坛中去,对帖子进行归类,把相同的内容放到同一个版块中去。出口条件:版块添加完成,点击【保存】可以退出该环节。异常事件:无。(8)修改板块用例用例名:修改板块。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:当系统的现有板块已经不符合相应的规格或者有东西需要更新时,管理员可以点击相应位置的【修改】按钮对该板块进行修改。出口条件:板块修改完成,点击【保存】可以退出该环节。异常事件:无。(9)删除板块用例用例名:删除板块。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:当系统中的某板块不符合当下要求时,管理员可以找到相应板块的【删除】按钮来删除板块。出口条件:在进行删除确认之后,点击【确定】则成功删除该板块。异常事件:无。(10)任免斑竹用例用例名:任免斑竹。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:当增加删除或者修改了一个板块时,可能相应的斑竹需要随之变化,或者现有斑竹不想在担任斑竹一职,又或某板块因相关需要应增加斑竹时等等情况,需要对斑竹进行任免。出口条件:任免完毕,可退出本环节。异常事件:无。(11)添加链接用例用例名:添加链接。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:论坛的一个功能是便于交流,这就免不了和站外或者站内的链接进行相关互动和合作,在某位置需要新连接时,管理员可点击【添加链接】按钮进项新链接的添加。出口条件:添加完成后,确认无误时,点击【保存】按钮则成功添加一个链接。异常事件:无。(12)修改链接用例用例名:修改链接。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:当某些链接已经过时或者失效时,应该对该链接进行修改。找到相应链接的位置,点击【修改链接】按钮,进行相应的修改。出口条件:修改完毕且确认无误后,点击【保存】则成功修改了该链接。异常事件:无。(13)删除链接用例用例名:删除链接。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:当链接失效或者不在需要时,可进行删除链接操作,在相应位置点击【删除链接】按钮就能对其进行删除。出口条件:确认删除之后,点击【确定】按钮则成功删除了该链接。异常事件:无。(14)添加广告用例用例名:添加广告。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:当客户需要在本论坛发布广告时,管理员应该能及时进行发布,在相应的广告位置,点击【添加广告】按钮进行广告的添加。出口条件:添加完毕广告且确认无误时,点击【保存】按钮则成功添加了广告。异常事件:无。(15)修改广告用例用例名:修改广告。参与执行者:管理员。入口条件:管理员已经登录到该系统中。事件流:当客户对广告有新的要求时,管理员应该能及时修改该广告商的广告,在相应的广告位置,点击【修改广告】按钮进行广告的修改。出口条件:广告修改完毕且确认无误时,点击【保存】按钮则成功修改了广告。异常事件:无。(16)删除帖子用例用例名:删除帖子。参与执行者:斑竹。入口条件:斑竹已经登录到该系统中。事件流:对一些违反论坛相关规定和国家相关规定的帖子,斑竹有权利删除它,在相应位置点击【删除帖子】按钮进项该帖子的删除。出口条件:确认无误时,点击【确定】按钮则成功删除了该帖子。异常事件:无。(17)帖子加精用例用例名:帖子加精。参与执行者:斑竹。入口条件:斑竹已经登录到该系统中。事件流:对于一些经典的帖子或者特别突出的帖子,有重大意义的帖子,斑竹能对其进行加精操作,在相应的帖子上点击【帖子加精】按钮进行帖子的加精。出口条件:确认无误后,点击【确定】按钮则成功把该帖子进行了加精操作。异常事件:无。(18)帖子置顶用例用例名:帖子置顶。参与执行者:斑竹。入口条件:斑竹已经登录到该系统中。事件流:对于很多人浏览的帖子或者论坛的相关公告帖,斑竹可对其进行置顶操作,在相应的帖子上点击【帖子置顶】按钮进行帖子的置顶。出口条件:确认无误后,点击【确定】按钮则成功把该帖子进行了置顶操作。异常事件:无。(19)移动帖子用例用例名:移动帖子。参与执行者:斑竹。入口条件:斑竹已经登录到该系统中。事件流:对于一些位置发布错误的帖子,斑竹应对其进行移动,移动到相应版块的位置。出口条件:移动完毕,则退出本环节。异常事件:无。(20)锁定帖子用例用例名:锁定帖子。参与执行者:斑竹。入口条件:斑竹已经登录到该系统中。事件流:当帖子的版块不符、提出的问题已解决、标题不规范等情况发生时,斑竹应对该帖子进行锁定操作,在相应的帖子上点击【帖子锁定】按钮进行帖子的锁定。出口条件:确认无误后,点击【确定】按钮则成功把该帖子进行了锁定操作。异常事件:无。14非功能需求141性能需求“阳光论坛系统”的使用者是用户、管理员和斑竹。对用户的管理工作,性能需求不是很严格。142安全性需求由于“阳光论坛系统”中的论坛信息不被他人所袭击,所以要保证论坛的安全性,防止出现病毒入侵等。对于整个系统,需要完整的权限控制,防止某些人恶意地攻击系统,修改原始记录。通时对于数据库中的数据需要定时备份,防止系统数据丢失。此外,系统要求用户在登录时需要身份验证。2 建立分析的对象模型在“阳光论坛系统”的设计中,需要建立分析的对象模型,如表2.1所示。表2.1 建立分析的对象模型候选描述类名注释用户在系统中,封装用户基本信息UserHibernate持久化对象管理员在系统中,封装管理员基本信息AdminHibernate持久化对象话题在系统中,封装话题基本信息TopicHibernate持久化对象版块在系统中,封装版块基本信息BoardHibernate持久化对象广告在系统中,封装广告基本信息AdHibernate持久化对象友情链接在系统中,封装友情链接基本信息LinkHibernate持久化对象通过分析,我们得到的“阳光论坛系统”的类图,如图2.1所示。图2.1类图21用户类描述类名:User用户类属性如表2.2所示。表2.2用户类属性表序号数据项英文名数据项中文名类型,长度,精度PK/FK1User_id用户id号int(11)PK2User_name用户名char(50)3User_password密码char(100)4User_sex性别char(2)5User_birthday生日datetime6User_QQQQint(11)7User_EmailE-mailchar(50)8User_tel电话或手机char(50)9User_face头像地址char(100)10User_sign个人签名text11User_grAde用户等级char(50)12User_mark积分int(11)13User_topic发表话题总数int(11)14User_wealth用户财富int(11)15User_post发表帖子总数int(11)16User_group所属门派char(50)17User_lastip最后登入IPchar(15)18User_delnum被删除帖子总数int(11)19User_friends好友名单text20User_regtime注册时间datetime21User_lasttime上次访问时间datetime22User_locked状态判断,用户是否被锁定enum(false,true)23User_admin管理员身份判断enum(false,true)24User_password_a取回密码答案char(60)25User_password_q取回密码提问char(60)26User_age年龄int(11)27User_secondname用户昵称char(50)28User_truename真实名字char(50)29User_blood血型char(10)30User_shengxiao生肖char(10)31User_nation名族char(50)32User_province省份char(50)33User_city城市char(50)用户类方法如表2.3所示。表2.3用户类方法方法名方法功能返回类型值Setter设置属性值VoidGetter获取属性值String/Int/Bool22管理员类描述类名:Admin管理员类是用户类的派生类,其增加的属性如表2.4所示。表2.4管理员类属性表序号数据项英文名数据项中文名类型,长度,精度PK/FK1Admin_id管理员idint(11)PK2Admin_name管理员的名字char(50)3Admin_password管理员密码char(25)4Admin_user管理员前台用户名char(50)管理员类方法如表2.5所示。表2.5管理员类方法方法名方法功能返回类型值Setter设置属性值VoidGetter获取属性值String/int23话题类描述类名:Topic话题类属性如表2.6所示。表2.6话题类属性表序号数据项英文名数据项中文名类型,长度,精度PK/FK1Topic_id话题idint(11)PK2Topic_boardid话题所属版块int(11)3Topic_user发帖者char(50)4Topic_name话题名称char(100)5Topic_time话题发表时间datetime6Topic_hits话题浏览量int(11)7Topic_replynum话题回复量int(11)8Topic_lastreplyid最后回复者int(11)9Topic_top是否置顶enum(false,true)10Topic_best是否加精enum(false,true)11Topic_del是否已被删帖enum(false,true)12Topic_hot是否热门话题enum(false,true)话题类方法如表2.7所示。表2.7话题类方法方法名方法功能返回类型值Setter设置属性值VoidGetter获取属性值String/Int/Bool24版块类描述类名:Board板块类属性如表2.8所示。表2.8板块类属性表序号数据项英文名数据项中文名类型,长度,精度PK/FK1Board_id版块idint(11)PK2Board_idMother是否为主版块enum(false,true)3Board_bid所属主版块int(11)4Board_name版块名称char(50)5Board_info版块说明mediumtext6Board_master版主varchar(100)7Board_img版块LOGOchar(100)8Board_postnum版块帖子数int(11)9Board_topicnum版块主题总数int(11)10Board_todaynum版块当日发帖数int(11)11Board_lastreply版块最新回复int(11)板块类方法如表2.9所示。表2.9板块类方法方法名方法功能返回类型值Setter设置属性值VoidGetter获取属性值String/Int/Bool25广告类描述类名:Ad广告类属性如表2.10所示。表2.10广告类属性表序号数据项英文名数据项中文名类型,长度,精度PK/FK1Ad_id广告id,代表不同的位置int(11)PK2Ad_url广告链接URLchar(50)3Ad_image广告图片URLchar(100)4Ad_title广告语char(50)广告类方法如表2.11所示。表2.11广告类方法方法名方法功能返回类型值Setter设置属性值VoidGetter获取属性值String/int26友情链接类描述类名:Link友情链接类属性如表2.12所示。表2.12友情链接类属性表序号数据项英文名数据项中文名类型,长度,精度PK/FK1Link_id友情链接idint(11)PK2Link_name网站名称char(50)3Link_url网站URLchar(50)4Link_info网站简介char(100)5Link_logoLOGO地址char(100)6Link_islogo是否有LOGOenum(false,true)7Link_ispass是否通过本论坛验证enum(false,true)友情链接类方法如表2.13所示。表2.13友情链接类方法方法名方法功能返回类型值Setter设置属性值VoidGetter获取属性值String/Int/Bool3 提供交互界面的类31用户操作的界面类/User/Login.jsp系统的合法用户登录界面。/User/Register.jsp提供普通用户的注册功能界面。/User/ChangeMessage.jsp修改用户个人信息界面。/User/FabuTiezi.jsp用户发布或回复帖子界面。/User/BrownTiezi.jsp用户浏览帖子界面。/User/ChangeTiezi.jsp用户修改自己曾发布帖子界面。32管理员操作的界面类/Admin/Login.jsp管理员后台登录界面。/Admin/AddBoard.jsp管理员添加板块界面。/Admin/ChangeBoard.jsp管理员修改板块界面。/Admin/DeleteBoard.jsp管理员删除板块界面。/Admin/AddLink.jsp管理员添加友情链接界面/Admin/EditLink.jsp管理员编辑友情链接界面/Admin/DeleteLink.jsp管理员删除友情链接界面/Admin/AddAd.jsp管理员添加广告界面/Admin/DeleteAd.jsp管理员删除广告界面33斑竹操作的界面类/Banzhu/AddTiezi.jsp斑竹添加帖子到版块界面/Banzhu/EditTiezi.jsp斑竹编辑帖子界面/Banzhu/DelTiezi.jsp 斑竹删除帖子界面/Banzhu/BestTiezi.jsp斑竹加精帖子界面/Banzhu/TopTiezi.jsp斑竹置顶帖子界面34通用操作的界面类Index.jsp 系统主界面setPassword.jsp 修改密码界面4 建立动态模型简列系统中重要业务流程时序图。41用户注册登录系统从以下几个方面进行用户注册登录时序描述。如图4.1所示为用户注册登录系统时序图。图4.1用户注册登录系统时序图(1) 用户单击“注册”按钮。(2) 系统调用index.do动作,调用getValue()方法,来获得用户要注册的信息列表。(3) 获得列表后,将列表交给LoginServlet.jsp界面显示。(4) 用户按照列表的提示,输出用户的信息,单击“保存”按钮。(5) 系统调用initialAUser()方法,将数据保存到数据库。(6) 用户身份认证不成功,使用javascript的alert()方法提醒用户输入错误。42添加板块从以下几个方面进行添加板块时序描述。如图4.2所示为添加板块时序图。图4.2添加板块时序图(1) 管理员添加板块,单击“添加”按钮。(2) 系统调用admin addboard.do动作,调用sendRequest()方法,将数据保存到数据库。(3) 保存成功后,调用BoardServlet类的静态方法,设置返回信息类型。(4) 调用BoardServlet类的静态方法initialAction()设置跳转URL。(5) 输出提示信息,跳转界面。5 数据库表的设计51数据库表之间关系说明数据表之间关系,如图5.1所示。图5.1数据表关系CDM关系52数据库表的详细清单各数据表的详细清单,如表5.1至表1.7所示。表5.1 用户信息表icefish_user序号字段英文名字段中文名数据类型允许为空PK/FK1user_id用户id号int(11)PK2user_name用户名char(50)3user_password密码char(100)4user_sex性别char(2)5user_birthday生日datetime6user_QQQQint(11)7user_EmailE-mailchar(50)8user_tel电话或手机char(50)9user_face头像地址char(100)10user_sign个人签名text11user_grade用户等级char(50)12user_mark积分int(11)13user_topic发表话题总数int(11)14user_wealth用户财富int(11)15user_post发表帖子总数int(11)16user_group所属门派char(50)17user_lastip最后登入IPchar(15)18user_delnum被删除帖子总数int(11)19user_friends好友名单text20user_regtime注册时间datetime21user_lasttime上次访问时间datetime22user_locked状态判断,用户是否被锁定enum(false,true)23user_admin管理员身份判断enum(false,true)24user_password_a取回密码答案char(60)25user_password_q取回密码提问char(60)26user_age年龄int(11)27user_secondname用户昵称char(50)28user_truename真实名字char(50)29user_blood血型char(10)30user_shengxiao生肖char(10)31user_nation名族char(50)32user_province省份char(50)33user_city城市char(50)表5.2管理员信息表icefish_admin序号字段英文名字段中文名数据类型允许为空PK/FK1admin_id管理员idint(11)PK2admin_name管理员的名字char(50)3admin_password管理员密码char(25)4admin_user管理员前台用户名char(50)表5.3 版块信息表icefish_board序号字段英文名字段中文名数据类型允许为空PK/FK1board_id版块idint(11)PK2board_idMother是否为主版块enum(false,true)3board_bid所属主版块int(11)4board_name版块名称char(50)5board_info版块说明mediumtext6board_master版主varchar(100)7board_img版块LOGOchar(100)8board_postnum版块帖子数int(11)9board_topicnum版块主题总数int(11)10board_todaynum版块当日发帖数int(11)11board_lastreply版块最新回复int(11)表5.4话题表icefish_topic序号字段英文名字段中文名数据类型允许为空PK/FK1topic_id话题idint(11)PK2topic_boardid话题所属版块int(11)3topic_user发帖者char(50)4topic_name话题名称char(100)5topic_time话题发表时间datetime6topic_hits话题浏览量int(11)7topic_replynum话题回复量int(11)8topic_lastreplyid最后回复者int(11)9topic_top是否置顶enum(false,true)10topic_best是否加精enum(false,true)11topic_del是否已被删帖enum(false,true)12topic_hot是否热门话题enum(false,true)表5.5贴子表icefish_post序号字段英文名字段中文名数据类型允许为空PK/FK1Post_id帖子idInt(11)PK2Post_boardid帖子所属版块Int(11)3Post_user发帖者Char(50)4Post_topic所属话题ID

温馨提示

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

评论

0/150

提交评论