UML Setting the Code Diagramming Standard

 
 
By Timothy Dyck  |  Posted 2002-04-15 Email Print this article Print
 
 
 
 
 
 
 

Object-oriented programming languages came into their commercial heyday in the 1990s, and one of the fringe benefits of object-oriented programming research was the development of a standard way to diagram the internal structure of programs.

Object-oriented programming languages came into their commercial heyday in the 1990s, and one of the fringe benefits of object-oriented programming research was the development of a standard way to diagram the internal structure of programs.

A standard managed by the Object Management Group, UML (Unified Modeling Language) is officially described as "the industry-standard language for specifying, visualizing, constructing and documenting the artifacts of software systems" (go to www.eweek.com/links to access the UML Resource Center Web site).

Grady Booch, Ivar Jacobson and Jim Rumbaugh, three leading software design experts who ended up working together at Rational Software Corp., initially designed UML.

There are seven basic UML diagram types, ranging from the high-level use case diagram, showing the people and tasks in a business process, to the low-level class diagram, showing class, method and variable names used in a particular program.

High-level diagram types such as use case, activity or sequence are effective ways for users (through an interview with someone who knows UML) to specify how applications should work.

Class diagrams, on the other hand, are programmers tools. UML-based modeling tools take completed class diagrams and use them to directly generate code. Modeling tools can also reverse-engineer existing code back to class diagrams to visually show how a programs components fit together.

One area that UML does not currently address is database modeling, now based on entity-relationship model diagrams. There is some exploratory work going on to see how UML could be used to do database modeling.

Other future directions for UML include models for designing real-time systems, more ways to describe the run-time behavior of software, and distributed computing modeling.

Using UML to describe software plans in a clear, visual way will help analysts ensure that their software plans meet business needs and help developers supply finished software that does the same.

 
 
 
 
Timothy Dyck is a Senior Analyst with eWEEK Labs. He has been testing and reviewing application server, database and middleware products and technologies for eWEEK since 1996. Prior to joining eWEEK, he worked at the LAN and WAN network operations center for a large telecommunications firm, in operating systems and development tools technical marketing for a large software company and in the IT department at a government agency. He has an honors bachelors degree of mathematics in computer science from the University of Waterloo in Waterloo, Ontario, Canada, and a masters of arts degree in journalism from the University of Western Ontario in London, Ontario, Canada.
 
 
 
 
 
 
 

Submit a Comment

Loading Comments...
 
Manage your Newsletters: Login   Register My Newsletters























 
 
 
 
 
 
 
 
 
 
 
Rocket Fuel