No Title



CSE503, Software Engineering
Spring 1996
D. Notkin
Assignment #4
19 April 1996
Due: 29 April 1996

  1. Parnas defined the "uses" relation in his 1979 paper. Another useful relation between software components is the "is composed of" relation, which represents hierarchical composition.

    Define two additional useful relations between software modules, giving reasonably precise definitions of them.

  2. Consider two components A and B, with A_interface representing A's interface, A_implementation representing A's implementation, and similarly for B. To show that uses(A,B), for Parnas' "uses" relation, which of these four pieces are needed, and why?

  3. Take your design and implementation of KWIC from the first week and critique it in terms of both Parnas papers and also the Bergland paper. Make sure to evaluate your claims about the potential advantages of your design.

  4. Discuss how Lampson's hints on interface design relate (a) to the notions of coupling and cohesion, (b) to the notions of information hiding, and (c) to the notion of layering.