Podcast
Questions and Answers
What are the two ways in which sub-systems can exchange data?
What are the two ways in which sub-systems can exchange data?
Sub-systems can exchange data by either holding shared data in a central database or repository, or by each sub-system maintaining its own database and passing data explicitly to other sub-systems.
What is a key characteristic of a client-server architecture?
What is a key characteristic of a client-server architecture?
A key characteristic of a client-server architecture is that it is a distributed system model, where data and processing are distributed across a range of components.
What are the three main components of a client-server architecture?
What are the three main components of a client-server architecture?
The three main components of a client-server architecture are stand-alone servers, clients, and a network that allows clients to access servers.
What is the primary role of servers in a client-server architecture?
What is the primary role of servers in a client-server architecture?
Signup and view all the answers
When is the repository model of sharing commonly used?
When is the repository model of sharing commonly used?
Signup and view all the answers
What is the primary role of clients in a client-server architecture?
What is the primary role of clients in a client-server architecture?
Signup and view all the answers
What is a key advantage of using a repository architecture?
What is a key advantage of using a repository architecture?
Signup and view all the answers
How can a client-server architecture be implemented?
How can a client-server architecture be implemented?
Signup and view all the answers
What is a key consideration in designing a client-server architecture?
What is a key consideration in designing a client-server architecture?
Signup and view all the answers
What is the primary means of communication between clients and servers?
What is the primary means of communication between clients and servers?
Signup and view all the answers
Study Notes
Architectural Design
- Architectural Design is the process of identifying the sub-systems making up a system and the framework for sub-system control and communication.
- It is an early stage of the system design process, representing the link between specification and design processes.
- It involves identifying major system components and their communications.
Architecture and System Characteristics
- Performance can be achieved by localizing critical operations and minimizing communications, using large rather than fine-grain components, and using a layered architecture with critical assets in the inner layers.
- Security can be achieved by localizing critical operations and minimizing communications.
- Safety can be achieved by localizing safety-critical features in a small number of sub-systems.
- Availability can be achieved by including redundant components and mechanisms for fault tolerance.
- Maintainability can be achieved by using fine-grain, replaceable components.
Architectural Conflicts
- Using large-grain components improves performance but reduces maintainability.
- Introducing redundant data improves availability but makes security more difficult.
- Localizing safety-related features usually means more communication so degraded performance.
Box and Line Diagrams
- They are very abstract and do not show the nature of component relationships nor the externally visible properties of the sub-systems.
- They are useful for communication with stakeholders and for project planning.
Architecture Reuse
- Systems in the same domain often have similar architectures that reflect domain concepts.
- Application product lines are built around a core architecture with variants that satisfy particular customer requirements.
- The architecture of a system may be designed around one or more architectural patterns or ‘styles’.
Layered Architecture
- It is used to model the interfacing of sub-systems.
- It organizes the system into a set of layers (or abstract machines) each of which provide a set of services.
- It supports the incremental development of sub-systems in different layers.
- When a layer interface changes, only the adjacent layer is affected.
Repository Architecture
- Sub-systems must exchange data, which can be done in two ways: shared data is held in a central database or repository and may be accessed by all sub-systems, or each sub-system maintains its own database and passes data explicitly to other sub-systems.
- When large amounts of data are to be shared, the repository model of sharing is most commonly used as it is an efficient data sharing mechanism.
Client-Server Architecture
- It is a distributed system model that shows how data and processing is distributed across a range of components.
- It can be implemented on a single computer.
- It consists of a set of stand-alone servers which provide specific services, and a set of clients which call on these services.
- It also consists of a network which allows clients to access servers.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Test your understanding of architectural design, its process, and its relation to software architecture. Learn about the early stages of system design and how it links specification and design processes.