微博系统的设计与实现.doc

上传人:聆听****声音 文档编号:8965930 上传时间:2023-05-16 格式:DOC 页数:51 大小:1.70MB
下载 相关 举报
微博系统的设计与实现.doc_第1页
第1页 / 共51页
微博系统的设计与实现.doc_第2页
第2页 / 共51页
微博系统的设计与实现.doc_第3页
第3页 / 共51页
微博系统的设计与实现.doc_第4页
第4页 / 共51页
微博系统的设计与实现.doc_第5页
第5页 / 共51页
微博系统的设计与实现.doc_第6页
第6页 / 共51页
微博系统的设计与实现.doc_第7页
第7页 / 共51页
微博系统的设计与实现.doc_第8页
第8页 / 共51页
微博系统的设计与实现.doc_第9页
第9页 / 共51页
微博系统的设计与实现.doc_第10页
第10页 / 共51页
微博系统的设计与实现.doc_第11页
第11页 / 共51页
微博系统的设计与实现.doc_第12页
第12页 / 共51页
微博系统的设计与实现.doc_第13页
第13页 / 共51页
微博系统的设计与实现.doc_第14页
第14页 / 共51页
微博系统的设计与实现.doc_第15页
第15页 / 共51页
微博系统的设计与实现.doc_第16页
第16页 / 共51页
微博系统的设计与实现.doc_第17页
第17页 / 共51页
微博系统的设计与实现.doc_第18页
第18页 / 共51页
微博系统的设计与实现.doc_第19页
第19页 / 共51页
微博系统的设计与实现.doc_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微博系统的设计与实现.doc

《微博系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《微博系统的设计与实现.doc(51页珍藏版)》请在冰点文库上搜索。

微博系统的设计与实现.doc

沈阳师范大学学士学位论文

本科毕业论文(设计)

(2013届本科毕业生)

题  目:

微博系统的设计与实现

学生姓名:

学生学号:

学院名称:

软件学院

专业名称:

计算机科学与技术

指导教师:

二零一三年五月

【摘要】随着社会的进步,时代的发展,微博的使用在网上已经非常广泛,微博系统对用户而言,除了方便之外,还是与朋友之间沟通交流的桥梁。

该微博系统的设计与实现正是适应了这种要求。

本系统采用Java语言,MySQL数据库以及Struts、Hibernate、Spring技术开发,以Eclipse作为开发工具进行研发。

其功能主要包括系统登录和注册、我的微博模块、个人中心模块、最新动态模块、留言板模块以及帮助中心六大部分。

其中在我的微博模块中有查看我的微博和查看我的好友功能,还有更多设置功能;在个人中心模块中具体分为完善资料功能和对密码的操作;在最新动态模块中可以发表微博和查看历史微博内容;在留言板模块中可以发表留言和查看历史留言信息等;而帮助模块中主要是对一些常见问题进行解答。

本论文完整介绍了系统的功能和开发的过程,重点说明了设计的重点与设计思想,详细阐述了系统开发的需求分析以及相关技术的介绍。

【关键字】微博系统,Java,Struts,Hibernate

DesignAndImplementationOf

MicroBlogSystem

【Abstract】Withtheprogressofsociety,thedevelopmentofthetimes.MicroBlogonlinehasbeenverywidelyused,MicroBlogSystemforusers,inadditiontoconvenience,orbridgeofcommunicationbetweenfriends.TheMicroBlogSystemisadaptedtothedesignandimplementationoftherequirements.ThesystemusestheJavalanguage,MySQLandStruts,Hibernate,Springtechnology,Eclipseasdevelopmenttool.Itsmainfunctionsincludesixpartsofsystemloginandregistration,myMicroBlogmodule,personalcentermodule,recentnewsmodule,messageboardmoduleandhelpcentermodule.MyMicroBlogmoduleincludesmessage’select,friends’select,add,delete,andmoresettingsfunctions;personalcentermoduleincludespassword’modifyandqueryfunctions;recentnewsmoduleincludesinformation’sadd,delete,modifyandqueryfunctions;messageboardmoduleincludesmessage’sadd,delete,modifyandqueryfunctions;inthehelpcentermodule,istoanswersomecommonquestions.Thisthesisintroducesthesystem’sfunctionsandprocedureofdevelopmentcompletely,declaresthepointofdesignandthethinkingofdesignimportantlyandstatestherequirementanalysisofthesystemdevelopmentindetail.

【Keywords】MicroBlogSystem,Java,Struts,Hibernate

目录

第一章绪论 1

1.1微博的研究背景 1

1.2国内外研究现状 1

1.3本文结构 4

