HOSPITAL - MANAGEMENT - SYSTEM Real

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 58

ONLINE HOSPITAL MANAGEMENT SYSTEM

A Project Report Submitted


In Partial Fulfillment of the Requirements
For the

DIPLOMA
In
COMPUTER SCIENCE & ENGINEERING

By

DEEPANSHU SHARMA
(Enrollment no. 21111638900001)
DEEPANSHU PATHAK
(Enrollment no. 20111635500006)
KANCHAN
(Enrollment no. 20111635500013)
PULKIT KUMAR
(Enrollment no. 20111635500023)
SHIVAM VERMA
(Enrollment no. 20111635500037)

Under the Supervision of


Mr. Ashish Goel
Janta Polytechnic, Jahangirabad

To the

FACULTYOF COMPUTER SCIENCE & ENGINEERING


BOARD OF TECHNICAL EDUCATION
UTTAR PRADESH
Session 2022-23
CERTIFICATE

Certified that Deepanshu Sharma, Deepanshu Pathak, Kanchan, Pulkit Kumar,

Shivam Verma has carried out the research work presented in this project report

entitled “Online Hospital Management System” for the award of Diploma in

Computer Science & Engineering from Board Of Technical Education, Uttar

Pradesh under my supervision. The Project Report embodies results of original work,

and studies as are carried out by the student himself and the contents of the project

report do not form the basis for the award of any other degree to the candidate or to

anybody else from this or any other University/Institution.

Signature Signature

Project Guide: Principal

Mr. Ashish Goel Mrs. Manju Bansal

Date: Date:

Place: Place:
ONLINE HOSPITAL MANAGEMENT SYSTEM

ABSTRACT

The purpose of the project entitled as “ONLINE HOSPITAL MANAGEMENT


SYSTEM” is to computerize the Front Office Management of Hospital to develop
software which is user friendly simple, fast, and cost – effective. It deals with the
collection of patient’s information, diagnosis details, etc. Traditionally, it was done
manually. The main function of the system is register and store patient details and doctor
details and retrieves these details as and when required, and also to manipulate these
details meaningfully System input contains patient details, diagnosis details, while system
output is to get these details on to the screen. The Hospital Management System can be
entered using a username and password. It is accessible either by an administrator or
receptionist. Only they can add data into the database. The data can be retrieved easily.
The data are well protected for personal use and makes the data processing very fast.

Hospital Management System is designed for multispecialty hospitals, to cover a wide


range of hospital administration and management processes. It is an integrated end-to-end
Hospital Management System that provides relevant information across the hospital to
support effective decision making for patient care, hospital administration and critical
financial accounting, in a seamless flow.

iii
ACKNOWLEDGEMENT

It gives me a great sense of pleasure to present the project report of the DIPLOMA
undertaken during DIPLOMA final year. I owe special debt of gratitude to MR. ASHISH
GOEL, Janta Polytechnic Jahangirbad for his constant support & guidance throughout the
course of my work. Their sincerity thoroughness & perseverance has been a constant
source of inspiration for me. It is only their cognizant efforts that our endeavors have seen
light of the day.

I also take the opportunity to acknowledge the contribution of Mr. Ashish Goel for his full
support & assistance during the development of the thesis.

I also do not like to miss the opportunity to acknowledge the contribution of all the faculty
members especially Mr. Manjeet Singh Kuthar, Mr. Ravindra Sharma, Mr. Amrish
Raghav for their kind assistance & cooperation during the development of my report.

Lastly, I would like to acknowledge and express my gratitude to our parents, colleagues
and all those who have directly or indirectly assisted me in completing this report.

Deepanshu Sharma
Deepanshu Pathak
Kanchan
Pulkit Kumar
Shivam Verma

iv
TABLE OF CONTENTS

Page no.
Certificate ii
Abstract iii
Acknowledgement iv

1. INTRODUCTION 8-12

1.1 Introduction 8

1.2 Problem introduction 9

1.3 Modules in the project 10

2. REQUIREMENTS SPECIFICATION 13-14


2.1 Introduction 13

2.2 Hardware requirements 13

2.3 Software requirements 14

3. ANALYSIS 15-16
3.1 Existing System 15

3.2 Proposed System 15

3.3 Feasibility study 15

3.3.1 Economic Feasibility 15

3.3.2 Technical Feasibility 16

3.3.3 Operational Feasibility 16

4. SOFTWARE DESCREPTION 17-26


4.1 HTML 17

4.2 CSS 19

v
4.3 MySQL 20

4.4 JAVASCRIPT 22

4.5 PHP 23

5. DESIGN 27-39
5.1 System Design 27

5.1.1 Introduction to UML 27

5.1.2 UML Diagrams of our project 28

5.2 Software Development Cycle 35

5.2.1 Waterfall Model 35

6. TESTING 39-49
6.1 Introduction 39

6.2 Importance of Software Testing 39

6.3 Manual Testing 41

6.3.1 White Box Testing 42

6.3.2 Black Box Testing 44

6.4 Stages of Manual Testing 47

7. SCREENSHOTS 50-56

7.1 Homepage 50

7.2 Patient Login 51

7.3 Doctor Login 51

7.4 Admin Login 52

7.5 Admin Panel 52

7.6 Add Doctor 53

7.7 Delete Doctor 53

7.8 Appointments List 54

vi
7.9 Patient List 54

7.10 Prescription List 55

7.11 Patient List 55

7.12 Doctor Panel 56

7.13 Doctor Appointments 56

8. CONCLUSION 57
8.1 Conclusion 57

8.2 Future Enhancement 57

REFERENCES

vii
CHAPTER 1

INTRODUCTION

1.1 Introduction:
The project Hospital Management system includes registration of patients, storing
their details into the system, and also computerized billing in the pharmacy, and labs.
The software has the facility to give a unique id for every patient and stores the details
of every patient and the staff automatically. It includes a search facility to know the
current status of each room. User can search availability of a doctor and the details of
a patient using the id.

The Hospital Management System can be entered using a username and password. It
is accessible either by an administrator or receptionist. Only they can add data into the
database. The data can be retrieved easily. The interface is very user-friendly. The
data are well protected for personal use and makes the data processing very fast.

Hospital Management System is powerful, flexible, and easy to use and is designed
and developed to deliver real conceivable benefits to hospitals.

Hospital Management System is designed for multispecialty hospitals, to cover a wide


