基于教育论坛管理系统的设计与实现Word下载.docx
《基于教育论坛管理系统的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《基于教育论坛管理系统的设计与实现Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
经过严格的分析,系统采用SQLServer2000建立具有完整性和一致性的数据库,前台开发工具采用VisualStudio2005,使用它的可视化组件来完成功能完备、易于操作和管理的论坛系统。
关键词:
SQLServer,ASP.NET,论坛
第1章前言
1.1课题选择意义
追究论坛的本质,就是人和人之间一个交往的平台,一个信息交换的工具,现实中人与人之间的交往在网络虚拟社会中变得更加方便快捷,交往的各种障碍也因为技术的发展消失;
论坛上,人与人之间的关系变得更加简单和纯粹。
就是这些优点,使得现实生活中很多困难的事情在网络上变得更加简单和容易操作。
而互联网由于本身技术上的优势,使得这种成本急剧下降。
学院建立的论坛系统,可以用作学院内部师生之间沟通使用,降低学院的管理成本[15];
另外一个方面,对外设立论坛系统,成为学生家长等社会人士进行咨询、沟通的一个最好的窗口。
这种形式既可以降低面对面沟通的高成本,又可以使得一些沟通成果充分共享,避免了热线电话这种点对点沟通方式中经常出现的高频率重复工作。
对于学生来说,直接和学院的相关管理人员沟通,也是可以满足学生一种被重视的心理感觉。
所以,论坛对于学生、学院、社会来说,是能够实现三方共赢的一个绝好的技术平台。
只要换一个角度来看论坛的存在,就可以发现崭新的价值。
在学院网站上设置论坛,首先是遵循了互联网传播的客观规律,牢牢把握网上舆论引导主动权,发挥了论坛的舆论引导作用,是网络思想政治教育工作的基础和关键。
网络强大的互动性使它吸引了无数的大学生网民积极参与,并在重大问题上迅速形成舆论,而这种舆论,又往往会反映出大学生群体的各种思想动态,甚至会形成引发群体性事件的舆论危机。
因此,正确引领网络舆论,形成网上正面舆论强势,给涉世不深的学生以政治上的引导,这是网络思想政治教育的内在需求。
其次,论坛系统可以成为学校领导管理层了解学生所思所想的有利途径,可以按照统一协调、反应灵敏、高效畅通的原则,坚持定期整理网络信息,将学生网上关注的社会热点问题和关系学生学习、生活、工作的重要意见、建议等进行汇编整理,认真分析问题产生的原因、发展趋势及对大学生思想的影响,准确把握本校校园网整体舆情动态,为学生管理部门提供重要参考资料。
另一方面,积极挖掘校园网络特别是论坛系统的潜在功能,为大学生提供学习、生活、就业、心理咨询等服务,使其成为学生学习、生活的好帮手,成为校情、民意传达沟通的桥梁和纽带。
1.2论坛系统的发展与现状
早期的论坛系统都是基于CGI的系统,例如雷傲、Yuzi、UT,其中UT以其简洁、稳定、快速成为性能最优秀的论坛系统,不过配置要求较高,只有少数大型论坛使用,而且早就停止了后续开发;
而Yuzi的BBS3000在当时也颇有影响,但漏洞较多,后来转型到了ASP平台;
现在大部分CGI论坛都已退出了历史舞台。
2002年之后,随着ASP的流行,论坛系统又迅速崛起了新一批新星:
Leadbbs、BBSXP、动网,Leadbbs于两年前止步于3.14版,但由于其简洁和稳定性现在仍然有一定用户使用;
BBSXP从BBS3000转型而来,但技术实力有限,市场占有率较低;
而动网无疑是其中的佼佼者,不断更新换代,加上技术门槛低,培养了大批用户,动网成为使用最广泛的论坛系统。
在国内ASP论坛系统大行其道之间,国外的优秀论坛系统如VBB、PHPBB、IPB等也被陆续引进汉化,但都基于PHP+MYSQL平台,技术门槛稍高,且本地化、插件的开发都落后于其他ASP系统,所以这部分系统虽然性能优秀,但是仍然只有少数技术网站在使用,未得到大规模普及,不过这些系统为国人开发PHP论坛提供了很好的参考。
随着主机市场的繁荣,加上经历了长时间的摸索和对国外PHP论坛的借鉴,2004年国内的PHP论坛开始取得了较好的发展,其中Discuz!
2.5是里程碑式产品,虽然后期走向了商业化,但免费的2.5版本,使用非常广泛,PHP论坛从此进入主流时代。
在国内民间大型论坛中,Discuz!
占据绝对优势,其次是phpwind,动网只占据了很小的份额,但在中小型论坛,动网市场占有率仍然是最高。
为了争夺论坛市场,动网暂停了ASP版本的后续开发,转而开发PHP版本,在Dvbbs7.1Sp1版发布之后沉寂了一年多,又推出了动网论坛PHP1.0版。
而PhpWind也推出了多用户论坛系统uu1001。
而随着ASP.Net平台的发展,国内也开始了.Net平台的论坛系统开发,去年对.net论坛系统做了统计,但至今仍然没有看到比较成熟优秀的产品。
现在Discuz、Phpwind、动网在国内论坛市场可谓是三足鼎立,同时相互之间的竞争也促进了论坛系统的发展,例如AJAX功能、RSS订阅、博客系统、同其他CMS系统的整合、跨平台的支持等等。
而论坛系统从早期个人或民间团队的开发也转型到了成立公司进行运营管理和专业团队的系统开发,这样论坛系统的发展提升将更加有保障。
1.3课题任务简介
本次课题的任务是为西彭三中教育建设校园论坛系统,从而为学院学生提供一个相互交流的信息平台,该系统能够将访问者的信息写入后台数据库;
允许访问者在系统中访问发布新的主题,查阅其它访问者发布的信息,并且能够回复其它访问者的主题;
系统能够捕获并记录访问者的IP地址、记录并显示访问时间等信息,从而为系统管理员和其他用户提供信息和方便查询。
系统同时还实现自动分页的功能,对所有发表的主题按照关键字来进行搜索并单独显示符合条件的留言信息;
完成本课题的设计,需要以下知识的掌握:
1.掌握ASP.NET的基本技术;
2.熟练掌握SQL数据库的相关知识;
3.掌握VS2005网页制作的知识;
4.初步掌握软件开发测试的一般流程和方法。
第2章技术选型
本章中首先讨论了开发系统所使用到的相关技术,包括实施平台的选择、开发工具及开发语言的选择、数据库服务器的选择、系统服务器的选择,为系统开发做好充分的准备。
2.1实施平台
系统采用微软的.NET构建系统平台,.NET既是一种规范也是一种产品,.NET开发工具VisualStudo2005的易用性使得它在Java很难实现的“用户应用也可以编程”得以实现,.NET能够提供多种语言支持,比如VB.net,C#,支持同一个IDE,支持同一个框架和同一个调试器。
它是一个非常丰富的平台,原来是很多专有软件才能提供的像容错、可扩展性等功能都会构建在.NET平台上,同时也是一个廉价的应用平台,它是完善新一代网络计算的环境平台。
2.2开发工具
系统采用VisualStudio2005做为开发工具,其具有以下特性:
1.基于文件的工程开发
在VisualStudio2005中,开发者可以把一个目录作为一个web工程来打开,比起以前的VS2003,这是一种相当不错的改进。
在VS2003中,则需要把所有这些作为IIS中的虚拟目录加以配置和维护并且使工程实现正确地引用。
在VS2005中,只需要简单地指向一个目录就可以打开工程。
而且完全可以使用本地的Web服务器构建方式来运行应用程序,这样一来就免除了配置Web服务器的需要。
2.母版页面
在VisualStudio2005中可以定义一个能够应用程序中重用的母版页模板。
使用这个功能能够节约开发者大量的时间。
VisualStudio2005提供了对它的可视化支持,这可以使开发者看到母版的布局。
除了设计器提供的重要的可视化方面外,母版页模板还提供了一种良好的方式来把彼此相关的可重用的代码联系到一起。
母版页面的目的是,把以前需要使用若干用户控件才能实现的功能融合到一起,从而使它们能够比以前更为有效地实现逻辑分离。
在开发过程中,开发者还能够在运行时刻动态地改变母版页面,从而实现更大的灵活性。
这一支持使开发者能够改变一个应用程序的整体外观感觉;
而且这种效果是仅凭借切换层叠样式表所无法实现的。
3.用户控件可视化描述
VisualStudio2005能够在Web表单编辑器内显示一个生成的用户控件。
不再像以前的老式的、非描述性的灰色的方框加上一个控件名,开发者能够在设计器内得到一个全面生成的恰当到位的控件。
双击则VS2005就能转到用户控件设计器。
完全自动地生成用户控件,极大地节约了开发时间。
4.VisualStudioASP.NET代码编辑器
VisualStudio2005代码编辑器比2003版本前进了一大步。
新的编辑器不会自动地打乱代码格式。
在VS2005中,编辑器在大多数情况下会保留开发者自己的代码格式,并且还会提供一种更好的处理方式,即把控件标记插入到代码中。
同时在HTML编辑器中引入了智能感知技术,这将大大提高生产效率。
ASP.NET2.0还会编译页面并且检查生成的嵌入式脚本代码,以便及早地在设计时刻而不是在运行时刻才捕获HTML标记中的错误。
2.3开发语言
系统采用的主要开发语言是A,A是.NET的主流开发语言,A框架是一种最完美的框架甚至超过了JAVA+SUNONE,A带来新的编程范型,即从面向对象编程到WEB服务编程。
这中间有个业界的巨大转变:
从分布式客户服务器计算转向“软件就是服务”的网络计算。
后者把资源共享、软件重用又提升到一个新阶段。
A面向对象的卓越设计,使它成为构建各类组件的理想之选,无论是高级的商业对象还是系统级的应用程序。
使用简单的A语言结构,这些组件可以方便的转化为XML
网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。
更重要的是,A程序员可以高效的开发程序,而绝不损失Asp原有的强大的功能。
因为这种继承关系。
总的来说,A具有以下特点:
1.高效率与高安全性
随着商业竞争的加速,开发者必须不断缩短开发周期,不断推出应用程序的新版本,A在设计时就考虑了这些问题。
它使开发者用更少的代码做更多的事,同时也不易出错。
2.支持现有的网络编程新标准
新的应用程序开发模型意味着越来越多的解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。
现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。
所以,它们一般无法很好地支持最新的网络技术。
A程序员可以在Microsoft
.NET平台上事半功倍的构建应用程序的扩展框架。
A包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何操作系统上运行的任何程序调用。
更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和A对象一样。
这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务。
还有一些精细的特性,使得A成为一流的网络编程工具。
例如,XML正逐渐成为在网络上传输结构化数据的标准。
这种数据集合往往非常小。
为提高性能,A允许把XML数据直接映射到struct数据类型,而不是class。
这样对处理少量的数据非常有效。
3.消除大量程序错误
在开发程序时,小错误往往带来难以预料的问题,有些甚至需要很长时间来寻找和解决。
一旦一个程序作为产品来使用,就算最简单的错误纠正起来也可能要付出极其昂贵的代价。
而A的现代化设计能够消除很多常见的编程错误。
例如,资源回收减轻了程序员内存管理的负担、A中变量由环境自动初始化、变量是类型安全的等。
这样,程序员编写与维护那些解决复杂商业问题的程序就更方便了。
4.对版本的更新提供内在的支持降低了开发成本
更新软件组件是一项很容易出错的工作,因为代码的修改可能无意间改变原有程序的语义。
为协助开发者进行这项工作,C#为版本的更新提供内在的支持。
例如,方法重载必须显式声明。
这样可以防止编码错误,保证版本更新的灵活性。
还有一个相关的特性就是对接口和接口继承的内在支持。
这些特性使得C#可以开发复杂的框架并且随着时间不断发展更新它。
这些特性使得开发程序项目的后续版本的过程更加健壮,从而减少后续版本的开发成本。
5.商业过程和软件实现的更好对应
A语言允许类型定义的,扩展的元数据。
这些元数据可以应用于任何对象。
项目构建者可以定义领域特有的属性并把他们应用于任何语言元素,比如类、接口等等。
然后,开发人员可以编程检查每个元素的属性。
这样,很多工作都变得方便多了,比如编写一个小工具来自动检查每个类或接口是否被正确定义为某个抽象商业对象的一部分,或者只是创建一份基于对象的领域特有属性的报表。
定制的元数据和程序代码之间的紧密对应有助于加强程序的预期行为和实际实现的之间的对应关系。
2.4数据库
系统使用的数据库系统是SQLSERVER2000,SQLSERVER2000是微软公司开发的一个基于结构化查询和客户机服务器模型的高性能和关系数据库管理系统。
它的体系结构经过了很大的优化,简化了数据库应用的开发,维护和管理工作,它使应用程序可扩展到多种平台,从个人系统(个人计算机)到比较高端的对称多处理服务器,SQLSERVER2000改进的查询处理支持新的算法,如索引交换,哈希连接以及并行查询执行,可以加速对超大型数据库的查询处理,查询处理还支持对分布式和异种数据库的查询能力,用于从OLE/DB与ODBC数据源询问数据。
它是在SQLSERVER7.0的基础上,在关系型数据库、关系数据的XML集成、图形管理、复制、数据转换服务以及联机帮助等方面均得到了很大的增强,在Internet方面的数据安全性更高,而且使用非常方便。
所以选择SQLSERVER2000作为数据库有很大的优点。
SQLServer2000有以下主要特性:
1.Internet集成
SQLServer2000数据库引擎提供完整的XML支持。
它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。
SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
2.可伸缩性和可用性
同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindowsxp的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。
SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
3.企业级数据库功能
SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
4.易于安装、部署和使用
SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。
SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。
这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
5.数据仓库
SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。
SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据。
2.5服务器选择
服务器的选择一直是项目配置的重点之一,服务器的好坏决定着应用程序的运行效率,j2ee在IBM、SUN等大公司地支持下很快会在高端占领绝大部分的市场,而.NET是免费的,Sqlserver也很低廉,加上XP本身就包含ASP.NET服务器,所以会很快地占领低端的WEB市场。
系统采用.NET技术平台,主要针对的自身的特殊性,使得对服务器的要求并不高,所以可以使用性能较高的普通PC作为服务器。
第3章系统分析
论坛系统是基于Internet的应用系统,所有功能都通过应用服务器和用户浏览器之间的交互完成。
与系统相关的数据由数据库服务器来维护和组织。
图3.1是对系统的简单描述。
由Internet网络连接的用户及系统管理员通过浏览器向应用服务器发起请求,应用服务器根据用户的请求,检索数据,并把服务结果通过浏览器反馈给用户。
本章将利用软件工程的知识,从使用者的角度出发,对论坛系统进行需求分析,包括分析系统的目标、特点、客户需求、功能性需求、性能需求等。
3.1可行性分析
可行性分析是指在当前情况下高校研究这个论坛系统是否有必要,是否具有所需的必要条件。
从西彭三中教育当前的实际情况出发,研制这个论坛系统是很有必要的,可以使学院各部门之间以及学生之间进行信息交流和数据共享。
3.1.1技术可行性
最近几年,论坛系统技术得到了充分的发展与完善,使得开发系统在技术可行性上成为可能,利用VisualStudio2005开发工具,使得系统不存在技术上的障碍。
3.1.2社会可行性
使用该系统的西彭三中内部环境能够很好地发挥该论坛系统的功能。
即组织内外具备接受和使用该系统的条件。
根据现有的硬件设施、软件环境和人员素质等方面考虑,论坛系统在学院内应该可以得到较好的应用。
该系统既可以在校园网(或单独部门的局域网)上运行,也可以在因特网上运行。
3.1.3运行可行性
系统运行平台可以是windows系列等,服务器端要求SQLServer2000或以上版本做为后台数据库。
而客户端用户只要在windows平台下能连接到Internet上即可运行。
根据西彭三中教育的实际情况,考虑到服务器的运行速度、主存大小、外部设备的可靠性、效率可靠性及通讯设备能力等都可以满足系统的要求,所以运行系统不存在运行方面的问题。
3.2需求分析
3.2.1功能需求
系统是针对高校信息化教育的发展现状,为开拓学生与学生、学生与学院的的交流而设计的论坛系统。
系统界面友好、健康。
操作维护简单、设计接口方便以后功能扩充。
系统功能完善,有完备的安全体制。
对大学学生来说,系统中的在线讨论功能、疑难问题询问功能、阅览功能等,既是课堂教学的有益补充,也是对学生开放式管理的工具,同时亦有利于学生开拓眼界,了解天下大事。
3.2.2数据流图
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
按照系统的业务流程来分析系统中的信息流向,可画出系统的数据流图如下:
图3-1西彭三中教育论坛管理系统顶层数据流图
图3-20层数据流图
3.2.3数据字典设计
数据字典是对所有与系统相关的数据元素的一个有组织的列表、以及精确严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解。
下面是各个表的数据元素。
文件名:
管理员文件
描述:
以PKID为记录主键的关系型数据表
组成:
管理员表=管理员ID+版块ID+管理员名称
用户文件
以User_Name为记录主键的关系型数据表
登陆名+登陆密码+真实姓名+性别+邮箱+地址+联系电话+出生日期+登陆日期+登陆IP+用户级别+登陆次数+状态+积分
版块文件
以Class_ID为记录主键的关系型数据表
版块id+版块名称+版块状态+版块简介
帖子文件
以Question_ID为记录主键的关系型数据表
帖子编号+发帖人id+帖子内容+发帖时间+发帖人ip+发帖人头像
文件名:
消息文件
以PKID为记录主键关系型数据表
消息接受人名称+消息内容+是否已阅读+发送者姓名+发送时间+是否是系统消息
3.2.4出错处理需求
论坛系统要求能达到一定的纠错能力,在用户操作不当时能给出相应的警告信息。
比如在用户注册时,填写了不符合规则的内容,或者用户登陆时没输入密码或者密码错误时,系统都会提示出错信息,并显示要求重新输入的警告信息;
又如当发布新帖时字数超过了规定的最大值,系统则会给出相应提示,使用户重新编辑帖子。
在其它情况中,为了使用户能够正确使用该系统,也要求实现出错处理功能,达到一定的出错处理能力。
3.2.5软硬件环境
1.硬件环境
服务器端:
采用PC专用服务器作为数据库服务器和应用服务器。
与之配套的还有路由设备、网络设备及光缆通信设备等。
客户端:
普通微机,系统要求至少256M内存,和200M硬盘空间。
2.软件环境
数据库服务器:
SQLServer2000以上版本;
应用服务器:
SQLserver2000客户端;
开发工具:
VisualStudio2005;
Windows2000/xp等;
第4章系统设计
经过需求分析阶段的工作,本章给出了系统设计目标和思想,首先对系统功能模块进行详细的分析和设计,接着进行数据库设计,包括实体的确立,实体关系的确立,数据表的创建及每个表各字段的属性的确立等。
4.1功能设计
4.1.1系统目标设计
系统的主要设计目标是:
充分利用网络优势,为西彭三中教育设计一套适合学生浏览的论坛系统;
有效管理和使用网络资源,更好地为学生提供学习、交流的场所;
形成一套完整的学生交流体系。
4.1.2开发设计思想
学院网站论坛的对象主要是本学院的学生,所以在系统的设计过程中,大部分版块分类是围绕学生的需求设置,系统界面简洁、生动、友好、新颖。
论坛系统的特点是信息处理量比较大,因此在管理上实现起来