如何在面向对象分析过程中识别类 (identifying classes)

如何在面向对象分析过程中识别类 (identifying classes)

发现类的一种简单而有效的方法是使用一种被称为名词/动词的技术分析和语法检查。这涉及到深入研究高层次的需求文件、营销材料和其他能洞察问题的材料
域 (换句话说,就是由新系统应该面对的问题定义的领域解决)。请参阅使用UML进行用例驱动对象建模, 以获得如何执行的示例使用一套文本要求进行语法检查。

许多人将快速原型作为与用户一起探索需求的工具。让我们看看我们如何使用Internet书店的原型HTML页面来发现一个小子集在整个书店建模中我们需要的类。我们从一页开始
显示特定书籍的详细信息。

在脑海中快速回顾一下这一页,就会发现以下几类课程是适合的:

  • 当然,有一本书 (book),至少有一个作者 (Author)。
  • 有一个出版商 (Publisher)。
  • 这本书可能会有一个或多个评论。这些评论分为两种类别: EditorialReviews 和 CustomerReviews。(你知道怎么做了区别在第二章。) 每个审阅器都有一个与之关联的审阅器。

如果我们向前推进,设想一下,这个页面的读者购买了这本书,接下来的其他潜在的类进入了视野:

  • 查看器将成为一个Customer,并具有一个关联的Account。
  • 这本书成为了一个訂単 (order) 的一部分。
  • 订单必须有 BillingInformation 和 ShippingInformation,以便去书店拿钱,然后把书寄出去。

更深入地分析一下就会发现下面两个类的需求:

  • 正如我提到的,一本书可以有多个作者,但一个作者可以有更多也不止一本书。为了避免多对多关系,我们需要一个
    BookAndAuthor类。

书店 (Book Store) 使用各种运输公司 (Shipper Campanies),因此需要一个Shipper类 。 那么,结果就是下面的一组名词 (noun) 和名词短语 (Noun Phrases):

  • 账户 (account)
  • 作者 (Author)
  • BillingInfo
  • 书 (Book)
  • BookAndAuthor
  • 客户 (Customer)
    CustomerReview
    EditorialReview
  • 订单 (Order)
  • 出版商 (Publisher)
  • 审查 (Review)
  • 评论家 (Reviewer)
  • 托运人 (Shipper)
  • ShippingInfo
请注意:

这个例子代表了一个基本正确的想法:找尽可能多的名词尽量从名词短语开始,只分析、精炼和扩展列表以后。不管你怎么做,发现课程都是一件很棒的事
给你的模特生涯开了个好头。

 

统一建模语言 (UML) 參考檔