一种简单而有效发现类的方法是使用一种称为名词/动词分析和语法检查这包括彻底检查高层次的需求文档、市场资料和其他能揭示问题领域(即新系统应解决的问题所定义的领域)的资料。
参见使用UML进行用例驱动的面向对象建模以了解如何对一组文本需求进行语法检查的示例。
许多人使用快速原型作为与用户探讨需求的工具。让我们看看如何使用一个互联网书店的原型HTML页面来识别建模整个书店所需的一小部分类。
我们从一个显示特定书籍详细信息的页面开始。
在脑海中快速回想这个页面,会发现以下类是合适的:
- 当然,有一个书籍,至少有一个作者.
- 有一个出版商.
- 这本书可能有一个或多个评论。这些评论分为两类:编辑评论和客户评论。(你将在第2章中了解它们的区别。)每个评论都有一个相关的评论者.
如果我们继续设想用户在查看页面后购买这本书,其他潜在的类就会显现出来:
- 查看者变成一个客户,并有一个相关的账户.
- 这本书成为某个订单.
- 订单必须包含账单信息和配送信息以便书店能够收取款项并寄送书籍。
进一步分析表明需要以下两个类:
- 如前所述,一本书可以有多个作者,但一个作者可以撰写多本书。为了避免多对多关系,我们需要一个书籍与作者类。
书店(书店)使用各种快递公司(快递公司),因此需要一个快递公司类。
因此,最终的名词(名词)和名词短语(名词短语)集合包括:
- 账户
- 作者
- 账单信息
- 书籍
- 书籍与作者
- 客户
- 客户评论
- 编辑评论
- 订单
- 出版商
- 评论
- 评论者
- 快递公司
- 配送信息
注意:
此示例说明了一个基本原理:尽可能从需求中找出名词和名词短语,然后对其进行分析、精炼和扩展。无论你采用何种方法,识别类都是开启建模之旅的绝佳方式。