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
© Copyright 2026 Paperzz