Anda di halaman 1dari 97

A

Project Report
On
“HOME RENTAL POERTAL”

PROJECT REPORT SUBMITTED TO


RAJIV GANDHI PRODHYOGIKI VISHVAVIDHYALAYA,
BHOPAL (M.P.)
IN PARTIAL FULFILLMENT FOR THE AWARD OF DEGREE OF
MASTER OF COMPUTER APPLICATION (MCA)
2017 - 2019
BY
SURBHI GARG
0724CA173D52

Project Guide:- Project Co-ordinator:-


Anil dollor Surendra pandey
(Asst.Prof.) (Prof.)

UNDERTAKEN AT

DEPARTMENT OF COMPUTER APPLICATIONS

GYANODAYA INSTITUTES OF PROFESSIONAL STUDIES

KANAWATI, NEEMUCH 458441


CERTIFICATE

This is to certify that the project report entitled “HOME RENTAL POERTAL”
presented by SURBHI GARG student of “MCA” is a bonafide presentation of her/his
work, done by her, she was submitted this project report during the Academic Year 2017-
2019.It is further certified that this work has not be submitted elsewhere for the award of
any other degree of diploma.

HOD (MCA DEPT.) DIRECTOR OF GIPS


Surendra Pandey Anirudh courasiya
DECLARATION

I hereby declare that the following documented project report ”HOME RENTAL POERTAL” is an
authentic work done by me. I undertake the project as a part of course curricular of “Master’s of
Computer Applications” of Gyanodaya Institute of Professional Studies Neemuch, affiliated to Rajiv
Gandhi Prodhyogiki Vishwavidhyalaya, Bhopal (MP).

Signature of HOD Signature of Student


Surendra Pandey Surbhi Garg
HOD (MCA Dept.) 0724CA173D52

External Examiner Name Internal Examiner Name


Signature Signature
ACKNOWLEDGEMENT

I would like to utilize this opportunity to give thanks to all the people who so ever has helped me in the
completion of this project activity as all of us know very well that doing something creative requires lot of
courage, motivation, moral support and a lot of other support. I have undertaken the opportunity of the
completion of this project entitled “HOME RENTAL POERTAL” and I am proud to state that I was
successful in accomplishing the set target.

In the completion of this project work there were many hands of support without which the project work
could not be a success. First of all I would like to express my heartfelt gratitude towards ANIL DOLLOR
(Asst.Prof.),Surendra Pandey (HOD Computer Department, GIPS Neemuch) and all my lecturers for their
valuable guidance and tremendous support.
SNO. TITLE Page No.

1 Synopsis

2 Introduction of Project

3 System Specification Requirement

4 Project Plan

5 Feasibility Study

6 Tools And Technology Used

7 System Development Life Cycle

8 Design

9 Working And Layout of Forms

10 Database Tables

11 System Testing

12 Future Scope

13 Conclusion

14 Bibliography
Synopsis
Synopsis is a general documentation tool. By means of a modular structure, it adapts to different
styles of embedded documentation, different programming languages and various output formats.
It scales well with the size of the project by allowing processing to be controlled by making files.
Home Rental Portal is a web based system.
which allows the tenant a good user interface also it provides a good user interface to owner &
tenant, and they can easily get there required information. The web site provides a variety of
facilities to tenant, admin and owner. The main modules of the proposed system are Administrator,
owner & tenant.

Modules of the project

Home rental portal is a web based application which guides you about Home Rental portal. This
project includes mainly two modules i.e. login and main page.

OWNER:

This module is operated by the user who is the owner of the property and wants to give it for rent.
The owner should register with an application which will be authorized by the client. The owner
can upload room details, pictures, location, rent ..etc. which comes under owner module. The
owner can view the house and add house form his module.

ADMIN:

This module is operated by a client who is an admin to this application who will look after users
registering with the application (owners and Tenant) and active and deactivate them.

TENANT:

This module is operated by a Tenant who needs to register with the application. A Tenant is a
person who is looking for rent. The Tenant is activated by client and Tenant can search based on
specifications and get results about rent details.
Company Profile

We Made Plan And We Do Success Our Plan


We bring in young and highly competent team where each member brings something different and
unique to the table. We co-invest with our clients by focusing on rigorous training and
development of our team which helps us in reducing time to develop and adapt new technologies.
This in turn gives highest returns to our clients on investments made. Even though Our company
believes in quality work rather than quality work, because a work work make the identity unique
and trustworthy. We also think to make a good and healthy relationship which increases the
business automatically.

Service We Provide

Android App Development

We at Dollor InfoTech are one of the most promising players in the mobile development services.
In a constantly changing world. At an attempt to increase the communication process of the
millions today, we have taken swift steps at improving wireless communication facilities for our
clients. We provide custom mobile software development to our clients and our diligent team of
mobile app developers utilizes the latest and most recent technologies in the market.

Website Development

Dollor Infotech believes that web application development is paramount to carry out online
business efficiently in both micro as well as macro levels. An online presence means more than
just an Internet brochure to a web business. The custom web application developments designed by
experts are capable of improving the efficacy of any aspect of your business. Dollor Infotech deals

with web application development projects of any density and duration. Be it a small web site, a
multifarious e-commerce web application or corporate website - we develop it all for you.

Web & Graphics Design

A potential Web & Graphic design is one that portrays your business identity and engages
audience. Our team at Neemuch, India, is proficient in latest design trend to give the right shape to
your project. Each of our website design strategy imbibes the exact theme that suits your purpose.
We highly focus on user experience and hence, provide solutions that provide engaging user
experience.

Marketing

It is all about the process of bringing the website on higher rank on the search engine results pages.
dollor infotech is well-known all around for our renowned SEO services that provide through the
ages. We, the SEO Service provider are unique and we have acquired hundred percentage of
customer satisfaction through the ages which is not comparable.

IOS App Development

Our approach for any iOS application development is simple. Every code built in our development
center remains in-house.

Windows App Development

When it comes to choosing the best smartphone, most of the contemporary people love to go with
Windows Phones. Windows phones are considered as the most popular devices available in the
global market to choose from. We at Dollor InfoTech have been using significant SDK for
Windows Mobile Application Development, and have excelled it successfully.
DOLLOR INFOTECH is a rapidly growing IT company with extensive experience in designing
and developing cutting edge custom software solutions. We are a group of highly motivated IT
professionals with ability to innovate and a strong desire to excel. The company was set up in the
year 2014, has today grown to be amongst leading IT services companies offering solutions to
Individuals, Enterprises and Institutions.
Dollor InfoTech is a growing team and we’re always looking for new talents. Our expert
developers in India create custom mobile and web application solution that perfectly matches to
our client’s individual needs.
Dollor InfoTech a leading IT Products development company in Neemuch and one-stop IT
service provider for clients throughout the world. Dollor InfoTech Digital Learning Platform is
providing Internship, Industrial Training, Summer Training and JOB Oriented IT Training
Program on latest technology e.g. Android development,Website development web and graphic
design, marketing, ios development,windows app development etc.
Introduction

