Guideline: Identifying Special Needs Classes
There is a non-trivial percentage (normally 3-5%) of classes that require special optimization. Most of the time in detailed design is spent on those "special needs" classes.
Relationships
Related Elements
Main Description

Most classes in an analysis collaboration will function perfectly well in a design collaboration. There are a few classes that may have "special needs" because they are highly complex - either in terms of functionality or data structuring - or because they are a part of a path or environment that has critical performance or quality of service requirements.

A class requires special optimization when it is either complex or when it is part of a path which requires optimization. Complexity can be structural (data structures or relationship sets) or behavioral (functional complexity of operations or state machines). Frequently, collections of classes work together in high-bandwidth paths that require special optimization as well.

The "special needs" classes may be optimized in terms of

  • function/method decomposition
  • data typing and structuring
  • relations to other elements
  • state machine execution
  • activity diagram execution
  • port structure
  • internal part decomposition
  • pre- and post-condition checking
  • error handling and correction
  • safety and fault tolerance
  • memory or resource usage
  • time (e.g. worst case, average case, predictability)