Professional Documents
Culture Documents
Management System
Submitted By
Shahrin Sultana
Approved by:
______________________________________
Mohammad Aman Ullah Supervisor
Assistant Professor
Department of Computer Science & Engineering
__________________________________
Dr. Md. Monirul Islam Head
Associate Professor and Head
Department of Computer Science & Engineering
International Islamic University Chittagong
_______________________________________
Dr. Mohammad Shahadat Hossain External
Professor
Department of Computer Science & Engineering
University of Chittagong
i
DECLARATION
This is to certify that the project entitled “Automated Doctor Appointment System and
Doctor Help Management System” done by Shahrin Sultana student of Bachelor in
Computer Science and Engineering at International Islamic University Chittagong under
the guidance of Mohammad Aman Ullah and Md. Azhar Uddin. The matter embodied in this
project has not been submitted earlier for the award of any degree or diploma to the best of my
knowledge and belief.
____________________________
Shahrin Sultana
ii
DEDICATION
iii
ACKNOWLEDGEMENT
Words are not just enough to express my gratitude but I take this opportunity to express my
profound sense of gratitude and respect to all those who helped me throughout the duration of
this project. I acknowledge the effort of those who have contributed significantly to my project.
First of all I am very thankful to Allah for providing me such a great opportunity to do the
Project and also very thankful to my Parents for their regular support and guidance’s.
I feel privileged to offer my sincere thanks and deep sense of gratitude to my respected and
honorable Teacher Mohammad Aman Ullah, Supervisor, Md. Azhar Uddin, Co-supervisor,
for expressing Their confidence in me by letting me work on a project of this magnitude and
using latest technologies and providing Their support, help & encouragement in implementing
this project. It would never been possible to complete this complicated task without Their
continuous support, supervision and encouragement. In spite of very busy schedule He always
guided me properly. It was an exciting and enlightening experience for me doing my project
under His guidance and supervision.
Last but not the least, am grateful to all my friends for providing critical feedback & support
whenever required.
There are times in such projects when clock beats you time and you run out of energy, you just
want to finish it once and forever, Parents and Friends made me endure such times with their
unfailing humor & warm wishes.
iv
ABSTRACT
The project entitled as “Automated Doctor Appointment and Doctor Help Management
System” is a web based application. It maintains records of patient, doctor, appointment and
schedule that occur at any of the medical center. It maintains two levels of users, administrator
level and user level. User level is divided into two, patient level and the doctor level. The
administrator level encompasses the hospital staffs, who maintain the appointment records. The
user level includes the patients, who take service from the hospital, and the doctors. The
administrators are able to perform operations on more sensitive and confidential documents
/modules that contain different information about doctors and patient to ensure confidentiality.
System enables registration of new patient at the user level. Doctors are registered by hospital
staff. From the account of user as patient, one can take appointment of a doctor; can see doctor
details and all his appointment date and time. Another extra facility one will get is that, he can
send message to a doctor about his sickness if he agrees prior and doctor can also reply it.
The current system is taking appointment of a doctor by phone call or taking serial directly from
the hospital. The proposed system has the following capabilities:-maintaining patient’s records,
registering new patients, records of appointments and easy future references. Users and
administrators can search records more easily. The project has been developed in back-end: PHP,
MySQL and front-end: HTML, CSS, and JavaScript.
The main motto of my project is to facilitate the people to take appointment easily, find doctors
available schedule. It is also helpful for doctors to mange his schedule and appointments easily.
v
TABLE OF CONTENTS
TITLE
APPROVAL i
DECLARATION ii
DEDICATION iii
ACKNOELEDGEMENT iv
ABSTRACT v
TABLE OF CONTENTS
LIST OF TABLES x
LIST OF FIGURES xi
Contents
INTRODUCTION ........................................................................................................................................................... 1
CHAPTER 2 ..................................................................................................................................................................... 4
vi
2.2 Site Proposal..................................................................................................................... 6
2.2.1 Features of Proposed System .................................................................................... 6
CHAPTER 3 ..................................................................................................................................................................... 8
METHODOLOGY .......................................................................................................................................................... 8
CHAPTER 4 ................................................................................................................................................................... 15
CHAPTER 5 ................................................................................................................................................................... 19
vii
5.4 Architecture Design Process .......................................................................................... 20
5.5 Overall Design................................................................................................................ 20
5.5.1 Entity Relation Diagram ......................................................................................... 20
5.5.2 Date Flow Diagram ................................................................................................. 22
5.5.3 Use Case Diagram................................................................................................... 29
5.5.4 Sequence Diagram .................................................................................................. 30
5.5.5 Activity Diagram .................................................................................................... 35
5.6 Interface Design ............................................................................................................. 39
CHAPTER 6 ................................................................................................................................................................... 53
CHAPTER 7 ................................................................................................................................................................... 60
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
CHAPTER 10 ................................................................................................................................................................. 75
CHAPTER 11 ................................................................................................................................................................. 77
REFERENCES .............................................................................................................................................................. 77
ix
LIST OF TABLES
LIST OF FIGURES
x
Fig 5.5.3: Use Case……………………………………………………………………… 31
Fig 5.5.4.1: Sequence Diagram…………………………………………………………. 33
Fig 5.5.4.2: Sequence Diagram for Patient…………………………………………….. 34
Fig 5.5.4.3: Sequence Diagram for Doctor…………………………………………….. 35
Fig 5.5.4.4: Sequence Diagram for Admin…………………………………………….. 36
Fig 5.5.5.1: Activity Diagram for Patient……………………………………………… 38
Fig 5.5.5.2: Activity Diagram for Doctor……………………………………………… 39
Fig 5.5.5.3: Activity Diagram for Admin……………………………………………… 40
Fig 5.6.1: Home Page…………………………………………………………………… 41
Fig 5.6.2: Patient Signup………………………………………………………………... 42
Fig 5.6.3: Patient Login…………………………………………………………............ 43
Fig 5.6.4: Patient Appointment…………………………………………………………. 44
Fig 5.6.5: Select Appointment Date…………………………………………………….. 45
Fig 5.6.6: Payment Form………………………………………………………………... 45
Fig 5.6.7: Send Message to Doctor………………………………………………........... 46
Fig 5.6.8: Add Schedule for Doctor…………………………………………………….. 47
Fig 5.6.9: View Schedules for Doctor…………………………………………….......... 48
Fig 5.6.10: View Appointments for Doctor……………………………………………... 49
Fig 5.6.11: Prescribe Medicine by Doctor………………………………………………. 50
Fig 5.6.12: Admin Register Doctor……………………………………………………... 51
Fig 5.6.13: View Patients by Admin……………………………………………………. 52
Fig 5.6.14: View Bookings by Admin………………………………………………….. 53
Fig 8.2.4.1: Message When User Want to Select Previous Date……………………….. 69
Fig 8.2.4.2: User Want to Take Appointment More Than One in the Same Date……… 69
xi
Chapter 1
INTRODUCTION
The proposed system is to make an online web application for easily taking appointment of a
doctor see the schedule of doctors, so that everyone can get information about doctor’s
availability, time slot, and send request to any doctor for medicine. Doctors and patients can also
easily communicate with each other from any where. This project is aimed at developing an
online application for appointing a doctor. Users have to logging in the system to be able to take
appointment of a doctor and update their information. Doctors have to logging to see his
appointments. The proposed system could be accessed from any corner of the world on net.
1.2 Motivation
This project is enabling to search for doctor from user account. The motive of developing this
application is to design a feature rich search engine which can make the search of doctors of the
hospital. In the Automated Doctor appointment System the users (admin, patient, doctor) will be
much benefited. Admin will be able to register doctor, view/delete patient listing, and finally
moderate (insert, update and delete) information. The deliverables of the software are focused
below in brief:
They can view, edit, and update their profile from anywhere.
1
User friendly interfaces are developed to use this software easily.
Doctor and patient information are stored.
All users can login by using username and password to access their information.
Reduce the paperwork and storage area.
Improve accuracy in result.
2
It needs paper work and takes input by human and there is a lot of transaction which is
not efficiently done.
If any modifications or updating are required of any doctor/patient, it has to search and to be done it
manually. So it is prone to error.
It is a time consuming activity of managing, updating and informing specific patient
information.
Patient or doctor can’t modify their information themselves and if there is any update
or modification, they have to inform it to hospital staff and get it updated.
It takes a lot of space for storage and other information.
3
Chapter 2
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.
$ Response req.
Respond
Database
Request
Bank
Req. for account
System
Request
Respond
Server
patient doctor
admin
2.2.1.2 Patient
Patient Panel:
1. Create a Profile (Registration): Here a new user can register in the system. He must
have to fill up all the information. He must have a unique user name, email id and
account number. Here an option named “do you want online doctor help”. If anyone
agree to this extra feature than he have to pay an amount and can request doctor online
for prescribe medicine. Otherwise he will not get this facility.
2. Add More Information: In this module patient can add more information about him.
3. Modify Information: Patient can modify information whenever he needs.
4. Deactivate Account: If anyone wants to deactivate his account he can do that by this
module. He has to enter user name, email and password correctly then his account will be
deactivated.
6
5. Appointment: It is the most important module from where a patient can take doctors
appointment. One can see doctor name, specialist and payment here. He can select one
from there or can search by doctor name or by specialist. After getting his desire doctor
he can see details of the doctor by the button “more” or can take appointment by
“appointment” button. After pressing “appointment” he can see doctors schedule and
time. He has to select the date. After satisfying all the conditions if everything okay then
he has to pay the fixed amount for doctor fees. For payment he has to enter name on card,
card no and pin no. if all are correct then he will get appointment successfully and get a
notification. It has a sub module named view appointment. Where he can see all of his
appointments along with, serial number, date and time.
6. Doctor Help: It is an extra feature of this system. One who agrees to get online doctor help will get
this facility. For this he has to pay a fixed amount at the time of registration. He can send message to a
doctor about his sickness and request doctor for medicine then doctor will reply.
2.2.1.3 Doctor
Doctor Panel:
1. Modify Information: Doctor can modify information whenever he needs.
2. Add Schedule: Doctor can add his visiting time schedule. He has to set start time, end
time and duration of each patient visiting time.
3. View Schedule: Doctor can see all of his schedules. Can edit or delete schedule.
4. Appointments: Doctor can see all of his appointments. It is categorized by today,
previous and next. He can see the patient name, serial no and time. He can also search for
a specific date.
5. Prescribe Medicine: In this module doctor will receive message from patient. He can
reply or delete.
6. Deactivate Account: If anyone wants to deactivate his account he can do that by this
module. He has to enter user name, email and password correctly then his account will be
deactivated.
7
Chapter 3
METHODOLOGY
Software Engineering is the practice of using selected process techniques to improve the quality
of a software development effort. This is based on the assumption, subject to endless debate and
supported by patient experience, which is a methodical approach to software development results
in fewer defects and therefore ultimately provides shorter delivery time and better value. The
document collection of policies, process and procedures used by a development team or
organization to practice software engineering is called its Software Development Methodology
(SDM) or Software Development Life Cycle (SDLC).
A methodology is a formalized approach to implementing the SDLC. There are many different
system development methodologies and each one is unique because of its emphasis on process
verses data and the order and focus it places on each SDLC phase.
8
3.2 Software Development Life Cycle (SDLC)
Computer software experts have adapted several approaches from older engineering fields, and
also for developing new ones. For instance, divide and conquer a widely known technique for
handling more complex problems, is used in a number of ways in software engineering. The
software engineering process, for example, is normally divided into phases. SDLC is a series of
steps which provides a model for development and lifecycle management of software. It varies
across industry and organization. But it has a standard. For this a number of system development
life cycle models have been created. Some of them are waterfall, spiral, fountain, build and fix,
rapid prototyping, incremental.
Feasibility study
Program design
and coding
9
1. The Project Scope–I define the project scope earlier. Users can search for doctors, get
appointment and also send message to the doctor. User can search doctors which can make
user to find specific doctor an easy task.This project has a large scope as it has the
following features which help in making it easy to use, understand and modify it.
Easily take doctor appointment.
No Need to do Paper Work.
To save the environment by using paper free work.
To increase the accuracy and efficiency of the procedure.
Management of Patient and doctor Data.
2. The Current Analysis – In Various hospital we have to take appointment by phone call
or by directly from the hospital. It is time consuming and costly.Hospital staffs have to
collect the information manually. It needs paper work and takes input by human and there
is a lot of transaction which is not efficiently done.If any modifications or updating is required
of any doctor/patient, it has to search and to be done it manually. So it is prone to error.
3. Requirements – User requires using the system simply a laptop, PC or mobile phone to
access internet. Using internet it is very much easy to take appointment.
4. Evaluation – In evaluation I examine cost effectiveness of the system. It is cost effective
as patient need not to go to hospital for taking appointment previously. Time is also
saved. One can take appointment from his home using internet.
5. Review – From the above analysis it may be conclude that the system would be useful,
cost effective, easy to use and will solve the manual system faults.
3.2.6 Testing
Testing is the process of examining a software product to find errors. This is necessary not just
for code but for all life-cycle products and all documents in support of the software such as user
11
manuals. The software testing process is often divided into phases. The first phase is unit testing
of software developed by a single programmer. The second phase is integration testing where
units are combined and tested as a group. System testing is done on the entire system, usually
with test cases developed from the system requirements. Acceptance testing of the system is
done by its intended users. The basic unit of testing is the test case. A test case consists of a test
case type, which is the aspect of the system that the test case is supposed to exercise; test
conditions, which consist of the input values for the test; the environmental state of the system to
be used in the test; and the expected behavior of the system given the inputs and environmental
factors. I perform various testing and give complete description of it in chapter 8.
3.2.7 Implementation
The implementation stage of any project is a true display of the defining moments that make a
project a success or a failure. The implementation stage is defined as "the system or system
modifications being installed and made operational in a production environment. The phase is
initiated after the system has been tested and accepted by the user.
In SDLC model, this implementation part involves implementing the system to any types of
administration site and to make process of client request and payment processing.
Build 2
Implementation
Requirements Design Testing
Build N
Implementation
Design Testing
The Incremental approach is a method of software development where the model is designed,
implemented and tested incrementally (a little more is added each time) until the product is
finished. It involves both development and maintenance. The product is defined as finished when
it satisfies its entire requirement. In incremental model the whole requirement is divided into
various builds. Multiple development cycles take place here, making the life cycle a “multi-
waterfall” cycle. Cycles are divided up into smaller, more easily managed modules. Each
module passes through the requirements, design, implementation and testing phases. Each
subsequent release of the module adds function to the previous release. The process continues till
the complete system is achieved.
In my system I start building its first module patient panel for the first iteration. Likewise in the
second iteration the admin module is ready and integrated with the first module. Similarly, in the
13
third iteration the whole system is ready and integrated. Hence, the system got ready step by
step. In every step I tested each module separately.
In Incremental Approach it uses a number of steps and development goes from start to finish in a
linear path of progression.
14
Chapter 4
FEASIBILITY STUDY
A feasibility study is a study that includes the analysis of the software if it is cost effective from
the economic view, if it can fulfill the requirement technically, and if it is adaptable in the
required environment. It also condiments the groundwork and determine whether the project
should be taken or not. Finally, the net result will be rough plane for proceeding with the project.
15
Sep 2014 Oct 2014 Nov 2014 Dec 2014 Jan 2015 Feb 2015 Mar 2015
ID Task Name Start Finish Duration
8/31 9/7 9/14 9/21 9/28 10/5 10/12 10/19 10/26 11/2 11/9 11/16 11/23 11/30 12/7 12/14 12/21 12/28 1/4 1/11 1/18 1/25 2/1 2/8 2/15 2/22 3/1 3/8 3/15 3/22
Requirement
3 10/7/2014 11/3/2014 4w
Analysis
4 Design 10/23/2014 12/9/2014 6.8w
Implementation
7 1/19/2015 3/3/2015 6.4w
& Review
16
4.2.1 Technical Feasibility
A system request is technically feasible if the organization has or can obtain the equipment to
develop, install and operate the system. The following questions point up those we must solve.
o Will the combination of hardware and software be able to supply performance?
o What is the impact on the end users of the proposed system after implemented?
Technical Criteria: Technical criteria study is concerned with the hardware requirement for the
system. For our system the minimum hardware requirements are,
PC: Pentium III or more
RAM: 128 MB or more
Hard Disk: minimum2 GB
Keyboard
Mouse
For our system the software requirements are
Operating system: Linux, Windows XP, Windows Vista or more
Server: Apache web server.
Application Software: Google Chrome, operamini or Mozilla Firefox.
Economic feasibility is usually answered from cost/benefit analysis. The purpose of cost
estimation helps to classify what the system is going to do.
17
4.2.3 Operational Feasibility
Operationally feasible project can be accomplished with the organizations available facilities.
Operational feasibility is concerned with, how the user will accept the software. If the software
does not meet the user expectation, then the user might not use the software. It is dependent on
human resources available for the project and involves projecting whether the system will be
used if it is developed and implemented. It is a measure of how well a proposed system solves
the problems. And it takes advantage of the opportunities identified during scope definition and
how it satisfies the requirements identified in the requirements analysis phase of system
development. The system I developed, I tried my best to make it in such a way, and users of all
level can easily use the software.
I tried to complete the software within time limit. And almost I can do it. The proposed system
will easily be accessible and it will be well organized and delivered the right information in the
right place.
18
Chapter 5
5.3 Traceability
The term Traceability or Requirements Traceability refers to the ability to link product
requirements back to stakeholders' rationales and forward to corresponding design artifacts,
code, and test cases. Traceability supports numerous software engineering activities such as
19
change impact analysis, compliance verification or trace back of code, requirements validation. It
is usually accomplished in the form of a matrix created for the verification and validation of the
project. In transaction processing software, traceability implies use of a unique piece of data
which can be traced through the entire software flow of all relevant application programs.
Messages and files at any point in the system can then be audited for correctness and
completeness, using the traceability key to find the particular transaction. This is also sometimes
referred to as the transaction footprint [4].
In an effective system, data is divided into discrete categories or entities. An entity relationship
(E-R) model is an illustration of various entities and the relationship of various entities and the
relationship between them. ER model is build during the analysis phase of the system
development life cycle. ER model separates the information required by the system from the
activities performed within a system. In ERD there are,
20
Entities: An object or concept that is identified by the enterprise. In figure below the
rectangle box indicates entity. There are five entities. They are patient, doctor, schedule,
bank account and doctor details. An entity may have one or more attributes.
Attribute: Attributes are the properties of entities. Attributes are represented by means of
eclipses. Every eclipse represents one attribute and is directly connected to its entity. In
figure all the entities have a number of attributes. Attributes may be primary key or
foreign key. Primary key is denoted by underline.
Relations: Relationships are represented by diamond shaped box. Name of the
relationship is written in the diamond-box. All entities participating in relationship are
connected to it by a line. In figure there are six relationships. Relationship may be one-to-
one, one-to-many, many-to-one, and many-to-many. Also a relationship may be binary,
ternary or quaternary. There is only one ternary relationship in the figure which connects
doctor, doctor details and bank account entities.
Links: Links are the connection between entities and relations.
21
Pinno
Cardno AccountNo
Balance AccountName
Time ToAccount
Date FromAccount
BankAccount
1:1 1:1
has has
Date
Time Payment
Qualification
AccountNo
Pay
DateOfBirth Specialist
Gender
AccountNo
Payment
ContactNo 1:1
1:1 SProfession
1:M 1:M
Address Patient Appoint Doctor SpeDegree
Password 1:M 1:M Password
1:M
UserName DId Address
Date Time
Email Email dName
dHelp SerialNo
Help Achievements
LastName PId
Set FirstName QuaDetails
BloodGroup CIty
LastName
FirstName Special Message
Sickness
Gender
STime1
Psubject Date STime2
1:M
Time ETime1
Pmessage
Dmessage Schedule
Dsubject ETime2
Interval
Day
DId
Symbol Meaning
0.10 Process
Source/destination
Date flow
Data store
Context Diagram
In figure it shows the context diagram of the system. Here three types of users interact with the
system patient, doctor and admin. Patient can request for appointment. Doctor can see all of his
appointments. And admin can supervise all the activities.
23
Patient
Request Registered doctor
approved/reject
0.0
View
appointments
View
Delete patient/
appointments
doctor account
request
Doctor
Level 0 DFD
Level zero DFD is the expansion of context diagram. It shows the process and data flow more
briefly. In figure it shows level zero DFD for both doctor and patient.
24
Signup info
Login info
Schedule Patient
record record
0.0
Signup 0.3
0.8 Set schedule
Patient
Schedule Information
Successful
signup
Edit info
View info
0.1
View Message 0.5 Pay
Pay doctor
schedule record Login Patient
payment
Verified Message
Doctor Recommend login record
0.10 medicine
Get
Request help Appointments
Prescribe 0.2
medicine Appointment
View info Account 0.6 record
Edit info
doctor
record Appointments
0.9
View
appointments
Doctor
Appointment
Appointment
record
25
Level 1 DFD for Doctor
Level one DFD is the expansion of level zero DFD. In figure it shows the level one DFD for
doctor. It starts from the “login account” process. After login it goes to “account” process. All
the updating info’s are stored in data store and can be viewed by the admin.
Admin
1.1
Login info Verify login
Login doctor
Doctor Account record
Verified
account Schedule
1.3 record
1.4 1.2
Schedules
View
Patient request Admin
info
Appointment
record Update Message
1.6
info record
1.5 Prescribe
doctor Medicine
Edit/update
record
Account
Recommend
medicine
Patient
26
Level 1 DFD for Patient
In figure it shows the level one DFD for patient. It starts with “fill signup form process”. After
signup, then login to account. Information’s are seen and retrieved from data store.
1.1
Patient info
Fill patient
Patient record
Signup
Form
Successfully
registered
Appointment 1.2
Verify login
record
Login
Account
Verified
account
Update 1.4
1.5 View 1.3
appointment info
Edit/update
Appointment Account View Account
Request info
appointment
Admin
Admin Sickness
Pay doctor info
1.6
1.7
Request Doctor
Payment medicine
Message
record
1.5.1
Patient
Request Appointment
appointment
1.5.2
Doctor
Search record
Doctor
Selected
doctor
1.5.3
Selected
Notify date
Successfully 1.5.4 Successfully
appointment appoint
Select Appointment
Payment record
mode
28
5.5.3 Use Case Diagram
Use case diagram (UCD) is a methodology used to describe the functionality of a system in a
horizontal way. Each use case focuses on describing how to achieve a goal or task. The use case
is made up of a set of possible sequences of interactions between system and users or actor in a
particular environment and related to a particular goal. The user or actor might be a person or
something more abstract, such as an external software system or manual process.
The three basic elements that are used in design diagram are:
The Actor-Actor is one who is using the web site. May be a person, organization, or
external system that plays a role in one or more interactions with the system. In figure
outside the system boundary person like figure is the actor. In the system it has three
actors. Patient, doctor and admin. They work outside the system boundary.
Use Cases – It is what the user wants to do. Describe a sequence of action that
provide something of measureable value to an actor and is drawn as a horizontal
ellipse. In figure within the system boundary oval shapes are the use cases. There are
nine use cases for patient, eleven use cases for doctor and ten use cases for admin.
System Boundary Boxes – It is what the scope of system for users. A rectangle is
drawn around the use cases, called the system boundary box, to indicate the scope of
the system. Anything within the box represents the functionality that is in scope and
nothing outside the box is.
29
Use Case of the System
System
Signup
GetAppointment
login
ViewAppointment login
Addinfo
Patient
AddNewDoctor
DeactiveAccount
ModifyInfo
ViewDoctor
Admin
login ViewPatient
AddSchedule
DeletePatient
Addinfo
EditSchedule
ViewBooking
ModifyInfo
DeleteSchedule
ViewInfo ByDate
Doctor ByName
ViewAppointments
BySpecialist
DeactiveAccount
PrescribeMedicine
31
1
Success/Reject reply
3
Change info
5
4 Check validity
6
Update
Update success
7
Logout
Success
32
Patient System Database
Enter reg info
Check validity
Reject/Accept req Add info
Req login Varify ID
Accept ID varified
req Add Info Update
Update success
req modify info modify
modify success
req appointment
Check validity
valid req
App success
logout req
logout
33
System Database
Doctor Req login Varify ID
Accept ID varified
Req Add Info Update
Update success
Req Modify Info modify
Modify Success
Req Add Schedule
Schedule Add
Notify
Appointments App Req
show
Prescribribe Medicine Send Req
Notify
Logout Req
Logout
34
System Database
Admin
Req login Varify ID
Accept ID varified
35
Final State -The activities flow terminates when the transition line of the last action in
the sequence connects to a “final state” symbol that is the ending point, which is a bull’s-
eye. In figure the circle surrounding a smaller solid circle or encircled block circle is the
final node.
Action State -An action or an activity is indicated on the activity diagram by a “Capsule”
shape. The text inside it indicates the action. In figure there are fourteen action states.
Transition Fork -A transaction fork has one input and one or more output transactions.
It shows what activity state follows after another. In figure after decision state the
horizontal bar is the transaction fork where there are one input and five output
transactions.
Transaction Join -A transaction join has more than one input and only one output
transaction. It represents many action states combine into one state. In figure horizontal
bar before logout state is transaction join.
Decisions -The diamonds represent the decisions where a set of guard conditions are
defined.
Control Flow – Control flow adds a transaction state from one to another. It is
represented by arrow line. In figure arrow lines represent the control flow.
36
No
Reg User? Register
Yes
Login
Username No
& password
correct?
Yes
Account
Select Doctor
Send
App Success/Reject
Logout
37
Activity Diagram for Doctor
In figure 5.5.5.2 it shows activity diagram for doctor. In initial state it checks for a registered
doctor. Then check the username and password. Then one can perform modify information, add
schedule, edit/delete schedule, prescribe medicine, deactivate account and appointments. For
schedule add one have to select day, time and interval. After finishing all the states we reach to
the final state by logout.
No
Reg
Doctor? Register by Admin
Yes
Login
Username No
& password
correct?
Yes
Account
Select Patient
Send
Schedule Added
Logout
Login
Username No
& password
correct?
Yes
Account
Logout
39
Fig 5.6.1: Home Page
Patient Signup
In figure it shows the patient signup page. Here all fields are required. Valid inputs are only
accepted. Here a special field named “do you want online doctor help”. If anyone agrees, he has
to pay a small amount of money for get the special feature online doctor help.
40
Fig5.6.2: Patient Signup.
Patient login
In the figure below it shows the patient login page. Patient has to enter user name and password
that is already registered in the system. Wrong user name or password will not accepted by the
system. Until correct user name and password is given one cannot access his account.
41
Fig 5.6.3: Patient Login.
Patient Appointment
In the figure below patient can see the doctor list from his account. He can select doctor form
there or can search for doctor. Search can be by doctor name or by specialist. If he gets intended
doctor then he can see more details about the doctor like schedule time or can take appointment
by simply clicking appointment button.
42
Fig5.6.4: Patient Appointment.
43
Fig 5.6.5: Select Appointment Date.
Payment Form
In figure it shows bank payment form. Patient has to enter his name, card no, pin no for payment.
Anything invalid or wrong will not be accepted.
45
Fig 5.6.8: Add Schedule for Doctor
46
Fig 5.6.9: View Schedules for Doctor
View Appointments
It is the appointment page for doctor. Doctor can see all of his appointments along with patient
name, serial no, date and time. Can also search specific date, previous, next appointments and
more details.
47
Fig 5.6.10: View Appointments for Doctor.
Prescribe Medicine
It is a new feature of this system where a doctor will get messages from patients if he agreed
prior. Otherwise he will not get any message. In figure it shows that a doctor account, who
agreed to help patient online get messages from them. He can reply or delete it.
48
Fig 5.6.11: Prescribe Medicine by Doctor
Add Doctor
Here admin register doctors of their hospital. It is essential to input all the fields. System will
notify after successfully added. After adding a doctor in the system by the admin doctor can
access his account using his username and password. In figure it shows adding a doctor.
49
Fig 5.6.12: Admin Register Doctor
View Patients
Admin can see the patient list, which are registered in the system. He can see more details or
delete any patient from the system if he wants. In figure it shows the patient list in admin panel.
50
Fig 5.6.13: View Patients by Admin
View Booking
Admin can see all the bookings along with doctor name, date and time. He can find out bookings
by doctor name, by specialist or by date. He can search specific date also. In the figure it shows
the booking page.
51
Fig 5.6.14: View Bookings by Admin.
52
Chapter 6
DATA DICTIONARY
6.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.
53
relevant to an enterprise. The primary goal of a DBMS is to provide a way to store and retrieve
database information that is both convenient and efficient.
pid int(8) No PK
pName varchar(20) No
email varchar(40) No
password varchar(20) No
contactNo varchar(20) No
address varchar(40) No
dateOfBirth varchar(20) No
city varchar(20) No
gender varchar(20) No
accountNo varchar(20) No
bloodGroup varchar(4) No
specialSickness varchar(40) No
dHelp varchar(20) No
54
6.4.2 Doctor Info Table
It holds all the information of doctors. Here did is the primary key. dName, email are the unique
key.
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
55
Date varchar(20) No
Time varchar(20) No
specialDegree varchar(400) No
qualificationDetails varchar(400) No
startProfession varchar(400) No
Pid int(8) No PK
pName varchar(20) No
email varchar(40) No
password varchar(20) No
contactNo varchar(20) No
56
address varchar(40) No
dateOfBirth varchar(20) No
City varchar(20) No
gender varchar(20) No
accountNo varchar(20) No
bloodGroup varchar(4) No
specialSickness varchar(40) No
dHelp varchar(20) No
Date varchar(20) No
Time varchar(20) No
Pmsg varchar(300) No
Dmsg varchar(300) No
ddate varchar(20) No
dtime varchar(20) No
57
6.4.7 Doctor Schedule Table
It holds the schedule for doctor. Here did is the foreign key.sTime1 is for start time and sTime2
is for am or pm. Same as eTime1 and eTime2. Dinterval is the duration.
userName varchar(20) No
cardNo bigint(13) No
pinNo int(4) No
balance bigint(10) No
toAccount bigint(11) No
fromAccount bigint(11) No
date varchar(20) No
time varchar(20) No
58
6.4.9 System Admin Table
It is the table for admin login. Only user name and password is needed.
59
Chapter 7
SOFTWARE IMPLEMENTATION
PHP
PHP is a powerful tool for making dynamic and interactive Web pages. PHP is the widely used,
free and efficient alternative to competitors such as Microsoft’s ASP.
o Server-side, scripting language
o Event based
o Designed for use with HTML. File Name .php
o Provide more flexibility than HTML alone
Syntax is similar to C, Java, and Perl 61. PHP is perfectly suited for web development and can be
embedded directly into the HTML code. The PHP syntax is very similar to Perl and C. PHP is
often used together with Apache (Web server) on various operating systems.
HTML
HTML is a language for instructing the browser how to display web pages. It is the building
block for building web site.
60
o HTML is a language for describing web pages.
o HTML stands for Hyper Text Markup Language.
o HTML is not a programming language, it is a markup language.
o An HTML file is a text file containing small markup HTML stands for.
o The markup tags tell the Web browser how to display the page.
o An HTML file must have an html file extension.
o An HTML file can be created using a simple text editor.
Java Script
JavaScript is used in millions of Web pages to improve the design, validate forms, detect
browsers, create cookies, and much more. JavaScript is the most popular scripting language on
the internet, and works in all major browsers, such as Internet Explorer, Firefox, and Opera.
o JavaScript was designed to add interactivity to HTML pages.
o JavaScript is a scripting language.
o A scripting language is a lightweight programming language.
o JavaScript is usually embedded directly into HTML pages.
o JavaScript is an interpreted language (means that scripts execute without preliminary
compilation).
o Everyone can use JavaScript without purchasing a license.
MySQL
MySQL is the world's most widely used relational database management system. It is most
widely used open-source RDBMS. The SQL acronym stands for Structured Query Language.
MySQL is a popular choice of database for use in web applications.
o Written in C and C++.
o Tested with a broad range of different compilers.
o Works on many different platforms.
o Provides transactional and non transactional storage engines.
o Designed to make it relatively easy to add other storage engines.
o All data is saved in the chosen character set.
o Uses multi-layered server design with independent modules.
o Can refer to tables from different databases in the same statement.
61
Ajax
The term Ajax has come to represent a broad group of web technologies that can be used to
implement a web application that communicates with a server in the background, without
interfering with the current state of the page. Since then, however, there have been a number of
developments in the technologies used in an Ajax application, and the definition of the term
Ajax. XML is not required for data interchange and therefore XSLT is not required for the
manipulation of data. JavaScript Object Notation (JSON) is often used as an alternative format
for data interchange, although other formats such as preformatted HTML or plain text can also
be used.
o HTML, XHTML and CSS is used for presentation.
o The Document Object Model (DOM) for dynamic display of and interaction with data.
o XML for the interchange of data, and XSLT for its manipulation.
o The XML Http Request object for asynchronous communication.
o JavaScript to bring these technologies together
Apache
The Apache HTTP Server, commonly referred to as Apache, is a web server software notable for
playing a key role in the initial growth of the World Wide Web. The apache web server is the
most popular web server. It likes PHP and MySQL is an open source project. Apache is a great
web server. It is extremely quick and amazingly stable. It is very easy and more reliable for the
database.
62
Web Browser
Mozilla Firefox 33.0 is used to develop and run the system. It is a free and open-source web
browser developed for Windows, OSX, and Linux, with a mobile version for Android, by the
Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses the Gecko layout
engine to render web pages, which implements current and anticipated web standards.
7.4 Software
XAMPP
XAMPP is a free and open source, cross-platform, web server, solution stack package, consisting
mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts written in the
PHP and Perl programming languages [9]. Components of XAMPP for Windows and Linux,
Mac OSX, includes Apache, MySQL, PHP, phpMyAdmin, FileZilla FTP Server, Tomcat,
XAMPP Control Panel.
o It is the easiest way to carry out Apache-MySQL-PHP work.
o Available for Windows and Linux flavors.
o Features an easy control panel, start / stop panel, and port checker.
63
Chapter 8
TESTING
Software testing is an investigation conducted to provide stakeholders with information about the
quality of the product or service under test [7].Without doubt is one of the most important parts
of software development life cycle. It is an element of software quality support and that can be
considered as a technique of running a program in such a way in order to uncover any errors.
Testing also illustrates that software functions look like functioning according to specifications,
that behavioral and overall performances requirements seem also have been met. The test is
performed when the system is complete. It includes the execution of a software component or
system component to evaluate more than one properties of interest. As the number of possible
tests for even simple software components is practically infinite, all software testing uses some
strategy to select tests that are feasible for the available time and resources [7]. As a result,
software testing typically attempts to execute a program or application with the intent of finding
software bugs, errors and other defects. In this chapter I test my simulation software with testing
method.
The primary intention of testing is to identify software failures so that defects could possibly be
discovered and corrected. Testing cannot establish that a product functions effectively under all
conditions but can only prove that it does not function properly under some specific conditions.
The scope of software testing often includes examination of code along with execution of that
code in various environments and issues as well as inspecting the aspects of code. Does it do
what it is supposed to do? Does it give the desired result? Does it check predefined conditions?
And do what it needs to do. Resources and information derived from software testing may be
utilized to correct the process that can be used in software development.
8.1 Testing
The testing of the system starts when I start coding. In every step of coding of the software,
testing works as an important part of checking that is it okay or not. To validate and verify all
activities I used different types and methods of testing. It helps to ensure that it is working fine
and requirements are met properly.
64
8.2 Testing Methods
There are many approaches available in software testing. Any engineering product can be tested
in any ways given below:
1. Knowing the specified function that a product has been designed to perform, tests can be
conducted that demonstrate each function is fully operational while at the same time
searching for error in each function.
2. Knowing the internal working of a product, tests can be conducted to ensure that all
internal operations are performed according to specification and all internal components
have been adequately examined.
For my system I specify all of its functions in requirement. Than I design its interface. After that
I start to implement internal functions. And test each function operate fully with different test
case. Now I describe some of my testing methods by which I test my system.
65
that, whether my predefined conditions are met at run time. It is done for user registration page.
For all the other pages I do also like this way.
Table 8.2.2: Test Cases for User Registration Page.
In the box approach testing methods are divided into two. They are,
67
When a user wants to select an appointment date, that is already passed, system will alert
him.
Fig 8.2.4.2: User Want to Take Appointment More Than One in the Same Date.
68
tests are usually written by developers as they work on code, to ensure that the specific
function is working as expected. One function might have multiple tests, to catch corner
cases or other branches in the code. Unit testing alone cannot verify the functionality of a
piece of software, but rather is used to ensure that the building blocks of the software
work independently from each other. In my system unit testing is done by testing various
java script functions. For example, I write a java script code for validating user input in
sign up page. When a user want to register without having any password I want that
system will show an error message. I do this using java script. Likely password less than
four characters, first name or last name contain any digit, invalid account no user name
already used etc. That’s unit testing for my system.
Integration Testing -Once I have unit tests covering the critical parts of the application,
then I start assembling the parts. Interfaces between different components of a system are
good places for mistakes, so the integration of components needs to be tested as well.
This is what integration tests are about. Integration testing is any type of software testing
that seeks to verify the interfaces between components against a software design.
Software components may be integrated in an iterative way or all together. So in
integration testing I tested the whole module as different parts are combined together.
Component interface testing - The practice of component interface testing can be used
to check the handling of data passed between various units, or subsystem components,
beyond full integration testing between those units. The data being passed can be
considered as "message packets" and the range or data types can be checked, for data
generated from one unit, and tested for validity before being passed into another unit. For
component interface testing, when I complete patient module test its integrated parts then
I combine its result with doctor module. Check the data and values pass from the patient
module are correctly found in the doctor module or not. Similarly for admin module.
System Testing - Once all bricks are combined into a system, this system may not be
functioning as expected, even if integration tests haven't revealed anything wrong. Here,
system tests come into play. System testing, or end-to-end testing, tests a completely
integrated system to verify that it meets its requirements. For this testing as the whole
system is completed I checked whether the whole system works fine. If there are any
contradiction among the modules.
69
Acceptance Testing -At last the system is delivered to the user for Acceptance testing. It
is done by giving the system to my friend. He uses it and gives me a result.
Beta Testing
Beta testing comes after alpha testing and can be considered a form of external user acceptance
testing. Beta Testing of a product is performed by real users of the software application in a real
environment and can be considered as a form of external user acceptance testing. It passes to a
limited number of end-users of the software to obtain feedback on the software quality. Beta
testing reduces failure risks and provides increased quality of it through customer validation. It is
the final test before shipping a software product to the customers. Direct feedback from
customers is a major advantage of Beta Testing. This testing helps to tests the product in real
time environment. Beta testing cannot be done as I cannot give it to a real user.
70
8.5 Importance of Testing
Testing of a system helps to improve overall performance. It also ensures reliability, and
efficiency. It also does the following,
Improve the quality of the system.
It is a process used to identify the correctness, completeness, and quality of developed
system.
Software testing is an activity to check whether the actual results match the expected
results and to ensure that the software system is defect free.
In SDLC it is better to introduce testing in the early stage of SDLC phases so it help to
identify the defects in the early stage & try to avoid the bugs finding & get resolve in the
last critical stage.
71
Chapter 9
SOFTWARE MAINTANANCE
Software maintenance in software engineering is the improvement regarding a software product
after delivery in order to repair system defects. To enhance overall performance or other quality
of the software it is very much important. A typical perception of maintenance may be that it
mainly involves repairing defects. However, one research revealed that the majority, over 80%,
of the maintenance attempt is used for non-corrective actions. This perception is perpetuated by
users submitting problem reports that in reality are overall performance enhancements to the
system. The maintenance phase of software development has exposed immense costs, generally
it exceed the development cost. Moreover, in many cases the maintenance data include the cost
of rewriting, testing, debugging and incorporating new features into the software. Such cost is
known as modification costs.
72
Perfective – Software maintenance performed to improve the performance,
maintainability, or other attributes of a computer program [6].It will implement a new or
changed user requirement which concern functional enhancements of the software. It is to
extend the software beyond its original function. Some users may want more. After
delivery I have to concern that, some users may want extra feature or facilities. So using
perfective maintenance I have to change my software with users’ new requirements. It
will also be done after delivery.
Corrective – Corrective maintenance is to diagnosing and fixing errors, possibly that is
found by users. It is performed to correct faults in hardware or software. For this one
need to have strong debugging and interpersonal skills. For corrective maintenance, I
give the system to some persons for use. They use it and told me where they face
difficulty or any problem. I tried my best to solve those problems.
Preventive –It is performed to increase software maintainability or reliability to prevent
problems in the future and for the purpose of preventing problems before they occur. I
checked my best to remove coding errors, logical errors, and performance of each
module, unwanted input error. So preventive maintenance is almost done. I use alert and
confirm message in every section of user and admin panel before doing something which
might cause problem further. So that user will be alerted before doing something wrong.
73
61%
Perfective
Corrective
Adaptive
Other
17%
18%
4%
Types of Maintenance
74
Chapter 10
75
Admin have to delete unnecessary accounts manually.
76
Chapter 11
References
78