Beruflich Dokumente
Kultur Dokumente
Project Report
On
“HOME RENTAL POERTAL”
UNDERTAKEN AT
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.
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).
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
4 Project Plan
5 Feasibility Study
8 Design
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.
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
Service We Provide
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.
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.
Our approach for any iOS application development is simple. Every code built in our development
center remains in-house.
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
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.
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:-
SOFTWARE REQUIREMENT:-
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:-
Management Feasibility:-
TimeFeasibility:-
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
(web pages).
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.
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 :
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 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.
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
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 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:
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.
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.
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.
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 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.
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.
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
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.
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.
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
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.
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.
Example:-
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.
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.
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.
Localized Testing:
Limited code path coverage since only a limited number of test inputs are
actually tested.
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.
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.
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.
No Waiting:
Testing can be commenced at an earlier stage. One need not wait for the GUI to be
available.
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.
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.
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 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.