You are on page 1of 18

Software Requirements Specification

For
Real Estate Web Site
Brent Cross
7 February 2011

Page | 1

Table of Contents
1. Introduction...........................................3
1.1. Purpose...........................................3
1.2. Scope.............................................3
1.3. Definitions, Acronyms, and Abbreviations..........3
1.4. References........................................5
1.5. Overview..........................................6
2. Overall Description....................................6
2.1. Product Perspective...............................6
2.1.1. User Interfaces...........................6
2.1.2. Software Interfaces.......................9
2.1.3. Communications Interfaces.................9
2.2. Product Functions.................................10
2.3. Personas..........................................10
2.4. Constraints.......................................11
2.5. Assumptions and Dependencies......................11
3. Specific Requirements..................................12
3.1. Functional Requirements...........................12
3.2. Quality Requirements..............................13
3.3. User Interface Requirements.......................14
3.4. Logical Database Requirements.....................16
3.5. Use Cases.........................................17

Page | 2

1. Introduction
1.1. Purpose
The purpose of this Software Requirements Documentation is
to provide high-level and detailed descriptions of the Real
Estate Web Site. This Software Requirements Documentation
will provide quantifiable requirements of the web site for
use by the designer and the users of the Real Estate Web
Site.
1.2. Scope
The Real Estate Web Site shall provide my client (an actual
realtor) the ability to showcase and manage their property
listings while allowing potential clients a concise and
structured way of searching properties. The web site will
be set up in a way the realtor will have total
administrative rights to their listings. This web site will
be developed for one realtor, but will be able to
accommodate the needs of any realtor in the real estate
career.
1.3. Acronyms, Abbreviations, and Definitions
HTML Hypertext Markup Language:
It is the predominant markup language for web pages. It is
the basic building-blocks of web pages. A markup language
is a set of markup tags, and HTML uses markup tags to
describe web pages. It provides a means to create
structured documents by denoting structural semantics for
text such as headings, paragraphs, lists etc., as well as
for links, quotes, and other items. The W3C (World Wide Web
Consortium), maintainer of both HTML and CSS standards,
encourages the use of CSS over explicit presentational
markup.[3]
CSS Cascading Style Sheet:
A style sheet, known as CSS, language used to describe the
presentation semantics of document written in a markup
language. One of its most common applications is to style
web pages written in HTML and XHTML, but the language can
be applied to any kind of XML document, including SVG
(Scalable Vector Graphics) and XUL (XML User Interface
Language). CSS is designed primarily to enable the
separation of document content from document presentation,
Page | 3

including elements such as the layout, colors, and fonts.


This separation can improve content accessibility, provide
more flexibility and control in the specification of
presentation characteristics, enable multiple pages to
share formatting, and reduce complexity and repetition in
the structural content. The CSS specifications are
maintained by the World Wide Web Consortium (W3C).[2]
PHP PHP Hypertext Processor:
It was originally created by Rasmus Lerdorf in 1995. A
widely used general-purpose server-side scripting language
that is especially suited for web development and can be
embedded into HTML. It generally runs on a web server,
taking PHP code as its input and creating HTML as output.[1]
AJAX Asynchronous JavaScript and XML:
Like DHTML and LAMP, Ajax is not one technology, but a
group of technologies. Ajax uses a combination of HTML and
CSS to mark up and style information. The DOM is accessed
with JavaScript to dynamically display, and to allow the
user to interact with the information presented. JavaScript
and the XMLHttpRequest object provide a method for
exchanging data asynchronously between browser and server to
avoid full page reloads. A group of interrelated web
development methods used on the client-side to create
interactive web applications. With Ajax, web applications
can retrieve data from the server asynchronously in the
background without interfering with the display and
behavior of the existing page. Data is usually retrieved
using the XMLHttpRequest object. Despite the name, the use
of XML is not needed, and the requests need not be
asynchronous.[6]
MySQL My Structured Query Language:
A relational database management system (RDBMS) that runs
as a server providing multi-user access to number of
databases. It is consider the worlds most popular open
sources database.[4]
JavaScript:
An object-oriented scripting language used to enable
programmatic access to objects within both the client
application and other applications. It is primarily used in
the form of client-side JavaScript, implemented as an
Page | 4

integrated component of the web browser, allowing the


