Now that we identify the classes in my system,
let's see how we can identify the attributes for
these classes. First of all let's recall what attributes
are. Attributes represent the structure of a class the individual
data items that compose the state of the class.
So how do we identify these attributes? Attributes may be
found in one of three ways. By examining class
definitions, by studying the requirements, and by applying domain knowledge.
And notice that I want to stress, that this is always
a very important aspect. No matter what kind of system you're
developing. Domain knowledge tends to be fairly important to identify things
Which might not be provided in the descriptions of the system
that tend to be incomplete. And that you can derive by
the fact that you are familiar with the domain. So always
keep in mind the domain knowledge is important for analysis, for
design, for requirements gathering and so on. So now let's go
back to our description of the system. As I said,
I will bring you back for each step of our
analysis. And in this case, we're going to focus on
course offering. And we can say that the course offering, according
to the description, has a number, a location, and a
time. So this is a pretty clear indication that these are
important aspects of the course offering. So they probably should
become attributes of the course offering class. So now if we
report here that sentence, and once more, we underline
the information that we underlined in the description. We can
clearly see how this can be mapped into the definition
of the class. So our class course offering after this
step the analysis will have 3 attributes: number, location, and
time. And as you can see here, I'm not specifying
the type or any other additional information. So in this
first step I'm just interested in having a first draft.
of the class diagram, that I can then
refine in the next iterations of my analysis.