基于ios的新浪微博iphone客户端的设计与实现大学本科毕业论文.doc
《基于ios的新浪微博iphone客户端的设计与实现大学本科毕业论文.doc》由会员分享,可在线阅读,更多相关《基于ios的新浪微博iphone客户端的设计与实现大学本科毕业论文.doc(69页珍藏版)》请在咨信网上搜索。
基于iOS的新浪微博iPhone客户端的设计与实现 Design and implementation of Sina microblogging iPhone iOS-based client Candidate Name: Mu Zelin School or Department: Software School Faculty Mentor: Xue Jingfeng Chair, Thesis Committee:Prof. XXX Degree Applied: Master of Engineering Major: Software Engineering Degree by: Beijing Institute of Technology The Date of Defence: June,2014 研究成果声明 本人郑重声明:所提交的学位论文是我本人在指导教师的指导下进行的研究工作获得的研究成果。尽我所知,文中除特别标注和致谢的地方外,学位论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京理工大学或其它教育机构的学位或证书所使用过的材料。与我一同工作的合作者对此研究工作所做的任何贡献均已在学位论文中作了明确的说明并表示了谢意。 特此申明。 签 名: 日期: 关于学位论文使用权的说明 本人完全了解北京理工大学有关保管、使用学位论文的规定,其中包括:①学校有权保管、并向有关部门送交学位论文的原件与复印件;②学校可以采用影印、缩印或其它复制手段复制并保存学位论文;③学校可允许学位论文被查阅或借阅;④学校可以学术交流为目的,复制赠送和交换学位论文;⑤学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。 签 名: 日期: 导师签名: 日期: 北京理工大学硕士学位论文 摘要 本课题的目的是开发一个基于iOS操作系统的新浪微博iOS客户端客户端软件。以新浪微博iOS客户端开放平台作为服务与数据获取来源,以iOS作为系统开发和运行环境,完成系统的设计、开发和测试工作。SNS(Social Networking Services)是近年互联网新媒体中一类重要的应用服务。SNS即社会性网络服务,旨在帮助人们建立社会性网络的互联网应用服务。 所谓开放平台,就是首先提供一个基本服务,然后通过开放自身的接口,使得第三方开发者得以将自己的应用统一运行在这一平台之上,我们把这样的一种网络服务模式叫做开放平台。 系统开发过程中第一步先分析了新浪微博iOS客户端客户端应该具备的各项功能,并对各个功能做了非常细腻的的需求分析与定义。第二步去确定系统的整体结构,然后进行了有效的模块划分,确定了新浪微博iOS客户端客户端的设计方案。最后一步是在iOS这款移动操作系统上进行编码实现。并对客户端进行了功能和性能测试,并对整个工作做了总结。 该系统的实现和使用,为微博用户提供了基于移动终端访问新浪微博iOS客户端数据和服务的客户端软件,适应智能移动终端设备发展的潮流需要,满足人们随时随地访问新浪微博iOS客户端数据和服务的需求。 关键词:开放平台,微博,iOS, iPhone, SQLite Abstract The purpose of this project is to develop an operating system based on iOS client Sina microblogging client software. Sina Weibo iOS client open platform as a service and data acquisition sources to iOS as a system development and runtime environment, complete the system design, development and testing. SNS (Social Networking Services) is a new media in recent years, the Internet an important class of applications. SNS social networking service that is designed to help people build social networks of Internet application services. The so-called open platform, is the first to provide a basic service, and then through open their interfaces to third-party developers to make their applications run on this unified platform, we put such a network service model is called an open platform. The first step in the process of developing the system first analyzes the Sina microblogging client iOS client should have various functions, and each function to do a very delicate needs analysis and definition. The second step to determine the overall structure of the system, and then make a valid module division to determine the Sina microblogging client iOS client design. The final step is to encode this implemented on iOS mobile operating system. And client functionality and performance testing, and the entire work summarized. Implementation and use of the system, as microblogging client software offers users access to mobile terminals based on Weibo iOS client data and services need to adapt to the trend of the development of smart mobile devices, meet people anywhere, anytime access to Sina Weibo iOS demand client data and services. Key Words: open platform, weibo, iOS, iPhone, SQLite 目录 第1章 绪论 1 1.1 选题背景 1 1.2 开放平台国内外研究现状 2 1.2.1 开放平台的优势 3 1.2.2 开放平台的分类 3 1.2.3 开放API与下一代网络 3 1.3 论文的主要工作 4 1.4 论文的组织结构 4 第2章 系统需求分析 4 2.1 客户端的需求分析 4 2.1.1 客户端应满足的条件 5 2.1.2 客户端的主要功能 5 2.1.3 客户端的主要任务 6 2.1.4 系统功能模块划分 6 2.2 开发者工具 7 2.3 本章小结 11 第3章 系统的设计 12 3.1 系统总体设计概述 12 3.2 系统模块设计 14 3.2.1 用户注册模块 14 3.2.2用户登陆和授权模块 14 3.2.3系统第一界面展示模块 16 3.2.4发表微博模块 17 3.2.5搜索相关用户模块 18 3.2.6查看微博内容模块 20 3.2.7查看用户信息模块 22 3.2 系统后端访问层设计 24 3.2.1 三种网络状态 24 3.2.2 网络状态检测 25 3.2.3 网络状态变化 25 3.2.4 网络请求 26 3.2.5 oAuth 授权模块 28 3.2.6 用户认证 30 3.2.7 xAuth 31 3.3 数据库的设计 34 3.3.1 数据库的访问 34 3.3.2 数据库概念设计 35 3.3.3 数据库逻辑设计 37 3.3.4 数据库表的创建 39 3.3.5 JSON数据解析模块 42 3.4本章小结 43 第4章 客户端功能的实现 43 4.1 客户端总体功能实现概述 43 4.2 登陆验证的实现 44 4.2 主界面显示模块实现 45 4.3 搜索相关用户功能的实现 47 4.4 发表微博功能的实现 48 4.5 微博信息浏览模块的实现 48 4.6 获取用户信息模块的实现 50 4.7 查看关注功能的实现 51 4.8 查看用户所有信息功能的实现 51 4.9 本章小结 52 第5章 系统的测试 53 5.1 单元测试 53 5.2 本章小结 54 结 论 55 参考文献 57 致谢 58 57 第1章 绪论 1.1 选题背景 SNS(Social Networking Services)是近年互联网新媒体中一类重要的应用服务。SNS即社会性网络服务,旨在帮助人们建立社会性网络的互联网应用服务。建立在真实社会的人际关系基础上的网络用户关系构架。通俗的说,它是指可供用户以真实姓名登录,并在登录平台上以真实身份进行交流的站点,人们可以上传音乐和照片、撰写blog、小组讨论、交友等等。 美国人基于哈佛大学心理学教授Stanley Milgram创立的六度分割理论,最早构思出SNS概念。根据六度分割理论,每个个体和任何一个陌生人之间所间隔的人不会超过六个,即最多通过六个人你就能够认识任何一个陌生人。按照该理论,每个个体的社交圈可以不断放大并相互交叉,最终形成一个大型网络一一即社会性网络(SocialNetworking) 。 随着计算机网络技术的发展,在结合六度空间理论和WEB2.0技术的基础上,一些著名的SNS网站——Facebook, MySpace等在2003年前后相继出现。随后几年,此类通过“熟人的熟人”来进行网络社交拓展的SNS网站在全球网络用户中风靡,例如我们所熟知的:Orkut, StudiVZ, Skyrock, LinkedIn, Friendster等等。 据相关数据显示,目前中国4.2亿的互联网用户中,超过50%的用户都使用SNS网站,并且SNS网站能做到每人每天至少登录一至两次。易观国际预计2011年SNS注册用户数规模将达到5.1亿。业内人士指出,今年SNS社交网站的市场规模将超过10亿元,增速超过200%,明年市场规模有望翻倍,超过20亿元。 SNS社交网站近两年发展得如火如茶,伴随着网上农场等游戏的普及,越来越多的人在不知不觉中熟悉了SNS社交网站。 微博,即微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB , WAP以及各种客户端组件个人社区,以140字左右的文字更新信息,并实现即时分享。最早也是最著名的微博是美国的Twitter 。 SNS网站面临着发展势头正猛的微博客的威胁。Facebook的用户都是以现实生活中结识的朋友组成圈子相互交流,Twitter则降低了门槛,用户之间即使并不认识,但任何人的每一条信息都能以广播的形式通知其跟随者和其他所有的用户知道。 “在微博客上,140字的限制将平民和莎士比亚拉到了同一水平线上”,微博被称为140字符的革命。微博客上,每个人都形成了一个“自媒体”,每个人都是信息的生产者和消费者。 一些大的突发事件或引起全球关注的大事,如果有微博客在场,利用各种手段在微博客上发表出来,其实时性、现场感以及快捷性,甚至超过所有媒体。 社交网络不仅与我们的口常生活深深的结合在了一起,它还走进了政治领域,形成了“微博外交”。社交媒体缔造者马蒂亚斯•鲁夫金斯在世界经济论坛上发言称,目前Twitter上有62位首脑活跃其中。 国内微博企业无一例外地把学习的榜样都锁定在了Twitter身上,由于是本土中文服务,与其他网站互通性更强,自然比Twitter更能吸引国内用户。互联网化和泛媒体化的趋势开启了第一代博客的应用,而互联网持续的高渗透率以及当下媒体消费者也是媒体生产者的理念,催生了类似微博这种新生平台。 2009年8月份中国最大的门户网站新浪网推出“新浪微博”内测版,成为门户网站中第一家提供微博服务的网站,微博正式进入中文上网主流人群视野。2010年被称为中国“微博元年”。微博己逐渐发展成介入公共事务的新媒体,成为网络舆论中最具影响力的一种。 移动互联网,就是将移动通信和互联网二者结合起来,成为一体。移动终端提供的便利性和多媒体化,使得微型博客用户体验的粘性越来越强。 随着3G应用的发展,移动互联网也将为社交网络和微博带来革命性的变化,互联网正变得“社交化”。 现在每天都有超过2500万条的新浪微博内容,其中有38%都是来自于移动终端。易观国际预计,2011年开始,随着移动互联网业务的持续发展,移动SNS活跃账户规模又将进入年增长52%-65%的高速增长期,到2013年移动SNS活跃账户规模已达到4.19亿元。 1.2 开放平台国内外研究现状 开放平台(Open Platform)在软件业和网络中,开放平台是指软件系统通过公开其应用程序编程接口(API)或函数(function)来使外部的程序可以增加该软件系统的功能或使用该软件系统的资源,而不需要更改该软件系统的源代码。 在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做Open API,提供开放API的平台本身就被称为开放平台。通过开放平台,网站不仅能提供对Web网页的简单访问,还可以进行复杂的数据交互,将它们的Web网站转换为与操作系统等价的开发平台。第三方开发者可以基于这些己经存在的、公开的Web网站而开发丰富多彩的应用。 新浪微博开放平台是一个基于新浪微博客系统的开放的信息订阅、分享与交流平台。您可以登录平台并创建应用,使用微博平台提供的接口,创建有趣的应用或者让您的网站具有更强的社交特性。新浪微博Web Service API是REST风格的。 1.2.1 开放平台的优势 通过开放API的方式,我们可以对众多的信息和应用进行再加工,使得之间的关联得以显现。在开放API的环境下,我们就可以对原有的一些碎片化的数据进行重组,使其变得更有关联。这时候出现了叫做mashup的东西。mashup又叫做Web应用混搭技术,指的是利用其他网站的OpenAPl提供的内容进行重新搭配,从而制作出独特的、具有新价值的Web应用的一种技术。其中最具代表性的当属运用Google Maps提供的开放地理信息而创作出的令人眼花缭乱、极具创意的mashup应用。 1.2.2 开放平台的分类 开放平台按照是否提供有显著应用模式的服务可以划分为两类: 1、应用型开放平台 应用型开放平台的特点是自身依赖一个基础的应用模式(例如用户关系、博客等),然后开放平台供第三方开发者扩展,这一类的开放平台大致有以下几类:基于用户关系的,例如Facebook;基于个人门户的,如myyahoo, igoogle;基于博客的,例如sohu blog。 2、服务型开放平台 服务型开放平台常常不会太引人注意,因为它们往往是躲在幕后的角色。这类平台本身并没有一个基础的应用模式,而是把计算资源作为一种服务,通过开放API提供给开发者,让开发者能够以极为低廉的服务费拥有大量、稳定的计算或存储资源。这类开放平台有一个热门的昵称,“云计算”。这方面的代表有amazon S3,Google Appengine。 1.2.3 开放API与下一代网络 下一代网络(Next Generation Network, NGN,又称为次世代网络。主要思想是在一个统一的网络平台上以统一管理的方式提供多媒体业务,整合现有的市内固定电话、移动电话的基础上(统称FMC,增加多媒体数据服务及其他增值型服务。其中话音的交换将采用软交换技术,而平台的主要实现方式为IP技术,逐步实现统一通信其中voip将是下一代网络中的一个重点。 使用API构建业务是实现开放式业务结构的关键技术,也是下一代网络区别于传统电信网的主要特点之一。目前,关于下一代网络的开放式业务API标准主要包括:由Parlay组织、3 GPP和ETSI SPAN共同制定的Parlay/OSA API以及由SUN公司在Java平台上推出的JAIN API。 1.3 论文的主要工作 本文的主要工作为设计实现符合新浪微博开放平台应用规范的基于iOS的iPhone手机客户端,通过调用开放平台api与服务器通信,实现移动终浏览和发布微博等功能,主要有以下工作: 1)研究新浪微博开放平台,API文档和授权机制等相关规范说明; 2)研究iOS平台软件开发相关技术; 3)在以上工作的基础了,按照微博开放平台api调用规范,制定基于iOS的客户端的设计方案,并进行实现。 1.4 论文的组织结构 本文共分5章,第1章绪论,说明了课题背景,开放平台研究,本文的主要工作和论文的组织结构。 第2章详细讨论客户端的功能需求分析及开发工具。 第3章详细讨论了客户端软件和数据库的设计。 第4章详细讨论了客户端软件功能的实现。 第5章对软件进行了单元测试。 第2章 系统需求分析 2.1 客户端的需求分析 2.1.1 客户端应满足的条件 作为一个微博客户端,需要满足的基本特点,如:把用户请求转化成服务器能够理解和处理的格式;向服务器传送用户请求,同时接收服务器响应;解析来自服务器的响应,并将其展示给用户等等。 在深入分析新浪微博开放平台API的基础上,本文所设计的基于iOS操作系统的微博iPhone客户端应该满足如下几个要求: 访问微博REST API身份认证方式采用oAuth方式; 限制单位时间内用户访问微博接口的次数; 能够网络返回解析JSON数据; 保存最近从网络获取的数据到本地数据库。 2.1.2 客户端的主要功能 本应用程序启动后,可以通过使用新浪的微博开放平台,利用接口调用返回的数据,进行用户注册,用户信息配置,授权认证,用户登录。登录成功之后进入程序首页,可以显示微博好友发布的最新微博信息,以及相关图片的浏览。可以查看好友的个人信息、粉丝数量、发表的话题、所有发表过的微博以及其关注的好友情况。客户端软件主要是能够为用户提供实时信息交换,其主要功能模块包括:用户登录验证,获取follower微博列表,获取回复@微博列表,获取私信列表,获取收藏列表,发送微博,发送回复@微博,发送私信等。客户端的主要功能,如图2.1所示: (1)用户验证登录:用户登录服务器并进行身份验证; (2)获取关注微博列表:获取用户follow的关注对象的微博; (3)获取回复@微博列表:获取其他用户回复给用户的@微博,回复@微博所有人都可以看见; (4)获取私信列表:获取其他用户发给该用户的私信,私信只在对话用户之间可见; (5)获取收藏列表:获取用户收藏的微博; (6)发送微博:用户撰写并发送一条新的微博; (7)回复@微博:用户以@回复某用户的方式发送一条微博; (8)发送私信:用户向其他用户发送一条私信; (9)收藏微博:收藏一条微博消息。 图2.1 微博客户端主要功能 2.1.3 客户端的主要任务 按照本文所设计的客户端的需求分析,它完全基于新浪微博开放平台的REST API。因此,它的主要任务是能够解析REST API返回的数据,以及按照REST API请求格式封装请求。 在客户端进行获取数据的过程中,解析接收到的数据是非常重要的上作。如果解析失败,就不能看到正确的信息。 当请求返回到达客户端后,必须先调用相应的程序来进行解析,即首先根据请求的类型调用相应的处理函数来处理,并将结果用于更新用户界面。 2.1.4 系统功能模块划分 功能模块划分是描述系统的一个过程,需要将需求分析中的感性描述进行抽象化,提取出要实现的功能,这是整个系统开发的一个关键过程。在系统分析的基础上,确定系统的功能模块。 系统的功能模块图如下图2.2所示: 微博客户端 用户 最新微博列表 发表新微博 评论微博 转发微博 搜索用户 添加关注和取消关注 登录或授权认证 图2.2 系统功能模块图 2.2 开发者工具 XCode是苹果公司的开发工具套件,它可用于管理工程,编辑代码,构建可执行文件,进行源码级调试,进行源代码仓库管理,进行性能调节等。套件的核心是Xcode应用程序本身,它用于提供基本的源代码开发环境。下面的章节将向您介绍开发iOS软件将会用到的关键应用程序: (1)Xcode Xcode是一个集成开发环境(IDE),从创建及管理iOS上程和源文件到将源代码链编程可执行文件,并在设备运行代码或者在iPhone模拟器上调试代码所需的各种工具: 用于对软件产品进行定义的工程管理系统。 代码编辑环境,包括为文法显示不同颜色、代码补全以及符号指示等多种功能。 高级文档阅读工具,可用于阅读搜索苹果文档。 对上下文敏感的检查工具,可用于查看选定代码符号的信息。 高级链编系统,具有依赖检查及链编规则计算功能。 GCC编译器,此编译器支持对C, C++, Objective-C, Objective-C++以及Objective-C 2.0和其他语言进行编译。 集成源码级的调试功能,此功能使用GDB来实现。 分布式计算,此功能可以让您将巨大的上程分布到数台联网的机器上运行。 预测编译,此功能可以加速单个文件的编译周转时间。 高级调试功能,例如停顿和继续运行,而且可以定制数据格式化方式。 高级重构工具,这些上具可以让您在不改变整体行为的前提下对代码进行全局性的修改。 工程快照的支持。工程快照是一种轻量级的本地源代码管理形式。 支持启动性能上具对软件进行分析。 支持源代码管理集成。 支持使用AppleScript实现链编过程自动化。 可以生成DWARF和Stabs调试信息(所有的新上程都会默认生成DWARF调试信息)。 Xcode工程的中心部分是一个工程窗口,如图2.3所示。此窗口为应用程序的关键元素提供快速访问。Groups &Files列表,可以对工程文件(包括源文件以及由源文件生成的链编口标)进行管理。工具栏可以访问常用的上具和命令。详情面板可以配置出一块区域用于对文件进行各种操作。工程窗口的其他部分提供一些工程上下文信息。 图2.3 Xcode工程窗口 通过Xcode链编应用程序的时候,可将其链编至iPhone模拟器或设备。模拟器为应用程序测试提供本地环境,可以通过它测试应用程序是否具有正确行为。当应用程序的基本行为符合预期后,再通过Xcode将其链编到设备上,然后在己连接至计算机的iOS设备上运行程序。在设备运行应用程序是最终测试环境。在这一测试过程中,Xcode允许您将内建调试器绑定至设备上运行的代码,直接在设备上进行调试。如图2.4所示。 图2.4 Xcode中运行项目 (2)Interface Builder Interface Builder以所见即所得方式组装用户界面。通过Interface Builder,把标准系统控件拖拽到应用程序窗口,并最终组装出应用程序的用户界面。可以使用inspector配置组件属性,并在对象和代码之间建立正确关联。当用户界面达到要求后,保存并将这些界面的内容保存到nib文件(一种定制的资源文件格式)。如图2.5所示。 图2.5 Interface Builder创建界面 使用Interface Builder之后,在创建、配置及摆放界面对象的时候就无需再编写定制代码,因为它是一种可视化的编辑器,编辑时所见的界面即运行时所得。 (3)Instruments 为确保软件具有最佳的用户体验,在iOS应用程序运行于模拟器或设备上时,可以利用Instruments环境分析其性能。Instruments会收集运行程序的数据,并以时间线方式展现数据。可以采集应用程序数据包括应用程序内存使用情况、磁盘活动、网络活动以及图形性能。使用Instruments调整应用程序如图2.6所示。 图2.6 Instruments调整应用程序 2.3 本章小结 本章对客户端软件的功能需求进行了分析,讨论了客户端应该满足的条件、主要功能和主要任务,最后对客户端划分了功能模块,共包括登陆、最新微博列表、发表新微博、评论微博、转发微博、搜索用户、添加和取消关注七个功能模块。本章第二部分介绍了开发者工具,主要有Xcode,Interface Builder,Instruments三种。 第3章 系统的设计 3.1 系统总体设计概述 新浪微博iOS客户端客户端的系统设计主要分为程序的前端和后端两层,程序的前端主要负责客户端与微博用户之间的交互,后端主要负责网络请求,数据库访问,数据解析的实现。 系统由程序的前端微博用户模块和后端管理模块两个主要模块组成,同时具备了设定数据库,访问数据库,修改数据库等多种功能,各个功能模块相互协调工作。下面是系统设计分层体系结构图。 客户端分层架构图,如图3.1所示: 用户接口 前台 应用程序接口 后台 JSON数据解析模块 网络模块 数据库访问模块 图3.1 客户端分层架构图 前台部分主要负责客户端与用户之间的交互,包括接收用户请求和显示返回结果两个部分。前台通过调用己经封装好的应用程序接口.IJ以方便使用客户端的各项功能。 后台部分主要负责网络请求,数据库访问,数据解析的实现。JSON数据解析模块主要负责对JSON数据的内容进行解析和编码;REST API网络访问模块主要负责新浪微博REST API网络请求;数据库访问模块主要负责本地数据库的读写访问。 除了用前后端的形式表现新浪微博iOS客户端客户端的系统设计之外,还要考虑到系统在图形,开放性和安全性方面的设计,下面是新浪微博iOS客户端系统在其他方面的系统设计概述: 在功能方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。 在系统开放性方面,基于优秀的开发平台,再按照软件工程开发规范实现系统的开放性,既便于内容的扩充又便于技术的升级,以适用今后其他人的借鉴需求。 在系统和数据的安全性方面,本项目是采用OAuth认证方式,采用这种方式就需要有用户的新浪UserID、Access Token、Access Secret这3个要素才能自由便利的调用新浪的开放接口。本项目是这样实现的,当用户第一次使用软件时,进行授权认证获取这3个要素,同时将其存储到SharedPreferences中以便用户下次使用。当用户再次使用时就不需要重新进行繁琐的授权认证操作,直接从SharedPreferences中读取出来即可使用。这样的需求载入页面的功能设定是这样实现的:当用户打开软件显示载入页面时开始检查SharedPreferences中是否已经保存有用户的新浪微博的UserID号、Access Token、Access Secret的记录,如果一条记录都没有那就说明用户是第一次使用本软件,那么跳到认证授权页面进行授权认证操作(认证授权功能在接下来的两篇中进行实现讲解)获取这3个值保存到SharedPreferences中,如果已经包括了记录那么读取这些记录的UserID号、Access Token、Access Secret值然后根据这3个值调用新浪的API接口获取这些记录对应的用户昵称信息等。OAuth认证的原理如下图3.2所示: 客 户 端 新 浪 微 博 服 务 器 将APPKEY和APPSECRET发送至新浪微博 返回RequestToken和RequestSecret给客户端表示新浪微博信任客户端 将RequestToken和RequestSecret发送至 新浪微博跳转至授权页面 授权页面 输 入 账号密码 完成授权 根据回调地址返回oauth_verifier,表示用户信任客户端 将RequestToken、RequestSecret、oauth_verifier发送至新浪微博 返回user_id、AccessToken和AccessSecret用来代替账号密码 图3.2 OAUTH2.0认证原理图 3.2 系统模块设计 3.2.1 用户注册模块 功能描述:在用户第一次使用该应用时,如还未获得新浪微博的账号,可以通过配置页面跳转到新浪微博的用户注册页面。 参与者:未注册的用户。 前置条件:所有未注册的用户。 后置条件:提示注册是否成功。 该模块用例如下图3.3所示: 未注册用户 用户注册 图3.3 用户注册用例图 3.2.2用户登陆和授权模块 功能描述:对于第一次使用该应用的用户,在程序启动之后进入配置页面,输入用户名和密码进行授权认证。对于用户在自己的手机上使用过或者已经通过了授权认证则可以不用输入用户名和密码就可以选择用户进行登录。 参与者:未通过授权认证或者未登录。 前置条件:未通过授权认证或者未登录的用户。 后置条件:通过授权配置或者直接登录系统。 用户登录和授权模块用例如下图3.4所示: 用户 通过授权认证 选择用户进行登录 图3.4 用户登录和授权认证用例图 用户登录和授权模块流程图如图3.5所示: 判断是否存在已授权用户 授权配置 开始 启动应用 登录 登录到应用首页 结束 是 否 图3.5 用户登录和授权流程图 3.2.3系统第一界面展示模块 功能描述:显示被用户添加关注的好友的最新微博信息。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:在首页显示所有被用户添加关注的最新微博信息列表。 该模块用例如下图3.6所示: 用户 查看微博列表 搜索用户 发表新微博 图3.6 系统首页信息显示用例图 系统首页显示模块流程图如图3.7所示: 加载数据 开始 进入首页 发表新微博 结束 显示最新微博的列表 搜索其他用户 图3.7 显示主界面流程图 3.2.4发表微博模块 功能描述:该模块主要实现了用户发表微博的功能。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:新微博信息是否发表成功。 该模块用例如下图3.8所示: 用户 发布微博 图3.8 发表微博用例图 发表新微博流程图如下图3.9所示: 点击首页微博发送按钮 开始 输入内容 点击发送 判断 结束 发送失败 图3.9 发表微博流程图 3.2.5搜索相关用户模块 功能描述:该模块主要实现了通过关键字搜索相关用户的功能。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:搜索成功返回结果。 搜索模块用例如下图3.10所示: 用户 查看返回的用户列表 添加对搜索到用户的关注 输入关键字搜索 图3.10 搜索用例图 搜索功能流程图如下图3.11所示: 开始 输入关键词 显示与关键字相关的微博用户列表 点击某一用户进入该用户详细信息页面 添加关注或者返回 结束 图3-11搜索功能流程图 3.2.6查看微博内容模块 功能描述:该模块实现了用户可以通过点击某一条微博信息查看该微博的所有内容,并进行评论和转发操作。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:可以转发和参与评论。 查看微博内容模块用例如下图3.12所示: 查看微博 详细信息 转发 评论 用户 图3.12 查看微博用例图 评论微博功能流程图如下图3.13所示: 点击评论按钮进入评论页面 开始 结束 输入评论内容 点击发送 判断 评论失败 图3.13 评论功能流程图 转发功能流程图如下图3.14所示: 点击评论按钮进入转发页面 开始 结束 输入转发内容 点击发送 判断 转发失败 图3.14 转发功能流程图 3.2.7查看用户信息模块 功能描述:查看好友的详细信息。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:查看好友详细信息(包括所有微博,话题,关注,粉丝)关注和取消关注操作。 查看用户信息模块用例如下图3.15所示: 添加对好友粉丝的关注 对好友进行关注和取消关注 添加对好友所关注用户的关注 查看好友的详细信息 查看好友的关注列表 用户 查看好友所有微博信息 查看好友的所有话题 查看好友的粉丝列表 图3.15 查看用户信息用例图 查看关注和添加关注功能具体流程图如下图3.16所示: 点击进入关注列表 开始 结束 查看用户信息 添加关注 图3.16 查看关注和添加关注流程图 查看用户所有微博列表功能流程如下图3.17所示: 结束 点击微博按钮 开始 用户所有微博列表界面 查看某一条微博详细信息同时进行评论和转发操作 图3.17 查看用户所有微博列表流程图 3.2 系统后端访问层设计 后端主要负责网络请求,数据库访问,数据拆分的展示。JSON数据分析模块,统一重点承担对JSON数据和代码的内容;REST API数据交互机制统一重点承担新浪微博iOS客户端RESTAPI客观待遇;通过数据库机制统一重点承- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ios 新浪 iphone 客户端 设计 实现 大学本科 毕业论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文