第18章:移动软件开发过程

章节节选自Android无线应用开发

TK

封面图片

摘自Android无线应用开发

通过巴蒂尔康德和劳伦Darcey

发布时间由Addison-Wesley专业

ISBN-10:0-321-62709-1

ISBN-13: 978-0-321-62709-4

通过电子邮件发送给朋友吗

简讯:注册与保存!获得特别优惠,免费章节,文章参考指南的更新,并插到什么通过订阅InformIT的通讯在业界的角落所发生的脉搏!完成注册后免费优惠券!

尝试Safari浏览器丛书现!进入程序员和IT专业人员最大的完全可搜索的电子参考资料库!

移动开发过程很像传统的桌面软件过程,有一些明显的区别。了解差异如何影响您的开发团队对于运行一个成功的移动开发项目至关重要。这些关于移动开发过程的信息和见解对于老手和移动开发新手、管理层和规划人员以及开发人员和测试人员来说都是非常宝贵的。在本章中,我们将着眼于移动软件开发过程中的每一个步骤,并讨论移动开发的一些特性。

移动开发过程的概述

移动开发团队通常规模较小,项目进度较短。整个项目生命周期通常都是浓缩的,不管您是一个由一名还是一百名开发人员组成的团队,了解开发过程中每个部分的移动开发考虑事项都可以为您节省大量浪费的时间和精力。

一些障碍成功的移动开发团队必须克服包括

  • 选择适合你的移动项目适当的软件方法

  • 了解目标手机如何决定你的应用程序的功能

  • 进行全面、准确、持续的可行性分析

  • 降低与生产前手机相关的风险

  • 通过配置管理跟踪手机功能

  • 设计一个内存限制系统的响应,稳定的应用

  • 为具有不同用户体验的各种设备设计用户界面

  • 目标手机彻底测试应用程序

  • 合并第三方需求,这些需求会影响您的应用程序的销售

  • 部署和维护移动应用程序

选择一个软件方法

开发人员可以轻松适应最先进的软件方法来移动开发。无论你的团队选择采用传统的快速应用开发(RAD)的原则或敏捷软件开发如Scrum的更现代的变种,移动应用程序有一些独特的要求。

了解危险的瀑布途径

开发周期短会诱使一些使用瀑布方法,如图图18.1,但开发人员应该提防的是自带的这种选择缺乏灵活性的。它通常是一个坏主意不考虑,往往在开发周期内发生的许多变化来设计和开发一个完整的移动应用程序。更改目标手机(尤其是预生产型号),目前正在进行可行性和性能问题,并及早并经常在目标设备上(而不仅仅是模拟器)需要进行质量保证测试,很难进行严格的瀑布方法成功与移动项目。

图18.1

瀑布式开发的危险。(艾米担獾的图形提供)。

了解迭代的价值

由于在该移动项目往往进度速度,迭代方法已经适应了移动开发最成功的策略。快速原型使开发人员和质量保证人员充足的机会来评估对目标手机的移动应用的可行性和性能,并在需要时不可避免地发生在项目实施过程中的变化相适应。

收集应用需求

需求分析的移动应用可以比传统的桌面应用程序更为复杂。要求必须经常进行调整,以工作跨越多个可能有很大的不同的用户界面和输入法手机的手机。这使得开发设想棘手。

确定项目需求

当涉及到多个手持设备时,通常有两种方法来确定项目需求:最小公分母方法和定制方法。每种方法都有其优点和缺点。

随着最小公分母方法,你设计到跨多个设备上运行良好充分的应用。在这种情况下,初级目标手持通常是具有最少特征-基本上,最劣听筒设备。只有那些能够被所有的设备必须满足的要求包括在规范,达到设备-要求,如输入法,屏幕分辨率,以及软件开发工具包(SDK)版本最广泛的范围。


注意 -最低公分母方法大致等同于发展与以下最低系统要求的桌面应用程序:(1)Windows 2000和(2)的内存128兆字节,假定该应用程序将与Windows的最新版本向前兼容(和中间的每一个其它版本)。它的效果并不理想,但在某些情况下,权衡是可以接受的。


一些光定制,如资源和最终编译的二进制(和版本信息)通常是可行的。这种方法的主要好处是,只有一个主要的源代码树工作;错误是固定在一个地方,普遍适用。您还可以轻松添加其他手机不改变太多的代码,只要他们也符合最低硬件要求。缺点包括事实,导致广义的应用程序不最大化任何手机特有的功能。此外,如果一个设备特定问题出现,或者你也太小看最小公分母,后来发现个别手机缺乏的最低要求,球队可能会被迫实施规避(黑客),或在日后分支代码,失去这种方法的好处初但保留所有的缺点。


什么是新的Android 1.5的 -Android 1.5中引入的工具套件允许开发人员从一个Android SDK安装中编写多个目标Android SDK版本。开发人员应该在设计阶段的早期就注意识别目标平台,在支持单个设备时不要依赖向后兼容性。

此外,固件更新已经相当经常发生,所以一个特定的设备上的Android SDK版本可能在该领域的过度的空气更新后更改。升级从Android SDK中1.1至1.5迫使许多Android开发发布兼容更新现有的应用程序。


使用定制方法,应用程序特定的手机定制。这种方法适用于针对少数目标手机的项目,但并没有从资源管理的角度很好地扩展。通常有整个应用程序的所有版本共享的核心应用程序框架(类或包)。客户端 - 服务器应用程序的所有版本可能会与它共享相同的服务器和交互以同样的方式,但客户端的实现是专为利用特定的手机功能。这是这种方法的主要好处。一些缺点包括源代码碎片(相同的代码的许多分支),增加了测试要求,而事实上,它可以更难以在未来增加新的手机。

事实上,移动开发团队通常使用将一些从两种方法方面的混合方法。这是很常见的,看看台基于功能组合在一起的手机。例如,基于图形性能,屏幕分辨率,或输入法的游戏应用程序可能会将手机。基于现有的内部传感器基于位置的服务(LBS)的应用程序可能组的手机。其他应用程序可能开发应用程序的一个版本,手机内置了摄像头和一个版本为那些没有摄像头。这些分组是任意的,由开发人员设置保持代码和测试管理。他们将在很大程度上,可以通过特定的应用程序的细节和任何支持需求的驱动。


提示- - - - - -

一个单一的,统一的应用程序的版本是便宜的支持比明显不同的版本。但是,游戏可能会使用自定义的版本卖得更好,充分利用独特优势和特定手机的功能。垂直业务应用可能会从一个统一的应用程序设计的工作原理相同,更容易培养跨多手机用户受益更多,因而会对企业降低支持成本。


用例应该先写笼统的应用程序适用于特定的手机,它强加给自己的限制了。例如,一个高层次的使用情况的应用程序可能是这样的:“输入表单数据”,但个别手机可能会使用不同的方法来对特定手机的硬件执行此,手机是否有一个键盘,等等。


提示- - - - - -

为多个手持设备开发应用程序很像为不同的操作系统和输入设备开发应用程序(例如处理Mac键盘快捷键与Windows上的快捷键)——必须考虑到细微和不那么细微的差异。这些差异可能很明显,比如没有键盘输入,或者不那么明显,比如手机特有的bug或者左右软键的不同约定。


将第三方的要求

除了您的内部需求分析强加的需求之外,您的团队还需要合并其他团队强加的任何需求。第三方需求可以来自任何来源,包括

  • Android许可协议要求

  • 谷歌地图API许可协议要求(如果适用)

  • 第三方API要求(如适用)

  • Android市场需求

  • 移动运营商/运营商的需求

  • 其他应用程序商店要求(如适用)

  • 应用程序认证要求(如适用)

将这些要求纳入项目计划的早期不仅保持你的项目如期进行,但也让这些要求建成从地上爬起来的应用程序,而不是作为事后的想法,可以是有风险的应用是必不可少的。

管理听筒数据库

随着您的移动开发团队构建应用程序越来越多的手机,它变得越来越重要,以跟踪收入估计和维护的目的,目标手机的信息。创建一个手机数据库来跟踪营销和设备规格细节目标手机的好方法。当我们说“数据库”,则是指从Microsoft Excel电子表格到当地的小数据库什么。问题的关键是,这些信息在团队或公司共享,并不断更新。

电话数据库最好在项目需求确定和目标手机确定时尽早实现。图18.2说明应用程序开发团队的不同成员如何跟踪和使用手持设备信息。

图18.2

开发团队如何使用手机数据库。

确定哪些手机来追踪

一些公司只跟踪他们积极开发的手机,而另一些公司也跟踪他们未来可能想要包括的手机,或较低优先级的手机。在项目的需求阶段可以将手持设备包括在数据库中,但是在项目范围的变更之后也可以将手持设备包括在数据库中。它们还可以在初始应用程序发布后很长时间内作为后续移植项目添加。

存储手机数据

手机数据库的设计应包含有关给定的手机,这将是开发和销售应用程序可能有用的任何信息。这可能需要有人在保持从运营商和制造商的信息不断流的轨迹来负责。不过,这些信息可以在一家公司的所有移动项目非常有用。该数据应包括

  • 重要的手机技术规范细节(屏幕分辨率,硬件的详细信息,支持的媒体格式,输入法,本地化)

  • 关于手机的任何已知问题(bug和重要限制)

  • 手机运营商的信息(任何固件定制,发布和日落日期,预计用户统计,例如,如果一个手机备受期待,预计卖了很多,或者还有垂直市场应用的接受,等等)

  • 固件升级信息(因为它成为可用,变化可能对应用程序没有任何影响或保证一个完全独立的手持设备条目)

  • 实际测试手机信息(手机已购买或通过制造商或运营商租用计划贷款,有多少可用)

听筒载波信息,也可以交叉引用与来自载体,应用商店,并且内部度量销售数字。

实际测试的手机信息通常最好实现为图书馆借阅系统。团队成员可以为测试和开发目的预订手机。当租借手机需要归还给制造商时,很容易追踪。这也促进了团队间的手机共享。

使用手机数据

123.4 第1页
第1页共4页
IT薪资调查:结果在