You are on page 1of 21

CLIENT-SERVER MODEL

Submitted by

JOSHUA CHEPKESIR

840170881

In the partial fulfillment of the requirements for the award of Bachelor’s degree in Computer
Science at University of North Carolina at Pembroke

14th NOVEMBER 2020

i
I. DECLARATION
I hereby declare that the project work entitled “CLIENT-SERVER MODE” submitted to
University of North Carolina at Pembroke, is a record of an original work done by myself under
the supervision of Mr Joong Lyul Lee, Department of Computer Science, Faculty of Science and
Mathematics and this project work is submitted in the partial fulfillment of the requirements for
the award of the Bachelor’s degree of Computer Science. The results embodied in this project
have not been submitted to any other University or Institute for the award of any degree or
diploma.

Sign: jk$ Date: NOV 14TH 2020

NAME JOSHUA CHEPKESIR

II. ACKNOWLEDGEMENT

This work would not have been possible without the supervision.
I am grateful to all of those with whom I have had the pleasure to work during this and other
related projects. Each of the members of my friends has provided me extensive personal and
professional guidance and taught me a great deal about both scientific research and life in
general.
Nobody has been more important to me in the pursuit of this project than the members of my

ii
family. I would like to thank my parents, whose love and guidance are with me in whatever I
pursue. They are the ultimate role models.

III. ABSTRACT
Client- server is a system that performs both the functions of client and server so as to promote
the sharing of information between them. It allows many users to have access to the same
database at the same time, and the database will store much information. This paper will provide
information about client-server model.

iii
Table of Contents
I. DECLARATION.......................................................................................................................................ii
II. ACKNOWLEDGEMENTS.......................................................................................................................iii
III. ABSTRACT..........................................................................................................................................iv
CHAPTER 1...............................................................................................................................................1
1.1. INTRODUCTION................................................................................................................................1
1.2. BACKGROUND..................................................................................................................................1
1.3. THE STATEMENT OF THE PROBLEM..................................................................................................1
1.4. JUSTIFICATION..................................................................................................................................1
1.5. OBJECTIVES.......................................................................................................................................2
1.5.1 Major aim.......................................................................................................................................2
1.5.2 Specific objectives of the system....................................................................................................2
1.6. FEASIBILITY STUDY............................................................................................................................2
1.7. DATA COLLECTION............................................................................................................................3
CHAPTER 2...............................................................................................................................................4
2.1. SYSTEM DESIGN................................................................................................................................4
2.1.1. ARCHITECTURAL DESIGN...............................................................................................................4
2.2. METHODOLOGY................................................................................................................................6
2.3. SYSTEM ARCHITECTURE....................................................................................................................7
.................................................................................................................................................................... 7
2.4. SYSTEM REQUIREMENTS..................................................................................................................7
2.4.1. FUNCTIONAL REQUIREMENTS.......................................................................................................7
2.4.2. NON FUNCTIONAL REQUIREMENTS...............................................................................................8
2.5. SYSTEM SPECIFICATIONS..................................................................................................................8
2.5.1. SOFTWARE SPECIFICATIONS..........................................................................................................8
2.5.2. HARDWARE SPECIFICATIONS.........................................................................................................9
2.6. SYSTEM INPUTS AND OUPUTS..........................................................................................................9

iv
CHAPTER 3.............................................................................................................................................10
3.1. SYSTEM IMPLEMENTATION AND TESTING......................................................................................10
3.2. IMPLEMENTATION..........................................................................................................................10
3.3. CODING...........................................................................................................................................10
3.4. TESTING..........................................................................................................................................10
3.4.1. FUCTIONAL TESTING:...................................................................................................................11
3.4.2. STRUCTURAL TESTING.................................................................................................................11
3.4.3. UNIT TESTING..............................................................................................................................11
3.4.3. INTEGRITY TESTING:....................................................................................................................13
CHAPTER 4.............................................................................................................................................14
4.1. CONCLUTION..................................................................................................................................14
4.2. FUTURE RECOMMENDATION.........................................................................................................15
Appendix A............................................................................................................................................15
Appendix B................................................................................................................................................16
References.............................................................................................................................................17

v
CHAPTER 1

1.1. INTRODUCTION
With the advancement in technology, Web is becoming very much more important in our daily
lives, in which virtually everything we do nowadays involves the use of web. More so, the
application of Web is not limited to computers but it is opened to different kinds of intelligent
digital devices, for example the mobile ones. Also, the architecture of the Web is the Client-
Server model, in which as a result the communication between the client and server is the first
thing we should be concerned about .

1.2. BACKGROUND
Client/server system has increasingly minimized application development time by dividing
functions of sharing information into both the client and server. The client is the requester while
the server is the provider of service. In most client-server environment, the data processing is
handled by the server, and the results are returned to the clients, which is made to speed up the
rate of performance .For example, in a workstation, a printer can be attached to a computer
(representing the clients) while other computers sharing from it are the server.

1.3. THE STATEMENT OF THE PROBLEM


The client-server system encompasses different areas both in networking and database management
due to its structural functionalities, it is essential to know that the advent of the technology is a
breakthrough in the IT world and also in the business world because without the application of this
technology, work process would be difficult to execute and might take longer time.

1.4. JUSTIFICATION
• There is need to develop the system at the present time since it has the following benefit :

 File transfer: This is the transmission of files between the client and server.
It also allows storing of files on the server. Files such as movies, images,
music can be stored.

 Hypertext Transfer Protocol (HTTP): Is the transferring of multimedia


files such as images, text between the client and server. HTTP is use to

1
improve communication between the client and server, by serving as a
request-response protocol

1.5. OBJECTIVES

1.5.1 Major aim


• To develop a system that splits the processing of application across multiple machines

• To develop a system that reduces data replication by storing data on each server instead of client.

1.5.2 Specific objectives of the system


•To develop a system that allows easier sharing of resources from client to servers.

1.6. FEASIBILITY STUDY


A feasibility study is a test of a system proposal according to its workability impact on
organization, ability to meet user needs and effective use of resources. The objective of a
feasibility study is not to solve a problem but to acquire a sense of its scope. During the study,
the problem definition is crystallized and the aspects of the problem to be included in the system
are determined. After the initial investigations of the system that helped have in-depth study of
the existing system, understanding its strength and weaknesses and the requirements for the new
proposed system.Feasibility study was done in three phases documented below.

 Behavioral feasibility

People are inherently resistant to change and computers have been known to facilitate change.
There is always some reluctance among the users against the introduction of new system but they
were told that this system would eliminate the unnecessary overhead of file storage and paper
wastage, which presently had to be carried out on daily basis to facilitate transactions between
the different departments. The objective this feasibility phase is to take the operational staff and
students into confidence

 Economic feasibility

Economic feasibility is the most frequently used method for evaluating the effectiveness of the
system. More commonly known as cost\benefit analysis, the procedure is to determine the

2
benefits and savings that are expected from a system and compare them with the costs. If
benefits outweigh the costs, then the decision is made to design and implement the system. A
cost\benefit analysis was done for the proposed system to evaluate whether it would be
economically viable or not.

Technical feasibility

Technical feasibility centers on the existing computer system. (Hardware/software) and to what
extent it can support the proposed addition also the organization already has sufficient high-end
machines to serve the processing requirements of the proposed system. So there is no need to
purchase new software as the organization has necessary software.

1.7. DATA COLLECTION


Observation

I visited different departments in school to see how they exchange resources from one
person to another, and from one department to another.

Primary Source

This involves oral interviews conducted with various personnel in the school, reviewing and
sharing their experience about the difficulties they undergo in using the manual system and
filling of questionnaires

CHAPTER 2

2.1. SYSTEM DESIGN

System design is a process of defining architecture, modules, interfaces and data for a system to
satisfy specified requirements.

2.1.1. ARCHITECTURAL DESIGN


 Logical Architecture

3
They’re services most network-based client/server tools or servers need: connection handling,
authentication, security, and so forth.

2.2. METHODOLOGY
The technology used in developing this system is incremental software process model because it
allows tests to be conducted at the end of each phase.

Advantages of the model:

 It is a simple and easy model to use

 Each phase would have specific deliverables.

 Easy to understand and to use.

 The model involves testing early in the life cycle.

 Stabilizes requirements because it is developed up front like the waterfall model. 

This model works well for small projects

4
2.3. SYSTEM ARCHITECTURE

5
6
7
2.4. SYSTEM REQUIREMENTS

2.4.1. FUNCTIONAL REQUIREMENTS.


• The system allows shairing of files

