RKCP Information Technology
                                                                                                          OOAD & UML
Home » Courses   » OOAD & UML

OOAD & UML

Overview

Object-Oriented Analysis and Design is important in designing effective systems using modern software engineering languages and frameworks such as C++, .NET and Java

How to use object-oriented techniques to analyze real-world requirements and to design solutions that are ready to code, using Unified Modeling Language (UML)


Objective

  • Learn how to identify and design objects, classes, and their relationships to each other
  • Use links, associations, and inheritance
  • Use diagram notation for use cases, class and object representation, links and associations, and object messages
  • Gain a working knowledge UML
  • Apply knowledge of OOAD to design an object-oriented system which can be implemented in an object-oriented language

  • Prerequisites

    Should have prior programming experience. No prior object-oriented development experience is presumed.


    Syllabus

    Expand All
    • 1. Introduction to Analysis and Design
      • Why is Programming Hard?
      • The Tasks of Software Development
      • Modules
      • Models
      • Modeling
      • Perspective
      • Objects
      • Change
      • New Paradigms
    • 2. Objects
      • Encapsulation
      • Abstraction
      • Objects
      • Classes
      • Responsibilities
      • Attributes
      • Composite Classes
      • Operations and Methods
      • Visibility
      • Inheritance
      • Inheritance Example
      • Protected and Package Visibility
      • Scope
      • Class Scope
    • 3. Advanced Objects
      • Constructors & Destructors
      • Instance Creation
      • Abstract Classes
      • Polymorphism
      • Polymorphism Example
      • Multiple Inheritance
      • Solving Multiple Inheritance Problems
      • Interfaces
      • Interfaces with Ball and Socket Notation
      • Templates
    • 4. Classes and Their Relationships
      • Class Models
      • Associations
      • Multiplicity
      • Qualified Associations
      • Roles
      • Association Classes
      • Composition and Aggregation
      • Using Class Models
    • 5. Sequence Diagrams
      • Sequence Diagrams
      • Interaction Frames
      • Decisions
      • Loops
      • Creating and Destroying Objects
      • Activation - 2.0
      • Synchronous & Asynchronous
      • The Objects Drive the Interactions
      • Evaluating Sequence Diagrams
      • Using Sequence Diagrams
    • 6. Communication Diagrams
      • Communication Diagrams
      • Communication and Class Diagrams
      • Evaluating Communication Diagrams
      • Using Communication Diagrams
    • 7. State Machine Diagrams
      • What is State?
      • State Notation
      • Transitions and Guards
      • Registers and Actions
      • More Actions
      • Internal Transitions
      • Superstates and Substates
      • Concurrent States
      • Using State Machines
      • Implementation
    • 8. Activity Diagrams
      • Activity Notation
      • Decisions and Merges
      • Synchronization
      • Drilling Down
      • Iteration
      • Partitions
      • Parameters and Pins
      • Expansion Regions
      • Using Activity Diagrams
    • 9. Package, Component, and Deployment Diagrams
      • Modeling Groups of Elements - Package Diagrams
      • Visibility and Importing
      • Structural Diagrams
      • Components and Interfaces
      • Deployment Diagram
    • 10. New Models in UML 2.0
      • New to UML 2.0
      • Composite Structure Diagrams
      • Timing Diagrams
      • Interaction Overview Diagrams
    • 11. Use Cases
      • Use Cases
      • Use Case Diagram Components
      • Use Case Diagram
      • Actor Generalization
      • Include and Extend
      • Other Systems
      • Narrative
      • Template for Use Case Narrative
      • Using Use Cases
    • 12. Process
      • Process
      • Risk Management
      • Test
      • Reviews
      • Refactoring
      • History
      • The Unified Process
      • Agile Processes
    • 13. The Project
      • Inception
      • Elaboration
      • Elaboration II
      • Construction Iterations
      • Construction Iterations - The Other Stuff
    • 14. Domain Analysis
      • Top View - The Domain Perspective
      • Data Dictionary
      • Finding the Objects
      • Responsibilities, Collaborators, and Attributes
      • CRC Cards
      • Class Models
      • Use Case Models
      • Other Models
      • Judging the Domain Model
    • 15. Requirements and Specification
      • The Goals
      • Understand the Problem
      • Specify a Solution
      • Prototyping
      • The Complex User
      • Other Models
      • Judging the Requirements Model
    • 16. Design of Objects
      • Design
      • Factoring
      • Design of Software Objects
      • Features
      • Methods
      • Cohesion of Objects
      • Coupling between Objects
      • Coupling and Visibility
      • Inheritance
    • 17. System Design
      • Design
      • A Few Rules
      • Object Creation
      • Class Models
      • Interaction Diagrams
      • Printing the Catalog
      • Printing the Catalog II
      • Printing the Catalog III
      • Object Links
      • Associations
    • 18. Refactoring
      • Refactoring
      • Clues and Cues
      • How to Refactor
      • A Few Refactoring Patterns