Введение в объектно-ориентированный дизайн с Java - страница 2

Шрифт
Интервал


И это подводит нас к основному различию между дизайном программного обеспечения и архитектором программного обеспечения.

Дизайнер программного обеспечения смотрит на аспекты системы более низкого уровня, тогда как архитектор программного обеспечения работает с более крупной картиной – с более высокими аспектами системы.

Подумайте об этом, как о проектировании здания.

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

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

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

И основная задача заключается в том, чтобы выяснить, чего хочет клиент, тогда можно двигаться дальше.

Потому что, если вы понимаете задачу, вы можете начать думать о возможных решениях, а затем вы начинаете понимать, как будет выглядеть общее решение.

И архитектура важна, потому что, если вы ошибетесь, ваш проект не удастся.

Все просто.

Мы знаем это в области строительства, и мы это знаем в области программного обеспечения.

Архитектура – это понимание взаимосвязи между требованиями пользователя и способностью создавать систему, которая будет обеспечивать эти требования.

При этом самая большая проблема, с которой мы сталкиваемся, – это понимание проблемы клиента.

Что он действительно хочет сделать?

И во многих случаях клиент фактически не знает, что он хочет делать. Он приходит лишь с частичным пониманием, смутным чувством, что он может сделать что-то лучше.

И одна из первых задач состоит в том, чтобы помочь ему лучше понять его проблему.

Задача архитекторов программного обеспечения – это взаимодействие между продуктом, клиентом и инженерными командами.

Архитектор программного обеспечения похож на архитектора здания. И он отвечает за общую концептуальную целостность проекта.

Возможно, вы слышали термин «объектно-ориентированное моделирование».

Что это?

При решении задачи, объектно-ориентированное моделирование включает в себя практику представления ключевых понятий через объекты в вашем программном обеспечении.