❗️Архитектура ПО (Software Architecture) - Описывает как приложение строится включая его  компоненты, как они взаимодействуют друг с другом, окружение в котором они работают.

❗️Архитектор ПО (Software Architect) -  Эксперт в программном обеспечении который строит дизайн высокоуровневых компонентов, учитывая технические стандарты, инструменты, архитектурные принципы и платформы которые будут использованы.

Для лучшего понимания термина скажу, что слово «архитектор» происходит от древнегреческого слова arkitekton, ἀρχι- (archi-, «главный») + τέκτων (téktōn, «строитель»). Архитектор ПО - главный строитель ПО.

👉Архитектура программного обеспечения - это решения, а не структура.

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

👉Архитектура - это навык. Архитектор - это не роль.

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

👉Архитектура означает постоянное исследование.

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

❗️Архитектура ПО (Software Architecture) - 
Описывает как приложение строится включая его  компоненты, как они взаимодействуют друг с другом, окружение в котором они работают | Сетка — новая социальная сеть от hh.ru
repost

530

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь