You are on page 1of 28

Software Requirements Specification

Web-based Online Dating Platform

Web-based Online Dating Platform


Software Requirements System
Version 2.0.0

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 1 of 28

Software Requirements Specification

Web-based Online Dating Platform

Table of Contents
Table of Contents ............................................................................................................................ 2
Revision History............................................................................................................................... 2
1 Introduction ................................................................................................................................... 4
1.1 Purpose.................................................................................................................................. 4
1.2 Scope ..................................................................................................................................... 4
1.3 Definitions .............................................................................................................................. 4
1.4 References............................................................................................................................. 5
1.5 Overview ................................................................................................................................ 5
2 Overall Description ....................................................................................................................... 6
2.1 Product Perspective............................................................................................................... 6
2.2 Product Functions .................................................................................................................. 6
2.3 User Classes and Characteristics.......................................................................................... 8
2.4 Constraints ............................................................................................................................. 8
2.5 Assumption and Dependencies ............................................................................................. 8
2.6 Requirements Subsets........................................................................................................... 9
3 Specific Requirements................................................................................................................ 10
3.1 External Interface Requirements ......................................................................................... 10
3.2 Data Requirements .............................................................................................................. 10
3.3 Functional Requirements ..................................................................................................... 12
3.4 Performance Requirements ................................................................................................. 20
3.5 Design constraints ............................................................................................................... 21
3.6 Software system attributes................................................................................................... 21
3.7 Other requirements .............................................................................................................. 21
Appendices .................................................................................................................................... 22
Appendix A: Requirements Re-organization.............................................................................. 22
Appendix B: Client-Requested Revisions .................................................................................. 24
Appendix C: Prototype Screenshots .......................................................................................... 26

Revision History
Date
(mm/dd/yy)

Version Reason For Changes

Name

01/31/2007

1.0.0

Initial drafting

02/01/2007

1.0.1

Compilation of sections written by group


members.

02/02/2007

1.0.2

Editing

Brett Lee

02/08/2007

1.0.3

First pass of fixing issues based on client


inspection

Brett Lee

03/11/2007

1.0.4

- Removed Intended Audience (formerly


Section 1.2) due to inconsistency with
template and assessment criteria.

Brett Lee
David Zhao
Ryan McCullough

Version 1.0.2

Distributed Engineering Inc.


Confidential

Brett Lee
Brett Lee
David Zhao
Ryan McCullough
Mike Tomlinson
Luke Seeley
Nattapol Pornmukdamanee
Zheng Fang
Vlaho Djurkovic

Page 2 of 28

Software Requirements Specification

Web-based Online Dating Platform

Mike Tomlinson
Nattapol Pornmukdamanee
- Minor semantic changes to Scope
(Section 1.2) to increase accuracy of
Zheng Fang
system description.
Vlaho Djurkovic
- Added more Definitions to clarify terms
and phrases that were missing from the
document and creating confusion.
- Added references to client documents to
assist readers when checking the
Appendices
- Added a note to Section 2.1 regarding
the role of moderators.
- Removed references to functional
requirements in Section 2 in order allow
focus on the overall product rather than the
specifics.
- Added lack of Paypal support to Section
2.6 in response to client feedback.
- Added External Interface Requirements
section to clarify usage requirements.
- Added Data Requirements section to
clarify the purpose of profile attributes and
define them more clearly.
- Reworked Functional Requirements
see Appendix A for detailed information.
- Implemented some fixes requested by
the client in their feedback documents
refer to Appendix B for detailed
information.
- Added Appendix C for prototype
screenshots.
- Compiled new functional requirements
submitted by group members.
03/12/2007

Version 1.0.2

2.0.0

- Finished adding Functional Requirements


- Added Lists section to Data
Requirements
- Reformatted and ordered functional
requirements by priority and then
reference.
- Checked all of the Appendices
requirements were added to the document
- added screenshots.
- marked as 2.0.0

Distributed Engineering Inc.


Confidential

Brett Lee
Mike Tomlinson

Page 3 of 28

Software Requirements Specification

Web-based Online Dating Platform

1 Introduction
1.1 Purpose
The purpose of this document is to formally define the requirements for a web-based online
dating platform, as described in the Request for Proposal created by Human Connection Inc.
(hereafter referred to as the client). It is also to serve as the primary reference for implementing
the described system, as well as form the basis of a legally binding agreement between
Distributed Engineering Inc. (hereafter referred to as the developer), and the client.

1.2 Scope
The web-based online dating platform (hereafter referred to as the system) will allow users to
connect to other users with the ultimate objective of creating new relationships. It will allow the
client to provide an improved level of customer service to its customers by appealing to a broader
market of potential consumers. A user creates a profile, which grants them access to searching
other profiles. A user is then able to modify his or her profile, read and send messages via an
email box, search for other users that match the users preferences, and then add them to a list
for later reference. Users will then be able to allow other users to view their contact information
such that they are able connect with each other offline. It should be noted at this point, however,
that the system does not in any way select matches for users; the user selects the search criteria
for finding potential matches and executes that search manually. The system is a communication
tool that allows users to communicate with other users, rather than a matchmaker.

1.3 Definitions
There are many terms, phrases and acronyms that will appear throughout the document. They
are listed below:
Term

Definition

client:

Human Connection Inc.

developer:

Distributed Engineering Inc.

offline:

outside of the systems scope.

online:

within the systems scope.

system:

the web-based online dating platform described by this document.

text field:

an element of a form that allows you to input text information, such as letters
and numbers.

[R#]:

Indicates a functional requirement for the system, with # being any positive
integer.

Personal
Message (PM):

A typed message that is sent from one user to another. Messages sent
appear in the recipients message inbox (refer to Section 2.2.5)

Login page:

The page displayed initially when using the system that allows the user to
either log in or sign up for a new account.

Terms of Use
page:

The page that displays the Terms of Use, as decided by the client, to the user
when signing up for a new account.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 4 of 28

Software Requirements Specification

Web-based Online Dating Platform

Create Profile
page:

The page that allows a user to input personal data in order to create a new
profile.

Home page:

The page that the user will initially arrive at upon logging in to the system that
allows access to other components of the system as well as management of
dates.

Edit Profile page:

The page that allows the user to modify personal data regarding their profile.

Profile page:

The page that is displayed to a user when he or she accesses another users
profile.

Search page:

The page that allows a user to specify desirable profile attributes in order to
search for other users in the system.

Search Results
page:

The page displayed after a user executes a search for other users that lists
users that matched the attributes specified.

Message Center
page:

The page listing the personal messages that the user has received from other
users.

View Message
page:

The page that displays a particular personal message to a user.

Compose
Message page:

The page that allows a user to create and send a personal message to
another user.

Profile attribute:

A user-selected or user-created characteristic that defines a user and


comprises his or her profile.

Header:

A web page component displayed at the top of the page that contains
information or elements that are common across an entire system, such as
links, website banner image, etc.

Essential priority
rating:

A functional requirement with a priority rating of Essential indicates that the


product will not be acceptable if the functional requirement is not satisfied.

Conditional
priority rating:

A functional requirement with a priority rating of Conditional indicates that the


product would be enhanced by the functions inclusion, but is not
unacceptable if it is absent.

Optional priority
rating:

A functional requirement with a priority rating of Optional indicates that the


functions may or may not be worthwhile relative to other functions.

1.4 References
Appendix A of this document refers to Version 1.0.3 of this document, which can be downloaded
from <http://web.uvic.ca/~lseeley/dev/index.html>.
Appendix B of this document refers to the clients Inspection Document, which can be
downloaded from <http://www.2ni.com/project.php>.

1.5 Overview
The remainder of this document is divided into two major components: the Overall Description
(Section 2) explains the functionality of the system in a general, high-level manner. The Specific
Requirements (Section 3) will provide specific details for each of the components described in the
Section 2.
Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 5 of 28

Software Requirements Specification

Web-based Online Dating Platform

2 Overall Description
2.1 Product Perspective
The system intended is independent of Human Connection Inc.s current method of providing
services, and can operate without any personnel once deployed. However, the system does not
independently enforce all of the Terms of Use, and thus moderator accounts will be provided that
grant moderators with abilities that allow them to govern user-level accounts (refer to Section 2.3).
Moderators, however, do not match users with other users; this requirement was removed during
a JAD meeting with the client on January 25, 2007. Users will access and use the system through
their internet browser.

2.2 Product Functions


2.2.1 System Overview
This section provides an overview of the components that the system is comprised of. For a more
detailed description of the requirements associated with the components described below, refer
to Section 3. The system overview is shown below:

2.2.2 Login Module


The login module consists of the following
pages (see diagram on right):

the Login page;


the Terms of Use page; and
the Create Profile page.

Users will initially arrive at the Login page for


the system and be able to log in or create a
new profile. A user logging in with their
previously created username and password is
taken directly to their user Home page (refer
to Section 2.2.3). A user who wants to create
an account must first agree to the clientprovided Terms of Use in the Terms of Use
page. A user will be denied access to the
system if he or she does not accept the terms.
Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 6 of 28

Software Requirements Specification

Web-based Online Dating Platform

A user creates a profile by completing the form on the Create Profile page. The attributes are
defined in detail in Section 3.2. Once the form is completed, the user is taken back to the Login
page, where they are able to log in to the system.

2.2.3 User Module


The User Module is comprised of the following
pages:

the Home page;


the Edit Profile page; and
the Profile page.

Upon logging in, the user arrives at the users


Home page. From there, the user is able to
access the other major components of the
system, manage his or her date prospects and
dates via the Prospects List, Date Requests
List and Dates List (refer to Section 3.2), and
view his or her profile as it would appear to
other users.
The Edit Profile page allows the user to
modify the information in his or her profile
(refer to Section 3.2).
The User Profile page displays the attributes of the user in a concise, easy to read format. The
intention of the User Profile page is to provide other users of the system with a list of information
about the current user. The User Profile will display information marked as private only to users
who are currently on the current users List of Dates. To other users, an attribute marked as
private will not be displayed.

2.2.4 Search Module


The Search Module gives users the ability to
search for other members who satisfy a users
search criteria. This search module consists
of the following pages:

the Search page; and


the Search Results page.

Users initially arrive at the Search page to


search for other user profiles. A user will input
search criteria into the form on this page;
some search criteria is required, while others
are optional.
The results of a search are listed in the
Search Results page. Users can browse
through these results and click individual
results to view the profiles of the users that
satisfied the search criteria. A user can also return to the Search page to begin a new search.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 7 of 28

Software Requirements Specification

Web-based Online Dating Platform

2.2.5 Message Module


The message module contains the systems
personal mail system, and consists of the
following pages:

the Message Center page;


the View Message page; and
the Compose Message page.

A user will be able to send messages to other


users, view and manage a list of the
messages received, and view the content of
particular messages sent from other users.
The Message Center page displays a list of
messages from other users; the list consists of
who the message came from, the subject of
the message, and the date that the message
was sent. Messages that have not been
viewed yet will be highlighted, and any message can be deleted from the list of messages or
viewed in more detail. The View Message page displays the text of a message, the username of
the user who sent the message, and the date that the message was sent. The Compose
Message page allows a user to send a message to another user. There are three required text
fields that need to be filled out: the recipient field, the subject field and the message field. The
recipient field is filled in with the username of the recipient of the message. The subject describes
the content of the message and is what will appear in the subject line of the recipients inbox. The
message field is the body of the message that is viewed when a user opens a message from the
Message Center.

2.3 User Classes and Characteristics


There are two classes of users for this system: users and moderators. A user is able to create
their profile, search for other profiles, view other profiles public information, view other profiles
private information if they have been given permission, and manage their messages. Moderators
are designed to allow governance of user accounts; they are not required to gain permission from
other users in order to view their private information, and can remove accounts that violate the
Terms of Use.

2.4 Constraints
1. The system will operate in Internet Explorer 6.0+ and Mozilla Firefox 1.5+ web browsers.
2. The system will require Cookies and Java to be enabled on the web browsers listed
above.

2.5 Assumption and Dependencies


The following assumptions are made about the user:
1. Users are accessing the system using one of the web browsers listed in Section 2.4
2. Users have the necessary peripherals to interact with the system: a keyboard, mouse
and monitor.
3. Users have a reasonable level of familiarity with the peripherals listed above.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 8 of 28

Software Requirements Specification

Web-based Online Dating Platform

2.6 Requirements Subsets


The following requirements are considered out of scope for the first implementation of the system,
but may be included in future versions of the system:
1. Live Chat Room: a real-time chat interface that allows users to instantly message other
users that are connected to the same chat room. Chat rooms will be public or private
(password-protected).
2. Forum: an asynchronous chat interface that allows users to communicate with other
users by providing a list of topics to discuss. Users can also create new chat topics and
allow other users to weigh in their own responses. The system saves chat topics in a
consolidated list indefinitely or until removed by a moderator.
3. Personal Blog: a component of a users profile where entries are made in journal style
and displayed in a reverse chronological order. It combines text images and links to other
blogs and can include various types of media. Other users may also view and respond to
a users blog posts.
4. Filtering system: filters offensive content including any unsuitable words, images, and
links that may appear in the system.
5. Picture hosting: allows users to upload pictures for other users to view in albums.
6. Themes: selectable themes that allow users to change the look of their personal profile to
themselves and other users.
7. Administrator support: allows the creation of administrator-level accounts, as defined in
the clients Request for Proposal document, in order to manage the communities and
accounts on the dating system.
8. Paypal Support: the payment method, discussed during a JAD session on Jan 22, 2007,
includes the ability to set up a subscription-based payment service for users of the dating
platform with options to select 1 month, 3 month and 1 year recurring payments to the
client.
9. Partially Relevant Results: the system will still present a user searching for other users
with profiles that partially matched the specified attributes and list them in order of
relevance.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 9 of 28

Software Requirements Specification

Web-based Online Dating Platform

3 Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
Users will interact with the system through a set of web pages displayed via the users internet
browser. Please refer to Appendix C for screenshots of several elements of the systems current
GUI design.

3.1.2 Hardware Interfaces


The system requires the user to have a standard keyboard, mouse, and monitor. In addition,
users will require an internet connection, since the system is hosted online.

3.1.3 Software Interfaces


The system will require one of the following internet browsers to run:

Internet Explorer (version 6 or higher); or


Mozilla Firefox (version 1.5 or higher).

In addition to the requirements that the internet browsers listed above need, the user will also
need to be using the operating system Windows XP or Windows Vista.

3.2 Data Requirements


There are several data requirements for the system, and they are broadly divided into two groups,
which are described in further detail below: Profile Attributes, and Lists.

3.2.1 Profile Attributes


The system will store personal data entered in by the user at the Create Profile page (refer to
Section 2.2.2), as well as the Edit Profile page (refer to Section 2.2.3). This section describes
how the data, which consists of several profile attributes, can be classified as well as provides a
table that summarizes all of the attributes that will compose a user profile.
Type
Attributes can be classified by type, and there are two options for this classification: required and
optional. Required attributes must be filled in at the Create Profile page, and additionally cannot
be empty when the user updates his or her profile via the Edit Profile page. Optional attributes do
not need to be filled out when the user creates his or her profile, and can but is not required to fill
in that attribute subsequently.
Access
Attributes can additionally be classified by their level of accessibility by other users, and there are
three options for this classification: public, private, and mutable. Public attributes are visible to all
users who, through their interaction with the system, request that a users information. Private
attributes, on the other hand, are only visible to the owner of the user profile or moderators for
privacy or protective reasons. Mutable attributes make up the bulk of the profile attributes, and
may be set to public or private by the owner of the profile.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 10 of 28

Software Requirements Specification

Web-based Online Dating Platform

Modifiability
Attributes that are modifiable can be changed via the Edit Profile page subsequent to the user
creating the profile. The only attribute that is not modifiable is the username; all of the other
attributes are considered modifiable.
Attribute List
The list of profile attributes is displayed below:
Attribute

Type

Access

Values

First Name

Required Mutable Any String

Last Name

Required Mutable Any String

Gender

Required Mutable Male, Female

Sexuality

Optional

Mutable Straight, Gay, Bisexual

Build

Optional

Mutable Overweight, Average, Slim, Athletic

Height

Optional

0-99 (inches)*
Mutable * the Height attribute will be displayed to the user in feet and
inches, though it is stored as a single integer.

Hair Colour

Optional

Mutable Brown, Blond, Red, Black, Grey, White, Other

Facial Hair

Optional

Mutable Yes, No

Eye Colour

Optional

Mutable Brown, Hazel, Green, Grey

Piercings

Optional

Mutable Yes, No

Glasses

Optional

Mutable Yes, No

Occupation

Optional

Unemployed, Student, Law, Education, Technology,


Mutable Arts, Retail, Food Services, Finances, Consulting,
Odd Jobs, Trades, Government, Other

Income

Optional

0-10,000, 10,000-30,000, 30,000-80,000, 80,000Mutable 150,000, 150,000-500,000, 500,000+)**

