网络社区的设计与实现论文.docx
- 文档编号:2884968
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:44
- 大小:611.03KB
网络社区的设计与实现论文.docx
《网络社区的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《网络社区的设计与实现论文.docx(44页珍藏版)》请在冰点文库上搜索。
网络社区的设计与实现论文
毕业设计说明书
学生姓名
学号
学院
计算机科学与技术学院
专业
计算机科学与技术
题目
网络社区的设计与实现
指导教师
(姓名)(专业技术职称/学位)
年
月
摘要:
随着互联网技术的发展,互联网已经成为一个更加具有交互性的媒体。
社区网站已经成为网民网络生活的重要部分,它为用户提供了一个在网上展示自己、与老朋友联络、结识新朋友的平台。
本文在分析现有社区网站开发技术的基础上,实现了以VS.NET2005为开发平台的基于B/S构架的网络社区系统。
该系统主要具备:
用户资料管理、用户日志管理、用户评论管理和好友在线聊天等功能模块。
关键词:
网络社区,VS.NET2005,B/S,Ajax
Abstract:
AlongwiththedevelopmentofInternettechnology,itbecomesamoreinteractivemedia.Thesocialnetworksiteshavebecomeanimportantpartofourlifeandprovideaplatformtoshowselves,contactwitholdfriends,andmakenewfriends.Thispaperanalysesthestructureandkeytechnologyofthecurrentsites.Onthebasisofthat,itworksoutasolutionofmysitewhichisbasedonthemodeofB/SanddevelopedintheenvironmentofVisualStudio2005integrationdevelopmentkit.Thesystemhasdifferentfunctionmodules:
user-informationmanagement,user-logmanagement,user-commentmanagementandonlinechattingetc.
Keywords:
socialnetworksite,visualstudio.net2005,browser/server,ajax
1绪论
1.1开发背景
SNS,全称SocialNetworkingServices,即社会性网络服务,专指旨在帮助人们建立社会性网络的互联网应用服务。
也指社会现有已成熟普及的信息载体,如短信SMS服务。
SNS的另一种常用解释:
全称SocialNetworkSite,即“社交网站”或“社交网”。
早期在互联网上多维持着很多提供用户互动支持的服务,例如BBS,新闻组等。
早期社交网络的服务网站呈现为在线社区的形式。
用户多通过聊天室进行交流。
随着Blog等新的网上交际工具的出现,用户可以通过网站上建立的个人主页来分享喜爱的信息。
2002年至2004年间,世界上三大最受欢迎的社交网络服务类网站是Friendster、MySpace、Bebo。
在2005年之际MySpace成为了世上最巨大的社交网络服务类网站。
传闻当时其页面访问量超越了作为著名搜索引擎的Google。
2006年第三方被允许开发基于Facebook的网站API的应用,使得Facebook随后一跃成为全球用户量增长最快的网站。
社交服务网站的发展验证了“六度分隔理论”(SixDegreesofSeparation),即“人际关系脉络方面你必然可以通过不超出六位中间人间接与世上任意先生女士相识”。
个体的社交圈会不断地扩大和重叠并在最终形成大的社交网络。
在此类通过对“朋友的朋友是朋友”原则的实现而得到发展的线上社交网络中,Friendster具备一定的代表性。
社交服务类网站最早出现商业盈利目的是在2005年3月雅虎对雅虎360°的推出。
在2005年6月新闻集团成功收购MySpace。
随后在2005年12月,英国ITV购得FriendsReunited。
此后在世界的各地涌现出各种不同语言的社交网络服务类网站。
目前国内知名的社区网站:
协助网、品品米、开心网、人人网、海内网等。
1.2开发意义
这是—个以网络为核心的信息时代。
随着互联网的不断发展以及全球经济一体化的逐步深入,形成一种新型的网络虚拟社区和人际交往方式,以web方式显示和发布的,充分利用超链接,借助于互联网,人们之间可以分享经验,想法,感受等。
社交类网站的优势是显而易见的:
●通过社交服务网站我们与朋友保持了更加直接的联系,建立大交际圈,其提供的寻找用户的工具帮助用户寻到失去了联络的朋友们。
●加快信息传播、意见交流的速度,从而能够集思广益。
●网站通常有很多志趣相同并互相熟悉的用户群组。
相对于网络上其他广告而言,商家在社交服务网站上针对特定用户群组打广告更有针对性。
但是,凡事都有两面性,社交类网站的劣势也是值得我们去思考的:
●随着社交服务类网站的出现,浏览这些网站占用了人们的学习工作时间。
●无法通过增长在网络上所进行的社交活动来实现真实生活中社会交往技巧的增长。
●个人信息安全保障措施还需要改善。
1.3 本文组织结构
本系统将以课本和一些课外书籍为参考,按照带课老师的作业要求,从系统开发背景→需求分析→概要设计→逻辑设计→具体开发→测试一步步对系统进行分析和设计,当然测试是贯穿整个流程的。
各个章节安排如下:
第一章为绪论,简单介绍了项目的开发背景和意义;
第二章详细介绍了项目开发的应用技术,比如ASP.NET,数据库访问技术和Ajax等;
第三章是需求分析,介绍了系统的设计目标和系统的主要功能模块。
第四章是数据库设计,在E-R模型的基础上,再设计出相应的逻辑模型。
第五章根据系统功能模块详细介绍了各模块的设计过程并给出部分实现代码。
2 系统解决方案
2.1 开发应用技术介绍
2.1.1 ASP.NET
ASP.NET是.NTE框架层之一,负责处理对特定类型文件的Web请求,这些文件主要包括扩展名为.aspx,.ascx以及.asmx的文件以及其他一些文件。
ASP.NET引擎为创建动态内容提供了强健的对象模型,同时松散地集成在.NET框架中。
这种集成有利于把.NET框架移植到非Windows平台。
ASP.NET是M的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本,它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。
ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。
ASP.NET可以用已编译的基于.NET环境的可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。
另外,任何ASP.NET应用程序都可以使用整个.NETFramework,开发人员可以方便地获得这些技术,其中包括托管的公共语言运行库环境、类型安全、继承等等。
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。
这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持[1]。
因此,对于程序员来说,可以更方便地开发Web应用程序,这些是跟微软为ASP.NET设计的以下策略分不开的:
易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等。
2.1.2 C#
在过去的20年中,C/C++已经成为广泛应用于商业软件开发中的高级语言。
但是C和C++都包含了一些容易使开发者产生错误的特性,通常我们可以认为,C/C++的灵活性是以牺牲开发效率为代价的。
在基于C语言的所有衍生语言中,C#是最近的演变结果。
C#相对于C++而言,更现代、简单、完全面向对象和类型安全。
最重要的是,它简化和现代化了C++在类、名字空间、方法重载和异常处理等领域的处理方法,摒弃了C++的复杂性,使它更易用、更少出错。
在增强易用性的同时,C#也减少了C++的一些特性,如不再有宏、模板和多重继承等。
事实上,特别是对企业开发者来说,上述功能只会产生更多的麻烦而不是效益。
C#使编程更方便的新功能有严格的类型安全、版本控制、垃圾收集(garbagecollection)等功能,所有这些功能的目标都瞄准了开发面向组件的软件。
2.1.3 SQLServer2005
SQLServer2005是Microsoft公司2005年发布的数据库软件的有又一个新版本,与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的开发工具包紧密集成,该产品不仅可以有效地执行大规模联机事务、而且可以完成数据仓库和电子商务应用等许多具有挑战性的工作。
它不仅继承了微软产品的一贯特点,而且在性能、可靠性、可用性、可编程性、易用性等方面都远远胜过了SQLServer2000。
该产品提供了六个不同的版本:
企业版(EnterpriseEdition)、标准版(StandardEdition)、开发人员版(DeveloperEdition)、工作组版(WorkgroupEdition)、精简版(ExpressEdition)和企业评估版。
与MicrosoftSQLServer2000相比,其新特性更具诱惑力:
增强的数据引擎,增强的数据复制服务,增强的通知服务,增强的集成服务,增强的分析服务,增强的报表服务,新增ServiceBroker技术,改进的开发工具,增强的数据访问接口等。
2.1.4 ADO.NET
ADO.NET是由.NETframework为与数据库中的数据进行交互而提供的一组对象类的名称。
我们知道,面向对象编程的有关主要优点是可以把各种复杂的功能封装在一个自包含的单元中,接着要处理的就是—个定义好的接口中,它由一些方法和属性组成。
在ADO.NET中,我们将处理断开连接的数据集,在网站的访问者请求数据时,首先建立连接,传送数据,之后关闭连接;接着,访问者就可以修改数据,但这些修改不会在数据源中立即更新(如果需要对访问者所做的修改更新到数据库,必须重新打开连接)。
这种断开连接进行访问数据库的最大优点是效率高、可伸缩性好。
在以往的数据库访问中必须为用户一直保持连接,直到该用户的会话结束为止,而Web中可能同时处理上千个并行用户,可想而知,如果为每个用户同时保持连接在需要的系统资源是非常昂贵的。
因此,使用断开式连接数据可以提高应用程序的执行效率,并能处理更多的工作负载(即它们的伸缩性更好)。
2.1.5 AJAX
AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),AJAX并非缩写词,而是由JesseJamesGaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术。
AJAX技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。
包括:
HTML和CSS,使用文档对象模型DOM作动态显示和交互,使用XML做数据交互和操作,使用XMLHttpRequest进行异步数据接收,使用JAVAScript将它们绑定在一起。
Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃[2]。
这个术语源自描述从基于网页的Web应用到基于数据的应用的转换。
在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。
许多重要的技术和AJAX开发模式可以从现有的知识中获取。
例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。
AJAX开发人员拥有一个完整的系统架构知识。
同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。
AJAX开发与传统的CS开发有很大的不同。
这些不同引入了新的编程问题,最大的问题在于易用性。
由于AJAX依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。
这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术[3]。
综合各种变化的技术和强耦合的客户服务端环境,AJAX提出了一种新的开发方式。
AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。
同时,开发人员还需要考虑CS环境的外部和使用AJAX技术来重定型MVC边界。
最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。
一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。
AJAX主要包含了一下几种技术:
●基于web标准(standards-basedpresentation)XHTML+CSS的表示;
●使用DOM(DocumentObjectModel)进行动态显示及交互;
●使用XML和XSLT进行数据交换及相关操作;
●使用XMLHttpRequest进行异步数据查询、检索;
●使用JavaScript将所有的东西绑定在一起。
英文参见Ajax的提出者JesseJamesGarrett的原文[4]。
AJAX技术之中,核心的技术就是XMLHttpRequest,它最初的名称叫做XMLHTTP,是微软公司为了满足开发者的需要,1999年在IE5.0浏览器中率先推出的。
后来这个技术被上述的规范命名为XMLHttpRequest。
它正是Ajax技术之所以与众不同的地方。
简而言之,XMLHttpRequest为运行于浏览器中的JavaScript脚本提供了一种在页面之内与服务器通信的手段。
页面内的JAVAScript可以在不刷新页面的情况下从服务器获取数据,或者向服务器提交数据。
XMLHttpRequest的出现为Web开发提供了一种全新的可能性,甚至整个改变了人们对于Web应用由什么来组成的看法。
它可以使我们以一种全新的方式来做Web开发,为用户提供更好的交互体验[5]。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。
事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。
2.1.6 WebAPI
Web技术突飞猛进,Web设计与开发者们可以选择的工具越来越多,Web开发者的技巧不再只限于HTML和服务器端编程,还需要精通各种第三方资源,这些第三方资源有时候比你的项目更复杂,更专业,你无法自己实现一切,借助一些WebAPI,你可以很方便地将大量优秀的第三方资源集成到自己的站点。
在此主要介绍在开发中用到FCKeditor。
FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。
它志于轻量化,不需要太复杂的安装步骤即可使用。
它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的编程语言相结合。
“FCKeditor”名称中的“FCK”是这个编辑器的作者的名字FredericoCaldeiraKnabben的缩写。
FCKeditor相容于绝大部分的网页浏览器,比如:
InternetExplorer5.5+(Windows)、MozillaFirefox1.0+、Mozilla1.3+和Netscape7+。
在未来的版本也将会加入对Opera的支援。
FCKEditor官方下载地址:
[url]
2.2 开发及运行环境
●硬件平台
CPU:
P41.8GHz
内存:
512MB以上
●软件平台
操作系统:
Windows2000/WindowsXP/WindowsVista
数据库:
SQLServer2005
开发环境:
Microsoft.NETFrameworkSDKv2.0
开发工具:
MicrosoftVisualStudio2005
开发语言:
C#语言
浏览器:
IE6.0
Web服务器:
IIS5.0
分辨率:
最佳效果为1440*900像素
3 需求分析
本项目的需求分析主要从系统的使用人群和系统的功能模块入手分析,并提出了项目的开发要求,并对系统的性能方面又作了简要的说明。
3.1 面向的用户人群
1)在校高校大学生:
作为系统的使用者,注册登陆网站后,可以发布修改浏览日志,上传更新浏览照片,查询添加好友,并可以浏览好友页面,在好友页面发表自己的评论等。
2)管理员:
作为系统的管理员和维护者,对用户,日志,照片等模块进行数据的管理,并对网站的更新作出及时的响应,使得网站更好地与用户交流。
3.2 主要功能模块分析
该系统“笨笨网”主要实现如下主要目标:
1)建立一个拥有丰富的资源、良好交互性、操作简单易用的SNS网站。
2)网站运行要高效,费用尽量低,注重实用性。
3)网站实现及时获取相关最新动态信息,如通知请求等。
4)支持站内信箱,在线信件交流。
5)最终为更多的用户拓展人际关系。
本系统最终实现后各个部分的关系图如图3-1所示。
3.2.1 普通用户模块
普通用户使用流程如图3-2所示。
1)注册
首先填写真实的用户名和密码,因为真实的姓名可以使你的朋友容易找到你。
当填完用户名和密码后填写相关信息时用户,用户根据提示将所填信息填完后,按“注册”按钮,若信息无误将注册成功,否则需要重新注册(如:
两次输入的密码不同,邮箱错误等)。
注册成功的用户,系统会为用户选择默认的头像。
2)登陆
登陆界面包括账号和密码两个文本框,只要注册成功的用户就会转到自己相关的一个页面,否则将会提示账号密码错误。
3)个人资料管理
注册用户可以修改和完善自己之前注册的资料,系统将显示之前填写的信息,用户可以在此之上进行修改(如修改头像等)。
4)好友
注册用户可以管理已经建立关系的好友,并可按姓名查询好友,系统将会给出界面显示出相应的查询结果,用户可以选择,并申请加其为好友,如果没有搜索到系统将会提示没有相关信息。
5)
日志、相册
系统提供管理日志相册功能,使用户可以随时编辑,删除相应的日志与照片。
注册用户可以写新日志和上传最新照片。
6)留言评论
注册用户可以管理好友在自己页面写下的留言和评论,系统提供回复删除功能。
用户当然也可以在浏览的同时给对方留言和评论。
7)浏览站内基本信息
站内的基本信息指在网站内注册用户的基本信息,包括站内注册信息、个人基本信息、联系方式、发表的日志、上传的照片、留言等。
3.2.2 管理员模块
为了保证系统的安全性,管理员进入系统后台前必须输入有效的密码,系统根据密码确认决定是否进入,而不知道密码的操作人员是无权进入本系统的。
后台用户名是“admin”,后台密码是“admin”。
管理员模块功能包括:
管理站内的用户、日志、相册、留言评论等。
管理员的功能模块比较简单,故本文省略了它的功能模块图。
1)管理用户信息
管理员对用户管理操作即为删除。
对一些“恶意”用户执行删除操作,即将该用户的注册信息、基本信息、联系方式等完全从数据库删除。
2)管理日志、相册、留言和评论
管理员对日志、相册、留言和评论的管理操作为删除。
管理操作一旦执行,该文章所对应相关信息就从数据库里删除。
一般情况下管理员不得任意删除普通用户的相关日志等,除非日志等涉及违法内容。
3)其他功能
该功能主要是体现网站的可扩展性,用于完善网站,增加网站模块。
3.3 项目开发要求
开发出一个功能实用,有效的优秀网站,为我广大高校朋友提供相互交流的平台,“笨笨网”的设计应遵循以下四点。
1)项目开发规范统一:
模块划分,代码编写均遵照规范文档。
2)程序优化、安全并要有良好的可扩展性。
3)用户界面简洁明了、操作简单实用。
4)与用户保持良好的沟通,及时根据用户新的需求改善系统功能。
这四点对于一个项目是十分重要的。
3.4 特别说明
1.网站的安全性
1)系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;
2)管理员应具有一定的网络安全及防黑知识。
2.网站可维护性
网站管理者需懂得一定的服务器应用、SQL数据库应用、硬件维护等方面的技能。
3.网站的灵活性
系统应该具有良好的功能可扩充性,以应对未来用户的更高的要求。
与用户保持良好的沟通,及时根据用户新的需求改善系统功能。
4.用户界面
人性化、交互性强的网页形式,简单易用,充分合理安排用户功能。
5.数据管理能力要求
本系统使用MSSQL,可利用其自带的各种功能进行管理。
6.故障处理
系统运行中难免出现一些故障,对此提出以下建议和要求:
1)对用户提交的重要资料及时备份。
(如:
当用户修改注册资料时要及时更新系统资料备份,以便于系统崩溃后资料的正确恢复。
)
2)当系痛数据库发生故障时,及时向用户返回相关故障原因。
3)公开管理员电子邮箱,联系电话等,以便用户和管理员及时联系。
4 数据库设计
4.1 E-R模型
E-R模型是数据进行第一层抽象的表示方法。
它的主要成分包括:
实体、联系和属性。
使用这三种成分,我们可以建立许多数据库应用系统的E-R模型。
E-R模型的“联系”用于刻画实体之间的关联。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:
N,M:
N,还是1:
1等。
还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等。
对于本网站中使用到的实体和属性可以定义如下(其中带下划线的属性为主属性):
用户信息表(用户编号,用户名,密码,邮箱,电话,家乡,兴趣爱好,头像,生日,注册日期);
朋友关系表(关系编号,用户1,用户2);
日志表(日志编号,日志标题,日志摘要,日志内容,创建日期,作者编号);
日志评论表(评论编号,评论内容,评论日期,日志编号,作者编号)
相册表(相册编号,相册名称,创建日期,作者编号);
照片表(照片编号,照片标题,照片路径,照片描述,上传日期,相册编号,作者编号);
留言表(留言编号,留言内容,作者编号,被留用户编号,留言日期);
通知消息表(通知编号,通知内容,申请用户编号,接收用户编号)。
本系统的部分实体与联系的E-R模型如图4-1所示:
4.2 逻辑设计
根据4.1中分析得出的E-R图,本系统采用SQLServer2005数据库管理系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 社区 设计 实现 论文