Виды архитектур в процессе разработки ПО
Недавно довелось мне читать книгу по системному и бизнес анализу, в которой я наткнулась на краткое описание существующих видов архитектур IT. Пораскинув мозгами пару дней, я составила для себя достаточно целостную картину видов этих архитектур и связей между ними.
Но основная интрига заключается в том, что все эти архитектуры ложилась в стройный life cycle:
- Business Architecture. В первую очередь, предже чем мы что-то разрабатываем, мы задумываемся над тем, «а что же надо получить», «какие проблемы должны быть решены», «что же нужно автоматизировать». Ответы на эти вопросы можно получить в процессе составления Business Architecture. В этот момент практически не играет роли, какие технологии будут использоваться. Самое важное — очертить круг логик, которые нужно автоматизировать
- Information Architecture. После того, как мы определили границы нужных нам логик (границы системы) в процессе составления Business Architecture, мы выделяем сущности, их структуру и взаимосвязи.
- Technology Architecture. На основе установленных бизнес логик, правил и требований из Business Architecture, принимаются решения: посредством каких технологий и технологических процессов можно обеспечить автоматизацию нужных бизнес процессов.
- Solution Architecture (оно же System, оно же Application). Непосредственно реализация смеси всех вышеописанных абстракций. На данной ступени можно выделить составляющие: a) Data Architecture — описывает реализацию структур данных и их логические связи, b) Software Architecture — описывает программные компоненты и связи между ними.
Например, схема базы данных или объектная модель — относятся к Data Architecture. А тонкости реализации паттерна MVC в конкретном проекте — можно отнести к Software Architecture.
Если посмотреть на все эти Architectures, то можно заметить, что каждая последующая Architecture — это реализация предыдущей Architecture на следующем более низком уровне абстракции.
Что ещё интересно — так это явное разделение зон ответственности за виды архитектур между Системным Аналитиком и Системным Архитектором. Аналитик собирает информацию (Business Architecture) и систематизирует её (Information Architecture). Архитектор, используя работу Аналитика, решает, какие технологии он готов применить (Technology Architecture) и как именно в рамках этих технологий будут реализованы те или иные логики (Solution Architecture).
И в довершение, если вы хотите окончательно сломать мозг — вам сюда.
13 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів