Вы находитесь на странице: 1из 110

A PROJECT REPORT

ON

PLOT MANAGEMENT SYSTEM

Submitted in partial fulfillment of the requirement of


Bachelor Computer Application
(Information technology)
Of
Sikkim Manipal University

UNDER THE GUIDANCE OF: SUBMITTED BY:


Mr. Abbas sir SANDIP SUMAN
IACM,New DELHI ROLL NO. 520818708
STUDY CENTER CODE: 01503

SESSION: 2008-2011

SIKKIM MANIPAL UNIVERSITY


DIRECTORATE OF DISTANCE EDUCATION, SYNDICATE
HOUSE,
MANIPAL - 576104

2
ANNEXURE- A

INSTITUTE OF ADVANCED COMPUTING & MANAGEMENT


H-9 SOUTH EX-1, NEW DELHI-49
CODE: 01503

“PLOT MANAGEMENT SYSTEM”

BY
SANDIP SUMAN

A project report submitted in partial fulfillment of the requirement


For
Bachelor of computer Application
(Information Technology)
of Sikkim Manipal University, INDIA

SIKKIM MANIPAL UNIVERSITY


DIRECTORATE OF DISTANCE EDUCATION, SYNDICATE HOUSE,
MANIPAL - 576104

3
ANNEXURE- B

STUDENT DECLARATION

I here by declare that the project report entitled “Plot Management


System” Submitted in partial fulfillment of the requirement for the degree of
Bachelor of computer application to Sikkim–Manipal University, India, is
my original work and not Submitted for the award of any other degree,
diploma, fellowship, or any other similar Title or prizes.

Place : South ex-1 SANDIP SUMAN

Date : 5-5-2011 ENROLLMENT NO. 520818708

4
ANNEXURE- C

EXAMINER’S CERTIFICATION

The project report of “SANDIP SUMAN” project title “Plot Management

System” Is approved and is acceptable in quality and form

Internal Examiner External Examiner

(Name, Qualification and Designation) (Name, Qualification)

5
ANNEXURE- D

UNIVERSITY STUDY CENTRE CERTIFICATE

This is to certify that the project report entitled “Plot Management


System” Submitted in partial fulfillment of the requirement for the degree of
Bachleor of computer Application Sikkim Manipal University. SANDIP
SUMAN, has worked under my supervision and guidance and that no part of
this report has been submitted for the award of any other degree, Diploma,
Fellowship or other similar titles or prizes and that the work has not been
Published in any journal or Magazine.

ENROLLMENT NO. 520818708 Certified

Mr.Abbas sir
IACM
H-9 South ex-1 , New Delhi
(Guide’s Name and Qualification)

6
ANNEXURE- E

ACKNOWLEDGEMENT

The present work is an effort to throw some light on “Plot Management

System”. The work would not have been possible to come to the present

shape without the able guidance, supervision and help to me by number of

people.

With deep sense of gratitude I acknowledge the encouragement and

guidance received by my organizational guide Mr.Abbas sir at IACM H-9,

South ex-1 , New Delhi (Faculty) and other staff members.

I convey my heartfelt affection to all those people who helped and supported

me during the course, for completion of my Project Report.

Sandip suman

7
CONTENTS OF THE PROJECT

Chapterization Title Name Page No.

1. Objective 1
2. Introduction 2-19

3. Requirements Of The Project 20

4. Case Study Of The Project 21

5. Software Requirement Specification 22-27

6. DFD 35-40

7. Coding 41-75

8. Snapshots 76-91

9. Testing 92-105

10. Summary Of The Project 106-107

11. Bibliography 108

8
OBJECTIVE

Plot Management, as the name suggests, is the records of the available in a particular

area. In any area, Plots database is foremost important information, as it reveals

comprehensive details of the vacant plots .In the present scenerio of Computer Age and

its cut throat competetion it plays a significant role in the Management Information

Services, because it supplies the instant details. In recent times the compilation of the

Plots data have ascertained significant role, since at one glance one can form opinion

about the availability of plots.. By creating and saving project plot archives, project

participants can view and print up-to-date, high-fidelity plots anywhere at any time,

improving collaboration and ensuring the consistency of project information.

In this we have full details of all the plots.We have property dealers who manages all the

information about the plots. Like in this we have various options for plot search like

according to dealer name,size, location, and reports are generated after that.We can select

according to our convience.

9
INTRODUCTION

To make a Project in computer languages, there are many concepts available with us in

various languages i.e. VB,Oracle,C++,Java,Ms - Access etc . for Application (Fronthand)

& with Database (Backhand). All of the combinations discussed above are very practical,

dependable and are result oriented. However, I think that, Java & MS – Access are

appeared to be most powerful among all & it fascilitates us with quick & most accurate

results.

This Project Here Shows One Such Concept ie. Linking Our Application (FrontHand

Java) With The Database (BackHand MS – Access) To Show Us The Plot Database

Record Or Management System.

10
INTRODUCTION TO JAVA
Java platform, Standard Edition(Java SE, formerly known as J2SE) offers a complete

environment for application development and deployment on desktops and servers. Java

SE is also at home in today's demanding Embedded and Real-Time environments. Java

SE includes classes that support the development of Java Web Services and provides the

foundation for Java Platform, Enterprise Edition (Java EE).

Java programming language

Paradigm: object-oriented

Appeared in: 1990s

Designed by: Sun Microsystems

Typing discipline: strong, static

Major numerous

implementation:

Influenced by: Objective-C, C++,

Java is an object-oriented programming language developed by James Gosling and

colleagues at Sun Microsystems in the early 1990s. Unlike conventional languages which

are generally designed to be compiled to native code, Java is compiled to a byte code

which is then run (generally using JIT compilation) by a Java virtual machine.

The language itself borrows much syntax from C and C++ but has a much simpler object

model and does away with low level tools like programmer-manipulate pointers.

Java is only distantly related to JavaScript, though they have similar names and share a

C-like syntax.

11
Object Oriented:

Object Orientation has proven its worth in the last 30 years, and it OS inconceivable that

a modern programming language would not use it. Indeed, the object oriented features of

java are comparable to C++. The major difference between java and C++ lies in multiple

inheritances, for which java has found a better solution, and in the java meta class model.

The reflection mechanism makes it much easier to implement persistent object and GUI

builders that can integrate off the shelf components.

Distributed:

Java has a extensive libraries of routines for coping with TCP/IP protocols like HTTP

and FTP. Java applications can open and access objects across the Net via URLs with the

same ease as when accessing a local system.

We have found the networking capabilities of java to be both strong and easy to use.

Anyone who has tried to do internet programming using another language will revel in

how simple java makes onerous tasks like opening a socket connection. An elegant

mechanism, called servlets, makes server-side processing in java extremely efficient.

Many popular web server's support servlets.

Robust:

This feature is also very useful. Java is reliable language. The java compiler detects many

problem that, in other languages, would show up only at run time. As for the second

point, anyone who has spent hours chasing memory corruption caused by a pointer bug

will be very happy with this feature of java.

12
If you are coming from a language like Visual Basic or Cobol that does, not explicitly

use pointers, you are probably wondering why this is so important. C programmers are

not so lucky. They need pointers to access strings, arrays, objects, even files. In Visual

Basic, you do not use pointers for any of these entities, nor do you need to worry about

memory allocation for them. On the other hand, there are many data structures that are

difficult to implement in a pointer less language. Java gives you the best of both worlds.

Secure:

Here is a sample of what java's security features are supposed to keep a java program

from doing:

1. Overrunning the runtime stack, like the infamous internet worm did.

2. Corrupting memory outside its own process space.

3. Reading or writing local files when invoked through a security conscious class loader,

like a web browser that has been programmed to forbid this kind of access.

All of these features are in place and for the most part seem to work as indented. Java is

certainly the most secure programming language.

Platform Independent:

Platform independence is another way of saying that Java is architecture neutral. Platform

independence is the capability of the same program to work on different operating

systems; Java is completely Platform independent.

13
Java's variable types have the same size across all Java development platform--so an

integer is always the same size, no matter which system a Java program was written and

compiled on.

Portable:

There are many applications in which portability is more important than user interface

slickness, and these applications did benefit from early version of Java. By now, the user

interface toolkit has been completely rewritten so that it no longer relies on the host user

interface. The result is far more consistent and, we think, more attractive than in earlier

versions of Java.

Interpreted:

The Java interpreter can execute java byte codes directly on any machine to which the

interpreter has been ported. Since linking is a more incremental and light weight process,

the development process can be much more rapid and exploratory. Perhaps this is an

advantage while developing an application, but it is clearly overstated. In many case, we

have found the java compiler that comes with the java Software Development Kit (SDK)

to be quit slow, and recompilation speed is only one of the ingredients of a development

environment with fast turnaround. If you are used to the speed of the development cycle

of Visual Basic, you will likely be disappointed with the performance of Java

development environments.

14
High Performance:

While the performance of interpreted byte codes is usually more than adequate, there are

situation where high performance is required.

The byte codes can be translated on the fly (at run time) into machine code for the

particular CPU the application is running on.

If you use an interpreter byte codes, "high performance" is not the term that we would

use. However, on many platforms, there is also another form of compilation, the just-in-

time compilers. These work by compiling the bytes codes into native code once, caching

the results, and then calling them again if needed. This approach speeds up commonly

used code tremendously since one has to do interpretation only once.

Multithreaded:

Threads in java also have capacity to take advantage of multiprocessor systems if the

base operating system differs widely, and java makes no effort to be platform

independent in this regard. Only the code for calling multithreading remains the same

across machines; java offloads the implementation of multithreading to the underlying

operating system or a thread library. Nonetheless, the ease of multithreading is one of the

main reasons why java is such an appealing language for server-side development.

Dynamic:

In a number of ways, Java is a more dynamic language than C or C++. It was designed to

adapt to an evolving environment. Library can be freely add new methods and instance

15
variables without an effect on their clients. In Java, finding out run time information is

straightforward.

This is an important feature in those situations where codes need to be added to a running

