《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——导读

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:


screenshot

前 言

本书主要目的是希望你不论身处于哪个职位,都能了解嵌入式系统开发是怎么一回事。项目管理者需要知道一个电子产品从无到有,包含哪些开发工作及困难;工程人员必须知道项目管理的精神,才能与其他领域同仁顺利合作;老板则必须了解项目成员们的职责,必要时才能适时给予协助及资源等。但每家公司的组织结构与企业文化不尽相同,很难在一本书中说完所有组织架构可能碰到的问题,因此,本书采用最常见的组织架构,如下图所示。其实一般公司就算职称不同,运作一个电子产品开发项目时,也不外乎就是这些角色,书中提到的思想与工具自然仍可一体适用。


screenshot

项目的执行时间有长有短,与项目困难度或组织所投入的资源有关,但无论成功或失败,项目总有结束的一天。项目成员从项目启动后陆续加入,并在项目任务完成后逐一离开,回到其原有组织。也就是说,项目组织是临时性的,但公司的组织则必须持续发展。举例来说,软件团队已经具有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 电子产品设计的最终依据:用户体验

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
存储 监控 数据库
Django 后端架构开发:高效日志规范与实践
Django 后端架构开发:高效日志规范与实践
65 1
|
30天前
|
Rust 前端开发 JavaScript
Tauri 开发实践 — Tauri 日志记录功能开发
本文介绍了如何为 Tauri 应用配置日志记录。Tauri 是一个利用 Web 技术构建桌面应用的框架。文章详细说明了如何在 Rust 和 JavaScript 代码中设置和集成日志记录,并控制日志输出。通过添加 `log` crate 和 Tauri 日志插件,可以轻松实现多平台日志记录,包括控制台输出、Webview 控制台和日志文件。文章还展示了如何调整日志级别以优化输出内容。配置完成后,日志记录功能将显著提升开发体验和程序稳定性。
60 1
Tauri 开发实践 — Tauri 日志记录功能开发
|
3月前
|
SQL 关系型数据库 MySQL
【MySQL】根据binlog日志获取回滚sql的一个开发思路
【MySQL】根据binlog日志获取回滚sql的一个开发思路
|
3天前
|
监控 开发者
鸿蒙5.0版开发:使用HiLog打印日志(ArkTS)
在HarmonyOS 5.0中,HiLog是系统提供的日志系统,支持DEBUG、INFO、WARN、ERROR、FATAL五种日志级别。本文介绍如何在ArkTS中使用HiLog打印日志,并提供示例代码。通过合理使用HiLog,开发者可以更好地调试和监控应用。
33 16
|
1月前
|
开发框架 缓存 安全
开发日志:IIS安全配置
开发日志:IIS安全配置
开发日志:IIS安全配置
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
35 1
|
3月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
125 1
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
3月前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录是一个重要而复杂的问题。
微信小程序作为业务拓展的新渠道,其全栈开发涉及前端与后端的紧密配合。本文聚焦小程序开发中的异常处理与日志记录,从前端的网络、页面跳转等异常,到后端的数据库、API调用等问题,详述了如何利用try-catch及日志框架进行有效管理。同时强调了集中式日志管理的重要性,并提醒开发者注意安全性、性能及团队协作等方面,以构建稳定可靠的小程序应用。
64 1
|
3月前
|
人工智能 Java Spring
Spring框架下,如何让你的日志管理像‘AI’一样智能,提升开发效率的秘密武器!
【8月更文挑战第31天】日志管理在软件开发中至关重要,不仅能帮助开发者追踪问题和调试程序,还是系统监控和运维的重要工具。在Spring框架下,通过合理配置Logback等日志框架,可大幅提升日志管理效率。本文将介绍如何引入日志框架、配置日志级别、在代码中使用Logger,以及利用ELK等工具进行日志聚合和分析,帮助你构建高效、可靠的日志管理系统,为开发和运维提供支持。
61 0
|
3月前
|
JavaScript 开发工具
Electron 开发过程中主进程的无法看到 console.log 输出怎么办
Electron 开发过程中主进程的无法看到 console.log 输出怎么办
下一篇
无影云桌面