Course Outline
UML and BPMN are the foremost notational language for specifying, visualizing, analysing and designing complex applications and systems
Especially well suited to Object Oriented programming and Embedded Systems development, UML builds on previous notational methods such as Booch, OMT, and OOSE.
Each technique is taught to the level required for competence on a real project. A short, smooth, iterative and incremental software process is described which improves speed of delivery, estimation and traceability. Sections on component based modelling and design patterns are included.
The course provides the essential elements of object-oriented requirements analysis using the new UML.
This course is highly practical and based on experience developed in our own projects. Delegates are encouraged to discuss problems and to identify how the skills taught could benefit their organisation.
Course Content
The course is built up of a number of manageable components. Each deals with a specific stage in the UML model building process and is introduced by a short period of instruction followed by a practical structured exercise designed to assist delegates understand concepts and learn techniques. In this way delegates will build up complete models of example systems as the course progresses. The course presents a practical view of the entire process, teaching delegates to build effective models of typical business applications.
Delegates are provided with comprehensive course notes which are used during the course to support assignment work. These are a valuable reference source to assist delegates develop effective UML models.
Course content has been developed for real-world, commercial scenarios by our expert instructors. See below for detailed syllabus, or if you have a technical question, please email sales@jbinternational.co.uk
What you will learn
At the end of this course delegates will be able to:
1. Translate requirements into object-oriented models of system structure and behaviour that provide a traceable route through to implementation
2. Understand the stages in the development cycle and appreciate why and when to apply UML
3. Apply UML/BPMN concepts and notation for representing objects, classes and interfaces; be able to specify their content and know how to represent the different relationships of association, aggregation inheritance and realisation
4. Use appropriate UML diagrams and notation to model the work of requirements capture, analysis and design
5. Translate analysis models, based on entity relationship diagrams into design models based around class diagrams
6. Understand the concepts of a use-case driven approach to object-oriented requirements modelling and the application of use-cases as a tool for incremental systems delivery
7. Identify and describe use cases and see through role playing following the techniques of CRC (class, relationship, collaboration) to develop the "real" design
8. Apply the concepts and notation for sequence diagrams during design and understand how they relate to class diagrams and use-cases
9. Understand where dynamic modelling with state charts is appropriate
Key Content Days 1 and 2
Modelling the Business
Business Process Modelling using BPMN
Modelling Business Information
Specifying Business Requirements
Specifying Functional Requirements using System Use Cases
Mapping Business Processes to System Use Cases
Key Content Day 3
Business and System Modelling using Enterprise Architect (‘Hands-On’)
Objects and Classes
Object Relationships
Class Relationships and Inheritance
Developing the Enterprise Data Model using UML
Interaction Modelling using Sequence Diagrams
State Diagrams
Key Content Day 4
Further ‘Hands-on’ workshops using Enterprise Architect
Architecture, Components and Implementation Diagrams
An Overview of Service Oriented Architecture
Specifying Services using BPMN and BPEL
Service Oriented Design Principles
Strategies for Identifying Services
Service Design Modelling using UML Structural elements and Sequence Diagrams
Modelling Service Interfaces
Modelling Application Design using Services
Application Mechanisms and Design Patterns
Enterprise Architect can be used throughout the course for course workshops
Course Syllabus
Introduction
People
Course Structure
Business Process Modelling Notation
Unified Modelling Language
Use Cases
Object Orientation
BPMN and UML in the context of requirements elicitation and specification
Modelling Business Processes
Scoping Business Processes using Use Cases
Identifying Business Workers and External Entities
Essential BPMN concepts and notation
Processes and Sub-Processes
Modelling Business Events and Outcomes
Modelling Business Workers and their Roles
The Business Modelling Process
Business Process Modelling Workshop using case studies and your own applications
Modelling Business Entities
Basic concepts of Object-Orientation applied to the Business Domain.
UML Class Diagrams
The Business Domain Model
Business Domain Modelling Workshop using case studies and your own applications
Specifying Business Requirements
Classifying Requirements: User, Non-Functional, Regulatory etc.
Structuring Requirements Documentation
Stakeholders and Users
Defining System Use Cases
Essential concepts of Use Cases
Techniques for specifying detailed Functional Requirements using Use Cases
Templates for Use Case Specifications
Use Case Specification Workshop using case studies and your own applications
Mapping into System Requirements
Business Process Models versus System Use Cases
Mapping Actors and Use Cases
Mapping Business Events and Process
Mapping Business Workers
Mapping the Business Entity Model
Creating and Mapping 'Automated' Workers and Processes
Mapping Workshop
Objects and Classes
What Is An Object?
Classes and Objects
Attributes and Operations
Methods and Polymorphism
Visibility and Other Properties
Designing Good Classes
Choosing the Right Objects
Object Workshop
Object Relationships
Associations and Links
Navigability and Naming
Multiplicity and Other Adornments
Association Classes and N-arys
Aggregation and Composition
Object Relationship Workshop
Class Relationships and Inheritance
Class Similarities and Differences - Generalisation Syntax - Generalisation Hierarchies - Multiple Inheritance - Class Dependency
Generalisation Workshop
Interaction Modelling
Interactions, Messages
Operations and Methods
Sequence Diagrams
Selection and Iteration
Activation
Interaction Modelling Workshop
State Modelling
The Meaning of the State Model - States and Transitions - Events and Conditions - Actions and Activities - Consistency With Other Diagrams
State Modelling Workshop