| Applying UML to Object Orientated Analysis and Design |
|
* Summary * Objectives * Prerequisites * Detailed Outline Course Duration :4 days (how to book)Summary:This course applies the UML Graphical Language to a large, real life case study. The necessary Object Orientation will be introduced in easily assimilated chunks throughout the course.The understanding of the subject matter will be developed through a large amount of practical, hands on work which we shall use to consolidate every topic. We will be weighing up different processes that can be used with the UML (such as waterfall, iterative, spiral) - but we will be focusing on the Unified Process.This course spends an equal amount of time on both analysis and design and is excellent if you want to put UML and Object Orientation into the context of a full project lifecycle. Key to becoming an extremely accomplished object orientated designer is a knowledge of Design Patterns and how to apply them. This course will introduce the idea of Design Patterns and study six design patterns in detail, applying each of them to the case study itself. Objectives:By the end of this course attendees will:
Prerequisites:This course has no prerequisites. All subjects are covered from scratch, however those with previous programming experience are likely to benefit the most from the Design Patterns section of the course.Detailed Outline:Introducing UML- Models vs Diagrams - What UML is and what it is not - Modelling Notations A Quick Look at Process - Alternative Processes/Methods - Waterfall Process - Unified Process - pros and cons - Rational Unified Process - UP Phases Inception, Elaboration, Construction, Transition - Managing Iterations - Mapping the Unified Process to the UML - Agile Modelling - Extreme Programming Object Orientation Basics - Pros and Cons Procedural Programming - Pros and Cons of Object Orientation - Classes - Encapsulation - Collaboration - Object to Relational Mapping - Persistence Use Cases - Use Cases as structured requirements - Granularity of Use Cases - Actors - Discovering Use Cases from Business Processes - Primary and Secondary Actors - Ranking Use Cases - Specifying Use Cases - Use Case Descriptions - Non functional requirements - Preconditions - Postconditions - Main Flow - Extension Flows - Style Guidelines The Domain Model - Domain Modelling - Finding Classes - Notation in the UML - Attributes - Associations - Multiplicities - CRUD Matrices The State Machine - Capturing Business Rules - Events and States - Basic Notation - Superstates and Substates - Conditional Transitions - Actions - Finding Use Cases from the State Model Detailed Use Case Descriptions - Use Case Storyboards - Preconditions - Postconditions - Main Flow - Extension Flow - Graphical Form Transition to Detailed Design - Interaction Modelling - Responsibility and Collaboration The Communication Diagram - Objects and Associations - Method Calls - Parameters - Return Values - Looping - Creating Objects - Mapping to the Design Class Diagram The Sequence Diagram Polymorphism, Inheritance and Composition - Inheritance in UML - Visibility - Coupling - Overriding - Abstract Methods and Classes - Polymorphism - Interfaces - Composition and Aggregation - Design Principle: Program to Interfaces - Design Principle: Favour Composition Design Patterns and Principles (1) - The Origin of Design Patterns - Introducing the Gang of Four (GoF) - The 23 GoF Patterns - The Adapter Pattern - Managing Complex Subsystems: The Facade - Design Principle: Encapsulate Change - Design Principle: Least Knowledge Design Patterns and Principles (2) - The Singleton - Discussion of the Singleton Pattern - Singleton Controversy - Design Principle: Single Responsibility - Why Singletons Violate Design Principles - Using Factories Design Patterns and Principles (3) - Avoiding Nested Conditional Logic - Design Principle: Open/Closed - The Strategy Pattern - The Proxy Pattern - Summary of Design Principles A Resume of all UML 2.0 Diagrams - Behavioural Diagrams - Structural Diagrams - Interaction Overview Diagram - Timing Diagram - Component Diagram - Composite Structure Diagram - Deployment Diagram - Object Diagram - Model Driven Architecture (MDA)
|