您的位置: turnitin查重官网> 计算机 >> 计算机科学 >基于Android平台软件开发软件项目管理实践

基于Android平台软件开发软件项目管理实践

收藏本文 2024-01-31 点赞:6579 浏览:21418 作者:网友投稿原创标记本站原创

摘要:通过在一个Android平台小型软件的开发过程中应用软件项目管理的相关知识,初步探讨了Android平台软件开发的特点,阐述了需求、质量、进度等方面的管理理念和方法,特别是如何对项目进行跟踪、监控和度量,以保证软件按照进度高质量地完成、交付和使用。
关键词:Android;软件项目管理;系统模型;管理实践
16727800(2012)008001004
基金项目:2011—2012年度曲阜师范大学本科生科研训练项目
作者简介:鲁成祥(1988-),男,曲阜师范大学计算机科学学院本科生,研究方向为网络工程;吕培强(1989-),男,曲阜师范大学计算机科学学院本科生,研究方向为软件工程;庞新莹(1990-),男,曲阜师范大学计算机科学学院本科生,研究方向为网络工程。
1项目管理内容
项目管理是在一定的约束条件下,为高效率地实现项目业主的目标,以项目经理个人负责制为基础和以项目为独立实体进

源于:大学生论文查重www.udooo.com

行经济核算,并按照项目内在的逻辑规律进行有效地计划、组织、协调、控制的系统管理活动。
从软件工程的角度讲,软件开发主要分为以下几个阶段:需求分析、总体设计、详细设计、编码和单元测试、综合测试、运行和维护。在开展软件项目管理时,应遵循以下7条基本原则:①用分阶段的生命周期计划严格管理;②坚持进行阶段评审;③实行严格的产品控制;④采用现代程序设计技术;⑤结果应能够清楚地审查;⑥开发小组的人员应该少而精;⑦承认不断改进软件工程实践的必要性。
2项目管理实践研究

2.1项目简介

Android手机操作系统自问世以来,凭借其强大的易用性、开放性、丰富的硬件选择面及便捷的开发功能,迅速成为智能手机市场的新宠儿。“PC遥控器”是基于JDK和Android SDK,以Ja语言编写的一款Android平台手机应用软件。本款软件的开发意图在于使随身携带Android手机的人群无需再花钱购写专门的远程控制设备,如电子笔、无线鼠标等,或者在忘记携带上述设备的情形下,直接使用手机远程操控计算机,为用户节省时间和金钱。从虚拟触摸板功能、文件浏览功能,到智能PPT遥控功能、虚拟游戏手柄功能,“PC遥控器”将给用户带来更为实用、更为便捷的全新体验,让用户在工作、娱乐中尽情享受指尖在屏幕上滑动的乐趣。

2.2生命周期模型选择

增量模型融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。
因本软件涉及触摸板、文件浏览、PPT控制、游戏控制等多个相对比较独立的子功能,所以我们采用的是以增量模型(图1)的方式,把软件产品作为一系列的增量构件来逐一设计、编码、集成和测试,根据测试结果不断改善直至达到预期。
图1项目开发模型
采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。这样即可先发布部分功能给客户,可以使用户有较充裕的时间学习和适应新产品。此外,增量能够有计划地管理技术风险。
依据采用的增量模型,将该系统的开发阶段分为需求分析、系统设计、编码实施、测试、系统试运行等,在每个开发阶段中进行质量、成本和进度等跟踪控制管理,主要从文档、工具、沟通、制度、合作4个方面进行。管理模型如图2。
图2项目管理模型

2.3需求分析

需求分析是每个软件开发的基础,是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法,可用于获取、组织和记录系统需求并使客户和项目团队在系统需求变更上保持一致。全面的需求获取是从保证系统开发少走弯路为前提。项目开发中采用了多种方法从不同角度获取不同用户、不同平台的不同需求。分析方法主要有用户调查问卷、定期召开研讨会、原型展示等。对于每一次的调查和会议,都有专门人员做好全程记录,会后及时做好应对策略。
本项目具有较强的可行性和创新性,因此,正确而又全面地做好系统的需求分析是十分重要的。本项目所开发的系统的主要特点有:
(1)系统主要分为Android手机端应用软件和配套的PC怎么写作端软件两部分。
(2)手机端应用软件基于Android操作系统平台,应充分考虑到针对各种不同硬件配置和操作系统版本的兼容性。
(3)配套的PC怎么写作端软件应能够跨各种不同操作系统平台运行,且占用较少系统资源。
(4)系统应能够在大多数无线环境下使用,保证数据连接的速率和操作的顺畅。
(5)软件所面向用户群体的计算机专业知识参差不齐,因此简单友好的可视化操作界面是至关重要的。
本系统具体功能需求如表1。

2.4项目规划

项目规划是建立项目行动指南的基准,包括对软件项目的估算,风险分析、进度规划、人员的选择与配备、产品质量规划等。本项目采用Microsoft Project制定项目管理计划。在制定计划时注意保证计划的可行性,明确责任划分。项目管理计划随着系统的进行不断细化,不断调整。对于影响系统整体进度的调整,及时召开小组会议进行讨论决定并记录形成文档。

2.5系统设计与编码

系统设计阶段分为概要设计和详细设计两阶段完成。概要设计阶段将系统划分为连接模块、通信协议模块、触摸板模块、文件浏览模块、PPT控制模块、游戏手柄模块、设置模块、帮助模块、关于模块及退出程序模块等10个模块,并对这些模块进行了初步设计分析;针对PC怎么写作端软件,为了达到在各种操作系统平台上的可用性,编程语言采用了跨平台的Ja。系统总体流程如图3。表1系统需求分析
图3系统总体流程
详细设计阶段给出了每个模块的控制流程、算法和数据结构等。每个模块的层次不同。有些模块难度较大,涉及范围较大,会交给编程老练、心思缜密的队员完成。每完成一个模块都将对这一模块进行反复的测试和修改,直至稳定为止,尽可能地降低风险和成本。
在编码实施阶段,采用代码版本管理工具SVN,使各子系统的功能得到最大限度的发挥,子系统之间互相补充,弥补软件开发过程中的短板,降低软件开发过程中的风险和难度。这还有助于使得软件开发人员在测试和调试过程中能够针对某个特定的开发信息回到以前的任一版本,提高软件过程的跟踪率。

2.6测试和运行

软件测试伴随着整个项目进行,项目中制定了详细的测试计划、精心编写了测试用例。每一个子模块由该模块编程人员之外的人员进行反复测试,对测试过程中出现的任何问题和建议进行记录,以备该模块编程人员修改。在编写测试用例过程中,对测试目标、测试环境、输入数据、测试步骤、预期结果等记录具有代表性的数据,并形成文档。
试运行阶段,首先,小范围地对每个子模块试运行,试运行成功后再对整体软件试运行,并对反馈的运行结果记录、斟酌和完善。试运行成功后编写用户手册、制作PPT并录制视频说明,其中标注等,以备用户反馈。

2.7项目后期管理

当系统经过安装试用一段时间,具备验收的各项条件之后,我们就需要着手验收阶段的准备工作。首先我们需要把到目前为止完成的工作进行一个总结,列出我们已经完成的各项目工作成果、各类文档,对合同以及各类约定的技术文档中的相关内容进行自查。要彻底了解系统目前完成的情况如何,对于没有完成的,要考虑准备采取什么策略去进一步完成或者采取一定的回避措施,使客户在验收的时候不再提出这些未实现的需求。
系统交付后的软件维护是必不可少的。软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序。修改后要填写程序修改登记表,并在程序变更通知书上写明新旧程序的不同之处。

2.8项目跟踪控制

从软件项目前期需求分析到后期运行维护,均需坚持整个过程的监控,这是为通过周期性地跟踪项目计划的各种参数如进度、工作量、费用、资源、工作成果、风险等,不断地了解项目的进展情况,以便当项目实际进展状况显著偏离计划时能够及时采取纠正措施,使项目能恢复到正常轨道,或者更正计划的不合理之处。

2.9团队管理

软件项目的成功是靠项目管理、系统分析设计、程序编制、测试、市场营销等不同角色人员共同协作完成的,不同角色的人执行的工作相互促进和制约着其他角色的人的工作,因此一个高效的软件开发团队是高质量软件项目或产品的保证。
高效的软件开发团队是建立在合理的开发流程及团队成员密切合作的基础之上,成员共同迎接挑战,有效地计划、协调和管理各自的工作,以至完成明确的目标。高效的开发团队具有明确且有挑战性的共同目标,具有很强的凝聚力,具有融洽的交流环境,具有共同的工作规范和框架,采用合理的开发过程。
本项目的开发团队包括5位成员,

源于:毕业论文总结www.udooo.com

进行科学分工,相互协助设计、开发和测试。团队成员在专业技术上有所差异,而项目管理能力的表现也不是很突出,因此对于整个团队而言,具有一定的难度。我们严格按照软件工程中开发软件的方法来控制整个项目的进行,具体成员的工作安排如表2。
表2团队成员工作安排
团队管理是对项目组全体成员的管理和项目组织自身的管理,是项目管理中最为根本的一项管理。团队开发,永远不是一个人在行动,因此需要制定团队规范来约束大家的行为,以保证进度和质量。团队规范的内容主要包括:①每个开发人员每天晚上汇报当天的工作进度;②每周末总结本周工作,制定下周进度计划;③遇到问题及时沟通,充分利用团队优势;④不能完成任务或提前完成任务及时告知负责人;⑤个人独立解决一个问题的时间不能超过半小时,半小时之后未解决应及时与其他成员商讨;⑥阶段性的技术总结、团队内部技术、经验交流;⑦使用版本管理工具来协助开发;⑧保证充分可靠的文档;⑨周期执行检查工作;⑩实行公正合理的奖惩制度。团队管理的目的是使项目组人员的主观能动性得到充分发挥,做到人尽其才、事得其人、人事相宜,同时保持项目组织高度的团结性和战斗力,从而成功地实现项目的既定目标。
3结语
软件项目管理是一门很大的学问,它贯穿于项目启动、计划、执行、控制、收尾等5个阶段,它不仅需要项目管理相关的基础理论知识作为指导,也需要在实践中不断学习、摸索。因此,总结项目经验是非常重要的,它有利于团队技术与管理经验的积累,对于今后的项目有非常重要的指导意义,必须引起足够的重视。
本项目通过将软件项目管理的相关知识应用到Android应用开发的过程中,在需求分析、项目规划到系统设计与编码、测试和运行乃至团队管理等方面,有效地保证了项目保质保量地向前推进,有利于归纳出适合团队的开发过程,提高团队的开发经验。同时,团队的每位成员在项目开发的整个过程中都切实负起责任,既增强了团队合作意识,提高了团队的凝聚力,又保证了用户的真实需求得到满足。
通过在项目中实践软件项目管理的方法,在最后开发出的软件中,基本上达到了我们预期的目标,既完成了预定的各个功能模块,同时也在软件人性化、系统安全等方面都进行了认真地关注,并努力修正了很多方面的细节问题。
参考文献:
\[1\]GALIN D. Software quality assurance: from theory to implementation\[M\]. Addison Wesley/Pearson,2009.
\[2\]KERZNER H. Project management: a systems approach to planning, scheduling, and controlling\[M\]. John Wiley & Sons,2009.
\[3\]PRESAN R S.Software engineering:a practitioner’s approach\[M\].McGrawHill Companies,2008.
\[4\]宁建飞.对软件项目管理的探讨\[J\].软件开发与设计,2010(9).
\[5\]PATTON R.软件测试\[M\].张小松,译.北京:机械工业出版社,2008.
\[6\]SCGWALBE K.IT项目管理\[M\].杨坤,译.北京:机械工业出版社,2009.
\[7\]覃征.软件项目管理\[M\].北京:清华大学出版社,2009.
\[8\]施平安.软件项目管理实践\[M\].北京:清华大学出版社,2008.
\[9\]陈京鹭.浅谈信息系统集成项目管理\[J\].电脑知识与技术,2009(24).
\[10\]孙延靖,杨功元.项目管理技术在软件开发过程中的若干问题探讨\[J\].硅谷,2009(17).
\[11\]许薇.IT项目研发过程中的进度管理研究\[J\].项目管理技术,2009(S1).
\[12\]孔骏,赵春颖.可视化语言技术在软件开发中的应用\[J\].软件学报,2008(19).
\[13\]赵彬.全面质量管理在软件工程中的应用\[R\].北京:北京航空工程技术研究中心,2009.
\[14\]张海藩.软件工程导论\[J\].软件工程,2008(24).
\[15\]GOOGLE INC. Android开发文档\[EB/OL\].developer.android.com/.
\[16\]\[美\]伯内特,田俊静. Android基础教程(第3版)\[M\].北京:人民邮电出版社,2010.
\[17\]\[英\]梅尔,王超. Android 2 高级编程(第2版)\[M\].北京:清华大学出版社,2010.
\[18\]余志龙. Google Android SDK开发范例大全(第2版)\[M\].北京:人民邮电出版社,2010.
(责任编辑:余晓)

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号