兆名文秘网为您提供优质参考范文! 对照材料 扫黑除恶 党课下载 不忘初心 治国理政 工作汇报
当前位置:首页 > 专题范文 > 公文范文 >

嵌入式软件工程人才培养体系探索

时间:2022-10-28 11:06:02 来源:网友投稿

搞要:本文介绍了当前嵌入式软件人才的培养现状及存在的问题,提出了市场需要的嵌入式工程人才的需求及能力素质模型,在此基础上,介绍了北京航空航天大学软件学院嵌入式软件专业的课程体系及实验与实践环节建设,最后提出还需加强的方向。

关键词:嵌入式软件;能力素质模型;软件工程人才;课程体系;实践体系

中图分类号:G642文献标识码:B

文章编号:1672-5913(2007)08-0055-04

1 引言

嵌入式系统融合了微电子、计算机硬件、通信和电子工程等多种技术,而嵌入式软件是实现嵌入式系统功能的关键,是数字化产品设计创新和增值的关键因素。行业发展最重要的是人才,但是我国现有的嵌入式系统开发人员知识体系不完整,这将影响我国嵌入式软件开发规模及嵌入式软件产业化发展,同时也为人才培养提出了新的问题和需求。

目前嵌入式软件人才培养存在以下问题:

(1) 由于嵌入式系统的开发需要工程师有一定的应用域背景,许多嵌入式系统开发的工程师在学校学习的是自动控制、电子工程、通信、机械、车辆、导航等专业,缺少系统的软件工程的知识,导致项目的设计质量不高,尤其没有能力设计复杂系统;项目管理、集成能力较弱,导致无法在提高技术含量的同时形成规模化产业化开发。

(2) 在各个高校的计算机、自动控制、电子工程、通信、机械、车辆、导航等各学科领域,都有许多人从事嵌入式系统的课题研究与项目开发,但是课题研究与项目开发不代表系统化的教学,也不能弥补没有系统化教学的缺陷,使得从事课题研究与项目开发训练出来的研究生仍然不具备关于嵌入式软件设计与开发的完整知识体系。

(3) 用计算机科学或现有的软件工程专业,或是其他专业的培养模式培养嵌入式软件工程人才不合适。但目前还没有一套成熟的嵌入式软件工程人才培养体系,这是因为以前嵌入式系统的研究都是嵌在各个学科领域,研究成果非常分散、不系统,而且与应用域结合非常紧密。而现有软件工程的研究成果以及教材等的主体是针对非嵌入式系统的软件开发的。嵌入式软件开发与基于工作站、PC机应用的软件开发有很大差异,如设计方法上,嵌入式软件设计要考虑软硬件协同设计,资源管理及可靠性设计变得非常重要而且考虑的角度也很不一样。在工程化管理方面,嵌入式软件工程管理也是软件工程管理的一种特例,如配置管理需要考虑软硬件配置的一致性,测试要考虑软硬件协同测试,集成要考虑软硬件协同集成,等等。

(4) 现有高等教育重理论与技术的培养,缺少实践训练,尤其是缺少工程化、产业化的实践训练。而嵌入式软件工程人才的培养,如果没有实践训练,学生几乎对理论与技术都很难理解,更难有能力动手开发。

(5) 现有教育体制非常缺乏职业素质的培养。传统的高等教育注重学生的专业知识培养,但随着市场经济的发展,我国各行业的企业在规模、管理、竞争等各个方面的发展需求,期望学校在培养学生专业知识与技能的同时,关注对学生的职业素质的培养。

由于市场对嵌入式系统开发人才的大量需求,自2006年以来,许多学校设置嵌入式专业,除了软件工程硕士设置嵌入式专业,本科和大专也在设置嵌入式专业,但都在探索阶段,主要存在以下问题:

(1) 课程体系不健全。如果课程设置只是将现有不同专业的相关课程拼凑在一起,那么是不可能成为体系的。

(2) 没有教材。教材是支撑课程体系的基础,作为一个专业必须有系统的教材,这些教材应将分散在各个学科的一些研究成果、理论与技术进行梳理整合。

(3) 没有结合工程化、产业化的实践体系。设置该专业是由于市场对这类人才的需求驱动的,那么就应该考虑市场需求的内涵,而不是重复已往以授课为主的教育模式。

由于上述问题,目前的嵌入式专业设置距高等教育的真正系统化培养还有很大距离,而且,若不解决上述问题,该专业也将会变成一种伪培训教育,最终可能又会退化嵌入到其他各个专业中。

2 嵌入式软件工程人才需求

图1从应用域、所需专业技术与技能以及职业素质三个方面描述了目前市场对嵌入式软件人才的需求。由于嵌入式系统是面向应用的专用系统,嵌入式系统开发要求开发人员有应用域背景。我们在软件工程硕士培养中开设嵌入式软件专业,选择本科阶段学习电子工程、通信、自动控制、仪器仪表和机电一体化等专业的学生,这样可以避免学生缺乏领域知识。

