Hospital Management System
Hospital Management System
COM
Hospital Management
System
Submitted by-:
Department of Computer
Science Keshav Mahavidyalaya
University of Delhi
Apart from the efforts of team, the success of any project depends largely on the
encouragement and guidelines of many others. We take this opportunity to express
our gratitude to the people who have been instrumental in the successful
completion of this project.
The completion of any inter-disciplinary project depends upon cooperation, co-
ordination and combined efforts of several sources of knowledge.
We are eternally grateful to our Dr. Sumit Agarwal for his even willingness to
give us valuable advice and direction under whom we executed this project. His
constant guidance and willingness to share his vast knowledge made us
understand this project and its manifestations in great depths and helped us to
complete the assigned tasks.
We are highly thankful to our project internal guide Mrs. Disha, and Mr. Anand
whose invaluable guidance helped us understands the project better.
Although there may be many who remain unacknowledged in this humble note of
gratitude, there are none who remain unappreciated.
Aashish (16035500000)
2
Download FREE Software Engineering Projects from TutorialsDuniya.com
CERTIFICATE
It is having mainly two modules. One is at Administration Level and other one is
of user I.e. of patients and doctors. The Application maintains authentication in
order to access the application. Administrator task includes managing doctor’s
information, patient’s information. To achieve this aim a database was designed
one for the patient and other for the doctors which the admin can access. The
complaints which are given by user will be referred by authorities.
The user modules include checking appointments, prescription. user can also
register complaint against management or ask any query.
LIST OF IMAGES USED IN THE PROJECT
NAME PAGE NO
2. ARCHITECTURAL DESIGN 23
3. LOGIN PAGE 25
4. REGISTRATION 26
5. PATIENT 27
NAME PAGE NO
1.DATA DICTIONARY 6
1.SIZE ESTIMATION 13
2.GANTT CHART 21
3.RISK ANALYSIS 24
TutorialsDuniya.com
Table of Content
1. CHAPTER 1 SRS (Software Requirement
Specification)
1.1Introduction…………………………………… 1
1.1.1Purpose……………………………………… 1
1.1.2 DocumentConventions…………………… 2
1.1.3 Intended Audience & Reading Suggestions… 2
1.1.4Project Scope…………………………… 2
1.2 Overall Description………….…… 2
1.2.1 Product Perspective………………… 2
1.2.2 Product Features……………………………… 2
1.2.3 User Classes & Characteristics……… 3
1.2.4 Operating Environment…………………… 3
1.2.5 Design & Implementation Constraints……… 4
1.2.6 User Documentation………………………… 4
1.2.7 Assumption & Dependencies………… 4
1.3DFD……………………………………… 5
CHAPTER 5 Implementation 25
5.1MODULE SCREENS…………………… 25
CHAPTER 6 Testing
CHAPTER-1
Introduction-:
Purpose
This software will help the company to be more efficient in registration of their patients and
manage appointments, records of patients. It enables doctors and admin to view and modify
appointments schedules if required. The purpose of this project is to computerize all details
regarding patient details and hospital details.
Document Conventions
This document features some terminology which readers may be unfamiliar with
Front End: This stands for the JSP pages that a user will see when (s) he will access the
application through the web.
DESC : Description
RAT : Rational
DEP : Dependency
The intended readers of this document are current and future developers working
on “HOTEL MANAGEMENT PROJECT” and the sponsors of the project.
Product Scope
The system will be used as the application that serves hospitals, clinic, dispensaries or other health
institutions. The intentions of the system is to increase the number of patients that can be treated
and managed properly.
If the hospital management system is file based, management of the hospital has to put much effort
on securing the files. They can be easily damaged by fire, insects and natural disasters. Also could
be misplaced by losing data and information.
Product Perspective
This Hospital Patient Info Management System is a self-contained system that manages activities
of the hospital.
Due to improperly managed details medical center faces quite a lot of difficulties in accessing past
data as well as managing present data. The fully functional automated hospital management
system which will be developed through this project will eliminate the disadvantages caused by the
manual system by improving the reliability, efficiency and performance. The usage of a database
to store patient, employee, stock details etc. will accommodate easy access, retrieval, search and
manipulation of data. The access limitations provided through access privilege levels will enhance
the security of the system. The system will facilitate concurrent access and convenient
management of activities of the medical center.
Admin
Admin has the full access to the system which means he is able to manage any activity with regard
to the system. He is the highest privileged user who can access to the system.
Key functions:
•Access and modify patient record
•Add new doctor entry in system database
Patient
Patients can choose the best preferred appointments from the options provided and can also
change the appointment schedule or cancel it. Patients have access to only their records.
Key functions:
Fix appointment
Update schedule
Cancel appointment
Doctor
Doctors can view the patient appointment list and provide the confirmation or make changes in the
appointment list if required. Doctors have access to only records of those patients whom they are
treating.
Key functions:
Confirmation of appointment
Modification of appointment list
Operating Environment
Software requirements
Windows 7 or above operating system
JRE 1.8
MySQL server
Hardware Requirements
Core i5 processor
2GB Ram
User Documentation
As a part of the system itself a user documentation is provided to the customers which gives an
overview of the system. It will include the full description about the product and complete
orderly followed steps to install the software. The users will get the opportunity to use the system
without having any trouble. The user manual will include the email addresses to contact us in
need. Tasks are listed alphabetically or logically grouped often using cross referenced indexes
which helps the users to know exactly what sort of information they are looking for.
Data flow diagrams (also called data flow graphs) are commonly used during problem analysis.
Data flow diagrams (DFDs) are quite general and are not limited to problem analysis for software
requirements specification. They were in use long before the software engineering discipline began.
DFDs are very useful in understanding a system and can be effectively used during analysis. A
DFD shows the flow of data through a system. It views a system as a function that transforms the
inputs into desired outputs. Any complex system will not perform this transformation in a "single
step," and a data will typically undergo a series of transformations before it becomes the output.
The DFD aims to capture the transformations that take place within a system to the input data so
that eventually the output data is produced. The agent that performs the transformation of data from
one state to another is called a process (or a bubble). So, a DFD shows the movement of data
through the different transformations or processes in the system. The processes are shown by
named circles and data flows are represented by named arrows entering or leaving the bubbles. A
rectangle represents a source or sink and is a net originator or consumer of data. It should be
pointed out that a DFD is not a flowchart. A DFD represents the flow of data, while a flowchart
shows the flow of control. A DFD does not represent procedural information.
Patient table
Fields Data type Size Constraints Description
UID int 2 primary key this is patient Id
name varchar 20 - Name of patient
mobile varchar 10 - mobile no of
patient
sex varchar 1 - sex of patient
email varchar 20 - email of patient
disease varchar 20 - disease from
which he/she is
suffering
Doctor Table
Fields Data type Size Contraints Description
DId int 2 primary key it is doctor id
Name varchar 20 - name of doctor
mobile varchar 10 - mobile no of
doctor
speciality varchar 10 - speciality of
doctor
6
TutorialsDuniya.com
System Features
PATIENT
REGISTRATION
DESCRIPTION- The new patient can register themselves and add their details like name, age
sex etc. The patient entry will be made in the patient database.
EXTENTSIONS- if necessary fields left by user then prompt user to fill the necessary
UPDATION
DESCRIPTION-The patient should be enabled to update his/her details and the changes
should reflect in patient database.
system.
2.Patient view his record
3.Patient selects update details.
4. Now patient may change the necessary fields.
5. Pop of update details.
database.
APPOINTMENT
DESCRIPTION- It shows users a list of available doctors, timings, dates and enables patients
to select the most suitable appointment date and doctor. The patient may also the cancel the
appointment if already available.
POST CONDITIONS- patient details are displayed and a new appointment is fix or a
existing appointment is cancelled. The patient database is updated
DOCTOR
DESCRIPTION- The doctor view patient record/ update his details and add description of
the treatment given to patient.
system.
2. Doctor may select view patient.
2.1 patient record is displayed with treatment history.
EXTENSIONS- System does not allow the doctor to modify the qualification, hospital
managed details.
ADMIN
credentials.
8
3.1 admin enters the patient id in the system.
3.2 patient details are displayed.
4. admin view appointments for the current date.
4.1 appointments for current date are displayed.
9
External Interface Requirements
User Interfaces
This section provides a detailed description of all inputs into and outputs from the system. It also
gives a description of the hardware, software and communication interfaces and provides basic
prototypes of the user interface.
The protocol used shall be
HTTP. The Port number used
will be 80.
Hardware Interfaces
Laptop/Desktop PC
Purpose of this is to give information when Patients ask information about doctors, medicine
available lab tests etc. To perform such Action it need very efficient computer otherwise due to that
reason patients have to wait for a long time to get what they ask for.
Wi-Fi router
Wi-Fi router is used to for internetwork operations inside of
a hospital and simply data transmission from pc’s to sever.
Software Interfaces
JDK 1.8 - Java is fast, secure, and reliable. From laptops to data centers, game consoles
to scientific supercomputers, cell phones to the Internet,
Netbeans 8.1 - IDE for Java developing.
MySQL server - Database connectivity and management
OS Windows 7/8/8.1- Very user friendly and common OS
JRE 1.8 - JAVA Runtime Environment for run Java Application and System
MySQL server - Database connectivity
10
Communications Interfaces
Response time-The system will give responses within 1 second after checking the
patient information and other information.
Safety Requirements
If there is extensive damage to a wide portion of the database due to catastrophic failure, such as a
disk crash, the recovery method restores a past copy of the database that was backed upto archival
storage and reconstructs a more current state by reapplying or redoing the operations of
committed transactions from the backed up log, up to the time of failure. All the administrative
and data entry operators have unique logins so system can understand who is login in to system
right now no intruders allowed except system administrative nobody cannot change record and
valuable data.
11
MAINTAINABILITY: The ability to maintain ,modify information and update fix problems of
the system
USABILITY: software can be used again and again without distortion.
ACCESSIBILITY: Administrator and many other users can access the system but the access level
is controlled for each user according to their work scope.
ACCURACY: The reliability on the information/output. Can depend/be sure of the
outcome. STABILITY:The system outcome/output won’t change time to time. Same output
Will be given always for a given input.
Security Requirements
12
CHAPTER-2
SIZE ESTIMATION
Function-Based Metrics
The function point (FP) metric can be used effectively as a means for measuring the functionality
delivered by a system.4 Using historical data, the FP metric can then be used to (1) estimate the
cost or effort required to design, code, and test the software; (2) predict the number of errors that
will be encountered during testing; and (3) forecast the number of components and/or the number
of projected source lines in the implemented system. Function points are derived using an empirical
relationship based on countable (direct) measures of software’s information domain and qualitative
assessments of software complexity. Information domain values are defined in the following
manner:
Number of external inputs (EIs). Each external input originates from a user or is transmitted from
another application and provides distinct application-oriented data or control information. Inputs
are often used to update internal logical files (ILFs). Inputs should be distinguished from
inquiries,which are counted separately.
Number of external outputs (EOs). Each external output is derived data within the application
that provides information to the user. In this context external output refers to reports, screens, error
messages, etc. Individual data items within a report are not counted separately.
Number of external inquiries (EQs). An external inquiry is defined as an online input that
results in the generation of some immediate software response in the form of an online output
(often retrieved from an ILF).
Number of internal logical files (ILFs). Each internal logical file is a logical grouping of data
that resides within the application’s boundary and is maintained via external inputs.
Number of external interface files (EIFs). Each external interface file is a logical grouping of
data that resides external to the application but provides information that may be of use to the
application.
Once these data have been collected, the table in Figure 23.1 is completed and a complexity
value is associated with each count. Organizations that use function point
methods develop criteria for determining whether a particular entry is simple,
average, or complex. Nonetheless, the determination of complexity is somewhat
subjective.
To compute function points (FP), the following relationship is used:
13
SIZE ESTIMATION FOR THIS PROJECT
EXTERNAL INPUTS
1 LOGIN MODULE
2. REGISTRATION MODULE
2.1 NAME
2.2 DOB
2.3 SEX DATA ELEMENTS FILE TYPE REFERNCED COMPLEXITY
2.4 EMAIL 7 2 AVG
2.5 BLOOD TYPE
2.6 MOBILE NO
2.7 ADDRESS
14
3.APPOINTMENT
4.ADD DESCRIPTION
5.ADD DOCTOR
5.1 NAME
5.2 AGE DATA ELEMENTS FILE TYPE REFERENCED COMPLEXITY
5.3 SEX 6 2 AVG
5.4 DOB
5.5 DATE OF JOIN
5.6 QUALIFICATION
7 = AVG COMPLEXITY
3=HIGH COMPLEXITY
2=LOW COMPLEXITY
5=AVG COMPLEXITY
15
EXTERNAL OUTPUTS
PATIENT
1.1 MY DETAILS
1.2 VIEW BOOKING
DOCTOR
2.1 APPOINTENT DETAILS
2.2 VIEW PATIENT
ADMIN
3.1 VIEW DOCTOR
3.2 VIEW PATIENT
3.3 VIEW APPOINTMENTS
COMPLEXITY TOTAL
EXTERNAL OUTPUTS = 7
EXTERNAL INQUIRIES
PAITENT- CHECK APPOINTMENT DETAILS
ADMIN- APPOINTMENT FOR CURRENT
DATE
UFP=144
CAF =0.65+0.01*14*3
CAF=1.07
FP= 144*1.07
FP=154.08=155
17
TutorialsDuniya.com
Cost Estimation
The COCOMO II Model
In his classic book on “software engineering economics,” Barry Boehm [Boe81] introduced a
hierarchy of software estimation models bearing the name COCOMO, for Constructive Cost
Model. The original COCOMO model became one of the most widely used and discussed software
cost estimation models in the industry. It has evolved into a more comprehensive estimation model,
called COCOMOII [Boe00]. Like its predecessor, COCOMO II is actually a hierarchy of
estimation models that address the following areas:
• Application composition model. Used during the early stages of software engineering, when
prototyping of user interfaces, consideration of software and system interaction, assessment
of performance, and evaluation of technology maturity are paramount.
• Early design stage model. Used once requirements have been stabilized and basic
software architecture has been established.
• Post-architecture-stage model. Used during the construction of the software.
Like all estimation models for software, the COCOMO II models require
sizing information. Three different sizing options are available as part of the
model hierarchy: object points, function points, and lines of source code.
The COCOMO II application composition model uses object points and is illustrated in the
following paragraphs. It should be noted that other, more sophisticated estimation models (using FP
and KLOC) are also available as part of COCOMO II.Like function points, the object point is an
indirect software measure that is computed using counts of the number of (1) screens (at the user
interface), (2) reports, and (3) components likely to be required to build the application. Each
object instance (e.g., a screen or report) is classified into one of three complexity levels
(i.e.,simple,medium, or difficult) using criteria suggested by Boehm [Boe96]. In
essence,complexity is a function of the number and source of the client and server data tables that
are required to generate the screen or report and the number of views or sections presented as part
of the screen or report.
Once complexity is determined, the number of screens, reports, and components are weighted
according to the table illustrated in Figure . The object point count is then determined by
multiplying the original number of object instances by the weighting factor in the figure and
summing to obtain a total object point count. When component-based development or general
software reuse is to be applied, the percent of reuse (%reuse) is estimated and the object point
count is adjusted:
18
In more advanced COCOMO II models,12 a variety of scale factors, cost drivers, and
adjustment procedures are required.
SCREENS
1 LOGIN TYPE
2. LOGIN
3. REGISTRATION
4. MY DETAILS
5. UPDATE DETAILS
6.APPOINTMENT DETAILS
7. BOOK APPIOINTMENT
8. VIEW BOOKINGS
9. CANCEL BOOKING
10.APPOINTMENT FOR DOCTOR
11. VIEW PATIENT
19
13. ADD DESCRIPTION
14. UPDATE DOCTOR DETAILS
15.ADD DOCTOR
16. VIEW PATIENT BY ADMIN
17. VIEW APPOINTMENTS FOR DATE
18. VIEW DOCTOR
TOTAL SCREENS= 18
REPORTS
1. REGISTERED SUCCESSFULLY
2. DETAILS SUCCCESSFULLY UPDATED
3. APPOINTMENT SUCCESSFULLY MADE
4. BOOKING SUCCESSFULLY CANCELLED
5. DOCTOR ENTRY MADE
TOTAL REPORTS=5
3 GL MODULES
1. NETBEANS
TOTAL 3GL MODULES =1
EFFORT= NOP/PRODUCTIVITY
EFFORT= 49.7/13
EFFORT=3.8
EFFORT= 4 PERSON/MONTH
20
SCHEDULING
Scheduling of a software project does not differ greatly from scheduling of any
multitask engineering effort. Therefore, generalized project scheduling tools and
techniques
can be applied with little modification for software projects.
Program evaluation and review technique (PERT) and the critical path method (CPM)
are two project scheduling methods that can be applied to software development.
Both techniques are driven by information already developed in earlier project
planning activities: estimates of effort, a decomposition of the product function, the
selection of the appropriate process model and task set, and decomposition of the
tasks that are selected.
Interdependencies among tasks may be defined using a task network. Tasks,
sometimes called the project work breakdown structure (WBS), are defined for
the product as a whole or for individual functions.
Both PERT and CPM provide quantitative tools that allow us to (1) determine the
critical path—the chain of tasks that determines the duration of the project, (2)
establish “most likely” time estimates for individual tasks by applying statistical
models, and
(3) calculate “boundary times” that define a time “window” for a particular task.
Gantt Chart
When creating a software project schedule, you begin with a set of tasks (the
work breakdown structure). If automated tools are used, the work breakdown is
input as
a task network or task outline. Effort, duration, and start date are then input for
each task. In addition, tasks may be assigned to specific individuals.
As a consequence of this input, a time-line chart, also called a Gantt chart, is
generated. A time-line chart can be developed for the entire project.
Alternatively, separate charts can be developed for each project function or for
each individual 0working on the project.
Figure a illustrates the format of a time-line chart. It depicts a part of a software
project schedule that emphasizes the concept scoping task for a word-
processing
(WP) software product. All project tasks (for concept scoping) are listed in the lefthand
column. The horizontal bars indicate the duration of each task. When multiple
bars occur at the same time on the calendar, task concurrency is implied. The
diamonds indicate milestones.
An example of a gantt chart is:
21
3. Scheduling
3.1 Schedule table
2. REQUIREMENT ANALYSIS
Detailed discussion of the project Week 3
Creating Data flow Diagram Week 4
Data Dictionary Week 5
Milestone Week 5
3. PROJECT MANAGEMENT
Computing F.P. and Effort Week 5
Schedule table Week 6
Risk table Week 7
Timeline Chart Week 8
Milestone Week 8
4. DESIGN ENGINEERING
Architectural Design Week 8
Data Design Week 9
Pseudo Code Week 9
Milestone Week 10
5. TESTING Week 12
22
Download FREE Software Engineering Projects from TutorialsDuniya.com
23
Architectural design
Though the architectural design is the responsibility of developers, some other people like
user representatives, systems engineers, hardware engineers, and operations personnel are
also involved. All these stakeholders must also be consulted while reviewing the
architectural design in order to minimize the risks and errors.
Architectural Design Representation
Architectural design can be represented using the following models.
Patient
Doctor Admin
View
detail update Appoin View
detail tment patient Add View View
doctor doctor Patient
Appoint Add
ment Descrip.
update
detail
CHAPTER-4
RISK ANALYSIS
CHAPTER-5
IMPLEMENTATION
Module screens
LOGIN PAGE
27
My Details
Download FREE Software Engineering Projects from TutorialsDuniya.com
Update Details
30
Appointment
31
Login
try{
String Username=jTextField1.getText();
String pass= new
String(jPasswordField2.getPassword());
Class.forName("java.sql.Driver");
Connection
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Airline","root","");
Statement stmt= conn.createStatement();
String query= "Select * from user where
UserName='"+Username+"';"; ResultSet rs=
stmt.executeQuery(query);
rs.next();
String User=
rs.getString("UserName"); String P=
rs.getString("Password"); String type=
rs.getString("UserType");
if(pass.equals(P)){
jFrame2.setVisible(true);
this.setVisible(false);
}
else{
JOptionPane.showMessageDialog(null, "Enter Correct Values...");
}
rs.close();
stmt.close();
conn.close();
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "Unable to Connect...."+e);
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
{ jFrame14.setVisible(true);
this.setVisible(false);
}
private void jButton36ActionPerformed(java.awt.event.ActionEvent evt)
{ System.exit(0);
}
Registration
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{ try{
My Details
try
{
class.forname("java.sql.Driver");
stmt = con.createstatement();
String query= "update tablename set email = '"tf2.getText() + "dmobile = '" + mobiletf.getText()+", Address =
'"+Addtf.getText()+"' where name = "+nametf.getText()+";";
stmt.executeupdate(query);
Joption.show MessageDialog(null, "Record updated successfully")
catch (exception e)
{
Update details
jTextField2.setText(name);
jTextField4.setText(email);
jTextField3.setText(mobileno);
jTextField5.setText(address);
rs.close();
stmt.close();
conn.close();
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "Unable to Search Patient...."+e);
}
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt)
{ jFrame4.setVisible(true);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt)
{ System.exit(0);
}
Appointment
}
private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
{ jFrame3.setVisible(true);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt)
{ System.exit(0);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt)
{ class GenerateId{
int randomId=0;
Random rand=new
Random(); for(int j=0;j<10;j+
+){
randomId=rand.nextLong();
}
return randomId;
}
try{
int randomId;
String name, fname, phone, address;
id= Integer.parseInt(jTextField3.getText());
name= jTextField4.getText();
fname= jTextField5.getText();
phone= jTextField6.getText();
address= jTextArea1.getText();
Class.forName("java.sql.Driver");
Connection
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Airline","root","");
Statement stmt= conn.createStatement();
String query= "Insert into Appointment
values("+randomId+",'"+cateogry+"','"+date+"','"+time+"');";
stmt.executeUpdate(query);
stmt.close();
conn.close();
JOptionPane.showMessageDialog(null, "Appointment has been done...");
jTextField1.setText("");
jTextField4.setText("");
jTextField3.setText("");
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "Unable to Save...."+e);
}
}
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt)
{ class GenerateId{
int randomId=0;
Random rand=new
Random(); for(int j=0;j<10;j+
+){
randomId=rand.nextLong();
}
return randomId;
try{
Class.forName("java.sql.Driver");
Connection
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Airline","root","");
Statement stmt=
conn.createStatement(); int id;
id= Integer.parseInt(jTextField7.getText());
String query= "Select * from Appointment where
ID="+randomId+";"; ResultSet rs;
rs= stmt.executeQuery(query);
String cateogry,date,time;
rs.first();
cateogry=rs.getString("cateogry");
date= rs.getString("date");
time= rs.getString("time");
jTextField1.setText(id);
jTextField4.setText(date);
Download FREE Software Engineering Projects from TutorialsDuniya.com
jTextField3.setText(time);
jComboBox1.setSelected(cateogry);
rs.close();
stmt.close();
conn.close();
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "Unable to Search patient...."+e);
}
}
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code
here: class GenerateId{
int randomId=0;
Random rand=new
Random(); for(int j=0;j<10;j+
+){
randomId=rand.nextLong();
}
return randomId;
try{
Class.forName("java.sql.Driver");
Connection conn=DriverManager.getConnection
("jdbc:mysql://localhost:3306/Hospital","root","");
Statement stmt= conn.createStatement();
int id;
id= Integer.parseInt(jTextField7.getText());
String query= "Select * from Appointment where
ID="+randomId+";"; ResultSet rs;
rs= stmt.executeQuery(query);
rs.close();
stmt.close();
conn.close();
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "The Booking is to be cancel...."+e);
}
40
CHAPTER-6
TESTING
The white box testing has another branch called basis path testing.
Basis path testing is a white-box testing technique first proposed by Tom McCabe
[McC76]. The basis path method enables the test-case designer to derive a logical
complexity measure of a procedural design and use this measure as a guide for defining
a basis set of execution paths. Test cases derived to exercise the basis set are
guaranteed to execute every statement in the program at least one time during testing.
Before we consider the basis path method, a simple notation for the
representation of control flow, called a flow graph (or program graph) must be
introduced
41
To illustrate the use of a flow graph, consider the procedural design representation in
Above figure a. Here, a flowchart is used to depict program control structure. Figure b
maps the flowchart into a corresponding flow graph (assuming that no compound
conditions are contained in the decision diamonds of the flowchart). Referring to
Figure b, each circle, called a flow graph node, represents one or more procedural
statements. A sequence of process boxes and a decision diamond can map into a
single node. The arrows on the flow graph, called edges or links, represent flow of
control and are analogous to flowchart arrows. An edge must terminate at a node,
even
if the node does not represent any procedural statements (e.g., see the flow graph
symbol for the if-then-else construct). Areas bounded by edges and nodes are
called regions. When counting regions, we include the area outside the graph as a
region.4
42
Download FREE Software Engineering Projects from TutorialsDuniya.com
Fig b
Fig c
43
2. try{
3. class.forname("java.sql.Driver);
8. while(rs.next()){
9. string uid=rs.getstring("uid ");
17, }
18. rs.close();
19. stmt.close();
20. con.close();
21, }
22. catch(Exception()) {
8
9
10
11
12
13
14
15
16
17
18
19
20
25 24 22 21
23
2) CYCLOMATIC COMPLEXITY
CYCLOMATIC COMPLEXITY=E-N+2
HERE E=27
N=25
SO CYCLOMATIC COMPLEXITY=4
3) INDEPENDENT PATHS
PATH A: 1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-25
PATH B: 1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-8-18-19-20-25
PATH C: 1-2-3-4-5-6-7-8-18-19-20-25
PATH D: 1-2-22-23-24-25
BLACKBOX TESTING
Black-box testing, also called behavioral testing, focuses on the functional
requirements of the software. That is, black-box testing techniques enable you to derive
sets
of input conditions that will fully exercise all functional requirements for a program.
Black-box testing is not an alternative to white-box techniques. Rather, it is a complementary
approach that is likely to uncover a different class of errors than whitebox
methods.
Black-box testing attempts to find errors in the following categories: (1)
incorrect or missing functions, (2) interface errors, (3) errors in data structures or
external database access, (4) behavior or performance errors, and (5)
initialization and termination errors.
Unlike white-box testing, which is performed early in the testing process,
blackbox testing tends to be applied during later stages of testing . Because
black-box testing purposely disregards control structure, attention is focused on
the information domain. Tests are designed to answer the following questions:
• How is functional validity tested?
• How are system behavior and performance tested?
• What classes of input will make good test cases?
• Is the system particularly sensitive to certain input values?
• How are the boundaries of a data class isolated?
• What data rates and data volume can the system tolerate?
• What effect will specific combinations of data have on system operation?
By applying black-box techniques, you derive a set of test cases that satisfy the following criteria
[Mye79]: (1) test cases that reduce, by a count that is greater than one, the number of additional
test cases that must be designed to achieve reasonable testing, and (2) test cases that tell you
something about the presence or absence of classes of errors, rather than an error associated only
with the specific test at hand.
This testing has different variances like:
1) Boundary Value Analysis
2) Orthogonal Array Analysis
3) Graph-Based Testing methods
4) Equivalence Class Testing
Equivalence class testing is a black-box testing method that divides the input
domain of a program into classes of data from which test cases can be derived. An
ideal test case single-handedly uncovers a class of errors (e.g., incorrect processing
of all character data) that might otherwise require many test cases to be executed
before the general error is observed.
Test-case design for equivalence partitioning is based on an evaluation of
equivalence classes for an input condition.if a set of objects can be linked by relationships that
are symmetric,transitive, and reflexive, an equivalence class is present [Bei95]. An equivalence
class represents a set of valid or invalid states for input conditions. Typically, an
input condition is either a specific numeric value, a range of values, a set of related
values, or a Boolean condition. Equivalence classes may be defined according to the
following guidelines:
1. If an input condition specifies a range, one valid and two invalid
equivalence classes are defined.
2. If an input condition requires a specific value, one valid and two
invalid equivalence classes are defined.
3. If an input condition specifies a member of a set, one valid and one
invalid equivalence class are defined.
VALID-I1={ pid}
INVALID-I2={pid<0}
01={uid,name,email,sex,age,address,mobile}
02={Error in connectivity}
Download FREE Software Engineering Projects from TutorialsDuniya.com
Chapter – 7
User Mannual
1.0 Introduction
The “HOSPITAL MANAGEMENT SYSTEM” application allows users a simple interface to access their
account from a mobile device to view their details and appointments.
Like the doctors can check for their appointments and prescribe a given drug to a patient.
The patients can also book their appointment with Doctors This document will provide instructions for
using the application .
2. x System Requirements
Windows 7 or above operating system
Internet connection for first time
login.
Troubleshooting
Missing or Incorrect Password or E-Mail
A message will be displayed in the event incorrect login information is entered. Try again with proper
credentials to access
50
Chapter -8
Conclusion
The entire project has been developed and deployed as per the requirements stated by
the user. It is found to be bug free as per the testing standards that are implemented.
The whole system’s activities are divided into two major parts like
User and admin. For implementing the system Android studio is used.
The system comprise of following features:
Display bus number
Calculation of fare
Record requests from the user
Record Complaints of the user
The estimated cost of the project is (efforts) 4 and the estimated size of the project
is (FP) 153.
There are also few features which can be integrated with this system
to make it more flexible. Below list shows the future points to be
consider :
Getting the current status of patient.
Including a different module for pharmacy
Finally, we like to conclude that we put all our efforts throughout the development of
our project and tried to fulfill most of the requirements of the user.
REFERENCES
1.IEEE Software Engineering Standards Committee, “IEEE Std 830-1998, IEEE Recommended Practice for
Software Requirements Specifications”, October 20, 1998.
[IEEE] The applicable IEEE standards are published in “IEEE Standards Collection,” 2001 edition.
51