range of hospital administration and management processes. It is an integrated end-to-
end Hospital Management System that provides relevant information across the
hospital to support effective decision making for patient care, hospital administration
and critical financial accounting, in a seamless flow.

Hospital Management System is a software product suite designed to improve the


quality and management of hospital management in the areas of clinical process
analysis and activity-based costing. Hospital Management System enables you to
develop your organization and improve its effectiveness and quality of work.
Managing the key processes efficiently is critical to the success of the hospital helps
you manage your processes

8
1.2 Problem Introduction:
Lack of immediate retrievals: -

The information is very difficult to retrieveand to find particular information like- E.g.
- To find out about the patient’shistory, the user has to go through various registers.
This results in inconvenience and wastage of time.

Lack of immediate information storage: -

The information generated byvarious transactions takes time and efforts to be stored at
right place.

Lack of prompt updating: -

Various changes to information like patientdetails or immunization details of child


are difficult to make as paper work isinvolved.

Error prone manual calculation: -

Manual calculations are error prone andtake a lot of time this may result in incorrect
information. For examplecalculation of patient’s bill based on various treatments.

Preparation of accurate and prompt reports: -

This becomes a difficult task as information is difficult to collect from various


register.

Objective:-

1) Define hospital
2) Recording information about the Patients that come.
3) Generating bills.
4) Recording information related to diagnosis given to Patients.
5) Keeping record of the Immunization provided to children/patients.
6) Keeping information about various diseases and medicines available to cure
them.

These are the various jobs that need to be done in a Hospital by the operational staff
and Doctors. All these works are done on papers.

9
Scope of the Project:-

1) Information about Patients is done by just writing the Patients name, age and
gender. Whenever the Patient comes up his information is stored freshly.
2) Bills are generated by recording price for each facility provided to Patient on a
separate sheet and at last they all are summed up.
3) Diagnosis information to patients is generally recorded on the document,
which contains Patient information. It is destroyed after some time period to
decrease the paper load in the office.
4) Immunization records of children are maintained in pre-formatted sheets,
which are kept in a file.
5) Information about various diseases is not kept as any document. Doctors
themselves do this job by remembering various medicines.

All this work is done manually by the receptionist and other operational staff and lot
ofpapers are needed to be handled and taken care of. Doctors have to remember
variousmedicines available for diagnosis and sometimes miss better alternatives as
they can’tremember them at that time.

1.3 MODULES:

The entire project mainly consists of 6 modules, which are

 Admin module
 User module (patient)
 Doctor module
 Contact us module
 Receptionist module
 Visitor module

10
1.3.1 Admin module:

 manage department of hospitals, user, doctor, nurse, pharmacist, laboratories


accounts.
 watch appointment of doctors
 Watch transaction reports of patient payment
 Bed, ward, cabin status
 watch blood bank report
 watch medicine status of hospital stock
 Watch operation report

1.3.2 Usermodule (patient):

 View appointment list and status with doctors


 View prescription details
 View medication from doctor
 View doctor list
 View blood bank status
 View operation history
 Views admit history. like bed,ward icu etc
 Manage own profile

1.3.3 Doctor module:

 Manage patient. account opening and updating


 Create, manage appointment with patient
 Create prescription for patient
 Provide medication for patients
 Issue for operation of patients and creates operation report
 Manage own profile

1.3.4 Contact us module:

 Send Message to admin.


 Contact us module use to update website and service.

1.3.5 Pharmacist module:

 Maintain medicine

11
 Keep records of hospitals stock medicines and status
 Manage medicine categories
 Watch prescription of patient
 Provide medication to prescriptions

1.3.6 Receptionist module:

 Manage department of hospitals, user, doctor, nurse, pharmacist, laboratories


accounts.
 watch appointment of doctors
 watch transaction reports of patient payment
 Bed ,ward, cabin status
 watch blood bank report
 watch medicine status of hospital stock
 watch operation report
 watch birth report
 watch diagnosis report
 watch death report

12
CHAPTER 2

REQUIREMENTS SPECIFICATIONS

2.1 INTRODUCTION:
To be used efficiently, all computer software needs certain hardware components or
the other software resources to be present on a computer. These pre-requisites are
known as (computer) system requirements and are often used as a guideline as
opposed to an absolute rule. Most software defines two sets of system requirements:
minimum and recommended. With increasing demand for higher processing power
and resources in newer versions of software, system requirements tend to increase
over time. Industry analysts suggest that this trend plays a bigger part in driving
upgrades to existing computer systems than technological advancements.

2.2 HARDWARE REQUIREMENTS:


The most common set of requirements defined by any operating system or software
application is the physical computer resources, also known as hardware. A hardware
requirements list is often accompanied by a hardware compatibility list (HCL),
especially in case of operating systems. An HCL lists tested, compatibility and
sometimes incompatible hardware devices for a particular operating system or
application. The following sub-sections discuss the various aspects of hardware
requirements.

HARDWARE REQUIREMENTS FOR PRESENT PROJECT:


PROCESSOR : Intel dualCore, i3

RAM : 1 GB

HARD DISK : 80 GB

13
2.3 SOFTWARE REQUIREMENTS:
Software Requirements deal with defining software resource requirements and pre-
requisites that need to be installed on a computer to provide optimal functioning of an
application. These requirements or pre-requisites are generally not included in the
software installation package and need to be installed separately before the software is
installed.

SOFTWARE REQUIREMENTS FOR PRESENT PROJECT:


OPERATING SYSTEM : Windows 7/ XP/8

FRONT END : Html,css,java script.

SERVER SIDE SCRIPT : PHP

DATABASE : MYSQL

CHAPTER 3

14
ANALYSIS

3.1 EXISTING SYSTEM:


Hospitalscurrently use a manual system for the management and maintenance of
critical information.The current system requires numerous paper forms,with data
stores spread throughout the hospital management infrastructure.Often information is
incomplete or does not follow management standards.Forms are often lost in transit
between departments requiring a comprehensive auditing process to ensure that no
vital information is lost.Multiple copies of the same information exist in the hospital
and may lead to inconsistencies in data in various data stores.

3.2 PROPOSED SYSTEM:


The Hospital Management System is designed for any hospital to replace their
existing manual paper based system.The new system is to control the information of
patients. Roomavailability,staff and operating room schedules and patient
invoices.These services are to be provided in an efficient,cost effective manner,with
the goal of reducing the time and resources currently required for such tasks .

