Tuesday, April 10, 2007

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.