Class Diagram - Step by Step Guide with Example

Поділитися
Вставка
  • Опубліковано 27 сер 2024
  • In this video, you’re going to learn
    1. What is the Class Diagram?
    2. How to find the required classes for the class diagram?
    3. Association and type of association.
    4. Aggregation and composition, Inheritance in the class diagram
    5. Examples
    Class Diagram is one of the important UML diagrams for software development which shows the object classes in the system and the associations between these classes. Simply, Class Diagrams visualize the object-oriented systems.
    The class diagram is a static type structure diagram that describes the structure of a system by showing the system’s classes, each class's attributes and operations, and also the relationship among the objects.
    How to represent the classes in the class diagram?
    The class diagram is represented by a rectangle box that contains three compartments. In the top compartment, we specify the class name, in the second or middle one, we specify the attributes whereas the third or last once is for the showing the methods or operations.
    How do you find the required classes in the system?
    Ya it’s true, all the domain classes that we separated while drawing the communication diagrams are the all classes which need to draw in the class diagram. For the moment we will concentrate on Domain Classes - so go through all the Collaboration Diagrams for the system and list the Domain Classes.
    Association
    If two classes exchange information in between or need to communicate with each other, then there must be a link in between them which is modeled by association relationship.
    After the association relationship detection, we need to label the association relationship coz it’s not clear from the diagram what exactly associated between the classes. So that label the association relationship just above the line like Student chooses courses.
    Even after the label on the association relationship, it’s still confusing to understand the diagram like Course choose the student or student choose the courses. The staff has a manager or manager has staff.
    So that we place the small solid line with an arrowhead to guide the diagram like this. That is, Read the diagram from this direction. Like students choose the course.
    Another important part of the class diagram is Multiplicity which is also known as cardinality.
    Where ever the association relationship, there must be the multiplicity.
    Aggregation is a special type of weaker Whole - Part association relationship between two classes where the part can exist separately from the whole.
    Composition is also a special type of Whole - Part relationship between two classes where the part cannot exist separately from the whole. Here the relationship between whole and part is tighter.
    The composition is represented by using a Filled diamond symbol pointed to the whole class.
    One of the most important representations in the class diagram is Inheritance.
    If two classes have a parent-child relationship, then they have an inheritance relationship.
    Inheritance relationships between two classes represent similar to the Use Case generalization. Where we draw the solid line with arrowhead pointed to the parent or superclass.
    Most of the cases, Parent or superclass is defined as an Abstract class whose object does not exist and its attributes and operations can only be used by its child classes. In this case, for the abstract class in the class diagram, the class name is written in Italic font or place in between double greater and less than sign as shown in the figure.
    Association Class
    If there need to provide additional information about the relationship between two classes, the association class is used. An association class is a class that is part of an association relationship between two other classes. An association class is particularly useful where there is a many to many relationships between the two classes.
    Dependency Relationships do not have names but it is the weakest relationship that exists between two classes if the changes to the definition of one may cause a change into the other but not the vice versa.
    In programming, passing objects as an argument represents the dependency relationship which means a class using another inside a method.
    All these additional relationships between classes may allow a more detailed model of the problem Domain to be produced.
    However, it is usually best to keep the diagram as simple as possible.
    How to draw Use Case Diagram
    • Use Case Diagram - Ste...
    How to verify Use Case Diagram
    • Use Case Diagram - Ste...
    How to draw Communication or Collaboration Diagram
    • Communication - Collab...
    How to draw Sequence Diagram
    • Sequence Diagram - Ste...
    SUBSCRIBE to our UA-cam channel for more videos:
    www.youtube.co...
    Like us on Facebook: / master2teach
    For more content go to master2teach.com/
    E-mail: master2teach@gmail.com

