Architectural Design Lecture 11 Chapter 6

IntricateTucson avatar
IntricateTucson
·
·
Download

Start Quiz

Study Flashcards

10 Questions

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?

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?

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?

The primary role of servers in a client-server architecture is to provide specific services to clients.

When is the repository model of sharing commonly used?

The repository model of sharing is commonly used when large amounts of data are to be shared.

What is the primary role of clients in a client-server architecture?

The primary role of clients in a client-server architecture is to request services from servers.

What is a key advantage of using a repository architecture?

A key advantage of using a repository architecture is that it provides an efficient data sharing mechanism.

How can a client-server architecture be implemented?

A client-server architecture can be implemented on a single computer or across multiple computers.

What is a key consideration in designing a client-server architecture?

A key consideration in designing a client-server architecture is how to distribute data and processing across multiple components.

What is the primary means of communication between clients and servers?

The primary means of communication between clients and servers is through a network.

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.

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.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Introduction to Software Architecture
30 questions
Software Architecture Fundamentals
12 questions

Software Architecture Fundamentals

MercifulConsciousness430 avatar
MercifulConsciousness430
Software Architecture: Connectors
30 questions
Use Quizgecko on...
Browser
Browser