您在此练习中确定构成 PiggyBank 在线银行系统的主要对象。您可以将这些对象描述为类,因为 UML 类提供了描述对象的属性和关系的便捷模板。您可以通过分析项目需求文档和特别强调所有名词,来发现主要的 PiggyBank 对象。您可以将普通名词分组到一个列表中,然后将它们标为一个实体、控制器或边界类型类。这些类创建领域图,而这些领域图又形成设计模型的基础。
分析模型的重要输出是领域模型。领域模型尝试通过对参加功能任务的主要参与者和实体进行建模,来对应用程序的静态结构进行建模。领域模型由一个或多个基本类图组成,这些基本类图描述类名以及描述类行为的一个或两个主要属性。领域图是系统的简要蓝图。
在创建领域图之前,必须确定 PiggyBank 在线银行系统的主类,这些主类在项目用例文档中有描述。一般而言,这一步是反复的,因为在了解系统各部分如何互相交互之前,确定正确的系统结构并对它进行建模可能会很困难。您将在分析用例文档的过程中创建对象列表,然后通过在构建系统的动态模型时添加、除去或重组类来修改您的列表。在本教程中,为您指出了在需求文档中描述的主类。
要确定主要的 PiggyBank 对象,您必须首先分析用例文档,并列出所有出现的名词。此列表提供了构成领域图的实体、控制器和边界元素的基础。以下列表包含在 PiggyBank 用例文档中描述的所有名词:
您可以通过删除代表对象实例的名词、作为其它对象的属性的对象、重复或相关的对象以及代表系统的次要部分的任何其它对象,以精简该列表。记住,这是一个反复的过程。在现实世界中,您将在完成领域模型和开始对分析模型的动态元素进行建模时精简该列表。在本教程中,被精简的候选类的列表在下面提供:
这四个类构成领域模型的基础。此精简的对象列表可能代表实体类,因为实体类通常最易于发现。其它类(这些类的实例或属性)描述主类的细节并提供有关这些类之间存在的关系的信息。
在确定了“类”列表后,您可以通过应用构造型,来按照它们的行为组织它们。构造型通过按照相似的特性或功能组织对象来使对象泛化。RUP® 分析构造型描述类的行为,方法是将它归类成三个构造型中的一个:实体、边界或控制器。您可以使用这些构造型类来创建您的系统的领域图。下表描述了 RUP 分析元素:
元素 | 描述 |
---|---|
![]() |
边界类描述系统和参与者之间的接口。如果参与者是人,边界类通常描述访问该系统的软件或硬件接口。如果参与者是系统(例如,计算机或其它软件应用程序),则边界类通常代表软件接口,例如,API。 |
![]() |
控制类包含业务规则和逻辑的实现。控制类是从用户按用途抽象出来的,并且只有边界类才能访问它们。控制类与一个或多个实体类交互。 |
![]() |
实体类捕获系统中的数据。 |
通过对“类”列表应用这些基本构造型,您可以更好地了解系统的结构和功能。当您按照功能组织类时,可以开始使系统领域和实施细节相区分。您可以使用这些构造型在以下练习中创建领域图和序列图。
要继续,请进入练习 2.3:创建 PiggyBank 领域模型图。