What you'll learn

  • Understand & use UML with your software development process

  • Understand what is object oriented analysis, design & programming

  • Understand how to analyze a problem using object oriented analysis

  • Implement OO design in Java, C++ & C#

Course Features

  • Full lifetime access
  • Access on mobile
  • Certificate of Completion

    What you should know before enrolling in this course

    • Basic knowledge of any programming language
    • Basic understanding of common C concepts like pointers, functions, arrays, macros, etc (for C++ programmers only)

Course Description

Object Oriented Analysis, Design & Programming course is a unique course that teaches students how to use object-oriented techniques to build software. The course will start with requirements gathering & end with implementation. In the process, you'll learn how to analyze and design classes, their relationships to each other in order to build a model of the problem domain. You'll also use common UML diagrams throughout this process, such as use-case, class, activity & other diagrams. The diagrams will be created through a free tool. 

Lot of emphasis is placed on use cases to capture and manage requirements. Those are used subsequently to enforce OO concepts that produce a reusable design of the system that adapts to change. Finally, the design is implemented & programmed in three different programming languages - Java, C# & C++. During the implementation, you'll learn about the object-oriented concepts such as Abstraction, Encapsulation, Hierarchy, Polymorphism, interfaces, etc. All these concepts are explained with examples in all the three languages.

Finally, all the important concepts are applied in a textual game called Reckless Driver. Consequently, you'll have understood the entire process of Object Oriented Analysis, Design & Programming & you can implement these concepts in your own software.

Course Curriculum

  • 1

    Start Here

  • 3

    Object Oriented Analysis

    • UML Introduction

    • UML View Model

    • Object Model Concepts

    • Object Oriented Analysis with Use Cases

    • Use Case Description

    • Use Case Diagram

    • Use Case Relationships

    • Use Case Relationships in StarUML

    • Guidelines for Use Cases

    • Activity Diagram

    • Activity Diagram in StarUML

    • Merge and other notations

    • Fork and Join

    • Swimlanes

  • 4

    Object Oriented Design & Programming

  • 5

    Reckless Driver implementation

    • Design Overview

    • GameObject Class Implementation in Java

    • TrafficCar Class Implementation in Java

    • SideObject Class Implementation in Java

    • Player Class Implementation in Java

    • GameManager Class Implementation in Java

    • GameObject Class Implementation in C#

    • TrafficCar Class Implementation in C#

    • SideObject Class Implementation in C#

    • Player Class Implementation in C#

    • GameManager Class Implementation in C#

    • GameObject Class Implementation in C++

    • TrafficCar Class Implementation in C++

    • SideObject Class Implementation in C++

    • Player Class Implementation in C++

    • GameManager Class Implementation in C++

  • 6

    Interaction Diagrams

    • Communication Diagram - I

    • Communication Diagram - II

    • Communication Diagram - III

    • Communication Diagram - IV

    • Sequence Diagram - Part I

    • Sequence Diagram - Part II

    • Sequence Diagram - Part III

    • Sequence Diagram Part IV

    • Scene Class Discussion

    • Scene Implementation in Java - Part I

    • Scene Implementation in Java - Part II

    • Collision Behavior Implementation in Java - Part I

    • Collision Behavior Implementation in Java - Part II

    • Scene Implementation in C# - Part I

    • Scene Implementation in C# - Part II

    • Collision Behavior Implementation in C# - Part I

    • Collision Behavior Implementation in C# - Part I

    • Scene Implementation in C++ - Part I

    • Scene Implementation in C++ - Part II

    • Collision Behavior Implementation in C++ - Part I

    • Collision Behavior Implementation in C++ - Part I

  • 7

    State Machine Diagrams

    • Code Cleanup in Java

    • Code Cleanup in C#

    • Code Cleanup in C++

    • State Changes in Java

    • State Changes in C#

    • State Changes in C++

    • State Machine Diagram - I

    • State Machine Diagram - II

    • State Machine Diagram - III

    • Player States in Java

    • Healthkit Implementation in Java

    • State Behaviors in Java

    • More Powerups in Java

    • Player States in C#

    • Healthkit Implementation in C#

    • State Behaviors in C#

    • More Powerups in C#

    • Player States in C++

    • Healthkit Implementation in C++

    • State Behaviors in C++

    • More Powerups in C++

    • State Machine Diagram - IV

    • State Machine Diagram - V

  • 8

    Refactoring

    • Design Improvements

    • Powerup Factory in Java

    • SideObject Factory in Java

    • Powerup Factory in C#

    • SideObject Factory in C#

    • Powerup Factory in C++

    • SideObject Factory in C++

  • 9

    More UML Diagrams

    • Package Diagram - I

    • Package Diagram - II

    • Component Diagram - I

    • Component Diagram - II

    • Component Diagram - III

    • Deployment Diagram - I

    • Deployment Diagram - II

About the instructor

Owner at Poash Technologies

Umar Lone

Civil engineer who found his calling in software development. Never worked as a Civil engineer, jumped at the first chance and started teaching C++, Visual C++ & COM 18 years ago. Currently, trains software professionals in various IT companies in India in different technologies, such as C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. Very passionate about teaching and has trained more than 25,000 software professionals in a teaching career spanning more than 18 years. An avid gamer, currently trying his hand with game development in Unity & Unreal. Has a few Android applications to his credit, including one on Design Patterns. Only thing he likes more than C++ is Modern C++.

Add your email to the mailing list to get the updates about new courses, live training, coupons & special offers

Add your email to the mailing list to get the latest updates.