1. 需求分析

需求分析 学习卡片

任务说明

本案例面向一个纯电动车型的定速巡航功能,目标是在需求阶段形成一份可评审、可追踪、可测试的功能需求定义。任务边界限定为:明确系统边界、识别主要参与者、定义核心功能场景及其输入输出、建立可验证的需求条目。不涉及软件架构设计、控制算法实现或代码编写。

系统边界与参与者

车速控制系统(Speed Control System, SCS)的物理边界为整车控制器(VCU)内的一个功能模块,其外部交互对象包括:驾驶员(通过拨杆、按钮、踏板操作)、制动系统(提供制动状态信号)、动力总成(接收扭矩请求)、仪表与HMI(显示巡航状态及车速)。系统输入信号包括:巡航开关状态、设定/恢复按钮、加速/减速拨杆、制动踏板状态、当前实际车速、挡位信号。系统输出信号包括:目标车速、扭矩请求使能、巡航激活状态指示。

核心功能场景

功能需求围绕以下五个主场景展开,每个场景均定义了触发条件、系统响应和退出条件:

  1. 巡航激活:车速在30~150 km/h范围内且无制动、无挡位切换时,驾驶员按下SET键,系统记录当前车速为目标车速,进入激活状态。
  2. 巡航调速:激活状态下,驾驶员短按RES/+或SET/-键,目标车速以1 km/h步进调整;长按则连续调整,松手即停。
  3. 巡航暂停:激活状态下检测到制动踏板踩下或挡位非D挡,系统退出激活状态,保持目标车速记忆,进入待机状态。
  4. 巡航恢复:待机状态下,车速仍处于30~150 km/h且无制动时,驾驶员按下RES键,系统恢复至记忆的目标车速。
  5. 巡航退出:激活或待机状态下,驾驶员按下取消按钮,或系统检测到车速低于30 km/h或高于180 km/h,或巡航系统故障,系统完全退出巡航,清除目标车速记忆。

需求条目定义

以下需求条目采用“编号-描述-验证方法”的结构,每条均可独立追溯至上述场景:

编号功能需求描述验证方法
REQ-SCS-001系统应仅在车速30~150 km/h范围内允许激活巡航台架测试:分别以20、30、150、160 km/h输入,检查激活是否被允许
REQ-SCS-002激活状态下,短按SET/-或RES/+(<0.5s),目标车速应变化1 km/hHIL测试:激活后发送0.2s脉冲信号,读取目标车速变化量
REQ-SCS-003激活状态下,长按SET/-或RES/+(≥0.5s),目标车速应以2 km/s的速率连续变化,松手后停止变化HIL测试:发送2s长按信号,每100ms记录目标车速,计算变化斜率
REQ-SCS-004制动踏板踩下或挡位非D挡时,系统应在100ms内退出激活状态并保持目标车速记忆HIL测试:激活后注入制动信号,测量退出延迟并检查记忆值
REQ-SCS-005待机状态下,车速在30~150 km/h范围内且无制动时,RES键应使系统恢复至记忆目标车速HIL测试:激活→制动暂停→恢复,检查目标车速是否等于暂停前值
REQ-SCS-006车速低于30 km/h或高于180 km/h时,系统应自动退出巡航并清除目标车速记忆HIL测试:激活后分别将车速降至29 km/h和升至181 km/h,检查状态与记忆值
REQ-SCS-007系统应输出激活状态标志位(0x01=激活,0x00=非激活)供仪表显示信号级测试:监控CAN信号,对比状态切换时刻的标志位值

状态机定义

为消除二义性,将系统行为建模为四状态状态机,状态迁移条件与上述需求条目严格对应:


状态:OFF(关闭)→ STANDBY(待机)→ ACTIVE(激活)→ STANDBY → OFF
迁移条件:
  OFF→STANDBY:  点火上电且无故障
  STANDBY→ACTIVE: 车速∈[30,150] ∧ 无制动 ∧ D挡 ∧ SET按下
  ACTIVE→STANDBY: 制动踩下 ∨ 挡位≠D挡
  ACTIVE→OFF:    取消按钮 ∨ 车速<30 ∨ 车速>180 ∨ 系统故障
  STANDBY→OFF:   取消按钮 ∨ 车速<30 ∨ 车速>180 ∨ 系统故障

验证路径与判定标准

本案例的交付物为需求定义文档及上述状态机模型。验证路径分为两层:

  1. 静态评审:将需求条目与状态机逐一对照,确认每个状态迁移均至少对应一条需求编号,且每条需求均映射至一个或多个迁移条件。判定标准:无遗漏、无冲突、无未定义迁移。
  2. 动态仿真:在Simulink/Stateflow中搭建状态机模型,以信号源模拟驾驶员操作序列(如:加速至80 km/h→SET激活→RES/+短按3次→制动暂停→RES恢复→取消退出),通过Signal Logging观察状态跳转与目标车速输出。判定标准:状态跳转顺序与状态机定义一致,目标车速变化量与需求REQ-SCS-002/003的计算结果一致。
OFF 巡航关闭 STANDBY 待机(记忆目标车速) ACTIVE 激活(执行巡航) 上电且无故障 SET ∧ 车速∈[30,150] ∧ 无制动 ∧ D挡 制动踩下 ∨ 挡位≠D挡 取消 ∨ 车速<30 ∨ 车速>180 ∨ 故障 取消 ∨ 车速∉[30,180] ∨ 故障 ■ 蓝色实线 = 激活路径 ■ 红色虚线 = 暂停路径 ■ 橙色虚线 = 退出路径 需求映射:OFF→STANDBY(REQ-001) | STANDBY→ACTIVE(REQ-001) | ACTIVE→STANDBY(REQ-004) | ACTIVE→OFF(REQ-006) | STANDBY→OFF(REQ-006)

交付物清单

本案例最终交付以下文件,均可在纯文本环境中独立打开与评审:

  • SCS_Requirements.md:包含上述全部需求条目的Markdown文档,每条含编号、描述、优先级(本案例均为“高”)、验证方法。
  • SCS_Stateflow.slx:Simulink Stateflow模型,实现四状态状态机,输入端口为brake、gearD、setBtn、resBtn、cancelBtn、speed,输出端口为activeFlag、targetSpeed。
  • SCS_TestCases.xlsx:包含10条测试用例,覆盖上述5个场景的正常路径与边界条件(如30 km/h边界、制动恢复等)。

评审时以需求条目为基准,逐条检查状态机实现与测试用例覆盖情况,三者一致即视为需求定义阶段闭环完成。