Understanding of Software Architecture

Source: Internet
Author: User

Software architecture, i.e. software architecture. When it comes to architecture, the first thing I think about is the "architecture" of the construction industry. Before we build a building, we will have professional designers to design drawings, analysis of the structure of buildings, to ensure the safety of buildings. In the software industry too, when we develop a software, we also need to have a professional to analyze the software, to make the architecture, this is the architect.

To understand the software architecture, you first have to understand what the architecture is.

The architecture is:

    1. Define the boundary of the target system according to the problem to be solved
    2. The target system is segmented according to a certain principle. The principle of segmentation, in order to facilitate different roles, the segmentation of the part, parallel or serial work, generally parallel to reduce time.
    3. and to the segmentation of these parts, set up a communication mechanism.
    4. According to 3, these parts are able to be organically linked, merging and assembling into a whole, accomplishing all the work of the target system.

The concept of cognition is the foundation of understanding architecture. Concept is the beginning of all things we learn. For a new thing, first we should have a relevant concept in mind, so as to better understand. Through the concept, discover the problem behind the concept, then can understand the target domain needs to solve the problem.

Software development is usually a team, everyone in the team has their own work and tasks, but also have their own problems to solve. At this point we need to be able to find the subject of the problem. When we understand the subject of the problem, it is possible for us to really realize what the problem is to define the boundary of the problem. If each of us is only committed to our own work, then there is a chance that our work will not be completed and there will be more problems. This requires communication between our teams, which requires the architect to be clear: who is the problem and what is the problem.

Each software needs to be done by more than one person, which requires architectural segmentation. Each person's energy is limited, all have their own good part. Therefore, we need to be based on each person's different characteristics and strengths to the architectural segmentation. But in the segmentation to ensure that the rights and obligations of stakeholders are equal.

When you understand the architecture, you need to know what the software is. Now is the information age, people are more and more willing to give things to the computer to do. This will require more and more software to meet people's needs, require a large number of software engineers, and thus have many different jobs, such as architects, testers, etc. Because the software engineer's load is too heavy, the software development is split, this is the architecture. Thus, there is a software architecture.

Software needs to be run in the hardware of your computer, so you need to solve business problems and computer problems when developing software. Consider how to make the software run in hardware, and how to make the software run better.

Software architecture requires software organization structure and process to guarantee. The architecture itself is growing, the work is constantly split, and staff are increasing.

The software architecture includes the code architecture and the hardware deployment architecture that hosts the code to run. The most important of these is the code architecture. Because software is the virtualization of real life, so we in the process of developing software, we must have strict business logic.

Software architecture is the basic framework for standardizing software development, which can facilitate the communication between developers and users, modularization and hierarchical design, which is helpful to reduce rework, improve efficiency, and facilitate the preparation and service of the system before and after the development.

Understanding of Software Architecture

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.