Hierarchy of management that covers different levels of management
C111230
1. 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
2. i
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
3. ii
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
5. iv
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.
6. v
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.
7. vi
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
8. vii
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
9. viii
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
10. ix
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
11. x
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
12. xi
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
13. 1
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:
Theycanview,edit,andupdatetheirprofilefromanywhere.
14. 2
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.
15. 3
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,theyhavetoinformittohospitalstaffandgetitupdated.
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.
16. 4
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.Itshowshowthethreetypesofusercommunicatewiththesystem.
17. 5
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.
`
`
Server
$
Bank
Database
System
patient
admin
doctor
Req. for
appointment
Confirmation
Req. for view
appointments
Response req.
View all
info.
Respond
Request
Respond
Request
Respond
Response req.
Req. for account
Fig 2.1: Proposed System.
18. 6
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
prescribepatient.Ifadoctoragreedtohelponlinethenhewillgetmessagefrompatientsotherwisenot.
2. View Doctor: Admin can see the doctor list in this module. Admin can view details and also can
deletespecificdoctor.
3. View patient: Admincan seethepatient list inthis module; who areregisteredinthis system.Admin
canviewdetailsandalsocandeletespecificpatientaccount.
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
doctorname,byspecialistorbydate.Oradmincansearchspecific.
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.
19. 7
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
doctorabouthissicknessandrequestdoctorformedicinethendoctorwillreply.
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.
20. 8
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.
21. 9
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.
Changing request
definition
Program design
and coding
System design
System
specification
Requirement
definition
Feasibility study
Implementation
Testing
SDLC
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:
22. 10
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 anymodifications or updating is required
ofanydoctor/patient,ithastosearchandtobedoneitmanually. 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.
23. 11
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
24. 12
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
25. 13
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]
Design Testing Implementation
Design Testing
Implementation
Design Testing
Implementation
Requirements
Build 1
Build 2
Build N
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
26. 14
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.
27. 15
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.
28. 16
ID Task Name Start Finish Duration
Nov2014Sep2014 Jan2015
9/28 10/19 12/14 3/81/2510/26 2/812/289/219/7 2/22
1 3.2w9/22/20149/1/2014InitialStudy
2 4.2w10/16/20149/18/2014FeasibilityStudy
3 4w11/3/201410/7/2014
Requirement
Analysis
4 6.8w12/9/201410/23/2014Design
5 10.4w1/23/201511/13/2014Coding
6 12w2/20/201512/1/2014Testing
7 6.4w3/3/20151/19/2015
Implementation
&Review
8 3w3/23/20153/3/2015ReviewReport
Dec2014
11/23 11/3011/16 1/1112/78/31
Oct2014
10/5 2/110/12 11/2
Mar2015
1/412/21 3/153/12/15
Feb2015
9/14 11/9 1/18 3/22
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
29. 17
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.
30. 18
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.
31. 19
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
32. 20
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,
33. 21
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.
35. 23
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.
38. 26
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.
Doctor
Login info
Verified
account
Appointment
record
doctor
record
Verify login
Patient
Schedule
record
doctor
record
Schedule
set
Appoint
ments
Update
info
Patient request
Admin
Admin
Admin
1.1
Login
Account
1.4
Doctor
Appointments
1.2
Account
1.3
Schedule
1.5
Edit/update
Account
1.6
Prescribe
Medicine
View
info
Recommend
medicine
Message
record
Schedules
Fig 5.5.2.3: Level 1 DFD for Doctor.
39. 27
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.
Patient
Patient info
Successfully
registered
Verified
account
patient
record
Verify login
Doctor
Update
info
Appointment
record
Admin
Admin
Sickness
info
Request
appointment
1.4
Edit/update
Account
1.6
Request
medicine
1.3
Account
1.2
Login
Account
1.1
Fill
Signup
Form
1.5
Appointment View
info
View
appointment
1.7
Payment
Pay doctor
Message
record
Fig 5.5.2.4: Level 1 DFD for Patient.
40. 28
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.
Patient
Appointment
record
Notify
Successfully
appointment
Selected
doctor
Selected
date
Successfully
appoint
Admin
Request
appointment
1.5.1
Appointment
1.5.4
Select
Payment
mode
1.5.3
Select Date
1.5.2
Search
Doctor
Doctor
record
Fig 5.5.2.5: Level 2 DFD for patient.
41. 29
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.
42. 30
Use Case of the System
Patient
Doctor
System
Admin
Signup
login
Addinfo
ModifyInfo
GetAppointment
ViewAppointment
DoctorHelp
DeactiveAccount
ViewAppointments
PrescribeMedicine
AddNewDoctor
ViewDoctor
DeleteDoctor
ViewPatient
DeletePatient
ViewBooking
EditSchedule
DeleteSchedule
ByName
BySpecialist
ByDate
login
login
ViewInfo
Addinfo
ModifyInfo
ViewInfo
AddSchedule
DeactiveAccount
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.
43. 31
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.
44. 32
System Database
Check
reply
Check validity
Update
Success/Reject
login req.
Change info
Update success
Logout
Success
User
1
2
3
4
5
6
7
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.
45. 33
System Database
Enter reg info
Check validity
Req login Varify ID
req Add Info Update
req modify info modify
req appointment
valid req
req medicine send req
ID varifiedAccept
Update success
modify success
App success
notify
Reject/Accept req
logout req
logout
Check validity
Patient
Add info
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.
46. 34
System Database
Req login Varify ID
Req Add Info Update
Req Modify Info modify
Req Add Schedule
Prescribribe Medicine Send Req
ID varifiedAccept
Update success
Modify Success
Notify
Logout Req
Logout
Schedule Add
Notify
Appointments App Req
show
Doctor
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.
47. 35
System Database
Req login Varify ID
Add doctor doctor add
View Doctor Req
Delete Doctor
Delete Patient Req
ID varifiedAccept
add success
Doctor List
Delete
logout req
logout
Req
Delete
View Patient Req
Patient List
View Booking Req
Bookings
Admin
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.
48. 36
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.
49. 37
Register
Login
Reg User?
Yes
No
Username
& password
correct?
Add Info Modify Info Appointment Doctor Help
Select Doctor Select Date
App Success/Reject
Yes
No
Logout
Select Doctor
Write Message
Send
Account
Select Pay Option
Fig 5.5.5.1: Activity Diagram for Patient.
50. 38
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.
Register by Admin
Login
Reg
Doctor?
Yes
No
Username
& password
correct?
Modify Info
Add Schedule
Edit/Delete Schedule Appointments
Select Day
Select Time
Schedule Added
Yes
No
Logout
Select Patient
Write Message
Send
Prescribe Medicine
Select Interval
Account
Fig 5.5.5.2: Activity Diagram for Doctor.
51. 39
Activity Diagram for Admin
After login into the system what admin can do are shown in figure 5.5.5.3.
Login
Username
& password
correct?
Add Doctor Doctors Delete PatientDelete Doctor Bookings
Yes
No
Logout
Patients
Account
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.
52. 40
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.
53. 41
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.
54. 42
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.
55. 43
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.
56. 44
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.
57. 45
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.
58. 46
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.
59. 47
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.
60. 48
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.
61. 49
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.
62. 50
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.
63. 51
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.
65. 53
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
66. 54
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
67. 55
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
68. 56
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
69. 57
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
70. 58
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
71. 59
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
72. 60
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.
73. 61
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.
74. 62
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.
75. 63
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.
76. 64
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.
77. 65
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
78. 66
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 Lucky1 Not accepted Not accepted
First name cannot
contain any digit
Last name Sultana05 Not accepted Not accepted
Last name cannot
contain any digit
Email aaa@ Not accepted Not accepted
Invalid email
address
Email lucky@yahoo.com Accepted Accepted
Valid email
address
First name shahrin Accepted Accepted Valid first name
Password 1234 Accepted Accepted
Length
acceptable
Password 123 Not accepted Not accepted
Password must
have 4 to 20
characters
Confirm
Password
1235 Not accepted Not accepted
Confirm
password must be
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
79. 67
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 Hasib -hasan Accepted Not accepted
First name may
contain white
space. But it
doesn’t take it.
Solved further.
Last name Not accepted Not accepted
Last name cannot
be empty
Email lucky@yahoo.com Accepted Not accepted
Valid email
address but
already used.
Solved further.
Account no Not accepted Not accepted Cannot be empty.
Account no 1234 Not accepted Accepted
Unregistered
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.
80. 68
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
81. 69
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.