|
Function-Class
Decomposition
The Object-Oriented (OO) approach
has been highly touted for its ability to support the development of reusable
software systems. However, practice has shown that it can be hard to manage
the complexity of large projects using purely OO techniques.
For example, the developers
of the now infamous Mars Pathfinder Mission testified that when they followed
"text-book" OO methodologies they immediately encountered problems
because of the large number of identified classes. They concluded that
OO's bottom-up approach was impractical in relation to their project's
size and complexity, and so chose an approach that combined top-down functional
decomposition's ability to compartmentalize the problem with OO's ability
to identify and model the behavior within each compartment.
Function-Class Decomposition
(FCD) describes such a systematic approach to integrating top-down functional
decomposition with OO decompovsition of classes within the functional
modules.
|