Object Oriented Analysis, Design & Programming with UML
Created by Umar Lone, Last Updated 08-Jul-2020, Language:English
Object Oriented Analysis, Design & Programming with UML
Learn OO Analysis, Design & Programming using UML in C++, Java & C#
Created by Umar Lone, Last Updated 08-Jul-2020, Language:English
What Will I Get ?
- 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#
Requirements
- Basic knowledge of any programming language
- Basic understanding of common C concepts like pointers, functions, arrays, macros, etc (for C++ programmers only)
Description
This 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 subsequently used 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.
Who this course is for:
- Programmers who want to learn the Unified Modelling Language
- Anyone who wants to learn OO analysis, design & programming
- Anyone who wants to start with OO programming in C++, Java or C#
- Students who want to understand the concepts of object oriented programming
- Programmers new to object oriented programming
- Software developers and designers looking to expand their existing knowledge of object oriented analysis & design
- Anyone who wants to learn & apply UML to their sofware development process
Course Content
-
Introduction
4 Lectures 00:06:38-
Introduction
Preview00:01:37 -
Installation of Eclipse for Java
00:01:51 -
Installation of Visual Studio for C# & C++
00:03:10 -
Course Material
-
-
Basics
4 Lectures 00:31:06-
Software Complexity
Preview00:06:23 -
Algorithm Decomposition
00:07:53 -
Object Oriented Decomposition
00:07:46 -
Object Characteristics
Preview00:09:04
-
-
Object Oriented Analysis
14 Lectures 01:11:02-
UML Introduction
Preview00:04:46 -
View Model
00:03:31 -
Object Model Concepts
00:07:10 -
Object Oriented Analysis with Use Cases
00:03:35 -
Use Case Description
00:06:21 -
Use Case Diagram
Preview00:07:40 -
Use Case Relationships
00:07:31 -
Use Case Relationships in StarUML
00:04:35 -
Guidelines for Use Cases
00:04:25 -
Activity Diagram
00:03:26 -
Activity Diagram in StarUML
00:05:36 -
Merge
00:03:40 -
Fork & Join
00:04:52 -
Swimlanes
00:03:54
-
-
Object Oriented Design & Programming
27 Lectures 01:58:02-
Introduction to Classes & Class Diagram
00:06:08 -
Class Diagram in StarUML
00:07:49 -
Abstraction
00:06:15 -
Abstraction in Java
00:02:16 -
Abstraction in C#
00:01:39 -
Abstraction in C++
00:03:56 -
Encapsulation
00:03:52 -
Encapsulation in Java - Part I
00:05:34 -
Encapsulation in Java - Part II
00:06:47 -
Encapsulation in C# - Part I
00:03:57 -
Encapsulation in C# - Part II
00:04:54 -
Encapsulation in C++ - Part I
00:04:13 -
Encapsulation in C++ - Part II
00:04:44 -
Class Diagram Revisited
00:04:00 -
Inheritance
00:04:06 -
Inheritance in Java
00:05:52 -
Inheritance in C#
00:05:59 -
Inheritance in C++
00:06:14 -
Containment
00:02:55 -
Aggregation & Association
00:04:19 -
Dependency
00:02:56 -
Polymorphism
00:03:28 -
Polymorphism in Java
00:03:07 -
Polymorphism in C#
00:02:38 -
Polymorphism in C++
00:02:31 -
Abstract Class
00:02:58 -
Interface
00:04:55
-
-
Reckless Driver Implementation
16 Lectures 01:13:14-
Overview of Design
00:02:40 -
GameObject Class Implementation in Java
00:05:09 -
TrafficCar Class Implementation in Java
00:03:58 -
SideObject Class Implementation in Java
00:03:26 -
Player Class Implementation in Java
00:05:31 -
GameManager Class Implementation in Java
00:06:05 -
GameObject Class Implementation in C#
00:06:05 -
TrafficCar Class Implementation in C#
00:02:42 -
SideObject Class Implementation in C#
00:01:52 -
Player Class Implementation in C#
00:06:30 -
GameManager Class Implementation in C#
00:04:53 -
GameObject Class Implementation in C++
00:05:55 -
TrafficCar Class Implementation in C++
00:04:08 -
SideObject Class Implementation in C++
00:02:54 -
Player Class Implementation in C++
00:06:06 -
GameManager Class Implementation in C++
00:05:20
-
-
Interaction Diagrams
21 Lectures 02:12:14-
Communication Diagram - Part I
00:07:57 -
Communication Diagram - Part II
00:04:39 -
Communication Diagram - Part III
00:06:49 -
Communication Diagram - Part IV
00:06:45 -
Sequence Diagram - Part I
00:08:09 -
Sequence Diagram - Part II
00:05:37 -
Sequence Diagram - Part III
00:07:49 -
Sequence Diagram - Part IV
00:06:02 -
Scene Class Discussion
00:05:22 -
Scene Class Implementation in Java - Part I
00:06:22 -
Scene Class Implementation in Java - Part II
00:05:39 -
Collision Behavior Implementation in Java - Part I
00:06:04 -
Collision Behavior Implementation in Java - Part II
00:05:10 -
Scene Class Implementation in C# - Part I
00:05:42 -
Scene Class Implementation in C#- Part II
00:05:29 -
Collision Behavior Implementation in C# - Part I
00:04:54 -
Collision Behavior Implementation in C# - Part II
00:06:08 -
Scene Class Implementation in C++ - Part I
00:09:04 -
Scene Class Implementation in C++- Part II
00:05:58 -
Collision Behavior Implementation in C++ - Part I
00:06:58 -
Collision Behavior Implementation in C++ - Part II
00:05:37
-
-
State Machine Diagram
23 Lectures 02:07:12-
Code Cleanup - Java
00:04:39 -
Code Cleanup - C#
00:06:47 -
Code Cleanup - C++
00:05:57 -
State Changes in Java
00:02:53 -
State Changes in C#
00:03:44 -
State Changes in C++
00:02:55 -
State Machine Diagram - I
00:07:23 -
State Machine Diagram - II
00:02:50 -
State Machine Diagram - III
00:03:53 -
Player States in Java
00:04:05 -
Healthkit Powerup in Java
00:05:35 -
State Behaviors in Java
00:04:20 -
More Powerups in Java
00:06:46 -
Player States in C#
00:06:06 -
Healthkit Powerup in C#
00:07:04 -
State Behaviors in C#
00:05:06 -
More Powerups in C#
00:06:11 -
Player States in C++
00:05:46 -
Healthkit Powerup in C++
00:06:56 -
State Behaviors in C++
00:04:39 -
More Powerups in C++
00:08:21 -
State Machine Diagram - IV
00:09:26 -
State Machine Diagram - V
00:05:50
-
-
Refactoring
7 Lectures 00:34:16-
Design Improvements
00:03:30 -
Powerup Factory in Java
00:03:59 -
SideObject Factory in Java
00:06:46 -
Powerup Factory in C#
00:03:59 -
SideObject Factory in C#
00:05:02 -
Powerup Factory in C++
00:04:02 -
SideObject Factory in C++
00:06:58
-
-
More UML Diagrams
7 Lectures 00:36:17-
Package Diagram - I
00:04:33 -
Package Diagram - II
00:07:43 -
Component Diagram - I
00:06:39 -
Component Diagram - II
00:03:44 -
Component Diagram - III
00:04:51 -
Deployment Diagram - I
00:03:44 -
Deployment Diagram - II
00:05:03
-