描述语言模糊导致理解错误。 需求对于实现不完整。 需求本身就不可行或不可验。 同一需求在不同文档中描述不一致。 提需求的人本身没想清楚。 接需求的人没有或没能力听明白。 以为听明白了但传递时发现不够......
第一,最近几年电动车、数据安全、网络安全、自动驾驶、OTA、EDR(Event Data Recorder,事件数据记录系统,即汽车“黑匣子”)等新事物的兴起必然会带动一些国家法规的出台,需要实时关注。 第二,无论是整车还是零部件经常会涉及出口海外,除了欧盟、北美有些比较知名的准入要求,其他地方也需要给予关注,比如,一些政治制裁国家。这部分大家往往经验较少,有可能会识别不到。
一是,大量和自身不相干的需求。比如,一本上百页的ECU规范里涉及自己产品的不足10页。 二是,这些需求比较凌乱。在实际工作中,这些需求可能是在时间仓促的报价定点期间临时获取的,又或者是随着开发的要求不断要到的。这种情况下,版本老旧、内容错误、标准遗漏都是可能发生的。
文档是不是完整? 哪个是最新的版本? 是不是有重复的文档? 是否有一些容易误解的地方待澄清? 有没有与本项目不相关的信息? 能不能整理出规范文档? 某些文档是不是项目早期已经明确拒绝的......
一步是分配给包含但不限于“软件需求”的各领域需求,比如,如果要求我们的控制器能够将车速识别到0.1m/s的精度,光将软件的信号分区做细是不够的,传感器硬件首先要能够支撑这样的物理精度。在这一步要保证每一条“系统需求”都要被分配(即追溯的概念)给至少一个领域,或软件,或硬件,或既软件又硬件,以确保“系统需求”没有遗漏。 另一步是,基于“系统需求”完成“系统架构”及“系统元素”的设计,比如,基于模型。这一步存在的理由主要在于,我们针对这个系统,需要一个宏观层面的规划、设计、调度,而非只是分配给底层子领域就能自动无缝配合实现。
一步是分配给“软件组件需求”。 另一步是,基于“软件需求”完成“软件架构”和基于“软件组件需求”完成“软件组件”的详细设计。
对于几乎无功能安全要求无关但关注体验和快速上市的娱乐系统,可以更敏捷、更灵活一些。经过一到两个项目的试探,确定是更详细还是更简略,但最好对需求和测试两端松手的幅度慢一点。 底盘、动力等高功能安全等级的模块仍然需要比较严格的需求管控,但由于这类产品的成熟度已经有了相当的积累,更多的精力可放在集成历史经验的平台化的维护处理上。对于分支释放项目,可较大程度地聚焦在变更点触发的这条线上。 对于一些域内跨模块或跨域融合的功能系统,要做好接口处需求的澄清与评审,要做好对手件需求的协调,比如,辅助驾驶、动力系统、车身系统、娱乐系统等之间交互信号的对齐。
在文档里加一句话、加一个标签、加一条变更履历。 把相关需要追溯的需求、架构、模型、代码、测试报告放到一个文件夹里。 需求系统里加上某个可以定位的字段,比如,系统需求涉及哪个软件组件。 工具的自动操作痕迹留存也可以作为一种追溯。 或者让每一个特性负责人决定自己的追溯方式......
厂家的产品表现是否符合自身的工程需求? 厂家的技术方案是否是业内通行的规范做法?
完