1

我正在编写我必须开发的软件的文档。我尊重 V 模型:

http://sqa.fyicenter.com/FAQ/Software-Development-Models/models_1.JPG

我的问题是:我应该在哪里使用 UML 类图,在功能规范或设计规范中?

4

3 回答 3

2

不要不同意其他答案的逻辑。这是另一个可能相关也可能不相关的观点。

如果您的类图对问题域进行建模(例如Domain-Driven Design),那么它可以在定义问题域的语言(DDD 术语中的“无处不在的语言”)方面具有更基本的目的。

因此,它实际上更像是一个正式的词汇表,而不是一个(软件)设计工件。因此,它定义了功能规范中使用的术语。

以在线购物系统为例。您的功能需求可能会涉及“购买产品”、“将商品放入购物篮”、“结账”等。这些术语——产品、项目、购物篮——是隐含定义的。但是与它们相关的规则呢?例如,一次可以在一个购物篮中有多少产品?如果您想结帐,是否必须一次性支付所有项目?或者他们可以分开吗?

这些类型的规则可以在类图上形式化——因此它可以成为功能需求的一个非常有用的组件。

它是否适用于您将取决于(a)您的类图的内容,以及(b)您和您的需求利益相关者是否将从它可以带来的规则和术语的清晰性中受益。

正如我所说:另一种观点。

hth。

于 2012-04-23T20:27:58.473 回答
2

类之间的关系以及其中的属性/方法的细节与系统将要做什么无关,而是与系统将如何完成工作无关。出于这个原因,我将 UML 类图放在设计规范中。

此外,我通常不会将整个类图放在设计规范中,但也会将其中的某些部分(如果有的话)集中在特定主题(整个系统的子任务)上。我主要使用类图(当然还有序列图)来设计应用程序以使我的头脑清楚地看到解决方案,但不是为了记录它:类图可能(并且将会)经常从我的第一个改变,主要是由于重构.

于 2012-04-23T14:16:36.693 回答
1

我会说这更多的是设计规范。在功能规范中,您要考虑软件必须做什么,在设计规范中,您可以开始起草一些 UML 以及代码用户界面的模型。

希望它有所帮助

于 2012-04-23T14:18:43.657 回答