From Agile Requirements and Smart Use Cases to UML

From Agile Requirements and Smart Use Cases to UML


How do you translate agile requirements into smart use cases and UML in a practical, pragmatic and productive way ?

6-7 June 2012 (10-18)
Location: Golden Tulip Brussels Airport (Diegem)
Presented in English by
Price: 1350 EUR (excl. 21% VAT)

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

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 design and code, as well as improved maintainability of the produced software. A picture says more than a thousand words.

Why UML ?

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, sequence 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 these are to be used in practice. It is often difficult to decide which technique is the best, and how Vaak is het lastig in te schatten wanneer welke techniek het best past, en hoe en tot welk detailniveau moet worden gemodelleerd. UML kent bovendien geen vastomlijnde werkwijze die de samenhang tussen de diagrammen in de verschillende fasen van uw project beschrijft. En tenslotte beschikt UML niet voor alle gezichtspunten in systeemontwikkelprojecten een modelleertechniek - denk maar aan het modelleren van bedrijfsprocessen, user interfaces of gegevens.

Waarom deze workshop ?

Deze workshop begint waar de meeste andere UML workshops eindigen: u leert hoe u UML en use cases praktisch, pragmatisch en produktief moet gebruiken !

Voor organisaties die de modelleertechnieken van UML inzetten in hun projecten is het daarom verstandig een gestructureerde, maar vooral pragmatische aanpak neer te zetten die laat zien op welk moment in projecten de diverse modelleertechnieken van pas komen, op welk wijze deze worden gemodelleerd en hoe de samenhang tussen de diagrammen wordt gewaarborgd. Deze aanpak is ook beschreven in het boek Pragmatisch modelleren met UML en is al bij vele grote maar ook kleinere organisaties geïmplementeerd en wordt al gedoceerd aan diverse hogescholen.

Tijdens deze tweedaagse workshop leert u een aantal essentiële vaardigheden voor het modelleren met UML (en andere modelleertechnieken), maar krijgt u tegelijk zo’n pragmatische werkwijze uiteengezet. Deze werkwijze begeleidt u in alle fasen van uw projecten via het modelleren van bedrijfsprocessen, requirements in (smart) use cases, testscenario’s in activity diagrammen, domeinmodellen in klassediagrammen, ontwerppatronen in sequence diagrammen en zelfs softwarearchitectuur naar de op te leveren software.

Tijdens de workshop is veel aandacht voor de praktijk. De workshop kent diverse oefeningen waarin de deelnemers de verschillende gezichtspunten van een prikkelende case uitwerken - een online dating web site. Daarbij wordt veel aandacht besteed aan de nauwe relatie tussen de verschillende modelleertechnieken en het gewenste detailniveau van de diagrammen. Bovendien wordt de link gelegd naar de ontwikkeling en het testen van de software op basis van de geproduceerde diagrammen en (service-georienteerde) applicatiearchitecturen. Deelnemers ontvangen bovendien een gratis exemplaar van het boek Pragmatisch modelleren met UML 2.0.

Welke vragen worden beantwoord op deze workshop ?

  • Hoe krijg ik een overzicht van de te automatiseren bedrijfsprocessen?
  • Hoe identificeer ik (smart) use cases vanuit deze processen?
  • Hoe modelleer ik use cases smart?
  • Hoe fungeren use cases als rode draad tijdens mijn project?
  • Wat is de samenhang tussen de diverse modelleertechnieken?
  • Hoe kom ik van use cases naar het ontwerp van mijn applicatie?
  • Met welke modelleertechnieken leg ik dit ontwerp vast?
  • Hoe modelleer ik het bedrijfsdomein en bedrijfslogica?
  • Wat is de relatie tussen de klassen in mijn domein en mijn code?
  • Hoe reflecteren mijn diagrammen mijn applicatiearchitectuur?
  • Hoe kan ik mijn ontwerppatronen vastleggen in sequence diagrammen?
  • Hoe dragen mijn diagrammen bij tot het testen van requirements en functionaliteit?
  • Hoe zijn modelleertechnieken efficient te gebruiken in een pragmatisch, agile, iteratief ontwikkelproces?
  • Wat is model driven development?

Voor wie is deze workshop bestemd ?

Deze workshop is bedoeld voor iedereen die betrokken is bij de verschillende fasen in de software-ontwikkeling:

  • architecten
  • informatie-analisten
  • ontwerpers
  • ontwikkelaars
  • testers.

De deelnemers worden of zijn reeds betrokken bij het modelleren, realiseren of testen van software en hebben al enige voorkennis van UML. Van de deelnemers wordt geen diepgaande praktijkervaring in de modelleertaal verwacht.

Sander's boek "Pragmatisch Modelleren met UML" dient als leidraad bij de workshop. Deelnemers krijgen dit boek mee als nalees- en naslagwerk.

 Full Programme

Both workshop days start at 10h00. We welcome the participants with coffee/tea and croissants from 9h30, and both days end around 18h00.

Spread over 2 days, we will cover:

1. Introduction

