Anda di halaman 1dari 90

Automated Doctor Appointment and Doctor Help

Management System

Submitted By

Shahrin Sultana

A PROJECT REPORT SUBMITTED IN PARTIAL FULFILMENT OF THE


REQUIREMENTS FOR THE DEGREE OF BACHELOR OF COMPUTER SCIENCE AND
ENGINEERING

Department of Computer Science and Engineering


International Islamic University Chittagong
May 2015
Automated Doctor Appointment and Doctor Help Management System
By

Shahrin Sultana C111230

PROJECT REPORT SUBMITTED FOR THE PARTIAL FULFILLMENT OF THE


REQUIREMENT FOR THE DEGREE OF B. SC. IN COMPUTER SCIENCE AND
ENGINEERING

Approved by:

______________________________________
Mohammad Aman Ullah Supervisor
Assistant Professor
Department of Computer Science & Engineering

International Islamic University Chittagong

__________________________________
Dr. Md. Monirul Islam Head
Associate Professor and Head
Department of Computer Science & Engineering
International Islamic University Chittagong

_______________________________________
Dr. Mohammad Shahadat Hossain External
Professor
Department of Computer Science & Engineering
University of Chittagong
i
DECLARATION

This is to certify that the project entitled “Automated Doctor Appointment System and
Doctor Help Management System” done by Shahrin Sultana student of Bachelor in
Computer Science and Engineering at International Islamic University Chittagong under
the guidance of Mohammad Aman Ullah and Md. Azhar Uddin. The matter embodied in this
project has not been submitted earlier for the award of any degree or diploma to the best of my
knowledge and belief.

____________________________
Shahrin Sultana

ii
DEDICATION

This project is dedicated to


My Parents and Teachers

iii
ACKNOWLEDGEMENT

Words are not just enough to express my gratitude but I take this opportunity to express my
profound sense of gratitude and respect to all those who helped me throughout the duration of
this project. I acknowledge the effort of those who have contributed significantly to my project.
First of all I am very thankful to Allah for providing me such a great opportunity to do the
Project and also very thankful to my Parents for their regular support and guidance’s.
I feel privileged to offer my sincere thanks and deep sense of gratitude to my respected and
honorable Teacher Mohammad Aman Ullah, Supervisor, Md. Azhar Uddin, Co-supervisor,
for expressing Their confidence in me by letting me work on a project of this magnitude and
using latest technologies and providing Their support, help & encouragement in implementing
this project. It would never been possible to complete this complicated task without Their
continuous support, supervision and encouragement. In spite of very busy schedule He always
guided me properly. It was an exciting and enlightening experience for me doing my project
under His guidance and supervision.

Last but not the least, am grateful to all my friends for providing critical feedback & support
whenever required.

There are times in such projects when clock beats you time and you run out of energy, you just
want to finish it once and forever, Parents and Friends made me endure such times with their
unfailing humor & warm wishes.

iv
ABSTRACT

The project entitled as “Automated Doctor Appointment and Doctor Help Management
System” is a web based application. It maintains records of patient, doctor, appointment and
schedule that occur at any of the medical center. It maintains two levels of users, administrator
level and user level. User level is divided into two, patient level and the doctor level. The
administrator level encompasses the hospital staffs, who maintain the appointment records. The
user level includes the patients, who take service from the hospital, and the doctors. The
administrators are able to perform operations on more sensitive and confidential documents
/modules that contain different information about doctors and patient to ensure confidentiality.
System enables registration of new patient at the user level. Doctors are registered by hospital
staff. From the account of user as patient, one can take appointment of a doctor; can see doctor
details and all his appointment date and time. Another extra facility one will get is that, he can
send message to a doctor about his sickness if he agrees prior and doctor can also reply it.
The current system is taking appointment of a doctor by phone call or taking serial directly from
the hospital. The proposed system has the following capabilities:-maintaining patient’s records,
registering new patients, records of appointments and easy future references. Users and
administrators can search records more easily. The project has been developed in back-end: PHP,
MySQL and front-end: HTML, CSS, and JavaScript.
The main motto of my project is to facilitate the people to take appointment easily, find doctors
available schedule. It is also helpful for doctors to mange his schedule and appointments easily.

v
TABLE OF CONTENTS

TITLE

APPROVAL i

DECLARATION ii

DEDICATION iii

ACKNOELEDGEMENT iv

ABSTRACT v
TABLE OF CONTENTS

LIST OF TABLES x

LIST OF FIGURES xi

Contents
INTRODUCTION ........................................................................................................................................................... 1

1.1 Objectives of the Project .................................................................................................. 1


1.2 Motivation ........................................................................................................................ 1
1.3 Requirement Specification ............................................................................................... 2
1.4 Problems of the Existing System ..................................................................................... 2
1.5 Literature Review ............................................................................................................. 3

CHAPTER 2 ..................................................................................................................................................................... 4

AUTOMATED DOCTOR APPOINTMENT AND DOCTOR HELP MANAGEMENT SYSTEM ....................... 4

2.1 Proposed System .............................................................................................................. 4

vi
2.2 Site Proposal..................................................................................................................... 6
2.2.1 Features of Proposed System .................................................................................... 6

CHAPTER 3 ..................................................................................................................................................................... 8

METHODOLOGY .......................................................................................................................................................... 8

3.1 Necessity of Methodology ............................................................................................... 8


3.2 Software Development Life Cycle (SDLC) ..................................................................... 9
3.2.1 Feasibility Study ....................................................................................................... 9
3.2.2 Requirement Definition .......................................................................................... 10
3.2.3 System Definition ................................................................................................... 11
3.2.4 System Design ........................................................................................................ 11
3.2.5 Program Design and Coding ................................................................................... 11
3.2.6 Testing..................................................................................................................... 11
3.2.7 Implementation ....................................................................................................... 12
3.2.8 Changing Request Definition.................................................................................. 12
3.3 Software Process Model ................................................................................................. 12
3.3.1 Incremental Model .................................................................................................. 13

CHAPTER 4 ................................................................................................................................................................... 15

FEASIBILITY STUDY ................................................................................................................................................. 15

4.1 Gantt Chart ..................................................................................................................... 15


4.2 Objectives of Feasibility Study ...................................................................................... 16
4.2.1 Technical Feasibility ............................................................................................... 17
4.2.2 Economic Feasibility .............................................................................................. 17
4.2.3 Operational Feasibility ............................................................................................ 18
4.2.4 Schedule Feasibility ................................................................................................ 18

CHAPTER 5 ................................................................................................................................................................... 19

SOFTWARE DESIGN DESCRIPTION ..................................................................................................................... 19

5.1 Software Design Description ......................................................................................... 19


5.2 Design Overview ............................................................................................................ 19
5.3 Traceability..................................................................................................................... 19

vii
5.4 Architecture Design Process .......................................................................................... 20
5.5 Overall Design................................................................................................................ 20
5.5.1 Entity Relation Diagram ......................................................................................... 20
5.5.2 Date Flow Diagram ................................................................................................. 22
5.5.3 Use Case Diagram................................................................................................... 29
5.5.4 Sequence Diagram .................................................................................................. 30
5.5.5 Activity Diagram .................................................................................................... 35
5.6 Interface Design ............................................................................................................. 39

CHAPTER 6 ................................................................................................................................................................... 53

DATA DICTIONARY ................................................................................................................................................... 53

6.1 Data Dictionary .............................................................................................................. 53


6.2 Database ......................................................................................................................... 53
6.3 Database Management System....................................................................................... 53
6.4 Tables of System ............................................................................................................ 54
6.4.1 Patient Info Table .................................................................................................... 54
6.4.2 Doctor Info Table .................................................................................................... 55
6.4.3 Appointment Table ................................................................................................. 55
6.4.4 Doctor Details Table ............................................................................................... 56
6.4.5 Invalid Patient Info Table ....................................................................................... 56
6.4.6 Message Table ........................................................................................................ 57
6.4.7 Doctor Schedule Table ............................................................................................ 58
6.4.8 Bank Account Table ............................................................................................... 58
6.4.9 System Admin Table............................................................................................... 59
6.4.10 Bank Admin Table .................................................................................................. 59

CHAPTER 7 ................................................................................................................................................................... 60

SOFTWARE IMPLEMENTATION ........................................................................................................................... 60

7.1 Software Implementation ............................................................................................... 60


7.2 Web Application ............................................................................................................ 62
7.3 Text Editor...................................................................................................................... 63
7.4 Software ......................................................................................................................... 63
viii
CHAPTER 8 ................................................................................................................................................................... 64

TESTING ....................................................................................................................................................................... 64

8.1 Testing................................................................................................................................. 64
8.2 Testing Methods.................................................................................................................. 65
8.2.1 Static Testing .......................................................................................................... 65
8.2.2 Dynamic Testing ..................................................................................................... 65
8.2.3 Black Box Testing................................................................................................... 66
8.2.4 White Box Testing .................................................................................................. 67
8.3 Testing Level .................................................................................................................. 68
8.4 Testing Types ................................................................................................................. 70
8.5 Importance of Testing ................................................................................................... 71

CHAPTER 9 ................................................................................................................................................................... 72

SOFTWARE MAINTANANCE ................................................................................................................................... 72

9.1 Software Maintenance .................................................................................................... 72


9.2 Importance of Software Maintenance ............................................................................ 73

CHAPTER 10 ................................................................................................................................................................. 75

DISCUSSION AND CONCLUSION ........................................................................................................................... 75

10.1 Advantages of the system ................................................................................................. 75


10.2 Limitation of the system ................................................................................................... 75
10.3 Future Plan ........................................................................................................................ 76

CHAPTER 11 ................................................................................................................................................................. 77

REFERENCES .............................................................................................................................................................. 77

ix
LIST OF TABLES

Table 6.4.1 Patient Info Table ………………………………………………………. 55

Table 6.4.2 Doctor Info Table ………………………………………………………. 56

Table 6.4.3 Appointment Table……………………………………………………… 56

Table 6.4.4 Doctor Details Table…………………………………………………….. 57

Table 6.4.5 Invalid Patient Info Table……………………………………………….. 57

Table 6.4.6 Message Table…………………………………………………………... 58

Table 6.4.7 Doctor Schedule Table………………………………………………….. 59

Table 6.4.8 Bank Account Table………………………………………………......... 59

Table 6.4.9 System Admin Table……………………………………………………. 60

Table 6.4.10 Bank Admin Table……………………………………………………… 60

Table 8.2.2 Test Cases for User Registration Page…………………………………… 67

Table 8.2.3 Black Box Testing Test Cases……………………………………………. 68

LIST OF FIGURES