2.4.2. NON FUNCTIONAL REQUIREMENTS.


Availability

• The system should be available full time.

Security

• An adequate level of security is guaranteed in every component of the system. In


particular, the passwords for the users accessing the system.

Maintainability

• The new systems assure maintainability, in order to avoid similar issues to arise in the
future.

Scalability

• In the chosen solution, the best efforts that can be made consist of enabling multiple users
to access the system at the same time.

Compatibility

• The system is guaranteed to be compatible with the old production systems, but it shall
also avoid compatibility issues with other systems.

8
2.5. SYSTEM SPECIFICATIONS

2.5.1. SOFTWARE SPECIFICATIONS


A computer/laptop with the following software will be required for development of the system:

• Operating Systems: Windows 7 and above.

• Editor ie sublime text,Visual studio

2.5.2. HARDWARE SPECIFICATIONS


A computer/laptop with the following minimum requirements:

• Processor: Pentium
• RAM: 256MB

• Hard disk: 80GB

• Output devices: Monitor display.

• Input devices: Keyboard and mouse

9
CHAPTER 3

3.1. SYSTEM IMPLEMENTATION AND TESTING

3.2. IMPLEMENTATION

3.3. CODING
Coding is a programming technique of implementing the system by choosing suitable
programming language. The language used to implement this system is c.

3.4. TESTING
Testing is the process of executing then programs with the intention of finding out errors. During
the process, the project is executed with set of test and the output of the system is evaluated to
determine if the project is performing as expected. Testing makes a logical assumption that if all
the parts of the module are correct then goal will be successfully achieved. Testing includes after
the completion of the coding phase. The project was tested from the very beginning and also at
each step by entering different type of data. In the testing phase some mistakes were found,
which did not come to knowledge at the time of coding the project. Then changes were made in
the project coding so that it may take all the relevant data and gives the required result.

Testing is vital to the success of the system. Testing makes a logical assumption that if all
the parts of the system are correct, the goal will be successfully achieved. A small system error
can conceivably explode into a much larger problem. Effective testing early in the process
translates directly into long-term cost savings from a reduced number of errors

3.4.1. FUCTIONAL TESTING:


Here the system is a black box whose behavior is determined by studying its inputs and related
outputs. The key problem is to select the inputs that have a huge probability of being members of
a set in my case; the selection of these test cases is based on the previous studies.

10
3.4.2. STRUCTURAL TESTING
A great deal can be learnt about the strength and the limitation of the application by examinee
the manner in which the system breaks. This type of testing has two limitations.
It tests failure behavior of the system circumstances may arise through an unexpected
combination of events where the node placed on the system exceeds the maximum anticipated
load.
The structure of each module was checked at every step. Some structures were firstly wrong,
which came to notice at the time of the connectivity.

3.4.3. UNIT TESTING


In unit testing the entire individual functions and modules were tested independently. By
following this strategy all the error in coding were identified and corrected. This method was
applied in combination with the white and black box testing techniques to find the errors in each
module.

Unit testing is normally considered an adjunct to the coding step. Unit test case design
was started after source level code had been developed, reviewed, and verified for correct syntax.
A review of design information provides guidance for establishing test cases that were likely to
uncover errors in each of the categories discussed above. Each test case was coupled with a set of
expected results.

11
CHAPTER 4

4.1. CONCLUSION
To conclude the description about the project, the project developed using C is based on the
requirement specification of the user and the analysis of the existing system, with flexibility for
future enhancement

With the theoretical inclination of our syllabus it becomes very essential to take the utmost
advantage of any opportunity of gaining practical experience that comes along. The building
blocks of this Major Project "CLIENT-SERVER MODEL” were one of these opportunities. It
gave us the requisite practical knowledge to supplement the already taught theoretical concepts
thus making us more competent as a computer science. The project from a personal point of view
also helped us in understanding the following aspects of project development:

• The planning that goes into implementing a project.


• The importance of proper planning and an organized methodology.
• The key element of team spirit and co-ordination in a successful project.

The project also provided us the opportunity of interacting with our lecturers and technicians
thus gaining from their best experience

12
Appendix A

13
14
15
References
Zhang, H. (2013). Architecture of Network and Client-Server model. arXiv preprint arXiv:1307.6665

Kambalyal, C. (2010). 3-tier architecture. Retrieved On, 2.

16

You might also like