Imagix 4D User Guide


UML Diagram Views

The Unified Modeling Language has overwhelmingly become the method of choice for forward engineering of object-oriented systems. Within this method, class diagrams are the primary representation of the static design of a system. The UML Class Diagram view applies this representation to help you understand the interfaces, collaborations and relationships of your existing software.

In the resulting graph, the representation of each class includes information about that class's members. Relationships between classes are displayed at both the class level (Inheritance / Generalization and Aggregation) and the member level (what UML classifies as associations).

While UML Class Diagram view is only available for viewing C++ and Java code, there is a similar view, UML File Diagram, which is available for analyzing C software as well. The UML File Diagram applies the same representation to show the system's static design at a file level.

The UML Task Collaboration Diagram view has a more targeted focus, supporting analysis of multi-tasking, multi-threaded systems, specifically by showing how tasks communicate through the shared variables. This view is derived from the COMET methodology described by Hassan Gomaa. The same task definitions used by the Task Flow Check reports are applied here (see the User Guide section `Task Flow Checks').

In these views, you are able to start with simple as-built UML diagrams, and then control the display of member and relationship information to achieve an accurate, comprehensive understanding of complex systems.

The Display Format mechanism enables you to control what types of relationships are displayed. In the class and file diagrams, Imagix 4D knows of, and can display, the symbol to symbol relationships at both the container (class or file) level and the underlying member level (associations). Relationship controls in the task collaboration diagram provide filtering on the usage, critical region protection and specific tasks, functions and variables involved. By controlling which relationship types are displayed, you achieve a balance between seeing the information you need and being overloaded with data.

The Display Format also enables you to control which types of members appear internally in the class, file, task or shared variable containers. In the class and file diagrams, the member settings and the member-level relationship (association) settings interact in determining which actual members and relationships appear in the diagrams. Member-level relationships can only displayed for members which are displayed. And if the format is set to show associated members rather than all members, then the member-level relationship settings will limit which members are displayed.