论高职软件专业能力本位实训课堂的管理与控制

2022-11-04 版权声明 我要投稿

0 引言

温家宝总理在全国人大五次会议中提出:要把发展职业教育放到更加突出的位置, 使教育真正成为面向全社会的教育, 这是一项重大的变革和历史任务。

什么样的教育能成为面向全社会的教育?这是每一个教育工作者值得思考的问题。面向全社会的教育就应该是:理论要应用于实践, 实践以理论作为支撑并被社会广泛接受的教育。而构成这一理论的载体便是组成一个专业中的每一门课程。在职业教育的课程体系中, 根据学习的阶段大致分为三大类:一是专业基础课, 二是专业课, 三是专业实作课程。其中, 专业实作课程又称之为实习实训课程, 它更加突出地显示了理论与实践的紧密结合。因此, 实习实训课程对一个专业好坏起着至关重要的作用。特别地, 软件开发专业有别于其它类别的工科, 这是由软件开发专业的相关性质决定的。

1 软件开发专业相关性质

软件开发专业是一个使用脑力劳动非常密集的工作[1]。前面提到软件开发是一个系统工作, 但它又不涉及到具体的工程劳动生产。软件产品多数情况下是通过软件工程师们的精密构思与设计而产生, 软件开发出来的产品就是软件工程师们的知识和智慧所产生的成果。因此, 这个专业是有别于其它工程学科, 软件工程师们从事的工作也绝非如建筑工人所做的简单重复的劳动。

一个合格的软件开发人员应该是适应软件开发特点的人。具体说来, 他们应该具备如下的一些素质:

个人素质。包括:1) 写文档的习惯, 良好的文档是软件开发正规化的一个表现。2) 代码规范化的习惯。在一个团队中, 应该有统一的命名规范, 另外代码中应该在适当的位置插入注释。3) 尽量达到代码的高度复用性, 通常考虑组件技术或是公有接口等方法来实现代码的复用。4) 养成不断测试的习惯。很多程序中的BUG应该通过开发人员自己来完成, 这些问题越早发现, 花费的成本就越低。5) 不断学习和总结的习惯。由于IT技术的更新非常快, 所以开发人员应该在不断的总结中来提高自己。

职业素质。软件开发是一个团队性的工作, 它要求开发人员善于表达自己的想法, 但不能刚愎自用;善于理解别人所表达的意思, 但不能盲目轻信。从而在团队中建立良好的人际关系。

专业能力。一个好的开发人员首先应该具备较为全面的专业知识。它包括必要的软件工程知识, 软件建模的能力, 必要的编程技术, 软件测试技术, 布置安装技术, 说明书的编写能力等。

2 以能力为本位的实训课程的实施与探索

2.1 关于能力为本位实训课程的探索与理解

近两年来, 本人分别担任软件服务外包专业和嵌入式技术与应用专业的实训课程, 即是在第一节中谈到的关于本专业第三阶段的课程。在这个教学过程中, 本人对基于能力本位教育 (Competency Based Education, 简称CBE) [2]做了相关尝试。尝试的重点是一切以学生为中心, 教师辅助学生在学习过程中遇到的困难, 教师对软件工程进度的监控。归纳上述的内容, 叫做实训课程三结合, 即“以学生中心、教师辅助解决难题、教师监控进度控制”。

2.2 具体实施步骤

前面已分析到软件开发实习实训课程的目标是为了培养具备软件开发能力和素质的职业人。因此, 其课堂的安排就应该模拟软件公司的开发制度来实施。

1) 开发小组的构建。

为了全班同学能共同进步, 并且顺利完成既定的项目。分组时应注意: (1) 兼顾基础知识好的和差的搭配。 (2) 要合理地分好一个学习小组就应该引入多元素的成员。 (3) 一个开发小组的人数应该恰当。

2) 需求分析、需求建模以及任务的分配。

软件开发过程中, 第一步就是要了解项目的需求。只有充分地了解了需求, 才有利于开发人员明确他们要做什么。在这个阶段, 首先将原始的业务需求拟定成文档分发给每一个小组, 让学生们对需求文档进行分析。他们在需求文档中对有用信息加以提取, 进一步了解他们应该完成的任务, 最终要求每一个小组提交一个需求理解文档。

