Architectural design
Use the following to guide your reading from Chapter 6: Architectural design in Software Engineering (Sommerville 2016):
- What is the distinction between “architecture in the small” and “architecture in the large”?
- List and briefly describe the three advantages of explicitly designing and documenting the software architecture according to Bass et al. (2012).
- How do non-functional system characteristics (e.g., performance, security, safety, availability, and maintainability) interact with architectural design decisions?
- What are the 4+1 architectural views?
- What are the roles and interactions of the Model-View-Controller (MVC) pattern?
- For each of the following architectural patterns, provide a brief
description of it, an example application, when to use it, and its
advantages and disadvantages.
- model-view-controller
- layered
- repository
- client-server
- pipe and filter