is responsible for the code level design: what each class is doing, its relationships, and scope. § Software architecture It is responsible for the skeleton and the high-level organization of a software. It identifies the main structural modules (or components) in a system and the relationships between them.
branches for each major function § Coordinate communication between modules § Limit propagation of side effects § Facilitate extensibility, modifiability and reuse
(yes or not)? § Create Blackboard in main method (yes or not)? § Connection between Blackboard and Professor (association, aggregation, composition, realization, generalization) ? § Connection between Blackboard and Student (association, aggregation, composition, realization, generalization) ? § Connection between Blackboard and Classroom (association, aggregation, composition, realization, generalization) ?
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.
Fall 2022 Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly. They cannot be distributed or used for another purpose.