软件迭代开发模型在软件人才培养中的应用研究
总结教学资源、教学方法和人才培养策略等,形成教材、论文和门户网站等教学资源。经过多年从事软件开发和教育工作,南京邮电大学计算机学院软件人才培养思路可以概括为“行业需求为指导、项目开发为手段、人才培养为目的”,形成如图1所示的软件人才培养流程。其中,行业需求为指导是指最终高等学校培养出来的软件人才是要服务于社会、就业于企业,如果培养学生使用过时的软件技术(如开发工具、测试工具和体系结构等),那么学生毕业后就不能满足企业的需求,毕业就等于失业,需要二次就业,给社会造成负担。项目开发为手段是指软件迭代开发模型与周期性人才培养的结合需要项目开发来锻炼和检验课题提出的人才培养模式,而且也为形成各种教学资源(项目案例库、共享门户网站和精品课程教材等)打下坚实的基础。另外,这里的项目来源也可以不拘一格。目前高校项目来源主要有政府科技部门项目、校企合作产学研项目和学校信息化改造项目。人才培养为目的是指教师的天职就是培养人才,培养高素质、满足社会需求的人才。只有老师在教学培养过程中不断总结经验,不断创新方法,不断提供学生实践的机会,学生才能够具有良好的专业水平、柔性的管理和团队协作水平。
1.2软件迭代开发模型与本科四年周期性人才的关系
软件迭代模型是RUP推荐的周期模型,在RUP中,RUP定义了初始、细化、构造、交付4个阶段。迭代开发是一次完整地经过所有工作流程的过程,至少包括需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。通过多年的软件专业教学和项目开发发现,由于软件开发过程需要不同类型的人才,针对目前4年制本科教学这一周期性过程,可以很好地与RUP中迭代开发模型完美结合。其中,高年级的同学可以担负项目管理、项目需求分析文档、项目建模和风险控制等任务;低年级的同学可以通过在项目组中的训练培养项目开发兴趣、了解软件开发流程,从编码开始介入,不断提高自己的编程能力和项目管理能力。这样通过一个完整的项目开发,低年级同学将掌握一定的项目开发能力和项目管理经验,在下一个项目中(该项目也可以是上一个项目的迭代版本),他们就可以进入高年级角色,担当起项目管理和需求分析的角色,低年级或新生又可以加入到项目组中担当测试和编码角色。综上所述,RUP迭代模型与大学4年制本科周期性人才之间的关联如图2所示。
2 软件迭代开发模型与大学本科四年周期性人才能力的映射
通过多年的计算机软件人才培养和项目实践表明:大学4年一个周期与RUP四个阶段的迭代模型可以很好地结合起来,如图3所示。一年级新生主要是学习专业基础课,尤其是在他们第一次学习编程语言C或C++的同时,可以组织他们参与相应的软件开发项目,让他们对编程语言的学习产生兴趣,觉得学习编程语言可以完成项目。二年级学生一般开始学习数据结构、操作系统和软件工程等专业通识课,培养学生自己设计算法和编程解决实际问题的能力,他们可以参与项目的部分核心算法设计工作。三年级学生开始接触数据库、软件测试和网络等专业选修课,他们已经具备了一定的软件专业知识和开发能力,也具备了软件设计和开发经验,可以担任一定的项目管理工作。四年级学生开始分流,一部分学生考研,一部分学生就业。就业这部分学生可以很好地协助老师承担起项目管理和指导工作,这时他们具备的能力也可以与社会需求接轨了。这种迭代开发模型与人才培养相结合的培养模式优点显而易见,第一,有利于克服大学4年一个周期的人员流动性大的特点,保证人才的可持续培养;第二,也可以适当减轻指导老师的负担,发挥学生传帮带的作用;第三,还有利于学生水平的不断提高,站在前面学长研究成果的肩膀上,让他们将更多的精力专注于以前没有解决的难题上,实现软件版本的不断迭代开发,解决了高校教师项目开发的人员短缺和产品产业化等问题;第四,培养学生团队协作和项目管理的能力。这种人才培养思路也可以应用到其他专业的学生培养和教师项目研究中。
3 结语
面对我国软件人才,尤其是管理性人才缺失的情况,很多地方政府开始着手联合企业和高校,三方共同培养满足社会需求的软件人才,这就更需要高校软件人才培养的教育工作者们与时俱进,要不断学习不断更新软件技术和开发平台,更要不断研究人才培养方法和模式。
(见习编辑:刘丽丽;编辑:郭田珍)