网上论坛系统的设计与实现
更新时间:2024-06-30 21:06:01 阅读量: 综合文库 文档下载
- 网上论坛的英文推荐度:
- 相关推荐
审定成绩: 编 号:
先锋软件学院2011届
毕业设计(论文)
网上论坛系统的设计与实现
分 院:软件学院 学生姓名:郭大威
专 业:软件设计与开发
班 级: 2008级 学 号:200800003492
指导教师: 李俊
填表时间:2010年 5月
1
题目:
先锋软件学院
学生毕业设计(论文)工作自查表
(20XX年X月- 20XX年X月检查) 学生姓名 导师姓名 题目名称 作息时间 个人精力 实际投入 上午 时~ 时 周均工 作小时 % 下午 时~ 时 缺席天数 晚间 时时 出勤率% % ~
专业 职称 导师每周指导次数 学号 每次: 小时 日均工 作小时 已完成主要内容 待完成主要内容 毕业设计(论文)工作进度 存在问题工作措施 指导教师(签字): 日期: 年 月 日
2
先锋软件学院毕业论文(设计)评阅表
(指导教师、评阅人用)
论文(设计)名称 学生姓名 学号 指导教师或评阅人)姓名 序号 1 评审项目 论文(设计)完成量 指标 论文(设计)内容完成量,难易程度符合教学基本要求 根据论文(设计)任务,能独立查阅文满分 评分 20 2 调查与综合 献资料和从事其它有关调研。有收集、综合和正确利用各种信息的能力。 文章切合选题,材料丰富、内容充实,观点明确、论据充分、论证严格,构思20 50 3 论文(设计)质量 完整、层次分明、段落、论题间的衔接自然、舒展。文笔流畅、语言通顺、使用专业术语准确,图表清楚,符合要求。 4 创新 有独特的见解,或有一定应用价值 10 总分 评语:(明确指出论文(设计)的调研论证材料收集是否适合论点要求、创新点、论文(设计)论证能力、写作水平,同时要明确指出论文(设计)的不足之处及改进方向。)
评阅人: 年 月 日
3
摘 要
现在网上的论坛到处都有,但不知您是否遇到过这样的情况:在杂乱无章的讨论信息中来寻找自己想要的内容,是一件很费费时费力的事情,到后来,您就都不想去看什么论坛了。那么我们能不能对自己网站论坛的内容按自己的要求来进行讨论呢?即所有用户发到论坛的文章,都以提问的方法按分类显示出来,知道所提问题的答案的用户进行问题解答,然后就发表出来。否则就删掉了,这样的论坛比起一般的论坛来,能够提供给为明确有益的内容。增加了学习知识和交流问题的趣味性和互动性,讨论问题也有目的性.
本文正是基于这一需要而开发的论坛管理系统,完成了用户的各项信息管理及信息交流,着重分析了开发过程,重点及解决方案.
关键词:论坛 ASP IIS 连接 数据库
4
目 录
引 言????????????????????????????????????? 5 第一章 绪论?????????????????????????????????? 8 1.1 论坛的开发目的 ......................................................................................................................................... 81.2 论坛的开发意义 ......................................................................................................................................... 8第2章 ASP技术综述?????????????????????????????? 9 2.1 IIS与ASP的结合...................................................................................................................................... 92.2 ASP的内部特点 ........................................................................................................................................ 102.2.1.ASP内部6大特点 .......................................................................................................................... 102.2.2. Global文件 ................................................................................................................................... 102.3 利用ADO访问数据库 .............................................................................................................................. 112.3.1.创建数据源名 .................................................................................................................................. 122.3.2.创建数据库链接.............................................................................................................................. 122.3.3.创建数据对象 .................................................................................................................................. 122.3.4.操作数据库 ...................................................................................................................................... 132.3.5.关闭数据对象和链接对象.......................................................................................................... 132.4 ASP与CGI的比较.................................................................................................................................... 13第三章 总体规划与设计????????????????????????????? 15 3.1 系统可行性分析 ....................................................................................................................................... 153.2 系统设计思想............................................................................................................................................ 153.3 系统设计目标............................................................................................................................................ 163.3.1前台在线交流子系统...................................................................................................................... 163.3.2后台管理子系统............................................................................................................................... 163.4 系统整体结构及其说明.......................................................................................................................... 17第四章 网上论坛应用系统的开发与实现?????????????????????? 17
5
4.1 开发环境 .................................................................................................................................................... 17 4.1.1.硬件环境 ........................................................................................................................................... 18 4.1.2.软件环境 ........................................................................................................................................... 18 4.2 系统总体方案的设计与实施 ................................................................................................................. 22 4.2.1网页制作工具的选择...................................................................................................................... 22 4.2.2 页面风格的确定.............................................................................................................................. 22 4.2.3 Web页面的设计与制作 ................................................................................................................. 23 4.2.4设计过程中使用的主要技术及元素 ........................................................................................... 24 4.3 WEB数据库的建立及链接........................................................................................................................ 24 4.3.1数据库简介........................................................................................................................................ 24 4.3.2数据分析——数据库中表的建立................................................................................................ 25 4.3.3.建立与数据库的连接..................................................................................................................... 25 4.4 总结??????????????????????????????????? 26 致 谢....................................................................... 27 参考文献 ……………………………………………………………………………………………27 附录:程序清单和主要运行界面”????????????????????????? 28
6
引 言
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规
模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
Internet带给我们的不仅是无穷的信息,更是交流和学习方式的变迁,在互联网高速发展的今天,传统的打电话,面对面的交流和学习方式因时间和空间的限制,已无法满足当今快节奏的生活,在网络化的今天,依托互联网(论坛)保持用户之间的联系和交流,显得非常方便.因此进行这方面的研究有非常重要的实际意义.
BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。
目前,通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事,而且这个园地就在你我的身旁。只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域,进而去享用它无比的威力!
BBS的历史
1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago(Computerized
7
Bulletin Board System/Chicago),此乃最早的一套BBS系统。之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统(People,s Message System)2种BBS系统。1981年IBM个人计算机诞生时,并没有自己的BBS系统。直到1982年,Buss Lane 才用Basic语言为IBM个人计算机编写了一个原型程序。其后经过几番增修,终于在1983年通过Capital PC User Group(CPCUG)的Communication Special Interest Group会员的努力,改写出了个人计算机系统的BBS。经Thomas Mach整理后,终于完成了个人计算机的第1版BBS系统——RBBS-PC。这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。
但在当时,如何实现站与站之间的联系问题并未解决。1984年美国的Tom Jonning开发了一套具有电子功能的电子公告板程序FIDO。由于该软件具有站际连线和自动互传信息的功能,所以站际间彼此可以在一个共同的预定时间传送电子邮件,使得BBS网络化有了一线生机。
BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,几个较具知名度的还有EggNet、AlterNet和RBBS-Net等等。由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。
BBS在中国
大约是从1991年开始,国内开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为2种:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各地
8
的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余BBS站拥有这种优势,所以使用者都更乐意加入。这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。
国内BBS的现状与展望
国内的BBS站,单线站还占大多数。随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来的拨号难和抢线难的问题将会加剧。尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。许多人同时拨号一个站台,不可避免地发生冲突。每回要拨上几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国BBS用户的一个难题。随着BBS活动的深入,国内已经出现了一些多线站,一次可以允许2人以上同时访问。
BBS的发展过程中,也出现了一些问题。由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。
1999年是中国网络的发展年。但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。包括一些厂商架设的BBS站,实用性还需要加强。今后,国内的BBS站将向着个性化和专业化的方向发展。
9
第一章 绪论
1.1 论坛的开发目的
本次论坛的设计目的在于研究基于ASP+ACCESS网上论坛系统方案设计,主要对动态网站进行研究,以便更好的设计一个网上论坛动态系统。在线论坛的设计主要意义是可以通过Internet为了给大家一个在网上发表自己看法的机会,探讨知识深渊,为了让更多网友共享好资料,为了给繁忙的人们一个休息的空间,为了给一些带着心情而没有地方发泄的游民一个释放的场地,为了给大家一个休闲娱乐的虚拟空间,为了给大家一个畅想未来的机会,为了给大家搭一座交友的网桥??而开辟的双向互动式的信息交流平台,为学生提供了一种新的交流方式。这种交流方式可以打破地区、国界的限制,使交流过程便利、快捷,大大缩短了交流时间。通过论坛,我们可以维系昔日往日的友情,学到新的知识,营造一个良好的信息交流平台.
1.2 论坛的开发意义
在对论坛系统进行开发之前,必须首先对系统进行整体规划和设计,否则就会导致开发工作量大,系统不符合要求。更为糟糕的是,还可能会导致系统不完善或整个系统根本无法运行。因此,系统的总体规划与设计是论坛系统必备且首要的步骤。具体到本系统而言,就是根据论坛管理系统的目标、内容、规模、性质、现有的配置等具体情况,进行系统可行性分析,明确系统开发目标,整体规划网站的物理结构。
对系统进行可行性分析是系统规划的关键步骤,必须在可行性报告通过后,才可以进入实质性的论坛管理系统应用分析阶段。
论坛管理系统的建立是可以有效的用户间日常交流和学习的投资(指时间,精力),其设计理念很简单,变传统的打电话或面对面的交流方式为计算机自动化进行网上论坛信息交流管理,既省时间又提高效率。因此在系统构建时,只要我们本着丰富用户间的信息资源,为用户和管理员提供最为方便的快捷的信息阅览途径和管理手段,去吸引用户,那么论坛管理系统是完全可行的
10
第2章 ASP技术综述
2.1 IIS与ASP的结合
在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+ASP构成三层式Web结构(如图1所示)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。
利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:
1. 减少构建和维护成本 2. 加快联机过程
3. 应用软件集中在服务器端开发管理
4. 前端可使用任何讨论器(IE、Netscape?..) 5. 后端可存取任何数据库 (SQL、Access?..)
6. 可使用任何脚本语言开发 (VBScript、JavaScript、PERL?..)
数据库服务器 后端数据库 ActiveX Server元件 程序和计算逻辑 Microsoft IIS + ASP ActiveX Server元件 前端讨论器 讨论器 (图1)
11
2.2 ASP的内部特点
2.2.1.ASP内部6大特点
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象及其功能描述如表1所示:
对象名称 Request Response Server Session Application 功能描述 从客户端取得信息 将信息送给客户端 提供一些Web服务器工具 储存在一个Session内用户信息,该信息仅可被该用户访问 在一个ASP-Application中让不同的客户端共享信息 ObjectContext 配合Microsoft Transaction服务器进行分布式事务处理 (表1 ASP 内部6大对象及其功能)
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。 我们可以用以下的语法直接使用这些对象:对象/属性/方法/数据集合。
2.2.2. Global文件
每一个以Active Server Pages为基础的应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Application的缩写),它位于每一个应用程序的基点目录之下。当Active Server Pages做下面两个动作时,Server便会去读Global.asa文件:
①.Web Server启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。
②. 不具有任何Session的客户端向Server请求一个ASP文件时。
前面已经提到Application和Session这两个ASP的内部对象。Application对象内的
12
信息供所有正在执行该应用程序的用户分享,它创建于Web Server启动后一个应用程序中任一ASP文件被提出第一个HTTP请求时,结束于Server端停止运行。而Session对象仅属于一位用户,维持一个用户端的信息,其他用户无法访问,它创建于一个不具有Session的用户向Server请求一个ASP文件时,结束于该Session到期(即用户端超过某时间段没有向Server提出要求或刷新Web页面)或Abandon语句的调用。可见,Global.asa文件的调用与Application与Session这两个对象密切相关。事实上我们通常在Global。asa文件中写入以下内容:
① Application或Session的开始事件(Start-event)。 ② Application或Session的结束事件 (End-event)。
这样,在一个Application或Session对象被创建或结束时,系统会自动完成Global.asa文件中写入的相应事件。值得注意的是,如果一个Application与一个Session同时开始,Active Server Pages会先处理Application的开始事件,而如果一个Application与一个Session同时结束,Active Server Pages则会先处理Session的结束事件。
2.3 利用ADO访问数据库
ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:
①创建数据库源名(DSN) ②创建数据库链接(Connection) ③创建数据对象 ④操作数据库
⑤关闭数据对象和链接 每一步的做法如下:
13
2.3.1.创建数据源名
DSN(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。
2.3.2.创建数据库链接
链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
set Conn=Server.createObject(“ADOBD.CONNECTION”) 这条语句创建了链接对象Conn,接下来:
connstr=\\
conn.Open connstr
这条语句打开链接,用到了DSN,本例为“connstr”。
以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。
2.3.3.创建数据对象
ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属
14
性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:
Set Record Set=Conn.Execute(sqtStr)
这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。例如:
rs=“SELECT * FROM shop_books” Set Record Set=mConn.Execute(rs)
这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。
2.3.4.操作数据库
我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:
rs=“INSERT INTO tab1 VALUES(1,2)” mConn.Execute(rs) /执行插入操作
2.3.5.关闭数据对象和链接对象
在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。
Record Set.close Set Record Set=Nothing /关闭创建的数据对象 mConn.close
15
Set mConn=Nothing /关闭创建的链接对象。
2.4 ASP与CGI的比较
CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。 Active Server Pages开发Web应用程序的特点: 1. 2. 3. 4. 5. 6. 7. 8. 9.
完全嵌入HTML,与HTML、Script语言完美结合。 无须手动编译和链接程序。
面向对象,并可扩展ActiveX Server组件功能。 使用脚本语言(JavaScript、VBScript或PERL)编写。 存取数据库轻松容易(使用ADO组件)。
可使用任何语言编写自己的ActiveX Server组件。 无讨论器兼容问题。
程序代码隐藏,客户端仅能看到ASP输出的HTML文件。 缩短Web开发时间。
相比之下,使用CGI开发Web应用程序具有以下缺点: 1. 2. 3. 4. 5.
不易与HTML文件集成。
须使用其他较复杂的语言来开发CGI程序。 程序开发时间较长。 存取数据库不容易。
每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口
(Port),降低Server效率。
可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。
16
第三章 总体规划与设计
在对论坛系统进行开发之前,必须首先对系统进行整体规划和设计,否则就会导致开发工作量大,系统不符合要求。更为糟糕的是,还可能会导致系统不完善或整个系统根本无法运行。因此,系统的总体规划与设计是论坛必备且首要的步骤。具体到本系统而言,就是根据论坛的经营目标、内容、规模、性质、现有的配置等具体情况,进行系统可行性分析,明确系统开发目标,整体规划网站的物理结构。
3.1 系统可行性分析
对系统进行可行性分析是系统规划的关键步骤,必须在可行性报告通过后,才可以进入实质性的论坛应用分析阶段。
3.2 系统设计思想
该论坛系统通过前端(客户端)讨论器和后台数据库向用户展示信息,方便的实现了内容的维护和更新,使用户更快,更好的了解信息。管理员将所有注册用户信息数据存入数据库相应的表中,当客户端发出讨论该动态页面的请求时,服务器就会执行相应的脚本代码,从数据库中查询出符合条件的用户信息,生成相关页面发送到客户端讨论器上。客户端所显示的内容是随着后台管理数据库的变化而动态显示的,因此,客户端可以获得用户的最新动态信息。
根据模拟的角色不同和实现的功能不同,将论坛大致分为两个既独立又相互联系的两个模板:前台讨论和后台管理系统。
其中前台讨论为注册用户进入论坛系统的入口,实现提问发贴子和回答问题的模拟。在这里不仅可以充分体验到论坛的乐趣与便捷,同时更重要的是使模拟者能对网上论坛有一个全面的认识。集中体现了信息流的流动过程。
后台管理子系统提供管理论坛的各项功能,实现论坛管理员角色的模拟。该子系统通过简而明晰的WEB页面,提示管理员进行各项管理工作。例如:对注册用户的管理,对论坛各讨论区的管理,对用户提问的管理以及用户解答的管理等等,所有这些管理工作都被智能化,模拟者完全不需要任何背景知识,只需要按照WEB页面上的提示,便可轻松完成操作。
17
3.3 系统设计目标
在明确了系统的设计思想之后,就要开始规划系统的设计目标了,也就是要明确整个系统应当实现的功能,下面将就前台讨论子系统和后台管理系统两个子系统分别进行介绍。
3.3.1.前台在线交流子系统
前台在讨论子系统为注册用户提供论坛系统的的入口,注册用户通过登陆论坛,讨论、提出不懂的问题,或查看其它用户的问题及解答,在线与用户进行交流,解决不懂的问题,增涨知识.
3.3.2. 后台管理子系统
后台管理系统在功能上类似于一个MIS系统,但是在实现方法上有别于传统的MIS系统。该系统采用WEB页面作为管理界面,因此与MIS系统相比较而言,更加友好与智能化,管理员操作起来也更加便捷。系统首先提供管理员的登陆页面,当登陆者输入管理员帐号密码后,系统将对登陆者的帐号和密码加以验证,只有经过授权的管理员才能进入管理系统,执行各项管理职能。否则系统将给出错误提示。该系统具有以下管理功能:
1管理员管理
具体为论坛管理员设置.分为增加管理员跟修改管理员密码 2 用户管理
管理员对注册用户信息进行浏览并对注册的用户进行删除操作 3 问题分类管理
包括添加,修改,删除问题分类 4 问题管理
对用户提出的各种问题进行浏览,并可进行删除操作.
18
5 答复管理
管理员对用户进行解决的信息浏览,并可对答复信息进行删除操作.
3.4 系统整体结构及其说明
整个系统分为两个模块,系统整体结构如图3所示:
网上论坛系统 前台注册用户交流系统 后台管理员管理子系统 用户注册 用户登录 用户提问发贴 用户就提问进行解答 论坛信息检索 用户密码寻回 …….. 管理员管理 用户信息管理 问题分类管理 问题管理 答复管理 退出系统
图3-系统整体结构图
从以上结构图可以看出,两个系统相互联系,构成商务循环。注册用户是讨论者角色,由用户在终端控制,而此以外的,由管理员在服务端控制,整个系统的运行也由管理员来维护。
第四章 网上论坛应用系统的开发与实现
前面介绍了构建论坛系统必备的技术与知识,并且对系统进行了总体规划与设计,在此基础上,我们把理论和实际结合起来,看看如何运用这些技术和知识来开发一个网上论坛系统。
4.1 开发环境
系统开发环境的选择对于系统的建立来说至关重要,它将决定着系统开发工作量的大小,系统的性能特点以及系统今后的维护工作难易等。因此在开发系统之前,根据对系统所采用的技术、实现功能的评估,在选择开发环境时,主要考虑以下几个因素:扩展性,总成本,功能,
19
是否容易开发与管理,另外开放性和互操作性也是需要考虑的一个重要方面,因为该系统是运行在Internet上的,用户平台的差异决定了与其它系统的互操作性是不可避免的。
4.1.1.硬件环境
服务器端的配置主要由建立站点所需的软件来决定,在低配置下,服务器虽然能正常工作,但其性能往往不尽如人意。如果想使站点服务器工作得更好的话,我们需要更好的配置,特别是内存应该大于64MB。下面为服务器端的最低配置:
处理器:Intel Pentium 内存:64M
硬盘空间:500M以上
光驱:需要从光盘上安装操作系统和其它开发站点所需要的软件 网卡:ISA或者PCI接口均可 显卡:SVGA显示适配器
因为客户端主要用于讨论页面,和WEB数据库进行交换操作,因此客户端对硬件要求不高,主要由所安装的Windows来决定。
4.1.2.软件环境
①服务器端 a.平台软件
平台应该是建立易于开发、管理、扩充以及同开发标准兼容的解决方案的基础。服务器端平台软件全部采用Microsoft的产品,便于维护和管理,同时系统设计中还应用了Microsoft的一些新技术,来提高系统的整体性能和效率。
操作系统采用Microsoft Windows 2003 Server。
Web服务器采用IIS6.0。Web服务器从硬件角度上讲是Internet上保存Web页的计算机,
20
从软件角度上讲是提供Web服务的服务程序。 Web服务器以及相应的讨论器技术的出现和商品化,为企业在网上发布信息和挖掘信息提供了强有力的工具。现在由Internet上的众多Web服务器提供的超媒体数据连接服务也已迅猛发展。Web服务器通过与对象技术相融合,正在逐步发展为能够自由挂接各种应用对象的Web应用服务器。在此,我们主要从软件角度出发,选择适合于为论坛应用系统提供Web服务的服务程序。
目前,较为常用的专用Web服务器主要有两种:IIS6.0和Java Web Server。
IIS的设计目标是提供适合性很强的Internet和Intranet服务器功能。IIS具有极高的执行效率,出色的安全保密性,易于管理以及启动迅速等特点。它既可以用于集成现有的应用方式,也可用于实时Web应用系统。
Java Web Server使用Java语言写成,故应用程序不用任何修改就可以从初级的服务器平台移植到功能强大的服务器平台。Java Web Server以纯Java服务器组件为特色,实现了所谓“在一处设计编写,在任何地方运行”的目标。与CGI批处理命令不同的是,Java Web Server与平台完全无关。
这两种Web服务器各有所长,但考虑到论坛系统需要具备较高的安全性能,对用户的请求必须在短时间内作出响应,因此选用了Windows IIS6.0作为系统的Web Server。另外,作为IIS的另外一个重要组成部分,是一种与编译无关的应用开发环境,开发者可以采用任意自己喜欢的语言,而无需顾及编译系统,因此与Java Web Server相比,应用程序的开发工作量小。Windows IIS 6.0中文版,支持ASP,可以很好的提高Web响应速度和处理速度。因此,Web通过Windows IIS 6.0来发布,具有良好的稳定性,高可用性和运行时的可靠性。
讨论器采用Internet Explore6.0。 b.数据库系统
运行网上论坛需要处理大量的数据,而数据库系统是管理大量信息的仓库和引擎。Microsoft Office Access 2003所具有的良好性能、可伸缩性,以及它与Windows 2003的紧密集成,使得它非常适合充当论坛系统的发动机。因此在构建后台数据库时,采用了Microsoft 最新的Access 2003数据库系统软件,用以支持海量的数据存储以及多功能的数据查询。将后台数据和HTML以及XML格式的数据结合在一起,从而大大提高了从服务器到最终用户的信息流速度。
21
c.开发语言
程序设计采用Microsoft ASP实现,ASP是基于Microsoft IIS的开放式脚本开发环境,它可以很好的把HTML和脚本开发结合在一起,提高了编程的灵活性,降低了开发难度。ASP在性能方面的优势主要体现在以下几个方面: (a)无需编译
ASP脚本集成于HTML中,容易生成,不需要编译或者链接即可直接由服务器执行,可快速修改程序。
(b)比CGI和ISAPI具有更多的优点
CGI程序不能为多个客户共享,对于新的请求必须启动新的进程,随着客户请求的增加,并行的进程也将增加,这对系统资源来说是一种极大的浪费,同时也加重了服务器的负担,降低了性能。
ISAPI比CGI有更好的性能,因为ISAPI应用以动态链接库存在,在其启动时加入内存,并且和Web服务器进程处于同一个系统空间,占用系统资源比较少。效率虽然提高了,但也带来了更大的风险,ISAPI进程和服务器进程处于统一系统进程空间,因此,一个违规操作就有可能导致Web服务器的崩溃。另外,无论时CGI程序还是ISAPI程序,基本上是独立于HTML之外的,完全用另一种语言开发,工作量大,与HTML结合得不够紧密。
ASP成功的改变了这些状况,ASP经过最佳化的多线程环境,不会单独成为一个Process,而是存在于这个Process中,可以同时服务多个讨论者,这样系统的性能就大大的提高了,系统的响应速度也大大的改观。
(c)面向对象
在ASP脚本中,可以很方便的引用系统组件和ASP内置组件,还能够通过定制的Active X服务器组件(ActiveX Server Component)来扩充功能。
(d)独立于讨论器,因此可跨平台执行
ASP脚本是在Web站点服务器端执行的,因此客户端的讨论器不需要支持它。用户端只需要
22
使用普通的可以解释常规HTML代码的讨论器,即可讨论ASP所设计的主页内容。论坛系统需要面对的是众多使用不同平台的用户,他们所使用的讨论器可以是IE,也可以是Netscape,还可以是其它类型。
(e)源代码的保密性
ASP程序在服务器端执行,在客户端讨论的内容只是ASP程序执行的结果所生成的常规HTML代码,因此这样就可以保证ASP程序不会被泄漏。对于一个论坛而言,源代码的保密性是至关重要的。因为它直接关系到该站点的安全性。确保用户的所有信息不被第三方截获或破译是进行论坛运转的必要前提,而ASP程序的保密性恰好符合了这一点。
(f)与任何ActiveX Scripting语言兼容
除了可以使用VB Script或者Jscript脚本语言进行设计外,还可以通过插件的方式,使用由第三方所提供的其它脚本语言,例如:PerlScript。本系统使用VB Script和Java Scirpt想结合的方式编程,这样既可以提高服务器的响应速度,又可以与客户端使用的大多数讨论器兼容。
d.开发工具
(a)Dreamweaver进行站点的规划与设计
Dreamweaver MX 2004是较好的网页制作工具,基本上实现了所见即所得的工作方式,即使你不懂HTML语言,也能制作出专业效果的网页。如果你是高手,也可以在代码编辑窗口里直接写入代码,再切换到设计编辑窗口看效果。更为重要的是,可以在Dreamweaver MX 2004里直接编写ASP代码。
Dreamweaver MX 2004提供了许多先进技术,如站点管理,插件,css样式,动态HTML,框架,ActiveX,Java applet等。
编辑时有三种窗口:设计、代码、设计与代码,最后用internet explorer来预览网页。 Dreamweaver MX 2004可以打开的文件有*.htm, *.tml, *.rtf,*.asp, *.htt等等,也可以导入*.doc, *.xls, *.xlm, *.wpd等,
23
因此,本论坛系统采用了Dreamweaver MX 2004来建立,管理Web站点的所有Web应用。
(b)photoshop cs 对页面中的图像进行处理
Photoshop 是优秀的图像处理软件,一直占据着图像处理软件的领袖地位,是平面设计、建筑装修设计三维动画制作及网页设计的必用软件。它的惊人的功能也引起广大业余图像处理爱好者的强烈兴趣。
②用户端
用户端由于不涉及到对网站的开发与维护等问题,因此不需要安装过多的软件,只需要能够实现对服务器端的访问即可。
4.2 系统总体方案的设计与实施
本系统依照真实的论坛流程进行程序设计,整个程序主要使用Microsoft提供的语言和服务,Windows server 2003作为服务器,Access2003用于对服务器数据库的维护,VB Script,Java Script, Dreamweaver MX 2004,ASP等实现交互式论坛管理及其相关操作。完成以上各角色的功能,实际上是处理一系列的数据库,在后台我们对数据库进行操作,以实现网上论坛的运行。
4.2.1网页制作工具的选择
Dreamweaver MX 2004本身带有多种模式,可以根据需要加以选择,同时它与操作系统的集成性非常好,所以在站点管理等方面具有其它网页编辑软件所无法比拟的优势。因此在Web页面进行规划的过程中,我选用Dreamweaver MX 2004作为主要设计工具。在网页制作过程中,其他的辅助工具起很重要的作用,因为Dreamweaver MX 2004只能将很多元素编辑,而很多元素需要用Photoshop,Fireworks,Flash等其他软件加工处理,
4.2.2 页面风格的确定
页面的风格至关重要,它要符合页面的内容所要表达的主题。论坛页面不要做得太花俏,因为论坛的主题定位于为用户与用户之间进行交互的平台,向用户实时提供其它用户提出的的各种动态信息,因此应以朴实为主,这样就可使页面庄重大方,符合论坛信息作为信息传媒的主题。另外,为了保持整个站点风格一致,各分支页面的背景和图片也应保持朴实简洁。
24
4.2.3 Web页面的设计与制作
页面的设计应具体考虑三个方面,即页面的主题,结构,外观设计,下面分别从这三个方面介绍一下在制作Web页面时,应考虑的一些因素和采用的方法。
①页面主题设计
首先要制定目标。论坛系统是为了向用户提供一个方便、快捷的交流平台,因此主页中必须包含会员注册、注册后的登录入口,登录后的信息讨论及查询页面等信息。其次,制定设计方法。采取自顶向下的方法,设计讨论路径,这是将网络层次化的过程。最后选择表达方式,所选的表达方式和设计风格要与目标一致。
②页面结构设计
页面的组织也很重要,必须将信息在逻辑上组织得井然有序,为用户创造一种有趣和能够理解的资源。结构分布是否合理将决定讨论者对站点第一印象的好坏,如果结构设计合理美观,讨论者将产生浓厚的兴趣讨论整个网站。反之,如果在设计中,对如何连接页面中的各个部分只有一个模糊的概念,没有一种宏观和清晰的组织结构,那么用户在不久就会离你而去,转而去寻求组织得更好的信息。大多数页面的信息结构,可以采用四种类型:序列结构,分栏结构,网状结构和层次结构。其中按层次划分信息,是组织复杂信息的较好方式之一,并且含有层次组织的结构特别适合于作论坛。原因是整个论坛站点是被组织得由一个单一的主页向下延伸,大多数用户都熟悉这种等级的图形结构,都会觉得这些结构能帮助他们一步步深入。另外,层次结构为人们所熟悉,使用户很容易建立一种进入站点的认知感觉。但层次不宜过多,太多往往令人厌烦。
③页面外观设计
内容和组织结构确定好后,还应该考虑整个页面的外观。好的页面外观应有很好的一致性,也就是说相同的页面安排、背景图像、颜色组合、栏目条等。整个站点的页面在外观上风格应该保持一致。背景是整个页面的基调,同时也是给讨论者的第一印象,因此背景的选择也很重要。在设计本系统Web页面时,考虑到论坛作为知识传播的媒体,在外观上不能象娱乐站点那样花哨,而更应突出其文化氛围,尽量以简洁,素雅为主基调。
主页的制作大致分三个阶段:前期制作,中期制作和后期制作。前期包括整理资料,制作
25
主题,构造结构;中期包括制作网页,测试修改;后期为发布,更新。前期的工作是制作论坛的主要阶段,但中期的测试是必不可少的环节,这符合软件工程远离。本论坛系统制作完成后,已经过IIS测试,运行良好。
4.2.4设计过程中使用的主要技术及元素
①网页元素的定位
页面元素的定位有两种方式,一种使用图层,一种使用表格。用图层页面比较小,但是用太多的图层会导致站点在网上运行不太稳定,还是用表格定位比较精确。但是产生的文件较大,由于主页元素不多,所以采用了表格定位,整体看来,主页布局较为合理,给人耳目一新的感觉。
②框架结构的选择
框架是网页结构中常用的一种讨论形式,特别是用在主页面所连接的各个分页上,为一个页面定义导航区与内容区。它将一个网页分割为若干区域,一个区域就是一个框架,以便使同一个页面的不同区域可以装载不同的文件。在论坛的各个分页面中,为了使用户能够自由的穿梭于班级,留言等环节中,应用了左右结构的框架结构,这样消费者可以在左边通过点击相应的链接,在右边了解到其中的内容。在讨论内容的同时,若想切换到其他任意的栏目,只需点击超链接即可,方便了讨论。
4.3 Web数据库的建立及链接
4.3.1数据库简介
在20世纪60年代末,数据库技术才开始发展。数据库系统的概念形成至今不到40年。而如今,数据库技术已经发展成为一个大家族,数据模型、新兴技术层出不穷,不断扩展的应用领域使数据库朝着多维度、多方面迅速发展。数据库技术在各行各业已经得到了广泛的应用,成为存储、使用和更新信息资源的主要手段,产生了巨大的经济和社会效益。因此,学习和研究数据库,不断的推广数据库,不断地利用现有数据库技术和开发数据库新技术为社会和经济发展服务,是每个计算机工作者必须要做的工作。
26
4.3.2数据分析——数据库中表的建立
本网站采用的是Microsoft Office 2000 Access数据库。主要分为管理员表,问题表,注册用户表,解答表,问题分类表
1. admin(管理员) 字段 说明 Id 编号 admin 管理员帐号 password 管理员密码 rank 管理员权限 2.prtson(注册用户表)
字段 说明 Id 编号 name 用户帐号 pwd 用户密码 email 用户EMAIL jifen 用户积分 3.问题表
字段 说明 id 编号 title 问题标题 content 问题内容 sender 发布者 sentime 发布时间 view 浏览数 reply topic 回复 主题 4.问题回复表(解答)
字段 说明 id 编号 replytitle 回复标题 replycontent reply 回复内容 回复人 replytime 回复时间 replyid 回复人ID isdeal 是否解决
表2 数据库主要技术参数
4.3.3.建立与数据库的连接
①什么是ODBC
ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。本文中个性化页面的实现便大量地用到了ODBC技术。
27
②什么是DSN
DSN(Date Source Name)即数据源名称。表示将应用程序和其个数据库建立连接的信息集合。ODBC数据源管理器就是利用该信息来创建管理指向的数据库连接。DSN可以保存在文件或注册表中。建立ODBC连接,实际就是创建同数据源的连接,也就是创建DSN。一旦建立了一个数据库的ODBC连接,那么同该数据库的连接信息将被保存的DSN中,程序的运行必须通过DSN来进行。
③创建ODBC链接
启动ODBC数据源管理器。在服务器上,进入Windows操作系统的控制面板,在“数据源(ODBC)图标上双击,版本不同图标可能不一样。不同操作系统的启动方法有所不同。
双击“ODBC数据源管理器”对话框,会出现ODBC源管理器对话框(ODBC Data Sources Administrator Dialog box)。
单击驱动程序标签,可以看到你的电脑上已经安装的ODBC数据库驱动程序。在下拉列表中寻找Microsoft Access Driver(*.mdb)项。
4.4 总结
本文主要完成了如下工作:
1.在开始写论文之前分析了论坛的研究背景与研究意义,对论坛这个概念进行了比较深
入与全面的了解。
2.从最基本的问题入手。通过了解利用什么样的工具能够简单高效的开发完成一个功能
齐全的电子商务平台为着手点。努力学习开发工具的操作技术,现在我对于asp语言与数据库的掌握更加深入,并且使用Dreamweaver MX 2004、photpshop CS、firework MX这些网页制作与图片处理软件。
3.在解决了开发工具上的问题以后,对于网站的规划与设计方面我尽量的使界面变得简单,通过访问Internet,努力模仿成熟的论坛界面模式。
本课题的研究虽然取得了一定的收获,但在很多方面还有待于进一步的改进和完善。希望能在以后通过学习到一些更加丰富的网页制作知识,加入一些好的特效效果,如:flash等。这样才能使网站做的更加人性化,从而真正的吸引顾客,来通过电子商务平台赢得更高的企业利润。
28
本系统的特点就是基于网页制作的,可以做到通过网络对用户之间的交流进行管理,优于传统的交流方式,今后还可以对网页进行修改使其更加的漂亮整洁,对代码进行优化,使实现的功能更加强大使用户操作更加的简洁。
由于本人学习ASP不长时间,程序的设计方面存在有缺点,有些简单的想法却用了很长的代码来实现造成了代码冗余,还有部分想法没有实现。我将在今后的学习中不断完善自己。.
致 谢
在论文完成之际,我首先要向我的指导老师表示最真挚的谢意。
在论文写作期间,我所遇到的问题与困难通过指导老师刘老师的指点使我在迷茫中受到了启发和鼓励,给了我把论文完成的决心。
我还要特别感谢同组同学给予了我无私的帮助,正是老师与同学们的鼓励和帮助之下,我得以顺利完成论文。
由于本人学识有限,加之时间仓促,文中不免有错误和待改进之处,真诚欢迎各位师长、同学提出宝贵意见。
参考文献
[1] 龙马工作室,ASP+SQL Server组建动态网站实例精讲,人民邮电出版社,2004 [2] 王国荣,ASP.NET网页制作教程——从基本语法学起,华中科技大学出版社,2002 [3] 萨师煊,王珊.数据库系统概论.(第三版).北京:高等教育出版社,2000 [4] 张海藩.软件工程.北京:人民邮电出版社,2001
[5] 陈恭和.数据库基础与Access应用教程.北京:高等教育出版社,2003
[6] 陈春玲,陈丹伟,李频.软件工程与数据库概论.西安:西安电子科技大学出版,2002. [7] Craig.S.Mullins. Database Administration: The Complete Guide to Practices and Procedures.李天柱,任建利,肖艳芹.北京:电子工业出版社,2003
[8] Martin Fowler. Refactoring: Improving the Design of Existing Code. 侯捷,熊节.北京:中国电力出版社,2003
[9]Richard Whitehead. Leading a Software Development Team:A Developer's Guide to Successfully LeadingPeople and Projects. 吴志明.北京:电子工业出版社,2002
29
附录:程序清单和主要运行界面”
主界面:
用户登录的入口代码:
<%if request(\登陆\ if request(\ response.write\用户名不能为空!');history.back();\
elseif request(\
response.write\密码不能为空!');history.back();\ else
name=request(\ pwd=request(\
rs.open\ if rs.eof then
response.write\用户名或密码错误!');history.back();\ else
session(\ %>
<%end if rs.close end if
30
end if%>
<%if session(\
\
rs.open\<%if rs(\用户QQ:<%=rs(\
<%if rs(\用户Email:<%=rs(\
用户积分:<%=rs(\用户头衔:<%=rs(\
用户发表问题数:<%=rs(\
用户回复问题数:<%=rs(\
用户解决问题数:<%=rs(\
管理员登录窗口:
管理员登录代码:
<%if request(\登陆\
if request(\
response.write\帐号不能为空!返回\response.End()
elseif request(\
response.write\密码不能为空!返回\response.End() else
adminname=request(\adminpwd=request(\
rs.open\if rs.eof then rs.close
response.write\帐号或密码错误!返回\response.End() else rs.close
session(\response.write\align=center>
管理员登陆成功!
31
content='1;url=adminmain.asp'>\response.End() end if end if
end if %>
会员注册:
提交代码如下:
32
id=\
response.write\用户名不能为空!');history.back();\ elseif request(\
response.write\密码不能为空!');history.back();\ else
name=request(\ pwd=request(\ question=request(\ answer=request(\ qq=request(\
email=request(\
rs.open\
if not rs.eof then
response.write\该用户名已经存在!');history.back();\ else rs.close rs.open\ rs.addnew
rs(\ rs(\ if question<>\
rs(\ end if
if answer<>\
rs(\
end if
rs(\
rs(\ rs(\
rs(\小孩子\ rs(\ rs(\ rs(\ rs(\
rs.update
response.write\用户注册成功!');window.navigate('index.asp');\ end if
rs.close
33
end if end if
%>
36
正在阅读:
网上论坛系统的设计与实现06-30
秘传八字泄天机01-01
国学经典书库02-19
市公安局分局半年最新工作总结及2022年工作规划范文04-04
会计准则变革对企业债务融资的影响--《东北财经大学》2013年博士论文05-07
深圳市公安局公共信息网络安全监察分局07-21
党委农办如何更好发挥组织协调职能04-12
梅花作文350字07-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 实现
- 设计
- 系统
- 网上
- 论坛
- 15春西南交《工程测量C》在线作业一 答案
- 北京大学金融专硕考研心得(凯程学员林yh)
- 2011年护考急救包模拟试卷六
- 三轴搅拌桩及SMW工法桩技术交底
- 西藏10000吨青稞香醋生产线资金可行性研究报告书(工业中小企业
- 金银花提取物气相溶剂残留
- 比和比例及列方程解应用题
- 实验动物生产许可证验收标准20120423
- 小学信息奥试卷2009年石狮市信息学奥林匹克竞赛普及组试卷
- 高考数学小题精练系列第02期专题20综合训练3文
- OSPF协议各种错误的解释及产生的原因(V5)
- 投资公司先进事迹材料
- 2014香港特别行政区驾校考试科目一自动档(必备资料)
- 人教版初中语文九年级下册古诗文翻译全集(含全部文言文古诗)(4
- 广东省佛山市第一中学2014-2015学年高一英语下学期期末考试试题
- 4《聪明人和傻子和奴才》 每课一练 长春版八年级下册(含答案)
- 中国热敏电阻产业市场分析与发展趋势研究报告(2014-2019)
- 西方管理思想史
- 房产买卖居间协议(草稿通用版--不含意向金)2016
- 201602生理学知识点汇总及历年考研真题解析之细胞基本功能