Статьи о строительстве и архитектуре, новости компании

Архитектурное решение

Дата

Архитектурное решение

Архитекту́рное реше́ние (архитектурные решения, АР) — часть проектной работы, направленной на создание документации для производства строительных работ. Архитектурное решение здания (архитектура здания) — авторский замысел объекта с комплексным решением функциональных, конструктивных, и эстетических требований к нему, а также социальных, экономических, санитарно-гигиенических, экологических, инженерно-технических аспектов, зафиксированных в архитектурной части документации для строительства (проекта) и реализуемые при строительстве. Главными разделами являются архитектурно-художественные, архитектурно-планировочные и конструктивные решения [1] .

Архитектурное решение или архитектурный раздел отвечает за общие визуальные и функциональные характеристики проектируемого сооружения, планировочную схему и эргономику. В комплект проектной документации, наряду с архитектурным разделом входят также:

  • конструктивный раздел
  • инженерный раздел
  • смета

Страница не найдена

Статьи от компании Домамо. Индивидуальное и типовое проектирование от квалифицированных дизайнеров и архитекторов. Онлайн заказ и оплата проектов с бесплатной доставкой по России.

Список подрядчиков компании Домамо в Вашем регионе. Готовые проекты домов и коттеджей. Индивидуальное и типовое проектирование. Онлайн заказ и оплата проектов с бесплатной доставкой по России.

©Domamo 2015-2024

Москва и Московская область

Почему не надо самореализовываться в формате документа

Еще раз про велосипеды

Архитектурное решение — стандартный документ. Не стоит начинать изготовление АР с попытки придумать свой вариант шаблона. Да, творческим людям, коими являются программисты и аналитики, свойственно изобретать что-то своё уникальное. Именно оно кажется наиболее подходящим здесь и сейчас. С опытом мы учимся меньше изобретать «велосипеды», начинаем больше использовать чужой опыт. Предложенный шаблон АР — это многолетний опыт департамента архитектуры приложений БКС. Шаблон «вылизывали» годами, и он готов к использованию как есть. А комментарии помогут понять, зачем каждый раздел появился в документе и как его заполнить. Постарайтесь заполнить все, что от вас требует шаблон. Во-первых, это поможет вам правильно структурировать своё собственное понимание задачи и задать себе необходимые вопросы. Во-вторых, это облегчит чтение документа, а значит его согласование. Облегчит потому, что тем, кому приходится читать много подобных документов, хочется найти все на своих местах, а не рыться в очередном «творении».

Представьте, что в вашем шкафу с инструментами кто-то каждый день все перекладывает. Жизнь сразу станет насыщенней, да? Так вот, этот шаблон – наш шкаф с инструментами, в котором мы заботливо разложили все по полочкам, и ждем, что так и будет, когда вернемся к нему в следующий раз.

Далее идет шаблон. Точнее, текст инструкции по его заполнению. Сам шаблон оформляется в виде шаблона Confluence. Пояснения в нем намного короче и оформляются в виде «инструкций», которые исчезают в сохраненном документе. Шаблон в виде файла можно найти здесь.

Чек-лист «Проектирование интеграции решения»

Рисовать буду по такой задаче:

  • Клиент звонит в контакт-центр (КЦ) банка, чтобы узнать информацию по счету.
  • Оператор КЦ заходит в приложение «Единое окно КЦ», находит необходимый счет и дает ответ на вопрос клиента.

Простой бизнес процесс, но у заказчика вопросы: а сколько будет стоить разработка, к каким командам нужно сходить?

1️⃣ Определяю сценарии использования (use case)

Use case (в переводе с англ. «вариант использования») — содержит, какие действия выполняет пользователь, и как система должна на них реагировать.

В моей задаче я выделила 2 use case:

Use case #1. Оператор контакт‑центра открывает приложение «Единое окно КЦ» и отвечает на вопрос клиента по счету.

  1. Оператор КЦ ищет карточку клиента.
  2. Оператор КЦ из карточки клиента находит информацию о его счетах.
  3. Оператор КЦ находит информацию по конкретному счету.

Use case #2. Администратор приложения просматривает данные о работе системы при разборе инцидента.

2️⃣ Определяю пользователей (user)

В моей задаче участвуют два вида пользователей:

  1. Оператор КЦ.
  2. Администратор приложения.

Определение пользователей важно, потому что позволяет понять, какие данные могут потребоваться для выполнения use case.

Ура! Появились первые элементы на диаграмме.

Рисунок 2. Пользователи. Диаграмма модели C4 1 уровня

3️⃣ Определяю потоки данных

Оператору КЦ нужно видеть информацию о клиенте и данные о его счетах. Администратору необходимы знания, что оператор КЦ делал в системе, чтобы проанализировать почему произошла ошибка. Также будут полезны технические логи работы приложения.

Рисунок 3. Потоки данных. Диаграмма модели C4 1 уровня

4️⃣ Определяю системы

