The ease of combining software elements with others The ability of two or more systems or components to perform their required (functions while sharing the same hardware or software environment The ability of twoor more systems or components to exchange information