使用案例和功能需求有什么区别吗?

17

我很好奇,因为似乎每个人都对这件事有不同的看法。在创建SRS文档时,您是否需要使用用例和功能需求,还是只需要一个,因为功能需求会扩展用例?


我投票关闭此问题,因为它与编程无关。 - Vadim Kotov
3个回答

16
你需要同时使用用例和功能需求,还是只需要其中一种?
这两种方法的区别在于其处理方式。用例法被认为是收集基本需求的更有效手段,而功能需求法则确保出现完整的规范,可过滤出冗余、重叠和不需要的特性。
用例法考虑了外部用户(用户、进程、代理等)并确定他们如何与系统交互;而功能需求法从解决问题的角度考虑问题(我们如何利用这个特性来解决问题?)。
用例涵盖了演员、用户、方法、领域知识、独特技术等内容。用例可以导致完整的打包解决方案。功能需求法涵盖产品类别、产品变体、市场差异。功能需求法可以帮助开发精细调校的发布策略,其中功能是在之前版本的基础上进行开发和分层的。
另一种描述方式是,用例更多地是面向用户的规范,而功能需求更多地是面向开发者的规范。从语言和沟通的角度来看,据说用例方法能够产生易于理解的文档,并已使用最终用户的语言习惯。而功能需求则是使系统成为完整的、整合的整体的方法。
在现代SRS中,这两种方法都是构建一个完整、有用的系统所必需的。理想情况下,两者需要相互映射。无论从哪个方面开始处理,都不能忽视两种方法的好处。

8
另一种描述是,使用用例更多地是面向用户的规范,而功能方法更多地是开发人员的规范。认为这已经足够描述了。 - basickarl

3

完全由您决定是选择其中一个还是两者都要。

功能需求是一组要求,主要以文本形式定义正在开发的系统功能。用例图是软件系统的需求获取。两者都可以使用,这样做明显有优势。功能需求可以轻松用作单元测试用例,而用例可用于用户验收和集成测试。根据详细程度,用例图也可用于单元测试。

从历史角度来看,在面向对象软件开发中成为标准之前,功能需求被使用。因此,如果不使用两者,这些日子里用例是捕获系统功能需求的首选方法。

主要区别在于,用例图是系统要求的图形表示,而功能需求以文本形式呈现。用例也可以有文本,但主要关注图表本身,而功能需求则关注书面文本。


3

如果您需要同时使用两者(因为系统较大或较复杂),请将功能规格说明书保持高于用例级别。 如果您定义了功能规格说明书(例如BFD或其他符号),则可以在较低级别上有用地添加过程模型、故事映射、分层DFD或用例,具体视角取决于您的需求。DFDs和实体模型相互交叉核对。


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