report on find dream homes

76
A TRAINING REPORT ON Find Dream Homes

Upload: nitish-dubey

Post on 18-Apr-2017

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: report on Find Dream Homes

A

TRAINING REPORT

ON

Find Dream Homes

Submitted by: Name:

Vishal Singla(111225) Varun

Breja(111229) Rajat Gambhir(111581)

Page 2: report on Find Dream Homes

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.

Page 3: report on Find Dream Homes

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.

Page 4: report on Find Dream Homes

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

Page 5: report on Find Dream Homes

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

Page 6: report on Find Dream Homes

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.

Page 7: report on Find Dream Homes

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)

Page 8: report on Find Dream Homes

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

Page 9: report on Find Dream Homes

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.

Page 10: report on Find Dream Homes

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.

Page 11: report on Find Dream Homes

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.

Page 12: report on Find Dream Homes

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.

Page 13: report on Find Dream Homes

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

Page 14: report on Find Dream Homes

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.

.

Page 15: report on Find Dream Homes

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.

Page 16: report on Find Dream Homes

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

Page 17: report on Find Dream Homes

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

Page 18: report on Find Dream Homes

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:

Page 19: report on Find Dream Homes

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.

Page 20: report on Find Dream Homes

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

Page 21: report on Find Dream Homes

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

Page 22: report on Find Dream Homes

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.

Page 23: report on Find Dream Homes

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

Page 24: report on Find Dream Homes

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.

Page 25: report on Find Dream Homes

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

E-mail

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

Page 26: report on Find Dream Homes

ER Diagram

Page 27: report on Find Dream Homes

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

Page 28: report on Find Dream Homes
Page 29: report on Find Dream Homes

List Appartments:

Page 30: report on Find Dream Homes

Real Estate login

Page 31: report on Find Dream Homes

List a property

Page 32: report on Find Dream Homes

PropertiesInternational

Page 33: report on Find Dream Homes

Freehold

Page 34: report on Find Dream Homes

Contact Us

Page 35: report on Find Dream Homes

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

Page 36: report on Find Dream Homes

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

Page 37: report on Find Dream Homes

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.

Page 38: report on Find Dream Homes

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

Page 39: report on Find Dream Homes

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,

Page 40: report on Find Dream Homes

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

Page 41: report on Find Dream Homes

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.

Page 42: report on Find Dream Homes

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.

Page 43: report on Find Dream Homes

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.

Page 44: report on Find Dream Homes

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

Page 45: report on Find Dream Homes

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

Page 46: report on Find Dream Homes

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

Page 47: report on Find Dream Homes

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 -

Page 48: report on Find Dream Homes

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

Page 49: report on Find Dream Homes

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

Page 50: report on Find Dream Homes

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

Page 51: report on Find Dream Homes

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.

Page 52: report on Find Dream Homes

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.

Page 53: report on Find Dream Homes

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.

Page 54: report on Find Dream Homes

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