A pragmatic modelling approach to systems development projects

  • Why model ?
  • What does UML have to offer ?
  • The modelling techniques in UML 2
  • Modelling techniques in UML
  • A pragmatic modelling approach to projects
  • Modelling from business process to working application

2. Scope and business requirements

Starten met bedrijfsprocessen

  • Hoe stel ik de scope vast van mijn project?
  • Welk bedrijfsprocessen ondersteunt mijn nieuwe applicatie?
  • Hoe modelleer ik chronologische en hierarchische processen?
  • Elementaire bedrijfsprocessen
  • Hoe hanteer ik de OTOPOP (one time, one place, one person) richtlijnen?
  • De transitie van bedrijfsprocessen naar (smart) use cases
Deze workshop begint waar de meeste andere UML workshops eindigen: u leert hoe u UML en use cases praktisch, pragmatisch en produktief moet gebruiken !

3. Smart use cases

Smart use cases als rode draad in een project

  • Verschillende niveau’s van use cases
  • User goal level en sub-function level use cases
  • Hoe identificeer ik use cases in mijn project?
  • Actoren en use cases
  • Hoe modelleer ik use cases diagrammen?
  • Use cases beschrijven
  • Het formuleren van pre- en postcondities
  • Stappenplannen en scenario's
  • Hoe onderscheid ik verschillende typen smart use cases?

4. Modelleren en testen

Testbare use cases

  • Use case scenario’s
  • Activity diagrammen modelleren
  • Hoe modelleer ik een activity diagram voor een use case?
  • Hoe kan ik testscenario’s identificeren bij use cases?
  • Testgevallen beschrijven bij use cases

5. Modelling the user interface

Use cases and the user interface

  • De alternatieven: van post-it tot prototype
  • De nauwe relatie tussen use cases en de user interface
  • Hoe modelleer ik de user interface?
  • The user interface diagram: een DSL die UML aanvult
  • Van user interface naar ontwerp

6. Het domeinmodel

Klassen, hun attributen en hun relaties

  • Hoe modelleer ik het bedrijfsdomein in klassendiagrammen?
  • Welke typen attributen modelleer ik?
  • Het modelleren van referentiedata
  • Wat zijn value objects?
  • Wanneer en hoe modelleer ik associaties, aggregaties en composities?
  • Wat zijn dependencies?
  • Generalisaties en specialisaties
  • Wat is het Liskov Substitution Principle en welk effect heeft dat?
  • Klassediagrammen en gegevensmodellering

7. Sequence diagrammen modelleren

Interactiediagrammen, patronen en applicatiearchitectuur

  • Een overzicht van de interactiediagrammen van UML 2.1
  • Wanneer en waarvoor gebruik ik een sequence diagram?
  • Het modelleren van een sequence diagram
  • Use cases uitwerken in een sequence diagram
  • Hoe modelleer ik mijn applicatiearchitectuur in sequence diagrammen?
  • Kan ik ontwerppatronen uitdrukken in sequence diagrammen?

8. Use cases en services

Modelleren in servicegeorienteerde architecturen

  • Hoe identificeer ik services?
  • Hoe passen services binnen mijn pragmatische aanpak?
  • Samenwerkende services modelleren in use cases en activity diagrammen
  • Samenwerkende services modelleren in sequence diagrammen
  • Services uitwerken in actoren en smart use cases
  • Use case stereotypes voor services
  • Modelleren in kleur

9.Modelleren in agile systeemontwikkelprojecten

Dealing with reality, not artifacts

  • Wat is agile software development?
  • Wat kenmerkt agile projecten?
  • Hoe past modelleren en UML in een agile project?
  • Smart use cases als unit of work
  • Een kort overzicht van tools voor agile modelleren

10. Model driven development

Bonus topic

  • Wat is model model driven development?
  • Van PIM naar PSM naar code
  • Is codegeneratie mogelijk op basis van UML?
  • UML versus DSL’s
  • Demo

 Speakers


Sander Hoogendoorn (Capgemini)
Capgemini

In his role of Principal Technology Officer and global agile thought leader at Capgemini, drs. ing. Sander Hoogendoorn is a software development enthusiast, appreciated author and an internationally renowned speaker. He is constantly involved in the innovation of software development processes, techniques, architectures, patterns and technology, both at Capgemini and with many international clients.

Sander’s expertise ranges from (agile and non-agile) software development methodologies, software architecture, design patterns, object orientation, component-based development, anti-patterns, business process and software modeling, UML, model driven software development, .NET, Java and software development tools.

Sander has coached many organisations and projects, has written books on UML and agile software development, and published over 200 articles in international magazines. Sander is a member of Microsoft's Partner Advisory Council for .NET and several other editorial and advisory boards, and he is the chief architect of Capgemini's agile software development platform Accelerated Delivery Platform (ADP).

Sander's book "Dit is Agile - Van Introductie tot Implementatie" is a European bestseller, and has been translated into German and English: "This is Agile: Beyond the basics. Beyond the Hype. Beyond Scrum."

Sander maintains a blog and a collection of his publications at sanderhoogendoorn.com.

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

-->