Coupling: Coupling is the act of combination of two things jointly. In software development, coupling submits to the degree to which software components are dependent ahead each other. For example, in a tightly-coupled architecture, every component and its associated components should be present within order for code to be performed or compiled. In a loosely coupled architecture, components can stay autonomous and allow middleware software to manage communication among them. In a decoupled architecture, the components can work completely separately and autonomously. Portability: An application that can be changed from one computer environment to another. An application amassed on a USB flash drive that can run on a computer with no leaving any trace of it at what time the application is finished. It is designed to reinstate all changed settings when the program is closed. For example, in general, software written in Java has this capability. Solution Coupling: Coupling is the act of combination of two things jointly. In software development, coupling submits to the degree to which software components are dependent ahead each other. For example, in a tightly-coupled architecture, every component and its associated components should be present within order for code to be performed or compiled. In a loosely coupled architecture, components can stay autonomous and allow middleware software to manage communication among them. In a decoupled architecture, the components can work completely separately and autonomously. Portability: An application that can be changed from one computer environment to another. An application amassed on a USB flash drive that can run on a computer with no leaving any trace of it at what time the application is finished. It is designed to reinstate all changed settings when the program is closed. For example, in general, software written in Java has this capability..