Structural Modeling Objects

Classes

  • Templates for instances of people, places, or things.

Attributes

  • Properties that describe the state of an instance of a class (an object).

Operations

  • Actions or functions that a class can perform.

Relationships

  • Describe how classes relate to one another.
  • Three basic types in UML:
    • Generalization:
      • Enables inheritance of attributes and operations.
      • Represents relationships that are “a-kind-of”.
    • Aggregation:
      • Relates parts to wholes or assemblies.
      • Represents relationships that are “a-part-of” or “has-parts”.
    • Association:
      • Miscellaneous relationships between classes.
      • Usually a weaker form of aggregation.

Object Identification

  • Textual analysis of use-case information:
    • Nouns suggest classes.
    • Verbs suggest operations.
  • Creates a rough first cut to provide an object list.
  • Brainstorming: People offering ideas.
  • An initial list of classes (objects) is developed.
  • Attributes, operations, and relationships to other classes can be assigned in a second round.

Common Object Lists

  • Physical things
  • Incidents
  • Roles
  • Interactions
  • Patterns:
    • Useful groupings of collaborating classes that provide solutions to common problems (are reusable).
    • Developed patterns provide a starting point for work in similar domains.