Interests

Optional

Mutable Any String

Birth year

Required Mutable 1900-2007

Birth month

Required Mutable 1-12 (Jan-Dec)

Birth day

Required Mutable 1-31

Username

Required

Public

Any String (must be unique)

Password

Required

Private

Any String

Location

Optional

Mutable Any String

Avatar

Optional

Email

Required Mutable Valid email address (name@domain.com)

Home Phone

Optional

Version 1.0.2

** the Income attribute will be processed at application-level in


order to maintain adaptability to other monetary systems.

Public

Image size

Mutable (XXX) XXX-XXXX

Distributed Engineering Inc.


Confidential

Page 11 of 28

Software Requirements Specification

Web-based Online Dating Platform

Work Phone

Optional

Mutable (XXX) XXX-XXXX

Cell Phone

Optional

Mutable (XXX) XXX-XXXX

Address

Optional

Mutable Any String

Subscription Type

Required

Private

Monthly, Quarterly, Semi-Annually

Payment Method

Required

Private

Visa, Mastercard, AMEX

Credit Card Number

Required

Private

XXXX XXXX XXXX XXXX

Expiry Month

Required

Private

1-12

Expiry Year

Required

Private

2007-2030

* X is a digit (0, 1, 2, 3, 4, 5, 6, 7, 8, or 9)

