Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.
The client/server software architecture is a message based, versatile and modular communications that is intended to improve flexibility, usability, interoperability and scalability as compared to centralized, mainframe, time-sharing computing.
Client/server architecture illustrates the relationship between two computer programs in which one program is a client, which makes a service request to another program called Server.
Server provides service to the request.
A single machine can be act as both, a client as well as server depending on the software configuration.
Although the client/server architecture can be used within a single computer by programs, but it is a more important idea in a network.
In a network, the client/server architecture allows efficient way to interconnect programs that are distributed efficiently across different locations.