首页 > 范文大全 > 正文

软件迭代开发模型在软件人才培养中的应用研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇软件迭代开发模型在软件人才培养中的应用研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对当前我国高校软件人才培养不能满足IT企业开发需求,高校教师科研项目开发质量不能满足服务社会需求等问题,分析了IT专业不同年级学生的能力水平与软件开发生命周期对人才的需求类型。通过组建项目团队和项目实训,提出了软件迭代开发方法与大学周期性人才更迭培养之间的关联模型

关键词:软件;迭代开发方法;人才培养;模型

文章编号:1672-5913(2013)03-0089-04

中图分类号:G642

0 引言

以2000年为起点,我国软件产业已经经历了一个黄金10年发展期。我国软件产业规模以平均每年38%的速度迅速增长,软件和信息技术服务业占电子信息产业的比重逐年上升。2000年时该比重只有1%~2%,2005年时提高到10.2%,2010年已提升至18%。据有关部门统计,至2010年底,我国软件和信息技术服务业从业人员已超过300万人,软件企业数量超过3万家,软件行业中骨干企业的实力明显增强。2010年,我国软件行业中排名前100家企业的收入达到2900亿元,在软件行业收入中占比达21.7%。但与美国、欧洲和印度等的软件产业相比,我们还有很多不足,主要表面在3个方面。第一,在软件产品品牌上,我国还没有能与微软的操作系统、IBM的软件服务、Oracle的数据库等相媲美的产品,我们的软件产品层次还比较低,多数是一些应用服务软件;第二,在软件企业规模上,据2012年全球500强企业排名,中国只有联想集团进入500强,排名370,这与HP(排名31)、微软(排名119)等相比还是有很大差距;第三,在软件人才影响上,我国在近20年涌现了马云、李宏彦、马化腾、任正非、丁磊、刘积仁等国内知名IT企业创始人,还有李开复和张亚勤等就职于世界IT知名企业高管,但没有像微软的比尔·盖茨、苹果的乔布斯、印度Infosys的创立者那拉亚南·穆迪(Narayana Murthy)等这样有影响力和创造力的人才。

美国、印度等软件强国在软件产业发展的成功经验表明,合理的软件人才结构是造就软件产业和产品地位的关键。根据当前软件行业细分结构可以将软件人才分成高、中、低的金字塔型,即处于高端的软件项目经理和系统分析师,位于中间层次的软件工程师,处于低层的程序员(从事软件编码等初级工作的程序编写人员)。中国的软件人才则呈明显的橄榄形,高端人才和低层人才都大量匮乏。当前全球来看,随着开发工具的智能化和编写程序的规范化,程序员已经不是最缺的人才,而合格优秀的项目管理人才才是最缺的。很多人认为项目管理能力很难在学校期间培养,实践表明,一个成功的IT项目管理人员的很多素质其实在大学或研究生阶段就能够培养和造就,进入企业从事项目开发只是增加了实践机会,培养了项目管理的技巧和艺术,使他成为合格而优秀的IT项目管理人才。我国软件从业人员虽然已经近300万,但是与我国软件产业的增速要求相比远远不够,有相当一部分缺口。以江苏为例,根据江苏省软件产业发展规划,到2012年江苏省软件和信息服务收入将达到4000亿元,出口80亿美元,软件从业人员达到65万人,目前从业人员大约在40万,还有25万人员的缺口。所以,对软件人才培养方法的研究很重要,不但可以为我国培养一定数量的软件人才,还可以为我国培养更多的软件项目管理人才。

国内目前关于如何培养学生的动手能力、如何培养学生与企业需求接轨、如何提高教学质量等方面都有研究,但是对于如何保持4年周期性人才培养的连续性等研究还不多,当前高校会出现以下3种情况。

1)很多老师反映本科生做不了项目,好不容易到大三或大四培养一两个动手能力好的学生,就要面临着考研或就业,根本没时间再跟老师做项目,所以高校很多项目也因人员流动而中止于原型系统,根本无法形成产业化或推广应用。

2)很多学生反映老师演示给学生的系统每届都一样,根本没有变化,有的系统都已经过时,不能满足当前软件开发需求,如在“软件工程”中,很多教材中还是引用传统的案例,如图书管理系统、学籍管理系统等,明显不能满足当前WEB方式下的软件开发需求。

3)很多老师反映多少年难得一遇某一个很出色的学生。为何会出现这种现象?老师没有研究教学培养的问题,而只是认为这与学生的天分有关系。其实软件开发天才(属于灵魂人物)的天赋很重要,但对于大多数社会需要的项目管理人员其实是可以复制的。本文结合软件迭代开发模型在软件人才培养中的应用展开研究,积累了丰富的经验,可以解决以上3种情况遇到的问题。

1 软件迭代开发模型在本科四年制人才培养中的应用

1.1软件人才培养思路

作为高校计算机教学工作者,为了能培养与社会和产业接轨的人才,除了具备较强的专业知识外,还应该做到以下3点:第一,要了解目前国内外软件行业的发展概况,在调研行业发展概况的同时,一方面了解当前最新的行业技术动态,另一方面了解产业对人才的需求情况。第二,要有丰富的项目开发经历和管理经验,尤其是精通RUP(Rational Unified Process,统一软件开发过程)迭代开发模型,以及指导本科生和研究生团队开发,这样就能很好地将迭代开发模型与周期性人才培养结合起来。第三,要在实践中总结教学资源、教学方法和人才培养策略等,形成教材、论文和门户网站等教学资源。经过多年从事软件开发和教育工作,南京邮电大学计算机学院软件人才培养思路可以概括为“行业需求为指导、项目开发为手段、人才培养为目的”,形成如图1所示的软件人才培养流程。其中,行业需求为指导是指最终高等学校培养出来的软件人才是要服务于社会、就业于企业,如果培养学生使用过时的软件技术(如开发工具、测试工具和体系结构等),那么学生毕业后就不能满足企业的需求,毕业就等于失业,需要二次就业,给社会造成负担。项目开发为手段是指软件迭代开发模型与周期性人才培养的结合需要项目开发来锻炼和检验课题提出的人才培养模式,而且也为形成各种教学资源(项目案例库、共享门户网站和精品课程教材等)打下坚实的基础。另外,这里的项目来源也可以不拘一格。目前高校项目来源主要有政府科技部门项目、校企合作产学研项目和学校信息化改造项目。人才培养为目的是指教师的天职就是培养人才,培养高素质、满足社会需求的人才。只有老师在教学培养过程中不断总结经验,不断创新方法,不断提供学生实践的机会,学生才能够具有良好的专业水平、柔性的管理和团队协作水平。

1.2软件迭代开发模型与本科四年周期性人才的关系

软件迭代模型是RUP推荐的周期模型,在RUP中,RUP定义了初始、细化、构造、交付4个阶段。迭代开发是一次完整地经过所有工作流程的过程,至少包括需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。通过多年的软件专业教学和项目开发发现,由于软件开发过程需要不同类型的人才,针对目前4年制本科教学这一周期性过程,可以很好地与RUP中迭代开发模型完美结合。其中,高年级的同学可以担负项目管理、项目需求分析文档、项目建模和风险控制等任务;低年级的同学可以通过在项目组中的训练培养项目开发兴趣、了解软件开发流程,从编码开始介入,不断提高自己的编程能力和项目管理能力。这样通过一个完整的项目开发,低年级同学将掌握一定的项目开发能力和项目管理经验,在下一个项目中(该项目也可以是上一个项目的迭代版本),他们就可以进入高年级角色,担当起项目管理和需求分析的角色,低年级或新生又可以加入到项目组中担当测试和编码角色。综上所述,RUP迭代模型与大学4年制本科周期性人才之间的关联如图2所示。

2 软件迭代开发模型与大学本科四年周期性人才能力的映射

通过多年的计算机软件人才培养和项目实践表明:大学4年一个周期与RUP四个阶段的迭代模型可以很好地结合起来,如图3所示。一年级新生主要是学习专业基础课,尤其是在他们第一次学习编程语言C或C++的同时,可以组织他们参与相应的软件开发项目,让他们对编程语言的学习产生兴趣,觉得学习编程语言可以完成项目。二年级学生一般开始学习数据结构、操作系统和软件工程等专业通识课,培养学生自己设计算法和编程解决实际问题的能力,他们可以参与项目的部分核心算法设计工作。三年级学生开始接触数据库、软件测试和网络等专业选修课,他们已经具备了一定的软件专业知识和开发能力,也具备了软件设计和开发经验,可以担任一定的项目管理工作。四年级学生开始分流,一部分学生考研,一部分学生就业。就业这部分学生可以很好地协助老师承担起项目管理和指导工作,这时他们具备的能力也可以与社会需求接轨了。这种迭代开发模型与人才培养相结合的培养模式优点显而易见,第一,有利于克服大学4年一个周期的人员流动性大的特点,保证人才的可持续培养;第二,也可以适当减轻指导老师的负担,发挥学生传帮带的作用;第三,还有利于学生水平的不断提高,站在前面学长研究成果的肩膀上,让他们将更多的精力专注于以前没有解决的难题上,实现软件版本的不断迭代开发,解决了高校教师项目开发的人员短缺和产品产业化等问题;第四,培养学生团队协作和项目管理的能力。这种人才培养思路也可以应用到其他专业的学生培养和教师项目研究中。

3 结语

面对我国软件人才,尤其是管理性人才缺失的情况,很多地方政府开始着手联合企业和高校,三方共同培养满足社会需求的软件人才,这就更需要高校软件人才培养的教育工作者们与时俱进,要不断学习不断更新软件技术和开发平台,更要不断研究人才培养方法和模式。