As the base of developed software grows, software integration is becoming increasingly important.
Many software systems are large and complex.
Since re-writing the entire system is not generally possible, newly developed programs must be integrated into the existing system. It is the responsibility of the developer to not only write a new program or tool, but to make it work within the existing environment. There are several approaches to software integration. Programs within the Unix environment typically are integrated by operating on a common set of files. One program is used to create a file, another to process it, and perhaps yet another to analyze the results.