Построение систем с иерархической структурой типа «использует» осуществляется по одному или нескольким слоям. Такие слои иногда называют «уровнями абстракции», но этот термин выбран неудачно. Компоненты представляют собой отдельные программы, а не целые модули, поэтому они могут ничего не абстрагировать (т. е. ничего не скрывать).
Часто крупная программная система состоит из слишком большого количества программ, чтобы в ней можно было выделить очевидные отношения «использует» между программами. В таких случаях отношение «использует» может формироваться между конгломератами программ – модулями, классами или пакетами. В подобных обобщенных описаниях теряется важная информация, но они помогают представить «общую
картину». Например, отношение «использует» можно сформировать на основе модулей сокрытия информации, но если только все программы модуля не находятся на одном уровне программной иерархии «использует» , при этом будет утрачена важная информация о системе.
В некоторых проектах отношения «использует» полностью определяется только после реализации системы, потому что разработчики решают, какие программы они будут использовать, в ходе реализации. Однако архитекторы могут определить на стадии проектирования отношения «разрешены к использованию», ограничивающие выбор разработчиков. В дальнейшем мы не будем различать отношения «использует» и «разрешено к использованию».
Хорошо определенная структура «использует» формирует правильные подмножества системы и может использоваться для дальнейшего управления итеративными или поэтапными циклами разработки.
Related posts: