Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

Guia

El valor de la difusión de la tecnología no solo se refleja en acortar el camino de la creación de aplicaciones a través de productos comerciales y proyectos de código abierto, acelerando la tasa de negocios en línea, sino también en la experiencia de excelentes ingenieros en términos de mejora de la eficiencia del trabajo, optimización del rendimiento del producto y mejora de la experiencia del usuario. Compartir para mejorar nuestras capacidades profesionales.

A continuación, las tres pinturas de expertos técnicos de Alibaba compartirán sus propios conceptos y experiencia en el dibujo de buenos diagramas de arquitectura con el equipo, y esperan poder ayudarlo.

Cuando queremos describir nuestro sistema con una o varias imágenes, a menudo nos encontramos con las siguientes situaciones:

  • ¿No puede comenzar con el lienzo, eliminarlo nuevamente?
  • ¿Cómo describir mi sistema con una imagen y hacer que los productos, las operaciones y el desarrollo sean comprensibles?
  • ¿No está claro quién es el público después de dibujar la mitad de la imagen?
  • ¿La imagen dibujada es una imagen del producto, una imagen funcional, una imagen técnica o una mezcolanza?
  • Hay algunos cuadros en la imagen, ¿quieres agregar algunos cuadros?
  • No estoy satisfecho con el diseño ...

Si tiene la misma confusión, este artículo presentará un método de dibujo para aclarar el diagrama de arquitectura.

Primero resuelva algunos conceptos básicos

1. ¿Qué es la arquitectura?

La arquitectura es una descripción abstracta de las entidades en el sistema y las relaciones entre las entidades, es una serie de decisiones.

La arquitectura es estructura y visión.

La arquitectura del sistema es la encarnación del concepto, la asignación de la correspondencia entre la función del objeto / información y los elementos formales, y la definición de la relación entre los elementos y la relación entre los elementos y el entorno circundante.

Hacer un buen trabajo es una tarea compleja y un gran tema, por lo que no lo abordaré en este artículo. Con la arquitectura en su lugar, las partes interesadas deben comprender y seguir las decisiones relevantes.

2. ¿Qué es un diagrama de arquitectura?

El diagrama de arquitectura del sistema es una vista general para representar de manera abstracta el esquema general del sistema de software y las interrelaciones y límites de restricción entre varios componentes, así como el despliegue físico del sistema de software y la dirección de evolución del sistema de software.

3. El papel del diagrama de arquitectura.

Una imagen vale más que mil palabras. Para que las partes interesadas comprendan y sigan las decisiones arquitectónicas, es necesario transmitir información arquitectónica. El diagrama de arquitectura es un buen portador. Entonces, dibujar el diagrama de arquitectura es:

  • Resolver barreras de comunicación
  • Llegar a un consenso
  • Reducir la ambigüedad

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

4. Clasificación del diagrama de arquitectura.

Recopiló mucha información, hay muchas categorías, hay una vista 4 + 1 más popular, que es la vista de escena, vista lógica, vista física, vista de proceso y vista de desarrollo.

vista de escena

La vista de escena se utiliza para describir la relación entre los participantes del sistema y los casos de uso funcionales, reflejando los requisitos finales del sistema y el diseño de interacción, generalmente representado por diagramas de casos de uso.

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

vista lógica

La vista lógica se usa para describir las relaciones de los componentes, las restricciones y los límites de los componentes después de que se desarman las funciones del software del sistema, y ​​refleja la composición general del sistema y cómo se construye el sistema. Generalmente se representa mediante diagramas de componentes UML y diagramas de clases.

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

vista física

La vista física se usa para describir la relación de mapeo entre el software del sistema y el hardware físico, y refleja cómo se implementan los componentes del sistema en un conjunto de nodos de computadora, que se usa para guiar el proceso de implementación e implementación del sistema de software.

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

vista de flujo de proceso

La vista de flujo del proceso se usa para describir la secuencia de comunicación entre los componentes del software del sistema, la entrada y salida de datos, y refleja el flujo funcional y el flujo de datos del sistema, generalmente se representa mediante un diagrama de secuencia y un diagrama de flujo.

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

vista de desarrollo

La vista de desarrollo se usa para describir la división del módulo y la composición del sistema, así como el diseño de la composición refinado al paquete interno, para servir a los desarrolladores y reflejar el proceso de implementación del desarrollo del sistema.

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

