"4+1 View" Learning and Understanding

Statement: Part of the content is an excerpt from the article of the author of the short book "Orange Dialogue".

I often see the "4+1 view" mentioned in the article before, and I have a one-sided understanding of it, but I have never practiced it, and I don't know its true role. I have used part of it in the business needs analysis these two days. Talk about your own superficial understanding.

When I recently researched the "multi-tenancy" implementation plan, I saw 3 articles about multi-tenant architecture from Jian You's "Orange Dialogue", one of which was " Taking the CRM system as an example to analyze the construction method of the primary SaaS architecture ", In the form of "4+1 view", it covers the stages of analysis, design, development, and deployment, and how to progress step by step to form the final implementation plan.

The so-called "4+1 view" describes the software architecture from five different perspectives, including scene view, logical view, development view, process view, and physical view. Each view is only related to one side of the system, and the five views are combined Up to reflect the entire content of the system.

Well, the tone is still a bit official. I originally wanted to analyze it again based on my own project. Someone was urging me to sleep again. At the same time, I felt that the article "Orange Dialogue" was written very well, so I decided to organize it and share it.

Before sharing, let me talk about my practice. Through the scene view and logical view, I have analyzed the list of functions required for the "multi-tenant" transformation. The scenario view analyzes the use cases of each role from the perspective of using the system. From the perspective of business objects, the logical view expresses the relationship between business objects and objects. The two views progress and complement each other, helping me sort out the function points of the system more completely.

Let's share the article "Orange Dialogue", how to build a CRM system step by step

1. Scene view

It is responsible for identifying business requirements and describing business scenarios from the perspective of users, which is the starting point and end point of architecture design.

scene description

Boss's point of view: understand the increase or decrease of the number of customers; understand the trend of increase or decrease of customers; business itinerary management.

Employee perspective: save and check customer information at any time; maintain timely communication with customers through email, IM, and IP phone; business itinerary management.

scene abstraction

Customer management: add, delete, modify, check, customer information;
itinerary management: business arrangement (customer visit, contract negotiation);
order management: management of signed orders;

Second, the logical view

From the object point of view, construct an object model to establish logical hierarchy, module division, module function, and inter-module dependencies. Among them, module functions include both visible business functions and invisible system functions (logs, permissions, transactions, etc.).

Module division and function

Customer module, itinerary module, order module, report module

module dependencies

module dependencies

The business objects contained in the module
  • Customer module - customer group, customer, contact;
  • Itinerary module - time, events, etc.;
  • Order module - time, customer, order, etc.;
  • Reporting Module -  …

3. Development view

From the development point of view, describe the static organization of software in the development environment (packages, unified framework of applications, referenced class libraries, SDK and middleware, etc.), and standardize and constrain the structure of the development environment.

development environment
  • Development language: Java, JavaScript, Html
  • Database type: MySQL 5.0
  • Application server type: Apache+JBOSS
  • Other software: Ant, JUnit, etc.
  • Related hardware: slightly
technical framework

Open source framework: Struts+Spring+Hibernate framework structure
call view

layered strategy

layered strategy

Directory Structure

According to the hierarchy, formulate the directory structure as follows
Directory Structure

  • Api: store the interface definition source file of the service;
  • Action: Store the source file and configuration file of the action;
  • Biz: Stores the business logic components and DAO components of each module;
  • Bundle: store JSP and HTML files;
  • deploy: store the jar file to be deployed after construction;
  • The biz directory is further divided into dao and service directories according to modules, as well as their implementation class directory impl;

Fourth, the process view

From a procedural perspective, describe the concurrency and synchronization design of the system. Designed to solve problems in processes, threads, concurrency, synchronization, communication, etc.;

5. Physical view

Responsible for describing the mapping relationship between software and hardware, and the design of the system in distribution/deployment from the perspective of deployment. It aims to solve problems such as system installation, system deployment, and network distribution.

So far, the CRM system has basically taken shape.

Theory is very important, and it is more important to practice. Only in the process of practice can we truly understand the essence of each word in the theory.
My understanding is still very shallow. I owe an account first. In the subsequent project development process, after fully applying the "4+1 view", I am making a practical summary.

love story

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324748773&siteId=291194637