3.2.2 Lists
There are several lists that a user will create while using the system. All of the lists are shown in
the users Home page. They are described in further detail in the table below:
List Name

Description

Prospects List

The Prospects List contains usernames of prospects, or users that a


particular user is interested in. A user is able to delete entries from the
Prospects List or request a date from entries in the Prospects List.

Date Requests List

The Date Requests List contains usernames of other users who have
issued a date request to a particular user. A user is able to accept or
decline a date request; the entry is removed from the Date Requests List
in both cases.

Dates List

The Dates List contains the usernames of users who have accepted a
particular users date request, or vice versa. Users that are in each others
Dates Lists can see profile attributes that are flagged as private. A user
can delete entries from the Dates List.

Blocked Users List

The Blocked Users List contains the usernames of users who have been
blocked from sending Personal Messages to a particular user.

Messages List

The Messages List contains Personal Messages from other users to a


particular user. A user can view or delete entries in this list. The maximum
number of messages that can be held in the Messages List is 100.

3.3 Functional Requirements


This section describes the functional requirements that comprise the system. It should be noted
that many of the functional requirements from Version 1.0 of this document have been merged,
removed or altered. Refer to Appendix A for a more detailed description of these changes.
During a requirements negotiation session held on Mar. 5, 2007, the functional requirements for
the system were reviewed and prioritized. Refer to Section 1.3 for more information on the
definitions of the priority ratings. As a result, requirements are organized by priority, and then by
requirement number.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 12 of 28

Software Requirements Specification

Web-based Online Dating Platform

3.3.1 [R1] Login


Priority

Essential

Introduction

The user will be able to access their homepage by logging into the system using
their username and password.

Inputs

The user enters the username and password for their account into the
corresponding fields and then clicks the Log In button to access the system.

Processing

The system compares the username and password to the data it has about the
user; there are two cases to consider:

Outputs

Username and/or password do not match: the user submitted an invalid


password for the submitted username, or the username does not exist
in the system. Either way, the system does not log in the user.
Username and password match: the user is logged into the system.

If the users submitted username and password match, then the system displays
the users Home page. Otherwise, the system refreshes the Login page with the
username and password fields cleared.

3.3.2 [R2] Sign Up


Priority

Essential

Introduction

The user will be able to sign up for a new account.

Inputs

The user clicks the Sign Up button on the Login page.

Processing

The system redirects the user to the Terms of Use page, which the user must
agree to if he or she wants to access the system.

Outputs

The system displays the Terms of Use page.

3.3.3 [R3] Terms of Use


Priority

Essential

Introduction

The user will be able to accept or decline the Terms of Use, as defined by the
client.

Inputs