Fig 2.1: Proposed System……………………………………………………………..... 06


Fig 3.2: Software Development Life Cycle………………………………………......... 10
Fig 3.3.1: Incremental Model…………………………………………………………… 14
Fig 4.1: Gantt chart……………………………………………………………….......... 17
Fig 5.5.1: ERD………………………………………………………………………….. 23
Fig 5.5.2.1: Context Diagram…………………………………………………………… 25
Fig 5.5.2.2: Level 0 DFD………………………………………………………………... 26
Fig 5.5.2.3: Level 1 DFD for Doctor……………………………………………………. 27
Fig 5.5.2.4: Level 1 DFD for Patient……………………………………………………. 28
Fig 5.5.2.5: Level 2 DFD………………………………………………………………... 29

x
Fig 5.5.3: Use Case……………………………………………………………………… 31
Fig 5.5.4.1: Sequence Diagram…………………………………………………………. 33
Fig 5.5.4.2: Sequence Diagram for Patient…………………………………………….. 34
Fig 5.5.4.3: Sequence Diagram for Doctor…………………………………………….. 35
Fig 5.5.4.4: Sequence Diagram for Admin…………………………………………….. 36
Fig 5.5.5.1: Activity Diagram for Patient……………………………………………… 38
Fig 5.5.5.2: Activity Diagram for Doctor……………………………………………… 39
Fig 5.5.5.3: Activity Diagram for Admin……………………………………………… 40
Fig 5.6.1: Home Page…………………………………………………………………… 41
Fig 5.6.2: Patient Signup………………………………………………………………... 42
Fig 5.6.3: Patient Login…………………………………………………………............ 43
Fig 5.6.4: Patient Appointment…………………………………………………………. 44
Fig 5.6.5: Select Appointment Date…………………………………………………….. 45
Fig 5.6.6: Payment Form………………………………………………………………... 45
Fig 5.6.7: Send Message to Doctor………………………………………………........... 46
Fig 5.6.8: Add Schedule for Doctor…………………………………………………….. 47
Fig 5.6.9: View Schedules for Doctor…………………………………………….......... 48
Fig 5.6.10: View Appointments for Doctor……………………………………………... 49
Fig 5.6.11: Prescribe Medicine by Doctor………………………………………………. 50
Fig 5.6.12: Admin Register Doctor……………………………………………………... 51
Fig 5.6.13: View Patients by Admin……………………………………………………. 52
Fig 5.6.14: View Bookings by Admin………………………………………………….. 53
Fig 8.2.4.1: Message When User Want to Select Previous Date……………………….. 69
Fig 8.2.4.2: User Want to Take Appointment More Than One in the Same Date……… 69

Fig 8.4: Testing Sequence………………………………………………………………. 71

Fig 10.2.1: Pie Chart of Different Maintenance………………………………………… 75

xi
Chapter 1

INTRODUCTION

The proposed system is to make an online web application for easily taking appointment of a
doctor see the schedule of doctors, so that everyone can get information about doctor’s
availability, time slot, and send request to any doctor for medicine. Doctors and patients can also
easily communicate with each other from any where. This project is aimed at developing an
online application for appointing a doctor. Users have to logging in the system to be able to take
appointment of a doctor and update their information. Doctors have to logging to see his
appointments. The proposed system could be accessed from any corner of the world on net.

1.1 Objectives of the Project


Our modern age of technology is greatly depends on internet. Everything is converted to
computer based for easier and faster communication. Here I tried to develop such a system,
which will ensure some aspects,
 Reliability, maintainability, cost-effectiveness and a nice user-friendly environment.
 The objective of the project is to provide an opportunity of getting doctor appointment
easily.
 Proper management of appointments, securely stores all records.
 Save money and time.

1.2 Motivation
This project is enabling to search for doctor from user account. The motive of developing this
application is to design a feature rich search engine which can make the search of doctors of the
hospital. In the Automated Doctor appointment System the users (admin, patient, doctor) will be
much benefited. Admin will be able to register doctor, view/delete patient listing, and finally
moderate (insert, update and delete) information. The deliverables of the software are focused
below in brief:
 They can view, edit, and update their profile from anywhere.

1
 User friendly interfaces are developed to use this software easily.
 Doctor and patient information are stored.
 All users can login by using username and password to access their information.
 Reduce the paperwork and storage area.
 Improve accuracy in result.

1.3 Requirement Specification


Scope:-
The scope of the project is to enable the users to search for doctors, get appointment and also send
message to the doctor. User can search doctors which can make user to find specific doctor an easy
task. This project has a large scope as it has the following features which help in making it easy
to use, understand and modify it:
 Easily take doctor appointment.
 No Need to do Paper Work.
 To save the environment by using paper free work.
 To increase the accuracy and efficiency of the procedure.
 Management of Patient and doctor Data.
The implementation of this application also gives a hands-on experience in PHP, MySQL,
HTML, CSS, JavaScript and Ajax.

1.4 Problems of the Existing System


The main purpose of this Web Application is to handle doctor appointment easily among the
hundreds of existing systems on World Wide Web. Though there are lots of applications like this
in web but it is a matter of sorrow that, in our country real life example like this is very rear.
Only a few amounts of hospitals in our country provide such facility. One may come to know
that doctor’s serial is finished after arriving to the hospital. However, in the proposed system we
will try to overcome these entire problems.
Present Working System
 In Various hospital one have to take appointment by phone call or by directly from the
hospital. It is time consuming and costly.
 Hospital staffs have to collect the information manually.

2
 It needs paper work and takes input by human and there is a lot of transaction which is
not efficiently done.
 If any modifications or updating are required of any doctor/patient, it has to search and to be done it
manually. So it is prone to error.
 It is a time consuming activity of managing, updating and informing specific patient
information.
 Patient or doctor can’t modify their information themselves and if there is any update
or modification, they have to inform it to hospital staff and get it updated.
 It takes a lot of space for storage and other information.

1.5 Literature Review


I read some papers related to this work. The main objective of their work is given below,
 For the first one, Chutisant Kerdvibulvech and Nwe Ni Win, done it for a dental hospital.
Here administrator of the system is dentist. Administrator can check the patient’s
requests, manage the appointment schedule, and manage the patient’s information.
Patients can submit their personal comments to the dental clinic for better services [10]. I
think that, doctor has to manage all the activities. So excess workload for doctor. We can
divide the work between doctor and hospital staff.
 In the second one, Xiuju Zhan and Xiufeng Liu, built a system that consists of
appointment registration, data management, data backup and recovery. They emphasize
on date backup for security and recover from failure. For editing, deleting and searching
of data special work is done. [11]Here I found that, they have not any option for payment.
 In the third one, Mohd Helmy, Abd Wahab and others, implement a web-based
appointment system by integrating with Intelligent System techniques. It does not have
any ID and password to log-in before making any appointment. Role of agent is to
manage information in databases. It is not only doctor but also other appointments [12].
Here I found that, they have not any user account.

3
Chapter 2

AUTOMATED DOCTOR APPOINTMENT AND DOCTOR HELP


MANAGEMENT SYSTEM

The “Automated Doctor Appointment and Doctor Help Management System” is a web-
based application structured on PHP, MYSQL for providing better service and easiest access to
appoint doctor and by using this system any hospital can manage appointment schedule easily. A
new system is proposed which is processed through computers. The system is operated by three
types of users, namely Administrator, Patient and Doctor.

2.1 Proposed System


This software can be readily used by non-programming personal, avoiding human handled
chance of error. This project is used by three types of users
i. Administrator.
ii. Patient.
iii. Doctor.
The system includes the entities as their admin. Only few members, who called admin, are able
to control that system. Update any system information such as register doctor, view doctor, view
patient, delete patient, delete doctor, and view appointments. Admins are the core user of the
system. There is no involvement of any user other than administrator to update the core
information due to security purpose.
The second types of user, patient has limited access. He can add and modify information of his
own. He can also see all of his appointments and can search doctor for the doctor list. He can pay
doctor fee online. Another thing is that, he can send message to doctor about his sickness. This
facility is only available for registered user who agreed before to get this facility.
The third type of user is doctor. He is registered by admin. From his account he can add and
modify his schedule time, modify his information, and see all of his appointments. Doctor can
also search appointments of a specific date. Administrator, patient and doctor must be authorized
user. The administrator has the central control over the whole. In figure below shows the proposed system
architecture. It shows how the three types of user communicate with the system.
4
Main Points are:-
 For patient
 Register in system.
 Taking appointment of doctor.
 Send message to doctor.
 For doctor
 Set schedule.
 View appointments.
 Reply message.
 For Admin
 Register doctor.
 View appointments.
 Delete patient/doctor.

$ Response req.
Respond

Database
Request
Bank
Req. for account

System

Request

Respond
Server

Req. for view


View all appointments
info.
Confirmation

Respond Response req. `


`
Req. for
appointment

patient doctor

admin

Fig 2.1: Proposed System.


5
2.2 Site Proposal
This project proposal may be seen as an outline following the requirement analysis phase for a
more complete and specific web site plan for the system.

2.2.1 Features of Proposed System


The proposed system is better than others because some extensive features as follows,
2.2.1.1 Administrator
Admin Panel:
1. Add Doctor: Admin can add doctor details using add doctor module. It has an option named agree to
prescribe patient. If a doctor agreed to help online then he will get message from patients otherwise not.
2. View Doctor: Admin can see the doctor list in this module. Admin can view details and also can
delete specific doctor.
3. View patient: Admin can see the patient list in this module; who are registered in this system. Admin
can view details and also can delete specific patient account.
4. Delete Patient: Admin can delete patient account by email id in this module.
5. Delete Doctor: Admin can delete doctor account by email id in this module.
6. View Booking: In this module admin can see all the appointments of doctors. It can be retrieved by
doctor name, by specialist or by date. Or admin can search specific.

2.2.1.2 Patient
Patient Panel:
1. Create a Profile (Registration): Here a new user can register in the system. He must
have to fill up all the information. He must have a unique user name, email id and
account number. Here an option named “do you want online doctor help”. If anyone
agree to this extra feature than he have to pay an amount and can request doctor online
for prescribe medicine. Otherwise he will not get this facility.
2. Add More Information: In this module patient can add more information about him.
3. Modify Information: Patient can modify information whenever he needs.
4. Deactivate Account: If anyone wants to deactivate his account he can do that by this
module. He has to enter user name, email and password correctly then his account will be
deactivated.