3.3 FEASIBILITY STUDY

The feasibility of the project is analyzed in this phase and business proposal is put
forth with a very general plan for the project and some cost estimates. During system
analysis the feasibility study of the proposed system is to be carried out. This is to
ensure that the proposed system is not a burden to the company. For feasibility
analysis, some understanding of the major requirements for the system is essential.

Three key considerations involved in the feasibility analysis are:

3.3.1 Economic Feasibility

This study is carried out to check the economic impact will have on the system
will have on the organization. The amount of fund that the company can pour
into the research and development of the system is limited. The expenditures

15
must be justified. Thus the developed system as well within the budget and this
was achieved because most of the technologies used are freely available. Only
the customized products have to be purchased.

3.3.2 Technical Feasibility


This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands
being placed on the client. The developed system must have a modest
requirement, as only minimal or null changes for the implementing this
system.

3.3.3 Operational Feasibility

The aspect of study is to check the level of acceptance of the system by the
user. This includes the process of training the user to use the system
efficiently. The user must not feel threatened by the system, instead must
accept it as a necessity. The level of acceptance by the users solely
depends on the methods that are employed to educate the user about the
system and to make him familiar with it. His level of confidence must be
raised so that he is also able to make some constructive criticism, which is
welcomed, as he is the final user of the system.

CHAPTER 4

16
SOFTWARE DESCREPTION

4.1 HTML:

HTML stands for Hypertext Markup Language. It is used to design web pages using a
markup language. HTML is the combination of Hypertext and Markup language.
Hypertext defines the link between web pages. A markup language is used to define
the text document within the tag which defines the structure of web pages. This
language is used to annotate (make notes for the computer) text so that a machine can
understand it and manipulate text accordingly. Most markup languages (e.g. HTML)
are human-readable. The language uses tags to define what manipulation has to be
done on the text.HTML is a markup language used by the browser to manipulate text,
images, and other content, in order to display it in the required format. HTML was
created by Tim Berners-Lee in 1991. The first-ever version of HTML was HTML 1.0,
but the first standard version was HTML 2.0, published in 1995.

Elements and Tags: HTML uses predefined tags and elements which tell the
browser how to properly display the content. Remember to include closing tags. If
omitted, the browser applies the effect of the opening tag until the end of the page.

HTML page structure: The basic structure of an HTML page is laid out below. It
contains the essential building-block elements (i.e. doctype declaration, HTML,
head, title, and body elements) upon which all web pages are created.

<!DOCTYPE html>: This is the document type declaration (not technically a


tag). It declares a document as being an HTML document. The doctype
declaration is not case-sensitive.

<html>: This is called the HTML root element. All other elements are
contained within it.

<head>: The head tag contains the “behind the scenes” elements for a
webpage. Elements within the head aren’t visible on the front-end of a
webpage. HTML elements used inside the <head> element include:

17
 <style>-This html tag allows us to insert styling into our webpage’s and make
them appealing to look at with the help of CSS.
 <title>-The title is what is displayed on the top of your browser when you visit
a website and contains title of the webpage that you are viewing.
 <base>-It specifies the base URL for all relative URL’s in a document.
 <no script>– Defines a section of HTML that is inserted when the scripting has
been turned off in the user’s browser.
 <script>-This tag is used to add functionality in the website with the help of
JavaScript.
 <meta>-This tag encloses the meta data of the website that must be loaded
every time the website is visited. For e.g.:- the metadata char set allows you to
use the standard UTF-8 encoding in your website. This in turn allows the users
to view your webpage in the language of their choice. It is a self closing tag.
 <link>– The ‘link’ tag is used to tie together HTML, CSS and JavaScript. It is
self closing.

<body>: The body tag is used to enclose all the visible content of a webpage.
In other words, the body content is what the browser will show on the front-
end.

An HTML document can be created using any text editor. Save the text
file using .html or .htm. Once saved as an HTML document, the file can be opened as
a webpage in the browser.

Features of HTML:

 It is easy to learn and easy to use.


 It is platform-independent.
 Images, videos, and audio can be added to a web page.
 Hypertext can be added to the text.
 It is a markup language.

Why learn HTML?

 It is a simple markup language. Its implementation is easy.


 It is used to create a website.
 Helps in developing fundamentals about web programming.
 Boost professional career.

18
Advantages:

 HTML is used to build websites.


 It is supported by all browsers.
 It can be integrated with other languages like CSS, JavaScript, etc.

Disadvantages:

 HTML can only create static web pages. For dynamic web pages, other
languages have to be used.
 A large amount of code has to be written to create a simple web page.
 The security feature is not good.

4.2 CASCADING STYLE SHEETS (CSS):

Cascading Style Sheets, fondly referred to as CSS, is a simply designed language


intended to simplify the process of making web pages presentable. CSS allows you to
apply styles to web pages. More importantly, CSS enables you to do this independent
of the HTML that makes up each web page. It describes how a webpage should look:
it prescribes colors, fonts, spacing, and much more. In short, you can make your
website look however you want. CSS lets developers and designers define how it
behaves, including how elements are positioned in the browser. While html uses tags,
css uses rule sets. CSS is easy to learn and understand, but it provides powerful
control over the presentation of an HTML document.

Why CSS?

•CSS saves time: You can write CSS once and reuse the same sheet in multiple
HTML pages.
•Easy Maintenance: To make a global change simply change the style, and all
elements in all the WebPages will be updated automatically.
•Search Engines: CSS is considered a clean coding technique, which means search
engines won’t have to struggle to “read” its content.
•Superior styles to HTML: CSS has a much wider array of attributes than HTML,
so you can give a far better look to your HTML page in comparison to HTML
attributes.

19
CSS Syntax:

CSS comprises style rules that are interpreted by the browser and then applied to the
corresponding elements in your document.
A style rule set consists of a selector and declaration block.

Selector -- h1
Declaration -- {color:blue;font size:12px;}
•The selector points to the HTML element you want to style.
•The declaration block contains one or more declarations separated by semicolons.
•Each declaration includes a CSS property name and a value, separated by a colon.

For Example:
color is property and blue is value.
font-size is property and 12px is value.
•CSS declaration always ends with a semicolon, and declaration blocks are surrounded
by curly braces.