Project Title : - HOME RENTAL PORTAL

Project Object : - To manage the information like Tenant, owner,


property information, and scheduled for manage .

Developed At :- DOLLOR INFOTECH,


NEEMUCH

Developed By :- Surbhi Garg

Project Guided By : - Mr. Anil DolloR (Asst. Prof. GIPS)

Frontend Tool :- HTML, Css, Javascript,Dreamweaver,


Servelet ,Jsp
Backend Tool :- Oracle database

Others :- Bootstrap,w3school
Existing System
In olden days when we want purches a property we can’t directly communicate with owner
We have to contact with help of mediators,but the mediators takes lot of amounts and it is also
time consuming process. In olden days the property dealing procedure consist of many steps like
finding agent, appoint correct meeting time, location and so on The housing sector remains vigilant
to face the challenges of the change of the existing system People migrating to other cities or states
either for different purposes. Finding a shelter, which fits all the requirements of the customer is
hard, most of them don’t match their needs.
Proposed System
Our proposed system give all the features provided by the traditional existing systems, but instead
of working only with no spatial database, the system also works with spatial data. The system will
have the following prominent features:- Specification based searching: This feature provides the
related information to the users according to the specification they have provided to the website.
For e.g., if a user is looking for a house with 1bhk at 9 lakhs, then only those properties which
satisfy the aforementioned demand will be returned to the user. Agent Notification Once the user is
focused in a particular property and clicks the “Confirm” button a mail type message would
automatically be sent to the agent who manages the corresponding zone, informing agent about the
user’s name, his contact number and email address. Adding property for sale A user can add his
property that he is willing to sale so that it can be viewed by other potential clients focused in
similar property. For this purpose the client is supposed to enter not only the location but also
pictures and the cost at which he is willing to sale that property. Notifying interested users
Whenever a new stuff is added, then a mail type notification is automatically sent to all those
clients who were interested or were searching for a near property. Thereby notifying those users
about the availability of that property. Allowing users to put interesting property finds in cart. The
cart is an added database advantage to the users. The users would be given the feature of adding
gripping properties into a cart before making a final decision. This would help the user to disparate
interesting property finds and thus help in final decision making. Providing user with map based
search Once a particular area is selected the user can gain needed related information on the basis
of geographical factors. Whenever searching is done for a new house, the main focus is on the
location. As location being a spatial entitywe are using the advantages given by spatial databases
for our application. The application provides the user to select any particular location and get
information appropriately. In this paper Space Spatial database is used for providing geographical
information of the rental houses. Different examples of spatial data are existing, but the Important
example of spatial database is satellite image . Satellite image system will act as a reference
system. The aim of this paper is to develop a prototype rental housing listing service using
Microsoft technology. This is a basic website where user can register then log in and manage their
property. This website helps the process and removes the overhead documents. The availability of
website makes the process more user friendly and makes it more effective. User can register post,
buy, rent their proper aswell as know the rates of property in an zone. There are some important
issues in developing the rental housing web application . First, the search time should be
minimum. This depends on 2 techniques. Second, the web application should give the services that
both buyer and seller want. Third, the web application should have a friendly user interface.

4.1.Module Description

Home rental portal is a web based application which guides you about Home Rental portal. This
project includes mainly two modules i.e. login and main page.

OWNER:

This module is operated by the user who is the owner of the property and wants to give it for rent.
The owner should register with an application which will be authorized by the client. The owner
can upload room details, pictures, location, rent ..etc. which comes under owner module. The
owner can view the house and add house form his module.

ADMIN:

This module is operated by a client who is an admin to this application who will look after users
registering with the application (owners and Tenant) and active and deactivate them.

TENANT:

This module is operated by a Tenant who needs to register with the application. A Tenant is a
person who is looking for rent. The Tenant is activated by client and Tenant can search based on
specifications and get results about rent details.
System Specification
Requirement:-
System Requirements & Study:-
Characteristics of User:-
 The requirement is fully stated in one place with no missing information.
 The requirement does not contradict any other requirement and is fully consistent with
all authoritative external documentation.
 Many requirements represent a user-defined characteristic the absence of which will
result in a major or even fatal deficiency. Others represent features that may be
implemented if time and budget permits. The requirement must specify a level of
importance.
 The requirement meets all need as stated by user and authoritatively documented.

The implementation of the requirement of the requirement can be determined through basic
possible method; inspection, demonstration test (instrumented) or analysis (to include
validated modeling & simulation).

Requirement:-
It is a feature of the system or a description of something the system is capable of doing in
order to fulfill the system purpose. Requirements can be classified as:
 Functional
 Non-functional

 Functional Requirements :-
Describe interaction between system and its environment.

 Check whether the server is running.

 Non-functional :-
Describe a verification system that limits our choice for developing a solution to the
problem.
 The system must be reliable enough in most situations. The system must be correct to a
high degree. Extensibility is also a key requirement to make the application compatible
with the ever-changing world of present day computer and to enhance its functionality
from time to time dares desired

HARDWARE REQUIREMENT:-

• PROCESSOR :- Dual Core, i3, i5


• RAM:- 1 GB
• HARD-DISK :- 10 GB
• MONITOR :- Color Monitor
• INPUT :- Keyboard , Mouse

SOFTWARE REQUIREMENT:-

• OPERATING SYSTEM:- Windows XP, 2007, 2008

• FRONT END :- Html, Css ,java script ,jsp ,servlet ,Dreamweaver

• BACK END :- Database – Oracle


Feasibility Study
Before development of any system, it’s very necessary to check that proposed system will be
feasible Or not? This function has to perform by system analyst in the organization. All proposed
system to send towards system analyst for the preliminary investigation i.e. for feasibility study.
System analyst studies the proposed system in details considers its operational technical aspects.
In the conduct of the feasibility study, we have considered eight distinct, but inter-related types of
feasibility, they are:
 Technical feasibility
 Operational feasibility
 Economical feasibility
 Social feasibility
 Management feasibility
 Legal feasibility
 Time feasibility
 Behavioral feasibility
 Technical Feasibility:-
System analyst is flowing ways:-
 Does the necessary technology exit to do what is suggested?
 Does the progressed equipment have the technical capacity to the date
required to use the new system?
 Can the system be expended, if developed?

This is concerned with specifying and software that will successful satisfy the user
requirement the technical needs of the system may vary considerably, but might include: The
facility to produce outputs in a given time.
 Response time under certain conditions
 Ability to process a certain volume of transaction is at a particular
speed.
 Facility to communicate data to distant location.

In examining technical feasibility, configuration of the system is given more importance than
the actual make of hardware. The configuration should give the complete Picture about the
system’s requirements.

 Operational Feasibility:-
