You might be interested in another related discussion on the
featuredrivendevelopment.com website if you've not looked there already.
Color may indeed change depending on the perspective from which you are
modeling. Sometimes the domain neutral component also helps us identify
something that's missing. In the example below, you note "from one viewpoint the
student is a role, from another it's a moment-interval ('being a student')".
Roles, by there nature are usually time bound. But is there something that makes
a student a student? Enrollment, perhaps? Would adding this make the application
more complex? Cohesive classes are one of the tenets of OOD. Sometimes when
something feels like it's missing, it is.
You're not alone in sometimes encountering difficulty in deciding how to best
model a given system. When this happens consider looking for what's missing, and
in many cases in my experience a better model will emerge.
--- In colormodeling@yahoogroups.com, "Gyula" <csomgyula@...> wrote:
>
> Hi everyone!:)
>
> Having some experience in modeling, though limited in color modeling I have a
question which seems typical for me:
>
> (At least for me) it seems that everything is changing and bound to time:
things, parties and descriptions, too. And in many cases (office-like, auditing,
etc.) systems has to preserve the older record versions and many of them needs
to store time data. How does this effect colour modeling?
>
> For instance take the Student Registration domain:
>
> From one viewpoint the Adress is a thing, from another it's a moment-interval
(for instance the street can be renamed resulting in different address versions
for the same place). How should one model this situation? What will be the
archetype of an address version?
>
> From one viewpoint the Student is a role, from another it's a moment-interval
("being a student" has a start and end date). How should one model this
situation? Should we split the student entity into a role- and a moment-interval
entity, introducing unnecessary complexity? Or should we merge them introducing
an entity having two different archetypes.
>
> Any idea? Anyone who met similar situations?
>
> Cheers,
> Gyula
>