КОМЕНТАРІ • 113

  • @samanosvasilias
    @samanosvasilias 3 роки тому +94

    I'm sure you get this a lot but sir, you explained my 2 hour lecture in 20 minutes so much better than my professor, thank you!

  • @BIGMIND94
    @BIGMIND94 3 роки тому +32

    Like how humble he is when he said: " I will try my best to explain". Excellent video BTW.

  • @PhrygianPhrog
    @PhrygianPhrog 3 роки тому +12

    This is a very clear explanation. I've gone through many, many articles and videos and this one is great.

  • @mthokozisikhumalo3737
    @mthokozisikhumalo3737 3 роки тому +9

    You're a great teacher, this video has helped me to tackle my assignment..Thanks man..

  • @funmilayobisola6906
    @funmilayobisola6906 3 місяці тому +1

    I read the comments first and subscribed immediately. currently watching and it's indeed helpful

  • @bennmorgan
    @bennmorgan 3 роки тому +2

    thank you for this video, I have learned more about class diagrams from this video than I learned from my lecturer

    • @Master2Teach
      @Master2Teach  3 роки тому +1

      Thank you so much. Pls don't forget to share

  • @loke9271
    @loke9271 Рік тому +2

    Many real time examples. Thank you!!

  • @janphillipjuntado
    @janphillipjuntado 3 роки тому +4

    Thank you sir! you are a great teacher! a blessing!

    • @Master2Teach
      @Master2Teach  3 роки тому +3

      Thank you so much

    • @Labib_1453
      @Labib_1453 3 роки тому

      @@Master2Teach is there any relation between class diagram with ERD?
      can we use class diagram to design a database instead of ERD?

  • @minhduc8a21
    @minhduc8a21 9 місяців тому +1

    A very useful lesson. Thank you so much!

  • @yosef5508
    @yosef5508 4 роки тому +4

    Excellent man, thank you very much. So easy to follow and digest!

    • @Master2Teach
      @Master2Teach  4 роки тому +1

      Glad you liked it! Thank you so much. Please don't forget to like, share, and subscribe.

  • @usamaabdulkhaliq9325
    @usamaabdulkhaliq9325 Рік тому +1

    Thank you so much, what an excellent explanation.

  • @feelyd1
    @feelyd1 4 місяці тому

    excellent presention, clear and to the point.

  • @patrickdaka2848
    @patrickdaka2848 2 роки тому +2

    Wow i like the explanation...thank you sir

  • @blackonlearn8643
    @blackonlearn8643 3 роки тому +1

    Thank you very much ! you explain it clearer more than other video '😄👍👍

  • @joryabdullah5209
    @joryabdullah5209 Рік тому

    You’re explanation is very clear tysm

  • @nihaalchand797
    @nihaalchand797 2 роки тому +1

    WELL EXPLAINED OVERALL !!

  • @gthuang6970
    @gthuang6970 3 роки тому +3

    Thank you! This has been very useful and concise.

  • @geetachaudhary9313
    @geetachaudhary9313 3 роки тому +1

    I really liked your this way teaching, things were very clear to understand. But sir, I expected I will get a full class diagram example at the end ... But your this animated way is superb. Sir please make a Short video on a simple class diagram example too. 😊

    • @Master2Teach
      @Master2Teach  3 роки тому

      Will upload soon. Thank you. Keep watching

  • @starvibes4652
    @starvibes4652 2 роки тому

    Thank you so much dear. God bless you!!!!

  • @rakeshkumarsm9900
    @rakeshkumarsm9900 Рік тому

    Great Explanation Master2Tech💛

  • @slai2389
    @slai2389 9 місяців тому

    Thank you so much, this is useful!

  • @hamshihamsu5461
    @hamshihamsu5461 Рік тому

    Thank you so much May God Bless Your Soul ..

    • @Master2Teach
      @Master2Teach  Рік тому

      You are so welcome and same to you. Pls don't forget to like, share, and subscribe.

  • @bishwash.sharma
    @bishwash.sharma 2 роки тому +1

    Nice explanation.
    Btw are you from NEPAL.

  • @dvyalogu1234
    @dvyalogu1234 2 роки тому

    Thank you so much... U done it very well .. it most useful for me...

  • @mehmetalimengulluoglu1075
    @mehmetalimengulluoglu1075 5 місяців тому

    That was really helpfull, thanks!

  • @MacmillanChongomusonda
    @MacmillanChongomusonda 5 місяців тому

    Nice explanation

  • @jengfoongyang9700
    @jengfoongyang9700 2 роки тому +1

    What the difference between data model for database and the class diagram? When watching this video I found some similarity between those two diagram like association class in class diagram and composite entity in data model

  • @jayanth05
    @jayanth05 2 роки тому +1

    Man, uh saved my life!!

    • @Master2Teach
      @Master2Teach  Рік тому

      Great!! thanks for watching. Please don't forget to like, share, and subscribe.

  • @ghadamoustafa9609
    @ghadamoustafa9609 3 роки тому +1

    Thanks for your excellent content and explanation.But, I think the wall / room relationship must be composition not aggregation because no room means no wall. right???

    • @angiecr
      @angiecr 2 роки тому

      Could it be an external wall?

  • @elizqueer
    @elizqueer 2 роки тому +1

    amazing explanation, keep it up sir.

  • @MazRafky77
    @MazRafky77 4 місяці тому

    Simple jelas padat kelar

  • @lionrider889
    @lionrider889 3 роки тому

    well explained! and thank you sir....!

  • @commonman8540
    @commonman8540 Рік тому

    very nice, thx

  • @danidanitta12
    @danidanitta12 Рік тому

    thank you a lot sir i got some point your lecture

  • @FireFistMot
    @FireFistMot 2 роки тому

    Excellent explanation

  • @FahadAlwazrah
    @FahadAlwazrah Рік тому

    Thank you 1000s very much

  • @Klynoldev
    @Klynoldev 2 роки тому

    Excellent video!

  • @a-ezzat5677
    @a-ezzat5677 Рік тому

    first i would like to thank you so much i have learned a lot but may i know how come room and walls is under aggregation and not composition, if room does not exist ? will walls will be there or be demolished along with room?

  • @andreluisal
    @andreluisal 3 роки тому

    Excellent!!!! Congratulations!!!!

  • @dayasenevirathna
    @dayasenevirathna Рік тому

    Thank you so much

  • @riyaadryklief4220
    @riyaadryklief4220 4 роки тому +1

    excellent video 👌

  • @basharaliyu8291
    @basharaliyu8291 Рік тому

    Good work

  • @ayoubahsheriff522
    @ayoubahsheriff522 Рік тому

    Thanks so much for the beautiful lecture Sir! Can you add the PDF file to it for better revision please?

  • @Bella-to2en
    @Bella-to2en 3 роки тому

    thank you i like the explanation it's very useful

  • @jayashribhamare5552
    @jayashribhamare5552 3 роки тому

    Draw a class inheritance diagram for the following set of classes:• Class Goat extends object and adds an instance variable tail and methodsmilk( ) and jump()

  • @kikis5072
    @kikis5072 3 роки тому

    great . can you do larger explanation in form of code.. creating class diagram with relationships to code example java , object creating . How that relationships are represented ? 0:N - 1:N example parent class can create one or more objects of another class . And that another class can be represented in that class zero or n times , per view . one or more created objects / array per one object.

  • @kdfox2007
    @kdfox2007 2 роки тому

    Excellent

  • @srinivaslagadasani5117
    @srinivaslagadasani5117 3 роки тому

    Thanks for the video..Can the explanation be slow so that we can understand easily. feel it is too fast to analyse and sync.

  • @nasrinnasirova2272
    @nasrinnasirova2272 2 роки тому

    How do you show the exception handler in a class diagram?

  • @dylanstevens6480
    @dylanstevens6480 4 роки тому +1

    When a use case has more then one actor how would I draw that on the class diagram

  • @madushaninimeshika3910
    @madushaninimeshika3910 3 роки тому

    Thank you so much..

  • @inasahamed073
    @inasahamed073 7 місяців тому

    thanks

  • @hudama9934
    @hudama9934 2 роки тому

    Can you make a diagram cass for electronic library of information systems please🙏

  • @abduldaim
    @abduldaim 4 роки тому +1

    There is confusion between when to use dependency and when to use aggregation or composition.

    • @Master2Teach
      @Master2Teach  4 роки тому +1

      Hello, thank you for watching video and question. Aggregation or Composition is use when the class object is destroyed mean deleted whether its associated class object is auto destroy or not. Dependency is use if certain attribute of class is modified mean changed, it reflect to its associate class or not. So the main different between them is Destroy and Modify Cases. I hope you are more clear about it. Please don't forget to like, share, and subscribe my channel.

    • @abduldaim
      @abduldaim 4 роки тому

      @@Master2Teach Please can u explain it through some example relating to class diagram. As this concept is still confusing to me. I would prefer video on this concept if you feel convenient. Thank you so much.

  • @yassineammar4707
    @yassineammar4707 Рік тому

    Thanks

    • @Master2Teach
      @Master2Teach  Рік тому

      Thank you for the comment. Please don't forget to like, share, and subscribe to the channel.

  • @adithyakrishnan.r2266
    @adithyakrishnan.r2266 3 роки тому

    sooperb sir

  • @RaselAhmed-ix5ee
    @RaselAhmed-ix5ee 3 роки тому

    this my question can u help me to draw the class diagram please
    Suppose that you are hired to design a control system of a nuclear power plant. Given below is
    the description of the nuclear power plant, answer the questions (a)-(d) base on this.
    The most important attribute of a nuclear reactor is the temperature of its core.
    Reactor is equipped with computerized controls for decrementing and incrementing
    the temperature. These controls are manipulated from a remote console, which is
    operated by the most competent operator. Sensors are fixed throughout the power
    plant. These include thermometers, and various types of alarms and thermostats
    that go off when the reactor's temperature rises above the critical level: 1500
    degrees.
    (a). Who is the actor? (1)
    (b). Name two use cases? (2)
    (c). Identify all possible classes (4)
    (d). Draw the class diagram for the power

  • @bekifufa9271
    @bekifufa9271 3 роки тому

    I want Analysis
    Class Diagram based on complaint management system

  • @ehabatamle1004
    @ehabatamle1004 3 роки тому

    Can you share the presentation doc?

  • @WW-cs1ft
    @WW-cs1ft 2 роки тому

    May I know what is assessestion? You mentioned quite a number of time in the video.

  • @thilakshananaran9146
    @thilakshananaran9146 2 роки тому

    Do you know the Aarish Lakhani?

  • @tenebrae1191
    @tenebrae1191 3 місяці тому

    👍

  • @bellysutrisna9440
    @bellysutrisna9440 4 роки тому +1

    Good sharing but to fast explanation..

    • @Master2Teach
      @Master2Teach  4 роки тому +1

      Thank you so much for watch my video and for feedback. I will try my best to follow your feedback in upcoming video tutorials. Please don't forget to like, share, and subscribe my channel.

    • @surfsoul8660
      @surfsoul8660 4 роки тому

      @@Master2Teach this speed is good, we can grab required information fast without making it boring. Please dont slowdown your speed of explanation!! I watched the entire video!

  • @thedhirajdiaries
    @thedhirajdiaries 4 роки тому +1

    whar if a student can cancel enrollment, view enrollment, can enroll too how we will show relation for all of them between enrollment and student?

    • @Master2Teach
      @Master2Teach  4 роки тому +2

      As per your case study, a single association line is sufficient to show the relationship in between student class and enrollment class. No need to show with 3 lines. You can show these messages in third compartment of the enrollment class. If possible show the composition relationship as well.

  • @AbdulGhafoorcu__
    @AbdulGhafoorcu__ 3 роки тому

    supper sir

  • @shasankshakya2
    @shasankshakya2 4 роки тому

    Need example in this video too sir. Like other videos.

    • @Master2Teach
      @Master2Teach  4 роки тому +1

      Sure, will upload video tutorial on Class Diagram Examples. Keep on watching video tutorials.

  • @varshajawrani5153
    @varshajawrani5153 4 роки тому

    Sir how can library and books be aggregation as without books library can't exist..

    • @achillieasvrionis4770
      @achillieasvrionis4770 3 роки тому +1

      library is a building a building can exist without books,,,

    • @justsamuel5593
      @justsamuel5593 3 роки тому

      Tricky..its like a Taxi can exist with out customers its still a taxi.. sharing inheritance from the Car class and will have a dependency on the Petrol class if it was a Transport System...:)

  • @nehrumadassa2597
    @nehrumadassa2597 3 роки тому

    god bless u

  • @anjanavijayan9349
    @anjanavijayan9349 4 роки тому

    By using cc can't see that portion

    • @Master2Teach
      @Master2Teach  3 роки тому

      Thank you so much, i didn't notice about it. I will do care on up coming video tutorials. Once more thank you for your great feedback.

  • @CTThrust
    @CTThrust 4 роки тому

    basically we can say that there are 3 steps or what ?

    • @Master2Teach
      @Master2Teach  4 роки тому

      Thank you so much for watching video and question. While drawing class diagram, there is not fix steps to follow. It depends on the use case senior - requirements.

  • @MasudaMomo-pn6vm
    @MasudaMomo-pn6vm 4 роки тому

    Plz give me a class diagram for online class system...plz

    • @Master2Teach
      @Master2Teach  4 роки тому

      Thank you for comment. I will try my best to make a video on it as soon as possible. Don't forget to subscribe.

  • @makenthirandalaxshan6469
    @makenthirandalaxshan6469 3 роки тому

    it's here

  • @WaseemAbbas-cf5jh
    @WaseemAbbas-cf5jh 2 роки тому

    Send the link to them OOp in c++

  • @Daniel-ok7hl
    @Daniel-ok7hl 3 роки тому

    Hard to understand what he's saying but helpful nevertheless

  • @ShreyasSureja
    @ShreyasSureja 3 роки тому

    Kem chho?? Majama?
    Video saro hato.