Figure 1 is better than a thousand words-Application of Image Thinking and diagrams in software development

Source: Internet
Author: User
Figure 1 is better than a thousand words-Application of Image Thinking and diagrams in software development
 

Author: gurudk Source: gurudk blog

 

Person
I don't know the text when I was born, but my eyes can already accept a large amount of image information. It is said that information obtained by human eyes accounts for more than 40% of total information obtained by people. Image thinking is a human instinct, which is widely used by people.
Work and Life also run through the software development process. Graph communication is one of the most effective means of communication. Sometimes people argue for a long time and draw a few pictures before the whiteboard. If you want to be a good example
It is essential for the caster and software designer to use graphs to think about and express themselves.

It should be said that I generally focus on logical thinking, And the right brain has poor thinking ability. These pictures are all selected from the pictures I drew in the past. They are not very beautiful, but they are very purposeful. Next, let me introduce it to you one by one and hope to inspire you.

Main content:

  • Logic Diagram
  • Function Model
  • System use case diagram
  • Architecture Diagram
  • Coordinate chart
  • Package Logical Relationship Diagram
  • Domain Model Diagram
  • UML class diagram
  • UML activity diagram (swimming track diagram)
  • UML sequence diagram
  • UML deployment Diagram
  • UML status chart
  • Brain chart
  • Fish bone chart
  • Introduction to drawing tools

1) logic diagram

Purpose: To express the relationship between high-level concepts, which is generally presented to customers. Generally, no prior knowledge is required to understand this image.

Expression: Generally, it is flexible and mainly hierarchical. You can use your imagination to draw pictures.

Key: extract the main elements and describe the relationship between them.

Usage: It is generally used in a solution. The first image given to the customer may be this.

This figure is mainly presented in a hierarchical and three-dimensional manner.

2) functional model Diagram

Purpose: To describe the functions of the software system.

Expression: It is generally expanded in a tree shape.

Key: the key is the hierarchical relationship.

Usage: describes the solution and requirements.

3) system use case diagram

Objective: To express how system Participants interact with the system at a high level.

Expression: the use case diagram is generally used. The use case package or use case can be used in the diagram, and the role can be inherited, but not too much, which affects the readability of the diagram.

Important: the interaction between the system and stakeholders is not necessarily listed in all functions.

Usage: It is generally used in solution and Requirement Description.

4) architecture Diagram

Purpose: To express the relationship between technical elements. It is generally used in the technical architecture of the solution and is also relatively high-level.

Expression: there are many methods, generally hierarchical models.

Key points: emphasize the main technical elements and their relationships, and highlight the technologies used.

Usage: solutions, technical lectures, technical exchanges, and technical training.

This is the architectural diagram of the enterprise application platform I previously imagined at the company, mainly conceptual.

5) coordinate chart (this name is self-fabricated)

Purpose: To describe a graph in which an element changes with another element.

Expression: It is generally a two-dimensional chart or coordinate system.

Focus: Focus on expressing progressive relationships.

Usage: generally used for technical presentations and solutions.

Indicates that the function increases with multiple iteration cycles at any time.

It indicates the evolution of the stage and the change of technical means.

6) UML package Logical Relationship Diagram

Objective: To express the logical relationship between the development and design phases and the high-level layers.

Expression: the layout should be beautiful, and the line should not be poor or scattered.

Focus: simple. Emphasize the main dependency. Do not draw anything that is not important.

Usage: design documents, technical presentations and exchanges.

7) domain model diagram. This diagram is the most important and useful graph in my opinion.

Purpose: To express the relationship between domain concepts and concepts. It is similar to a class chart, but it must be at a higher level.

Representation: UML elements are used for representation. Note that there are no methods here compared to class diagrams. concepts are generally described in natural language. The expression must be concise.

Emphasis: Abstraction of fields.

Usage: used to maintain a consistent understanding of the business field within the team, and to communicate with the customer.

This is my domain model on permissions.

A little complicated, about container management.

8) UML class diagram

Purpose: To describe the relationship between classes during design.

Expression: You can group classes to improve understanding.

Usage: internal communication within the team. Senior programmers give guidance and design to junior programmers.

Emphasis: emphasize the relationship between classes, with the main methods and attributes.

9) swimming track diagram (UML activity diagram)

Purpose: To express the business process, which is clearer than the flowchart.

Expression: it is best to use color identification between lanes. If it is complicated, you can use Area Identification for similar operations.

Key points: clarity and readability of the process.

Usage: Describes business processes and can be used for requirements and solutions.

 

10) UML Sequence Diagram (Time Sequence diagram)

Objective: To describe the design with many steps.

Expression: as few steps as possible, you can consider splitting if there are more steps.

Usage: detailed design.

Note: I used to think this figure is quite good. Now it is too complicated to use.

This is a pseudo single-point logon step.

This is a bit like a collaboration chart, but it is more vivid than a collaboration chart, which is used in many places. Sequence Diagrams and Collaborative Plotting are equivalent.

11) UML deployment Diagram

Purpose: To describe the deployment architecture

Usage: System Architecture documents.


12) status chart

Purpose: To describe the changes in the lifecycle of a single object.

Usage: the state of an object is large and complex.

13) brain chart: the more I used it, the better I thought about it. I used it every time I wrote an article.

Objective: To organize and organize scattered ideas.

Usage: writing articles, brainstorming by teams, and storms by individuals.

14) Fish bone chart is mainly used for root cause analysis.

In fact, there are still many graphs, such as the influence analysis diagram introduced by the tuiti blog, which is quite interesting.

Let's talk about the drawing tool below:

A) Visio. I used it most, and almost all the diagrams were painted. It was simple and convenient to use. I drew a UML diagram, it looks better than the general professional UML drawing (mainly compared with rose in the past ). I have seen a lot of beautiful UML diagrams, But I Don't Know What To use. You know, share it with me.

B) mindmanager and mindmapper. It is mainly used to draw a brain chart.

C) In addition, it is quite easy to use together to reverse generate many UML diagrams.

D) Lenovo's best4c Online drawing tool is also good. If you have time, try it.

E) If you have all the tools above, you may not necessarily draw a nice and simple graph. The most powerful tool is Google image search. You can enter "Architecture
"," Struts2 "," osgi ", and other keywords. A beautiful image appears in front of you, doubling your inspiration. I usually give technical lectures. Many figures are searched here.

Some images may not be clearly viewed. You can view them in my album, where the images are more and more comprehensive.

I hope to share with you the experience of thinking and communicating through diagrams.

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.