英语原文共 13 页,剩余内容已隐藏,支付完成后下载完整资料
地图应用程序编程接口的比较
Ana Isabel Fernandes, Miguel Goulatilde;o, Armanda Rodrigues
翻译者:杨王浩
摘要:应用程序编程接口(应用程序接口)通常支持操纵地理引用信息的web应用程序的开发,从而为高质量的应用程序提供快速的开发周期。应用程序接口可以由具有不同专业水平的程序员使用,并且选择适当的应用程序接口可能会对这些程序员的工作效率产生巨大的影响。我们的目标是比较地图应用程序接口和它们的可用性。我们比较了三个不同的应用程序接口:谷歌映射JavaScript 应用程序接口、用于JavaScript的ArcGIS 应用程序接口和OpenLayers JavaScript映射库。我们的比较是由一组软件度量来支持的,并以两个正交的方式进行:对同一个系统原型的三个实现进行比较,每个实现都使用一个被审查的应用程序接口;应用程序接口规范的比较。研究的主要结果与应用程序接口的大小有关,而谷歌应用程序接口比其他应用程序接口要小得多。
第1章
操作地理参考信息的web应用程序的开发通常是由应用程序编程接口(应用程序接口)来支持的,它利用了这个领域的特殊组件框架。这种重用形式使高质量应用程序的ar应用程序接口d开发周期得以实现[1,2]。
一个应用程序接口通常由程序员使用,但也可以由那些偶尔在开发过程中扮演程序员角色的领域专家使用。当在竞争的应用程序接口中进行选择时,我们会搜索一个应用程序接口来提高程序员的生产力,通过可用性[3,4]。应用程序接口sis的可用性与促进使用由应用程序接口[5]执行的操作集有关。这驱动了几个研究应用程序接口的可用性(例如,[5-8])。
在本文中,我们比较了三种不同的地图应用程序接口的可用性。我们选择了三个众所周知的应用程序接口:谷歌映射、OpenLayers和ArcGIS。这些应用程序接口分别代表了maps应用程序接口市场的商业、学术和GIS透视图。据我们所知,这是第一次比较关注地图应用程序接口可用性的比较研究。
本文组织如下。本节介绍和推动了地图应用程序接口比较的问题。第2部分介绍了测试套件的选定组件、可用性评估的选定指标和结果收集的开发工具。第3节介绍了所选的评估软件标准。第4节给出得到的数据和结果分析。在第5节中,我们将我们的工作与现有的相关工作进行比较。最后,在第6节中,给出了结论,并讨论了今后的工作。
第2章 比较设置
在本文中,我们使用两种不同的信息源:应用程序接口定义,评估它们的结构属性及其随时间的演变,以及三种具有类似功能的原型,它们是由三个选择的应用程序接口构建的。
2.1选择的应用程序接口和版本
在这个比较中,我们使用了以下版本的应用程序接口:谷歌3.7 - 3.9,ArcGIS 2.0 - 3.1,以及OpenLayers 2.3 - 2.12。所使用的版本在一年内有效。谷歌版本的版本还不完整,asGoogle只保留了最后三个应用程序接口版本的在线细节。
2.2为便于比较而开发的原型
我们在JavaScript中开发了三个原型,支持相同级别的功能,每个原型都有一个选定的应用程序接口。原型被用来评估每个应用程序接口对开发的应用程序复杂性的影响。图1展示了该原型的Esri版本的屏幕截图。
这些原型的一个重要需求是,它们应该是在地图应用程序中被发现的典型功能的代表。这些功能的识别结合了几个著名的地图应用和地理信息系统的研究生课程大纲的分析。所选的基本功能是: 缩放,全范围,平移,控制器,概览地图,地理参考实体,信息与实体和位置搜索。每个原型的功能都支持每个应用程序接口实现一组方法(如图7所示),代表案例研究应用程序的代表性。
图1 基于Esri 应用程序接口的应用程序
注:
pontos de interesse-兴趣点
museu nacional de arte antiga-国立古代艺术博物馆
caminhos-路
estrela-明星
opcaos de navegacao-选择的轮船公司
regioes-地区
caminho turisticos-旅游路线
2.3指标识别
我们使用了目标问题度量(GQM)方法[9]来支持应用程序接口的定量分析。GQM从确定研究目标开始。我们的目标是(G1)来描述每个应用程序接口的演化,以解释它们的稳定性,以及(G2)来度量应用程序接口在实践中的实际应用。为了实现这些目标,我们制定了研究问题,为了得到答案,需要确定合适的指标。表1总结了本文使用的目标、问题和指标。
表1 GQM模型
目标G1:描述应用程序接口的演化。 |
|
问题: |
指标: |
Q1.应用程序接口的大小是多少? |
对象的数量、方法和属性。 |
Q2.删除了多少对象? |
删除对象的NDO数量。 |
Q3.添加了多少对象? |
NAO添加对象的数量。 |
Q4.保存了多少对象? |
保持对象的NKO数量。 |
目标G2:评估应用程序接口的实际使用。 |
|
问题 |
指标 |
Q5.原型功能的实现有多复杂? |
应用程序接口UI 应用程序接口使用索引。 |
2.3.1 应用程序接口演化表征指标
应用程序接口的复杂性可能随着其功能的发展而增加,以满足新的用户需求[10,11]。这可以通过使用应用程序接口大小度量来评估,并从一个版本到下一个版本进行分析。虽然单个应用程序接口版本的值度量复杂性,但它们在连续版本上的变化评估稳定性。应用程序接口不稳定性可能意味着应用程序的发展需要额外的成本。表2描述了本研究中使用的大小度量。
表2 应用程序接口演化特征指标
Q1.应用程序接口的大小是多少? |
|
标准 |
对象的数量、方法和属性。 |
定义 |
应用程序接口中对象、方法和属性的总数 |
评价 |
这个数字的变化可以作为代理应用程序接口的变化的复杂性。 |
Q2.删除了多少对象? |
|
标准 |
NDO -删除对象的数量 |
定义 |
删除对象的总数 |
评价 |
对象删除破坏了与以前版本的应用程序接口客户端的兼容性,从而增加了演化成本。 |
Q3.添加了多少对象? |
|
标准 |
NAO -添加对象的数量 |
定义 |
添加对象的总数 |
评价 |
新对象意味着应用程序接口提供的新功能 |
Q4. 保存了多少对象? |
|
名称 |
保存对象的数量。 |
定义 |
保存对象的总数 |
评价 |
应用程序接口的“稳定”部分。 |
2.3.2评估应用程序接口的表达性
这三个原型实现了相同的功能,因此,在表3中定义的应用程序接口使用索引度量可以度量每个特性需要多少对构造函数、函数和属性的调用。通常,更有表现力的应用程序接口需要更少的调用。
表3 评估应用程序接口可理解性的指标。
Q5.原型功能的实现有多复杂? |
|
指标 |
应用程序接口UI - 应用程序接口使用索引。 |
定义 |
调用应用程序接口的次数。 C F P C -对构造函数的总调用; F -对函数的总调用; P -对属性的总调用。 |
评价 |
实现相同功能的更多调用可能表明应用程序接口的表达性较差。 |
2.4 数据收集
除了原型的开发之外,我们还从原型和应用程序接口中实现了对数据收集的支持。
由于用户使用它的对象与应用程序接口进行交互,所以数据收集考虑了用户可以访问的信息,比如对象、方法和属性。为了研究应用程序接口可用性的影响,应用程序接口源代码的实现细节与用户无关,用户将其视为黑盒。
第3章 结果与讨论
3.1 定性评价
在开发原型时,最明显的局限性是:
- 谷歌应用程序接口不支持对层的操作和管理。
- OpenLayers 应用程序接口不支持地理编码过程。
关于剩下的功能,所有的应用程序接口都支持本研究中考虑的特性,并且已经在第2.2节中提到。
3.2 定量评价
3.2.1 应用程序接口的尺寸
每个对象的对象、方法和属性的数量是应用程序接口维度的指示器。图2为每个比较的应用程序接口提供了它们。在OpenLayers 应用程序接口中,谷歌应用程序接口只有不到一半的对象,而ArcGIS 应用程序接口有一个中间数量的对象。总的来说,在对象、方法和属性方面,谷歌应用程序接口比ArcGIS 应用程序接口要小得多,而ArcGIS 应用程序接口也比OpenLayers 应用程序接口小得多。
图2所示。这里分析的对象、方法和属性的数量。
注:
number of objects,methods and properties of APIs that are being analyzed here- 这里分析的对象、方法和属性的数量。
objects-对象
methods-方法
properties-属性
analyzed API-应用程序接口分析
3.2.2 应用程序接口的演化
图3到8展示了每个应用程序接口的对象、方法和属性的数量,以及添加、删除和保存对象的数量。考虑到每个元素,这三个应用程序接口都在增长。在分析期间,谷歌应用程序接口是唯一没有减少的应用程序接口(图3)。在这些版本中没有出现任何对象删除(图4)。
图3 对象的数量,方法和属性的版本-谷歌。
注:
number of objects,methods and properties by version-对象的数量,方法和属性的版本。
objects-对象
methods-方法
properties-属性
图4 沿着版本的对象数量-谷歌。
注:
Number ofobjects by version-沿着版本的对象数量
应用程序接口 version-应用程序接口版本
Deleted-减少
Added-增加 kept-保持
对于对象、方法和属性,Esri 应用程序接口的版本从2.3到2.4都有所减少。应用程序接口中方法的数量在3.0版本中也有所减少(图5)。其中三个版本的对象已经删除(图6)。
图5所示。版本中对象、方法和属性的数量——ArcGIS。
注:
number of objects,methods and properties by version-对象的数量,方法和属性的版本。
objects-对象
methods-方法
properties-属性
图6所示。版本中的对象数量——ArcGIS。
注:
Number ofobjects by version-沿着版本的对象数量
API version-应用程序接口版本
Deleted-减少
Added-增加
kept-保持
OpenLayers 应用程序接口在2.12版本中遭受了对象、方法和属性的减少(图
全文共9601字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[12717],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。