UML Java Reverse Engineering Tutorial - Windows Platform
GDPro 5.0
-1-
©2000 Advanced Software Technologies, Inc.
Java Reverse Engineering Overview
Overview
Java Reverse Engineering supports Java 1.2 as described in The Java Language Specification by James
Gosling, Bill Joy and Guy Steele and continues the reverse engineering model used for C++.
Java classes and interfaces generate class symbols in the class diagram.
Java class members and methods are added as attributes and operations within class symbols.
The GDPro system which is created during reverse engineering contains 100% of the structural
information present in the Java source code, except comments and white space.
The implementation diagram contains a source file symbol for each Java source file.
File dependencies are derived from Java "import" statements (similar to C++ #includes).
Java Reverse Engineering builds systems for UML.
Overview - Packages
Java uses a code packaging system which has no equivalent in C++.
C++: New name spaces can be created explicitly at any time using the "namespace" construct, and
implicit namespace exist for:
Method definitions
Class definitions
The "global" scope of a file and all of the files it #includes
Java: Java has no equivalent to C++'s "namespace" construct, but implicit namespaces exist for:
Method definitions (equivalent to C++)
Class definitions (including interfaces) (equivalent to C++)
Files (bound by the start and end of file)
Packages (collections of files in a directory)
Java Reverse Engineering fully supports Java's implicit namespaces.
Overview - Interfaces
Interfaces in Java provide some of the features of multiple inheritance without the headaches of full MI. A
class "extends" only a single superclass, but it can "implement" one or more interfaces. Interfaces
themselves can "extend" other interfaces.
An interface is not a definition of a class - it's a definition of a set of methods that one or more classes