Приклади добре розроблених схем архітектури програмного забезпечення


22

Я витрачаю досить багато часу, малюючи схеми архітектури програмного забезпечення, які зазвичай складаються з варіацій на скриньках, пов'язаних зі стрілками. Хоча ці діаграми передають відповідну інформацію, вони часто залишають бажати кращого з точки зору естетики.

Деякі приклади діаграм архітектури програмного забезпечення, які демонструють це:

Я переглянув сотні інфографіки, щоб знайти натхнення, але більшість, як правило, складаються з дискретних візуальних елементів, пов'язаних лише загальною концепцією та гештальт-принципами. Нечисленні, що містять стрілки для зображення потоку, як правило, набагато простіші, ніж мої потреби.

Один (непрограмний) приклад, який я знайшов ( http://visual.ly/house-democrats-health-plan-flow-chart ) страждає (можливо, навмисно, щоб продемонструвати складність) від багатьох тих же проблем, що і вище ...

Чи є якісь приклади естетично приємних діаграм архітектури програмного забезпечення або принаймні інфографіки, які показують складні потоки процесів, які були б корисними натхненням?

введіть тут опис зображення


3
Так, схема охорони здоров’я, на яку ви посилаєтесь (та багато інших, як це), є досить ганебною та сильно критикованою ( подібний приклад ) за те, що свідомо є максимально складною та недоступною, щоб зробити політичну точку. Той факт, що він включає речі, не пов'язані з його передбачуваним повідомленням, як "Департамент оборони" та "Веб-дизайн", швидше передає це.
користувач56reinstatemonica8

@ user568458 це виглядає як "досить гарна компанія-інфографіка-спеціаліст ..." відкриває схему, показану у запитанні (а не описаному ресурсі) ...
Меттью Мердок

На жаль, я все-таки переписав ці коментарі як відповідь, згадавши кілька хороших прикладів, це посилання знаходиться приблизно на півдорозі.
користувач56reinstatemonica8

Відповіді:


25

Я не можу придумати будь-які особливо хороші діаграми архітектури програмного забезпечення, які не мали даних, які вони показують сильно спрощеними та скороченими, але ми можемо знайти деякі відповідні речі, попередньо розбивши, що таке діаграма архітектури програмного забезпечення.

Потім ми розглянемо кілька прикладів конструкцій, які вирішують подібні проблеми.


Це тип діаграми потоку / діаграми процесу з акцентом на категорії елемента / вузла. Це, в свою чергу, тип мережевої діаграми вузлів, що має додаткову спрямованість: по суті, вузли, які можуть мати категорії, і з'єднання, які можуть мати напрямок.

Все, що базується на посиланнях вузлів, може перетворитись на брудний «стрибок волосся», коли складність того, що він намагається представляти, зростає. Якщо нічого, що пропонується нижче на основі посилань на вузли, не працює - якщо питання, про яке йдеться, є занадто складним - ось стаття шановного академіка з візуалізації даних про деякі альтернативи концепції "вузла зв'язку" як бази для мережевих карт, які дослідники візуалізації даних придумали. Якщо ви можете розібратися, як адаптувати деякі з них до чогось зручного для користувача та спрямованого, ви можете стати переможцем. Але це справді важкий шлях, тільки спробуйте, якщо доведеться.


Отже, складні діаграми потоку та діаграми мережі з акцентом на напрямок / потік та категорії вузла / елемента. Перші основні принципи:

  • Зберігайте простий кожен вузол / елемент
  • Зробіть відмінності між типами елементів чіткими та простими, з чіткою ієрархією між ними
  • Зробіть потік та підключення якомога більше фонового елемента

Подумайте про співвідношення сигнал-шум (іноді його називають співвідношенням дані-чорнила в контексті інформаційної графіки): з'єднання - це візуальні путівники, а не дані, тому зробіть їх максимально тонкими, не роблячи їх менш легкими в дотриманні. Крім того, подумайте про підґрунтя : дані повинні бути предметом, на якому беруть участь у першому плані, візуальні підказки, що показують потік і категорію, повинні бути фоном, про який люди знають, але не відволікаються на них.

Перший приклад, плакат схеми рішення з типографіки (я впевнений, що деякі люди не погоджуються зі змістом ...). Використовуючи лише чорно-білі кольори, вона робить складну діаграму корисною з чіткою ієрархією між елементами:

введіть тут опис зображення введіть тут опис зображення

Дуже зрозуміло, що таке кожен елемент, використовуючи чітке, але тонке підсвічування та варіацію, що додає мінімального шуму. Ціле є складним, але кожна частина зрозуміла.

Можливі вдосконалення - загального напряму немає, тому що він рухається з середини назовні - лінії можуть мати інформацію про спрямованість, не додаючи шуму, будучи дуже маленькими тонкими пунктирними шевронами (наприклад >>>>>) замість крапок, так що ви можете почати де завгодно і подивіться, куди йти далі, не відволікаючи цих напрямків.

Ось ще один подібний приклад, коли потік рухається через ієрархію (найзагальніший> найбільш конкретний). Він перетворює безліч категорій на два типи вузла: продукти та типи, а розмір вузла говорить вам про специфіку типу. (обриси та сполучні лінії кола можуть бути набагато більш тонкими, але вони здаються зваженими, щоб доповнити тип і надати всім, крім центрального пінту скла, більш рівну текстуру). Розмір кола також подвоюється як індикація положення та потоку - ви переходите від більших до менших кіл, тому їм не потрібні інші візуальні підказки, що додають складності, такі як наконечники стріл.

Дуже багато видів пива

введіть тут опис зображення

Багато роботи, виконаної PopChartLab, є актуальною. Вони спеціалізуються на великих плакатах, на яких зображено багато взаємопов’язаних речей, і вони іноді записують свій процес. Ось їх проект, де вони справді боролися з кількістю речей, які хотіли показати . Мені особисто не дуже подобається кінцевий результат (вони наполегливо працювали, щоб приручити волосся, але кінцевим результатом все-таки є куля для волосся), але читаючи, що намагалися і що спрацювало, а що не могло допомогти.

введіть тут опис зображення

Ось приклад, який дозволяє акуратно використовувати розміщення на сторінці для відображення категорій та порядку в потоці. Для цього не потрібна яскрава кольорова гамма (що є посиланням на тему, старий логотип Apple, забарвленого у веселку). Використовуючи осі сторінки x і y таким чином, це може зберегти з'єднувальні лінії для інших типів інформації.

введіть тут опис зображення

Нарешті, як я вже згадував на початку, діаграми архітектури програмного забезпечення є прикладом мережевих карт, які є типом карти. Отже, ви можете отримати ідеї із звичайних (картографічних) карт, які також мають подібну проблему з безліччю категорій щільної, складної інформації, яка часто має зв'язки та напрямки - постійно намагаючись зупинити численні сигнали, що перетворюються на шум.

Карти Axis створюють дивовижні типографічні карти, які мають найкращі співвідношення сигнал-шум у будь-якій інформаційній графіці, яку я бачив, просто використовуючи їх мітки як речі, на яких розміщуються ярлики - потім колір і кілька тонких поворотів типограохії та проміжків для позначення категорія.

Якщо ви не заперечуєте над крайньою типографією, це, ймовірно, може бути використане для приручення діаграми, яка виходить з-під контролю. Схоже, кропітка робота, але результати приголомшливі.

введіть тут опис зображення введіть тут опис зображення


1

Хочете гарні схеми архітектури програмного забезпечення? Погляньте на такі важливі проекти з відкритим кодом, як Eclipse, Aptana, Magento, Android, Fedora тощо.

Це функціональні документи, а не маркетингові матеріали, але ці проекти часто виконуються або сприяють організаціям, які достатньо усвідомлюють бренд, щоб все-таки докласти певних зусиль у розробці своєї технічної документації.

Такі компанії, як Apple (наприклад, документація для розробників для iOS і OS X), Google (документація для App Engine і Android), IBM, Oracle і навіть виробники обладнання, такі як Intel і Nvidia, повинні мати хороші діаграми програмного забезпечення або архітектури системи, з яких можна отримати натхнення .

Веб-платформи, особливо провайдери PaaS, такі як Heroku, AWS, EngineYard, OpenShift (Redhat), Cloudbees тощо, також будуть хорошими джерелами для справді гарних архітектурних діаграм, оскільки їхні фактично частково виконують маркетингову функцію.


-1

Цікавою статтею щодо використання діаграм для архітектури програмного забезпечення є прості ескізи для діаграми вашої архітектури програмного забезпечення від Simon Brown.


2
Привіт, Франку, ласкаво просимо на GD.SE і дякуємо за твій внесок! Не могли б ви написати невеликий підсумок змісту статті? Таким чином, ваша відповідь все ще має значення, якщо посилання перерветься згодом. Спасибі! Якщо у вас є якісь питання щодо сайту, загляньте в довідковий центр або не соромтесь приєднатися до нас у графічному дизайні чату, як тільки ваша репутація дозволить вам (20). Продовжуйте сприяти і насолоджуйтесь сайтом!
Вінсент

-2

Є більше прикладів чудових діаграм Lucid Chart за адресою https://www.lucidchart.com/pages/examples/network_diagram_software


1
Ласкаво просимо до GD! Ви проти заглиблюватись у деталі чи пояснювати своє посилання? Я прошу, оскільки нові користувачі, які розміщують лише відповіді на посилання, іноді позначаються як спам та отримують зворотну інформацію. Крім того, посилайтеся лише на відповіді, якщо веб-сайт в майбутньому не працює, допоможіть відповісти на питання ОП, тому будь-яка якість, яку ви можете додати до своєї відповіді, допоможе.
DᴀʀᴛʜVᴀᴅᴇʀ
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.