A proposed system in the following terms-
 What is the present environment for handling the development
system?
 Whether the existing staff is satisfactory for the proposed computerized
system or not?
 What type of platform is maintained for the implementation of
computerized system?
According to proposed computerized system “Coaching institute Management System” we
consider the aspect of operational feasibility study and confirm that, system is completely
feasible. We designed the fully menu driven user friendly facilities so that any newcomer user
handling the computerized system very easily after some guidance. It is mainly related to
human organizational and political aspects.
The points to be considered are:-
 What changes will be brought with the system?
 What organizational structures are disturbed?
 What new skills will be required? Do the existing users have these
skills?
 If not, can they be trained in due course for time?

 Economic Feasibility:-
It is also known as “COST BENEEFIT ALALYSIS”,
The procedure is to determine the benefits and saving that are expected from a candidate
system and compare with costs. If benefits outweigh costs, then the decision is made to
design and implement the system otherwise, further justification or alteration in the proposed
system will have to be made if it is to have a chance of being approved.
Economic analysis is the most frequently used technique for evaluating the effectiveness of a
proposed system. Major commonly known as cost/benefits analysis; the procedure is to
determine the benefits and saving that are expected from a proposed system and compare
them with costs. If benefits outweigh costs, a decision is taken to design and implement the
system. Otherwise, further justification of alternative in the proposed system will have to be
made if it is to have a chance of being approved. This is an ongoing effort that improves in
accuracy at each stage of the system life cycle.

 Social Feasibility:-

Social feasibility is a determination of whether a proposed project will be acceptable to the


people or not. This determination typically examines the probability of the project being
accepted by the group directly affected by the proposed system change.

 Management Feasibility:-

It is determination of whether a proposed project will be acceptable to management. If


management does not accept a Project or gives a negligible support to it, the analyst will tend to
view the project as a non-feasible one.
 Legal Feasibility:-

Legal feasibility is determination of whether a proposed project in fringes on known Acts.


Statutes, as well as any pending legislation. Although in some instances the project might
appear sound, on closer investigation it may be found to infringe on several legal areas.

 TimeFeasibility:-

Time feasibility is a determination of whether a proposed project can be implemented fully


within a stipulated time frame. If a project takes too much time it is likely to be rejected.
 Behavioral Feasibility:-

People are inherently resistant to change and computer has been known to facilitate change. An
estimate should be made of how stronger reaction the user staff is likely to have toward the
development of a computerized system.
Tools And Technology Used
HTML

HTML is a markup language for describing web documents

(web pages).

 HTML stands for Hyper Text Markup Language


 A markup language is a set of markup tags
 HTML documents are described by HTML tags
 Each HTML tag describes different document content

CSS
 CSS stands for Cascading Style Sheets
 CSS defines how HTML elements are to be displayed
 Styles were added to HTML 4.0 to solve a problem
 CSS saves a lot of work
 External Style Sheets are stored in CSS files

BOOTSTRAP
 Bootstrap is a free front-end framework for faster and easier web development
 Bootstrap includes HTML and CSS based design templates for typography, forms,
buttons, tables, navigation, modals, image carousels and many other, as well as optional
JavaScript plugins
 Bootstrap also gives you the ability to easily create responsive designs

ABOUT TO JAVA
Created and developed by James Gosling at Sun Microsystems, Java was first used in 1995 as a
core component of Sun Microsystem's Java platform

Java is a high-level programming language platform that poses all the attributes below:

Java is…

1. Object Oriented - software uses a combination of different types of objects. Java sustains
and utilizes the inheritance features of most object-based platforms.
2. Platform Independent - Java code runs in the same fashion on any JVM (Java Virtual
Machine). The same code will run in the same way with the same result on any JVM
operating system, including Mac, Linux, Windows and other JVMs.
3. Dynamic - Java executes multiple programming behaviors at runtime and doesn't need to
pass back through at compile time as in static programming languages.
4. Multi-threaded - a thread refers to one independent program. Multi-threading allows you to
run many tasks simultaneously while sharing the same memory.
5. Interpreted - Compiled Java language produces Java byte codes which are then interpreted
by the JVM.
6. Portable - "Write Once, Run Anywhere" (WORA). Once a Java program is compiled,
bytecodes are produced and can be transferred, via a network, to be executed by any JVM
ORACLE

An Oracle database is a collection of data treated as a unit. The purpose of a database is to store
and retrieve related information. A database server is the key to solving the problems of
information management. In general, a server reliably manages a large amount of data in a
multiuser environment so that many users can concurrently access the same data. All this is
accomplished while delivering high performance. A database server also prevents unauthorized
access and provides efficient solutions for failure recovery.

Oracle Database is the first database designed for enterprise grid computing, the most flexible and
cost effective way to manage information and applications. Enterprise grid computing creates large
pools of industry-standard, modular storage and servers. With this architecture, each new system
can be rapidly provisioned from the pool of components. There is no need for peak workloads,
because capacity can be easily added or reallocated from the resource pools as needed.

The database has logical structures and physical structures. Because the physical and logical
structures are separate, the physical storage of data can be managed without affecting the access to
logical storage structures.
 Overview of Application Architecture:-

There are two common ways to architect a database: client/server or multitier. As internet
computing becomes more prevalent in computing environments, many database management
systems are moving to a multitier environment.

Client/Server Architecture
Multiprocessing uses more than one processor for a set of related jobs. Distributed processing
reduces the load on a single processor by allowing different processors to concentrate on a subset
of related tasks, thus improving the performance and capabilities of the system as a whole.

An Oracle database system can easily take advantage of distributed processing by using
its client/server architecture. In this architecture, the database system is divided into two parts: a
front-end or a client, and a back-end or a server.

The Client

The client is a database application that initiates a request for an operation to be performed on the
database server. It requests, processes, and presents data managed by the server. The client
workstation can be optimized for its job. For example, it might not need large disk capacity, or it
might benefit from graphic capabilities.

Often, the client runs on a different computer than the database server, generally on a PC. Many
clients can simultaneously run against one server.
The Server

The server runs Oracle software and handles the functions required for concurrent, shared data
access. The server receives and processes the SQL and PL/SQL statements that originate from
client applications. The computer that manages the server can be optimized for its duties. For
example, it can have large disk capacity and fast processors.

ADOBE DREAMWEAVER
Adobe Dreamweaver is a proprietary web development tool from Adobe Inc.. It was created
by Macromedia in 1997and developed by them until Macromedia was acquired by Adobe Systems
in 2005.Adobe Dreamweaver is available for the macOS and Windows operating systems.

Following Adobe's acquisition of the Macromedia product suite, releases of Dreamweaver


subsequent to version 8.0 have been more compliant with W3C standards. Recent versions have
improved support for Web technologies such as CSS, JavaScript, and various server-side
scriptinglanguages and frameworks including (ASP JavaScript, ASP VBScript, ASP.NET C#,
ASP.NET VB)..

Features
Adobe Dreamweaver CC is a web design and development application that uses both a visual
design surface known as Live View and a code editor with standard features such as syntax
highlighting, code completion, and code collapsing as well as more advanced features such as real-
time syntax checking and code introspection for generating code hints to assist the user in writing
code. Combined with an array of site management tools, Dreamweaver allows for its users design,
code and manage websites, as well as mobile content. Dreamweaver is an Integrated Development
Environment (IDE) tool. You can live preview of changes for the frontend. Dreamweaver is
positioned as a versatile web design and development tool that enables visualization of web
content while coding.

Dreamweaver, like other HTML editors, edits files locally then uploads them to the remote web
server using FTP, SFTP, or WebDAV. Dreamweaver CS4 now supports the Subversion
(SVN) version control system.
INTRODUCTION OF SERVLETS
Today we all are aware of the need of creating dynamic web pages i.e the ones which have the
capability to change the site contents according to the time or are able to generate the contents
according to the request received by the client. If you like coding in Java, then you will be happy
to know that using Java there also exists a way to generate dynamic web pages and that way is
Java Servlet. But before we move forward with our topic let’s first understand the need for server-
side extensions.
Servlets are the Java programs that runs on the Java-enabled web server or application server.
They are used to handle the request obtained from the web server, process the request, produce the
response, then send response back to the web server.
Properties of Servlets :
 Servlets work on the server-side.
 Servlets capable of handling complex request obtained from web server.
Execution of Servlets :

Execution of Servlets involves the six basic steps:


1. The clients send the request to the web server.
2. The web server receives the request.
3. The web server passes the request to the corresponding servlet.
4. The servlet processes the request and generate the response in the form of output.
5. The servlet send the response back to the web server.
6. The web server sends the response back to the client and the client browser displays it on the
screen.
Servlet Architecture

The following diagram shows the servlet architecture


INTRODUCTION OF JSP:-

 It stands for Java Server Pages.


 It is a server side technology.
 It is used for creating web application.
 It is used to create dynamic web content.
 In this JSP tags are used to insert JAVA code into HTML pages.
 It is an advanced version of Servlet Technology.
 It is a Web based technology helps us to create dynamic and platform independent web
pages.
 In this, Java code can be inserted in HTML/ XML pages or both.
 JSP is first converted into servlet by JSP container before processing the client’s request.
JSP pages are more advantageous than Servlet:
 They are easy to maintain.
 No recompilation or redeployment is required.
 JSP has access to entire API of JAVA .
 JSP are extended version of Servlet.
Features of JSP
 Coding in JSP is easy :- As it is just adding JAVA code to HTML/XML.
 Reduction in the length of Code :- In JSP we use action tags, custom tags etc.
 Connection to Database is easier :-It is easier to connect website to database and allows to
read or write data easily to the database.
 Make Interactive websites :- In this we can create dynamic web pages which helps user to
interact in real time environment.
 Portable, Powerful, flexible and easy to maintain :- as these are browser and server
independent.
 No Redeployment and No Re-Compilation :- It is dynamic, secure and platform
independent so no need to re-compilation.
 Extension to Servlet :- as it has all features of servlets, implicit objects and custom tags

 Introduction to Web Programming

Today most of the applications focus on the Internet, where the applications can be viewed in a
standard. Web Browser. Static Web pages are based on HTML and CSS. In order to create
more advanced applications, we need more powerful tools.
Software Development Life
Cycle
ISO/IEC 12207 is an international standard for software life-cycle processes. Software
Development Life Cycle (SDLC) is a process used by the software industry to design, develop
and test high quality software’s. The SDLC aims to produce high-quality software that meets or
exceeds customer expectations, reaches completion within times and cost estimates. SDLC is a
framework defining tasks performed at each step in the software development process. System
development is set of activities performed by analysts, designers and user to develop and
implement a system.
SDLC is a process followed for a software project, within a software organization. It consists of
a detailed plan describing how to develop, maintain, replace and alter or enhance specific
software. The life cycle defines a methodology for improving the quality of software and the
overall development process. SDLC is a process that consists of a series of planned activities to
develop or alter the Software Products.
The System Development Life Cycle consists of following :-

 Activities:
 Planning and Feasibility study
 System analysis
 System design
 System development
 System testing
 Implementation
 Evaluation and Maintenance
Stage 1: Planning and Requirement Analysis:-
Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the
senior members of the team with inputs from the customer, the sales department, market surveys
and domain experts in the industry. This information is then used to plan the basic project
approach and to conduct product feasibility study in the economical, operational and technical
areas.

Planning for the quality assurance requirements and identification of the risks associated with the
project is also done in the planning stage. The outcome of the technical feasibility study is to
define the various technical approaches that can be followed to implement the project successfully
with minimum risks.

Stage 2: Defining Requirements:-


Once the requirement analysis is done the next step is to clearly define and document the product
requirements and get them approved from the customer or the market analysts. This is done
through an SRS (Software Requirement Specification) document which consists of all the
product requirements to be designed and developed during the project life cycle.

Stage 3: Designing:-
SRS is the reference for product architects to come out with the best architecture for the product to
be developed. Based on the requirements specified in SRS, usually more than one design approach
for the product architecture is proposed and documented in a DDS -Design Document
Specification. This DDS is reviewed by all the important stakeholders and based on various
parameters as risk assessment, product robustness, design modularity, budget and time constraints,
the best design approach is selected for the product. A design approach clearly defines all the
architectural modules of the product along with its communication and data flow representation
with the external and third party modules (if any). The internal design of all the modules of the
proposed architecture should be clearly defined with the minutest of the details in DDS.

Stage 4: Development:-
In this stage of SDLC the actual development starts and the product is built. The programming
code is generated as per DDS during this stage. If the design is performed in a detailed and
organized manner, code generation can be accomplished without much hassle.
Developers must follow the coding guidelines defined by their organization and programming
tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level
programming languages such as C, C++, Pascal, Java and PHP are used for coding. The
programming language is chosen with respect to the type of software being developed.

Stage 5: Testing the Product:-

This stage is usually a subset of all the stages as in the modern SDLC models, the testing
activities are mostly involved in all the stages of SDLC. However, this stage refers to the
testing only stage of the product where product defects are reported, tracked, fixed and
retested, until the product reaches the quality standards defined in the SRS.
Stage 6: Maintenance:-

Once the product is tested and ready to be deployed it is released formally in the
appropriate market. Sometimes product deployment happens in stages as per the business
strategy of that organization. The product may first be released in a limited segment and
tested in the real business environment (UAT- User acceptance testing).
Then based on the feedback, the product may be released as it is or with suggested
enhancements in the targeting market segment. After the product is released in the market,
its maintenance is done for the existing customer base.
SDLC Modules

 SDLC – Waterfall Model

