创建你的第一条 Zephyr RTOS 需求
仓库概述
Zephyr 需求在 reqmgmt 仓库中使用 StrictDoc 进行管理。该仓库包括:
docs/:包含 StrictDoc 格式的需求文档tools/:实用脚本和配置strictdoc.toml:StrictDoc 的项目配置tasks.py:使用 Invoke 实现任务自动化
步骤 1:创建或编辑需求文件
进入仓库中的 docs/ 文件夹。
文件夹概述
docs/ 文件夹包含所有以 StrictDoc 格式编写的需求文档。
docs/ 文件夹包含两个子文件夹,其组织方式如下:
system_requirements/包含高层系统需求,用于描述 Zephyr RTOS 的总体目标、约束和预期行为。system_requirements.sgra包含 GRAMMAR,用于定义需求的形式化结构index.sdoc包含实际的需求陈述
software_requirements/包含组件级需求。此文件夹中的每个文件都对应一个特定的子系统或模块。software_requirements.sgra包含所有软件需求的 GRAMMAR一组
.sdoc片段文件,这些文件汇编成一份大型软件需求文档,例如:interrupts.sdocqueues.sdocsemaphore.sdocthreads.sdoc
这些文件采用模块化组织方式,允许贡献者独立处理系统的特定部分。你可以编辑现有的 .sdoc 文件,也可以创建新文件。以下是需求块的一个基本示例:
[REQUIREMENT]
UID: ZEP-SRS-17-1
STATUS: Draft
TYPE: Functional
COMPONENT: File System
TITLE: Create file
STATEMENT: >>>
Zephyr shall provide file create capabilities for files on the file system.
<<<
将 UID 设置为 TBD ,以便 StrictDoc 在后续步骤中自动生成 UID。
步骤 2:保存文件
将文件保存到 docs/ 文件夹中的系统需求或软件需求子文件夹中。如果创建新文件,请为其取一个有意义的名称,通常应体现其内容所针对的组件或功能。
步骤 3:自动分配 UID
在仓库根目录下运行以下命令:
strictdoc manage auto-uid .
此命令将执行以下操作:
遍历项目目录
查找包含
UID: TBD的需求为每项需求分配唯一标识符
步骤 4:验证 UID 分配结果
再次打开文件。此时应看到类似以下内容:
UID: ZEP-SRS-17-2
STATUS: Draft
TYPE: Functional
COMPONENT: File System
TITLE: Create file
STATEMENT: >>>
Zephyr shall provide file create capabilities for files on the file system.
<<<
注意:可以在 strictdoc.toml 中配置 UID 格式。
可选:生成 HTML 文档
要构建 HTML 版本的需求文档:
strictdoc export .
这将在 output/ 文件夹中生成可浏览的文档。
可选:启动 Web 编辑器
要以交互方式浏览和编辑需求:
strictdoc server .
这将启动一个本地 Web 界面,用于编辑和评审需求。
总结
在
docs/中创建或编辑需求,并将 UID 设置为UID: TBD运行
strictdoc manage auto-uid .以分配 UID可选择生成 HTML 文档或启动 Web 编辑器
StrictDoc 帮助 Zephyr 在各个平台上维护结构化、可追溯且可编辑的需求。