At this point we have our classes, our attributes,
what we're missing is the operations for the class.
Let me remind you that operations represent the behavior
of a class, and that they may be found by
examining interactions among entities in the description of my
system. So once more, let's bring back our description, and
let's in this case focus on this specific item.
That says that the students may use the system to
add courses. So this is clearly indicating an action
that the students should be able to perform. But notice
that this doesn't mean that this is an operation that
should be provided by the student's class. It rather means
that there should be, somewhere in the system, the possibility
of performing this operation. So let's see what this means
for our example. This might mean, for example, if we
focus on the RegistrationManager, so that there should be an
operation in the RegistrationManager that allows me to add
a student to a course. And this, in turn, means
that both Course and CourseOffering should provide a way to
add a student. And therefore, I add this corresponding operation
to the RegistrationManager, to the Course, and to the CourseOffering.
So after doing that we will continue and populate in
a similar way, the other classes in the system. So
let me recap. Now we saw how to identify classes.
How to identify members of the classes, and
particular attributes, and operations. There is one thing that
we're missing, a very important aspect of the
class diagram which is the relationships between these classes.