After reading the Terms of Use, the user Accepts or Declines the Terms of Use
by clicking the appropriate button on the Terms of Use page.

Processing

There are two cases to consider:

Outputs

Version 1.0.2

Accept: the system redirects the user to the Create Profile page.
Decline: the system redirects the user to the Login page.

The system displays the appropriate page, depending on the case that applies
as defined above.

Distributed Engineering Inc.


Confidential

Page 13 of 28

Software Requirements Specification

Web-based Online Dating Platform

3.3.4 [R4] Create Profile


Priority

Essential

Introduction

The user will be able to create their profile by submitting personal information to
the system (refer to Section 3.2).

Inputs

The user fills out the required attribute fields as well as any of the optional
attribute fields, and sets mutable attributes to be public or private. Once the
profile form is filled out to the users satisfaction, the user presses the Create
Profile button.

Processing

When the Create Profile button is pressed, there are two cases to consider:

Outputs

profile creation fails: the user did not fill out all of the required
information, or the users username is already in use. Or;
profile creation succeeds: the information entered into the profile form is
stored by the system.

If the profile creation failed, the system displays the Create Profile page again,
with the fields already filled out with the previously entered values as well as a
message explaining which fields still need to be filled out. If the profile creation
succeeded, the system displays the login page and a message confirming that
the profile was successfully created.

3.3.5 [R6] Add to Prospects List


Priority

Essential

Introduction

A user will be able to add another user to their Prospects List.

Inputs

The user selects the Add to Prospects button located on the prospects Profile
page.

Processing

The system adds the prospects username to the users Prospects List.

Outputs

The system displays a message confirming the action, and the prospects Profile
page is refreshed.

3.3.6 [R7] Delete from Prospects List


Priority

Essential

Introduction

A user will be able to remove any user on their Prospects List. Before deletion
occurs, the user will be asked to confirm the action.

Inputs

The user selects the prospect in the Prospects List to be deleted and then can
choose to Confirm or Cancel the action.

Processing

The system first asks the user to confirm that the selected user be removed from
their Prospects List. There are two cases to consider:

Version 1.0.2

Confirm: the system removes the prospect from the users Prospect List;
or
Cancel: the system does not remove the prospect from the users
Prospect List.
Distributed Engineering Inc.
Confidential

Page 14 of 28

Software Requirements Specification

Outputs

Web-based Online Dating Platform

The system refreshes the users Home page with the updated Prospect List to
reflect the deletion, if the deletion was confirmed. Otherwise, the page is
unchanged.

3.3.7 [R8] Edit Profile


Priority

Essential

Introduction

The User will be able to make changes to their user profile using the Edit Profile
page (refer to Section 2.2.3). The system will display to the user all profile
attributes that are modifiable, as well as provide the ability to set access levels
for mutable attributes (refer to Section 3.2). Finally, the user will be able to
commit or cancel the changes made.

Inputs

The user makes changes to the profile attributes by updating their values or
setting their permissions. Once complete, the user selects the Confirm or
Cancel option to complete the procedure.

Processing

There are two cases to consider:

Outputs

Commit: the system saves the modified data, which updates the users
profile; or
Cancel: the system ignores all changes made by the user.

The system will display a confirmation message indicating that all changes have
been saved or canceled, depending on the action chosen by the user. The
system also refreshes the Edit Profile page, which will display updated values if
they were updated.

3.3.8 [R9] Date Request


Priority

Essential

Introduction

A user will be able to view a list of all Date Requests from other users and have
the ability to either Accept or Decline the request.

Inputs

The user considers an entry in the Date Requests list on their home page, and
selects the Accept option or the Decline option, and confirms the action.

Processing

For both the Accept option and the Decline option, the system asks the user to
confirm their choice; there are two cases:

Confirm: the system processes the selected option.


Cancel: the system ignores the request.

If the user confirms the selected action, there are two cases:

Outputs
Version 1.0.2

Accept: the system adds the users username to the requesters Dates
List. In addition, the requesters username is added to the users Dates
List.
Decline: the system removes the requesters username from the users
Date Requests list. The requesters Prospects List is updated to show
the user has declined their date request.

The system refreshes the users Home page, with the updated Dates List or
Distributed Engineering Inc.
Confidential

Page 15 of 28

Software Requirements Specification

Web-based Online Dating Platform

Date Requests list. If the user canceled the Accept or Decline action, then no
changes are displayed.

3.3.9 [R10] Request a Date


Priority

Essential

Introduction

The user will be able to request a date from another user on their Prospects List.

Inputs

The user will select another user he/she wishes to date from his/her Prospects
List and use the Request Date action. The system then presents the user with
the option of sending a Personal Message to coincide with the date request.

Processing

The system updates the users Prospects List to show that a date request has
been sent to the selected user. The requested users Date Requests list is
updated with a new entry showing that the user has requested a date from him
or her. The system redirects the user depending on two cases:

Outputs

The user chose to send a Personal Message: the system redirects the
user to the Compose Message page.
The user declines to send a Personal Message: the system keeps the
user at the Home page.

If the user chose to send a Personal Message, then the system displays the
Compose Message page, along with a confirmation that the date request has
been sent; the recipient field for the message is filled in. Otherwise, the system
refreshes the information on the users Prospects List to indicate that the other
user has been issued a date request, and displays a confirmation message of
the date request.

3.3.10 [R11] Cancel Date


Priority

Essential

Introduction

The user will be able to cancel an existing date on his or her List of Dates.

Inputs

The user selects the date he wishes to cancel from his or her List of Dates and
uses the Cancel action. A confirmation message will appear asking the user to
Confirm or Cancel the date cancellation. The user selects one of the two
actions. If the user confirms, the system then presents the user with the option
of sending a Personal Message to coincide with the date request.

Processing

There are two cases to consider:

Confirm: the system removes the date from the users List of Dates, and
removes the user from the dates List of Dates.
Cancel: the system ignores the action to remove a date from the users
List of Dates.

If the user confirms, there are two more cases to consider:

Version 1.0.2

The user chose to send a Personal Message: the system redirects the
user to the Compose Message page.
The user declines to send a Personal Message: the system keeps the

Distributed Engineering Inc.


Confidential

Page 16 of 28

Software Requirements Specification

Web-based Online Dating Platform

user at the Home page.


Outputs

If the user confirmed the date cancellation, then the system displays a message
to the user indicating that the system has removed the date from the List of
Dates. If the user chose to send a Personal Message, then the system displays
the Compose Message page, along with a confirmation that the date request
has been sent; the recipient field for the message is filled in. Otherwise, the
users Home page is refreshed to reflect this change. If the user cancelled the
action, then the users Home page is unchanged.

3.3.11 [R12] Search


Priority

Essential

Introduction

A user will be able to search for other users profiles by specifying desired profile
attributes in the Search page.

Inputs

A user will be able to specify desired profile attributes values using the Search
pages attribute fields. Any public attributes can be searched for (refer to Section
3.2 for more information on profile attributes). When the user has filled out the
form to his or her satisfaction, the user presses the Search button.

Processing

When the Search button is pressed, the system searches for all users with
profile attributes that match the values specified in the search fields. Fields that
are left blank are ignored (that is, the system will not filter any users based on
that attribute).

Outputs

The system displays the Search Results page, listing all of the users that
matched all of the desired attributes.

3.3.12 [R13] New Search


Priority

Essential

Introduction

The user will be able to return to the Search page from the Search Results page
to begin a new search.

Inputs

The user clicks the New Search link on the Search Results page.

Processing

The system redirects the user to the Search page.

Outputs

The Search page is displayed to the user.

3.3.13 [R14] View Profile


Priority

Essential

Introduction

The user will be able to select and view another users Profile page from the
Search Results page.

Inputs

The user clicks the link associated with the desired user from the Search
Results page.

Processing

The system retrieves the desired users profile and filters out any mutable
attributes that have been marked as private.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 17 of 28

Software Requirements Specification

Outputs

Web-based Online Dating Platform

The system displays the desired users Profile page, with any private attributes
displayed as this attribute is private.

3.3.14 [R5] Access


Priority

Conditional

Introduction

The user will be able to access the User Homepage, the Edit Profile Page, the
Message Center, and the Search Page at any time from any other page in the
system.

Inputs

The user selects one of the web page links listed above by name using the
system-wide header.

Processing

The system redirects the user to the selected page.

Outputs

The system displays the desired page to the user.

3.3.15 [R18] Retrieve Password


Priority

Conditional

Introduction

The user will be able to request that their password be sent to their registered
email address in the event that they forget their password.

Inputs

The user enters their username into the appropriate field on the Forgot
Password page.

Processing

There are two cases to consider:

Outputs

Valid username submitted: The system sends an email to the email


address associated with the submitted username that contains the
users password in it, and a message explaining this transaction is
generated for the user.
Invalid username submitted: The system reports an error explaining that
the username does not exist.

The system refreshes the page and displays a message informing the user of
the result of the submission, depending on the cases defined above.

3.3.16 [R19] Log out


Priority

Conditional

Introduction

The user will be able to log out of the system from any page in the system.

Inputs

The user selects the Logout link from their current position in the system.

Processing

The system logs the user out, and redirects the user to the Login page. The
system generates a message confirming the action.

Outputs

The system displays the Login page, with a message confirming the users Log
Out action on it.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 18 of 28

Software Requirements Specification

Web-based Online Dating Platform

3.3.17 [R21] Preview Profile


Priority

Conditional

Introduction

The user will be able to preview their Profile page as it would appear to other
users.

Inputs

The user selects Preview Profile from within their user Home page.

Processing

The system generates the users profile and redirects the user to the Profile
page.

Outputs

The system displays the users Profile page.

3.3.18 [R15] View Message


Priority

Optional

Introduction

The user will be able to view the contents of a specific Personal Message sent
to him or her by another user.

Inputs

The user clicks a link associated with a specific Personal Message from the list
of messages in the users Message Center page.

Processing

The system retrieves the message and redirects the user to the View Message
page.

Outputs

The system displays the View Message page to the user, with the senders
username, the date that the message was sent, and the contents of the
message displayed.

3.3.19 [R16] Delete Message


Priority

Essential

Introduction

The user will be able to remove a specific Personal Message from their List of
Messages.

Inputs

The user selects the Delete action corresponding to a specific Personal


Message in their List of Messages. A confirmation message appears, asking the
user to Confirm or Cancel the action; the user selects one of these choices.

Processing

There are two cases to consider:

Outputs

Version 1.0.2

