Software architecture style of software exam system architect series knowledge points

This Eleven is destined to be an Eleven that cannot be relaxed and remains "tight". Since I have signed up for the National Computer Technology and Software Professional and Technical Qualification (Level) Examination, the exam will be held on November 4th, so the 8-day holiday must not be wasted and must be utilized well. Now refine and record each core knowledge point one by one.

Chapter:

Chapter 7. Basic knowledge of system architecture design

        Section 3. Software architectural style

1 Overview

A core goal of software architecture design is to repeat architectural patterns , that is, to achieve software reuse of the architecture . In other words, the same architecture is used in different software systems. Based on this goal, the main task is to study and practice software architecture style and type issues .

A software architectural style is a conventional pattern that describes the way systems are organized in a specific application domain . An architectural style defines a family of systems , that is, an architecture defines a vocabulary and a set of constraints . The vocabulary contains a number of component and connector types , and the set of constraints indicates how the system combines these components and connectors . Architectural style reflects the structural and semantic characteristics common to many systems in the domain , and guides how to effectively organize various modules and subsystems into a complete system. The study and practice of software architectural styles promotes the reuse of designs, and some proven solutions can be reliably used to solve new problems.

2. Segmentation

(1) Data flow architecture style

Dataflow architecture is a computer architecture that is directly contrasted with traditional von Neumann architecture or control flow architecture.

Data flow architecture styles mainly include :

Batch style and pipeline-filter style .

  • Batch architecture style

In a batch-style software architecture, each processing step is a separate program , each step must be started after the previous step ends , and the data must be complete and delivered in a holistic manner.

The basic building blocks of the batch style are stand-alone applications , and connectors are some type of intermediary . Connectors define corresponding data flow diagrams to express the topology.

  • Pipeline-Filter architectural style

When data is continuously generated, the system needs to perform certain processing (analysis, calculation, conversion, etc.) on this data. The existing solution is to decompose the system into several sequential processing steps . These steps are connected through data flows, and the output of one step is the input of another step . Each processing step (filter) has a set of inputs and outputs. The filter reads the input data stream from the pipeline, processes it internally, and then produces an output data stream and writes it to the pipeline.

Therefore, the basic building blocks of the pipe-filter style are filters , and connectors are data-flow pipes that pass the output of one filter to the input of another filter.

(2) Call/return architectural style

The call/return architectural style refers to the use of a call and return mechanism in the system. It is actually a divide-and-conquer strategy. Its main idea is to decompose a complex large system into several subsystems in order to reduce complexity and increase Modifiable, the program starts executing the code of the component from its execution starting point, and when program execution ends, control is returned to the program calling component.

The call/return architectural style mainly includes :

Main program/subprogram style, object-oriented style, hierarchical style and client/server style .

  • Main program/subprogram style

The main program/subprogram style generally uses single-thread control and divides the problem into several processing steps.

The main program/subprogram style components are the main program and subprograms , and subprograms can usually be synthesized into modules. Procedure calls serve as interaction mechanisms, that is, as connectors. The calling relationship is hierarchical, and its semantic logic shows that the correctness of a subprogram depends on the correctness of the subprogram it calls.

  • object-oriented architecture style

  • hierarchical architectural style

  • Client/server architectural style

The client/server (C/S) software architecture is based on resource asymmetry and is proposed to achieve sharing . exist

Guess you like

Origin blog.csdn.net/phmatthaus/article/details/133426578