Problem 1
In a paragraph, explain the purpose of a software architecture and how it relates to design.
Problem 3
When designing a client-server architecture, there are generally two alternatives: thin and tbick clients. A thin client implies that client functionality is kept to a minimum, most of the processing is performed via the server. A thick client implies that much of the functionality is contained in the client \(_{i}\) the functionality on the server is kept to a minimum. Discuss the one or two major advantages and disadvantages to each of these approaches.
Problem 4
Operating systems are frequently designed using a layered architecture. Research the Linux operating system on the Internet, and explain how it utilizes a layered architecture. What are the benefits of such an architecture?
Problem 7
Some design patterns are particularly relevant at the architectural level. Name two of these and explain their relevance.