6
5. Appointment: It is the most important module from where a patient can take doctors
appointment. One can see doctor name, specialist and payment here. He can select one
from there or can search by doctor name or by specialist. After getting his desire doctor
he can see details of the doctor by the button “more” or can take appointment by
“appointment” button. After pressing “appointment” he can see doctors schedule and
time. He has to select the date. After satisfying all the conditions if everything okay then
he has to pay the fixed amount for doctor fees. For payment he has to enter name on card,
card no and pin no. if all are correct then he will get appointment successfully and get a
notification. It has a sub module named view appointment. Where he can see all of his
appointments along with, serial number, date and time.
6. Doctor Help: It is an extra feature of this system. One who agrees to get online doctor help will get
this facility. For this he has to pay a fixed amount at the time of registration. He can send message to a
doctor about his sickness and request doctor for medicine then doctor will reply.

2.2.1.3 Doctor
Doctor Panel:
1. Modify Information: Doctor can modify information whenever he needs.
2. Add Schedule: Doctor can add his visiting time schedule. He has to set start time, end
time and duration of each patient visiting time.
3. View Schedule: Doctor can see all of his schedules. Can edit or delete schedule.
4. Appointments: Doctor can see all of his appointments. It is categorized by today,
previous and next. He can see the patient name, serial no and time. He can also search for
a specific date.
5. Prescribe Medicine: In this module doctor will receive message from patient. He can
reply or delete.
6. Deactivate Account: If anyone wants to deactivate his account he can do that by this
module. He has to enter user name, email and password correctly then his account will be
deactivated.

7
Chapter 3

METHODOLOGY

Software Engineering is the practice of using selected process techniques to improve the quality
of a software development effort. This is based on the assumption, subject to endless debate and
supported by patient experience, which is a methodical approach to software development results
in fewer defects and therefore ultimately provides shorter delivery time and better value. The
document collection of policies, process and procedures used by a development team or
organization to practice software engineering is called its Software Development Methodology
(SDM) or Software Development Life Cycle (SDLC).
A methodology is a formalized approach to implementing the SDLC. There are many different
system development methodologies and each one is unique because of its emphasis on process
verses data and the order and focus it places on each SDLC phase.

3.1 Necessity of Methodology


Software developers follows some methodology which is step wise process to develop a project
involving usage of programming language for a particular solutions. It includes examining,
designing, developing, testing, documenting, implementing, and evaluating the complex subject
of software engineering. Developers work to reduce the risks involved in the project
management. If a project runs for a long time, it has a higher chance of risks for the software
development team and as well as the project. So developers have to follow a framework, which
helps them to finish off the software development in the least amount of time. Agile software
development is a group of software development methodology based on iterative and
incremental development, where requirements and solutions evolve through collaboration
between self-organizing, cross functional teams [19]. We have to select methodology very
wisely. The challenge in selecting a methodology is that if we wrongly select anyone that is not
appropriate and don’t match with our project there is a big risk of project failure.
In order to develop the system, we need a methodology. An advanced SDLC is the appropriate
framework at this point.

8
3.2 Software Development Life Cycle (SDLC)
Computer software experts have adapted several approaches from older engineering fields, and
also for developing new ones. For instance, divide and conquer a widely known technique for
handling more complex problems, is used in a number of ways in software engineering. The
software engineering process, for example, is normally divided into phases. SDLC is a series of
steps which provides a model for development and lifecycle management of software. It varies
across industry and organization. But it has a standard. For this a number of system development
life cycle models have been created. Some of them are waterfall, spiral, fountain, build and fix,
rapid prototyping, incremental.

Feasibility study

Changing request Requirement


definition definition

Implementation SDLC System


specification

Testing System design

Program design
and coding

Fig 3.2: Software Development Life Cycle.

3.2.1 Feasibility Study


In the first stage of SDLC I have to make measure feasibility study for the proposed system.
There are basically five parts to any effective Feasibility Study:

9
1. The Project Scope–I define the project scope earlier. Users can search for doctors, get
appointment and also send message to the doctor. User can search doctors which can make
user to find specific doctor an easy task.This project has a large scope as it has the
following features which help in making it easy to use, understand and modify it.
 Easily take doctor appointment.
 No Need to do Paper Work.
 To save the environment by using paper free work.
 To increase the accuracy and efficiency of the procedure.
 Management of Patient and doctor Data.
2. The Current Analysis – In Various hospital we have to take appointment by phone call
or by directly from the hospital. It is time consuming and costly.Hospital staffs have to
collect the information manually. It needs paper work and takes input by human and there
is a lot of transaction which is not efficiently done.If any modifications or updating is required
of any doctor/patient, it has to search and to be done it manually. So it is prone to error.
3. Requirements – User requires using the system simply a laptop, PC or mobile phone to
access internet. Using internet it is very much easy to take appointment.
4. Evaluation – In evaluation I examine cost effectiveness of the system. It is cost effective
as patient need not to go to hospital for taking appointment previously. Time is also
saved. One can take appointment from his home using internet.
5. Review – From the above analysis it may be conclude that the system would be useful,
cost effective, easy to use and will solve the manual system faults.

3.2.2 Requirement Definition


The purpose of the requirements phase is to define what a system should do and the constraints
under which it must operate. This information is recorded in a requirements document. A typical
requirements document might include a product overview; a specification of the development,
operating, and maintenance environment for the product; a high-level conceptual model of the
system; a specification of the user interface; specification of functional requirements;
specification of nonfunctional requirements; specification of interfaces to systems outside the
system under development; specification of how errors will be handled; and a listing of possible
changes and enhancements to the system.
10
3.2.3 System Definition
In system specification I first focus is ERD (Entity Relationship Diagram), which shows entity
with their attributes, relationship with entities involving one-one, one-many, many-one or many-
many. Data flow diagram, use case diagram, activity diagram, sequence diagram are also
designed to understand the system clearly and completely.

3.2.4 System Design


Systems design is the process of defining the architecture, components, modules, interfaces, and
data for a system to satisfy specified requirements [18]. It helps in specifying hardware and
system requirements and also helps in defining overall system architecture. The system design
specifications serve as input for the next phase of the model. It includes interface design, data
design, and process design. In user interface design I concerned with how users interact with the
system, add information to the system. And how the system will presents information back to the
users. In data design it concerned with how the data is represented and stored within the system.
Finally, Process Design is concerned with how data moves through the system. I show this in
DFD.

3.2.5 Program Design and Coding


The coding phase of the software life-cycle is concerned with the development of code that will
implement the design. This code is written is a formal language called a programming language.
Programming languages have evolved over time from sequences of ones and zeros directly
interpretable by a computer, through symbolic machine code, assembly languages, and finally to
higher-level languages that are more understandable to humans.
Most coding today is done in one of the higher-level languages. When code is written in a
higher-level language, it is translated into assembly code, and eventually machine code, by a
compiler. Many higher-level languages have been developed, and they can be categorized as
functional languages, declarative languages, and imperative languages.

3.2.6 Testing
Testing is the process of examining a software product to find errors. This is necessary not just
for code but for all life-cycle products and all documents in support of the software such as user
11
manuals. The software testing process is often divided into phases. The first phase is unit testing
of software developed by a single programmer. The second phase is integration testing where
units are combined and tested as a group. System testing is done on the entire system, usually
with test cases developed from the system requirements. Acceptance testing of the system is
done by its intended users. The basic unit of testing is the test case. A test case consists of a test
case type, which is the aspect of the system that the test case is supposed to exercise; test
conditions, which consist of the input values for the test; the environmental state of the system to
be used in the test; and the expected behavior of the system given the inputs and environmental
factors. I perform various testing and give complete description of it in chapter 8.

3.2.7 Implementation
The implementation stage of any project is a true display of the defining moments that make a
project a success or a failure. The implementation stage is defined as "the system or system
modifications being installed and made operational in a production environment. The phase is
initiated after the system has been tested and accepted by the user.
In SDLC model, this implementation part involves implementing the system to any types of
administration site and to make process of client request and payment processing.

3.2.8 Changing Request Definition


If any advance or updated point comes after delivering the system, then at this stage explains the
processing of development of the delivered system. This type of changeable maintenance is very
important.

3.3 Software Process Model


Software process models are general approaches for organizing a project into activities. Each
project ends up with its own unique plan. It helps to decide,
 What work should be done?
 In what sequence to perform the work.
Process is an activity, which operates on an object and changes its state. Model is the graphical
representation of an object. Therefore, a process model shows the activities of software
graphically. We need process model because process is important than product. If the process is
12
good, the product is also good. While developing the system I follow incremental method.
Particularly in this method break a project into smaller segments and providing more ease of
change during development process. A series of mini-Waterfalls are performed, where all phases
of the Waterfall development model are completed for a small part of the system, before
proceeding to the next increment.

3.3.1 Incremental Model


Incremental development is a staging and scheduling strategy in which various parts of the
system are developed at different times or rates, and integrated as they are completed. [1]
Build 1

Design Testing Implementation

Build 2
Implementation
Requirements Design Testing

Build N
Implementation
Design Testing

Fig 3.3.1: Incremental Model.

The Incremental approach is a method of software development where the model is designed,
implemented and tested incrementally (a little more is added each time) until the product is
finished. It involves both development and maintenance. The product is defined as finished when
it satisfies its entire requirement. In incremental model the whole requirement is divided into
various builds. Multiple development cycles take place here, making the life cycle a “multi-
waterfall” cycle. Cycles are divided up into smaller, more easily managed modules. Each
module passes through the requirements, design, implementation and testing phases. Each
subsequent release of the module adds function to the previous release. The process continues till
the complete system is achieved.
In my system I start building its first module patient panel for the first iteration. Likewise in the
second iteration the admin module is ready and integrated with the first module. Similarly, in the
13
third iteration the whole system is ready and integrated. Hence, the system got ready step by
step. In every step I tested each module separately.
In Incremental Approach it uses a number of steps and development goes from start to finish in a
linear path of progression.

Advantage of Incremental Model


There are various models to develop a software system. I choose this model among those
because,
 It is generally easier to test and debug than other methods of software development.
Because relatively smaller changes are made during each iteration. This allows me for
more targeted and rigorous testing of each element within the overall product.
 Risk of changing requirement is reduced because; In each iteration I built a small portion
of the system.
 Work load is less because the whole system need not done together.
 I add the main function in the first iteration so it helps to the other iterations.
 It is flexible and easy to manage more manageable process and better software making
and better software structure.
Disadvantage of Incremental Model
Though I have used this model but in the development phase I face some difficulties,
 It needs good planning and design. So when I change a plan it needs to work for the
previous iteration.
 Needs a clear and complete definition of the whole system before it can be broken down
and built incrementally. In some iteration I was confused what I should do next.

14
Chapter 4

FEASIBILITY STUDY