development of enhanced user interfaces and dynamic web
sites. JavaScript is a dialect of the ECMAScript standard
and is characterized as dynamic, weakly typed, prototypebased language with first-class functions. JavaScript was
influenced by many languages and was designed to look like
Java, but to be easier for the non-programmers to work
with.[5]
1.4. References
1 - PHP
a. PHP. Various Contributors. 7 February 2011.
Wikipedia. 7 February 2011
<http://en.wikipedia.org/wiki/PHP>.
2 - Cascading Style Sheets
a.
Cascading Style Sheets. Ed. Bert Bos. 2010
February.
W3.org 17 February 2010
<http://www.w3.org/Style/CSS/>.
b.
Cascading Style Sheets. Various Contributors. 7
February 2011. Wikipedia. 7 February 2011
<http://en.wikipedia.org/wiki/Cascading_Style_She
ets>.
3 - HTML
a.
b.

HTML. Various Contributors. 7 February 2011.


Wikipedia. 7 February 2011
<http://en.wikipedia.org/wiki/HTML>.
HTML Tutorial. Refsnes Data. 7 February 2011.
w3schools.com. 7 February 2011
<http://www.w3schools.com/html/default.asp>.

4 - MySQL
a.
MySQL. Various Contributors. 7 February 2011.
Wikipedia. 7 February 2011
<http://en.wikipedia.org/wiki/MySQL>.
5 - JavaScript
a.
JavaScript. Various Contributors. 7 February
2011. Wikipedia. 7 February 2011
<http://en.wikipedia.org/wiki/JavaScript>.
b.
JavaScript.com The Definitive JavaScript
Resources. QuinStreet Inc. 7 February 2011.
javascript.com. 7 February 2011
<http://www.w3schools.com/html/default.asp>.
Page | 5

6 AJAX
a. AJAX. Various Contributors. 7 February 2011.
Wikipedia. 7 February 2011
<http://en.wikipedia.org/wiki/Ajax_(programming)>.
1.5. Overview
The main purpose of this site is to serve as a web presence
for the realtors properties. The realtor will serve
as the administrator for this site with the ability to
create, modify, or delete listings. Once all administrative
tasks are in place, potential clients can interact with the
site via Twitter or Facebook. Also, detailed and specific
search capabilities will be available.
2. Overall Description
2.1. Product Perspective
The Real Estate web site will serve two areas: potential
clients and realtors. It will utilize the scripting
language PHP and the relational database MySQL while being
hosted on a Linux web server. Since this system will be a
web-based application/site, a proper Internet browser such
as Firefox, Internet Explorer, etc. will be needed for
viewing and interacting with its contents.
2.1.1. User Interfaces
The web site will include user interfaces both for the
potential client and the owner/administrator for the site.
There will be proper validation on each user interface page
providing appropriate messages if any information is
incorrectly entered. Each page of the web site will include
a header and footer page to help keep the look and feel
consistent throughout the web site. The header will include
the realtors logo, navigation bar, and agent control
panel. The agent control panel will provide the user the
opportunity to enter their existing password and username
for logging into their profile. The footer will contain
copyright information and a sitemap.
Homepage:
The Homepage will display featured property listings, have
quick search, and other various links such as Listing
Alerts, Contact Us, Site Map that will provide the user
Page | 6

with more relevant type of real estate information. There


will be an Agent Control Panel link allowing the realtor to
login to their control panel.
Search Listings:
The Search Listings page will allow the user to perform a
detailed search of any available properties within the web
site. Some of the search features will include listing
type, bathrooms, bedrooms, price range, and location, among
many others.
Agent Control Panel Login:
The Administration Login page will allow the realtor to
login into the administrative area for creating, modifying,
and deleting listings. The realtor must provide a valid
username and password. If the realtor forgets their
password, there will be a password reminder link that will
take them to the password reminder page. Once on the
password reminder page, the realtor enters the email
address they registered to use with the Real Estate web
site.
Password Reminder:
The Password Reminder page will be linked out of the login
page. It will allow the user to enter the E-Mail address
they registered to use with the Real Estate web site. The
user will then receive an email containing their username
and password they used during registration.
Register:
On the full featured version of this web site, the
Registration page will allow more realtors to create an
account on the site. This page will collect information
such as First Name, Last Name, Company Name, Description,
Location, Address, Username, Password, etc. There are some
required fields such as Username, Password and others. Once
the realtor completes the registration and their
registration is confirmed, the realtor is logged in and
their Control Panel page is shown.
Contact Us:

Page | 7

The Contact Us page will provide the user the means to send
an email to the web sites administrator. The user will be
required to enter First Name, Last Name, Address, Phone
Number, Email, Message, and a Security Code. In order to
contact the Realtor, there is an Agents Profile section
that the user can send a message to the selected realtor.
Agents Profile:
The Agents Profile page will display the realtors Name,
Company Name, Description, Address, Phone Number, Fax,
Mobile Phone, and Agents Listings. The user can send a
message to that agent/realtor from this page too.
Administrator (Realtor):
The Administration page will display the entire tasks
associated with actions the realtor can perform such as
adding, editing, or deleting listings, changing their
contact information (Name, Company, Phone, etc.)
Add Listing:
The Add Listing page will allow the realtor to add images,
listing type, status, MLS, Property Type, Style,
Description, and various other features such as lot size,
bathrooms, bedrooms, location, address, year built,
appliances included, price, etc. There will also be a
calendar to set up showings or open houses. After the
required fields and optional fields are entered, the
realtor will hit the submit button to add that listing. Any
required fields not filled will require information before
proceeding.
Listings Display:
The Listings Display page will allow the potential client
the option to view all the detail information that listing
has available. The user can view the text, Google map
location and any photos of the listing. Also, the user can
send a message to the agent of that particular listing
using the send message button. An availability calendar
will also be available so the user can view any open
houses.

Page | 8

2.1.2. Software Interfaces


Hosting Service:
Source: http://www.hostmonster.com
This hosting service will serve as the hosting of the MySQL
relational database and the web site PHP and HTML web
pages. The hosting service will have the necessary software
requirements to run MySQL and PHP code.
MySQL Database:
Specification Number: 5.0
Source: http://www.mysql.com
This relational database will serve as the backbone of the
Real Estate web site. It will allow the realtors
information to be captured, stored and then displayed in
various forms to each user who visits the web site. The
MySQLi module will be utilized through an object-oriented
approach in order to successfully access and modify
database tables using MySQL.
PHP Hypertext Processor:
Specification Number: 5.2
Source: http://www.php.net
PHP will interface and interact with the MySQL database to
retrieve and process data to provide dynamic data to the
users in the form of a XHTML document on the web page
displayed by a compatible browser. An object-oriented
approach will be taken to allow for code portability,
reusability, and maintainability.
2.1.3. Communications Interfaces
Mozilla Firefox:
Specification Number: 3.6.13
Source: http://www.mozilla.com/firefox
Mozilla Firefox is a free and open source web browser that
will interpret the XHTML markup the PHP parser produces and
apply the necessary styles as defined in the various CSS
pages to create the overall look and feel of the web site.
Internet Explorer:
Specification Number: 8.0
Page | 9

Source: http://www.microsoft.com
Internet Explorer is a web browser that will interpret the
XHTML markup the PHP parser produces and apply the
necessary styles as defined in the various CSS pages to
create the overall look and feel of the web site.
2.2. Product Functions
The agent/realtor and potential client must be able to
utilize the Real Estate web site in the most efficient way
possible with the given design and in regards with
standardized web flow. The users need to be guided with
easy to use web pages that are presented in a way that can
accommodate even the novice user but all the while have the
features that experienced users can take advantage of such
as specific detailed searches. Each page will be neatly
arranged and displayed in an easy to understand design.
2.3. Personas
Potential Client:
Customer: Casually browsing properties.
Description: User has started to search properties to get a
feel for the market on properties. This user is looking for
general real estate information. Specific search options
are not needed at this time. Most of the information this
user will be mentally marked for later. This type of
client could be considered a hot lead. The agent/realtor
will have to wait at this point in the game since they are
just browsing.
Customer: Novice browser.
Description: This user has stumbled upon the real estate
web site not really knowing what to look for in regards to
the real estate market. The site needs to be designed in a
way that will entice this user to spend more time or return
as a repeat customer for the possibility making them a
future lead.
Customer: Specific browser.
Description: This user knows exactly what they are looking
for and all the specifics are already known. This is where
a detailed specific search feature becomes very useful in
helping this user find the properties they are looking at
buying.

