Welcome to my Object Oriented Design Tutorial! I cover a ton of things in the video below.

The goal of this tutorial is to teach you how to create excellent OO designs. In this tutorial, I start off with a programming idea and walk you through the process of creating a Use Case, Object Model, Sequence Diagram and Class Diagram.

If you need help understanding sequence diagrams look here. The diagrams that follow the video should help you along though.

If you like videos like this, it helps to tell Google with a click here

Hi Derek
I am planning to start a project in java. But i don’t know how to start so that it will use all the concepts of OOP.
Can you help me also Is it necessary to design UML diagrams before starting project.
My this new project will grow in future and I may need to add more and functions and classes.

I can only tell you what I did when I was involved in big projects in the past. I worked in teams of between 5 to 50 people and we always created UML diagrams. Every place I worked in what is called the iterative design process. I’m covering it in the videos I’m making right now. It is very easy to forget some little thing that later blows up your whole project or makes it take longer than it should without planning. Little projects can me accomplished without them, but I think they are a must in big projects. I hope that helps

Great Tutorial as always Derek! Just wanted to let you know I’m watching 🙂 I think you really keep it simple and it is very easy to understand when you explain what is typically considered a complicated subject. I’m going to start teaching my 9 year old daughter programming and I will use your tutorials since I’m not as good a teacher as you. I’ll let you know how she does 🙂 Thanks again!

Thank you 🙂 The goal is to make everything fun. I don’t think I’ve done a great job of that, but I will in the future. With programming a person could make a fun game almost immediately. I want to make a Java tutorial based around teaching game development. Your daughter would probably prefer that. Always feel free to tell me how I can improve and ask questions

I recently started messing around with creating a 2d game and as you say…and I have come to realize… planning matters! so yes I’m def watching this. And no i’ve never see anything like this elsewhere. Thnx as always.

When you have a big project you have to plan. From what I have seen normally a few small mistakes will completely destroy a project. It is a pain in the beginning, but after a while it will just be part of the way you program. Other programmers that see your code will also realize how good you are. Many more are in the works 🙂

Video that I was waiting for.
Great, I am trying to learn Java and I think this is the first thing I should learn. Derek did and excellent job. I hope he will continue making videos about UML and OOP. Thank Derek for your help !

I personally just use a description, a complex sequence diagram and a simple class diagram. I pretty much ignore everything else. Everyone finds their own preferred uml tools, or they are forced to use what the company prefers.

Just wanted to say thank you for the videos! Just started viewing and I gotta say I am blown away! It is easier for me to understand if I see an example (like your videos) than if I try and follow along in a book. Thanks again!

Thanks a lot for videos. This one of the simplest explanation I have found on OOPs concept and its transformation to actual coding.
Note: I visited this page few days back. Today I was not able to see video again.

Goodness gracious Derek man, you a lifesaver! Thanks for the tutorial! This would help me loads as I have loads of ideas but I try to go from concept to code but it gets frustrating. However with OOD in the middle, this might just be the break I’ve been praying for…
Thanks again. Say, you on twitter?

Would like to thank you for the work you put on these tutorials, I quite like the way you present the content, very straightforward.

I am working on my graduate project and I found some of your tutorials easier to use as part of my content review than my uni texts, so yes I may be putting a note or two on my project bibliography pointing to some of your material. Hopefully this would be OK with you?

On another note, I was wondering if you have any section on your OOP tutorials that quotes any references you may used for your work, textbooks or websites, anything really? This would greatly help me with the literature review I have to carry out.

I’m very happy that I was able to help with your graduate project. Most of this material comes from personal notes I have made over a couple of decades. I learned a lot from the books Design Patterns: Elements of Reusable Object-Oriented Software, Refactoring: Improving the Design of Existing Code, The Pragmatic Programmer, and Test Driven Development.

A great deal of this information comes from personal experience however. I hope that helps 🙂
Derek

I have been doing procedural based programming for 20 years (Lotus Notes). I want to move to Android development. I figured, I have been programming for a long time, what’s one more programming language to learn. I’m finding this a more daunting task than I originally thought.

OO programming, Java & Android are getting the better of me. How would you recommend I start the transition process? I have seen that you seem to have your hand in many many programming arenas.

Thank you 🙂 If you know the basic syntax of Java you should be ready for Android. The one thing you need to understand is that Android uses an MVC structure. I cover it here. After that you should be ready for my Android tutorial. Feel free to ask questions.