Class/Object Identification

Strategies

Brainstorming
  • Where a group of people sit around, and offer ideas
  • Initial list of objects is created
  • Attributes, relationships and methods are spoken about in the second round

Common object lists
  • A list of objects typically found in business

Includes

  • Actors (user)
  • Physical things (like a desk)
  • Events (like a meeting)
  • Interactions (like a sale)
Analysts of Use case descriptions
  • Nouns are typically classes
  • Information about nouns are typically attributes
  • Verbs are typically methods
Pattern

This is a group of classes that solve a common problem

Example: shopping, bank transactions

Class Responsibility Collaboration (CRD) cards

Used to identify the responsibilities and collaborations

Responsibility - Its methods, attributes and relationships

Collaboration - Other classes necessary for its responsibilities

CRC card & role playing example

It is good because it can help you find more objects

Team members play the roles of objects and actors

Act of each use case

Class, Attribute and Operation balance - Refuses to the fact that each must be used atleat once in one of the use cases, or there is no point in having it

Methods

Signature - Different attributes about a method like its name, return data type...

Messaging - Is when a method calls another method

Overloading - Methods within a class have the same name but with a different Signature

Overriding -

Public - External & internal methods can interact

Privet - Only internal methods can interact

Get and Set methods typically used for accessing privet attributes

Dont mention on the CRC cards ect... to save space

Note: abstract is represented with iltaics

Abstract Class - don't exist in the program, only used for abstraction (this does not mean all super classes are abstract)

Concrete Class - does exist in the program

Polymorphism -