Источник: Объектно-ориентированная разработка - Якобсон, Ивар
Есть гипотеза, что каждое бизнес-приложение выполняет ограниченное число довольно общих функций, т.е. отдельные части функциональности разных приложений могут быть обобщены до каких-то абстрактных механизмов, и тогда каждое приложение будет лишь поставщиком конфигураций и реальных данных для этих механизмов.
If you observe closely, you will see that most of the software industry consists of writing the same application code over and over again, in different contexts, to different data models and in different computer languages.
Исходя из этого логично разделить процесс создания системы на сборку (на диаграмме это этап “Production”) из готовых функциональных модулей и реализацию, то есть объединение собранной системы с конкретными источниками данных и конфигурацией.
Building a system is a matter of design (what types of data to store, what processes to employ, how to package functionality into useable interactions, etc.) and implementation is a matter of supplying the parametric settings to each of the functions needed to implement the system.
Такой подход к разработке является приспособленным к массовому производству, Переиспользование компонентов экономически эффективно