Las cinco vistas arquitectónicas anteriores representan diferentes características de un sistema de software desde diferentes ángulos, y se combinan para describir la arquitectura del sistema como un plano arquitectónico.

¿Qué tipo de diagrama de arquitectura es un buen diagrama de arquitectura?

La clasificación anterior es un resumen de la experiencia previa, y las imágenes también se toman de Internet, ¿son buenas estas imágenes? ¿Vamos a dibujar tales imágenes de acuerdo con la primicia de calabaza?

No nos preocupemos por la calidad de estos diagramas. Pensamos en la clasificación y función de estos diagramas y los resumimos. Creemos que antes de dibujar un buen diagrama de arquitectura, primero debemos aclarar su audiencia y luego pensar con claridad Qué información transmitirles, así que no dibuje una vista física para dibujar una vista física, o una vista lógica para dibujar una vista lógica, pero de acuerdo con las diferentes audiencias, la información transmitida debe expresarse con precisión en una imagen, y finalmente La figura puede estar en tales categorías. Por lo tanto, un criterio directo para la calidad del dibujo es si la audiencia ha recibido con precisión la información que desea transmitir.

Después de aclarar estos dos puntos, desde la perspectiva de la audiencia, no es necesario explicar un buen diagrama de arquitectura, debe ser autodescriptivo y debe tener consistencia y precisión suficiente para poder hacer eco del código.

Problemas comunes encontrados al dibujar diagramas de arquitectura

1. ¿Qué representa la caja?

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

¿Por qué aplicar un cuadro en lugar de un círculo, tiene algún significado especial? Usar cajas u otras formas a voluntad puede causar confusión.

2. ¿Qué significan las líneas discontinuas y continuas? ¿Qué significa la flecha? ¿Qué significa el color?

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

El uso aleatorio de líneas o flechas puede causar malentendidos.

3. ¿Conflicto entre tiempo de ejecución y tiempo de compilación? Nivel de conflicto?

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

La arquitectura es una tarea compleja, y el uso de un solo diagrama para representar la arquitectura puede causar fácilmente una confusión semántica inexplicable.

El método de dibujo recomendado en este artículo.

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

El modelo C4 utiliza contenedores (aplicaciones, almacenamiento de datos, microservicios, etc.), componentes y código para describir la estructura estática de un sistema de software. Este tipo de imágenes son relativamente fáciles de dibujar, y también se dan los puntos principales del dibujo, pero lo más importante es que creemos que indica claramente la posible audiencia y el significado de cada tipo de imagen.

El siguiente caso proviene del sitio web oficial de C4, y luego agrega algo de nuestra comprensión para ver cómo expresar mejor la arquitectura del software

1. Diagrama de contexto

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

Este es un sistema imaginario de banca por Internet que se construirá. Utiliza un sistema bancario externo de mainframe para acceder a las cuentas de los clientes y la información de las transacciones, y envía correos electrónicos a los clientes a través de un sistema de correo electrónico externo. Se puede ver que es muy simple y claro. Creo que no se requiere ninguna explicación, y todos se entienden claramente. Contiene el sistema en sí que necesita ser construido, los clientes del sistema y los sistemas periféricos que interactúan con este sistema.

uso

Un diagrama tan simple puede decirnos qué debe construir el sistema, quiénes son sus usuarios, quién lo usará y cómo se ajustará al entorno de TI existente. La audiencia de esta imagen puede ser personal interno del equipo de desarrollo, personal técnico externo o no técnico. Eso es:

  • ¿Cuál es el sistema construido?
  • ¿Quién lo usará?
  • Cómo integrarse en el entorno de TI existente

Cómo dibujar

En el medio está su propio sistema, rodeado de usuarios y otros sistemas interactivos. La clave de este diagrama es ordenar los usuarios y las dependencias de alto nivel del sistema que se va a construir. Solo toma unos minutos ordenar el dibujo.

2. Diagrama de contenedores

El mapa de contenedores es una expansión del sistema que se construirá en el mapa de contexto.

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

