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

CSE460 Lecture 22

CSE460 Lecture 22

Software Analysis and Design
Architectural Patterns

Javier Gonzalez-Sanchez

July 22, 2020

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming


  1. jgs CSE 460 Software Analysis and Design Lecture 22: Architectural

    Patterns Dr. Javier Gonzalez-Sanchez javiergs@asu.edu javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. jgs Previously …

  3. jgs 460 00000111 Drafting an Implementation

  4. jgs 460 00000111 Example Main Factory Controller View Model Gift

    Ball Box Envelop
  5. jgs Layered Architecture

  6. jgs 460 00000111 A generic layered architecture

  7. jgs 460 00000111 Layered Architecture

  8. jgs 460 00000111 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.
  9. jgs 460 00000111 Example Factory Main Gift Ball Box Envelop

    Layer Layer Layer
  10. jgs Blackboard

  11. jgs 460 00000111 Blackboard

  12. jgs 460 00000111 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.
  13. jgs 460 00000111 Drafting an Implementation

  14. jgs 460 00000111 Implementation :: Classroom

  15. jgs 460 00000111 Implementation :: Professor

  16. jgs 460 00000111 Implementation :: Student

  17. jgs 460 00000111 Implementation :: Blackboard

  18. jgs Client-Server

  19. jgs 460 00000111 Client-Server

  20. jgs 460 00000111 Client-Server Description § Functionality of the system

    is organized into services. § Each service delivered from a separate server. § Clients are users of these services and access servers to make use of them. When used § Used when data has to be accessed from a range of locations. § May also be used when the load on a system is variable. Advantages § Distributed system Disadvantages § Each service is a single point of failure so susceptible to denial of service attacks or server failure. § Performance may be unpredictable because it depends on the network as well as the system.
  21. jgs 460 00000111 Implementation :: Server chrestomathy: https://www.javatpoint.com/socket-programming

  22. jgs 460 00000111 Implementation :: Client chrestomathy: https://www.javatpoint.com/socket-programming

  23. jgs 460 00000111 Drafting an Implementation ...

  24. jgs Next Step Assignment 04

  25. jgs CSE 460 Software Analysis and Design Javier Gonzalez-Sanchez javiergs@asu.edu

    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.