Описания технических объектов должны быть по сложности согласованы с возможностями восприятия их человеком. Однако выполнить это требование, не расчленяя его на составные части, удается лишь только для простых изделий. Как правило, требуется структурирование описаний и соответствующее расчленение представлений о проектируемых объектах на иерархические уровни и аспекты. Это позволяет распределять работы по проектированию сложных объектов между подразделениями проектной организации, что способствует повышению эффективности и производительности труда проектировщиков. Расчленение описаний объекта на более мелкие называют декомпозицией.
Декомпозиция описаний по степени детализации отображаемых свойств и характеристик объекта лежит в основе блочно-иерархического подхода к проектированию и приводит к появлению иерархических уровней (уровней абстрагирования) проектируемого объекта.
Например, в машиностроении базовые элементы технического изделия представлены деталями (винт, шпонка, вал, зубчатое колесо, корпус и т.д.) /4/. Детали рассматриваются как элементы, фигурирующие в описаниях низшего иерархического уровня. Из них собираются сборочные единицы (редуктор металлообрабатывающего станка, карбюратор двигателя внутреннего сгорания, электропневмоклапан в системе подачи топлива в камеру сгорания реактивного двигателя и т.д.). В свою очередь сборочные единицы являются элементами агрегатов (комплексов) – систем следующего более высокого иерархического уровня и т. д. (рис. 1.1). Вершиной такого иерархического уровня является сам технический объект (изделие).
Рис. 1.1. Иерархические уровни изделия
В программировании иерархия – это ранжированная или упорядоченная система абстракций, расположенная по уровням /6/. Основными видами иерархических структур применительно к сложным системам являются структура классов (иерархия по номенклатуре) и структура объектов (иерархия по составу). Примером иерархии классов является простое и множественное наследие, а иерархии объектов – агрегация данных.