Теоремы ROSS
Теория ROSS развивается и находится в начале пути, поэтому теоремы как таковые еще не сформулированы. Они ждут своего исследователя. Быть может, именно тебя? Вместе с тем в настоящий момент уже сформирован ряд гипотез или наблюдений, которые могут послужить отправной точкой для дальнейших исследований/доказательств.
Наблюдение 1
Доступ к AppService
в сценарии противоречит аксиоме однородности и является признаком нескольких прецедентов в сценарии.
Наблюдение 2
Если в операции есть retainer
, то операция не является атомарной. Retainer
— это признак сценария. Операцию с retainer
придется разбить на субоперации, а затем объединить их в рамках сценария.
Наблюдение 3
Прецедент может быть описан частью сервиса, но лучше для каждого прецедента формировать отдельный сценарий.
Во-первых, наглядность имеет значение. Если каждый прецедент диаграммы прецедентов отображается в отдельный сценарий, то удобнее переходить от диаграмм к коду.
Во-вторых, пластичность имеет значение. Переиспользование специализированного сценария в общем случае проще, чем переиспользование части сервиса.
В-третьих, тестируемость имеет значение. Тестирование сцециализированного сценария в общем случае проще, чем переиспользование части сервиса.
Наблюдение 4
Тестируемость имеет значение, поэтому не следует помещать вызовы всех сценариев в один сервис. Ключевые сервисы, запускающие сценарии, формируют логические домены, которые являются основой модуляризации. Вместе с тем, любая модуляризация приводит к снижению пластичности.