UML (Unified Modeling Language) is a successful example of two-dimensional software visualization that is widely used in both academic and enterprise environments for object-oriented software development. The presented work ( UML3D ), which is included in the CONCEPT (Comprehension Of Net-CEntered Programs and Techniques) framework, applies 3D visualization techniques to UML to take advantages of 3D space and the additional features that can be applied in the 3D space. The UML3D project also integrates a self-organizing layout algorithm for both traditional 2D UML and 3D UML diagrams. The use of layout algorithms can reduce the complexity of a graph and facilitate the task of program comprehension. Moreover, UML3D addresses some other shortcomings of UML by providing intuitive navigation and interactions with the diagrams. We also discuss the use of source code analysis like program slicing and coupling to improve the scalability, usability and navigability of the visual representations. An initial usability study of UML3D based on the SUMI (Software Usability Measurement Inventory) questionnaire was performed to study the ease of use and to identify future research directions.