第二章相关技术介绍 6

2.1JAVA语言概述 6

2.2JAVAEE平台技术介绍 7

2.3MySQL数据库简介 14

2.4MVC设计模式简介 15

第三章系统需求分析 19

3.1系统总体需求分析 19

3.2系统开发设计思想 20

3.3系统功能结构 20

3.4系统的操作过程 23

3.5系统总体结构图 24

3.6数据库的概念 24

3.7数据库E-R图 25

3.8系统界面设计 25

第四章详细设计 27

4.1数据库的选择 27

4.2数据库表的描述 27

4.3系统开发环境介绍 29

第五章系统实现 30

5.1系统登录和注册 30

5.2添加留言信息 33

5.3删除好友功能 36

5.4修改个人信息 37

5.5查询留言信息 39

5.6其他功能 40

第六章系统测试及维护 42

6.1系统测试 42

6.2测试用例 42

6.3系统维护 43

第七章总结与展望 44

7.1总结 44

7.2展望 44

后记 45

参考文献 46

―V―

第一章绪论

1.1微博的研究背景

微博,就是微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取的平台,用户可以通过WEB、WAP以及各种客户端组建个人社区,以140字左右的文字更新信息,并实现即时分享。

美国的twitter是最早也是最著名的微博,根据一些相关的公开的数据,截至2010年1月份,该产品在全球已经拥有7500万注册用户。

在2009年8月份,中国最大的门户网站新浪网推出“新浪微博”内测版,成为门户网站中第一家提供微博服务的网站,从此微博正式进入中文上网主流人群的视野。

微博是一种通过关注机制分享简短实时信息的广播式的社交网络平台。

陈永东,国内知名新媒体领域研究学者,他在国内率先给出了微博的定义。

其中有五方面的理解:

1、关注机制:

分为单向和双向两种;2、内容简短:

通常为140字;3、实时信息:

最新的实时信息;4、广播式:

公开的信息,谁都可以浏览以及转播;5、社交网络平台:

把微博归为社交网络。

微博为广大用户提供了这样一个平台,你既可以以观众的身份在微博上浏览你感兴趣的信息,也可以以发布者的身份在微博上发布内容供别人浏览。

发布的内容一般较短,通常为140字的限制,由此命名为微博。

当然,也可以发布图片,分享歌曲、视频等。

微博有两方面的含义:

首先,对于一些强调版面布置的博客来说,微博主要是由简单的只言片语组成,从这个角度来说,微博对用户的技术要求门槛很低,而且与博客相比,对语言的编排组织的要求没那么高。

第二,微博浏览非常方便,由于微博开通的多种API,所以用户可以通过手机、网络等方式来即时更新自己的个人信息,深受广大用户的喜爱。

微博的特点:

信息获取具有很强的自主性、选择性;微博宣传的影响力具有很大弹性,与内容质量高度相关;内容短小精悍。

微博的内容限定为140字左右,内容简短,不需长篇大论,门槛较低;信息共享便捷迅速,这也是微博最大的特点。

1.2国内外研究现状

1.2.1微博在国外的发展史

埃文·威廉姆斯(EvanWilliams)是博客技术先驱blogger的创始人,他在2006年3月创建的新兴公司Obvious推出了大微博服务。

在最初阶段,这项服务的功能很不完善,只是用于向好友的手机发送文本信息。

Twitter是由blogger的创始人威廉姆斯(EvanWilliams)在2006年3月推出的,其英文的原意为小鸟的叽叽喳喳声,此时功能有些改进,用户可以使用数百种工具更新信息。

Twitter的出现把世人的眼光引入了一个叫微博的小小世界里。

截至2007年5月,国际间计算总共有111个类似Twitter的网站。

然而,最受人关注的仍是Twitter,在2007年,在得克萨斯州奥斯汀举办的南非西南会议中赢得了部落格类的网站奖。

Plurk和Jaiku是Twitter的主要竞争对手。

由于Twitter的发展前景,国内一些人开始蠢蠢欲动。

从校内网起家的王兴,在2007年5月创建了饭否网。

而作为一个拥有4.1亿QQ用户的企业——腾讯,看着用户对随时随地发布自己状态的需求愈发强烈后,在2007年8月13日腾讯滔滔面世。

但事情没有预期发展的好,Twitter建立的“微型王国”不是在短时间内掘出黄金的浅矿,所以国内微博企业目前尚处于慢热的状态。

国内微博不约而同地将现在的目光放在了产品调整以及服务完善上,在还没有办法吸引到风险投资的眼光之前,他们最需要做的可能是如何靠自己的能力继续活下去。

