"Object classes may be thought of"
"as special kinds of types while methods are special kinds of processing module. However the use of polymorphism and hierarchy creates an explosion in the kinds of dependencies that need be considered:
- class-to-class dependencies
- class to method
- class to message
- class to variable
- method to variable
- method to message
- method to method
Environments for maintaining OOP's need to provide ways of browsing these different kinds of relationships ... Multi-Window displays would seem to be a minimum requirement to display enough information."
"Understanding of a single line of code may require tracing a chain of method invocations through several different object classes and up and down the object hierarchy to find where th work is really getting done."
"Another source of the problem is that it may not always be easy to determine which of two or three object classes should be the host for a given function."
"Dynamic analysis may be the best solution. A test case is needed that causes the system to exercise the functionality that is being sought."
"Some of the main proposals may be summarized as follows.
- Environments for object-oriented maintenance need to address the problem of dynamic binding.
- Statistical clustering tools would form a very useful component of an object-oriented maintenance environment.
- The storage and analysis of external dependency information for methods could aid in controlling some of the semantic problems of polymorphism.
- Designers of several different kinds of tools could find an appropriate paradigm in the concept of Dependency Analysis whith its emphasis on tracing chains of relationships."
|