Confirm: the system removes the Personal Message from the List of
Messages, and generates a message confirming this transaction.
Cancel: the system ignores the request.

The system refreshes the Message Center page, displaying the confirmation
message if the user confirmed the action; the List of Messages is updated in this
case. Otherwise, the page is unchanged.

Distributed Engineering Inc.


Confidential

Page 19 of 28

Software Requirements Specification

Web-based Online Dating Platform

3.3.20 [R17] Send Message


Priority

Essential

Introduction

The user will be able to send a Personal Message or Reply to another users
Personal Message.

Inputs

The user enters a message subject and the content of the Personal Message
into the appropriate fields of the Compose Message page. If the user is replying
to another message, the recipient field is already filled in with the username that
the user is replying to. Otherwise, the recipient field must also be filled in. The
user then selects the Send action.

Processing

There are two cases to consider:

Outputs

Recipient exists: the system sends the message to the recipient,


redirects the user to the Message Center and generates a message
confirming the transaction.
Recipient does not exist: the system refreshes the Compose Message
page with the recipient field cleared, and generates an error message
saying that the recipient does not exist.

The system displays the Message Center page with a message confirming that
the Personal Message has been sent or the system refreshes the Compose
Message page with a message explaining that the recipient does not exist,
depending on the cases defined above.

3.3.21 [R20] Block user


Priority

Essential

Introduction

The user will be able to block another user from sending him or her Personal
Messages.

Inputs

The user considers a user entry currently residing in his or her Prospects List,
Date Requests List, or the Dates List, and selects the Block action. A
confirmation message appears, asking the user to Confirm or Cancel the action;
the user selects one of these choices.

Processing

There are two cases to consider:

Outputs

Confirm: the system adds the target username to the users Blocked
Users List, and generates a message confirming this transaction.
Cancel: the system ignores the request.

The system refreshes the page, and displays a confirmation user explaining that
the selected user has been added to the Blocked Users List if the user
confirmed the Block action.

3.4 Performance Requirements


Aside from the constraints listed in Section 2.4, no performance requirements for the systems
current specifications have been defined by the client. The system should be considered
reasonably responsive, given that it is web-based in nature. No action made by the user on the
Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 20 of 28

Software Requirements Specification

Web-based Online Dating Platform

system should take more than 6 seconds to return with an appropriate response. This
performance requirement is system-wide.

3.5 Design constraints


The following design constraints are observed:

3.5.1 Standards compliance


The developer will conform to an in-house commenting standard during application development.

3.5.2 Hardware limitations


The users of the system must have a computer system capable of running the web browsers
listed in Section 2.4. Since the system relies on that constraint to interact with users, no additional
hardware requirements are in need of definition.

3.6 Software system attributes


3.6.1 Availability
The system is expected to run indefinitely once it is deployed.

3.6.2 Security
The databases will only be modifiable by user accounts or moderator accounts. Moderators have
the privileges to modify user accounts.

3.6.3 Maintainability
For maintainability, the system will be designed in a manner that is easily scalable and modular to
accommodate future revisions.

3.6.4 Portability
This system will be designed with portability as a consideration. The use of Java to power the
interface between application-level elements and database elements will improve the portability of
the system for future revisions.

3.7 Other requirements


There are no other requirements of note at this time.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 21 of 28

Software Requirements Specification

Web-based Online Dating Platform

Appendices
Appendix A: Requirements Re-organization
A requirements revision meeting was held on March 4, 2007 to consolidate redundant
requirements and move non-functional requirements to other sections. For information on the old
requirements set, refer to Version 1.0.3 of this document. For information on the new
requirements set, refer to Section 3 of this document. The table below describes the changes
that have occurred:
Old Requirement
Reference

Change

New Requirement
Reference

[R1]

Reworded requirement, but largely unchanged.

[R1]

[R2]

Reworded requirement, but largely unchanged.

[R2]

[R3]

Merged with old requirement [R4].

[R3]

[R4]

Merged with old requirement [R3].

[R3]

[R5]

Requirement was non-functional and implementationspecific. Requirement merged with old requirement
[R6].

[R4]

[R6]

Merged with old requirement [R5].

[R4]

[R7]

Merged with a new requirement added from the


prototype feedback and old requirement [R9].

[R8]

[R8]

Merged with old requirements [R10], [R11], [R12] due


to redundancy of functionality.

[R5]

[R9]

Requirement was non-functional and implementationspecific. Requirement merged with old requirement
[R7].

[R8]

[R10]

Merged with old requirements [R8], [R11], [R12] due to


redundancy of functionality.

[R5]

[R11]

Merged with old requirements [R8], [R10], [R12] due to


redundancy of functionality.

[R5]

[R12]

Merged with old requirements [R8], [R10], [R11] due to


redundancy of functionality.

[R5]

[R13]

Requirement was removed from specification because


it was not requested by the client.

[R14]

Requirement was removed from specification because


it was not requested by the client.

[R15]

Requirement was removed from specification because


it depended on old requirement [R14].

[R16]

Requirement was non-functional. It is now described in


Section 3.2.

[R17]

Reworded requirement, but largely unchanged.

Version 1.0.2

Distributed Engineering Inc.


Confidential

[R7]
Page 22 of 28

Software Requirements Specification

Web-based Online Dating Platform

[R10]

[R18]

Requirement was implementation-specific and thus


