4、项目启动与需求分析:项目章程、干系人识别、需求收集方法、需求规格说明书(SRS)编写

嵌入式项目与纯软件项目最大的差异在于:需求不仅来自业务逻辑,还受限于硬件资源、实时性约束、功耗预算、通信接口和物理环境。项目启动阶段若未建立清晰的章程、未识别关键干系人、未采用结构化的需求收集方法,后续的系统架构设计将如同在流沙上盖楼。本章围绕项目启动的四大核心活动——项目章程制定、干系人识别、需求收集方法、SRS编写——展开,帮助项目经理和系统架构师在第一时间建立项目的“宪法”与“边界”。

项目启动与需求分析 项目章程 干系人识别 需求收集方法 SRS编写 章程内容 • 项目目标与范围 • 关键里程碑 • 预算与资源约束 干系人分类 • 内部:研发/测试/产品 • 外部:客户/供应商 • 监管:认证/合规 收集方法 • 访谈/问卷/观察 • 原型法/头脑风暴 • 标杆对照 SRS结构 • 功能/非功能需求 • 接口/约束/验收 • 可追溯性矩阵 输出:批准的项目章程 + 干系人登记册 + 需求基线 → 进入系统架构设计阶段 关键成功因素 ✓ 章程获得高层明确授权 ✓ 干系人分析覆盖全生命周期 ✓ 需求可测试、可追溯 ✓ SRS经过正式评审基线化

4.1 项目章程:项目的“宪法”与授权依据

核心原理:项目章程(Project Charter)是正式授权项目启动的文件,它明确了项目存在的理由、高层级范围、关键里程碑、总体预算和项目经理的权限。在嵌入式项目中,章程尤其需要明确硬件平台选型约束、目标量产时间(TTM)、成本上限(BOM Cost Target)以及合规认证要求(如CE、FCC、IEC 60730)。章程不是需求文档,它不描述具体功能,而是定义“为什么做”和“边界在哪里”。

判断方法:一份合格的嵌入式项目章程应包含以下要素:

章程要素 嵌入式项目中的具体体现 常见缺失风险
项目背景与商业论证 市场对低功耗、高算力边缘设备的需求;竞品分析结论 缺乏商业驱动,后期需求蔓延无依据
目标与成功标准 “6个月内完成量产,BOM成本≤$45,通过IEC 60730 B类认证” 目标模糊,验收时争议不断
高层级范围 “开发一款基于Cortex-M7的工业数据采集器,支持4-20mA输入和Modbus TCP” 范围边界不清,后期不断加功能
关键里程碑 EVT→DVT→PVT→MP 各阶段时间点 里程碑缺失,进度失控
预算与资源 人力投入(嵌入式软件3人、硬件2人、测试1人)、NRE费用 资源不足,项目延期
项目经理权限 有权调配资源、批准需求变更、向高层汇报 权限不足,决策链过长
经验提醒:在嵌入式项目中,章程中应明确“不做什么”。例如:“本阶段不涉及无线通信模块”“不支持OTA升级”。这些排除项能有效防止需求蔓延。

4.2 干系人识别:从“隐形人”到“关键决策者”

核心原理:干系人(Stakeholder)是能影响项目决策、活动或结果的个人、群体或组织。嵌入式项目的干系人远比纯软件项目复杂:除了产品经理、软件工程师、测试工程师外,还包括硬件工程师、FPGA工程师、结构工程师、认证工程师、供应链采购、生产制造(SMT工厂)、现场应用工程师(FAE)、最终用户、甚至法律合规部门。遗漏任何一方,都可能在项目后期引发严重返工。

操作流程:干系人识别应遵循“四步法”:

  1. 头脑风暴列出候选清单:从项目生命周期出发,覆盖设计、开发、测试、认证、生产、维护各阶段。
  2. 分类与优先级排序:使用权力/利益矩阵(Power/Interest Grid),将干系人分为高权力高利益(重点管理)、高权力低利益(保持满意)、低权力高利益(随时告知)、低权力低利益(监督)四类。
  3. 分析期望与影响:明确每位干系人对项目的期望、潜在影响力和参与程度。
  4. 制定沟通策略:针对不同类别干系人,确定沟通频率、方式和内容深度。
实战场景:某车载T-Box项目,项目经理初期只识别了客户、内部研发和测试人员。项目进行到DVT阶段时,客户突然提出需要满足“GB/T 32960 国标数据上报”要求。由于前期未识别法规认证干系人,导致通信协议栈需要重新设计,延期6周。复盘发现:法规部门、第三方检测机构、运营商(SIM卡供应商)均未被纳入干系人清单。

4.3 需求收集方法:从“用户说”到“可验证的规格”

核心原理:需求收集是将干系人的期望转化为可设计、可测试、可验证的系统行为的过程。嵌入式项目的需求来源多样:客户规格书(SOW)、市场调研、竞品拆解分析、行业标准(如ISO 26262、IEC 61508)、硬件能力约束、软件可维护性要求等。需求收集不是一次性的访谈,而是持续迭代的过程。

常用方法对比:

方法 适用场景 优点 局限
一对一访谈 关键客户、领域专家 深度挖掘隐性需求 耗时,样本量小
问卷调查 大量用户、市场调研 覆盖面广,量化分析 无法追问,回复率低
现场观察/用户日志 工业设备、医疗仪器操作流程 发现真实使用场景 观察者效应,成本高
原型法(快速原型) 人机交互界面、复杂逻辑验证 直观,早期验证可行性 原型可能被误解为最终产品
标杆对照 竞品分析、行业最佳实践 明确差距,设定目标 过度关注竞品,忽略创新
头脑风暴/工作坊 跨职能团队需求挖掘 激发创意,达成共识 需要强引导者,易偏离主题
风险说明:嵌入式项目中,硬件约束(如MCU Flash容量、RAM大小、ADC精度、通信带宽)必须在需求收集阶段同步评估。软件团队提出的“理想需求”若超出硬件能力,必须在SRS中明确标注为“待硬件可行性验证”,避免后期架构设计时才发现不可实现。

4.4 需求规格说明书(SRS)编写:从“想法”到“基线”

核心原理:SRS是项目需求的正式载体,它描述了系统应提供的功能、性能、接口、质量属性和约束条件。SRS的质量直接决定了系统架构设计的正确性和测试验收的客观性。一份优秀的SRS应具备:正确性、无歧义、完整性、可验证性、一致性、可追踪性。

SRS标准结构(参考IEEE 830 / ISO/IEC/IEEE 29148):

  1. 引言:目的、范围、定义、参考文献
  2. 总体描述:产品视角、用户特征、运行环境、约束与假设
  3. 具体需求:
    • 功能需求(FR):系统行为、输入/输出、处理逻辑
    • 外部接口需求(IR):用户接口、硬件接口、软件接口、通信接口
    • 性能需求(PR):响应时间、吞吐量、精度、功耗
    • 质量属性(QR):可靠性、可用性、可维护性、安全性
    • 约束(CR):法规、标准、硬件平台、成本
  4. 验证与验收:每个需求对应的测试方法或验收标准
  5. 附录:需求追溯矩阵(RTM)

编写操作流程:

  • Step 1:将收集到的原始需求逐条编号(如FR-001、PR-002),确保每条需求独立、原子化。
  • Step 2:使用“用户故事+验收标准”或“传统需求陈述”两种格式之一,但必须保证可测试性。例如:“系统应能在1秒内响应按键操作”优于“系统应快速响应”。
  • Step 3:组织内部评审(硬件、软件、测试、产品四方参与),重点检查需求冲突和遗漏。
  • Step 4:建立需求基线(Baseline),纳入配置管理。后续任何变更必须走正式变更控制流程(CCB)。
案例拆解:工业数据采集器SRS片段
背景:某公司计划开发一款便携式工业数据采集器,用于现场设备振动信号采集。
关键约束:MCU选用STM32H743(Cortex-M7, 480MHz),ADC采样率最高1MSPS,BOM成本≤$50,工作温度-20℃~+70℃。
初始需求(来自客户):“能采集振动信号,并保存数据。”
分析过程:该需求过于模糊。通过访谈和现场观察,细化出:
  • FR-001:系统应支持4通道同步采样,每通道采样率可配置(1kSPS~500kSPS)。
  • FR-002:系统应支持IEPE传感器供电(4mA恒流源,24V偏置电压)。
  • PR-001:在500kSPS采样率下,连续采集时间≥30分钟,数据存储于MicroSD卡。
  • QR-001:系统在-20℃环境下,采样精度误差≤±1%。
  • IR-001:系统应提供USB 2.0接口用于数据导出,同时支持UART调试接口。
实际操作:将上述需求写入SRS,并建立RTM矩阵,每条需求关联到测试用例。评审时发现FR-001与MCU的ADC通道数冲突(H743只有3个ADC,但可支持多通道复用),最终调整为“4通道轮询采样,每通道最高250kSPS”。
结果:SRS基线化后,硬件设计、驱动开发、测试用例设计均基于此版本展开,避免了后期需求变更导致的返工。
复盘经验:需求细化必须结合硬件数据手册进行可行性验证;SRS评审必须邀请硬件工程师参与。

4.5 常见误区与总结复盘

误区 后果 纠正措施
章程流于形式,未获得高层真正授权 资源协调困难,项目经理无实权 章程必须由发起人(Sponsor)正式签发,并在启动会上宣布
干系人识别只做一次,后期不更新 新加入的干系人(如认证机构)需求未被满足 每阶段初重新审视干系人清单
需求收集依赖单一来源(如只听客户) 忽略内部制造、测试、维护需求 采用多源收集,交叉验证
SRS中需求不可测试 验收时争议,测试用例无法设计 每条需求必须包含“如何验证”
需求变更未走流程 范围蔓延,进度失控 建立CCB(变更控制委员会),严格执行变更评估
总结:项目启动与需求分析是嵌入式项目成功的“第一道闸门”。项目章程解决“为什么做”和“边界在哪”,干系人识别解决“谁说了算”,需求收集解决“到底要什么”,SRS解决“如何证明做对了”。四个环节环环相扣,任何一环的缺失都会在后续的系统架构设计、开发测试阶段被放大。建议项目经理在启动阶段投入20%~30%的项目总时间,确保需求基线的质量,这是性价比最高的风险管理手段。