Upload
nitish-dubey
View
220
Download
0
Embed Size (px)
Citation preview
A
TRAINING REPORT
ON
Find Dream Homes
Submitted by: Name:
Vishal Singla(111225) Varun
Breja(111229) Rajat Gambhir(111581)
DECLARATION
We, hereby declare that the report of the project entitled “Find Dream Home” has not
been presented as a part of any other academic work to get our degree or certificate except
NIT Kurukshetra for the fulfillment of the requirements for the degree of Bachelor of
Computer Engineering.
Acknowledgement
Keep away from people who try to belittle your ambitions. Small people always do that, but the really great make you feel that you too, can become great.
We take this opportunity to express our sincere thanks and deep gratitude to all
those people who extended their wholehearted co-operation and have helped us in
completing this project successfully.
We are highly indebted and graceful to Mr. Hemant(Project Leader) for his
strict supervision, constant encouragement, inspiration and guidance, which ensure the
worthiness of our work. Working under him was an enriching experience. We express our
sincere thanks to our senior of software development department for their encouragement
and valuable suggestion.
We would also like to thank our parents & project mate for guiding and
encouraging us throughout the duration of the project.
In all we found a congenial work environment in Ducat and this completion of the
project will mark a new beginning for us in the coming days.
INTRODUCTION
As a part of our summer training , during the period of May 29 ,2013 to June 10,2013 .We
have successfully completed our training from Ducat , Faridabad .Our training was based
on the Object Oriented language ,Java and other advanced technologies such as Servlets
and Java Server Pages. During that period we did a project titled “FIND DREAM
HOMES”.
Here is a brief introduction to Java.
HISTORY OF JAVAPerhaps the microprocessor revolution’s most important contribution to date is that it made
possible the development of personal computers, which now number in the hundreds of
millions worldwide. Personal computers have had a profound impact on people and the
way organizations conduct and manage their business.
Many people believe that the next major area in which microprocessors will have a
profound impact is in intelligent consumer-electronic devices. Recognizing this, Sun
Microsystems funded an internal corporate research project code-named Green in 1991.
The project resulted in the development of a C- and C++-based language that its creator,
James Gosling, called Oak after an oak tree outside his window at Sun. It was later
discovered that there already was a computer language called Oak. When a group of Sun
people visited a local coffee place, the name Java was suggested, and it stuck.
The Green project ran into some difficulties. The marketplace for intelligent consumer-
electronic devices was not developing as quickly as Sun had anticipated. Worse yet,
a major contract for which Sun competed was awarded to another company. So the project
was in danger of being canceled. By sheer good fortune, the World Wide Web exploded inpopularity in 1993, and Sun people saw the immediate potential of using Java to create
Web
pages with so-called dynamic content. This breathed new life into the project.
Sun formally announced Java at a major conference in May 1995. Ordinarily, an event
like this would not have generated much attention. However, Java generated immediate
interest in the business community because of the phenomenal interest in the World Wide
Web. Java is now used to create Web pages with dynamic and interactive content, to
develop large-scale enterprise applications, to enhance the functionality of World Wide
Web servers (the computers that provide the content we see in our Web browsers), to
provide applications for consumer devices (such as cell phones, pagers and personal digital
assistants) and for many other purposes.
ABOUT THE LANGUAGE
Java is a particularly attractive first programming language. At the JavaOne™ trade
show in June 2001, it was announced that Java is now a required part of the programming
languages curriculum in 56% of US colleges and universities. Also, 87% of US colleges
and universities offer Java courses. Java is attractive to high schools as well. In 2003, the
College Board will standardize on Java for Advanced Placement computer science courses.
Java has evolved rapidly into the large-scale applications arena. Java is no longer a
language
used simply to make World Wide Web pages “come alive.” Java has become the preferred
language for meeting many organizations’ programming needs.
For many years, languages like C and C++ appealed to universities because of their
portability. Introductory courses could be offered in these languages on any
hardware/operating
system combination, as long as a C/C++ compiler was available. However, the
programming world has become more complex and more demanding. Today, users want
applications with graphical user interfaces (GUIs). They want applications that use multimedia capabilities such as graphics, images, animation, audio and video. They want
applications that can run on the Internet and the World Wide Web and communicate with
applications. They want applications that can take advantage of the flexibility
improvements of multithreading (which enables programmers to specify that several
activities should occur in parallel). They want applications with richer file processing
than is provided by C or C++. They want applications that are not limited to the desktop or
even to some local computer network, but can integrate Internet components and remote
databases as well. They want applications that can be written quickly and correctly in a
manner that takes advantage of prebuilt software components. They want easy access to a
growing universe of reusable software components. Programmers want all these benefits in
a truly portable manner, so that applications will run without modification on a variety of
platforms (i.e., different types of computers running different operating systems). Java
offers all these benefits to the programming community.
CONTENTS
S.N. Title 1. Introduction
About The Project
2. Organization Overview
3. System Analysis
3.1 Scope Of Investigation
3.2 Problems Faced
3.3 Proposed System
3.4.1. Feasibility Study
3.4.2. Technical Feasibility
3.4.3. Economic Feasibility
3.4.4. Behavioural Feasibility
4. Introduction
4.1. Logical Design
4.2. Physical Design
4.3. Module Design
4.4. Input Design
4.5. Output Design
4.6. Data Flow Diagram
4.7. Database Design
4.8. Relation Database Management system (RDBMS)
4.9. Table Structure
5. Software Environment
5.1.Software and Hardware Requirement
5.2.Hardware Specifications
5.3.Software Specifications
5.4.Code Details
5.5.Coding Standards
5.6.Naming Convention
5.7.Labels and comments
5.8.Sample codes
6. Testing Introduction
6.1. Test Plans
6.1.1. Unit Testing
6.1.2. Integration Testing
6.1.3. Validation Testing or System Testing
6.1.4. Output Testing or User Acceptance Testing
7. Implementation
7.1.Implementation Procedures
7.1.1. User Training
7.1.2. Training On The Application Software
7.1.3.Operational Document
7.1.4. System Maintenance
8. Screen Shots
9. Conclusion
10. Scope For Future Enhancement
11. Bibliography
ABSTRACT
India is booming as an economy with annual growth of 8% over a year. This phenomenal
growth has attracted lots of MNC’s all over the world to open their operations in India.
Thus, Infrastructure is one area on which the eyes of all the business personnel are set.
Since Delhi is the national Capital of India, therefore these investment are attracted towards
the Delhi and NCR( National Capital Region), which includes Gurgaon, Noida, Faridabad,
Ghaziabad. Thus, we have decided to create a web portal which can inform the people that
which are the properties areas which can be brought. It also gives a chance to the sellers to
advertise their property on the net. If any user who wants to buy the property in Delhi or
NCR can browse on our web portal and enjoy the facilities of the information.
Thus we can summarized the operations of our site as following
1. People can Search the property based in their area of interest.
2. People can advertise their properties.
3. People can consult with the Architect
4. People can search the buyers without even advertising
5. They can browse through the different Maps.
6. Architects can advertise them interpedently
7. People can look around the various projects of builders.
8. Buyers can advertise them.
9. People can get Property alerts about the property news of their city.
INTRODUCTION
Web Applications are programs that can be executed either on a web server for server side
scripting or in a web browser for client side scripting. In addition, web applications can
support online commercial transaction popularly known as e-commerce. Our web portal,
FindDreamHomes.com is an advertising site which will be accessed through browser of a
web application.
A Web application can either be
1 .Static
2. Dynamic
Static Web Applications
These applications contain pure HTML code. Thus, they can only give a particular output
rather than being flexible at run time. Thus, these applications lose their edger over
stronger Dynamic web applications, which can be quite flexible according to their inputs.
Dynamic Web Applications
A dynamic web application can have either client side scripting or server side scripting or
both. client side scripting enables you to develop Web pages that can dynamically respond
to user input without having to interact with the web server. Examples of client side
scripting are JavaScript and VBScript.
Server side scripting web applications provide Dynamic content to users based on the
information stored in a remote location, such as a backend Database. It includes code
written in server side scripting languages such as java Server Pages (JSP)
. A server side script is executed on the web server. When browser request for an HTML
page containing a server side script, the web server to which the request is sent and then
sends the result to the browser. For example, if a web page is to display the current time of
the system in which the web site is hosted then you need to use the server side scripting.
Since we will be using dynamic web applications in our web portal we will be using JSP
technology which is a server side scripting.
Objective:India is booming as an economy with annual growth of 8% over a year. This phenomenal
growth has attracted lots of MNC’s all over the world to open their operations in India.
Thus, Infrastructure is one area on which the eyes of all the business personnel are set.
Since Delhi is the national Capital of India, therefore these investment are attracted towards
the Delhi and NCR( National Capital Region), which includes Gurgaon, Noida, Faridabad,
Ghaziabad. Thus, we have decided to create a web portal which can inform the people that
which are the properties areas which can be brought. It also gives a chance to the sellers to
advertise their property on the net. If any user who wants to buy the property in Delhi or
NCR can browse on our web portal and enjoy the facilities of the information.
Moreover after so much recession in almost every field now again the economic conditions
in world and also in India is rising with the rise in the salaries of the individual or the
family.
As every person has desire to own his own property for his own family and for their future
generations. So keeping in view of that we have created a WEBSITE so called
FINDDREAMHOMES.COM where any person can find the property of their will.
Scope:The scope of any project defines how it can be used in future and what functions we can
perform using that project. Scope of any project will also clarify the idea of that what a
project is of about. Thus it is the scope of a project which determines the only goal for that
project.
The basis for development of any new system is recognition or identification of a need for
improving an information system or procedure.
This project which is a Web Portal will give an overview how a website related to the
property business will work and what we can find related to our interest on a website like
this.
With the demand in the speed of the work with which it must be carried out in every
prospect of society and thus aiming at making ease in work flow, more and more work is
being carried on the internet. Thus, to help the society in fulfilling one of their dreams
having a good property according to their budget, the scope of this web portal is aimed at
that.
The key aspects of this web portal are:-
You can choose property at your liked site.
You can choose architect as per your needs.
Requirement AnalysisRequirement Analysis is a preliminary study and evaluation of an activity such as a
business to identify its desired objectives. It is the process used to elicit needs and resource
constraints and to translate these into a viable operation.
In this section, we will look at two basic steps of Requirement Analysis of
Property Boom.
The two steps are:
Identification of Need
Preliminary Investigation
Identification Of Need
The basis for development of any new system is recognition or identification of a need for
improving an information system or procedure.
Every project begins with a Project Statement from customer, where he gives the basic
idea of what he wants or how he sees what the problem is & what they believe where the
solution lies? Second aspect is our(as IT executive or developer) thinking about the need of
client & third aspect is the real problem which lies somewhere between first & second
aspect.
Web Applications are programs that can be executed either on a web server for
Server side scripting or in a web browser for client side scripting. In addition, web
Applications can support online commercial transaction popularly known as e-commerce.
Our web portal, FINDDREAMHOMES.COM is an advertising site which will be accessed
through browser is an example of a web application.
Preliminary Investigation
The need leads to a Preliminary Investigation or survey. The Preliminary Investigation or
survey is used to determine whether an alternative system can solve the problem or not. It
entails looking into the duplication of efforts, bottlenecks, inefficient existing procedures,
or whether parts of existing system would be fit for computerization.
In seeking an appropriate solution to the problem, considerations that must be observed
include
Existing Application or System,
Anticipated Changes in environment,
Expected Lifetime of solution, and
Time, cost, budget, benefit tradeoffs, and making boundaries
.
All this is called SCOPING OF PROJECT; and also includes:-
Defining Project responsibilities.
Dividing responsibilities individual tasks.
Determining how much geographical area will be involved.
Get estimated number of people who will use your application.
Understanding how quickly client wants the application implemented.
.
Planning
The planning of any project depicts and conveys in which order from core to the final
processing of the project is carried out. The final expected result shows that the project is
successfully planned.
Software project managers take the overall responsibility of steering a project to success.
This surely is a very hazy job description. But, it is very difficult to objectively describe the
job responsibilities of a project manager.
Diving the whole project in modules and separately functioning on them finally results in
the ease and successful implementation of the work to be carried out.
One of the major part is the study of feasibility study. The feasibility study consists of
Technical , Economical , Behavioral.
In the FINDDREAMHOMES.COM the planning is carried out by dividing the whole
functioning in various working modules.
WORK BREAKDOWN STRUCTURE
Work breakdown structure is used to decompose a given task set recursively into small
activities. WBS provides a notation for representing the major tasks needed to be carried
out in order to solve a problem. The root of the tree is labeled by the problem name. Each
node of the tree is broken down into smaller activities that are made the children of the
node. Each activity is recursively decomposed into smaller sub-activities until at the leaf
level; the activities require approx. two weeks to develop. If a task is broken down into a
large number of very small activities, these can be distributed to a large number of
engineers. If the activity ordering permits, the solutions to these can be carried out
independently. Thus, it becomes possible to develop the product faster.
The following figure represents the WBS of application software:
Application software
Requirements specification
Design Code Document
Database part Graphical user interface part
Database part Graphical user interface part
Test
PERT CHART
PERT shows precedence relationships among the tasks and various stages of a project. By the
helps of PERT chart, a project manager can identify the activities and the amount of time they
require, show their interrelationships, specify their sequence, and have a meant of monitoring
progress on the project. PERT makes use of tasks. Like milestone charts, it shows
achievements. These achievements however are not task achievements. They are terminal
achievements, called EVENTS.
The circles represent the beginning or completion of a task. The nodes at the network (also
referred as events ) establish the relationship among the different activities of the project.
The rules are available for construction networks:
1. Each activity is represented by one and only one arrow in the network.
2. Each action must be identifying by two distinct nodes.
This is the table of ‘Activity’ and it’s estimated time
Modules:Every work happening around the globe is basically carried out into subsequent parts.
Where each and every subsequent module is based on one another. Thus keeping in view
that, the work carried out in this web portal is divided into .
Module 1 : Sign Up for PromoterThe major work which is carried out in this module is that, Here a new user registers itself
to become a member and utilize the features of a Web Portal. The credentials filled by the
user are as follows:
Name
Username
Password
Address etc.
Module 2: Signup for Builder Some of the credentials are:
Name
Username
Password
Builder Profile etc
Module 3: Residential Property ProfileSome of the credentials are:
Property Details
Property Price
Property Specification
Module 4: Payment optionsSome of the credentials are:
Advertisement Package.
Advertisement Payment.
Payment through cheque.
Payment through credit card.
Module 5: Property InfoSome of the credentials are:
Property Details
Property Price
Property specification.
Module 5: MapsThe major parts included in this are:
Residential maps.
Maps according to vastu.
Commercial Properties.
Here you can see the maps of any kind of property of your choice.
Feasibility StudyFeasibility Study is a test of the system proposal according to its workability, impact on
the organization, ability to meet user needs, and effective use of resources. It focuses on
three major questions:
What are the user’s demonstrable needs and how does the proposed system meet
them.
What resources are available for proposed systems? Is the problem worth solving?
What are the likely impacts of the proposed system on the organization? How well
does it fit within the organization’s MIS plan?
The objective of the feasibility study is not to solve the problem but to acquire a sense of its
scope. The proposed system should satisfy the technical, and operational or behavioral
feasibility.
Technical Feasibility
Technical feasibility determines the hardware and software availability and capability, for the implementation.
Software
The FindDreamHomes.com is a web application that uses j2ee that is easily available.
Hardware
This web application does not require any special hardware. The existing machines or computer systems will serve the cause.
The resources being used in previous infrastructure are utilized in best way & if some
technology Migration is needed then Impact Of Technology Migration is analyzed.
Property Boom web application is thus Technically Feasible.
ECONOMIC FEASIBLITY
Economic feasibility studies the investments and benefits. It accesses the improvement in
value of the information and determines the return on investment. The key is to minimize
Total Cost of Ownership (TCO) & maximize Return On Investment (ROI).
InvestmentsSince no new hardware is required, the existing network resources and computers are being
utilized, no major investments are required. The software are easily available at moderate
prices, the investment is small.
Returns Less resources required
Increased efficiency and speed.
Property Boom is thus economically viable.
Behavioral Feasibility Behavioral feasibility examines whether the system will perform as desired in terms of time
and results. It also determines whether or not the users are ready to use the system.
Performance
The property boom web application performs the required function of providing best
property deals to the customer on the internet
User Acceptance
Since Property boom web application enables the users to buy or sell their property with
the help of this easy to use web portal , it is be liked by the users. Simple and Descriptive
GUI will also help in capturing users’ attention.
FindDreamHomes.com web application is thus behaviorally effective
5.1 SOFTWARE AND HARDWARE SPECIFICATION
5.1.1 Hardware SpecificationProcessor : Pentium III/AMD XP
RAM : 128 MB
Hard disk : 20 GB
FDD : 1.44MB
Monitor : 14 inch
Mouse : 3 Button scroll
CD Drive : 52 X
Keyboard : 108 keys
5.1.2 Software Specification
Operating System : Windows 2000/xp
Languages : java 2(EJB2.0, JDBC, JSP, Servlet, Java Mail)
Front End : HTML, JavaScript
Platform : J2EE
Web Servers : Web Logic8.1/Tomcat 5.0
Backend : MS Access
Browser Program : Internet explorer/Mozilla Fireworks
DESIGN
DESIGN METHODOLOGY
Software Design encompasses the set of principles, concepts and practices that led to the
development of a high quality system or product .The goal of design is to produce a model
that exhibits firmness, commodity and delight. Once the requirements have been analyzed
and modeled, software design sets the stage for construction of the software. Each of the
elements of the analysis model provides information for a complete specification of design.
Introduction to System DesignThe system design deals with externally observable characteristics of a software product.
They include:
1. Data Flow Diagram.
2. Data Dictionary or Representation of Data Source.
The design of an information system produces the detail that states will meet the
requirements identified during system analysis. System specialists often refer to this stage
as LOGICAL DESIGN in contrast to the process of developing program software, which is
referred to as PHYSICAL DESIGN.
Systems Analysis begins the design process by identifying reports and other outputs the
system will produce. Then the specific data on each are pinpointed. Usually designers
sketch the former displays as they expect it to appear when the system is complete. This
may be done on a paper or on a computer displays, using one of the automated system
design tools available. The systems design also describes the data items and calculation
procedures are written in details. Designers select file structures and storage devices,
magnetic disc, magnetic tape, or even paper files. The procedures they write tell how to
process the data and produce the output. The documents containing the design specification
portray the design in man-different ways –charts, tables and specific symbols. The detailed
information is passed on to the programming staff so that software developed can begin.
Designers are responsible for providing programming with complete and clearly outlined
software specifications. As programming starts designers are available to answer questions,
clearly fuzzy areas and handle problems that confront the programmers when using the
design specification.
In brief we can say that analysis specifies what the system should do. Basically, we analyze
the facts and decide whether to make a new system, modify or upgrade the new system to
the system work we want.
There are many types of systems i.e. Physical or Abstract System, Open or Closed System,
Deterministic or Probabilistic System and Man Made Information Systems. An information
system is the basis for interaction between the user and the Analysis. It determines the
nature of relationship among the decision makers. Information may be defined as a asset of
devices, procedures and operating system designed around user based criteria information
an communicate it to the user for planning .
OUTPUT DESIGN
Computer output is the most important and direct source of information to the user
Efficient, intelligible output design should improve the system's relationships with the user
and help in decision making. A major form of output is a hard copy from the printer.
Printouts should be designed around the output requirements of the user. The output
devices to consider depend on factors such as compatibility of the device with the system,
response time requirements, expected print quality, and number of copies needed.
INPUT DESIGN
In accurate input data is the most common cause of errors in data processing. Errors
entered by data entry operators can be controlled by input design. Input design is a process
of converting user-originated inputs to a computer based format. After input data are
identified, appropriate input media are selected for processing and the analyst must decide
how input is entered and the speed of data capture. The fastest method is online data entry,
which requires a CRT screen for display and predefined user's options that standardize data
capture and provide visual verification. The entire input screen is shown with data in
input design section.
DATA FLOW DIAGRAM:Data flow diagram is graphical tool used to describe and analyze the movement of data
through system – manual or automated- including the process, stores of data and delays in
the system. Data flow diagrams are the central tool and the basis from which other
components are developed. The transformation of data from input to output through
process may be described logically and independently of the physical components
associated with the system. They are termed logical data flow diagrams.
4.2.3 Data Flow Diagram
Data flow diagrams (DFD) are part of a structured model in the development of software.
They are a graphical technique that depicts information flow and the transforms that are
applied as data move from input to output. Basically, the function of DFDs is to show the
user a graphical analysis of a software system. It is like a flowchart, except DFDs show the
flow of data throughout the system.
The rectangle represents an external entity. The external entity is a producer or
consumer of information that resides outside the bounds of the system to be
modeled.
The circle (process) is a transformer of information that resides within the bounds
of the system. The line with an arrow (data item) is a single item, or a collection of
data items. The arrow head represents the directions of the data.
The Parallel line (data store) represents a repository of data that is to be stored for
use by one or more processes; maybe as simple as a buffer or a queue or as
sophisticated as a relational database.
E R DIAGRAM
Users
Type
User ID
MobilePhone
NamePassword
Locality
City
Address
Property
TransactionCity
Area
Locality
Address
Type
Description
CategoryProperty IDFloors
Features
Age
Bathroom
FurnishingBedroom
Ownership type
1
N
1
Owns
A
Owns
Property ID
ER Diagram
Payment
AmountPayment
ModeQuantity
Product
Order ID1
Credit Card
AmountName on Card
CVV2 no.
Expiry Date
Number Type
Order ID
1
1
ArchitectureName
Address
City
ExperienceCharges
Contact
1
1
Buyers
Requirement
Date
BudgetOther
Information
Type
City
Contact
1
1
A
Cost
Pays
Done By
Pays
Alert_User
User_IDUser_passwordBudget
CityUser_name
User_income
Property_typeArea
Prop_info email mobile
1
1
HOME
List Appartments:
Real Estate login
List a property
PropertiesInternational
Freehold
Contact Us
Testing
Software Testing is the process of exercising or evaluating a system or system components
by manual or automated means to verify that it satisfies specified requirements. It is the
process of executing a program or systems with the intent of finding errors.
In software life cycle the earlier the errors are discovered and removed, the lower is the
cost of their removal. Software testing is itself an expensive activity, yet launching of
software without testing may lead to cost potentially much higher than that of testing.
Effective software testing will contribute to the delivery of higher quality software
products, more effective users, and lower maintenance costs, more accurate and reliable
results. Hence, software testing is necessary and important activity of software
development life process.
Test case can be defined as a set of test inputs, execution conditions, and expected results
developed for a particular objective, such as to exercise a particular program path or to
verify compliance with a specific requirement. During testing, we compare the observed
output with expected output to know the outcome of a test case. If expected and observed
outputs are different, then, there is a failure and it must be recorded properly on order to
identify the cause of failure. If both are same, then, there is no failure and program behaved
in the expected manner.
The test case designer’s main objective is to identify good test cases. A good test case has a
high probability of finding an error. It should be “best of breed”, not redundant and should
be neither too simple nor too complex. The set of test cases is called a test suite.
Testing Strategies:
White Box Testing:
White box testing, also called as structural testing is a software testing technique
in which we derive test cases from an examination of program’s logic. Unlike black
box testing that uses the program specification to examine outputs; white box
testing is based on specific knowledge of the source code to define the test cases
and to examine outputs.
Using white box testing methods, the software engineer can derive test cases that
(i) guarantee that all independent paths within a module have been exercised at
least once,
(ii) exercise all logical decisions of their true and false sides,
(iii) execute all loops at their boundaries and within their operational bounds,
(iv) exercise internal data structures to ensure their validity
When we look in to the program, examine the code and watch it as it runs. This
activity is dynamic and is about testing a running program, therefore it is called
dynamic white box testing. If we want to test the program without running it,
meaning thereby examining and reviewing it, then it is called static white box
testing.
Black Box Testing :
Black box testing, also called as functional testing, focuses on the functional
requirements of the software. That is black box testing enables the software engineer to
derive set of input conditions that will fully exercise all functional requirements for a
program. It involves only observation of the output for certain input values. There is no
attempt to analyze the code, which produces the output. Testing is conducted without
knowledge of software implementation i.e. the system is treated as a black box hence it is
called as black box testing.
Black box testing attempts to find errors in the following categories
(i) incorrect or missing functions
(ii) interface errors
(iii) errors in data structures or external data base access
(iv) behavior or performance errors
(v) initialization and termination errors
Unlike white box testing, which is performed early in the testing process, black box testing
tends to be applied during later stages of testing. There are a number of techniques that can
be used to design test cases which have been found to be very successful in detecting
errors.
Unit Testing :Unit testing is the process of taking a module and running it in isolation
from rest of the software product by using prepared test cases and comparing the actual
results with the results predicted by the specification and design of the module. A unit test
is the lowest level of testing and is normally done by the developer himself. Unit tests are
performed for classes, blocks and service packages. Unit testing is normally considered as
an adjunct to the coding step. After source level code has been developed, reviewed and
verified for correspondence to component level design, unit test case design begins.
Usually white box testing approaches are used for unit testing and the steps can be
conducted in parallel for multiple modules.
Integration Testing : Software integration testing combines or integrates components of
the software system and tests the resulting configuration to determine if it works as
required and expected. One specific target of integration testing is the interface. Integration
testing can be either incremental or non incremental. Incremental testing is performed by
testing a small part of the system and then incrementally adding components to the
configuration, performing specific tests on each increment. Non incremental testing
involves assembling all components of the system and then testing them all at once.
Incremental testing has proven to be a more successful approach. Two main strategies are
used to integrate a system incrementally: top-down and bottom-up. Top-down testing is
the process of integrating the system under test, progressively, from top to bottom, using
simulations of low-level components (called stubs) during testing to complete the system.
This is in contrast to bottom-up testing, in which the system under test is built up
progressively, from bottom to top, using software drivers to simulate top-level components
during testing.
System Testing : The testing that is conducted on the complete integrated products and
solutions to evaluate system compliance with specified requirements on functional and non
functional aspects is called as system testing. System testing concerns testing the entire
system or the application as such. This takes an end – user view of the system and the test
cases perform typical end – user actions. System testing is done after unit and integration
testing phases. It involves both functional and non functional testing of the product.
Functional testing: Helps in verifying what the system is supposed to do. It aids in testing
the product’s features or functionality. It has only two results – requirements met or not
met. Functional testing normally depends on the product and not on the environment. It
requires in – depth customer, product as well as domain knowledge to develop different test
cases and find critical defects. It is performed in all phases of testing i.e. unit, integration
and system testing.
Non functional testing: It is performed to verify the quality factors such as reliability,
scalability, performance, scalability etc. These quality factors are also called non –
functional requirements. It requires a large amount of resources and the results are different
for different configurations and resources. It is a very complex method as large amount of
data needs to be collected and analyzed. The focus point is to qualify the product. It is not a
defect finding exercise.
Acceptance Testing: It is normally performed by the organization ordering the system and
it is the final check by the ordered. This is often also the validation of the system. The
system is now tested in its real environment. This type of testing is often called alpha
testing. The tests may range from ad hoc tests to well planned systematic series of tests.
This test can be done for a longer time when the system is working in the environment for
which it has been developed. When the testing has been done, the decision is made as to
whether the product is to be accepted or not. If there is no specific ordered, for example in
the case of a compiler product, beta testing is often used. This means that the product is
tested by specially selected customers who use the system and report the faults they detect.
Beta- testing is done before the product is shipped and is form of pre – release.
TEST STRATEGY
How we plan to cover the product so as to develop an adequate assessment of quality.
good test strategy is:
Specific
Practical
Justified
DEFINING A TEST STRATEGYA solid testing strategy provides the framework necessary to implement your testing
methodology. A separate strategy should be developed for each system being developed
taking into account the development methodology being used and the specific application
architecture. The heart of any testing strategy is the master testing strategy document. It
aggregates all the information from the requirements, system design and acceptance criteria
into a detailed plan for testing. A detailed master strategy should cover the following:
Project Scope Restate the business objective of the application and define the scope of the
testing. The statement should be a list of activities that will be in scope or out of scope. A
sample list would include:
*List of software to be tested
* Software configurations to be tested
* Documentation to be validated
* Hardware to be tested
Test Objectives The system under test should be measured by its compliance to the
requirements and the user acceptance criteria. Each requirement and acceptance criteria
must be mapped to specific test plans that validate and measure the expected results for
each test being performed. The objectives should be listed in order of importance and
weighted by Risk.
Features and Functions to be Tested Every feature and function must be listed for test
inclusion or exclusion, along with a description of the exceptions. Some features may not
be testable due to a lack of hardware or lack of control etc. The list should be grouped by
functional area to add clarity. The following is a basic list of functional areas: Backup and
recovery, Workflow, Interface design, Installation Procedures (users, operational,
installation) , Requirements and design ,Messaging Notifications , Error handling ,System
exceptions and third-party application faults
Different Stages Of Testing
Exit
Execute the tests
Prepare the test environment
Log the Defects
Determine if the test caseshave passed the testing
sting
Resolve the Defects in
test casesResolve
the defectsin code
Yes
No
Test Execution
TestPlanning
Plan the testing Activities
Design and develop test cases
Review the test cases
DATABASE DESIGN
A database is an organized mechanism that has the capability of storing information
through which a user can retrieve stored information in an effective and efficient manner.
The data is the purpose of any database and must be protected.
The database design is a two level process. In the first step, user requirements are
gathered together and a database is designed which will meet these requirements as clearly
as possible. This step is called Information Level Design and it is taken independent of any
individual DBMS.
In the second step, this Information level design is transferred into a design for the
specific DBMS that will be used to implement the system in question. This step is called
Physical Level Design, concerned with the characteristics of the specific DBMS that will
be used. A database design runs parallel with the system design.
The organization of the data in the database is aimed to achieve the following two
major objectives.
Data Integrity
Data independence
Normalization is the process of decomposing the attributes in an application, which
results in a set of tables with very simple structure. The purpose of normalization is to
make tables as simple as possible.
Normalization is carried out in this system for the following reasons.
To structure the data so that there is no repetition of data , this helps in
saving.
To permit simple retrieval of data in response to query and report request.
To simplify the maintenance of the data through updates, insertions,
Deletions.
To reduce the need to restructure or reorganize data which new application
Requirements arise.
4.7.1 RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS):
A relational model represents the database as a collection of relations. Each relation
resembles a table of values or file of records. In formal relational model terminology, a row
is called a tuple, a column header is called an attribute and the table is called a relation. A
relational database consists of a collection of tables, each of which is assigned a unique
name. A row in a tale represents a set of related values.
RELATIONS, DOMAINS & ATTRIBUTES:
A table is a relation. The rows in a table are called tuples. A tuple is an ordered set of n
elements. Columns are referred to as attributes. Relationships have been set between every
table in the database. This ensures both Referential and Entity Relationship Integrity. A
domain D is a set of atomic values. A common method of specifying a domain is to specify
a data type from which the data values forming the domain are drawn. It is also useful to
specify a name for the domain to help in interpreting its values. Every value in a relation is
atomic, that is not decomposable.
RELATIONSHIPS:
Table relationships are established using Key. The two main keys of prime importance are
Primary Key & Foreign Key. Entity Integrity and Referential Integrity Relationships can be
established with these keys.
Entity Integrity enforces that no Primary Key can have null values.
Referential Integrity enforces that no Primary Key can have null values.
Referential Integrity for each distinct Foreign Key value, there must exist a matching
Primary Key value in the same domain. Other key are Super Key and Candidate Keys.
Relationships have been set between every table in the database. This ensures both
Referential and Entity Relationship Integrity.
NORMALIZATION:
As the name implies, it denoted putting things in the normal form. The application
developer via normalization tries to achieve a sensible organization of data into proper
tables and columns and where names can be easily correlated to the data by the user.
Normalization eliminates repeating groups at data and thereby avoids data redundancy
which proves to be a great burden on the computer resources. These includes:
Normalize the data.
Choose proper names for the tables and columns.
Choose the proper name for the data.
First Normal Form:
The First Normal Form states that the domain of an attribute must include only
atomic values and that the value of any attribute in a tuple must be a single value from the
domain of that attribute. In other words 1NF disallows “relations within relations” or
“relations as attribute values within tuples”. The only attribute values permitted by 1NF are
single atomic or indivisible values.
The first step is to put the data into First Normal Form. This can be donor by
moving data into separate tables where the data is of similar type in each table. Each table
is given a Primary Key or Foreign Key as per requirement of the project. In this we form
new relations for each nonatomic attribute or nested relation. This eliminated repeating
groups of data.
A relation is said to be in first normal form if only if it satisfies the constraints that
contain the primary key only.
Second Normal Form:
According to Second Normal Form, for relations where primary key contains
multiple attributes, no nonkey attribute should be functionally dependent on a part of the
primary key.
In this we decompose and setup a new relation for each partial key with its dependent
attributes. Make sure to keep a relation with the original primary key and any attributes that
are fully functionally dependent on it. This step helps in taking out data that is only
dependant on apart of the key.
A relation is said to be in second normal form if and only if it satisfies all the first
normal form conditions for the primary key and every non-primary key attributes of the
relation is fully dependent on its primary key alone.
Third Normal Form:
According to Third Normal Form, Relation should not have a nonkey attribute
functionally determined by another nonkey attribute or by a set of nonkey attributes. That
is, there should be no transitive dependency on the primary key.
In this we decompose and set up relation that includes the nonkey attributes that
functionally determines other nonkey attributes. This step is taken to get rid of anything
that does not depend entirely on the Primary Key.
A relation is said to be in third normal form if only if it is in second normal form
and more over the non key attributes of the relation should not be depend on other non key
attribute.
TABLES STRUCTURE
Table Name: ADSFieldname Data Type Length Key
AD_ID Text 10
DESCRIPTION Text 200 -
ROOMS Number Long Integer
AREA Number Long Integer
C_ID Text 3
LOC_ID Text 4
PROJ_ID Text 4
PRICE Number
FUI Number
CR Number
TYPE_ID Text
MOBILE Text
TEL_NO Text
PERSON Text
RE_ID Text
STATUS Number
SHARING Number
IMAGE Number
PASSED Number
Table Name: ALERTSFieldname Data Type Length Key
AL_ID Text 20
NAME Text 25 -
GENDER Number
EMAIL Text
TEL Text
MOBILE Text
JOB Text
BDAY Date/Time
CITY Text
COUNTRY Number
DESCRIPTION Text
STATUS Number
PASSED Number
Table Name: CITYFieldname Data Type Length Key
C_ID Text 3 Primary key
CITY Text 20 -
Table Name: FORGOTFieldname Data Type Length Key
USERNAME Text 10
REALESTATE Text 50 -
DATEON Date/Time
PASSED Number Long Integer
Table Name: LOCATIONFieldname Data Type Length Key
LOC_ID Text 4 Primary
LOCATION Text 20 -
CITY Text 3
Table Name: NewFieldname Data Type Length Key
LOC_ID Text 4 Primary
LOCATION Text 20 -
CITY Text 3
Table Name: PROJECTFieldname Data Type Length Key
PROJ_ID Text 4 Primary
PROJECT Text 30 -
C_ID Text 3
Table Name: REAL_ESTATEFieldname Data Type Length Key
RE_ID Text 4
RE_NAME Text 20 -
TEL_NO Text 3
FAX_NO Text
MOBILE Text
PERSON Text
EMAIL Text
WEBSITE Text
USERNAME Text Primary
PASSWORD Text
IMAGE Number
PASSED Number
Table Name: TYPEFieldname Data Type Length Key
TYPE_ID Varchar 3 Primary key
TYPE Varchar 30 -
CODE DETAILS
The purpose of code is to facilitate the identification, retrieval of the items and
information. A code is an oriented collection of symbols design to provide unique
identification of an entry or attribute. Code is built with manually exclusive features. Codes
in all cases specify object which are physical or on performance characteristics. They are
used to give optimal distraction and other information. Codes are used for identifying,
accessing, storing and matching records. The codes insure that only one value of the code
with a single meaning is correctly applied to give entity or attribute as described in various
ways. Code can also be design in a manner easily understood and applied by the user.
5.2.1 CODING STANDARDS
The standard used in the development of the system is Microsoft Programming standards. it
includes naming conversions of variables, constants and objects, standardized formats or
labelling and commenting code, spacing, formatting and indenting.
5.2.2 NAMING CONVENTION
Classes’ names and interface names will start with capital letter. The function names will
start with small letters and the first letter of each word in the function name will be in
capital letter.
5.2.3 LABELS AND COMMENTS
Sufficient labels and comments are included in the description of it for the benefits if the
developer and other programmers who might examine it later.
User Interface
For all the entry screen frames are used which will show the type of the user who is
currently logged in and the menus.
Standard actions are used for standard actions.
Same font is related properties are used for similar screens.
The method of implementation and the time scale to be adopted are found out initially.
Next the system is tested properly and the users are trained in the new procedures.
5.3 SAMPLES CODES
IMPLEMENTATION
Implementation is the stage of the project where the theoretical
design is turned into a working system. It can be considered to be the most crucial stage in
achieving a successful new system gaining the users confidence that the new system will
work and will be effective and accurate. It is primarily concerned with user training and
documentation. Conversion usually takes place about the same time the user is being
trained or later. Implementation simply means convening a new system design into
operation, which is the process of converting a new revised system design into an
operational one.
Implementation is the stage of the project where the theoretical design is tuned into
a working system. At this stage the main work load, the greatest upheaval and the major
impact on the existing system shifts to the user department. If the implementation is not
carefully planned and controlled it can create chaos and confusion.
Implementation includes all those activities that take place to convert from the
existing system to the new system. The new system may be a totally new, replacing an
existing manual or automated system or it may be a modification to an existing system.
Proper implementation is essential to provide a reliable system to meet organization
requirements. The process of putting the developed system in actual use is called system
implementation. This includes all those activities that take place to convert from the old
system to the new system. The system can be implemented only after through testing is
done and if it is found to be working according to the specifications. The system personnel
check the feasibility of the system. The more complex the system being implemented, the
more involved will be the system analysis and design effort required to implement the three
main aspects: education and training, system testing and changeover. The implementation
state involves the following tasks:
Careful planning.
Investigation of system and constraints.
Design of methods to achieve the changeover.
Training of the staff in the changeover phase.
7.1 Implementation Procedures
Implementation of software refers to the final installation of the package in its real
environment, to the satisfaction of the intended uses and the operation of the system. In
many organizations someone who will not be operating it, will commission the software
development project. In the initial stage people doubt about the software but we have to
ensure that the resistance does not build up, as one has to make sure that
The active user must be aware of the benefits of using the new system.
Their confidence in the software is built up.
Proper guidance is imparted to the user so that he is comfortable in using the
application.
Before going ahead and viewing the system, the user must know that for viewing
the result, the server program should be running in the server. If the server object is not up
running on the server, the actual process won’t take place.
7.1.1 User Training
User training is designed to prepare the user for testing and converting the system.
To achieve the objective and benefits expected from computer based system, it is essential
for the people who will be involved to be confident of their role in the new system. As
system becomes more complex, the need for training is more important. By user training
the user comes to know how to enter data, respond to error messages, interrogate the
database and call up routine that will produce reports and perform other necessary
functions.
7.1.2 Training on the Application Software
After providing the necessary basic training on computer awareness the user will
have to be trained on the new application software. This will give the underlying
philosophy of the use of the new system such as the screen flow, screen design type of help
on the screen, type of errors while entering the data, the corresponding validation check at
each entry and the ways to correct the date entered.
It should then cover information needed by the specific user/ group to use the
system or part of the system while imparting the training of the program on the application.
This training may be different across different user groups and across different levels of
hierarchy.
7.1.3 Operational Document
Once the implementation plan is decided, it is essential that the user of the system is
made familiar and comfortable with the environment. Education involves right atmosphere
and motivating the user. A documentation providing the whole operations of the system is
being developed in such a way that the user can work with it in well consistent way. The
system is developed user friendly so that the user can work the system from the tips given
in the application itself. Useful tip and guidance is given inside the application itself to help
the user. Users have to be made aware that what can be achieved with the new system and
how it increases the performance of the system. The user of the system should be given a
general idea of the system before he uses the system.
7.1.4 System Maintenance
Maintenance is the enigma of system development. The maintenance phase of the software
cycle is the time in which a software product performs useful work. After a system is
successfully implemented, it should be maintained in a proper manner. System
maintenance is an important aspect in the software development life cycle. The need for
system maintenance is for it to make adaptable to the changes in the system environment.
Software maintenance is of course, far more than "Finding Mistakes". Maintenance may be
defined by describing four activities that are undertaken after a program is released for
use.
9.1 Scope for Future Enhancement
In future we can able to add more modules in this project GP-
Desk. In the proposed system the user is provided with a choice of data screen, which
are similar in formats to the source documents. Data entry errors can be minimized
through validity checks. After the verification only the data are placed in the permanent
database. The software can be developed further to include a lot of modules because the
proposed system is developed on the view of future, for example we should develop the
system as a database independent using JDBC so we can connect it to any other
database. Now the proposed system is based on PC and intranet but in the future if we
need to convert it into internet then we need to change the front end only because we are
developing this on the basis of OOP technology and most of the business logic’s are
bounded in the class files and module like reusable components.
10. BIBILOGRAPHY
BOOKS:
Charles Hampfed (2000) ‘Instant Java Server Pages’ University of Toronto
Herbert Schildt (2000) ‘Java Complete Reference’ Tata McGraw Hill
John Zukowski (2000) ‘Mastering Java2’ BPB Publications
Jamie Jaworsky ‘J2EE Bible’ Techmedia
Stefen Denninger ‘Enterprise Java Beans-2.1’ Author’s Press
Ian Somerville ‘Software engineering’
Rajeev mall ‘Software engineering’
Elmasri Navathe ‘Fundamentals of database systems’
ONLINE REFERENCE:
www.theserverside.com
www.java.sun.com