reworded.

[R19]

Requirement was non-functional. It is now described in


Section 3.2.

[R20]

Renamed and reworded.

[R21]

Requirement was non-functional. It is now described in


Section 3.2

[R22]

Merged with old requirement [R23].

[R9]

[R23]

Merged with old requirement [R22].

[R9]

[R24]

Requirement was implementation-specific, and merged


with [R37] and [R38]

[R17]

[R25]

Requirement was removed because it was


unnecessary given target web browser functionality.

[R26]

Merged with requirement [R36].

[R6]

[R27]

Requirement merged with old requirement [R28].

[R12]

[R28]

Requirement was non-functional and implementationspecific. Requirement merged with old requirement
[R27].

[R12]

[R29]

Reworded requirement, but largely unchanged.

[R14]

[R30]

Reworded requirement, but largely unchanged.

[R13]

[R31]

Requirement was removed because it was nonfunctional and implementation-specific.

[R32]

Requirement was removed from specification because


it was not requested by the client.

[R33]

Reworded requirement, but largely unchanged.

[R16]

[R34]

Reworded requirement, but largely unchanged.

[R15]

[R35]

Requirement was non-functional. It is now described in


Section 3.2.

[R36]

Merged with old requirement [R26].

[R6]

[R37]

Merged with old requirement [R24] and [R38].

[R17]

[R38]

Merged with old requirement [R24] and [R37].

[R17]

Version 1.0.2

Distributed Engineering Inc.


Confidential

[R11]
-

Page 23 of 28

Software Requirements Specification

Web-based Online Dating Platform

Appendix B: Client-Requested Revisions


Through various meetings and milestone requirements, the client group has requested new
requirements, or requested that some requirements be altered. This section summarizes changes
that were requested.

RS 1.0 Inspection
The following table summarizes the changes made based on the inspection document provided
by the client. It is organized by issue number. Refer to Section 1.5 for information how to obtain
this document.
Issue

Resolution

No change implemented; the Scope is defined as intended.

Personal message added to Section 1.3 Definitions.

Section 2.1 altered to include a description of moderator accounts.

System Overview figure updated with bi-directional arrows.

New requirement [R18] created to handle the situation where a user forgets his or her
password.

Payment attributes added to Section 3.2.4, but functionality of these attributes will not be
implemented in this version of the system. Refer to Section 2.6.

New requirement [R19] created to allow the user to log out of the system.

Added Section 3.2.3 regarding the modifiability of profile attributes.

Avatar attribute added to the profile attributes in Section 3.2.4.

10

Clarified Update action in requirement [R8].

11

Old requirement [R13] removed from specification.

12

Refer to the resolution for issue 11.

13

Issue clarified in requirement [R11].

14

Non-issue after structural change to document.

15

Search module diagram updated to have bi-directional arrows.

16

New requirement [R20] created to allow users to block other users from messaging
them.

17

Administrator accounts added to Requirements Subsets.

18

Change implemented to document refer to Section 3.2.

19

Issue regarding confusion over whether g stood for grand or gold clarified in Section
3.2.

20

Location attribute added to profile attributes.

21

Note added to Height attribute mentioning that height will be listed as feet and inches.

22

Issue regarding repetitive data entries clarified in Section 3.2.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 24 of 28

Software Requirements Specification

Web-based Online Dating Platform

23

Ability to send a personal message along with a date request defined in [R10].

24

Ability to send a personal message along with a date cancellation defined in [R11].

25

Added partially relevant results to Requirements Subsets

26

Added mailbox size limit to Section 3.2.

27

Issue regarding public/private attributes clarified in Section 3.2.

28

Issue regarding age attribute clarified in Section 3.2

29

Description of the Date Requests List added.

30

Issue regarding whether username and password are determined when the user creates
his or her profile added to requirement [R4].

31

Issue regarding optional attributes clarified in Section 3.2

32

Added case where username already exists to requirement [R4].

33

Non-issue after a structural change to the document.

34
35

Issue regarding deletion of dates clarified in requirement [R11].

36

Issue regarding leaving message module clarified in requirement [R5].

37

Issue regarding whether to use the recipients user name or email address clarified in
requirement [R17].

38

Added Athletic option to build attribute.

39

Requirement regarding back button removed from specification.

Prototype Demonstration Feedback


Feedback based on the prototype demonstration on Feb 15, 2007 is summarized below:
Feedback

Resolution

Block Feature for Date


Requests

New requirement [R18] created to handle this functionality.

Reset button Edit Profile page.

This requirement is encapsulated in [R8], where the user


selects the option to cancel the changes made to his or her
profile.

Ability to preview profile from


another users perspective.

New requirement [R21] created to handle this functionality.

Add explanation message to


date denial button.

This functionality is encapsulated in requirement [R9], where


the user declines a date request.

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 25 of 28

Software Requirements Specification

Web-based Online Dating Platform

Appendix C: Prototype Screenshots


This section contains screenshots from the prototype system presented on Feb. 15, 2007. They
are for reference only.

Login page

Home page

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 26 of 28

Software Requirements Specification

Web-based Online Dating Platform

Edit Profile page

Search page

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 27 of 28

Software Requirements Specification

Web-based Online Dating Platform

Search Results page

Profile page

Version 1.0.2

Distributed Engineering Inc.


Confidential

Page 28 of 28