Based on Guéhéneuc (2004) article (attached), describe how class diagrams can be used to document the structure of a Java program. What are some other models a programmer may need to fully understand the interaction between the various classes/objects in a Java program? What is the impact of not having diagrams that describe the program?
The structure of the Java language encourages the programmer to break up libraries into many classes, each describing a small part of the functionality. The class diagrams on the back cover are a good starting point for getting an impression of the relationships between classes
Class diagrams model the structure (rather than the behavior) of the class that makes up the system (or, more likely, the classes that make it up). These are depicted as simple boxes broken up into three general areas that show the name of the class, the class attributes, and the operations (methods, in Java). Class diagrams are widely used to define class structure in any programming language (Java, C++, and ...
What are some other models a programmer may need to fully understand the interaction between the various classes/objects in a Java program?