Данные понятны, теперь занимаюсь поиском места, откуда их можно получить или куда передавать. Эта самая сложная часть задачи, так как здесь требуются знания IT-ландшафта банка, архитектурных паттернов, принятых внутри компании.

На этом шаге могут появиться несколько решений, так как сроки реализации и желание команд не всегда совпадает с потребностями заказчика.

А теперь порисуем и добавим красок нашей диаграмме — легенду.

В легенде есть три цвета:

  • новое — зеленое;
  • изменяемое — фиолетовое;
  • неизменяемое — красное.

Это позволит командам сразу оценивать доработки.

Рисунок 4. Диаграмма модели C4 1 уровня

5️⃣ Детализирую диаграмму

А если система огромная и за ее функциональность отвечают несколько команд?

В таком случае я детализирую диаграмму, используя модель С4 2 уровня — Container diagram (прим. нотация схемы адаптирована под заказчиков и команды разработки банка). Эта диаграмма показывает детализацию внутри основной системы — модули (функционально-логические части системы).

Это помогает увеличить точность оценки и привлечь к оценке все команды.

В нашей задаче детализировать требуется приложение «Единое окно КЦ». Нам потребуется создать два новых модуля по клиентам и счетам и доработать основное приложение.

Рисунок 5. Диаграмма модели C4 2 уровня

Для отрисовки использую инструмент draw.io.

Журнал архитектурных решений (ADL) при проектировании информационных систем

Для сложных информационных систем бывает крайне сложно принять компромиссные решения с учетом ограниченных ресурсов. Одним из возможных способов решения является подход Architecture Description Log, который внедрен в крупных компаниях, таких как Google, Spotify и Microsoft. В этой статье мы рассмотрим основные положения ADL и обсудим, чем это может быть полезно для создания сбалансированной архитектуры в гибкой методологии разработки.

Независимо от выбранной модели управления разработкой, особенно в гибких методологиях, редко выделяется отдельный этап для проектирования архитектуры систем и архитектурные решения часто принимаются непосредственно в процессе разработки или рефакторинга и через некоторое время даже системный архитектор не знает, как действительно реализована информационная система, где остался технический долг, какие архитектурные компоненты требуют переработки в будущем или могут стать узким местом при масштабировании системы. Основная идея ADL состоит в сохранении в общем документе (либо это может быть единая база знаний, например Confluence или Wiki) принятых архитектурных решений, при этом дополнительно отмечаются возможные альтернативы, обоснование выбора именно этого решения, возможные сильные и слабые стороны реализации архитектурного решения.

ADL позволяет ускорить погружение новых членов команды в проект, поскольку содержит релевантную информацию о текущем состоянии архитектуры системы. Также ADL может использоваться для анализа ранее рассмотренных технологических или архитектурных решений, чтобы сэкономить время в будущем.

