非功能性需求和功能需求示例

4
我正在分析奶茶管理网站,这是一个在线网站,可以帮助用户通过网上购买,卖家可以管理他们的产品和订单。
我需要为该网站制定非功能性需求和功能性需求,如下所示:
功能性需求:
注册
登录
将商品添加到购物车
提交订单
取消订单
非功能性需求:
购物车中可以添加的奶茶数量
我是否正确?你能给我一些建议让我更好地提高吗?我对这个领域还很新,请多关照。谢谢!
1个回答

4

功能需求

良好的功能需求应清晰地描述系统的行为。以下是一些例子:

  • "如果用户在登录时连续3次输入错误密码,则账户将被锁定24小时。"
  • "当电子产品添加到购物车时,用户应被提供购买保修选项。"
  • "如果用户在订单处理后尝试取消订单,则用户必须指定取消原因,该原因必须得到批准后才能发出退款。"

如果您想添加更多功能,请创建更多需求,不要将它们全部堆积在一起。例如,上面列表中的最后一个需求可以分成两个:(1)要求取消原因,(2)退款前需要审核。还可以通过制作表格(每个需求占据一行)或 JIRA Stories 来按特性组织需求。

确保您阅读了许多书写良好的需求示例,并进行实践。遵循清单,并让同事审查您的工作。始终问自己如何测试每个需求。如果您无法弄清如何为需求编写测试,那么如何证明产品按预期工作呢?

非功能性需求

非功能性需求也称为系统的“质量属性”或“约束条件”。购物车中可添加的可能项目范围(0..max)似乎是该字段的限制条件,因此我可以理解为什么有些人会认为这是非功能性需求。但是,您如何测试它呢?

相反,您可以像功能需求一样表达它:“当用户输入大于最大值的值时,请显示错误消息”。非功能性需求可能描述错误消息的颜色、大小和位置。非功能性需求还可以指定要使用的 UI kit 和遵循的样式指南。例如,“必须遵循 Google Material Design” (https://material.io)。

您还应熟悉非功能性需求类别(也称为“ilities”):

以下是网站的一些非功能性需求示例:

  • 性能:新用户账号的创建时间应在2000毫秒以内。
  • 可靠性:系统的可用性应至少达到99.9%。
  • 容量:系统应支持同时服务1000个用户。
  • 可扩展性:系统应具有水平扩展能力,以增加同时用户数量。
  • 易用性:用户应能够在3次点击内访问站点的任意页面。

参考资料

请仔细阅读这些由“系统工程知识体系”(SEBoK)制定的指南,并与团队共享:

如果您想深入了解大型敏捷需求方面的知识,请参考以下优秀书籍:


谢谢您的评论,对我非常有帮助,非常感谢。 - Jin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接