iPhone手机定位应用程序的设计与实现.doc
《iPhone手机定位应用程序的设计与实现.doc》由会员分享,可在线阅读,更多相关《iPhone手机定位应用程序的设计与实现.doc(38页珍藏版)》请在沃文网上搜索。
1、基于IOS的IPHONE手机定位应用程序的设计与实现摘 要随着移动互联网的发展,各种移动应用也不断地出现在人们的视线中,利用最新的技术可以将人们带入更加智能的时代。而基于IOS定位的应用程序,可以很好的为人们的出行、生活提供方便。该定位程序是基于IOS系统使用Xcode集成编译环境和Objective-C语言以及SQLite数据库设计并实现的较为完善的定位应用程序。该应用程序能够实现的功能大致有:定位当前的位置;搜索一个自己指定的位置;收藏自己需要的位置并且可以将该位置添加一些附加信息;可以在自己的位置或者指定的位置添加标志物等详细信息;删除收藏位置;新手使用指南;意见反馈;到App stor
2、e上将该应用程序评分等等一系列功能。关键词 软件工程/数据库/Objective-C/Xcode/SQLiteLocation-based Applications for Design andImplementationABSTRACTWith the development of mobile Internet, a variety of mobile applications continue to appear in the peoples attention, using the latest technology to bring people into a more intell
3、igent era. IOS-based positioning applications, can be very good for people to travel, facilitate life. The mapping procedure is based on the IOS system using Xcode Integrated Environment and Objective-C language, and SQLite database design and realization of more perfect location-based applications.
4、 Function largely of the application can be achieved:to locate the current position; search a specified location; collection of the desired location and the location to add some additional information; can add markers, etc. in their own location or the location specified more information; delete fav
5、orite locations; novice user guide; feedback; to the App store on the application score a series of functions.KEY WORDS soft project,database,Objective-C,Xcode,SQLiteII基于IOS的IPHONE手机定位应用程序的设计与实现目 录摘 要IABSTRACTII目 录11 绪论41.1 有关定位的背景41.2 定位开发的意义41.3 论文的组织结构52 应用程序相关技术62.1 软件工程62.2 Cocoa技术72.2.1 Cocoa简
6、介72.2.2 Cocoa的特征72.3 Objective-C语言92.3.1 Objective-C语言简介92.3.2 Objective-C语言的特征92.4 定位技术102.5 API技术112.5.1 API简介112.5.2 API种类112.5.3 用于移动开发定位API介绍122.6 Xcode集成开发环境132.7 数据库技术143 论坛设计分析153.1 可行性分析153.1.1 经济可行性153.1.2 技术可行性153.1.3 操作可行性163.1.4 法律可行性163.2 需求分析163.2.1 业务流分析163.2.2 数据流分析173.3 数据字典183.3.1
7、 应用程序的数据字典184 系统功能模块划分设计204.1 设计环境204.2 设计思想204.3 系统功能模块划分205 数据库设计215.1 数据库需求分析215.2 数据库概念结构设计215.3 数据库逻辑结构设计226 应用程序的界面设计236.1 应用程序主界面236.2 我的收藏界面246.3 自选位置界面266.4 当前位置界面306.5 更多界面316.5.1 新手使用指南界面316.5.2 意见反馈界面326.5.3 到APP Store评分界面326.5.4 版本信息界面32毕业设计小结34致 谢35参考文献361 绪论1.1 有关定位的背景随着移动互联网的兴起,智能手机的
8、发展日益迅速,近两年来得到了巨大发展,但是移动互联网刚刚处于起步阶段,智能手机的应用程序还不是很丰富,所以在智能手机的应用开发上具有巨大的市场前景。手机定位是指通过特定的定位技术来获取移动手机或终端用户的位置信息(经纬度坐标),在电子地图上标出被定位对象的位置的技术或服务。定位技术有三种,一种是基于GPS的定位,一种是基于移动运营网的基站的定位以及Wi-Fi热点。基于GPS的定位方式是利用手机上的GPS定位模块将自己的位置信号发送到定位后台来实现手机定位的。基站定位则是利用基站对手机的距离的测算距离来确定手机位置的。基站定位不需要手机具有GPS定位能力,但是精度很大程度依赖于基站的分布及覆盖范
9、围的大小,GPS定位精度较高。在地图上有研究比较突出研究的有Google公司的Google Earth,它于2005年向全球推出,可以看到全世界范围内的三维图像。在国内,百度地图也比较突出。在智能手机上电子地图从一出现都广受人们的喜爱,它可以将整个地图都放在手机上,小巧美观,便于携带,放在口袋里随时随地的进行查询1。人们从传统的纸质地图发展到现在的已经离不开电子地图了。1.2 定位开发的意义传统互联网由电话线或光纤接入,每年大量的资金与人力用于铺设线路,从而增加了使用费用,而生产这些物资又牵扯到大气污染,矿产消耗。移动互联网则有着很多的优势,首先无线无需线路铺设,节约了材料与人工成本,所以使用
10、费用将会更低;虽然无线发射装置可能会产生一些电磁辐射,但所有的发射功率都在国际标准内,对人体和空气不会产生不良影响;当前社会的主题是:环保、节能、低碳,单从这个角度来说移动互联网必然成为各国通信业的首选。移动互联网目前已开发至第3代,也就是我们说的3G,3G标志着移动通信业的开始,网络也随之被引入这个领域,紧随3G之后的4G传输速度是3G的2000倍,足以满足用户的网络使用需求,这已不是新闻,目前主要移动终端设备是3G手机、笔记本电脑;手机是每人必须品,加上一天比一天强大的功能必然成为主流设备。日常生活出行,地图是必不可少的工具,现在我们可以将其融合在小小的应用程序中,存放在手机上,方便我们的
11、生活和出行。当自己处在一个完全陌生的地方的时候,可以用来定位当前的位置,可以获取当前位置的标志物,让自己清楚自己所在的位置。也可以搜索到附近的标志物,也可以找到自己想找的任何地点,以及该地点附近的标志物。让人们的出行更加的方便。1.3 论文的组织结构第二章主要技术及其分析,简单介绍开发手机定位应用程序所用到的技术和工具,并对其简单的进行介绍和分析。第三章需求分析,介绍整个程序的可行性分析、系统功能分析及数据流分析和业务流程分析。第四章概要设计,简单的介绍各个模块的划分及功能,以及所用到的技术。第五章数据库设计,具体论述该应用程序中的数据库的创建。第六章应用程序的界面设计,介绍了该应用程序中重点
12、包括的一些界面的效果图。第七章主要包括一部分重点程序代码,一些程序的源代码更详细的说明各模块是怎样实现的。2 应用程序相关技术完成这样一个基于定位应用程序的设计应该有软件工程、数据库、Cocoa框架及相关的开发环境,主要采用Objective-C语言、定位技术、API技术、Xcode、SQlite数据库等技术和工具,下面就对这几种技术和方法做一个概述。2.1 软件工程软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。软件工程是研究和应用
13、如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。设计活动一般包括概要设计和详细设计。概要设计建立整个软件体系结构,包括子系统、模块以
14、及相关层次的说明、每一模块接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。支持活动包括修改和完善。伴随以上活动,还有管理过程、支持过程、培训过程等。 软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。软件工程的原则有以下四项基本原则: 1. 选取适宜开发范型。2. 采用合适的设计方法。 3. 提供高质量的工程支持。4. 重视开发过程的管理。软件工程的七条基本原理:1. 用分阶段的生命周期计划严格管理把软件生命周期
15、分成若干阶段,并相应制定出切实可行的计划,然后严格按照计划对软件的开发和维护进行管理。2. 坚持进行阶段评审坚持进行严格的阶段评审,以便尽早发现错误。 3. 实行严格的产品控制需求的改动往往是不可避免的。这就要求我们要采用科学的产品控制技术来顺应这种要求。当需求变动时,其它各个阶段的文档或代码随之相应变动,以保证软件的一致性。4. 采纳现代程序设计技术采用先进的技术即可以提高软件开发的效率,又可以减少软件维护的成本。 5. 结果应能清楚地审查应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查6. 开发小组的人员应少而精开发人员的素质和数量是
16、影响软件质量和开发效率的重要因素,应该少而精。这一条基于两点原因:高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少的多;当开发小组为N人时,可能的通讯信道为N(N-1)/2, 可见随着人数N的增大,通讯开销将急剧增大2。7. 承认不断改进软件工程实践的必要性 软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段。软件工程正在向敏捷开发和面向侧面的程序设计发展。2.2 Cocoa技术2.2.1 Cocoa简介Cocoa是苹果公司为Mac OS X所创建的原生面向对象的编程环境,是Mac OS X上五大API之一。苹果的
17、面向对象开发框架,用来生成 Mac OS X 的应用程序。主要的开发语言为 Objective-C, 一个C的超集。2.2.2 Cocoa的特征1. Cocoa环境的第一个特点是它可以管理动态分配的内存。Cocoa中绝大部分类的基类都是NSObject,它实现了引用计数的内存管理模型。从NSObject继承的类可以响应retain和release消息,以增减其引用计数;也可以通过发送retainCount消息来获取其引用计数。一个以alloc,copy或Objective-C 2.0中增加的new所创建的对象的引用计数为1;向对象发送retain消息会将计数加1,而发送release消息则会将
18、计数减1。若对象的引用计数减少到了0,则它会被销毁。2. Cocoa包含两个主要的Objective-C对象库,称为“框架”。框架的功能类似于动态库,即可以在运行时动态的载入应用程序的地址空间,但框架作为一个捆绑 (计算机)而非独立文件,其中除了可执行代码外,也包含了资源,头文件和文档。常用的有:“应用程序工具包”,简称为Foundation,或称AppKit是直接衍生自NeXTSTEP的AppKit的。它包含了程序与图形用户界面交互所需的代码。它是基于Foundation建立的,也使用“NS”前缀,它只能在Mac OS X中使用;“用户界面工具包”,或称UIKit,是用于iOS的图形用户界面
19、工具包。与AppKit不同,它使用“UI”的前缀。3. 模型-视图-控制器即MVC模式。Cocoa的设计遵循了严格的MVC原则。这种模式将应用程序分为三个可以交互的对象集,即模型,视图和控制器。其中,模型类代表原始数据,例如文档、设置、文件、内存中的对象等,视图是模型中数据的可视化表现,而控制器类则包含了将模型和其对应视图连接起来的逻辑,并保持前二者的状态同步。4. 动态绑定。通过动态绑定特性,增加了更多的设计的自由性。在Objective-C中,消息由selector所代表,其为描述需要调用的方法的一个字符串。在发送消息时,该selector被送入Objective-C运行时中,在可用方法列
20、表中寻找对应的方法,然后调用该方法的实际实现。由于selector只是文本数据,因此它可以保存在文件中,通过网络或在进程间传输,或以其它方式进行操作。方法的实现是在运行时查找的,而非编译时。这样的做法会造成一些性能损失,但动态绑定允许相同的selector代表不同的实现。5. Rich objects。Cocoa中最有用的特性是系统提供的强大的“基础对象”。 例如Foundation中的NSString和NSAttributedString类,提供了Unicode字符串的支持;而AppKit中的NSText系统则允许程序员在GUI中放置字符串对象3。2.3 Objective-C语言Objec
21、tive-C,通常写作Objective-C和较少用的Objective C或Objective-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。2.3.1 Objective-C语言简介Objective-C在ANSIC编程语言之上定义了一个小而强大的扩展集。有了它,可以使用面向对象技术编写程序。Objective-C是Cocoa的本地编程语言,Coaco框架和大多数应用程序都使用该语言编写而成。但是也可以使用Python、Ruby等其他编程语言开发应用程序,并且此种开发
22、方式也可使用Cocoa框架。不管怎么说,对Objective-C有起码的了解相当有益,因为通常情况下,苹果的文档和样例代码都依照该语言进行编写。由于Objective-C直接架构于ANSIC之上,因此可以在Objective-C代码里混合使用C代码。另外,也可以在Cocoa代码中调用非Cocoa编程接口定义的函数,例如可以调用/usr/include里面的BSD库接口。甚至可以在Cocoa代码中混合使用C+代码,并将整个代码链接到可执行文件。2.3.2 Objective-C语言的特征Objective-C是非常“实际”的语言。它使用一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和
23、大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。Objective-C写成的程序通常不会比其原始码大很多。而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反4。Objective-C的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的“死亡时间”,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是GNU step),Apple在其Mac OS X 10.3中仍未引入这个功能。不过令人欣慰的是在Apple发布的XCode4中已
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- iPhone 手机 定位 应用程序 设计 实现