C111230

90
Automated Doctor Appointment and Doctor Help Management System Submitted By Shahrin Sultana A PROJECT REPORT SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF BACHELOR OF COMPUTER SCIENCE AND ENGINEERING Department of Computer Science and Engineering International Islamic University Chittagong May 2015

Transcript of C111230

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

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

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

iii

DEDICATION

This project is dedicated to

My Parents and Teachers

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.

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.

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

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

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

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

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

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

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:

They can view, edit, and update their profile from anywhere.

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.

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, they have to inform it to hospital staff and get it updated.

It takes a lot of space for storage and other information.

1.5 Literature Review

I read some papers related to this work. The main objective of their work is given below,

For the first one, Chutisant Kerdvibulvech and Nwe Ni Win, done it for a dental hospital.

Here administrator of the system is dentist. Administrator can check the patient’s

requests, manage the appointment schedule, and manage the patient’s information.

Patients can submit their personal comments to the dental clinic for better services [10]. I

think that, doctor has to manage all the activities. So excess workload for doctor. We can

divide the work between doctor and hospital staff.

In the second one, Xiuju Zhan and Xiufeng Liu, built a system that consists of

appointment registration, data management, data backup and recovery. They emphasize

on date backup for security and recover from failure. For editing, deleting and searching

of data special work is done. [11]Here I found that, they have not any option for payment.

In the third one, Mohd Helmy, Abd Wahab and others, implement a web-based

appointment system by integrating with Intelligent System techniques. It does not have

any ID and password to log-in before making any appointment. Role of agent is to

manage information in databases. It is not only doctor but also other appointments [12].

Here I found that, they have not any user account.

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. It shows how the three types of user communicate with the system.

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.

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

prescribe patient. If a doctor agreed to help online then he will get message from patients otherwise not.

2. View Doctor: Admin can see the doctor list in this module. Admin can view details and also can

delete specific doctor.

3. View patient: Admin can see the patient list in this module; who are registered in this system. Admin

can view details and also can delete specific patient account.

4. Delete Patient: Admin can delete patient account by email id in this module.

5. Delete Doctor: Admin can delete doctor account by email id in this module.

6. View Booking: In this module admin can see all the appointments of doctors. It can be retrieved by

doctor name, by specialist or by date. Or admin can search specific.

2.2.1.2 Patient

Patient Panel:

1. Create a Profile (Registration): Here a new user can register in the system. He must

have to fill up all the information. He must have a unique user name, email id and

account number. Here an option named “do you want online doctor help”. If anyone

agree to this extra feature than he have to pay an amount and can request doctor online

for prescribe medicine. Otherwise he will not get this facility.

2. Add More Information: In this module patient can add more information about him.

3. Modify Information: Patient can modify information whenever he needs.

4. Deactivate Account: If anyone wants to deactivate his account he can do that by this

module. He has to enter user name, email and password correctly then his account will be

deactivated.

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

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.

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.

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:

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 any modifications or updating is required

of any doctor/patient, it has to search and to be done it manually. So it is prone to error.

3. Requirements – User requires using the system simply a laptop, PC or mobile phone to

access internet. Using internet it is very much easy to take appointment.

4. Evaluation – In evaluation I examine cost effectiveness of the system. It is cost effective

as patient need not to go to hospital for taking appointment previously. Time is also

saved. One can take appointment from his home using internet.

5. Review – From the above analysis it may be conclude that the system would be useful,

cost effective, easy to use and will solve the manual system faults.

3.2.2 Requirement Definition

The purpose of the requirements phase is to define what a system should do and the constraints

under which it must operate. This information is recorded in a requirements document. A typical

requirements document might include a product overview; a specification of the development,

operating, and maintenance environment for the product; a high-level conceptual model of the

system; a specification of the user interface; specification of functional requirements;

specification of nonfunctional requirements; specification of interfaces to systems outside the

system under development; specification of how errors will be handled; and a listing of possible

changes and enhancements to the system.

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

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

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 TestingImplementation

Design TestingImplementation

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

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.

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.

16

ID Task Name Start Finish DurationNov 2014Sep 2014 Jan 2015

9/28 10/19 12/14 3/81/2510/26 2/812/289/219/7 2/22

1 3.2w9/22/20149/1/2014Initial Study

2 4.2w10/16/20149/18/2014Feasibility Study

