Professional Documents
Culture Documents
Dating Platform Documentation
Dating Platform Documentation
Version 1.0.2
Page 1 of 28
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)
Name
01/31/2007
1.0.0
Initial drafting
02/01/2007
1.0.1
02/02/2007
1.0.2
Editing
Brett Lee
02/08/2007
1.0.3
Brett Lee
03/11/2007
1.0.4
Brett Lee
David Zhao
Ryan McCullough
Version 1.0.2
Brett Lee
Brett Lee
David Zhao
Ryan McCullough
Mike Tomlinson
Luke Seeley
Nattapol Pornmukdamanee
Zheng Fang
Vlaho Djurkovic
Page 2 of 28
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
Brett Lee
Mike Tomlinson
Page 3 of 28
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:
developer:
offline:
online:
system:
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
Page 4 of 28
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.
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:
Compose
Message page:
The page that allows a user to create and send a personal message to
another user.
Profile attribute:
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:
Conditional
priority rating:
Optional priority
rating:
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
Page 5 of 28
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.
Page 6 of 28
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.
Version 1.0.2
Page 7 of 28
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.
Version 1.0.2
Page 8 of 28
Version 1.0.2
Page 9 of 28
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.
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.
Version 1.0.2
Page 10 of 28
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
Last Name
Gender
Sexuality
Optional
Build
Optional
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
Facial Hair
Optional
Mutable Yes, No
Eye Colour
Optional
Piercings
Optional
Mutable Yes, No
Glasses
Optional
Mutable Yes, No
Occupation
Optional
Income
Optional
Interests
Optional
Birth year
Birth month
Birth day
Username
Required
Public
Password
Required
Private
Any String
Location
Optional
Avatar
Optional
Home Phone
Optional
Version 1.0.2
Public
Image size
Page 11 of 28
Work Phone
Optional
Cell Phone
Optional
Address
Optional
Subscription Type
Required
Private
Payment Method
Required
Private
Required
Private
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 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.
The Blocked Users List contains the usernames of users who have been
blocked from sending Personal Messages to a particular user.
Messages List
Version 1.0.2
Page 12 of 28
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
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.
Essential
Introduction
Inputs
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
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
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.
Page 13 of 28
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.
Essential
Introduction
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.
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
Outputs
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.
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
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.
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:
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
Date Requests list. If the user canceled the Accept or Decline action, then no
changes are displayed.
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.
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
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.
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
Page 16 of 28
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.
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.
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
Outputs
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
Page 17 of 28
Outputs
The system displays the desired users Profile page, with any private attributes
displayed as this attribute is private.
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
Outputs
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
Outputs
The system refreshes the page and displays a message informing the user of
the result of the submission, depending on the cases defined above.
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
Page 18 of 28
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
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.
Essential
Introduction
The user will be able to remove a specific Personal Message from their List of
Messages.
Inputs
Processing
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.
Page 19 of 28
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
Outputs
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.
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
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.
Page 20 of 28
system should take more than 6 seconds to return with an appropriate response. This
performance requirement is system-wide.
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.
Version 1.0.2
Page 21 of 28
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]
[R1]
[R2]
[R2]
[R3]
[R3]
[R4]
[R3]
[R5]
Requirement was non-functional and implementationspecific. Requirement merged with old requirement
[R6].
[R4]
[R6]
[R4]
[R7]
[R8]
[R8]
[R5]
[R9]
Requirement was non-functional and implementationspecific. Requirement merged with old requirement
[R7].
[R8]
[R10]
[R5]
[R11]
[R5]
[R12]
[R5]
[R13]
[R14]
[R15]
[R16]
[R17]
Version 1.0.2
[R7]
Page 22 of 28
[R10]
[R18]
[R19]
[R20]
[R21]
[R22]
[R9]
[R23]
[R9]
[R24]
[R17]
[R25]
[R26]
[R6]
[R27]
[R12]
[R28]
Requirement was non-functional and implementationspecific. Requirement merged with old requirement
[R27].
[R12]
[R29]
[R14]
[R30]
[R13]
[R31]
[R32]
[R33]
[R16]
[R34]
[R15]
[R35]
[R36]
[R6]
[R37]
[R17]
[R38]
[R17]
Version 1.0.2
[R11]
-
Page 23 of 28
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
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.
10
11
12
13
14
15
16
New requirement [R20] created to allow users to block other users from messaging
them.
17
18
19
Issue regarding confusion over whether g stood for grand or gold clarified in Section
3.2.
20
21
Note added to Height attribute mentioning that height will be listed as feet and inches.
22
Version 1.0.2
Page 24 of 28
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
26
27
28
29
30
Issue regarding whether username and password are determined when the user creates
his or her profile added to requirement [R4].
31
32
33
34
35
36
37
Issue regarding whether to use the recipients user name or email address clarified in
requirement [R17].
38
39
Resolution
Version 1.0.2
Page 25 of 28
Login page
Home page
Version 1.0.2
Page 26 of 28
Search page
Version 1.0.2
Page 27 of 28
Profile page
Version 1.0.2
Page 28 of 28