The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear
sequential life cycle model. It is very simple to understand and use. In a waterfall model, each
phase must be completed before the next phase can begin and there is no overlapping in the
phases.

Waterfall model is the earliest SDLC approach that was used for software development.
The waterfall Model illustrates the software development process in a linear sequential flow;
hence it is also referred to as a linear-sequential life cycle model. This means that any phase in
the development process begins only if the previous phase is complete. In waterfall model
phases do not overlap.

 Waterfall Model design

Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure
success of the project. In "The Waterfall" approach, the whole process of software development is
divided into separate phases. In Waterfall model, typically, the outcome of one phase acts as the
input for the next phase sequentially.
Following is a diagrammatic representation of different phases of waterfall model.
The sequential phases in Waterfall model are:

 Requirement Gathering and analysis:


All possible requirements of the system to be developed are captured in this
phase and documented in a requirement specification doc.
 System Design:
The requirement specifications from first phase are studied in this phase and
system design is prepared. System Design helps in specifying hardware and
system requirements and also helps in defining overall system architecture.

 Implementation:
With inputs from system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functionality which is referred to as Unit Testing.

 Integration and Testing:


All the units developed in the implementation phase are integrated into a
system after testing of each unit. Post integration the entire system is tested
for any faults and failures.

 Deployment of system:
Once the functional and non functional testing is done, the product is
deployed in the customer environment or released into the market.
 Maintenance:
There are some issues which come up in the client environment. To fix those
issues patches are released. Also to enhance the product some better versions
are released. Maintenance is done to deliver these changes in the customer
environment.

All these phases are cascaded to each other in which progress is seen as flowing steadily
downwards like a waterfall through the phases. The next phase is started only after the defined
set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model".
In this model phases do not overlap.
 Waterfall Model Application

Every software developed is different and requires a suitable SDLC approach to be followed
based on the internal and external factors. Some situations where the use of Waterfall model is
most appropriate are:
 Requirements are very well documented, clear and fixed.
 Product definition is stable.
 Technology is understood and is not dynamic.
 There are no ambiguous requirements.
 Ample resources with required expertise are available to support the product.
 The project is short.

Waterfall Model Pros & Cons


 Advantage:

The advantage of waterfall development is that it allows for departmentalization and control. A
schedule can be set with deadlines for each stage of development and a product can proceed
through the development process model phases one by one. Development moves from concept,
through design, implementation, testing, installation, troubleshooting, and ends up at operation and
maintenance. Each phase of development proceeds in strict order.

 Disadvantage:
The disadvantage of waterfall development is that it does not allow for much reflection or revision.
Once an application is in the testing stage, it is very difficult to go back and change something that
was not well-documented or thought upon in the concept stage.
The following table lists out the pros and cons of Waterfall model:
 Pros:
1. Simple and easy to understand and use
2. Easy to manage due to the rigidity of the model. Each phase has specific
deliverables and a review process.
3. Phases are processed and completed one at a time.
4. Works well for smaller projects where requirements are very well understood.
5. Clearly defined stages.
6. Well understood milestones.
7. Easy to arrange tasks.
8. Process and results are well documented.

 Cons:
1. No working software is produced until late during the life cycle.
2. High amounts of risk and uncertainty.
3. Not a good model for complex and object-oriented projects.
4. Poor model for long and ongoing projects.
5. Not suitable for the projects where requirements are at a moderate to high risk of changing.
So risk and uncertainty is high with this process model.
6. It is difficult to measure progress within stages.
7. Cannot accommodate changing requirements.
8. No working software is produced until late in the life cycle.
9. Adjusting scope during the life cycle can end a project.
10. Integration is done as a “big-bang” at the very end, which doesn't allow identifying any
technological or business bottleneck or challenges early.
 SDLC – Prototyping Model

The Software Prototyping refers to building software application prototypes which display the
functionality of the product under development but may not actually hold the exact logic of the
original software. Software prototyping is becoming very popular as a software development
model, as it enables to understand customer requirements at an early stage of development. It
helps get valuable feedback from the customer and helps software designers and developers
understand about what exactly is expected from the product under development.

 What is Software Prototyping?


A. Prototype is a working model of software with some limited functionality.
B. The prototype does not always hold the exact logic used in the actual software
application and is an extra effort to be considered under effort estimation.
C. Prototyping is used to allow the users evaluate developer proposals and try them
out before implementation.
D. It also helps understand the requirements which are user specific and may not have
been considered by the developer during product design.
Following is the stepwise approach to design a software prototype:

 Basic Requirement Gathering:


This step involves understanding the very basics product requirements especially in
terms of user interface. The more intricate details of the internal design and external
aspects like performance and security can be ignored at this stage.

 Building the initial Prototype:


The initial Prototype is developed in this stage, where the very basic requirements are
showcased and user interfaces are provided. These features may not exactly work in
the same manner internally in the actual software developed and the workarounds are
used to give the same look and feel to the customer in the prototype developed.
 Customer Evaluation:
The prototype developed is then presented to the customer and the other important
stakeholders in the project. The feedback is collected in an organized manner and used
for further enhancements in the product under development.
 Refining and enhance the Prototype:
The feedback and the review comments are discussed during this stage and some
negotiations happen with the customer based on factors like time and budget
constraints and technical feasibility of actual implementation. The changes accepted
are again incorporated in the new Prototype developed and the cycle repeats until
customer expectations are met.

Prototypes can have horizontal or vertical dimensions. Horizontal prototype displays the user
interface for the product and gives a broader view of the entire system, without concentrating on
internal functions. A vertical prototype on the other side is a detailed elaboration of a specific
function or a sub system in the product.

The purpose of both horizontal and vertical prototype is different. Horizontal prototypes are
used to get more information on the user interface level and the business requirements. It can
even be presented in the sales demos to get business in the market. Vertical prototypes are
technical in nature and are used to get details of the exact functioning of the sub systems. For
example, database requirements, interaction and data processing loads in a given sub system.

 Software Prototyping Types


There are different types of software prototypes used in the industry. Following are the major
software prototyping types used widely:
 Throw away/Rapid Prototyping:
Throw away prototyping is also called as rapid or close ended prototyping. This type of
prototyping uses very little efforts with minimum requirement analysis to build a
prototype. Once the actual requirements are understood, the prototype is discarded and
the actual system is developed with a much clear understanding of user requirements.
 Evolutionary Prototyping:
Evolutionary prototyping also called as breadboard prototyping is based on building
actual functional prototypes with minimal functionality in the beginning. The prototype
developed forms the heart of the future prototypes on top of which the entire system is
built. Using evolutionary prototyping only well understood requirements are included in
the prototype and the requirements are added as and when they are understood.
 Incremental Prototyping:
Incremental prototyping refers to building multiple functional prototypes of the various
sub systems and then integrating all the available prototypes to form a complete system.
 Extreme Prototyping :
