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 [googleplusone]
If you know anyone studying Object Oriented Design, feel free to share
Object Oriented Design Cheat Sheet
Click the image below a few times to view it full screen
Great tutorial bro! Actually I have my exam for Foundations of Software Engineering next week… this helped a lot!
Thank you very much 🙂 I have really been covering OO on a very complicated level lately. I’m happy to hear that the videos are helping
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 🙂
What UML software are you using? I couldn’t catch the name. And is it available for Linux?
UMLet and yes it works on every OS and it is free. It isn’t the best, but it gets the job done
You are the grand master! masters do things look very easy.
Thank you very much 🙂 I do my best. Many more tutorials are planned for the new year
Which software are you using to draw the diagram ? Thanks
I use UMLet in the videos. It is free and works the same on every OS
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 !
Thank you very much. Most every tutorial from now on will include sequence diagrams if the program is complicated enough. I’m glad you found them useful 🙂
It’s really nice tutorial. I have browsed alot to find these kind of tutorial and finally found one:)
Thanks for sharing.
I’m very happy you liked it 🙂 This tutorial was very fun to create
Thank You! This is really good.
You’re welcome 🙂
Thank You. This is really good
You’re very welcome 🙂
Thank You. This is really good. Love your teaching style.
You’re welcome 🙂 I’m glad it helped
Thanks to all of your tutorials, I am interesting to watch (UML, OOP design, OOP design patterns, XML and code re-factoring ).
I really like your style in teaching, thanks again
You are very welcome 🙂 I really enjoyed making those tutorials. My ultimate goal is to provide a complete software engineering degree online for free.
I have a question here, theCoinegame create a coin, but why not it is created a players also ?
In this situation I decided to create the players in the main program. If I was planning to have an unlimited number of players I may have chosen to avoid doing that
Thanx for this enlightening tutorial! I am a very beginner on OOP and I just became familiar with the idea. Thanx a lot. 🙂
You’re very welcome 🙂
I love your videos. You are doing a very noble service to those of us who are learning.
-R
Thank you very much 🙂 I’m very happy that I’m able to help so many nice people
I want to create a online registration website… How it can be done… With easy way
I’d use PHP. To make everything secure I’d use end. I made this tutorial I will back. It isn’t 100% up to date, but it will definitely lead you to what you want.
Thank You for these very informative tutorials.I have a small Question regarding Object model creation.
In complex situation is there some best practices that could be followed to work out the Object model & relationships as it may be a bit hazy some times?
Should the Object model be always drawn first and ideally would it only contain Actors that would be used in drawing the Use Case diagrams?(
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.
Yes! I watched the whole thing. Thanks for your tutorials and site. Very awesome of you!
Thank you 🙂 I’m glad you enjoyed them
Great tutorial. You are awesome dude. You make learning fun.
Thank you 🙂
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!
You’re very welcome 🙂 Thank you for stopping by my website
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.
You’re very welcome 🙂 Sorry about the viewing problem. Some times YouTube gets slow. I have been thinking about posting to other video sites, but I’m not sure who to use.
Awesome tutorial. Just found out on internet.
Great teaching Derek.
I like the simplicity & your approach.
Two thumbs up 🙂
Thank you very much 🙂
very awsome tuturial derek
You explain things in a very simpler way
Thanks a lot for sharing these wonderful tutorials
Thank you for the compliment 🙂 I try to do my best.
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?
I’m very happy that I could help 🙂 Yes discovering OOD definitely took my coding to the next level. I’m on Twitter, but I don’t do much there. @newthinktank
My main social network is Google+ because I have been forced to use it since I’m on YouTube.
This is very informative tutorial, you explained very well about the OOD.
Thanks Derek for sharing it.
Thank you very much 🙂
Hi Derek,
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.
Best regards,
Marcelo
Hi Marcelo,
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
Hi Derek.. wonderful tutorial. I am eagerly waiting for the tutorials like this on game development.
Thank you 🙂 Game tutorials are coming
Very very nice work Derek. Thanks man you are great. Keep the good work going on. I appreciate your help.
Thank you very much 🙂 I’m glad you found it useful.
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.
I appreciate the time you have taken to do these tutorials!!
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.