前 言
本书主要目的是希望你不论身处于哪个职位,都能了解嵌入式系统开发是怎么一回事。项目管理者需要知道一个电子产品从无到有,包含哪些开发工作及困难;工程人员必须知道项目管理的精神,才能与其他领域同仁顺利合作;老板则必须了解项目成员们的职责,必要时才能适时给予协助及资源等。但每家公司的组织结构与企业文化不尽相同,很难在一本书中说完所有组织架构可能碰到的问题,因此,本书采用最常见的组织架构,如下图所示。其实一般公司就算职称不同,运作一个电子产品开发项目时,也不外乎就是这些角色,书中提到的思想与工具自然仍可一体适用。
项目的执行时间有长有短,与项目困难度或组织所投入的资源有关,但无论成功或失败,项目总有结束的一天。项目成员从项目启动后陆续加入,并在项目任务完成后逐一离开,回到其原有组织。也就是说,项目组织是临时性的,但公司的组织则必须持续发展。举例来说,软件团队已经具有RTOS的技术,所以,公司在接了相关的项目后,随即会指派一名项目经理,并从软件团队中挑选成员加入此项目。在此同时,软件团队可能正在导入Embedded Linux技术,这是该团队的长期发展计划,和目前正在执行的所有项目没有直接的关系。因为这种组织架构(称为强矩阵组织),可兼顾组织的日常运作及临时性项目的执行,目前已被广为采用。
在强矩阵组织中最可能发生冲突的来源有两个:第一,负责某项目成败的项目经理,与负责组织中人力调配、新技术研发的部门经理(为与Project Manager区别,通常称之为Functional Manager)两者的职责、所必须具备的能力和对组织发展的看法并不相同;第二,当工程人员加入某项目后,在项目执行期间会有两位直属老板,如果这两个老板之间沟通不好,则项目成员可能无所适从。
为避免过多角色导致笔者想表达的主题失焦,书中会淡化“Functional Manager”的角色。例如,工程师的招聘通常由Functional Manager面试并决定是否录用,而Project Manager会在
项目启动时,在目前组织中挑选成员加入项目 ,本书会将此关系简化为直接由Project Manager来招聘项目成员。本书两位主角就是Project Manager以及一名新项目招聘的菜鸟工程师,但Project Manager与Functional Manager间沟通渠道是否畅通、权责能否区分清楚等,也是项目成功与否的重要因素之一,所以书中新增一个专门讨论Functional Manager在嵌入式系统开发项目中角色界限的章节 。
目 录
[第1章 系统•嵌入•硬件
01-01Welcome on board!](https://yq.aliyun.com/articles/99448/)
01-02嵌入式系统开发团队
01-03老调重弹:何谓嵌入式系统?
01-04限制!限制!限制!
01-05基本职能:老鸟也曾是菜鸟
01-06工作内容:做个工程师,而非程序工人
[第2章 嵌入式项目管理
02-01 菜鸟啊!要立大志!](https://yq.aliyun.com/articles/99470/)
02-02项目管理基本概念
02-03项目生命周期五大阶段
02-04项目范围(Scope)管理
02-05项目进度(Time/Schedule)管理
02-06项目成本(Cost)管理
02-07项目质量(Quality)管理
02-08项目人力资源(Human Resource)管理
02-09项目沟通(Communication)管理
02-10项目风险(Risk)管理
02-11项目采购/合约管理
02-12项目配置(Configuration)管理
02-13 企业与组织对项目的影响
第3章 嵌入式系统开发项目生命周期:项目启动与规划
第4章 嵌入式系统开发项目生命周期:设计、执行与结项
第5章 实作你的第一个嵌入式系统
第6章 实作嵌入式系统平台
第7章 构建良好的嵌入式系统开发环境
第8章 上电之后:Boot Loader
第9章 驱动程序
第10章 设计硬件抽象层
第11章 菜鸟当自强:软件工程师 硬起来
第12章 做好存储器管理
第13章 存储器管理(II):NAND Flash概论
第14章 模拟器
第15章 项目进度追踪实务
第16章 SoC设计公司中嵌入式系统团队的管理
第17章 系统整合
第18章 Testing、Debugging与Tuning
第19章 结项前的煎熬
附录A 未执行项目管理的项目
附录B Callback Function
附录C 用C来实现面向对象的概念
附录D 电子产品设计的最终依据:用户体验