Extreme prototyping is used in the web development domain. It consists of three
sequential phases. First, a basic prototype with all the existing pages is presented in the
html format. Then the data processing is simulated using a prototype services layer.
Finally the services are implemented and integrated to the final prototype. This process
is called Extreme Prototyping used to draw attention to the second phase of the process,
where a fully functional UI is developed with very little regard to the actual services.

 Software Prototyping Application


Software Prototyping is most useful in development of systems having high level of use
interactions such as online systems. Systems which need users to fill out forms or go through
various screens before data is processed can use prototyping very effectively to give the exact look
and feel even before the actual software is developed.
Software that involves too much of data processing and most of the functionality is internal with
very little user interface does not usually benefit from prototyping. Prototype development could
be an extra overhead in such projects and may need lot of extra efforts.

 Software Prototyping Pros and Cons

Software prototyping is used in typical cases and the decision should be taken very carefully so
that the efforts spent in building the prototype add considerable value to the final software
developed. The model has its own pros and cons discussed as below.
Following table lists out the pros and cons of Big Bang Model:

 Pros:
1. Increased user involvement in the product even before implementation
2. Since a working model of the system is displayed, the users get a better
understanding of the system being developed.
3. Reduces time and cost as the defects can be detected much earlier.
4. Quicker user feedback is available leading to better solutions.
5. Missing functionality can be identified easily
6. Confusing or difficult functions can be identified
 Cons:
1. Risk of insufficient requirement analysis owing to too much dependency on prototype
2. Users may get confused in the prototypes and actual systems.
3. Practically, this methodology may increase the complexity of the system as scope of
the system may expand beyond original plans.
4. Developers may try to reuse the existing prototypes to build the actual system, even
when its not technically feasible
5. The effort invested in building prototypes may be too much if not monitored properl
 SDLC – RAD Model

The RAD Rapid Application Development model is based on prototyping and iterative
development with no specific planning involved. The process of writing the software itself
involves the planning required for developing the product. Rapid Application development
focuses on gathering customer requirements through workshops or focus groups, early testing
of the prototypes by the customer using iterative concept, reuse of the existing prototypes
components, continuous integration and rapid delivery.

 What is RAD?

Rapid application development RAD is a software development methodology that uses minimal
planning in favour of rapid prototyping. A prototype is a working model that is functionally
equivalent to a component of the product. In RAD model the functional modules are developed in
parallel as prototypes and are integrated to make the complete product for faster product delivery.
Since there is no detailed preplanning, it makes it easier to incorporate the changes within the
development process. RAD projects follow iterative and incremental model and have small teams
comprising of developers, domain experts, customer representatives and other IT resources
working progressively on their component or prototype. The most important aspect for this model
to be successful is to make sure that the prototypes developed are reusable.

Rapid Application Development (RAD) is a marketing buzzword that almost every software
development tool uses, yet one that rarely applies. At a high level it is an Application Development
technique that uses Prototypes, Iterative Customization, and CASE Tools. This article will focus
on RAD: its history, advantages and disadvantages, appropriateness for various problems, core
elements, process, and additionally will focus on CASE tools that support RAD.
 RAD Model Design
RAD model distributes the analysis, design, build, and test phases into a series of short, iterative
development cycles. Following are the phases of RAD Model:
 Business Modeling:
The business model for the product under development is designed in terms of flow of
information and the distribution of information between various business channels. A
complete business analysis is performed to find the vital information for business, how it
can be obtained, how and when is the information processed and what are the factors
driving successful flow of information.
 Data Modeling:
The information gathered in the Business Modeling phase is reviewed and analyzed to
form sets of data objects vital for the business. The attributes of all data sets is identified
and defined. The relation between these data objects are established and defined in detail
in relevance to the business model.
 Process Modeling:
The data object sets defined in the Data Modeling phase are converted to establish the
business information flow needed to achieve specific business objectives as per the
business model. The process model for any changes or enhancements to the data object
sets is defined in this phase. Process descriptions for adding , deleting, retrieving or
modifying a data object are given.
 Application Generation:
The actual system is built and coding is done by using automation tools to convert
process and data models into actual prototypes.
 Testing and Turnover:
The overall testing time is reduced in RAD model as the prototypes are independently
tested during every iteration. However the data flow and the interfaces between all the
components need to be thoroughly tested with complete test coverage. Since most of the
programming components have already been tested, it reduces the risk of any major
issues.

 RAD Model Vs Traditional SDLC

The traditional SDLC follows a rigid process models with high emphasis on requirement analysis
and gathering before the coding starts. It puts a pressure on the customer to sign off the
requirements before the project starts and the customer doesn’t get the feel of the product as there
is no working build available for a long time. The customer may need some changes after he
actually gets to see the software, however the change process is quite rigid and it may not be
feasible to incorporate major changes in the product in traditional SDLC. RAD model focuses on
iterative and incremental delivery of working models to the customer. This results in rapid delivery
to the customer and customer involvement during the complete development cycle of product
reducing the risk of non conformance with the actual user requirements.
 RAD Model Application

RAD model can be applied successfully to the projects in which clear modularization is possible.
If the project cannot be broken into modules, RAD may fail. Following are the typical scenarios
where RAD can be used:
1. RAD should be used only when a system can be modularized to be delivered in incremental
manner.
2. It should be used if there’s high availability of designers for modeling.
3. It should be used only if the budget permits use of automated code generating tools.
4. RAD SDLC model should be chosen only if domain experts are available with relevant
business knowledge.
5. Should be used where the requirements change during the course of the project and
working prototypes are to be presented to customer in small iterations of 2-3 months.

 RAD Model Pros and Cons


RAD model enables rapid delivery as it reduces the overall development time due to reusability of
the components and parallel development.
RAD works well only if high skilled engineers are available and the customer is also committed to
achieve the targeted prototype in the given time frame. If there is commitment lacking on either
side the model may fail.
Following table lists out the pros and cons of RAD Model:

 Pros
1. Changing requirements can be accommodated.
2. Progress can be measured.
3. Iteration time can be short with use of powerful RAD tools.
4. Productivity with fewer people in short time.
5. Reduced development time.
6. Increases reusability of components
7. Quick initial reviews occur
8. Encourages customer feedback
9. Integration from very beginning solves a lot of integration issues.
 Cons

1. Dependency on technically strong team members for identifying business requirements.


2. Only system that can be modularized can be built using RAD.
3. Requires highly skilled developers/designers.
4. High dependency on modeling skills.
5. Inapplicable to cheaper projects as cost of modeling and automated code generation is
very high.
6. Management complexity is more.
7. Suitable for systems that are component based and scalable.
8. Requires user involvement throughout the life cycle.
9. Suitable for project requiring shorter development times.
 SDLC – Spiral Model
