软件需求规范
软件是根据客户给出的需求开发的。任何与需求的偏差都被视为软件缺陷。因此,在实施软件时,开发人员应格外小心,以便根据需求和规范进行开发。
什么是软件需求规范?
软件需求规范描述了在目标环境中执行特定功能的软件的规范。它包括软件要服务的多个目标。它可以由客户或开发人员编写。
对软件需求规范做出贡献的客户主要关注最终用户的需求和期望。编写软件需求规范的开发人员有多种目的,包括定义客户和开发人员之间的合同。
软件需求规范的特点
软件需求规范的特点如下 −
1. 正确性
进行客户评审是为了描述软件需求规范中的适当需求。如果它涵盖了软件应该具有的所有要求,则被认为是理想的。
2.完整性
在以下条件下,软件需求规范被视为完整 −
- 应包括涵盖所有功能、设计、架构、性能参数、依赖项、约束、属性、接口等的所有强制性要求。
- 它还应包含对有效和无效输入数据集的软件响应。
- 它应包含各种图形、图表、单位和术语的标签和描述。
3. 一致性
如果任何需求的子部分都不相互矛盾,则软件需求规范被视为一致。软件需求规范文档中出现的不同类型的冲突如下所列 −
- 现实生活中实体的某种行为可能会相互矛盾。例如,输出报告的格式可能在一个需求中定义为 pdf,但在另一个需求中可能以文档格式定义。一个条件可能描述所有输出应为整数类型,而另一个需求描述所有输出应为 long 类型。
- 两个特定活动之间可能存在合理或暂时的冲突。例如,一个需求可能定义软件应每天处理付款,但另一个需求可能描述软件应每小时处理付款。一个条件可能说明付款将在成功下订单后处理,但另一个条件可能描述这两项活动应共存。
- 多个需求可能使用不同的术语描述类似的现实生活实体。例如,用户输入在一个需求中可以称为警报,而在另一个需求中称为对话框。
4. 明确
如果每个需求都有一致的解释和独特的描述,则软件需求规范被认为是明确的。所有需求都应该清晰,并且易于解释。
5. 稳定性和重要性排序
软件需求规范中的每个需求都应根据其稳定性和重要性进行排序。所有需求可能并不相似,对于某些需求,先决条件是强制性的,而对于其他需求,可能并非如此。所有这些因素都应明确描述。其他因素包括必需、最好有和可选的需求类别。
6. 可修改性
软件需求规范中的所有需求都应该是可修改的,并且每个更改都应交叉引用和索引。
7.可验证性
软件需求规范中的所有需求都应通过广泛的定期评审进行验证。
8. 可追溯性
软件需求规范中的所有需求都应可追溯到每个需求的来源。它们还应参考未来将发生的所有开发或增强。
9. 设计独立性
应该有一个选项可以从软件的各种设计方案中选择一种设计。软件需求规范不应包含软件的任何实施细节。
10. 可测试性
软件需求规范应以简单的语言描述,以便可以轻松从中生成测试计划和测试用例。
11. 易于理解
软件需求规范语言应清晰易懂。它不应包含任何正式的符号和符号。
12.抽象
如果在需求分析阶段描述了软件需求规范,则应明确说明。
可追溯性类型
下面列出了不同类型的可追溯性 −
向后可追溯性
这取决于明确指向其来源的单个需求。
前向可追溯性
这取决于软件需求规范中的各个元素具有不同的编号或名称。它对于维护和操作阶段非常重要。由于代码和设计发生了变化,因此应确保这些变化与新需求保持一致。
软件需求规范的属性
下面列出了软件需求规范的属性 −
- 软件需求规范文档应简洁、清晰、统一和完整。不必要的和冗余的描述会降低其可读性,并使其更容易出错。
- 软件需求规范文档应遵循系统方法。它经过各种修改以适应所有客户要求。此外,由于其结构化的格式,在软件需求规范中纳入变更变得很容易。
- 软件需求规范文档应广泛涵盖软件的黑盒需求。这意味着它应该描述软件从各种输入集生成的输出。它定义了软件的外部特征,而不涉及其内部实现细节。
- 软件需求规范文档应包含对软件中不需要的事件的响应。因此,它应该总结对极端情况的响应。
- 软件需求规范文档应包含所有正确的需求。
结论
这就是我们对软件需求规范教程的全面介绍。我们首先描述了什么是软件需求规范、软件需求规范的特点是什么、可追溯性有哪些不同类型以及软件需求规范的属性是什么。这让您对软件需求规范有了深入的了解。明智的做法是继续实践您所学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。