英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
移动应用开发流程:实践经验
Lizeth Chandi1,2, Catarina Silva1, Danilo Martiacute;nez2, Tatiana Gualotuntilde;a2
1School of Technology and Management, 2Departamento de Ciencias de la Computacioacute;n
1Polytechnic Institute of Leiria, Portugal, 2Universidad de las Fuerzas Armadas ESPE
1Leiria-Portugal, 2Sangolquiacute;-Ecuador
2152219@my.ipleiria.pt; catarina@ipleiria.pt; {mdmartinez, tmgualotunia}@espe.edu.ec
摘 要
如今,人们对移动应用开发的兴趣越来越大,然而,考虑到现有的特定约束,开发人员通常会忽略或者直接修改现有的软件开发过程来满足他们的目的。这种调整可能会在现有进程中引入变化和新的趋势,而在许多情况下,由于没有官方文件,这些变化和新趋势无法与科学界分享,从而证明需要进一步研究。在本文中,我们基于实际经验,对当前的移动应用程序开发过程进行了研究和描述。我们考虑了一组真实的案例研究来调查软件开发公司和独立开发者使用的移动应用程序的当前开发过程。本研究的结果是识别移动软件开发过程,即敏捷方法,以及当前应用于工业和学术界的方法的缺陷,也就是说,缺乏开发移动应用的资源。
关键词:移动应用程序开发;软件工程
Ⅰ.介绍
目前,智能手机用户可以在不同的网上商店找到数百万个应用程序。最成功的手机应用下载量已经超过了10亿次[1],每天都有新应用发布到手机市场,这对公司和独立开发者来说都是极具吸引力的,他们愿意投入时间和金钱。这种需求经常导致移动软件(SW)开发人员调整已建立的软件开发方法,或者提交新的建议,以适应与移动软件开发相关的限制。
移动软件开发的特殊性是多种多样的,但肯定包括短而频繁的开发周期、频繁的技术变化(平台、操作系统、传感器等)、有限的文档、开发团队和客户的特定需求和资源等等。此外,所有这些可能的因素都会导致不断创新[2]。
开发移动应用程序所采取的步骤可能因项目或已建立的技术而有所不同。移动应用程序是多个过程的结果,例如,分配角色给工作组,定义目标和活动,实施一套良好的实践团队和协作,建立活动时间表,风险管理,等等。最后,指导方针必须根据现有资源和客户要求进行调整[3][4]。此外,移动应用程序开发需要持续改进和适应满足新技术的需求和变化,提出重大挑战,例如:用户界面设计不同尺寸的屏幕的移动设备,移动设备的用户体验与功能,由移动平台提供用户交互方法,架构等[5]。
这种对快速适应性的需求是导致移动应用开发领域的科学文档有限的原因之一。目前,缺乏反映侧重于移动应用及其活动的开发过程的科学文献[6]。
当今的行业还没有完全建立sw级的移动应用程序开发流程。本研究的目的是更好地了解当前采用的方法,确定在学术和行业两种背景下,与移动应用开发相关的流程或方法是如何实施的, 包括厄瓜多尔和墨西哥的中小型和大型公司的案例研究。本研究也有助于更好地理解移动应用程序开发过程,检查面临的真实挑战,开展的活动,并考虑开发团队使用真实案例场景的特点。
本文的其余部分组织如下。第二节论述相关工作,第三节阐述应用研究方法。第四节讲述了基于所提出的研究子问题而获得的结果,第五节提出了对结果的讨论。最后,第六部分是总结和未来的研究方向。
Ⅱ.相关工作
在这一节中,我们介绍了解决当前移动应用程序开发过程中相关挑战的工作。
利用一级技术收集数据,研究人员已经确定了移动软件开发中的问题和挑战。Flora等人[6]通过对移动研究和开发社区的调查,总结了移动应用开发过程中面临的挑战。一些企业将他们的关注点限制在一个单一的平台上,这降低了他们应用程序的覆盖范围,但很少有参与者对缺乏的资源表示担忧。评估周期开始时所需的工作,开发人员团队花费大量时间了解和分析客户的需求,增加了他们开发、集成和测试应用程序的工作量[6]。从另一个角度来看,Wasserman[8]通过一项针对手机应用开发者的调查得出的结论是,大多数手机应用都相对较小,只有一两名开发者负责设计和实现整个应用,很少使用正式的开发流程,很少有开发后续跟进,也很少有指标。此外,几项研究一致认为,大多数移动应用程序开发人员使用敏捷方法或几乎临时的方法,是因为移动电话发展如此迅速,只需要较短的开发和规划时间,开发周期可能是[6][7]的方式。
移动应用软件工程非常重视用户界面(UI)的设计。Flora等人[6]认为,手机开发者发现利用有限的屏幕空间具有挑战性,UI设计比以往任何时候都更加重要。这一事实与用户体验(UX)有关,开发者指出,更小的显示、屏幕布局和不同的用户交互风格在设计手机应用程序时产生了重大影响,最终导致应用程序的使用率和使用率较低[6]。即使开发人员可以控制UX的大部分方面,移动应用程序也经常与其他应用程序共享UI的公共元素,因此必须遵守外部开发的UI指南,其中许多是在软件开发工具包中实现的,这是平台的一部分[8]。此外,移动应用程序开发人员必须预测UI设计的目标设备。具体来说,如果目标是单一平台,开发者可能会冒着功能不一致的风险,决定为所有平台构建单一应用程序,或者考虑针对每个硬件平台构建多个版本[7]。
此外,在[8]中得出的结论是,尽管是在存在大量的移动应用的今天,移动软件开发流程还没有完全适应移动应用程序开发的项目,他们是复杂的, 由于移动应用在其操作和真实环境中的特点,产生了一系列新的研究课题,应采用不同的方法。
当前的方法通常不关注特定的应用程序开发,从而导致相对抽象的解释。在下面,我们提出了一种研究方法,允许分析厄瓜多尔和墨西哥的小型、中型和大型公司的特定移动应用,在以下两种背景下:学术和工业。
Ⅲ.研究方法
来描述场景移动软件开发和识别过程的实践,我们提出一个案例研究的指导方针,由Runeson等人[9]客观地识别和描述移动应用程序开发的过程和方法,目前应用于学术和工业。
我们首先介绍研究问题,然后介绍可能的答案。
- 研究问题
基于上述目标,建立了以下研究问题:“如何在学术界和工业界开展移动应用开发流程?”鉴于问题的一般立场,有必要求助用于研究的子问题,以便取得更具体的结果:
Q1. 行业和学术界最常选择的开发平台是哪些?
Q2. 工业界和学术界开发了什么样的移动应用程序?
Q3. 在我们的设想中,什么样的公司开发软件?
Q4. 什么类型的软件开发过程被工业界和学术界应用?
Q5. 应用了哪些特定的开发过程或方法?
Q6. 哪些活动符合工业界和学术界在开发移动应用程序时所采用的方法或流程?
Q7. 在工业界和学术界,开发团队的经验水平是多少?
Q8. 移动应用程序的开发需要多长时间?
Q9. 在工业和学术界中,移动应用开发的方法或过程的严格程度是多少?
Q10.在工业界和学术界的移动应用开发过程中出现了哪些问题?
该研究在两种情况下进行,采用多病例设计,由两个单一的嵌入式研究[10],[9]组成,如图1所示。第一个单独的研究包含三个分析单元,它们对应于学术领域中应用的开发过程。'Universidad Politeacute;cnica de Madrid'的计算机工程专业学生开发了前两个案例,第三个是由“Escuela Politeacute;cnica Nacional de Quito”系统工程专业学生开发的应用程序。另一方面,第二个单一研究对应于适用于五个行业的发展进程。厄瓜多尔公司Arca Continental,作为一家跨国公司,其移动应用开发领域位于墨西哥,维护工作位于厄瓜多尔。
Kruger Corporation (http://www . Kruger Corporation . com)、Sofya Systems S.A .和Devsu SW(http://devsu.com/)的主要活动是开发软件,而Arca Continental(http://www.arcacontal.com)是一家与软件部门不对应的公司,但有一个软件开发提供商和部门来生成他们的应用程序。选择这些行业是考虑到它们对研究的开放性。
图1. 分析单位:移动应用程序名称
- 资料收集方法及选择策略
对于数据收集,使用一级技术[11],如访谈和问卷调查,这需要直接接触信息来源。为了收集信息,为每个单独的研究定义了一份问卷,包含开放和封闭的问题,试图回答研究的子问题。此外,还与每个开发小组负责人进行了个人访谈,以验证信息。
根据子问题将收集到的信息组合起来。应用的策略是基于为每个研究问题提供一组可能的回答,如表1所示。
表1. 研究子问题的可能回答
RQ |
回答 |
备注 |
Q1 |
IOS, Android, Windows Phone等等 |
无 |
Q2 |
原生应用,网页应用,混合应用 |
无 |
Q3 |
微型企业、小型企业、中型企业、大型企业 |
根据[12]:(e=员工) 微型企业:1-9e. 小型企业:10-49e. 中型企业:50-199e. 大型企业:gt;=200e |
Q4 |
敏捷的,不敏捷的 |
|
Q5 |
过程/方法/方法名称 |
如果没有报告名称,则将其归类为AD-HOC |
Q6 |
流程活动 |
过程活动清单 |
Q7 |
没有经验,新手,中级,专家 |
根据[13]:(y=工作年数) 没有经验:1-2y 新手:2-5y 中级:5-10y 专家:gt;10y |
Q8 |
(m=月份) 1-3m,3-6m,6-12m,超过12m |
无 |
Q9 |
低,中,高 |
低:0-3,中:4-6,高:7-10 |
Q10 |
开发过程的问题 |
在开发过程中确定的问题的描述。 |
Ⅳ.结果
本节介绍从个案研究中获得的结果,根据对子问题的组织研究。
Q1. 开发平台
如表2所示,3个分析单位(1个来自学术,2个来自工业)包括仅为Android开发的应用程序。剩下的5个分析单位(2个来自学术,3个来自工业)为Android和iOS开发了移动应用程序。最后,案例研究中没有分析单位,只进行iOS开发。
Q2. 移动应用程序类型
表3显示,5名分析单位(2名来自学术,3名来自工业)开发了原生移动应用。其中一个分析单位(工业)着眼于移动web应用程序,三个分析单位(一个来自工业,一个来自学术)开发了混合移动应用程序。
表2. 开发平台:分析单元
表3. 应用程序类型:分析单位
Q3. 在我们的设想中开发应用程序的公司类型
从[12]的规模来看,20% (1个分析单位)是微企业,只有Riverminds的一部分,有7名员工。40% (2个分析单位)是小公司,其中Sofya Systems SA 12名员工,Devsu SW 20名员工。剩下的40% (2个分析单位)是大公司,Arca Continental:超过4768名员工,Kruger Corporation:248名员工(见表8)。
Q4. 软件开发过程的类型
分析单元(分析单位)是根据两种类型的软件开发过程来划分的:敏捷和非敏捷,每种方法或过程都有(表4)。我们注意到公司通常选择敏捷方法。
表4. 软件开发过程的类型:分析单元
Q5. 过程,方法和方法的应用
一个分析单位, Argentarius应用,使用XP原则作为研究方法。此外, 一个分析单位为ETSIINF UPM应用程序的开发提出了一个轻量级的瀑布方法模型。三个分析单位应用Scrum研究方法: Flux app、ACMovil app和Supermaxi app。最后,剩下的三个分析单位, SG Getafe app, Tarikuacute; app和Riverminds app,由于没有具体的或命名的
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[264644],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。