The spiral model combines the idea of iterative development with the systematic, controlled
aspects of the waterfall model. Spiral model is a combination of iterative development process
model and sequential linear development model i.e. waterfall model with very high emphasis on
risk analysis. It allows for incremental releases of the product, or incremental refinement through
each iteration around the spiral.

 Spiral Model design

The spiral model has four phases. A software project repeatedly passes through these phases in
iterations called Spirals.
 Identification:
This phase starts with gathering the business requirements in the baseline spiral. In the
subsequent spirals as the product matures, identification of system requirements,
subsystem requirements and unit requirements are all done in this phase. This also
includes understanding the system requirements by continuous communication between
the customer and the system analyst. At the end of the spiral the product is deployed in
the identified market.
 Design:
Design phase starts with the conceptual design in the baseline spiral and involves
architectural design, logical design of modules, physical product design and final design
in the subsequent spirals.
 Construct or Build:
Construct phase refers to production of the actual software product at every spiral. In the
baseline spiral when the product is just thought of and the design is being developed a
POC Proof of Concept is developed in this phase to get customer feedback. Then in the
subsequent spirals with higher clarity on requirements and design details a working
model of the software called build is produced with a version number. These build are
sent to customer for feedback.
 Evaluation and Risk Analysis:
Risk Analysis includes identifying, estimating, and monitoring technical feasibility and
management risks, such as schedule slippage and cost overrun. After testing the build, at
the end of first iteration, the customer evaluates the software and provides feedback.
Following is a diagrammatic representation of spiral model listing the activities in each phase:
Based on the customer evaluation, software development process enters into the next iteration and
subsequently follows the linear approach to implement the feedback suggested by the customer.
The process of iterations along the spiral continues throughout the life of the software.

 Spiral Model Application


Spiral Model is very widely used in the software industry as it is in synch with the natural
development process of any product i.e. learning with maturity and also involves minimum risk for
the customer as well as the development firms.
Following are the typical uses of Spiral model:
1. When costs there are a budget constraint and risk evaluation is important.
2. For medium to high-risk projects.
3. Long-term project commitment because of potential changes to economic priorities as the
requirements change with time.
4. Customer is not sure of their requirements which are usually the case.
5. Requirements are complex and need evaluation to get clarity.
6. New product line which should be released in phases to get enough customer feedback.
7. Significant changes are expected in the product during the development cycle.

 Spiral Model Pros and Cons

The advantage of spiral lifecycle model is that it allows for elements of the product to be added in
when they become available or known. This assures that there is no conflict with previous
requirements and design.
This method is consistent with approaches that have multiple software builds and releases and
allows for making an orderly transition to a maintenance activity. Another positive aspect is that
the spiral model forces early user involvement in the system development effort.
On the other side, it takes very strict management to complete such products and there is a risk of
running the spiral in indefinite loop. So the discipline of change and the extent of taking change
requests are very important to develop and deploy the product successfully.
The following table lists out the pros and cons of Spiral SDLC Model:

 Pros
1. Changing requirements can be accommodated.
2. Allows for extensive use of prototypes
3. Requirements can be captured more accurately.
4. Users see the system early.
5. Development can be divided into smaller parts and more risky parts can be developed
earlier which helps better risk management.
 Cons
1. Management is more complex.
2. End of project may not be known early.
3. Not suitable for small or low risk projects and could be expensive for small projects.
4. Process is complex
5. Spiral may go indefinitely.
6. Large number of intermediate stages requires excessive documentation.
System Design
Data Flow Diagram
(DFD)
A DFD also known as ‘bubble chart’ has the purpose of clarifying system requirements and
identifying major transformations. It shows the flow of data through a system. It is a graphical tool
because it presents a picture.

The DFD may be partitioned into levels that represent increasing information flow and
functional detail.
Four simple notations are used to complete a DFD. These notations are given below:-

 DATA FLOW:- The data flow is used to describe the movement of information from one
part of the system to another part. Flows represent data in motion. It is a pipe line through
which information flows.

 PROCESS:- A circle or bubble represents a process that transforms incoming data to


outgoing data. Process shows a part of the system that transforms inputs to outputs.

 EXTERNAL ENTITY:- A square defines a source or destination of system data. External


entities represent any entity that supplies or receive information from the system but is not a
part of the system.

 DATA STORE:- The data store represents a logical file. A logical file can represent either
a data store symbol which can represent either a data structure or a physical file on disk. The
data store is used to collect data at rest or a temporary repository of data. It is represented by
open rectangle.

 OUTPUT:-The output symbol is used when a hard copy is produced and the user of the
copies cannot be clearly specified or there are several users of the output
DATA FLOW DIAGRAM
Entity Relationship
Diagram
1. ER Diagram
Entity relationship model defines the conceptual view of database. It works around real world
entity and association among them. At view level, ER model is considered well for designing
databases.
Entity Set: An entity set is a collection of similar types of entities. Entity set may contain
entities with attribute sharing similar values. For example, Students set may contain all the
student of a school; likewise Teachers set may contain all the teachers of school from all
faculties. Entities sets need not to be disjoint.
Attributes: Entities are represented by means of their properties, called attributes. All
attributes have values. For example, a student entity may have name, class, age as attributes.
E-R Diagram Symbols

Represent Entity Represent weak Entity

Represent attribute Represent weak attribute

Represent relationship Weak relationship

Database Design:
A database design is a collection of stored data organized in such a way that the data requirements
are satisfied by the database. The general objective is to make information access easy, quick,
inexpensive and flexible for the user. There are some specific objectives like controlled
redundancy from failure, privacy, security and performance. A collection of relative records make
up a table. To design and store data to the needed database tables are prepared. One essential
setting for a database is:
Primary Key: The field that is unique for all the record occurances.
Class Design:
Admin Use Case:
User Use Case:
Sequence Diagram:
Screen Shots
USER PANEL
HOME PAGE:
ABOUT US:
CONTACT US:
USER LOGIN:
TENANT SIGNUP:
USER DASHBOARD:
UPDATE INFORMATION:
ENQUIRIES:
ENQUIRY FORM:
DETAIL FORM:
Feedback form:
OWNER PANEL

OWNER LOGIN
OWNER SIGNUP:
OWNER DESHBOARD:
ADD NEW PROPERTY:
Data Tables

OWNER:
TENANT:
ADD CITY:

ENQUIRY:
FEEDBACK:

CONTACT:

DETAIL:
System Testing

During system testing, the system is used experimentally to ensure that the software does not fail.
Special test data are input for processing, and the results examined. It is required to identified any
errors and debug before the implementation of the system.

 Classification of testing method:-


 System testing
 Black Box Testing:-

Black box testing is a software testing techniques in which functionality of the software under test
(SUT) is tested without looking at the internal code structure, implementation details and
knowledge of internal paths of the software. This type of testing is based entirely on the software
requirements and specifications. Black box testing is best suited for rapid test scenario testing and
quick Web Service prototyping. This testing technique for Web Services provides quick feedback
on the functional readiness of operations through quick spot checking. Black Box testing is also
better suited for operations that have enumerated inputs or tightly defined ranges or facets so that
broad input coverage is not necessary.

 It is used for finding the following errors:-