A feasibility study is a study that includes the analysis of the software if it is cost effective from
the economic view, if it can fulfill the requirement technically, and if it is adaptable in the
required environment. It also condiments the groundwork and determine whether the project
should be taken or not. Finally, the net result will be rough plane for proceeding with the project.

4.1 Gantt Chart


One of the oldest and still one of the most useful of presenting schedule information is the Gantt
chart. Gantt chart is a pioneer in the field of scientific management. The Gantt chart show
planned and actual progress for a number of tasks displayed against horizontal time scale. In
figure horizontal bars indicate time duration. In figure it shows there are eight tasks and their
time duration, start time and end time. Initial study takes 3.2 weeks. It includes the understanding
of the whole system. Then feasibility study takes 4.2 weeks. Similarly requirement analysis 4
weeks, design 6.8 weeks, coding 10.4 weeks, testing 12 weeks, implementation and review 6.4
weeks, review report 3 weeks. From the vertical bar it is clear that design, coding and testing
takes the maximum time and overlap the works with each other.

15
Sep 2014 Oct 2014 Nov 2014 Dec 2014 Jan 2015 Feb 2015 Mar 2015
ID Task Name Start Finish Duration
8/31 9/7 9/14 9/21 9/28 10/5 10/12 10/19 10/26 11/2 11/9 11/16 11/23 11/30 12/7 12/14 12/21 12/28 1/4 1/11 1/18 1/25 2/1 2/8 2/15 2/22 3/1 3/8 3/15 3/22

1 Initial Study 9/1/2014 9/22/2014 3.2w

2 Feasibility Study 9/18/2014 10/16/2014 4.2w

Requirement
3 10/7/2014 11/3/2014 4w
Analysis
4 Design 10/23/2014 12/9/2014 6.8w

5 Coding 11/13/2014 1/23/2015 10.4w

6 Testing 12/1/2014 2/20/2015 12w

Implementation
7 1/19/2015 3/3/2015 6.4w
& Review

8 Review Report 3/3/2015 3/23/2015 3w

Figure 4.1: Gantt chart

4.2 Objectives of Feasibility Study


A feasibility study evaluates the project's potential for success. So before start to design and
develop a system feasibility study is very much important. From the feasibility study of the
project, I have identified four fundamental criteria. As a feasible project complete successfully,
the project will complete successfully. The four dimensions are:
1. Technical feasibility
2. Economic feasibility
3. Operational feasibility/Organizational feasibility
4. Schedule feasibility

16
4.2.1 Technical Feasibility
A system request is technically feasible if the organization has or can obtain the equipment to
develop, install and operate the system. The following questions point up those we must solve.
o Will the combination of hardware and software be able to supply performance?
o What is the impact on the end users of the proposed system after implemented?

Technical Criteria: Technical criteria study is concerned with the hardware requirement for the
system. For our system the minimum hardware requirements are,
PC: Pentium III or more
RAM: 128 MB or more
Hard Disk: minimum2 GB
Keyboard
Mouse
For our system the software requirements are
Operating system: Linux, Windows XP, Windows Vista or more
Server: Apache web server.
Application Software: Google Chrome, operamini or Mozilla Firefox.

4.2.2 Economic Feasibility


A system request is economically feasible if the projected benefits of the proposed system
outweigh the estimated cost involved in developing, installing and operating it. To determine
economic feasibility I ascertain the following:
o The system is economic feasible in the sense that people need not to go to hospital for
appointment.
o No special hardware is needed. So Estimate the cost of needed equipment, the hardware
that will be needed to develop the system. For example: need of a personal computer.
o Estimate the cost of purchasing the necessary software.
o Estimate the benefits that will result from the proposed system.

Economic feasibility is usually answered from cost/benefit analysis. The purpose of cost
estimation helps to classify what the system is going to do.

17
4.2.3 Operational Feasibility
Operationally feasible project can be accomplished with the organizations available facilities.
Operational feasibility is concerned with, how the user will accept the software. If the software
does not meet the user expectation, then the user might not use the software. It is dependent on
human resources available for the project and involves projecting whether the system will be
used if it is developed and implemented. It is a measure of how well a proposed system solves
the problems. And it takes advantage of the opportunities identified during scope definition and
how it satisfies the requirements identified in the requirements analysis phase of system
development. The system I developed, I tried my best to make it in such a way, and users of all
level can easily use the software.

4.2.4 Schedule Feasibility


A project will fail if it takes too long to be completed before it is useful. Typically this means
estimating how long the system will take to develop, and if it can be completed in a given time
period using some methods like payback period. Schedule feasibility is a measure of how
reasonable the project timetable is. Based on given information the system will perform given
tasks. Planning a project strategy and building a project schedule to
o Complete project within time and budget.
o Resource management system.
o Increase team productivity.
o Increase project success rate.
o Realize significant time and resource savings.

I tried to complete the software within time limit. And almost I can do it. The proposed system
will easily be accessible and it will be well organized and delivered the right information in the
right place.

18
Chapter 5

SOFTWARE DESIGN DESCRIPTION

5.1 Software Design Description


The Software Design Description specifies the required information content [2].It provides an
architectural overview, logical design, detail design, physical design and application design of
the System. This document presents to various stakeholders different types of abstraction. It aims
to provide the stakeholders a clear understanding of the system [3]. It must contain all the design
information needed by users. This document user may not have the same level of system
understanding. So they may need a selected portion of SDD. But it should be collected and
presented in a way that assures completeness.
It describes design decisions, architectural design, and the detailed design needed to implement
the system. Typically, SDD is prepared to support the development of a software item. This
information will farther can be used for analysis, planning, implementation, development and
evaluation of the software system, by identifying and addressing essential design concerns. The
main purpose of SDD is,
 Identify required system resources.
 Describe functional structure, algorithm and process.
 Can be used to impact the requirement change.
 Need for maintenance activity.

5.2 Design Overview


In overall system, there are two template portions. In Right side Navigation links. Left to middle
side is the main window.

5.3 Traceability
The term Traceability or Requirements Traceability refers to the ability to link product
requirements back to stakeholders' rationales and forward to corresponding design artifacts,
code, and test cases. Traceability supports numerous software engineering activities such as

19
change impact analysis, compliance verification or trace back of code, requirements validation. It
is usually accomplished in the form of a matrix created for the verification and validation of the
project. In transaction processing software, traceability implies use of a unique piece of data
which can be traced through the entire software flow of all relevant application programs.
Messages and files at any point in the system can then be audited for correctness and
completeness, using the traceability key to find the particular transaction. This is also sometimes
referred to as the transaction footprint [4].

5.4 Architecture Design Process


The Architecture design process is used for identifying the sub system, making up a system and
the framework for sub-system control and communications architectural design. The output of
this design process is a description of the software architecture.

5.5 Overall Design

5.5.1 Entity Relation Diagram


The ER diagram is principally used to capture the relationships that exist between static data
objects in a problem model or a design model. In particular, the Entity-Relationship Model has
provided an essential foundation for the development of the relational models. To design of an E-
R diagram, it is important to select criteria that have different alternative. For this purpose,
design considering the following steps:
 To use an attributes or a set of attributes to represent an objects.
 A real world concept is expressed most accurately an entity set or by a relationship.
 To use a ternary relationship or a pair of binary relationship among the entities.

In an effective system, data is divided into discrete categories or entities. An entity relationship
(E-R) model is an illustration of various entities and the relationship of various entities and the
relationship between them. ER model is build during the analysis phase of the system
development life cycle. ER model separates the information required by the system from the
activities performed within a system. In ERD there are,

20
 Entities: An object or concept that is identified by the enterprise. In figure below the
rectangle box indicates entity. There are five entities. They are patient, doctor, schedule,
bank account and doctor details. An entity may have one or more attributes.
 Attribute: Attributes are the properties of entities. Attributes are represented by means of
eclipses. Every eclipse represents one attribute and is directly connected to its entity. In
figure all the entities have a number of attributes. Attributes may be primary key or
foreign key. Primary key is denoted by underline.
 Relations: Relationships are represented by diamond shaped box. Name of the
relationship is written in the diamond-box. All entities participating in relationship are
connected to it by a line. In figure there are six relationships. Relationship may be one-to-
one, one-to-many, many-to-one, and many-to-many. Also a relationship may be binary,
ternary or quaternary. There is only one ternary relationship in the figure which connects
doctor, doctor details and bank account entities.
 Links: Links are the connection between entities and relations.

21
Pinno
Cardno AccountNo

Balance AccountName

Time ToAccount
Date FromAccount

BankAccount
1:1 1:1

has has
Date

Time Payment
Qualification
AccountNo
Pay
DateOfBirth Specialist
Gender
AccountNo
Payment
ContactNo 1:1
1:1 SProfession
1:M 1:M
Address Patient Appoint Doctor SpeDegree
Password 1:M 1:M Password
1:M
UserName DId Address
Date Time
Email Email dName
dHelp SerialNo
Help Achievements
LastName PId
Set FirstName QuaDetails
BloodGroup CIty
LastName
FirstName Special Message
Sickness
Gender
STime1
Psubject Date STime2
1:M
Time ETime1
Pmessage
Dmessage Schedule
Dsubject ETime2
Interval
Day
DId

Fig 5.5.1: ERD of the System.

5.5.2 Date Flow Diagram


Data flow diagrams are highly essential for requirement specification of the system that shows
how data is processed and how data flows through a sequence of processing steps by a system.
The data is transformed at each step before moving on the next stage.
The four basic elements that are used in the diagram are:
 The round shape rectangular which are used to denote an operation/process and is labeled
with a brief description of the operation.
22
 The rectangular box, used to denote a data source or sink of information;
 The parallel bars, used to denote a data store or file;
 The arc, used to denote the flow of information between the other three components.
We find out the different flow information like follows:

Symbol Meaning

0.10 Process

Source/destination

Date flow

Data store

Context Diagram
In figure it shows the context diagram of the system. Here three types of users interact with the
system patient, doctor and admin. Patient can request for appointment. Doctor can see all of his
appointments. And admin can supervise all the activities.

23
Patient
Request Registered doctor
approved/reject

0.0

Appointment View patient


request Automated Doctor detail
Appointment Admin
System
Show result

View
appointments

View
Delete patient/
appointments
doctor account
request
Doctor

Fig 5.5.2.1: Context Diagram of the system.

Level 0 DFD
Level zero DFD is the expansion of context diagram. It shows the process and data flow more
briefly. In figure it shows level zero DFD for both doctor and patient.

24
Signup info
Login info

Schedule Patient
record record

0.0
Signup 0.3
0.8 Set schedule
Patient
Schedule Information
Successful
signup
Edit info
View info
0.1
View Message 0.5 Pay
Pay doctor
schedule record Login Patient
payment
Verified Message
Doctor Recommend login record
0.10 medicine
Get
Request help Appointments
Prescribe 0.2
medicine Appointment
View info Account 0.6 record
Edit info

0.7 Request View


appointment
Doctor medicine
0.4
Information
Appointments Appointment

doctor
record Appointments

0.9
View
appointments
Doctor
Appointment

Appointment
record

Fig 5.5.2.2: Level 0 DFD of the System.

25
Level 1 DFD for Doctor
Level one DFD is the expansion of level zero DFD. In figure it shows the level one DFD for
doctor. It starts from the “login account” process. After login it goes to “account” process. All
the updating info’s are stored in data store and can be viewed by the admin.

Admin

1.1
Login info Verify login
Login doctor
Doctor Account record

Verified
account Schedule
1.3 record
1.4 1.2
Schedules

Admin Doctor Schedule


Account
Appointments Appoint Schedule
ments
set

View
Patient request Admin
info
Appointment
record Update Message
1.6
info record
1.5 Prescribe
doctor Medicine
Edit/update
record
Account
Recommend
medicine

Patient

Fig 5.5.2.3: Level 1 DFD for Doctor.

26
Level 1 DFD for Patient
In figure it shows the level one DFD for patient. It starts with “fill signup form process”. After
signup, then login to account. Information’s are seen and retrieved from data store.

1.1
Patient info
Fill patient
Patient record
Signup
Form

Successfully
registered

Appointment 1.2
Verify login
record
Login
Account

Verified
account
Update 1.4
1.5 View 1.3
appointment info
Edit/update
Appointment Account View Account
Request info
appointment
Admin
Admin Sickness
Pay doctor info

1.6
1.7
Request Doctor
Payment medicine

Message
record

Fig 5.5.2.4: Level 1 DFD for Patient.


27
Level 2 DFD
It is the expansion of the process 1.5 “Appointment “from level one DFD for patient. For
appointment search doctor then select date after that select payment option. After successfully
appointment it will notify to the patient account.

1.5.1

Patient
Request Appointment
appointment

1.5.2
Doctor
Search record
Doctor

Selected
doctor
1.5.3

Select Date Admin

Selected
Notify date
Successfully 1.5.4 Successfully
appointment appoint
Select Appointment
Payment record
mode

Fig 5.5.2.5: Level 2 DFD for patient.

28
5.5.3 Use Case Diagram
Use case diagram (UCD) is a methodology used to describe the functionality of a system in a
horizontal way. Each use case focuses on describing how to achieve a goal or task. The use case
is made up of a set of possible sequences of interactions between system and users or actor in a
particular environment and related to a particular goal. The user or actor might be a person or
something more abstract, such as an external software system or manual process.
The three basic elements that are used in design diagram are:
 The Actor-Actor is one who is using the web site. May be a person, organization, or
external system that plays a role in one or more interactions with the system. In figure
outside the system boundary person like figure is the actor. In the system it has three
actors. Patient, doctor and admin. They work outside the system boundary.
 Use Cases – It is what the user wants to do. Describe a sequence of action that
provide something of measureable value to an actor and is drawn as a horizontal
ellipse. In figure within the system boundary oval shapes are the use cases. There are
nine use cases for patient, eleven use cases for doctor and ten use cases for admin.
 System Boundary Boxes – It is what the scope of system for users. A rectangle is
drawn around the use cases, called the system boundary box, to indicate the scope of
the system. Anything within the box represents the functionality that is in scope and
nothing outside the box is.

29
Use Case of the System

System

Signup

GetAppointment

login

ViewAppointment login

Addinfo
Patient
AddNewDoctor
DeactiveAccount
ModifyInfo
ViewDoctor

ViewInfo DoctorHelp DeleteDoctor

Admin
login ViewPatient
AddSchedule

DeletePatient
Addinfo
EditSchedule
ViewBooking
ModifyInfo
DeleteSchedule
ViewInfo ByDate
Doctor ByName

ViewAppointments
BySpecialist

DeactiveAccount
PrescribeMedicine

Fig 5.5.3: Use Case of the system.

5.5.4 Sequence Diagram


The sequence Diagrams are used to show how objects interact with others in particular
scenario of a use case. An important characteristics of a sequence diagram is that time passes
from top to bottom. It depicts the objects and classes involved in the scenario and the
sequence of message exchanged between the objects needed to carry out the functionality of
the scenario, Sequence diagrams are sometimes called, event diagrams, event scenarios, and
timing diagrams.
30
There are five elements to representing a sequence diagram.
1. Actor -An Actor may represent the roles played by human users, external hardware,
or other subjects. In figure 5.5.4.1 user indicate by 1 is the actor.
2. Object -Objects or classes are the targets on a sequence diagram, which means that
messages can be sent to them. A target is displayed as a rectangle with some text in it.
Below the target, its lifeline extends for as long as the target exists. The lifeline is
displayed as a vertical dashed line. In figure 5.5.4.1 system and database indicated by
2 is the object.
3. Activation –A rectangle shape, an activation box represents the time needed for an
object to complete a task. The longer the task will take, the longer the activation box
becomes. In figure 5.5.4.1 vertical box indicated by 3 is activation.
4. Message - A message defines a particular communication between Lifelines of an
Interaction. Call message is a kind of message that represents an invocation of
operation of target lifeline. In figure 5.5.4.1 rigid arrow line indicated by 4is call
message and the text above them is the message which they pass. Reply messages is
represented by a dashed line with a lined arrowhead, these messages are replies to
calls. In figure 7 indicate reply message. Message call indicated by 5.
5. Lifelines - The dashed lines hanging from the object boxes are called object lifelines,
representing the life span of the object during the scenario being modeled. In figure
lifeline is indicated by 6.

31
1

User System Database

login req. Check

Success/Reject reply
3
Change info

5
4 Check validity
6
Update

Update success

7
Logout

Success

Fig 5.5.4.1: Sequence Diagram Example.

Sequence Diagram for Patient


In figure 5.5.4.2 it shows the sequence diagram for patient. Patient is actor here. System and
database are the objects. It shows different message pass among patient, system and database.
Patient registration information is passed to the system. System verifies the information and then
inserts it into the database. Then reply success or reject request. Similarly it shows other
messages and its reply between the system and database.

32
Patient System Database
Enter reg info

Check validity
Reject/Accept req Add info
Req login Varify ID

Accept ID varified
req Add Info Update
Update success
req modify info modify
modify success
req appointment
Check validity
valid req
App success

req medicine send req


notify

logout req
logout

Fig 5.5.4.2: Sequence Diagram for Patient.


Sequence Diagram for Doctor
In figure 5.5.4.3 it shows sequence diagram for doctor. Doctor is actor, system and database is
object. Message call is represented by rigid arrow and message reply is represented by doted
arrow.

33
System Database
Doctor Req login Varify ID
Accept ID varified
Req Add Info Update
Update success
Req Modify Info modify
Modify Success
Req Add Schedule
Schedule Add
Notify
Appointments App Req
show
Prescribribe Medicine Send Req
Notify
Logout Req
Logout

Fig 5.5.4.3: Sequence Diagram for Doctor.

Sequence Diagram for Admin


In figure 5.5.4.4 it shows the sequence diagram for admin. Admin is actor here. System and
database are the objects.

34
System Database
Admin
Req login Varify ID

Accept ID varified

Add doctor doctor add


add success
View Doctor Req
Doctor List
Delete Doctor Req
Delete
View Patient Req
Patient List
Delete Patient Req
Delete
View Booking Req
Bookings
logout req
logout

Fig 5.5.4.4: Sequence Diagram for Admin.

5.5.5 Activity Diagram


Activity Diagrams are graphical representations of workflows of stepwise components in a
system means shows the overall flow of control. The elements of Activity diagram are presented
below with a figure:
 Initial State -The filled blocked circle is the starting point of the diagram. In figure black
circle is the initial state.

35
 Final State -The activities flow terminates when the transition line of the last action in
the sequence connects to a “final state” symbol that is the ending point, which is a bull’s-
eye. In figure the circle surrounding a smaller solid circle or encircled block circle is the
final node.
 Action State -An action or an activity is indicated on the activity diagram by a “Capsule”
shape. The text inside it indicates the action. In figure there are fourteen action states.
 Transition Fork -A transaction fork has one input and one or more output transactions.
It shows what activity state follows after another. In figure after decision state the
horizontal bar is the transaction fork where there are one input and five output
transactions.
 Transaction Join -A transaction join has more than one input and only one output
transaction. It represents many action states combine into one state. In figure horizontal
bar before logout state is transaction join.
 Decisions -The diamonds represent the decisions where a set of guard conditions are
defined.
 Control Flow – Control flow adds a transaction state from one to another. It is
represented by arrow line. In figure arrow lines represent the control flow.

Activity Diagram for Patient


In figure 5.5.5.1 is shows activity diagram for patient. The first black circle indicates the initial
state. In the next decision state it checks whether the user is registered or not. If he is registered
then go to login state. Again check for user name and password. If valid then he can access the
states add information, modify information, appointment, deactivate account and doctor help.
For appointment one has to select doctor name and date. After completing all the activities he
can log out from his account. And reach to the final state which is represented by the circle
surrounding a smaller solid circle.

36
No
Reg User? Register

Yes

Login

Username No
& password
correct?

Yes

Account

Add Info Modify Info Appointment Doctor Help

Select Doctor

Select Pay Option


Write Message
Select Doctor Select Date

Send

App Success/Reject

Logout

Fig 5.5.5.1: Activity Diagram for Patient.

37
Activity Diagram for Doctor
In figure 5.5.5.2 it shows activity diagram for doctor. In initial state it checks for a registered
doctor. Then check the username and password. Then one can perform modify information, add
schedule, edit/delete schedule, prescribe medicine, deactivate account and appointments. For
schedule add one have to select day, time and interval. After finishing all the states we reach to
the final state by logout.

No
Reg
Doctor? Register by Admin

Yes
Login

Username No
& password
correct?

Yes
Account

Add Schedule Prescribe Medicine

Modify Info Edit/Delete Schedule Appointments

Select Patient

Select Day Select Interval


Write Message
Select Time

Send

Schedule Added

Logout

Fig 5.5.5.2: Activity Diagram for Doctor.


38
Activity Diagram for Admin
After login into the system what admin can do are shown in figure 5.5.5.3.

Login

Username No
& password
correct?

Yes
Account

Add Doctor Doctors Delete Doctor Patients Delete Patient Bookings

Logout

Fig 5.5.5.3: Activity Diagram for Admin.

5.6 Interface Design