4.3 MySQL:
MySQL is developed, distributed, and supported by Oracle Corporation. MySQL is a
database system used on the web it runs on a server. MySQL is ideal for both small
and large applications. It is very fast, reliable, and easy to use. It supports standard
SQL. MySQL can be compiled on a number of platforms.
The data in MySQL is stored in tables. A table is a collection of related data, and it
consists of columns and rows. Databases are useful when storing information
categorically. FEATURES OF MySQL:

Internals and Portability:

 Written in C and C++.


 Tested with a broad range of different compilers.
 Works on many different platforms.
 Tested with Purify (a commercial memory leakage detector) as well as with Val
grind, a GPL tool.
 Uses multi-layered server design with independent modules.

Security:
 A privilege and password system that is very flexible and secure, and that enables
host-based verification.

20
 Password security by encryption of all password traffic when you connect to a
server.

Scalability and Limits:


 Support for large databases. We use MySQL Server with databases that contain 50
million records. We also know of users who use MySQL Server with 200,000
tables and about 5,000,000,000 rows.
 Support for up to 64 indexes per table (32 before MySQL 4.1.2). Each index may
consist of 1 to 16 columns or parts of columns. The maximum index width is 767
bytes for InnoDB tables, or 1000 for MyISAM; before MySQL 4.1.2, the limit is
500 bytes. An index may use a prefix of a column
for CHAR, VARCHAR, BLOB, or TEXT column types.

CONNECTIVITY:
Clients can connect to MySQL Server using several protocols:

 Clients can connect using TCP/IP sockets on any platform.


 On Windows systems in the NT family (NT, 2000, XP, 2003, or Vista),
clients can connect using named pipes if the server is started with the --
enable-named-pipe option. In MySQL 4.1 and higher, Windows servers
also support shared-memory connections if started with the --shared-
memory option. Clients can connect through shared memory by using the --
protocol=memory option.
 On UNIX systems, clients can connect using Unix domain socket files.

LOCALIZATION:
 The server can provide error messages to clients in many languages.
 All data is saved in the chosen character set.

CLIENTS AND TOOLS:

 MySQL includes several client and utility programs. These include both
command-line programs such as mysqldump and mysqladmin, and
graphical programs such as MySQL Workbench.

21
 MySQL Server has built-in support for SQL statements to check,
optimize, and repair tables. These statements are available from the
command line through the mysqlcheck client. MySQL also
includes myisamchk, a very fast command-line utility for performing
these operations on MyISAM tables.
 MySQL programs can be invoked with the --help or -? option to obtain
online assistance.

4.4 JAVASCRIPT:

JavaScript is the scripting language of the Web. All modern HTML pages are using
JavaScript. A scripting language is a lightweight programming language. JavaScript
code can be inserted into any HTML page, and it can be executed by all types of web
browsers. JavaScript is easy to learn.

WHY TO USE JAVASCRIPT:

JavaScript is one of the 3 languages all web developers must learn:

1. HTML to define the content of web pages


2. CSS to specify the layout of web pages
3. JavaScript to specify the behavior of web pages

Example
x = document.getElementById("demo"); //Find the HTML element with id="demo"
x.innerHTML = "Hello JavaScript"; //Change the content of the HTML element

document.getElementById() is one of the most commonly used HTML DOM


methods.

OTHER USES OF JAVASCRIPT:

 Delete HTML elements


 Create new HTML elements
 Copy HTML elements
 In HTML, JavaScript is a sequence of statements that can be executed by the
web browser.

JAVASCRIPT STATEMENTS:

• JavaScript statements are "commands" to the browser.

22
• The purpose of the statements is to tell the browser what to do.
• This JavaScript statement tells the browser to write "Hello Dolly" inside an
HTML element with id="demo":
Semicolon;
 Semicolon separates JavaScript statements.
 Normally you add a semicolon at the end of each executable statement.
 Using semicolons also makes it possible to write many statements on one line.

JAVASCRIPT CODE:
• JavaScript code (or just JavaScript) is a sequence of JavaScript statements.
• Each statement is executed by the browser in the sequence they are written.
• This example will manipulate two HTML elements:
• Example
 document.getElementById("demo").innerHTML="Hello Dolly";
document.getElementById("myDIV").innerHTML="How are you?";
JAVASCRIPT PROPERTIES:

 Properties are the values associated with a JavaScript object.

 A JavaScript object is a collection of unordered properties.

 Properties can usually be changed, added, and deleted, but some are read only.

4.5 PHP
The term PHP is an acronym for PHP: Hypertext Preprocessor. PHP is a server-side
scripting language designed specifically for web development. It is open-source which
means it is free to download and use. It is very simple to learn and use. The files have
the extension “PHP”.

Rasmus Lerdorf inspired the first version of PHP and participated in the later versions.
It is an interpreted language and it does not require a compiler.

PHP code is executed in the server. It can be integrated with many databases such as
Oracle, Microsoft SQL Server, MySQL, PostgreSQL, Sybase, and Informix. It is
powerful to hold a content management system like WordPress and can be used to

23
control user access. It supports main protocols like HTTP Basic, HTTP Digest, IMAP,
FTP, and others. Websites like www.facebook.com and www.yahoo.com are also
built on PHP.One of the main reasons behind this is that PHP can be easily embedded
in HTML files and HTML codes can also be written in a PHP file. The thing that
differentiates PHP from the client-side language like HTML is that PHP codes are
executed on the server whereas HTML codes are directly rendered on the browser.
PHP codes are first executed on the server and then the result is returned to the
browser. The only information that the client or browser knows is the result returned
after executing the PHP script on the server and not the actual PHP codes present in
the PHP file. Also, PHP files can support other client-side scripting languages like
CSS and JavaScript.

Other characteristics of PHP are as follows.

 Simple and fast


 Efficient
 Secured
 Flexible
 Cross-platform, it works with major operating systems like Windows, Linux,
and macOS.
 Open Source
 Powerful Library Support
 Database Connectivity

SYNTAX

<?php

PHP code goes here

?>

EXAMPLE

<html>

24
<head>
<title>PHP Example</title>
</head>

<body>
<?php echo "Hello, World! This is PHP code";?>
</body>

</html>

Output: Hello, World! This is PHP code

Why should we use PHP?

PHP can actually do anything related to server-side scripting or more popularly known
as the backend of a website. For example, PHP can receive data from forms, generate
dynamic page content, can work with databases, create sessions, send and receive
cookies, send emails, etc. There are also many hash functions available in PHP to
encrypt users’ data which makes PHP secure and reliable to be used as a server-side
scripting language. So these are some of PHP’s abilities that make it suitable to be
used as a server-side scripting language. You will get to know more of these abilities
in further tutorials.

Even if the above abilities do not convince you of PHP, there are some more features
of PHP. PHP can run on all major operating systems like Windows, Linux, UNIX,
Mac OS X, etc. Almost all of the major servers available today like Apache support
PHP. PHP allows using a wide range of databases. And the most important factor is
that it is free to use and download and anyone can download PHP from its official
source: www.php.net.

Disadvantages of PHP:

1. PHP is not secure as it is open source.


2. Not good to create desktop applications.
3. Not suitable for large Web Applications- Php code is hard to maintain since it is
not very modular.
4. Modification Problem – PHP does not allow the change in the core behavior of
the web applications.

25
CHAPTER 5

DESIGN

26
5.1 SYSTEM DESIGN:

5.1.1 INTRODUCTION TO UML:

UML Design

The Unified Modeling Language (UML) is a standard language for


specifying, visualizing, constructing, and documenting the software system and its
components. It is a graphical language , which provides a vocabulary and set of
semantics and rules. The UML focuses on the conceptual and physical representation
of the system. It captures the decisions and understandings about systems that must
be constructed. It is used to understand, design, configure, maintain, and control
information about the systems.
The UML is a language for:
 Visualizing
 Specifying
 Constructing
 Documenting
Visualizing
Through UML we see or visualize an existing system and ultimately we
visualize how the system is going to be after implementation. Unless we
think, we cannot implement. UML helps to visualize, how the components of
the system communicate and interact with each other.

Specifying
Specifying means building, models that are precise, unambiguous and
complete UML addresses the specification of all the important analysis
design, implementation decisions that must be made in developing and
deploying a software system.
Constructing
UML models can be directly connected to a variety of programming language
through mapping a model from UML to a programming language like JAVA
or C++ or VB. Forward Engineering and Reverse Engineering is possible
through UML.

Documenting
The Deliverables of a project apart from coding are some Artifacts, which are

27
critical in controlling, measuring and communicating about a system during
its developing requirements, architecture, desire, source code, project plans,
tests, prototypes releasers, etc...

5.1.2 UML Approach


UML Diagram

A diagram is the graphical presentation of a set of elements, most often


rendered as a connected graph of vertices and arcs. You draw diagram to
visualize a system from different perspective, so a diagram is a projection
into a system. For all but most trivial systems, a diagram represents an
elided view of the elements that make up a system. The same element may
appear in all diagrams, only a few diagrams, or in no diagrams at all. In
theory, a diagram may contain any combination of things and
relationships. In practice, however, a small number of common
combinations arise, which are consistent with the five most useful views
that comprise the architecture of a software-intensive system. For this
reason, the UML includes nine such diagrams:
1. Class diagram
2. Object diagram
3. Use case diagram
4. Sequence diagram
5. Collaboration diagram
6. State chart diagram
7. Activity diagram
8. Component diagram
9. Deployment diagram

USE CASE DIAGRAM:

A use case diagram in the Unified Modeling Language (UML) is type of behavioral
diagram defined by and created from a use-case analysis. Its purpose is to present a
graphical overview of the functionality provided by a system in terms of actors,
theirgoals (represented as use cases), and any dependencies between those use cases.

Use case diagrams are formally included in two modeling languages defined by the
OMG:theunfied modeling language (UML) and the systems modeling language
(sysML)

28
Use case diagram of our project:

Class Diagram:
A Class is a category or group of things that has similar attributes and common
behavior. A Rectangle is the icon that represents the class it is divided into three areas.
The upper most area contains the name, the middle; area contains the attributes and
the lowest areas show the operations. Class diagrams provides the representation that
developers work from. Class diagrams help on the analysis

Registration

Reception

Goto doctor

Take recept

doctor patient

pharmacist

laboratorist

Discharge summary

side, too.

29
Person
+name_string
Hospital
+age_number
+date of birth_number +name_string
+address_string +* +1
+address_string
+phone num_number +phon_number
+gender_string
+available time()
+date of join() +states()
+date of discharge()
+1

+*
Patient
+gender_string Staff
+prescription_string
-allergies_string +joined: date
+qulification_string
+in_time() +certification_string
+out_time() +languages_string
+work dutes()
+hoil days()

Administrative staff Technical staff


Operations staff
+name of emp_string +name_string
+names_string #details_string
+deprt_string +location_string
-time period_number
+join time() +join time()
+open_list()
+close_list()

Doctor Receptionist Technician Laboratorist


Nurse
+name_string +patient_details +name_string +name_string
+addresss_string +name_string +test_details
+address_string +problem_string +address_string
+phone_number +age_string +counter_number +time_number
+speciality_string +phone_number
+in_time() +opr_name() +room-num()
+joined_date() +join_date() +opr_time()
+ot_time() +total_opr()
+dute_time()

surgen
+opr_type
+free_number
+block_string
+opr_time()
+week period()

30
Sequence diagram:
A Sequence Diagram is an interaction diagram that emphasis the time ordering of
messages; a collaboration diagram is an interaction diagram that emphasizes the
structural organization of the objects that send and receive messages. Sequence
diagrams and collaboration diagrams are isomorphic, meaning that you can take one
and transform it into the other.

Doctor Registration Reception Patient Laboratory Pharmacy ischarge summary

1 : login()

2 : view appointment()

3 : registration()

4 : send request()

5 : done any surgeries()

6 : go to laboratory()

7 : take medicins()

8 : paitent ok()

9 : send discharge summmary()

10 : discharge paitent()

Collaboration diagram:
A Collaboration Diagram also called a communication diagram or interaction
diagram, is an illustration of the relationships and interactions among software
objects. The concept is more than a decade old although it has been refined as
modeling paradigms have evolved.

31
1:Takes Appointment
10:Takes Appointment from doctor

P1 : Patient R1 : Receptionist

4:confirms appointment
9:Ask for payment

7:Take medicins

3:Doctor available
5:Consult doctor

8:paitent ok

2:takes Appointment from doctor

D1 : Doctor N1 : Nurse

6:Assist doctor