1. Incorrect or missing functions


2. Interface errors
3. Errors in data structures or External database access
4. Performance errors
5. Initialization and termination errors

 Example:-

1. A tester, without knowledge of the internal structures of a website, tests the


web pages by using a browser;
2. Providing inputs (clicks, keystrokes) and verifying the outputs against the
expected outcome.
 Black Box Testing Techniques

Following are some techniques that can be used for designing black box tests.

 Equivalence Partitioning

Equivalence Partitioning is a software test design technique that involves dividing input
values into valid and invalid partitions and selecting representative values from each
partition as test data.

 Boundary Value Analysis

Boundary Value Analysis is a software test design technique that involves


determination of boundaries for input values and selecting values that are at the
boundaries and just inside/outside of the boundaries as test data.

 Cause Effect Graphing

Cause Effect Graphing is a software test design technique that involves identifying the
cases (input conditions) and effect(output conditions), producing a Cause-Effect
Graph, and generating test cases accordingly.

 Black Box Testing Advantages

 Efficient Testing:
Well suited and efficient for large code segments or units.

 Unbiased Testing:
Clearly separates user’s perspective from developer’s perspective through
separation of QA and Development responsibilities.
 Non intrusive:
Code access not required.

 Easy to execute:
Test cases can be designed as soon as the specifications are complete. It can
be scaled to large number of moderately skilled testers with no knowledge of
implementation, programming language, operating systems or networks.

 No Coding Skill Required:


Tester need not know programming languages or how the software has been
implemented.

 Black Box Testing Disadvantages

 Localized Testing:
Limited code path coverage since only a limited number of test inputs are
actually tested.

 Inefficient Test Authoring:


Without implementation information, exhaustive input coverage has
unknown additional benefits to the actual code paths exercised and can
require tremendous resources.

 Blind Coverage:
Cannot control targeting code segments or paths which may be more error
prone than others.
 White Box Testing:-

White box testing is testing beyond the user interface and into the nitty-gritty of a system. This
method is named so because the software program, in the eyes of the tester, is like a
white/transparent box; inside which one clearly sees. White Box Testing is contrasted with Black
Box Testing.

 Example

A tester, usually a developer as well, studies the implementation code of a certain field on
a webpage, determines all legal (valid and invalid) and illegal inputs and verifies the
outputs against the expected outcomes, which is also determined by studying the
implementation code.

 White Box Testing Techniques

 Basis Path Testing

Basis path is a white box testing techniques which is first proposed by Tom McCabe and
it allows the test case designer to produce a logical complexity measure of procedural
design and use this measure as an approach for outlining a basic set of execution path
(basic set is the set of all the execution of a procedure).

These are test cases that exercise basic set will execute every statement at least once.
Basic path testing makes sure that each independent path through the code is taken in a
predetermined order.
 Loop Testing

Loop testing is another type of white box testing which exclusively focuses on the validity
of loop construct.

Loops are simple to test unless dependencies exist between the Loops or among the loop
and the code it contain.

There are four classes of loops:


a) Simple Loop
b) Nested Loop
c) Concatenated Loop
d) Unstructured Loop

 Control Structure Testing

The other synonym of control structure testing are conditional testing or decision testing
or branch testing and comes under white box testing technique; it makes sure that each
possible outcome from the condition is tested at least once. Branch testing however, has
the objective to test every option (either true or false) on every control statement which
also includes compound decision (when the second decision depends upon the previous
decision). In branch testing, test cases are designed to exercise control flow branches or
decision points in a unit. All branches within the branch are tested at least once.
 White Box Testing Advantages

 Increased Effectiveness:
Crosschecking design decisions and assumptions against source code may outline a
robust design, but the implementation may not align with the design intent.

 Full Code Pathway Capable:


All the possible code pathways can be tested including error handling, dependencies,
and additional internal code logic/flow.

 Early Defect Identification:


Analyzing source code and developing tests based on the implementation details enables
testers to find programming errors quickly.

 Reveal Hidden Code Flaws:


Access of program modules.

 No Waiting:
Testing can be commenced at an earlier stage. One need not wait for the GUI to be
available.

 White Box Testing Disadvantages

 Difficult to Scale:
Requires intimate knowledge of target system, testing tools and coding languages, and
modeling. It suffers for scalability of skilled and expert testers.

 Difficult to Maintain:
It requires specialized tools such as source code analyzers, debuggers, and fault
injectors.
 Cultural Stress:
The demarcation between developer and testers starts to blur which may become a
cultural stress.

 Highly intrusive:
Requires code modification has been done using interactive debuggers, or by actually
changing the source code. This may be adequate for small programs; however, it does
not scale well to larger applications. Not useful for networked or distributed systems.

 Tools not readily available:


Since this method of testing it closely tied with the application being every kind of
implementation/platform may not be readily available.

 Mechanic Work:
White Box Testing is like the work of a mechanic who examines the engine to see why
the car is not moving.
Scope of Project
Future Scope:-
Nothing can be ended in a singal step. It is the fact that nothing is permanent in this world. So this project also has
some future enhancements in the evergreen and booming IT industry. Change is
inevitable. The project entitled “HOME RENTAL POERTAL” was successfully designed
developed and tested. The system and the architecture is a compatible one, so addition of new
module scan be done without much difficulty. Since this module has its unique properties it can
extend further to make this system a complete one.
Conclusion
Conclusion:-
Our project is only a humble venture to satisfy the needs to manage their project work. Several
user friendly coding have also adopted. This package shall prove to be a powerful package in
satisfying all the requirement of the school. The objectives of software planning is to provide a
frame work that enables the manager to make reasonable estimates made within a limited time
frame at the beginning of the software Project and should be updated regularly as the project
progresses.

At the end it is concluded that we have made effort on following points-

 A description of the background and context of the project and its relation to work already
done in the area.

 Made statement of the aims and objectives of purpose, scope, and applicability.

 We define the problem on which we are working in the project.

 We describe the requirement specification of the system and the actions that can be done
on these things.

 We understand the problem domain and produce a model of the system, which describes
operations that can be performed on the system.

 We included features and operations in detail, including screen layouts.

 We designed user interface and security issues related to system.

 Finally the system is implemented and tested according to test cases.


Bibliography:-
Following resources were used while designing and developing our website project:-

 Google for problem solving


 https://www.wampserver .com/
 https://www.jsp.net/
 https://www.tutorialspoint .com/java
 httpd.apache.oeg/docs/2.0/misc/tutorials.html

Books for java:


 The Complete Reference Herbert shild
 Java 3e balagurusamy
 Ivan byros

Anda mungkin juga menyukai