UML for Software Analysis and Design

Course Description:

This course is designed for software engineers and systems architects who are new to UML. Delegates are taught how to create the most commonly used UML diagram types to analyse requirements and create static and dynamic designs. Practical exercises and workshops help to reinforce the theory.

UML

Duration:

4 days

Prerequisites:

No prior UML experience is required.
A background in software analysis and design is helpful.

Equipment:

Webinar

For on-site delivery the customer should provide a suitable training room with a screen or projector to connect to our trainer’s laptop and a whiteboard or flipchart. All delegates require a PC or laptop running Enterprise Architect.

For webinar delivery delegates require a PC or laptop running Enterprise Architect with an Internet connection (a headset can be helpful). If you wish to test your environment join a test WebEx meeting: www.webex.com/test-meeting.html

Course Style:

40% theory, 60% practical.
Each module is accompanied by targeted exercises to allow delegates to apply the theory and become confident with new concepts and notation.

Delegate Handouts:

Each delegate receives a folder containing all the course slides and comprehensive theory notes which form excellent reference material. Folders also contain exercises and suggested solutions. Following successful completion of the course each delegate receives a certificate.

Course Modules:

  • Delegate background and objectives
  • Timetable and course outline

UML Teaching – 0.5 hour

  • Advantages of graphical notations
  • History of UML
  • Key UML diagrams
  • Business process models
  • Requirements capture
  • Static and dynamic models

UML/SysML Teaching – 1 hour

Paper Exercises – 1.5 hours

  • Comparison with traditional requirements
  • Workshops and GUI prototypes
  • Model users as actors
  • External systems and timers
  • Actor definition and notation
  • Actor generalisation
  • Use case and scenario definition
  • Use case notation
  • Use case diagrams

UML/SysML Teaching – 1 hour

Paper Exercises – 1 hour

  • Use case specification
  • Use cases drive development
  • Include relationship
  • Extend relationship
  • Use case inheritance

UML/SysML Teaching – 0.5 hour

Paper Exercises – 0.5 hour

  • Document business activities and workflow
  • Model Sequential activities
  • Nested and structured activities
  • Decision and merge (conditional logic)
  • Fork and join (parallel logic)
  • Object states and action pins
  • Send, accept and time signals
  • Swimlanes for responsibility

UML Teaching – 1 hour

Paper Exercises – 1.5 hours

  • Model real world concepts
  • Classes and objects
  • Object identity and responsibilities
  • Encapsulation of attributes
  • Objects as intelligent black boxes
  • What makes a good class
  • How to discover classes
  • Whole-part relationships (aggregation)
  • Generalisation-specialisation (inheritance)
  • Polymorphism

UML Teaching – 1 hour

Paper Exercises – 1 hour

  • Class definition and notation
  • Attributes, operations and parameters
  • Visibility
  • Associations, multiplicity and direction
  • Whole-part relationships (aggregation)
  • Generalisation-specialisation (inheritance)

UML Teaching – 1 hour

Paper Exercises – 1 hour

  • Attribute scope and properties
  • Class multiplicity
  • Parameter direction on operations
  • Roles and association qualifier
  • Constraints
  • Reflexive associations
  • Association classes and derived information
  • Stereotypes and tagged values
  • Additional class compartments
  • Nested classes and composition
  • Abstract classes and operations
  • Multiple inheritance

UML Teaching – 0.25 hour

Paper Exercises – 0.25 hour

  • Design component-based systems
  • Build or buy components
  • Understand interfaces and services
  • Logical component architecture

UML Teaching – 0.5 hour

Paper Exercises – 1 hour

  • Object collaboration and messaging
  • Map use cases to the class model
  • Classes, responsibilities and collaborations
  • Boundary, control and entity classes

UML/SysML Teaching – 1 hour

Paper Exercises – 1 hour

  • Object notation and lifelines
  • Message passing and sequencing
  • Actors and the system boundary
  • Asynchronous messages
  • Create and delete objects
  • Interaction frames for loops and decisions
  • Centralised verses distributed control

UML Teaching – 0.5 hour

Paper Exercises – 0.5 hour

  • Object notation and links
  • Message passing and sequencing
  • Asynchronous messages
  • Alternative paths and loops

UML/SysML Teaching – 0.5 hour

Paper Exercises – 1 hour

  • When to use state machines
  • Object lifecycles and states
  • Transitions and events
  • Actions
  • Entry, exit and do events

UML/SysML Teaching – 0.5 hour

Paper Exercises – 0.5 hour

  • Guard conditions
  • Internal events and self-transitions
  • Automatic transitions
  • Nested states and the history symbol
  • Concurrent states

UML Teaching – 1 hour

Paper Exercises – 0.5 hour

  • Advantages of design patterns
  • Document design patterns
  • Creational patterns (factory, singleton)
  • Structural patterns (composite, adaptor, bridge)
  • Behavioural patterns (state, iterator, command)

UML Teaching – 0.5 hour

  • Persistence and relational databases
  • Wrapper classes and factories
  • Store classes and attributes
  • Record associations
  • Many to many relationships
  • Mapping inheritance

Paper Exercises – 2.5 hours

  • Quick reminder of UML notation
  • Role play to identify processes and activities
  • Build business process model

Paper Exercises – 1 hour

  • Quick reminder of UML notation
  • Create use case model
  • Planning session
  • Capture requirements details
  • Map non-functional requirements to use cases

Paper Exercises – 1 hour

  • Quick reminder of UML notation
  • Model use case logic as an activity diagram
  • Construct domain model

Paper Exercises – 1 hour

  • Quick reminder of UML notation
  • Explore object interactions
  • Model complex state behaviour