基于iOS的天气预报查询系统的设计与实现毕业设计论文(30页).doc
《基于iOS的天气预报查询系统的设计与实现毕业设计论文(30页).doc》由会员分享,可在线阅读,更多相关《基于iOS的天气预报查询系统的设计与实现毕业设计论文(30页).doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于iOS的天气预报查询系统的设计与实现毕业设计论文-第 25 页基于iOS的天气预报查询系统的设计与实现摘要 随着科学技术的发展,移动终端逐渐走进人们的视线,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。本课题研究的是基于iOS平台下的天气软件,目的是帮助用户随时随地查询天气信息及天气变化情况,让生活更加舒适方便。本文详细讲述了iOS平台下天气软件的界面设计及数据处理部分,主要包括界面的实现、控件的使用、界面的布局和数据的处理等内容,结合WEB服务网的气象数据,将准确的天气情况以友好的方式呈现给用户,使用户可以更加愉快地体验本软件的服务。关键词 iOS 界面 查询 天气预
2、报Design And Implementation Of Weather Query System Based On iOSAbstract With the development of science and technology, the mobile terminal gradually into the peoples attention, related to more widely, and play an increasingly important role in peoples daily lives. The study of this topic is the wea
3、ther forecast software based on the iOS platform ,and designed to help the user to query weather information and weather changes anytime, anywhere, to make life more comfortable and convenient. This paper describes the software interface design of the iOS platform under the weather and data handling
4、 part, including the contents of the interface implementation, the use of controls, the layout of the interface, and data handling and so on, combined with weather data of the Web Service, will be accurate weather conditions presented to the user-friendly way, allows the user to experience more enjo
5、yable the service of this software.Key words iOS interface query weather orecast目录1 引言11.1 项目开发背景11.2 国内外相关领域研究现状11.3 论文研究的内容21.4 论文研究的意义31.5 论文内容的安排32 系统解决方案42.1 需求分析42.1.1 功能需求42.1.2 可靠性和可用性需求72.1.3 系统内容需求82.2 技术架构82.2.1 Foundation框架简介82.2.3 UIKit框架简介92.2.3 ASIHTTPRequest类库简介92.2.4 JSONkit类库简介92.2
6、.5 MVC设计模式简介102.3 开发平台102.3.1 iOS开发基本背景简介102.3.2 iOS开发平台搭建113 系统总体设计123.1 系统模块划分123.1.1 菜单模块123.1.2 天气查询模块123.1.3 分享模块133.2 系统总体结构133.2.1 系统模块协作关系133.2.2 系统启动流程143.2.3 系统内容结构组织144 系统详细设计164.1 菜单模块164.1.1 菜单模块的主要功能164.1.2 菜单模块的UI布局164.1.3 菜单模块的动画效果实现164.2 天气查询模块174.2.1用POST方法进行请求数据174.2.2处理请求到的数据174.
7、2.3模块功能实现及效果图184.2.3创建画板并画折线图214.3 分享模块224.3.1实景拍摄224.3.2调用本地相机234.3.2调用OAuth认证244.3.3向发微博接口发送请求264.3.4用JSONKit处理数据294.4 关于和帮助模块294.4.1“关于”界面的设计及实现294.4.2“帮助”界面的设计及实现305系统测试315.1 单元测试315.2 集成测试325.3 可用性测试336结论35致谢36参考文献371 引言1.1 项目开发背景苹果iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统。iOS与苹果的
8、Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。截止至2011年11月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的30%,在美的国市场占有率为43%。iPhone将基于OS X的移动计算与创新的多点触摸屏幕、位置感知、板载加速计等结合在一起。苹果公司于2008年3月首次发布iPhone SDK beta时,开发人员蜂拥而至,一度造成服务器瘫痪。不到一周,iphone SDK的下载量就超过10万1。天气软件是一种非常实用的信息服
9、务,随着智能手机的不断普及,各种智能手机平台下都有各种各样的天气软件。iOS作为现在主流的智能手机之一,自然也需要这方面的软件。天气关系到人们的日常生活,如告知温暖,方便出行等。此外,对未来天气的预测还可以帮助人们进行农作物的浇灌、施肥、收割等工作。基于iOS平台的天气软件已经有很多,经过分析,用户第一眼往往是一个软件的外观,一个好看的界面才能让用户以一种爱美之心去尝试,才能进一步了解一个软件的好坏,所以吸引眼球的界面是争取用户的第一步。因此,界面设计工作对应用程序来说非常重要,在界面上吸引了用户,才能进一步让用户体验应用程序中的功能,使用这个软件。1.2 国内外相关领域研究现状随着iOS蓬勃
10、的发展,涌入了大量的iOS开发人员,同时华丽的iOS产品也层出不穷。虽然iOS的发展达到了前所未有的高度,但是在国内关于天气预报的软件也紧紧只有19款,所以开发出用户体验好并且实用的软件越来越重要。下面介绍一下国内外最流行的三款iOS系统天气软件并做个简单的对比,他们分别是墨迹天气、涂鸦天气和蜜蜂天气。(1) 墨迹天气天气显示面板:墨迹天气算是国内最有名的天气查询软件,用户比较最多,界面显示也比较美观、华丽,并且可以添加多个城市。默认显示四天的天气情况,并且左右滑动可以切换城市管理-天气-温度趋势图三个界面。温度趋势图可以显示未来五天的气温变化情况和日夜天气情况。 设置以及其他功能:墨迹天气的
11、软件设置只包括更新间隔等设置,除了天气信息外不提供其它更多的相关资讯,是一款相对来说比较单纯的软件。 CPU内存占用:在软件开启的情况下,实时CPU占用率在50%-70%,运行过程中一直居高不下。内存占用大概为10M左右。(2) 涂鸦天气 天气显示面板:国外的一款小软件,特色在其涂鸦的天气显示方式,非常生动,就像掌中的一个小剧场。左下角的按钮可以切换“显示”和“隐藏”详细信息,天气预报也不是国人习惯的非晴即雨,预报的天气带有问号,给出下雨的几率百分比。 其他功能:软件还有的功能就是分享模块,可以分享到Twitter和Facebook。 CPU内存占用:软件比较小,运行过程中CPU占用14%左右
12、,内存占用也很低,不到5M。(3) 蜜蜂天气 天气显示面板:蜜蜂天气虽然没有墨迹天气老牌,但是蜜蜂系列是无线多媒体软件的大家族,还包括蜜蜂读书、蜜蜂新闻、蜜蜂音乐、蜜蜂视频和蜜蜂股票等,所以在新闻资讯方面比较强。天气界面同样走的简洁精致路线。并且该软件支持未来五天天气预报和所在城市的每小时的准点详细温度走势、风向等。 其他功能:系统的设置和信息按钮出现在所有天气面板的左、右下角,用户交互上非常方便。 CPU内存占用:该软件再CPU和内存占用上控制的还算不错。软件在没有进行操作时,CPU占用控制在5%,进行刷新天气等操作时CPU占用27%,软件内存占用20M左右。1.3 论文研究的内容要做一个用
13、户体验好并且实用的天气查询软件,要做到一下几点,同时也是本论文的主要内容:(1) 实现可旋转的菜单界面。(2) 运用ASIHttpRequest获取并解析数据XML。(3) 运用iOS的frame框架显示解析后的数据。(4) 运用iOS的画图框架QuartzCore画出未来5天内的天气趋势。(5) 实现调用系统的照相机并拍照。(6) 实现用Jsonkit工具解析Json数据。(7) 实现调用本地相册并将图片和文字发送到新浪微博平台上。1.4 论文研究的意义天气软件是一种非常实用的信息服务,随着智能手机的不断普及,各种智能手机平台下都有各种各样的天气软件。用天气预报软件可以在第一时间掌握天气情况
14、,以便提前预防,把气象灾害造成的损失降到最低。同时也可以强化气象公共服务的职能,完善公共服务体系、改善公共服务手段、增加公共服务产品、提高公共服务质量,更好地发挥了气象事业对经济社会发展的现实性作用。iOS作为现在主流的智能手机之一,自然也需要这方面的软件。我们需要额外注意怎么样设计用户界面(UI)。当我们需要设计自定义的UI元件时,这些元件用以直接支持我们设计的应用程序的交互需要,这个时候我们需要尊重原生的Apple iOS控件的习惯用法2。因此,界面设计工作对应用程序来说非常重要,在界面上吸引了用户,才能进一步让用户体验应用程序中的功能,使用这个软件。1.5 论文内容的安排本文将在以后5章
15、节中介绍本系统的设计与实现。我们将在第2章分析一下整个系统,包括使用的技术、开发平台、以及项目部署的环境。第3章,总体介绍一下系统的设计思路,包括架构的选择,模块的划分,模块之间如何协同工作等。第4章,将详细介绍各个模块的实现。第5章,将介绍一下系统的测试,包括测试的方法,测试的结果,以及使用的工具等。2 系统解决方案2.1 需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正的满足用户需求的程序只会令用户失望,给开发者带来麻烦。在本节,我们将对基于iOS的天气预报查询系统的设
16、计与实现提出完整、准确、清晰、具体的需求分析,并使用UML2.0用例图直观的表示系统各角色所具备的功能。2.1.1 功能需求基于iOS的天气预报查询系统的主要用途是为可以在第一时间掌握天气情况以及未来5天内的天气情况,可以通过折线图更直观的了解到未来5天内气温的趋势,并且可以用手机拍下当时的人、物、风景等,再通过本软件将手机相册内的图片以及自己写下的文字分享到新浪微博平台上。用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们希望如何使用一个系统。(1) 系统用例图如图2-1所示。查询当日天气预报查询未来5天天气预报分享图片和文字图2-1 系统用例图(2)
17、天气查询用例图如图2-2所示。查询当日天气情况查询未来5天天气情况查看未来5天气温折线图按省、市、县查询地理位置图2-2 天气查询用例图(3) 分享图片和文字用例图如图2-3所示。调用本地相机拍摄分享图片和文字到新浪微博图2-3 分享图片和文字到新浪微博平台用例图(4) 天气预报业务流程图如图2-4所示。进入列表进入折线图页面选择地址进入天气预报页面退出系统图2-4 天气预报业务流程图(5) 分享图片和文字业务流程图如图2-3所示。进入系统选择分享选择实景拍摄选择拍照退出系统图2-5 分享图片和文字业务流程图下面就是本系统的具体功能需求:(1) 登录管理 用户不需要账号即可进入本系统。(2)
18、地点查询管理 用户能分省、市、县三级地级区域进行查询; 用户能查询2400个以上中国城市。(3) 天气查询管理 数据每2.5小时更新一次,准确可靠; 用户能查询包括当日及未来5天的天气情况; 用户能查看到包括当日及未来5天的天气气温趋势图。(4) 拍摄相片照管理 用户可以用iPhone手机自带的相机拍摄; 拍摄下的照片会自动保存到iPhone手机相册。(5) 微博分享管理 用户能在iPhone手机相册选取将要分享的图片; 用户能编写想要分享的文字。(6) 退出 用户点击Home键即可退出程序。2.1.2 可靠性和可用性需求可靠性需求指定系统必须满足的可靠性,可用性与可靠性密切相关,它量化了用户
19、可以使用系统的程度。基于iOS的天气预报查询系统的设计与实现的所有数据都需要从网上即时更新以便获取到最新的天气数据,为确保用户可以随时都能查到即时的天气情况以及未来5天内的天气情况,所以在可靠性上必须确保。此系统可靠性应达到以下几点:(1) 本系统应达只要有网络就可以访问提供数据的网站;(2) 一个月内系统局部不能出现2次以上故障;(3) 每次故障解决时间不得超过24小时;(4) 确保数据的准确性;(5) 拍摄后的照片一定要存到本地相册;(6) 分享的信息一定要分享在新浪微博平台上。可用性应达到以下几点:(1) 在任何时候iPhone或者iTouch至少有一个该软件;(2) 在一个月内任何一部
20、iPhone或者iTouch上该软件在运行期间不能崩溃2次以上。2.1.3 系统内容需求系统开发初期,根据用户提出的要求,详细了解和分析了用户需求,确定了系统具有天气查询管理和分享管理。天气查询管理包括地理查询、即时天气查询、未来5天内天气查询和未来5天内气温的趋势图;分享管理包括可以进行拍摄照片、分享文字和本地相册的图片等。根据初期的设计思想进行分析,从内容上对该系统做如下划分:(1) 菜单:由四个Button键组成并实现一个类似转盘电话中拨号转盘的旋转菜单效果,并用精美的图片做背景;(2) 地点查询:将2400多个城市精确的分为省、市、县三级,并显示在列表上;(3) 天气查询:当选择自己想
21、要查看的城市后点击并进入天气查询,包括即时的天气情况和未来5天内的天气情况,内容带有文字和图片并显示在列表上,并将详细信息显示在单独的view里的lable上;(4) 天气趋势:将未来5天内的最高气温和最低气温分两条不同颜色的折线显示在画板上,使用户更直观的了解到未来5天内的天气变化;(5) 实景拍摄:点击Button键后可以调用手机自带的相机并进行拍照,并将拍摄后的照片保存到本地相册里;(6) 分享:从本地选取喜欢的照片并在textfield上进行文字编辑,编辑好后将文字和图片分享到国内最流行的新浪微博平台上,与亲朋好友分享自己的照片和心情。2.2 技术架构2.2.1 Foundation框
22、架简介为所有程序开发奠定基础的框架称为Foundation框架。它允许使用一些基本对象,如数字和字符串,以及一些对象集合,如数组、字典和集合。其他功能包括处理日期和事件、自动化的内存管理、处理基础文件系统、存储(或归档)对象、处理几何数据结构(如点和长方形)3。Foundation框架是用Object-C对Core Foundation框架里许多特性的封装。使用Foundation可以:(1) 创建和管理集合,比如数组和字典。(2) 访问存储在应用程序里的图片和其它资源。(3) 创建和管理字符串。(4) 提交和接收通知。(5) 创建日期和时间对象。(6) 自动发现IP网络上的设备。(7) 操作
23、URL流。(8) 执行异步代码。2.2.3 UIKit框架简介UIKit框架是iPhone应用程序开发中最基本的框架,也是用得最多、最重要的框架4。所有的iOS应用程序都基于UIKit,绝对不能使应用程序脱离这个框架。UIKit提供了在屏幕上绘制的机制,捕获事件,和创建通用用户界面元素。UIKit也通过管理显示在屏幕上的组件来组织复杂的项目。使用UIKit可以:(1) 构建和管理用户界面。(2) 捕获触摸和基于移动的事件。(3) 呈现文字和web内容。(4) 优化多任务程序。(5) 创建定制的用户界面元素。2.2.3 ASIHTTPRequest类库简介使用iOS SDK中的HTTP网络请求A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 iOS 天气预报 查询 系统 设计 实现 毕业设计 论文 30
限制150内