工作流程:软件专业实训的核心

2022-11-06

目前国家在大力推动高职高专等职业院校的建设, 很多高职院校或软件学院开设有软件专业。作为一种职业教育, 实训环节是这些院校软件专业的一个必不可少的环节, 但大多数院校以培养专业技能为目标, 而不是真正地以就业为导向, 本文探讨高职高专院校中软件专业学生实训的核心内容——工作流程。

1 目前高职高专院校软件专业的培养模式与实训过程

近年来, 我国高职高专职业教育发展迅速, 学校数量、规模不断扩大, 国家对职业教育日益重视。而高职高专类院校也为社会提供了很多急需的专业学生。其中, 随着国家信息化建设对I T职业人才的大量需求, 很多学校都开设了软件专业, 为I T企业培养了大量的软件开发人员。作为职业教育的软件专业, 实训不同于一般的操作性技工实训, 不同的院校都尝试着不同的实训模式。下面让我们先看一看目前高职高专院校软件专业的培养模式。

1.1 课程设置

大多数高职高专院校, 都来自于合作办学或前身来自于中专的升格, 还有一部分是近年来新兴办的高职高专。这些院校, 普遍对软件行业缺乏行业性的了解, 加之软件行业本身是一个发展非常快、变化很迅速的行业, 因此在进行课程设置的时候, 一般有两种模式:一种是参考本科院校计算机专业的课程, 加上一两门语言类的课程和数据库的课程;另一种是, 与职业培训机构合作, 所谓的嵌入式教学, 也就是将职业培训机构成熟的软件培养课程体系嵌入到课程设置当中。从课程设置上看, 第二种稍好于第一种。

1.2 师资

如前所述, 大多数高职高专院校的老师结构, 是一种“两头沉”的分布。也就是说, 由于这些职业类学院大部分是近年兴办的, 并且是属于国民教育序列 (发“国家承认”的毕业证书) , 所以这些院校的师资队伍, 一部分聘请高校中离、退休的老教师、兼职教师或教学管理人员, 主要从事教学管理或基础课程的教学, 还有一部分是大量招聘应届高校毕业生 (对于软件专业来说, 主要是招聘高校的计科系毕业生) , 主要从事专业课程的教学。很明显, 这些师资中, 绝大部分是对软件行业知之甚少的, 是不具备软件开发经验的, 特别是从高校中招聘的计科系应届毕业生。我们都知道, 传统高校的计科系的课程设置, 本来就不是为应用而设置的, 从这些传统高校毕业的计科系的学生, 对主流开发语言、主流开发工具和主流数据库软件的掌握, 知之甚少, 知之甚浅, 更不具备软件开发技能和行业素养, 更谈不上对软件开发流程有什么理解。如果是属于自主进行课程设置的院校, 那么往往是老师边学边教, 教学质量可想而知;如果是和职业培训机构合作, 那么通常会有相应的师资培训, 不过由于是利益合作体, 并且培训往往是假期短期培训, 不可能从根本上改变师资质量。

1.3 教学管理

高职高专院校, 作为国民教育序列中的一员, 仍然摆脱不了评估、考核、升本等事项, 所以从教学管理上来看, 与传统高校差别不大。而且教学管理人员, 多聘请的为高校退休的教师和教学管理人员, 办学思路上也与传统高校有着自然的相似性。那么, 传统教育当中存在的问题, 在职业院校中同样存在, 包括软件专业的教学、考核与实训。

通过上面的介绍, 我们可以看到, 现在大多数高职高专院校, 实际的办学方向, 并不是以就业为导向的, 那么作为其中重要一环的专业实训, 必然也摆脱不了这种模式下的影响。

1.4 实训过程

目前高职高专的软件专业学生实训, 大致可以分为两个阶段:一个是项目实训, 一个是综合实训。所谓项目实训, 就是在每门课程结束时, 做一个本课程相关的项目, 称为“大作业”, 这是一般院校软件专业通常的做法。所谓综合实训, 实际上在大部分高职高专中, 相当于传统本科院校的毕业设计。下面的表1中对目前高职高专院校软件专业的实训过程做一总结。

从以上分析可以看出, 现在高职高专软件专业的实训, 限于师资状况及办学理念的理解, 对于学生的代码编写强度、熟练度、规范度以及工作流程方面的实训, 缺乏足够的训练。特别是综合实训, 通常是放在毕业前最后一个学期。与传统院校同样的问题, 这个时期的学生都在忙着找工作, 综合实训难于真正有效地开展起来, 最终往往流于形式。

2 I T企业对软件开发人员的要求

在上面的分析中, 我们对目前高职高专院校软件专业的培养模式和实训过程有了比较清晰的了解。作为职业教育, 就是要为行业提供满足岗位职能要求的职业人力资源。那么, 下面我们来看一看I T企业对软件开发人员的要求是什么。

2.1 基本技术能力