随着嵌入式系统开发中软件所占比例越来越大,以及嵌入式软件的规模越来越大,对嵌入式人才的需求也逐渐出现明显的层次化。嵌入式软件人才需求层次如图2所示。嵌入式系统的软件分析设计人员需要具备应用域的背景知识,还需要硬件知识,当然软件的分析设计技能也是不可少的。整个软件业都缺乏合格的、优秀的分析设计人员,嵌入式系统领域也不例外。在整个人才需求的金字塔中,分析设计人员处于塔尖,对人才的要求非常高,但在产业成熟的状况下,需求量不会很大。目前对分析设计人员的大量需求是相对的,即相对于这类人才的极度缺乏。板级支持包(BSP)开发,即通常所说的系统底层开发对人员的要求也很高,要求开发人员熟悉硬件、接口及软件开发,往往还需要开发人员有较深的应用域背景知识。在整个人才金字塔中,对底层开发人员的需求不大,许多企业只需一个很小的底层开发团队就可以支持多个项目的需要。应用核心业务开发人员是核心业务的开发者,要求开发人员对应用域及系统的核心业务逻辑有深入的理解和相关经验。系统的核心功能与性能都体现在这一部分,由于不同的系统的核心业务逻辑不同,对这类开发人员的需求较大。在人才需求金字塔中,需求最大的是应用及应用管理开发人员,这类开发主要是实现与用户交互的应用层及对应用的前后台管理,某些情况下,所使用的开发技术和通用计算机软件开发技术相似或完全一致。我们的培养体系重点在培养人才金字塔中上面三层的人才。

3 嵌入式软件工程人才能力素质模型

我们抽取出嵌入式软件工程人才能力素质模型,该模型包括职业素质、知识结构和工程能力三层,如图3所示。

职业素质:传统的高等教育注重的是专业知识的传授,培养的是专业人才,而现代企业需要的是职业化的专业人才。企业选拔人才、考核人才主要是从德、能、勤、绩四个方面考核,德排在首位。因此,职业素质的培训应是培养嵌入式软件工程人才的基础,主要培训学生的职业道德、团队合作精神以及沟通能力,并为学生介绍如何规划自己的个人职业生涯。

知识结构:嵌入式系统融合了微电子、计算机硬件、通信和电子工程等多种技术,嵌入式软件的开发也是一个基于多种技术、工具和应用域专业知识的软件工程,嵌入式软件的开发同样要经历软件工程的需求分析、系统设计、编码、测试、维护等各个过程,因此嵌入式软件专业人才的培养不同于传统的计算机软件人才的培养,除了系统学习嵌入式软件工程的开发方法、项目管理等知识,硬件知识、应用域专业知识、嵌入式系统的开发技术与工具也都需要了解,但又不可能在有限的时间内对各个领域的知识进行全面深入的学习。于是,对硬件、应用域专业基础、开发技术与工具的知识点、范围与深度的选择变得非常重要。

工程能力:对于嵌入式软件工程人才而言,工程能力是非常重要的。因为他们要去创建一个实际的系统,在这个过程中,他们要不断学习新的开发平台与工具,需要有软件、硬件的集成能力,也需要过程控制、项目管理的能力。

4 嵌入式软件工程硕士培养体系层次结构

企业对从业人员的职业素质要求是一致的、基本稳定的;基础知识与方法,不论是软件分析设计方法、嵌入式操作系统等嵌入式软件方面的基础知识与方法,还是控制理论、通信技术等应用域的基础知识与方法,虽然都在发展,但也是相对稳定的。而工程方法与技术,不论是系统工程、软件工程的方法也是相对稳定的。但技术的发展是飞速的,编程语言、操作系统等,尤其是开发工具和芯片发展很快,而新的应用也是层出不穷,所以软件工程技术、硬件技术、应用域知识放在调整层。但是,这些技术与知识会随着时间沉淀到基础层,而基础层也会随着各个领域的发展而改进。因此,我们抽取出培养体系稳定的基础层和体现行业发展及专业技术发展的调整层,如图4所示。

我们确定嵌入式软件专业软件工程硕士课程体系设置如图5所示。课程体系设置主要分为以下五层:

公共基础课:是研究生必修的基础课程,如政治、英语、数学及科技协作与沟通技巧。

软件工程硕士公共专业基础课:软件工程是所有软件专业人才必须学习的基础课程,嵌入式软件工程人才也不例外。在这一层,将软件工程分为方法、过程、管理三个部分进行讲授,并有系列相关前沿技术讲座。

嵌入式软件专业方向专业基础课:通过专业方向基础课的学习,学生可以基本掌握嵌入式软件设计的方法与技术。“嵌入式系统概论”让学生了解(认识)嵌入式软件和硬件的一般开发环境与流程,并掌握一种实验开发工具;“嵌入式操作系统”使学生了解各种嵌入式操作系统的发展与现状,并重点掌握Linux操作系统及在嵌入式系统中的裁剪与选择;“嵌入式软件设计”将基于Linux操作系统,使学生掌握嵌入式软件设计的要点与方法、软件开发调试的工具与方法等;“DSP软件开发技术”使学生了解DSP的基本结构及工作原理,理解和掌握基本的数字信号处理算法的基础知识,掌握嵌入式DSP系统的软件设计开发实用技术。

