Quiz 5, Chapter 6

The text asserts that non-functional requirements have a significant influence on the architectural design, and list several types of non-functional requirements that impact the architecture of a system.

1. Name, and describe two (2) non-functional factors that influence the architecture of a system.

  1. Performance If performance is a critical requirement, the architecture should be designed to localize critical operations within a small number of components, with these components all deployed on the same computer rather than distributed across the network. This may mean using a few relatively large components rather than small, fine-grain components, which reduces the number of component communications. You may also consider run-time system organizations that allow the system to be replicated and executed on different processors.
  2. Security If security is a critical requirement, a layered structure for the architecture should be used, with the most critical assets protected in the innermost layers, with a high level of security validation applied to these layers.
  3. Safety If safety is a critical requirement, the architecture should be designed so that safety-related operations are all located in either a single component or in a small number of components. This reduces the costs and problems of safety validation and makes it possible to provide related protection systems that can safely shut down the system in the event of failure.
  4. Availability If availability is a critical requirement, the architecture should be designed to include redundant components so that it is possible to replace and update components without stopping the system. I describe two fault-tolerant system architectures for high-availability systems in Chapter 13.
  5. Maintainability If maintainability is a critical requirement, the system architecture should be designed using fine-grain, self-contained components that may readily be changed. Producers of data should be separated from consumers and shared data structures should be avoided.
2. Match each system with a most likely architectural pattern:

System Architecture pattern
a. Network Protocol Stack i. Repository architecture
b. Simple online store front ii. Layered architecture
c. A system with many versions of the Bible, along with a group of tools for displaying,
searching, cross referencing, and analyzing the texts
iii. Model-View-Controller pattern

My Solution: A. ii. B. iii C. i

Topic revision: r4 - 2016-01-10 - JimSkon
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback