In looking over the OCL stuff again I have found that the best way to understand a diagram is to copy it. You really don`t understand a diagram until you can explain in your head why you are making every mark on the page. I must have copied every diagram in this book so far. I have made notes and the notes are vast. I remember them by recording my own voice as I speak them when writing. The act of writing actually teaches me. I am reaching the end of the pertinent parts. I will go back and work the diagrams one more time for the example test questions to make sure that I have all of the correct components. We will worry about getting that information to the test later.
Tuesday, February 27, 2007
I have gone back to studying OCL. From looking at the "City of
Plaistow" question I saw where I needed to review. OCL dynamic and
optional multiplicities, Or constraints, cycles in class diagrams and
derived classes are the areas I am going back over. I have noticed
that the guys in the study group are using some of those bad tools
that do not stick to the letter of the UML syntax in diagrams etc.
OCL is not usually a component of these tools. I was an architect for
one of the largest banks in the world doing design and using UML. I
rarely saw OCL in this organization. When I did see it nobody
understood it. I think that the test requires sticked syntax. It
feels as if these guys think that if a tool fudges the syntax so can
they on the test. I thought this way also on past exams and I
failed. I tried to ask they guys about this. I mentioned how if you
stick to the correct syntax and make your diagrams unambiguous with
OCL the time it will take you may be longer than you have to do the
test. Ha Ha...I sound like a statement about cryptography. I find
this funny...OCL is kind of cryptic. Anyway, They point to the
notion that the question only states the word analysis and not
the word design. The guys were critical of my answers because they said that I
went to far into design and did not stay in the analysis phase like
the question asked. This analysis / design boundary is one that
really puzzles me. I will have to look into this further. It would
certainly make the test easier. At first glance I think that it would
be very difficult to answer the question and get precise answers
covering all the use cases without a detailed class diagram
representing the OCL constraints. You would either not have OCL in
your use cases and be imprecise or have OCL in your use cases and need
a class diagram to explain all of the associations completely. A
slipper slop completeness or ambiguity. Again, I was dinged last test
for not being complete. But, complete means a long answer destroying
your strategy for maximizing total test points across all 4 answered
questions on the test. Here I go again into a thrash. It is funny
how one stop condition like the previous statement can get your brain
out of so many recursive calls with stack exhaustion, a thrash ending
in a human deadlock condition. Woops, I used the deadlock version that
does not fulfill the classic 4 preconditions of what a deadlock is.
Remember this test wants the deadlock version that uses those
preconditions: Mutual exclusion, no resource preemption, hold and
wait, circular waiting. My human example is not exactly correct. No
one has mutual exclusive access to the answer. There just isn`t an
answer. We have virtually unlimited stack space so this problem
proceeds without bound until you stop it. This mechanism is broken in
people who have my type of learning disability. I continue and
continue and continue. I only stop when I have something else to do
and that thing cannot be completed until the first thing is done
because I thrash back to the problem from the second repeatedly.
I return only to get caught in the same loop. Therefore the answer
here is I must be complete. A test with umlimited time to complete an
answer so that it is complete makes it possible to go on to a second
and third question. A test that is timed is unfair for people like
me. To be precise OO analysis will drift into design for completeness
of the analysis.