How Major Parts of Modern Software Fit Together