Project Smart

PRINCE2 | PMBOK | Microsoft Project | UML |


Contact Us | Glossary | Privacy Policy | Advertise | Tell a Friend | Site Map | GenSight Project Portfolio Management |

To display this page fully you need a browser with JavaScript support.

Unified Modeling Language (UML)

UML Logo

A key element of any project is understanding the customer requirements. This is where the Unified Modeling Language (UML) can help.

The development of the Unified Modeling Language (UML) began in October 1994 and represents a unification of the concepts and notations of Booch, Rumbaugh and Jacobson. UML is a technology independent notation used for modeling systems using an object-oriented paradigm.

Terry Quatrani has defined the notation as, "… the standard language for specifying, visualising, constructing and documenting all the artifacts of a software system."

UML 2.0 is comprised of thirteen diagram types split into structure, behaviour and interaction.

Structure Diagrams emphasise what things must be in the system being modeled:

  • Class diagram gives an overview of a system by showing its classes and the relationships between them.
  • Component diagram depicts how a software system is split up into physical components and shows the dependencies among these components.
  • Object diagram shows a complete or partial view of the structure of a modeled system at a specific point in time.
  • Composite structure diagram shows the internal structure of a class and the collaborations that this structure makes possible.
  • Deployment diagram shows the physical configurations of software and hardware.
  • Package diagram depicts how a system is split up into logical groupings and shows the dependencies among these groupings.

Behaviour Diagrams emphasise what must happen in the system being modeled:

  • Activity diagram shows the overall flow of control, essentially a flowchart.
  • Use Case diagram describes what a system does from the standpoint of an external observer.
  • State Machine diagram shows the dynamic behaviour of an entity based on its response to events, showing how the entity reacts to various events depending on the current state that it is in.

Interaction Diagrams, a subset of behavior diagrams, emphasise the flow of control and data among the things in the system being modeled:

  • Sequence diagram an interaction diagram that shows how operations are carried out, what messages are sent and when.
  • Communication diagram (UML 2.0) models the interactions between objects or parts in terms of sequenced messages.
  • Interaction Overview diagram (UML 2.0) defines interactions and is a variant of the activity diagram, which emphasises the high-level control flow.
  • Timing diagram (UML 2.0) a form of interaction diagram, where the focus is on timing constraints.

UML is accepted by the Object Management Group (OMG) External Link as the standard for modeling object oriented programs.

As well as for software design, UML notation can be useful during the requirements gathering stage. For instance, use case diagrams will show the users what they must do, as well as what the system will do for them. They can also be used as the basis for testing the application (creation of test plans) and development of user guides.

Good models ensure technical and architectural soundness, particularly for complex systems.

Critical Success Factors

To be successful at requirements gathering and to give your software development projects an increased likelihood of success:

  • Don't assume you know what the customer wants, ask
  • Involve the users from the start
  • Define and agree the scope of the project
  • Ensure requirements are specific, realistic and measurable
  • Obtain clarity if there is any doubt
  • Create a clear, concise and thorough requirements document and share it with the customer
  • Confirm your understanding of the requirements with the customer (play them back)
  • Avoid talking technology or solutions until the requirements are fully understood
  • Get the requirements agreed with the stakeholders before the project starts
  • Create a prototype if necessary to confirm or refine the customers' requirements
  • Use a recognised notation, such as UML, for modeling the software
  • Cross check the software design against the requirements and review regularly

UML Facts

  • The development of UML began in October 1994
  • The current standard is UML 2.0 a major rewrite
  • UML represents a unification of the concepts and notations of Booch, Rumbaugh, and Jacobson.
  • UML is accepted by the Object Management Group (OMG) as the standard for modeling object oriented programs
  • UML is a popular notation for creating models of object-oriented software
  • UML is technology independent and can be used for any type of software development
  • Specific UML development tools exist, but the diagrams can created using programs such as Visio
  • UML belongs to the Object Management Group (OMG) not Rational as many people believe

Comments page 0 of 0
Click here to add a comment
There are currently 0 comments to display.