Project Smart ~ Exploring trends and developments in project management today

Calendar iconNot recorded
Adobe PDF icon

Unified Modeling Language (UML)

~ By Duncan Haughey

Unified Modeling Language (UML) logo

An essential element of any project is understanding the customer requirements, and this is where the Unified Modeling Language (UML) can help you.

The development of the Unified Modeling Language (UML) began in October 1994 and represented a unification of the concepts and notations of Booch, Rumbaugh and Jacobson. UML is a technology independent notation used for modelling 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 comprises of thirteen diagram types split into structure, behaviour and interaction.

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

  • 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 modelled system at a particular 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 modelled:

  • 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 behaviour diagrams, emphasise the flow of control and data among the things in the system being modelled:

  • 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 maintained by the Object Management Group (OMG) as the standard for modelling object-oriented programs.

As well as for software design, UML notation can be useful during the requirements gathering stage of a project. For instance, use case diagrams will show the users what they must do, as well as what the system will do for them. Also, use the diagrams 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 in requirements gathering and to give your software development projects an increased likelihood of success:

  • Don't assume you know what the customer wants - always ask
  • Involve the users from the start
  • Define and agree on the scope of the project
  • Make sure requirements are SMART - specific, measurable, agreed upon, realistic and time-based
  • Gain 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 alongside 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 customer's requirements
  • Use a recognised notation, such as UML, for modelling 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.5 officially released in June 2015
  • 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 modelling object-oriented programs
  • UML is a popular notation for creating models of object-oriented software
  • UML is technology independent and used for any software development purpose
  • Specific UML development tools exist, but the diagrams can be created using programs such as Microsoft Visio
  • UML belongs to the Object Management Group (OMG) not Rational as many people believe

Comments

Be the first to comment on this article.

Add a comment



(never displayed)



 
2000
Out of 90, 76 or 12, which is the largest?
Notify me of new comments via email.
Remember my form inputs on this computer.

Is Your Project Proposal READY?

Businessman saying: Are you ready in retro style pop art

The mnemonic READY is useful when creating a project proposal. It will help you produce a project proposal that's difficult to ignore.

Demand a Strong Project Plan

Gantt chart

What to look for to advance your consulting projects from contract to execution.

How to Get the Most From Your Project Team

Project team in a huddle

Project management is people management. Here's our reminder of how to make sure you get the most from your project team.

Introduction to Scrum

Rugby scrum in a big push

Scrum is one of the simplest agile methodologies and is proven to be highly effective for software development and more general product development.

PROJECT SMART is the project management resource that helps managers at all levels improve their performance. We provide an important knowledge base for those involved in managing projects of all kinds. With weekly exclusive updates, we keep you in touch with the latest project management thinking.

WE ARE CONNECTED ~ Follow us on social media to get regular updates and opinion on what's happening in the world of project management.


Latest Comments

Allana commented on…
12 Tips for Being a Good Manager
- Tue 5 January 8:30pm

George Bockius commented on…
Better Coaching Using the GROW Model
- Thu 24 December 3:55pm

Al commented on…
Better Coaching Using the GROW Model
- Tue 22 December 10:07pm

Latest tweets

General Project Management • IT project management phrases - 10 terms you need to know https://t.co/0ThVkIz5JU https://t.co/AqimD0V75x about 13 hours ago

General Project Management • An Optimist's View Going into 2021 https://t.co/E8b4eh3wXr about 4 days ago

An Optimist's View Going Into 2021 by Simon Sinek https://t.co/1iRNMfYlUo An inspiring read to help you start 2021… https://t.co/xm5ZI4jBr5 about 9 days ago