Pragmatic Modelling with UML and Use Cases

Pragmatic Modelling with UML and Use Cases

How to translate agile requirements in smart use cases and UML diagrams in a practical, pragmatic, productive and agile way ?

15-16 June 2016 (10-18h)
Location: Golden Tulip Brussels Airport (Diegem)
Presented in English by Sander Hoogendoorn
Price: 1450 EUR (excl. 21% VAT)
Register Now »

This event is history, please check out the List of Upcoming Seminars, or send us an email

Check out these related open workshops:

Check out our related in-house workshops:

 Learning Objectives

The use of modelling techniques in software development projects leads to higher productivity and better quality of both the design and the code, as well as improved maintainability of the produced software. A picture says more than a thousand words. By combining UML modelling with agile techniques, these models will be used by end users, business analysts, developers, and testers to discuss the software under development.

Why UML ? Why smart use cases ?

The modelling language UML is now a worldwide standard for modelling requirements, functionality, components and services. UML 2.x (currently UML 2.4) contains some modelling techniques like use case diagrams, activity diagrams, communications diagrams, class diagrams and package diagrams. These modelling techniques are used during the various phases of system development, like analysis, design, implementation and even during testing.

However, the UML specifications define the structure of these modelling techniques but not how to use them in practice. This workshop will provide insight in the different diagrams and particularly the power of the use case.

During this workshop, Sander Hoogendoorn presents the smart use case implementation cycle in UML, where agile requirements, scope, business processes and smart use cases are identified, modelled and implemented in an agile way.

Why should you attend this workshop ?

This workshop begins where most other UML workshops end: you know the theory of UML, but this workshop teaches you how to use UML and use cases in a practical, pragmatic, productive and agile way !

Companies that use UML and use cases in their software development projects, should also implement a method to use the use cases in a pragmatic way throughout the development life cycle. This approach is also documented in Sander's book Pragmatisch Modelleren met UML 2.0. This method is used in many larger but also smaller organizations, and taught at various schools. You get this book free with your registration.

During this workshop, you get a number of essential tips and tricks to model UML diagrams and use cases in a pragmatic way. This method starts with the identification of business processes, all through the domain modelling, testing and estimation. By using a case study throughout the workshop (an online dating web site), the modelling process is explained and refined in group exercises.

We have already organized this workshop over 35 times, and the comments by participants vary from good to great.

This workshop answers these and other questions:

  • How to identify business processes
  • How to deduct (smart) use cases from these processes
  • How to model (smart) use cases
  • How can (smart) use cases be the "fil rouge" in your project?
  • What is the link between various UML modelling techniques ?
  • How to model the business domain and business logic ?
  • How do we test requirements and functionallity using smart use cases ?
  • Can we use UML and smart use cases in a pragmatic, agile and iterative development process ?

Who should attend this workshop ?

This workshop is aimed at everyone who is involved in the different phases of software development:

  • business analysts and requirements gatherers
  • software and IT architects
  • information analysts
  • developers
  • software designers, information modellers
  • testers, ...

Preferably, participants are (or will be) involved in the modelling, realization and testing of software, and have some knowledge of UML, although deep practical knowledge is not required.

Sander's book "Pragmatisch Modelleren met UML 2.0" provides background reading material for this workshop.

 Full Programme

Both workshop days start at 10h00. We welcome the participants with coffee/tea and croissants from 9h30 onwards, and both days end around 18h00. Spread over 2 days, we will cover:

1. The smart use case approach:

Short overview of the workshop, how it all fits together

  • Agile software development and agile requirements
  • Determine project scope
  • Identify business processes
  • Identify smart use cases
  • Model smart use cases
  • Estimate smart use cases

2. Agile software development and agile requirements

A pragmatic and agile modelling approach to systems development projects

  • Why model ?
  • Why agile ?
  • How does agile work ?
  • Different levels of requirements: cloud, kite, sea and fish level
  • User stories, huge use cases and the YAGNI (you ain't gonna need it) principle
  • A pragmatic modelling approach, from business process to working application

3. Identifying scope and business processes

How to deal with business processes

  • How do you set the scope of your project ?
  • Which business processes are supported by the new application ?
  • How do you model chronological and hierarchical processes ?
  • Elementary business processes
  • How do you use the OTOPOP (one time, one place, one person) rule to limit the scope of use cases ?
  • The transition from business processes to smart use cases
This workshop starts where most UML trainings end: you will learn how to use UML and use cases in a practical, pragmatic, productive and agile way !

4. Identifying smart use cases

Smart use cases as a "fil rouge" in a project: how does this work ?

  • Different levels of use cases - sea level and fish level
  • From business processes to smart use cases
  • How do you identify smart use cases in your project ?
  • How to distinguish between the different types of smart use cases ?

5. Modelling smart use cases

  • How to model use cases diagrams ?
  • How to describe use cases
  • Actors and use cases
  • Use case scenario's

6. Implementing & Testing smart use cases

  • The smart use case implementation cycle
  • Writing use cases
  • Test scenarios and test cases
  • Unit testing smart use cases
  • Testing in the agile life cycle
  • Estimating projects, releases and iterations

7. Domain Modelling

  • How to model class diagrams
  • Modelling attributes, value objects, references, enumerations, associations, aggregations, composition, dependencies, ...
  • What is domain-driven design

8. Requirements in Agile Projects

  • Agile requirements. Business Analysis in an agile environment
  • Roles in agile development
  • Best practices when you use UML and smart use cases in agile projects
  • The smart use case as a guideline for the "Definition of Done"


Sander Hoogendoorn (

Sander Hoogendoorn is an independent craftsman at

He is an independent dad, mentor, trainer, software architect, programmer, speaker, and writer. He is a highly appreciated catalyst in the innovation of software development at his many international clients, currently acting as CTO for Klaverblad Insurances.

Well known as the author of the best-selling book This Is Agile, Sander coaches organizations, projects and teams, has written books on UML and agile, and published over 250 articles in international magazines. He is an inspiring (keynote) speaker at many international conferences, and presents seminars and training courses around the world on a variety of topics such as (beyond) agile, Scrum, Kanban, continuous delivery, software estimation, software architecture, microservices, design patterns, modeling and UML, writing code, and testing.

You can find a lot of articles, blog posts, videos, ... at his website, and follow him on twitter via @aahoogendoorn.

Questions about this ? Interested but you can't attend ? Send us an email !