PROJECT SOURCE CODE
PROJECT REPORT
PROJECT SOURCE CODE
CONTENTS
S.no Content
Name Page
No
1. Introduction 4
1.1 A brief overview of the HCMS
1.1.1 Advantages to the End
Users
1.2 Organization Profile
1.3 Goal and Need
1.4 General Methodology in
Developing Software Project
1.4.1
Requirement Analysis Phase
1.4.2
Design Phase
1.4.3
Development Phase
1.4.4
Coding Phase
1.4.5
Testing Phase
2. Requirement Analysis
12
2.1 Introduction
2.2 Data Collection
2.2.1 Observation
2.3 Software Requirement Specification
Document
2.3.1 Introduction
2.3.2 Problem Definition
2.3.3 Hardware requirements
2.3.4 Software requirements 2.3.5 Design Constraints
3. System Analysis
18
3.1 Module description 3.2 Feasibility analysis 3.3
Studying the existing system
3.4 Proposed system
4. Design Phase
27
4.1 Introduction.
4.2 Flow charts
4.3 Data flow diagrams
5.
Development Phase
34
5.1 Features of Java language
5.2 Ms-Access
6. Testing Phase
57
7. Screens 67
8.
Conclusion
68
9.
Bibliography
70
ABSTRACT
The main intention of
introducing this system is to reduce the manual work at Health center counters.
Every sort of task is performed by the system, such as registering different
types of persons (i.e employees , students and others) ,enquiries, and
complaints etc. reducing much paper work and burden of file storage. Also the
latest information is right available for the officials and executives wherever
they require. The system also facilitates the pharmacist to enquire about the drugs and about the stock to be ordered and about the expiry date
.
Where the system must be placed?
There
are a lot of benefits to the Health center
by placing the system at their registration and at drug store office .
At the same time the patients are also benefited using this system. They can
get the work done within no time.
How to use the system?
Using
the system is as simple as using the personal computer. Since end user
computing is developing in our country, It is beneficial to both Health
center and the patients. Every step is
clearly defined and help is provided through out the application to the user.
Even the exceptions are handled well to avoid confusion.
How is it beneficial to the Health
Center?
The heath center can get much out of the system. The system is used to enter the patient details and to enter the details about the health center and the details about the
in-patient and out-patient in
detail and about the reports of the
patients . This system represents the
patient by the OP number and this is main
criteria how the patient is provided by the free services . The drug
information and the specifications is also provided in this Health Center
Management System.
1. INTRODUCTION
1.1. BRIEF OVERVIEW OF HEALTH CENTER MANAGEMENT SYSTEM
To develop a Health Center
Management system, we take care of patient registration, drug information and concerns such as drug enquiries and complaints.
The current manual system is slow laborious and
error prone to computerize the same for quicker efficient results and customer
satisfaction
1.1.1
ADVANTAGES TO BOTH END USERS & DEVELOPERS
The system is useful in various ways as the information
about the patients who are taking the
free services from the health center all
the details are already stored in the database , so the service is done in no
time . All the information about the drugs are also maintained in the database
1.3 GOAL AND NEED:
GOAL:
With every going day the need to be where the inflow of out patient request exceeds that which can be handled
manually. Hence computerization of OP
receipt request and maintenance of the drugs through the computerization brings better satisfaction and service
oriented ness.
Quicker processing of OPNO receipt would mean
better service to the patients . It
would also help in the complexity of maintaining the records manually and thus less time is wasted on rework. Proper
maintenance of the drug information timely dispatching of the drugs from the
main stores to the pharmacy and also
maintenance of daily dispatching of the drugs to the out patients from the
pharmacy to the out patients . Towards this achievement the computerization of
the Health Center will help greatly in maintaining pf proper information about
the out patients who are eligible for the free services and the patients who
are not eligible for the free services , drug information , patients records
,and daily dispatching of the drugs to various patients .
NEED: To
develop a Heath Center Management system as
from manual system to computerized system, and to take care of Records
of the various departments in the health center.The current manual system is
slow laborious and error prone to computerize the same for quicker efficient
results .
1.4 GENERAL
METHODOLOGY IN DEVELOPING S/W PROJECT
The general methodology in developing a
system is involved in different phases, which describe the system’s life cycle
model for developing software project. The concept includes not only forward
motion but also have the possibility to return that is cycle back to an
activity previously completed. This cycle back or feedback may occur as a
result of the failure with the system to meet a performance objective or as a
result of changes in redefinition of system activities. Like most systems, the
life cycle of the computer based system also exhibits distinct phases.
Those are,
1.
REQUIREMENT ANALYSIS PHASE
2.
DESIGN PHASE
3.
DEVELOPMENT PHASE
4.
CODING PHASE
5.
TESTING PHASE
1.4.1. REQUIREMENT ANALYSIS PHASE : EYE BANK MANAGEMENT SYSTEM PROJECT
This phase includes the identification of the
problem, in order to identify the problem, we have to know information about
the problem, the purpose of the evaluation for problem to be known. We have to
clearly know about the client’s requirements and the objectives of the project.
SYSTEM ANALYSIS PHASE :
Feasibility analysis involves the benefits of
various approaches and the determination of the alternative approaches
a\through methods like questionnaires and interviews etc., different data about
the project is collected and the data through out the project is represented in
the form of UML Diagrams.
1.4.2
DESIGN PHASE :
S/W design is a process through which the
requirements are translated into a representation of a s/w. One of the software
requirements have been analyzed and specified, the s/w design involves three
technical activities : design, coding generation and testing. The design of the
system is in modular form i.e., the s/w is logically partitioned into
components that perform specific functions and sub functions. The design phase
leads to modules that exhibit independent functional characteristics. It even
leads to interfaces that reduce the complexity of the connections between
modules and with the external environment. The design phase is of main
importance because in this activity, decisions ultimately affect the success of
s/w implementation and maintenance.
1.4.3
DEVELOPMENT PHASE:
The development phase includes choosing of a
suitable s/w to solve the particular problem given. The various facilities and
the sophistication in the selected s/w give a better development of the problem.
1.4.4
CODING PHASE :
The coding phase is for translating the
design of the system produced during the design phase into code in a given
programming language, which can be executed by a computer and which performs
the computation specified by the design.
1.4.5
TESTING PHASE :
Testing is done
in various ways such as testing the algorithm, programming code, sample data
debugging is also one of following the above testing.
2. REQUIREMENT ANALYSIS - EYE BANK MANAGEMENT SYSTEM PROJECT
2.1
DATA COLLECTION:
Observation of the Existing System:
In the typical
Health Center Management System is developed to make all the sections
computerized . The entire process is very time consuming and involves tones of
paper work- mostly manually, which is both error prone and time consuming.
The
new system would have the patients are requesting for the receipts at the
Registration office by showing the ID given to the patients that are given at
there respected departments at the university level , Just by submitting the
opno to the database the person is confirmed that the person is eligible or not
. If the person is eligible the service is provided to the person. In the Drug
Store the maintenance of the drug information
that how many drugs are there in the store and how much is dispatched to
the Pharmacy house and how many are in the main stores and what content of the
drugs are to be ordered? All this information is in the drug store. The
information that how many out- patients that have visited the health center and
how many patients are In-patients this information is stored in the Case
Records, and the daily dispatching of
the drugs from the pharmacy to the patients are maintained in the Daily
Records.
2.2 SYSTEM REQUIREMENT SPECIFICATION
DOCUMENT
What is SRS?
Software Requirement Specification (SRS) is the starting point of the
software developing activity. As system grew more complex it became evident
that the goal of the entire system cannot be easily comprehended. Hence the need for the requirement phase
arose. The software project is initiated
by the client needs. The SRS is the
means of translating the ideas of the minds of clients (the input) into a
formal document (the output of the
requirement phase.)
The SRS phase consists of two basic activities:
1) Problem/Requirement
Analysis:
The process is order and more nebulous of the two, deals with
understand the problem, the goal and constraints.
2) Requirement
Specification:
Here, the focus is on specifying what has been found giving
analysis such as representation, specification languages and tools, and
checking the specifications are addressed during this activity.
The Requirement phase terminates with the production of the
validate SRS document. Producing the SRS
document is the basic goal of this phase.
ROLE OF SRS:
The
purpose of the Software Requirement Specification is to reduce the communication
gap between the clients and the developers.
Software Requirement Specification is the medium though which the client
and user needs are accurately specified.
It forms the basis of software development. A good SRS should satisfy all the parties
involved in the system.
2.3 INTRODUCTION
:
2.3.1 PURPOSE :
The purpose of this document is to
describe all external requirements for The Health Center. It also describes the
interfaces for the system.
2.3.2 SCOPE :
This document is the only one
that describes the requirements of the system. It is meant for the use by the
developers , and will also by the basis for validating the final delivered
system. Any changes made to the requirements in the future will have to go
through a formal change approval process. The developer is responsible for
asking for clarifications, where necessary, and will not make any alterations
without the permission of the client.
2.3.1
PROJECT DEFINITION
The Health Center Management System
project has been divided into four modules.
They are
1.
Registration
2.
Drug Store
3.
Case Records
4.
Daily Entries
Module-One Registration
This
module consists of the following sub modules viz.,
Inserting the
Records of the persons sent from the different departments
Viewing the
Records
Module-Two Drug Store
This module is
divided into three sub modules. They are
Inserting Drugs
Updating Drugs
About Drugs
Module-Three Case Records
This module has
been divided into three sub modules. They
are
In-patient Record
(Student)
In-patient Record
(Employee)
Out-patient
Record (Student & Employees)
Module-Four Daily Entries
This module again is divided into two sub modules. They are
Pharmacy daily Entries
Nurse daily Entries
Software
Requirements:
Platform - Windows
(2000/XP) /Unix/Solaris
Software -
JSDK 5.0, Ms-Access.
Hardware
Requirements:
Processor - Intel
celeron class Processor with 2.0 GHz
RAM - 256 MB
Hard Disk - 40
GB
Keyboard - 101
keys
Mouse - Any
pointing device
Design Constraints:
This Health Center
Management System require huge resources
as Hundreds of the patients will require the services instantly, quick
response time are needed. The database
should also be very large and robust to maintain very huge patients and drugs
data.
SYSTEM ANALYSIS - EYE BANK MANAGEMENT SYSTEM PROJECT
Analysis is the detailed study of the
various operations performed by a system and their relationships within and
outside of the system. A key question
is: What must be done to solve the problem?
One aspect of analysis is defining the boundaries of the system and
determining whether or not candidate system should consider other related
systems. During analysis, data are
collected on the available files, decision points, and transactions handled by
the present system.
3.1.MODULE
DESCRIPTION
This section
attempts to describe each module of the project in brief, and the detailed
description of each of these modules is spread throughout this document.
The
Health Center Management System project has been divided into four
modules. They are
1 Registration
2
Drug stores
3
Case Records
4
Daily Entries
1.
Registration
This module has
been divided into two sub modules. They are
Inserting the new records
Retrieving the record
1.1.
Inserting the new records
The information of the
students and employees are send from the
different departments to provide the free service. All the records which
are send from the departments are entered into the database and each member is
represented through the unique number known as the opno. Inserting of the new
records include the opno i.e which is allotted uniquely for providing the free
services, Name, Age, Sex, Address , Family members of the employee and other
Beneficiaries under the S.V. Health
Center.
1.2 Retrieving the details
The records which are entered
into the database are
retrieved to
check whether that person who has come to take the service at the health center
is eligible to take the service are not. This is done by entering the opno that
has allotted to the patient, if the data is retrieved from the database the
person is eligible to take the service and by this ,if person is the employee then in some cases
he/she is charged like wise the x-ray charges and the bed charges for the
employee. The students are not charged in any cases all the services are
provided for the free of the cost.
2
Drug Stores
This module is
divided into three modules. They are
2.1
Drug Entry
2.2
Updating Drug Entry
2.3
Stock Details
2.1
Drug Entry
This is an entry
done by entry operator after getting the stock from the medical transcripters
and the information is stored in the database. The information is in the form
starting with the Drug name, in-stock, Expiry date1 and Expiry date2. The Drug
name is uniquely identified such that the database is maintained without any
complexity. Here the expiry date is represented in the form of month-year, but
not in the form mm / dd / yy. The stock is first stored in the main drug stores
and every week it is shifted to the pharmacy store by watching the stock at the
pharmacy house.
2.2
Updating Drug Entry
This is an entry
done by same entry operator after the drugs all entered in the database. The
drugs should be shifted to the pharmacy house by checking the stock at the
pharmacy house. First the Main drug store maintains the stock and the drugs are
shifted to the pharmacy house periodically. This periodical shifting of the
drugs are updated such that the drug house knows how much of the stock is
present in the drug store, Here the drug stores mainly considers the expiry
date as the main criteria the drugs which have the nearer expiry date are
shifted to the pharmacy house.
2.3
Stock Details
The stock details
are so important such that we know how many drugs are in the main store, what
are the expiry dates of the drugs.
When the stock is
taken it will minimum of two and maximum of five expiry dates. So it is better
to watch the expiry dates so that the
drugs are shifted to the pharmacy house
according to the drugs which are having the early expiry date.
3
Case Records
This module has been divided
into three sub modules. They are
3.1
Students In-Patients
Records
3.2
Employees &
Beneficiaries In-Patients Records.
3.3
Out – Patients Records (
Students & Beneficiaries )
3.1 Students In-Patients
Records
The information about the in-patients should be notified such that the
treatment for the patient is done in the proper way. The students who are in-patients are maintained separately because
everything to the student is served freely i.e there is no bed charges, no charge for the scanning, no charge for the X-Rays
and every thing is supplied freely. There may be special cases that are used
for case studies how that disease has occurred and what are the precautions are
to be taken to overcome that disease. The diseases that affect the other
patients are shifted to the Isolation ward such that disease is not affected to
the other patients.
3.2 Employees &
Beneficiaries In-patient Records
The employees and other beneficiaries
are maintained separately such that there are applicable for some charges
.These employees have the bed charges, X-Ray and Scanning charges. These are
calculated according to the days present in the hospital.
The medicines are
freely served to the patient only in some special cases the patient is charged.
3.3 Out-Patients Record
The patients are served for the common
problems which are not serious, the treatment to all the beneficiaries and
students are provided freely. There are separate wards for the ladies and gents
and in some special cases patients are sent to the chief doctor.
4 Daily Records
Daily records are then divided
into two sub modules. They are
4.1 Pharmacy Daily Entries
Pharmacy daily entries are the
entries which are given to the out-patients and these are noted at the end of
the day. Daily entries will give the information about how many drugs are
needed every day. This will then take the sufficient number of drugs from the
main stores to the Pharmacy house.
4.2 Nurse Daily Entries
Nurse daily entries that are entered with
the operator when the drug has been administered to the patient, The date, time
what type of the drugs applied to the patient
are to be noted in certain period of time.
3.2 FEASIBILITY ANALYSIS - EYE BANK MANAGEMENT SYSTEM PROJECT
Feasibility
study is an important phase in the software development process. It enables the developer to have an
assessment of the product being developed.
It refers to the feasibility study of the product in terms of outcomes
of the product, operational use and technical support required for implementing
it.
Feasibility study should be performed on the basis of
various criteria and parameters. The
various feasibility studies are:
ü
Economic
Feasibility
ü
Operational
Feasibility
ü
Technical
Feasibility
1.
Economic Feasibility: It refers to the
benefits or outcomes we are deriving from the product as compared to the total
cost we are spending for developing the product. If the benefits are more or less the same as
the older system, then it is not feasible to develop the product.
2.
Operational Feasibility: It refers to the
feasibility of the product to be operational.
Some products may work very well at design and implementation but may
fail in the real time environment. It
includes the study of additional human resource required and their technical
expertise.
3.
Technical Feasibility: It refers to
whether the software that
is available in the market fully supports the present
application. It studies the pros and cons of using a particular software for
the development and its feasibility. It
also studies the additional training needed to be given to the people to make
the application work.
Implementation Plan:
The main
plan for the system developed is to mimic the existing system as it is in the
proposed system.
Study of the Existing System
The existing system is very
complex as every work is done manually. By using the present system, work is
done manually. So, each and every work
takes much time to complete. Whenever
the doctor needs the information it is
very difficult for the employee to search for
that particular opno details and the drug information to be ordered.
Every time we should search the records at the shelves.
Disadvantages
1.
The work is done manually
so that it takes much time to recognize the patient at the registration office.
2.
More number of labors is
needed.
3.
We can’t asses the
calculations accurately.
4.
Amount of time is more
needed when the more patients come to registration counter. It counts time factor.
5.
As there are thousands of
patients records; Searching process is a difficult task.
THE PROPOSED SYSTEM:
The present system has
obvious problems, inhibiting growth and more usage of man power. The present system which has been proposed is
very easy to work .The computerization of the every department in the health
center will reduce the work that is done manually. The man power is reduced to
the maximum extent. The patients at the registration office are registered
within no time, because every time there is no need search for the particular
opno in the shelf’s .The drugs information are maintained without any
complexity and all the calculations are made automatically by this system there
is no need for the calculations
Advantages
1. A fast and
more efficient service to all patients .
As there are thousands of
patients records; Searching process is an easy task.
2. Saving in
staff time in entering and manipulating data.
3. Easy input,
deletion and manipulation of lot, patients details.
- Simple correction of input errors and we can asses
the calculations accurately.
Disadvantage
1.
Loss of data when
electronic fluctuations occur.
Goals and Objectives
1.
Service should be provided
to patients in an efficient manner.
2.
OPNO number receipt is issued instantly when patient apply for OP receipt.
3.
Enquiry details about the
drugs are to be maintained in the proper way etc.
4.
Daily records are
maintained such that the drugs are taken from the MAIN STORES are dispatched in
the proper way.
5.
Each and every patient
record should be maintained in systematic manner so that the searching process
will be easy.
4.1 INTRODUCTION
Design is the first step in the
development phase for any techniques and principles for the purpose of defining
a device, a process or system in sufficient detail to permit its physical
realization.
Once the
software requirements have been analyzed and specified the software design
involves three technical activities design, coding, generation and testing that
are required to build and verify the software.
The design
activities are of main importance in this phase, because in this activity,
decisions ultimately affecting the success of the software implementation and
its ease of maintenance are made. These decisions have the final bearing upon
reliability and maintainability of the system. Design is the only way to
accurately translate the customer’s requirements into finished software or a
system.
Design is the place where quality
is fostered in development. Software design is a process through which
requirements are translated into a representation of software. Software design
is conducted in two steps. Preliminary design is concerned with the
transformation of requirements into data.
4.2
FLOW CHARTS
Before solving a
problem with the help of a computer, it is essential to plan the solution in a
step-by-step manner. Such a planning is represented symbolically with the help
of flow chart. It is an important tool of system analysts and Programmers for
tracing the information flow and the logical sequence in data processing Logic
is the essence of a flow chart.
A flow chart is the symbolic
representation of step-by-step solution of a given problem, and it indicates
flow of entire process, the sequence of the data input, operations,
computations, decisions, results and other relevant information.
Pertaining to a
particular problem, a flow chart helps us in the complete understanding of the
logical structure of a complicated problem and in documenting the method
used. It would be seen that the flow
chart is a very convenient method of organizing the logical steps and deciding
what, when and how to proceed with various processes. The logic should be
depicted in the flow charts. Computerization of the data without a flow chart
is like constructing the building without a proper design and detailed
drawings.
Kinds of the Flow Charts
1.
System Flow Chart
The system
analyst to describe data flow and operations for the data processing cycle uses
these. A system flow chart defines the broad processing in the organizations,
showing the origin of the data, filling structure, processing to be performed,
output that is to generate and necessity of the offline operation.
2. Program
Flow Chart (or) Computer Procedure flow chart
The programmers to describe the
sequence of operations and the decision of a particular problem normally use
these. A program flow chart plans the Program structure and also serves the
purpose of documentation for a program, which is to be retained and used at a
later date either by the original programmer or others.
Advantages:
Apart from, the
DFDS the flow charts has been helping the programmer to develop the programming
logic and to serve as the documentation for a Completed program, it has the
following advantages
1. They help for the easy understanding of the logic of a
Process or a procedure
2. It
is a better communicating tool than writing in words.
3. It is easy to find the conditions, which are
responsible
For the actions.
4. It
is an important tool for planning and designing the
New system.
5. It clearly indicates the role-played at each
level.
6. It provides an overview of the system and
also
demonstrates the relationship between the
various steps.
7. It facilitates troubleshooting.
8. It promotes logical accuracy.
Disadvantages:
1. Communication lines are not always easy to show.
2. The charts are sometimes complicated.
3. Reproduction is difficult.
4. They are hard to modify.
TABLES
Drugs
Table:-
DrugName
|
Istock
|
Ostock
|
ExDate1
|
ExDate2
|
Total
|
In-Patient
Record :-
Opno
|
Name
|
Age
|
Sex
|
DoB
|
DoA
|
DoD
|
Out-Patient
Record:-
Opno
|
Name
|
Age
|
Sex
|
Diagnosis
|
Registered
:-
Opno
|
Name
|
Age
|
Sex
|
Occupation
|
Diagnosis
|
Registration
:-
Opno
|
Name
|
Age
|
Sex
|
Occupation
|
Address
|
Family members
|
Pharmacy Entries:-
Opno
|
Drug Name1
|
No. of Tablets
issued DN1
|
Drug Name2
|
No. of Tablets
issued DN2
|
DEVELOPMENT PHASE
FEATURES OF LANGUAGE
JAVA
When the chronicle of computer languages is written, the
following will be said: B led to C, C evolved into C++, and C++ set the stage
for Java. To understand the reasons that
drove the creation, the forces that shaped it, and the legacy that it inherits. Like the successful compute languages that
came before, Java is a blend of the best elements of its rich heritage combined
with the innovative concepts required by its unique environment.
EYE BANK MANAGEMENT SYSTEM PROJECT IN JAVA
JAVA’S
FEATURE SET:
Although the fundamental forces that necessitated the
invention of Java are portability and security, other factors also played an
important role in molding the final form of the language and are given by
Ø
Simple
Ø
Object
Oriented
Ø
Portable
Ø
Robust
Ø
Security
Ø
Multithreaded
Ø
Interpreted
and High performance
Ø
Distributed
Ø
Dynamic
Ø
Garbage
Collection
Ø
No
Pointers
Ø
Simplicity
Simple
Java was designed to
be easy for the professional programmer to learn and use effectively. Java will
be even easy if we already through in the concept of object oriented. Some of
confusing concepts are left out of Java or implemented in a cleaner, more
approachable manner.
Object Oriented
The Java programming language is
object oriented, which makes program design focus on what you are dealing with
rather than on how you are going to do something. This makes it more useful for
programming in sophisticated projects because one can break the things down
into understandable components. A big benefit is that these components can then
be reused.
Object oriented languages use the
paradigm of classes. In simple term, a class includes both the data and
functions to operate on the data. You can create an instance of a class, also
called an object, which will have all the data members and functionality of its
class. Because of this, you can think of a class as being like template, with
each object being a specific instance of a particular type of class.
The class paradigm allows one to
encapsulate data so that those using the data cannot see specific data values
and function implementation. Encapsulation makes it possible to make the
changes in code without breaking other programs that use that code. It for
example the implementation of a function is changed, the change is invisible to
another programmer who invokes that function, and it does not affect his/her
program, except hopefully to improve it.
Java includes inheritance, or the
ability to derive new classes from existing classes. The derived class, also
called a subclass, inherits all the data and functions of the existing class,
referred to as parent class. A subclass can add new data members to those
inherited from the parent class. As far as methods are concerned, the subclass
can reuse the inherited methods, as it is, change them, and/or add its own new
methods.
Portable
One of the biggest
advantages Java offers is that it is portable. An application written in Java
will run on all the major platforms. Any computer with a Java based browser can
run the applications or applets written in the Java programming language. A
programmer no longer has to write one program to run on a Macintosh, another
program to run on a Windows machine, still another to run on UNIX machine, and
so on. In other words, with Java, developers write their programs only once.
The virtual machine is what gives Java is cross platform capabilities. Rather
than being compiled into machine language, which is different for each
operating systems and computer architecture, Java code is compiled into byte
codes.
With other languages, the program code
is compiled into a language the computer can understand. The problem is that
other computers with different machine instruction set cannot understand that
language. Java code on the other hand is compiled into byte code rather than a
machine language. These byte codes go to the Java virtual machine, which
executes them directly or translates them into the language that is understood
by the machine running it.
In summary, these means that with the JDBC API extending Java, a
programmer writing Java code can access all the major relational databases on
any platform that supports the Java virtual machine.
Robust
The multi platform environment of
the web places extraordinary demands on a program, because the program must
execute reliably in a variety of systems. Thus, the ability to create robust
programs was given a high priority in the design of Java. However, it also
checks our code at run time. In fact, many space hard-to-down bugs that often
turn up in hard-to reproduce run time situations are simply impossible to
create in Java.
To better understand how java is
robust, two of the reasons are mainly considered for program failure memory
management mistakes and mishandling exceptional conditions. Memory management
can be a difficult, tedious task in traditional programming environments. Java
virtually eliminates these problems by managing memory allocation and deal location.
Exceptional conditions in
traditional environment often arise in situations such as division by zero of
“file not found” and they must be managed with clumsy and hard-to-read
constructs. Java helps in this area by providing object-oriented exception
handling.
Security
Every time that we downloaded
a “normal” program, we are risking a viral infection. Prior to Java most users
did not download executable programs frequently, and those who did scan them
for viruses prior to execution. Even so, most users still worried about the
possibilities of infecting their systems with a virus.
In addition to viruses, another type
of malicious program exists that must be guarded against. This type of program
can gather private information, such as credit card numbers, bank account
balances and passwords, by searching the contents of our computer’s local file
system. Java answers both of this concern by providing a “firewall” between a networked
application and our computer.
Multithreaded
Java was designed to
meet the real-world requirement of creating interactive, networked programs. To
accomplish this, java supports multithreaded programming, which allows us to write
programs that do many things simultaneously. The Java run-time system comes
with an elegant yet sophisticated supplicated solution for multi process
synchronization that enables us to construct smoothly running interactive
systems.
Interpreted
and high performance
Java enables the creation of
cross-platform programs by compiling into an intermediate representation called
Java byte code. This code can be interpreted on any system that provides a Java
virtual machine. Most previous attempts at cross-platform solutions have done
so at the expense of performance. Other interpreted system, such as BASIC, Tcl
and PEAL, suffer from almost insurmountable performance deficits. Java,
however, was designed to perform well on very low power CPUs.
Distributed
Java is built
with network communications in mind. It has a comprehensive library of routines
for dealing with network protocols such as TCP/IP, HTTP and FTP. As a result,
Java application can open and access objects across the Internets with the same
ease that programmers normally excepts while accessing a local file system. You
don’t have to worry about implementing the details of network yourself. Java
comes with everything needed for truly distributed computing.
Dynamic
Fundamentally, distributed
computing environment must be dynamic Java was designed to adapt in a
constantly evolving environment. It is capable of incorporating new
functionality regard less of where that functionality comes from the local
computer system, the local and wide area networks, and the internet are all
potential contributors.
Garbage
Collection
Automatically
takes care of allocating and de-allocating memory, a huge potential source of
errors. If an object is no longer being used (has no references to it), then it
is automatically removed from memory, or “Garbage Collected”. Programmers don’t
have to keep track of what has been allocated and de-allocated them, which
makes their job a lot easier, but more importantly it stops memory leaks.
No Pointers
Eliminates big source
errors. By using object references instead of memory pointers, problems with
pointer arithmetic are eliminated, and problems with inadvertently accessing
the wrong memory address are greatly reduced.
Simplicity
Makes Java easier to learn and use
correctly. Java keeps it simple by having just one way to do something instead
of having several alternatives, as in some languages. Java also stays lean by
not including multiple inheritances, which eliminates the errors and ambiguity
that arise when you create a subclass that inherits from two or more classes.
To replace capabilities, multiple
inheritances provide, Java lets you add functionality to a class through the
use of interfaces.
5.2 Introduction to JDBC:
JDBCTM
is a JavaTM API for executing SQL statements. (As a point of
interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC
is often thought of as standing for "Java Database Connectivity".) It
consists of a set of classes and interfaces written in the Java programming
language. JDBC provides a standard API for tool/database developers and makes
it possible to write database applications using a pure Java API.
Using
JDBC, it is easy to send SQL statements to virtually any relational database.
In other words, with the JDBC API, it isn't necessary to write one program to
access a Sybase database, another program to access an Oracle database, another
program to access an Informix database, and so on. One can write a single
program using the JDBC API, and the program will be able to send SQL statements
to the appropriate database. And, with an application written in the Java
programming language, one also doesn't have to worry about writing different
applications to run on different platforms. The combination of Java and JDBC
lets a programmer write it once and run it anywhere.
Java
being robust, secure, easy to use, easy to understand, and automatically downloadable
on a network, is an excellent language basis for database applications. What is
needed is a way for Java applications to talk to a variety of different
databases. JDBC is the mechanism for doing this.
JDBC
extends what can be done in Java. For example, with Java and the JDBC API, it
is possible to publish a web page containing an applet that uses information
obtained from a remote database. Or an enterprise can use JDBC to connect all
its employees (even if they are using a conglomeration of Windows, Macintosh,
and UNIX machines) to one or more internal databases via an intranet. With more
and more programmers using the Java programming language, the need for easy
database access from Java is continuing to grow.
MIS
managers like the combination of Java and JDBC because it makes disseminating
information easy and economical. Businesses can continue to use their installed
databases and access information easily even if it is stored on different
database management systems. Development time for new applications is short.
Installation and version control are greatly simplified. A programmer can write
an application or an update once, put it on the server, and everybody has
access to the latest version. And for businesses selling information services,
Java and JDBC offer a better way of
getting
out information updates to external customers.
5.2.1 JDBC does the following
things:
Ø Establish a connection with a database
Ø Send SQL statements
Ø Process the results.
The following code fragment gives a basic example of these three steps:
Class.forName (“oracle.jdbc.driver.OracleDriver”);
Connectioncon=DriverManager.getcConnection(“jdbc:oracle:thin:@192.168.0.2:1521:tit”);
Statement stmt=con.createStatement ();
5.2.2 CONNECTION
A connection object represents a connection with a
database. A connection session includes the SQL statements that are executed
and the results that are returned over the connection. A single application can
have one or more connections with a single database, or it can have connections
with many different databases.
5.2.2.2 SENDING STATEMENT
Once a connection is established, it is used to
pass SQL statements to its underlying database. JDBC does not put any
restrictions on the kinds of SQL statements that can be sent; this provides a
great deal of flexibility, allowing the use of database-specific statements or
even non-SQL statements. It requires, however, that the user be responsible for
making sure that the underlying database can process the SQL statements being
sent and suffer the consequences if it cannot.
5.2.3 DRIVER MANAGER
The Driver Manager class is the management layer of
JDBC, working between the user and the drivers. It keeps track of the drivers
that are available and handles establishing a connection between a database and
the appropriate driver. It addition, the driver manager class attends to things
like driver login time limits and the printing of log and tracing messages. The
only method in this class that a general programmer needs to use directly is
DriverManager.getConnection. As its name
implies, this method establishes a connection to a database.
5.3 JDBC IS A LOW-LEVEL API & A BASE FOR HIGHER-LEVEL APIS
JDBC is a "low-level" interface, which means that it is used
to invoke (or "call") SQL commands directly. It works very well in
this capacity and is easier to use than other database connectivity APIs, but
it was designed also to be a base upon which to build higher-level interfaces
and tools. A higher-level interface is "user-friendly," using a more
understandable or more convenient API that is translated behind the scenes into
a low-level interface such as JDBC. At the time of this writing, two kinds of
higher-level APIs are under development on top of JDBC:
1. An embedded SQL for Java. At least one vendor plans
to build this. DBMSs implement SQL, a language designed specifically for use
with databases. JDBC requires that the SQL statements be passed as Strings to
Java methods. An embedded SQL preprocessor allows a programmer to instead mix
SQL statements directly with Java: for example, a Java variable can be used in
a SQL statement to receive or provide SQL values..
2. A direct mapping of relational database tables to
Java classes. Java Soft and others have announced plans to implement this. In
this "object/relational" mapping, each row of the table becomes an
instance of that class, and each column value corresponds to an attribute of
that instance. As interest in JDBC
has grown, more developers have been working on JDBC-based tools to make
building programs easier, as well. Programmers have also been writing applications
that make accessing a database easier for the end user. For example, an
application might present a menu of database tasks from which to choose. With
the requested input typed in, the application then automatically invokes the
necessary SQL commands. With the help of such an application, users can perform
database tasks even when they have little or no knowledge of SQL syntax.
5.3.1 JDBC VERSUS ODBC AND OTHER APIS
At this point, Microsoft's ODBC
(Open Database Connectivity) API is probably the most widely used programming
interface for accessing relational databases. It offers the ability to connect
to almost all databases on almost all platforms. So why not just use ODBC from
Java?
The answer is that you can use ODBC from Java,
but this is best done with the help of JDBC in the form of the JDBC-ODBC
Bridge, which we will cover shortly. The question now becomes, "Why do you
need JDBC?" There are several answers to this question:
1. ODBC is not appropriate for direct use from Java
because it uses a C interface. Calls from Java to native C code have a number
of drawbacks in the security, implementation, robustness, and automatic
portability of applications.
2. A literal translation of the ODBC C API into a Java
API would not be desirable. For example, Java has no pointers, and ODBC makes
copious use of them, including the notoriously error-prone generic pointer
"void *". You can think of JDBC as ODBC translated into an
object-oriented interface that is natural for Java programmers.
3. ODBC is hard to learn. It mixes simple and advanced
features together, and it has complex options even for simple queries. JDBC, on
the other hand, was designed to keep simple things simple while allowing more
advanced capabilities where required.
4. A Java API like JDBC is needed in order to enable a
"pure Java" solution. When ODBC is used, the ODBC driver manager and
drivers must be manually installed on every client machine. When the JDBC
driver is written completely in Java, however, JDBC code is automatically installable,
portable, and secure on all Java platforms from network computers to
mainframes.
In summary, the JDBC API is a
natural Java interface to the basic SQL abstractions and concepts. It builds on
ODBC rather than starting from scratch, so programmers familiar with ODBC will
find it very easy to learn JDBC. JDBC retains the basic design features of
ODBC; in fact, both interfaces are based on the X/Open SQL CLI (Call Level
Interface). The big difference is that JDBC builds on and reinforces the style
and virtues of Java, and, of course, it is easy to use. More recently,
Microsoft has introduced new APIs beyond ODBC: RDO, ADO, and OLE DB. These
designs move in the same direction as JDBC in many ways, that is, in being an
object-oriented database interface based on classes that can be implemented on
ODBC. However, we did not see compelling functionality in any of these
interfaces to make them an alternative basis to ODBC, especially with the ODBC
driver market well established. Mostly they represent a thin veneer on ODBC.
This is not to say that JDBC does not need to evolve from the initial release;
however, we feel that most new functionality belongs in higher- level APIs such
as the object/relational mappings and embedded SQL mentioned in the previous
section.
5.3.2 TWO-TIER AND
THREE-TIER MODELS
The JDBC API supports both two-tier
and three-tier models for database access. In the two-tier model, a Java applet
or application talks directly to the database. This requires a JDBC driver that
can communicate with the particular database management system being accessed.
A user's SQL statements are delivered to the database, and the results of those
statements are sent back to the user. The database may be located on another
machine to which the user is connected via a network. This is referred to as a
client/server configuration, with the user's machine as the client, and the
machine housing the database as the server. The network can be an intranet,
which, for example, connects employees within a corporation, or it can be the
Internet.
In the three-tier model, commands
are sent to a "middle tier" of services, which then send SQL
statements to the database. The database processes the SQL statements and sends
the results back to the middle tier, which then sends them to the user. MIS
directors find the three-tier model very attractive because the middle tier
makes it possible to maintain control over access and the kinds of updates that
can be made to corporate data. Another advantage is that when there is a middle
tier, the user can employ an easy-to-use higher-level API which is translated
by the middle tier into the appropriate low-level calls. Finally, in many cases
the three-tier architecture can provide performance advantages.
Until now the middle tier has
typically been written in languages such as C or C++, which offer fast
performance. However, with the introduction of optimizing compilers that
translate Java byte code into efficient machine-specific code, it is becoming
practical to implement the middle tier in Java.
5.3.3 JDBC DRIVER TYPES
The
JDBC drivers that we are aware of at this time fit into one of four categories:
1. JDBC-ODBC Bridge plus ODBC driver:
The Java Soft bridge product provides JDBC access via ODBC drivers. Note that
ODBC binary code, and in many cases database client code, must be loaded on
each client machine that uses this driver. As a result, this kind of driver is
most appropriate on a corporate network where client installations are not a
major problem, or for application server code written in Java in three-tier
architecture.
2. Native-API partly-Java driver: This
kind of driver converts JDBC calls into calls on the client API for Oracle,
Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this
style of driver requires that some binary code be loaded on each client
machine.
3. JDBC-Net pure Java driver: This
driver translates JDBC calls into a DBMS- independent net protocol, which is
then translated to a DBMS protocol by a server. This net server middleware is
able to connect its pure Java clients to many different databases. The specific
protocol used depends on the vendor. In general, this is the most flexible JDBC
alternative. In order for these products to also support Internet access, they
must handle the additional requirements for security, access through firewalls,
and so on, that the Web imposes.
4. Native-protocol pure Java driver: This
kind of driver converts JDBC calls into the network protocol used by DBMSs
directly. This allows a direct call from the client machine to the DBMS server
and is a practical solution for Intranet access.
Eventually, we expect that driver categories
3 and 4 will be the preferred way to access databases from JDBC. Driver
categories 1 and 2 are interim solutions where direct pure Java drivers are not
yet available. There are possible variations on categories 1 and 2 (not shown
in the table below) that require a connector, but these are generally less
desirable solutions. Categories 3 and 4 offer all the advantages of Java,
including automatic installation (for example, downloading the JDBC driver with
an applet that uses it).
The following chart shows the four categories and
their properties:
DRIVER CATEGORY
|
ALL JAVA?
|
NET PROTOCOL
|
1 – JDBC-OCBC Bridge
|
No
|
Direct
|
2 – Native API as basis
|
No
|
Direct
|
3 – JDBC-Net
|
Yes
|
Requires Connector
|
4 – Native protocol as basis
|
Yes
|
Direct
|
5.3.4 OBTAINING JDBC DRIVERS
At the time of this writing, there
are dozens of drivers in Category 1: ODBC drivers that can be used with
JavaSoft's bridge. There are currently about a dozen Category 2 drivers built
on top of native APIs for DBMSs. There are a few Category 3 drivers. Currently
there are at least two Category 4 drivers, but by the end of 1997, we expect
that there will be Category 4 drivers for all of the major DBMSs.
To get the latest information on
drivers, check the JDBC web page at http:// java.sun.com/products/jdbc. The first vendors with
Category 3 drivers available were SCO, Open Horizon, Visigenic, and Web Logic.
Java Soft and Intersolv, a leading database connectivity vendor, worked
together to produce the JDBC-ODBC Bridge and the JDBC Driver Test Suite.
5.4 Introduction to MS
Access:
5.4.1 About Data Access Pages:
A data access page is a web page
that you can use to add, edit, view or manipulate current data in a Microsoft
Access database or an SQL server database .You can create pages that are used
to enter and edit data, similar to Access forms. You can also create page that
display records grouped hierarchically, similar to Access reports.
Collect and distribute data in
several ways. You can use pages to add, edit and view data within a Microsoft
Access database or Microsoft Access projects. You can use them on them on the
internet or on an intranet, and you can send them in e-mail.
5.4.2 View grouped records
interactively:
On grouped pages, you can
view just the details you want by expanding and collapsing group headers. You
can also sort and filter records.
5.4.3 Analyze data and make
projections:
You can organize data in different
ways using a Pivot table list, make projections and do complex calculations
using a spreadsheet control and view data graphically in a chart.
5.4.4 Display HTML text:
You can store HTML code in fields
in your database and displays it as formatted HTML text on the page. For
example, if a value in field includes the HTML tag that formats text as
italic, Text</>,you can use a bound HTML control on the page to
display the value in italic text.
5.4.5 Use familiar design
tools:
In design view, create pages using
toolbars, the tool box, themes and other features that are similar to the tools
you use to create forms and reports.
5.4.6 Microsoft Access project:
Easily create a client/server
application: A Microsoft Access project (.adp) is new type of Access file that
provides efficient, native-mode access to a Microsoft SQL server data base
through the OLE DB component architecture. Using an Access project, you can
easily create a client / server application
Work with an Access project working with
a Microsoft Access project is very simply to working with an Access database
.The process of creating forms, reports data access pages, macros and modules
is the same. Once you connect to an SQL Server database, you can view, create
modify and delete tabl4es, views, stored procedures and database diagrams using
the Microsoft SQL sever design tools.
Use Microsoft data engine (MSDE): MSDE is
a new technology that provides local data storage compatible with SQL Server
7.0.Think of MSDE as a client /server data engine alternative to the file
server Microsoft Jet database engine. It is designed and optimized for use on
smaller computer systems, such as a single user computer or small working
sever.
Upsize data and objects by using
the upsizing Wizard: The upsizing wizard upsize a Microsoft Access database (.mdb) to anew or existing Microsoft SQL Server 6.5 and 7.0
data base or new Microsoft Access
project(.adp) but upsizing the data and data definitions and migrating database
objects.
Working with data and database design;
Microsoft Access provides many new features that make working data and
designing a database even easier.
·
Use
record-level locking a Microsoft Access database now supports
record-level locking, in addition to page-level locking (with locks all records
on a4k page).You enable the locking level with the new database option ,Open
databases using record level locking (Tools
menu ,Options command ,Advanced Tab).The actual level that is used
depends on how the Access database is
programmed.
·
Find and replace you can now move freely between the
find and replace dialog boxes and the data in the views or window.
·
View related data in sub-datasheet to view and edit
related or joined data in a table, query o r form datasheet or in a sub form
all from the same view. for example , in a Northwind sample database the
suppliers table has a one-to-many relationship with the products table’s far
each row of the suppliers table in datasheet view ,you can view edit the
related rows of the products table in a
sub-datasheet.
·
Automatically fix errors caused by renaming fields
name autocorrect automatically corrects common side effects that occur when you
rename forms, reports, tables, queries, fields, text boxes or other controls.
·
Take advan5age of Unicode support use the characters
of any language that Unicode supports in your data .use Unicode compression to
offset the effects of Unicode’s increased storage space requirements.
·
Work with the euro: To easily display euro amounts
with other currencies, you can use the euro setting(#,##,## #) of the formant
property t indicate a euro amount .Alternatively ,you can enter the euro symbol
by pressing ALT+0128 on the numeric keypad with NUM LOCK on. When you paste or
import data with that contains the euro symbol from Microsoft Excel into
Microsoft access, Access stores the euro symbol regardless of the currency
symbol defined in Regional Settings in Windows Control Panel. Finally, you can
use the Euro Convert function to convert one currency to another by using the
euro as an intermediary. More about working with the euro.
·
Print relationships: Print a report of the
relationship in your access database as they appear in the Relationship Window
·
Use the keyboard to manage relationships: use the
keyboard to create, edit and delete relationship and joins.
·
Use Microsoft activeX data objects (ADO): use
Microsoft activeX data objects (ADO) to access and manipulate data in a
database server through any OLE DB provider.
5.4.7 Database Window:
The database window in
Microsoft access provides a variety of options for viewing and manipulating database
objects.
·
Use the Database window toolbar: quickly find commands for creating opening,
or managing database objects.
·
Use the objects bar view database object in the
objects bar –its vertical orientating makes it easier to use
·
Organize database objects into groups’ click the
Groups bar to view your groups, which can contain shortcuts to database objects
of different types.
·
Use new object shortcuts in the Database window,
quickly create a new database object by using a wizard, or open a new database
object in design view.
·
Customize how you select and open objects in the
databases window if you choose, change the default behavior so that you select
a database object by resting the pointer over it, and open an object by
single-clicking it.
·
Select an object by typing its name. For example, select the Shipper’s table while
viewing the list of table objects by typing it.
Securing, Marinating, and
Converting a database:
- Secure your access database with the User-level security
Wizard. The User-level security
wizard is now much easier to use and is the preferred method for defining
user-level on a Microsoft access database for most common security
schemes,
- Protect your code with visual Basic for application
password a Visual Basic applications password that you create in the
Visual Basic Editor; they are no longer protected by user-level security.
- Use the improved Compact utility Compact Microsoft
Access databases and Microsoft access projects with an improved utility
that combines compacting and repairing into a single process, and is safer
and more effective.
- Compact automatically select Compact on Close to
automatically compact a Microsoft Access databases or Microsoft access
project when you close it.
5.4.8 Forms and Reports:
Microsoft access provides new features to
make it faster an easier to create great-looking forms and reports.
- Groups’ text boxes and other controls use the Group
command on the Format Menu to group related text boxes and other controls
on form or report.
- Define conditional formatting rules for text boxes and
other controls Use the conditional Formatting command on Format menu to
define the font color, font size, control background color, and other
visual information that gives feedback to users as they enter data on a
form.
- Create forms and report for SQL server database in a
Microsoft access project, create forms and reports for a SQL server
Database with the same tools that you use to create them in a Microsoft
access Database.
- Distribute reports to users who do not have Microsoft
Access Export Microsoft access reports to report snapshot (.snp) file
format. You can use snapshot viewer
to view, print, and mail report snapshots.
5.4.9 Replication:
Replication commands on the Microsoft
Access Tools menu in Microsoft Access database (.mdb) and in a Microsoft access
project (.adp) allow you to create replicas and synchronize them on demand as
you work in Microsoft Access.
- Replication in an access project: replication data in an access project by
creating publications and subscriptions.
- Jet and replications Objects (JRO): JRO includes methods and properties
developers can use the programmatically replicate and synchronize database
and Access projec6ts.
- Web Server replication:
work on files even when you are no longer connected to a web
server.
- Replica Priority: a replica in a replica set is assigned
a priority when it is created. The
highest priority replica wins in the case of synchronization conflict.
- Prevent deletes option:
Prevent users from deleting records in a replica.
- Local and anonymous replicas: create local replicas and
anonymous replicas, Local and anonymous replicas can synchronize only with
their parent, global replica. Anonymous replicas are recommended for
Interment applications if you need a large number of replicas.
- Conflict viewer:
the conflict Viewer is the default tool in Access to reconcile and
resolve synchronization conflict
- Row Level Tracking Property: when this table property is set to true,
it indicates that conflicts are tracked based at the row-level of a
table. Conflicts are tracked at the
column-level by default.
- Conflict Function Property: this property is used to replace the
Microsoft access Conflict viewer with a customized procedure that assists
users in resolving synchronization conflicts.
- Retention period:
controls the number of day’s non synchronized records are retained
in the system tables.
- Synchronization conflicts: A single mechanism is now used to
record and resolve conflicts and errors, making it easier to resolve
conflicts. Whenever a conflict
occurs, a winning change is selected and applied in all replicas and the
losing change is recorded as a conflict at all replicas.
- Column-level conflict resolution: Conflicts are determined at the column
level. Changes to the same record
in two different replicas cause a synchronization conflict only if the
same column or field is changed.
The
stage of planning the development process involves defining a define, develop,
test, deliver, operate, and maintain a software product. Different lifecycle
models emphasize different aspects of the lifecycle and no single lifecycle
model is suitable for all software products.
A lifecycle model that is understood and accepted by all concerned
parties improves project communication and enhances project manageability,
resource allocation, cost control, and product quality.
The Phased Life Cycle Model
The phased
lifecycle model represents software lifecycle as a series of successive
activities. Each phase requires
well-defined input information, utilizes well-defined processes and results in
well-defined products. The phased model
consists of following phases.
Analysis, Design,
Implementation, System Testing and Maintenance
This
model is sometimes called the Waterfall Chart, the implication being that the
products cascade from one level to another in smooth progression.
Analysis
|
Design
|
Implementation
|
System
Testing
|
Maintenance
|
Planning,
User needs
Definition
|
Design
Details
|
Code, debug and Test
|
Integration &
Acceptance
|
Enhance, Fix Adapt
|
The Analysis Stage
consists of Planning and Requirements definition Major include understanding
the customer’s problem, performing A feasibility study, developing a
recommended solution strategy, determining the acceptance criteria and planning
development process. The products of planning are a System definition and a
project plan.
The Software Design follows
analysis. Design is concerned with its software components, specifying
relationships among components specifying some structure, maintaining a record
of design decisions and providing blueprint implementation phase. Design consists of detailed design and
Architectural design.
The implementation phase of
software development involves translation design specification into source
code, and debugging, documentation and unit testing the source code. To enhance the quality of the software the
methods are structured control constructs, built in and user defined data
types, secure type checking, flexible scope rules exception handling mechanism,
concurrency constructs and separates compilation modules.
System Testing involves two
kinds of testing integration testing and acceptance testing. Developing a strategy for integrating the
components of a software system into a functioning whole requires careful
planning so that modules are available for integration when needed. Acceptance testing involves planning and
execution of various tests in order to demonstrate that the implemented system
satisfies the requirements document.
The Maintenance phase comes
after the acceptance by the customer and release of the system for production
work. Maintenance activities include
enhancements of capabilities, adaptation of software to new processing
environments, and correction of software bugs.
This project follows the Phased
Life Cycle Model or the Water Fall model to a large extent.
The
analysis stage consisted of listening to the needs and requirements of all
departments obtaining the required format of the system as desired by them,
taking the required data to be stored for future use etc., In the design stage
the structure of the system was designed and all the required screens were
formatted. This was then shown to the
medical officer’s approval and the system was built. Implementation phase was also done at as they
provided a computer with all the required software and with required
configuration. The coding and debugging
was done even after this stage certain changes were made as made as requested
by the guide. The testing was done to check for any errors or bugs or unwanted
behavior in the system. Individual
modules as well as the whole system were tested separately.
SOFTWARE TESTING - EYE BANK MANAGEMENT SYSTEM PROJECT
Software Testing is a critical element of software
quality assurance and represents the ultimate review of specification, design
and coding, Testing presents an interesting anomaly for the software engineer.
Testing Objectives include:
1. Testing is a process of executing a program with the intent of
finding an error
2.
A good test case is one that has a probability of finding an as yet
undiscovered error
3.
A successful test is one that uncovers an undiscovered error
Testing Principles:
·
All tests should be traceable to end user requirements
·
Tests should be planned long before testing begins
·
Testing should begin on a small scale and progress towards testing in
large
·
Exhaustive testing is not possible
·
To be most effective testing should be conducted by a independent third
party
TESTING STRATERGIES
A Strategy for software testing integrates software test
cases into a series of well planned steps that result in the successful
construction of software. Software
testing is a broader topic for what is referred to as Verification and
Validation. Verification refers to the
set of activities that ensure that the software correctly implements a specific
function Validation refers he set of activities that ensure that the software
that has been built is traceable to customer’s requirements
Unit Testing:
Unit testing focuses verification effort on the smallest
unit of software design that is the module.
Using procedural design description as a guide, important control paths
are tested to uncover errors within the boundaries of the module. The unit test is normally white box testing
oriented and the step can be conducted in parallel for multiple modules.
Integration Testing:
Integration testing is a systematic technique for
constructing the program structure while conducting test to uncover errors
associated with the interfacing. The
objective is to take unit tested methods and build a program structure that has
been dictated by design.
Top-down Integration:
Top down integrations an incremental approach to
construction of program structure.
Modules are integrated by moving downward through the control hierarchy,
beginning with the main control program.
Modules subordinate to the main program are incorporated in the
structure either in the breath-first or depth-first manner.
Bottom-up Integration:
This method as the name suggests, begins construction and
testing with atomic modules i.e., modules at the lowest leveling the program
structure. Because the modules are
integrated in the bottom up manner the processing required for the modules
subordinate to a given level is always available and the need for stubs is
eliminated.
Validation Testing:
At the end of integration testing software ids completely
assembled as a package. Validation
testing is the next stage which can be defined as successful when the software
functions in the manner reasonably expected by the customer. Reasonable expectations are those defined in
the software requirements specifications.
Information contained in those sections form a basis for validation
testing approach.
System Testing:
System testing is actually a series of different tests
whose primary purpose is to fully exercise the computer-based system. Although each test has a different purpose,
all work to verify that all system elements have been properly integrated to
perform allocated functions.
Recovery Testing:
It is a system test that forces the system to fail in a
variety of ways and verities that the recovery is properly performed.
Security Testing:
Attempts
to verify the protection mechanisms built into the system.
Performance Testing:
This method is designed to test runtime performance of
software within the context of an integrated system..Software testing is a
critical element of software quality assurance and represents the ultimate
review of specification, design and coding. Testing is the exposure of the
system to trial input to see whether it produces correct output.
Testing Phases:
Software testing phases include the following:
Test activities are determined and test data
selected.
The test is conducted and test results are
compared with the expected results.
There are various types of Testing:
Unit Testing:
Unit testing is essentially for the
verification of the code produced during the coding phase and the goal is test
the internal logic of the module/program.
This project is thoroughly tested by exposing
it to the various test cases regarding correct event generation, as this
project passed all the tests its quality is completely assured.
Integration Testing:
All the tested modules are combined into sub
systems, which are then tested. The goal is to see if the modules are properly
integrated, and the emphasis being on the testing interfaces between the
modules. On this project integration testing is done mainly while implementing
menus in a sample application such as Browser for Mobiles.
System Testing:
It is mainly used if the software
meets its requirements. The reference document for this process is the
requirement document.
Acceptance Testing:
It is performed with realistic data of the
client to demonstrate that the software is working satisfactorily.
Testing Methods:
Testing is a process of executing a program to find
out errors. If testing is conducted successfully, it will uncover all the
errors in the software. Any testing can be done basing on two ways:
White Box Testing:
It is a test case design method that uses the control
structures of the procedural design to derive test cases. using this testing a
software Engineer can derive the following test cases:
Exercise all the logical decisions on either true
or false sides. Execute all loops at
their boundaries and within their operational boundaries. Exercise the internal
data structures to assure their validity.
Black Box Testing:
It is a test case design method used on the
functional requirements of the software. It will help a software engineer to
derive sets of input conditions that will exercise all the functional
requirements of the program. Black Box testing attempts to find errors in the
following categories:
Incorrect or missing functions
Interface errors
Errors in data structures
Performance errors
Initialization and termination errors
By Black Box Testing we derive a set of test cases
that satisfy the following criteria:
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.
Test
cases that tell us something about the presence or absence of classes of errors
rather than errors associated only with a specific test at hand.
Test Approach :
Testing can
be done in two ways:
Bottom up
approach
Top down
approach
Bottom up Approach:
Testing can be performed starting
from smallest and lowest level modules and proceeding one at a time. For each
module in bottom up testing a short program executes the module and provides
the needed data so that the module is asked to perform the way it will when
embedded with in the larger system. When bottom level modules are tested
attention turns to those on the next level that use the lower level ones they
are tested individually and then linked with the previously examined lower
level modules.
Top down approach:
This type of testing starts from
upper level modules. Since the detailed activities usually performed in the
lower level routines are not provided stubs are written. A stub is a module
shell called by upper level module and that when reached properly will return a
message to the calling module indicating that proper interaction occurred. No
attempt is made to verify the correctness of the lower level module.
CONCLUSION - EYE BANK MANAGEMENT SYSTEM PROJECT
The need for the
Health Center to computerize the application processing and servicing the
Patients request through automated modules is most necessary and now
inevitable.
As we have
already seen that the need cannot be emphasized for the further development of
this system is only timely and helpful to Health Center, the system defined in
the above script is up to date and caters to all kinds of request faced by the
Health Center employees requirements to provide the better service to the
patients, being developed in java it is also flexible modularized highly
parameterized and hence can be easily deployed by any other application because
of its componentized approach.
Based on the
various parameters and properties files everything from the look and feel to
the functionalities can be customized.Thus this project is developed from the
beginning with reuse in mind and implicitly uses several design patterns. The
architecture of this project is such that it suits the diverse and distributed
nature of the Health Center Applications.
The features
provided by the (Health Center Management System) are in no means comprehensive
but by all means full filling all important functionalities of Health Center services. Inclusion of further
functionalities as days go by can be easily done because the project has been
developed in a layered architecture.
Plug-in modules
would easily add new features which change with the times and being performance
oriented the project will not face any issues. It is also extensible and
scalable as all applications should be thus it can be said that it will meet
surges of huge employee and patient requests that may come up in the near
future.
1 comment:
Your blog is very nice… I got more information about your blog page… Thanks for sharing your information…
Visit link
Best Hospital management software in Mumbai
Visit link
Best Hospital management software in Kochi a
Visit link
Best Hospital management software in Bhubaneshwar.
Post a Comment