3 4w11/3/201410/7/2014Requirement

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/2015Implementation

& Review

8 3w3/23/20153/3/2015Review Report

Dec 2014

11/23 11/3011/16 1/1112/78/31

Oct 2014

10/5 2/110/12 11/2

Mar 2015

1/412/21 3/153/12/15

Feb 2015

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

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.

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.

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

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,

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.

22

DoctorPatient

FirstName

AccountNo

UserName

LastName

CIty

DateOfBirth

ContactNo

Address

PId

Password

Email

BloodGroup

Gender

Email dName

Password

Address

Gender

AccountNo

Specialist

Payment

DId

Qualification

Appoint

SerialNo

Date Time

Schedule

Set

Day

ETime1

STime1

Interval

DId

Pay

BankAccount

AccountNo

AccountNameBalance

FromAccount

ToAccount

Date

Time

1:M 1:M

1:M

has

1:M

1:1

1:1 1:1

1:1

Special

Sickness

dHelp

LastName

FirstName

Help

STime2

ETime2

SProfession

QuaDetails

SpeDegree

Achievements

Message

PmessageDmessage

Psubject

Dsubject

Date

Time

1:M1:M

Cardno

Pinno

has

Time

Date

Payment

Fig 5.5.1: ERD of the System.

5.5.2 Date Flow Diagram

Data flow diagrams are highly essential for requirement specification of the system that shows

how data is processed and how data flows through a sequence of processing steps by a system.

The data is transformed at each step before moving on the next stage.

The four basic elements that are used in the diagram are:

The round shape rectangular which are used to denote an operation/process and is labeled

with a brief description of the operation.

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.

24

Patient

Doctor

Admin

Appointment

request

Request

approved/reject

View

appointments

request

Show result

Registered doctor

View patient

detail

View

appointments

Delete patient/

doctor account

0.0

Automated Doctor

Appointment

System

Fig 5.5.2.1: Context Diagram of the system.

Level 0 DFD

Level zero DFD is the expansion of context diagram. It shows the process and data flow more

briefly. In figure it shows level zero DFD for both doctor and patient.

25

Doctor

Appointment

record

Patient

Schedule

record

doctor

record

0.10

Prescribe

medicine

0.5

payment

0.7

Doctor

Information

0.3

Patient

Information

0.4

Appointment

0.8

Schedule

0.9

Doctor

Appointment

Message

record

0.1

Login

0.0

Signup

Appointment

record0.6

Request

medicine

Patient

record

Message

record

0.2

Account

Signup info

Successful

signup

Verified

login

Login info

Set schedule

View

schedule

Edit infoView info

Recommend

medicine

View

appointments

Edit infoView info

Pay doctor

Request help

View

appointment

Appointments

Pay

Get

Appointments

Appointments

Fig 5.5.2.2: Level 0 DFD of the System.

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.

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.

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.

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.

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.

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.

32

System Database

Check

reply

Check validity

Update

Success/Reject

login req.

Change info

Update success

Logout

Success

User

1

2

3

45

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.

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.

34

System DatabaseReq 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

NotifyAppointments 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.

35

System DatabaseReq login Varify ID

Add doctordoctor add

View DoctorReq

Delete Doctor

Delete PatientReq

ID varifiedAccept

add success

Doctor List

Delete

logout req

logout

Req

Delete

View PatientReq

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

52

Fig 5.6.14: View Bookings by Admin.

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

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

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

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

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

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

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

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.

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.

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.

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.

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.

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

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 [email protected] 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

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 [email protected] 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.

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

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.

70

Acceptance Testing -At last the system is delivered to the user for Acceptance testing. It

is done by giving the system to my friend. He uses it and gives me a result.

8.4 Testing Types

Alpha Testing

Alpha testing is testing of an application when development is about to complete. Minor design

changes can still be made as a result of alpha testing. This test takes place at the developer’s site.

Developers observe the users and note problems. It is a type of acceptance testing; performed to

identify all possible issues/bugs before releasing the product to everyday users. The focus of this

testing is to simulate real users by using black-box and white-box techniques. In my system

alpha testing is performed by white box testing, black box testing that is given above.

Beta Testing

Beta testing comes after alpha testing and can be considered a form of external user acceptance

testing. Beta Testing of a product is performed by real users of the software application in a real

environment and can be considered as a form of external user acceptance testing. It passes to a

limited number of end-users of the software to obtain feedback on the software quality. Beta

testing reduces failure risks and provides increased quality of it through customer validation. It is

the final test before shipping a software product to the customers. Direct feedback from

customers is a major advantage of Beta Testing. This testing helps to tests the product in real

time environment. Beta testing cannot be done as I cannot give it to a real user.

Fig 8.4: Testing Sequence.

71

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.

72

Chapter 9

SOFTWARE MAINTANANCE

Software maintenance in software engineering is the improvement regarding a software product

after delivery in order to repair system defects. To enhance overall performance or other quality

of the software it is very much important. A typical perception of maintenance may be that it

mainly involves repairing defects. However, one research revealed that the majority, over 80%,

of the maintenance attempt is used for non-corrective actions. This perception is perpetuated by

users submitting problem reports that in reality are overall performance enhancements to the

system. The maintenance phase of software development has exposed immense costs, generally

it exceed the development cost. Moreover, in many cases the maintenance data include the cost

of rewriting, testing, debugging and incorporating new features into the software. Such cost is

known as modification costs.

9.1 Software Maintenance

Maintenance is really evolutionary development and that maintenance decisions are aided by

understanding what happens to systems (and software) over time [5]. A software system may

evolve over time. As it evolves, it grows more complex. Quite a number of actions such as code

refactoring are taken to decrease the complexity.

In the late 1970s, a famous and widely cited survey study by Lientz and Swanson, exposed the

very high fraction of life-cycle costs that were being expended on maintenance [5].They

categorized maintenance activities into four classes:

Adaptive –The adaptive maintenance, modifying or change the system to cope with

changes in the software environment where it will work. It is used to make a computer

program usable in a changed environment [6].As I develop the software in my own

laptop. So when it will work in another computer or laptop then the configurations of

hardware and software will not same. I do not perform this maintenance yet. So I have to

consider all of conditions and influences that act from outside of the system like

government policy, business rules, software platforms, work patterns, hardware upgrades

and compilers etc. after delivery.

73

Perfective – Software maintenance performed to improve the performance,

maintainability, or other attributes of a computer program [6].It will implement a new or

changed user requirement which concern functional enhancements of the software. It is to

extend the software beyond its original function. Some users may want more. After

delivery I have to concern that, some users may want extra feature or facilities. So using

perfective maintenance I have to change my software with users’ new requirements. It

will also be done after delivery.

Corrective – Corrective maintenance is to diagnosing and fixing errors, possibly that is

found by users. It is performed to correct faults in hardware or software. For this one

need to have strong debugging and interpersonal skills. For corrective maintenance, I

give the system to some persons for use. They use it and told me where they face

difficulty or any problem. I tried my best to solve those problems.

Preventive –It is performed to increase software maintainability or reliability to prevent

problems in the future and for the purpose of preventing problems before they occur. I

checked my best to remove coding errors, logical errors, and performance of each

module, unwanted input error. So preventive maintenance is almost done. I use alert and

confirm message in every section of user and admin panel before doing something which

might cause problem further. So that user will be alerted before doing something wrong.

9.2 Importance of Software Maintenance

Software maintenance is very much important than making a software. If proper maintenance is

not done than the software will be unusable. The software must be coping with new environment

and other factors. From a statistics, it is found that perfective maintenance takes most of the

space if we make a chart by all of them. In figure it simply shows the result.

74

4%

17%

18%

61%

Types of Maintenance

Perfective

Corrective

Adaptive

Other

Fig 10.2.1: Pie Chart of Different Maintenance.

Some other importance of maintenances are given below,

1. It helps to make my software more reliable, flexible and user friendly.

2. It helps to correct errors.

3. Completely identify all users’ requirements.

4. Improve the quality of the system.

5. Come to know unexpected error found by users.

6. Can adopt with the change request.

75

Chapter 10

DISCUSSION AND CONCLUSION

After finishing up my project I have to state that, I tried my best in order to develop the software

in the most suitable, helpful and easiest method that can be used by the user easily. Users can

easily pick up their expected information based upon their privilege. This is web based software

and it will be going to accessible from any computer by using internet. I have tested the system

using several techniques to determine the system flexibility. I tried to develop automated doctor

appointment and doctor help management system software which recovers as possible the

drawbacks and limitations compared to this types of existing software’s as well as for efficient

use for users. It will save money, time and energy to appoint a doctor.

Provide safety and security to data enable the system administrator to authenticate all of the users

through user names and password so that unauthorized users do not get access to the hospitals

data.

10.1 Advantages of the system

User of this system can be benefited by using the software in the following ways:

1. It is a web based software and very easy to use.

2. It will save user time and money as they need not to go to hospital or phone call.

3. Patients can contact with doctor at any time.

4. Update and modification of user profile is very much easy.

5. Doctor, patient and admin all have to login by using username and password to access

their information.

6. Doctor can see all of his appointments prior any time.

7. Doctor can change or modify his time and schedule any time.

10.2 Limitation of the system

There are some limitations of the system. They are,

System security cannot be done completely.

Payment system is not completely secure.

It is not fully automated.

76

Admin have to delete unnecessary accounts manually.

10.3 Future Plan

Future plans are,

Make the system fully automated.

Implement security system for the project.

Make the system more flexible for payment and other transaction.

Develop mobile apps for the system.

77

Chapter 11

References

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

advantages-disadvantages-and-when-to-use-it/, retrieved on January 1,2015.

[2] Software design description, http://en.wikipedia.org/wiki/Software_design_description,

retrieved on January 5, 2015.

[3] Software design description,

http://www.google.com.bd/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&u

act=8&ved=0CCgQFjAB&url=http%3A%2F%2Fwww.cs.bilkent.edu.tr%2F~cagatay%2

Fcs413%2Fsample_group13_sdd.doc&ei=ygUFVcrVGceVuQStiYKYDA&usg=AFQjC

NFBMb_j-3tQIIGZ_dL7z7aw5P6jmw&bvm=bv.88198703,d.c2E,Retrieved on January

5, 2015.

[4] Traceability, http://en.wikipedia.org/wiki/Traceability, retrieved on March 1, 2015.

[5] Maintenance, http://en.wikipedia.org/wiki/Software_maintenance, retrieved on March 1,

2015.

[6] Maintenance, http://agile.csc.ncsu.edu/SEMaterials/MaintenanceRefactoring.pdf,

retrieved on March 11, 2015.

[7] Testing, http://en.wikipedia.org/wiki/Software_testing, retrieved on March 21, 2015.

[8] Testing, http://en.wikipedia.org/wiki/Software_testing, retrieved on March 21, 2015.

[9] XAMPP, http://en.wikipedia.org/wiki/XAMPP, retrieved on March 11, 2015.

[10] Chutisant Kerdvibulvech+, Nwe Ni Win,” The Dentist Online Reservation System

Design and Implementation Web Based Application and Database Management System

Project”, (ICETC2012)IPCSIT vol.43 (2012)

[11] Xiuju Zhan, Xiufeng Liu,” Design and Implementation of Clinic Appointment

Registration System”, Scientific research, Engineering, 2013, 5, 527-529

[12] Mohd Helmy Abd Wahab, Norlida Hassan, Zaidah Wali Mohd, Hafizul Fahri Hanafi,”

WEB BASED INTELLIGENT APPOINTMENT SYSTEM”, Seminar Kebangsaan E-

komuniti 2009 Merapatkan Jurang Digital: Masyarakat Berpengetahuan, Model

Malaysia

78

[13] ERD, Abraham Silberchatz, Henry F. Korth, S. Sudarsham, “Database System Concept”,

4th Edition, The McGraw-Hill Companies, NY, USA, 2002, page 212-222.

[14] DFD, Award, Elias M. Award, “System Analysis and Design”, 2nd Edition, Richard D.

Irwin, Inc, 2000,Page 145-160.

[15] FK, Abraham Silberchatz, Henry F. Korth, S. Sudarsham, “Database System Concept”,

4th Edition, The McGraw-Hill Companies, N, USA, 2002, page 456-470.

[16] Methodology, Lan Summerville, “Software Engineering – A Practitioner’s Approach”,

5th Edition, Macgraw – Hill International Edition, 2001, page 367-400.

[17] DFD, Alan Dennis, Barbara Haley Wixom, “Systems Analysis & Design”, page 165-170.

[18] System design, http://en.wikipedia.org/wiki/Systems_design, retrieved on March 11,

2015.

[19] Software development description,

http://www.generalatronics.com/software_devlopment.php, retrieved on March 11, 2015.