search
HomeCommon ProblemWhat is the concept of software architecture

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
deepseek web version official entrancedeepseek web version official entranceMar 12, 2025 pm 01:42 PM

The domestic AI dark horse DeepSeek has risen strongly, shocking the global AI industry! This Chinese artificial intelligence company, which has only been established for a year and a half, has won wide praise from global users for its free and open source mockups, DeepSeek-V3 and DeepSeek-R1. DeepSeek-R1 is now fully launched, with performance comparable to the official version of OpenAIo1! You can experience its powerful functions on the web page, APP and API interface. Download method: Supports iOS and Android systems, users can download it through the app store; the web version has also been officially opened! DeepSeek web version official entrance: ht

In-depth search deepseek official website entranceIn-depth search deepseek official website entranceMar 12, 2025 pm 01:33 PM

At the beginning of 2025, domestic AI "deepseek" made a stunning debut! This free and open source AI model has a performance comparable to the official version of OpenAI's o1, and has been fully launched on the web side, APP and API, supporting multi-terminal use of iOS, Android and web versions. In-depth search of deepseek official website and usage guide: official website address: https://www.deepseek.com/Using steps for web version: Click the link above to enter deepseek official website. Click the "Start Conversation" button on the homepage. For the first use, you need to log in with your mobile phone verification code. After logging in, you can enter the dialogue interface. deepseek is powerful, can write code, read file, and create code

How to solve the problem of busy servers for deepseekHow to solve the problem of busy servers for deepseekMar 12, 2025 pm 01:39 PM

DeepSeek: How to deal with the popular AI that is congested with servers? As a hot AI in 2025, DeepSeek is free and open source and has a performance comparable to the official version of OpenAIo1, which shows its popularity. However, high concurrency also brings the problem of server busyness. This article will analyze the reasons and provide coping strategies. DeepSeek web version entrance: https://www.deepseek.com/DeepSeek server busy reason: High concurrent access: DeepSeek's free and powerful features attract a large number of users to use at the same time, resulting in excessive server load. Cyber ​​Attack: It is reported that DeepSeek has an impact on the US financial industry.

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.