· Two approaches are most commonly used
o An evolutionary paradigm that makes use of event-based and/or object-oriented software engineering
o Component-based software engineering that draws on a library of COTS (commercial off-the-shelf) and in-house software components.
· Client/server systems are developed using the classic software engineering activities - analysis, design, construction and testing
· Instead of viewing software as a monolithic application to be implemented on one machine,
o the software has several distinct subsystems that can be allocated to the client, the server or distributed between both machines
· User interaction/presentation subsystem
o This subsystem implements all functions that are typically associated with a graphical user interface
· Application subsystem
o This subsystem implements the requirements defined by the application
· Database management subsystem
o This subsystem performs the data manipulation and management required by an application
o Data manipulation and management may be as simple as the transfer of a record or as complex as the processing of SQL transactions.