当需求被确认之后, 每个小组应该做的就是针对这个需求确认来进行需求建模。需求建模的作用是让小组成员更加一目了然地理解需求。

3) 软件构建。

一个软件的构建就如同一座高楼的修建。在软件具体实施过程之前, 应该对软件进行设计, 在软件开发过程中有概要设计和详细设计之分[3]。通过这些设计, 使得项目小组的成员们了解到要构建一个软件, 应该按照怎样的一个先后顺序来做, 也就是解决“怎么做”的问题。

该阶段, 老师让小组自由讨论, 在规定的时间内提交概要设计书。由于学习的层次不同, 并不是所有的小组都能按时提交任务。所以, 老师的一个重要任务就是要对每一个小组的进度进行监控。

接下来就是编码, 学生根据需求分析和详细设计文档对系统进行构建。在具体的实施过程中, 会存在有很多同学不清楚从何处着手, 这时老师就应该做一些引导, 比如做一个Demo给他们一些启示。

在软件开发编码阶段, 需要相关的文档支持, 文档主要是实现小组的自我监控。在分组时要求一个小组推选一个项目管理人员。按照项目管理人员的职位需求, 要求其根据该小组的实际情况, 记录每一天的工作情况以及出现的问题等, 在周五向老师递交《项目管理周历表》, 以体现该组进度情况。

4) 测试。

对于学生所完成的系统, 要求首先进行单元测试, 并写出测试文档, 这是对每一个开发成员的基本要求。因为一个项目中出现的错误越早发现, 对于整个系统开发的成本就会大大降低。当系统完成后, 将不同小组间的项目进行交换测试, 并写出测试的文档。同时, 也体现了职业的开放性, 使得学生可以接触到软件测试方面的工作, 具备软件测试方面的职业素养, 为有可能走向软件测试之路的学生做好了准备。

5) 成绩评定。

项目完成后, 就应该对的作品进行评价。一个项目的监控过程做得好是不够的, 还需要引入一些科学的、公平合理的评价方式, 才能正确评价一个学生的能力。笔者认为评价应该是来自多方面的, 这样可以避免评价标准单一的缺点。只有利用多种评价方式才可能使学生的书面成绩与能力更加接近。

3 结语

以能力为本位的软件开发实习实训课程, 并不是让学生们放任地去做。实习实训既要符合以能力为本位的特点, 但是过程的控制与监督也同样重要。如果没有能有效地控制各个小组的项目进度和某些学生的课堂行为, 实习实训课程就变得自由涣散, 学生作品无法完成, 从而浪费了大量的资源。同样, 如果过度干涉学生所做的内容, 最终, 每个小组的学生做出的作品就会变成一模一样的, 这无异于扼杀了学生的创造力, 让学生陷入了范式陷阱。这就要求实习实训课堂应该做到有放有收, 收与放的度应该不断地按照实际情况进行合理的调整。当然, 基于能力为本位的实训课程教学的方法是多样的, 希望自己在将来的教学过程中会不断地进行总结、升华, 让课堂变得更有效, 从而提升整个教学质量。

摘要:当前的职业教育形势要求绝大部分的学科都能达到学以致用。纵观软件开发课程的各个职业岗位, 能力无不渗透到每一个岗位中, 这就要求软件开发实训课程的开设应以能力的培养为核心目标。本文主要针对如何将软件类相应的职业群与实训课堂相结合做出了论证, 从实践中总结出实训课堂的相关经验与方法。

关键词:职业教育,实习实训,能力为本位,软件开发,构建,CBE

参考文献

[1] 李云.理解软件开发的特点.http://yunli.blog.51cto.com/831344/321951.

[2] 韩庆祥.能力本位论.中国人才, 1996 (01) .

[3] 陆惠思.实用软件工程.清华大学出版社, 2006.

上一篇:食品相对安全与国民身体健康下一篇:网络商业广告语言的艺术性与真实性辨证关系探究