Software Development architecture analysis and architecture model one

Source: Internet
Author: User

Architecture Analysis:

The architecture analysis work mainly considers how a software system should be organized from a macro perspective. Usually, in the framework of the analysis work, we need to identify some strategic design guidelines, principles and basic patterns. Under their guidance, we can analyze the macro structure of software system strategically advantageous position, understand the components of software system, know the interface and cooperative relationship between components. The result of architectural analysis is also a constraint on subsequent object-oriented design work, which helps to eliminate randomness in the design and implementation process. Therefore, schema analysis is sometimes referred to as policy design

A component is a set of objects consisting of a fixed interface organism, when the designer's viewing angle is different, the size of the component is different or the package degree of the component is different, these organisms may behave in different forms, such as layers in software architecture, packages or subsystems, and the purpose of architecture analysis is to analyze scientifically Dividing the entire software system into different components and accurately defining the interface between components and components


At the level of software implementation, different types of components, such as layers, packages, or subsystems, may also have different forms of representation. For example, they can appear as a package in a Java program or a source code directory in a C + + project. When software is released and configured, one or more components can be connected to an executable program, either as a dynamic link library or as an ActiveX space or EJB component

The role of architecture analysis:

The architecture analysis work pre-defines the scientific structure and rules for the software, through which people can effectively control the complexity of software, it is easy to understand the implementation and management of software

A good software architecture can not only analyze different components in the software, but also define the interface between components, which can be a good reusability of most of the components in the software system, and also can achieve a wider range of software reuse through the analysis of the architecture, that is, directly taking the representative software architecture

The results of architectural analysis are also the basis for collaboration between multiple project groups. Components that are effectively decoupled from the software architecture can be assigned to different project groups, as long as the interface definition of the component is not changed, and the changes within the component do not affect the inheritance of the entire system.


avoid going into the wrong way of functional decomposition:

Functional decomposition and object-oriented are two ways of thinking that are incompatible, and functional decomposition can seriously hinder the understanding of the relationship between components and components of a system. The basic principles of object-oriented analysis and design emphasize encapsulation of data and related operations, which, according to this requirement, are highly coupled, logically closely related data, and the methods that manipulate the data should be encapsulated in the same class. If the software system is dismembered into several functional modules before object-oriented analysis, the method of manipulating the same data may be split into different modules, and the objects in different modules will have strong coupling.

subsystem design should be part of object-oriented design work and should be done after object-oriented analysis. In the process of subsystem design, the designer should divide the subsystem based on the results of object-oriented analysis so as to avoid the practice of dividing by function.

Preparation of the architecture analysis

Before the architecture, you should understand whether the type of software is an interactive type of software or a system-type software. Architecture analysis is an iterative process throughout the software lifecycle, and in different stages of object-oriented analysis and object-oriented design, the architecture of the software system is refined and perfected in a step-by-step way.

Schema mode:

Architectural patterns are those acquired through accumulation in the development process, and proven to be effective. Reusable Software Architecture





Software Development architecture analysis and architecture model one

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.