Understanding of Software Architecture

Source: Internet
Author: User

This semester learning to learn software architecture, the concept of architecture is not very well understood. At first, it is not comprehensive to think that architecture is the framework and structure of a project. Architecture is not only the structure, the architecture originates from the cooperation and communication between people, each person's ability, time and energy are limited, but they want to complete the project is complex, accurate, this requires from the architecture point of view to improve the quality of the project, improve personal time efficiency. As a result, the architecture is helpful in improving productivity, shortening project time and improving the quality of the project. In fact, the structure of the project is the practice accumulated after the long-term implementation of these activities. It can be said that architecture is the process of human development, from the Mengmengdongdong, passive to understand the world, become active to understand, and with higher efficiency to transform the world's methods.

An accurate definition of the architecture is that the boundary of the target system is defined according to the problem to be solved. and the target system is segmented according to a 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. and to the segmentation of these parts, set up a communication mechanism. So that these parts can be organically linked, merged into a whole, complete the target system of all work.

Software architecture is a branch of architecture, it has all the characteristics of architecture. The software architecture must first understand the nature and significance of the software: it is through the human daily work to virtualize, reduce costs, improve the productivity of individual personnel, enhance human own interests. Therefore, software architecture appears to be the beginning of the Mengmengdongdong writing software, and then slowly on the conscious to the segmentation, evolved into a different architecture. The motivation behind this is also the same, is to promote the interests of the people involved, reduce costs. Software architecture has two elements: 1 is a software system from the whole to the highest level of the division of the part. 21 systems are usually composed of components, and how these components are formed and how they interact with each other is an important information about the structure of the system itself. We must understand two questions when we make the architecture, that is, whose problem is this? What's the problem?

We use software architecture to solve two problems with software: 1 business problems. That is, in the concrete real life state, when there is no software, the problem of the subject is who, solve the problem, how to solve, how to operate? 2 computer problems. How to use real life software to simulate? What hardware facilities are needed to meet the requirements of the simulated software? And when the traffic is more and more large, the software can support the hardware slowly grow, linear expansion of performance? Because the hardware is likely to fail, how does the software, in the case of hardware failure, still be able to guarantee availability, allowing users uninterrupted access to the services provided by the software? How to collect the data generated by the software to provide a basis for the next phase of work? When we fully understand these two problems, we can design the corresponding architecture.

The use of software architecture has to achieve the goal: 1 reliability. The user's dependence on the software system is very high, so it is necessary to ensure the software is reliable and stable. 2 security. The security of software systems is critical, especially for some business systems. 3 scalability. The software must be able to maintain reasonable performance when the user's usage rate and the number of users increase rapidly. Only in this way can we adapt to the market expansion possibilities of the users. 4 customizable. The same set of software can be adjusted according to the different customer base and the change of market demand. 5 Extensibility. Software systems are open to a certain extent, allowing the introduction of new technologies to extend the functionality and performance of existing systems. 6 maintainability. The system must be easy to modify and update. Maintenance does not have to spend a lot of time and money.

 

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.