Object Oriented Analysis, Design & Programming with UML

Learn OO Analysis, Design & Programming using UML in C++, Java & C#

4.57 (970 reviews)
Udemy
platform
English
language
Other
category
instructor
8,001
students
10.5 hours
content
Nov 2020
last update
$89.99
regular price

What you will 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#

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 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.


Content

Introduction

Introduction
Installation of Eclipse for Java
Installation of Visual Studio for C# & C++
Installation For Other Platforms
Course Slides

Basics

Software Complexity
Algorithm Decomposition
Object Oriented Decomposition
Object Characteristics

Object Oriented Analysis

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
Use case StarUML File
Activity Diagram
Activity Diagram in StarUML
Merge
Fork & Join
Swimlanes
Activity Diagram StarUML File

Object Oriented Design & Programming

Introduction to Classes & Class Diagram
Class Diagram in StarUML
Abstraction
Abstraction in Java
Abstraction in C#
Abstraction in C++
Encapsulation
Encapsulation in Java - Part I
Encapsulation in Java - Part II
Encapsulation in C# - Part I
Encapsulation in C# - Part II
Encapsulation in C++ - Part I
Encapsulation in C++ - Part II
Class Diagram Revisited
Class Diagram StarUML File
Inheritance
Inheritance in Java
Inheritance in C#
Inheritance in C++
Containment
Aggregation & Association
Dependency
Polymorphism
Polymorphism in Java
Polymorphism in C#
Polymorphism in C++
Abstract Class
Interface

Reckless Driver Implementation

Overview of Design
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++
Communication Diagram - Part I
Communication Diagram - Part II
Communication Diagram - Part III
Communication Diagram - Part IV
Sequence Diagram - Part I
Sequence Diagram - Part II
Sequence Diagram - Part III
Sequence Diagram - Part IV
Scene Class Discussion
Scene Class Implementation in Java - Part I
Scene Class Implementation in Java - Part II
Collision Behavior Implementation in Java - Part I
Collision Behavior Implementation in Java - Part II
Scene Class Implementation in C# - Part I
Scene Class Implementation in C#- Part II
Collision Behavior Implementation in C# - Part I
Collision Behavior Implementation in C# - Part II
Scene Class Implementation in C++ - Part I
Scene Class Implementation in C++- Part II
Collision Behavior Implementation in C++ - Part I
Collision Behavior Implementation in C++ - Part II

Screenshots

Object Oriented Analysis, Design & Programming with UML - Screenshot_01Object Oriented Analysis, Design & Programming with UML - Screenshot_02Object Oriented Analysis, Design & Programming with UML - Screenshot_03Object Oriented Analysis, Design & Programming with UML - Screenshot_04

Reviews

Michael
April 2, 2023
Too much programming in C, C# and Java. Not enough UML. I would rather see demos on how to draw UML diagrams using other tools like ArgoUML, Papyrus, or even any three of the instructor's choosing. In this course, the instructor shows only StarUML.
Leo
December 31, 2022
This course is well organized, quickly paced, clearly spoken. Topics are thoroughly explained. Very efficient for learning without wasting time. Excellent so far!
Jackson
December 28, 2022
Even the course is outdated, the content is very helpful, the concepts are clearly explained, each concept is explain with a detailed example. So great for that
Jose
December 24, 2022
The course is really well crafted from the definition of the game, the design and the implementation through code making the steps clear and showing how the design can be converted into Code. Also provides great detail regarding The Finite State Machine with an interesting example and the corresponding implementation in the game, demonstrating why state machine identification is important in programming. This is the best course on Object Oriented Analysis, Design and Programming that I found so far.
Albert
December 21, 2022
Me gustaron los temas tratados aprendi un poco más y profundize mi conocimiento sobre el tema del curso
Phil
October 26, 2022
I've not quite finished the course yet, but have covered all the UML parts, and found it very interesting and useful. I'm a software developer of nearly 20 years, and although I've frequently used OOA, OOD and modelling tools including UML, I've mostly been self-taught or simply picked things up by osmosis. I've recently been tasked with design work for a safety-critical project, so I thought it was time for an actual course to brush up on my understanding and learn the 'right' way to do some of the stuff I've so far been mostly making up as I go along. It's been very helpful. Not least to find that there is mostly a 'right way' to use UML. Seeing the implementations in different languages was not really required for me, but it was interesting to have a direct comparison. (And to be reminded how opaque C++ is compared to the others!) Compared to other courses I've tried, this was definitely more comprehensive, understandable and approachable. Thanks!
Shailajatuppad@gmail.com
September 19, 2022
It is one of the best classes that one can take to understand the basic pillars of object oriented programming. Amazing examples, great command on language and cover all the important topics. Thank you very much!
Sean
September 3, 2022
I had little to no experience with UML before taking this course, so this was a fantastic way to get a crash course on UML. I learned object-oriented programming four years ago very briefly when I learned Python, but I only learned about it for a month or so and never used it since then. Thus, this was a great way to learn more about this and the specifics of how objects are implemented in Java and C++. Since it seems that I do not have to use C# and since I never learned that specific language, I skipped the C# examples. I watched the videos for both the Java and C++ examples at first, but I stopped watching the Java videos since the code was fairly similar aside from the differences between the two languages. It was definitely helpful to do this at first so that I could compare how OOP is implemented between the two, and giving students the freedom to choose between three languages, depending on their needs or preferences, was a great idea. All of the topics were explained very well. I learned a lot from following along with the code examples and the UML diagrams.
Nelson
August 12, 2022
This course seems ok. It started well, but then, towards the second half, it started to be tough to follow the code example that was being explained.
João
August 10, 2022
I felt some topics in section 4 were complicated for me to get understand them more easily and leave no doubt about them.
Prof.
November 17, 2021
That's really great learning with Mr. Umar Lone. I learnt lots of things and its helpful a lot to me in my professional career.
Daniel
November 14, 2021
Very good therethical introduction to the subject. Good practical examples using a free uml tool. However, the things that could be imporoved about is the fast phased speaking. I also whish for a bettet introduction to the uml tool. The online docs are not the best. All in all, very interesting course !
Johan
September 7, 2021
Took this course in December 2020 on my managers name, and thorougly enjoyed it. Bought it now on my own name, to do a bit of reviewing and it is really good. I am now creating a class diagram for a project i am busy with.
John
July 8, 2021
More of a code along than an actual dive into the theory. The working example gets very tiresome mid-way through all the way to the end
Alexander
June 2, 2021
Very good technical content, however I thought that the inclusion of Java, C++ and C# was too much, perhaps have 3 course at the same price point but with separations of Java, C++ and C# or have those modules not count towards the certificate.

Charts

Price

Object Oriented Analysis, Design & Programming with UML - Price chart

Rating

Object Oriented Analysis, Design & Programming with UML - Ratings chart

Enrollment distribution

Object Oriented Analysis, Design & Programming with UML - Distribution chart
1221852
udemy ID
5/19/2017
course created date
11/22/2019
course indexed date
Bot
course submited by