《864234514BBS论坛系统设计数据库课程设计.doc》由会员分享,可在线阅读,更多相关《864234514BBS论坛系统设计数据库课程设计.doc(14页珍藏版)》请在三一办公上搜索。
1、数据库系统原理课程设计报告BBS论坛系统设计一、问题描述与要求为了给同学们提供一个信息交流的平台,使同学们能够在论坛上发表一些新消息,使同学们能够在论坛上讨论一些专业知识,以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“电子产品”等启事。而且BBS用户还可以相互之间交换各种文件。只需简单地把文件置于BBS系统,其它用户就可以极其方便地下载这些文件。为同学提供了很大的方便。二、系统分析本系统分为注册模块,登录模块,浏览帖子模块,回复帖子模块,阅读帖子内容模块等几大模块。注册模块:在登录论坛
2、之前首先会检查该用户是不是全法用户,即是不是已经注册过,如果没有注册,则不能进行发表文章,只能浏览等有受限的功能,只有注册为合法用户后才能具有应用的各项功能。登录模块:在进行浏览和回复帖子等操作之前要先进行登录,否则不能进行一些相关的操作,不能成为一个合法的用户。浏览模块:进入该模块后就可以看到别人发表的各个帖子标题,对自己感兴趣的主题可以进行发表自己的意见,进行与其他人讨论相关的问题。浏览详细内容模块:该模块是用来打开相关帖子的详细内容,对相关主题的内容都是显示在该模块中。新建主题:该模块是用来发表自己的新帖子,建立一个自己的讨论的焦点。别人可以对你发表的主题进行讨论参与。回复帖子:该模块是
3、对自己已经看到的帖子进行发表自己的观点进行的一个模块,在内容可以对以上主题进行回复相应的内容。个人信息:用来查看和修改自己的个人相关的信息。三、 数据库设计3.1 数据结构的设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据库的完整和一致。同时,合理的数据库结构也将有得程序的实现。1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的
4、具体设计打下基础。针对一般BBS论坛系统的需求,通过对BBS交流的内容中分析,设计如下面所示的数据项和数据结构:u 用户基本信息:用户ID,用户名,密码,用户身份,Emal,电话号码,QQ,真实姓名;u 发表基本信息:发表ID号,消息主题,消息内容,发送时间,用户ID,发送者IP地址,回复数目,浏览数目。u 回复基本信息:回复ID,回复者IP,用户ID,回复信息,回复时间,回复信息的ID号,回复时间。3.2 数据库概念结构设计概念模型是数据库系统的核心和基础。由于各个机器上实现的DBMS软件都是基于某种数据模型的,但是在具体机器上实现的模型都有许多严格的限制。而现实应用环境是复杂多变的,如果把
5、实现世界中的事物直接转换为机器中的对象,就非常不方便。因此,人们研究把现实世界中的事物抽象为不依赖与具体机器的信息结构,又接近人们的思维,并具有丰富语义的概念模型,然后再把概念模型转换为具体的机器上DBMS支持的数据模型。概念模型的描述工具通常是使用E-R模型图。该模型不依赖于具体的硬件环境和DBMS。概念结构是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述,这些概念组成了某种模型。通过概念设计得到的概念模型是从现实世界的角度对所要解决的问题的描述,不依赖于具体的硬件环境和DBMS。E-R图具体
6、分析如下:一个用户可以发送多个帖子,所以用户与帖子之间是1:m的关系,一个用户可以可以回复多个帖子,所以用户与回帖之间是1:n的关系。具体的ER图请看下图: 用 户用户ID用户名用户身份Email电脑号码QQ真实姓名密码 用户实体E-R图发 表 信 息 ID号主 题用户ID时 间内 容回复IP回复数浏览数发表信息实体E-R图回 复 信 息回复ID回复IP回复内容回复时间间用户ID消息ID回复信息实体E-R图用 户发表帖 子回 帖回 复1m1nBBS论坛系统E-R图3.3 数据库逻辑结构设计将上面的数据库概念结构转化为SQL Server2000数据库系统所支持的实际数据模型,就是数据库的逻辑结
7、构。在实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。用户(用户ID,用户名,密码,用户身份,Emal,电话号码,QQ,真实姓名)发表信息(发表ID号,消息主题,消息内容,发送时间,用户ID,发送者IP地址,回复数目,浏览数目)回复信息(回复ID,回复者IP,用户ID,回复信息,回复时间,回复信息的ID号,回复时间)3.4 数据库物理结构设计BBS系统数据库中的各个表格的设计如下所示: User表结构Newpost表结构Reply表结构四、系统设计4.1 系统的综合要求1、系统界面要求设计开发的BBS论坛的初始界面假定用户是匿名登录,用户可以通过初始界面提供的统一的用户
8、登录接口,登录进入各自的操作界面如图4-2。图4-2 用户登录界面2、系统功能要求设计开发的BBS论坛应具有通常BBS网站应该具有的基本功能,包括用户注册、用户登录、匿名登录、发表文章、阅读文章、回复别人的文章、个人资料修改、在线人数统计等,此外,用户在发表贴子时,能输入带格式文本。图4-3 用户注册界面 设计开发的BBS论坛的操作用户按不同级别依次可分为:匿名用户、普通会员用户、高级用户。高级别的用户可以继承低级别用户的公用功能。同时,各级别用户具有一定的只有以本级别身分登录才具有的私有功能。匿名用户功能要求-通用功能:查看各版面文章、查看系统版主列表、查看系统会员列表;私有功能:注册为系统
9、正式会员、登录为正式会员。普通会员功能要求-通用功能:发表或回复贴子、个人资料维护、退出或重新以匿名身分登录。高级用户功能要求-通用功能:论坛基本设定、版面管理、版主会员管理、普通会员管理。3.系统性能要求对于贴子查看、发表贴子以及回复贴子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。4、安全性保密性可靠性等其它方面的要求高级别用户的所有管理操作要有针对低级别用户的身分识别功能,以防止低级别的用户越权执行高级别用户才具有的操作功能。4.2 系统的数据实体要求根据论坛的功能需求,论坛管理和维护以下几种数据元素(实体Entity):会员、管理员、论坛、论坛版面、贴子
10、。1、会员实体会员用户包含这样一些基本属性:用户名、用户密码、用户密码提示问题、用户密码提示问题答案、用户EMAIL、用户真名、性别、出生年月日、主页URL、联系方式、证件名称、证件号码、积分。其中,用户名为用户唯一标志,不允许重名。积分为此用户在本论坛发表文章以及文章被其它用户关注程度所累积的分数,作为衡量此用户在本论坛活跃程度的一个标志。2、管理员管理员实际上派生于会员用户,意味着只有会员用户才有资格申请本论坛各版面的管理权限,因此,他除了包含会员用户所有的基本属性以外,还应包含以下几个属性:申请管理版面、申请理由、申请被批准状态。一个管理员可以管理几个版面,一个版面可以由几个管理员管理,
11、所以,应该有一个管理员序号来唯一标志这个实体。另外,管理员也分为两类,一类是超级管理员,具有管理和维护本论坛所有数据信息的权限,另一类是普通版主,只能管理与某版面相关的数据信息,可以用申请管理版面以及申请被批准状态来区分这两类管理员,如果申请管理版面为零用申请被批准通过,则此会员就为超级管理员,如果申请管理版面在本论坛存在且申请被批准通过,则此会员就为版主管理员,否则,此会员仍为普通会员。3、论坛论坛基本信息比较稳定,只能为超级管理员所维护,此实体包括以下一些基本属性:论坛名称、论坛版权信息、论坛公告、公告内容。4、版面论坛版面包含这样一些基本属性:中文名称、英文名称、版面简介、版面公告。此外
12、,论坛版面实体与管理员实体有联系,与贴子实体也有联系。5、贴子贴子包含以下一些基本属性:所属版面,作者,标题,贴子类型,所属主贴,回复数量,点击次数,标题图像,贴子内容,贴子书写时间,最后一次更新贴子时间。贴子包括两种类型:主贴和回复。贴子序号为此贴子唯一标志。五、系统实现5.1模块的设计BBS系统其系统定义部分采用面对对象的系统分析方法,并结合传统的结构化分析方化,设计出其系统模型,如果采用面向对象的程序设计语言开发系统,则可以很方便地从系统分析阶段平滑地过渡到设计阶段。下面就部分模块实现做一 下简要说明:1、类模块:在系统中使用了类模块,使用类模块的目的是大大减少了代码了重用,减少了大量的
13、重复代码,使系统的得到了优化,提高了运行的速度,而且也便于修改,使用户维护起来非常方便。2、母板的应用:使用母板可以使多个页面具有统一的外面样式,可以方便的应用到其它的页面上,不必在每个页面上都花费大量的时间去做页面,只需要做一个就行了。应用起来非常方便,也便于修改。3、用户控件:用户控件是一个自定义的控件,只系统的控件一样,可以方便的应用到每个页面,对于多个页面都要使用同样一个功能的小页面时,使用它是最合适的了。而且和ASP页面还是相互独立的。5.2 ASP.NET网页数据库的连接A、数据库连接字符串数据库连接字符串常见的有以下几种:Data source=.;Initial Catalog
14、=BBS;integrated security=true;Data source=服务器名;Initial Catalog=BBS; Integrated security=true;Server =localhost;database=BBS; Integrated security=true;Server=(local);database=BBS; uid=sa;pwd=;B、设置数据库连接字符串 打开IIS在默认网站或是网站所在的虚拟目录点击右键选择属性选择ASP.NET选项卡编辑配置在“常规”页签编辑“LocalSqlServer”数据库连接字符串:Server=.;Initial
15、Catalog=BBS; Integrated security=true;C、设置web.config文件在web.config文件添加如下程序:六、系统集成测试6.1 运行环境把设计开发的BBS论坛布置在如下所述最基本的应用环境下,运行是非常理想的。服务器端安装了Windows xp 系统、IIS4.0Web服务器、SQL Server2000数据库、IE6.0浏览器等。在经过会员一系列的论坛基本设置以后,就可以开始在论坛上发表贴子查看贴子回复贴子及进行其它论坛操作。系统的反应很快,读出页面基本上不需要多少时间,一晃就能出来。经过对论坛各项功能操作测试,系统具有较好的稳定性。把设计开发的B
16、BS论坛布置在互联网上,网站提供的基本功能有:支持或ASP.NET,支持SQL Server2000数据库,但此数据库文件必须放置在数据库服务器上。经过试运行,尽管速度有些慢,其系统运行相当稳定。6.2 运行结果如图6-1为“开始”界面:图6-1 开始界面下图6-2为“帖子列表”界面:图6-2 帖子列表下图6-3为“帖子内容显示”界面:图6-3 帖子内容显示下图6-3为“修改用户信息”按钮界面:图6-4修改用户信息界面参考文献1 孙明丽,王斌,刘莹.SQL Server2005数据库系统开发J,人民邮电出版社;2 李彦,韩光林,李玉波.SQL Server完全自学手册J,机械工业出版社;3 陈永强,张志强. SQL Server 2005 Web应用开发J, 清华大学出版社;4 曾长军,朱剑锋,刘坤.SQL Server数据库原理及应用J。人民邮电出版社;5 王珊,萨师煊.数据库系统概论(第四版)J,高等教育出版社;6 刘振岩,基于.NET的WEB程序设计,2006年6月版,电子工业出版社;7 常用英,ASP.NET程序设计教程,2007年9月版,机械工业出版社;8 张海藩,软件工程导论(第四版)J,清华大学出版社;9 张哲,数据库项目案例导航,清华大学出版社;10 刘小伟,王萍,ASP.NET2.0与SQL Server网站开发实用教程J,电子工业出版社 ;