




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网上论坛系统的设计与实现作者姓名:*指导教师:*单位名称:信息科学与工程学院专业名称:计算机科学与技术* * 大 学2009年6月design and implementation of the bulletin board systemby *supervisor: * universityjune 2009*大学本科毕业设计(论文) 毕业设计(论文)任务书毕业设计(论文)任务书毕业设计(论文)题目:网上论坛的设计与实现设计(论文)的基本内容:网站论坛为访问者提供了一个网上发表文章的平台,使得众多的访问者能够在网上,通过发表文章,或对一些问题进行讨论,或查看在线观看别人发表的评论。通过使用php,mysql,表单提交技术,session技术,动态网页生成技术,来实现论坛的基本功能:(1)提供用户自我选择阅读若干感兴趣的专业组和讨论组内的信息。(2)可随意检查是否有新消息发布并选择阅读。(3)用户可在站点内发布消息或文章供他人查阅。(4)用户可就站点内其他人的消息或文章进行评论。(5)同一站点内的用户互通电子邮件。毕业设计(论文)专题部分:题目:设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第周指导教师签字:年月日v*大学本科毕业设计(论文) 毕业设计(论文)任务书基于php的网上论坛系统的设计与实现摘 要随着信息产业的不断发展,各行各业信息化的建设都在以各种进行时的动作运行着。bbs(bulletin board system)电子公告牌己经成为 internet上最为知名的服务之一, 它开辟了一块“公共”空间供所有用户读取其中的信息。随着全球网络化发展和通信技术的提高,它成为网络时代很重要的消息交流平台。本文在对php技术和系统需求进行分析的基础上,结合不同开发技术的具体特点,设计了一个扩展性较强的基于php的网上论坛系统。本系统属于web信息服务的一个子系统,它也是一个单独的功能完善的系统,本课题是电子公告系统部分的研发。用户可以自我选择阅读若干感兴趣的专业版面和讨论版面内的信息,可以随意检查是否有新消息发布并选择阅读,在站点内发布消息或文章供他人查阅的同时同一站点内的用户也可以互通电子邮件,进行实时对话。本系统着重介绍了电子公告系统的详细开发方案和实现,内容涉及系统分析、数据库设计、软件设计。在开发中选择了php+apache+mysql的模式,在实现了论坛基本功能的基础上,添加了邮件系统,网站公告功能,和个人博客系统,提供日历查询和日期显示功能等。本文首先进行了系统的需求定义和需求分析。在需求分析基础上划分了功能模块,找出各模块间的相互关系,构架完整系统。并通过对系统的测试,对其功能和性能进行评估。最后,进行了总结,介绍了系统开发的难点和技巧,指出了下一步的工作方向。关键词:电子公告系统,b/s,php*大学本科毕业设计(论文) abstractdesign and realization of the bulletin board systemabstractwith the continuous development of information industry, informatization construction of all professions and trades is running at present. bbs (bulletin board system) electronic bulletin board on the internet has become one of the most famous services, it opened up a public space for all users to read the information. with the development of the global network culture and the improvement of the communications technology, bbs became a very important information exchange platform in network times. based on the phptechnology and system requirements analysis and combined with specific characteristics of different programming technology , this paper designed a stronger expansion of the php-based online forum system.the system belongs to a web information service system, it is also a separate perfect function system. this issue is part of the electronic bulletin system research and development. users can choose to read a number of self-interest information on the professional layout and the discusstion layout, you can freely check whether there are news releasing and choose to read,and disseminate information or articles in the site for others to look up,at the same time users of the same site can also exchange e-mail to real-time dialogue. the system focuses on the introduction of the detailed development plan and implementation of the electronic bulletin system, refered to systems analysis, database design, software design. in the development, it chooses the php+apache+mysql model, in the realization of the basic functions of the forum on the basis of the added e-mail system, website features, and personal blog system to provide query and date calendar display function.this paper firstly defines and analysis the demand of the system. then itdivides the function module based on the demand analysis,finds out the mutual relationship among different modules and frames a complete system. and by the test of the system ,this paper assesses its function and performance . finally, there is a conclusion for this paper , it introduces the difficulties and skills of system development and points out the direction for the next phase of work.key words:bbs(bulletin board system), b/s,php*大学本科毕业设计(论文) 目 录目录毕业设计(论文)任务书i摘 要iiabstractiii第1章 引 言11.1 课题研究的背景和来源11.2 课题分析21.3 本文的内容及主要工作2第2章 相关技术简介32.1 php技术32.2 传统的php嵌入式开发32.3 简单的解析模板的应用42.4 系统体系结构分析52.4.1 c/s结构与b/s结构52.4.2 c/s结构与b/s结构的优越性52.5 数据库编程62.6 本章小结6第3章 系统分析73.1 系统运行环境73.2系统的可行性分析73.3需求定义与分析83.3.1需求分析中的数据对象(前台)93.3.2需求分析中的管理功能(后台)133.3.3分析可扩展性的需求143.4本章小结14第4章 系统设计154.1 系统设计原则154.2 功能模块的设计154.2.1 整体功能模块的划分154.2.2各模块间的关系174.3 数据库设计194.3.1 数据库需求分析194.3.2 数据库概念结构设计214.3.3 数据库的逻辑结构设计234.3.4 数据库的链接方式254.4 组件的设计254.5 后台维护部分设计274.6 本章小结28第5章 系统实现295.1 前台显示部分的实现295.1.1 整体设计295.1.2 登录模块305.1.3 系统配置与公共文件325.1.4 公共头部文件335.1.5 论坛主功能335.1.6 发表文章及回复页面345.1.7 用户资料编辑及修改355.2 后台管理部分的实现365.2.1 论坛管理365.2.2 板块管理385.3 本章小结39第6章 系统测试406.1 单元测试406.2 集成测试416.3 系统测试426.4 本章小结43结束语45参考文献46致谢47*大学本科毕业设计(论文) 第一章 引言第1章 引 言1.1 课题研究的背景和来源bbs是bulletin board system的缩写,中文译为电子公告牌。是一种在internet上常见的用于信息服务的web系统,是浏览者相互沟通的平台。bbs现在己经成为 internet上最为知名的服务之一,它开辟了一块“公共”空间供所有用户读取其中的信息。 bbs起源于20世纪80年代,最初论坛只是用于发布公告消息,讨论问题的在线交流平台,后来随着网络的普及,论坛的功能越来越丰富,受到网民的欢迎。因此,商业网站也对论坛重视起来,纷纷在自己的网站上开辟论坛,作为网民交流的园地。同时,在线技术支持和在线服务也在论坛中开展起来。bbs通常会提供一些多人实时交谈、游戏服务、公布最新消息甚至提供各类免费软件。各个 bbs站点涉及的主题和专业范围各有侧重,我们可选择自己感兴趣的站点进入 bbs参与讨论,发表意见,征询建议, 结识朋友。介入 bbs的讨论,能够充分发挥您的聪明才智, 不断拓宽知识面,丰富您的人生。最初的 bbs只提供消息传递和阅读功能,用户通常是些计算机爱好者。随后,系统允许用户之间分享软件、文件, 进行实时网络对话、信件传输,等等。为了提供更好的服务一些站点实行收费政策。但目前internet上还是有无数免费bbs站点。一般 bbs站点地址以域名形式出现,这些站点可通过远程登录进行连接。目前各类bbs的主要功能有:(1)供用户自我选择阅读若干感兴趣的专业组和讨论组内的信息;(2)可随意检查是否有新消息发布并选择阅读;(3)用户可在站点内发布消息或文章供他人查阅;(4)用户可就站点内其他人的消息或文章进行评论;(5)免费获取软件、传输文件;(6)同一站点内的用户互通电子邮件、进行实时对话。正如 bbs的字面含义一样,早期的 bbs就如同街头的公告牌,主要是用于在计算机之间发送和接收信息。但它做为一种新型的信息传播方式,以其特有的方便和快捷逐渐受到人们的青睐,随着 bbs的这种快速,准确的传输信息的特殊作用被越来越多的人们所认识和利用,bbs 的功能不断扩充,bbs技术也逐步走向成熟。1.2 课题分析用户使用论坛的流程一般是,首先注册登录进入论坛,然后选择某个板块,就某个话题(主题)展开讨论,通过发帖功能发布新的话题,也可以通过回帖功能回复已有的话题;管理员要管理论坛,软件需要具有的功能有创建、编辑、删除论坛的板块、管理注册的用户、管理帖子、设置论坛基本参数。这样的流程就决定了论坛所应具有的功能。一般而言论坛应包括以下内容:(1)用户可以进入论坛发表帖子;(2)管理员可以创建新的板块。1.3 本文的内容及主要工作本文在分析介绍了php技术,系统采用结构的基础上,基于论坛系统的需求特点,介绍了前台显示和后台维护设计思路和整体构架,并且实现了论坛系统的基本功能。各章的内容组织如下:第1章介绍了课题研究的背景和来源以及课题研究成果应用的实际意义。第2章介绍了php技术、动态网页生成技术、数据库编程技术以及b/s和c/s框架技术;第3章分析了系统的开发环境,利用用例建模分析系统的功能需求,并且根据实际情况补充了部分需求,提出了扩充功能需求,并进行整体功能模块的划分;第4章对系统进行总体设计,并对通用组件、前台显示部分、后台维护部分等进行详细设计,设计了系统数据库,并介绍了系统中数据库表;第5章主要介绍了论坛系统的实现,展示了web客户端根据相关协议登陆论坛的流程。最后是后台管理功能的具体实现,展示了管理员管理服务器的流程;第6章介绍了系统测试的情况,并对出现的错误进行了分析解决;第7章结论部分是对整个论文工作的总结。-47-*大学本科毕业设计(论文) 第二章 相关技术简介第2章 相关技术简介2.1 php技术php是hypertext preprocessor的简称,是一种html内嵌式编程语言。它的语法混合了c、java和perl优点及它的新语法,比cgi、asp或者perl更快速地执行动态网页。总的来说,它有以下几个方面的优点:(1)支持的数据库非常广泛,大到sybase、mysql、oracle,小到access都支持。(2)跨平台性非常好,支持windows系列操作系统,linux操作系统和unix操作系统。同时支持多种web服务器。(3)开源软件,升级更新速度非常快。(4)免费软件,无须花钱购买。同时与linux、apache、mysql构成性价比最高的web系统。(5)php5.0有成熟的面向对象体系,能够适应基本的面向对象要求,适合开发大型项目。2.2 传统的php嵌入式开发最早的php语言是纯粹的过程化的,通过界定符与html区别并与html嵌套,实现动态的数据处理。一个典型的代码例子如下:my pagehello, , welcome to my site!其中,是php的界定符,它们之间的代码即为php代码,可以动态的返回需要的数据。同时也可以与数据库连接实现数据库的操作。在internet早期一个html文件的体积并不是很大,业务逻辑也相对简单,这种情况下,echo一行行的html代码还相当容易。但随着网络的提速,html文件的体积暴增,业务逻辑也越来越复杂。这时逻辑代码与表现代码的嵌套在实际中就显得相当困难。比如仅仅是一些下拉选择框初始值的确定,就需要大量代码来实现。此时,数据层、逻辑层、表现层的概念还没有一个界定和区别,完全是混合在一起的。随着对程序代码与html分离的迫切要求,“模板”技术应运产生。2.3 简单的解析模板的应用“模板”技术实际上是结合了html和脚本语言特征的一种表达方式,逻辑层和表现层依靠它联系。它基本上单纯的实现了php代码与html代码的分离,使得美工和程序员之间的矛盾得到了极大的缓解。大约在98年php3的时代,fast template的诞生使其成为此类模板技术的典型代表。代码例子如下:模板文件: titlegreetingsphp代码:parse(array(“title”=”hello”,”greetings”=”welcome to my site!”);/对模板变量赋值?上述例子模板文件中的titlegreetings看作是一个标记,可以被替换成不同的值。php代码中,通过fast template对titlegreetings动态赋值,这些标记分别被”hello”和“welcome to my site!”替换,从而实现了程序代码与html代码的分离。与此类似的一些模板技术原理都是将模板读入内存,然后调用parse()函数,用数据对预置的标记进行替换。此时应用程序的逻辑层和表现层虽然能够被清晰的界定,但表现层仅仅是一个标记的匹配和替换,大量的页面上的布局和判断仍然需要在php中处理和确定,所以程序员还需要处理一些显示上的问题。可以说这是一种不彻底的分离。2.4 系统体系结构分析2.4.1 c/s结构与b/s结构c/s结构客户/服务器(client/server)结构,是将一个系统分解为前台的客户应用程序和后台的服务器部分,通过网络连接应用程序和服务器。这种结构的核心是客户应用程序向服务器发送服务请求,服务器完成后端处理。服务器是一台管理数据资源并执行数据库引擎功能(加数据存储、操作和保护)的计算机,处理结构由服务器发回客户应用程序,由客户应用程序对处理结构进行显示。这种结构的优点是只有处理后的数据在网络中传递,大大减轻了网络的负担,而且由于通过服务器端统一管理数据,易于保证数据的一致性。b/s结构浏览器/服务器(browser/server)是随着internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3层结构。b/s结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,.net也是在这样一种背景下被提出来的架构,java技术已经是很成熟的应用了。2.4.2 c/s结构与b/s结构的优越性 c/s(client/server,客户端/服务器)是建立在局域网的基础上的,b/s是建立在广域网的基础上的。传统的c/s体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是client端还是server端都还需要特定的软件,没能提供用户真正期望的开放环境;b/s结构则不同,它的前端是以tcp/ip协议为基础的,企业内的www服务器可以接受安装有web浏览程序的internet终端的访问,作为最终用户,只要通过web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本。比其他结构的先进性,无论是办公自动化管理系统、人力资源管理系统、客户关系管理系统、erp等等,发展的趋势是不断融合,结合当今这些方面的发展,我们可以得出这样的结论:采用统一的b/s结构开发的产品无论是现在还是将来都是最好的选择,而在今后的实际工作开发中,则应该首选b/s结构。2.5 数据库编程在php中可以使用mysql提供的api函数库对数据库进行操作,通过mysql数据库sql基本操作语句,可以完成数据库管理,维护以及数据检索等操作。要使用php的mysql数据库函数系统,需要对php进行一些配置。如在windows系统中,必须设置配置文件php.ini中“extension=php_mysql.dll”的选项。(1)集合查询语句select ,from where;(2)数据更新插入insertinto (,)values(,);(3)删除数据delete from 表名where条件。2.6 本章小结本章首先对php技术进行了介绍,包括php技术的基本功能、应用范围、以及特点等。然后介绍了mvc,说明了模式的概念和优点。进行系统体系结构分析,比较了c/s结构与b/s结构。最后对用于系统开发的sql数据库,以及数据库基本操作语句做了简要介绍。*大学本科毕业设计(论文) 第三章 系统分校第3章 系统分析需求分析是软件开发流程中重要的一个环节,需求分析的基本任务是根据用户的需求,准确定义要完成的系统的目标,回答系统必须“做什么”的问题。它的主要用途是明确系统需求,是用户和开发人员之间进行讨论的基础,并作为系统设计、实现以及测试的依据。只有准确全面的需求获取与分析才能保证系统设计、系统实现的顺利进行,为后期测试提供必要的支持。3.1 系统运行环境本系统的运行环境,服务器端:apache/2.0.59 (win xp);操作系统:windows xp操作系统;数据库:mysql;网络通信协议:tcp/ip;支持软件:wamp 2.0 ,dreamwave cs 4,lightphpeditor。 3.2系统的可行性分析考虑到系统成本问题,全部采用开源软件和框架来构建此系统。相对来说,开源软件成本低,功能相对简单。服务器端软件环境:web服务器采用apache,apache是世界排名第一的web服务器, 世界上50%以上的web服务器在使用apache。1995年4月,最早的apache(0.6.2版)由apache group公布发行。apache group是一个完全通过internet进行运作的非盈利机构,由它来决定apacheweb服务器的标准发行版中应该包含哪些内容。准许任何人修改隐 错,提供新的特征和将它移植到新的平台上,以及其它的工作。当新的代码被提交给apache group时,该团体审核它的具体内容,进行测试,如果认为满意,该代码就会被集成到apache的主要发行版中。apache的特性: 几乎可以运行在所有的计算机平台上。支持最新的http/1.1协议。简单而且强有力的基于文件的配置(httpd.conf)。支持通用网关接口。支持虚拟主机。支持http认证。集成perl,集成的代理服务器。可以通过web浏览器监视服务器的状态可以自定义日志。支持服务器端包含命(ssi)。支持安全socket层(ssl)。具有用户会话过程的跟踪能力。支持fastcgi支持javaservlets。apache的运行机制如图所示:图3.1 apache运行示例开发工具与支持环境:系统开发采用wamp,这个强大的windows集成环境,方便服务器的启动和运行,特别是增加了phpadmin这个强大的mysql管理工具,让系统的开发工程得心应手,代码的编辑环境我采用lightphp这个文本编辑器,而在网页的布局上我采用dreamwave进行设计。这些开源软件的采用,降低了系统开发难度,提高了软件的可复用性。3.3需求定义与分析通常情况下用户使用论坛,要按照一定的流程来进行操作。用户注册登陆进入论坛,就某个问题(主题贴)展开讨论,通过发帖功能发布新的话题,通过回帖功能回复已有的话题,通过搜索功能查找已有的话题。管理员要管理论坛,软件需要具有的功能有创建,编辑,删除论坛的版块,管理注册的用户,管理帖子,设置论坛基本参数。这样的流程决定了论坛所应具有的功能。用户想要的论坛的功能列表如表3.1所示。表3.1 论坛的功能列表论坛版块列表浏览帖子发帖回帖搜索帖子论坛公告编辑帖子删除帖子置顶帖子转移帖子公告发布用户登录控制用户权限修改注册信息设置论坛公告修改管理用户3.3.1需求分析中的数据对象(前台)观察论坛所有功能需求,发现在这16个需求中,如果按照不同的实体分类,可以分为4类实体对象:版块、帖子、用户和论坛。这四类对象,可以设计为4个数据实体,如果使用数据库存储它们,就可以设计4个基本数据表的集合来存储这些实体的基本信息。对于面向对象的php来说,它们可以设计为4个基本类,映射4个实体的基本数据。这些基本对象只是论坛系统中最为基本的要素,它们构成了论坛必不可少的骨架。以下我们分析每类对象的相关操作,设计对象功能实现接口,即设计对象的操作类的方法或者说是功能函数。版块实体类有浏览列表和管理两个方法,管理方法又可以分为创建、修改和删除三个子方法,如图3.2所示,管理员可以管理版块和浏览版块列表,而用户只能浏览版块列表。管理员管理板块删除板块修改版块创建板块浏览版块列表用 户图3.2 版块对象的相关用例图帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法又可以分为列表和查看两个子方法,管理方法又可以分为编辑、删除、置顶、转移、制定精华5个子方法。如图3.3所示,只有管理员可以管理帖子,一般用户没有这个权限的。板块管理员用 户管理帖子删除置顶编辑发帖回帖搜索浏览帖子图3.3 帖子对象的相关用例图用户类有注册、登陆和管理3个方法,管理方法又分为添加、删除和设置权限3个子方法。如图3.4所示,用户的信息和权限是由管理员来设置管理的。管理用户删除添加设置权限注册登陆修改个人信息用 户管理员图3.4 用户对象的相关用例图由以上各模块分析可以画出论坛用总例图如图3.5所示。设置论坛参数管理板块管理用户管理帖子论坛分页参数删除添加设置权限删除置顶编辑基本参数用户参数创建删除修改阅览版块列表发帖注册修改个人信息登陆搜索回帖阅览帖子管理员用户图3.5 论坛的用例图论坛一般存在3种用户,即游客,注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,该论坛中,管理员的权限是上级权限。需要将归好类的对象及方法分配给不同的论坛用户。具体功能分配结果如表3.2所示。表3.2 论坛功能和用户权限对应表对象实体功能方法用户类型论坛设置参数admin版块浏览列表注册用户版块创建板块admin版块修改版块admin版块删除版块admin帖子浏览列表注册用户/游客帖子查看帖子注册用户/游客帖子发帖注册用户帖子回帖注册用户帖子搜索注册用户帖子删除admin帖子置顶admin帖子指定精华admin用户注册注册用户用户注册用户登录注册用户用户管理员登录admin用户添加admin用户删除admin用户设定权限admin板块修改版主论坛公告修改admin与注册用户相关的功能,其实就是论坛前台的主要功能。论坛系统的前台,是用户讨论问题的平台,发帖、浏览、回帖一直贯穿前台活动。同时,由于论坛系统的帖子管理是管理员浏览帖子时进行,所以编辑帖子、删除帖子、转移帖子、设置帖子和制定精华贴等功能也安排在前台实现。与其他管理员相关的功能,包括版块管理、用户管理和论坛设置都需要管理员后台进行操作。通过以上分析,论坛的基本功能可以从众多需求中筛选出来。基本功能就是构成论坛系统的重要功能,具备这些功能的web系统就是论坛。论坛所具有的基本功能:(1)发帖。论坛最初是为了互相讨论话题而诞生的,发表帖子就是发表自己的看法,与他人进行讨论,因此发帖是论坛首要功能。(2)浏览帖子。发表了帖子,就要供他人浏览查看,使他人分享自己的想法、经验。(3)回帖。浏览了他人发表的帖子,想要发表自己的想法,参与讨论,就可以回复这个帖子。 发帖浏览帖子回帖,周而复始地循环进行,就构成了论坛,每个参与论坛的人目的就是发帖,查看已经发表的帖子,针对自己感兴趣的帖子进行回帖,参与讨论。三大基本功能的相互关系如图3.6所示。发帖回帖帖子列表浏览帖子图3.6论坛基本功能的关系图3.3.2需求分析中的管理功能(后台)前面部分分析了前台的主要功能,下面分析除以上基本功能外的扩展功能,即论坛的后台管理。用户是所有行为的执行者,所以人员是系统必不可少的实体,用户的管理就显得尤为重要。比如用户的注册登录,原先的论坛发帖时,需要填写自己的笔名,这样经常发帖的人总是重复填写笔名比较麻烦。因此论坛扩展了用户注册登录功能,参与论坛的人注册自己的笔名及个人信息,拥有论坛中的身份,发言时就不需要反复填写个人信息了。有了人员就可以进行交流。首先,用户应该可以分版块浏览帖子。随着帖子数量的增多,讨论相同话题的帖子聚集在一起,引出了论坛新的扩展功能,分版块浏览,属于同一版块的帖子讨论同样的话题。这样使对某一话题感兴趣的用户不会被其他帖子干扰,也有利于相同兴趣的用户互相讨论。通过对需求的分析,可以得出以下一些论坛的扩展功能:(1) 编辑帖子。发帖回帖的用户,如果需要修改更新自己发表的帖子内容,就引出了编辑帖子内容的扩展功能,提供给用户更新自己发言的选择。对于论坛管理员,可以编辑任何帖子的内容。(2) 删除帖子。如果用户发表了不符合论坛规则的帖子,则需要管理员删除这些帖子,这就引出了删除帖子的扩展功能。(3) 转移帖子。论坛划分了版块,如果帖子内容不属于所在版块的关注话题,那么管理员可以选择将此贴转移到所属话题版面中去,就引出了转移帖子的扩展功能。这个功能是随着版块功能的出现而出现的,版块将帖子进行分组,从而提出了转移帖子的要求。(4) 置顶帖子。帖子一般是根据发表及回复时间倒序排列的,管理员如果需要强调某些帖子的重要性,就打破默认的排列顺序,将这些帖子放在列表的最前端,不再按照时间进行排列顺序的变化,但还要保持其他帖子按照时间变化顺序,这就引出了置顶帖子的扩展功能。(5) 指定精华贴。如果管理员认为某个帖子的内容非常好,可以打上标记,推荐给看贴的用户,这就引出了制定精华帖的扩展功能,用户可以选择只看打上标记的精华贴。(6) 搜索帖子。论坛的帖子越来越多,用户需要从大量的帖子中找到自己需要的内容,这就引出了搜索帖子的扩展功能。(7) 管理板块。论坛板块需要先创建,才能被使用,管理员还可以删改板块的相关信息,因此管理板块是管理员使用的扩展功能。 (8) 管理用户。管理员可以对论坛的注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户的权限,对于违规用户可以删除,这个扩展功能便于管理员对论坛用户的管理。3.3.3分析可扩展性的需求对于可扩展性的需求,根据网站的结构可以随时添加所需要的插件,如blog,邮件系统,由于系统设置了一个耦合性还算不错的架构,可以通过菜单进行需求的扩充,并对所需要的数据库进行配置,以达到统一的效果。3.4本章小结本章首先介绍了系统的运行环境和开发环境。然后通过用例分析的方式获取和分析了系统的功能性需求,对需求进行了补充,提出了系统的扩充性需求。从而对系统的整体需求有了完整的了解。从本章的需求分析中可以得出,系统的功能性需求相对来说比较易于实现,而扩充性需求比较严格。对于扩充性需求影响最大的就是系统的架构,所以在设计和实现系统时,要在对系统的架构给予充分重视的前提下,实现功能性需求。*大学本科毕业设计(论文) 第四章 系统设计第4章 系统设计4.1 系统设计原则(1)开放性、可扩充性、可靠性原则。开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。从而适应广大用户需求的多变性和产品的更新换代。(2)良好的用户操作界面。用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。(3)实用性原则。任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。(4)工作平台设计原则。能适应不同的操作平台,不同的网络。4.2 功能模块的设计4.2.1 整体功能模块的划分由需求分析得知,可以将功能分为前台和后台两类,因此模块也分为两大类:前台模块和后台模块。用户在前台的注册,登录,以及修改个人的注册信息组合成注册登录模块;用户浏览板块,浏览主题帖列表,查看帖子组成浏览模块;用户发帖,回帖,编辑自己发布的帖子组成发帖回帖模块;管理员编辑帖子,删除帖子,转移帖子,置顶帖子和指定精华帖子组成管理帖子模块。以上4个模块组成前台的功能模块。后台模块都是与管理员相关的,设置论坛参数单独为论坛设置模块;创建,修改和删除版块为管理版块模块;添加,删除和设置权限为管理用户模块。如图4.1所示是论坛的模块体系图。注册登录模块浏览模块发帖回帖模块管理帖子模块论坛设置模块管理板块模块管理用户模块前台模块后台模块论坛系统图4.1论坛的功能模块图从用户角度分析,首先区分系统中有几种用户。论坛中只有两种用户:注册用户和管理员。一般论坛中的版主权限,划分给管理员。对于注册用户,在论坛中的行为可以归纳如下:(1) 注册个人身份,登录论坛,登陆成功后可以修改自己的注册信息。这些行为只与用户自身相关,功能独立,设计成注册登录模块。(2) 浏览版块列表,选择某板块,浏览其下的主题帖列表,查看帖子内容,搜索需要的帖子。这些行为是用户读取论坛的版块及其帖子的相关信息,设计成浏览模块。(3) 可以发表新帖子,也可以回复已有的帖子,同时可以编辑自己写的帖子的这些行为是用户参与论坛讨论发表自己见解的,设计为发帖回帖模式。对于管理员,需要负责整个论坛的正常运转,因此需要更多的管理功能,可以归纳为如下行为:(1)具备注册用户的所有功能,应为管理员也是论坛用户,可以参与论坛的讨论(2)管理帖子。管理员对帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标记精华帖置顶帖子,转移发错版块的帖子,这些行为都是针对帖子的操作,设计成管理帖子模块。(3)管理版块。论坛中的版块,需要管理员进行创建、管理版块信息,这些针对版块的操作,设计成管理版块模块最后,对记录论坛的功能模块坐一下总结,如表4.1所示。表4.1 论坛的功能模块模块子模块难易度注册登录模块注册易登陆易修改个人信息易浏览模块版块列表中主题帖列表易查看帖子内容易搜索帖子易发帖回帖模块发帖中回帖中管理帖子模块删除易编辑难置顶中转移难指定精华难管理板块创建难修改中删除易管理用户添加中删除易设定权限难论坛的功能模块划分完成,从以上的分析可以了解到功能模块划分的依据。4.2.2各模块间的关系每个模块的功能,真实反映需求,通过对需求的认真分析,可以设计出符合要求的单独模块。但是,关键在于对系统架构的把握,把零散的功能模块用一条主线串联起来,构建完整的系统。对于论坛系统而言,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户的权限决定的。论坛的每个功能都与相应的权限对应。例如:注册用户具有浏览帖子,发帖,回帖的权限,那么他就能使用论坛中的浏览,发帖,回帖功能。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作同一类事物的功能模块,也是相互关系的。因此,浏览模块与发帖回帖模块,管理帖子模块关联,是由系统流程决定的。如图4.2所示发帖回帖浏览帖子管理帖子图4.2 帖子相关模块关系图管理板块模块与浏览模块关联,是由帖子与版块的父子关系决定的,帖子依附于版块,先有版块,后有帖子,帖子必须发表在某个版块中路,如图4.3所示。版块浏览帖子管理板块图4.3管理板块模块与浏览模块关系图管理用户模块与注册登录模块关联,是由同一类对象用户决定的,注册后获得论坛的身份,成为用户,所有的用户需要接受管理员管理,用户登录证明自己在论坛中的身份,如图4.4所示。注册登录用户管理用户图4.4 管理用户模块与注册登录模块关系图弄清楚模块间的关系,就可以设计出论坛系统的整体架构,如图4.5所示。注册登录管理用户用户管理板块选择版块发帖回帖管理帖子浏览帖子搜索管 理 员图4.5 坛系统的整体架构图根据系统的入口不同,可分为前台系统和后台系统。前台系统包括注册登录模块、浏览模块、发帖回帖模块、管理帖子模块;后台包括管理用户模块、管理板块模块。至此,论坛系统的架构部分设计完成了,需要进一步设计具体的数据库结构,确定系统的数据基础。4.3 数据库设计数据库设计是系统设计的另一个关键环节,数据库技术使信息资源管理最有效的手段。数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户要求和处理要求。数据库结构设计的好坏将直接对应用系统的效率及实现效果产生影响。设计数据库系统时首先充分了解各个方面的需求,包括现有的及将来可能增加的需求。数据库设计一般包括以下几个步骤:(1)数据库需求分析;(2)数据库概念结构设计;(3)数据库逻辑结构的设计。4.3.1 数据库需求分析由于本系统面向的对象有3个,即用户,版主和管理员,所以在数据库需求分析中就要考虑三方面因素。对于用户来说,就他们所关心和能够使用的功能总结出如下:(1)用户注册:只有在接受论坛条款并填写注册信息的用户才能在论坛中发表帖子,新用户注册系统会自动给用户一个提示信息,用户可以自由定制自己的头像信息和签名(支持ubb标签)。(2)用户登陆:可以选择在登陆页面登录或者直接在发表帖子处登陆,系统自动记录用户登录信息,只有登录用户才能发表帖子。(3)修改资料:登录用户可以对自己的原始资料进行修改。(4)论坛搜索:支持对论坛的标题、内容、发言人、帖子id、最新帖子等多种查询。(5)发表帖子:登陆的注册用户可以自由在没有锁定的论坛内发表帖子,论坛目前支持多种ubb语法、贴图、链接、插入flash等 ,可以选择引用回复和直接回复。(6)回复帖子:登录的注册用户可以对没有锁定的主题进行回复,发言格式同上。(7)编辑帖子:发帖用户可以对自己发表的文章进行修改,版主和管理员有权限对所有帖子进行编辑,同等级用户不能互相编辑。(9)在线用户:详细准确统计用户在线信息,可以列出用户的浏览器、系统、来源、活动时间等信息。(10)文本信息:将一个主题的内容按照打印的格式在浏览器输出,方便用户直接打印帖子。(11)帖子显示:可以对用户需求按照某条件进行帖子显示。对于版主而言,由于其必须登录和管理页面,因而有如下操作功能。 (1)公告发布:可以在自己管辖的论坛内发布公告。 (2)帖子管理:可以在自己管辖的论坛内进行梯子删除、锁定、解除锁定、转移论坛、批量删除某一用户帖子等。对于管理员而言,因为是超级用户,登录管理页面可以对论坛,用户信息,论坛的样式等进行管理。具体总结如下。(1)论坛管理:可以对所有论坛进行增加、修改、删除等操作。(2)帖子管理:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论