The basic concept of software architecture design

Source: Internet
Author: User

Schema definition

The concept of software architecture is divided into two categories, composed by the software itself as the description object, analysis software composition, decision-making as a description of human decision-making, inductive structure decision-making type.

Example of a composition faction definition:

The software architecture describes the system as computing the interaction between components and components. Computational components are generally referred to, can be further divided into processing components, data components, connection components, etc., can refer to subsystems, frameworks, modules and classes and other different granularity of software units.

Example of a decision-making definition:

The software architecture comprises the following important decisions: (1) The organization of the Software system, (2) The selection of the structural elements that compose the software system and the interfaces between them, (3) How to combine these elements to make them into larger subsystems, (4) architectural style [J1]; (5) Other features of the software system, such as use, functionality, performance, elasticity, reuse, understandable, economic and technical limitations and tradeoffs, and aesthetics.

A more understandable decision-making list: How the modules are divided, the responsibilities of each module, how each module's interface is defined, what interaction mechanisms are used between them, how the development technology is selected, how to meet constraints and quality attributes, and how to adapt to the changes that may occur.

Schema Design view

Why Schema View?

(1) The structure involves many, the attention aspect is different: the user pays attention to the function and the performance, the ease of use and so on the running time quality attribute; The customer pays attention to business goals, uptime, budget constraints, integration needs, etc. developers focus on scalability, reusability, portability, testability, and other quality attributes during development Managers focus on how the architecture supports Project division, project planning, and so on.

(2) Architectural design needs to cover too much content and decision-making, more than the ability of the human brain to reach the range, need to adopt a divide-and-conquer approach to design from different perspectives

(3) Facilitate the understanding, communication and archiving of software architectures.

The most commonly used schema views are logical and physical views.

The logical view specifies the logical elements that make up the software system and the relationships between these elements, which can be logical layers, functional subsystems, and modules. The core character of the logical view is a comprehensive identification module, planning interface, and based on this further explicit use of the module between the relationship and usage mechanisms.

The physical view specifies the physical elements that make up the software system and the relationships between them, as well as the policies they deploy to the hardware. Physical views reflect the organization of the dynamic runtime of a system, where physical elements refer to processes, threads, objects, and relationships, such as process scheduling, thread synchronization, process, or thread communication, typically using the physical tier tier to specify a deployment strategy.

Reference documents

Wen Yu, "Software Architecture design 2nd Edition"

The basic concept of software architecture design

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.