包括编程语言、编程工具的掌握, 良好的编码能力和规范化编码习惯, 运用数据库的能力, 解决问题的能力等。技术能力直接决定了项目开发的效率, 这就要求软件开发人员至少精通一门编程语言, 比如当前常用的C/C++、J a v a、C#等, 熟悉它的基本语法、技术特点和A P I (应用程序接口) ;精通一种集成开发工具, 如VS2005, NetBean等;具备认识和运用一种数据库的能力, 即会使用目前常用的数据库软件, 如Oracle和微软公司的数据库等。

2.2 自觉的规范意识和沟通与合作能力 (团队精神)

企业希望招聘到的程序员编程不一定很快, 但是需要非常规范, 个人能力不一定很强, 但需要合作意识好。现代的软件开发已经走过了个人英雄主义的时代, 软件规模越来越大, 致使软件开发项目组成员越来越多, 沟通与合作能力已经成为软件工程师必备的基本能力之一。沟通与合作能力包括与客户, 与项目组成员, 与上级的良好沟通;团队合作精神;冲突协商 (团队之中人与人难免会有冲突, 多数是技术上的冲突, 开发人员要具备协商解决的素质) 。

2.3 具有软件工程的概念

现代软件开发一般都按照软件过程模型来进行, 这就要求软件工程师了解软件开发生命周期, 理解项目开发中文档的重要性, 了解主流软件开发过程模型。编程只是软件生命周期中的其中一环, 优秀的软件工程师应该掌握软件开发各个阶段的基本技能, 研发流程、代码规范、撰写文档、有效测试等。从项目需求分析开始到安装调试完毕, 基础软件工程师都必须能清楚地理解和把握这些过程, 并能胜任各种环节的具体工作。一个编程高手并不一定是一个优秀的软件工程师, 一个优秀的软件工程师是能够将编程能力和开发技巧同严格的软件工程思想有机地结合起来。

2.4 自学能力

软件业是一个不断变化和不断创新的行业, 它正在以比传统行业快7倍的速度发展, 新技术、新思想、新模式层出不穷, 这是一个逆水行舟, 不进则退的行业, 开发人员必须怀有危机感, 不断地学习、进取, 才能够追赶上这个行业的前进步伐。

从上面分析可以看出, 实际上, 企业对软件开发人员的要求, 并不仅仅限于技能上的要求, 对于个人素质以及规范化和标准化开发的要求日益重视。

3 工作流程——软件专业实训的核心

软件专业的实训, 担当着对学生进行专业技术能力、行业通用能力和核心竞争能力等三个方面进行针对性的培养的训练的作用。

高职高专院校软件专业现行的实训过程, 以培养和训练基本技术和简单技能为主, 但强度和密度不够;对遵循软件工程思想进行了规范化的开发, 缺乏足够的重视和训练。而随着国内软件业的规范化、规模化的发展以及外包项目的快速增长, 软件企业对规范化和标准化的要求日益重视, 这就要求, 要有效地培养软件开发“职业人”, 就必须调整和优化现有的实训模式, 从以下几个方面加强实训过程。

3.1 熟练度训练

熟练度训练又包括几方面。技能熟练, 如编码速度训练, 常规固化模块编码训练, 开发工具使用熟练, 数据库操作熟练 (S Q L语句编写熟练) , 问题排除熟练, 单元测试熟练;算法熟练, 如查找、排序、比较等常用算法, 要能熟练地转化为代码。

3.2 规范度训练

文档写作训练:《产品需求规格说明书》、《模块设计报告》、《实现与测试计划》、《数据库设计报告》、《体系结构设计报告》、《系统编程文档》、《系统测试计划》、《系统测试用例设计报告》、《系统测试总结报告》、《系统开发总结报告》、《系统用户手册》、《项目开发计划》、《用户界面设计报告》等文档的规范化写作训练。遵循个人软件过程 (Personal Software Process, PSP) 进行项目实训的训练;

3.3 团队协作训练

以项目团队来进行软件项目实训, 并且有明确的分工与岗位职能描述;开发中要遵循团队软件过程 (T e a m S o f t w a r e Process, TSP) , 培养团队协作意识与能力;按C M M I (能力成熟度模型) 的要求组织实训过程;规范化开发过程的基础, 是工作流程的确定。所以, 软件实训过程的核心, 是分析和确定工作流程的实训练习。

综合以上说明, 在软件专业的实训过程中, 除了技能上的训练之外 (技能训练在学习过程中已经在重复进行了, 在实训阶段主要是熟练度和整合技术训练) , 更重要是软件工程思想的实践, 要按软件工程的要求规范化地组织实训过程, 核心就是工作流程。

摘要:本文先简要概述当前高职高专院校软件专业的培养模式和实训过程, 然后探讨软件企业中合格软件工程人员应当具备的职业能力, 最后详细讲述高职高专软件专业实训的内容及其核心——工作流程。

关键词:软件专业实训,工作流程,能力成熟模型 (CMM) ,个人软件过程 (Personal Software Process, PSP) ,团队软件过程 (Team Software Process, TSP)

上一篇:2型糖尿病合并肺部感染临床分析下一篇:AVS+技术在地面数字电视中的有效运用