Архитектура программного обеспечения
Строительство любого, мало-мальски сложного, дома, начинается с фундамента. От того насколько правильно и качественно будет выполнен этот шаг, зависит и вся дальнейшая судьба всего здания. Тот же принцип верен и при разработке программного обеспечения. Грамотная архитектура программного обеспечения – это база дальнейшего успешного существования программы. Ошибки на этом этапе исправлять крайне трудно, дорого, а порой и невозможно. Поэтому, мы с вами как программисты должны думать не только о самом программировании как токовом, но и о том из каких кирпичиков-элементов состоит наше приложение.
Многие люди не полностью понимают разницу между архитектурой программного обеспечения и дизайном программного обеспечения. Даже для разработчиков, черта, отделяющая одно от другого, часто размывается, и они могут смешивать элементы шаблонов архитектуры программного обеспечения и шаблонов проектирования. Как разработчик, я хотел бы упростить эти концепции и объяснить различия между дизайном программного обеспечения и архитектурой программного обеспечения. Кроме того, я покажу вам, почему важно, чтобы разработчик знал немного об архитектуре программного обеспечения и, намного больше о его разработке. Итак, начнем.
Определение архитектуры программного обеспечения
Проще говоря, создание архитектуры программного обеспечения - это процесс преобразования характеристик программного обеспечения, таких как гибкость, масштабируемость, выполнимость, повторное использование и безопасность, в структурированное решение, отвечающее техническим и бизнес ожиданиям. Это определение приводит нас к вопросу о характеристиках программного обеспечения, которое может повлиять на дизайн архитектуры программного обеспечения. В дополнение к техническим требованиям существует длинный список характеристик, которые, в основном, представляют бизнес интерес или эксплуатационные требования.
Характеристики архитектуры программного обеспечения
Как сказано выше, характеристики программного обеспечения описывают требования и
ожидания от программного обеспечения на операционном и техническом уровнях.
Таким образом, когда владельцы продукта говорят, что они конкурируют с другими
компаниями на быстро меняющихся рынках, они должны быстро адаптировать свою
бизнес-модель, предъявляя специальные требования к характеристикам ПО.
Программное обеспечение должно быть «расширяемым, модульным и поддерживаемым»,
если бизнес занимается срочными запросами, которые необходимо успешно завершить
в течение ограниченного времени. Как разработчик программного обеспечения, вы
должны заметить, что ваши ключевые характеристики - производительность и
высокая отказоустойчивость, масштабируемость и надежность. И после всего,
владелец бизнеса может сказать вам, что у него ограниченный бюджет для этого
проекта. В этом случае появляется другая характеристика, которая называется
«выполнимостью».
В Интернете вы можете найти полный список характеристик программного
обеспечения, также известный как «атрибуты качества ПО».
Шаблоны архитектуры программного обеспечения
Вы, вероятно,уже слышали о терминах «Микросервисы» (MicroServices). Они является одним из видов моделей архитектуры программного обеспечения, таких как Layered Pattern, Event-Driven Pattern, Serverless Pattern и многие другие. Некоторые из них будут рассмотрены далее в этой статье. Модель Microservices получила распространение после того, как была принята компаниями Amazon и Netflix и продемонстрировала большое удобство.
На этом пока все. А в последующих статьях мы углубимся в шаблоны архитектуры ПО.
Всего доброго!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.