tailieunhanh - Lecture Software design and architecture – Chapter 11

Lecture 11 provides knowledge of shared data software architecture. An architecture style (also known as an “architecture pattern”) abstracts the common properties of a family of similar designs. Define a family of systems in terms of a pattern of its structural organization. | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 11 Review Data Flow Architectures Batch Sequential Pipe and Filter Outline Shared Data Software Architectures Central Repository Architecture Shared data Software Architecture Shared Data Software Architecture Data-centered software architecture is characterized by a centralized data store that is shared by all surrounding software components. The software system is decomposed into two major partitions: data store and independent software component or agents. Shared Data Software Architecture The connections between the data module and the software components are implemented either by explicit method invocation or by implicit method invocation. Shared Data Software Architecture In pure data-centered software architecture, the software components don't communicate with each other directly; instead, all the communication is conducted via the data store. The shared data module provides all mechanisms for software components to access it, such as insertion, deletion, update, and retrieval. Shared Data: The high level design solution is based on a shared data-store which acts as the “central command” with 2 variations: Blackboard style Repository style Repository architecture Repository Architecture The repository architecture style is a data-centered architecture that supports user interaction for data processing. The software component agents of the data store control the computation and flow of logic of the system. Repository architecture All data in a system is managed in a central repository that is accessible to all system components. Components do not interact directly, only through the repository. Patient database physician diagnosis pharmacy & drug processing Lab testing accounting & administration Repository architecture Organizing tools around a repository is an efficient way to share large amounts of data. There is no need to transmit data explicitly from one component to another. Repository architecture However, . | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 11 Review Data Flow Architectures Batch Sequential Pipe and Filter Outline Shared Data Software Architectures Central Repository Architecture Shared data Software Architecture Shared Data Software Architecture Data-centered software architecture is characterized by a centralized data store that is shared by all surrounding software components. The software system is decomposed into two major partitions: data store and independent software component or agents. Shared Data Software Architecture The connections between the data module and the software components are implemented either by explicit method invocation or by implicit method invocation. Shared Data Software Architecture In pure data-centered software architecture, the software components don't communicate with each other directly; instead, all the communication is conducted via the data store. The shared data module provides all mechanisms for software components to access it, such as