Web-based Online Dating Platform

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 user’s 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 system’s scope.
online:
within the system’s 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 recipient’s 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 user’s
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 function’s 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 client’s 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 user’s
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 user’s 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 user’s
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 system’s
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 recipient’s 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 user’s 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 user’s 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 client’s 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 user’s internet
browser. Please refer to Appendix C for screenshots of several elements of the system’s 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 user’s 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 ([email protected])
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 user’s 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 user’s date request, or vice versa. Users that are in each other’s
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 user’s submitted username and password match, then the system displays
the user’s 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 user’s 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 user’s 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 prospect’s Profile
page.
Processing
The system adds the prospect’s username to the user’s Prospects List.
Outputs
The system displays a message confirming the action, and the prospect’s 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 user’s Prospect List;
or
Cancel: the system does not remove the prospect from the user’s
Prospect List.
Distributed Engineering Inc.
Confidential
Page 14 of 28
Software Requirements Specification
Outputs
Web-based Online Dating Platform
The system refreshes the user’s 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 user’s
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 user’s username to the requester’s Dates
List. In addition, the requester’s username is added to the user’s Dates
List.
Decline: the system removes the requester’s username from the user’s
Date Requests list. The requester’s Prospects List is updated to show
the user has declined their date request.
The system refreshes the user’s 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 user’s Prospects List to show that a date request has
been sent to the selected user. The requested user’s 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 user’s 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 user’s List of Dates, and
removes the user from the date’s List of Dates.
Cancel: the system ignores the action to remove a date from the user’s
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
user’s Home page is refreshed to reflect this change. If the user cancelled the
action, then the user’s 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
page’s 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 user’s 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 user’s 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 user’s 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
user’s 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 user’s 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 user’s profile and redirects the user to the Profile
page.
Outputs
The system displays the user’s 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 user’s 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 sender’s
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 user’s
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 user’s 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 system’s
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
1
No change implemented; the Scope is defined as intended.
2
Personal message added to Section 1.3 Definitions.
3
Section 2.1 altered to include a description of moderator accounts.
4
System Overview figure updated with bi-directional arrows.
5
New requirement [R18] created to handle the situation where a user forgets his or her
password.
6
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.
7
New requirement [R19] created to allow the user to log out of the system.
8
Added Section 3.2.3 regarding the modifiability of profile attributes.
9
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 recipient’s 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 user’s 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