曙海教育集团
全国报名免费热线:4008699035 微信:shuhaipeixun
或15921673576(微信同号) QQ:1299983702
首页 课程表 在线聊 报名 讲师 品牌 QQ聊 活动 就业
 
嵌入式软件架构设计培训
 
   班级规模及环境--热线:4008699035 手机:15921673576( 微信同号)
       坚持小班授课,为保证培训效果,增加互动环节,每期人数限3到5人。
   上课时间和地点
开课地址:【上海】同济大学(沪西)/新城金郡商务楼(11号线白银路站)【深圳分部】:电影大厦(地铁一号线大剧院站) 【武汉分部】:佳源大厦【成都分部】:领馆区1号【沈阳分部】:沈阳理工大学【郑州分部】:锦华大厦【石家庄分部】:瑞景大厦【北京分部】:北京中山 【南京分部】:金港大厦
新开班 (连续班 、周末班、晚班):2024年5月1日......(欢迎您垂询,视教育质量为生命!)
   实验设备
     ☆资深工程师授课
        
        ☆注重质量 ☆边讲边练

        ☆合格学员免费推荐工作
        ★实验设备请点击这儿查看★
   质量保障

        1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
        2、课程完成后,授课老师留给学员手机和Email,保障培训效果,免费提供半年的技术支持。
        3、培训合格学员可享受免费推荐就业机会。

课程大纲
 

【一阶技能】贯通需求分析
 需求 = 功能需求 + 质量需求 + 约束需求
 功能 = 接口需求 + 系统能力 + 处理流程
 需求分析前期任务、用例图、案例
 需求分析后期任务、用例规约、案例

【二阶技能】精通需求文档
 需求内容、模型总览
 管理软件《需求书》实例 and 佳模板
 嵌 入 式《需求书》实例 and 佳模板
 嵌入式软件的接口需求、算法需求刻画
 接口需求,要充分体现软件与传感器、
执行器、其他系统的双向对接要求
 处理流程,往往涉及操作、处理、控制
过程的专业算法,也应分析并归档

【三阶技能】让《SRS》成为分析和识别需求变更的工具
 需求变更分析:How to
 需求变更分析:示范案例
 传统“输入-处理-输出”分析方式的改进

在课堂上练会、夯实的技能,将在工作中直接发挥价值
【实战】分组实战,老师会给《需求书.doc》
 任务:电梯控制板需求变更分析、及如何将变更归档
 贯穿案例推进……

嵌入式架构的重中之重——控制结构设计

设计师设计嵌入式软件时,有三种控制结构可供选择
1. 死循环
实现代码分析……
2. 事件驱动多任务(event-driven multitask)
实现代码分析……
3. 时间片轮询架构(time-slice polling)
实现伪代码分析……

设计师设计嵌入式软件时,可参考的优秀范例二则
1. 著名飞行器开源产品——多任务架构
主要收获:入口主程序、Task的划分、Task间的同步
主要收获:中断函数在多任务架构下的经典写法
2. 某硬实时单板控制器——时间片轮询架构
主要收获:入口主程序代码骨架
主要收获:中断函数在时间片轮询架构下的经典写法

设计师设计嵌入式软件时,根据性能选择架构
1. 嵌入式性能:
 速 度:响应时间长短?
 效 率:任务切换过频怎么办?
 吞吐量:每秒处理事件数等
2. 三种控制结构的适用场景
 事件率高低
 事件率波动规律、峰值
3. 案例故事:某单板程序,高事件率下CPU占用率100%
 设计一:事件驱动多任务架构(有OS)
 设计二:时间片轮询架构(无需OS)
 设计优劣对比

 任务:多任务or时间片轮询架构的选择
 贯穿案例推进……

重用关键——模块划分

设计师划分模块时,代码结构的全局划分方法
1. 从模式开始——巧妙的“五横一纵”分层模式
2. 模块划分——覆盖上下文图定义的接口需求
3. 模块划分——运用用例驱动设计思维
3.1. 起步:分析用例规约,识别实现用例的那些代码块
3.2. 后续:协作设计,即用序列图串起这些代码

设计师划分模块时,注意几个基本原则
1. 通用-专用分离:提炼应用无关的Library、或选择三方库
2. 通用-专用分离:机制与策略分离,开发或选择Framework
3. 隔离外部交互:仅UI层“知道”操作细节和展现格式
4. 隔离外部交互:仅SI层“知道”和外部部件通信的细节
5. 隔离外部交互:仅DM层“知道”数据存储格式

设计师划分模块时,可参考的优秀范例一则
1. 著名开源产品套件——Mumble
主要收获:模块的划分、通用库的提炼、三方框架…

实战演练
1. 任务:模块划分
(必须覆盖代码结构全局、不能漏模块)
2. 贯穿案例推进……

隔离变化——模块接口设计

设计师设计接口时,考虑的三件事儿
1. 技术选择:接口设计容易?做漂亮难!
2. 机制选择:调用/回调/同步/异步/轮询/超时
3. 格式定义:函数风格 vs.报文或消息风格

设计师设计接口时,可参考的优秀范例一则
4. 某通用产品——漂亮的C语言接口、方便的配置
主要收获:围绕Domain Type定义模块的核心接口
主要收获:在核心接口基础上,可定义便捷接口
注英文术语为Core Interface、Convenience Interface

设计师设计接口时,这些经验可以用
1. 基于代码:专项练习一
2. 基于代码:专项练习二
3. 基于代码:专项练习三
4. 原则与“坑”总结

1. 任务1:接口的命令化(Command)支持可扩展
2. 任务2:让接口包含回调(Callback)使模块通用化
3. 贯穿案例设计推进……

自控方案设计——单板软件架构师的下一步

架构师设计自控方案时,工作内容有哪些?
1. 逻辑设计 = 分层设计 + 功能子系统划分
2. 物理设计 = 硬件拓扑 + 软组件分布设计
3. 技术选型 = 开发技术 + 运行环境选型
4. 接口设计 = 接口技术选择 + 接口协议定义

 

架构师设计自控方案时,需求文档怎么写?
1. 《需求规格书》模板解读
2. 《需求规格书》实际范例分析

架构师设计自控方案时,架构文档怎么写?
1. 《GB SSDD》文档模板解读
2. 《GB架构书》实际范例分析


 


 


 

 
  备案号:沪ICP备08026168号 .(2014年7月11)...................