软件技术专业嵌入式软件开发工程师方向.docx
- 文档编号:5785025
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:37
- 大小:27.10KB
软件技术专业嵌入式软件开发工程师方向.docx
《软件技术专业嵌入式软件开发工程师方向.docx》由会员分享,可在线阅读,更多相关《软件技术专业嵌入式软件开发工程师方向.docx(37页珍藏版)》请在冰豆网上搜索。
软件技术专业嵌入式软件开发工程师方向
软件技术专业(嵌入式软件开发工程师方向)
人才培养方案
专业代码590108
一、招生对象与学制
招生对象:
高中毕业生及中职毕业生。
学制:
全日制三年。
二、培养目标
本专业主要服务于通信、电子、工控、安防等产品设计和生产行业,培养拥护党的基本路线,德、智、体、美等全面发展,掌握本专业的基本知识,能熟练使用国际上最新的嵌入式软件开发环境与工具,熟悉嵌入式软件开发规范,具备较强的嵌入式软件开发实践能力和良好的软件工程素养,能顺利地进入相关应用领域,从事嵌入式软件开发、测试及软件技术服务与销售等工作,并具有一定管理能力和较强创新能力的高素质技能型专门人才。
三、职业岗位群及人才培养规格
1.职业岗位群
根据对人才市场和企业的调查研究,本专业的主要职业岗位、各岗位主要工作任务及相应的职业资格证书见表1。
表1职业岗位及主要工作任务
序号
职业岗位
主要工作任务
职业资格证书
1
基于嵌入式操作系统的应用程序开发工程师
负责嵌入式应用程序的设计及开发平台、环境搭建;
负责程序的编写;
负责上层应用程序的集成、单元测试;
负责软件开发文档、用户手册的编写;
负责上层应用程序的交付、部署;
负责程序的维护、升级、更新
嵌入式软件工程师(助理)证书
2
基于单片机应用软件开发工程师
负责基于单片机应用程序的设计及开发平台、环境搭建;
负责程序的编写;
负责基于单片机应用程序的集成、测试;
负责基于单片机软件开发文档、用户手册的编写
3
嵌入式软件测试工程师
根据产品需求和设计文档,制定测试计划,并分析测试需求,设计测试流程;
负责产品的测试方案制定、测试用例设计、测试报告撰写以及测试结果的分析;
负责搭建项目测试环境、更新应用程序,部署测试系统;
在测试各环节与开发、产品等部门沟通保证测试验证和确认,对于难以重现的缺陷,需要完成可能性原因分析与验证;
按照测试流程和计划,执行具体的测试任务;
跟踪并验证Bug,并确认问题得以解决
4
产品销售工程师
拟订市场开发计划,分析客户需求、保持与客户的良好关系,寻求机会发展新的业务;
积极参与各种销售技巧与产品知识的培训;
不断拜访客户,推广新产品,管理、参与和跟进项目,针对客户的特定需求独立或在产品经理的协助下提出相应解决方案;
建立并维护客户数据库中的相关记录,跟踪分析相关信息,同客户所在各部门建立并保持良好的工作关系;
为公司提供精确的市场信息,关注未来趋势
5
技术支持工程师
为客户提供快速专业的售前(协助销售工程师)、售后技术服务;
负责产品的验收、产品的培训;
编写并整合产品技术手册,以提供及时且完整的技术资料;
解答使用者提出的各种技术问题;
提供新的产品开发建议;
协助销售与产品部门,及时搜集并反馈市场/产品信息;
协助相关部门完成关于技术专业部分的工作(i.e.产品简报、DEMO演示、培训等)
2.人才培养规格
(1)专业能力
——具有嵌入式软件的设计开发能力;
——具有嵌入式系统硬件与软件的整合测试能力;
——具有争取项目和进行咨询的能力;
——具有编制调查和分析报告、软件项目文档的能力;
——具有阅读和翻译本专业一般英语科技资料并用英语进行简单交流的能力。
(2)方法能力
职业生涯规划能力、独立学习能力、获取新知识能力、决策能力。
(3)社会能力
人际交流能力、公共关系处理能力、劳动组织能力、集体意识和社会责任心。
四、毕业标准
1.修满培养方案规定的全部课程且成绩合格,德体符合毕业要求;
2.获得全国计算机等级考试一级证书;
3.获得全国高等学校英语应用能力考试A级证书;
4.获得嵌入式软件工程师证书;
5.获得普通话水平测试三级甲等证书。
五、课程体系开发设计
本课程体系基于职业活动而构建。
1.工作任务与职业能力分析见表2。
表2工作任务与职业能力分析表
典型工作任务
职业能力
T1:
基于嵌入式操作系统的上层应用软件项目分析
与设计
A1-1:
能与用户交流了解用户需求;
A1-2:
能阅读项目硬件平台相关设计资料;
A1-3:
能选择项目的开发平台、操作系统、工具、语言;
A1-4:
能对项目进行概要、详细设计;
A1-5:
能选择项目数据存储方式;
A1-6:
能编写项目分析、设计文档;
A1-7:
理解嵌入式软件设计方法;
A1-8:
具有成本意识、质量意识
T2:
搭建嵌入式开
发环境
A2-1:
能进行ARM平台的调试、开发环境的安装、配置;
A2-2:
能进行CodeWarrioIDE基本配置、ARMulator的配置;
A2-3:
能独立安装Linux操作系统、配置Linux的常见系统服务、搭建基本嵌入式Linux开发环境;
A2-4:
能对嵌入式Linux开发的常用工具进行安装及配置;
A2-5:
能进行模拟器、嵌入式系统、交叉编译器的安装、配置;
A2-6:
能进行嵌入式Linux操作系统及WinCE操作系统的定制、裁剪
T3:
基于嵌入式操作系统的上层应用软件程序实现
A3-1:
能使用C、C++或Java进行程序设计;
A3-2:
能使用Linux操作系统及搭建和使用Linux开发环境;
A3-3:
能在Linux交叉编译环境中进行各种程序编译、运行;
A3-4:
能进行嵌入式Linux的I/O、文件系统、多进程、网络、基于中断、图形界面、设备驱动程序等应用开发;
A3-5:
掌握ARM体系结构;
A3-6:
能使用CodeWarrioIDE工具、ARMulator调试器;
A3-7:
能进行ARM汇编语言程序设计;
A3-8:
能进行ARM程序和Thumb程序混合使用;
A3-9:
能进行ARM汇编语言与C/C++语言混合编程;
A3-10:
能进行ARM异常中断处理、ARM接口编程;
A3-11:
能进行应用程序单元测试;
A3-12:
具有代码规范能力;
A3-13:
具有质量意识、可维护意识
T4:
嵌入式软件测试
A4-1:
掌握嵌入式软件测试方法;
A4-2:
掌握C、汇编(ARM7或51)等开发语言;
A4-3:
能使用常用的软件测试工具如LOGISCOPE等;
A4-4:
理解嵌入式系统的组成、开发过程、测试;
A4-5:
理解嵌入式软件统一测试模型;
A4-6:
能进行嵌入式软件目标机环境测试和宿主机环境测试;
A4-7:
能进行系统平台测试、单元模块测试、集成测试、系统测试、确认测试;
A4-8:
能制定测试计划,并分析测试需求,设计测试流程;
A4-9:
能制定测试方案、测试用例设计、测试报告撰写以及测试结果的分析;
A4-10:
能搭建项目测试环境、更新应用程序,部署测试系统;
A4-11:
能在测试各环节与开发、产品等部门沟通保证测试验证和确认,对于难以重现的缺陷,需要完成可能性原因分析与验证;
A4-12:
具有质量意识
T5:
嵌入式产品销售与技术支持
A5-1:
了解嵌入式体系结构、单片机等知识;
A5-2:
了解C、汇编(ARM7或51)等开发语言;
A5-3:
掌握一定Linux、WinCE、uC/OS等嵌式入式操作系统相关知识;
A5-4:
熟悉嵌入式涉及的应用行业;
A5-5:
了解嵌入式系统软硬开发过程;
A5-6:
能使用嵌入式开发环境;
A5-7:
能熟练演示产品;
A5-8:
能为客户提供快速专业的售前(协助销售工程师)、售后技术服务;
A5-9:
能进行产品的验收、产品的培训;
A5-10:
能编写并整合产品技术手册,以提供及时且完整的技术资料
T6:
基于单片机的小型应用系统的软件设计
A6-1:
能根据需求设计程序程序流程图;
A6-2:
能识读单片机相关程序代码;
A6-3:
能运用Keil_C51集成开发环境,编写、编译、调试源程序;
A6-4:
能使用仿真机及其他电子开发用仪器仪表、工具,对单片机系统进行仿真设计;
A6-5:
能进行滤波算法等经典算法编程;
A6-6:
能估算、调整运算性能;
A6-7:
能编制整理设计文档;
A6-8:
具有成本意识
2.专业主干课程设置见表3。
表3专业主干课程设置表
专业主
干课程
主要工作任务
职业
能力
主要教学知识点、技能点、职业素养
参考
课时
TC1:
程序设计基础
T3
T4
T5
T6
A3-1
A3-3
A3-4
A4-2
A5-2
A6-3
K1-1:
程序、程序设计语言的概念;
K1-2:
C语言的起源与特点、书写格式、开发过程、上机环境;
K1-3:
算法的概念和特征、算法的表示;
K1-4:
流程图的使用;
K1-5:
C语言的数据类型;
K1-6:
常量的基本类型及表达方式、变量的命名、定义和初始化;
K1-8:
C语言常用的输入/输出方式;
K1-9:
if语句及switch语句、选择型语句的嵌套;
K1-10:
for、while及do-while循环、循环嵌套;
K1-11:
了解函数的概念和作用、函数的定义和声明;
K1-12:
函数的参数和函数的返回值;
K1-13:
函数的调用、嵌套调用、递归调用;
K1-14:
变量的作用域、变量的存储类别;
K1-15:
一维数组、二维数组、字符数组的定义、初始化及应用;
K1-16:
常用字符串处理函数;
K1-17:
指针的概念、定义和使用;
K1-18:
指向数组的指针、指针数组;
K1-19:
函数指针、指针函数、指针作为函数参数;
K1-20:
结构体概念、类型说明、变量定义、成员引用;
K1-21:
结构体数组的定义、初始化、引用;
K1-22:
指向结构体变量的指针;
K1-23:
链表及对链表的操作;
K1-24:
共用体概念、类型说明、变量定义、成员引用;
K1-25:
枚举类型的定义和枚举变量的引用;
K1-26:
C语言中文件使用的相关概念;
K1-27:
对文件的简单读/写及定位及常用标准库函数
102
TC2:
高级程序设计技术
T3
T4
T5
T6
A3-1
A3-3
A3-4
A4-2
A5-2
A6-3
K2-1:
了解C++的起源与特点、C++与C的关系;
K2-2:
熟悉C++面向对象的特性;
K2-3:
C++的字符集、数据类型、常量和变量;
K2-4:
C++的常用运算符和表达式、数据类型转换的一般形式;
K2-5:
C++选择结构、循环结构、转移语句的程序实现;
K2-6:
Linux程序设计基础知识;
K2-7:
Linux下C++语言编程环境概述、编码风格;
K2-8:
类的概念、成员定义和使用;
K2-9:
了解类和结构的区别;
K2-10:
对象的说明、对象的生存期、类作用域;
K2-11:
构造函数与析构函数的概念、定义;
K2-12:
带参数的构造函数;
K2-13:
友元函数的说明、使用、友元类的定义方法;
K2-14:
静态数据成员及静态成员函数的定义和使用;
K2-15:
掌握this指针的应用;
K2-16:
派生类的概念、定义、继承方式;
K2-17:
单继承及多继承的定义与使用;
K2-18:
虚基类的定义与表示方法;
K2-19:
函数重载、构造函数重载;
K2-20:
了解静态联编与动态联编的定义;
K2-21:
动态联编、虚函数、纯虚函数、抽象类的定义和使用;
K2-22:
C++预定义流、C++中的流类库;
K2-23:
文件流、字符串流的定义与使用;
K2-24:
ios类中的枚举常量、成员函数使用及I/O操作符的使用;
K2-25:
了解线性表的定义、基本操作;
K2-26:
顺序表、单链表、双向链表的存储表示、基本运算及应用;
K2-27:
查找的概念、顺序查找、有序表的折半查找算法、分块查找及其实现;
K2-28:
哈希表与哈希方法、常用的哈希函数;
K2-29:
排序的概念、直接插入排序、折半插入排序、冒泡排序、、快速排序、简单选择排序的算法及其实现
90
TC3:
单片机原理与应用
T4
T6
A6-1~
A6-8
K3-1:
单片机内部结构、最小系统硬件电路、工作原理;
K3-2:
单片机开发工具及软件使用;
K3-3:
单片机C语言程序设计;
K3-4:
软件仿真程序调试方法、实验板制作调试;
K3-5:
按键、独立按键处理软件编程方法;
K3-6:
中断原理及应用;
K3-7:
定时计数器原理及应用;
K3-8:
数码管显示电路;
K3-9:
单片机串口通信原理及接口电路;
K3-10:
单、多机通信软件设计;
K3-11:
通信及串口通信;
K3-12:
小数运算算法;
K3-13:
数据出错处理;
K3-14:
矩阵键盘原理及扫描软件编写;
K3-15:
总线、标准总线式器件连接及应用;
K3-16:
点阵式LCD硬件连接及软件编写;
K3-17:
大数据量的存储及查找算法;
K3-18:
项目管理及开发流程;
K3-19:
I/O口的扩展;
K3-20:
质量、成本、环保意识
108
TC4:
ARM结构及程序开发入门
T1
T2
T3
T4
T5
A1-2~
A1-5
A2-1
A2-2
A3-5~
A3-13
A4-2
A4-10
A5-2
A5-6
A5-7
K4-1:
ARM产生的背景;
K4-2:
了解ARM体系结及ARM处理器;
K4-3:
ARM寄存器、异常中断、存储系统、接口技术;
K4-4:
ARM指令的分类、格式、条件码、编码;
K4-5:
掌握ARM指令寻址方式、ARM指令集;
K4-6:
熟悉Thumb指令;
K4-7:
ARM汇编语言语句格式、伪操作、伪指令、符号、表达式;
K4-8:
ARM汇编语言程序结构、子程序调用;
K4-9:
ARM存储系统及与存储系统相关的程序设计;
K4-10:
ARM中异常中断处理;
K4-11:
进入和退出异常中断的过程;
K4-12:
在应用程序中安装异常中断处理程序;
K4-13:
SWI、FIQ、IRQ、复位、指令预取中止、数据访问中止等异常中断处理程序;
K4-14:
嵌入式C\C++语言程序设计基本语法;
K4-15:
内嵌汇编器的使用;
K4-16:
C\C++以及汇编语言的混合编程;
K4-17:
基于EmbestIDEforARM环境的软件开发;
K4-18:
在汇编语言程序中通过用户代码支持interwork;
K4-19:
在C/C++程序中实现interwork;
K4-20:
在汇编语言程序中通过连接器支持interwork;
K4-21:
ARMC/C++编译器;
K4-22:
ARM编译器命令行格式、型pragmas、特定的关键词、支持的基本数据类、预定义宏、C/C++库;
K4-23:
了解ARM映像文件;
K4-24:
ARM连接器、生成的符号、优化功能、命令行选项;
K4-25:
从一个映像文件中使用另一映像文件中的符号;
K4-26:
隐藏或者重命名全局符号;
K4-27:
使用scatter文件定义映像文件的地址映射;
K4-28:
熟悉键盘、显示接口、串口、总线接口;
K4-29:
掌握D/A、A/D转换、RTC实时时钟;
K4-30:
了解ARM体系中调试系统;
K4-31:
基于Angel调试系统及基于JTAG调试系统;
K4-32:
ADW的使用
90
TC5:
嵌入式Linux与应用开发
T1
T2
T3
T4
T5
A1-3
A2-3~
A2-6
A3-2~
A3-4
A4-2
A4-7
A5-2
A5-3
K5-1:
Linux简介;
K5-2:
Linux的安装、常用命令、常用服务;
K5-3:
Linux下C语言程序设计的基本原理和方法;
K5-4:
Vi和Emacs编辑器的的使用;
K5-5:
GCC的编译流程、编译选项、调试命令与方法;
K5-6:
Makefile的基本结构、规则、管理工具;
K5-7:
嵌入式硬件开发平台Super-ARM开发平台介绍;
K5-8:
嵌入式软件开发流程、交叉编译、交叉调试;
K5-9:
嵌入式开发环境与桌面开发环境的差别、嵌入式开发环境的一般构建原理;
K5-10:
嵌入式Linux交叉编译环境的建立方法;
K5-11:
建立宿主机到开发板的基本通信通道;
K5-12:
下载映像到开发板;
K5-13:
编译嵌入式Linux内核;
K5-14:
Linux中I/O编程概述;
K5-15:
Linux中的文件和文件描述符、文件I/O操作;
K5-16:
嵌入式Linux串口应用开发;
K5-17:
Linux中进程、基本进程操作、多进程编程、守护进程、进程间通信的基本原理;
K5-18:
管道通信、信号通信、共享内存、消息队列的编程方法;
K5-19:
基本网络原理及网络编程、Socket编程方法;
K5-20:
了解主流嵌入式GUI环境;
K5-21:
Qt/Embedded开发环境的建立方法、编程方法;
K5-22:
Linux中设备驱动程序、字符驱动程序、块设备驱动程序概述;
K5-23:
嵌入式WEB服务器;
K5-24:
Bootloader简介、移植U-Boot
90
3.专业主干课程教学单元见表4。
表4专业主干课程教学单元总表
专业课程
学习单元
单元1
单元2
单元3
单元4
单元5
单元6
单元7
程序设计基础
程序设计初步
数据类型、运算符与表达式
C语言程序的流程控制
函数
数组
指针
文件操作
高级程序设计技术
C++语言概述
类和数据抽象
派生和继承
多态性与虚函数
C++流
线性表
查找与排序
单片机原理与应用
PIC单片机及其体系统结构
PIC单片机指令系统
基于单片机C语言程序设计
定时器/计数器
串行接口及中断系统
存储器
常见接口技术
ARM结构及程序开发入门
ARM体系结构及指令系统
ARM存储系统
异常中断处理
嵌入式C\C++语言程序设计基础及混合编程
ARMC/C++编译
ARM连接器
ARM接口技术
嵌入式Linux与应用开发
Linux基础
Linux程序设计基础
嵌入式Linux开发环境构建
嵌入式硬件开发平台及软件开发流程
嵌入式应用开发
嵌入式Linux工程实例
嵌入式硬件开发平台及软件开发流程
六、教学计划进程与时间安排见表5-表8
表5教学总周数分配表
学年
学期
周数
周数分配
军训、入
学教育
课堂
教学
社会
实践
课程
设计
技能
实训
顶岗
实习
毕业设计
与论文
复习
考试
第一
学年
一
20
2
17
1
二
19
18
1
第二
学年
三
19
18
1
四
19
18
1
第三
学年
五
19
19
六
21
18
3
合计
117
2
71
19
18
3
4
表6教学计划进程表
课程
类型
课程
序号
课程名称
课时
各学期周课时安排
考核方式
合计
讲授
实践
一
二
三
四
五
六
考试
考查
公
共
课
1
实用英语
102
52
50
6
√
2
计算机数学
68
68
4
√
3
实用语文
34
34
2
√
4
体育
(1)
34
34
2
√
5
体育
(2)
36
36
2
√
6
思政课(基础)
36
36
2
√
7
思政课(概论)
72
72
4
√
8
大学英语
(1)
108
54
54
6
√
9
大学英语
(2)
72
72
4
√
10
专业英语
72
72
4
√
11
大学日语
(1)
36
36
2
对日外包专修
√
12
大学日语
(2)
36
36
2
√
13
专业日语
36
36
2
√
14
形势与政策
16
16
2H
2H
2H
2H
√
15
大学生心理健康
20
20
4H
10H
√
16
就业指导
30
30
4H
6H
√
合计
808
634
174
14
12
10
6
职
业
基
础
课
17
计算机应用基础
34
10
24
2
√
18
信息检索、沟通与演讲
24
24
8H
8H
8H
√
合计
58
10
48
2
职业
技
术
课
19
程序设计基础※
102
50
52
6
√
20
计算机电路基础
68
34
34
4
√
21
嵌入式系统入门
36
18
18
2
√
22
计算机硬件技术基础及实验
90
45
45
6X15
√
23
高级程序设计技术※
90
45
45
6X15
√
24
软件开发过程
36
18
18
2
√
25
项目实践
(1)
36
4
32
12X3
√
26
嵌入式Java程序设计
108
54
54
6
√
27
单片机原理与应用※
108
54
54
10
串进
√
28
项目实践
(2)
72
4
68
√
29
ARM结构与程序开发入门※
90
45
45
6X15
√
30
嵌入式Linux与应用开发※
90
45
45
6X15
√
31
嵌入式软件测试
60
30
30
4X15
√
32
项目实践(3)
48
4
44
16X3
√
33
综合实训
494
72
422
19W
√
34
顶岗实习
468
468
18W
√
35
毕业设计
78
78
3W
√
合计
2074
522
1552
10
16
16
16
专业选修课
36
软件企业管理与文化
36
18
18
2
√
37
软件工程
合计
36
18
18
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 专业 嵌入式 软件 开发 工程师 方向