嵌入式软件专业方向专业选修课:专业选修课使学生掌握全面的嵌入式软件开发的技术、工具、应用域基础知识。“工业数据通信与控制网络”使学生掌握工业总线与控制网络的基本概念、标准及应用等,而“嵌入式应用算法基础”使学生掌握在工业控制、通信、数据采集等应用域经常用到的滤波算法、优化算法等,这些算法与计算机专业所学的“算法分析设计”完全不同。

工程实践、企业实习:整个学习过程由实践贯穿始终,工程实践、企业实习一级一级由基础到专业、由简单到复杂、由个体到团队逐步强化训练。

5 强化实验与实践

培养嵌入式软件工程人才,工程实践能力非常重要,我们通过多级实践、专业的实验室、企业合作、有实践经验的教师等多方位的努力,使学生在毕业时成为一名合格的嵌入式软件工程师。

多级实践

(1)课程实验

每门课程都有大量的实验,通过实验与作业掌握所学内容。

(2)一级工程实践

通过强化训练,使学生掌握C、C++编程语言,并独立完成应用程序设计。

(3)二级工程实践

专门设计针对工业控制、通信、移动等应用领域的嵌入式软件的实践项目,以及项目要考核学生的知识点与能力标准,并在实践过程中模拟企业的管理体系,训练学生项目管理、团队合作、学习创新的能力。学生组成团队完成嵌入式系统应用软件的开发,实践项目可选择不同应用领域的项目。

为了让学生模拟企业环境的团队开发模式,我们为二级实践专门制定了一套开发规范,包括需求文档、概要设计文档、详细设计文档、项目计划等的文档规范,以及C和C++的编程规范,及质量保证章程。同时由同学组建一个质量保证小组,跟踪监控各个小组二级实践的过程质量。

(4)企业实习

学生将在企业进行一年的实习,参与企业实际项目的开发。

专业实验室

建立专门的嵌入式软件专业实验室,配备相应的软件、硬件环境,软件包括常用的VxWorks、μCOS、Linux等操作系统,以及Sybase、Sqlite等常用应用软件;硬件ARM仿真器+开发板以及试验用的其他模块,实验室能同时容纳90人进行实验。

企业合作

时代集团为北航软件学院嵌入式软件专业的建设投资,并设立专项奖学金,创建专用于本专业学生实践的嵌入式软件实验室。瑞典IAR也为本专业免费提供Jlink调试工具,奥吉通为本专业捐赠嵌入式测试实验室。时代集团、华为集团、Siemens、Nokia等业内知名企业为本专业学生提供工业界实习、就业机会,并提供指导教师、授课教师。

实践经验丰富的教师

嵌入式软件专业的授课教师、实验指导教师都是有丰富项目开发经验的教师,有北航各院系嵌入式实验室的教授,还有来自时代集团、索爱等企业的工业界人士。

6 结束语

虽然我们在嵌入式软件工程人才培养体系中关注学生的职业素质培养,尽可能对硬件、软件、技术平台、开发与调试工具以及相关应用域的基础知识进行系统化的教学,同时非常重视学生的实践能力、工程能力的训练。但是对于高等学位教育,真正要做到系统化教育,学科建设、学术研究是非常重要的,这需要从事本领域的研究与教学工作的人员共同长期努力。

参考文献:

[1] 李正军.现场总线及其应用技术[M],机械工业出版社,2005,1.

[2] (美) Anderew S. Tanebaum, Albert S. Woodhul.操作系统:设计与实现(第二版)[M].电子工业出版社,2000,1.

[3] Alessandro Rubini, Jonathan Corbet著,魏永明, 骆刚, 姜君译.Linux设备驱动程序(第二版)[M].中国电力出版社,2002,11.

[4] Abraham Silberschatz.操作系统概念[M].高等教育出版社,2004,1.

[5] Abraham Silberschatz.实用操作系统概念[M].高等教育出版社,2001,5.

[6] (美) Karim Yaghmour.构建嵌入式Linux系统[M],中国电力出版社,2004,12.

[7] (美) Jean J. Labrosse著,邵贝贝等译.嵌入式实时操作系统--μC/OS-Ⅱ,第2版[M].北京航空航天大学出版社,2003,5.

[8] 王田苗.实用嵌入式系统设计与开发—基于ARM微处理器与COS-II实时操作系统(第二版)[M].清华大学出版社,2003.9.

[9] 邵贝贝译.源代码公开的实时嵌入式操作系统——μCOS-II[M].北京航空航天大学出版社,2003.

[10] 程社明等.人生发展与职业生涯规划[M].团结出版社,2003,1.

[11] 许轶.剪裁人生[M].机械工业出版社,2004,10.

作者简介:

康一梅,女,1994年中科院自动化所博士毕业,曾在北京金益康、北京亚讯数码、北京首创前锋等公司任研发中心总经理、技术总监等职近8年。先后为中科院软件学院、北航软件学院讲授《软件项目管理》、《系统分析设计》等课程,现为北航软件学院嵌入式软件专业主任

推荐访问:软件工程 人才培养 嵌入式 探索 体系