Декомпозиция в информатике , также известная как факторизация , представляет собой разбиение сложной проблемы или системы на части, которые легче представить, понять, запрограммировать и поддерживать.
В компьютерных науках определены различные типы декомпозиции:
В более общем смысле функциональная декомпозиция в информатике — это метод освоения сложности функции модели. Функциональная модель системы заменяется, таким образом, серией функциональных моделей подсистем. [3]
Парадигма декомпозиции в программировании — это стратегия организации программы в виде ряда частей, и обычно подразумевает определенный способ организации текста программы. Обычно целью использования парадигмы декомпозиции является оптимизация некоторой метрики, связанной со сложностью программы, например, модульности программы или ее сопровождаемости.
Большинство парадигм декомпозиции предлагают разбить программу на части, чтобы минимизировать статические зависимости между этими частями и максимизировать связность каждой части . Популярные парадигмы декомпозиции включают процедурную, модульную, абстрактного типа данных и объектно-ориентированную парадигмы.
Хотя концепция парадигмы декомпозиции полностью отличается от концепции модели вычисления , их часто путают. Например, функциональную модель вычисления часто путают с процедурной декомпозицией, а модель актора вычисления часто путают с объектно-ориентированной декомпозицией.
Диаграмма декомпозиции показывает комплекс, процесс, организацию, область субъекта данных или другой тип объекта, разбитый на более низкие уровни, более подробные компоненты. Например, диаграммы декомпозиции могут представлять организационную структуру или функциональную декомпозицию на процессы. Диаграммы декомпозиции обеспечивают логическую иерархическую декомпозицию системы.