в предыдущей статье«4 лично проверенных и полезных инструмента разработки и рисования»середина,Читатель оставил сообщение на заднем плане и упомянул, что хочет узнать больше о Как нарисовать архитектурную схема? Автор этой статьи обсуждает цель рисования Архитектуры, какой рисунок Архитектуры является хорошим рисунком Архитектуры и как нарисовать хороший рисунок Архитектуры.,А также подробно проанализированы классификация и примеры различных картин классической Архитектуры.,Это редкая познавательная статья,Рекомендуется лайкать и собирать!
Рисование архитектурных схем — обязательная задача для архитекторов.
Вопрос о том, что такое архитектурная диаграмма, можно резюмировать следующим уравнением:
Диаграмма архитектуры = выражение архитектуры = выражение архитектуры с разных абстрактных точек зрения и на разных уровнях абстракции. Это естественный процесс.
Дело не в том, что сначала существуют диаграммы, а затем бизнес-процессы, конструкции систем, модели предметной области и т. д., а наоборот, диаграммы используются для выражения абстрактного мышления и содержания.
Картинка стоит тысячи слов.
Диаграммы архитектуры — это язык и мост для общения между различными ролями, такими как архитекторы, менеджеры по продуктам, инженеры-разработчики и инженеры по тестированию, что позволяет всей команде более эффективно координировать свою работу. Проектные чертежи предназначены не только для архитекторов. В процессе разработки продукта любое звено и роль могут завершить общение путем освоения различных проектных чертежей.
Существует как минимум несколько типов целевых пользователей архитектурных диаграмм:
Критерии качества архитектурных схем (личное мнение только для справки): Картинка стоит тысячи слов.
Конкретная реализация:
1. Смысл дизайна: четыре принципа дизайна.
Примените эти принципы к линиям, блокам и граням диаграммы.
2. Красота: использование цветового круга.
3. Красота: метод композиции золотого сечения.
4. Ощущение завершенности: дизайн, который начинается с осознания конечной цели
1) Рисуйте перед началом сложных проектов
Если вы хотите приступить к проектированию систематической и полной системы, вам необходимо уточнить состав системы с помощью диаграмм архитектуры приложений и диаграмм технической архитектуры.
2) Когда ты думаешь, что пора рисовать (сделай это)
Если проект уже на полпути, или проект завершен, но вы так и не нарисовали архитектурную схему. Итак, с этого момента приступим к рисованию. Есть поговорка: «Лучшее время посадить дерево было десять лет назад, второе лучшее время — сейчас».
«Беседы архитекторов Goose Factory: как хорошо поработать в архитектурном проектировании?» 》с разных точек зрения,Для классификации Архитектуры используются различные абстрактные точки зрения: Архитектура бизнеса, Архитектура приложений, Архитектура технологий, Архитектура кода, Архитектура данных и т. д.
Классификация с архитектурного уровня с использованием описания пирамиды, верхний уровень включает нижний уровень: уровень системы, уровень приложения, уровень модуля, уровень кода.
5.1 Общее направление диаграммы архитектуры: многоуровневость, «разделяй и властвуй», абстрактное мышление.
Горизонтальная многослойная конструкция:按照功能处理顺序рядточкаприложение,Например, положитесистематочкадля web Front-end/промежуточные услуги/backend-задачи — это подразделение, ориентированное на глубину бизнеса.
Вертикальное направление — это процесс стандартизации, связанный с разделением модулей и межуровневой унификацией:Стандартизация процесса обычно устанавливает конкретные стандарты.、Нормы и т. д., такие как управление безопасностью.、Управление качеством、Технические стандарты и спецификации、развивать Технические характеристики по эксплуатации и техническому обслуживанию и т. д.。
Абстрактное мышление:Архитектуракомпозициясерединаизслой Второсортный如何рядточка?где граница?приложение Как определить границы модуля,Как добиться высокой сплоченности,Низкая связь. Они требуют абстрактного мышления.
Существует два метода архитектурной абстракции: один — сверху вниз, другой — снизу вверх;
Из «Мышления в UML»:
5.2 Основные элементы схемы архитектуры: уровни, модули и функции
Горизонтальное наслоение и вертикальное деление модулей.
Наслоение:точкаслой Это также наше основное мыслительное оружие, позволяющее справляться со сложностями и управлять ими.,Цель — разъединиться. Разделите бизнес по уровням,Каждый уровень представляет собой независимый уровень логического модуля.,Каждый уровень ориентирован на решение проблем в определенной области. Нижний уровень более абстрактный.,начальствослой Более конкретный . Уровни должны быть логически связаны, чтобы нижний уровень обслуживал верхний уровень или обеспечивал поддержку возможностей.
Субмодули:в той же логикеслойсередина,Какие независимые модули бывают. Модуль представляет собой полный бизнес или бизнес-агрегат одного типа. Каждый модуль независим друг от друга,Также будут зависимости или отношения между модулями.
Подфункция:в том же модуле,Отдельные независимые функции,Эта функция может обозначать вход в бизнес-центр.,Простое понимание состоит в том, что это функция в модульной системе.,относительно репрезентативный,Сравнение пользователейсосредоточиться Функция на абстрактна.
Прежде чем рисовать схему архитектуры, необходимо систематически подумать обо всей бизнес-системе и составить список всех задействованных приложений, функций, систем, модулей, возможностей и платформ. Затем уточняйте, обобщайте, классифицируйте и суммируйте, затем классифицируйте и стройте вместо рамочных идей и, наконец, заполняйте конкретный контент в соответствии с размерами слоев, модулей и функций.
5.3 Детали чертежа
Общая идея:
Мы все использовали UML для рисования диаграмм классов, включающих такие отношения, как обобщение, агрегирование, комбинация, зависимость и т. д., которые выражаются различными пунктирными и сплошными линиями и стилями стрелок.
При рисовании диаграммы архитектуры необходимо учитывать ее компоненты. Чтобы обеспечить единое понимание, компоненты диаграммы архитектуры могут включать в себя:
Поддерживайте структурную и семантическую согласованность архитектурных схем:
Архитектурные диаграммы должны быть единообразными с точки зрения блоков, форм, границ, линий, цветов и т. д. Структурный вид диаграммы архитектуры должен быть одинаковым, а диаграммы архитектуры, созданные разными членами команды, не должны создавать препятствий для понимания ни одной заинтересованной стороны. В идеале во всех проектах должны использоваться одни и те же инструменты моделирования.
С семантической точки зрения все диаграммы архитектуры должны регулярно синхронизироваться с последними изменениями кода и между диаграммами архитектуры, поскольку изменения в одной диаграмме архитектуры могут повлиять на другие диаграммы архитектуры. Синхронизация может выполняться вручную или автоматически с помощью инструмента моделирования. Лучше было бы запускать автоматически через инструмент моделирования, но это тоже зависит от конкретного проекта. Конечная цель — обеспечить согласованность между диаграммой архитектуры и кодом, и вам решать, какой метод или инструмент использовать. Саймон Браун сказал: «Если диаграмма архитектуры теряет связь с кодом, ее нельзя использовать для улучшения архитектуры». Его слова фактически подчеркивали важность сохранения семантической последовательности.
Квадратная рамка, закругленная квадратная рамка, сфера, овал, закругленная квадратная рамка:
Можно обратиться к E-R Диаграмма также называется диаграммой сущность-связь.
Коробка:общее выражениеФункция сущности,может быть использован для выраженияслой Второсортный。
Закругленная квадратная коробка:
Обычно обработка、приложение Служить、Модуль спецификации процесса.
Круглый:общее выражениеточка подключения。
овал Круглый:Представляет состояние или процесс деятельности.。 Он также может представлять атрибуты модулей или сущностей.
Пунктирные и сплошные линии, стрелки:Как правило, взаимосвязь, обозначенная сплошной линией, сильнее, чем связь, обозначенная пунктирной линией.,Логическая связь. Линии или стрелки можно понимать как поток данных (например, поток данных из системы А в систему Б) или связь между элементами (например, компонент А зависит от компонента Б).
Что означает цвет?
Диаграмма архитектуры, в которой используется несколько цветов, без надлежащей документации может легко привести к недопониманию (например, почему некоторые поля зеленые, а другие красные? Почему некоторые линии черные, а некоторые синие?). Роль цвета в архитектурных диаграммах не очень велика. Добавление слишком большого количества цветов не принесет в архитектурную диаграмму более ценной информации. Архитектурная схема, использующая только черно-белую схему, должна быть понятной, если только нет абсолютной необходимости использовать определенные цвета для выделения определенных частей схемы. Во всех случаях цвета должны быть простыми, а если вам необходимо использовать несколько цветов, не забудьте добавить описание.
Бизнес-архитектура описывает реализацию всей платформы или определенного продукта с точки зрения бизнеса и продукта. Включая бизнес-планирование, бизнес-модули, бизнес-процессы, разделение бизнеса всей системы, разработку модели предметной области и преобразование реального бизнеса в абстрактные объекты.
6.1 Во-первых, установите принципы бизнес-архитектуры
Принципы бизнес-архитектуры сформулированы на основе реального бизнеса. Например, обратитесь к бизнес-платформе электронной коммерции:
(1)Волябизнес Платформизация:
(2) Разделение основного и непрофильного бизнеса. Отделите основной бизнес системы электронной коммерции от непрофильных видов деятельности, таких как основные транзакционные услуги и общие транзакционные услуги, оптимизируйте основной бизнес (способствуя стабильности) и диверсифицируйте непрофильный бизнес.
(3)Изолируйте разные типыизбизнес。
(4) Различают основной процесс и вспомогательный процесс. Необходимо четко знать, какие процессы являются основными в системе электронной коммерции, и отдавать приоритет обеспечению плавного завершения основного процесса во время выполнения. Для вспомогательных процессов можно использовать фоновый асинхронный метод, чтобы избежать сбоя в работе; вспомогательные процессы от влияния на неудачную перекомпоновку основного процесса.
6.2 Разделение модулей бизнеса/продукта, то есть диаграмма архитектуры продукта
Абстрактное разделение функциональных модулей продукта, архитектура продукта, в основном используется для объяснения того, что делает продукт и какие функции он должен иметь. После всестороннего понимания требований выполните весьма абстрактную классификацию, а затем разработайте соответствующий дизайн продукта для каждой классификации, выполняя абстрактную логическую сортировку и сортировку данных. Логика и данные, наконец, образуют организм и становятся архитектурой продукта.
Как нарисовать диаграмму архитектуры продукта?
Вот несколько примеров диаграмм архитектуры продукта:
6.3 Схема бизнес-процесса
Диаграмма бизнес-процессов, также известная как диаграмма плавательных дорожек, описывает, какие люди что делают, при каких условиях и как они связаны между собой. В основном делится на три аспекта:
Какие предметы задействованы?
Какие задачи решает каждый агент?
Как связаны между собой различные предметы? Как правило, задействовано несколько предметов, и между каждым предметом существуют связи.
Пример ключа блок-схемы с некоторыми общими символами, используемыми в диаграммах:
6.4 Блок-схема задач/функций
Диаграммы плавательных дорожек обычно стратегически анализируют весь бизнес-процесс, чтобы дать вам общее представление о бизнесе компании, тогда как диаграммы потоков задач основаны на операциях с вашим продуктом и на том, какие операции используют пользователи для достижения своих целей. Например, если вы идете в банк. Банкомат для снятия денег, как снять деньги шаг за шагом:
6.5 [Навыки рисования]
Будьте осторожны и не рисуйте разными цветами. Как правило, лучше ограничить количество цветов в изображении не более чем тремя. Поэтому, рисуя диаграмму, вы должны четко продумать, какая информация является ключевой и должна быть выделена на диаграмме бизнес-архитектуры, а какую информацию можно упомянуть вскользь.
Архитектура приложения берет на себя бизнес и технологии и представляет собой общую архитектуру для реализации всей системы: описывает логическую структуру и состав приложения, а также корреляцию и взаимодействие между различными функциональными модулями, чтобы лучше понять дизайн и реализацию приложения. .
Основное содержание:
Принципы применения:приложение Архитектурадизайнв принципеили ВОЗразвиватьв принципе。
Разбивка системы:Горизонтальный Наслоение:прозрачныйсистемаизслой Второсортный结构дизайн。Портретная функцияточкаразвязать:системакаждыйслой Второсортный Включатьиз Которыйприложение Служить。в ходе выполнениясистема耦合性демонтироватьточкачас,Баланс бизнеса и технической сложности,Гарантировано, что форма и дух останутся нетронутыми. система Какое приложение используется Архитектура,зависит от сложности бизнеса,В том числе стадия развития и бизнес-характеристики предприятия также зависят от технической сложности;,включать IT Стадия развития технологии и уровень внутреннего технического персонала. Сложность бизнеса (включая большой объем бизнеса) неизбежно приведет к технической сложности. Цель архитектуры приложений — избежать слишком сложных технологий при решении сложных задач бизнеса и обеспечить реализацию бизнес-архитектуры.
7.1 Взаимодействие между приложениями
(1) Принцип стабильности:
(2) Развязка
(3) Аннотация
(4) Ослабленная связь
(5) Отказоустойчивая конструкция
Диаграммы архитектуры приложений можно разделить на диаграммы архитектуры функций/модулей приложения и диаграммы архитектуры отдельных технологий приложений.
7.2 Схема функциональной архитектуры приложения
С точки зрения всей системы опишите логическую архитектуру всей системы.
Проще говоря, функциональная архитектура приложения должна отражать бизнес-модули и конкретные бизнес-функции приложения, а не заботиться о техническом содержании реализации приложения. Уровни приложений можно разделить по порядку функциональной обработки.
Если система более сложная, она может содержать сотни или тысячи приложений. Если все приложения отображаются на одном изображении, информации будет слишком много и слишком плотной, что может привести к нечеткости схемы архитектуры. В этом случае архитектура приложения обычно рисуется по поддоменам.
7.3 Схема архитектуры технологии единого приложения
Целью описания технической архитектуры приложения является не четкое объяснение того, какие функции имеет приложение, а разъяснение того, как каждая функция в приложении реализуется посредством многоуровневого технологического развития. Например, вам необходимо сначала определить структуру базы данных, разработать интерфейс доступа к данным, а затем написать логику бизнес-правил. Лучше всего реализовать дизайн отображения внешнего интерфейса, а затем подключить весь иерархический контент.
Таким образом, архитектура технологии приложений больше связана с техническими аспектами реализации приложений, чем с заботой о базовых ресурсах ИТ-инфраструктуры, используемых для реализации приложений. Архитектура прикладной технологии обычно не включает базовые конкретные ресурсы или платформы. Если архитектура прикладной технологии добавляет ИТ-инфраструктуру, хранилище и т. д. к нижнему уровню, она будет выглядеть невзрачной.
7.4 Временная диаграмма, также известная как диаграмма последовательности и диаграмма последовательности
Опишите каждый шаг процесса вызова между модулями приложения. Иногда процесс определенной бизнес-функции более сложен и включает в себя несколько ролей или модулей. В этом случае вы можете использовать диаграмму последовательности, чтобы разобраться в бизнес-логике. Это сделает бизнес очень понятным, и написание кода станет само собой разумеющимся.
Техническая архитектура. Определите фактически работающие компоненты, составляющие систему приложений (lvs, nginx, tomcat, php-fpm и т. д.), взаимосвязь между этими работающими компонентами и стратегию развертывания на оборудовании. Выделите техническую реализацию и сосредоточьтесь на описании ключевых технических компонентов системы, таких как многоуровневость, основные технические компоненты, методы восходящей и нисходящей связи, поток данных и т. д.
Техническая архитектура в основном учитывает нефункциональные характеристики системы и на уровне системы учитывает ее высокую доступность, высокую производительность, расширение, безопасность, масштабируемость, простоту и т. д.
Принципы проектирования технической архитектуры заключаются в следующем:
(1) Без сохранения состояния, то есть старайтесь не сохранять данные о состоянии на локальном компьютере.
(2) Многоразовый.
(3) Ослабленная связь
(4) Принцип управления
(5) Базовые услуги
Эталонная диаграмма технической архитектуры: (Уровень связи на диаграмме лучше всего называть уровнем доступа. Это типичная диаграмма технической архитектуры (в основном с упором на технические компоненты). Перечислены технические точки, задействованные на каждом уровне.
Другие соответствующие фотографии, взятые из Интернета:
Многоуровневое кодирование позволяет различным уровням кода выполнять разные действия. Четкий многоуровневый код улучшает читаемость. Из структуры кода можно примерно понять, как код состоит из слоев и каковы приблизительные функции каждого уровня. Например, обычно используемая трехуровневая структура кода Controller, Service и Mapper/Dao имеет логическую область действия кода каждого уровня.
Диаграмма архитектуры кода также включает диаграмму uml:
Архитектура данных — это архитектура хранения данных (ресурсов). Описать структуру базовой модели данных, механизмы синхронизации и резервного копирования данных и т. д.
Его принципы проектирования аналогичны принципам проектирования архитектуры приложений. При проектировании необходимо учитывать бизнес-сценарии системы. Необходимо реализовать гетерогенное проектирование данных, разделение чтения и записи базы данных и стратегии распределенного хранения данных. различные бизнес-сценарии. На рисунке ниже представлен обзор архитектуры данных в системе электронной коммерции.
Принципы проектирования архитектуры данных заключаются в следующем:
(1) Единое представление данных, то есть обеспечение своевременности, последовательности, точности и полноты данных.
(2) Принцип согласованности данных:
Уточните, какие системы допускают слабую согласованность, но требуют окончательной согласованности посредством механизмов компенсации.
(3) Разделение данных и приложений.
(4) Неоднородность данных, то есть неоднородность индекса, возникает, когда содержимое исходных данных и целевых данных одинаково, а неоднородность базы данных возникает, когда содержимое разных измерений базы данных продуктов различно (например, база данных покупателей и продавцов). база данных в данных заказа).
(5) Чтение и запись базы данных разделены.
(6) Используйте реляционную базу данных. Помимо факторов стоимости, MySQL обладает высокой масштабируемостью базы данных и высокими возможностями поддержки одновременной обработки, а также легче нанимать соответствующий персонал по исследованиям и разработкам, а также персонал по эксплуатации и техническому обслуживанию.
(7) Разумно использовать базы данных NoSQL. Когда база данных имеет возможность поддерживать это, постарайтесь не вводить кэширование. Кроме того, кэш следует рационально использовать для аварийного восстановления.
-End-