Softwareengineering beschäftigt sich mit den vorgelagerten Prozessen, die die Daten erzeugen, die das System empfängt. Es beschäftigt sich mit den nachgelagerten Prozessen, an die das System verarbeitete Informationen ausgibt. Es beschäftigt sich mit den angrenzenden Systemen, die Daten von denselben vorgelagerten Prozessen empfangen und/oder Daten an dieselben nachgelagerten Prozesse ausgeben, an die das System ausgibt.