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.