Architecture Design in-depth learning 02--conceptual architecture and refinement architecture

Source: Internet
Author: User

Victory first wins and then spoiling, defeated army trailed first fight and then seek victory-"Sun Tzu".

This part of the content is relatively old, but the principle and ideas are consistent.

In general, the conceptual architecture satisfies "architecture = component + interaction" and focuses only on high-level components, followed by a general definition of alignment, giving them a concern, and the conceptual architecture does not involve interface details. The important thing to remember here is that the big demand is shaping the conceptual design, where the big demand is a key part of the pre-architecture functionality, quality, and constraints of the 3 categories of requirements.

3 steps in the conceptual architecture phase

Preliminary design: Based on the key functions, it is important for the new system to carry out a preliminary design with a robust graph for the purpose of discovering responsibility.

High-level segmentation: to slice the system black box, you can use the schema mode.

Consider non-functional requirements and analyze non-functional requirements through the goal-scene-decision table.

The primary task of the preliminary design is to find responsibility, which can be aided by the "responsibility coordination chain". When analyzing the direct coordination chain, we first need to introduce a tool, a robust graph, which contains 3 elements, namely boundary objects, control objects and entity objects. (this diagram is ignored because Visio does not support it, and can be expressed in a sequence diagram)

High-level segmentation : First a system is divided into several systems to interact with the project, then differentiate each system into multiple subsystems (no, everything needs to be based on the situation, do not over-design). The subsystems here are usually layered (layer), as shown in.

Tip:layer represents a logical hierarchy, and tier represents a physical hierarchy (such as a separation of database servers, Web servers, application servers, etc.).

consider non-functional requirements : for example, for continuous availability requirements, the database server is required to configure the failover cluster and the Web server is load balanced.

Architecture design a solution to complex problems, so the idea of "divide and conquer" must not be less, at this stage, often use a multi-view approach to display architectural ideas, characterized by: to facilitate thinking (divide and conquer), easy to communicate (separation of concerns). The rup4+1 view is widely accepted, but the important thing here is that the thought (each thinking angle, a view) does not have to provide the specified 4+1 view (logical view, deployment view, process view, implementation view, and use case diagram), and the final tip shows the way in which you are doing your daily projects.

In this, will follow the Wen Yu idea, introduces his five views, as a practical reference.

Logical Architecture : The main work consists of dividing subsystems, defining interfaces, etc., usually with the aid of interface-Bautulai representation. The method of dividing subsystem includes the refinement of stratification, the introduction of partition and the extraction of mechanism.

The principles are as follows: The units of different responsibilities are assigned to different subsystems, and the different units are classified into different subsystems, and the units requiring different development skills are classified into different subsystems (the day before, backstage, High fidelity), and the relative balance of the workload is divided, further dividing the sub-system (80-hour principle of project management). In addition, the definition of the interface must not self-talk, need sufficient communication.

Run the schema : When it involves a lot of concurrency, it needs to be considered, not commonly used.

Development Architecture : This part is mainly the development of language, the selection of relevant framework, project document structure and form, in practice, is very important, a unified and reasonable structure can be very good development and communication efficiency. In the software development, the maintenance cost is actually the biggest, therefore the reasonable reuse is very important, its priority is the reuse completion app-"The reuse frame-" The Reuse library and the program = "The Reuse standard algorithm and the design pattern.

Physical Architecture : This part of the thinking focuses on "overhead" and "contention," so the goal of the architecture is to reduce overhead and avoid expropriation.

Data Schema : The data distribution scheme is a difficult point, usually with the help of 6 strategies.

3 Application principles: grasp the characteristics of the system, determine the distribution strategy (appropriate principle), different distribution strategies can be integrated application (comprehensive principle); "Yes" "Good" evaluation (optimization principle).

TIP:

In the actual project, the actual architectural situation is as shown, as for the details of the service contract definition (based on the sequence Diagram Discovery interface) and the detailed design of the database (dependent on PRD to find the required fields), etc. can be decided together with the front-line development manager.

Resources

    1. Wen Yu . A practical guide for first- tier architects [M]. Beijing : electronic Industry press ,.

Architecture Design in-depth learning 02--conceptual architecture and refinement architecture

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.