Guys, for aggregation and composition think of it this way Aggregation(empty rectangle): If a dog breed goes extinct, dogs don't go extinct. Composition(filled rectangle): If dogs go extinct, the dog breed also goes extinct.
Reworded in a more lengthy fashion: Aggregation: The 'Dog' contains a multitude (aggregation) of 'Breeds'; therefore, if a 'Breed' disappears, the 'Dog' remains. Composition: Each 'Breed' is made up of (composed of) 'Dog'; therefore, if 'Dogs' disappear, 'Breeds' can no longer exist.
sorry to be so off topic but does anyone know a trick to log back into an Instagram account..? I somehow lost the account password. I appreciate any assistance you can offer me!
Since Dog is a (sub-)class implementing and inheriting methods from the abstract Animal class, the arrow should be on the other side (see video at 14:05)
From your explanation of Aggregation & Composition, I think you got the notations wrong. Composition should be the filled diamond while Aggregation is the empty diamond. But you used them in the reverse.
+Derek Banas you should create an annotation to let people know about that mistake. Luckily I saw this comment, but others might not see it. Anyways thanks a lot for this video.
+Derek Banas You made one more error. The arrow should be pointing on to the abstract class Animal and not the subclass as it is presented in the video. The "Dog "class inherits from the "Animal" abstract class - not the other way round.
1.)@ 2:10: semantical error: encapsulation is not information hiding. encapsulation is the concept of encapsulating attributes and methods, which are logically dependent, i.e. the methods operate on the attributes. www.javaworld.com/article/2075271/core- java/encapsulation-is-not-information-hiding.html 2.)protected elements are also accessible to classes in the same package
You're very welcome :) An Association occurs when a class contains a reference to another class "Has a". An Aggregation and a Composition are both Associations, but are more complex Associations. An Aggregation occurs when a class contains another class and the contained class can exist without the container class. A Composition ("Part of") also has a class that contains another. The only difference is that the contained can't exist without the container. I hope that helps
Thank you very much for the compliment :) I think because I aim to satisfy people that enjoy fast videos that I stand apart from many of the other tutorial people. I'm very happy that you enjoy them. Yes, I have over 500 videos on my TH-cam channel. Some of the old ones are terrible, but I do my best to always improve.
Basically you need to create a use case description that goes over everything in exact detail. Then break everything into objects. Students, admins, email, everything becomes an object if it is an object in the real world. Then translate the use case description into a sequence diagram. You have the objects and the interactions, so you just have to connect them. My object oriented design tutorial shows you everything step by step. Tell me if you have questions after watching the 1st 2
My undergrad is Computer Science and I have studied UML 8 years ago. As a PhD student I couldn't find a better refreshing tutorial than yours. good job. can you please post your slides so we can take notes on it. That would be great keep it up
That is really up to you and your team. In the real world i normally always used simple class diagrams and verbose sequence diagrams and never had any trouble. Normally new programmers either create overly complex UML diagrams or don't understand them at all. You will normally be at the mercy of the systems architect were you are hired. i hope that helps :)
This tutorial covers the UML 2.0 specification exactly. I do however know what you are referring to. Also, most people don't use the exact spec all of the time in the real world. As you'll see when you get to sequence diagrams I don't either :)
The association arrows are almost always pointed at the containing object. I cover that later in this series because as you pointed out I should have done it that way. A Composition Association (Filled Diamond) is one in which if the container is destroyed so is the contained object. Aggregations (Empty Diamond) is one in which if the container is destroyed the contained lives on. Composition - "Part of" Aggregation - "Owns a"
Thanks for taking time to put these lessons together. It sure is nice hearing a coherent and native English-speaking instructor, as opposed to an unintelligible thick Indian accent.
Thank you for these. I am finding myself thrown into a OOA&D class with no real previous knowledge and you are thorough and do not skip "obvious" stuff like other videos do. Obvious comes with experience and these are perfect for me as a beginnger.
I have seen that presented in both ways. In the real world unlike in books there are very few iron class rules. I for example always preferred to ignore most all diagrams except for sequence diagrams which I made very detailed. I never had a boss tell me what I was doing was wrong. As an architect at the time, all of the programmers under me loved working with me.
The best explanation ever.. Your articulation of voice is amazing and gives more meaning to your words. Only few people know to talk like this, especially on dry subjects like requirement engineering, process modeling, diagrams etc.
If only everyone had a teacher like you. If only. Thanks to the TH-cam creators for giving people like you an opportunity to teach countless people like me who haven't had a good teacher, and most importantly, thank you!
I check all my TH-cam personal messages. The ATM system I designed isn't much different from what you want to design. Instead of passing emails it passes an ATM transaction. Replace PIN number and valid card number with userid and password. They are almost exactly the same
All architects work differently. I personally use sequence diagrams that are heavily commented. I also write very detailed usage descriptions. I make class diagrams, but I don't dwell on them. In the real world I do all of this stuff with paper and pencil. In groups I always work on a whiteboard
I have no words to describe how you change my life with your videos! Thank you for all your tutorials..I'm not English-Speaker but your explanations are so clear that i understand quickly!
With both an Aggregation and a Composition, a class (I'll call it Dog) contains another class object (One is Bark and the other is FavoriteFood). With an Aggregation, since FavoriteFood could be used by other potential Animal objects (Non Dog Objects) then if the Dog object is destroyed FavoriteFood could continue to exist. With a Composition, Bark couldn't exist or would have no meaning without the Dog object (Assuming that no other Animals bark) Does that help?
You are correct. I'm sorry if I didn't make that clear. I think I got a bit tongue tied and I went back and revisited association arrows to correct any misunderstanding in the next few tutorials. Thanks for pointing that out :)
Thank you :) I do my best to make everything understandable. I have one more video on the syntax of UML and then I'll get into using them in real world applications
14:06 The arrow is facing the wrong way :) With interfaces, the arrow is from Animal to Dog (which is wrong), whilst it with Inheritance at 11:23 the arrow is from Dog to Animal (which is right). (Took me 30 mins to figure out, but hey...)
I just want to thank you for this tutorial service you provide. Currently taking an online community college course with no lectures provided and a very bland textbook; this is helping me immensely!
Hello Derek I am taking course On object oriented design from Alberta university (from Canada ) and there is some points are different 1- association is just when object is a parameter to method in other object class and in uml is just line (not doted line as in video) 2- aggregation is different a way from composition in code that aggregation is when u have something like array of the object of other class (and this array may have objects or may null) but in composition the object u use from other class need to be used every time u use this object (that can happen when u declare that object in yr constructor )
The system is all the objects combined. Break everything down into their smallest parts. If it is an object in the real world then make it an object in your use case. Watch my examples and you'll get it. I provide both fast and slow examples
It will be so kind of you if you initiate it not too late. As I am into objective c now a days just a beginner. Right now following lectures from stanford university on youtube but I am sure I will understand much more if you will deliver your lectures. May the CREATOR of all mankind bless your service.
@14:00 The arrow should be in reverse. Dog should point to Animal. At work in the first week I made over and over this mistake to point a base class to a inherited one when software concepts were presented (this is natural human thinking) this is why mistakes appear. Finally I was able to correct that thinking as upper class derives the base class.
I'm sorry, but I just started Android tutorials. I'm having a hard time finding the time to get those out quickly. I promise to cover Obj C as soon as possible. May God bless you as well :)
I made a little error there. Sorry about that. Yes you should definitely make videos. There are a ton of requests I get that I just don't have time to cover.
Diagram at 14:30 says that Animal extends Dog I believe that you wanted to put it diffeently. And some slide before you put abstract class Animal below Dog. It was correct notation, but I believe it's more readable if abstracts are above inherited classes
I remember going through your java tutorials over 10-15 years ago as a teen... now I'm a plumber who makes video games at a high level in their spare time lol
Thank you very much for the nice message :) Ill cover obj c and iDevice programming after I cover android. I'll cover it with the same detail I did with java
I'm sure u get this alot from people, but you are just simply the best. Do you have videos on other languages too.? just incase i might need them in future. Thanks again. your videos are great .:-)
You actually have aggregation and composition mis-matched. From what I was thought composition has a solid diamond while aggregation doesn't this is a very strange example because it's using both. If you're trying to demonstrate both I think in theory it breaks the composition definition. And the composition is more opinionated. But if the whole dog is destroyed the part breed isn't... What are you getting at here? Kind of bad confusing example. Ambiguity error please use the scope resolution operator :: lol
What are you getting at here? In composition the life cycle of the part class is dependant on the whole class. He is right about the diamonds as well. The part breed is destroyed if it is composition but not if it is aggregation. I like not this comment.
Don't know if anybody said this already but I think you've got the arrow pointing the other way around on 14:02 Really enjoying your tutorials, btw. Planning on making my own once I feel prepared enough.
That's how things end up when you create something useful :) After a few years someone still finds it valueable and may have remarks. Thanks a lot for the great job!
Your video has cleared much of the concepts I was fearing of. However I anticipate that would be a great service from you and help if you upload objective c programming tutorials. I love your voice pitch and clarity you use to simplify things. If possible plz bring your lectures in detail about OBJECTIVE C programming step by step.
You put me in a total stupor with your Dog and Breen diagram. Composition relationship is drawn with a solid diamond. Just put an annotation at that point and yup, hammered down, everything will be fine. Other than that, good job!
You are just awesome to listen to and learn from. You have a good skill and thank you sir for sharing your knowledge. Kudos to you! Final exam tomorrow *fingers not even crossed, just ready*
fantastic classes. man you are gifted to teach. congrats. one advice, put the number of lecture in the title. I`m just going back and forth to see which one is the next lecture. other than that.. man I wish I had you as my teacher.
You're very welcome :) I show on this picture what most of the arrows mean. newthinktank. com/wp-content/uploads/2012/12/UML-Domain-Model. png I hope that helps clear anything up
I'm sure someone has said this, but the inheritance arrow on abstract classes is backwards from when you introduced them. Also, why no cheat sheet for this one? I'm printing them all out for my cube but was sad not to find one for class diagrams... Excellent tutorials by the way. Excellent.
I've used this kind of diagrams on C# before, still haven't used any on Java, but I would guess they are similar. My questions is: are class diagrams the only build in (or added with plugin) kind of UML diagrams in the popular programming languages like Java, C# etc. And where are the other type of diagrams (like the others in this playlist) usually used? I would guess software architects and "plan makers" in non-IT jobs as well. And also one can do it for himself, with a paper and pencil
Hello Derek, this is one good example of abstraction. 1) using java class codereview.stackexchange.com/questions/83387/building-data-abstraction-for-line-segments-using-type-abstraction 2) using python function objects codereview.stackexchange.com/questions/83626/building-data-abstraction-and-adt-for-rectangle-using-objects
What do you do if there is both a dependency and an association between two classes? Show both dependency and an association? or just the association since that is the 'stronger' one?
Love the video it is helping me complete an assignment as we speak. Do you have a video that uses a class diagram and goes to the code that would really be helpful!!!
Shouldn't the visibility modes of the methods in the 'Animal' class in ABSTRACT CLASS DIAGRAMS be declared protected (#) or public (+) for the subclass 'Dog' to inherit them?
That is so nice of you. I wonder if you can help me deliveringa quick lecture on the following small usecase diagram. I am feeling confused while drawing it. I have commented on your channel and posted the use case requirements there. Your little time can solve my big problem. Thanku
hey Derek, i don't have experience with UML and i just started learning oriented object programming, so i'm curious about the actual flow of UML for the design of software, so say that i have an idea for a program or a requirements document , and i want to make the software design and implementation following the UML approach, so is the actual procedure like the order of the videos in this playlist , like starting from use case, activity diagram, class diagram.... till deployment diagram and then i will have a working software ?? or is there something else or another approch ?? and by the way nice channel
what about the otherones ? are they optionnal ? i don't know them yet cuz i'm still watching the videos and jumping here in there in your other videos specially the androiad stuff it 's nice.so if i include the other diagrams,will they add more features performances ... or it's just to clarify more if the class diagram and sequences diagrams aren't enough
Guys, for aggregation and composition think of it this way
Aggregation(empty rectangle): If a dog breed goes extinct, dogs don't go extinct.
Composition(filled rectangle): If dogs go extinct, the dog breed also goes extinct.
+Dedokire *Very nicely put!*
*Thanks!!*
Reworded in a more lengthy fashion:
Aggregation: The 'Dog' contains a multitude (aggregation) of 'Breeds'; therefore, if a 'Breed' disappears, the 'Dog' remains.
Composition: Each 'Breed' is made up of (composed of) 'Dog'; therefore, if 'Dogs' disappear, 'Breeds' can no longer exist.
sorry to be so off topic but does anyone know a trick to log back into an Instagram account..?
I somehow lost the account password. I appreciate any assistance you can offer me!
@Israel Bryce Instablaster :)
Since Dog is a (sub-)class implementing and inheriting methods from the abstract Animal class, the arrow should be on the other side (see video at 14:05)
yea! i noticed too!
This is must be reverse.
@@utmostcreator Yup, he needs to fix that.
From your explanation of Aggregation & Composition, I think you got the notations wrong. Composition should be the filled diamond while Aggregation is the empty diamond. But you used them in the reverse.
okeyxyz Sorry about that error. You are correct.
+Derek Banas
you should create an annotation to let people know about that mistake. Luckily I saw this comment, but others might not see it. Anyways thanks a lot for this video.
+Derek Banas You made one more error. The arrow should be pointing on to the abstract class Animal and not the subclass as it is presented in the video. The "Dog "class inherits from the "Animal" abstract class - not the other way round.
Yeah same here jeez
Yeah you're right with your point
thanks derek, i remember watching these at uni, but i come back again every couple years to watch when i need to use uml at work
1.)@ 2:10: semantical error: encapsulation is not information hiding. encapsulation is the concept of encapsulating attributes and methods, which are logically dependent, i.e. the methods operate on the attributes.
www.javaworld.com/article/2075271/core-
java/encapsulation-is-not-information-hiding.html
2.)protected elements are also accessible to classes in the same package
You're very welcome :) An Association occurs when a class contains a reference to another class "Has a". An Aggregation and a Composition are both Associations, but are more complex Associations. An Aggregation occurs when a class contains another class and the contained class can exist without the container class. A Composition ("Part of") also has a class that contains another. The only difference is that the contained can't exist without the container. I hope that helps
11:40 points from Dog to Animal (Dog -> Animal), meanwhile 14:20 points from Animal to Dog (Animal -> Dog). This is misguiding.
In the latter the arrow should also point towards animal: Dog -> Animal.
at 14:00 the generalisation (inheritance) arrow goes in the wrong direction.
Peter Kelley Sorry about that error
Learnt more in five minutes from you than a 3 hour lecture at college :-)
+Geordi La Forge Thank you for the compliment :) I'm glad I could help.
+Geordi La Forge video is 16 mins dammit watch till end
well he must have learned 9 hours worth then xD
Thank you very much for the compliment :) I think because I aim to satisfy people that enjoy fast videos that I stand apart from many of the other tutorial people. I'm very happy that you enjoy them. Yes, I have over 500 videos on my TH-cam channel. Some of the old ones are terrible, but I do my best to always improve.
Basically you need to create a use case description that goes over everything in exact detail. Then break everything into objects. Students, admins, email, everything becomes an object if it is an object in the real world. Then translate the use case description into a sequence diagram. You have the objects and the interactions, so you just have to connect them. My object oriented design tutorial shows you everything step by step. Tell me if you have questions after watching the 1st 2
My undergrad is Computer Science and I have studied UML 8 years ago. As a PhD student I couldn't find a better refreshing tutorial than yours. good job.
can you please post your slides so we can take notes on it. That would be great
keep it up
On occasion I make typos. I'm glad you liked the video regardless :)
Thank you very much :) I'm extremely happy to be able to help people all over the world. Your nice comment is very much appreciated!
That is really up to you and your team. In the real world i normally always used simple class diagrams and verbose sequence diagrams and never had any trouble. Normally new programmers either create overly complex UML diagrams or don't understand them at all. You will normally be at the mercy of the systems architect were you are hired. i hope that helps :)
This tutorial covers the UML 2.0 specification exactly. I do however know what you are referring to. Also, most people don't use the exact spec all of the time in the real world. As you'll see when you get to sequence diagrams I don't either :)
The association arrows are almost always pointed at the containing object. I cover that later in this series because as you pointed out I should have done it that way. A Composition Association (Filled Diamond) is one in which if the container is destroyed so is the contained object. Aggregations (Empty Diamond) is one in which if the container is destroyed the contained lives on. Composition - "Part of" Aggregation - "Owns a"
Thanks for taking time to put these lessons together. It sure is nice hearing a coherent and native English-speaking instructor, as opposed to an unintelligible thick Indian accent.
Thank you for these. I am finding myself thrown into a OOA&D class with no real previous knowledge and you are thorough and do not skip "obvious" stuff like other videos do. Obvious comes with experience and these are perfect for me as a beginnger.
Thank you :) Happy I could help
I have seen that presented in both ways. In the real world unlike in books there are very few iron class rules. I for example always preferred to ignore most all diagrams except for sequence diagrams which I made very detailed. I never had a boss tell me what I was doing was wrong. As an architect at the time, all of the programmers under me loved working with me.
The best explanation ever.. Your articulation of voice is amazing and gives more meaning to your words.
Only few people know to talk like this, especially on dry subjects like requirement engineering, process modeling, diagrams etc.
Thank you for the nice compliment :)
If only everyone had a teacher like you. If only.
Thanks to the TH-cam creators for giving people like you an opportunity to teach countless people like me who haven't had a good teacher, and most importantly, thank you!
Thank you for the nice compliment :) I'm very happy to be of help.
You could do voice acting. You have a great voice for this type of thing.
+shootingblueyes Thank you for the nice compliment :)
I check all my TH-cam personal messages. The ATM system I designed isn't much different from what you want to design. Instead of passing emails it passes an ATM transaction. Replace PIN number and valid card number with userid and password. They are almost exactly the same
Sorry about that error. I have all the Umlet files available for download on this page newthinktank. com/videos/uml-video-tutorial/
At 14:53 the arrow between abstract class and inheritance class points to the wrong direction or am I wrong?
No you are right, it seems like it's the opposite ( it's wrong )
All architects work differently. I personally use sequence diagrams that are heavily commented. I also write very detailed usage descriptions. I make class diagrams, but I don't dwell on them. In the real world I do all of this stuff with paper and pencil. In groups I always work on a whiteboard
I have no words to describe how you change my life with your videos!
Thank you for all your tutorials..I'm not English-Speaker but your explanations are so clear that i understand quickly!
thank you :) I didn't know if anyone would like these tutorials, but it is hard to teach oo design and refactoring without uml
With both an Aggregation and a Composition, a class (I'll call it Dog) contains another class object (One is Bark and the other is FavoriteFood).
With an Aggregation, since FavoriteFood could be used by other potential Animal objects (Non Dog Objects) then if the Dog object is destroyed FavoriteFood could continue to exist.
With a Composition, Bark couldn't exist or would have no meaning without the Dog object (Assuming that no other Animals bark) Does that help?
You are correct. I'm sorry if I didn't make that clear. I think I got a bit tongue tied and I went back and revisited association arrows to correct any misunderstanding in the next few tutorials. Thanks for pointing that out :)
The presentation software I use is called keynote
Thank you :) I do my best to make everything understandable. I have one more video on the syntax of UML and then I'll get into using them in real world applications
Thank you :) I do my best to put as much information into each video as possible.
14:06 The arrow is facing the wrong way :)
With interfaces, the arrow is from Animal to Dog (which is wrong), whilst it with Inheritance at 11:23 the arrow is from Dog to Animal (which is right).
(Took me 30 mins to figure out, but hey...)
I just want to thank you for this tutorial service you provide. Currently taking an online community college course with no lectures provided and a very bland textbook; this is helping me immensely!
That's great :) I'm happy that I could help
Hello Derek
I am taking course On object oriented design from Alberta university (from Canada ) and there is some points are different
1- association is just when object is a parameter to method in other object class and in uml is just line (not doted line as in video)
2- aggregation is different a way from composition in code that aggregation is when u have something like array of the object of other class (and this array may have objects or may null) but in composition the object u use from other class need to be used every time u use this object (that can happen when u declare that object in yr constructor )
Thanks for the input. Yes I messed up the dotted line by accident
@@derekbanas I appreciate so much your reply after 7 years from creating your video
I learnt a lot from yr channel
thanks a lot
Thank you :) I love talking with everyone
The system is all the objects combined. Break everything down into their smallest parts. If it is an object in the real world then make it an object in your use case. Watch my examples and you'll get it. I provide both fast and slow examples
This greatly increases my understanding of UML. It brings to life the definitions I see in books.
Thank you :) I'm very happy it helped
Thank you :) Yes I get tongue tied every once in a while because non of this stuff is scripted. Sorry about that
It will be so kind of you if you initiate it not too late. As I am into objective c now a days just a beginner. Right now following lectures from stanford university on youtube but I am sure I will understand much more if you will deliver your lectures. May the CREATOR of all mankind bless your service.
I'm glad you found it useful. You're very welcome :)
@14:00 The arrow should be in reverse. Dog should point to Animal. At work in the first week I made over and over this mistake to point a base class to a inherited one when software concepts were presented (this is natural human thinking) this is why mistakes appear. Finally I was able to correct that thinking as upper class derives the base class.
Sorry about the typo
I'm sorry, but I just started Android tutorials. I'm having a hard time finding the time to get those out quickly. I promise to cover Obj C as soon as possible. May God bless you as well :)
I made a little error there. Sorry about that. Yes you should definitely make videos. There are a ton of requests I get that I just don't have time to cover.
You're a better teacher than my Object Oriented Development lecturer in uni. Thanks a million!
You're very welcome :) Thank you for taking the time to tell me the videos have helped
Thank you :) - is private, # is protected, + is public
Great video, literally got me going for a project at work, but your soothing voice almost put me asleep here at work too!
Thank you :) Sorry for making you tired
Am I correct in thinking that at 11:30, the attribute '- name' is private, therefore is not inherited by the 'Dog' subclass?
+Richard Dunn Exactly, only public and protected properties are inherited
Diagram at 14:30 says that Animal extends Dog
I believe that you wanted to put it diffeently.
And some slide before you put abstract class Animal below Dog.
It was correct notation, but I believe it's more readable if abstracts are above inherited classes
In 14:40, is the direction of the arrow wrong? Because the Dog class extends Animal.
+Jiaqi Liu Yes sorry for that error
I remember going through your java tutorials over 10-15 years ago as a teen... now I'm a plumber who makes video games at a high level in their spare time lol
Thank you very much for the nice message :) Ill cover obj c and iDevice programming after I cover android. I'll cover it with the same detail I did with java
I'm sure u get this alot from people, but you are just simply the best. Do you have videos on other languages too.? just incase i might need them in future. Thanks again. your videos are great .:-)
I'll have to take a look. Thanks for pointing that out
Thank you :) You are correct it is omitting it normally means that it doesn't matter
Hey, great work, could you just organize The numbers of The vídeos of uml? Im looking for part 5 and cant find it.
Thank you :) I edit the videos with iMovie
You actually have aggregation and composition mis-matched. From what I was thought composition has a solid diamond while aggregation doesn't this is a very strange example because it's using both. If you're trying to demonstrate both I think in theory it breaks the composition definition. And the composition is more opinionated. But if the whole dog is destroyed the part breed isn't... What are you getting at here? Kind of bad confusing example. Ambiguity error please use the scope resolution operator :: lol
What are you getting at here? In composition the life cycle of the part class is dependant on the whole class. He is right about the diamonds as well. The part breed is destroyed if it is composition but not if it is aggregation. I like not this comment.
Actually, you're wrong and Kristopher is right.
Don't know if anybody said this already but I think you've got the arrow pointing the other way around on 14:02
Really enjoying your tutorials, btw. Planning on making my own once I feel prepared enough.
At 14:37 there seems to be another mistake - inheritance arrow has wrong direction, dog inherits from animal, so the arrow should point at animal.
Sorry about the typo
That's how things end up when you create something useful :) After a few years someone still finds it valueable and may have remarks. Thanks a lot for the great job!
Hi Derek, I just wanted to thank you! I have really been struggling with some of the concepts of OOAD and your videos are really helping. Thanks
Your video has cleared much of the concepts I was fearing of. However I anticipate that would be a great service from you and help if you upload objective c programming tutorials. I love your voice pitch and clarity you use to simplify things. If possible plz bring your lectures in detail about OBJECTIVE C programming step by step.
Thank you very much :) Ill see if I can post the whole file so you can open it and output in any format tomorrow
You put me in a total stupor with your Dog and Breen diagram. Composition relationship is drawn with a solid diamond. Just put an annotation at that point and yup, hammered down, everything will be fine. Other than that, good job!
Thank you :) Im using UmLet
great video! i pretty much took all the notes and took me more than 1 hrs to go through them :)
At 11:41 shouldnt name be only at animal class???
Is your inheritance arrow backwords at 14:52?
Thank you :) It is very nice of you to say that
I think the aggregation symbol is flipped at 10:49?
You are just awesome to listen to and learn from. You have a good skill and thank you sir for sharing your knowledge. Kudos to you! Final exam tomorrow *fingers not even crossed, just ready*
+777Jimihendrix Thank you for the compliment :) Best of luck on your exam!
Спасибо. Я делаю лучшее, что я могу. Я рад, что вам нравится видео.
fantastic classes. man you are gifted to teach. congrats. one advice, put the number of lecture in the title. I`m just going back and forth to see which one is the next lecture. other than that.. man I wish I had you as my teacher.
Thank you for the nice compliment :) I'll see what I can do about the titles
The composite arrow should be filled and the one with aggregation should be left unfilled. Good clip tough!!!
Really handy video for getting my head around these concepts, thanks!
Iam brazilian and I've been enjoying all of your tutorials. I hope I learn how to programm as soon
Silvio da silva Thank you :) Hello Brazil!
Taught me more in this video than the lecturer taught me in 1 year
Turkish Gamer I'm glad I could help :)
THANK YOU SO MUCH FOR MAKING ME PASS MY EXAMS SIR. C++, C, java, diagram, i love you so much. keep up with the good work! :D
Very good tuts, thanks you very very much. Btw, what tool you used when transit from nor slide to another? It looks very cool way
You're very welcome :) I show on this picture what most of the arrows mean. newthinktank. com/wp-content/uploads/2012/12/UML-Domain-Model. png
I hope that helps clear anything up
Aggregation:
Bee--------Swarm
A Bee CAN exist without a Swarm
Composition:
Swarm-----------◀▶ Bee
A Swarm CAN'T exist without any Bee
I'm sure someone has said this, but the inheritance arrow on abstract classes is backwards from when you introduced them.
Also, why no cheat sheet for this one? I'm printing them all out for my cube but was sad not to find one for class diagrams...
Excellent tutorials by the way. Excellent.
never studied this lesson before and my exams are in 2- days...already watched 3 videos and from full stress mode I went to zero stress mode
That's great :) Best of luck on your exam
thank you mate!! :)
howd it go?
I've used this kind of diagrams on C# before, still haven't used any on Java, but I would guess they are similar.
My questions is: are class diagrams the only build in (or added with plugin) kind of UML diagrams in the popular programming languages like Java, C# etc.
And where are the other type of diagrams (like the others in this playlist) usually used?
I would guess software architects and "plan makers" in non-IT jobs as well. And also one can do it for himself, with a paper and pencil
Hi Derek,
It seems a typo.
The arrow should point from class Dog to abstract class Animal. Also it should be a dashed arrow.
Best regards and thanks.
Great Vids on the UML series making great use of them. In the first 5secs of this vid you sound like Joe Swanson off family guy.
That's funny :) I'm glad you found them useful.
Hello Derek, this is one good example of abstraction. 1) using java class codereview.stackexchange.com/questions/83387/building-data-abstraction-for-line-segments-using-type-abstraction
2) using python function objects
codereview.stackexchange.com/questions/83626/building-data-abstraction-and-adt-for-rectangle-using-objects
What do you do if there is both a dependency and an association between two classes? Show both dependency and an association? or just the association since that is the 'stronger' one?
Derek... you absolute legend... I salute you sir!
Love the video it is helping me complete an assignment as we speak. Do you have a video that uses a class diagram and goes to the code that would really be helpful!!!
Zachary Harris Thank you :) Check out my object oriented design tutorial for that th-cam.com/video/fJW65Wo7IHI/w-d-xo.html
You're very welcome :)
Abstract methods in Abstract classes cannot be private (in C#) . The eg: shown @ 14 : 48 for animal (eat and noise is shown as private.
Shouldn't the visibility modes of the methods in the 'Animal' class in ABSTRACT CLASS DIAGRAMS be declared protected (#) or public (+) for the subclass 'Dog' to inherit them?
11:16 I think arrow should be directed from super class to subclass
In my tutorial JAVA VIDEO TUTORIAL 53 I show you how to rotate polygons which include every shape :) I hope that helps
That is so nice of you. I wonder if you can help me deliveringa quick lecture on the following small usecase diagram. I am feeling confused while drawing it. I have commented on your channel and posted the use case requirements there. Your little time can solve my big problem. Thanku
Could you briefly explain in a basic way a bi-directional (standard) association ? a code example would be much appreciated.
Thanks in advance.
hey Derek, i don't have experience with UML and i just started learning oriented object programming, so i'm curious about the actual flow of UML for the design of software, so say that i have an idea for a program or a requirements document , and i want to make the software design and implementation following the UML approach, so is the actual procedure like the order of the videos in this playlist , like starting from use case, activity diagram, class diagram.... till deployment diagram and then i will have a working software ?? or is there something else or another approch ?? and by the way nice channel
Yes basically except you won't use all of them. I normally start with a use case description, then a class diagram and finally a sequence diagram
what about the otherones ? are they optionnal ? i don't know them yet cuz i'm still watching the videos and jumping here in there in your other videos specially the androiad stuff it 's nice.so if i include the other diagrams,will they add more features performances ... or it's just to clarify more if the class diagram and sequences diagrams aren't enough