Home Page
In figure 5.6.1 it shows the home page of the system. Home page can be accessed by any types of
user whether he is registered or not. From home page user is redirected to signup page or his
account by login.

39
Fig 5.6.1: Home Page
Patient Signup
In figure it shows the patient signup page. Here all fields are required. Valid inputs are only
accepted. Here a special field named “do you want online doctor help”. If anyone agrees, he has
to pay a small amount of money for get the special feature online doctor help.

40
Fig5.6.2: Patient Signup.

Patient login
In the figure below it shows the patient login page. Patient has to enter user name and password
that is already registered in the system. Wrong user name or password will not accepted by the
system. Until correct user name and password is given one cannot access his account.

41
Fig 5.6.3: Patient Login.

Patient Appointment
In the figure below patient can see the doctor list from his account. He can select doctor form
there or can search for doctor. Search can be by doctor name or by specialist. If he gets intended
doctor then he can see more details about the doctor like schedule time or can take appointment
by simply clicking appointment button.

42
Fig5.6.4: Patient Appointment.

Select Appointment Date


In figure 5.6.5 it shows appointment date selection after clicking appointment button previously.
Patient has to select date when he wants to meet the doctor. It must be the date when doctor is
available. The selected date must not a previous date or when doctor is not available. If anyone
does like this error, system will alert him. Another thing is that, anyone can take only one
appointment in the same date. If he tries to take more then one appointment in the same date,
system will stop it. If anyone want to take appointment in a specific date but the serial is already
finished for that date system will give him a message.

43
Fig 5.6.5: Select Appointment Date.
Payment Form
In figure it shows bank payment form. Patient has to enter his name, card no, pin no for payment.
Anything invalid or wrong will not be accepted.

Fig 5.6.6: Payment Form.


44
Doctor Help
This option is available only for the patients who agree at the time of registration. Otherwise it
will not activate in his account. If he agreed he can send message to a specific doctor about his
sickness and request him for medicine. For this he has to pay 500tk at the time of registration.

Fig 5.6.7: Send Message to Doctor.

Doctor Add Schedule


Doctor has to enter day, duration for each patient, start time (when he start to check patient) and
end time (when he want to end) for his schedule. After successfully added he will be notified.
Without out adding schedule he will not get any appointment by patient. So a doctor must add
his schedule.

45
Fig 5.6.8: Add Schedule for Doctor

Doctor View Schedule


Doctor can see all of his schedules added by him. Here he can see day, start time, end time and
interval of his schedule. He can also edit or delete schedules. For this he has to select edit or
delete from the option.

46
Fig 5.6.9: View Schedules for Doctor

View Appointments
It is the appointment page for doctor. Doctor can see all of his appointments along with patient
name, serial no, date and time. Can also search specific date, previous, next appointments and
more details.

47
Fig 5.6.10: View Appointments for Doctor.
Prescribe Medicine
It is a new feature of this system where a doctor will get messages from patients if he agreed
prior. Otherwise he will not get any message. In figure it shows that a doctor account, who
agreed to help patient online get messages from them. He can reply or delete it.

48
Fig 5.6.11: Prescribe Medicine by Doctor
Add Doctor
Here admin register doctors of their hospital. It is essential to input all the fields. System will
notify after successfully added. After adding a doctor in the system by the admin doctor can
access his account using his username and password. In figure it shows adding a doctor.

49
Fig 5.6.12: Admin Register Doctor

View Patients
Admin can see the patient list, which are registered in the system. He can see more details or
delete any patient from the system if he wants. In figure it shows the patient list in admin panel.

50
Fig 5.6.13: View Patients by Admin

View Booking
Admin can see all the bookings along with doctor name, date and time. He can find out bookings
by doctor name, by specialist or by date. He can search specific date also. In the figure it shows
the booking page.

51
Fig 5.6.14: View Bookings by Admin.

52
Chapter 6

DATA DICTIONARY

6.1 Data Dictionary


In database management systems, a file defines the basic organization of a database. A data
dictionary contains a list of all files in the database, the number of records in each file, and
the names and types of each field. Most database management systems keep the data dictionary
hidden from users to prevent them from accidentally destroying its contents. Data dictionaries do
not contain any actual data from the database, only book keeping information for managing it.
Without a data dictionary, however, a database management system cannot access data from the
database. A Data Dictionary is a data structure that stores meta-data, i.e., data about data. The
Software package for a stand-alone Data Dictionary or Data Repository may interact with the
software modules of the DBMS, but it is mainly used by the Designers, Users and
Administrators of a computer system for information resource management. These systems are
used to maintain information on system hardware and software configuration, documentation,
application and users as well as other information relevant to system administration.
The data dictionary is an organized listing of all data element that are applicable to the system
with precise, accurate definitions so that both user and system analysis will have a common
understanding of inputs, outputs components of stores and event intermediate calculations.

6.2 Database
Database is the collection of data, which contains information relevant to an enterprise. Database
holds all the information needed by the system. In my system I used relational database. In which
it holds all data in a table format. Database is very much important because information added,
edited or deleted are maintained in the database.

6.3 Database Management System


A database management system (DBMS) is collection of interrelated data and a set of program to
access those data. The collection of data, usually referred to as the database contains information

53
relevant to an enterprise. The primary goal of a DBMS is to provide a way to store and retrieve
database information that is both convenient and efficient.

6.4 Tables of System

6.4.1 Patient Info Table


It is the patient information table. It contains all the information about patient. Here pid is the
primary key. And pName, email, accountNo are the unique key.

Column Type Null Index


fName varchar(20) No
lName varchar(20) No

pid int(8) No PK

pName varchar(20) No

email varchar(40) No
password varchar(20) No
contactNo varchar(20) No
address varchar(40) No
dateOfBirth varchar(20) No
city varchar(20) No
gender varchar(20) No

accountNo varchar(20) No
bloodGroup varchar(4) No
specialSickness varchar(40) No
dHelp varchar(20) No

54
6.4.2 Doctor Info Table
It holds all the information of doctors. Here did is the primary key. dName, email are the unique
key.

Column Type Null Index

Did int(8) No PK

dName varchar(20) No

email varchar(40) No
password varchar(20) No
address varchar(40) No
specialist varchar(20) No
gender varchar(20) No

payment int(10) No
accountNo varchar(20) No
qualification varchar(20) No
Help varchar(20) No
fName varchar(20) No
lName varchar(20) No

6.4.3 Appointment Table


It is the appointment table where all appointments are saved with doctor id, patient id, serial no,
date and time.

Column Type Null Index


serialNo int(8) No
Pid int(8) No FK
Did int(8) No FK

55
Date varchar(20) No
Time varchar(20) No

6.4.4 Doctor Details Table


It holds additional information about doctors. Here doctor id is the foreign key.

Column Type Null Index


Did int(8) No FK
Pic blob No
achievements varchar(400) No

specialDegree varchar(400) No
qualificationDetails varchar(400) No
startProfession varchar(400) No

6.4.5 Invalid Patient Info Table


It holds all the patient information, who deactivated their account. Like as patient table pid is the
primary key.

Column Type Null Index


fName varchar(20) No
lName varchar(20) No

Pid int(8) No PK
pName varchar(20) No

email varchar(40) No

password varchar(20) No
contactNo varchar(20) No

56
address varchar(40) No
dateOfBirth varchar(20) No
City varchar(20) No
gender varchar(20) No
accountNo varchar(20) No
bloodGroup varchar(4) No
specialSickness varchar(40) No

dHelp varchar(20) No

6.4.6 Message Table


It holds the messages of doctors and patients. It contains message, reply, subject, date and time.
Separate date and time for doctor and patient. That is massage date and time for doctor. Same as
patient.

Column Type Null Index


Pid int(8) No FK
Did int(8) No FK
pSubject varchar(300) No
dSubject varchar(300) No

Date varchar(20) No
Time varchar(20) No
Pmsg varchar(300) No
Dmsg varchar(300) No
ddate varchar(20) No
dtime varchar(20) No

57
6.4.7 Doctor Schedule Table
It holds the schedule for doctor. Here did is the foreign key.sTime1 is for start time and sTime2
is for am or pm. Same as eTime1 and eTime2. Dinterval is the duration.

Column Type Null Index


Did int(8) No FK
Day varchar(20) No
sTime1 varchar(20) No
sTime2 varchar(20) No
eTime1 varchar(20) No
eTime2 varchar(20) No
dinterval varchar(20) No

6.4.8 Bank Account Table


It is the table for bank account. It holds all the information for opening a bank account. Here
account no is the primary key. Card no unique key.

Column Type Null Index


accountNo bigint(11) No PK

userName varchar(20) No

cardNo bigint(13) No
pinNo int(4) No
balance bigint(10) No
toAccount bigint(11) No
fromAccount bigint(11) No
date varchar(20) No
time varchar(20) No

58
6.4.9 System Admin Table
It is the table for admin login. Only user name and password is needed.

Column Type Null Index


aName varchar(20) No
password varchar(20) No

6.4.10 Bank Admin Table


It is the table for bank admin login. Only user name and password is needed.

Column Type Null Index


aName varchar(20) No
password varchar(20) No

59
Chapter 7

SOFTWARE IMPLEMENTATION

7.1 Software Implementation


A software product implementation method is a systematically structured approach to effectively
integrate software based service or component into the workflow of an organizational structure
or an individual end-user. The implementation of product software, as the final link in the
deployment chain of software production, is in a financial perspective of a major issue. The
software can be able to access through the internet. I used to implement the software using given
below:
 PHP
 HTML
 JAVA SCRIPT
 MySQL
 Ajax

PHP
PHP is a powerful tool for making dynamic and interactive Web pages. PHP is the widely used,
free and efficient alternative to competitors such as Microsoft’s ASP.
o Server-side, scripting language
o Event based
o Designed for use with HTML. File Name .php
o Provide more flexibility than HTML alone

Syntax is similar to C, Java, and Perl 61. PHP is perfectly suited for web development and can be
embedded directly into the HTML code. The PHP syntax is very similar to Perl and C. PHP is
often used together with Apache (Web server) on various operating systems.

HTML
HTML is a language for instructing the browser how to display web pages. It is the building
block for building web site.

60
o HTML is a language for describing web pages.
o HTML stands for Hyper Text Markup Language.
o HTML is not a programming language, it is a markup language.
o An HTML file is a text file containing small markup HTML stands for.
o The markup tags tell the Web browser how to display the page.
o An HTML file must have an html file extension.
o An HTML file can be created using a simple text editor.

