《校园BBS系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《校园BBS系统的设计与实现毕业论文.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 山 东 大 学高等教育自学考试毕业论文(设计)题 目: 校园BBS系统的设计与实现 专 业: 计算机及应用 学生姓名: 准考证号: 082804100037 联系电话: 13964920040 指导教师: 摘要1第一章 绪论31.1 引言31.2 校园BBS系统的研发背景31.3 校园BBS系统的研发意义31.4 校园BBS系统的目标4第二章 相关开发技术介绍42.1 Perl简介42.2 Apache HTTP Server简介52.3 FreeBSD简介62.4 硬件设备平台的搭建7第三章 系统需求分析83.1 课题准备83.1.1课题研究83.1.2课题可行性分析83.2 用户特点83
2、.3 设计原则93.4 系统需求规定9第四章 校园BBS系统详细设计124.1 两种语言的BBS系统134.2 模板的设定164.3 用户注册204.4 用户登录214.5 退出登录224.6文章搜索234.7数据库设计23第五章 问题以及总结255.1 硬件方面问题255.2 软件方面问题255.3 心得体会26参考文献27致 谢281山东大学毕业设计(论文)摘要本论文在参考一些因特网上流行的BBS系统的基础上,尝试性地提出了一种校园BBS系统,并根据工作需求开发而成了小型中学校园BBS系统。本论文概述了BBS系统设计与实现及其相关的一些技术,并将其放入一个简单的网络体系中,加以实现。具体的
3、实现是,获得一个FreeBSD操作系统,在上面安装上阿帕奇服务器,使用Perl程序设计语言构造一个论坛。通过这个论坛,我们学校的老师和同学们可以很方便的下载软件和数据,上传图片和其它数据,听音乐,读新闻,与其他人交换信息,非常方便地在网上进行沟通和交流。 在此设计中,主要的技术有:Perl,HTML,CGI等,用到的运行环境(操作系统,服务器)有FreeBSD,Apache,和Mozilla等,将它们集成在一个的环境中,从而实现了设计。关键字: 校园BBS系统; Perl; Apache; FreeBSD 2 AbstractIn this paper,a design and realiza
4、tion for School BBS System is tentatively proposed after consulting some popular BBS Systems in the internet, and this minitype BBS System for Middle School based on my job has been tried to develop .The paper summarized the design and realization for School BBS System and its relative technology ,
5、meanwhile, we put it into a simple system of network, and realize it. The concrete process was to obtain a FreeBSD operating system, install Apache http server on it, use the programming language perl to construct forum.through it, the teachers and students of our school can perform functions such a
6、s downloading software and data, uploading images and other data, listening to music, reading news, and exchanging messages with other users conveniently on the web. In the system, the main solutions we used are: perl, html, cgi ect. the runtime enviroment (os and server): FreeBSD, Apache, and Mozil
7、la ect. we integrated them into an enviroment,and completed our design successfully.Key words: School BBS System; Perl; Apache; FreeBSD 第一章 绪论1.1 引言BBS又名论坛,全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而即时的Intern
8、et电子信息服务系统。用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。1.2 校园BBS系统的研发背景 像日常生活中的黑板报一样,论坛按不同的主题分为许多版块,版面的设立依据是大多数拥护的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留地帖到论坛中。一般来说,论坛也提供邮件功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中。 在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位
9、置与其他人进行任何问题的探讨。网络社会的发展,给人们提供了新的互动环境和交流空间,-经由BBS形成的网络社会群体不是网上人群的简单集合,而是因共同的文化与心理需求而 结成的群体。具有以上特征的成员在论坛这个共同的公众空间内讨论彼此感兴趣的话题,发生交互影响,就形成了网络社会群体。由于论坛上的交流具有相当的匿名 性与超越时空限制的便捷性,人们可以在其中发表现实中不愿说、不敢说的意见,因此这里成为社会焦点问题或一个单位焦点问题的意见集散地,很快受到网民们的 青睐,其中学生占有相当大的比例。1.3 校园BBS系统的研发意义校园论坛存在的意义应该在于对校园文化的建设及传播,建立良好的舆论引导和监督机制
10、。“没有BBS的学校不是一所完整的学校。”它为实现学校的网络资源共享起到了重要的作用。校园论坛也是一种媒体,同样也是有组织的集体,因此它可以等同于一个媒体社团。相对于传统纸介质媒体,无论是在空间还是时间因素上,论坛都具有相当的优势。对于社团来说,论坛则具有比其更优越的反馈信息的能力和长期保持宣传的功用。这是论坛对于传统媒体社团的优势所在,也是与媒体社团合作的基础。一旦成功合作,论坛将在校园文化建设中扮演重要角色并发挥重要作用,为实现其价值提供巨大保障。1.4 校园BBS系统的目标1、适合校园内部的学术交流。校园论坛当以学生为本,以人为本,以青年为本。校园论坛按不同的主题分为许多版块,用户可以阅
11、读别人关于某个主题的看法,也可以将自己的想法毫无保留地帖到论坛中。一般来说,论坛也提供邮件功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中,以利于大家进行学术交流。2、言论传播特点 校园论坛尽管具有其处于校园环境及受众人群的特殊性,但就其本质而言,仍然是一个论坛,属于网络媒体的范畴。网络媒体作为大众传播媒介的一种,其传播首先 必须具备传播者、信息、媒介和接受者这样四个基本元-。 -。这种自动调节功能保证了整个论坛言论传播的系统性。受众B对原始信源A的反馈作用也很明显。要求论坛的速度要快。3、功能个性化:含有控制版面首页;单个版面内可添加和删除版主,可设置版块排序,方便管理;
12、附件功能,增加附件(非图片)混排功能;加强文章系统功能,增加一个分类页面,加强易用性;加强功能易用性和操作人性化;加强取回密码功能(需要输入EMAIL确认);改进后台日志管理,只允许管理员删除后台日志。4、系统安全:系统包含了多级的安全机制:如数据备份功能、系统管理员密码管理功能、操作者的权限管理、操作系统本身用户管理,保证数据的安全。 5、系统的模块化:系统采用模块化设计,各模块之间功能清晰,并且代码冗余少。系统中的项目、代码还可自定义,学校可设置使用最合适的项目和代码,此功能根据关键字。第二章 相关开发技术介绍2.1 Perl简介Perl是 Practical Extraction and
13、 Report Language (实用摘录和报告语言)的简称,是由 Larry Wall 所发起的。现在其最新版本为5.0,Perl 的设计目标是帮助 UNIX 用户完成一些常见的任务,这些任务对于 Shell 来说过于沉重或对移植性要求过于严格。Perl 语言中包含了 C、C+、shell,script、sed、awk 这几个语言的语法,它最初的目的就是用来取代 UNIX 中 sed/awk 与 脚本语言的组合,用来汇整信息,产生报表。因此 Perl 语言要远远比前面讲的 BASH 复杂和功能强大。Perl 的设计原则或者说 Perl 的设计哲学是以实用为第一优先,也就是力图使 Perl
14、语言容易使用、有效率、而且完整。Perl 是按 GNU Public License 和 Artictic License 两种许可证形式分发的,其实质是开源软件、自由软件的,原先运行于 UNIX 和类 UNIX 系统,现在已可以方便地在OS/2,Windows 9x,Windows/NT等系统下运行。Perl 由于引入了模块的设计思想,随着版本的改进,功能越来越强。现在 Perl 的功能已经超乎原先设计时的想象,几乎任何事都可以做到,也变成每一部工作站必备的标准工具了。Perl 最为著名的一点就是他对字符串的处理,由于 Internet 对文字信息处理的巨大需求,使得 Perl 的应用如日中
15、天,而且 Perl 语言也的确是一个非常优秀的文字信息处理语言。Perl 是一个开放源码的优秀软件,你可以自由的下载该软件去使用和研究,但是 Perl 使用的并不是我们熟知的 GPL 许可证,而是 Artistic 许可证,虽然 Artistic 许可证和 GPL 很类似。简单的说就是 Artistic 许可证比 GPL 的要宽松,你可以出售包含Artistic“包” 的产品,但是绝对不能出售Artistic“包”,不像GPL那么死板。 Artistic 许可证之所以不涉及源码问题是因为 Perl 不存在这个问题。Perl这样的脚本语言与Java,C+或C这样的传统程序语言适合的任务有着跟本的
16、不同。Perl将许多程序“粘着”在一起的能力,或者说将一个程序的输出转化成另一个程序的输入的能力。Perl在处理文本方面无以伦比的能力,如正则表达式等强大特性。perl既能够快速地开发小工具,同时又拥有开发复杂程序所需要的工作流与数据组织形式。执行速度一定要快。在调用系统资源如文件操作,内部进程通信,进程控制等方面一定要有效率。perl可以运行在所有流行的操作系统上,适合信息处理(自由文本格式)和数据处理(数字与二进制数据)。它要可插入,可扩展。Perl处理信息方面的很大一部分能力来源于一种叫做正则表达式的特殊语法。正则表达式赋予了Perl极大的处理和操作自由文本中的模式的能力。其他语言也有支
17、持正则表达式的,(Java甚至有自由免费的正则表达式库),但是没有一种能像Perl一样结合得这么好。2.2 Apache HTTP Server简介Apache软件基金会(ASF)是一个非营利性组织,它为Apache社区的开源软件项目提供支持。 Apache HTTP Server(也被称为Apache httpd)是Apache软件基金会的一个创建健壮的、工业级的、功能强大的、开放源代码的HTTP(Web)服务器的项目。Apache HTTP Server的特点: 一个强大的、灵活的、兼容HTTP/1.1规范的web服务器 实现了最新的协议,包括HTTP/1.1(RFC2616) 具有高度的
18、可配置性和使用第三方模块的可扩展性 可以通过使用Apache模块API编写自己的模块进行定制 在非限制性许可证下提供所有的源代码 可以运行在 Windows 2003/XP/2000/NT/9x 、Netware 5.x 及以上版本、OS/2 、大多数Unix版本以及其它操作系统上 被非常活跃的进行开发 鼓励用户反馈新想法、bug报告、补丁程序Apache正在数以百万的网络服务器上运行。它同时经过开发者和用户的充分测试。Apache HTTP Server 项目按照非常严格的标准发布服务器的新版本,并且有70%的WWW服务器在24小时不间断地运行着我们的服务器。一旦有bug被发现,我们将以最快
19、的速度 发布补丁程序和新版本。2.3 FreeBSD简介采用基于Unix平台FreeBSD之上集操作系统和防火墙于一身的软件系统UNIX在数据库服务器方面口碑甚好,一直是数据库服务应用软件良好的操作平台,并且其优势越来越明显,几乎所有的大中型网络解决方案,都是采用UNIX作为其数据库的支撑平台。如Solaris for SPARC,每个主要的数据库供应商基本上都提供面向SPARC服务器的数据库产品,虽然这些供应商也向NT提供,并且NT系统也应用在Alpha和MIPS CPU(或多个Pentium)的小型机上,但其技术并不完善。FreeBSD是一个在个人电脑上执行的作业系统,这些个人电脑包含38
20、6,486跟 Pentium(SX跟DX皆可)。其他跟Intel相容的CPU如AMD跟Cyrix 也被支援。FreeBSD提供你许多昂贵工作站才有的先进功能,这些特色包括: *具有动态优先权的多工(Preemptivemultitasking) 以确保平顺的执行程式以及公平地让应用程式以及使用者共享资源。 *多使用者(Multiuser)代表者许多人可以同时使用一个FreeBSD系统。 系统的硬体周边(如印表机及磁带机)也可以让所有的使用者适当地分享。 *完整的TCP/IP网路功能包含SLIP,PPP,NFS跟NIS。这表示FreeBSD 可以容易地跟其他作业系统透过网路合作, 或是充当企业上
21、的伺服器,例如提供远端档案共享(NFS)及电子邮件 (e-mail)等服务,或是让你的企业连上国际网路(internet)并提供WWW, FTP,路由(routing),及防火墙(firewall,security)等必备服务。 *记忆体保护(Memoryprotection)能确保一个使用者不能扰其他人。 而一个应用程式也不能影响其他的程式。 *FreeBSD是一个完全32位元的作业系统。 *标准的X视窗系统(XWindow,X11R6)提供良好的图形使用者介面(GUI) 以便在一般的VGA显示卡以及萤幕上使用,并且提供完整的原始程式码。 *能直接执行在其他作业系统(如SCO,BSDI,Ne
22、tBSD,Linux跟386BSD) 上编译的(Binary)程式。 *数以千计可以直接执行(ready-to-run)的应用程式,可以在FreeBSD ports及packages中找到。免去你上网路到处找软体的苦境。 *数以千计其他网路上容易移植(easy-to-port)的应用程式。FreeBSD 跟其他商业版的UNIX系统在原始程式上是相容的(sourcecode compatible),顶多只需稍微的修改。 *需要时才置换的虚拟记忆体(Demandpagedvirtualmemory以及 合的虚拟记忆体及档案缓区之快取功能(mergedVM/buffercache) 提供令人满意又有
23、效率的应用程式执行速度,尤其是执行那些大型的 应用软体时仍能让使用者轻松的控制而不至於停摆。 *动态共享函示库(Sharedlibraries)(有点像MS-Windows上的DLL) 提供有效的利用硬碟空间及记忆体。 *完全相容的C,C+跟Fortran开发工具及环境。 许多额外的程式语言也收集在ports跟packages。 *整个FreeBSD系统的原始程式码(Sourcecode)让你能 随心所欲的控制及修改你的系统,让你避开让作业系统公司操控的命运。 *大量又详尽的线上文件(包含其他BSD的文件).2.4 硬件设备平台的搭建采用 Intel P4 XEON 2.4GHz2G ECC
24、REGSCSI 36Gb6 ,百兆独享带宽千兆光纤高速接入中国骨干网(ChinaNET) 不间断UPS电源供应 第三章 系统需求分析3.1 课题准备3.1.1课题研究1、课题的相关资料由老师提供。具体的需求由本人的所在学校经调研所得。2、课题主要要求熟练掌握Perl、HTML以及Apache Http Server的开发技术。另外还有部分CSS、Photoshop等知识。3、具体页面风格、数据库等内容,经所在学校领导及同事指导后,在导师的指导下详细设计并完成开发。3.1.2课题可行性分析 1、技术可行性 此次开发的操作系统采用FreeBSD ,系统性能较为稳定。CGI页面在设计中,加入了一些H
25、TML代码,或是一些脚本程序(而且此项不是必需的)。所以掌握一定的网页脚本语言,以及其他HTML的知识,基本可以满足用户对于界面的需求,要注重界面的美观性和实用性。FreeBSD是最简捷、最通用、最稳定的网络操作系统, Perl和Apache HTTP Server、SQL Server2000的良好结合,打造一个动态网站是十分可行的。 2、经济可行性 本软件是进行学术性的毕业设计所做,与众多软件的版权不存在矛盾与冲突,在经济方面也是可行的。 3、使用可行性 在网站的设计中,尽量采用人性化的界面设计、统一的页面风格、安全的平台设计,使用户使用方便、安全,页面友好。而个性系统采用模块化设计、集中
26、式管理、灵活开放的平台管理。3.2 用户特点校园BBS系统是能够适应不同规模学校的应用要求。其功能全面,操作方便,并采用了多级安全机制,保证了数据安全。本软件的最终用户为本校园单位的领导及相关老师,他们对校园公务管理的流程十分熟悉,但对计算机操作水平并不十分熟练和专业,需要进行培训。要求这些用户具有最基本的计算机和Windows环境的操作技能,能够熟练浏览INTERNET。必要时可进行相关培训,使他们对校园的公务管理电子化,模块化。对年纪较大的用户可进行专门的专项操作培训,以便使软件发挥更大的作用。3.3 设计原则1.人性化的界面设计为不同的用户定制个性化、人性化的用户界面。由于本软件人性化较
27、强,所以个性化强调的是电子办公功能的个性化。如在用户登录平台后,只列出与该用户相关的资源和功能,页面上包含充分的该用户的信息,同时提供针对该用户的系统提示,让用户感到平台是为他(她)所定制的,使用户体验到一种亲近感,系统将更容易为用户所接受并受到用户的青睐。2.统一风格的页面设计网页应易读,界面要友好,如布局合理、简洁,前景和背景颜色要舒适,字体大小适当,符合大众习惯等,可针对个别学校进行单独的界面色彩设计。网页风格要统一,如图标按钮要通用、简捷。网站导航要清晰,如页面的关系要合理,超级链接要清晰等。页面容量大小适中,如尽可能少使用大图片,或对大图片进行分割裁剪,减少页面容量,减小信息反馈时间
28、,提高访问速度。3.平台的功能设置功能设置应当尽可能满足不同用户的学习等需要,包括学习、学习支持、服务、交流和其他的功能,操作尽可能简捷方便,同时符合绝大多数用户习惯,各种操作的提示信息尽可能丰富,使每一个用户都能够较为轻松的掌握。4.平台的安全和维护设计时必须考虑到系统的可维护性,必须开发系统管理员的操作界面,用于对系统的数据库、系统界面等进行维护和管理,系统管理员可利用网络进行远程操作。同时必须考虑系统的安全性能,使用各种工具和手段提高系统的安全系数,如启动数据库服务器和服务器操作系统本身的安全机制,采用FreeBSD与Apache Http Server双重验证,同时使用安全防护产品等。
29、3.4 系统需求规定3.4.1功能需求1.用户管理功能。用 户是指对本站进行访问活动的人,根据其在本站不同的权限分为一般访客、注册用户、版主、编辑、会员、贵宾、管理员等几类,针对用户的功能包括用户注册、用 户登录、退出登录、用户在线记录和注销、用户修改个人资料、用户资料查看和查询、用户的各类排行显示、会员升级登记、管理员对用户权限定制功能等。2 论坛管理功能。校园BBS系统管理功能划分如下:1、 论坛配置:2、 论坛控制:3、 会员控制:4、 维护控制:BBS管理子系统功能结构图(一) 论坛配置- 论坛参数选择和设置- 编辑论坛新闻- 编辑论坛模版- 编辑同意条款- 设置审查单词 - 论坛参数
30、选择和设置: 此页允许用户改变论坛的每一项设置. 一些选项仅对用户为默认选项 (例如时间格式).- 编辑论坛新闻: 请每行放置一条新闻. - 编辑论坛模版: 这是论坛模版. 可以改变为任何用户喜欢的样式, 使用HTML。- 编辑同意条款:此论坛允许用户编辑文件 agreement.txt. 这是个纯文本文件, 在用户注册时可看到. 可使用一些HTML标记- 设置审查单词: (二) 论坛控制- 编辑分类(排序/创建/删除)- 编辑论坛(排序/创建/删除) - 编辑分类(排序/创建/删除):下面是论坛的分类 ID 号的列表. 管理员可以移动它们 (每行一个) 然后提交重新排序. 如果管理员意外地删
31、除了一个 ID 号, 可以重新输入后提交, 此分类将修复.- 编辑论坛(排序/创建/删除) :这里编辑论坛. 列出多个版主按照 版主1帐号,版主2帐号格式(这里必须使用帐号同时对大小写敏感). 在分类名上单击, 管理员可以在此分类上重排论坛列表. 论坛 id 号被论坛内部使用决定帖子位置 (浏览一个论坛时看看它的 url 可以做一个范例(三)会员控制- 查看/删除 会员- 编辑会员团队- 给会员发邮件- 取缔会员- 设置保留名字 - 查看/删除 会员:查看全部会员,删除选择的会员。- 编辑会员团队:附加会员级别 (每行一个)- 给会员发邮件:您可以在此页给任何人发邮件. 您的全部的 free
32、builder forum 邮件列表显示在下面, 但是您不能删除或增加任何邮件地址. 确认每个邮件地址像这样用分号分开: 地址1; 地址2.- 取缔会员:取缔 IP: (例如 192.168.12.213 或 128.0.*.*) - 每行一条- 设置保留名字:保留名字将不让用户注册时用做帐号或公开显示名字. 在提交前把管理员要保留的名字加入到此选项底部.(四)维护控制- 清除活动日志- 重新统计全部论坛- 重新统计会员人数- 重建会员列表第四章 校园BBS系统详细设计校园BBS系统管理图在进行此校园BBS系统的详细设计时,着重注意了系统的可扩展性、代码的简洁性和系统运行的速度,以及系统操作和
33、维护的简便性。4.1 两种语言的BBS系统 考虑到学校未来的发展,以及师生使用英语的要求,我和几个同事决定开发中、英文两种语言的BBS系统。相关文件:# English.lng # YaBB: Yet another Bulletin Board # Open-Source Community Software for Webmasters # Version: YaBB 1 Gold - SP 1.3 # Released: December 2001; Updated April 6, 2003 # Distributed by: # = # Copyright (c) 2000-2003
34、 YaBB () - All Rights Reserved. # Software by: The YaBB Development Team # with assistance from the YaBB community. # Sponsored by: Xnull Internet Media, Inc. - #$englishlngver = 1 Gold - SP 1.3;$yyext = cgi;$yycharset = ISO-8859-1;days = (Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);mo
35、nths = (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);$txt1 = You are not allowed to access this section.;$txt2 = Admin;$txt3 = Edit Categories (reorder/create/remove);$txt4 = Edit Boards (reorder/create/remove);$txt5 = View/Delete Members;$txt6 = Email Your Members;$txt7 = Edit YaBB News;$txt8 =
36、 Edit Member Groups;$txt9 = View all members;$txt10 = Save;$txt11 = YaBB Administrator;$txt12 = Moderator;$txt13 = YaBB Jr. Poster (over $JrPostNum posts);$txt14 = YaBB Full Poster (over $FullPostNum posts);$txt15 = YaBB Sr. Poster (over $SrPostNum posts);$txt16 = Additional member groups (one per l
37、ine);$txt17 = Modify;$txt18 = Index;$txt20 = Forum name;$txt21 = Posts;$txt22 = Last post;$txt23 = Unable to open;$txt24 = (No subject);$txt26 = Posts;$txt27 = View Profile;$txt28 = Guest;$txt29 = Author;$txt30 = on;$txt31 = Remove;$txt33 = Start new topic;$txt34 = Login;$txt35 = Username;$txt36 = P
38、assword;$txt37 = You should fill in a username.;$txt38 = Password field is empty;$txt39 = Password incorrect;$txt40 = Username does not exist.;相关文件:设置了一些文本变量,使其值为中文字符,如:# English.lng # Copyright (c) 2000-2002 YABBCN () - All Rights Reserved. # YABBCN汉化版来自 汉化者:fbuilder #$englishlngver = YABBCN 1.1;$y
39、yext = cgi;$yycharset = gb2312;$user_ip = ; # Only change when IPs do not log. Several IP address environment variables are tested until a valid one is found.$txt1 = 您不能访问此区域;$txt2 = 管理;$txt3 = 编辑分类(排序/创建/删除);$txt4 = 编辑论坛(排序/创建/删除);$txt5 = 查看/删除 会员;$txt6 = 给会员发邮件;$txt7 = 编辑论坛新闻;$txt8 = 编辑会员团队;$txt9 = 查看全部会员;$txt10 = 保存;$txt11 = 论坛管理员;$txt12 = 版主;$txt13 = 一般会员 (超过 $JrPostNum 帖子);$txt14 = 高级会员 (超过 $FullPostNum 帖子);$txt15 = 资深会员 (超过 $SrPostNum 帖子);$txt16 = 附加会员级别 (每行一个);$txt17 = 修改;$txt18 = $mbname - 首页
限制150内