Software Engineering, Spring 2003, Exercise tasks

In order to do a larger exercise to obtain extra points, please register by e-mail to the lecturer (jukka.paakki@cs.helsinki.fi) by Thursday, February 13.

You shall deliver your solution either on paper or by e-mail to the lecturer by Friday, March 14. If you deliver the exercise by e-mail it may be either in Postscript (ps), html (link, not the actual text), MS Word (doc), or ASCII text.

  1. Write a report (7-10 pages) of the SPICE software quality model (Software Process Improvement and Capability dEtermination).
  2. Describe and compare three tools (search the Web for the tools) that support the estimation of software project effort and costs. Consider especially usability, adaptability and adjustability, as well as the estimation models which the tools are based on.
  3. Specify and outline the design for a Web-based tool for project control and follow-up. The tool shall use the time schedule and work item allocation as its central elements. Specify the software requirements in English, and the models and designs with suitable diagrams.
  4. When designing the software module hierarchy, a central goal is to obtain a non-circular (acyclic) graph over the modules based on their "uses" relation. By this, the hierarchy can be considered as a tree. Design a refactoring rule for a situation where two modules, A and B, are circularly coupled: A uses B and B uses A. Describe the problem using a suitable diagram, give the general rule (refactoring steps) for removing the circular coupling, and give an example of the problem and its refactoring at the code level (for instance, by implementing the modules as Java classes). Is your refactoring rule valid in all possible situations? Verify that this is indeed the case, or give a counter example.
  5. Write a report (7-10 pages) of software components and their implementation techniques.
  6. Write a summary (7-10 pages) of software test automation, testing tools used in different phases of testing, and the JUnit unit testing tool.
  7. Find out some better/more interesting topic and present it to the lecturer for acceptance by Thursday, February 13.


Jukka Paakki, 30.1.2003