Deployment diagram:
A Deployment Diagram shows the configuration of run-time processing nodes and
the components that live on them. Deployment diagrams address the static
deployment view of architecture. They are related to component diagrams in that a
node typically encloses one or more components.

32
desktop Client
Printer

Hospital Local Server

Database Server

State chart Diagrams:


The state diagram shows the states of an object and represents activities as arrows
connecting the states. The Activity Diagram highlights the activities. Each activity is
represented by a rounded rectangle-narrower and more oval-shaped than the state
icon. An arrow represents the transition from the one activity to the next. The activity
diagram has a starting point represented by filled-in circle, and an end point
represented by bulls eye.

33
34
5.2 SOFTWARE DEVELOPMENT LIFE CYCLE

SDLC or the Software Development Life Cycle is a process that produces software
with the highest quality and lowest cost in the shortest time possible. SDLC provides a
well-structured flow of phases that help an organization to quickly produce high-
quality software which is well-tested and ready for production use. The SDLC
involves six phases as explained in the introduction. Popular SDLC models include
the waterfall model, spiral model, and Agile model.

5.2.1 Waterfall Model

The Waterfall Model was the first Process Model to be introduced. It is also referred
to as a linear-sequential life cycle model. It is very simple to understand and use. In a
waterfall model, each phase must be completed before the next phase can begin and
there is no overlapping in the phases.

The Waterfall model is the earliest SDLC approach that was used for software
development. The waterfall Model illustrates the software development process in a
linear sequential flow. This means that any phase in the development process begins
only if the previous phase is complete. In this waterfall model, the phases do not
overlap.

Waterfall Model – Design

Waterfall approach was first SDLC Model to be used widely in Software Engineering
to ensure success of the project. In "The Waterfall" approach, the whole process of
software development is divided into separate phases. In this Waterfall model,
typically, the outcome of one phase acts as the input for the next phase sequentially.

The following illustration is a representation of the different phases of the Waterfall


Model.

The sequential phases in Waterfall model are −


• Requirement Gathering and analysis − All possible requirements of the system
to be developed are captured in this phase and documented in a requirement
specification document.

35
• System Design − the requirement specifications from first phase are studied in
this phase and the system design is prepared. This system design helps in
specifying hardware and system requirements and helps in defining the overall
system architecture.
• Implementation − with inputs from the system design, the system is first
developed in small programs called units, which are integrated in the next
phase. Each unit is developed and tested for its functionality, which is referred
to as Unit Testing.
• Integration and Testing − All the units developed in the implementation phase
are integrated into a system after testing of each unit. Post integration the
entire system is tested for any faults and failures.
• Deployment of system − Once the functional and non-functional testing is
done; the product is deployed in the customer environment or released into the
market.
• Maintenance − There are some issues which come up in the client
environment. To fix those issues, patches are released. Also to enhance the
product some better versions are released. Maintenance is done to deliver these
changes in the customer environment.

All these phases are cascaded to each other in which progress is seen as flowing
steadily downwards (like a waterfall) through the phases. The next phase is started
only after the defined set of goals are achieved for previous phase and it is signed off,
so the name "Waterfall Model". In this model, phases do not overlap.

Waterfall Model – Application

Every software developed is different and requires a suitable SDLC approach to be


followed based on the internal and external factors. Some situations where the use of
Waterfall model is most appropriate are –

• Requirements are very well documented, clear and fixed.


• Product definition is stable.
• Technology is understood and is not dynamic.
• There are no ambiguous requirements.
• Ample resources with required expertise are available to support the product.
• The project is short.

36
Waterfall Model – Advantages

The advantages of waterfall development are that it allows for departmentalization


and control. A schedule can be set with deadlines for each stage of development and a
product can proceed through the development process model phases one by one.

Development moves from concept, through design, implementation, testing,


installation, troubleshooting, and ends up at operation and maintenance. Each phase of
development proceeds in strict order.

Some of the major advantages of the Waterfall Model are as follows –

• Simple and easy to understand and use


• Easy to manage due to the rigidity of the model. Each phase has specific
deliverables and a review process.
• Phases are processed and completed one at a time.
• Works well for smaller projects where requirements are very well understood.
• Clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
• Process and results are well documented.

Waterfall Model – Disadvantages

The disadvantage of waterfall development is that it does not allow much reflection or
revision. Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-documented or thought upon in the concept stage.

The major disadvantages of the Waterfall Model are as follows –

• No working software is produced until late during the life cycle.


• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate to high risk
of changing. So, risk and uncertainty is high with this process model.
• It is difficult to measure progress within stages.

37
• Cannot accommodate changing requirements.
• Adjusting scope during the life cycle can end a project.
• Integration is done as a "big-bang. At the very end, which doesn’t allow
identifying any technological or business bottleneck or challenges early?

Figure: - Waterfall Model

38
CHAPTER 6

TESTING

6.1 INTRODUCTION

Software testing is the process of assessing the functionality of a software program.


The process checks for errors and gaps and whether the outcome of the application
matches desired expectations before the software is installed and goes live.

6.2 IMPORTANCE OF SOFTWARE TESTING

Software testing is the culmination of application development through which


software testers evaluate code by questioning it. This evaluation can be brief or
proceed until all stakeholders are satisfied. Software testing identifies bugs and issues
in the development process so they're fixed prior to product launch. This approach
ensures that only quality products are distributed to consumers, which in turn elevates
customer satisfaction and trust.

To understand the importance of software testing, consider the example of Starbucks.


In 2015, the company lost millions of dollars in sales when its point-of-sale (POS)
platform shut down due to a faulty system refresh caused by a software glitch. This
could have been avoided if the POS software had been tested thoroughly. Nissan also
suffered a similar fate in 2016 when it recalled more than 3 million cars due to a
software issue in airbag sensor detectors.

The following are important reasons why software testing techniques should be
incorporated into application development:

 Identifies defects early. Developing complex applications can leave room for
errors. Software testing is imperative, as it identifies any issues and defects
with the written code so they can be fixed before the software product is
delivered.
 Improves product quality. When it comes to customer appeal, delivering a
quality product is an important metric to consider. An exceptional product can

39
only be delivered if it's tested effectively before launch. Software testing helps
the product pass quality assurance (QA) and meet the criteria and
specifications defined by the users.
 Increases customer trust and satisfaction. Testing a product throughout its
