Chapter 6 Architectural Design: Patterns and ADLs
22 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is a disadvantage of using the Model-View-Controller pattern?

  • Decreases the development time
  • Simplifies the code structure
  • Involves additional code and code complexity when the data model and interactions are simple (correct)
  • Increases the dependability of the system
  • What is the main purpose of the Layered architecture pattern?

  • To organize the system into a single layer
  • To provide services to the upper layers
  • To model the interfacing of sub-systems (correct)
  • To decrease the dependability of the system
  • What is a characteristic of the Layered architecture pattern?

  • It organizes the system into a single layer
  • It decreases the dependability of the system
  • It allows replacement of entire layers so long as the interface is maintained (correct)
  • It is only used for small systems
  • When is the Layered architecture pattern used?

    <p>When building new facilities on top of existing systems</p> Signup and view all the answers

    What is an advantage of the Layered architecture pattern?

    <p>It allows replacement of entire layers so long as the interface is maintained</p> Signup and view all the answers

    What is a benefit of using the Layered architecture pattern?

    <p>It allows for multi-level security</p> Signup and view all the answers

    What is a characteristic of the Layered architecture pattern?

    <p>Each layer provides services to the layer above it</p> Signup and view all the answers

    What is an example of using the Layered architecture pattern?

    <p>A system for sharing copyright documents held in different libraries</p> Signup and view all the answers

    What is the primary purpose of including redundant components and mechanisms in a system?

    <p>To achieve fault tolerance</p> Signup and view all the answers

    What is the benefit of using replaceable components in a system?

    <p>Increased system maintainability</p> Signup and view all the answers

    What is the purpose of an architectural view?

    <p>To present a single perspective of the system</p> Signup and view all the answers

    Which architectural view shows how a system is decomposed into modules?

    <p>Development view</p> Signup and view all the answers

    What is the purpose of the +1 view in the 4+1 view model of software architecture?

    <p>To provide an abstract view of the system</p> Signup and view all the answers

    Why is UML not always sufficient for describing and documenting system architectures?

    <p>Because it lacks abstractions for high-level system description</p> Signup and view all the answers

    What is the main benefit of using multiple views to describe a system's architecture?

    <p>It provides a more comprehensive understanding of the system</p> Signup and view all the answers

    Which architectural view shows how software components are distributed across a network?

    <p>Physical view</p> Signup and view all the answers

    What is the main purpose of the Model component in the MVC pattern?

    <p>To manage the system data and associated operations</p> Signup and view all the answers

    What is the function of the Controller component in the MVC pattern?

    <p>To manage user interaction and pass it to the View and Model</p> Signup and view all the answers

    What is the advantage of using the MVC pattern when there are multiple ways to view and interact with data?

    <p>It allows the data to change independently of its representation and vice versa</p> Signup and view all the answers

    What is the role of the View component in the MVC pattern?

    <p>To define how the data is presented to the user</p> Signup and view all the answers

    What is an advantage of the MVC pattern?

    <p>It supports presentation of the same data in different ways with changes made in one representation shown in all of them</p> Signup and view all the answers

    What is an example of a system that can be organized using the MVC pattern?

    <p>A web-based application system</p> Signup and view all the answers

    Study Notes

    Architectural Design

    • Architectural description languages (ADLs) have been developed but are not widely used.
    • Patterns are a means of representing, sharing and reusing knowledge.
    • An architectural pattern is a stylized description of good design practice, which has been tried and tested in different environments.

    Model-View-Controller (MVC) Pattern

    • Separates presentation and interaction from the system data.
    • The system is structured into three logical components that interact with each other: Model, View, and Controller.
    • The Model component manages the system data and associated operations.
    • The View component defines and manages how the data is presented to the user.
    • The Controller component manages user interaction and passes these interactions to the View and the Model.
    • Used when there are multiple ways to view and interact with data, and when the future requirements for interaction and presentation of data are unknown.
    • Advantages: allows the data to change independently of its representation and vice versa, supports presentation of the same data in different ways with changes made in one representation shown in all of them.
    • Disadvantages: can involve additional code and code complexity when the data model and interactions are simple.

    Layered Architecture

    • Used to model the interfacing of sub-systems.
    • Organises the system into a set of layers each of which provides a set of services.
    • Supports the incremental development of sub-systems in different layers.
    • When a layer interface changes, only the adjacent layer is affected.
    • Used when building new facilities on top of existing systems, when the development is spread across several teams with each team responsibility for a layer of functionality, and when there is a requirement for multi-level security.
    • Advantages: allows replacement of entire layers so long as the interface is maintained, redundant facilities (e.g., authentication) can be provided in each layer to increase the dependability of the system.

    Architectural Views

    • What views or perspectives are useful when designing and documenting a system’s architecture?
    • Each architectural model only shows one perspective of the system.
    • For both design and documentation, you usually need to present multiple views of the software architecture.
    • The 4 + 1 view model of software architecture includes:
      • A logical view, which shows the key abstractions in the system as objects or object classes.
      • A process view, which shows how, at run-time, the system is composed of interacting processes.
      • A development view, which shows how the software is decomposed for development.
      • A physical view, which shows the system hardware and how software components are distributed across the processors in the system.
      • A conceptual view (+1), which is an abstract view of the system that decomposing high-level requirements into more detailed specifications.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    This quiz covers architectural design patterns, their role in representing and reusing knowledge, and architectural description languages (ADLs). It's a crucial chapter in software design and engineering.

    More Like This

    Use Quizgecko on...
    Browser
    Browser