Summary
3 Days
This course presents the key concepts and methodologies required to develop accurate programs.
Prerequisites
This course is intended for both novice and experienced programmers who have a minimum of three months programming experience.
Course Outline
Module 1: Introducing OOAD Defining OOAD Methodology The Analysis and Design Stage Defining the Analysis Phase Defining the Design Phase Characteristics of OOP Objects Classes Features of OOP Abstraction Encapsulation Association Aggregation Composition Inheritance Polymorphism Overview of Development Process Lifecycle of Projects Major Phases of Lifecycle of Projects The Inception Phase The Elaboration Phase The Construction Phase The Transition Phase Workflow Within Phases Benefits
Module 2: Requirements and Initial Analysis Purpose What is A Requirement? Gathering Information Avoid Traditional Assumptions Requirements Management Timing of Requirements Management Type of Requirement Gather Requirements Technique
Module 3: Use Case Analysis Identifying System Boundaries Actors Finding Actors Use Cases Benefits of Use Cases Finding Use Cases Modeling Use Cases Creating Use Cases Scope Use Case Scenarios Primary Scenarios Secondary Scenarios Use Case Relationships
Module 4: Class Relationship Analysis Class Analysis Identifying Classes Entity Classes Control Class Boundary Class A Good and a Bad Class Finding Classes Noun/Verb Analysis Guidelines for Class Identification Golden Rules CRC Cards Responsibility Collaboration Types of Class Relationships Multiplicity Aggregation Composition Association Class
Module 5: Object Analysis Object State State Machine Diagrams Initial and Final States State Transitions State Action Self-Transitions
Module 6: Activity Analysis Activity Analysis Activity Action Control Flow Initial Node Final Node Object Flow Decision and Merge Node Fork and Join Node Partition When to Use Activity Diagram? Interaction Diagrams Sequence Diagram LifeLines LifeLine Start and End Messages Self Message Lost and Found Messages Communication Diagrams
Module 7: Class Design Visibility Inheritance Root And Leaf Classes Abstract Classes And Abstract Methods Interface Association Class Example
Module 8: System Design Packages Relationship of Packages Relationship of Packages – Example Components Component Diagram Deployment Diagram Node Node Instance Node Stereotype Artifacts Association Node as Container Example
Module 9: From UML To Code and Back Adding Classes Adding Properties Adding Methods Generating Code Reverse Engineering Example
Module 10: Introductions to Design Patterns and Frameworks Introduction Patterns and Frameworks Patterns Frameworks How to Master software design Design Patterns Design Pattern Descriptions ClassLibraries vs. Frameworks vs. Patterns Comparing Pattern and Frameworks Types of Patterns Types of Design Pattern Design Patterns Overview Design Principles in Patterns Summary |