Home >Common Problem >What is the concept of software architecture

What is the concept of software architecture

WBOY
WBOYOriginal
2022-08-01 15:51:097918browse

Software architecture is a structured element with a certain form, that is, a collection of components, including processing components, data components and connection components; processing components are responsible for processing data, data components are processed information, and connections Components connect different parts of the architecture together.

What is the concept of software architecture

The operating environment of this tutorial: Windows 10 system, DELL G3 computer.

What is the concept of software architecture

Software architecture is a set of structural elements with a certain form, that is, a collection of components, including processing components, data components and connection components.

The processing component is responsible for processing data. The data component is the processed information. The connection component combines and connects different parts of the architecture. This definition focuses on distinguishing processing components, data components, and connection components, an approach that is essentially maintained in other definitions and methods. Compared with "software architecture", the term "software architecture" is mostly used in the field of academic research, while "software architecture" is mostly used in the field of engineering practice. The foreign names of both are "software architecture", and their definitions in IEEE are both It is: "The basic organization of a system, including each component, the relationship between components and the environment, and the principles that guide its design and evolution."

What is the concept of software architecture

Definition Introduction

Although software architecture has been widely used in the field of software engineering, there is no generally accepted definition so far. Many experts and scholars have characterized software architecture from different angles and aspects. The more typical definitions are:

(1) Mary Shaw and David Garlan believe that software architecture is a level in the software design process. This level goes beyond algorithm design and data structure design in the computing process. Architectural issues include overall organization and global control, communication protocols, synchronization, data access, assigning specific functions to design elements, organization, size and performance of design elements, choosing between design alternatives, etc. Software architecture deals with some issues related to the design and description of the overall system structure based on algorithms and data structures, such as global organization and global control structure, protocols for communication, synchronization and data access, design component function definition, physical distribution and synthesis , selection, evaluation and implementation of design solutions, etc.

(2) Kruchten pointed out that software architecture has four perspectives, which describe the system from different aspects: the conceptual perspective describes the main components of the system and the relationships between them relationship; the module perspective includes functional decomposition and hierarchical structure; the operational perspective describes the dynamic structure of a system; the code perspective describes the organization of various codes and library functions in the development environment.

(3) Hayes Roth believes that software architecture is an abstract system specification, which mainly includes functional components and the interconnections, interfaces and relationships between components described by their behaviors.

(4) David Garlan and Dewne Perry adopted the following definition in IEEE Transactions on Software Engineering in 1995: Software architecture is the structure of the components of a program/system, their interrelationships, and their processes. Principles of design and guidelines that evolve over time.

(5) Barry Boehm and his students proposed that a software architecture includes a set of software and system components, interconnections and constraints; a set of system requirement descriptions; and a basic principle to describe this component , interconnections and constraints can meet system requirements.

(6) In 1997, Bass, Ctements and Kazman gave the following definition in the book "Using Software Architecture": The software architecture of a program or computer system includes one or a group of software components, The externally visible properties of a software component and their interrelationships. Among them, "visible characteristics external to the software" refer to the services, performance, features, error handling, shared resource usage, etc. provided by the software components.

For more related knowledge, please visit the FAQ column!

The above is the detailed content of What is the concept of software architecture. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn