I started my review this morning. Man, I am finding typos and other
problems. I have already corrected several typos and changed 2
diagrams. The telephone state machine that I did a few days ago is
missing some transitions. It really should have some transitions from
the connecting state and the dialing state for if the caller hangs up
during those states. Hang up would really be a default state for
every state. It would be drawn as the exit state for a
sub-state machine containing all the other states except for idle. If
I were really implementing this state machine I would have a default
state that handles printing and error showing the current state for
every state in the state machine. What this accomplishes is in
testing when you see this error message and the state that the machine
was in when the transition was issued you now know that you are not
handling that transition in that state. You should be re-examining for
a case that you missed in that state. Your testing then serves as a
way to explore un-thought-of state transitions. So the diagram is
limited. It is not really wrong. The problem is that you cannot
hangup in the middle of connecting or dialing...not really a standard
telephone is it? I will fix it when I get a chance. The other
diagram I fixed is the OCL class diagram for file/group/owner biii. I
forgot to put the role of member on the diagram. I added it back. It
was in my notebook but not on the image.
Today I also went through the cyclomatic complexity question. I know
that the guys in the study group have this one wrong. I told them but
none of them have read the McCabe paper from 1976. You had to go to
the library to get this paper. I had the library mail it to me. I
have convinced myself that I have it right because of what I read in
the paper.
Today my wife goes to the doctor. I am taking a half day. I get an
extra long time for study this morning. It is only 6:15am. I will
re-do a few more problems before 9:30 am when we have to leave.