时间:2022-08-08 18:05:07
导语:在软件开发培训总结的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
1 概述
由于空中交通管理行业的特殊性,安全性以及高技术性等特点,相关软件的自我研制与开发就成为必然,各级空管局也相继成立了软件开发团队。但由于软件开发并不是空管局的核心业务,所以机构小、待遇低、升职机会少、管理水平跟不上成了软件开发团队普遍遇到的问题,并由此导致高水平人才留不住、开发人员职责分配不当、开发流程不规范、难以积累管理和技术经验等等问题。
2 人员岗位管理
2.1 “选” 空管局在招聘软件开发人员时一般会遇到两方面问题:一是相比专业软件开发企业工资待遇偏低,难以吸引有三年以上开发经验的中高级人才加盟;二是部门人员编制少,每个开发人员都要掌握多种业务和不同的技术。确定了人员招聘的范围,接下来是怎样从众多的应聘者中挑选出团队所需,如图1所示。
图1 软件开发人员招聘试用过程
在招聘阶段,综合能力笔试和全方位的面试是必须的。笔试要对应试人员的数学能力、逻辑推理能力、归纳总结能力、语言文字能力等基本素质进行考查;面试针对的则是业务能力,技术能力,语言表达能力,应变能力等等。
2.2 “育” 虽然软件开发并不是空管系统的主业,但员工的培训却不能忽视。首先,应该经常进行交叉培训。交叉培训不仅快速、低成本的提高了部门员工多方面的技术技能,而且也促成了员工的“备份”,在某一员工离职时不至于出现技术断档。其次,软件是个高速发展的行业,要有针对性的进行新技术的培训。最后,空管业务的培训也十分重要,一个软件成功的开发永远离不开对相关业务的精通。
2.3 “用” 如今的软件行业岗位分工已经越来越细化。要想充分发挥每位员工的能力就要了解每个人的喜好特点,针对员工的个人能力分配合适的岗位和任务,做到知人善用。
2.4 “留” 留住人才有一整套的手段和方法。薪酬是很多软件开发人员首要看中的,要保持员工队伍的稳定,薪酬至少要在人力资源市场中的平均薪资水平。发展方向是另一重要因素。在员工建立自己的发展方向时,不仅要尊重他们自己的想法同时也要帮助他们发掘自己的特点,找到自我喜好和部门发展方向的契合点,让员工和部门共同发展。
2.5 岗位配置 岗位配置是涉及软件开发效率、软件开发进度、软件开发过程管理和软件产品质量的重大问题。面对软件部门人员少、项目杂等特点,将开发人员分成组内成员和公共成员两部分,如图2所示。
一般每个项目都成立一个独立的程序员小组,根据项目的大小和完成任务的时间设2至5人。程序员小组实行“主程序员”负责制,负责组织、规划、协调和审查小组内的全部技术活动。“主程序员助理”是主程序员的助手,除了协助主程序员的日常事务外,在必要时能代替主程序员的领导工作。这种一主一副的配置在最大程度上保证了项目开发的连续性和完整性。其他“程序员”负责模块代码编写和测试。
3 开发管理
3.1 开发规范 开发规范的有效建立和严格执行是提高软件开发质量,降低开发周期,增强代码的可重用性、易读性,使软件便于维护,使开发人员之间便于交流和协作的一个最有效的手段。开发规范包括:变量名、函数名、文件名、模块名等名称的命名规范;保证代码简洁、清楚、易读的代码规范;保证类关系清晰,有良好组织、严格区分的类组织规范;用户界面规范;测试规范;bug调试规范等等。
3.2 技术积累 技术积累是软件开发团队提高开发效率的关键因素,它不仅为将要开发的功能或模块提供了技术模版和参考,同时也大大降低了人员流动对团队、对项目开发带来的不利因素。技术积累并不是一堆代码的简单累积,它应该具有如下特点:首先,它应该能实现特定的功能并能被重复使用;其次,在多个项目中使用并被充分验证;再次,有详尽的技术说明文档,易于学习和使用;最后,被清晰的组织和索引,易于查找和引用。
3.3 配置管理 软件配置管理是一套规范、高效的软件开发基础结构。作为管理软件开发过程有效的方法,软件配置管理可以系统地管理软件项目中的多重版本;全面记载软件开发的历史过程,包括为什么修改,谁作了修改,修改了什么;管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。通过配置管理工具的使用,打破了开发人员各自为政的开发模式,减少了代码冗余,提高了软件重用率,使整个项目组更容易完成统一编码、统一测试、统一部署、统一升级。
3.4 项目管理 项目管理包括:决定项目启动时间,确定项目范围,制定项目任务的重要性和优先顺序等等。项目管理运行机制没有一个统一的标准,它的建立需要长时间的摸索和积累并且要充分结合本部门发展的自身特点。
4 结语
空管行业中的软件开发团队开发和维护的软件项目都是为空管主营业务服务的,逐步建立起一套行之有效、适合自己特点的管理运行机制,使软件开发部门成为推动空管行业发展的重要力量。
一、高职院校教师工作站的建立背景
成立校企合作教师工作站是深入贯彻落实教育部、财政部《关于实施职业院校教师素质提高计划的意见》和教育部等部门《关于进一步加强高校实践育人工作的若干意见》精神的重要举措,是在“校培”层面上建立的保证教师进行企业实践锻炼长效机制,旨在培训一大批“双师型”教师,进一步推动和加强职业院校教师队伍建设,促进职业教育科学发展。教师工作站的目标就是让教师到生产一线,通过现场观摩、技能训练、专题讲解、交流研讨等形式实施,重点体验企业文化,了解企业生产组织方式、工艺流程、产业发展趋势等信息,熟悉企业相关岗位(工种)职责、操作规范、用人标准及管理制度等具体内容,学习所教专业在生产中应用的新知识、新技能、新工艺、新方法,增进对企业生产和产业发展的了解,培养广大教师的“职业气质”,并结合企业实践改进实践教学。
建立教师工作站同时也是安徽商贸职业技术学院(以下简称“我院”)国家高职骨干院校建设的一项重要任务,是学校推进校企深度合作的又一重要举措。教师工作站将为学校专业建设、课程建设、实训基地建设等方面提供更权威的信息和资
料,为学校创新人才培养模式,提升师资科研水平、
专业能力和社会服务能力以及紧密校企合作关系提供了一个良好平台。
二、高职院校软件技术专业建立
教师工作站的意义
我院的软件技术专业主要培养适应社会主义市场经济需要的,德、智、体全面发展的,具良好的职业素质、实践能力和创新意识,具备较强的基于 Java 技术和Android系统的应用软件开发能力、基本的软件测试能力,面向IT行业、软件企业,从事3G应用软件与动态网站的设计与开发、各类管理信息系统的初级编码、数据库系统的日常管理与维护、软件销售与技术支持等领域的工作,具有熟练技能的高素质技术应用型人才。[1]
其专业的人才培养方案中对于专业教师实践能力中指出必须具备“双师”素质,符合“双师”结构队伍要求,在企业一线从事过Java或Android系统开发人员。教师应密切关注行业、企业的发展态势,注意教育教学的理论研究与社会实践的紧密结合,以理论指导实践,以实践提升理论。
软件技术专业的教师工作站对教师而言,一方面有利于教师逐步向软件工程师或系统集成项目
管理工程师等复合方向发展,另一方面也有利于教师学习新技术,了解最新的软件开发技术和专业发
展趋势,增强指导教学实践的能力。高职院校的教师不仅要有专业理论知识,更要有能力培养出高素质的技能型人才。而校企合作教师工作站作为一个载体和基地,有较强的岗位实践经验,为软件技术专业“双师型”教师赴企业锻炼培养提供了尤为重要的平台。这种教师工作站兼顾了校企双方的需求,为校企之间开展紧密、继续的合作提供了条件。
三、专业教师如何开展教师工作站的工作
(一)明确进站工作目标
专业教师由于进站工作的时间不是很长,一般只有半年,不可能将企业所有方方面面的知识都学到手,所以在进站工作之前应当结合自身教学工作情况与系部主任及教研室主任沟通,明确进站工作目标。通常的目标有:掌握一到两门课的核心技术,能够胜任项目化课程的教学;对专业的人才培养方案进行调研,以便改进专业的课程体系;学习企业的经营管理模式,为校内实验或实训积累经验,等等。
(二)熟悉企业规章制度以及软件开发的流程
专业教师到企业后首先对企业的基本情况进行了解,熟悉环境,进行角色转换的准备。首先要了解公司组织结构、管理制度、业务范围,掌握企业工作流程。[2]其次要掌握企业软件开发的流程,如何做好需求分析,进行概要设计与详细设计,安排好编码与测试工作以及后期软件交付与验收。
(三)跟进企业软件开发项目
在熟悉了软件开发流程之后,教师如何有效地把握实际的软件开发,在今后的教学过程中实施项目化教学,了解切合社会需要的项目案例,最佳的办法就是跟进企业软件开发项目,在其中承担开发任务。在进站工作的半年时间里,笔者分别跟进了两个数字化校园项目,在其中担任配置管理员以及测试工作,着重提高了软件测试和UML系统分析与设计的能力,掌握了项目案例的第一手资料,在进站结束回到学校后,可以胜任两门课的项目化教学工作。
(四)积极参加企业技术培训
软件技术发展日新月异,在新兴的软件公司,人员流动频繁,不断有新的员工加入到企业中。各个部门经常会有目的性的组织一些技术培训,其中有些是系列性培训。通过参加这些培训,可以掌握最新最前沿的软件开发技术,学习使用最好最实用的软件开发平台,在以后的教学过程中可以将它们传授给学生,使之跟上软件技术时展的步伐,能够让他们在毕业时适合企业用人的需要。
(五)经常进行阶段性小结
在进站工作的期间,一方面的学习是企业给你的培训,另一方面由于企业员工自身工作也十分繁重,企业不可能派专人每天手把手对你进行辅导,大部分时间要靠自己利用企业的资源进行研究和探索。所以对于自己的所学应当及时地进行阶段性总结,以便巩固所学成果和开展下一阶段工作。总结的形式的是多样的,既可以撰写周记和月报,也可以抽时间与企业相关人员开工作汇报会或经验总结交流会,通过不断地总结和改进工作,提高在教师工作站的成效。
(六)做好实习学生的管理工作
教师工作站的企业往往也是学生校外的实训基地,教师应当妥善安排好学生学习和生活,培养学生的岗位适应能力与创新能力,结合专业实践和社会实践活动,实现学校教育与社会教育的交互结合,把“校企合作,工学结合”落到实处。
四、教师工作站工作经验的总结与推广
在结束教师工作站工作之后,教师应当将所学用于改进今后的教学,实施工学结合的人才培养模式。同时,要重视学生校内学习与实际工作的一致性,校内成绩考核借鉴企业实践考核,探索工学交替、任务驱动、项目导向、顶岗实习等有利于增强学生能力的教学模式。为此,一要完善课堂教学实训、阶段实训、综合模拟实训、产学合作、顶岗实习、社会调研等多种形式的实践教学体系,培养学生的岗位适应能力与创新能力;二要建设融实践教学、职业素质养成、职业能力培养、师资培训、技能鉴定等多功能于一体的校内外实习实训基地。以下将具体的从四个方面进行阐述。
(一)进行专业教学改革
高等职业教育肩负培养面向生产、建设、管理和服务第一线所需的高素质技能型人才的重任。软件技术专业人才培养必须从市场的人才需求调查入手,及时跟踪市场的人才需求变化,根据需求人才的职业岗位群及所需能力设计课程体系、安排教学内容。在撰写人才培养方案时,借助于在教师工作站对软件技术专业职业岗位的能力、知识要求的准确把握,制订出符合企业需要的人才培养方案,使软件技术专业的教学改革能够紧紧地围绕培养目标以岗位需求为导向、专业以行业发展为定位、课程设置以能力培养为本位、教学过程以职业活动为主线、质量评价以职业规范为标准。通过人才培养模式、教学方法改革,突出学生职业能力培养,提高学生的综合素质。
(二)邀请企业专家走进课堂
通过进站学习交流,在以后的教学过程中,邀请一部分专家走进课堂,有效参与学院的专业建设、课程改革、学生实训以及一定数量的专业课教学等工作,学生由此可以零距离地获得企业一线高技能人才的指导,缩短了他们在学院习得的知识与企业实际工作的距离,让学生清晰地知道企业用人的标准,明确学习的目标,激发自己的学习积极性,为他们今后进入企业打下了坚实的基础。同时,这些企业专家通过教学实践活动,对学院专职教师起到“传、帮、带”的作用,促进、提高了学院广大专职教师的实践教学能力和水平。[3]
(三)鼓励学生到企业去实习锻炼
高职院校注重学生技术能力的培养,多采用“2+1”的教学模式,即2年在学校教育学习,1年去企业顶岗实习。在每年送学生去企业顶岗实习的时候,有些学生有疑惑,对此有抵触情绪。通过自身在企业进站学习的经验,可以现身说法,打消学生的疑虑,让他们认识到顶岗实习对于今后走上工作岗位的重要作用,让他们充满信心,满怀激情地走上实习岗位。
高职学生在进行软件开发过程中,必然会遇到各种困难和问题,我们尽管主张学生尽量能自己解决问题和克服困难,培养自学能力;但是他们毕竟是第一次从事系统的软件开发工作,在其中一定会遇到自己难以解决的问题和无法克服的困难,这时就需要教师的帮助和指导,去解决所遇到的问题和克服所遇到的困难。但是多数高校存在的一个客观现实,不少教师本人都没有软件开发的经历,并没有软件开发的实际工作经验,遇到某些问题时,也很难提出最好的解决办法和处理意见,也就不能很好地帮助和指导学生。因此我们非常有必要先把教师送到软件企业去锻炼和培训,并切实参与到软件开发过程,进行软件项目的开发,只有自身有了软件开发经验,才能更好地指导学生。
2学校投入不足
软件实训过程中需要使用最新软件开发技术和开发工具,这些软件和工具往往对计算机配置要求也很高,为了保证能正常快速地运行这些软件,实训室中的计算机就需要和软件保持同步更新,学校很多实训室存在老化和更新不及时的现象,造成很多新的软件不能安装和运行、或者运行速度慢的情况,影响了课程教学质量和学生学习的积极性。在高职学生进行软件开发的过程中,教师不仅仅要指导学生,还要对学生的开发工作进行监督和对开发进程进行监控,以保证学生软件开发工作的进度以及所开发软件系统的质量。这需要教师投入大量的时间去跟踪和监督,但是我们大多数教师都承担了很繁重教学任务,实训也似乎成了教师业余时间的工作,很难满足学生的需求,也不能很好地监控每一个小组所有成员的开发工作。
3改善措施
关键词:软件项目管理 项目计划 管理意识 解决方案
软件行业是一个极具挑战性和创造性的行业,软件开发是一项复杂的系统工程,牵涉到各方面的因素,在实际工作中,经常会出现各种各样的问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。
1 项目管理在软件开发中的应用的成因
目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成完全适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。
2软件项目管理常见问题及解决方案
(1)缺乏项目管理系统培训
在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理,被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面特别是项目管理方面的知识比较缺乏。
解决方案:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。
(2)项目计划意识问题
项目经理对总体计划、阶段计划的作用认识不足,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。
解决方案:计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。
(3)管理意识问题
部分项目经理不能从总体上把握整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方法,不好安排的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
(4)沟通意识问题
在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。
解决方案:制定有效的沟通制度和沟通机制,提高沟通意识;采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。
(5)风险管理意识问题
有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用
解决方案:通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法,掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。
(6)项目干系人问题
在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求;或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。
解决方案:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
(7)项目团队内分工协作问题
项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰,但是各项目成员只顾完成自己那部分任务,不愿意与他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。
解决方案:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。
3 结束语
实施有效的项目管理绝非易事,对于软件企业而言,这不是一个小的改变,而是一种变革,企业需要为此付出艰苦的努力,同时,成熟有效的项目管理无疑将对企业起着至关重要的作用,项目管理的水平将是企业核心竞争力之一。
参考文献:
[1]吴吉义.软件项目管理理论与案例分析.中国电力出版社,2007,08.
[2]李帜,林立新,曹亚波.软件工程项目管理:功能点分析方法与实践.清华大学出版社,2005,03.
摘要:众所周知,高等职业院校计算机专业毕业生的软件系统开发能力普遍不高,该文从分析原因入手,提出提高高职计算机专业学生软件系统开发能力的有效方法,即培训实验体验法。
关键词:高职学院;软件系统开发力能;培训实验体验法
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)28-8009-02
Discussing on Improving the Ability of Software System Development of Students of Computer Major in High Vocational College
WANG Jun-ping
(Electronic Information Department, Xianyang Vocational Technical College, Xianyang 712000, China)
Abstract: As we know, Commonly graduates of computer major don't have the high ability in the development of software system in higher vocational college. The paper analyzes the reasons, then points out the effective teaching methods, that is, training, experimenting and experiencing, to improve the ability of developing software system in higher vocational college to students of computer major.
Key words: Higher vocational college; The Ability of Developing Software System; Training Experimenting & Experiencing
前些年,高校计算机专业毕业生较少,供不应求,学生一毕业就有单位要。随着社会的发展,目前出现了一种奇怪的现象:一方面,各行各业缺乏大量计算机技术人员;另一方面,相关院校培养出的大量计算机专业的毕业生却难以找到工作或不能胜任现有的工作。究其原因,其中一条就是:社会对计算机人才的需求越来越高,既要求学生具有较强的软件开发能力,又要具有一定的系统开发的工作经验。用人单位对计算机专业毕业生的要求几乎达到了学校与公司的“无缝”链接。但是,高职院校计算机专业的学生的软件系统开发能力普遍不高,具有系统开发经验的就更少,有的毕业生连一个很简单的软件系统都没有开发过,高职院校培养的学生在系统开发能力和经验上与社会要求脱节。为此,我们在分析原因的基础上,提出提高高职计算机专业学生软件系统开发能力的有效方法,即培训实验体验法。
1 学生软件系统开发能力不高的原因分析
1.1 培养过程中重理论轻实践
在高职计算机专业人才培养过程中重理论轻实践,可以从计算机专业教学计划的课程设置与教学过程中找到相关的依据。专业必修课是高职学生必须修读和掌握的课程,是一个学生学好专业的基础,也是一个学生从事工作以后进一步提高和发挥自身潜力的根本。在培养学生过程中,重视这些基础理论是十分正确、十分重要的,也是用人单位选择人才的一个基本的、重要的条件。但是,我们在重视理论教学的同时,对实践教学却重视不够,主要体现在:1) 在一些实践性较强的课程中,理论课时占的比重还比较大,老师讲得多,学生练得少,学生实践操作的机会少。2) 任课教师重理论的讲解和分析,对这些理论和技术在实际中的应用介绍却比较少,一般满足于一些验证性实验的指导,对提供给学生进行的一些设计性或综合性的实验缺乏足够的热情,培养的学生只能做一些简单的验证性的编程。3) 学生实验指导书注重课本的配套练习,强调验证性的实验,而针对实际应用的实验例子、设计性和综合性的实验例子很少,指导教师往往也因为实验课时量少,也没有给出更多的实用例子给学生练习。针对学生的设计性、综合性实验训练少,造成学生在学完一门课程后,只知道编写一些简单的程序,对实际的应用和多种技术的综合应用知之甚少。由于学生每门课程都没有得到很好的实践训练,一个综合多种技术的软件系统开发对他们来说自然就不知所措,到毕业还不具备高职学生所必须掌握的技术、方法和技能。有些学生从入学到毕业,连一个简单的软件系统都没有设计过,只能勉强编出几个简单的程序,这样就很难适应社会的要求。4) 课程设置更多考虑了培养学生技术的宽度与广度,但是对培养学生综合技术的应用和掌握技术的深度存在着不足。比如,学生学了多门软件开发工具的课程,从学程序语言的数量来说够多了,但是没有真正能够用一种语言来开发系统。
1.2 制定或执行标准不够严格,学生动手能力差
目前高等院校的计算机教学缺少制订实验教学或实践环节的质量标准或执行的标准不够严格,学生动手能力差。一方面,我们比较注重专业课程的教学大纲与实验大纲的制订,但是却缺少课程实验教学或实践环节的质量标准或者是执行不够严格。另一方面,高职计算机专业是一个实践性很强的专业,应该有课程实验教学或者实践教学的质量标准,即学生学习了一门课程后要达到什么样的技术水平,必须确定一个量化的标准,如Visual Basic课程,学完后,学生要学会用Visual Basic来设计与开发一个系统,当学生达到这一质量标准才能得到相应的学分。但是,现在我们往往都是用理论考试来代替了这个质量标准和要求,从根本上造成学生应付理论考试,忽略对动手能力和应用能力的锻炼。学生学完课程后,只能编写一些简单的程序应对考试,不能够独立设计与开发一个综合的系统。
1.3 提高学生实践能力的主要场所没有得到充分利用
大部分高等职业院校用于提高学生实践能力的主要场所,如实验室、实习实训基地等,没有得到充分的利用,开放实验室没有真正落到实处。学生到社会见习、实训时间少,学生真正了解公司、企业对技术的需要,了解公司的运作,能够参与软件开发或者接受公司软件开发培训的机会就更少。所以,学校所教、学生所学与公司、企业对人才的需求就产生很大的差距。学生掌握编程工具和编程能力不足,综合各方面技术来独立开发软件系统的能力更显得困难。
1.4 学生掌握的课程内容分散而且各自独立
软件系统开发需要具备软件工程、数据库原理、程序设计的基本理论以及熟练掌握一门编程语言、一个数据库系统、以及多媒体技术等多个处理和编辑系统。但是,学生掌握的是分散的、各自独立的课程内容,缺少融合多课程知识的经验和能力,在软件开发过程中就出现了困难:1)不能熟练操作编程工具和数据库系统;2)不知如何实现开发的系统与数据库连接;3)系统开发时,对数据库操作编程必须用到的语言程序感到无所适从;4)对要开发的系统不知从何入手。这是学生缺乏有效的指导和实验方法,掌握的课程内容分散造成的,也是很多学生拥有自己的电脑,却只是用于上网聊天玩游戏的主要原因。
2 提高高职计算机专业学生软件系统开发能力实验方法的设计
为了帮助学生提高软件系统开发能力,我们根据计算机软件生命周期原理,针对需求分析、系统设计(包括框架设计和数据库设计)、详细设计、程序设计、软件测试等5个阶段从实验方法、实验路线的研究出发,设计出了针对高职计算机专业毕业生的一套有效方法,即培训实验体验法。
2.1 实验方案
指导思想:先培训,然后在老师指导下完成。
实验目标:完成一个简单的功能比较完整的软件系统。
参与对象:高职二年级以上的学生,5人/组。
指导老师:1人/组。
实验设备:在课余时间利用开放实验室及学生自有的电脑。
实验方法:先案例培训、学生结合案例实现与老师分段结果检查相结合的方法。
实验路线:先由指导老师结合具体的案例进行培训,把系统开发的全过程进行讲解,然后由老师出题或学生自命题进行开发。老师提出完成系统的各时间段,以及每个时间段要完成的内容和进度,学生在在老师的指导下完成。
实验步骤:第1阶段,利用课余时间组织学生进行培训,用6~8课时对具体的案例进行讲解。第2阶段,给出系统名称后,要求学生在20~30天的时间内结合案例写出软件需求分析和系统的框架设计,明确系统所要实现的功能模块。第3阶段,要求学生在30天左右时间内结合案例对系统进行详细的设计。第4阶段,要求学生在30~60天的时间内结合案例编写代码。第5阶段,要求学生在30天左右时间内结合案例进行系统调试修改。第6阶段,学生在30天左右时间结合案例写出系统使用说明书以及总结报告。
2.2 实验方法
实验方案确定以后,我们召集参与实验的学生进行培训,由指导老师先对一个比较具有代表性的软件系统进行讲解和剖析,从软件系统运行环境、开发工具、数据库、系统的集成等开发过程进行介绍,使学生了解在系统开发中自己缺少什么知识。然后根据学生的具体情况,布置学生自行修读相关的技术、工具等知识,并在一定时间内完成,写出修读的总结或读书报告。最后指导老师给出具体的题目让学生去实现。
实验从2008年10月开始,到2009年6月结束,参与的是2006级计算机科学与技术专业的20名学生,他们基本具备开发系统所需要的知识和技术,分4个小组,每个小组由1名指导教师辅导。
2.3 实验效果
对学生进行的2期试验结果如下:1) 软件需求分析和系统的框架设计文档,书写得比较完整、规范,符合系统的功能要求的,共有18人;写得一般的,共有2人;写得差的,共有0人。2) 对系统进行详细地设计,功能较为完整、规范的,共有15人;完成得一般的,共有5人。3) 编写代码能力强的,共有5人;一般的,共有10人;较差的,共有5人。4) 系统调试修改、刻录打包。完成得好的,共有12人;一般的,共有7人;较差的,1人。5) 书写系统使用说明书文档。完成好的,共有17人;一般的,共有3人;较差的,0人。总体效果比较好。
3 经验体会
本次实验我们的主要经验是:1) 该方案包含一个比较系统的培训过程,这正是高职学生普遍缺少的经历和经验。所以,经过培训的学生在撰写需求分析与框架设计文档、系统详细设计、系统测试方面完成得比较好。而一般没有经过培训的学生,很多人在做的时候不知从何下手,撰写出来的文档既不统一,也不规范,指导教师花了大量的时间和精力帮他们修改和指正。而经过培训的学生撰写出来的文档规范,系统设计比较清楚、系统测试操作得当,指导教师在这方面的工作量就大为减少。2) 在系统调用数据库的连接编程方面,实验小组的学生基本都能独立完成,而一般学生,大部分都需要教师的指导,并且花较大的精力指导才能完成。这方面的编程与操作是学生开发系统时遇到的难点之一,它涉及到多个系统的操作,需要学生的综合运用。实验小组的学生由于经过培训,有教师的详细讲解以及有相应的案例作参考,这一难点得到了较为有效的解决。3) 高职学生基础普遍不十分好,对软件系统开发都有畏难情绪,经过这次的成功实验体验,会让他们的树立信心,提高软件开发的积极性。
该方法只是作为提高学生软件系统开发能力的起步阶段,但是通过对学生的训练,学生能够掌握系统开发的各个环节和基本要求,学会编写开发过程中所必须的各种文档,掌握系统开发所必须的开发工具、技术和技能。经过该方法培训的学生初步具备开发软件系统的基本能力,再进一步通过参与实际的项目开发,软件系统开发能力将会得到进一步的提高。
4 总结提高
本次实验总结出来的有效实验方案,可以在高职计算机学生中逐步推广,师资不足的,可以从软件公司聘请。也可以与软件公司合作,公司负责培训、指导,学生免费为公司软件开发流水线工作。这样,就可以使高职计算机专业学生的计算机软件系统开发能力得到全面提高。
参考文献:
[1] 李文敬,廖伟志,陆建波.计算机高职应用性人才培养的研究与实践[J].广西师范学院学报,2007,28(s2):156-160.
关键词:框架平台 软件开发工具
1 Anten-FW框架平台研发的背景介绍
Anten-FW框架平台由北京昂天科技有限公司研发。该公司多年来专注于软件架构的研究,并专注于自动生成工具的研究,公司总经理李增通在13年的软件开发过程中,致力于自动生成工具的研究,在实践中总结了大量的经验,在多个项目中有过很好的实践。所有自动生成工具的实践项目都非常有效地提高了软件开发的生产效率,为公司创造了很好的经济效益。
2 Anten-FW框架平台概述
Anten-FW框架平台产品是北京昂天科技有限公司的核心团队经过不断的努力,在消化吸收了大量国内外相关产品经验和理念的基础上,研发出来的产品。旨在全面提高应用软件开发的生产效率和产品质量。
其组成如下:①核心框架平台:支持C#语言,严格按照MVC结构分层,在微软的.net framework2.0的基础上进行了封装。其中一是封装了管理系统软件所需要的日志处理,数据库访问处理,登录者信息管理,消息处理等内容;二是将应用软件开发所需要的共通处理全部进行了封装;三是支持各种数据库的访问;四是适用于B/S和C/S的系统开发。实现了B/S和C/S结构的后台处理(AL,BL,BE层)的共用;五是本框架支持OnLine和OffLine系统的开发,通过C/S结构中对于WebService层的控制实现OffLine的处理。②各种设计模板:通过对几十个实际项目的设计资料的整理和提炼而整理出来的设计模板,全方位地支持应用软件开发的设计工作的实施。③代码生成工具:以核心框架平台为基础,以设计模板为依据,自动生成70%以上的代码,框架结构的代码也全部生成,程序员只需要关注部分业务逻辑的实现。
为软件开发提供以下的支持:①支持快速开发快速导入,通过有效地利用设计模板和自动生成工具可以将开发周期缩短一半,并且可以按照客户的要求迅速地建立原型。②非常有效地提高软件开发效率,利用代码生成工具可以自动生成70%以上的代码,极大地提高了软件开发的生产效率。③省去了系统架构师的全部工作,降低了对开发人员的技术要求,有效地降低了软件开发的人员成本。对于有C#经验的开发人员,只需要培训两天即可达到熟练使用本框架平台产品的程度。④有效地提高了软件开发的标准化,提高了开发过程的可控性,提高了开发预算的精确度,有效地降低软件开发的风险。
3 Anten-FW框架平台结构与简介
Anten-FW框架采用4层结构,同时支持C/S结构和B/S结构。AL层,BL层,BE层对于C/S和B/S结构可以通用。
图1 Anten-FW框架结构图
3.1 UI层介绍 ①本框架封装了表示层的基类。a所有web画面都继承于WebUI层的基类。b所有Windows画面都继承于WindowsUI(WinForm)层的基类。②表示层主要用于画面数据的读取和显示,表示层基类里封装了对登陆用户的主要信息的保存和读取的处理。③在表示层基类中封装了异常信息处理,日志文件写入处理,配置文件信息的读取处理。④支持智能客户端技术。
3.2 AL层介绍 ①AL是Application Logic的缩写,AL层用于实现webUI层与BL层的数据传递,和分歧处理。②所有AL层的类都继承了AL层基类。③AL层中实现事物处理控制。在AL层的基类里封装了事物处理(提交,回滚)的逻辑。④AL层基类中也封装了异常信息处理,配置文件的读取处理。
3.3 BL层介绍 ①BL是Business Logic的缩写,BL层主要用于实现系统的业务逻辑,是框架中非常重要的一层。②所有BL层的类都继承了BL层基类。③BL层基类中也封装了异常信息处理,配置文件的读取处理。
3.4 BE介绍 ①BE是Business Entry的缩写,BE层用于实现对数据库的操作。②BE层分别封装了对不同数据库的访问处理,包括oracle数据库,SQL Sever数据库,DB2数据库,MySQL数据库等。③BE层基类中也封装了异常信息处理,配置文件的读取处理。
3.5 Utility层介绍 本框架也封装了许多其他的共通处理:封装了ftp上传下载,ftp信息读取等。封装了文件的压缩与解压缩处理。封装了excel报表生成处理。封装了通用的自定义控件及一些共通的方法。封装了加密解密的处理。
3.6 异常处理设计 ①本框架将异常处理封装成一个基类,UI层,AL层,BL层,BE层中异常处理类都继承此基类。②当系统发生异常时,能够自动将异常信息写入日志文件。③异常信息中包含异常发生的时间,发生异常的文件,方法及位置等内容。
3.7 Excel报表文件处理设计 ①本框架封装了Excel报表的打开,写入,关闭等功能,让报表制作变的更加方便和简单。②本框架同时支持第三方的报表处理。
3.8 文件的压缩和解压缩 ①本框架实现了单个文件和多个文件的压缩和解压缩,并能设定压缩的级别。②通过对于报表模板的压缩和解压缩,可以有效提高系统的通讯性能。③对于C/S结构,可以把画面和AL层之间传递的信息进行压缩和解压缩处理,可以有效提高系统性能。
3.9 ftp上传与下载 调用共通类中的方法便能方便地实现ftp文件的上传和下载,并能删除ftp上的文件,和取得文件列表信息。
3.10 配置文件读取设计 ①将配置文件读取处理封装成一个共通类,系统中如需要读取配置文件的信息,只需要调用此类中的方法便可取得配置文件的信息。②在系统的各层处理中都可以方便地调用配置文件读取的方法,使得开发过程变得简单。
3.11 日志处理设计 当系统发生异常时,将异常封装成特定的异常对象,在UI层将异常信息写入日志,日志中包含异常发生的位置,异常详细信息和操作用户的信息。
3.12 消息管理设计 ①本框架中的消息用资源管理器管理,将读取消息的处理设计为一个共通类,在需要读取消息时调用这个类中的方法即可。②消息分为异常,正常,询问三种类型。③在系统的各层处理中都可以方便消息处理,使得开发过程变得简单。
3.13 自定义控件介绍 本框架封装了数字控件,日期控件,下拉列表文本框复合控件,字符控件等一些常用的控件,不仅减少了使用JavaSCript进行验证的代码量,而且有效提高了画面的可操作性。
参考文献:
[1]邓水光,黄龙涛,尹建伟,李莹,吴健.Web服务组合技术框架及其研究进展[J].计算机集成制造系统,2011(02).
关键词:高职;软件开发类课程;TESE;实践教学模式
中图分类号:G710 文献标识码:A 文章编号:1009-3044(2013)36-8348-02
1 高职软件开发类课程教学特点
高职软件技术及相关专业的软件开发类课程是指:软件开发基础类课程,如数据结构;程序设计语言类课程,如C、JAVA、、JSP等;数据库技术及应用类课程,如Access、SQL Server等;软件工程类课程,如软件工程、软件项目管理等。这些软件开发类课程的教学有着如下共性和特点:
1)教学内容抽象、枯燥,知识的逻辑性强。软件开发类课程一般都涉及到程序设计语言、计算机内存等硬件知识、数组等数据结构知识的学习,这些内容和知识都比较抽象、枯燥,且知识的逻辑性很强,需要一定的数学功底。
2)基于一定语言的语法体系。软件开发类课程一般都基于一定的计算机高级语言,从常量、变量的定义,到语句、命令的格式等,都要通过学习、实践,掌握其语法规则。
3)需要掌握一定开发环境的使用技巧。计算机高级语言编译器一般集成在一定的开发环境(IDE)中的,运用IDE编写代码,编译、调试程序时,有很多方法和技巧需要掌握。
4)实践性强。学习计算机高级语言,要求学生熟练掌握语法规则,能灵活运用合法的语言表达思想;同时也要求学生能综合运用抽象、归纳、总结、推理等能力进行程序设计。这些要求操作性很强,需要反复上机操作实践,才能获得经验和技能。
2 高职软件开发类课程教学存在的问题
当前,高职软件开发类课程的教学存在以下问题:
一是对能力培养的认识不全面,对学生职业能力的培养不完整,课程教学中注重学生单项能力的培养,学生专业技能整合能力差,学生没有“项目”的概念,没有“完整”的成果。
二是对能力培养所需教学情景创设的不够全面、完整。多数高职院校重视微机房内部空间设置、创立工作室等硬环境建设,忽视了项目资源、团队协作、虚拟场景等软环境的创设。
三是专业技能培养和职业素质养成相对脱节。多数高职院校软件技术专业重视学生软件开发能力的培养和训练,忽视了对学生职业素质的培养,课程教学变成了纯粹的技能教学。
四是能力考核方法不尽如人意。多数高职院校注重考核学生软件开发技能,但没有结合软件项目团队开发的特点,忽略了对学生进行团队协作能力、沟通能力等方面的考核。
3 “TESE”实践教学模式的构建
针对高职软件开发类课程教学特点及存在的问题,我们尝试构建了一种高职软件开发类课程“TESE”(Target-确定实践教学目标,Environment-创设实践环境,Simulation-实践模拟,Evaluation-能力评估)实践教学模式。其核心思想是,以就业为导向,以能力培养为核心,通过真实或仿真的软件开发环境的创设以及职业技术实践活动,帮助学生提高软件开发能力、团队协作能力,积累实际开发经验,培养职业素养,使其能够成为软件企业需要的合格应用型技术人才。
3.1 确定实践教学目标(Target)
1)制定课程能力图表。能力图表按整门课程、章、节的层次相应分为课程整合能力、单元能力及单项能力,各个单项能力的整合形成单元能力,各个单元能力的整合形成课程能力,各个课程能力的整合初步形成专业能力。
2)修订课程实训教学大纲。依据制定的课程能力图表,教师认真设计实训项目和内容,修订软件开发类课程的实训教学大纲,通过实施课程实训教学大纲及实训项目,确保课程能力图表上的能力目标得以实现。
3.2 创设实践教学环境(Environment)
1)硬件环境
实训室内部环境布置应尽量体现软件企业文化,如软件开发流程、IT文化名言等上墙,实训室电脑布置采用圆桌形式,便于以小组形式进行团队开发等。按照专业师资及学生兴趣情况,积极组建工作室。工作室可进行课程实践训练,其成员也可参与教师科研课题的研究,还可在一定程度上承接社会项目的开发。积极拓展校外实习基地,开展校企深度合作。实行学训交替,让学生交叉在学校和企业进行学习锻炼。
2)软件环境
除了硬件环境建设外,软件开发类课程的实践教学尤其要注重项目资源、虚拟环境、团队协作、能力评价等软环境的创设。为此,应重点做好以下几点:
一是实训项目资源的开发。授课教师要从自身工作经验的积累、从网络资源、从企业真实开发项目里认真筛选、裁剪、设计、制作适合课程教学用的实训项目,要注重项目的实用性、适用性、科学性。实训项目课件、实训指导书、大纲、考核标准、实例等资料要齐备。
二是虚拟环境的构建。授课教师可基于课程特点及校内已创建的工作室,构建虚拟公司,让学生担任不同的角色,通过虚拟角色的扮演,培养学生软件开发过程中的交流与沟通、团队协作能力,培养学生的职业素养。
三是课堂教学情境的实时创设。通过运用案例教学法、任务驱动法、项目教学法、角色扮演法等多种课堂教学方法,创设接近真实的情境,让学生产生身临其境的感觉,从而激发学生参与交互式学习的积极性,在交互过程中去完成问题的理解、知识的应用和技能的建构。
3.3 实践交互模拟(Simulation)
软件项目的开发,不是一次就能实现的,需要多次按照软件项目开发的流程进行重复。因此,可根据软件开发类课程的特点,让学生通过小组开发、团队协作、角色扮演等方法,按照需求分析、设计、编码、调试、测试、评审等步骤,进行多次交互模拟,反复实践,以螺旋上升的方式完成实训项目的练习,不断提高软件开发能力和职业素养。
3.4 能力评估(Evaluation)
根据制定的课程能力图表,引入多种评价方法,构建立体教学评价体系。在课堂教学和训练中,采取口试与操作、答辩和现场测试相结合等考核方式;在课程设计实训中,以作品及相关文档完成质量、学生在小组中的工作能力及平时表现为考核依据;在模拟实训中,以“虚拟工资”形式进行考核,根据岗位工作情况,结合指导教师评价,确定虚拟工资,折合成实训成绩;在顶岗实习中,主要考核其项目完成、创新、协作等方面的能力,以企业专家评价和项目成果为考核的主要依据。授课教师应注重形成性评价和终结评价的结合,形成性评价重在对学生掌握课程单元能力点的评价,学期终结评价注重对学生整合能力的评价。
4 “TESE”教学模式的实践
1)实施。为实施“TESE”实践教学模式,一是合理进行资源配置,主要有实训室、工作室等硬环境配置,实训项目、虚拟场景等软资源的配置;还有师资的配备,要选配优秀教师组成教学团队,并对他们进行培训和进修,以使他们具备实施“TESE”实践教学模式的能力。二是课程教学中抓好教学过程策略设计和教学方法的选用。以任务驱动或案例驱动的方式,积极构建以学生为主体的“以教导学,以学定教”以及“以赛促教”的有效教学策略。通过竞赛组织教学,使学生进入“实战”状态,从而激发学生上进心,调动其实践创新的热情和积极性。三是多项保障措施并举,切实加强过程管理。采用召开动员大会,成立实验小组,制定实施计划并执行,进行数据收集与信息反馈,加强经费保障,采用 “走出去、请进来”的方式进行教师培训进修等多种举措,对“TESE”教学模式的实施进行科学管理。
2)评价。“TESE”实践教学模式实施效果由教师、学生以及社会三方面分别评价,评价结果由三方面评价结果综合而成。教师评价主要对“TESE”实践教学模式的科学性、可行性、实施效果、学生专业能力培养情况、教改目标是否达到等方面进行评价;学生评价主要对授课教师的教学方法、教学过程、教学策略等教学情况进行评价,并进行专业能力自我评价;社会评价主要由两方面组成,一是接受学生实习的企业对学生专业能力、职业素养的评价,对“TESE”实践教学模式的总体评价;另一是组织各类软件设计技能大赛主办方的评价,通过竞赛检验学生专业能力和职业素质培养情况。
3)效果。该文构建的“TESE”实践教学模式由作者所在学校的软件技术教研室组织实施,经过一个培养周期的探索和实践,学生软件开发能力、团队协作能力、职业素养有了很大的提高,学生在全国软件专业人才设计与开发大赛中频频获奖,用人单位对学生的评价良好。同时,教师的实践教学能力提高明显。
5 结束语
本文针对高职软件开发类课程教学中存在的问题,构建了适合高职软件开发类课程教学的“TESE”实践教学模式。通过实施“TESE”实践教学模式,我校软件开发类课程的教学水平提高明显,校企合作进一步加深。实践结果表明,“TESE”实践教学模式具有一定的借鉴及推广价值。
参考文献:
[1] 庄曰华.《程序设计基础》课程实验教学方法探索与实践[J]. 电脑知识与技术,2012,8(12):2793-2794.
[2] 胡建荣,罗杰红.高职C语言程序设计课程实践教学体系的设计[J]. 计算机教育,2010(10):150-152.
[关键词]软件工程;翻转课堂;云计算;教学平台
[中图分类号]G40-057 [文献标识码]A [论文编号]1009-8097(2013)08-0026-06 [DOI]10.3969/j.issn.1009-8097.2013.08.005
一、引言
计算机类课程内容抽象,难于理解,不易自学,学习难度较大,很多学生遇到困难后容易产生畏难情绪,缺乏学习的动力与兴趣,甚至产生厌学心理,学生逃课率高,并形成恶性循环。软件工程是一门综合应用学科,软件工程专业具有实践性、工程性、实用性等特征。学生难以靠听讲软件工程的理论学会开发一个真实的软件,而是在“动手做”和“真正练”中体会和掌握软件开发的思想。传统计算机类课程教学重理论、轻实践,“学”、“用”脱节,重教师的知识传授,轻学生的主动学习,学生积极性低。计算机类课程本身的特征形成了课堂理论讲解越多、学生整体收获越少的怪圈。诸多学者提出采用项目驱动式教学法,强化实验、实训,提高学生实际操作能力、思维能力与创新能力。而“翻转课堂”是有效实施项目驱动式教学法的教学模式,“翻转课堂”成功的关键是技术工具与教学的结合,云计算等现代信息技术的运用是“翻转课堂”得以实现的重要手段和资源。
二、“翻转课堂”、云计算辅助教学的应用与研究现状
1.“翻转课堂”的应用与研究
“翻转课堂”(Flipped Classroom)是一种对知识传授和知识内化的颠倒安排,即“学生白天在教室完成知识吸收与知识内化,晚上回家学习新知识”的教学模式,是“老师白天在教室上课传授知识,布置家庭作业,让学生回家练习完成知识内化”这一传统教学模式的翻转。通过运用现代技术手段,教师将常规课堂讲授的部分制作成教学视频,作为家庭作业布置给学生在家中观看、学习,而课堂变成了师生、生生之间互动的场所。“翻转课堂”的实质是:增加师生互动;提供学生自主学习的环境;教师成为导师:直接指导和建议式学习混合;缺席学生不会被落下功课;内容永久保存;所有学生参与学习并获得个性化教育。美国学者Maureen LaKe,Glenn Platt and Michael Treglia最早在教授《经济学入门》课程时采用翻转教学模式,但没有明确提出“翻转课堂”这一概念。2007年,美国卡罗拉多州伍德兰高中两位化学老师JonathanBergmann和Aaron Sams在课堂中采用“翻转课堂”教学模式并发现用这种模式取得的教学效果远比传统模式好得多,两位老师的实践引起越来越多的关注,此后,这一模式在美国中小学教育中快速推广。2011年,Salman Khan在TED(Technology Entertainment Design)大会上做了《用视频重新创造教育》演讲报告,阐释了“翻转课堂”的内涵,“翻转课堂”成为全球教育界关注的教学模式,并被加拿大《环球邮报》评为2011年影响课堂教学的重大技术变革。
2011年,重庆市江津聚奎中学和广州市海珠区第五中学相继实施“翻转课堂”并获得了良好的教学效果,成为国内基础教育领域“翻转课堂”实践的一面旗帜。国内学者对“翻转课堂”的研究逐渐增多,曾贞(2012)探讨了反转教学的特征、实践及问题;张金磊、王颖等(2012)在对国外教学实践案例研究的基础上,构建出“翻转课堂”模型;朱莎、宋化民(2012)探讨了“翻转课堂”在农民科技培训中的应用;马秀麟、赵国庆(2013)对大学信息技术公共课“翻转课堂”进行了实证研究,认为课堂讨论对知识内化有帮助,对于大学信息技术公开课具有潜在优势;张金磊、张宝辉(2013)提出了基于游戏化学习理念的“翻转课堂”模式;钟晓流(2013)构建了一个太极环式的“翻转课堂”模型并给出了实施的要点。目前,对“翻转课堂”的研究与应用主要集中于中小学教育,在普通高校尤其是针对某一专业的研究与应用成果较少。
2.云计算辅助教学的应用与研究
2009年,黎加厚教授正式提出了“云计算辅助教学”(Cloud Computing Assisted Instructions,CCAI)概念,即利用“云计算”提供的服务,支持教师的教学和学生的学习,提高教学质量。“云计算”可以应用于教学、实验实训、教学管理、学生管理等方面。云计算辅助教学具有一切皆服务(everything as a service)、事事可在线(everything online)、更快更方便(everything easy and quick)、更加个性化(everything personal)等特征。云计算的廉价和方便会使越来越多的学校和个人把自己的信息处理迁移到“云”上。2012年4月,厦门大学软件学院、工信部移动云计算教育培训中心、厦门超级计算中心(云计算中心)举行共建“云计算教学实训基地”签约仪式,开创了我国云计算实训教学的先河。2012年3月,聚奎中学构建了“翻转课堂”云计算教学平台,成为江津云计算产业在教育领域应用的典型范例,但只是互联网功能的简单替代,未进行真实在线软件开发实践。近几年,诸多学者从云计算辅助教学的可行性与作用、协作学习与网络学习策略、云计算教学资源平台的构建等方面做了较多较为深入的研究,但结合“翻转课堂”教学模式构建云计算教学平台的研究成果较少。
三、软件工程“翻转课堂”云计算教学平台架构
1.软件工程“翻转课堂”教学模型
美国富兰克林学院Robert Talbert(2011)教授结合线性代数课程实践总结出“翻转课堂”实施模型并取得了良好的教学效果,如图l所示,“翻转课堂”包括课前和课中两个阶段:课前,学生在家观看教学视频,然后进行针对性地练习;课中,学生快速完成少量测评,然后通过解决问题来完成知识的内化,最后,进行总结和反馈。
软件工程专业具有很强的实践性,理论知识抽象,难于理解,不易自学。因此,需要对Robert Talbert提出的“翻转课堂”教学模型进行改进才更加适合于软件工程专业。如图2所示,在课前,学生在家观看教学视频学习软件开发理论与进行针对性训练时,需要及时与任课教师进行交流、答疑,否则,学生将“知难而退”,难以实现课前学习的目标。为了让学生在课堂上有更多的时间进行项目训练,将学生课中的测评移至课前,学生训练过程即完成测试过程,并且教师能快速统计、掌握学生的课前学习情况。在课中,以真实项目开发为主线,教师首先简单讲解多数学生在课前学习中存疑的概念、知识点,然后简要介绍软件项目背景,提出项目目标,引导学生了解项目任务,分组探讨并进行项目规划、需求分析、系统设计、编码实现与软件测试。在软件开发过程中,学生之间可以进行交流,研讨问题,不断向教师提出疑问,教师回答学生疑问,并适当点拨理论知识,不断引导学生思考更深层次的问题,学生在“训练-思考-提问-点拨”的过程中不断提升,理顺各知识点之间的关联性,直到学生提交、展示设计成果,教师进行点评总结,进一步提升理论。
2.软件工程“翻转课堂”云计算教学平台架构
课前学生视频观看、训练与测验、学生管理与监控、学生学习状态信息的统计与获取、师生交流、课堂学生软件开发管理与文档提交、学生成绩评定等都需要网络教学平台。云计算网络教学平台不但有利于实现“翻转课堂”良好的教学效果,为师生提供方便,而且能降低学校固定资产投资与运行成本,减轻学生负担。如图3所示,软件工程“翻转课堂”云计算教学平台按照服务类型可以分为三层:第一层为基础设施服务层(Iaas),由计算机、存储器、网络设施、数据库等物理资源组成,并将同类型物理资源集成为计算资源池、存储资源池、网络资源池、数据库资源池、软件资源池等虚拟化资源,将硬件设备等基础设施封装成服务供用户使用,是整个云计算服务体系的基础,通过虚拟化资源池为“翻转课堂”云计算教学平台提供计算、存储、网络等按需的动态云基础设施服务,最大特点是允许用户动态申请或释放节点,按使用量计费;第二层为软件在线开发平台服务层(PaaS),构建在基础设施层之上,对资源的抽象层次更进一步,使用特定的编程环境,遵循特定的编程模型,负责资源的动态扩展和容错管理,为软件项目开发全过程提供环境支持、构件支持、开发工具支持、文献支持,为软件开发资源与虚拟教学资源如视频资源等的建设提供接口,通过分布式计算环境和分布式存贮环境提供海量资源系统、海量数据库系统、海量信息系统等服务,在线云通过在线开发平台将操作系统、应用开发环境等平台级产品以Web服务的方式提供给师生,方便教师在同一平台上进行教学资源设计,也方便学生在同一平台上进行真实项目训练,有利于师生对教学资源的充分利用;第三层为教学资源应用服务层(Saas),位于最上层,是师生与云计算服务体系的接口,将某些特定应用软件功能封装成服务,如直接为师生提供开发文档生成、软件检测、视频资源播放、课前训练与测试、师生、生生之间在线交流、学生管理等应用软件服务。师生不受时空限制,使用PC电脑、3G手机或其他移动终端设备访问“云”端,接受云计算技术系统提供的海量服务。
“翻转课堂”云计算教学平台既可选择公有云,也可选择私有云。公有云平台能够提供通用的运行环境和网络教学功能,学校无需自行构建网络教学平台,可以降低建设成本。但公有云平台一般不向用户开放源代码,用户不能将教学资源以编译代码的方式上传至云平台,限制了云计算教学平台的个性发挥与软件的复用。因此,最好选择公有云与私有云相结合的“混合云”方式构建软件工程“翻转课堂”云计算平台,即通过公有云模式降低学校IT基础设施的投资成本,且通过私有云模式来确保平台个性化的充分发挥。
四、软件工程“翻转课堂”云计算教学平台主要功能模块
“翻转课堂”云计算教学平台功能模块主要包括课堂软件开发模块、课前理论学习模块、运行管理模块、学生评价模块,其关系如图4所示:
1.软件开发模块
“翻转课堂”由传统课堂的“先教后练”转变为“先学后练”,弱化“教”,强调“学”,突出“练”,其中“学”为学生采用观看视频的方式自学软件开发理论知识,“练”为软件项目开发训练,并且“练”占全部学习时间的比例大大增加,更加重视学生实验实训,学生学习的自主性增强,自由度增加。因此,要想达到良好的教学效果,对学生“学”的内容、“练”的环境提出了更高的要求。“翻转课堂”云计算教学平台应满足真实实验实训基地的“真实的企业项目”、“真实的企业化管理”和“真实的企业环境标准”三个“真实”要求。软件开发模块是软件工程“翻转课堂”云计算教学平台的核心模块,主要包括项目规划、需求分析、系统设计(总体设计、详细设计)、编码、测试等项目开发全过程并展现软件产品,每一个过程应能生成相应的项目文档。在课堂上,通过教师的引导,学生登陆至学校的云计算平台进行真实的软件项目开发训练,并且可以得到教师的全程适时指导、动态监控。学生在同一平台上,既可以分组研讨开发,又可以单独思考,并与教师实现一对一的面对面交流。通过校企深度合作,学校在云平台上建立真实软件项目库、案例库,为学生提供真实开发项目,或者校企共建软件开发云平台,学生在企业项目经理的统一安排下参与企业真实项目开发,起到“工学结合、顶岗实习”的作用。
2.理论学习模块
曾贞提出了“翻转课堂”的三个关键步骤:观看视频前的学习一讨论并提出问题;观看视频时的学习一根据问题寻找答案;应用并解决问题的学习一深入问题进行探究。在“翻转课堂”中,学生主要通过观看教师提供的教学视频来获取理论知识,通过课前针对性训练基本消化理论知识,并且师生都需要及时了解学生理论知识的掌握情况。可以看出,云计算理论学习模块由教学视频、课前训练、课前测试统计、师生交流等子模块组成。教学视频子模块具有视频播放、快进、慢放、重放、后退、暂停等功能,便于学生自定进度,自主学习。教学视频的视觉效果、互动性、时间长度等对学生的学习效果有着重要的影响。不但视频内容要与教学目标和课堂训练内容相吻合,而且要清晰、简明、到位地解释新知识点、主题要点,知识点的解释要先浅后深,具有逻辑性、层次性、递进性,同时要注意讲授节奏、选取例子、互动策略。在每个知识点讲授之前需设置问题,以便学生带着问题观看视频并在其中寻找答案,每个知识点讲解结束之后,学生通过课前训练子模块及时进行简单训练、应用知识与研讨问题。师生通过课前测试与统计子模块检测学生对理论知识的掌握程度,及时向师生反馈,教师还能快速了解学生的总体情况,便于在课中进行针对性的讲解。在课前学习全过程中,学生均可以通过师生交流子模块进行交流,及时解答学生的疑问。
3.运行管理模块
云计算运行管理模块是“翻转课堂”软件开发训练与课前理论学习的支持与保障模块,位于云计算教学平台应用服务层(SaaS),通过特定应用软件封装成服务提供,主要包括:项目管理、学生管理、资源管理等子模块。
(1)项目管理子模块
教师通过项目管理子模块对学生项目开发训练的全过程与结果进行监控与检查。项目管理子模块主要涉及项目的集成管理、范围管理、质量管理、成本管理、时间管理、资源管理、风险管理、合同管理、沟通管理等九大知识领域,其中,质量管理、成本管理、时间管理为项目管理的核心领域,成为“翻转课堂”教师监控的重点。软件项目开发各阶段的开发文档与产品,经文档输出子模块与产品展示子模块进行输出和展示,任课教师通过项目管理子模块及时进行监控与阶段评价。学生将开发过程中遇到的问题在项目管理平台上,教师通过师生交流子模块进行交流或者进行面对面的交流,及时解决学生在训练中存在的问题。项目管理各阶段对所有学生开放,让各小组学生能及时了解其他组学生的软件开发进度、质量等情况,进行成果交流;一方面,促进各组之间互相学习、协作开发、共同提高,另一方面,建立竞争机制,让学生亲身感受各组之间的竞争与压力,体验企业工作氛围。
(2)学生管理子模块
学生管理子模块可以进一步分为课堂学生管理子模块与课外学生管理子模块。课堂“翻转”以后,基础理论知识的学习由学生在课前自主观看视频进行,学生课外自学效果直接影响到课堂训练,教师不能现场监控,因此,有效的课外学习监控是“翻转课堂”成功的重要因素。哪些学生观看了视频?哪些学生对哪些知识点没有掌握及掌握的程度又如何?教师只有对学生的课前学习状态了如指掌,才能在课堂上有针对性地安排训练内容,组织研讨活动,进行答疑解惑、擦漏补缺、总结与提升。课外学生管理子模块与课前测试与统计子模块相连,不但能动态监控学生课前视频观看、课前训练过程、课前协作研讨,而且能输出课前测试情况、课前关键控制点及统计信息,以便教师及时全面地掌握学生课外学习效果。
在“翻转课堂”中,课堂成为学生项目探究、问题研讨的场所,教师通过与学生面对面的交流及现场状态观测,能基本了解学生的学习与训练的状态。但因为课堂时间的有限性,教师与一些学生进行交流时,就失去了与另外一些学生交流的机会,同时,教师对学生训练与探讨的结果也难以通过面对面的交流全面掌握,尤其是软件工程专业学生进行开发训练的文档,教师在课堂上来不及一一检查,难以结合课堂训练情况对学生下一次课的学习资源进行调整、优化,因此,云计算课堂学生管理子模块对学生课堂训练效果具有记录与检测输出的功能。另外,应具有:对学生请假、考勤与学习态度进行监控的功能;对学生个体与小组实训计划完成、理论知识的应用、创新等的检查功能;对学生团队学习的监视功能,如开发经理、计划经理、测试经理、技术支持经理等角色任务分配、岗位轮换、协调配合、团队成员士气、团队之间竞争与压力等。
(3)资源管理子模块
软件工程“翻转课堂”所需资源主要包括课前理论学习视频资源与课堂软件开发资源,“资源”本身的质量很大程度上决定了学生学习的效果。课前理论学习视频资源必须要与课堂软件开发训练资源高度相关,主讲教师可以亲自录制或者使用网络优秀开放教育资源建立视频资源库。自行录制教学视频容易与课堂训练和教学目标保持一致,甚至可以针对不同基础的班级录制不同版本的教学视频,学生自学的效果容易保证。如果借鉴现有网络资源,可以节省人力、物力,提高资源的利用率,但难以保证视频内容与课堂训练的一致性。视频资源管理子模块负责对视频资源的管理与调度,视频资源主要有视频制作工具、软件开发“云课件”、“云教材”、“云案例”、“云试题”等。课堂软件开发资源子模块主要对软件开发资源进行管理与调度,课堂软件开发资源主要包括软件开发云环境、企业真实软件项目库、案例库、软件开发专用技术资料、重点与难点讲解资料及相关文档、模版等,这是高级应用型软件人才培养的基础,是可教学化实训体系的核心。软件开发云环境通过云计算在线开发平台层(PaaS)提供,主要有软件开发的各种主流技术、先进开发工具、相关的帮助文档、开发文档。真实软件项目、案例应来源于校企合作企业,校企双方建立深度合作机制,按照培养计划的要求,精心挑选软件项目与案例,并进行可教学化改造,通过“云”端在线开发平台层(PaaS)建设真实的软件项目库、案例库。
4.学生评价模块
学生评价既是对学生学习全过程(课前理论学习、课堂软件开发实训)与效果(理论成绩与实训成绩)的评估,对教师教学过程与效果的检查,又是对“翻转课堂”教学模式及其云计算平台有效性的检验,是师生共同改进与努力的依据。学生评价模块涵盖如图4所示虚线范围,包括学生学习过程评价模块与学习结果评价模块。学生过程评价模块由软件开发各阶段文档生成、课前视频观看、课前训练与测试输出等子模块组成,学生结果评价模块由软件产品展示、实训报告、实训成绩、理论成绩与总成绩生成子模块等组成。项目文档输出模块能反映学生训练全过程的质量,也是学生专业知识、技术能力、综合能力和职业素养的直观展现,是任课教师课堂控制的重点:课前视频观看、课前训练与测试输出子模块能反映学生自我控制、自学过程与学生课前理论知识掌握程度,是课前云平台过程控制的重点。理论成绩是学生课前测试的结果体现,软件产品是学生开发真实软件项目的成果展示,实训报告是学生课堂实训过程的总结与提高展现,实训成绩是学生课堂实训的综合表现,总成绩是对学生学习、教师教学过程与结果的定量综合评定。
[关键词]软件技术 高职 校企合作
[作者简介]张治斌(1977- ),女,辽宁抚顺人,北京信息职业技术学院,副教授,研究方式为软件测试和软件开发。(北京 100018)
[中图分类号]G712 [文献标识码]A [文章编号]1004-3985(2013)08-0177-02
软件技术产业是国家重点发展的战略性新兴产业,也是北京市在全国处于领先地位并具有全球化发展潜力的重要产业。目前,我国软件人才大多来自正规本科院校,集中在软件工程师层面,高级管理者和基础编程人员仍然匮乏,特别是基础程序员的紧缺较为明显,人才结构呈现橄榄形,基础编程和测试等软件应用型人才远远不能满足需求。大力培养应用型软件人才已经成为高等职业院校软件技术专业人才培养的主要目标。
一、软件技术专业人才培养存在的问题及原因分析
目前高职软件技术专业人才培养存在以下问题:一是企业用人岗位目标分析不明确,人才培养目标定位不清晰,人才培养与产业发展需求脱节,一方面学校力争培养编码与测试的基础技术人员,另一方面毕业生无法胜任专业技术对接工作。二是学生理论基础较差、自主学习能力欠缺,缺少足够的实践机会,无法深入软件开发流程,很难适应企业的软件开发模式和管理方式。三是教师缺少工厂化实践软件编程和测试经验,教学模式、教学方法缺乏考虑软件技术的学习规律,案例教学、项目教学内容与企业实际需求脱节,教师遵照教材、指导书内容开发教学案例,没有脱离教学环境约束,闭门造车。
要改善教学实践现状、为企业有效培养应用型软件人才,必须做到学校与企业的“零距离无缝对接”。通过校企多层次、多角度合作,吸引企业主动参与教学建设,弥补教学设计和教学实践脱离企业需求的不足;发挥学校在专业办学和人才培养方面的经验和企业在产品设计开发方面的长处,做到学校专业教育与企业用人的完美合作;充分利用企业专家、项目资源,合作开发项目教学案例,联手指导实训、实践课程,共同完成软件人才培养,将企业标准高效引入教学实践中,以企业需求为依据实行开放式教学;通过校企合作强化学生动手能力自主学习能力、专业素养的训练,提高教师的技能水平和实战能力,完成真实项目到教学案例的转化,使教学内容和方向紧跟行业需求。校企双方作为构成利益的共同体,以“学生培养”为第一要义,最终培养学生具有良好的职业素养、职业品质和职业技能。通过合作,学校获得企业项目的开发经验、软件产品生产的规范、流程,企业能从合作中获得经济利益,只有符合双方互惠互利的原则,合作才能顺利开展。而目前高职院校的校企合作通常是“学校一厢情愿,企业无意参与”,学院与企业的合作多流于形式,不能从实质上解决教学现状。要从根本上解决这一矛盾,应突出合作形式实用化、合作方式多样化、合作层面深入化。
二、院校企合作开展方式
北京信息职业技术学院(以下简称“学院”)软件技术专业于2006年被确立为国家首批示范专业,2008年成立北信软件园,吸引了北京神州数码、蓝波今朝科技有限公司等多家优秀的IT公司入驻软件园。2010年与中国软件行业协会和多家知名企业共同成立软件技术专业校企合作委员会,共同探索产学结合的有效途径。从学院层面推进工作,建立了高层对话机制,提高了校企合作的响应速度和成功率,学院提供专项经费,紧密联系企业资源和市场需求,实现校企深度合作和工学实质结合。
1.吸纳企业精华,共同开发课程。高职教育的目的是培养技能人才,专业建设要体现技能人才成长规律和技能人才培养规律。在专业建设和课程开发时,通过聘请企业专家参与软件专业建设实践专家研讨会,提取企业用人需求,教师与专家共同完成职业能力分析,确定专业能力解析表;按照企业人才需求完成课程设置,制订教学计划,获取并提炼企业项目资源,在项目人员指导下进行项目分解,教师参与完成将企业真实项目分解为可以在教学中实现的小项目,所有专业课程的开发与内容设置均围绕这些项目中设计的能力目标确定,形成“项目迭代式”课程体系,依据企业软件产品生产过程,展开教学和实践实训。
2.界定合作规模,吸引中小企业。服务区域经济办学,以“从企业中来,到企业中去”作为学院软件技术专业建设的指导思想。北京各类IT企业资源丰富,但重点高校云集,众多大型软件企业对生源学历要求较高;校企合作偏向本科重点院校;合作成本高。高职院校软件技术专业在与大型软件企业合作时,从技术实力、企业用人需求以及合作成效上都很难达到投入与产出的平衡。而中小企业用人机制灵活、注重生源实践技能、有大量的中小型项目支持,适合高职学生在企业和教师指导下参与开发;企业的利益点不高,校企双方在利益追求和合作目的上很容易达成一致,能够有效挖掘互补资源,满足双方效益预期。
通过大型软件企业与中小型软件企业合作的可行性对比分析(见178页表),高职院校软件技术专业要以吸引中小企业入校为突破口,突出合作实效和深度,达到利益双赢。一些企业希望通过合作提升品牌形象,产生广告效应;一些企业希望学校提供宽阔的场地和基础设备等支持,以缓解资金短缺问题;一些企业希望利用项目空档期参与学校教学与实训,为后期项目发现和培养后备力量。根据不同企业的特性和需求来规划实施合作方案,充分尊重企业需求,形成长效机制,体现“互利共赢”。
要在总结前期校企合作经验的基础上,大力吸引北京地区中小型企业入驻软件园,为入园企业无偿提供场地、水电、网络服务保障和专项项目经费支持,并保障相应设备的正常实施;企业按照要求对学生进行实训指导并提供真实的工作岗位,且提交所有项目相关技术支持和文档,支持教学完成项目到教学资源的转换,变以专业学科体系为重心到以实践教学环节为重心。共同依托校内实训基地的教学设备资源和教师技术资源,依照企业规范和行业标准要求,完成项目开发和对学生的管理。比较典型的是吸引北京汉盟科技公司入驻北信软件园,将中石化天津分公司生产工艺管理系统开发项目引入学校。公司派遣2名专职项目指导教师对学生进行职前动员,通过入职面试接收20名大三学生参与项目开发,并与学生签订录用协议,学生严格遵守公司的管理规定,公司按照考勤和考核制度对学生进行评价;学生模拟项目开发中不同角色完成相应的开发和测试任务,提高了团队合作意识和工作责任心,有效缩短了学校职业教育与企业用人需求的差距。公司根据学生在项目开发中的表现与个人性格特征,确定最终录入的学生与职务分配,并根据职责分配规划人才培养方向,大大缩短了企业新员工培训周期。公司利用暑期为学生提供免费技术岗前培训,学生在企业兼职教师的指导下完成模块的开发和测试。为了能够将项目的前沿技术和项目资源运用到教学中,培养教师的实践能力与参与实际项目开发的真实体验,公司负责接收2名教师,共同分析项目需求,制订解决方案,参与项目开发,并向教师提供所有项目文档,为后期的教学提供支持。实现了教师下企锻炼、学生顶岗实习、项目资源向教学资源转换。
3.利用企业项目资产,扩建双师队伍。充分将企业的项目有形资产转化为教育资源,培养教师的实践能力,构建双师队伍。教师采用挂职锻炼的方式,每年有6~7名教师利用半年的时间融入企业环境,接受企业培训,参与企业项目的开发与实施。校企双方共同签署教师锻炼培养协议,从制度上保证合作的有效性,双方分别组建监督小组,完成对合作过程进行全程监控,从管理上保证合作的顺利进行,合作结束后由企业完成教师实践鉴定。在实践中,教师通过参与企业生产性项目,承担开发任务的形式,熟悉企业所使用的开发工具、测试技术及工作流程,并将项目开发信息进行梳理、提炼,转化为教学设计资源。聘请有一定教学经验企业技术人员担任兼职教师,发挥技术专长,针对高年级学生进行专业课程讲授与学生综合实训的指导。
4.借鉴经验,互通有无。借鉴国内一些软件培训公司的模式,与北京地区软件培训公司通力合作。优点是已经开发了贴近真实环境的软件教学案例;培训教师教学与实践经验丰富;由于具备与企业长期合作的背景,能够培养出具有良好适用性的人才。缺点是重技能轻基础;重视技能培养忽略就业导向;培训价格昂贵而缺少生源。职业院校由于有充足的生源和基础技术教育而吸引众多培训公司与职业院校开展业务。2007年以来,学院先后与中软国际、北京旋信科技、TEST8848和北京京盛世纪等公司联手,共建软件开发实训室和软件测试实训室,由公司提供教学案例、生产性实训项目和实训平台和设备支持,指派企业技术人员跟踪生产性实训,担任兼职教师对学生进行专项技术训练。学生在完成基础课程学习后,可通过考核直接参与公司的软件开发或测试工作,完成顶岗实习培养计划。
三、校企合作实践的启示
对于高职院校而言,校企合作是一个系统工程。建立长效机制,促进校企合作持续深入开展,需要政府、社会、企业和学校共同努力。地方政府应加强鼓励和引导,充分调动学校和企业积极性,引导行业组织发挥在职业教育校企合作中的独特作用,发挥行业资源、技术、信息等优势,参与校企合作项目的评估、职业技能鉴定及相关鼓励工作。学校要根据区域经济发展的特点和生源情况以及市场的需求,发挥职业院校的基础作用,实现职业院校人才培养与企业需求的对接,不断总结经验和调整思路,在探寻与完善中摸索有效的软件人才培养模式和校企合作方式,总结合作过程中的经验与不足,提炼成功合作案例的精髓,形成系统、完整的合作模式。同时,仍需进一步构建有效的激励机制,平衡学校、企业、教师的各方利益,平衡教学与项目实践所可能引起的矛盾,以培养出满足市场需要、适用的、具有创新、实践和独立学习能力的高素质人才。
[参考文献]