Page | 10

Administrator:
Customer: Realtor
Description: This user will need to know all the features
the administration control panel is capable of handling.
The tasks such as adding or modifying a listing need to be
easy and to the point so the user can get their listings
live.
2.4. Constraints
MLS Number:
Official MLS numbers will not be available for search but
only the MLS numbers assigned to this sites listing agent.
This feature will be an added feature later on.
Design:
The complete overall design will be the focus after all the
program is running efficiently. There will be a design
concept but the full design will implemented as time
permits.
Completion:
The Real Estate web site must be complete by the end of
April 2011.
2.5. Assumptions and Dependencies
User Competency:
The user must have a basic knowledge of how to operate a
computer and browse the Internet.
Software:
The Linux web-server the Real Estate web site is installed
on will have the software installed that is specified in
section 2.1.2 of this SRS document.
Communication:
The web-browser the Real Estate web site is accessed from
will be one specified in section 2.1.3 of this SRS
document.
Page | 11

Privileges:
The administrator of the web-server the Real Estate web
site is installed on will have sufficient privileges to
upload images/files and administrative database access.
Internet:
The end user must have Internet access. High-speed Internet
access is preferred but not required.

3. Specific Requirements
3. Specific Requirements
3.1. Functional Requirements
Agent Control Panel:
Information provided by the agent is verified by the
information in the database and the determination made if
the agent has the appropriate credentials to login to the
web site. If so, the web site will direct the agent to
their control panel.
Password Reminder:
Information provided by the agent is verified by the
information in the database and the determination made if
the user should receive an email with their log on
credentials.
Register:
Information provided by the user in the registration
process is inserted into the database.
View Recent Updated Listings:
Information about agents recent actions that have been
edited through their control panel in the database are
retrieved from the database and displayed to the user on
the homepage and throughout the web site.
View / Update Agent Contact Information:

Page | 12

Users contact information is retrieved from the database


and displayed to the user. The edited contact information
the user provides is saved in the database.
View Listings Display Photos:
Photos are retrieved from the database displayed to the
user associated with the listing. Users listing photos are
saved in the database along with information about the
photo.
Administrator Add Listing:
Information about a property listing the realtor provided
is saved in the database.
Administrator Remove Listing:
The realtor can remove any selected listing displayed in
the agents control panel. The selected listing is removed
from the database.
Administrator Edit Listing:
A list of property listings is retrieved from the database
and displayed to the realtor. Information about the listing
is retrieved from the database and displayed to the
realtor. Once modified, information about the listing is
saved in the database.
Administrator Featured Listings:
The featured listings the realtor provided is saved and
marked accordingly in the database.
Administrator Create Calendar Availability:
Information about an agents calendar availability the
realtor provided is saved in the database.
3.2. Quality Requirements
Reliability:
The Linux web-server should always be available no
matter what time a user attempts to access the Real

Page | 13

Estate web site. Maintenance of 1 hour per six months


is the maximum downtime the system should receive.
The information processed by the Real Estate web
site must be validated on the server-side before being
processed in order to ensure user input is not
malicious. There will be code in place to prevent
invalid user input.
The database should maintain data normalization by
implementing a primary and foreign key system so that
discrepancies do not occur within the data.
Efficiency:
Search queries or page loads should be returned and
formatted by the PHP parser in a timely fashion
depending on the request being made.
Security:
Agents passwords will be encrypted within the
database.
Pages of the Real Estate web site must be access in
the way they were intended to be accessed. Included
files shall not be accessed outside of their parent
file.
Agents can only perform administrative task on pages
they are privileged to access. Clients or casual users
will not be allowed to access the agent control panel
administrator areas.
Maintainability:
All PHP pages used by the Real Estate web site will
be centrally located within the file structure so that
any update will affect all areas where the modified
code is called.
Administrators will have the ability to edit the
aspects of the Real Estate web site that directly
relates to their account.
3.3. User Interface Requirements
Home:
User should be able to access and change user account
information as well as logout with ease.

Page | 14

Register (on full featured version of software):


New agents/realtors must have easy access to registration
links and be able to place a listing upon first login.
Login:
The agent/realtor should be able to login to their account
without having to scroll on the web page. User should be able
to login within minutes of registering and upon initial login
should be able to place listing.
Password Reminder:
Agent/Realtor should be able to retrieve access info via email. Process should be quick and simple with minimal mouse
clicks.

