Unified Modeling Language
Wikipedia defines UML like so:
In the field of software engineering, the Unified Modeling Language (UML) is a standardized specification language for object modeling. UML is a general-purpose modeling language that includes a graphical notation used to create an abstract model of a system, referred to as a UML model.
UML is an excellent tool to assist in the development of any OOP software project, as it gives the developer(s) a good physical representation of the logical flow of data within the project.
UML diagrams can be used to represent three distinct views of a system:
- • Functional requirements
- Emphasizing the user's functional requirements, and includes use-case diagrams.
- • Static structure
- Covering the system's objects, and the attributes that describe them, the actions the object can execute, and how the system's objects relate to one another. Uses include class diagrams and composite structure diagrams.
- • Dynamic behavior
- Modeling the interaction between the system's various objects using sequence diagrams, activity diagrams, and state-machine diagrams.
Activity Diagram
More likely than not, if you are a beginning programmer, the type of UML you are most likely to use is the activity diagram. It is used to indicate a step-by-step workflow
of your application logic. It can be a top-level overview of your entire project, or can also model specific sequences within the project. Here is a good example (acquired from Wikipedia, of course):

This specific example demonstrates an abstract view of a for loop
, but every conditional statement can be modeled using an activity diagram.
UML Downloads
Click here to download a trial of Microsoft Visio 2007. Note: Requires Windows XP, or Vista, 256MB of RAM, and a minimum of 1.5 gigabytes of free hard drive space.
Click here to download a trial of SmartDraw. Note: Requires Windows 2000, XP, or Vista, 256MB of RAM, and a minimum of 3 gigabytes of free hard drive space.
