Thursday, March 01, 2007
Bad weather again. I heard thunder, hail, hard rain, wind and there
is still snow and ice on the ground outside. Weird weather. I got up
really early this morning and started studying. I went through
section building models with OCL this morning. I am starting to
realize that if you use OCL2 and UML2 there are diagrams that you just
cannot build with most tools. I have been using dia drawing tool and
can make a good deal of headway because it works very similar to
MSVisio. So my diagrams are accurate but I don`t actually gain
anything from the tool except very pretty pictures. The tool doesn`t
help very much with the semantics of UML, especially if you are using
some deep constructs. An example would be generalization of an
association. Just like an association where the association is a
class the generalization or sub classing of an association is not in
most tools. It is stated in the UML Modeling Language Reference
Manual that this kind of usage should be avoided because it is not
well specified in the UML2 specification. But, the fact is that real
world drawings have a high probability of having such an association.
You could use OCL to represent the associations and leave the out of
the diagram but this is stylistic in nature. Having said that you
probably would not be able to add the OCL constraints to your diagram
anyway. At least you would not have syntax help from any tool out
there. At least tools that are readily available to people doing real
work. MDA-MDD is far away these days. So I wonder. I wrote UML
diagrams at several jobs in the past and used UML in real world
situations. Can I expect to see questions on the test that
deliberately push you toward a solution that cannot be diagrammed by
most tools. I would say that people today depend on tools. These
tools have way less than perfect syntax. If the syntax is so bad and
you use it as a crutch to communicate ideas I think your designs can
only be as good as that crutch. This means that UML and OCL are not
hitting the mark in real world settings. Well, it could also mean
that UML and OCL are overkill and we are getting by with far less. Am
I a victim of my own environment here. Is it different in other parts
of the world. I cannot believe with outsourcing etc that my country
is keeping pace with the rest of the world. Maybe I have limited
knowledge of how things are used. I would expect having worked in
environments that are global entities I would have experienced the
best that CS has to offer. At least I would have come in contact with
the very best people. I did talk with vendors from all over the world
and had contractor`s working for me or my group from all over the world.
The test seems to be focused on UML2 and OCL2. I have noticed that a
number of questions can be helped by doing diagrams in your answer. I
have also noticed that a few questions are deliberately designed to
avoid parts of OCL2 pertaining to diagramming and go for answers that
are OCL expressions without diagrams. It states in the books I am
learning from that the choice of going with expressions or augmented
diagrams with OCL is strictly a style issue. It seems that the test
designer expects you to be able to do all styles. Hmmmm, I get it
depth and breadth. You will have to read lots of books to get enough
information to cover the depth parts. Only one paragraph in the whole
book talked about this. How would anyone know except through
experience that this is how things are done? I think it is funny that
we can be tested over material for being an expert but some material
you can only gain proficiency through experience. That is my
complaint with zed being on the test. Zed is dead. You will not find
anyone in this country doing Zed except in academia. Also, you could
learn OCL from a book but you would not have proficiency in it
because of the nature of the penetration of OCL2 and UML2 into tools
and the companies in this country. Isn`t there something in the
requirements about equivalent work experience, maybe not. I am
frustrated of the state things. I have learned OCL2 and UML2. I will
be able to do the test. After all I have been doing UML and OCL for
7+ years just not the UML and OCL that these guys want me to know.