Object-Oriented Analysis & Design using UML      

Code:

ZD77-926

Series:

IT Technical

Duration:

3 days

Unified Modelling Language (UML)
Purpose
History
UML Case Tools
UML Diagram Types
Non-UML Diagram Types
Unified Software Development Process
Basic Principles

Use Cases
Benefits of using Use Cases
Identifying Actors in a System
Identifying Use Cases in a System
Use Case as a Conversation
Use Case Diagrams
Extending Use Cases
Including Use Cases within Other Use Cases

Sequence Diagrams
Object Interactions
Using a Sequence Diagram to Describe a Use Case
More tha One Participant
Message Arrows
Object Creation & Destruction
Message Types & Purposes
Mapping Code to a Sequence Diagram

CRC Method for Identifying Classes
Thinking in Terms of Responsibilities
Identifying Class Responsibilties
Using the CRC Method
Role Playing a Sequence Diagram
Finding Classes & Collaborations

Class & Object Diagrams
Documenting Class & Inheritance
Data Member declarations
Method declarations
Access declarations
Documenting Associations between Classes
Reading Relationships
Aggregation
Mapping Code to Class Diagrams
Classes that depend on each other
Object Diagrams

Interface-Based Design
Identifying Interfaces
Using Interfaces
Advantages & Benefits
Naming Interfaces
Documenting Interfaces
Drawing Interfaces
Mapping Interfaces to Code

System Layering using Packages
Using Packages to Organise Design Elements
Package Diagrams
Multiple Packages & Relationships
Using Packages with other Model Elements
Packaging Use Cases

Modelling Dynamic Behaviour
Collaboration Diagrams
Sequence Diagrams vs Collaboration Diagrams
State Charts
Nested States
Using Substates
Activity Diagrams
Swim Lanes
Forks

Component & Deployment Diagrams
Component Diagrams
Packages in Component Diagrams
Compilation Sequences
Deployment Diagrams

Software Development Process
Management Challenges
Prioritising
Scheduling

Design Patterns
Defined
Purpose, Advantages & Application
Common Patterns
Design Re-Factoring


Object-Oriented Analysis & Design using UML


After completing this course, participants will be able to:

  • Know the purpose and parts of UML.
  • Drive the development of a system based on Use Cases.
  • Use the CRC method to identify Classes.
  • Describe how objects interact using a Sequence Diagram.
  • Create Class and Object Diagrams.
  • Use Interface-based design.
  • Layer a System into Packages.
  • Model dynamic behaviour using Collaboration, State Chart and Activity Diagrams.
  • Use Component & Deployment Diagrams.
  • Manage & schedule the software development process.
  • Describe the fundamentals of Design patterns and Design Re-Factoring

Prerequisites:


A basic understanding of Object-Oriented programming principles as well as familiarity with an Object-Oriented programming language such as Java, C++, C# or similar.   Course practical examples are based on the Java progrmming language.