This document discusses client-server software engineering. It defines client-server architecture as one where the server provides services and the client demands them. There are two main types: two-tier architecture with thin and fat client models, and three-tier architecture. The thin client model puts most functionality on the server, while the fat client model puts more on the client. The three-tier architecture separates presentation, application processing, and data management layers across different machines. An example given is internet banking, with presentation on the client browser, application processing in the middle, and database on the server.