5. 你的需求是不是过于模棱两可?参加更多的限定标准。留神:有些提纲挈领的描述并不是坏事,假设描述所包括的所有情况均可被接收,且测试的时候不需要附加的信息加以说明,那么就不要紧。你不需要(也不应该)把系统的行为限度得过火。 • 对上述的第四条需求,可能需要一些小修改能力作为测试尺度。让我们用“ADC端的输入电压应当保障在每100毫秒内至少被读取一次”来加以描述,这样的描述能让我们预期的测试行为显得更加通俗易懂。 定义: 1. 定义系统的边界。这也是黑盒系统所必要的。 2. 定义输入和输出。这也应当是你对待内部系统的独一方式。 4. 检验当ADC端的输入电压范围在0到1伏之间的时候,系统工作是否正常 1. 输出端应该由一个自在运动的定时器进行把持 第0版本的需求: 7. 你的需求文档通俗易懂么?如果你的需求文档十分难以读懂,那就解释你写得不好,只能给那些照着你的需求负责实行的人带来无尽的苦楚。如果是这样,回到第3步。 第四步:除了输入和输出以外,我们是否还涉及了其余的系统边界? • 工程师能够依据系统所说进行实现。 • 微处理器并不关怀从弯曲传感器读取什么样的数据,从处理器的角度来看,仅需要做的是丈量ADC脚的电压罢了。 1. 弯曲传感器应当保证至少在100毫秒内读取一次数据(放到正文单独列出) • 测试人员,在不与开发职员沟通的条件下,可以应用满意硬件请求的设备验证需求。 4. ADC端的输入电压应当每100毫秒读取一次 3. 用最易懂的方法描述系统的预期行为。 2. 自由运行定时器的频率最高不得高于每秒10次,不得低于每秒1次。 这样就好多了(只管还不完善)。这些需求通俗易懂,不波及到系统内部实现,且易于测试。对于系统行为的限定也仅仅限于需要做什么,点到为止。(例如,对弯曲传感器的采样频率,在实现上也可以更高,只有不发生非预期行为,所有都可以)。 • LED状态:数字状态由Y端输出 • 需要的第五条也须要一些小修正。咱们如何才干检测电压的输出范畴是在0到1伏之间呢? 总不能给个2伏的电压,而后看看元器件有不被销毁吧? 3. 当曲折传感器的读数为1伏特时,LED状况切换的次数应当保持在均匀一秒十次;当传感器的读数为0伏特时,LED的切换次数应坚持在一秒1次。 6. ADC输入端的电压有效规模应当被控制在0到1伏之间。 2. 切换LED的状态,使其与弯曲传感器的读数保持一致 -->从较高的档次来看,书写需求文档的目的就是要供给对所需行为的有效描述。该所需行为可用一个黑盒系统描述,并需要注意以下细节: • 在这个例子里,我们将把黑盒画到设备的微处置器上。 • 最终产生的结果知足终端用户的要求。 4. 除了输入和输出之外,你的需求是不是还涉及了系统的其他局部?如果是,那么你的需求就设计过度了。重构需求,让它变得精简。 例子:下面的例子,让我们描述一个自制的嵌入式设备的需求,这个设备能从弯曲传感器上读取弯曲的频率,并根据不同的频率值让一个LED闪烁。 编写需求就好像是在大脑中构建软件的进程。因而要重于履行操作。 下面,让我们来修改这个问题: • 输入:从弯曲传感器读取数据。 8. 你是不是真的做到了第4步?你确认么?再检讨一下。 • LED仅由数字输出脚控制。 然而我们跳过了步骤1: 比拟于我们本来的描述:“根据弯曲传感器的输出不同频率来掌握LED闪耀”,我们上面的那些需求描述显得难以浏览和懂得。 第五步:需求写模棱两可么? 2. 数字输出端的切换频率应当在最大值跟最小值之间呈线性变更,并与ADC端的输入电压成正比
编写需求文档,在嵌入式开发范畴是无比广泛的。需求文档被用来定义开发义务,和谐大范围的研发打算。对于终极的产品,需求文档表演着开发者行为和花费者行为之间沟通纽带的角色。当需求文档书写正确的时候,便可以施展宏大的作用。然而,如果你在嵌入式开发领域工作的时间足够长,你就会很快发现,这个领域里分歧格的需求文档切实是太多了。当你尝试对这些不及格的文档进行修复时,你又会很快发现,书写正确的需求文档绝非易事。在这里,我们提出一些倡议,盼望能将书写正确需求文档这件事件变得清楚一些。 最根本的准则是:需求文档应当尽量简练,用最易懂的描述来束缚系统的预期行为。如果你遵循这个原则,剩下的那些主要因素(可测试性、防止适度设计等等)都将变得牵强附会。 1. 该设备应当根据ADC脚的不同频率的电压,来切换数字输出端的状态。 让我们用“数字输出端变化的频率应控制在每秒10次和每秒1次之间”来取代自由运 行定时器的测试标准。 版本1 • 弯曲传感器:输入电压位于ADC的X端。保险电压范围为0到1伏特(放到解释单独列出) • 首先,自由运行的定时器在这里不需要提及。 由于对它基础上无法进行黑盒测试,它既不是输入也不是输出,而且跟这两者也没有什么接洽。 列举一下更具体的规矩,通常会更有辅助。下面是书写优质需求文档需要遵守的步骤: 版本0.1 让我们持续往下进行, • 输出:LED。 版本0.2 显然,我们已经实现了步骤2和步骤3了! 黑盒测试书写优质的需求文档: 6. 你的需求是否可测试?(这里指的是黑盒测试)假如不是,你最好返回到第4步。如果这种返工产生很屡次,那就阐明你的黑盒无法准确描述系统,或者你的测试工具不够优良。无论是哪种情形,不可测试的需求文档简直就是一文不值的。 恩,我们的描述太不置可否了。输出端切换的速度要多快? 跟电压的关联如何? 输入电压的范围是多少? 让我们加一些更细节的描述吧: 1 2 下一页第七步:你的需求是否通俗易懂? 5. 当ADC真个输入电压端被读入时,节制自由运行定时器周期时光的注册值也应当被更新。 那么,说“测验体系在ADC端输入电压为1到2伏之间的时候,工作是否畸形”,这样就检修就轻易多了。需求描述应当是“正面”的,应当描写装备“应当”的行为,而不是设备“不应该”的行动。否则的话,测试将会无奈进行。 3. ADC端的输入电压应当保证在每100毫秒内至少被读取一次 第六步:你的需求是可测试的么? 1. 数字输出端的切换频率应当控制在每秒10次到每秒1次之间 我发明,让需求文档变得艰深易懂,最简略措施莫过于,把过于细节的货色抽掏出来,然后以条目标情势独自定义。 3. 自由运行定时器的触发频率应当在最高和最低值之间呈线性变化,并与ADC端的输入电压成正比。 相关的主题文章: (责任编辑:admin) |