1、社交网站的设计与实现学号:2009430392河南大学2013届本科毕业论文社交网站的设计与实现 论文作者姓名: 宋双来 作 者 学 号: 2009430392 所 在 学 院: 计算机与信息工程学院 所 学 专 业: 网络工程 导师姓名职称: 郭拯危(教授) 论文完成时间: 2013年4月29日 2013年4月29日河南大学2013届毕业设计(论文、创作)开题报告(学生本人填写)学号2009430392姓名宋双来导师姓名职称郭拯危(教授)开题时间2012年12月1日课题题目社交网站的设计与实现课题来源导师指定 自定 其他来源课题的目的、意义以与和本课题有关的国内外现状分析:1目的:随着社会的
2、进步和网络的快速发展,人们对精神生活的追求越来越高,希望能结交到更多的朋友,并且可以与时的了解到朋友发生了什么事情。社交网站以网络为平台,人们可以足不出户的结识五湖四海的朋友,并且可以最快的参与到朋友圈发生的故事。用户可以在社交网站上查找添加好友,添加自己的动态(新鲜事,日志,照片,分享),发表对好友动态的评论、赞、收藏等。2意义:与其他社交网站相比,希望能为用户提供更为简洁,明了的界面展示和更为直接的交流方式。通过社交网站,人们可以充分利用网络资源,在闲暇之时简单有效的扩展人脉,与朋友互动交流。3现状:目前,国内外社交网站发展越来越好,也更加的成熟,对用户体验的关注也更加注重了。在国内做的比
3、较好的社交网站有新浪微博,人人网,豆瓣等。比如说新浪微博,它为用户提供了网站上的实时在线交流工具,方便用户在社交的同时更为直接的交流。人人网则是基于实名制的,用户寻找好友更为有针对性。豆瓣为用户提供了简单的页面和以兴趣为基础的交友体制。这些都不同程度的增强了用户的社交体验研究目标、研究内容和准备解决的问题,拟采取的方法、技术或设计(开发)工具:1目标:用户可以自由的查找用户,关注用户。并且可以实时的查看到好友的动态,可以对好友的动态反映自己的态度。2内容:网站应实现好友搜索,好友添加,发表新鲜事,创建相册并上传照片,(评论,分享,赞,收藏)动态,修改个人资料,邀请好友等功能。3准备解决的问题:
4、(1)网站使用2,和技术, 模式开发。(2)采用作为开发工具。(3)在技术上,对于脚本使用和编程还不熟悉。预期成果:1源程序2毕业论文进度计划与阶段要求:2012年12月1日12月31日:查找资料、确定毕业设计题目,编写开题报告。2013年1月1日:将开题报告发送到导师邮箱。2013年1月2日1月10日:导师根据开题报告下达任务书。2013年1月11日4月2日:根据任务书搜集素材、进行初步的毕业设计。2013年4月3日:将毕业设计阶段性成果发送到导师邮箱。2013年4月3日4月9日:根据导师的建议和指导,修改毕业设计,编写论文。2013年4月10日:将中期检查表发送到导师邮箱。2013年4月1
5、1日4月28日:根据导师的建议和指导,修改毕业设计和论文。2013年4月29日:将设计和论文终稿发送到导师邮箱。开题前收集的资料和参考文献(5-8种)1 谢星星等.企业应用架构设计232M.中国水利水电出版社,2010年5月第一版 2 刘京华等. 整合开发王者归来M.清华大学出版社,2010年1月第一版3 等.杨涛等译. 编程艺术M.人民邮电出版社,2007年1月第一版4 等等译.实战M.人民邮电出版社,2006年4月第一版5(美)埃克尔.陈昊鹏译.编程思想 M.机械工业出版社,2007年6月第一版6 词条.来自XX百科 ,2013年47 框架简介. ,2005年8月指导教师对开题报告的意见:
6、同意按开题报告的题目和设计思路开题。指导教师签名: 2013年1月10日河南大学2013届毕业论文(设计、创作)任务书(导师根据学生的开题报告填写)题目名称 社交网站的设计与实现 学院计算机与信息工程学院学生姓名宋双来所学专业网络工程学号2009430392毕业论文(设计、创作)要求1设计内容基于 的社交网站。2基本要求社交网站要求至少实现以下内容:(1)用户管理自己的个人信息,上传头像,邀请好友,添加好友。(2)用户可以发表新鲜事,创建相册,上传照片。(3)用户可以(评论,赞,分享,收藏)新鲜事和上传的照片。(4)管理员可以冻结用户,发布站内公告3要解决的问题(1)页面验证不完善,用户可以随
7、意输入不合理的信息(2)页面间的展示还有待完善4要求提交的成果(1)毕业设计源程序(2)论文 指导教师签名: 2013年1月 10 日河南大学2013届毕业设计(论文、创作)中期检查表(导师只填写评语,其他由学生填写)题目名称:社交网站的设计与实现学院计算机与信息工程学院学生姓名宋双来所学专业网络工程学号2009430392一、毕业设计(论文、创作)进展情况实现了社交网站的基本页面设计。用户模块:个人资料和头像的修改以与好友添加等已经实现内容模块:新鲜事发布,创建相册,上传照片,评论,赞,分享,收藏等功能已实现。后台模块:管理员冻结用户,发布公告的功能也已实现根据实际需要,用户可能会进行一些非
8、法操作,如提交空内容,重复操作等,需要对各内容进行输入验证。同时页面的展示还不够完善。二、毕业设计(论文、创作)存在的问题与解决方案存在的问题:发表多内容类型(表情,图片,超链接)的新鲜事,日志。解决方案:通过采用开源文本编辑器提供的富文本内容(表情,图片,超链接),将用户产生的内容以形式存放入文本,然后提交到后台数据库存放。展示的时候取出来直接放入页面,即可显示丰富的内容效果。还需要完善多张图片的插入显示效果。存在的问题:未登录用户的非法访问。解决方案:有时一些未注册或者未登录用户,可能会直接访问网站页面。这可能会引发一些错误,所以应对此加以阻止。通过为网站加入登录过滤器,对用户发出的请求加
9、以过滤,非登录页面的直接访问,验证用户是否登录。这样可以有效防止信息的泄露和错误发生。三、学生本人对毕业设计阶段所做工作与进展情况的评价社交网站的开发期间,对我的、数据库、2、等知识有很大的提高,从中学到了一些没有用过的内容,如过滤器等,也巩固了以前的知识。功能方面,用户模块的资料修改等功能已实现,内容模块中在收藏,添加好友上采用的还不太熟练,并未能完全的体现出的优点。同时在页面的布局,跳转上还有待完善四、指导教师对学生毕业设计(论文、创作)中期检查的评语根据该生提交的毕业设计成果,以与该生和导师交流的情况,同意该生通过中期检查。允许该生根据本人搜集的参考资料和已经完成的设计成果,开始整理毕业
10、论文文档。指导教师签名 2013年 4 月 10 日河南大学2013届毕业论文(设计、创作)教师评阅成绩表学院名称:计算机与信息工程学院学 号2009430392姓名宋双来专业网络工程指导教师郭拯危(教授)教师评阅平均得分论文题目社交网站的设计与实现指导教师评语与得分指导教师评语该生的选题有(现实、实际)意义,按时完成了所要求的功能。论文叙述条理、详略得当,是一篇(优秀、良好、合格)的本科论文。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分指导教师签
11、名 2013年4月29日评阅教师评语与评分评阅教师评语该生论文结构合理,论文语句(流畅、较流畅),思路(较)清晰,表达(较)准确,是一篇(优秀、良好、合格)的本科论文。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述满分15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分评阅教师签名 2013年5月3日此表由教师填写河南大学2013届毕业论文(设计、创作)综合成绩表学号2009430392姓名宋双来所在学院计算机与信息工程学院答辩委员会评语与评分答辩委员会评语该生答辩过程中思路(清晰、较清晰),反应敏捷,论文
12、结构(较)合理,条理清楚,达到本科毕业设计和毕业论文要求的标准,经答辩小组评议,同意通过论文答辩。答辩委员签字(4名以上): 2013年5月5日评分项目分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分答辩委员会主任签字: 2013年5月5日毕业论文(设计、创作)成绩综合评定(百分制): 分(教师评阅表平均成绩占40%,答辩成绩占60%)综合评定等级(优、良、中、差):备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力与在论文中是否有新
13、的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的
14、1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。河南大学本科生毕业论文(设计、创作)承诺书论文题目社交网站的设计与实现姓 名宋双来所学专业网络工程学 号2009430392完成时间2013年4 月29日指导教师姓名职称郭拯危(教授)承诺内容:1本毕业论文(设计、创作)是学生 宋双来 在导师 郭拯危 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名
15、: 指导教师签名:2013 年 4 月 29 日 2013 年 4 月 29 日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。摘 要 3 4第1章 绪 论 51.1 课题背景与分析 51.2 国内外在该方向的研究现状与分析 51.3 运行环境与开发工具 5第2章 相关技术 72.1 语言 72.2 2 72.3 82.4 82.5 8第3章 网站总体设计 93.1 网站总体结构 93.1.1 网站运行流程 93.1.2 网站功能模块 93.2 网站设计 103.2.1 表示层设计 113.2.2 业务逻辑层设计 123.2.3 数据访问层设计 13
16、3.2.4 网站代码目录 133.3 数据库设计 143.3.1 数据库表设计 143.3.2 数据库图 19第4章 网站详细设计 214.1 技术的使用 214.1.1 的使用 214.1.2 登录过滤器的使用 224.1.3 其他使用 234.2 2技术的使用 244.2.1 评论发布 244.2.2 收藏内容 254.3 技术的使用 264.4 技术的使用 274.5 技术的使用 28结 论 30参考文献 31摘 要随着社会信息化的快速发展,网络所能为我们做的事情也越来越多,结交朋友,了解朋友的近况,这些都可以在网络上实现,使用户可以足不出户即可认识来自各地的人们。社交网站就是基于此目的
17、实现的。社交网站,根据著名的六度理论,通过互联网认识朋友的朋友,来扩展自己的人脉,帮助用户组建起自己的社交圈。在2.0时代,互联网更注重用户的交互作用,用户更多的参与网站内容制造,这使得社交网站在2.0时代飞速的发展。本论文首先介绍了关于社交网站的课题背景与国内外发展的现状,对社交网站所需功能进行需求分析,接着详细描述了整个系统的总体设计和实现过程,并对开发过程中使用的技术进行介绍。社交网站的实现用语言开发,具体技术采用(2、),数据库,实现了用户模块(资料修改,上传头像,登录/注册,添加好友),内容模块(新鲜事,评论,分享等),后台管理(公告发布,用户冻结)等功能。关键词 社交网站;2; ,
18、 , s , . . . , . 2.0 , . , 2.0 ., . , . , . , (2、), . ( , , ) ( , ) .: ; ; 2; ; 第1章 绪 论人们在社交网站上,可以认识来自四面八方的好友,关注他们发生的故事。这些年来,以、等为代表的社交网站发展非常迅猛,各种各样的应用使得社交网站充满着生机,用户数量也惊人的快速增长,使得社交网站成为当前热门的互联网应用。1.1 课题背景与分析随着的普与和 2.0时代的到来,相较于1.0时代的以用户通过浏览器获取信息,2.0时代引发了互联网发展的新方向。 2.0倡导用户参与网站内容制造。就是说与1.0网站单向信息发布的模式不同,2
19、.0网站的内容通常是用户发布的,使得用户既是网站内容的浏览者也是网站内容的制造者,这也就意味着2.0网站为用户提供了更多参与的机会。社交网站作为2.0的代表性应用,更是呈现出迅猛的发展势头。1.2 国内外在该方向的研究现状与分析伴随2.0的兴起,各类社交网站也泉涌而出,除了一些专门的社交网站之外,几乎所有的门户都增加了相关栏目,具有的一些功能。其中国内外著名的社交网站有:,人人网,开心网,新浪微博等。这些网站的共同点就是都提供了丰富完善的社交功能,像用户发表新鲜事,评论,赞等,并且在此基础上添加更为丰富的第三方应用。但是过多的内容展现,容易造成用户的视觉疲劳。同时这些网站也有各自的特点。新浪微
20、博,在用户交友的过程中,又为用户提供了网站上的实时在线交流工具,方便用户在社交的同时更为直接的交流。人人网则是基于实名制的,用户可以在其中找到多年以前的同学,甚至是小学同学,完善的好友寻找,可以极大的满足用户社交的需求。1.3 运行环境与开发工具网站以语言为基础开发,所以需要安装。这里采用1.6版本。数据库选用5。 服务器使用6.0开发工具使用 操作系统在 、7下可运行。在客户端,只需要用户安装一款主流浏览器即可,如,7以上浏览器等。第2章 相关技术 本章概括介绍了社交网站开发中所用的技术。2.1 语言是由公司推出的面向对象程序设计语言和平台的总称。编程语言的风格十分接近C、语言。是一个纯粹的
21、面向对象的程序设计语言,它继承了 语言面向对象技术的核心。舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载( )、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 1.5 版本中, 又引入了泛型编程( )、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。语言的主要特性:语言是简单的。语言是面向对象的。语言是分布式的。语言是健壮的。语言是安全的。语言是解释型的。语言是多线程的。语言是动态的。语言的优良特性使得应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。对对象技术的全面支持和平台内嵌的能缩
22、短应用系统的开发时间并降低成本。的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是企业应用编程接口( )为企业计算与电子商务应用系统提供了有关技术和丰富的类库。2.2 2 2是的下一代产品,是在 1和的技术基础上进行了合并的全新的 2框架。其全新的 2的体系结构与 1的体系结构差别巨大。 2以为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与完全脱离开,所以 2可以理解为的更新产品。把、自定义标签和信息资源( )整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套模式,极大的节省了时间,所以说
23、是一个非常不错的应用框架。2.3 是一个开放源代码的对象关系映射框架,它对进行了非常轻量级的对象封装,使得程序员可以随心所欲的使用对象编程思维来操纵数据库。可以应用在任何使用的场合,既可以在的客户端程序实用,也可以在的应用中使用,最具革命意义的是,可以在应用的J2架构中取代,完成数据持久化的重任。2.4 :( )是一种跨平台的动态网页技术,在静态页面中嵌入代码片段,再由服务器中的引擎来进行编译并执行嵌入的代码片段,生成的页面信息返回给客户端。具备了技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.5 是一个开源框架,它由 创建。它是为了解决企业应用开发的复
24、杂性而创建的。使用基本的来完成以前只可能由完成的事情。然而,的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何应用都可以从中受益。是一个轻量级的控制反转()和面向切面()的容器框架。框架由七个定义明确的模块组成,组成 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。如图2-1所示图2-1 模块图第3章 网站总体设计网站总体设计是根据用户提出的需求进行开发方案的拟定,以与对制定的方案进行开发前的详细设计,主要包括对网站功能模块的划分,数据库设计等。3.1 网站总体结构根据网站采取的技术,对网站的整体结构进行设计和划分,下面是对总体结构的描述。3.1
25、.1 网站运行流程由于网站采用模式开发,所以将网站整体划分为三层结构开发:页面表示层,控制层,数据访问层。网站运行流程结构如图3-1所示。图3-1 网站运行流程图3.1.2 网站功能模块根据前面第二章的功能需求分析,将社交网站的功能模块设计成如图3-2所示。图3-2 网站功能模块图下面介绍模块功能。(1)用户模块:该模块实现用户的基本操作,注册过的用户可以填写登录信息登录网站。登录后可以按自己的需要修改个人资料,上传头像完善自己的信息。还可以根据安全密码修改登录密码。用户还能根据搜索到的好友,添加好友。(2)内容模块:用户可以在个人中心选择进行发表新鲜事,日志,创建相册,上传照片等操作产生用户
26、动态,用户产生的动态可以被好友评论,分享,赞,收藏。用户还可以在网站想现实中认识的人发送邀请注册的。(3)后台模块:后台只能有管理员身份才能进入,管理员可以对用户进行冻结操作,被冻结的用户无法登录网站。管理员还可以发布网站公告。3.2 网站设计良好的网站分层对于后期的开发和扩展可以起到很大的作用。网站采用(2、)技术实现,采用设计模式。将网站整体划分为,数据访问层、业务逻辑层、表示层。在的基础上将业务逻辑层再细分为和,由控制流程跳转,负责具体的业务逻辑。下面主要介绍三层用到的公共部分。3.2.1 表示层设计页面整体设计如图3-3所示:图3-3 图其中会跟随页面,方便用户快速点击功能,内容为居中
27、显示,提供功能列表。表示层页面,主要使用库进行前台视觉开发,由提供的基础样式快速创建页面,并且能够提供一致整体的效果。使用方式需我们向标签中添加属性即可。如:首页库依赖于,将所需脚本和样式文件引入页面,部署关键代码如下:为改善用户体验,在部分功能上面采用技术实现,为了可复用,减少代码量,将对象的提供从中剥离,创建文件以供多次使用。关键代码如下: () ; , 8.0+, (); (e) (2); (e) (); ; 3.2.2 业务逻辑层设计作为与表示层的接口,控制页面间的跳转,通过配置文件来实现。并将页面传递进来的数据进一步交给处理。为提高可扩展性,在包下,创建,其他可以继承它,这样可以把一
28、些重复性工作放到其中,其余可专注于实现自身功能。 , 层完成具体的业务逻辑,其中由维护的类进行数据操作,的相关配置文件在下。3.2.3 数据访问层设计数据访问层主要由框架来完成。创建类进行具体操作。为提高复用可扩展。系统提供接口,由来实现支持的增删改查基本操作。复杂操作自行实现,只需要继承即可。关键代码如下: ( o); ( ); ( ); ( 1 ); ( 1 ); 3.2.4 网站代码目录网站后台代码结构如图3-4所示:图3-4 后台代码目录代码目录:(1)包存放控制层的代码(2)包存放数据库接口操作的代码(3)包存放自定义过滤器(4)包下的存放配置文件(5)包下的存放数据实体类(6)包下的存放实体配置文件(7)包存放业务逻辑操作的代码(8)包存放页面实体(9)包存放网站公用的工具类网站前台页面与相关文件目录如图3-5所示:图3-5 前台代码目录目录下存放网站前台页面与样式表,图片,脚本文件等(1)目录放样式表(2)目录存放插件(3)包括网站图片(4)存放网站的脚本文件(5)分别存放网站页面(6)存放网站配置文件与所需包3.3 数据库设计根据功能模块划分,建立数据库。下面是对数据库设计的描述。3.3.1 数据库表设计1.用户表()包括用户的登录信息,和用户的基本资料,如表3-1所示表3-1 字段名称数据类型可否为空说明不可用户名不可密码
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1