UML Overview

Motivation: Explaining UML's Directions
Credit: Imagenation

In a IT World looking for directions, UML-Unified Modeling Language is the source. UML provides the diagramming standards to depict visually the content, structure and processes of computing systems. So UML is about constructing maps of systems. Paradoxically, as UML loses its detailed descriptive power, it still gains in overall utilty for software development.

When a manager says "I need a map, an overview of the system and process" developers should be thinking not flowchart or ERD diagram but UML. UML can be used on three types of systems: 1)Existing systems needing quick description and documentation of how it works; 2)a transitioning system that needs to assess how a change of mission, priorities or constraints is going to effect the system; this might involve looking at adding, modifying and/or deleting some modules/packages in the system; and 3)a new or greensite system where the task is to plan, test and develop a system essentially from scratch. As most devlopers appreciate greensite development is rapidly becoming the exception not the rule in software development - the investment of tens of billions of dollars in Y2K re-engineering is proof of the value top management assigns to effectively working systems.

But just as all programming is maintenance programming, the converse is also true - all programming is new programming just with more or less interfaces and constraints. UML enables developers to not only discover and dilineate those interfaces and constraints but also to construct alternative design solutions and test the trade-offs for feasibility first; then optimizing the performance and usability of the new add-on system.

Now some experienced UML users and developers may take exception to this description of their language and tool. It lacks the planning and design thrust that is at the core of UML.

Top of Page  Tutorials Home