Структура «использует» определяет, какие рабочие подмножества могут быть построены и протестированы в ходе создания основной программы. Желательно, чтобы свойство отношений «использует» в программных системах формировало жесткую иерархию, то есть в нем не было циклов. Если в отношении «использует» присутствует цикл, то каждая программа работает только при наличии и работоспособности всех остальных программ цикла. Построить отношение «использует» без циклов возможно не всегда, поэтому архитектор может рассматривать все программы в цикле как одну программу в контексте создания подмножеств. Подмножество либо включает всю программу, либо не включает ни одну из ее составляющих.
При отсутствии циклов в отношении «использует» в программном продукте формируется многоуровневая структура. На нижнем уровне (уровень 0) находятся все программы, не использующие другие программы. Уровень п состоит из всех программ, использующих программы уровня п—1 или более низких уровней. Уровни часто представляются в виде набора слоев, где каждый слой представляет один или несколько уровней отношения «использует». Группировка смежных уровней в отношениях «использует» помогает упростить представление, а также допускает случаи с небольшими циклами. Одна из рекомендаций для создания подобных группировок гласит, что программы одного уровня должны выполняться приблизительно в 10 раз быстрее и в 10 раз чаще, чем программы следующего уровня по вертикали (Courtois 1977).
Related posts: