The last thing that I want to mention about class diagrams is
some creation tips. So something I know based on my experience and the
experience of others, I can recommend to do when creating a class
diagram. So the first tip is to understand the problem. So take the
time to look at the description of the system that you have
to build, to make sure that you understand the domain. That you understand
what you are supposed to build. Because that is going to save you
time later. It's going to help you identify from the beginning, a more relevant
set of entities in the description of the system. This
one might seem trivial but is very important to choose
good class names. Why? Because class names communicate the intent
of the class, and clarify what the class refers to. So
having a good class name allows you, makes it easier, to
create the mapping between the real-world object and the entities in
your model. And of course, it also makes it easier
to understand the system, after the system is built. Third tip,
concentrate on the what. So here, in the class diagram,
we're just representing the structure of the system. We're representing
what is in the system. What are the entities? What
are the characteristics of the entities? We are not focusing
at all, on how things are done. So, be careful.
DonÃ¢ÂÂt think about the how, just think about the what.
Proceed in an itinerary way. So, start with a simple
diagram and refine it. There is no need to identify,
right away, all of the details of the system you need to
build. It is much easier to look at the description, identify an initial
rough class diagram and then refine it, because in this way, you'll
also gather more understanding of the system as you build it, and you'll
most likely end up with a better product at the end. And
if you proceed in this way, then make sure to refine until you
feel the class diagram is complete, until you feel that you represent
the system that you're supposed to build. So your final goal should be
to have a class diagram that is complete.
So it represents all of the relevant entities
in the system and their characteristics, and it's
correct so it represents them in the right way