development lifecycle builds customer trust and satisfaction, as it provides
visibility into the product's strong and weak points. By the time customers
receive the product; it has been tried and tested multiple times and delivers on
quality.
 Detects security vulnerabilities. Insecure application code can leave
vulnerabilities that attackers can exploit. Since most applications are online
today, they can be a leading vector for cyber attacks and should be tested
thoroughly during various stages of application development. For example, a
web application published without proper software testing can easily fall
victim to a cross-site scripting attack where the attackers try to inject malicious
code into the user's web browser by gaining access through the vulnerable web
application. The nontested application thus becomes the vehicle for delivering
the malicious code, which could have been prevented with proper software
testing.
 Helps with scalability. A type of nonfunctional software testing process,
scalability testing is done to gauge how well an application scales with
increasing workloads, such as user traffic, data volume and transaction counts.
It can also identify the point where an application might stop functioning and
the reasons behind it, which may include meeting or exceeding a certain
threshold, such as the total number of concurrent app users.
 Saves money. Software development issues that go unnoticed due to a lack of
software testing can haunt organizations later with a bigger price tag. After the
application launches, it can be more difficult to trace and resolve the issues, as
software patching is generally more expensive than testing during the
development stages.

Types of Software Testing

As we know, software testing is a process of analyzing an application's


functionality as per the customer prerequisite.

If we want to ensure that our software is bug-free or stable, we must


perform the various types of software testing because testing is the only method that
makes our application bug-free.

40
6.3 MANUAL TESTING

Testing any software or an application according to the client's needs without using
any automation tool is known as manual testing.

In other words, we can say that it is a procedure of verification and validation. Manual
testing is used to verify the behavior of an application or software in contradiction of
requirements specification.

We do not require any precise knowledge of any testing tool to execute the manual
test cases. We can easily prepare the test document while performing manual testing
on any application.

41
Classification of Manual Testing

In software testing, manual testing can be further classified into three different types
of testing, which are as follows:

 White Box Testing


 Black Box Testing

6.3.1 White Box Testing

White Box Testing is a testing technique in which software’s internal structure, design,
and coding are tested to verify input-output flow and improve design, usability, and
security. In white box testing, code is visible to testers, so it is also called Clear box
testing, open box testing, transparent box testing, Code-based testing, and Glass box
testing.

It is one of two parts of the Box Testing approach to software testing. Its counterpart,
Blackbox testing, involves testing from an external or end-user perspective. On the
other hand, White box testing in software engineering is based on the inner workings
of an application and revolves around internal testing.

What We Verify In White Box Testing

White box testing involves the testing of the software code for the
following:

 Internal security holes


 Broken or poorly structured paths in the coding processes
 The flow of specific inputs through the code
 Expected output
 The functionality of conditional loops
 Testing of each statement, object, and function on an individual basis
The testing can be done at system, integration, and unit levels of software
development. One of the basic goals of white box testing is to verify a working flow
for an application. It involves testing a series of predefined inputs against expected or

42
Desired outputs so that when a specific input does not result in the expected output,
you have encountered a bug.

How do we Perform White Box Testing?

We have divided it into two basic steps to give you a simplified explanation of white
box testing. This is what testers do when testing an application using the white box
testing technique:

STEP 1) UNDERSTAND THE SOURCE CODE

The first thing a tester will often do is learn and understand the source code of the
application. Since white box testing involves the testing of the inner workings of an
application, the tester must be very knowledgeable in the programming languages
used in the applications they are testing. Also, the testing person must be highly aware
of secure coding practices. Security is often one of the primary objectives of testing
software. The tester should be able to find security issues and prevent attacks from
hackers and naive users who might inject malicious code into the application either
knowingly or unknowingly.

STEP 2) CREATE TEST CASES AND EXECUTE

The second basic step to white box testing involves testing the application’s source
code for proper flow and structure. One way is by writing more code to test the
application’s source code. The tester will develop little tests for each process or series
of processes in the application. This method requires that the tester must have intimate
knowledge of the code and is often done by the developer. Other methods include
Manual Testing, trial, and error testing and the use of testing tools as we will explain
further on in this article.

Advantages of White Box Testing

 Code optimization by finding hidden errors.


 White box tests cases can be easily automated.
 Testing is more thorough as all code paths are usually covered.
 Testing can start early in SDLC even if GUI is not available.

43
Disadvantages of White Box Testing

 White box testing can be quite complex and expensive.


 Developers who usually execute white box test cases detest it. The white box
testing by developers is not detailed and can lead to production errors.
 White box testing requires professional resources with a detailed
understanding of programming and implementation.
 White-box testing is time-consuming, bigger programming applications take
the time to test fully.

6.3.2 Black Box Testing

Black Box Testing is a software testing method in which the functionalities of


software applications are tested without having knowledge of internal code structure,
implementation details and internal paths. Black Box Testing mainly focuses on input
and output of software applications and it is entirely based on software requirements
and specifications. It is also known as Behavioral Testing.

The above Black-Box can be any software system you want to test. For Example, an
operating system like Windows, a website like Google, a database like Oracle or even
your own custom application. Under Black Box Testing, you can test these

44
applications by just focusing on the inputs and outputs without knowing their internal
code implementation.

How to do Black Box Testing

Here are the generic steps followed to carry out any type of Black Box Testing.

 Initially, the requirements and specifications of the system are examined.


 Tester chooses valid inputs (positive test scenario) to check whether SUT
processes them correctly. Also, some invalid inputs (negative test scenario) are
chosen to verify that the SUT is able to detect them.
 Tester determines expected outputs for all those inputs.
 Software tester constructs test cases with the selected inputs.
 The test cases are executed.
 Software tester compares the actual outputs with the expected outputs.
 Defects if any are fixed and re-tested.

Types of Black Box Testing

 There are many types of Black Box Testing but the following are the
prominent ones –
 Functional testing – This black box testing type is related to the functional
requirements of a system; it is done by software testers.
 Non-functional testing – This type of black box testing is not related to testing
of specific functionality, but non-functional requirements such as performance,
scalability, usability.
 Regression testing – Regression Testing is done after code fixes; upgrades or
any other system maintenance to check the new code has not affected the
existing code.

Black Box Testing Techniques

Following are the prominent Test Strategy amongst the many used in Black box
Testing

45
 Equivalence Class Testing: It is used to minimize the number of possible test
