前言:我们精心挑选了数篇优质软件开发实习自我报告文章,供您阅读参考。期待这些文章能为您带来启发,助您在写作的道路上更上一层楼。
关键词:高职软件技术专业;人才培养方案;CDIO
1 基于CDIO的软件项目驱动教学
软件项目驱动教学就是按照软件工程思想把某一工程项目展开并贯穿于整个教学,教学过程为师生互动过程,学生在项目研发的过程中掌握所学知识,使学生明白所学知识可以做什么、应该做什么和如何做什么。目前,各高校相继在教学过程中采用了项目驱动教学方法,但产生的效果不尽相同,究其原因也各不相同,总结问题主要存在于项目设计、项目实施两个环节中。
根据授课内容的不同,可以将项目设计分为学习型、训练型两种类型。学习型项目规模较小,目的是通过项目,使学生能够深入理解课程的重点与难点,其主要应用在实训课的课堂练习中。训练型为大中规模项目,要求学生在老师的带领下,完成从项目的需求分析、系统设计到编码实现、测试部署的全过程,主要应用在学期项目和毕业项目中。
CDIO教育模式的《标准2:CDIO教学大纲制定的需求分析》阐明CDIO方法论必须将教学大纲的设计与培养目标和产业对学生素质能力的要求逐项具体挂钩[1]。这种素质能力要求不仅包括技术专业知识的学习(类型1),而且包括学生自身能力(类型2:如认知与学习热情、工程推理和问题求解能力、试验和发现新知识能力、系统性批判性及创新性思维能力、职业道德等),团队合作能力(类型3:如团队工作能力、交流沟通互动能力、领导力等),产品和系统建造能力(类型4:如结合社会、企业和业务的需求来构思、设计、建造和运行系统)。这种对素质和能力培养的需求要经过专业化的工程师组织、已毕业的校友和产业界用人单位的审核与认可,并在具体要达到的水平、成绩标准方面得到他们的指点和帮助。
CDIO教育模式的《标准3:集成化课程设置》要求发展建立课程之间的关联,使多门课共同支持专业目标,要有具体计划将课程关联以针对标准2所要达到的4个类型素质和能力。通常各门课程都是按学科内容独立的,彼此之间很少关联,而CDIO方法按照工程项目全生命周期来组织教、学、做,应当能够将相关课程关联,避免不必要的重复,使学生掌握各门课程知识之间的联系,用于解决综合的问题。
苏州工业园区职业技术学院软件技术专业依据上述原则制定了专业核心课程的课程标准,取代传统的教学大纲,突出了工作过程系统化的教学理念,强调了学习情境的设计。特别需要强调的是,本专业按照《苏园职院教科字[2008]第61号》文件的要求,在2008级开展了学期项目,要求如下:(1)学期项目必须综合运用本学期所学课程知识与技能,是本学期各学习领域课程能力的综合反映;(2)本学期项目重在方案的构思(c)与设计(D)两个环节,不能当作实训课施行;(3)学期项目鼓励来源于生活与企业生产,着力于解决现实生活与企业生产中的小问题;(4)学期项目鼓励具有创新性。
软件技术专业的学期项目实施得到了良好效果,两个学期项目:游戏软件方向学生的“战争与和平――一款手机游戏项目”和NIIT方向学生的“自动点餐系统”包揽了学院学期项目评比的一等奖。
2 软件技术专业人才培养方案
2.1 职业目标确定
院企双方共同组成的软件技术专业建设指导委员会指导课程开发组通过软件技术岗位分析其职业能力,确定了软件技术学员的职业目标,如图1所示。院企合作共同培养面向区域内软件及IT服务外包产业,从事软件产品开发、软件测试、软件产品管理、软件产品销售及售后服务等岗位的一线技术及服务人员。
2.2 职业能力分析
2.2.1 岗位描述
岗位描述如表1所示。
2.2.2典型工作任务及其职业能力分析
本专业对应的3个职业岗位的典型工作任务有:需求分析、软件设计、编码实现、软件测试和软件服务,典型工作任务及其对应的职业能力详见表2。
2.2.3能力与素质总体要求
(1)专业能力。具有良好的编码能力,掌握控制台应用程序、GUI应用程序、Web应用程序、移动应用程序等软件的一般开发方法,了解主流企业级应用软件的基本架构,会使用数据库软件,能够在,NET和JAVA两种平台上的熟练地完成程序编码和测试等工作。
(2)方法能力。保持求知欲和进取心,能够具有较强的学习能力、发现和解决问题的能力、电脑软件操作能力,和掌握较强的专业外语阅读能力。
(3)社会能力。具备人际交往能力、表达能力和自我决策能力、自觉的规范意识和团队精神,承受挫折的能力,注重学会共处、学会做人,以确立积极的人生态度。
2.3课程体系设计
2.3.1 体系架构与课程设计思路
将典型工作任务的职业能力结合岗位所对应的职业资格要求,归纳出需求分析等共14个行动领域,并转换成11门对应的专业学习领域核心课程:使用C#进行面向对象的编程、SQL Server 2005设计与开发、XML可扩展标记语言、使用ADO,NET&XML进行高级数据库应用开发、使用VC#,NET实现GUI开发、使用J2SE 5.0进行GUI开发、UML进行面向对象分析与设计、使用进行Web应用开发、使用J2EE进行企业级应用开发、使用J2ME进行移动应用开发、软件测试。
2.3.2 课程模块化设计课程模块化设计如表3所示。
2.4 专业主干课程描述(摘选)
2.4.1 使用J2EE进行企业级应用开发
参考学分:6:参考学时:96;开设学期:2。
课程目标:培养掌握J2EE各主要技术内容的基础上,能够利用J2EE编程思想,解决具体的网络应用项目问题,并且能够搭建和使用J2EE开发环境,完成J2EE体系结构项目的开发,按照策划和需求完成相关的功能模块设计、编码、和测试等工作。通过本课程的学习,学生将具有J2EE开发的扎实理论基础和实际设计经验,可胜任企业级应用的设计和开发等相关工作。
课程主要内容:掌握J2EE体系结构和建立运行开发环境;Servlet编程项目开发;JSP编程项目开发:项目中使用JAVABEAN;项目中使用JSP自定义标记;利用JDBC访问数据库项目开发;EJB编程项目开发。
教学建议:建议小班上课,3~5人一个小组;加强小组进度监管,以防止部分同学滥竽充数;学有余力的学生小组可以在完成教师指定课程项目之后,开发自选项目。
2.4.2 用进行Web应用开发(学期项目课程)
参考学分:6;参考学时:96;开设学期:3。
课程目标:培养学生从专业角度发现现实生活或生产过程中存在的小问题,并初步判断利用专业知识解决问题的可行性。培养学生自主学习的主动性和自主学习能力;会查阅知识、学习知识、运用知识、分享知识。培养学生利用所学知识,对方案进行论证,判断可行性。锻炼小组成员间团队配合、分工协作能力;锻炼部分成员的组织协调能力。
同一项目组各成员有不同项目成果,也可以是同一成果的不同部分。
课程主要内容:选题以来源于生活与生产实际,并着力于解决现实生活与企业生产过程中存在的小问题的项目为主,以模拟项目为辅;通过学生查阅相关资料、小组讨论和教师辅导的方式提出项目方案;学生对相关领域专业技术基础、发展现状及现实应用有一定了解,对专业知识和技能的进一步学习产生兴趣;全体学生的团队沟通协作能力、部分学生的组织协调能力等到锻炼。
教学建议,学期项目以小组为单位实施,每组成员不超过6名学生。指导老师要规范项目小组会议、合理小组分工、加强老师指导与小组研讨记录、明确CDIO 4个环节的要求等,有效引导学生完成学期项目。学期项目的指导与实施应重在平时,每个项目的周指导课时为2课时,由老师根据学生上课时间自行安排,主要是进行项目制作方法指导与进度检查等。两个项目周分别用于学生整理方案书、中期评价、项目制作以及答辩,突出学生的主体作用,但不能当作放假周实施;采用项目指导方式教学,突出培养创新能力,以理论研究为主,培养学生综合分析解决问题能力。
2.4.3 项岗实习与毕业项目
参考学分:33;参考学时:1320;开设学期:5。
课程目标:顶岗实习是软件专业教学计划所设的重要实践性教学环节,是学生理论联系实际的课堂。顶岗实习的目的是:
(1)软件专业的培养目标是培养德、智、体、美全面发展的,具有一定计算机软件编程技术基础,掌握软件项目的实用领先开发方法和实践技能,具有高度团队精神的高等应用型技术人才。毕业生主要在各企事业单位从事计算机软件产品的开发、测试与服务等工作。学生要有软件开发方面的基础理论,还要将理论与实践相结合,在实践中提高能力。通过生产实习,可以进一步巩固和深化所学的理论知识,弥补理论教学的不足,以提高教学质量。
(2)通过顶岗实习,提高对软件开发的认识,加深软件开发技术在工业领域应用的感性认识,开阔视野,了解相关软件技术和资料,熟悉软件产品的开发流程。
(3)通过顶岗实习接触认识社会,提高社会交往能力,学习软件从业人员的优秀品质和敬业精神,培养学生的专业素质、理论联系实际、综合运用所学知识解决实际问题的能力,树立良好的职业意识,增强敬业、创业精神,明确自己的社会责任。
(4)学生在顶岗实习期间,选择与本专业及岗位工作相关的工业案例项目作为毕业项目研究对象,通过理论联系实践的深入研究,完成毕业项目,提高专业综合实践能力。
课程主要内容:软件产品开发管理流程:软件开发各岗位关系与职责;软件开发技术;软件测试技术:软件运维技术;软件行业的规范标准:软件从业人员的素质。
毕业项目按照多元化的原则实施项目设计,根据专业特点和学生学业能力的差异及学生实习与否的实际状况,可有针对性地选择以下方式中的一种开展项目:毕业设计;毕业论文;社会调查报告;工业案例;可行性报告等。
教学建议:毕业项目题目应符合本专业的方向,符合对学生专业知识综合训练的要求;结合实习岗位和企业的生产实际选题。毕业项目可以一人一题或多人一题,但每个项目组最多不能超过3人;毕业论文只能一人一题;小组形式的毕业项目的任务书只有一份,但小组中应明确组长和组员的不同职责,分工明确,任务具体。指导老师要规范项目小组会议、合理小组分工、加强老师指导与小组研讨记录、明确CDIO 4个环节的要求等,有效引导学生完成毕业项目。项目报告是项目完成后对项目的实施和成果做出的总结或说明性文字材料:对于有实物的设计成果,在可以在报告中加入设计框图、界面图、程序代码和照片等,文字部分不得少于3000字。毕业项目采取毕业论文形式时,写作的格式应按照学术期刊的要求,段落层次划分清楚,标注参考文献,字数达到7000字以上。
顶岗实习考核办法:
(1)无完整实习过程记录的,不能参加实习成绩评定。
(2)实习报告:实习学生在实习期间,必须完成反映企业文化适应,与工作相关的系能力提高,综合职业素质养成等三个专题的实习报告。每个专题的字数应在1000字以上。
(3)实习单位评价:企业相关部门根据学生的出勤情况、纪律遵守情况、适应能力、团队合作能力和工作表现五个方面进行考核,并将各项成绩录入,加盖公司人力资源部印章。
(4)权重分配
实习单位评价:60%;专题实习报告:40%;无实习过程记录的不能参加实习成绩评定。
(5)成绩记录:毕业实习成绩采用百分制登记,60分以上及格,60分以下不及格。
f61凡出现下列情况之一的一律取消考核资格,不能取得毕业资格:
未达到规定实习时间三分之二以上者。
实习期间严重违反实习纪律,给学校声誉造成不良影响。
由于个人违规操作,给实习单位造成重大损失。
无故不按时交毕业实习报告和实习过程记录表的。
3 方案实施所必备的实验实训条件、师资条件
3.1 基本实训条件
(1)校内实训室基本配置,如表4所示。
(2)校外实训基地基本状况。加强了校外实习基地的建设力度,新建18家校外实习基地,总数达到63家。重点建设思科网讯(苏州)有限公司、方正软件、宏智科技、苏州科升通信技术有限公司、苏州国贸电子系统集成有限公司、友达光电等6个联系紧密型校外实习基地(其中外包软件公司3家,自主开发软件公司2家,嵌入式软件公司1家),确保提供50名三年级学生准就业实习岗位。并在2009-2010年新开拓了12家软件企业作为校外实习基地,提供了32名学生准就业实习岗位。
3.2 师资要求
(1)专业带头人的基本要求具有较高的高职教育认识能力、专业发展方向把握能力、课程开发能力、教研教改能力、学术研究、项目开发能力、双语教学能力、实训指导能力、组织协调能力等。能带领专业团队进行专业人才培养方案的设计,构建“1C+5P”能力训练体系及FMS教学组织模式,并能科学实施。
(2)专任教师、兼职教师的配置与要求,如表5所示。
关键词:工程化;实践教学体系;软件技术专业
0 引言
软件产业是信息产业的核心,软件人才是软件产业发展的关键,而运用软件工程思想,通过工程化方法开发软件已经成为业界的共识。高技能软件工程人才的匮乏严重阻碍了我国软件业的发展,我国软件业与世界软件强国相比差距很大,甚至远远不如同为发展中国家的印度。其中一个关键原因在于我国在软件人才培养方面还存在以下问题:①缺乏对软件人才培养目标的准确定位,高职院校的软件人才培养定位在从事编程、测试、维护和支持一线的“软件蓝领”,主要面向的岗位是程序员,这在理论上已经成为共识,然而很多教师错误地认为程序员只要会写代码就可以,这种教学理念导致一些学生没有软件工程的概念,自然培养出的是“软件作坊”里的代码英雄;②高职软件技术专业实践教学存在体系不合理等问题。
1 基本框架
软件技术专业团队在国家示范性建设过程中需达成共识:软件技术专业的职业教育者必须在软件技术教学中深入贯彻软件工程思想,使其成为学生从事软件开发工作的世界观和方法论。软件技术教学应贯彻将工程化能力、职业素质培养与专业理论教学融为一体的教学理念,按照知识建构的观点,以软件开发过程为主线、以实践为核心组织课堂的教学思路。基于软件开发过程的工程化实践教学体系基本框架如图1所示。该框架以软件统一过程RUP理论为依据,以软件开发过程为主线,将实践教学体系分为目标体系、内容体系、实施体系、条件体系和管理体系5部分,各组成部分在实践中既要发挥各自的作用并体现各自的功能,又要协调配合以实现实践教学的总体目标。
2 实践教学体系
2.1 以软件开发过程为主线,建立基于岗位能力模型的分层目标体系
根据应用型人才职业能力培养要求,将高职软件技术专业培养目标的职业能力分为3个层次:职业核心能力、专业通用能力、岗位特定能力。为准确定位程序员3个层次的能力范围,我们首先研究出程序员在软件开发各个阶段应具备的专业能力。基于软件开发过程的程序员岗位专业能力模型如图2所示。接着将图2实现工作流中有下划线标识的能力按流行开发语言分为Java程序员、.Net程序员和Android程序员应具备的能力,即岗位特定能力。对应软件开发每个阶段的能力是各种岗位类型的程序员都应具备的能力,称为专业通用能力或软件工程能力。最后,抽取工程化软件产品开发过程中需要的团队合作能力、表达沟通能力等作为职业核心能力。根据3种能力的依赖关系,我们建立图3所示的以职业核心能力支撑专业通用能力和岗位特定能力、以专业通用能力支撑岗位特定能力的软件技术专业实践教学能力分层目标体系。
2.2 以软件工程过程为导向,构建工程化、模块化、层次化的课程内容体系
课程内容体系建设思路及过程包括以下几个方面。
(1)获取程序员岗位(Java程序员、.Net程序员、移动程序员)在实际软件开发过程中具有完整工作过程的工作任务,按照职业成长的规律分类排序,将分类后的工作任务归纳整合为典型工作任务。
(2)将一个典型工作任务转化为一个或多个学习领域,一个学习领域对应一门课程,将多个典型工作任务中公共的学习领域划分为专业基础课,即业能力通用培养模块。特有的学习领域划分为专业课,即核心岗位能力培养模块,该模块又包括.Net程序员、Java程序员和Android程序员课程学习子模块。每一模块的课程又分为岗位基本技能、岗位特定技能和岗位综合实训3个层次。
(3)基于软件开发过程,依据RUP理论,按照筛选、合并、细化、增加的原则建立以程序员为核心岗位的岗位群模型,将岗位划分为核心岗位、辐射岗位、扩展岗位、发展岗位4种类型。基于软件开发过程的以程序员为核心岗位的岗位群模型如图4所示,该图中没有指定岗位的能力与辐射岗位所具有的能力均为专业核心岗位(程序员)的能力,这些能力是学生的必备能力;辐射岗位是在向程序员全程灌输软件工程思想和培养程序员其他流程相关岗位的能力时,正好培养了RUP某一岗位的能力;发展岗位是在向程序员全程灌输软件工程思想时,需要有部分学生熟悉这类岗位的能力,这些能力正好对应RUP的某一岗位,但因需要其他的综合素质或较丰富的实践经验,并不是每个人都能达到这种能力,只有少部分学生可以达到或朝这个能力方向发展;扩展岗位指在专业核心课的基础上,通过附加々业拓展课获得的岗位,鼓励学生个性化发展,不断提升岗位迁移能力,为将来就业创造更多的机会,
通过对岗位群模型进行分析,我们构建图5所示以职业核心能力、专业通用能力模块课程为支撑的工程化、模块化、层次化的岗位能力培养课程体系,对课程内容按照“一条主线、四个应用层次”的设计思路、基于“OTPAE”五步训练法进行工程化重构。
2.3 以软件工程过程为主线,逐步形成与工程化实践教学相适应的包含教学模式、教学方法和评价机制的实施体系
1)在教学模式方面,为不同类型的课程探索不同的教学模式。
(1)学做合一模式:边学边做,学做合一,该教学模式适合专业通用能力培养模块和岗位特定能力培养模块中岗位基本技能课程的学习。
(2)软件车间模式:模拟车间工人加工产品的过程,在软件产品开发的过程中,程序员按照操作规程编写代码,得到想要的软件,该模式适合岗位特定能力培养模块中岗位特定技能课程的学习。
(3)软件工厂模式:即生产性实训,创设真实软件开发环境,按照真实企业中小型项目组人员构成进行分工并在实验室划分逻辑工作区,然后按照工程化思想协作完成项目的分析、设计、开发和测试,该模式适合岗位综合实训模块课程的学习。
2)在教学方法方面,针对不同的教学模式探索不同的教学方法。
这些教学方法包括MCLA教学法、ISAS教学法、双语教学法、项目教学法、虚拟公司教学法。
3)在考核评价方面,建立基于“证据”的过程考核评价机制。
随着工程化实践教学工作的不断深入,传统的以笔试为主要形式、以卷面成绩为主要依据的考核方式,不再适合评价学生在基于工作任务的课程学习过程中所积累起来的各项能力。借鉴英国BTEC评价模式,以世界大学城云教育平台为依托,我们建立基于“证据”的过程考核评价机制,要求学生在完成任务的同时,学会管理学习日志、学习心得、实验或实习报告、声像资料、软件作品等证据,制作学习证据汇编,为申报成果等级提供依据。教师根据学生所展示的专业能力成果、通用能力成果以及学生的自我评价,综合认定学生的学习成绩,设定不合格、合格、良好、优秀4个级别,倡导“只有更好,没有最好”的激励机制。
2.4 构建基于1G3W实践教学环境、立体化实践资源、包班导师制的工程化实践教学条件体系
1)搭建真实、与业界同步的1C3W实践教学环境。
坚持以工程化培养理念为指导,以系统软件、CASE工具、开发工具为核心,以网络、服务器、桌面系统为平台,组建与业界同步的工程化综合实验环境,为工程实践教学提供强有力的实践实验平台。教学做一体化教室能满足软件技术专业学生100%理论实践一体化教学要求;校内软件实训工厂以软件产品开发流程为主线,营造真实的软件产品开发氛围,从合理利用厂区和设备等硬件资源的目标考虑引进物理产品线和逻辑产品线的概念,按物理产品线的思想规划实验室的布局及设备资源,按照逻辑产品线的概念配置实训环境,为校内生产性实训创造条件;与软件企业合作创建的校内项目工作室可接受优秀学生进行真实项目开发,以培养技术骨干,同时也是教师进行科研的场所;与企业广泛合作,共建校外软件实训基地,为即将毕业的学生提供顶岗实习岗位,基本形成图6所示的1C3W实践教学环境。
2)建立优质化、立体化、网络化、工程化的实践教学资源库。
以世界大学城云教育平台进行工程化实践教学共享资源库建设:(1)对数据结构、应用开发、Java企业应用开发等10多门传统课程教学内容进行工程化改造,按工程化软件开发流程对教学内容进行重构;(2)按照工程化思想和IT行业企业的工作标准对26门课程进行解构,用丰富多样的多媒体表达形式建设26门课程的概念库、方法库、原理库、练习库、训练库、在线题库、虚拟实验库,然后以软件开发过程为主线,按学生认知规律重构,形成模块化的课程单元,再以图表化的资源集成方式通过超链接形成单元教案组织教学;(3)建设30个工程项目案例库,工程案例全部来自真实的项目并通过软件工程实践能力提升平台PCIP随时随地向学生全面开放。
3)建立全程跟踪学生学习过程包班导师制。
为了确保工程化实践教学的教学效果,我们对学生的学习过程进行全程跟踪和指导,发现软件技术专业实施不为很多人所接受的包班导师制教学,所有专业教师除了包揽一个班的所有专业课教学外,还要以导师制为平台,以工程项目为中心,组建专业团队,开展项目设计竞赛,以竞赛促进学习,以团队带动班集体,营造奋发向上的学习氛围。包班导师制是提高软件技术专业教学质量的重要手段,主要体现在:(1)包班教师对学生知根知底,便于因材施教;(2)学生的专业成绩只与一名教师有关,增加了教师的压力与动力,对教师工作提出了更高的要求,促使教师工作变被动为主动。通过在总学分中设定专业选修课学分以及定期开展专业技术讲座交流等方式,我们很好地解决了业界所质疑的学生只能接受一名教师教学和思维方式的包班制缺陷问题。
2.5 利用信息化平台,建立遵循行业标准和规范的先进、科学的管理体系
开展示范性建设数年来,我们不断推进专业实践教学质量,充分利用信息化平台,引入行业标准和规范,建立先进、科学的管理体系,逐步实现自律管理。
(1)将“6S”现场管理理论灵活地应用到实训环境的建设过程中,提高实训基地的建设水平,形成规范化、高效化的实践实训现场管理;依据ISO9001质量保证模式标准,参照ISO9001软件企业实施指南ISO9000-3,建立质量管理体系。通过制定规章制度、岗位职责、软件开发规范,量化考核指标,对软件产品从需求分析、软件设计、编码、测试、安装到维护全过程进行控制,及时对过程数据进行统计分析,不断改进实训管理水平,提高实训质量。
(2)充分利用信息化技术,与企业共同开发基于B/S架构的软件工程实践能力提升平台。通过对实训过程进行监控,帮助学生利用“学习一实践一学习”的模式提升软件实践能力,通过标准化的企业实战项目案例及系统化的知识体系为学生提供完整的理论和实践体系;平台的流程化特点使其可以模拟企业实际开发流程,涵盖软件工程的全生命周期,提供从需求分析、概要设计、详细设计到实现、测试的体验式教育平台。
(3)基于世界大学城云教育平台,以软件开发过程为主线,对课程进行重构和解构,建设工程化网络课程,面向全社会开放;充分利用空间资源平台的可管理性、过程性、及时性、可监控性、学生主体性特点,建立基于“证据”的工程过程考核评价机制,强调基于学生学习纪律、学习态度、工作日志、学习心得、实践实习报告、声像资料、软件作品等证明自己学习能力“证据”的自我管理能力培养。
(4)自行研制“毕业实习跟踪系统”,对教师指导学生进行毕业设计和顶岗实践过程进行全程跟踪记录,以使毕业设计工作更加规范、可控。教师可以通过系统下达毕业设计任务,指导学生书写毕业设计文档,跟踪学生实习单位的变更,检查学生提交的实习日志;学生通过系统进行毕业设计选题,提交毕业设计文档,动态变更实习单位信息,每天提交实习日志,查看教师评语和建议;管理人员则通过系统提供的数据动态产生教务处所需各种报表。
3 结语
经过近几年的示范性建设,长沙民政职业技术学院的软件技术专业在实践教学体系的指导下取得了良好效果。2013年,软件技术专业学生参与湖南省高职院校技能大赛的5个技能项目,获得3个第一,2个第二;在代表省参加的全国高职院校技能竞赛中全部获奖,取得1金1银3铜的好成绩。目前,软件技术专业的实践教学体系已经基本成熟,其中实践教学目标、内容和方法以及实践平台等都已稳固成型,但在实践教学资源的多样性和实践评价管理的细节上还需要进一步丰富和完善。
参考文献:
[1]胡大成.高职计算机软件技术专业实践教学体系的重构[J].职业技术教育,2008(32):64-65.
[2]雷军环,谢英辉.高职职业核心能力“渗透式”培养教学体系的构建与实践[J].教育与职业,2011(36):99-101.
关键词:中职;嵌入式
中图分类号:G642文献标识码:A文章编号:1009-3044(2012)13-3143-03
Research on the Training of the Embedded System (Software Oriented) Talents in Secondary Vocational School——Take Dongguan Science and Technology School as an Example
LIU Meng1,2
(1.Dongguan Science and Technology School, Dongguan 523016, China; 2.Dept. of Computer Science, Guangdong Polytechnic Normal University, Guangzhou 510665, China)
Abstract: The society has a strong need for embedded system talents at present, and secondary vocational schools are training qualified primary embedded system talents to comply with the requirements of the social development. This paper, based on the actual situation of software major in our school, analyses the possibility of training the embedded system(software oriented) talents in our school, raises the location of the embedded system talents training, and preliminarily discusses the setting up of the related courses and the construction of the related laboratory.
Key words: secondary vocational school; embedded system
1嵌入式人才需求现状
据腾讯网[6]报道,中国软件行业人才培养布局不够合理,导致软件业整体低端人才过剩,高端人才缺乏,高端人才中的嵌入式开发人才更是奇缺。据统计,随着嵌入式的应用越来越热,嵌入式已经成为目前最有前途的IT应用领域之一,嵌入式人才缺口更高达每年80万。
嵌入式系统主要应用在一些低成本,实时响应高但是硬件资源(存储器、处理器等)又比较有限的设备上。随着智能家电越来越普及,嵌入式更加重要。日常所用的手机、PDA、数码相机、机顶盒、汽车电子、家电控制系统乃至医疗设备等等都是嵌入式系统的典型应用。大力发展嵌入式技术是对技术潮流的顺应,同时对我国软件产业和集成电路产业也有较大的促进作用。但嵌入式系统人才匮乏已成为众多企业的共识,这又成为影响我国嵌入式发展的瓶颈,企业经常高薪却招不来合适的嵌入式人才。
2我校软件专业现状
我校自2002年开设软件专业至今已有9年,9年来软件专业的发展可谓是一波三折。我校软件专业有辉煌的历史,软件专业为我校为数不多的省级重点专业,中间经过多次复评,至今仍为省级重点专业,并于今年开始“3+2”学制的软件人才的招生和培养,充分体现了上级领导对我校软件专业的肯定和重视。然而这些掩盖不了软件专业尴尬的事实,作为曾任多个软件班班主任的专业教师,据了解,这些年来我们所培养的学生从事本专业工作的甚少,被社会所认可的很少,甚至学生对自己的软件专业都有所怀疑。我校软件专业现开设的课程无法体现软件专业的特点,学生也搞不清楚自己的定位,到底是应用呢,还是网络呢,还是软件开发呢,一片混沌。为改善这种状况,体现出真正的软件专业的特色,培养社会紧缺IT人才,让学生实现自我,成就自我,超越自我,本人撰写本报告,将从嵌入式人才分类,嵌入式人才培养(软件方向)需要的课程,我校开展嵌入式人才培养(软件方向)的可行性分析,我校的师资现状及对策,实验室建设等几个方面提出嵌入式人才(软件方向)的培养计划。
3嵌入式人才分类
嵌入式技术既需要硬件技术更需要软件技术,因此嵌入式人才一般分为两类:
一类人才是偏硬件的、他们往往是电子、信息等专业出身,主要从事硬件设计以及与硬件关系较为密切的底层软件开发、初级硬件驱动等。他们对硬件特别是原理以及接口等技术较为熟悉,但对嵌入式操作系统等复杂软件系统却力不从心。
另一类人才是偏软件的,他们往往是软件开发、计算机等专业出身,主要从事嵌入式操作系统以及操作系统之上的软件开发(比如现在较为流行的Android以及iOS平台的手机软件开发),嵌入式硬件的设计大同小异,关键在于软件功能的区分,这在手机、导航仪、平板电脑等上面体现的尤为突出,嵌入式软件开发是嵌入式设备增值最关键的一环,也是目前嵌入式开发最主要的工作,嵌入式设备功能越强,越复杂,嵌入式软件作用就越大,这也是大势所趋。
4嵌入式人才培养(软件方向)所需课程
4.1 ARM处理器原理与应用
这是一门嵌入式硬件基础课程,嵌入式开发是软、硬件结结合的技术,嵌入式软件人才必须对ARM处理器的原理和接口有较为充分的理解,若不理解处理器的工作原理,根本无法控制硬件工作,更谈不上写出既能够节省内存又能够高效运行的代码以及驱动程序,熟悉ARM处理器是目前很多嵌入式开发企业对人才的基本要求。
4.2嵌入式操作系统类课程
目前的嵌入式软件开发平台不外乎以下三种:ARM+WinCE,ARM+LINUX,ARM+Vxwork。
嵌入式操作系统主要有:Vxworks操作系统,嵌入式Linux操作系统,嵌入式Windows CE操作系统。WinCE的实时性稍差,其它两种嵌入式操作系统的实时性都较强。从事嵌入式开发的人才至少要掌握一到两个嵌入式操作系统的使用。下面对三个系统进行简要介绍。
1)Vxworks操作系统,Vxworks出现较早,具有实时性很强,响应时间短、并且内核占用空间很小,可靠性较高等特点。但Vxworks价格很高,一些小公司或小产品中往往用不起。
2)嵌入式Linux操作系统,Linux可谓近年来发展最迅速的操作系统,Linux不仅在服务器方面占有的份额逐渐增长,而且在嵌入式操作系统方面的应用也独占鳌头(特别是Android操作系统)。Linux是自由软件,它免费、开源、应用丰富、用户较多,应用在嵌入式产品中会显著降低成本。缺点是其不是微内核的,实时性不强,另外熟悉Linux的人太少,开发难度稍大。
3)嵌入式Windows CE操作系统,嵌入式是目前最具“钱景”的应用,微软公司当然不会放弃这块蛋糕,虽然WinCE问世只有短短几年时间,但已经快速占据了界面要求高或者开发速度快的应用场合,如PDA、手机、显示仪表等。WinCE目前主要开发平台主要为WinCE Platform Builder,是典型的VC++环境,学过Windows程序设计课程的同学接受起来都不会有多大难度,开发环境方便快速,有微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。
4.3嵌入式开发的其它相关软件课程
搞嵌入式若能熟悉嵌入式应用的一些主要领域,这样的人更受企业欢迎。主要的相关领域包括:
1)数字图像:主要是应掌握MPEG编解码算法和技术,在如高清电视、数字机顶盒、MP5,蓝光DVD等方面有较为丰富的应用。
2)通信协议及编程技术:目前多数嵌入式应用都要用到互联网特别是无线上网,这要求开发者掌握TCP/IP协议和无线通信(802.11、Bluetooth、GPRS等)协议。
3)网络与信息安全技术:如加密技术,数字证书CA等。
4)数字信号处理技术:数字信号处理(Digital Signal Process,DSP)即DSP处理器通过硬件实现数字信号的高速数据采集、压缩、解压缩、通信等处理算法。
4.4嵌入式开发的相关硬件基础
对于软件工程专业的学生,从事嵌入式软件开发,像数字逻辑、ARM处理器原理与应用、计算机组成原理等硬件课程是必须的。另外,汇编语言、C/C++、数据结构和算法、特别是操作系统等软件基础课也是十分重要的。
5我校开展嵌入式人才培养(软件方向)的可行性分析
我校的现状可以选择ARM+WinCE,ARM+LINUX。根据以上的分析,我们可以得出以下结论,即系统的嵌入式人才培养(软件方向)必须开设以下课程:数字逻辑、计算机组成原理、ARM处理器原理与应用、C/C++语言、数据结构、Linux操作系统、Linux软件开发、Windows操作系统、Windows软件开发、嵌入式程序开发、基于ARM的应用开发等专业课程。有的老师可能一看到这样的课程设置就皱眉头了,诸如这也太难了吧,我们的学生素质如何能学得了这样的课程等等言论就来了。但事实上以上课程除了嵌入式微处理器结构、Linux软件开发、Windows软件开发这三门课我校软件专业没有开设过,其它的课程我校全部都曾经开设过。而Linux软件开发或者Windows软件开发这两门课,比起我们曾经开设过的VB、Delphi、C#甚至Oracle难度又高的了多少呢,在掌握了C/C++语言的基础上甚至难度还要小一些。另外我校在进行3+2模式招生之后,软件专业的生源素质明显提高,完全可以克服这个问题。
另外嵌入式人才的特殊性也决定了我们可以进行嵌入式人才培养(软件方向),因为嵌入式技术一旦入了门之后,每个人应该根据自己的兴趣爱好选择方向(如网络、图像处理、操作系统、嵌入式软件开发等),此后工作范围以及专业技术范围也较为固定,时间长了这些东西会越来越有经验,做嵌入式系统的公司,都有自己的产品计划,有自己的产品生命周期,产品更新有自己固定的节奏。他们开发的产品通常具有通用性,很少会因客户的不同而修改。而不像传统的软件开发人员,开发平台更新了,你要学新技术,用户的需求变了,你要重新开发系统,疲于奔命,重复劳动。这个行业的从业人员一旦入门以后,只会越来越有经验,越来越被人重视,而不会像传统软件开发人员职业生涯短、更新快。我校的嵌入式人才培养就可以定位为“领进门”。
6我校的师资现状及对策
我校目前就上述数字电路、计算机组成原理、C/C++语言、数据结构、Linux操作系统、Windows操作系统等课程可以胜任的师资很多,很多教师以前上过这些课程。比如尹桂萍老师、金惠萍老师、刘建老师、陈韦华老师都分别上过以上课程。至于ARM处理器原理与应用、嵌入式程序开发、基于ARM的应用开发等课程,我校电子科组的谭乃抗老师、周淑彦老师他们都讲授过单片机、PLC等相关课程,相信完全可以胜任嵌入式微处理器结构这样有关的课程。而嵌入式程序开发、基于ARM的应用程序开发两门课程则需要师资的培训和进修。即以我校目前的师资是完全可以胜任嵌入式人才培养(软件方向)的课程教学。但关键的问题是以上教师都没有相关的嵌入式开发经验,这个在嵌入式人才培养和实训中很重要。
那么如何解决这个问题呢,就目前来看可以有三种途径可以解决,第一、参加培训,比如“中嵌教育”,这是一家专门从事嵌入式人才培养的机构。我们可以将教师派出去培训,系统的学习嵌入式开发相关课程。第二、到从事嵌入式开发的企业顶岗实习,这样的企业比较多,比如华为、中兴、诺基亚等大型企业,从事嵌入式软件开发的小型企业在珠三角就更多了,只是这个目前有点不现实,因为各个嵌入式开发公司他们的产品、技术都涉及到知识产权或者行业机密,不会接受我们完全没有相关经验的老师去顶岗实习,但事如果我们的老师经过嵌入式开发的培训,然后再从事相关课程教学一段时间,挑上一些优秀的学生一起去实习是比较有可能的,因为毕竟现在嵌入式人才还是相当紧缺的。第三、引进高水平的嵌入式人才,当然这要求学校的领导解放思想、开拓思路,因为高水平的嵌入式人才在企业可以有几十万的年收入,如何留住这样的人才让他们服务于教学,这是关键。
7实验室建设
这是一个专业设置或者人才培养必须要解决的问题,在嵌入式系统的课时分配中,建议基础理论课程占总课时的1/3,验证性实验课占总课时的1/3,综合应用实训课占总课时的1/3。可以看出实验室对嵌入式人才培养的重要性,我校可以充分利用现有实验室资源来满足学生的实验实训课程需求。比如数字电路、计算机组成原理、C/C++语言、数据结构、Linux操作系统、Windows操作系统等课程现在的实验室无需添加任何设备即可完成教学实践任务。而嵌入式微处理器原理性实验、以及嵌入式程序开发和基于ARM的应用程序开发,则必须建设新的实验室,购买新的ARM7或者ARM9微处理器芯片,以满足实验要求。至于UCLinux操作系统教学和ARM集成开发工具ADS则可以仿照现在操作系统类课程在虚拟机VMware下进行。
8结束语
嵌入式技术已经成为计算机技术的一个非常重要分支。社会对嵌入式人才的需求非常旺盛,面对巨大的就业竞争,如何从容面对社会,让学生掌握一项受益终身的技术,成为一名高端、紧缺的人才是我们的责任。职业学校应发挥面向社会、服务社会的作用,向社会提供合格的初级嵌入式人才应当成为我们的使命。以上是本人结合学校的软件专业现状和社会上对嵌入式人才的需求,探讨了在我校进行嵌入式人才培养的可能性,以及培养人才的定位,初步探讨了课程设置和实验室建设,一些想法还不够成熟,希望这些能对我校的软件专业发展起一些推动作用,为嵌入式人才培养做一点应有的贡献。
参考文献:
[1]李平勇,游磊,苏长明.嵌入式系统教学体系建设研究[J].教育与教学研究,2011(5):95-98.
[2]丁辉,姚庆文.高职开设嵌入式应用技术专业的思考[J].常州轻工职业技术学院学报,2009(4):6-10.
[3]梁盛.浅谈高校嵌入式实验室的管理[J].科技信息,2011(11):197.
[4]欧阳禹,季嘉.高职院校嵌入式系统教学实践[J].正德学院学报,2006(6):37-39.