Paso bastante tiempo dibujando diagramas de arquitectura de software que generalmente consisten en variaciones en cuadros conectados con flechas. Si bien estos diagramas transmiten la información relevante, a menudo dejan mucho que desear desde la perspectiva de la estética.
Algunos ejemplos de diagramas de arquitectura de software que demuestran esto:
- http://applicationarchitecture.files.wordpress.com/2011/06/f0039-component-diagram-complete-component-model.png
- http://applicationarchitecture.files.wordpress.com/2010/03/f0022-sample-network-diagram.png
He rastreado cientos de infografías para encontrar inspiración, pero la mayoría tienden a consistir en elementos visuales discretos relacionados solo por el concepto general y los principios de gestalt. Los pocos que contienen flechas para representar algún tipo de flujo tienden a ser mucho más simples que mis necesidades.
El único ejemplo (que no es de software) que he encontrado ( http://visual.ly/house-democrats-health-plan-flow-chart ) sufre (quizás deliberadamente para demostrar complejidad) debido a muchos de los mismos problemas que los anteriores ...
¿Existen ejemplos de diagramas de arquitectura de software estéticamente agradables, o al menos infografías que muestren flujos de procesos complejos que serían una inspiración útil?
fuente
Respuestas:
No puedo pensar en diagramas de arquitectura de software especialmente buenos que no hayan tenido los datos que muestran muy simplificados y reducidos, pero podemos encontrar algunas cosas relevantes desglosando primero qué es un diagrama de arquitectura de software.
Luego, veremos algunos ejemplos de diseños que abordan desafíos similares.
Es un tipo de diagrama de flujo / diagrama de proceso con un enfoque en categorías de elemento / nodo. Eso a su vez es un tipo de diagrama de red de enlace de nodo, con direccionalidad adicional: esencialmente, nodos, que pueden tener categorías, y conexiones, que pueden tener dirección.
Cualquier cosa basada en enlaces de nodos puede convertirse en una 'bola de pelo' desordenada cuando aumenta la complejidad de lo que está tratando de representar. Si nada de lo sugerido a continuación basado en enlaces de nodo funciona, si la cosa en cuestión es demasiado compleja, aquí hay un artículo de un respetado académico de visualización de datos sobre algunas alternativas al concepto de "enlace de nodo" como base para mapas de red que los investigadores de visualización de datos se les ocurrió. Si puede encontrar la manera de adaptar algunos de estos en algo fácil de usar y direccional, podría ser un ganador. Pero esa es la forma realmente difícil de hacerlo, solo inténtalo si es necesario.
Entonces, diagramas de flujo complejos y diagramas de red con énfasis en dirección / flujo y categorías de nodo / elemento. Primeros principios básicos:
Piense en la relación señal-ruido (a veces llamada relación datos-tinta en el contexto de los gráficos de información): las conexiones son guías visuales, no datos, por lo tanto, hágalos lo más sutiles posible sin que sean menos fáciles de seguir. También piense en la figura de fondo : los datos deben ser lo que se atiende en primer plano, las señales visuales que muestran el flujo y la categoría deben ser el fondo del que las personas son conscientes pero no se distraen.
Primer ejemplo, un póster de diagrama de flujo de decisión de tipografía (estoy seguro de que algunas personas no estarán de acuerdo con el contenido ...). Usando solo blanco y negro, hace que un diagrama complejo sea utilizable con una clara jerarquía entre elementos:
Es muy claro qué es cada elemento, utilizando luces y variaciones claras pero sutiles que agregan un ruido mínimo. El todo es complejo pero cada parte es clara.
Posibles mejoras: no hay una dirección general, ya que va desde el medio hacia afuera, las líneas podrían tener información direccional sin agregar ruido al ser galones sutiles muy pequeños (como >>>>>) en lugar de puntos, por lo que podría comenzar en cualquier lugar y Vea a dónde ir después sin que esas indicaciones le distraigan.
Aquí hay otro ejemplo similar donde el flujo se mueve a través de una jerarquía (más general> más específico). Convierte muchas categorías en dos tipos de nodo: productos y tipos, y el tamaño del nodo le indica la especificidad del tipo. (los contornos del círculo y las líneas de conexión podrían ser mucho más sutiles, pero parecen haber sido ponderados para complementar el tipo y dar a todo, excepto el vidrio central de pinta, una textura más uniforme). El tamaño del círculo también se dobla como una indicación de posición y flujo: se pasa de círculos más grandes a más pequeños, por lo que no necesitan ninguna otra señal visual que agregue complejidad como puntas de flecha.
Los muchos tipos de cerveza.
Gran parte del trabajo realizado por PopChartLab es relevante. Se especializan en grandes carteles que muestran muchas cosas interconectadas, y a veces escriben su proceso. Aquí está su reseña de un proyecto en el que realmente lucharon con la cantidad de cosas que querían mostrar . Personalmente, no me gusta mucho el resultado final (trabajaron duro para dominar la bola de pelo, pero el resultado final sigue siendo una bola de pelo), pero leer lo que intentaron y lo que funcionó y lo que no pudo ayudar.
Aquí hay un ejemplo que hace un uso ordenado de la ubicación en la página para mostrar las categorías y el orden en el flujo. No necesita el esquema de color llamativo llamativo (que es una referencia al tema, el antiguo logotipo de color arcoíris de Apple). Usar el eje x e y de la página de esta manera significa que puede guardar las líneas de conexión para otros tipos de información.
Finalmente, como mencioné al principio, los diagramas de arquitectura de software son un ejemplo de mapas de red, que son un tipo de mapa. Por lo tanto, puede obtener ideas de mapas regulares (cartográficos), que también tienen un problema similar de muchas categorías de información densa y compleja que a menudo tiene conexiones y dirección, tratando constantemente de evitar que sus muchas señales se conviertan en ruido.
Axis Maps produce sorprendentes mapas tipográficos que tienen algunas de las mejores relaciones señal-ruido de los gráficos de información que he visto, simplemente usando sus etiquetas como las etiquetas de las etiquetas, luego el color y algunos giros sutiles de tipografía y espaciado para indicar categoría.
Si no le importa una tipografía extrema, esto probablemente podría usarse para domar un diagrama de flujo que se estaba saliendo de control. Parece un trabajo minucioso, pero los resultados son impresionantes.
fuente
¿Quieres bonitos diagramas de arquitectura de software? Busque proyectos de código abierto de alto perfil como Eclipse, Aptana, Magento, Android, Fedora, etc.
Estos son documentos funcionales, no materiales de marketing, pero estos proyectos a menudo son ejecutados o contribuidos por organizaciones que son lo suficientemente conscientes de la marca como para poner un esfuerzo en diseñar su documentación técnica.
Las empresas como Apple (p. Ej., Documentación del desarrollador para iOS y OS X), Google (documentación para App Engine y Android), IBM, Oracle e incluso fabricantes de hardware como Intel y Nvidia deberían tener buenos diagramas de software o arquitectura de sistemas de los que pueda inspirarse. .
Las plataformas web, especialmente los proveedores de PaaS, como Heroku, AWS, EngineYard, OpenShift (Redhat), Cloudbees, etc., también serían buenas fuentes para diagramas de arquitectura realmente atractivos, ya que en realidad cumplen una función de marketing.
fuente
Un artículo interesante sobre el uso de diagramas para la arquitectura de software es Simple Sketches for Diagramming your Software Architecture de Simon Brown.
fuente
Hay más ejemplos de diagramas excelentes de Lucid Chart en https://www.lucidchart.com/pages/examples/network_diagram_software
fuente