软件文档:在何处放置类图:在功能或设计规范中

时间:2012-04-23 14:12:18

标签: documentation uml class-diagram

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

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

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

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

不要不同意其他答案的逻辑。这是另一个可能相关或不相关的视角。

如果您的类图为问题域建模(例如Domain-Driven Design),那么它在定义问题域的语言(DDD术语中的“普遍存在的语言”)方面可能有更基本的用途。

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

以网上购物系统为例。您的功能需求可能会谈论“购买产品”,“将商品放入购物篮”,“退房”等。这些术语 - 产品,物品,购物篮 - 是隐含定义的。但与他们有关的规则呢?例如,一次可以在购物篮中放置多少产品?如果您想退房,是否必须通过一次付款支付所有物品?或者它们可以分开吗?

这些规则可以在类图上形式化 - 因此它可以是功能需求中非常有用的组件。

它是否适用于您将取决于(a)您的班级图表的内容,以及(b)您是否适用于您。您的需求利益相关者将受益于规则的明确性和它可以带来的术语。

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

第h

答案 2 :(得分:1)

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

希望它有所帮助