1.2.2微博在国内的现状及发展趋势

中国第一家带有微博色彩的饭否网于2007年开张开始,到2009年,微博这个新词汇以摧枯拉朽的姿态扫荡世界,不久便成为全世界最流行的词汇。

国内大批老牌微博产品(饭否、腾讯滔滔等)在2009年7月中旬开始停止运营,一些新产品开始进入人们的视野:

6月份开放的Follow5,7月份开放的9911,8月份开放的新浪微博等。

在2010年,国内微博开始崛起。

四大门户网站均开设微博。

根据一些相关公开数据显示,截至2010年1月份,在全球范围内,该产品已经拥有7500万注册用户。

2011年上半年,我国微博用户迅速增长,其数量从6331万增至1.95亿,半年增幅高达208.9%。

微博在网民中的普及率从13.8%增至40.2%。

从2010年底至今,手机微博在网民中的使用率比例从15.5%上升到34%。

图1-1中国微博市场用户周覆盖人数

图1-2用户访问次数及有效浏览时间集中度

至今,因为新浪微博抢占了先机,其用户数已经超过1亿,再加上其在整体的战略执行上也比较彻底到位,所以获得了现在的地位。

仅仅两年时间,新浪微博就为新浪创造了几十亿美金的巨额收入。

而腾讯微博作为另一个微博巨头,也发展迅猛。

其拥有近5亿的QQ注册用户,其中2亿左右是活跃用户。

这些人受潮流趋势的影响很快开通腾讯微博。

另外其作为重要的推广渠道。

企业用户通过注册腾讯官方微博,能够迅速的扩大企业的知名度。

高校教育平台也通过微博来推动了中国教育事业信息化发展的步伐。

互联网实验室认为,我国微博将向工具化、细分化、移动化和开放化等方向发展。

如下图所示。

图1-3发展方向研究图

现在,已经有很多微博服务商对微博网站进行了专业细分,如和讯网推出的财经微博,搜房网推出的房地产专业微博等。

随着这种细分与竞争,细分化的趋势将更加明显。

1.2.2中外微博的文化差异

在国内,关系社会这一本质属性是微博抓住的文化特征,中国人社会认同的结构建立在一套强有力的关系体系之中,群体化和联系化是其文化内核。

一个人社会地位的高低取决于社会关系的强弱。

关系是实现权力重构的核心的一种资本,因此,微博的发展过程,也是新权力者关系资本积累的过程。

在国外,微博Twitter的产品初衷正如单词Twitter的英文原义——鸟儿叽叽喳喳的叫声。

它抓住了美国人善于交谈的个性、渴望表达和信息分享的特征,正如一个充斥了个人琐碎的思索、片段化的情感的窗口。

1.3本文结构

第1章绪论,介绍微博的研究背景,国内外的发展史及论文的结构等。

第2章相关技术介绍,对微博的设计和实现过程中用到的开发语言、平台技术以及框架技术进行介绍,主要阐述了JAVA语言、JAVAEE企业级应用、三大框架、MySQL、MVC模式。

第3章系统需求分析,对系统的总需求进行分析,并对我的微博模块、个人中心模块、最新动态模块、留言板模块、帮助中心模块的需求进行的分析。

第4章详细设计,在需求分析的基础上,进行总体设计,并对我的微博模块、个人中心模块、最新动态模块、留言板模块进行详细设计,进行数据库设计,对并数据关系进行说明。

第5章系统实现,系统总体实现部分主要论述一些功能子模块的实现,例如系统登录和注册、添加留言信息、删除好友功能、修改个人信息等。

第6章系统测试及维护,包括对测试原理及常用软件测试方法的介绍,针对登录部分设计测试用例,并对测试的结果如何进行说明。

第7章总结与展望,总结微博系统的研究情况,以及在设计和实现过程中的优点以及本系统还需要进行改进的地方。

第二章相关技术介绍

2.1JAVA语言概述

JAVA最初被命名为Oak,这类语言可以来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题,其目标设定在家用电器等小型系统的编程语言,因为这些智能化家电的市场需求没有Sun预期的高,所以放弃了该项计划。

但是随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,所以在Oak几近失败之时改造了Oak,并且正式发布,命名为“Java”。

Java编程语言的风格与C、C++语言十分类似。

不同的是:

Java是一个纯的面向对象的程序设计语言,Java舍弃了C++语言中容易引起错误的指针(用引用来取代)、多重继承(用接口来取代)、运算符重载(operatoroverloading)等特性,Java继承了C++语言面向对象技术的核心,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧[2]。

在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性[3]。

Java语言不同于一般的编译执行计算机语言和解释执行计算机语言。