Запись ADL (Architecture Decision Record, далее ADR) может храниться непосредственно в git-репозитории, поскольку может быть представлена документом с простой разметкой (AsciiDoc, Markdown и др.). ADR могут версионироваться и связываться отношением зависимости и переопределения устаревшего документа. Для работы с ADR можно использовать этот набор инструментов командной строки, который позволяет создавать инициализировать каталог с ADR в репозитории проекта (adr init) и создавать новые ADR (adr new).

  • Название содержит короткую фразу, описывающую архитектурные решения.
  • Статус может быть:
    • Предлагается (рассматривается)
    • Принято (одобрено и готово к внедрению)
    • Заменено (заменено другим решением)

    Хороший ADR должен обладать следующими характеристиками:

    • Рациональный: должны быть указаны причины выбора именно этой альтернативы, плюсы и минусы различных потенциальных вариантов, сравнение функций, обсуждение затрат и выгод и многое другое.
    • Конкретика: каждый документ ADR должно содержать только одно принятое решение (например, выбор технологии разработки кроссплатформенных мобильных приложений).
    • Временные метки: определяют, когда вносятся дополнения в документ ADR. Это особенно важно для аспектов, которые могут меняться со временем, таких как затраты, графики, масштабирование и тому подобное.
    • Неизменяемый: нельзя изменять существующую информацию в документ ADR. Вместо этого можно вносить изменения в ADR через добавление новой информации (например, новых графиков, таблиц и факторов, подтверждающих выдвинутую гипотезу, а также можно интегрировать динамическую ссылку для просмотра оперативных данных в реальном времени), или можно заменить ADR на новый, при этом указав ссылку на предыдущую версию документа.

    Ответственным за создание ADR-документа является команда, которая владеет архитектурным компонентом или процессом. Сама по себе организация работы над документом помогает коммуникации в команде, выработке обоснованных архитектурных решений, пониманию долгосрочных последствий выбранного решения и, при необходимости, предоставляет возможность откатиться на точку принятия решения и выбрать другую альтернативу, если обозначенные негативные последствия реализовались или возникла критическая проблема, которая требует пересмотра архитектуры системы.

    Также важно обеспечить актуальность ADR, однако сделать это автоматически с использованием инструментов кодогенерации может быть сложно, так как этот документ не является техническим описанием (как, например, документация по API или иерархия классов, которая может быть создана на основе исходного кода), но скорее должен стать площадкой для дискуссий между разработчиками, архитекторами и бизнесом, в которой принимаются и фиксируются архитектурные решения.

    С помощью чего можно составлять ADR? Для создания не требуется никаких специальных инструментов, однако можно использовать готовые шаблоны:

    • Шаблон ADR от Майкла Найгарда (простой и популярный)
    • Шаблон ADR Джеффа Тайри и Арта Акермана (более сложный)
    • Шаблон ADR для александрийского шаблона (простой с учетом специфики контекста)
    • Шаблон ADR для бизнес-кейса (более ориентированный на MBA, с затратами, SWOT и большим количеством мнений)
    • Шаблон ADR MADR
    • Шаблон ADR с использованием Planguage (более ориентированный на обеспечение качества)

    Также можно использовать специальные инструменты для навигации по набору ADR, например AdrViewer или AdrLog.

    Полезный опыт внедрения ADR можно посмотреть в публикации Spotify, AWS, Redhat и Github.

    В завершение рекомендую открытый урок в OTUS, на котором участники рассмотрят архитектурное свойство «Сопровождаемость» на примере соответствующих сервисов k8s: Pod, Deployment, ReplicaSet. Записаться можно на странице курса Software Architect.

    Архитектурное решение

    Размер шрифта

    Цвет фона и шрифта

    Изображения

    Озвучивание текста

    Обычная версия сайта

    Заказать звонок

    E-mail

    Адрес

    г. Москва, Люсиновская ул., д. 53, к. 2

    Режим работы

    Пн. – Пт.: с 9:00 до 19:00

    Подать заявку

    • Экспертиза балкона
    • Экспертиза деревянных конструкций
    • Экспертиза дорожного покрытия
    • Экспертиза железобетонных конструкций
    • Землеустроительная экспертиза
    • Экспертиза инженерных коммуникаций
    • Экспертиза капитальности объекта
    • Экспертиза квартиры
    • Экспертиза кровли и крыши
    • Экспертиза металлоконструкций
    • Экспертиза недвижимости перед покупкой
    • Экспертиза общедомовых помещений
    • Экспертиза объектов культурного наследия
    • Экспертиза паркингов и машино-мест
    • Экспертиза пластиковых окон
    • Экспертиза подвальных помещений
    • Экспертиза полов и напольных покрытий
    • Приемка квартиры в новостройке
    • Экспертиза ПД и РИИ
    • Экспертиза проектной документации
    • Экспертиза ремонта квартиры
    • Рецензия на строительно-техническую экспертизу
    • Экспертиза самовольной постройки
    • Экспертиза сметной документации
    • Экспертиза строительных конструкций
    • Экспертиза фасада
    • Экспертиза фундамента
    • Экспертиза частного дома перед покупкой
    • Архитектурно-градостроительное решение (АГР)
    • Заключение о соответствии объекта (ЗОС)
    • Градостроительный аудит
    • Обследование аварийных зданий и сооружений
    • Осбледование бетонных и железобетонных конструкций

    Источники:

    https://dic.academic.ru/dic.nsf/ruwiki/77173&rut=b731485d2ddf5ce9e8eea00cb52ba17dfe959d59fcb174f02a6a320487f709d2
    https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82&rut=76c75270b9a06138d184e43ba995861203be47a8ddc7ba6d3bc5fda763c0a081
    https://www.domamo.ru/articles/baza-znaniy/arhitekturniy-proekt/&rut=fdffc5f01b40fffae3fb9f9715d6a38a8021df583b46882c3899885577a74c14
    https://habr.com/ru/companies/bcs_company/articles/651765/&rut=f3b3d9c330605244516b48a743ae74908a8be4ae87ab010852a124950853274e
    https://habr.com/ru/companies/alfa/articles/770184/&rut=0fd5cac651de877bee564dd67a9a120953803b727ef93920952b8db371e63025
    https://habr.com/ru/companies/otus/articles/720314/&rut=1f00080583bb1ef28d44496cba9f97343c2089299a01a044137a46e40ae50e8c
    https://bigenc.ru/c/arkhitekturnoe-reshenie-legal-naia-definitsiia-d5b5f5&rut=2a887e05fdd2de046963230aa971810bc403bd42e26d3c59c87e1178752c8ac5
    https://www.pgs.expert/uslugi/proektirovanie/arkhitekturnye-resheniya/&rut=9596f8bcd8cd66462bb78a75808f7920b57da5a888422ed26c93419963dcb7c6
    https://www.wikiwand.com/ru/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE%D0%B5_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5&rut=a43b493abe7e3504c687efd9e066fe0256c32c0749b05c5771c9312e86a4268a