基于ios的新浪微博iphone客户端的设计与实现毕业论文(编辑修改稿)内容摘要:

户发送一条私信; (9)收藏微博:收藏一条微博消息。 北京理工大学硕 士学位论文 6 图 微博客户端主要功能 客户端的主要任务 按照本文所设计的客户端的需求分析,它完全基于新浪微博开放平台的 REST API。 因此,它的主要任务是能够解析 REST API 返回的数据,以及按照 REST API 请求格式封装请求。 在客户端进行获取数据的过程中,解析接收到的数据是非常重要的上作。 如果解析失败,就不能看到正确的信息。 当请求返回到达客户端后,必须先调用相应的程序来进行解析,即首先根据请求的类型调用相应的处理函数来处理, 并将结果用于更新用户界面。 系统功能模块划分 功能模块划分是描述系统的一个过程,需要将需求分析中的感性描述进行抽象化,提取出要实现的功能,这是整个系统开发的一个关键过程。 在系统分析的基础上,确定系统的功能模块。 系统的功能模块图如下图 所示: 北京理工大学硕 士学位论文 7 图 系统功能模块图 开发者工具 XCode 是苹果公司的开发工具套件,它可用于管理工程,编辑代码,构建可执行文件,进行源码级调试,进行源代码仓库管 理,进行性能调节等。 套件的核心是 Xcode应用程序本身,它用于提供基本的源代码开发环境。 下面的章节将向您介绍开发 iOS软件将会用到的关键应用程序: (1)Xcode Xcode 是一个集成开发环境 (IDE),从创建及管理 iOS 上程和源文件到将源代码链编程可执行文件,并在设备运行代码或者在 iPhone模拟器上调试代码所需的各种工具 : 用于对软件产品进行定义的工程管理系统。 代码编辑环境,包括为文法显示不同颜色、代码补全以及符号指示等多种功能。 高级文档阅读工具,可用于阅读搜索苹果文档。 对上下文敏感的检查工具, 可用于查看选定代码符号的信息。 高级链编系统,具有依赖检查及链编规则计算功能。 GCC 编译器,此编译器支持对 C, C++, ObjectiveC, ObjectiveC++以及ObjectiveC 和其他语言进行编译。 微博客户端 用户 最新微博列表 发表新微博 评论微博 转发微博 搜索用户 添加关注和取消关注 登录或授权认证 北京理工大学硕 士学位论文 8 集成源码级的调试功能,此功能使用 GDB 来实现。 分布式计算,此功能可以让您将巨大的上程分布到数台联网的机器上运行。 预测编译,此功能可以加速单个文件的编译周转时间。 高级调试功能,例如停顿和继续运行,而且可以定制数据格式化方式。 高级重构工具,这些上具可以让您在不改变整体行 为的前提下对代码进行全局性的修改。 工程快照的支持。 工程快照是一种轻量级的本地源代码管理形式。 支持启动性能上具对软件进行分析。 支持源代码管理集成。 支持使用 AppleScript 实现链编过程自动化。 可以生成 DWARF 和 Stabs 调试信息 (所有的新上程都会默认生成 DWARF 调试信息 )。 Xcode 工程的中心部分是一个工程窗口,如图 所示。 此窗口为应用程序的关键元素提供快速访问。 Groups amp。 Files 列表,可以对工程文件 (包括源文件以及由源文件生成的链编口标 )进行管理。 工具栏可以访问常用的上具和 命令。 详情面板可以配置出一块区域用于对文件进行各种操作。 工程窗口的其他部分提供一些工程上下文信息。 图 Xcode 工程窗口 北京理工大学硕 士学位论文 9 通过 Xcode 链编应用程序的时候,可将其链编至 iPhone 模拟器或设备。 模拟器为应用程序测试提供本地环境,可以通过它测试应用程序是否具有正确行为。 当应用程序的基本行为符合预期后,再通过 Xcode 将其链编到设备上,然后在己连接至计算机的 iOS 设备上运行程序。 在设备运行应用程序是最终测试环境。 在这一测试过程中,Xcode 允许您将内建调试器绑定至设备上运行的代码,直接在设备上进行调试。 如图 所示。 图 Xcode 中运行项目 (2)Interface Builder Interface Builder 以所见即所得方式组装用户界面。 通过 Interface Builder,把标准系统控件拖拽到应用程序窗口,并最终组装出应用程序的用户界面。 可以使用 inspector配置组件属性,并在对象和代码之间建立正确关联。 当用户界面达到要求后,保存并将这些界面的内容保存到 nib 文件 (一种定制的资源文件格式 )。 如图 所示。 北京理工大学硕 士学位论文 10 图 Interface Builder 创建界 面 使用 Interface Builder 之后,在创建、配置及摆放界面对象的时候就无需再编写定制代码,因为它是一种可视化的编辑器,编辑时所见的界面即运行时所得。 (3)Instruments 为确保软件具有最佳的用户体验,在 iOS 应用程序运行于模拟器或设备上时,可以利用 Instruments 环境分析其性能。 Instruments 会收集运行程序的数据,并以时间线方式展现数据。 可以采集应用程序数据包括应用程序内存使用情况、磁盘活动、网络活动以及图形性能。 使用 Instruments 调整应用程序如图 所示。 北京理工大学硕 士学位论文 11 图 Instruments 调整应用程序 本章小结 本章对客户端软件的功能需求进行了分析,讨论了客户端应该满足的条件、主要功能和主要任务,最后对客户端划分了功能模块,共包括登陆、最新微博列表、发表新微博、评论微博、转发微博、搜索用户、添加和取消关注七个功能模块。 本章第二部分介绍了开发者工具,主要有 Xcode, Interface Builder, Instruments 三种。 北京理工大学硕 士学位论文 12 第 3 章 系统的设计 系统总体设计概述 新浪微博 iOS 客户端客户端的系统设计主要分为 程序的前端和后端两层,程序的前端主要负责客户端与微博用户之间的交互,后端主要负责网络请求,数据库访问,数据解析的实现。 系统由程序的前端微博用户模块和后端管理模块两个主要模块组成,同时具备了设定数据库,访问数据库,修改数据库等多种功能,各个功能模块相互协调工作。 下面是系统设计分层体系结构图。 客户端分层架构图,如图 所示: 前台 应用程序接口 后台 图 客户端分层架构图 前台部分主要负责客户端与用户之间的交互,包括接收用户请求和显示返回结果两个部分。 前台通过调用己经封 装好的应用程序接口 .IJ 以方便使用客户端的各项功能。 后台部分主要负责网络请求,数据库访问,数据解析的实现。 JSON 数据解析模块主要负责对 JSON 数据的内容进行解析和编码; REST API 网络访问模块主要负责新浪微博 REST API 网络请求;数据库访问模块主要负责本地数据库的读写访问。 用户接口 JSON 数据解析模块 网络模块 数据库访问模块 北京理工大学硕 士学位论文 13 除了用前后端的形式表现新浪微博 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 认证的原理如下图 所示: 北京理工大学硕 士学位论文 14 图 认证原理图 系统模块设计 用户注册模块 功能描述:在用户第一次使用该应用时,如还未获得新浪微博的账号,可以通过配置页面跳转到新浪微博的用户注 册页面。 参与者:未注册的用户。 前置条件:所有未注册的用户。 后置条件:提示注册是否成功。 该模块用例如下图 所示: 图 用户注册用例图 用户登陆和授权模块 功能描述:对于第一次使用该应用的用户,在程序启动之后进入配置页面,输入 客 户 端 新 浪 微 博 服 务 器 将 APPKEY和 APPSECRET发送至新浪微博 返回 RequestToken和 RequestSecret给客户端表示新浪微博信任客户端 将 RequestToken和 RequestSecret发送至 新浪微博跳转至授权页面 授权页面 输 入 账号密码 完成授权 根据回调地址返回 oauth_verifier,表示用户信任客户端 将 RequestToken、 RequestSecret、 oauth_verifier发送至新浪微博 返回 user_id、 AccessToken和 AccessSecret用来代替账号密码 用户注册 未注册用户 北京理工大学硕 士学位论文 15 用户名和密码进行授权认证。 对于用户在自己的手机上使用过或者已经通过了授权认证则可以不用输入用户名和密码就可以选择用户进行登录。 参与者:未通过授权认证或者未登录。 前置条件:未通过授权认证或者未登录的用户。 后置条件:通过授权配置或者直接登录系统。 用户登录和授权模块用例如下图 所示: 图 用户登录和授权认证用例图 用户登录和授权模块流程图如图 所示: 通过授权认证 选择用户进行登录 用户 北京理工大学硕 士学位论文 16 图 用户登录和授权流程图 系统第一界面展示模块 功能描述:显示被用户添加关注的好友的最新微博信息。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:在首页显示所有被用户添加关注的最新微博信息列表。 该模块用例如下图 所示: 判断是否存在已授权用户 授权配置 开始 启动应用 登录 登录到应用首页 结束 是 否 北京理工大学硕 士学位论文 17 图 系统首页信息显示用例图 系统首页显示模块流程图如图 所示: 图 显示主界面流程图 发表微博模块 功能描述:该模块主要实现了用户发表微博的功能。 参与者:合法登录用户。 前置条件:已登录用户。 后置条件:新微博信息是否发表成功。 该模块用例如下图 所示: 加载数据 开始 进入首页 发表新微博 结束 显示最新微博的列表 搜索其他用户 用户 查看微博列表 搜索用户 发表新微博 北京理工大学硕 士学位论文 18 图 发表微博用例图 发表新微博流程图如下图 所示: 图 发表微博流程图 搜索相关用户模块 点击首页微博发送按钮 开 始 输入内容 点击发。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。