Conceptual Architecture Design

Source: Internet
Author: User

A collection of functions, quality, and business needs shapes the architecture, that is, the key needs shape the architecture.

 

The conceptual architecture design can be divided into the following three steps:

1. Robustness Analysis

2. Introduce the Architecture Model

3. Quality Attribute Analysis

 

Many people think that the transition from demand analysis to architecture design has encountered many problems. The root cause may be the following:

  1. The use case is oriented to the problem domain, while the design is oriented to the machine domain. The two 'spaces' are mapped.
  2. The Use Case technology itself is not object-oriented, but the design should be object-oriented, which is two different ways of thinking.
  3. The Use Case specification adopts natural language description, while the design adopts a formal model description. The description is different.

 

Robust graphs can solve the differences between demand analysis and architecture design.

 

A robust graph contains three elements: boundary object, control object, and object.

 

The boundary object is used to simulate the interaction between the external environment and the future system for modeling. It is responsible for receiving external input, processing internal content interpretation, and expressing or passing corresponding results.

 

The control object encapsulates the behavior and describes the control behavior of the event stream in the use case.

 

Entity objects describe the information to be stored. They often come from domain concepts and have a good relationship with objects in Domain Models.

 

The three objects in the robust graph can summarize three responsibilities of objects in the actual system: interaction, control, and information. These three roles have a perfect ing relationship with the abstract elements that make up the architecture: connection elements, processing elements, and data elements.

 

The essence of a robust graph:

  1. Participants can only talk to the boundary object.
  2. The boundary object can only communicate with the control body and participants.
  3. Entity objects can only communicate with control objects.
  4. The control body can talk to both the border object and the control object, but cannot talk to the participants.

 

The MVC structure can be matched with the Luba diagram. The view corresponds to the boundary object, the model corresponds to the object, and the Controller corresponds to the control object. Of course, sometimes the model also contains some control objects.

 

To establish a conceptual architecture, we should clearly define the responsibility model required to implement the expected functions. It is advisable to study different scenarios of case execution.

 

The so-called software architecture is some of the most important design decisions about how to build software. These decisions are usually centered on what parts of the system are divided into and how each part interacts.

 

The software architecture model is a special software architecture that is highly abstract and applicable to many similar systems and pre-defined. The architecture model describes the basic structure of the software system. Specifically, the architecture model provides a set of predefined subsystems and defines the responsibilities of subsystems, and organization principles and guidelines for subsystems or self-Recommendation relationships.

 

There are currently many mature architecture models. We need to determine which architecture model should be adopted based on the specific needs of the project.

 

Layering: it is very popular. The biggest advantage is to localize the overall problem and encapsulate possible changes in different layers. Finally, the system is planned as a one-way dependency hierarchy, it facilitates modification, expansion, and replacement. Specifically, the one-way dependency between layers can be divided into two types: strict layered architecture requires that layer n can only be called by layer n + 1, this is a relatively non-strict layered architecture, where layer N can be called at any layer on its upper layer. We need to pay attention to the principle of hierarchy: division of duties and interaction mechanisms.

 

MVC: an overwhelming model. With the development of smalltalk, there are many variants. It contains three components: model, view, and controller.

 

Micro-kernel: The biggest advantage is to adapt to changes. The microkernel architecture not only separates the application-related part from the general part, but also further separates the general part into a minimum basic service kernel and numerous extension services. The microkernel not only provides a minimum set of basic services, but these basic services shield the impact of the complex environment in the lower layer and provide standard interfaces to upper-layer 'value-added services' for use, therefore, all these value-added services are irrelevant to the complex environment. The basic services provided by the microkernel must be complete, thus implementing a virtual machine. This virtual machine not only shields the complexity of the lower layer, but also creates a more abstract and easy-to-use 'newserver' for its upper layer.

 

Disadvantages of the microkernel: 1. complexity of design and implementation; 2. performance is often lower than that of other architectures in the same case.

Reasons for adopting the microkernel architecture: 1. scalability; 2. portability; 3. Extended software system lifecycle.

 

Meta-Model Architecture: an architecture model that focuses on adapting to changes and supporting long lifecycles. There are two layers: basic layer and metadata layer. The basic layer defines the application, similar to the program we want to write. The meta-level includes a group of 'metaobjects'. The models composed of these meta-objects are called 'metamodel ', the meta-model abstracts everything in the basic layer and provides a 'self-description' of the structure and behavior of the software '.

 

 

References:

Software Architecture Design

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.