Read Note 01

Source: Internet
Author: User

Architecture is an abstract description of the overall architecture and components of the software used to guide the design of large software systems in all aspects. In order to have a deeper understanding of the architecture and how to structure it, I read the book "The Beauty of Architecture". This book is to introduce the design method of the system.

First, the basic concepts of architecture are understood. In architecture, music, writing and other industries can see the emergence of this word. Architecture is part of the system design that highlights some of the details and omits other details through abstraction. The architecture of a software system consists of behavioral and structural. The external behavior description shows how the software interacts with users, other devices, and external devices, which are requirements. The structure description shows how the software is divided into parts, and the relationships of those parts.

Architecture is part of the system design, and architectural design focuses on the internal structure of the component. The design of architecture is constrained by many factors, and the architecture is good or bad and there is no uniform standard. It depends on the requirements of the software, the environment in which the software is built and run, and the characteristics of the software team itself. Evaluation software has many indicators, such as performance, security, extensibility, and so on. In general, these indicators are difficult to fully satisfy, and trying to improve one tends to have a negative impact on other indicators. So in a sense, software architecture is a compromise game. There is no unique, correct architecture for a set of functional requirements and quality requirements.

A good architecture demonstrates architectural integrity, reduces complexity, and directs detailed design and system validation. The system to be built needs to have a few requirements: the function with customer requirements, the ability to construct safely within the duration of the project, good performance, reliability, availability, safety, reasonable cost, compliance with regulations, exceeding competitors/predecessors. Because no system can meet all the requirements at the same time, the architecture is a compromise, picking out the most important points to achieve.

The software system is like a city made up of buildings and back roads, this book uses abstract examples of two software cities to vividly describe what kind of survival mode a software system should be in. One is the "chaotic metropolis". There is no set of healthy structures through which the entire system of reading is not clear about the linkages between the various. This will bring a series of consequences. First: This will become a very difficult system to understand, which will be almost impossible to modify. Members of the newly added project will not understand the system. Bad architecture design continues to incur worse architectures. Second: lack of cohesion. Each component should have a good role, but they contain a bunch of messy, not necessarily related, features. It's hard to figure out what specific functions the system has implemented. Third: Problems with the code and beyond the code. The problem of "metropolis" will gradually become serious and irreversible over time. The seriousness of the lack of a healthy architecture is clearly seen here. The other is the opposite of the "city involved" and its biggest difference lies in a healthy architecture.

By comparing the two, I understand the importance of architecture in software. Software architecture plays an important role in new product development, product line development, software maintenance, and software upgrades. is a bridge between the real world and the computer world.

Read Note 01

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.