Архитектор, создающий архитектуру

Архитектор создает архитектуру совместно с другими разработчиками. Они работают,

создавая систему, которая будет иметь высокую производительность и высокое

качество, будет высоко функциональной, тестируемой, дружественной

к пользователю, надежной, постоянно доступной, точной, расширяемой, устойчивой

к изменениям, разумной, легкой в обслуживании, переносимой, безопасной,

защищенной и экономичной. Они знают, что доллсны существовать в пределах этих

ограничений и как-то делать выбор между ними. Поэтому и существует архитектор.

Архитектор имеет самую высокую степень технической ответственности

в этих вопросах. Он выбирает между образцами архитектуры и существующими

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

Разделение интересов здесь означают создание такого проекта, в котором изменения

в одной из подсистем не откликаются еще в нескольких.__

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

из способов, возможных при текущем состоянии технологии, по доступной

для приложения цене, другими словами, иметь возможность рентабельно осуществить

функциональные возможности приложения (то есть варианты использования)

как в настоящее время, так и в будущем. В этом архитектору помогают

UML и Унифицированный процесс. UML содержит мощные инструменты для

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

того, что входит в хорошую архитектуру. Но даже в этом случае выбор архитектуры

осуществляется в итоге на основе оценки, основанной на квалификации

и опыте. Архитектор является ответственным за эту оценку. Когда архитектор

в конце фазы проектирования передает описание архитектуры менеджеру проекта,

это означает: «Теперь я уверен, что мы сможем построить систему, не сталкиваясь

с какими-либо серьезными техническими проблемами».

Квалифицированный архитектор должен быть знатоком в двух областях. Первая

из них — это предметная область, в которой он работает, поскольку он должен

общаться со всеми заинтересованными лицами, а не только разработчиками, и понимать

их. Вторая — знание разработки программного обеспечения, вплоть до способности

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

координировать их усилия и получать от них отклик. Также полезно, когда архитектор

имеет опыт разработки систем, подобных данной.

Труден хлеб архитектора в программной фирме. Он не должен быть менеджером

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

архитектуры. Он должен иметь искреннюю поддержку руководства как при

создании архитектуры, так и настаивая на ее соблюдении. Однако он должен быть

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

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

архитектору. Для больших систем одного архитектора может не хватить. Вместо

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

группа архитекторов.

Разработка архитектуры занимает значительное время. Отводимое на архитектуру

время привлекает к себе внимание в планах разработки и может вызывать

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

на реализацию и тестирование. Опыт показывает, однако, что если поздние

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

разработки заметно снижается. Об этом мы поговорим в главе 5.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: