Analysis: Class Identification



index
Disabled back button Next Section
printable version




Section 0: Module Objectives or Competencies
Course Objective or Competency Module Objectives or Competency
The student will be able to assess and apply Object-Oriented analysis and design methods like use cases to express user requirements, UML modeling, and other OO approaches. Understand the processes used to create class diagrams.


Section 1: Overview

Different approaches have been suggested to aid the analyst in identifying a set of candidate classes for the structural model.



Section 2: Textual Analysis

Note that while the textbook refers to this as "Object Identification", that name is inaccurate.

Although it was featured in an earlier set of notes, here again is the video on Finding Classes:


Textual analysis

The analyst performs textual analysis by reviewing the use case diagrams and examining the text in the use-case descriptions to identify potential classes, attributes, operations, and relationships.

Textual Analysis Guidelines
Textual Analysis Guidelines.
Example of Textual Analysis

Given the following use case description:

Use case for patient.

Textual analysis helps to identify potential classes for an old patient, doctor, appointment, patient, office, receptionist, name, address, patient information, payment, date, and time.

It also helps to identify potential operations that can be associated with the identified classes: patient contacts office, makes a new appointment, cancels an existing appointment, changes an existing appointment, matches requested appointment times and dates with requested times and dates, and finds current appointment.



Section 3: Brainstorming

Brainstorming is a group creativity technique by which efforts are made to find a solution for a specific problem by gathering a list of ideas spontaneously contributed by its participants.



Section 4: Patterns

A pattern is a useful group of collaborating classes that provide a solution to a commonly occurring problem.

Sample Patterns
Sample patterns.
Example with Patterns

The following image portrays a class diagram created by merging the patterns contained in the figure above into a single reusable pattern.

In this manner, using patterns from different sources in enables the development team to leverage knowledge beyond that of the immediate team members and allows the team to develop more complete and robust models of the problem domain.

Intergration of Sample patterns.

Appointment may be considered to be a type of transaction in which a doctor’s office participates.

Useful Patterns

The following table lists some common business domains for which patterns have been developed and their source. These can serve as a useful starting point in identifying needed classes and their attributes, operations, and relationships.

Useful patterns.


Section 5: CRC Cards

Class-Responsibility-Collaboration cards are index cards used to document the responsibilities and collaborations of a class.

CRC Card Front.

CRC Card Back.

Responsibilities

Collaboration


CRC Approach

Video Overview

Here is a video on using CRC cards:

Video Overview

Here is a video on Software Engineering Chapter 5 CRC Cards: