Software engineering, Autumn 02, Exercise 1

Send your answers by email or in paper to Harri.Laine@cs.helsinki.fi, by 25th of September

 
    Most of the task in these exercises revise the techniques learnt in the course Introduction to Application Design and Analysis (a requisite for this course)

    The administrative process for preparing the Master's thesis is described below. The process starts with a title proposal. This has been prepared by the student or by the instructor or by both of them together. An instructor may register the proposal in the database and reserve it for the student. However, the head of branch must accept the title. The time of acceptance will be considered as the starting time of the thesis. When accepting the title head of branch assigns instructors for the thesis (usually 2 instructors). He/she may also change instructors during the process. Next the student prepares a detailed plan for the thesis (about 20 pages). Two evaluators (usually the instructors) evaluate the plan. If it is accepted the student may continue to the final thesis. Otherwise, the plan must be revised and re-evaluated. There may be many revisions. The thesis has two evaluators, too. Plans are not given grades but theses are. Also theses may have to be revised. During the process the student usually has appointments with his/her instructors. The instructors keep book about the appointments. The administration system should provide statistics about active and already finished theses, their instructions and evaluations.

  1. Describe the process as co-operation between the participants involved in the process. (An UML sequence diagram where the participants are the objects).
  2. Outline the class diagram for the information contents of the thesis administration system.
  3. What are the use cases in the thesis administration system?
  4. Draw a dependency matrix to show how the information described in the class diagram depends on the use cases (use case C=creates, D=Deletes, U=uses, M=modifies class or association).

    The next task does not deal with the thesis administration.

  5. Why do the costs of a change generally increase with respect to the lateness of the phase of the development process the change is made? Compare changes made in requirement analysis, design, implementation, and testing.

We have UML-tools available in both Windows (Rational Rose Student edition, Mermaid) and Linux (kUML) environments.


Harri Laine, 11.9.2002