En la imagen de arriba, además de los usuarios y los sistemas periféricos, el sistema a construir incluye una aplicación web basada en java \ spring mvc para proporcionar la entrada de funciones del sistema, una aplicación móvil basada en la arquitectura xamarin proporciona la entrada de funciones del terminal móvil, y una aplicación api basada en java proporciona servicios , Se utiliza una base de datos mysql para el almacenamiento, y la interacción entre las diversas aplicaciones se escribe en la línea de flecha.

Al mirar esta imagen, no prestaré atención a si es una caja rectangular o una caja redondeada, si es una flecha sólida o una flecha punteada, e incluso la dirección de la flecha no atrae demasiada atención.

Tenemos muchas formas de dibujar, todas las cuales definen el significado de cuadros y líneas. Esto requiere que la persona que dibuja la imagen y la persona que mira la imagen entienda claramente estas definiciones para leer la información en la imagen completa. La realidad es que esto es a menudo Es un requisito muy alto, por lo que muchas imágenes solo pueden ver un significado aproximado.

uso

La audiencia para esta imagen puede ser desarrolladores dentro o fuera del equipo, o puede ser una persona de O&M. Los usos se pueden enumerar como:

  • Muestra la forma general del sistema de software.
  • Refleja decisiones técnicas de alto nivel.
  • Cómo se distribuyen las responsabilidades en el sistema y cómo interactúan los contenedores
  • Dile a los desarrolladores dónde escribir código

Cómo dibujar

Representado por un diagrama de bloques, lo interno puede incluir nombres, opciones técnicas, responsabilidades y la interacción entre estos diagramas de bloques. Si hay sistemas externos involucrados, es mejor definir los límites.

3. Diagrama de componentes

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

El diagrama de componentes es expandir un contenedor y describir sus módulos internos.

uso

Este diagrama es principalmente para desarrolladores internos, cómo organizar y construir el código. Sus usos son:

  • Describe en qué componentes / servicios se compone el sistema
  • Se aclaró la relación y las dependencias entre los componentes.
  • Proporciona un marco sobre cómo el desarrollo de software desglosa la entrega.

4 、 类 图 (Código / Diagrama de clase)

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

Esta imagen es obviamente para personal técnico, es más común, por lo que no la presentaré en detalle.

Caso compartido

El siguiente es el diagrama de arquitectura de una herramienta interna de datos en tiempo real. Como diagrama arquitectónico que debería describirse a sí mismo, no explicaré mucho aquí. Si hay algo que no puede entender, debe ser que la pintura no es lo suficientemente buena.

 

Los expertos técnicos de Alibaba tienen tres pinturas y seis años de experiencia de trabajo en equipo para enseñarle a dibujar un buen diagrama de arquitectura

 

 

Puede haber muchas metodologías para dibujar el diagrama de arquitectura. Este artículo presenta principalmente el método de C4, y la teoría de C4 está en constante evolución. Pero no importa qué método de dibujo se use, volvemos a la intención original de dibujar y a una mejor comunicación. No tenemos que estar restringidos por el marco en el proceso de dibujo. En resumen, piénselo antes de pintar: a quién dibujar, ver qué, cómo entender sin explicación.

Sobre el autor: Tres pinturas, expertos técnicos de Alibaba, Zi Jing, Peng Sheng y Yu Le también contribuyeron a este artículo. Tres pinturas se han dedicado a la investigación y el desarrollo de motores de flujo de trabajo durante muchos años, y ahora se centran en la arquitectura y el desarrollo de aplicaciones de Internet móvil altamente concurrentes, y los colaboradores de este artículo son del departamento de comunicación minorista de Alibaba.

Materiales de referencia:

Sitio web oficial de C4: https://c4model.com/

¿Por qué necesita un diagrama de arquitectura de software?

https://www.infoq.cn/article/GhprrUlOYyOqS8*FR1pH

Libros: "Los programadores deben leer la arquitectura del software"

Los expertos técnicos de Alibaba P7 hablan sobre cómo mejorar la competitividad de los ingenieros de Java que han trabajado durante 1-5 años

Los programadores de Java necesitan el conocimiento arquitectónico necesario para ingresar a la gran fábrica: K8S + Nginx + SB + SC + docker

 

 

238 artículos originales publicados · Me gusta 68 · Visitas 30,000+

Supongo que te gusta

Origin blog.csdn.net/qq_45401061/article/details/105161980
Recomendado
Clasificación