Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSE460 Lecture 29

CSE460 Lecture 29

Software Analysis and Design
Architecture Patterns


More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming


  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
  2. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 4 jgs

    Example Main Factory Controller View Model Gift Ball Box Envelop
  3. 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.
  4. Javier Gonzalez-Sanchez | CSE460 | Fall 2020 | 9 jgs

    Example Factory Main Gift Ball Box Envelop Layer Layer Layer
  5. 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.
  6. 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.