Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 QR Marks the Spot Requirements Definition Version 1.0 Page 1 Doc. No.: Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 Revision History Date 2009-10-01 Version 0.01 Description Initial Draft Author Rebeka Belavić Page 2 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 Table of Contents 1. 2. 3. Introduction 4 1.1 1.2 1.3 1.4 Purpose of this document Intended Audience Scope Definitions and acronyms 1.4.1 Definitions 1.4.2 Acronyms and abbreviations 1.5 References 4 4 4 4 4 4 5 Requirements Description 5 2.1 2.2 2.3 2.4 2.5 2.6 5 5 6 6 7 7 Use Case Models 3.1 4. 5. Introduction General requirements Game preferences Database requirements Web services requirements Web site requirements Use case Web Site 3.1.1 Use case “Sign up” 3.1.2 Use case “Read general information” 3.1.3 Use case “Sign in” 3.1.4 Use case “Select a game” 3.1.5 Use case “Join a game” 3.1.6 Use case “Update game status” 3.1.7 Use case “Leave a game” 3.1.8 Use case “Communicate with other players” 3.1.9 Use case “Modify or deactivate account” 3.1.10 Use case “Sign out” 3.1.11 Use case “Create a game” 3.1.12 Use case “Invite users to play a game” 3.1.13 Use case “Modify or delete a game” 8 8 8 9 9 9 10 10 11 11 12 12 12 13 13 Requirements Definition 14 4.1 4.2 4.3 14 14 14 15 Requirement Group Definitions Requirement Sources Requirements definitions 4.3.1 Change Log Future Development 16 5.1 5.2 5.3 16 16 16 General Overview Specific group 1 Specific group 2 Page 3 Project Name Requirements Definition 1. Version: 1.0 Date: 2009-10-01 Introduction 1.1 Purpose of this document This document will provide the list of various requirements for QR Marks the Spot project. The requirement definition will illustrate the main, general and specific requirements of the project. The document will give the general and detailed overview of the project and its product. 1.2 Intended Audience This document contains the list of requirements which can be used by:  Team members  Project leader / Team leader  Steering group  Customer. 1.3 Scope This document describes the project requirements for QR Marks the Spot project. It contains general system requirements, a list of specific requirements for each part of the system (database, web site, web services) , a list of game requirements, a list of scenarios described with use case model and requirement definition. 1.4 Definitions and acronyms 1.4.1 Definitions Keyword QR 1.4.2 Definitions Quick Response Acronyms and abbreviations Acronym or abbreviation MVC PM Definitions Model View Controller Personal Message Page 4 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 1.5 References 2. Requirements Description 2.1 Introduction The goal of this project is to create a game based on QR codes. QR codes are two-dimensional barcodes and can be used as a marker for both location marking and item tracking, thanks to their distinguishable and easily notable features. Software capable of scanning 2D bar-codes is available for every mobile phone platform, which makes it possible for anybody who owns a mobile phone to participate. User has to have the option to play and create a game via Web site. A system that will allow the user to do that will be developed with the MVC design architecture:  web site as a user-friendly interface for communicating with the system,  database where all the relevant data will be stored,  web services which will connect these two (database and web site). 2.2 General requirements In this section, general requirements will be explained. They are roughly divided in 3 parts:  Model: The database will store all the relevant data concerning the users (players), games (game info, game creator etc.), locations of QR codes and any other relevant information.  View: Web site should be created to make the game accessible world-wide and to provide a userfriendly interface for communicating with the system, but also with other players. It also enables the user to have different roles, whether as a simple player of the game, or as the creator of the game. Different APIs like Google Maps, Facebook and Twitter will be used to help participants play the game  Controller: Web Services will provide some of the most important system functionalities. They will process the data exchanged between the database and the web site (see Figure 1). Figure 1: MVC architecture of the system Web service retrieves the data from a database (3) and displays it for the user on the Web Site (4). After the user changes the data (1), the web service stores the updates in the database (2). Page 5 Project Name Requirements Definition 2.3 Version: 1.0 Date: 2009-10-01 Game preferences Since the goal of this project is to create a game based on the QR codes, a set of game rules needs to be defined. These rules will be presented to the user when creating a new game on the web site. The following game preferences will be available to the user:  Game types   Treasure hunt “Classic“ treasure hunt - Treasure hunt with riddles - The solution is the next location - The solution unlocks the next location on the web site  Race Game visibility  Private game (invitation only)  Public game o o Limited number of players Unlimited number of players  Game style Time unlimited Time limited o Start and end times defined o Maximum time between joining the game and finishing is defined  Number of possible winners Single/Multiple winners  Additional options: Standalone game Series of games (game is part of a bigger game) Game can also be inactive (in design – if the creator doesn’t want to activate it immediately) or active (finished, playable). There are going to be 2 different types of the QR code games supported by the system – treasure hunt and race and each one will have a number of variations. The main difference between these 2 games is: in the race game, the player is given all the locations of the QR codes while in the treasure hunt game, the player is given one by one location. Creator of the game can define a content of the QR code (i.e., riddle, location, code number). The content is translated into QR code by using QR code generator. 2.4 Database requirements The technology we’ll use for creating the database is MySQL. The database will serve as a central location for storing all the information concerning:  User: personal information, games he is playing and his game status in the game (i.e., at which point in the specific game he is at, which games he has created, his personal messages (PM)), his game level based on gaming experience (i.e., the number of finished games)  Game: game information (name, description, creator), various game preferences, game statistics (i.e., most popular games), QR code locations for each game The database will be accessed by web services. In order to enable this communication, Hibernate will be used. Hibernate is an object-relational mapping library for Java language which provides a framework for mapping an Page 6 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 object-oriented domain model to a traditional relational database. 2.5 Web services requirements Web services will process the data exchanged between the web site and the database and provide the basic system functionalities. Web services will be related to:  User  Storing the data about the user when the user signs up  Retrieving the data about the user from the database  Checking whether the user exists in the database and process user credentials when the user signs in  Updating user information  Deactivating the user  Game  Storing the data about the game (game preferences) when the game is created  Retrieving the data about the games (general information)  Retrieving the data about specific game that a specific user is playing (i.e., user’s game status in this game)  Updating the status of the game for specific user  Inviting other players to play a game  Changing game preferences  Deactivating the game  Search  By user  By location  By game  By various game preferences  Etc. 2.6 Web site requirements Technologies used for designing the web sites are: XHTMLs, CSS, JavaScript, PHP and APIs. Required Web site features are:  making the created QR code games accessible world-wide  registering new users  creating new games  playing games which includes updating game status  communication between the players  providing help and useful information to the users Page 7 Project Name Requirements Definition 3. Version: 1.0 Date: 2009-10-01 Use Case Models 3.1 Use case model – Web site Figure 2. Web site use case scenario 3.1.1 Use case “Sign up” Initiator: Visitor Goal: Page 8 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 To register the visitor within the system Main Scenario: 1. Visitor opens the home page 2. Visitor selects the “Sign up” option 3. A sign up form is displayed 4. After filling in the form, visitor clicks the “Submit” button 5. Submitted data is sent to the appropriate web service 6. Web service stores the data in the database Extensions: 4. Requirement field empty Resume at 3. 3.1.2 Use case “Read general information” Initiator: Visitor, User, Creator Goal: To find out some information the user is interested in Main Scenario: 1. Visitor opens the home page 2. Visitor selects “Community” / ”Support” in the main menu 3. A community / support page is opened 3.1.3 Use case “Sign in” Initiator: User, Creator Goal: To authenticate the user Main Scenario: 1. User opens the home page 2. User enters his credentials (username, password) in the required fields 3. Entered credentials are being checked by the web service 4. Web service checks whether the user exists in the system 5. Web service checks whether the entered credentials are correct 6. User is signed in Extensions: 4. User does not exist in the system or entered credentials are incorrect Resume at 2 3.1.4 Use case “Select a game” Initiator: User Goal: To select a desired game Page 9 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 Main Scenario: 1. User opens the page containing a list of games by selecting the “Games” option in the main menu 2. User chooses the desired game from the list 3. Web service retrieves all the information about selected game from the database 4. Retrieved information is displayed to the user 3.1.5 Use case “Join a game” Initiator: User Goal: To join a specific game Main Scenario: 1. After retrieving the information about a game (see 3.1.4) the user is given the option to join the game 2. User clicks the join button 3. Web service processes the request and retrieves the location of the QR codes for this specific game 4. A location or a list of locations depending on the game type (hunt or race) is displayed 3.1.6 Use case “Update game status” Initiator: User Goal: To update game status and get the next location or finish the game Main Scenario: 1. User selects the “Games” option in the main menu 2. User selects the “My game” option in the main menu 3. Web service retrieves a list of games the user is currently playing 4. The list is displayed to the user 5. User selects the game he wishes to update 6. Web service retrieves the user’s game status for the selected game 7. Current status is displayed to the user 8. User enters the required field for updating the status (i.e., a code, a solution to the riddle, a list of locations etc.) and clicks submit button 9. Web service checks if the input is correct (does the user’s input match the expected values for this game) 10. If the input is correct, the next stage of the game is unlocked and the web service returns the information about the next stage 10. The information about the next stage is displayed to the user (i.e., the location of the next QR code the user must find, notification if the game is finished) Extensions: 8. User’s input is incorrect Resume at 7 Page 10 Project Name Requirements Definition 3.1.7 Version: 1.0 Date: 2009-10-01 Use case “Leave a game” Initiator: User Goal: To leave a game Main Scenario: 1. User selects the “Games” option in the main menu 2. User selects the “My game” option 3. Web service retrieves a list of games the user is currently playing 4. The list is displayed to the user 5. User selects the game he wishes to update 6. Web service retrieves the user’s game status for the selected game 7. Current status is displayed to the user 8. User selects the “Leave this game” button 9. Web service processes the request and stores the changes in the database 10. A message of leaving the game is displayed to the user 3.1.8 Use case “Communicate with other players” #1 Initiator: User Goal: To communicate with other users via private messages Main Scenario: 1. User selects the “Inbox” option in the main menu 2. Web service retrieves the messages for the user 3. Messages are displayed to the user 4. User selects the “Compose” or “Reply” options 5. The form for new message is displayed 6. The user writes the message and clicks the “Send” button 7. Web service stores the message in the database in the table which contains messages for users 8. A “Message sent” message is displayed to the user 9. Recipient opens a received message (step 2) Extensions: 7. Wrong or unknown recipient Resume at 5 3.1.9 Use case “Communicate with other players” #2 Initiator: User Goal: To communicate with other players about games via comments Main Scenario: 1. User selects the “Games” option in the main menu Page 11 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 2. User selects the “My games” option 3. Web service retrieves a list of games the user is currently playing 4. The list is displayed to the user 5. User selects the game he wishes to comment on 6. Web service retrieves the information for the selected game and the list of previous comments 5. The list of comments for specific game and a form for new comment are displayed 6. The user writes the comment and clicks the “Send” button 7. Web service stores the comment in the database in the table which contains user comments for specific game 3.1.10 Use case “Modify or deactivate account” Initiator: User Goal: To change the information in the user’s profile or deactivate the profile Main Scenario: 1. User selects the “My profile” option in the main menu 2. Web service retrieves his profile information 3. Profile is displayed to the user 4. User changes the values he wishes to update and clicks “Save changes” button 5. Web service stores the updates in the database 6. If the user clicks the “Deactivate account” button on the “My profile” page 7. User is asked to enter his credentials (username, password) in the required fields 8. Web service checks whether the entered credentials are correct, 9. Web service stores the update in the database 10. User is given the instructions about reactivating the account Extensions: 8. User credentials are incorrect Resume at 7. 3.1.11 Use case “Sign out” Initiator: User, Creator Goal: To sign out of the system Main Scenario: 1. User selects the “Sign out” option in the main menu 2. User is signed out 3. Home page is displayed 3.1.12 Use case “Create a game” Initiator: Page 12 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 Creator Goal: To create a new game based on QR codes Main Scenario: 1. Creator selects “Games” option in the main menu 2. Creator selects the “Create new game” option 3. Game creation form is displayed 4. Creator selects the desired game preferences from the offered set of rules 5. Creator selects the locations for the QR codes and their order 6. Creator enters the content of each QR code 7. Creator clicks “Create game” button 8. Web service stores the game information, preferences, QR code locations and contents in the database 9. Appropriate QR codes are generated using the code generator and displayed to the user 10. The option to save generated codes in a pdf file format is displayed Extensions: 7. Requirement field empty Resume at 3. 3.1.13 Use case “Invite users to play a game” Initiator: Creator Goal: To invite a specific user to the game Main Scenario: 1. Creator selects “Games” option in the main menu 2. Creator selects the “My games” option 3. Web service retrieves the list of games the user has created, all the information about them 4. Creator selects the desired game 5. Creator selects “Invite player” option 6. Form for inviting new players is displayed 7. Creator fills the form and clicks “Invite” button 8. Web service stores the invitation in the database (table which contains messages for users) Extensions: 8. Requirement field empty Resume at 6. 8. Unknown recipient Resume at 6. 3.1.14 Use case “Modify or delete a game” Initiator: Creator Goal: To change the game preferences or delete the game Page 13 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 Main Scenario: 1. Creator selects “Games” option in the main menu 2. Creator selects the “My games” option 3. Web service retrieves the list of games the user has created, all the information about them 4. Creator selects the desired game 5. Information about the game (general information and game preferences) is displayed to the user 4. User changes the values he wishes to update and clicks “Save changes” button 5. Web service stores the updates in the database 6. If the user clicks the “Delete game” button, he is asked to enter his credentials (username, password) in the required fields 8. Web service checks whether the entered credentials are correct, 9. Web service stores the update in the database Extensions: 6. User credentials are incorrect Resume at 6. 4. Requirements Definition 4.1 Requirement Group Definitions Identification DB WS WSC G Requirement Group Rem. Database Web site Web services Game 4.2 Requirement Sources Source Description Rem. Customer (Marin Orlić) Required as a consequence of system design (contractor’s requirement) Developer’s suggestion Ctm Sys Ds 4.3 Requirements definitions Identity Sta tus Prio rity Description Source Games Page 14 Project Name Requirements Definition G-1 G-2 G-3 G-4 G-5 G-6 I I I I I I 1 1 1 1 1 1 DB-1 DB-2 I I I 1 1 DB-3 1 I DB-4 WSC-1 WSC-2 WSC-2.1 WSC-2.2 WSC-2.3 WSC-3 I I I I I I I WSC-4 I WS-1 I WS-2 I WS-3 WS-4 I I WS-6 I WS-7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Version: 1.0 Date: 2009-10-01 QR codes should be used in the game The game should take place in the real world Multiple game types should be supported Games should be user-created QR code readers on mobile phones should be used in the game Needed GPRS use should be kept at a minimum Database The database should be normalized The database itself should be free All data regarding players, games, locations and any other aspect of user interaction with the system should be stored in the database A persistence API should be used for mapping the RDBMS to objects (Hibernate) Web services Web services should be described using WSDL Web services should process all user information and requests At least one web service for processing all user related requests At least one web service for processing all games related requests At least one web service for processing all search related requests Only web services can access the database Web service should provide the infrastructure needed for user authentication Web site The game should have a web site to make it accessible worldwide Participants should be able to communicate using the game’s web site Various existing APIs should be used (GogleMaps, Facebook etc.) Web site should provide the visitors with the option to “Sign up” The users should have the ability to play games or create their own Web site should provide an intuitive interface for creating new games Ctm Ctm Ds Ctm Ctm Ctm Sys Sys Sys Sys Sys Sys Sys Sys Sys Sys Sys Ctm Ctm Ctm Sys Ctm Ds Requirement status: I = initial (this requirement has been identified at the beginning of the project), D = dropped (this requirement has been deleted from the requirement definitions), H = on hold (decision to be implemented or dropped will be made later), A = additional (this requirement was introduced during the project course). 4.3.1 Change Log Identity Acti on Date Comments Page 15 Project Name Requirements Definition Version: 1.0 Date: 2009-10-01 Requirement status: D = dropped (this requirement has been deleted from the requirement definitions), H = on hold (decision to be implemented or dropped will be made later), A = added (this requirement was introduced during the project course). R = resurrected (dropped or on hold requirement was reactivated) 5. Future Development 5.1 General Overview 5.2 Specific group 1 5.3 Specific group 2 Page 16
© Copyright 2025 Paperzz