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

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

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

Элементы справочной таблицы
Достаточно ли ясна и понятна общая структура архитектуры?
  • Достаточно ли четко определены ключевые абстракции?
  • Описаны ли необходимые Архитектурные механизмы?
  • Существует ли разделение архитектуры на подсистемы с четко определенными границами и интерфейсами в соответствии с областями ответственности системы?
  • Помогает ли способ разделения системы на пакеты уменьшить сложность и упростить понимание системы?
  • Является ли деление на подсистемы, пакеты и слои логически согласованным?
  • Are packages defined to be highly cohesive within the package, while the packages themselves are loosely coupled?
  • Are all of the subsystem components for the iteration identified?
  • Do the dependencies between subsystems and packages correspond to dependency relationships between the contained classes?
  • Do the classes in a subsystem support the services identified for the subsystem?
  • Не слишком ли велико (и не слишком ли мало) количество типов компонентов?
В достаточноли ли мере учтены дополнительные требования?
  • В достаточной ли степени архитектура учитывает глобальные функциональные требования?
  • В достаточной ли степени архитектура учитывает требования по удобству использования (Usability)?
  • В достаточной ли степени архитектура учитывает требования по надежности?
  • В достаточной ли степени архитектура учитывает требования по производительности?
  • В достаточной ли степени архитектура учитывает требования по сопровождаемости?
  • В достаточной ли степени архитектура учитывает прочие требования, описанные в документе Дополнительные спецификации?
Сможет ли команда реализовать данную архитектуру?
  • Предоставляет ли архитектура компонентов подходящую основу для организации команд разработки?
  • Имеет ли команда квалификацию, достаточную для реализации назначенных ей компонентов?
  • Разделены ли области ответственности между командами?
  • Все ли участники команды имеют общее понимание архитектуры с архитектором?
  • Имеют ли участники команды представление об архитектуре, достаточное для успешного проектирования и написания кода соответствующих компонентов?
Достаточно ли стабильна архитектура?
  • В фазе исследования (Inception): выявлена ли возможная архитектура?
  • В фазе проработки (Elaboration): начата ли стабилизация архитектуры?
  • В фазе конструирования (Construction): достигнута ли общая стабилизация архитектуры?
  • В фазе передачи (Transition): действительно ли архитектура очень стабильна?
Вообще, достаточно ли практична и целесообразна архитектура?
  • С достаточным ли уровнем детализации описана архитектура?
  • Описаны ли концепции самым простым из возможных способов?
  • Можно ли развивать архитектуру так, чтобы ожидаемые изменения учитывались наболее простым способом?
  • Не слишком ли структурирована архитектура и не делается ли попытка в архитектуре учесть маловероятные изменения ценой простоты и понятности?
  • Задокументированы ли ключевые решения, лежащие в основе архитектуры, и доступна ли эта документация для тех, кто будет использовать и инспектировать архитектуру?
  • Соответствует ли описание архитектуры реальности?
  • Выполнены ли рекоментации по дизайну?
  • Все ли технические риски устранены или работа с ними описана в плане устранения рисков?
Дополнительные сведения