$30 off During Our Annual Pro Sale. View Details »

CSE460 Lecture 29

CSE460 Lecture 29

Software Analysis and Design
Architecture Patterns
(202011)

Javier Gonzalez-Sanchez
PRO

July 29, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSE 460
    Software Analysis and Design
    Lecture 29: Architecture Patterns
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    Previously …

    View Slide

  3. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 3
    jgs
    Drafting an Implementation

    View Slide

  4. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 4
    jgs
    Example
    Main
    Factory
    Controller View
    Model
    Gift Ball Box Envelop

    View Slide

  5. jgs
    Layered Architecture

    View Slide

  6. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 6
    jgs
    A generic layered architecture

    View Slide

  7. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 7
    jgs
    Layered Architecture

    View Slide

  8. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 8
    jgs
    Layered Architecture
    Description
    § Organizes the system into layers with related functionality associated with each
    layer.
    § A layer provides services to the layer above it, so the lowest-level layers
    represent core services that are likely to be used throughout the system.
    When used
    § Building new facilities on top of existing systems
    § The development is spread across several teams with each team responsibility for
    a layer of functionality
    Advantages § Allows replacement of entire layers so long as the interface is maintained.
    Disadvantages
    § In practice, providing a clean separation between layers is often difficult and a
    high-level layer may have to interact directly with lower-level layers rather than
    through the layer immediately below it.
    § Performance can be a problem because of multiple levels of interpretation of a
    service request as it is processed at each layer.

    View Slide

  9. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 9
    jgs
    Example
    Factory
    Main
    Gift Ball Box Envelop
    Layer
    Layer
    Layer

    View Slide

  10. jgs
    Blackboard

    View Slide

  11. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 11
    jgs
    Blackboard

    View Slide

  12. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 12
    jgs
    Blackboard
    Description
    § All data in a system is managed in a central repository
    § Components do not interact directly, only through the repository.
    When used
    § When Large volumes of information are generated that has to be stored
    for a long time.
    § When the inclusion of data in the repository triggers an action or tool.
    Advantages
    § Components do not need to know of the existence of other components.
    § Changes made by one component can be propagated to all components.
    Disadvantages
    § The repository is a single point of failure so problems in the repository
    affect the whole system.
    § May be inefficiencies in organizing all communication through the
    repository.

    View Slide

  13. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 13
    jgs
    Drafting an Implementation

    View Slide

  14. jgs
    To be Continued…

    View Slide

  15. jgs
    CSE 460 Software Analysis and Design
    Javier Gonzalez-Sanchez
    [email protected]
    Fall 2020
    Disclaimer. These slides can only be used as study material for the class CSE460 at ASU. They cannot be distributed or used for another purpose.

    View Slide