Architectural significant requirements(ASR)
2018-08-29 12:52:36 +0600 +0600
This is meta description
Architecturally significant requirements - Архитектурно значимые требования
По данной теме я решил написать отдельную статью.
Такое определение дают ребята из википедии.
Architecturally significant requirements are those requirements that have a measurable effect on a computer system’s architecture.[1] This can comprise both software and hardware requirements. They are a subset of requirements, the subset that affects the architecture of a system in measurably identifiable ways.
Мне больше нравится описание отсюда ТЫЦ_!
Architecturally significant requirements are those requirements that play an important role in determining the architecture of the system. Such requirements require special attention. Not all requirements have equal significance with regards to the architecture. Architecturally significant requirements are a subset of the requirements that need to be satisfied before the architecture can be considered “stable”. Typically, these are requirements that are technically challenging, technically constraining, or central to the system’s purpose. Furthermore, the system will generally be more sensitive to changes against architecturally significant requirements, so identifying and communicating this subset will help others understand the potential implications of change.
Если подытожить, то можно утверждать что ASR являются фундаментальными требованиями для построения архитектуры. Это такие требования изменения которых приводят всегда или практически всегда приводят к изменениям архитектуры.
Например: Система не должна быть доступна в клауде.
Такое требование автоматически запрещает нам при построении архитектуры использовать любые клауд провайдеры. Дорогой друг ты же согласен, что для разработки архитектуры системы это требование гораздо важнее чем к примеру требования покрытия юнит тестами. Проект без тестов ы сдать сможем, а вот проект в клауде нет.
Виды ASR
ASR может быть получен как из функциональных требований так и не из функциональных требований, а также из хотелок заказчика или пользователя. Еще ASR может быть получен из энвайронмента компании(бизнес энвайронмента или технического).
Например: У компании есть свое дэвопс отдел и свои сервера на Windows скорее всего ваше решение тоже будет написано под Windows
Само собой понятно, что эти требования необходимо как можно быстрее найти и приоритезировать еще в самых начальных этапах проекта. Как это сделать я расскажу в другой статье ее мы посвятим документированию требований и их оценки.
Так же ASR могут быть очень часто написаны расплывчато или просто спрятанные. Например Заказчик говорит, что у него нет особых требований к security проекта, и просит не акцентировать свое внимание на этом. На это я у него спросил Вы же не против тогда, что данные ваших пользователей окажутся в публичном интернете? После такого вопроса заказчик задумался и сказал, что у него есть партнеры в индии, которые занимаются аутентификацией и авторизацией и нам всё-таки придется с ними интегрироваться
Мы можем сказать еще о требованиях, что все команды разработки делают проект, который не должен покрывать все требования, а решает бизнес проблему или бизнес цель.
Это приводит нас к тому что требования могут меняться, в зависимости бизнес задач и целей. Отсюда следует еще одна тонкая материя - требования это субъективная штука. Допустим вы делаете проект для двух заказчиков. Один хочет в клауд амазон, а другой хочет клауд азур. Задача архитектора понять какой подход принесет больше пользы для бизнеса. Казалось бы какая разница, но у амазона все ресурсы по умолчанию в приватной сети, а у азура публичные. Зная это мы сразу понимаем что амазон дает больший уровень security чем азур пир равных трудо-затратах на разработку. У Азура больше зон CDN - он обеспечивает лучшую доступность ресурсов. Предположим что заказчик хочет что бы его приложение (рекламная платформа) могло создавать статические сайты визитки по всей планете. Из сказанного перечисленного следует, что теоретически азур выгоднее. А про безопасность я просто так написал что бы вас запутать ! Вот какой я
Продолжение следует…