Это подход, помогающий разобраться со сложными системами, разбивая их на небольшие и понятные части, которые называют «черными ящиками». У каждого из них есть своя задача, входные данные и результат, который он должен выдать.
Главный плюс такого разбиения в том, что не нужно знать, как устроен каждый блок внутри. Достаточно понимать, что он делает и что должен получить на входе. Подобный метод упрощает работу с большими системами и позволяет видеть их структуру более ясно.
Связывать между собой эти блоки стоит только тогда, когда цели действительно пересекаются. Например, модуль, считающий зарплату, логично объединить с тем, который рассчитывает налоги. При этом связи между «черными ящиками» стараются делать максимально простыми, чтобы каждый элемент мог работать независимо.
Еще один важный принцип – иерархия. Блоки упорядочивают по уровням, чтобы было ясно, что к чему относится. Подобный подход встречается повсюду: от структуры компаний до устройства природных систем. Благодаря этому сложные вещи становятся понятнее и управляемее.
В этом подходе используют разные модели, которые помогают увидеть, как устроена система:
- какие функции она выполняет;
- в каком порядке происходят операции;
- как передаются данные;
- как связаны друг с другом информационные элементы.
Среди самых известных можно выделить несколько.
- SADT – показывает функции системы и их взаимосвязи;
- IDEF3 – используется для описания последовательности действий и процессов;
- DFD – диаграммы помогают понять, как движутся данные между частями системы.
Отдельно стоит упомянуть ERM («сущность»). Она применяется для описания данных и связей между ними и нередко задействуется вместе со структурными методами проектирования.