您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 软件从业人员能力标准模型(Android应用开发)
软件从业人员能力标准模型移动互联应用软件开发岗位能力模型(Android应用开发)联想教育&培训事业部2014-10-10第一章、引言Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。自2008年10月第一部Android智能手机发布之后。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。据统计数据显示,自2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%,全世界采用这款系统的设备数量预计达到10亿台以上。随着采用Android系统的谷歌手机、平板电脑等产品逐渐扩大市场占有率,Android平台人才的缺口日益显现。据业内统计,目前国内的3G研发人才缺口有三、四百万,其中Android研发人才缺口至少30万左右。编写本标准的目的主要是为了规范目前Android开发人员的技能要求,为Android应用开发人员的培训及技术评估提供一个参考的依据。第二章、能力模型系统全景《软件从业人员能力标准模型》目前涵盖软件开发,软件测试两个领域,在软件开发领域主要包含了JAVA开发,Android开发和IOS开发三个模块。在Android开发模块包含了应用软件开发和平台开发两个子模块。本模型重点定义了Android开发模块中的应用软件开发子模块的技术标准。其在系统中的位置如下图所示:第三章、Android应用软件开发能力模型架构本模型在设计的时候,遵从了以下的架构:从上图的结构可以看出,本模型由级别和能力两个分量构成一个矩阵式关系。在进行级别定义时,根据各岗位能力模型的特点,可以灵活的将级别设置为3级或4级(本模型的级别取值为3),每一个级别定义分为两个维度进行描述。维度1:经验要求维度2:工作职责能力定义分量在描述时分别从以下三个维度,根据各级别的能力要求及复杂度进行说明。软件从业员岗位能力标准模型软件开发工程师JAVA开发Android开发APP应用开发平台开发IOS开发软件测试工程师软件测试单元测试安全测试。。。。。。维度1:技术能力维度2:管理能力维度3:综合素质能力与级别的相交点上对应的是该级别所需要的能力单元。每个相交位置可以包含一个或以上的能力单元,每个能力单元在详细说明时,需要包含两个部分的内容内容1:该能力单元的能力要求内容2:该能力要求在实际工作中的体现第四章、级别定义说明本模型在将员工的能力定义为三个级别。分别是:Androd助理开发工程师,Andorid开发工程师和Android资深开发工程师。各级别的定义如下:Android助理开发工程师:Android助理开发工程师适用于应届本/专科毕业生或短期培训的学员,在学习期间已独立完成过2-3个代码量不低于5K小型项目的实训。Android助理开发工程师能够在系统设计文档的指导下独立的进行详细设计文档的输出以及系统的编码及测试工作。Andorid开发工程师:Andorid开发工程师适用于在实际工作岗位中工作满1-2年以上的软件从业人员,且从业期间完成的项目数不低于5个,总代码量不低于30k。Andorid开发工程师能够在SE的指导或协助下完成系统的需求采集及架构设计工作;能够独立的完成模块级的设计及文档输出工作;根据设计档完成系统的编码实现及测试工作。Android资深开发工程师:Android资深开发工程师适用于在实际工作岗位中工作满2-3年以上的软件从业人员,且从业期间完成的项目数不少于15个,总代码量不低于100K。Android资深开发工程师能独立的完成客户需求的采集,整理;能独立的完成系统的架构设计;能指导他人完成系统的概要/详细设计。第五章、能力定义说明本模型在能力维度将能力项划分三个子维度,三个子维度分别是:技术能力维度管理能力维度综合素质维度其中,技术能力维度聚焦于以下能力项:UI布局能力Android编程能力网络协议应用编程能力数据库应用能力代码调测试能力操作系统应用能力外设传感应用能力管理能力维度聚焦于以下能力项团队管理能力时间管理能力任务管理能力质量管控能力综合素质维度聚焦于以下能力项:文档编写能力流程遵从能力沟通能力学习能力团队协作能力第六章、能力模型第1节、Android助理开发工程师能力标准能力单元能力项能力要求能力体现技术能力维度UI布局能力1,能够陈述UI布局的实现过程,阅读现有布局代码,并在现有基础上进行基本功能修改。1,掌握UI布局文件的结构,工作原理。2,熟练掌握HTML5的语法,结构以及核心元素的使用2,能够使用给定的界面原型、图片或资源,自行选择或设计合适的布局方案,实现项目的布局,并保证各界面控件功能的正确实现3,熟练掌握CSS的语法,选择器,边框,文本,盒模型等特性的概念及使用方法Android编程能力1,能够快速阅读现有代码,熟悉现有代码的结构和使用的方法。能够根据现有代码实现的方法进行问题的修改。2,能够根据给定的详细设计文档,编程实现单个模块或方法的业务逻辑。1,掌握Android系统介绍及开发平台搭建2,会使用Android核心组件进行常规功能开发3,掌握Android数据存储技术,可以使用FILE,SQLITE等实现数据存储功能。4,掌握Android图形编程技术,能够根据给定的API绘制出2D/3D图形。5,掌握Android基本的代码调测技术。网络协议应用编程能力1,能够根据网络通信的协议的基本语法和给定的库(或接口),实现网络协议的编程2,使用抓包工具进行语法分析,并通过阅读通信协议底层代码进行简单故障定位1,熟悉常用的网络通信协议(TCP/IP,HTTP,SOAP,JSON,SOCKET)的语法及结构,能够对其中之一的协议进行详细的描述。2,掌握常用的抓包工具(HTTPWATCH,SNIFFERPORTABLE,TCPdump)的使用数据库应用能力1,能够使用数据库GUI工具或编写代码实现与数据库的连接;编写代码将数据保存到数据库中并根据需要读取出来2,能够独立设计数据库(表),在满足三大范式的基础上,使其具备规范、合理和高效的特性(如:数据冗余、临时表等)1,掌握常用的数据库终端的使用,例如:PLSQL,SQLExplorer等。能够使用图形终端操作数据库2,掌握常用的SQL语法,能够进行数据库,数据表及数据记录的增删查改等操作。3,理解范式的概念,并能在数据库设计中体现出来。代码调测试能力1,能够Android编码规范,结合静态代码检查工具(如:Lint、Findbugs等),检查出代码中不满足编写规范的地方。2,能够使用代码跟踪、日志跟踪、断点和打桩等1,掌握Android编码规范2,掌握静态代码检查工具的使用3,掌握代码走查的方法4,掌握代码跟踪技术,断点及打桩技术,并在代码动态调试中熟练使用技术,对代码进行动态调试,从而发现系统中存在的bug3,能够发现并修复测试过程中发现的问题或缺陷操作系统应用能力1,能够根据系统提示完成LINUX操作系统的安装;2,能够完成LINUX操作系统的常用配置(如:设置环境变量、设置IP地址等);3,能够掌握LINUX操作系统的常见操作。4,掌握LINUX应用程序开发中的常见命令,并在Android的LINUXShell中进行操作1,掌握LINUX操作系统的安装,配置及使用。外设传感应用能力1,能够根据需求,对各输入设备、输出设备、接口和传感器的接口进行编码以实现外设的数据读写功能。1,理解系统中的各输入设备、输出设备、接口和传感器等外设的工作原理,2,掌握对外设编程的接口API的使用方法管理能力维度团队管理能力1,不涉及1,不涉及时间管理能力1,能够实现自我时间管理,提高自我工作效率1,理解时间管理的概念2,掌握时间管理的常用方法,并在工作中体现出来任务管理能力1,能够实现自我的任务管理,按时保量完成自己的任务1,理解任务管理的概念2,掌握时间管理的常用方法,并在工作中体现出来质量管控能力1,能够根据编码规范,编写出符合质量要求的代码1,掌握Android代码编码规范综合素质维度文档编写能力1,能够通过阅读所提供的需求文档,理解并准确地复述系统的功能性需求和非功能性需求2,能够独立的完成详细设计文档中某个模块的编写1,掌握文档的编写技巧2,掌握文档编写工具(WORD/EXCEL/PPT)的使用流程遵从能力1,能够在CMMI模型下,独立完成各阶段所涉及的工作内容、工作产品及交付件1,理解并能准确地复述CMMI模型下各阶段的工作内容,工作产品及交付件。沟通能力1,能够主动与他人进行沟通,1,掌握常用的沟通方法及技巧。学习能力1,具备良好的自主学习能力,能够快速进入到工作状态1,理解并掌握常见的学习方法,例如:拆解法、并整法、拆解法与并整法的混合运用团队协作能力1,能够认识到团队协作的重要性并积极主要的配合他人。1,理解并掌握团队协作的要素,如:尊重、欣赏、宽容、信任、沟通等第2节、Andorid开发工程师能力标准能力单元能力项能力要求能力体现技术能力维度UI布局能力1,能够使用表单,文件等技术编写出复杂的界面UI2,能够灵活应用各种布局方案及自定义控件,实现动态或特殊的界面显示效果3,能够解决主流浏览器及其不同版本之间的兼容性问题1,会使用JAVASCRIPT编程,实现态效果2,掌握在UI中嵌入音频和视频的方法。3,熟悉各种JS工具类库,熟悉jQuery/Ext/YUI/Dojo中至少一种框架,特别是jQuery4,了解主流浏览器及其不同版本之间以及其他浏览器之间的差异点。Android编程能力1,能够在架构设计师的协助下完成一个AndroidApplication的开发过程,包括:编码、测试、签名和发布。2,能够指导助理开发工程师进行模块的开发工作。3,能够利用Android的高级特性进行复杂功能编程。1,掌握Android代码调试与及代码测试技术2,掌握Android网络编程技术,能够根据现有API实现网络多种协议的通信功能。3,掌握Android多线程编程技术。4,掌握Android多媒体编程技术5,掌握Android设备访问技术,能够实现与外部设备或传感器之间的数据读写功能。网络协议应用编程能力1,能够独立地编程实现网络通信接口2,使用目前常见的的几种通信协议(如:SOAP、JSON等),并编程实现协议1,精通各协议的接口API2,根据需求,能熟练的使用各这些API,编程实现所需功能。数据库应用能力1,能够使用数据库的高级特性(如:事务、存储过程等),进行数据库编程1,掌握Android数据库编程的API的使用2,掌握数据库中高级特性的使用,例如,事务,存储过程,游标等代码调测试能力1,能够使用单元测试框架(如:Junit、Robolectric等),对代码进行单元测试,保证代码覆盖率在80%以上1,掌握单元测试工具的使用2,掌握单元测试用例设计的方法操作系统应用能力1,能够根据系统提示完成LINUX操作系统的安装;2,能够完成LINUX操作系统的常用配置(如:设置环境变量、设置IP地址等);3,能够掌握LINUX操作系统的常见操作。4,掌握LINUX应用程序开发中的常见命令,并在Android的LINUXShell中进行操作1,掌握LINUX操作系统的安装,配置及使用。外设传感应用能力1,能够在没有提供接口的情况下,根据系统的特点及要求,实现系统的业务逻辑1,理解系统中的各输入设备、输出设备、接口和传感器等外设的工作原理.2,精通对外设编程的接口API的使用方法,可以根据实际需求进行接口的自定义或二次封装。管理能力维度团队管理能力1,能够配合2人以上,5人以下的小团队进行项目的开发工作1,理解项目管理中人力资源管理的相关概念2,掌握项目管理中人力资源管理的技术,方法和工具的使用。时间管理能力1,能够实现自我时间管理,提高自我工作效率2,能够指导他人进行时间管理1,理解时间管理的概念2,掌握时间管理的常用方法,并在工作中体现出来任务管理能力1,能够
本文标题:软件从业人员能力标准模型(Android应用开发)
链接地址:https://www.777doc.com/doc-3719190 .html