【学习费用】4980元/人(含两天中餐、指定教材、证书、茶点、税费) 培训形式 要求:学员携带笔记本电脑和U盘来参加培训,借助大量实例研习推进培训,让学员在课堂上真正掌握所学。 本课认为“当堂夯实的技能,可用于实际工作”。 也欢迎学员带着实际问题前来参训! 课程大纲 【模块一】 人人掌握——嵌入式需求 理大局——嵌入式软件需求分析的过程【步骤明确,经验干货】 步 骤 一:系统边界分析——上下文图 and 硬件结构图 步 骤 二:功能需求分析——功能树 or 用例图 步 骤 三:用户接口分析——菜单树 and 界面流 步 骤 四:软硬接口分析——和外部软硬件的接口规约 步 骤 五:功能步骤分析——输入-处理-输出 or 用例规约 步 骤 六:质量需求分析——本课关注步骤级实时、步骤级可靠 一组案例…… 划重点——关键点的讲与练 输入-处理-输出定义功能需求……顽疾是需求项又多又散?分析、解决。 与外部软、硬件的接口需求 ……顶层数据流图、上下文图、硬件结构图 高性能和可靠性等质量需求 ……质量需求如何定义?以某控制器为案例 一组案例…… 特复杂的功能逻辑如何搞定? = 主控流程+可能事件与分支流程 + 步骤规则 拷资料——文档模板 + 案例资料【外企模板,独家分享】 《需求规格》模板 《需求规格》实例 一组案例……例如,质量90%可以用“功能的步骤级规则”来定义 【模块二】 始于需求——自顶向下设计运行控制结构 理大局——运行控制结构的设计过程【步骤明确,经验干货】 步骤一:分析需求 (功能范围+硬件结构) 步骤二:识别核心模块 步骤三:确定控制流,设计控制模式 步骤四:对关键功能,跑通控制过程 案例分析……上面四步,都有实际案例,并讲解自顶向下思维运用
划重点——三种嵌入式“运行控制结构”模式 结构一:多任务结构(OS-based Multi-task) 结构二:前后台结构(死循环+中断) 结构三:时间片轮询(Time-slice Polling) 一组案例…… 划重点——前后台与时间片架构的几个细节 【大局】采集-分析-控制模式 【局部 1】转delay为中断 【局部 2】占空比与中断 【局部 3】函数的可重入设计 【局部 4】核心代码性能 高事件率架构案例:多任务 vs. 时间片轮转 划重点——统一回答几个“大的疑问” 问:我们公司系统比较复杂,性能要求也比较多,总感觉理不清? 问:我们公司好像没人会画多线程协作图。请问,怎么画? 问:我们公司嵌入式分层架构太泛,没把代码块、线程、中断等说清楚! 【模块三】 深入详尽——嵌入式分层实战技巧 理大局——嵌入式代码架构,就这么设计【步骤明确,经验干货】 步骤一:借助模式,按“五横一纵”组织模块层次 步骤二:自底向上,先把硬件接口代码模块设计好 步骤三:接口抽象,为多种硬件提供统一接口 步骤四:服务抽象,提炼可复用的显示/通信/存储服务 步骤五:设计功能层模块,确定它对下层模块的调用 步骤六:设计初始化模块,确定它对下层模块的创建和设置 案例分析……上面六步都有实际案例。重点步骤,有代码案例。 划重点——关键点的讲与练【有代码,有真货】 Module对Task/Thread的封装 ===Module设计的最低要求:没有隐藏就没有简化 ===模块封装task——Message和Task的架构级应用 Module的可扩展&可配置&可插拔 ===模块的可配置式设计——Config Array的架构级应用 Interface对多个差异模块的统一抽象 ===函数指针结构体的架构级应用 上层对下层的“封装”与“组装” ===模块封装模块——Layer思想的代码实现 ===main()如何优雅地“启动”各模块
拷资料——上述技能,分别对应的代码案例 代码案例… 代码案例… 思想的飞跃——架构之道【学员反馈:“大彻大悟的感觉真爽!”】 自顶向下——分解思维。架构早期。立足业务,根据需求分解出粗粒度架构 自底向上——封装思维。架构后期。立足实现,隐藏细节,统一接口,提炼服务 抽象vs.具体——抽象是结果,抽象思维的过程从研究多个“具体”开始 分解vs.封装——粗粒度架构来自自顶向下分解,细粒度架构来自自底向上封装 接口vs.实现——接口定义“做什么”,实现定义“怎么做” 统一接口——下层有多种“怎么做”时,不要直接调用,要通过统一接口调用 通用服务——提炼可复用的显示/通信/存储服务,“功能代码”就简洁易修改了 ……悟道练习,一起画脑图 【模块四】 隔离变化——设计好内部接口、对外接口 我们常设计这两种接口 远程及板间接口或协议 模块级接口或消息
远程及板间接口或协议——如何设计 步骤一:接口交互过程设计 步骤二:接口实现技术选择 步骤三:接口参数格式定义 案例:分析著名接口规范 …… 模块级接口——技术风格 Call(调用) Message(消息) Callback(回调)
远程及板间接口或协议——API二次封装 底层协议:负责通用性、跨平台 提供API :负责屏蔽细节、方便开发 案例分析…… 模块级接口——二次封装 核心接口 vs. 便捷接口(对核心接口的包装) 可配置性 拷资料——对应的资料分享 接口规范… 接口案例… API 案例… 【模块五】 职业生涯——从单板架构师,到方案架构师 谈行业趋势,聊职业发展 IT行业的人才模型 电子企业的常见发展路径 我们个人的发展方略 方案架构师设计自控方案时,工作内容有哪些? 逻辑设计 = 分层设计 + 功能子系统划分 物理设计 = 硬件拓扑 + 软组件分布设计 技术选型 = 开发技术 + 运行环境选型 接口设计 = 接口技术选择 + 接口协议定义 自控方案中的上位机软件设计 五横一纵——上位机软件的模块分层模式 模块划分——覆盖接口需求 模块划分——覆盖功能需求 拷资料——对应的资料分享 《GB设计书》文档模板解读、实际范例分析 讲师介绍 —温昱老师 软件架构专家 实战型重构培训专家 创立ADMEMS架构实践体系 畅销书《软件架构设计》作者 畅销书《一线架构师实践指南》作者 畅销书《应用框架的设计与实现——.NET平台》译者
工作经历及专业背景 温昱老师拥有十五年系统规划、架构设计和研发管理经验,在金融、航空、多媒体、网络管理、中间件平台等领域负责和参与多个大型系统的规划、设计、开发与管理。 温昱老师还是软件架构思想的传播者和积极推动者,ADMEMS(一种软件架构设计方法)的提出者,中国Softcon杰出贡献专家,中国CCSE杰出专家,其出版的书籍《软件架构设计——程序员向架构师转型必备》、《一线架构师实践指南》等作品,累积印刷十余次,深受读者喜爱。 作为资深咨询顾问,拥有近千小时代码重构咨询经验,提出ARCT设计重构方法论,已为众多知名企业提供了卓有成效的架构培训与咨询服务。
擅长领域 架构设计 详细设计 设计重构
咨询及培训客户 华为,中兴通讯,汇川科技,新大陆集团,拓邦股份,迈瑞医疗,艾默生,上汽,长安汽车,创维,海信,长虹,康佳,通号院,卡斯柯信号,中国中车,海格通信,视源电子,特锐德电气股份,新北洋信息,英飞拓科技,新开普电子,慧视通科技,四维图新,烽火科技,东方电子,东软集团,oppo,酷派,航空多院所,航天多院所,等等
部分客户评价 与温昱先生初识于一次部门内训,金融机构应用信息技术日久,但业务发展之快仍需信息技术部门不断如何提供有力的技术支持,当时系统设计人员思路难成一致,故邀请先生来讲述所得,先生讲座生动有趣,案例均为实践中心得,有助于一线设计人员在低头干事之余,能够抬头看路,从架构高度理解和看待日常工作。 ——朱晓光 中国建设银行 北京开发中心处长 在厦门,曾和温老师有过4天晚上的坐而论道,从技术到业界、从数据模型到软件重构、从职业观到心理学,彼此颇多启发。 ——朱志 中国建设银行厦门开发中心总工办 |