Java Script
JavaScript is used in millions of Web pages to improve the design, validate forms, detect
browsers, create cookies, and much more. JavaScript is the most popular scripting language on
the internet, and works in all major browsers, such as Internet Explorer, Firefox, and Opera.
o JavaScript was designed to add interactivity to HTML pages.
o JavaScript is a scripting language.
o A scripting language is a lightweight programming language.
o JavaScript is usually embedded directly into HTML pages.
o JavaScript is an interpreted language (means that scripts execute without preliminary
compilation).
o Everyone can use JavaScript without purchasing a license.

MySQL
MySQL is the world's most widely used relational database management system. It is most
widely used open-source RDBMS. The SQL acronym stands for Structured Query Language.
MySQL is a popular choice of database for use in web applications.
o Written in C and C++.
o Tested with a broad range of different compilers.
o Works on many different platforms.
o Provides transactional and non transactional storage engines.
o Designed to make it relatively easy to add other storage engines.
o All data is saved in the chosen character set.
o Uses multi-layered server design with independent modules.
o Can refer to tables from different databases in the same statement.

61
Ajax
The term Ajax has come to represent a broad group of web technologies that can be used to
implement a web application that communicates with a server in the background, without
interfering with the current state of the page. Since then, however, there have been a number of
developments in the technologies used in an Ajax application, and the definition of the term
Ajax. XML is not required for data interchange and therefore XSLT is not required for the
manipulation of data. JavaScript Object Notation (JSON) is often used as an alternative format
for data interchange, although other formats such as preformatted HTML or plain text can also
be used.
o HTML, XHTML and CSS is used for presentation.
o The Document Object Model (DOM) for dynamic display of and interaction with data.
o XML for the interchange of data, and XSLT for its manipulation.
o The XML Http Request object for asynchronous communication.
o JavaScript to bring these technologies together

7.2 Web Application


Web Server
Web server can refer to either the hardware or the software that helps to deliver Web content that
can be accessed through the Internet. The most common use of web servers is to host, but there
are other uses such as gaming, data storage or running enterprise applications. The web server
has what seems to be a fairly straightforward job. It sits there running on top of our operating
system, listing for request that somebody on the web might make, responding to those requests,
and serving out the appropriate web pages. In this project I use the apache web server.

Apache
The Apache HTTP Server, commonly referred to as Apache, is a web server software notable for
playing a key role in the initial growth of the World Wide Web. The apache web server is the
most popular web server. It likes PHP and MySQL is an open source project. Apache is a great
web server. It is extremely quick and amazingly stable. It is very easy and more reliable for the
database.

62
Web Browser
Mozilla Firefox 33.0 is used to develop and run the system. It is a free and open-source web
browser developed for Windows, OSX, and Linux, with a mobile version for Android, by the
Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses the Gecko layout
engine to render web pages, which implements current and anticipated web standards.

7.3 Text Editor


Notepad++
Notepad++ is a simple text editor for Microsoft Windows. It is a common text-only editor. The
resulting files typically saved with the .txt extension. But can also be saved as other extension
like .html, .php, .css, .js etc. It has no format tags or styles, making the program suitable for
editing system files to use in a DOS environment
o Syntax Highlighting and Syntax Folding.
o User Defined Syntax Highlighting and Folding.
o Perl Compatible Regular Expression Search/Replace.
o GUI entirely customizable: minimalist, tab with close button, multi-line tab, vertical tab
and vertical document list.
o Auto-completion: Word completion, Function completion and Function parameters hint.
o Multi-Document (Tab interface).
o Multi-View.

7.4 Software
XAMPP
XAMPP is a free and open source, cross-platform, web server, solution stack package, consisting
mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts written in the
PHP and Perl programming languages [9]. Components of XAMPP for Windows and Linux,
Mac OSX, includes Apache, MySQL, PHP, phpMyAdmin, FileZilla FTP Server, Tomcat,
XAMPP Control Panel.
o It is the easiest way to carry out Apache-MySQL-PHP work.
o Available for Windows and Linux flavors.
o Features an easy control panel, start / stop panel, and port checker.

63
Chapter 8

TESTING
Software testing is an investigation conducted to provide stakeholders with information about the
quality of the product or service under test [7].Without doubt is one of the most important parts
of software development life cycle. It is an element of software quality support and that can be
considered as a technique of running a program in such a way in order to uncover any errors.
Testing also illustrates that software functions look like functioning according to specifications,
that behavioral and overall performances requirements seem also have been met. The test is
performed when the system is complete. It includes the execution of a software component or
system component to evaluate more than one properties of interest. As the number of possible
tests for even simple software components is practically infinite, all software testing uses some
strategy to select tests that are feasible for the available time and resources [7]. As a result,
software testing typically attempts to execute a program or application with the intent of finding
software bugs, errors and other defects. In this chapter I test my simulation software with testing
method.
The primary intention of testing is to identify software failures so that defects could possibly be
discovered and corrected. Testing cannot establish that a product functions effectively under all
conditions but can only prove that it does not function properly under some specific conditions.
The scope of software testing often includes examination of code along with execution of that
code in various environments and issues as well as inspecting the aspects of code. Does it do
what it is supposed to do? Does it give the desired result? Does it check predefined conditions?
And do what it needs to do. Resources and information derived from software testing may be
utilized to correct the process that can be used in software development.

8.1 Testing
The testing of the system starts when I start coding. In every step of coding of the software,
testing works as an important part of checking that is it okay or not. To validate and verify all
activities I used different types and methods of testing. It helps to ensure that it is working fine
and requirements are met properly.

64
8.2 Testing Methods
There are many approaches available in software testing. Any engineering product can be tested
in any ways given below:
1. Knowing the specified function that a product has been designed to perform, tests can be
conducted that demonstrate each function is fully operational while at the same time
searching for error in each function.
2. Knowing the internal working of a product, tests can be conducted to ensure that all
internal operations are performed according to specification and all internal components
have been adequately examined.
For my system I specify all of its functions in requirement. Than I design its interface. After that
I start to implement internal functions. And test each function operate fully with different test
case. Now I describe some of my testing methods by which I test my system.

8.2.1 Static Testing


Reviews, walkthroughs, or inspections are referred to as static testing [8]. Static testing is often
implicit as proofreading. When programming text editors check source code structure check
syntax and data flow as static program analysis. To build the software I used notepad++ for text
editor. In this text editor syntax error are identified automatically. So one thing I have to check is
that, syntactic error in my code. Check conditions of loops properly, any missing symbols like
semicolon etc. It involve verification of the system, it helps improve software quality. Among
the techniques for static analysis, mutation testing can be used to ensure the test-cases will detect
errors which are introduced by mutating the source code. Several time I changed the source code
to check whether it satisfy the required condition.

8.2.2 Dynamic Testing


Executing programmed code with a given set of test cases is referred to as dynamic testing
[8].Dynamic testing takes place when the program itself is run. That means after done the static
testing dynamic testing is performed. Dynamic testing may begin before the program is 100%
complete in order to test particular sections of code and are applied to discrete functions or
modules. Dynamic testing involves validation of the system. Some of my test case, their result,
expected result, actual result are given below. In table below I tried out by this inputs. Check

65
that, whether my predefined conditions are met at run time. It is done for user registration page.
For all the other pages I do also like this way.
Table 8.2.2: Test Cases for User Registration Page.

Test source Input Expected result Actual result Comment


First name cannot
First name Lucky1 Not accepted Not accepted
contain any digit
Last name cannot
Last name Sultana05 Not accepted Not accepted
contain any digit
Invalid email
Email aaa@ Not accepted Not accepted
address
Valid email
Email lucky@yahoo.com Accepted Accepted
address
First name shahrin Accepted Accepted Valid first name
Length
Password 1234 Accepted Accepted
acceptable
Password must
Password 123 Not accepted Not accepted have 4 to 20
characters
Confirm
Confirm
1235 Not accepted Not accepted password must be
Password
same as password

In the box approach testing methods are divided into two. They are,

8.2.3 Black Box Testing


Black-box testing treats the software as a "black box". Examine functionality of the software
without any knowledge of internal implementation. The testers are only aware of what the
software is supposed to do, not how it does it [8]. This test is performed in presence of user. I
66
perform black box testing by giving the software to my friend to use. He tried different portion of
the system and give me a result. From his result I found different problems of the system. Then I
tried to solve those problems. Some problems are given in the table below,
Table 8.2.3: Black-Box Testing Test Cases.

Test source Input Expected output Output Comment


First name may
contain white
First name Hasib -hasan Accepted Not accepted space. But it
doesn’t take it.
Solved further.
Last name cannot
Last name Not accepted Not accepted
be empty
Valid email
address but
Email lucky@yahoo.com Accepted Not accepted
already used.
Solved further.
Account no Not accepted Not accepted Cannot be empty.
Unregistered
Account no 1234 Not accepted Accepted
account no.

8.2.4 White Box Testing


White-box testing tests internal structures or workings of a program, as opposed to the
functionality exposed to the end-user. In white-box testing an internal perspective of the system,
as well as programming skills, are used to design test cases. The tester chooses inputs to exercise
paths through the code and determine the appropriate outputs [8]. In this type testing all the lines,
loops and logical expression are tested by executing the program. I did some testing in the
software by white box testing.

67
 When a user wants to select an appointment date, that is already passed, system will alert
him.

Fig 8.2.4.1: Message When User Want to Select Previous Date.


 When a user want to take appointment more than one in a same date it cannot be done.

Fig 8.2.4.2: User Want to Take Appointment More Than One in the Same Date.

8.3 Testing Level


Tests are frequently grouped by where they are added in the software development process.
There are four levels of tests:
 Unit Testing– It is also known as component testing refers to tests that verify the
functionality of a specific section of code, usually at the function level. These types of

68
tests are usually written by developers as they work on code, to ensure that the specific
function is working as expected. One function might have multiple tests, to catch corner
cases or other branches in the code. Unit testing alone cannot verify the functionality of a
piece of software, but rather is used to ensure that the building blocks of the software
work independently from each other. In my system unit testing is done by testing various
java script functions. For example, I write a java script code for validating user input in
sign up page. When a user want to register without having any password I want that
system will show an error message. I do this using java script. Likely password less than
four characters, first name or last name contain any digit, invalid account no user name
already used etc. That’s unit testing for my system.
 Integration Testing -Once I have unit tests covering the critical parts of the application,
then I start assembling the parts. Interfaces between different components of a system are
good places for mistakes, so the integration of components needs to be tested as well.
This is what integration tests are about. Integration testing is any type of software testing
that seeks to verify the interfaces between components against a software design.
Software components may be integrated in an iterative way or all together. So in
integration testing I tested the whole module as different parts are combined together.
 Component interface testing - The practice of component interface testing can be used