cases to an optimum level while maintains reasonable test coverage.
 Boundary Value Testing: Boundary value testing is focused on the values at
boundaries. This technique determines whether a certain range of values are
acceptable by the system or not. It is very useful in reducing the number of test
cases. It is most suitable for the systems where an input is within certain
ranges.
 Decision Table Testing: A decision table puts causes and their effects in a
matrix. There is a unique combination in each column.

Advantages of Black Box testing

 It is efficient when used for large applications.


 As development and testing procedures are independent to each other, testing
procedures can unprejudiced.
 Any non- technical resource can test the application or code using black box
testing techniques, but he should be well equipped with testing techniques.
 There is no need for the testers to know the actual coding language or
implementation details of the whole application.
 Test cases can be designed as soon as the functional specifications are ready.
Testers do not have to wait for the development to be completed.

46
Disadvantages of Black Box testing

 It is not possible to test all the functionalities of the application with the help
of black box testing.
 The reason of the failure of the test cases is unknown sometimes. This
increases the debugging time.
 Test cases are designed but many of them are unclear and not precise.
 Many of the program paths remain untested.
 It is a challenging task to design the test cases without proper knowledge of the
internal.

6.4 STAGES OF MANUAL TESTING

1. Unit Testing

Unit testing involves verification of individual components or units of source code. A


unit can be referred to as the smallest testable part of any software. It focuses on
testing the functionality of individual components within the application. It is often
used by developers to discover bugs in the early stages of the development cycle. A
unit test case would be as fundamental as clicking a button on a web page and
verifying whether it performs the desired operation. For example, ensuring that a share
button on a webpage lets you share the correct page link.

2. Integration Testing

Integration testing is the next step after unit testing. Multiple units are integrated to be
tested as a whole. For example, testing a series of webpage’s in a particular order to
verify interoperability. This approach helps QAs evaluate how several components of
the application work together to provide the desired result. Performing integration
testing in parallel with development allows developers to detect and locate bugs faster.

47
3. System Testing

As the name suggests, system testing involves testing all the integrated modules of the
software as a whole. It helps QAs verify whether the system meets the desired
requirements. It includes multiple tests like validating output based on specific input,
testing user experience and more. Teams perform several types of system testing like
regression testing, stress testing, functional testing and more, depending on their
access to time and resources.

4. UI Testing

UI Testing, also known as GUI Testing checks and verifies various aspects of any
software that a user would interact with when using it. This usually means testing
visual elements to ensure that they are functioning according to requirements
regarding functionality and performance. UI Testing covers the gamut of visual
indicators and graphic-based icons – toolbars, fonts, menus, text boxes, radio buttons,
checkboxes, colors, and more. It ensures that UI functions are error-free and working
exactly as they are supposed to.Along with testing UI elements, UI testing must take
into account the various browsers, browser versions, and devices. People access the
internet from a wide range of browser-device-OS combinations, which means that the
UI must render and function perfectly from each of them. In other words, cross
browser testing must be an essential part of any UI testing strategy.

5. Acceptance Testing

The main goal of acceptance testing is to verify whether the system as a whole is fit
for use in the real world. Acceptance testing is performed both internally and
externally. Internal acceptance testing (also known as alpha testing) is performed by
the members of the organization. External testing (also known as beta testing) is
performed by a limited number of actual end-users. This approach helps teams
evaluate how well the product satisfies the user’s standards. It also identifies bugs in
the last stage before releasing a product. Among other forms of acceptance testing,
accessibility testing deserves special mention. Accessibility testing ensures that every
feature of a website or app is easy to use by people who may have disabilities such as

48
visual or hearing impairment, color blindness, or any other physical issues. They may
experience some form of disability, which means they require some form of assistive
technology to operate certain technology.

How to perform Manual Testing

Here’s how to perform manual testing step by step:

 Analyze requirements from the software requirement specification document


 Create a clear test plan
 Write test cases that cover all the requirements defined in the document
 Get test cases reviewed by the QA lead
 Execute test cases and detect any bugs
 Report bugs, if any, and once fixed, run the failed tests again to re-verify the
fixes

Advantages of Manual Testing

 Manual testing of an application identifies most issues, including the


application's look and feel.
 The analyzer can quickly access visual elements like text, layout, and other
components to identify UI and UX problems.
 Since we don't need special tools or high-level expertise, it typically has a low
operational cost.
 Because it is adaptable, it is suitable if we make unforeseen changes to the
application.
 In manual tests, humans can observe, judge, and offer intuition; this is helpful
for user-friendliness or a rich customer experience.

Disadvantages of Manual Testing

 Manual testing takes a lot of time.


 Using a manual test, it is difficult to identify size differences and color
combinations of GUI objects.
 The manual tests make load testing and performance testing impractical.
 Running tests manually takes a lot of time when there are a lot of tests.
 Regression Manual test cases take a lot of time to complet

49
CHAPTER 7

SCREENSHOTS

7.1 HOME PAGE

50
7.2 PATIENT LOGIN

7.3 DOCTOR LOGIN

51
7.4 ADMIN LOGIN

7.5 ADMIN PANEL

52
7.6 ADD DOCTORS

7.7 DELETE DOCTORS

53
7.8 APPOITMENTS LIST

7.9 PATEINT LIST

54
7.10 PRESCREPTION LIST

7.11 PATIENT PANEL

55
7.12 DOCTOR PANEL

7.13 DOCTOR APPOINTMENTS

56
CHAPTER 8

CONCLUSION

8.1 CONCLUSION:

Since we are entering details of the patients electronically in the” Hospital


Management System”, data will be secured. Using this application we can retrieve
patient’s history with a single click. Thus processing information will be faster. It
guarantees accurate maintenance of Patient details. It easily reduces the book keeping
task and thus reduces the human effort and increases accuracy speed.

8.2 FUTURE ENHANCEMENT

Once the final Online Hospital Management System, is built, users or clients can book
the appointment already exists in the web application. In future, admin can add
facilities to the rent section and also we like to add slide bar of facilities in web Page.
Also we like to add a Chat Bot which helps user or clients to enquire their doubts
related to the application

Further enhancement, the use of search engine can be customizable using the filter
option according to the user or a reader.

57
REFERENCES

1. www.w3schools.com
2. www.a2pstudy.com
3. www.codeprojects.com
4. www.codechef.com
5. www.geeksforgeeks.com

58

You might also like