Software engineering, Spring 2002, Exercise 6

Topic: Object oriented design, modularity, layers

 
  1. We continue the development of the Function point tool. The solution for the initial class diagram of Exercise 5 (as jpeg and as Plastic Lite pla-format, Plastic is installed in the computer classes in Windows environment) and the list of use cases will be available in the English course page on Friday 22th February. Outline the user interface for the program. What kind of user interface classes do you need?

  2. Consider alternatives for the persistency of the data processed in the Function point tool. What additional classes are needed for this?

  3. (2 points) Function point tool: Consider two use cases, for example, 'file detection' and 'file classification by questions'. Complete the initial class diagram with the methods needed to take care of these use cases. Draw sequence diagrams to show how the objects collaborate in these use cases, i.e. how the new methods are used. If you find some other obvious methods that are needed add them in your class diagram.

  4. The user gives the program a file name and the maximum length of line. The file contains text split in lines of arbitrary length. The program produces an output where the lines are re-organized so that the lengths of lines are as close as possible to the given maximum lenght, but not exeed it. Words may not be split. Lengths of lines need not be balanced. Work up a design level class diagram for this software. Include the methods. Strive for methods with high cohesion.

  5. In a layered architecture, the objects (modules) of the upper layer usually call the methods of the lower layer. The lower layr is implemented before the upper one. Sometimes it is, however, necessary for the objects of the lower layer to call methods that belong to the upper layer. This is called callback. Find out how this can be done in Java. Work up a small example.


Harri Laine, 19.2.2002