On Object-oriented Approach to Program Modularization

V. Shtern (USA)


Object-Oriented Programming, Software Quality Criteria,Software Maintenance


For decades, both industry and academia have been searching for solutions to the software crisis. Today, Java, C++ and C# are viewed as adequate building tools: they support the object-oriented approach. However, the quality criteria that the object-oriented approach offers (information hiding and encapsulation) are not sharp enough: they still make it too easy to write code with numerous dependencies between parts of the program. Maintenance programmers have difficulties understanding these dependencies. To facilitate maintenance and further program evolution, programmers need more guidance in breaking program functionality into cooperating pieces. To improve quality of code, three guidelines are proposed here for making code modularization decisions. The first guideline requires the programmer to push responsibilities from client classes to server classes. The second guideline requires the programmer to avoid tearing apart what should belong together in the code. The third guideline requires the developer to reduce the visibility of program objects to other parts of the program. The use of proposed guidelines minimizes dependencies between program components and reduces the number of things that the developer (and the maintainer) keeps in mind, and makes it easier for the maintainer to understand the intent of the developer.

Important Links:

Go Back