program. A prime example is code that is downloaded from the Internet to run in a

browser.

16
DATA STRUCTURE
DATA TYPES

A data type in any language specifies the type of data to be stored and the size of the

memory to be allocated. Data types are divided into two categories:

1) Fundamental data types

2) Derived data types

Basically, data types are those which the compiler understands.

Basic fundamental data types are as follow:

DATATYPE BYTES RANGE

char 2 0 - 65535

Byte 1 28-1 -128 – 127

short 2 216-1 -32768 - 32767

Int 4 232-1

Long 8 264-1

Float 4 6 decimals
Double 8 12 decimals

Boolean 1bit True/ false (0 or 1)

17
OBJECT

Object is an instance of class. Object stores data & invoke methods. Objects are being

declared by the operator “new”. The new operator dynamically allocates memory for an

object and returns a reference to it, this reference is more or less, the address in memory

of the object allocated by “new”. This reference is then stored in the variable. Thus, in

Java, all class objects must be dynamically allocated.

CONSTRUCTORS

A constructor initializes an object immediately upon creation.

Purpose

Constructors are used for initialisation of user defined data types in various forms.

Syntaxically

Constructors are special member function because-

• They have got same name as of a class.

• They are executed automatically whenever an object is created.

• Constructor does not have any return type, not even void.

• They are executed only ones in the life span of an object.

• Constructors can be parameterized also. For eg:

INHERITANCE

• Passing of properties from one class to another class.

• Properties include member data & member functions

18
• The class that gives the properties is called base/super/parent class.

• The class that receives the properties is called as derived/sub/child class.

Reasons to use Inheritance:

1. Reusability.

2. Extending.

Types of Inheritance:

 Single inheritance

 Multilevel inheritance

 Hierarchal inheritance

 Java does not support multiple inheritance.

 One child class can only have one parent class.

 Java does not support friend class and friend functions.

 Java also does not support inline function, operator overloading and templates.

ABSTRACT METHODS

If any method is declared as abstract , it becomes compulsory to override it. These

functions does not contain any statements. It only implements symmetry in hierarchy.

To declare an abstract method , we use this general form:

Abstract type name (parameter list);

As you can see no method body is present.

19
Any class that contains one or more abstract methods must also be declared abstract. To

declare a class abstract, we simply use the abstract keyword in front of the class

keyword at the beginning of the class declaration.

ABSTRACT CLASSES

Any class that contains at east one abstract method, should be compulsory declared as

abstract. No object of abstract class can be created, it can only store reference to derive

class. These classes are use to start the hierarchy.

There can be no objects of an abstract class. That is, an abstract class cannot be directly

instantiated with the new operator. Such objects would be useless because an abstract

class is not fully defined. Also we cannot declare abstract constructors and abstract static

methods. Any sub class of an abstract class must either implement all of the abstract

methods in the super class or be itself declared

STRING

In Java string is a sequence of characters. It can store maximum of 2 billions of

characters or 256k Byte of code. But, unlike many other languages that implement string

as character arrays, Java implements string as objects of type String. It is the most

extensively used class in java.

To inherit a class we simply incorporate the definition of one class into another by using

the keyword “extends”.

The following program creates a super class Abstract A and a subclass Derived A. Super

class means the base class from which the others classes inherit the properties. And the

20
sub class is that which inherit the properties from base class is also known as derived

class.

MS ACCESS

'''Microsoft Office Access''', previously known as '''Microsoft Access''', is a relational

database management system from Microsoft which combines the relational Microsoft

Jet Database Engine with a graphical user interface and software development tools. It is

a member of the 2007 Microsoft Office system.

Access can use data stored in Access/Jet, Microsoft SQL Server, Oracle database|Oracle,

or any ODBC-compliant data container. Skilled software developers and data architects

use it to develop application software. Relatively unskilled programmers and non-

programmer "power users" can use it to build simple applications. It supports some

object-oriented techniques but falls short of being a fully object-oriented development

tool.

Access was also the name of a communications program from Microsoft, meant to

compete with ProComm and other programs. This Access proved a failure and was

dropped. Where did the name for Microsoft Access come from? Years later Microsoft

reused the name for its database software.

21
History

Access version 1.0 was released in November 1992.

Microsoft specified the minimum operating system for Version 2.0 as Microsoft

Windows v3.0 with 4 MB of RAM. 6 MB RAM was recommended along with a

minimum of 8 MB of available hard disk space (14 MB hard disk space recommended).

The product was shipped on seven 1.44 MB diskettes. The manual shows a 1993

copyright date.

The software worked well with very large records sets but testing showed some

circumstances caused data corruption. For example, file sizes over 700 MB were

problematic. (Note that most hard disks were smaller than 700 MB at the time this was in

wide use.) The ''Getting Started'' manual warns about a number of circumstances where

obsolete device drivers or incorrect configurations can cause data loss.

Access' initial codename was Cirrus. This was developed before Visual Basic and the

forms engine was called Ruby. Bill Gates saw the prototypes and decided that the Basic

language component should be co-developed as a separate expandable application. This

project was called Thunder. The two projects were developed separately as the

underlying forms engines were incompatible with each other; however, these were

merged together again after Visual Basic for Applications|VBA.

Uses

Access is used by small businesses, within departments of large corporations, and hobby

programmers to create ''ad hoc'' customized desktop systems for handling the creation and

manipulation of data. Access can be used as a database for basic web based applications

22
hosted on Microsoft's IIS|Internet Information Services and utilizing Microsoft Active

Server Pages Active Server Pages|ASP. Most typical web applications should use tools

like Active Server Pages|ASP Microsoft SQL Server or the LAMP (software bundle)|

LAMP stack.

Some professional application developers use Access for rapid application development,

especially for the creation of prototypes and standalone applications that serve as tools

for on-the-road salesmen. Access does not scale (computing)|scale well if data access is

via a network, so applications that are used by more than a handful of people tend to rely

on List of relational database management systems|Client-Server based solutions.

However, an Access "front end" (the forms, reports, queries and Visual Basic|VBcode)

can be used against a host of database Back End database|backends, including JET (file-

based database engine, used in Access by default), Microsoft SQL Server, Oracle, and

any other ODBC-compliant product.

Features

One of the benefits of Access from a programmer's perspective is its relative

compatibility with SQL (structured query language) —queries may be viewed and edited

as SQL statements, and SQL statements can be used directly in Macros and VBA

Modules to manipulate Access tables. In this case, "relatively compatible" means that

SQL for Access contains many quirks, and as a result, it has been dubbed "Bill's SQL" by

industry insiders. Users may mix and use both Visual Basic for Applications|VBA and

"Macros" for programming forms and logic and offers object-oriented possibilities.

23
MSDE (Microsoft SQL Server Desktop Engine) 2000, a mini-version of MS SQL Server

2000, is included with the developer edition of Office XP and may be used with Access

as an alternative to the Microsoft Jet Database Engine|Jet Database Engine.

Unlike a complete RDBMS, the Microsoft Jet Database Engine|Jet Engine lacks database

triggers and stored procedures. Starting in MS Access 2000 (Jet 4.0), there is a syntax

that allows creating queries with parameters, in a way that looks like creating stored

procedures, but these procedures are limited to one statement per procedure. Microsoft

Access does allow forms to contain code that is triggered as changes are made to the

underlying table (as long as the modifications are done only with that form), and it is

common to use pass-through queries and other techniques in Access to run stored

procedures in RDBMSs that support these.

In Access database project|ADP files (supported in MS Access 2000 and later), the

database-related features are entirely different, because this type of file connects to a

MSDE or Microsoft SQL Server, instead of using the Jet Engine. Thus, it supports the

creation of nearly all objects in the underlying server (tables with constraints and triggers,

views, stored procedures and UDF-s). However, only forms, reports, macros and modules

are stored in the ADP file (the other objects are stored in the back-end database).

Development

Access allows relatively quick development because all database tables, queries, forms,

and reports are stored in the database. For query development, Access utilizes the Query

Design Grid, a graphical user interface that allows users to create queries without

knowledge of the SQL programming language. In the Query Design Grid, users can

24
"show" the source tables of the query and select the fields they want returned by clicking

and dragging them into the grid. Joins can be created by clicking and dragging fields in

tables to fields in other tables. Access allows users to view and manipulate the SQL code

if desired.

The programming language available in Access is, as in other products of the Microsoft

Officesuite, Microsoft Visual Basic for Applications. Two database access libraries of

Component Object Model|COM components are provided: the legacy Data Access

Objects (DAO), which was superseded for a time (but still accessible) by (ADO) ActiveX

Data Objects however (DAO) has been reintroduced in the latest version, MS Access

2007.

Many developers who use Access use the Leszynski naming convention, though this is

not universal; it is a programming convention, not a DBMS-enforced rule .It is also made

redundant by the fact Access categorises each object automatically and always shows the

object type, by prefixing ''Table: '' or ''Query: '' before the object name when referencing a

list of different database objects.

MS Access can be applied to small projects butscale (computing)|scales poorly to larger

projects involving multiple concurrent users because it is a desktop application, not a true

client-server database. When a Microsoft Access database is shared by multiple

concurrent users, processing speed suffers. The effect is dramatic when there are more

than a few users or if the processing demands of any of the users are high. Access

includes an Upsizing Wizard that allows users to upsizing (database)|upsize]] their

25
database toMicrosoft SQL Server if they want to move to a true client-server database. It

is recommended to use Access Data Projects for most situations.

Since all database queries, forms, and reports are stored in the database, and in keeping

with the ideals of the relational model, there is no possibility of making a physically

structured hierarchy with them.

One recommended technique is to migrate to SQL Server and utilize Access Data

Projects. This allows stored procedures, views, and constraints - which are greatly

superior to anything found in Jet. Additionally this full client-server design significantly

reduces corruption, maintenance and many performance problems.

Access allows no relative paths when linking, so the development environment should

have the same path as the production environment (though it is possible to write a

"dynamic-linker" routine in Visual Basic for Applications|VBAthat can search out a

certain back-end file by searching through the directory tree, if it can't find it in the

current path). This technique also allows the developer to divide the application among

different files, so some structure is possible.

Protection

If the database design needs to be secured to prevent from changes, Access databases can

be locked/protected (and the source code compiled) by converting the database to an

.MDE file. All changes to the database structure (tables, forms, macros, etc.) need to be

made to the original MDB and then reconverted to MDE.

26
Some tools are available for unlocking and 'decompiling', although certain elements

including original VBA comments and formatting are normally irretrievable.

File extensions

Microsoft Access saves information under the following file extensions:

:.mdb - Access Database (2003 and earlier)

:.mde - Protected Access Database, with compiled macros (2003 and earlier)

:.accdb - Access Database (2007)

:.mam - Access Macro

:.maq - Access Query

:.mar - Access Report

:.mat - Access Table

:.maf - Access Form

:.adp - Access Project

:.adn - Access Blank Project Template

27
REQUIREMENTS OF THE PROJECT

• A Computer is required with having 64 MB Ram or more , for running this

Project

• Jdk1.2 or Jdk1.3 must be installed on your system for running the (Fronthand)

Java Applet or Application of the Project.

• MS - ACCESS 2000 must be installed on your system for running the

(Backhand) Database of the Project.

• Data Source ODBC or ODBC – 32 bit must be installed on your system, for

linking the Fronthand (JAVA) & Backhand (MS - ACCESS).

28
CASE STUDY OF THE PROJECT

Plot Management, as the name suggests, is the records of the available in a particular

area. In any area, Plots database is foremost important information, as it reveals

comprehensive details of the vacant plots .In the present scenerio of Computer Age and

its cut throat competetion it plays a significant role in the Management Information

Services, because it supplies the instant details. In recent times the compilation of the

employees data have ascertained significant role, since at one glance one can form

opinion about the availability of plots.

In this we have full details of all the plots.We have property dealers who manages all the

information about the plots. Like in this we have various options for plot search like

according to dealer name,size, location, and reports are generated after that.We can select

according to our convience.

In this Project we use the JAVA language as Fronthand

And MS – ACCESS 2000 Database as Backhand, for maintaing all the records of the

plots in a particular area.

The Example shows how this project is maintaing all the records of an Plots.

D:\jdk1.3\bin\javac mainm.java

D:\jdk1.3\bin\java mainm

After this, Main menu Form is open.

User has to click on one of the option.

29
SRS DOCUMENT

1 Introduction

This document aims at defining the overall software requirements for ‘PLOT

MANAGEMENT’. Efforts have been made to define the requirements exhaustively and

accurately. The final product will be having only feature maintained in this document and

assumptions for any additional feature should not be made by any of the parties involved

in implementing this product. In case it is required to have some additional features, a

formal change request will need you be raised and subsequently a new release of this

document and product will be produced.

1.1 Purpose

This specification document describes the capabilities that will be provided by the

software application ‘Plot management’. It also states the various required constraints by

which the system will abide. The intended audiences for this document are the

development team, testing team and end users of the product.

1.2 Scope

This software product ‘Plot management’ will be a software application that will be used

to search out the plots in a particular area according to our requirements. The system will

also generate the report of a plots found depending on various constraints .The

application will be working with different colors in the project

30
1.2.1 Definitions, Acronyms, and Abbreviations

No abbreviations have been used.

1.3 References

* IEEE Recommended Practice for Software Requirements Specifications- IEEE

Std 830-1993

1.5 Overview

The rest of this SRS document describes the various system requirements, interfaces,

features and functionality in detail.

2. Overall Description

The ‘Plot management’ will have capability to open and save dealer’s name along with

the plots he/she has with various fields like area , detail, sector, size ,date intact.

2.1 Product Perspective

The application will be a window-based, self-contained and independent software

product.

2.1.1 System Interfaces

None

2.1.2 User Interfaces

The application will have a user friendly and menu based interface. Following screen will

be provided :

31
(i) A main screen having various buttons to show the events that will take place

after clicking.

(ii) Subsequent screens having labels, textboxes, buttons to enter or to save the

data.

(iii) Subsequent screens showing a table to be searched for for plots vacant .

(iv) There will be a screen for creating, opening, viewing & saving dealer’s and

plot details..

2.1.3 Hardware interfaces

(i) Screen resolution of at least 800 x 600 required for proper and complete viewing of

screen. Higher resolution would not be a problem.

(ii) Standalone system or network based-not a concern, as it will be possible to run the

application on any of these.

2.1.4 Software Interfaces

(i) Any window-based operating system.

(ii) JRE Environment

(iii) Jdk1.5

2.1.5 Communications Interfaces

Menu based software application .

2.1.6 Memory Constraints

(i) A Computer is required with having 64 MB Ram or more, for running this Project

32
(ii).2 or Jdk1.3 must be installed on your system for running the (Front hand) Java

Applet or Application of the Project.

(iii) MS - ACCESS 2000 must be installed on your system for running the

(Backhand) Database of the Project.

2.1.7 Software adaptation requirements

The computer at which software is used maust satisfy the above sections.like-

(i) ms-access

(ii) Memory -64 MB Ram

(iii) jdk -installed

2.2 Product Functions

The system will allow access to users for specific details. summary of the major

functions that the software will perform :

(i) A facility for searching & opening different details of the plot.

2.3 User Characteristics

(i) Experience : Entry of dealers their modification can be done only by the

dealer with correct information.

(ii) Technical expertise : Should be comfortable using general-purpose

applications on a computer.

2.4 Constraints

(i) Updation done by dealer if a specific plot have been saled.

33
(ii) Printing can also be provided as one of the option.

2.5 Apportioning of Requirements

Not of Required

3 Specific Requirements

This section contains the software requirements to a level of detail sufficient to enable

designer to design the system, and testers to test that system.

3.1 External Interface Requirements

3.1.1 User Interfaces

The display screen will have :

(i) An main screen allows user to give enter name, phone number,address for

liking.

(ii) another option of opening the already existing dealer’s account is also given.

This permits user to bring about certain modifications over the account.

3.2 System Features

3.2.1 Plot management feature

Both kind of window screens provides the information on the spot regarding vacant plots

in a particular area and who’s the dealer for a specific plot.

3.2 Performance Requirements

None

34
3.3 Design Constraints

(i) The software is inefficient in updating itself if the plot is being saled.

3.4 Software System Attributes

3.4.1 Maintainability

The application will be designed in a maintainable manner.It will be easy to incorporate

new requirements in the individual modules.

3.4.2 Portability

The application will be easily portable on any windows –based system that has

Jdk1.4installed.

3.5 Other Requirements

None

35
DATA FLOW DIAGRAM

When solving a small problem, the entire problem can be tackled at once. For
solving larger problems, the basic principles the time-tested principle of “divide
and conquer”. Clearly, dividing in such a manner that all the divisions have to be
conquered together is not the intent of this wisdom. This principle, if elaborated,
would mean “divide into smaller pieces, so that each piece can be conquered
separately”.

Problem partitioning, which is essential for solving a complex problem, leads to


hierarchies in the design. That is, the design produced by using problem
partitioning can be represented as a hierarchy of components. The relationship
between the elements in this hierarchy can vary depending on the method used.
For example, the most common is the “whole-part of” relationship. In this the
system consists of some parts, each past consists of subparts, and so on. This
relationship can be naturally represented as a hierarchical structure between
various system parts. In general hierarchical structure makes it much easier to
comprehend a complex system. Due to this, all design methodologies aim to
produce a design that has nice hierarchical structures.
The DFD was first designed by Larry Constantine as a way of expressing system
requirements in a graphical form; this led to a modular design.
A DFD, also known as “bubble chart,” has the
purpose of clarifying system requirements and identifying major transformations
that will become programs in system design. So it is the starting point of the
design phase that functionally decomposes the requirement specifications down
to the lowest level of detail. A DFD consists of series of bubbles joined by lines
represent data flows in the system.

DFD SYMBOLS

In the DFD, there are four symbols.

36
1. A square defines a source (originator) or destination of system data.
2. An arrow identifies data flow- data in motion. It is a pipeline through which
information flows.
3. A circle or a “bubble” (some people use an oval bubble) represents a
process that transforms incoming data flows(s) into outgoing data flow(s).
4. An open rectangle is a data store-data at rest, or a temporary repository of
data .

Meaning Comments

= Source or destination May be one customer or a number


of
Transaction customer with (orders)

= Data flow May be physically contained in a


Purchase order, invoice, phone call,
Letter, etc.
= Process that transforms May be a clerk computing discounts
or a
Data flow cataloged procedure or a combination
Of manual and electronic activities
= Data store Can be a card file, a filing cabinet, a
Data base on disk, etc.

(DATA FLOW DIAGRAMS – BASIC SYMBOLS)

37
CONSTRUCTING DFD

Several rules of thumb are used in drawing DFDs:


1. Processes should be named and numbered for easy reference. Each
name should be representative of the process.
2. The direction of flow is from top to bottom and from left to right. Data
traditionally flow from the source (upper left corner) to the destination
(lower right corner), although they may flow back to a source. One way to
indicate this is to draw a long flow line back to the source. An alternative
way is to repeat the source symbol as a destination. Since it is used more
than once in the DFD, it is marked with a short diagonal in the lower right
corner
3. When a process is exploded into lower-level details, they are numbered.
4. The names of data sources and destinations are written in capital letters.
Process and data flows names have the first letter of each word
capitalized.

HOW DETAILED SHOULD A DFD BE?

The DFD is designed to aid communication. If it contains dozens of processes


and data stores it gets too unwieldy. The rule thumb is to explode the DFD to a
functional level, so that the next sublevel does not exceed 10 processes. Beyond
that, it is best to take each function separately and expand it show the explosion
of the single process. If a user wants to know what happens within a given
process, then the detailed explosion of that process may be shown.
A DFD typically shows the minimum contents of data elements that flow in and
out.

38
A leveled set has a starting DFD, which is a very abstract representation of the
system, identifying the major inputs and outputs and the major processes in the
system. Then each process is refined and a DFD is drawn for the process. In
other words, a bubble DFD is expanded into a DFD during refinement. For the
hierarchy to be consistent, it is important that the net inputs and outputs of the
DFD for a process are the same as the inputs and outputs of the process are the
same as the inputs and the outputs of the process in the higher level DFD. This
refinement stops if each bubble can be easily identified or understood. It should
be pointed out that during refinement, though the net input and output are
preserved, a refinement of the data might also occur. That is , a unit of data may
be broken into its components for processing when the detailed DFD for a
process is being drawn .So , as the process are decomposed, data
decomposition also occurs.
The DFD methodology is quite effective, especially when the required designs is
unclear the analyst need a notational language for communication. The DFD is
easy to understand for communication. The DFD is easy to understand after a
brief orientation.

The main problem however is the large number of iterations that often are
required to arrive at the most accurate and complete solution.

Context Level Data Flow Diagram:

The top-level diagram is often called a context diagram. It


is also called 0 level data flow diagram. It contains a single process.

39
Seller
Deal Finalized
Buyer
PLOT
MANAGEM
Legal Documents ENT
SYSTEM

Home Loan
Information

Figure (1)

Context Level Data Flow Diagram

Plot Details Plot Registered


1.1
Registration Buyer Registered
Process
Buyer’s Details

Figure (1.1)

Categorized
Plot Plot
1.2 Allocation
Searching
Searching
Process

Figure (1.2)

40
Searching On
Plot Type

Searching On Plot Found


Plot Type
Plot
Categorization
Process

Searching On
Plot
Available For

41
Dealer_id Password

Dealer father

login_name name
e-mail

Registration mob
Has

add phone
category

country
searc
Search by h
reagon
state

plot_type Search by id
Plot_id

Has

demand
Plot_id
contact

Plot size Search by id


e_id

Plot_type

Plot_add location

Plot_no
Plot rate sector

42
CODING

// main menu class:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.io.*;
import javax.swing.event.*;
import java.util.*;

class mainm extends JFrame implements ActionListener


{
ImageIcon img;
JLabel l1,l2,l3,l4,l5,l6,l7,l8,l9,l10,l11,l12,l13,l14,l15,l16,l17;
JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6,tf7,tf8,tf9,tf10,tf11,tf12,tf13,tf14,tf15,tf16;
JTextArea ta;
JButton b1,b2,bb1,bb2,bb3,bb4,bb5,bb6,bb7,bb8,bb9,bb10,bb11;
Connection con,con1;
Container c1;
Panel c,p;
GridBagLayout g1;
GridBagConstraints gbc;
GregorianCalendar gc;
String sss,ss;
int coun=0;
mainm()
{
/*gc=new GregorianCalendar();
int d1=gc.get(Calendar.DATE);
int d2=gc.get(Calendar.MONTH)+1;
int d3=gc.get(Calendar.YEAR);
System.out.print(d1+" "+d2+" "+d3);
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con1=DriverManager.getConnection("jdbc:odbc:ds","","yogi");
Statement stt=con1.createStatement();
ResultSet rr=stt.executeQuery("select * from dd order by date1");
String da="";
while(rr.next())
{
coun++;
da=rr.getString(1);
}

43
if(!(String.valueOf(d1)).equals(da))
{
Statement stt1=con1.createStatement();
stt1.executeUpdate("insert into dd values('"+String.valueOf(d1)+"')");

}catch(Exception ex)
{
System.out.print(ex+"1");
}
if(coun>15)
{

}
else
{ */
/* try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:project","","yogi");
}catch(Exception ex)
{
System.out.print(ex+"1");
}
*/
g1=new GridBagLayout();
gbc=new GridBagConstraints();
c1=getContentPane();
c=new Panel();
p=new Panel();

l8=new JLabel(" ");


l9=new JLabel(" MAIN MENU ") ;
l9.setFont(new Font("Arial",Font.BOLD,30));
l17=new JLabel(img);
l17.setBackground(Color.red);
p.setLayout(new FlowLayout());
p.setBackground( new Color(15,221,98));
p.add(l8);
p.add(l9);
c1.add(p,"North");
l1=new JLabel(" ");
l2=new JLabel(" ");
l3=new JLabel(" ");
l4=new JLabel(" ");
l5=new JLabel(" ");

44
l6=new JLabel(" ");
l7=new JLabel(" ");
l12=new JLabel(" ");
l13=new JLabel(" ");
l14=new JLabel(" ");

bb1=new JButton(" Entry Of Dealer's Details ");


bb2=new JButton(" Entry Of Plot Details ");
bb3=new JButton(" Reports ");
bb6=new JButton(" Details of Perticular Plot ");
bb7=new JButton(" Exit ");
bb8=new JButton(" Dealer's Details ");
bb10=new JButton(" Exit ");

c.setBackground(new Color(255,87,111));

c.setLayout(new GridLayout(15,2));
c.setLayout(g1);

gbc.anchor=GridBagConstraints.WEST;

c1.add(c);

bb1.addActionListener(this);
bb2.addActionListener(this);
bb3.addActionListener(this);
bb4.addActionListener(this);
bb5.addActionListener(this);
bb6.addActionListener(this);
bb7.addActionListener(this);
bb8.addActionListener(this);
bb9.addActionListener(this);
bb10.addActionListener(this);
bb11.addActionListener(this);
//}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==bb1)
{
dealname y=new dealname();
y.setSize(850,600);
y.setVisible(true);

45
}
if(e.getSource()==bb2)
{
TableRenderDemo y=new TableRenderDemo();
y.setSize(850,600);
y.setVisible(true);

}
if(e.getSource()==bb3)
{

mainsm y=new mainsm();


y.setSize(850,600);
y.setVisible(true);
y.setTitle("");
}
/*if(e.getSource()==bb4)
{
r2 y=new r2();

y.setSize(850,600);
y.setVisible(true);

}
if(e.getSource()==bb5)
{
r4 y=new r4();

y.setSize(850,600);
y.setVisible(true);
y.setTitle("");

}
if(e.getSource()==bb6)
{
r3 y=new r3();

y.setSize(850,600);
y.setVisible(true);
y.setTitle(" ");

} */
if(e.getSource()==bb8)
{
dealdetail y=new dealdetail();

46
y.setSize(850,600);
y.setVisible(true);
y.setTitle("");

if(e.getSource()==bb7)
{
System.exit(0);
}

}
public static void main(String a[])
{
mainm p=new mainm();
p.setVisible(true);
p.setSize(800,650);
}
}

//Dealer’s name class:-

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;

public class dealname extends JFrame implements ActionListener


{
JTextField jf,jf1,jf2,jf4,jf5,jf6;
JButton b1,b2;
JTextField jf3;
Container c;
JLabel l,l1,l2,l3,l4,l5,l51,l52,l6,l7,l8,l17;
Connection con;
ImageIcon img;
GridBagLayout g1;
GridBagConstraints gbc;
Checkbox c1,c2,c3,c4,c5,c6;
Panel p1,p2,p3,p4;
CheckboxGroup cbg,cbg1;
String cc,cc1;
dealname(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

47
con=DriverManager.getConnection("jdbc:odbc:pr","","yogi");
}
catch(Exception ex)
{
System.out.print(ex+"1");
}
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();

c=getContentPane();
c.setLayout(new GridLayout(15,2));
c.setBackground(new Color(178,236,244));
cbg=new CheckboxGroup();
cbg1=new CheckboxGroup();
c1=new Checkbox("Clear",cbg,true);
c2=new Checkbox("Motation",cbg,false);
c3=new Checkbox("Attorney",cbg,false);

g1=new GridBagLayout();
gbc=new GridBagConstraints();
b1=new JButton("Save");
b2=new JButton("Back");
img=new ImageIcon("aqua5.gif");
l17=new JLabel(img);
l17.setBackground(Color.red);
jf=new JTextField(15);
jf1=new JTextField(15);
jf2=new JTextField(15);
jf3=new JTextField(15);
jf4=new JTextField(15);
jf5=new JTextField(15);
jf6=new JTextField(15);
l=new JLabel("Dealer's Name :");
l1=new JLabel("Address : ");
l2=new JLabel("Office Telephone No. : ");
l3=new JLabel("Resi. Telephone No. :");
l4=new JLabel("Mobil No. :");
/*l5=new JLabel("Payment Date :");
l51=new JLabel("Due Date :");
l52=new JLabel("Purchase Date :");

l7=new JLabel("Title"); */

c.setLayout(g1);

48
gbc.anchor=GridBagConstraints.WEST;
gbc.gridx=0;
gbc.gridy=1;
g1.setConstraints(l17,gbc);
//c.add(l17);

b1.addActionListener(this);
b2.addActionListener(this);

}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
try{
String s=jf.getText();
if(s.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter Dealer
Name","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{
String s1=jf1.getText();

String s2=jf2.getText();

String s4=jf4.getText();

String s3=jf3.getText();

/* String s5=jf5.getText();

if(s5.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter Due
Date","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{
String s6=jf6.getText();

49
if(s6.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter Purchase
Date","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{
if(c1.getState()==true)
{
cc=c1.getLabel();
System.out.print(cc);
}
else if(c2.getState()==true)
{
cc=c2.getLabel();
System.out.print(cc);
}
if(c3.getState()==true)
{
cc=c3.getLabel();
System.out.print(cc);
}
*/
System.out.print("&&&");

PreparedStatement ps=con.prepareStatement("insert into dealerde


values(?,?,?,?,?)");
ps.setString(1,s);
ps.setString(2,s1);
ps.setString(3,s2);

ps.setString(4,s4);
ps.setString(5,s3);

// ps.setString(5,s3);

// ps.setString(6,s5);
// ps.setString(7,s6);
// ps.setString(8,cc);

int aa=ps.executeUpdate();
if(aa>0)
{
JOptionPane.showMessageDialog(this,"Record
Inserted","Warning_Message",JOptionPane.WARNING_MESSAGE);

50
jf.setText("");
jf1.setText(" ");
jf2.setText(" ");
jf3.setText(" ");
jf4.setText(" ");

}
else
JOptionPane.showMessageDialog(this,"Record Not Inserted,Try
Again","Warning_Message",JOptionPane.WARNING_MESSAGE);

}}//}} } //}} }
catch(Exception ex)
{
JOptionPane.showMessageDialog(this,"Record Not Inserted,Try
Again","Warning_Message",JOptionPane.WARNING_MESSAGE);

System.out.print(ex+"2");
}
}
if(e.getSource()==b2)
{
dispose();
}
}

public static void main(String asd[])


{
dealname ga=new dealname();
ga.setVisible(true);
ga.setSize(1000,1000);
}
}

// Dealers detail class:

import java.awt.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;

51
public class dealdetail extends JFrame implements ActionListener
{
Panel p1,p2,p3;
Connection con;
JTable tb;
Button b,b1;
Label l,l1,l2;
String data[][]=new String[150][4];
String col[]={"Dealer's Name","Address","Office Telephone","Residence
Telephone"};
String se="",se1="";

dealdetail()
{
tb=new JTable(data,col);

p1=new Panel();
p2=new Panel();
p3=new Panel();
b=new Button("Back");
l=new Label(" Dealer's Details ");
l.setFont(new Font("Ariel",Font.BOLD|Font.ITALIC,25));
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b)
{
dispose();
}
}
public static void main(String[] args) {
dealdetail y=new dealdetail();
y.setSize(850,650);
y.setVisible(true);
}
}

// pro class (for entry of plots):

52
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;

public class pro extends JFrame implements ActionListener


{
JTextField jf,jf1,jf2,jf4,jf5,jf6;
JButton b1,b2;
JTextField jf3;
Container c;
JLabel l,l1,l2,l3,l4,l5,l51,l52,l6,l7,l8,l17;
Connection con;
ImageIcon img;
GridBagLayout g1;
GridBagConstraints gbc;
Checkbox c1,c2,c3,c4,c5,c6;
Panel p1,p2,p3,p4;
CheckboxGroup cbg,cbg1;
String cc,cc1;
pro(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:pr");
}
catch(Exception ex)
{
System.out.print(ex+"1");
}
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();

c=getContentPane();
c.setLayout(new GridLayout(15,2));
c.setBackground(new Color(178,236,244));
cbg=new CheckboxGroup();
cbg1=new CheckboxGroup();
c1=new Checkbox("Clear",cbg,true);
c2=new Checkbox("Motation",cbg,false);
c3=new Checkbox("Attorney",cbg,false);

g1=new GridBagLayout();

53
gbc=new GridBagConstraints();
b1=new JButton("Save");
b2=new JButton("Back");
img=new ImageIcon("aqua5.gif");
l17=new JLabel(img);
l17.setBackground(Color.red);
jf=new JTextField(15);
jf1=new JTextField(15);
jf2=new JTextField(15);
jf3=new JTextField(15);
jf4=new JTextField(15);
jf5=new JTextField(15);
jf6=new JTextField(15);
l=new JLabel("Date(dd/mm/yy) :");
l1=new JLabel("Firm Name : ");
l2=new JLabel("Sector : ");
l3=new JLabel("Pocket :");
l4=new JLabel("Plot No. :");
l5=new JLabel("Payment Date :");
l51=new JLabel("Due Date :");
l52=new JLabel("Purchase Date :");

l7=new JLabel("Title");

}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
try{
String s=jf.getText();
if(s.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter
Date","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{
String s1=jf1.getText();
if(s1.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter Firm
Name","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{

54
String s2=jf2.getText();
if(s2.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter
Sector","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{

String s4=jf4.getText();

if(s4.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter
Pocket","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{
String s3=jf3.getText();
if(s3.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter Plot
No.","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{

String s5=jf5.getText();

if(s5.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter Due
Date","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
{
String s6=jf6.getText();

if(s6.length()==0)
{
JOptionPane.showMessageDialog(this,"Enter Purchase
Date","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else

55
{
if(c1.getState()==true)
{
cc=c1.getLabel();
System.out.print(cc);
}
else if(c2.getState()==true)
{
cc=c2.getLabel();
System.out.print(cc);
}
if(c3.getState()==true)
{
cc=c3.getLabel();
System.out.print(cc);
}

System.out.print("&&&");

PreparedStatement ps=con.prepareStatement("insert into pr1


values(?,?,?,?,?,?,?,?)");
ps.setString(1,s);
ps.setString(2,s1);
ps.setString(3,s2);

ps.setString(4,s4);
ps.setString(5,s3);

ps.setString(6,s5);
ps.setString(7,s6);
ps.setString(8,cc);

int aa=ps.executeUpdate();
if(aa>0)
{
JOptionPane.showMessageDialog(this,"Record
Inserted","Warning_Message",JOptionPane.WARNING_MESSAGE);
}
else
JOptionPane.showMessageDialog(this,"Record Not Inserted,Try
Again","Warning_Message",JOptionPane.WARNING_MESSAGE);

}}}}}}} }
catch(Exception ex)
{

56
JOptionPane.showMessageDialog(this,"Record Not Inserted,Try
Again","Warning_Message",JOptionPane.WARNING_MESSAGE);

System.out.print(ex+"2");
}
}
if(e.getSource()==b2)
{
dispose();
}
}

public static void main(String asd[])


{
pro ga=new pro();
ga.setVisible(true);
ga.setSize(1000,1000);
}
}

// lr class (for report generated by location and road) :-

import java.awt.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;

public class lr extends JFrame implements ActionListener,ItemListener


{
Choice ch,ch1;
Panel p1,p2,p3;
Connection con;
JTable tb;
Button b,b1;
String data[][]=new String[50][13];
String col[]={"Date","Sector","Pocket","Plot No","Size","Title","Rate","Payment
Date","Day Remaining","Party Name","Address","Off.tel.","Resi.Tel."};

String se="",se1="";

lr()

57
{

ch=new Choice();
ch1=new Choice();

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:pr");
Statement st2=con.createStatement();
ResultSet rs=st2.executeQuery("Select * from entry");
ch.addItem(" None ");
ch1.addItem(" None ");
int i=0,j=0,i1=0,j1=0,j2=0;
String ar[][]=new String[150][2];
while(rs.next())
{
j1=0;
j2=0;
ar[i][0]=rs.getString(10);
ar[i][1]=rs.getString(11);
System.out.print(ar[i][0]);
System.out.println(ar[i][1]);

for(i1=0;i1<i;i1++)
{
if(ar[i1][0].equalsIgnoreCase(ar[i][0]))
{
j1=1;
break;
}
}
if(j1==0)
ch.addItem(ar[i][0]);
for(i1=0;i1<i;i1++)
{
if(ar[i1][1].equalsIgnoreCase(ar[i][1]))
{
j2=1;
break;
}
}
if(j2==0)
ch1.addItem(ar[i][1]);
i++;
}

58
}
catch(Exception ex)
{
System.out.print(ex+"1");
}

p1=new Panel();
p2=new Panel();
p3=new Panel();
b=new Button("Back");
/*ch.addItem("None");
ch.addItem("Sector-20");
ch.addItem("Sector-21");
ch.addItem("Sector-22");
ch.addItem("Sector-23");
ch.addItem("Sector-24");
ch.addItem("Sector-25");
ch1.addItem("None");
ch1.addItem("90sq.m");
ch1.addItem("60sq.m");
ch1.addItem("48sq.m");
ch1.addItem("26sq.m"); */
tb=new JTable(data,col);
// table.setBounds(0,0,1200,1200);
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;

JScrollPane jp=new JScrollPane(tb);

p1.add(ch);
p1.add(ch1);

//p2.add(jp);
getContentPane().add("North",p1);
getContentPane().add(jp);
getContentPane().add("South",p3);

p3.add(b);
b.addActionListener(this);
ch.addItemListener(this);
ch1.addItemListener(this);

59
}
public void itemStateChanged(ItemEvent e)
{
try{
for( int j=0;j<data.length;j++)
{
for( int j1=0;j1<13;j1++)
{
tb.setValueAt(" ",j,j1);

//data[j][j1]=" ";
}
}

String s=(String)ch.getSelectedItem();
String s1=(String)ch1.getSelectedItem();
/*if(s.equalsIgnoreCase("sector-21"))
se="21";
if(s.equalsIgnoreCase("sector-22"))
se="22";
if(s.equalsIgnoreCase("sector-23"))
se="23";
if(s.equalsIgnoreCase("sector-24"))
se="24";
if(s.equalsIgnoreCase("sector-25"))
se="25"; */
/*if(s1.equalsIgnoreCase("90sq.m"))
se1="90";
if(s1.equalsIgnoreCase("60sq.m"))
se1="60";
if(s1.equalsIgnoreCase("48sq.m"))
se1="48";
if(s1.equalsIgnoreCase("26sq.m"))
se1="26"; */

int t=0;

int i1=0,j1=0;
Statement st2=con.createStatement();
ResultSet rs=st2.executeQuery("Select * from entry where location='"+s+"' and
road='"+s1+"'");
while(rs.next())
{
tb.setValueAt(rs.getString(1),i1,j1++);
tb.setValueAt(rs.getString(6),i1,j1++);

60
tb.setValueAt(rs.getString(7),i1,j1++);
tb.setValueAt(rs.getString(8),i1,j1++);
tb.setValueAt(rs.getString(9),i1,j1++);

tb.setValueAt(rs.getString(12),i1,j1++);
tb.setValueAt(rs.getString(13),i1,j1++);
String d=rs.getString(14);
tb.setValueAt(d,i1,j1++);
try{
GregorianCalendar cal=new GregorianCalendar();
int cal1=cal.get(Calendar.DATE);
int cal2=cal.get(Calendar.MONTH)+1;
int cal3=cal.get(Calendar.YEAR);
char cc[]=d.toCharArray();
String cc1[]={"","",""};//new String[3];
int c2=0;
for(int c1=0;c1<cc.length;c1++)
{
if(cc[c1]=='/' || cc[c1]=='.' || cc[c1]=='-' )
{
c2++;
c1++;
}
cc1[c2]=cc1[c2]+cc[c1];

}
//}
int d1=Integer.parseInt(cc1[0].trim());
int d2=Integer.parseInt(cc1[1].trim());
int d3=Integer.parseInt(cc1[2].trim());
int t1=d1-cal1;
int t2=d2-cal2;
int t3=d3-cal3;
if(t1>0 && t2==0)
{
t=t1;
}
if(t2>0)
{
if(d2%2==0)
{
t=t1+t2*30;
}
else
t=t1+t2*31;

61
}
if(t1==0 && t2==0)
{
t=0;
}
}catch(Exception exe)
{
System.out.print(exe+"inner");
}

tb.setValueAt(String.valueOf(t),i1,j1++);

tb.setValueAt(rs.getString(2),i1,j1++);
tb.setValueAt(rs.getString(3),i1,j1++);
tb.setValueAt(rs.getString(4),i1,j1++);
tb.setValueAt(rs.getString(5),i1,j1++);

i1++;
j1=0;
}
}catch(Exception e1)
{
System.out.print(e1+"dfFDGGF");
}

}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b)
{
dispose();
}
}
public static void main(String[] args) {
lr y=new lr();
y.setSize(850,650);
y.setVisible(true);
}
}

// n class (report display according to dealer’s name):

import java.awt.*;

62
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;

public class n extends JFrame implements ActionListener,ItemListener


{
Choice ch,ch1;
Panel p1,p2,p3;
Connection con;
JTable tb;
Button b,b1;
String data[][]=new String[50][15];
String col[]={"Date","Sector","Pocket","Plot
No","Size","Location","Road","Title","Rate","Payment Date","Day Remaining","Party
Name","Address","Off.tel.","Resi.Tel."};

String se="",se1="";

n()

ch=new Choice();
ch1=new Choice();

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:pr");
Statement st2=con.createStatement();
ResultSet rs=st2.executeQuery("Select * from entry");
ch.addItem(" None ");
ch1.addItem(" None ");
int i=0,j=0,i1=0,j1=0,j2=0;
String ar[][]=new String[150][2];
while(rs.next())
{
j1=0;
j2=0;
ar[i][0]=rs.getString(2);
//ar[i][1]=rs.getString(11);
System.out.print(ar[i][0]);
//System.out.println(ar[i][1]);

63
for(i1=0;i1<i;i1++)
{
if(ar[i1][0].equalsIgnoreCase(ar[i][0]))
{
j1=1;
break;
}
}
if(j1==0)
ch.addItem(ar[i][0]);
/*for(i1=0;i1<i;i1++)
{
if(ar[i1][1].equalsIgnoreCase(ar[i][1]))
{
j2=1;
break;
}
}
if(j2==0)
ch1.addItem(ar[i][1]);*/
i++;
}

}
catch(Exception ex)
{
System.out.print(ex+"1");
}

p1=new Panel();
p2=new Panel();
p3=new Panel();
b=new Button("Back");
/*ch.addItem("None");
ch.addItem("Sector-20");
ch.addItem("Sector-21");
ch.addItem("Sector-22");
ch.addItem("Sector-23");
ch.addItem("Sector-24");
ch.addItem("Sector-25");
ch1.addItem("None");
ch1.addItem("90sq.m");
ch1.addItem("60sq.m");
ch1.addItem("48sq.m");
ch1.addItem("26sq.m"); */

64
tb=new JTable(data,col);
// table.setBounds(0,0,1200,1200);
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;

JScrollPane jp=new JScrollPane(tb);

p1.add(ch);
//p1.add(ch1);

//p2.add(jp);
getContentPane().add("North",p1);
getContentPane().add(jp);
getContentPane().add("South",p3);

p3.add(b);
b.addActionListener(this);
ch.addItemListener(this);
ch1.addItemListener(this);
}
public void itemStateChanged(ItemEvent e)
{
try{
for( int j=0;j<data.length;j++)
{
for( int j1=0;j1<15;j1++)
{
tb.setValueAt(" ",j,j1);

//data[j][j1]=" ";
}
}

String s=(String)ch.getSelectedItem();
String s1=(String)ch1.getSelectedItem();
/*if(s.equalsIgnoreCase("sector-21"))
se="21";
if(s.equalsIgnoreCase("sector-22"))
se="22";
if(s.equalsIgnoreCase("sector-23"))
se="23";
if(s.equalsIgnoreCase("sector-24"))

65
se="24";
if(s.equalsIgnoreCase("sector-25"))
se="25"; */
/*if(s1.equalsIgnoreCase("90sq.m"))
se1="90";
if(s1.equalsIgnoreCase("60sq.m"))
se1="60";
if(s1.equalsIgnoreCase("48sq.m"))
se1="48";
if(s1.equalsIgnoreCase("26sq.m"))
se1="26"; */

int t=0;

int i1=0,j1=0;
Statement st2=con.createStatement();
ResultSet rs=st2.executeQuery("Select * from entry where dname='"+s+"'");
while(rs.next())
{
tb.setValueAt(rs.getString(1),i1,j1++);
tb.setValueAt(rs.getString(6),i1,j1++);

tb.setValueAt(rs.getString(7),i1,j1++);
tb.setValueAt(rs.getString(8),i1,j1++);
tb.setValueAt(rs.getString(9),i1,j1++);
tb.setValueAt(rs.getString(10),i1,j1++);
tb.setValueAt(rs.getString(11),i1,j1++);

tb.setValueAt(rs.getString(12),i1,j1++);
tb.setValueAt(rs.getString(13),i1,j1++);
String d=rs.getString(14);
tb.setValueAt(d,i1,j1++);
try{
GregorianCalendar cal=new GregorianCalendar();
int cal1=cal.get(Calendar.DATE);
int cal2=cal.get(Calendar.MONTH)+1;
int cal3=cal.get(Calendar.YEAR);
char cc[]=d.toCharArray();
String cc1[]={"","",""};//new String[3];
int c2=0;
for(int c1=0;c1<cc.length;c1++)
{
if(cc[c1]=='/' || cc[c1]=='.' || cc[c1]=='-' )
{
c2++;
c1++;

66
}
cc1[c2]=cc1[c2]+cc[c1];

}
//}
int d1=Integer.parseInt(cc1[0].trim());
int d2=Integer.parseInt(cc1[1].trim());
int d3=Integer.parseInt(cc1[2].trim());
int t1=d1-cal1;
int t2=d2-cal2;
int t3=d3-cal3;
if(t1>0 && t2==0)
{
t=t1;
}
if(t2>0)
{
if(d2%2==0)
{
t=t1+t2*30;
}
else
t=t1+t2*31;
}
if(t1==0 && t2==0)
{
t=0;
}
}catch(Exception exe)
{
System.out.print(exe+"inner");
}

tb.setValueAt(String.valueOf(t),i1,j1++);

tb.setValueAt(rs.getString(2),i1,j1++);
tb.setValueAt(rs.getString(3),i1,j1++);
tb.setValueAt(rs.getString(4),i1,j1++);
tb.setValueAt(rs.getString(5),i1,j1++);

i1++;
j1=0;
}
}catch(Exception e1)
{
System.out.print(e1+"dfFDGGF");

67
}

}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b)
{
dispose();
}
}
public static void main(String[] args) {
n y=new n();
y.setSize(850,650);
y.setVisible(true);
}
}

// r1 class (report display according to sector and size):

import java.awt.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;

public class r1 extends JFrame implements ActionListener,ItemListener


{
Choice ch,ch1;
Panel p1,p2,p3;
Connection con;
JTable tb;
Button b,b1;
String data[][]=new String[50][13];
String col[]={"Date","Pocket","Plot No","Location","Road","Title","Rate","Payment
Date","Day Remaining","Party Name","Address","Off.tel.","Resi.Tel."};
String se="",se1="";

r1()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:pr");
}
catch(Exception ex)

68
{
System.out.print(ex+"1");
}

ch=new Choice();
ch1=new Choice();

p1=new Panel();
p2=new Panel();
p3=new Panel();
b=new Button("Back");
ch.addItem("None");
ch.addItem("Sector-20");
ch.addItem("Sector-21");
ch.addItem("Sector-22");
ch.addItem("Sector-23");
ch.addItem("Sector-24");
ch.addItem("Sector-25");
ch1.addItem("None");
ch1.addItem("90sq.m");
ch1.addItem("60sq.m");
ch1.addItem("48sq.m");
ch1.addItem("26sq.m");
tb=new JTable(data,col);
// table.setBounds(0,0,1200,1200);
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;

JScrollPane jp=new JScrollPane(tb);

p1.add(ch);
p1.add(ch1);

//p2.add(jp);
getContentPane().add("North",p1);
getContentPane().add(jp);
getContentPane().add("South",p3);

p3.add(b);
b.addActionListener(this);
ch.addItemListener(this);
ch1.addItemListener(this);
}

69
public void itemStateChanged(ItemEvent e)
{
try{
for( int j=0;j<data.length;j++)
{
for( int j1=0;j1<13;j1++)
{
tb.setValueAt(" ",j,j1);

//data[j][j1]=" ";
}
}

String s=(String)ch.getSelectedItem();
String s1=(String)ch1.getSelectedItem();
/*if(s.equalsIgnoreCase("sector-21"))
se="21";
if(s.equalsIgnoreCase("sector-22"))
se="22";
if(s.equalsIgnoreCase("sector-23"))
se="23";
if(s.equalsIgnoreCase("sector-24"))
se="24";
if(s.equalsIgnoreCase("sector-25"))
se="25"; */
/*if(s1.equalsIgnoreCase("90sq.m"))
se1="90";
if(s1.equalsIgnoreCase("60sq.m"))
se1="60";
if(s1.equalsIgnoreCase("48sq.m"))
se1="48";
if(s1.equalsIgnoreCase("26sq.m"))
se1="26"; */

int t=0;

int i1=0,j1=0;
Statement st2=con.createStatement();
ResultSet rs=st2.executeQuery("Select * from entry where sector='"+s+"' and
size='"+s1+"'");
while(rs.next())
{
tb.setValueAt(rs.getString(1),i1,j1++);

tb.setValueAt(rs.getString(7),i1,j1++);

70
tb.setValueAt(rs.getString(8),i1,j1++);
tb.setValueAt(rs.getString(10),i1,j1++);
tb.setValueAt(rs.getString(11),i1,j1++);
tb.setValueAt(rs.getString(12),i1,j1++);
tb.setValueAt(rs.getString(13),i1,j1++);
String d=rs.getString(14);
tb.setValueAt(d,i1,j1++);
try{
GregorianCalendar cal=new GregorianCalendar();
int cal1=cal.get(Calendar.DATE);
int cal2=cal.get(Calendar.MONTH)+1;
int cal3=cal.get(Calendar.YEAR);
char cc[]=d.toCharArray();
String cc1[]={"","",""};//new String[3];
int c2=0;
for(int c1=0;c1<cc.length;c1++)
{
if(cc[c1]=='/' || cc[c1]=='.' || cc[c1]=='-' )
{
c2++;
c1++;
}
cc1[c2]=cc1[c2]+cc[c1];

}
//}
int d1=Integer.parseInt(cc1[0].trim());
int d2=Integer.parseInt(cc1[1].trim());
int d3=Integer.parseInt(cc1[2].trim());
int t1=d1-cal1;
int t2=d2-cal2;
int t3=d3-cal3;
if(t1>0 && t2==0)
{
t=t1;
}
if(t2>0)
{
if(d2%2==0)
{
t=t1+t2*30;
}
else
t=t1+t2*31;
}
{

71
dispose();
}
}
public static void main(String[] args) {
r1 y=new r1();
y.setSize(850,650);
y.setVisible(true);
}
}

// r2 class (report display according to sector):

import java.awt.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;

public class r2 extends JFrame implements ActionListener,ItemListener


{
Choice ch,ch1;
Panel p1,p2,p3;
Connection con;
JTable tb;
Button b,b1;
String data[][]=new String[50][14];
String col[]={"Date","Pocket","Plot
No","Size","Location","Road","Title","Rate","Payment Date","Day Remaining","Party
Name","Address","Off.tel.","Resi.Tel."};
String se="",se1="";

r2()
{

ch1.addItem("60sq.m");
ch1.addItem("48sq.m");
ch1.addItem("26sq.m");
tb=new JTable(data,col);
// table.setBounds(0,0,1200,1200);
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;

72
JScrollPane jp=new JScrollPane(tb);

p1.add(ch);
//p1.add(ch1);

//p2.add(jp);
getContentPane().add("North",p1);
getContentPane().add(jp);
getContentPane().add("South",p3);

p3.add(b);
b.addActionListener(this);
ch.addItemListener(this);
ch1.addItemListener(this);
}
public void itemStateChanged(ItemEvent e)
{
try{
for( int j=0;j<data.length;j++)
{
for( int j1=0;j1<14;j1++)
{
tb.setValueAt(" ",j,j1);

//data[j][j1]=" ";
}
}

String s=(String)ch.getSelectedItem();
//String s1=(String)ch1.getSelectedItem();
/*if(s.equalsIgnoreCase("sector-21"))
se="21";
if(s.equalsIgnoreCase("sector-22"))
se="22";
if(s.equalsIgnoreCase("sector-23"))
se="23";
if(s.equalsIgnoreCase("sector-24"))
se="24";
if(s.equalsIgnoreCase("sector-25"))
se="25"; */
/*if(s1.equalsIgnoreCase("90sq.m"))
se1="90";

73
if(s1.equalsIgnoreCase("60sq.m"))
se1="60";
if(s1.equalsIgnoreCase("48sq.m"))
se1="48";

import java.awt.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;

public class r3 extends JFrame implements ActionListener,ItemListener


{
Choice ch,ch1;
Panel p1,p2,p3;
Connection con;
JTable tb;
Button b,b1;
TextField tf,tf1,tf2;
Label l,l1,l2;
String data[][]=new String[50][13];
String col[]={"Date","Location","Road","Title","Rate","Payment Date","Day
Remaining","Party Name","Address","Off.tel.","Resi.Tel."};
String se="",se1="";

r3()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:pr");
}
catch(Exception ex)
{
System.out.print(ex+"1");
}

ch=new Choice();
ch1=new Choice();

p1=new Panel();
p2=new Panel();
p3=new Panel();
b=new Button("Back");
tf=new TextField(10);

74
tf1=new TextField(10);
tf2=new TextField(10);
l=new Label("Pocket");
l1=new Label("Plot No");

ch.addItem("None");
ch.addItem("Sector-20");
ch.addItem("Sector-21");
ch.addItem("Sector-22");
ch.addItem("Sector-23");
ch.addItem("Sector-24");
ch.addItem("Sector-25");
ch1.addItem("None");
ch1.addItem("90sq.m");
ch1.addItem("60sq.m");
ch1.addItem("48sq.m");
ch1.addItem("26sq.m");
tb=new JTable(data,col);
// table.setBounds(0,0,1200,1200);
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;

JScrollPane jp=new JScrollPane(tb);

//p1.add(ch1);
p1.add(l);
p1.add(tf);
p1.add(l1);
p1.add(tf1);
p1.add(ch);

//p2.add(jp);
getContentPane().add("North",p1);
getContentPane().add(jp);
getContentPane().add("South",p3);

p3.add(b);
b.addActionListener(this);
ch.addItemListener(this);
ch1.addItemListener(this);
}
public void itemStateChanged(ItemEvent e)
{

75
try{
for( int j=0;j<data.length;j++)
{
for( int j1=0;j1<11;j1++)
{
tb.setValueAt(" ",j,j1);

//data[j][j1]=" ";
}
}

tb.setValueAt(rs.getString(1),i1,j1++);
for(int c1=0;c1<cc.length;c1++)
{
if(cc[c1]=='/' || cc[c1]=='.' || cc[c1]=='-' )
{
c2++;
c1++;
}
cc1[c2]=cc1[c2]+cc[c1];

}
//}
int d1=Integer.parseInt(cc1[0].trim());
int d2=Integer.parseInt(cc1[1].trim());
int d3=Integer.parseInt(cc1[2].trim());
int t1=d1-cal1;
int t2=d2-cal2;
int t3=d3-cal3;
if(t1>0 && t2==0)
{
t=t1;
}
if(t2>0)
{
if(d2%2==0)
{
t=t1+t2*30;
}
else
t=t1+t2*31;
}
if(t1==0 && t2==0)
{
t=0;

76
}
}catch(Exception exe)
{
System.out.print(exe+"inner");
}

public static void main(String[] args) {


r3 y=new r3();
y.setSize(850,650);
y.setVisible(true);
}
}

77
SNAPSHOTS

After selecting one of the option. New form will open.like first we click on the entry of a

property dealer.then this form will open.

78
After that we fill all the details of a property dealer.

Name,address,telephone nos.

After clicking on a save button.

Then message is diplayed for record inserted.

79
Then all the information of a dealer is saved in a database in MS –Access.

80
When user enter the values in database.then we click on a back button then we again

come to a main menu.

81
when dealer wants to enter the details of his plots.then he/she should click on a entry

of plot details.then new form will open . where he should fill all the detailsof a plot.

82
In this dealer first select his/her name .

After that automatically all the details of a dealer is shown like in this we have

address and the telephone nos of a dealer.

Then in this form dealer has to fill all the details about a plot.Like in which

sector,pocket,plot no,size,location,rate of a plot.so that it is easy for the customer .

After dealer has to click on a sumit button.

83
Records are inserted in a database according to the dealer names.

If customer want to see the detail of a particular dealer.then in main menu cutomer

should click on a dealers detail.then new form will open like in this:

84
In this customer can view all details of a dealers.In this we have details like

address,telephone no of a dealer for contact.

When customer wants to select for a vacant plot.then he/she has various options.From

main menu customer should click on a reports.then various reports will open.like in

this

85
In this customer has various options to select because variour reports are

generated.like first he clicks on a according to property dealer name.then new form

will open in this he select for that particular dealer.

86
In this we select a dealer name ‘anshu’ . Then all the available plots which are under

the dealer anshu will display. As well we get all the details of a particular plot and the

property dealer.

Customer has others ways to selectb for a particular plot. Again go to reports column

in a main menu.like in this he click on a reports bya sector and location.

87
Like in this cutomer has enter a sector 21 and location kalkaji.then all the plots which

are available in that particular sector and location will display. As well he gets name

and details of a property who owns this vacant plots.

88
And according to a sector and size.this form will open.with all the details of a

particular dealer.

89
According to sector:-

90
According to sector and road:-

91
According to location and road:-

92
According to details of a particular plot:-

we have some way of finding a available plots in a particular area.like accordin to title,

and through sector,location title ans size.

Various reports are generated .

93
SYSTEM TESTING

 Introduction To Testing

 Nature Of Software Defects

 Types of testing

 Testing Cycle

 Characteristics of Testing

 Test Plan

 Testing snapshots

94
INTRODUCTION TO TESTING
Testing is a process of analyzing a software item to detect the differences between

demonstrated and desired behavior. No piece of code is completely ready unless it has

been fully tested. This stage is very important as at this stage, it is verified whether the

code developed meets the requirements specifications or not. Moreover all validations are

also checked. For testing a piece of code (called the test item), various test plans are

prepared. In HPS, a test plan is described as the scope, approach, resource, and schedule

of indented testing activities. It identifies test items, the features to be tested, the testing

task, who will do each task, and any risks requiring contingency planning. It consists of a

numbers of test cases. They are defined as, a document specifying inputs, predicted

results, and a set of execution conditions for a test item. A good test case is one that has a

high probability of finding an as yet undiscovered error.

Testing is also a process used to help identify the correctness, completeness and quality

of developed computer software. With that in mind, testing can never completely

establish the correctness of arbitrary computer software. In computability theory, a field

of computer science, an elegant mathematical proof concludes that it is impossible to

solve the halting problem, the question of whether an arbitrary computer program will

enter an infinite loop, or halt and produce output. In other words, testing is nothing but

criticism or comparison, which is comparing the actual value with expected one.

There are many approaches to software testing, but effective testing of complex products

is essentially a process of investigation, not merely a matter of creating and following

95
rote procedure. One definition of testing is "the process of questioning a product in order

to evaluate it", where the "questions" are things the tester tries to do with the product, and

the product answers with its behavior in reaction to the probing of the tester. Although

most of the intellectual processes of testing are nearly identical to that of review or

inspection, the word testing is connoted to mean the dynamic analysis of the product—

putting the product through its paces. The quality of the application can, and normally

does, vary widely from system to system but some of the common quality attributes

include reliability, stability, portability, maintainability and usability.

Regardless of the methods used or level of formality involved the desired result of testing

is a level of confidence in the software so that the developers are confident that the

software has an acceptable defect rate. What constitutes an acceptable defect rate depends

on the nature of the software. An arcade video game designed to simulate flying an

airplane would presumably have a much higher tolerance for defects than software used

to control an actual airliner.

96
Nature of software defects

Logic errors and incorrect assumptions: These are inversely proportional to the

probability that a program path will be executed. Errors tend to creep into our work when

design and implement functions, conditions, or control those are out of mainstream. We

often believe that a logical path is not likely to be executed when, in fact, it may be

executed on a regular basis. The logical flow of the program is sometimes

counterintuitive, meaning that our unconscious assumptions about flow of control and

data may lead us to make design errors that are uncovered only once path testing

commences.

Typographical errors: These are random. When a program is translated into programming

language source code, it is likely that some typing errors will occur. Many will be

uncovered by syntax checking mechanism, but others will go undetected until testing

begins. It is as likely that a typo will exist on an obscure logical path as on a mainstream

path.

Omission: Necessary Information about the system has been omitted from the software

artifact

Incorrect Fact: Some information in the software artifact contradicts information in the

requirements document or the general domain knowledge.

97
Inconsistency: Information within one part of the software artifact is inconsistent with

other information in the software artifact.

Ambiguity: Information within the software artifact is ambiguous, i.e. any number of

interpretations may be derived that should not be the prerogative of the developer doing

the implementation.

Extraneous Information: Information is provided that is not needed or used.

98
Types of Testing

White-box and black-box testing

In the terminology of testing professionals (software and some hardware) the phrases

"white box", or "glass box", and "black box" testing refer to whether the test case

developer has access to the source code of the software under test, and whether the

testing is done through (simulated) user interfaces or through the application

programming interfaces either exposed by (published) or internal to the target.

In white box testing the test developer has access to the source code and can write code

that links into the libraries which are linked into the target software. This is typical of unit

tests, which only test parts of a software system. They ensure that components used in the

construction are functional and robust to some degree.

In black box testing the test engineer only accesses the software through the same

interfaces that the customer or user would, or possibly through remotely controllable,

automation interfaces that connect another computer or another process into the target of

the test. For example a test harness might push virtual keystrokes and mouse or other

pointer operations into a program through any inter-process communications mechanism,

with the assurance that these events are routed through the same code paths as real

keystrokes and mouse clicks.

99
Alpha, Beta, and Gamma testing

In software development, testing is usually required before release to the general public.

This phase of development is known as the alpha phase. Testing during this phase is

known as alpha testing.

In the first phase of alpha testing, developers test the software using white box

techniques. Additional inspection is then performed using black box or grey box

techniques. This is usually done by a dedicated testing team. This is often known as the

second stage of alpha testing.

Once the alpha phase is complete, development enters the beta phase. Versions of the

software, known as beta-versions, are released to a limited audience outside of the

company. The software is released to groups of people so that further testing can ensure

the product has few faults or bugs. Sometimes, beta-versions are made available to the

open public to increase the feedback field to a maximal number of future users.

Testing during the beta phase, informally called “beta testing”, is generally constrained to

black box techniques although a core of test engineers are likely to continue with white

box testing in parallel to the beta tests. Thus the term beta test can refer to the stage of the

software—closer to release than being "in alpha"—or it can refer to the particular group

and process being done at that stage. So a tester might be continuing to work in white box

testing while the software is "in beta" (a stage) but he or she would then not be part of

"the beta test" (group/activity).

100
Gamma testing is a little-known informal phrase that refers derisively to the release of

"buggy" (defect-ridden) products. It is not a term of art among testers, but rather an

example of referential humor. Cynics have referred to all software releases as "gamma

testing" since defects are found in almost all commercial, commodity and publicly

available software eventually. (Some classes of embedded, and highly specialized process

control software are tested far more thoroughly and subjected to other forms of rigorous

software quality assurance; particularly those that control "life critical" equipment where

a failure can result in injury or death).

Where alpha and beta refer to stages of the software before release (and also implicitly on

the size of the testing community, and the constraints on the testing methods), white box,

black box, and grey box refer to the ways in which the tester accesses the target.

Unit testing

tests the minimal software component, or module. Each unit (basic component) of the

software is tested to verify that the detailed design for the unit has been correctly

implemented. In an object-oriented environment, this is usually at the class level, and the

minimal unit tests include the constructors and destructors.

Integration testing

exposes defects in the interfaces and interaction between integrated components

(modules). Progressively larger groups of tested software components corresponding to

101
elements of the architectural design are integrated and tested until the software works as a

system

System testing

Most software produced today is modular. System testing is a phase of software testing in

which developers see if there are any communications flaws--either not passing

information or passing incorrect information--between modules.

Regression testing

When changes are made to software, a regression test ensures that the changes made in

the current software do not affect the functionality of the existing software. Regression

testing can be performed either by hand or by software that automates the process. For

more information see regression testing.

Testing Cycle

Testing is a set of activities that are planned in advance and conducted systematically.

For this reason a template for system testing – a set of steps into which a set of we can

place specific test case design techniques and testing methods-should be defined for the

software engineering process.

Although testing varies between organizations, there is a cycle to testing:

(ii) Requirements Analysis: Testing should begin in the requirements phase of

the software life cycle (SDLC).

102
(iii) Design Analysis: During the design phase, testers work with developers in

determining what aspects of a design are testable and under what parameter

those testers work.

(iv) Test Planning: Test Strategy, Test Plan(s), Test Bed creation.

(v) Test Development: Test Procedures, Test Scenarios, Test Cases, Test Scripts

to use in testing software.

(vi) Test Execution: Testers execute the software based on the plans and tests and

report any errors found to the development team.

(vii) Test Reporting: Once testing is completed, testers generate metrics and make

final reports on their test effort and whether or not the software tested is ready

for release.

(viii) Retesting the Defects

Not all errors or defects reported must be fixed by a software development team. Some

may be caused by errors in configuring the test software to match the development or

production environment. Some defects can be handled by a workaround in the production

environment. Others might be deferred to future releases of the software, or the

deficiency might be accepted by the business user. There are yet other defects that may

be rejected by the development team (of course, with due reason) if they deem it

inappropriate to be called a defect.

103
Characteristics of Testing

• Testing begins at the module level; and works “outward” towards the integration

of entire computer-based system.

• Different testing techniques are appropriate at different points in time.

• The developer of the software conducts testing and (for large projects) an

independent test group.

• Testing and debugging are different activities, but debugging must be

accommodated in any testing strategy.

• A strategy for software testing must accommodate low-level tests that are

necessary to verify that a small source code segment has been correctly

implemented as well as high-level tests that validate major system functions

against customer requirements.

104
TESTING SNAPSHOTS:

There is a mistake when we don’t enter a dealers detail.

So warning message will display.

105
Warning Message will display.

106
When we don’t select any of the any of the dealer’s name fram the combobox.

Then record not inserted message will display.

107
SUMMARY OF THE PROJECT

Plot Management, as the name suggests, is the records of the available in a particular

area. In any area, Plots database is foremost important information, as it reveals

comprehensive details of the vacant plots .In the present scenerio of Computer Age and

its cut throat competetion it plays a significant role in the Management Information

Services, because it supplies the instant details. In recent times the compilation of the

employees data have ascertained significant role, since at one glance one can form

opinion about the availability of plots.

In this we have full details of all the plots.We have property dealers who manages all the

information about the plots. Like in this we have various options for plot search like

according to dealer name,size, location, and reports are generated after that.We can select

according to our convience.

In this Project we use the JAVA language as Fronthand

And MS – ACCESS 2000 Database as Backhand, for maintaing all the records of the

plots in an area.

Making of this Project we use various Classes.

Maim menu class i.e mainm class:-In this we get a main menu through which we can

select other options according to our need. Also, in this use various JAVA’s functions i.e.

ActionListener.

108
Dealers name class i.e dealname Class: - In this dealers enter detailslike

name,address,telephone no. For putting the values in the Database we use the JDBC

Connectivity or Driver. In this use various JAVA’s functions i.e. ActionListener.

Delairs details class i.e dealdetail class :– in this customer can see all the details of a

particular dealer. in this use various JAVA’s functions i.e. ActionListener.

Pro class : for entry of plots. . For putting the values in the Database we use the JDBC

Connectivity or Driver.

n Class: - report display according to dealer’s name.

r1 class: - This class is used to display the report according to sector and size.

r2 class: - This class is used to display the repoar according to sector.

r3 class: - This class is used to display the report for particular plot.

r4 class: - This class is used to display the report according to title.

sl class:- This class is used to display the report according to sector and location.

slrt class:- - This class is used to display the report according to sector,location,road and

title.

sr class:- - This class is used to display the report according to sector and road.

109
BIBLIOGRAPHY

The Complete Reference : Patrick Naughton and

Java 2 Third Edition Herbert Schildt.

 Programming with Java : E Balagurusamy.

2nd Edition

 The Complete Reference : Patrick Naughton

MS – ACCESS 2000

110

Вам также может понравиться