Software Engineering (2160701)

BE | Semester
  Summer-2018 | 04/28/2018

Q5) (a)Explain Client/Server Software Engineering.

  • Two approaches are most commonly used
    1. An evolutionary paradigm that makes use of event-based and/or object-oriented software engineering
    2. 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,
    • the software has several distinct subsystems that can be allocated to the client, the server or distributed between both machines

Software Components for Client/Server Systems

  • Instead of viewing software as a monolithic application to be implemented on one machine, the software that is appropriate for a c/s architecture has several distinct subsystems that can be allocated to the client, the server, or distributed between both machines:
  • User interaction/presentation subsystem: This subsystem implements all functions that are typically associated with a graphical user interface
  • Application subsystem: This subsystem implements the requirements defined by the application
  • Database management subsystem: This subsystem performs the data manipulation and management required by an application. Data manipulation and management may be as simple as the transfer of a record or as complex as the processing of SQL transactions.

Structure of Client/Server System

File servers

Structure of Client/Server System
(Figure: Structure of Client/Server System)
 
  • The client requests specific records from a file, the server transmits these records to the client across the network

Database servers

  • The client sends structured query language (SQL) requests to the server
  • These are transmitted as messages across the network
  • The server processes the SQL request and finds the requested information, passing back the results only to the client

Transaction servers

  • The client sends a request that invokes remote procedures at the server site
  • The remote procedures are a set of SQL statements
  • A transaction occurs when a request results in the execution of the remote procedure with the result transmitted back to the client

Groupware servers

  • When the server provides a set of applications that enable communication among clients (and the people using them) using text, images, bulletin boards, video, and other representations, a groupware architecture exists