Agent/Realtor Contact Information:


The user must be able to access contact information about a
specific agent in less than one minute once they arrive on
the Real Estate web site. This process should take no more
than three mouse clicks. If the user wishes to print
contact information, this process should be completed in
less than five minutes and take no more than two additional
mouse clicks once the user is viewing the desired contact
information.
Availability Calendar:
The user must be able to view the details of an open house
showing event in less than one minute once they have
visited the desired listing. This process should take no
more than three mouse clicks.
View Listing Photos:
The user must be able to view a listing photo contained
within a property listing in less than one minute once they
have accessed the Real Estate web site. This process should
take no more than two mouse clicks.
Administrator:
The administrator must be able to add a listing in less
than five minutes once they have logged into the Real
Page | 15

Estate web site. This process should take no more than five
mouse clicks. The administrator must be able to remove a
listing in less than one minute once they have logged into
the Real Estate web site. This process should take no more
than three mouse clicks. The administrator must be able to
edit the information and listings that appears on the home
page. This process should take no more than five mouse
clicks. The agent/realtor must be able to upload a property
listing photo of their choice in less than two minutes once
they have logged into their control panel on the Real
Estate web site. The administrator must be able to remove a
photo in less than one minute once they have logged into
the Real Estate web site. This process should take no more
than three mouse clicks in addition to each photo selected.
3.4. Logical Database Requirements
Users:
This table will store the accounts of registered users.
The Users table will be created based on information such
as username, password, and address. The users table will be
referenced by the properties table among others. Once an
agent provides a username the Real Estate web site will
ensure that they are registered before the user is allowed
to login. Each user will have a username, which should
ideally be their actual name, perhaps split into first and
last names. The user will also have a password. The user
will also be required to enter a valid email address.
Galleries:
This table will store the listings photo(s). The agent
will have the option to upload images for each listing.
Each photo will be referenced to the properties table.
There will be certain file types accepted such as jpg or
jpeg files.
Properties:
The Properties table will store all the detailed
information for the property listing such as the title,
description, price, number of bathrooms, bedrooms,
location, etc. Agents/Realtors will be referenced on each
listing allowing the assigned agent the ability to access
that properties information and edit as needed.

Page | 16

Password:
The password field will be encrypted. A user must enter a
valid password in order to login. The password will be
stored in the Users table.
E-Mail Address:
If a user forgets their login information they will be
asked to provide their e-Mail address. An automated e-Mail
will be generated with their information that is stored in
the database the agent can then use to successfully login
to the Real Estate web site.
Access Level:
Once a users login information has been validated, they
are assigned to their account only. This will ensure that
agents can only create or modify pages of the Real Estate
web site they are authorized to access.
3.5. Use Cases
Register:
Purpose: The register function allows an
agent/realtor to register with the Real Estate web
site so they can list properties.
o Steps:
The agent/realtor navigates to the Real
Estate web site.
The agent/realtor clicks the Register link
on the top of the homepage.
The agent/realtor enters the required
information such as their first name, last
name, password, password confirmation, EMail address, E-Mail address confirmation,
phone numbers, address, city, state, zip
code, and among others.
The agent/realtor clicks the Register
button.
Update Agent/Realtor Contact Information:
Purpose: The update contact information function
allows an agent to update the contact information
they provided during the register process so that
Page | 17

other users will have access to the most current


information for the user.
o Steps:
The agent/realtor navigates to the Real
Estate web site.
The agent/realtor enters their e-mail
address and password.
The agent/realtor clicks the Login button.
The agent/realtor navigates to the control
panel page.
The agent/realtor scrolls down the page.
The agent/realtor enters any changes.
The agent/realtor clicks the Register
button to update changes.
Administrator Edit Listing:
Purpose: The administrator edit listing function
allows an administrator to make changes to the
information associated with a listing.
o Steps:
The agent/realtor navigates to the Real
Estate web site.
The agent/realtor enters their e-mail
address and password.
The agent/realtor clicks the Login button.
The administrator navigates to the control
panel page.
The administrator clicks the Edit Listings
in the administrator control panel.
The administrator selects the listing to
edit.
The administrator makes changes.
The administrator clicks the Submit
Listing button.

Page | 18

You might also like