Java的运行机制是首先将源代码编译成二进制字节码(bytecode),也就是所谓的机器语言,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。

不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。

但是,在J2SE1.4.2发布后,Java的执行速度有了大幅提升。

Sun公司在推出Java之际就将其作为一种与传统程序不同的开放的技术。

全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。

Sun公司的口号之一是“Java语言靠群体的力量而非公司的力量”,也获得了广大软件开发商的认同。

这与微软公司所倡导的注重精英和封闭式的模式是完全不同的[4]。

Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

这是Sun公司对Java编程语言的解释。

Java平台是基于Java语言的平台。

这样的平台目前非常流行,因此,微软公司先后推出了与之竞争的.NET平台以及模仿Java的C#语言。

Java的主要特性:

Java语言是简单的、面向对象的、分布式的,也是健壮的,更是安全的,Java语言的体系结构是中立的,Java语言具有可移植、多线程、动态等特征,Java也是一种解释型的语言,Java是高性能的。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。

Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。

Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。

特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

2.2JAVAEE平台技术介绍

JAVAEE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循JAVAEE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。

JAVAEE技术的基础就是核心Java平台或Java2平台的标准版,JAVAEE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构[5]。

JAVAEE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。

通过提供统一的开发平台,JAVAEE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans[6],有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。

JAVAEE的四层模型,如图2.1所示。

(1)运行在客户端机器上的客户层组件。

(2)运行在JAVAEE服务器上的Web层组件。

(3)运行在JAVAEE服务器上的业务逻辑层组件。

(4)运行在EIS服务器上的企业信息系统(Enterpriseinformationsystem)层软件。

图2-1JAVAEE的4层模型图

2.2.1Struts技术简介

Struts最早是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。

Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。

当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。

同样,软件工程师使用Struts为业务应用的每一层提供支持。

它的目的是为了帮助减少在运用MVC设计模型来开发Web应用的时间。

随着JSP与Servlet技术大量应用于以Web为基础的应用程序,Java开发人员群体认为应以较佳的模式以提升Web应用程序的可维护性与重复使用性。

早期JSP规格书中曾列举两种可行之JSP应用架构,分别为Model1与Model2。

如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。

在Model1架构中,JSP直接处理Web浏览器送来的请求(Request),并辅以JavaBean处理应用相关逻辑。

Model1架构单纯编写比较容易,但在Model1中JSP可能同时肩负View与Controller角色,两类程序代码有可能混杂而不易维护。

而Model2中将Servlet纳入架构中扮演前端Controller角色,将Web浏览器送出的请求集中送至Servlet,Servlet可集中管理使用者登入、权限控制、多国语言转换等前置处理,再视需求转向给对应的JSP处理。

Model2中采用了较佳的MVC模式,但增加了编写复杂度。

Struts是Apache软件基金下Jakarta项目的一部分。

除Struts之外,还有其他成功的开源产品,包括Tomcat,Ant和Velocity。

2000年CraigR.McClanahan先生贡献了他编写struts的JSPModel2架构的ApplicationFramework原始程序代码给Apache基金会,成为ApacheJakarta计划StrutsFramework前身。

Struts框架的主要架构设计和开发者是CraigR.McClanahan。

Craig也是Tomcat4的主要架构师,以及JavaWebServicesDeveloperPack的主要架构师和实现者。

他现在是Sun的JavaServerFaces(JSR-127)以及J2EE平台的Web层架构的规范领导。

CraigR.McClanahan先生是JCPExpertGroup成员之一,曾参与JSP规格制定与Tomcat4之编写,因此StrutsFramework广受Java开发人员群体所重视。

Borland自2002年底开始于开发工具JBuilder中支持StrutsFramework。

Struts最早是作为ApacheJakarta项目的组成部分问世运作。

项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。

除此之外,Struts的优点主要集中体现在两个方面:

Taglib和页面导航。

Taglib是Struts的标记库,灵活运用,能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。

Struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。

Struts提供的类使得开发工作更加简单,这些类包括:

1.控制程序流程的类;

2.实现和执行程序事务逻辑的类;

3.自定义的标记库使得创建和验证HTML表单更加容易。

2.2.2Hibernate技术简介

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate的核心接口一共有6个,分别为:

Session、SessionFactory、Transaction、Query、Criteria和Configuration。

这6个核心接口在任何开发中都会用到。

通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。

下面对这6个核心接口分别加以介绍。

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。

)。

但需要注意的是Session对象是非线程安全的。

同时,Hibernate的session不同于JSP应用中的HttpSession。

这里当使用session这个术语时,其实指的是Hibern

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2