to check the handling of data passed between various units, or subsystem components,
beyond full integration testing between those units. The data being passed can be
considered as "message packets" and the range or data types can be checked, for data
generated from one unit, and tested for validity before being passed into another unit. For
component interface testing, when I complete patient module test its integrated parts then
I combine its result with doctor module. Check the data and values pass from the patient
module are correctly found in the doctor module or not. Similarly for admin module.
 System Testing - Once all bricks are combined into a system, this system may not be
functioning as expected, even if integration tests haven't revealed anything wrong. Here,
system tests come into play. System testing, or end-to-end testing, tests a completely
integrated system to verify that it meets its requirements. For this testing as the whole
system is completed I checked whether the whole system works fine. If there are any
contradiction among the modules.
69
 Acceptance Testing -At last the system is delivered to the user for Acceptance testing. It
is done by giving the system to my friend. He uses it and gives me a result.

8.4 Testing Types


Alpha Testing
Alpha testing is testing of an application when development is about to complete. Minor design
changes can still be made as a result of alpha testing. This test takes place at the developer’s site.
Developers observe the users and note problems. It is a type of acceptance testing; performed to
identify all possible issues/bugs before releasing the product to everyday users. The focus of this
testing is to simulate real users by using black-box and white-box techniques. In my system
alpha testing is performed by white box testing, black box testing that is given above.

Beta Testing
Beta testing comes after alpha testing and can be considered a form of external user acceptance
testing. Beta Testing of a product is performed by real users of the software application in a real
environment and can be considered as a form of external user acceptance testing. It passes to a
limited number of end-users of the software to obtain feedback on the software quality. Beta
testing reduces failure risks and provides increased quality of it through customer validation. It is
the final test before shipping a software product to the customers. Direct feedback from
customers is a major advantage of Beta Testing. This testing helps to tests the product in real
time environment. Beta testing cannot be done as I cannot give it to a real user.

Fig 8.4: Testing Sequence.

70
8.5 Importance of Testing
Testing of a system helps to improve overall performance. It also ensures reliability, and
efficiency. It also does the following,
 Improve the quality of the system.
 It is a process used to identify the correctness, completeness, and quality of developed
system.
 Software testing is an activity to check whether the actual results match the expected
results and to ensure that the software system is defect free.
 In SDLC it is better to introduce testing in the early stage of SDLC phases so it help to
identify the defects in the early stage & try to avoid the bugs finding & get resolve in the
last critical stage.

71
Chapter 9

SOFTWARE MAINTANANCE
Software maintenance in software engineering is the improvement regarding a software product
after delivery in order to repair system defects. To enhance overall performance or other quality
of the software it is very much important. A typical perception of maintenance may be that it
mainly involves repairing defects. However, one research revealed that the majority, over 80%,
of the maintenance attempt is used for non-corrective actions. This perception is perpetuated by
users submitting problem reports that in reality are overall performance enhancements to the
system. The maintenance phase of software development has exposed immense costs, generally
it exceed the development cost. Moreover, in many cases the maintenance data include the cost
of rewriting, testing, debugging and incorporating new features into the software. Such cost is
known as modification costs.

9.1 Software Maintenance


Maintenance is really evolutionary development and that maintenance decisions are aided by
understanding what happens to systems (and software) over time [5]. A software system may
evolve over time. As it evolves, it grows more complex. Quite a number of actions such as code
refactoring are taken to decrease the complexity.
In the late 1970s, a famous and widely cited survey study by Lientz and Swanson, exposed the
very high fraction of life-cycle costs that were being expended on maintenance [5].They
categorized maintenance activities into four classes:
 Adaptive –The adaptive maintenance, modifying or change the system to cope with
changes in the software environment where it will work. It is used to make a computer
program usable in a changed environment [6].As I develop the software in my own
laptop. So when it will work in another computer or laptop then the configurations of
hardware and software will not same. I do not perform this maintenance yet. So I have to
consider all of conditions and influences that act from outside of the system like
government policy, business rules, software platforms, work patterns, hardware upgrades
and compilers etc. after delivery.

72
 Perfective – Software maintenance performed to improve the performance,
maintainability, or other attributes of a computer program [6].It will implement a new or
changed user requirement which concern functional enhancements of the software. It is to
extend the software beyond its original function. Some users may want more. After
delivery I have to concern that, some users may want extra feature or facilities. So using
perfective maintenance I have to change my software with users’ new requirements. It
will also be done after delivery.
 Corrective – Corrective maintenance is to diagnosing and fixing errors, possibly that is
found by users. It is performed to correct faults in hardware or software. For this one
need to have strong debugging and interpersonal skills. For corrective maintenance, I
give the system to some persons for use. They use it and told me where they face
difficulty or any problem. I tried my best to solve those problems.
 Preventive –It is performed to increase software maintainability or reliability to prevent
problems in the future and for the purpose of preventing problems before they occur. I
checked my best to remove coding errors, logical errors, and performance of each
module, unwanted input error. So preventive maintenance is almost done. I use alert and
confirm message in every section of user and admin panel before doing something which
might cause problem further. So that user will be alerted before doing something wrong.

9.2 Importance of Software Maintenance


Software maintenance is very much important than making a software. If proper maintenance is
not done than the software will be unusable. The software must be coping with new environment
and other factors. From a statistics, it is found that perfective maintenance takes most of the
space if we make a chart by all of them. In figure it simply shows the result.

73
61%
Perfective
Corrective
Adaptive
Other
17%

18%

4%
Types of Maintenance

Fig 10.2.1: Pie Chart of Different Maintenance.

Some other importance of maintenances are given below,


1. It helps to make my software more reliable, flexible and user friendly.
2. It helps to correct errors.
3. Completely identify all users’ requirements.
4. Improve the quality of the system.
5. Come to know unexpected error found by users.
6. Can adopt with the change request.

74
Chapter 10

DISCUSSION AND CONCLUSION


After finishing up my project I have to state that, I tried my best in order to develop the software
in the most suitable, helpful and easiest method that can be used by the user easily. Users can
easily pick up their expected information based upon their privilege. This is web based software
and it will be going to accessible from any computer by using internet. I have tested the system
using several techniques to determine the system flexibility. I tried to develop automated doctor
appointment and doctor help management system software which recovers as possible the
drawbacks and limitations compared to this types of existing software’s as well as for efficient
use for users. It will save money, time and energy to appoint a doctor.
Provide safety and security to data enable the system administrator to authenticate all of the users
through user names and password so that unauthorized users do not get access to the hospitals
data.

10.1 Advantages of the system


User of this system can be benefited by using the software in the following ways:
1. It is a web based software and very easy to use.
2. It will save user time and money as they need not to go to hospital or phone call.
3. Patients can contact with doctor at any time.
4. Update and modification of user profile is very much easy.
5. Doctor, patient and admin all have to login by using username and password to access
their information.
6. Doctor can see all of his appointments prior any time.
7. Doctor can change or modify his time and schedule any time.

10.2 Limitation of the system


There are some limitations of the system. They are,
 System security cannot be done completely.
 Payment system is not completely secure.
 It is not fully automated.

75
 Admin have to delete unnecessary accounts manually.

10.3 Future Plan


Future plans are,
 Make the system fully automated.
 Implement security system for the project.
 Make the system more flexible for payment and other transaction.
 Develop mobile apps for the system.

76
Chapter 11

References

[1] Incremental model, http://istqbexamcertification.com/what-is-incremental-model-


advantages-disadvantages-and-when-to-use-it/, retrieved on January 1,2015.
[2] Software design description, http://en.wikipedia.org/wiki/Software_design_description,
retrieved on January 5, 2015.
[3] Software design description,
http://www.google.com.bd/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&u
act=8&ved=0CCgQFjAB&url=http%3A%2F%2Fwww.cs.bilkent.edu.tr%2F~cagatay%2
Fcs413%2Fsample_group13_sdd.doc&ei=ygUFVcrVGceVuQStiYKYDA&usg=AFQjC
NFBMb_j-3tQIIGZ_dL7z7aw5P6jmw&bvm=bv.88198703,d.c2E,Retrieved on January
5, 2015.
[4] Traceability, http://en.wikipedia.org/wiki/Traceability, retrieved on March 1, 2015.
[5] Maintenance, http://en.wikipedia.org/wiki/Software_maintenance, retrieved on March 1,
2015.
[6] Maintenance, http://agile.csc.ncsu.edu/SEMaterials/MaintenanceRefactoring.pdf,
retrieved on March 11, 2015.
[7] Testing, http://en.wikipedia.org/wiki/Software_testing, retrieved on March 21, 2015.
[8] Testing, http://en.wikipedia.org/wiki/Software_testing, retrieved on March 21, 2015.
[9] XAMPP, http://en.wikipedia.org/wiki/XAMPP, retrieved on March 11, 2015.
[10] Chutisant Kerdvibulvech+, Nwe Ni Win,” The Dentist Online Reservation System
Design and Implementation Web Based Application and Database Management System
Project”, (ICETC2012)IPCSIT vol.43 (2012)
[11] Xiuju Zhan, Xiufeng Liu,” Design and Implementation of Clinic Appointment
Registration System”, Scientific research, Engineering, 2013, 5, 527-529
[12] Mohd Helmy Abd Wahab, Norlida Hassan, Zaidah Wali Mohd, Hafizul Fahri Hanafi,”
WEB BASED INTELLIGENT APPOINTMENT SYSTEM”, Seminar Kebangsaan E-
komuniti 2009 Merapatkan Jurang Digital: Masyarakat Berpengetahuan, Model
Malaysia
77
[13] ERD, Abraham Silberchatz, Henry F. Korth, S. Sudarsham, “Database System Concept”,
4th Edition, The McGraw-Hill Companies, NY, USA, 2002, page 212-222.
[14] DFD, Award, Elias M. Award, “System Analysis and Design”, 2nd Edition, Richard D.
Irwin, Inc, 2000,Page 145-160.
[15] FK, Abraham Silberchatz, Henry F. Korth, S. Sudarsham, “Database System Concept”,
4th Edition, The McGraw-Hill Companies, N, USA, 2002, page 456-470.
[16] Methodology, Lan Summerville, “Software Engineering – A Practitioner’s Approach”,
5th Edition, Macgraw – Hill International Edition, 2001, page 367-400.
[17] DFD, Alan Dennis, Barbara Haley Wixom, “Systems Analysis & Design”, page 165-170.
[18] System design, http://en.wikipedia.org/wiki/Systems_design, retrieved on March 11,
2015.
[19] Software development description,
http://www.generalatronics.com/software_devlopment.php, retrieved on March 11, 2015.

78

Anda mungkin juga menyukai