Sie sind auf Seite 1von 37

Seminar On Client Server Software Engineering

Content
Introduction Analysis Design Testing Applications

Standalone Single User


Applications and Data reside on the same computer Dedicated for single user Powerful and economical Examples: Calculator, MS Word, etc One of the major drawbacks in using stand-alone personal computers is that applications, data and resources, for example, cannot be shared.

Standalone Single User

The Client-Server Architecture


A distributed system is a system in which: computations are performed by separate programs. normally running on separate pieces of hardware. that co-operate to perform the task of the system. Server: A program that provides a service for other programs that connect to it using a communication channel. Client A program that accesses a server (or several servers) to obtain services. A server may be accessed by many clients simultaneously.

Client/Server Technology
Client/Server technology involves the client and server, both having processing capabilities. The client request for a service and the server processes this request and sends a reply.

Client/Server Technology

Sequence of activities in a client-server System


1.The server starts running 2.The server waits for clients to connect. (listening). 3.Clients start running and perform operations Some operations involve requests to the server. 4.When a client attempts to connect, the server accepts the connection (if it is willing). 5.The server waits for messages to arrive from connected clients.

Sequence of activities in a client-server System


6.When a message from a client arrives, the server takes some action in response, then resumes waiting. 7.Clients and servers continue functioning in this manner until they decide to shut down or disconnect.

Types of services provided by different servers


File Servers:record from file Groupware Servers: communication among clients Mail Servers Newsgroup Servers Calendar Servers Workflow Servers Database Servers: SQL Transaction Servers : RPC (set of SQL)

File Server
In this case, all the files are stored in a central place called file server The entire file is passed to the client over a network These type of servers are useful for creating a repository for images, flat documents, and drawings.

Groupware servers
Groupware Servers are software designed to provide services to a Workgroup Workgroup is a group of people working on a common task Usually group ware servers handle semistructured information unlike databases or files Groupware is used to Communicate, Collaborate, and Coordinate among teams Allows access to the same data Manages Concurrency Everyone in the group can work on same resource

Database Server
With Database servers the client passes SQL requests as messages to the database servers . The code that processes the SQL request and the data reside on the same server. The server uses its own processing power to find the requested data. Play an important role in data warehousing.

Transaction Servers
Client Invokes remote procedures/services that reside on the SQL database engine TP Monitor provides Transaction Management These remote services execute Group of SQL statements The Network exchange consists of single request/reply message. These SQL statements either all succeed or fail which is ensured by transaction server with TP monitors. Server side business logic typically consists of database transactions.

Software Component for C/S System


User Interaction /presentation system Application subsystem Database management system Middleware: s/w component exit on C/S .

Analysis Modeling Issues


Requirement modeling activity Uses combination of text & diagrammatic forms to depict requirement for data,function& behavior. Role of Analyst with user. Basic Analysis Principle Analysis Modeling methods Use of reusable component It avoids implementation details Allocation of software component to C/S in design phase.

Cntd.
Analysis model must achieve 3 primary objectives: To describe what customer wants To establish basis for creation of software design To define set of req. that can be validated once s/w is built.

Structure of Analysis Model


Data Object Desc. ERD Data Dictionary DFD

Process Speci fication

State Transition Diagram

Control Specification

Elements of Analysis Model


Data Dictionary:desc of all object in S/w ERD DFD:How data are transformed through system & depicts that function. STD:how system behaves due to external events. PSPEC: desc of each function present in DFD. CSPEC:info. about control aspects of software.

Design for C/S Systems


Implementation under specific comp. architecture Customized design
Data & architectural design Event driven paradigm & behavioral modeling User & GUI OO View of design

OO methods as best analysis & design approach for C/S system.

Architectural Design for Client/Server System


Different component by vendor In house component ORB, interoperability CORBA bridging concept
ORB Protocol XClient ORB Protocol YServer

Bridge

Database Design
Used to define & then specify structure of Business object in C/S Conventional analysis modeling notation like ERD Business object is defined as information that is visible to purchasers & users of system Implementation is using relational database

Database Design
Information collection for C/S database:
Entities Files implements entities Fields Relationship validation Field type Inheritance

Database Design
Super class Sub class Data type File type as location of file Field junction( primary key, foreign key, derived field) Allowed values Business rules (editing, calculating derived fields)

Database Design
Data distribution among Client & Server Data is accessed using SQL Data Management becomes complex in case application software required to maintain navigational information

Database Design
Different ways of Data distribution
Manual extract Snapshot Replication Fragmentation

Process Design Iteration


Design repository used to represent business object is also used to represent IF, application, database objects. The following entities are identified
Methods Elementary process Process/Component link Components Business rules/component link

Testing
Client GUI consideration Target environment Platform diversity consideration Distributed database consideration Distributed processing consideration Non robust target environment Non performance relationships

Overall C/S testing Strategy


Testing at 3 levels
1. Individual client application (disconnected mode) 2. Client s/w & associated server application are tested in concert 3. Complete C/S architecture( network operation & performance is tested)

Overall C/S testing Strategy


Different test types
Application function tests Server tests Database tests Transaction tests Network communication tests

Overall C/S testing Strategy


There are generally 3 main levels of software testing carried out: 1.Unit Testing: in which each unit (basic component) of the software is tested to verify that the detailed design for the unit has been correctly implemented 2.Integration testing: in which progressively larger groups of tested software components corresponding to elements of the architectural design are integrated and tested until the software works as a whole.

Overall C/S testing Strategy


3.System testing: in which the software is integrated to the overall product and tested to show that all requirements are met A further level of testing is also done, in accordance with requirements: Acceptance testing: upon which the acceptance of the complete software is based. The clients often do this.

Advantages of client-server systems


The work can be distributed among different machines The clients can access the servers functionality from a distance The client and server can be designed separately They can both be simpler All the data can be kept centrally at the server Conversely, data can be distributed among many different geographically-distributed clients or servers The server can be accessed simultaneously by many clients Competing clients can be written to communicate with the same server, and vice-versa

Disadvantages of clientserver systems


Traffic congestion When a large number of clients send requests to the same server at the same time, it might cause a lot of troubles for the server. The more clients there are the more troubles it has. When the server is down, clients requests cannot be fulfilled. The software and hardware of a server is usually very strict. It needs specific software and hardware to fulfill the job. Of course, it will increase the cost.

Example of client-server systems


The World Wide Web Email Network File System Transaction Processing System Remote Display System Communication System Database System

References
Book [1] Software engineering by Roger S. Pressman Websites [1] www.sei.cmu.edu [2] cs.gmu.edu/ [3] findarticles.com/

Thank You

Das könnte Ihnen auch gefallen