UML Modeling#

In the rapidly changing landscape of information technology, new methodologies can often be looked at with skepticism when compared next to the classic processes that have been industry tried and tested. While there exists some merit to concerns of adopting new technologies, developers can often stunt their potential by not utilizing fresh tools. Unified Modeling Language isn’t exactly a new technology, but among fellow developers it appears to be largely ignored in spite of the powerful tool that it is.

UML is a powerful modeling tool designed to automate many elements of software development using related diagrams. After creating the various diagrams, one can then export their models directly into their programming language of choice. The most recent iteration of UML (2.0) contains 13 types of diagrams; each classified under three major categories – Structure diagrams, behavior diagrams, and interaction diagrams. Each category emphasizes different aspects of the software development life cycle.

Structure Diagrams
One can think of structure diagrams as they would a SQL database model. While not strictly limited to databases, these diagrams outline the static components of a project in addition to their relationships with each other. Classes, databases, and even the hardware in implementation can be modeled by these diagrams.

Behavior Diagrams
Although structure diagrams show relationships, they do not provide much detail on what the various components actually do. Behavior diagrams outline specifically what happens in the system between actors (users and their role) and the innards of the system.

Interaction Diagrams
Interaction diagrams are a subset of behavior diagrams, but have a more narrow purpose. They emphasize flow of control and data among the components in the system.

designing the various diagrams, one can then automatically generate source code from their skeleton bodies. This comes with a few advantages. For one, software developers are only human. We make mistakes and with conventional software design, the risk of misinterpreting what another developer was trying to achieve exists. With UML, as long as the system is designed correctly, the classes and database information will be generated accurately and quickly. The swiftness of the development time is another advantage. By utilizing it, one is automatically merging design time with development time, cutting down on the overall time spent on the project.

Class Diagram Example
Code Export Example 1 (User.cs)
Code Export Example 1 (UserInfo.cs)

Andy Callebs
Software Developer
Apax Software Development


Wednesday, July 01, 2009 4:14:38 PM (Eastern Daylight Time, UTC-04:00) #    Comments [0]  | 

 

All content © 2010, Ryan Hunter
On this page
This site
Calendar
<September 2010>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
Archives
Sitemap
Blogroll OPML
Disclaimer

Powered by: newtelligence dasBlog 2.3.9074.18820

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Send mail to the author(s) E-mail

Theme design by Jelle Druyts


Pick a theme: