基于WEB的校园同学录系统论文_第1页
基于WEB的校园同学录系统论文_第2页
基于WEB的校园同学录系统论文_第3页
基于WEB的校园同学录系统论文_第4页
基于WEB的校园同学录系统论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.毕业设计论文基于WEB的校园同学录系统AccordingToTheWEBCampusRegisterOfAlumniSystem摘要随着Internet的发展与此相关的技术也飞速发展,短短的几年里ASP、JSP、CSS、Active*、.NET等技术相继形成并发展成熟。ASP(ActiveServerPages动态网页)技术是微软公司推出的一种用以取代CGI(monGatewayInterface通用网关接口)的技术。目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。本系统是为了给同学们提供一个交流的平台利用了ASP和JSP(JavaServerPages)相关技术而设计的基于WEB的同学录。它旨在给广**学提供一个心灵的驿站,该同学录整合了留言板、BBS论坛、电子相册、同学通讯录、电子小名片等功能。此外还将整合一个班级社区,提供一些简单上手的Flash小游戏。现开发阶段只提供本班同学使用,所以采用小型的Access数据库,今后若能完善,将采用SQL数据库并发布到网络上以供广**学共享使用。利用以上技术按照软件工程的标准步骤对系统进行分析设计,得到系统的部分原型是此次开发的目标。对取得的原型不断的细化可以得到在WEB中能提供WEB服务的整体应用系统,对其进行必要的灰盒测试并在多台机器上试运行来验证功能完成的程度。关键字:Internet,ASP,同学录,BBS-.z.AbstractFlytodevelopsoonwiththisrelatedtechniquealsoalongwiththeInternetdevelopment,veryshortandseveralyearinthetechniques,suchasASP,JSP,CSS,Active*and.NET...etc.issuccessivetobeetoeruptthee*hibitionmaturity.TheASP(ActiveServerPages)techniqueisthetechniquethatthepanyofMicrosoftreleasesakindoftoreplacetheCGI(theingeneralusenetpassofthemonGatewayInterfaceconnects)inorderto.Currently,ontheInternetofmanyaccordingtoterraceofWindowsofWebsstationordertohavealreadystartedtheappliedASPtosubstitutetheCGI.Thissystemisforprovidingaterraceofe*changesfortheclassmatestomakeuseoftherelatedtechniqueofASPandJSP(theJavaServerPages)sbutdesignofaccordingtoWEBregisterofalumni.Itsaimisprovidingacourierstationofmindforlargeclassmate,thatregisterofalumniintegratedthemessageboard,forumofBBS,electronicsphotoalbum,classmateaddressbook,theelectronicschildhoodnameanetc.function.Willstillintegrateaclassmunityinaddition,providesomeFlashget-awaydramathatstartinbrief.Developthestagetoprovideaclassmateusageonlynow,sosmallscaleddatabaseofAccessofadoption,theaftertimeifabilitiesareperfect,eruptingtheadoptionSQLdatabaseclothtonetworkupwithprovidethelargeclassmateshareusage.Theabovetechniqueofe*ploitationcarriesontheanalyticaldesigntothesystemaccordingtothestandardstepofthesoftwareengineering,partsofprototypesthatgetthesystemarethetargetsofthistimedevelopments.TurnthewholeandappliedsystemthatcangetandcanprovidetheserviceofWEBintheWEBtowardstheprototypethatobtainiscontinuouslythin,astoit'scarryonatestofashofthenecessity'sbinetrytocirculateonmanypedestalmachinestoverifythefunctiontopleteofdegree.Keywords:Internet,ASP,alumni,BBS.z.目录摘要IAbstractII第1章绪论11.1课题背景和意义11.1.1课题应用背景11.1.2课题意义11.2研究的问题11.2.1软件开发模型(SOFTWAREPROCESSMODELS)11.2.2系统开发方法及流程3第2章综述42.1基于WEB的同学录系统概述42.2WEB标准概述42.2.1WEB标准42.2.2标准制定的目的52.3当前可用的技术概述52.4SQL语言的魅力52.4.1SQL的诞生62.4.2SQL语言概述6第3章方案设计与论证73.1可行性研究73.1.1系统规模和目标73.1.2系统开发背景73.1.3可行性研究73.1.4开发工具93.2需求分析93.2.1需求的面向对象分析93.2.2系统分析103.2.3系统功能要求113.2.4系统的性能要求123.2.5系统前台逻辑结构12第4章设计与实现134.1总体设计134.1.1设计软件结构134.1.2功能分解134.2系统实现154.2.1设计方案的选取154.2.2数据库的连接设计164.2.3前台程序设计16第5章结果与评价195.1系统测试195.1.1测试计划195.1.2测试方法195.1.3测试结果195.2测试评价19第6章结论206.1设计总结206.2个人总结206.3未来打算20致21参考文献22-.z.第1章绪论1.1课题背景和意义课题应用背景随着网络应用的普及,将一些传统的业务更好地利用网络资源进行开展,已经成为大家普遍关心的话题,而且这种关心不仅局限在用户自己。比如传统的通信业务有:书信、等。而这一切在互连网络出现之后发生了革命性的变化。人们已不在拘泥于打、写信,取而带之的是上网收发电子,网络视频或语音即时聊天,在论坛发贴或灌水来发表自己的看法与意见。可以说现代信息社会网络就在我们身边,已经达到网络无处不在,网络随身携带的地步。目前网络怎样更灵活、新颖、高效、安全的通信已经是各个软件公司或个人正在研究的课题。由于网络通信不受地域的限制,可以十分方便的异地联络,而且便捷、快速、通信费用低廉,所以对于即将或已经毕业的同学来说,在网络上安个家以便大家时常联络,同学录应该就是不二的选择。现在网络上有很多功能强大、名气十足的校友录,但是本着自己动手丰衣足食的想法,打算做自己班的同学录。课题意义我所开发的同学录是基于WEB的,归根到底就是开发一个中小型的。所要解决的问题主要是编写符合一定美工要求的前台若干ASP页面和建立安全、高效、便于查询与更新的后台数据库,以便完成前后台的交互,最后发布到网络上供本班同学和其他班级客人共享使用。通过此次的开发活动进一步掌握与网络开发及网络通信的相关知识提高程序和算法的编制能力、文档的书写能力。1.2研究的问题软件开发模型(SOFTWAREPROCESSMODELS)该系统采用软件工程中的原型化(ProtoTyping)开发方法作为本系统的开发模型。原型化(ProtoTyping)开发方法是一类动态定义需求的方法,它可以加快需求的确定,有时也称为快速原型化方法。它的开发技术主要包括下面四方面的内容:1.功能选择要恰当选择原型实现的功能。原型和最终实现的软件系统不同,两者在功能*围上的区别是:⑴最终系统是软件需求全部功能的实现,而原型只实现所选择的部分功能。⑵最终系统对每个软件需求都要求详细实现,而原型仅仅是为实验和演示用的,部分功能需求可以忽略,或模拟实现。2.构造原型在构造原型时,应强调着眼于预期的评估,而不是为了正规的长期使用。一般采用超高级语言来实现系统原型,可以大大减少系统原型成本。评价和确认通过运行原型,对软件需求规格说明进行评价和确认。评价要有用户参与,注意来自用户的反馈信息。3.进一步使用根据原型实现的特点和环境,可以把原型作为实验工具,用完则丢弃之;也可以使原型4.全部成为最终系统的组成部分。此种开发方法有如下特点:⑴加强了开发工程中用户的参与与决策⑵可以提供很好的项目说明和示*⑶简化了项目管理⑷有利于获得开发经验⑸是以用户为中心来建立系统⑹用有意识的迭代取代了无计划的重复和反复原型化开发放发开发过程如图1.1所示:图1.1原型化开发过程模型在开发系统之前,必须明确需求。如果没有正确的需求,就不能设计或构造正确的软件产品,进而产品也就不能帮助用户完成他们的工作。描述需求有多种方法,这里采用原型化方法快速的开发出若干原型,通过试运行和评价原型并结合数据流图来进一步确定系统需求,最终演绎成目标系统。系统开发方法及流程系统的开发方法我们采用Prototyping、数据流图做分析设计工作,具体实现时选用前台:ASP+JSP+EditPlus2+PhotoShop+Fireworks2004M*+Flash2004M*;后台:MicrosoftAccess2003。分析阶段分为:可行性研究、系统需求分析(附数据流图)在这个阶段通过数据流图和Prototyping对系统进行分析。不同的设计阶段会产生出不同的结果,这些结果是下一阶段分析的依据。设计阶段分为:概要阶段设计(总体设计)、详细阶段设计(模块设计)。编码及简单的测试。在这个阶段根据数据流图和ProtoTyping方法对系统进行设计。不同的设计阶段会产生出不同的结果,这些结果是以后阶段开发的依据。-.z.第2章综述2.1基于WEB的同学录系统概述基于WEB的同学录系统,从名字中不难看出,基于WEB其实就是我们常说的B/S(Brower/Server的缩写)架构的一种应用。B/S架构与早期的C/S(Client/Server)架构相比有很多优点,是一种瘦客户端解决方案。B/S作最大的优点就是可以在任何地方进行操作,客户端无需安装任何专用软件只需要有个WEB浏览器即可。此外客户端零维护、升级方便、成本低。B/S模型示意图如图2.1所示:图2.1B/S架构模型2.2WEB标准概述什么是WEB标准?制定标准的目的何在?遵循标准有什么好处?WEB标准WEB标准不是*一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括*HTML和*ML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3CDOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(EuropeanputerManufacturersAssociation)的ECMAScript标准。标准制定的目的制定标准的目的简单来说就是:提供最多利益给最多的用户确保任何文挡都能够长期有效简化代码、降低建设成本让更容易使用,能适应更多不同用户和更多网路设备当浏览器版本更新,或者出现新的网络交互设备时,确保所有应用能够继续正确行。对于设计和开发人员来说,遵循标准就是使用标准;对于你的用户来说,标准就是最佳体验。2.3当前可用的技术概述自从3p技术诞生以来,发展日渐成熟。ASP技术:类似于PHP技术,开发简便,快速,加上IIS的功能支持,是比较简易快速的开发技术;JSP技术:具有良好的跨平台性,加上J2EE功能十分强大,但是J2EE的布置使开发成本显得略高,而且没有良好的安装界面;PHP技术:是早期动态网页技术中的强手,但随着JSP技术与ASP技术的不断更新,使得PHP技术稍微比较落后。由于ASP简单易学,开发上手,得到了广大开发人员和计算机爱好者的青睐。它较其它两种技术的优势在于:所产生的执行结果都是标准的HTML格式,而且这些程序是在网络服务端中执行,使用一般的浏览器(如IE或Netscape)都可以正确地获得ASP的"执行”结果。2.4SQL语言的魅力我们今天所用的决大多数数据库均使用SQL作为其标准语言的。由于SQL自身的特点和其不可抗拒的魅力以及早期规*的标准制定得到了业界的好评。甲骨文(ORACLE)公司作为当今世界最大的数据库提供商,之所以能在当年取得成功,多少也是和SQL密不可分的。当年甲骨文公司的决策层十分有先见的采用了关系数据库模型,这才刚刚由IBM公司的E.F.CODE(埃德加考特)发表的有关关系数据库的论文中提及,随后又决定使用SQL为数据库的标准语言,那时SQL还没被业界定为标准,这不得不说是赌上了身家的冒险,由此也看出了甲骨文公司的魄力,这也验证了SQL的魅力所在。2.4.1SQL的诞生SQL(StructureQueryLanguage)语言是1974年由Boyce和Chamberlin提出的。1975年1979年IBM公司SanJoseResearchLaboratory研制了著名的关系数据库管理系统原型SystemR并实现了这种语言。由于它功能丰富,语言简捷倍受用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。经各公司的不断修改、扩充和完善,SQL语言最终发展成为关系数据库的标准语言。1986年10月美国国家标准局(AmericanNationalStandardInstitute,简称ANSI)的数据库委员会*3H2批准了SQL作为关系数据库语言的美国标准。同年公布了SQL标准文本(简称SQL-86)。1987年国际标准化组织(InternationalOrganizationforStandardization,简称ISO)也通过了这一标准。此后ANSI有不断修改和完善SQL标准,并于1989年公布了SQL-89标准,1992年有公布了SQL-92标准。自SQL成为国际标准语言,各个数据库厂商纷纷推出各自的SQL软件或与SQL的接口软件。这就使大多数数据库均用SQL作为共同的数据库存取语言和标准接口,使不同的数据库之间的互操作有了共同的基础。这个意义十分重大。因此有人把确立SQL为关系数据库语言标准及其后的发展称为是一场革命。SQL语言概述SQL是一种介于关系代数和关系演算之间的结构化查询语言。它真正的魅力在于其强大的功能,SQL不仅仅是查询语言,而且是一个通用的、功能极强的关系数据库语言。它是集数据查询(DataQuery)、数据操纵(DataManipulation)、数据定义(DataDefintion)和数据控制(DataControl)功能于一体,主要特点包括:⑴综合统一⑵高度非过程化 ⑶面向集合的操作方式⑷以同一种语法结构提供两种使用方式⑸语言简捷,易学易用SQL语言的动词表2.1SQL语言的动词SQL功能动词数据查询SELECT数据定义CREATE,DROP,ALTER数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOKE-.z.第3章方案设计与论证3.1可行性研究可行性研究就是用最小的代价在尽可能少的时间内确定问题是否能够解决,它的目的并不是解决问题,而是确定问题是否值得解决。可行性研究的最根本任务是对以后的行动方针提出建议,避免因问题没有得到可行性的解而造成时间、资源、人力和金钱的浪费。系统规模和目标基于WEB的同学录系统的规模主要取决于功能的多少和数据库的大小,本系统的数据库应当属于小规模的数据库,功能也只是完成了几个主要的基本功能,并做了少量的扩充,用以完善整体效果。其实数据量不算很大,但各数据之间的关联较为密切。所以在分析研究数据库时应注意数据库的整体轮廓的预想,最终目标是实现高效、安全的SQL操作,以实现良好的前后台交互。系统开发背景软件开发技术的更新远远超过了计算机硬件产品的更新速度,然而软件需求量的激增却也远远超过了软件开发技术的更新。对于我们这样没有太多开发经验的开发新手来说,应该采用比较简单通用的技术来完成规模不大、需求较明确的开发项目。尤其是在项目产品的用户是小部分人或是特定群体的用户来说,用户都希望自己使用的软件简单上手,符合自己的身份或个性。所以在这种情况下,开发一个属于我们自己学校或班级的同学录还是比较明智和必要的。可行性研究开发一个软件,不仅仅要对其进行简要的分析,而且还有考虑其他方面的一些因素,一般要考虑其开发计划是否可行,一般从以下几个方面进行考虑:(1)技术可行性基于WEB的同学录系统实质是开发一个,它要制作前台页面,还要设计后台数据库。数据库技术在近些年来得到了长足的发展,因此为同学录系统提供了强大的技术支持。前台网页制作主要包括以下几个部分:1.图形、图象处理的制作。2.动画制作。3.文本编写。4.框架设计。5.表格的合理运用。其中基于WEB的开发标准要求表格的应用应该"回归"它原来的用途,即:表格只有在处理数据和报表时才使用。开发标准要求不再使用表格来作为网页元素的定位工具,取而代之的应该是流行的CSS(CascadingStyleSheets)。但是考虑到目前我国国内的大多数仍然使用表格,而且本人技术上也达不到,所以这里遗憾的仍然在大量的使用表格来定位HTML元素。综上,开发一个基于WEB的同学录系统还是具备较强大的技术支持和技术保证,具有技术可行性。(2)经济可行性开发一个软件,不能只看现有的技术力量是否可以实现并完成开发计划,现代社会已经进入商品经济时代,软件既是软件公司或开发者的一个产品成果,同时在整个商品经济社会中,它又是件商品,既然是商品,所以就要考虑其是否具有经济效益和使用效益。作为开发者,必须得考虑其所要开发的软件产品的成本*围是多少,具有多大的商业效益,如果其成本大大的超过了其商业效益,或者接近商业效益,则还有必要进行开发吗?因此在开发之前一定要进行一系列的分析、研究、考察和总体论证,确定开发是否必要,这在软件开发之前是一个必不可少的环节。该系统的受益用户只是少部分的用户群体,是作为自己使用的软件。开发的目的主要是为了成功的完成毕业设计任务,主要的支出是人力。但是不得不看到,作者花费了大量的时间作需求、收集资料、设计算法和模块。花销了一定的费用用以购买书籍。这些也应该算是开发成本的一部分。此外,将来如果打算将该同学录上传到网络中供广大网友使用,还要支出一部分网络维护费用。尽管得不到什么经济效益,但是通过开发增强了自己实际动手和独立思考的能力,所以这点成本还是相当值得付出的。综上所述,基于WEB的同学录系统软件成本低廉,具有经济可行性。(3)操作可行性通过一系列分析研究,可以得知基于WEB的同学录具有技术可行性和经济可行性,但只考虑这两个方面还是不够的,软件开发出来是供用户使用操作的,但使用它的人并不一定都是计算机专家和能手,过于复杂的使用界面不仅交互能力差,而且用户使用起来"疲于奔命"。这是与软件工程中的理论背道而驰的。软件开发除了要注重软件的质量(软件的可靠性既质量是软件最重要的特性),还要考虑到软件的易操作性。容易使用的软件不但可以提高员工的工作效率和工作情绪,还可以使企业或公司因为业务信息化或办公自动化而节约了生产成本。所以,分析研究所要开发的软件的技术可行性和经济可行性之后,还要考虑一下操作可行性,这也是一个软件开发是否成功的一个重要评定条件。因为一个好的软件产品如果保证了质量那他就成功了1/3,又有了良好的操作性和美观的界面就成功了2/3,同时具备了潜在的市场那他就算是成功的。现代软件的开发宗旨就是大众化,操作过程逐步简化,操作手段极其简便。目前,计算机的操作系统都面向普通用户,甚至一些对计算机不是很了解或者一些没有计算机专业知识的人都可以使用操作计算机。而且由于自身的特点就决定了操作的简易,任何会上网的人都可以使用。由于基于WEB同学录系统的开发是面向普通用户的,力求操作简便,界面简明清晰,所以具有操作可行性。开发工具开发编写ASP文件的经典工具之一是MicrosoftVisualInterDev,利用它不仅可以编写还可以调试ASP程序,而且可以多人合作开发,在开发大型的WEB程序时使用它是很方便的。但事实上可以使用任何文本编辑器来编写ASP程序。编写完成后保存成后缀名为.asp的文件格式就可以了。现在出现网页可视化编辑器很多,比如MicrosoftFrontPage、MacromediaDreamweaver等,但是有些开发者仍然在直接使用记事本一类的文本编辑器进行编辑。现在有一些很好用的文本编辑器工具,比如EditPlus。它可以将ASP脚本与HTML语言分颜色显示,并可帮助编写复杂的HTML语句。这对于熟悉HTML和网络开发的开发人员是一款相当不错的专业工具。本系统的开发就是使用该工具完成的开发任务。3.2需求分析基于WEB的同学录系统是一个的开发,其要解决的问题主要是前台网页的设计。开发有其不同于其他应用程序的特点,它要求中的网页要符合美工要求,结构框架要合理安排,内容要独特新颖,是否兼容各个浏览器,页面的响应时间等等。此外,在技术实现时还要考虑到今后维护和网页内容的更新,同时的大小还要适中,以便今后上传时空间的限制等。总之,开发一个还不止这些,由于作者的理论水平和开发经验的不足,所以上述论述难免有所不全面。这里强调前台的重要性,并不意味着后台的无关紧要。其实数据库的质量直接决定软件的质量性能、以及前后台的交互。之所以一味提及交互,是因为大多数的工作实质是后台为前台提供动态的信息,前台操作后台的信息,即前后台动态的进行交互。如何设计好数据库,取决于需求分析的精细程度,因此在设计数据库和软件之前首要的是进行需求分析,其具体可分为以下几个阶段。需求的面向对象分析首先介绍一种很好的面向对象建模工具——UML(统一模型语言)。五个分离而又相互联系的面向对象的模型或图被用于从面向对象的角度出发来定义应用需求。大多数情况下,为了得到一个系统的完整业务需求定义,分析员要用到五种图。但有些情况下只需三、四种图即可准确地定义需求。这五种图是:类图,用例图,协作图,顺序图,状态图。类图的目的是识别组成新系统的对象并进行分类。在类图中,还要识别每个需要记录的对象属性或特性。用例图是一种用于显示不同的用户角色和这些用户角色如何使用系统。用例图的目的是识别新系统的"使用”,或用例,换句话说,就是识别如何使用系统。它是一个记录系统必须支持功能的简单方法。协作图是一种用于显示对象如何被协调在一起以执行用例的图。协作图的目的是识别协作完成给定业务功能的对象。顺序图是一种用于显示用例对象之间消息顺序的图。顺序图与协作图所表达的信息是一样的,只是显示方式有些差异。顺序图以图形化的方式强调消息间的顺序,而非协作对象间的顺序。画顺序图的目的是为了通过页面上位置图象化地表示消息的顺序。执行次序从上到下进行。协作图和顺序图都统称作交互图。最后一种被用语描述应用需求的图称做状态图。状态图是一种用于显示对象在生命和转换期情况的图。一个状态图描述了每个对象的状态和行为。每个对象类都含有一个状态图表。在状态图的内部是动作陈述,这些动作陈述在最终的系统中变成了逻辑。每个类中的逻辑组件成为方法。如图3.1所示:图3.1同学录系统用例图系统分析在这一阶段将从整体上进行问题识别和定义,取得初步的系统要求。基于WEB的同学录系统总体上分为会员注册/密码找回、班级论坛、班级留言板、班级相册和班级通讯录、班级社区六大部分,这五大部分共同协作完成了基于WEB的同学录系统。介绍主要的几个部分如下。会员注册/密码找回会员注册系统是在中被广泛使用的程序。因此,会员注册系统几乎已经成为每个聊天室、论坛、电子商务和客户服务必备的功能之一。在网络中,注册系统**小异,概括起来无非三种:1.通过Email注册;2.通过用户名注册;3.通过手机注册。密码找回机制,使得用户在丢失密码的时候可以找回丢失的密码或重新设立新的密码,这样仍然可以登录系统。从用户角度来说,即避免了重新注册的麻烦,又使得用户不至于因为无法登录系统而造成原用户身份的和相关信息的丢失。班级论坛班级论坛是整个同学录的核心之一,也是开发最困难的部分。这里涉及到以下几个部分:发新贴、回复贴、发小字报、加入/浏览精华贴、个人发帖子记录列表和论坛管理。用户的主要使用流程为:用户在已注册的前提下,经过登录、身份认证后,点击进入班级论坛页面,可以选择发新贴、发小字报、浏览帖子/精华帖子列表。用户通过帖子列表可以看到帖子的图例、帖子主题、帖子的作者、回复/人气、更新的时间,通过点击帖子列表中的帖子标题可以查看相关帖子的内容、帖子的浏览次数,并可以做相应的回复,回复的帖子紧跟在相关主题之后并显示于浏览帖子页面。回复人可以根据主题给予回复,也可以引用已有的他人的帖子。如果不满意自己已经发出的帖子内容还可以重新编辑自己发出或回复的帖子并重发,但不能删除自己的帖子,这项功能只限于版主和管理员。其他用户想要删除*个帖子需同版主或管理员联系。如果用户积分足够的话,可以发表小字报。小字报的标题滚动显示于帖子列表的上方,查看内容需点击标题。每发一次小字报需扣除一定的用户积分。论坛的管理功能是十分重要的功能之一,应该提供给版主和超级管理员一定的职能如:将人气最旺的帖子加入精华帖或取消该帖为精华帖;将*个帖子置于帖子列表的最上部(即固顶)或解除置顶部操作(即解固);锁定*个主题/解锁*个主题;惩罚*个发起主题的用户、奖励*个发起主题的用户、删除*个主题等。这样论坛在版主和超级管理员的管理下论坛得以稳定、高效的运行。班级留言板留言板是BBS的一个原型,其基本功能是让使用者撰写留言或查看别人的留言。这个模块理论上应该与BBS整合在一起,但是应该看到,一个功能完善的留言板也有着比较复杂的功能,这种复杂性主要表现在留言板的管理权限和留言丰富的表现形式两个方面。本系统中的留言板就提供给用户多种丰富的留言表情和留言字体的特效。该留言板是由三个子功能:发表/回复留言、查看自己发表的留言记录和留言历史记录下载及打印组成。系统功能要求基于WEB的同学录是一个的开发,它要求有一个数据库在后台予以强有力的支持。另外还要根据的用户类型提相关的特色功能,例如在将要开发的这个系统中,用户主要通过浏览网页来实现之间的信息交流、资源的共享与发布。的管理也是不容忽视的。一个成熟的都有其独特的网络管理功能,这些管理功能由于面向的管理职能的不同,技术上实现的难易程度不等,规模可大可小。这里由于开发经验的欠缺和技术上许多不成熟的地方没有实现太多的网络管理功能。系统的性能要求基于WEB的同学录系统是由ASP+JSP和MicrosoftAccess2003进行开发设计的,它的开发环境是windows操作系统,运行环境包括windows98、windowsNT和windows2000的各种版本,并在多平台上经过了测试。这是本系统对操作系统软件平台的性能要求。在硬件方面,它的要求也不是很高,现在市场上一般的计算机都能达到系统的运行要求。这里应该注意浏览器的兼容问题,当前的有些网页在浏览时还存在浏览器版本和兼容性的问题。*些网络用户的浏览器还停留在老版本的阶段,这对于*些HTML和ASP、JSP的支持不是很理想,在浏览时显示不出页面也是时有发生的。系统前台逻辑结构数据流图(DFD)数据流图(DataFloatDiagram)是描述数据处理过程的有力工具。数据流图从数据传送和加工的角度,以图形的方式刻画数据处理系统的工作状况。数据流图描绘系统的逻辑模型,它是一种极好的通信工具。基于WEB同学录系统的顶层数据流图如图3.2所示:图3.2同学录顶层数据流图-.z.第4章设计与实现4.1总体设计设计软件结构基于WEB的同学录系统主体分为两大模块:前台操作界面和后台数据库。其中,数据库包括一系列的基本表组成,论坛(BBS)、留言板、图片上传、用户信息等一系列的基本表,如果对同学录系统进行详细的划分,这些基本表也是整个同学录系统的一些最基本的模块。前台操作界面具体根据需求分为论坛(BBS)、留言板、注册/登录、图片上传、通讯录、电子名片和班级社区等几个模块。具体结构如图4.1所示。图4.1同学录系统模块图功能分解基于WEB的同学录系统采用的程序设计语言是ASP+JSP和MicrosoftAccess2003。为了增强系统的灵活性,软件采用模块式设计方法,功能可随时扩展。现在大多数程序设计都是将程序具体的划分为若干模块,各模块彼此之间既存在一定的关联,同时又保持一定的独立性,在设计的时候可以提高程序设计的效率,缩短软件开发周期,降低软件设计的成本。传统的软件设计方法建议使用这种软件设计方法。根据对用户的具体需求和程序设计的方案,将基于WEB的同学录系统具体分解为以下几个功能模块:注册/登录、班级留言、班级论坛、班级相册、班级信息、个人菜单、班级社区、在线帮助。本模块实现大多数的会员注册及登录功能。会员注册需要用户填写必须的个人信息和其它可选填的信息,以便于用户在系统中使用相关服务时的统计和数据库的相关操作。用户在登录时若不慎遗失了密码,系统还应该提供给用户找回或重新设立密码的机制,以确保用户能正常登录系统。班级留言班级留言提供留言板服务功能。用户在成功登录系统后点击进入留言板首页,系统允许用户发表留言、查看留言、下载并打印留言历史记录,并提供给用户丰富的留言表情、多种字体特效等。班级留言可以为同学们相互之间进行留言,可以让长久不联系的同学,提供一个交流的平台。班级论坛系统提供给每位合法用户一个最眩、最便捷的交流平台——电子公告板(BBS)。由于大多数论坛都提供大量的发帖表情,有的甚至可以自己上传喜爱的头像,所以该论坛也提供了丰富的发帖表情。此外,由于还要提供多种字体的大小和颜色以及一些多媒体特效,所以开发人员使用了HTML语言的一种变种UBB代码。因为一般情况下,UBB论坛不允许用户使用HTML代码,而只能使用UBB取而带之。这样在用户发帖时填写的内容中如果包含特殊字体和图片或多媒体特效时都能准确无误地显示出来。论坛的管理功能使得版主能得心应手地管理好论坛,提供给管理人员奖励或惩罚发起帖子的用户、删除或添加*些帖子、固顶或解固*些帖子、将*些帖子加入精华贴列表的权利等。班级相册用户可以将有趣的或是自己珍藏的图片和照片上传到同学录的班级相册中供班级同学浏览和评论,根据受欢迎的程度进行排行。可以让很多年不见得同学,看到同学近期的照片,怀念以前的青葱岁月,可以使系统更加的受欢迎。班级信息该模块主要提供班级通讯录功能,使已经注册的全班同学的个人详细信息共享给全班同学查看,以方便今后联络。个人菜单每位用户都有一个个人菜单,使用户随时更改自己的个人信息包括用户呢称、登录密码、用户头像等等。班级社区这里提供很多娱乐性的功能服务,满足广**学们的需求。例如:好玩上手的FLASH游戏。此外还可以发Email给站长提出你宝贵和建设性的意见和建议。班级游戏,还有电子名片,喜欢看漫画的人还可以下载漫画,如果有宝贵意见还可以联系站长。4.2系统实现系统实现过程如图4.2所示:图4.2系统实现过程通过以上流程图,可以比较直观的了解同学录系统的工作流程,同时设计同学录系统的基本思想和方案也是依据这些程序流程图来完成的设计方案的选取我们已经选定ASP+JSP语言进行同学录系统的设计开发,但是使用ASP进行数据库软件的开发也有好几种方法,在ASP中最常用的数据库连接方法有数据访问对象(DAO)、远程数据对象(RDO)、和Active*数据对象(ADO)等几种方法。ADO设计是一种极为简单的格式,通过ODBC的方法同数据库接口。它可以使用任何一种数据源,即不止适合于SQLserver、oracle、access等数据库应用程序,也适合于e*cel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,所以ADO通过其内部的属性和方法提供了统一的数据访问接口方法。与DAO和RDO类似,ADO实际上是一种对象模型。RDO则主要用于访问远程数据库。ADO兼有DAO和RDO的功能,不仅能访问本地数据库,而且适合于访问远程数据库。ADO对象在功能上与RDO对象相似,但具有更强的功能。ADO有逐渐取代DAO和RDO的趋势。鉴于同学录系统的数据库的规模和数据库设计多采用的工具,决定采用ADO对象来进行同学路的数据库连接。数据库的连接设计ASP与Access数据库的连接在本系统中经常要使用到,故将其写为一个单独的文件供需要使用数据库连接并操作的文件包含使用。文件名称为conn.inc,后面如果需要与数据库建立连接在文件头使用语句<!--#includefile=”.../conn.inc”-->将该文件包含进去即可。该文件中的内容如下:<%LANGUAGE="VBSCRIPT"%><%optione*plicitdimconn,connstr,dbdb="data/t*l5.mdb"Setconn=Server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(db)conn.OpenconnstrfunctionCloseDatabaseConn.closeSetconn=NothingEndFunction%>以上代码是前后进行交互的基础与前提。此外在数据库使用完毕后还应该养成关闭数据库的习惯,这是十分重要的。前台程序设计通过需求分析和根据上面的程序流程图,将前台程序设计划分为几大模块。尽管的开发不利于模块化,但是本着今后利于的扩展和维护将本系统的开发比较高度的模块化,并尽量作到高内聚低耦合。每个模块大概只完成特定的功能,这里只介绍几个最重要的模块,来阐述系统的详细设计过程。⑴通用函数模块设定Subt*l_error()Endsub该模块主要的作用是实现页面错误提示信息,系统一切的出错信息都要调用该模块给出错误提示。在出错时将出错的确切信息赋值给变量Errmsg并使用CALL语句调用该函数模块,该函数通过<%=Errmsg%>输出错误信息。Subt*l_suc()Endsub页面成功提示信息,技术实现同上。Subhead()Endsub该模块是最重要的模块之一,它实现了整个的顶部布局。主要是由一个FALSH动画和导航栏组成。其中,导航栏的特效是由JSP书写的,完成了下拉菜单的动态出现和消失,此外还在该模块中用判断语句判断是否为管理人员和是否已经登录,以便决定是否出现"管理”和"退出”两个连接。其中包含的两个文件t*l_css.asp、和t*l_js.asp分别是同学录的CSS样式文件和下拉菜单的特效文件,菜单的主要特效就是由该特效文件实现的。Subfoot()Endsub的底部制作人信息、维护人信息、信息由该模块实现。以上四个模块在系统中至关重要,它们可以迅速构成系统的原型,便于一步一步的根据获得的进一步的需求来扩充功能,而且也实现了的摸板。这给开发带来了许多好处,提高了开发相同页面的速度和质量。⑵注册/登陆子系统模块register.aspSubreg_1()Endsub注册协议页面,在只有同意了该系统的注册协议之后才能进一步填写用户的注册信息。Subreg_2()Endsub该过程中进一步填写用户的个人信息。在处理用户密码时才用了目前流行的MD5加密处理。PublicFunctionMD5(sMessage)EndFunction函数采用单向加密的方法,对一段明文经过若干位的替换转换为密文。Login.asp/logout.asp用户登入/登出系统。这里主要的技术点是身份验证的机制。Lostpass.asp系统采用四步来使用户重新设立一个新的密码。第一步取回密码、第二步回答密码提示问题、第三步重新设立密码并确认、第四步取回密码并登录。⑶BBS、留言板子系统模块包含的主要功能文件有:Conn.asp 用于连接数据库Const.asp 部分通用函数ubbcode.asp UBB代码chkinput.asp 检查用户的输入模块中的主要文件有:b_inde*.asp论坛的主页,从主页可分别引导至发帖b_post.asp页面、小字报b_paper.asp、精华贴b_best.asp页面。帖子列表中的内容由SQL语句从数据库中查询得到,帖子前的状态和帖子图例中的图例一一对应。b_post.asp发帖子页面显示了用户名、密码(经过MD5加密)、主题标题(由用户选择或填写);通过一个FOR循环显示了每行10个共两行的发帖心情;提供多种字体和颜色;调用文件ubbcode.asp和ubbcode.js提供给用户多媒体标签。b_paper.asp用户发的小字报经过ASP中的语法<Marquee></Marquee>动态显示在帖子列表上。b_best.asp系统经过与后台数据库的查询后判断论坛数据表中的isbest字段是否为1,来决定是否将该帖加入精华帖列表中。b_reply.asp实现细节和技术与b_post.asp大体上相同。g_inde*.asp留言板的主页,从主页可分别引导至发留言g_post.asp页面、我的留言g_my.asp、留言下载g_down.asp页面。留言的内容由SQL语句从数据库中查询得到。g_post.asp发表留言,对发表帖子的页面做简化得到。g_my.asp通过在SQL查询中的WHERE条件查看自己发表的留言记录列表。g_down.asp所有留言的下载功能。在该页面中提供给用户下载打印的功能,用户还可以改变字体的大小,以便于打印的效果。⑷图片上传子系统p_inde*.asp图片上传的主页,从主页可分别引导至上传图片p_send.asp页面、我的照片p_my.asp、浏览排行p_order.asp页面。在主页中将照片分门别类,类别是在上传图片p_send.asp页面中选择的类型ID值传入的。 p_send.asp该模块包含了sendnow.asp和upload.inc两个文件。为了实现图片上传功能,使用了在网络上搜集的一位网友编写的上传组件。此组件的使用节省了大量的开发时间和开发人员的精力。成功的实现了.gif、.jpeg图片的上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论