Искусство архитектуры Archives

Логическая целостность

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

 

История продолжается

Оборудование После того как группа сформировала исходную версию архитектуры, проект Архитектурного городка продолжал развиваться по правилам методологии ХР. Проектирование и написание кода осуществлялось либо в парах, либо проходило тщате...

 

Пользовательский интерфейс

Особое внимание в ходе проектирования было уделено «сердцу» системы: аудиоблоку. В сущности, это была внутренняя субархитектура всей системы. Чтобы определить ее, мы проанализировали потоки данных через серию компонентов и пришли к конвейерн...

 

Первые шаги в Архитектурный городок

На ранней стадии проектирования были определены основные области функциональности (базовый аудиоблок, управление содержанием и пользовательский интерфейс/управление). Мы проанализировали место каждой из них в системе и сформировали начальн...

 

Linux и С++

Linux и С++ были выбраны на ранней стадии планирования, и это решение повлияло на формирование группы. С самого начала проект имел четко определенные цели: конкретный первый продукт и перспективный план будущей функциональности, которая должна бы...

 

Открытка из Мегаполиса

Какой урок можно извлечь из этой истории? Плохая архитектура может иметь глубокие, серьезные последствия. К чему привело отсутствие пре-дусмотрительности и архитектурного проектирования в Мегаполисе? • Некачественный продукт с редким выпус...

 

Где он теперь?

Архитектура Мегаполиса была почти безнадежной - поверьте, мы потратили достаточно много времени в попытках исправить ее. Объем работы по переработке, рефакторингу и исправлению проблем в структуре кода был непомерно высоким. Переписывать сис...

 

Четкие требования

Археологические исследования выявили важную причину, из-за которой Мегаполис получился таким запутанным: в самом начале проекта группа не знала, что она строит. Компания имела представление о том, какой рынок она хочет захватить, но не знала, к...

 

Внешняя поддержка

Был разработан внешний протокол, который позволял другим устройствам управлять Мегаполисом в удаленном режиме. Протокол представлял собой тонкую прослойку над внутренней структурой продукта; соответственно он был вычурным, малопонятным и п...

 

Внешние проблемы

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