趣文网 > 作文大全

如何理解系统功能需求文档&软件需求文档

2020-12-04 02:10:01
相关推荐

这篇草稿在我电脑里呆了快一个月了,趁着今天月底,死活也把它整理发出来,请大家指摘。

需求文档的编写是策略开发工程师的核心工作,本文计划描述功能开发文档在软件开发中的角色以及如何编写。

近期参加了几次面试,提了两次这个问题:

“VCU策略开发你主要负责哪些功能模块,文档如何编写的?这些技术文档如何指导开发和测试阶段工作。”不知道您是否可以说的明白。

理解需求开发从整车V字开发流程说起

V字型开发流程包括以下步骤:

a. 通过市场调研,产品定位,在整车功能开发角度,制定整车功能列表;

b. 分解到系统级功能,开展系统需求分析,系统架构开发,整车Network设计;

c. 将功能分解到零部件,并落实到特定控制单元ECU的软件功能需求,

d. 开展软件架构设计、软件算法实现;

e. 完成软件的单元测试、集成和测试;

f. 模块集成,完成系统功能测试;

g. 整车功能集成、标定、测试以及发布

整车功能开发主线是总-分-总架构,如下图(1),功能定义→设计→分解实施→验证→集成验证→发布。

对于软件开发流程,也可以参考ISO26262中关于软件层级产品开发的要求描述(26262 Part 6),软件开发阶段推荐流程模型如下图:

a. 定义系统需求(software function requirement specification)

:明确软件开发功能需求,这一步的输出物就是功能需求文档。

b. 软件架构设计(software architectural design)

:对软件架构功能模块进行设计,以实现功能需求。

c. 软件单元设计及算法实现(software unit design and implementation)

:对功能单元模块进行详细设计以及算法建模

d. 软件单元验证确认(software unit verification)

:完成模块MIL测试,确认符合软件子模块需求。

e. 软件集成及验证确认(software integration and verification)

:对各子功能进行集成,确认符合软件需求。

f. 软件运行测试(testing of the embedded software)

:开展软件代码的HIL及实车测试,确认符合功能需求。

系统功能需求文档编写结构范式

通过V流程基本可以理解功能需求开发在软件开发中所处的地位。

对于VCU、BMS、HCU等控制器项目开发,首先要求策略开发人员编写系统/零部件的功能需求文档(或称《xx系统功能需求文档》、《xx Function Design Specification》、《xx System Requirement Specification》),通过项目评审并最终确认控制器功能List项及个项功能的功能需求。

如果是系统级需求,还需进一步分解到各零部件。如整车上下电功能实现需要分解到FDC、VCU、BMS、MCU、OBC等控制器零部件。

宽泛含义上的软件开发行业,该功能需求文档通常又叫做《xx功能需求规格说明书 Software/system requirements specification》

a)软件功能清单

以三电系统开发为例,系统功能的制定依据车型特点开发。除了常规基础配置功能(例:能量管理、热管理、驾驶模式切换、档位切换、高压上下电 etc.),也会根据车型市场定位增删部分功能(电子驻车、ADAS相关功能、坡道辅助等)。

其中复杂度较高的功能模块,又可进一步分解到子功能需求。以某项目VCU功能清单为例,如下表:

2)功能需求文档主要内容

功能开发的文档的任务是把需求描述清楚,需要给软件开发人员提供必要的技术资料输入,包括功能的应用车型平台、功能描述、系统网络拓扑图、功能输入输出接口、应用场景描述等。

以下为参考的文档层级格式:

1. 目录

2. 变更记录History track

说明:追溯记录文档版本管理

3. 介绍

3.1 文档范围Scope of this document

说明:描述该文档的应用范围,通常此文档仅用于xx功能的概要设计阶段

3.2 应用范围 Apply to development platform

说明:说明应用的车型平台

3.3 参考标准 Referenced standards

说明:列举需要遵守的国家行业标准

3.4 相关内部文件 Related internal documents

说明:列举与本功能开发设计需要知道的技术文件,例如整车EE电子电气架构

3.5 术语及缩略语的定义描述 Terms and definition

说明:为阅读的准确性,需列举文中用到的简称,并做解释;

4. 功能定义 Function Definition

4.1 功能名称 Function name

说明:功能命名,如滑行能量回收Regeneration Coasting

4.2 功能目的 function purpose

说明:简述功能所要达到的目的,如:在驾驶员期望进行车辆进行滑行时,该功能自动激活。通过将电机设置为发电模式,将车辆动能回收转换为电池电能。

4.3 网络架构拓扑图 EE Network topology 绘制CAN/lin网络拓扑图

说明:将整车功能实现所依赖的整车电气网络架构状态进行说明

4.4 总体功能图Function overall diagram

说明:详细说明该功能实现相关控制器节点及通讯方式。

4.5 功能接口 function interfaces

说明:详细说明系统间交互的信号并绘制信号表(信号名 From To)

4.6 功能设计描述function design description

说明:对功能设计进行描述,说明功能实现形式以及功能要求。还以滑行回收为例:站在系统的角度,VCU内部设置与实施根据车速相关联的车辆目标减速度。中控面板提供驾驶员设置回收力度的接口。

如果是分配到VCU零部件的功能需求文档,则可以详细描述设置的车速-目标减速度曲线。最大回收扭矩限制、不同回收等级下的车速-扭矩曲线、车速区间、档位要求等。(可以逐条罗列要求,条款化)

4.6.1 功能进入退出条件Function enter/exit condition

4.6.2 功能状态及状态转移 function work states/state transition

说明:状态转移条件,绘制状态机

4.7 工作场景function scenario

说明:该部分内容类似于软件的用例规约,描述可能出现的应用场景下动作

4.7.1 场景1绘制流程图及文字说明

说明:用流程图可以较为清晰的展示功能实现的过程,如整车上下电、PRND档位切换逻辑等。

4.7.2 场景2 绘制流程图及文字说明

说明:场景应尽可能全面,充分的覆盖用户的使用范围,可以极大的避免可能出现的系统漏洞和安全风险。

4.8 功能失效分析 function failure analysis

说明:描述功能失效的类型 故障等级 以及整车该如何动作。例:VCU和MCU通讯失效 故障等级5级 紧急停车。

其他未尽事项,不一而足。记住,功能开发文档的目的是把功能描述清楚,清晰的指导软件开发人员进行软件设计,并作为整车测试人员的功能验收依据。所以文档应尽可能的严谨,语气词要强硬。使用应当、需要、当xx条件满足时执行xx动作。不要使用可以,最好等词汇。

关于软件需求文档,未完待续。。。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

期待作文 半命题作文 发现作文 初一的作文 变形记作文500字六年级 关于梅花的作文 作文大全400字 感恩父母 作文 新年英语作文 足迹作文 拔河作文 高一作文 趣事作文 春节作文600字初二 推窗风来作文 在尝试中成长作文 我的妈妈作文200字 小学三年级作文题目 中考作文题目大全 关于母亲的作文 初一作文500字 小学六年级作文 青春作文素材 我爱读书作文 我的爱好作文 开学典礼作文 晚霞作文 改变作文 我的梦作文 初三英语作文