Методика описания архитектуры
В предыдущем посте "Описание архитектуры приложения" я приводил вариант описания архитектуры приложения, а теперь хочу дать чуть более подробное описание методики составления архитектурного описания приложения или проекта. Эта методика является неким адаптированным вариантом стандарта IEEE 1471 и не претендует на полноту. Основная цель - помочь командам выбрать направление для документирования архитектуры их проектов.
Далее приводится список аспектов описания архитектуры (viewpoints), с указанием их назначения и разбивки на представления и модели. Отдельно для каждого аспекта указываются возможные риски, которые необходимо учитывать при проектировании или документировании архитектуры приложения.
Functional viewpointНазначение Охватывает краткое описание функциональности, которую реализует приложение и его компоненты. Описываются основные действующие субъекты (actors) и их роль в приложении. Описываются основные бизнес-процессы, автоматизируемые приложением и функции, выполняемые пользователями. Вопрос включения этого описания в описание архитектуры оставляю на усмотрение команды, поскольку часть информации может быть заимствовано или уже иметься в требованиях к приложению.
Представления
Модели
Риски
Domain viewpointНазначение Охватывает описание данных, основных сущностей, передачу данных между сущностями, передачу управления между сущностями. Описываются основные источники и потребители данных, обрабатываемых приложением. Описываются основные сценарии взаимодействия сущностей в плане обработки данных.
Представления
Модели
Риски
Conceptual viewpointНазначение Охватывает поверхностное описание структуры приложения (статического аспекта), выбор и обоснование архитектурного стиля, декомпозицию приложения по слоям, декомпозицию приложения по компонентам, связи между компонентами, зависимости от внешних приложений и источников данных.
Представления
Модели
Риски
Behavioral viewpointНазначение Охватывает поведение компонентов приложения, посредством которого реализуются функциональные требования. Описываются основные бизнес процессы, с участием компонентов приложения. Описываются жизненные циклы основных объектов, освещаются поведенческие аспекты взаимодействия компонентов между собой и с внешними компонентами.
Представления
Модели
Риски
Logical viewpointНазначение Охватывает структурный аспект компонентов приложения. Описываются используемые паттерны проектирования. Объявляются основные интерфейсы, используемые для взаимодействия между компонентами и с внешними системами. Описываются основные абстракции и иерархии классов.
Представления
Модели
Риски
Persistence viewpointНазначение Охватывает аспекты хранения состояния компонентов приложения и результатов работы. Описываются варианты кеширования. Описываются модели данных, аспекты аудита и обеспечения безопасности к данным. Подробные модели данных не обязательны, необходимо показать какие основные сущности хранятся в БД и предоставить количественные характеристики: количество записей, частота выполнения операций CRUD (вставка, чтение, удаление, добавление).
Представления
Модели
Риски
Deployment viewpointНазначение Охватывает аспекты развертывания решения по физическим серверам. Описывает основные конфигурации физических компонентов, используемых в разработке, QA и в боевой эксплуатации. Описываются варианты решения по бэкапированию, зеркалированию, балансировке компонентов с целью повышения производительности и обеспечения надежности. Описывает процедуру и регламенты по развертыванию версий компонентов приложения. Освещает вопросы конфигурирования и параметризации работы компонентов. Описывает размещение входных и выходных данных, точки соприкосновения с внешними системами.
Представления
Модели (UML)
Риски
Implementation viewpointНазначение Описывает перечень выбранных технологий, инструментов и языков для реализации компонентов приложения, определяет правила и стили кодирования. Описывает решения по обеспечению необходимого уровня безопасности, используемые протоколы и технологии. Описывает используемые протоколы, промежуточное ПО (middleware), специфичные алгоритмы компонентов приложения. Описывает конфигурацию серверов и рабочих станций, используемые ОС, параметры и настройки сети, используемые серверы приложений.
Представления
Модели
Риски
Если у вас появились какие-то замечания, вопросы или предложения, то оставляйте их в комментариях к этому посту. |
Еще интересные статьи на эту тему:
|