Assignment:
1. A couple of the group design projects this semester used some version of a client-server architecture as the top-level organizational feature of the design. In Just Enough Software Architecture, this style is covered in Section 14.12: "Client-server Style and N-tier". From the perspective of the material about design and assessment presented in this class, answer the following questions about client-server architectures:
a) [ 1 page limit] From McCall's list of software attributes defining quality, identify the five attributes you believe most benefit from using a client-server architecture. For each of the five, briefly describe how such an architecture improves the attribute.
b) [½ page limit] Identify the critical features of a design problem that make it a good match for a client-server solution, and explain why.
c) [ ½ page limit] Briefly describe a problem scenario where a client-server architecture would be a poor choice and identify which aspects of the problem are important in making this judgment.