Sei sulla pagina 1di 46

Software Requirements Specifications

For the Piccolo project


By Gabriel Sztejnworcel, Shai Ziv & Yariv Atias

Table Of Contents
1. INTRODUCTION ....................................................................................................................................4 1.1 Purpose ..........................................................................................................................................4 1.2 Scope .............................................................................................................................................4 1.3 Glossary..........................................................................................................................................4 1.4 References ......................................................................................................................................4 2. OVERALL DESCRIPTION..........................................................................................................................5 2.1 Product Features .............................................................................................................................5 2.1.1 Piccolo smartphone app main features (for the end user) .............................................................5 2.1.2 Piccolo web-based management system (for the business owner) .................................................5 2.2 User Characteristics .........................................................................................................................5 2.3 General Constraints .........................................................................................................................5 2.4 System Components ........................................................................................................................6 2.5 System Architecture ........................................................................................................................6 3. SOFTWARE REQUIREMENTS ..................................................................................................................7 3.1 Software General Requirements Shoppers Application ...................................................................7 3.1.1 Signup \ Login with Facebook .....................................................................................................7 3.1.2 Search for a shopping club .........................................................................................................7 3.1.3 Join a shopping club ..................................................................................................................7 3.1.4 Browse shopping clubs ..............................................................................................................7 3.1.5 Browse shopping club's offers ....................................................................................................7 3.2 Software General Requirements Management System.....................................................................8 3.2.1 Signup \ Login with Facebook .....................................................................................................8 3.2.2 Create a new shopping club. ......................................................................................................8 3.2.3 Edit shopping club details ..........................................................................................................8 3.2.4 Add a new offer for shoppers .....................................................................................................8 3.2.5 Remove an offer .......................................................................................................................8 3.2.6 Update an offer.........................................................................................................................8 3.2.7 View statistics of the club ..........................................................................................................8 3.2.8 System landing page ..................................................................................................................8 3.3 Software Specific Requirements Shoppers Application ....................................................................9 3.3.1 Functional Requirements ...........................................................................................................9 3.3.1.1 Signup \ Login with Facebook ..................................................................................................9

3.3.1.2 Search for a shopping club..................................................................................................... 12 3.3.1.3 Join a shopping club.............................................................................................................. 15 3.3.1.4 Browse shopping clubs .......................................................................................................... 18 3.3.1.5 Browse shopping club's offers ............................................................................................... 21 3.3.2 Non-Functional Requirements .................................................................................................. 24 3.3.3 Logical Database Requirements ................................................................................................ 25 3.3.4 External Interface Requirements .............................................................................................. 26 3.3.1.1 User Interface ...................................................................................................................... 26 3.3.1.2 Hardware Interfaces ............................................................................................................. 26 3.3.1.3 Software Interfaces .............................................................................................................. 26 3.3.1.4 Communication Interfaces .................................................................................................... 26 3.4 Software Specific Requirements Management System ................................................................... 27 3.4.1 Functional Requirements ......................................................................................................... 27 3.4.1.1 Signup \ Login with Facebook ................................................................................................ 27 3.4.1.2 Create a new shopping club ................................................................................................... 30 3.4.1.3 Edit shopping club details ...................................................................................................... 32 3.4.1.4 Add a new offer for shoppers ................................................................................................ 34 3.4.1.5 Remove an offer ................................................................................................................... 36 3.4.1.6 Update an offer .................................................................................................................... 38 3.4.1.7 Statistics of the club.............................................................................................................. 40 3.4.1.8 System landing page ............................................................................................................. 42 3.4.2 Non-Functional Requirements .................................................................................................. 44 3.4.3 Logical Database Requirements ................................................................................................ 45 3.4.4 External Interface Requirements .............................................................................................. 46 3.4.4.1 User Interface ...................................................................................................................... 46 3.4.4.2 Hardware Interfaces ............................................................................................................. 46 3.4.4.3 Software Interfaces .............................................................................................................. 46 3.4.4.4 Communication Interfaces .................................................................................................... 46

1. INTRODUCTION
1.1 Purpose
The purpose of this document is to specify the software requirements of the "Piccolo" project, and to overview the main components and functionality that shall be available in the first version of the application and environment.

1.2 Scope
The Piccolo project is a solution that includes a smartphone app and a management system. The main idea is to let small business owners start their own shopping club and offer the users of the Piccolo app to sign up to their club and offer the users special sales and benefits.

1.3 Glossary Term Definition API Application Programming Interface LOV List Of Values QR code Quick Response code, a trademark for a type of matrix barcode (or two-dimensional barcode). MSC Message Sequence Chart DB Database

1.4 References
http://developers.facebook.com/ - Facebook developers site http://phonegap.com/ - PhoneGap http://qrserver.com/ - QR SERVER

2. OVERALL DESCRIPTION
2.1 Product Features
The project is split into 2 products, a smartphone app for the end users and a management system for the business owners.

2.1.1 Piccolo smartphone app main features (for the end user)
- Sign up with Facebook account - Join or leave a shopping club - Browse offers of a certain club (must be signed to this club)

2.1.2 Piccolo web-based management system (for the business owner)


- Create a new shopping club - Manage club options (names, logos, photos) - Add / Remove / Update new offers and benefits for shoppers - View statistics of the club All data of both the smartphone app and the management system will be stored on a designated database server. Therefore, an active internet connection will be required.

2.2 User Characteristics


The end users will be any smartphone (or tablet) owner that would like to join a shopping club. The content producers will be the small business owners that want to add the benefits of a shopping club to their business but couldn't do so because of high costs.

2.3 General Constraints


Time limitation - The first version of the application should be released before September 13th 2012.

2.4 System Components 2.4.1 Web Browser


The web browser is the UI of the system.

2.4.2 Web Server


The core of the system, provides all functionality and data and responsible for creating web pages.

2.4.3 QR Code generator


Responsible for creating QR codes for new shopping clubs.

2.4.4 Facebook API


Use Facebook API to manage registration and login.

2.4.5 DB Handler
A mediator between the DB and the rest of the system.

2.4.6 DB
Store all applications data.

2.5 System Architecture

3. SOFTWARE REQUIREMENTS
3.1 Software General Requirements Shoppers Application 3.1.1 Signup \ Login with Facebook
Create a shopper's account using data from user's Facebook profile. Use Facebook API to retrieve data about the user and create the account.

3.1.2 Search for a shopping club


User will provide a search string and get a result page of clubs with details that match the search.

3.1.3 Join a shopping club


User will be able to join a shopping club that he found by either using the search option or by scanning the shopping club's QR code.

3.1.4 Browse shopping clubs


User will get a list of all his clubs and will be able to navigate to a specific club.

3.1.5 Browse shopping club's offers


User will be able to see all open offers of a specific club (user must be signed to that club).

3.2 Software General Requirements Management System 3.2.1 Signup \ Login with Facebook
Create a business manager account using data from user's Facebook profile. Use Facebook API to retrieve data about the user and create the account.

3.2.2 Create a new shopping club.


User will fill a form with the following details: - Business name - Business type (select from an LOV) - Business description - Address - Logo (upload an image file) When the user submits the form, the data will be validated. If validation succeeds a new shopping club will be created and the user will be provided a QR code containing a link to the shopping club's page that he can use to promote his shopping club.

3.2.3 Edit shopping club details


Update a form with the following details: - Business name - Business type (select from an LOV) - Business description - Address - Logo (upload an image file)

3.2.4 Add a new offer for shoppers


Fill offer description and upload image files. Once the offer is created the user can choose to send notifications to shoppers. The user will be able to choose from different kind of offers.

3.2.5 Remove an offer


User will choose an offer from the list and disable or delete it.

3.2.6 Update an offer


User will choose an offer from the list and update its details (description/images).

3.2.7 View statistics of the club


User will be able to view a list of people registered to the club, how many times an offer was viewed and admitted (in case of action required offer).

3.2.8 System landing page


The landing page will be a single HTML page with info about the system. It will include an option to login, download the shopper app and signup as a shop owner.

3.3 Software Specific Requirements Shoppers Application 3.3.1 Functional Requirements 3.3.1.1 Signup \ Login with Facebook
Priority Trigger Precondition Basic Path Essential "Login With Facebook" button was pressed in the welcome screen The user is in the welcome screen 1. The user presses "Login With Facebook" button from the welcome screen 2. If this is the 1st time, the Facebook app / browser takes focus (using the Facebook API) and asks the user to accept the permission required for the app to function. 3. After logged in with Facebook, the data will be stored on the DB. Data included the user profile and relevant data. If the operation failed, notify the user and stay in the welcome screen. 4. Login data is also saved to the local DB so user won't have to login again the next time he starts the app. 5. After successfully logging in, show the home page of the app. 6. If this was the 1st time a user logged in, show a welcome message. - The DB is updated with the user information (from Facebook) - Login information is stored locally on the app - User is taken to the home screen Exceptions - DB access errors (write / read) - Local DB access errors (write / read)

Post condition

MSC

Example Screen

3.3.1.2 Search for a shopping club


Priority Trigger Precondition Basic Path Essential The search button was pressed from the "Join A Club" screen The user is in the "Join A Club" screen 1. The user enters a string into the search field 2. The user pressed the search button 3. A DB query is being made, finding suitable results 4. Results are displayed to the user with the ability to join them - Search results are displayed to the user - DB access errors (read)

Post condition Exceptions

MSC

Example Screen

3.3.1.3 Join a shopping club


Priority Trigger Essential 1. The join button was pressed from club screen 2. a QR code was scanned Precondition 1. The user is in the club screen 2. The user scanned a QR code Basic Path 1. The user press the join club button from the club screen or scanning a QR code 2. After pressing the button, the user details will be submitted to the club and the user will be signed to the club. This data will be saved to the DB. 3. A message is displayed to the user of successfully sign up and the club page is being fully revealed. - User is signed up to the club - DB access errors (write / read) - Invalid QR code

Post condition Exceptions

MSC

Example Screen

3.3.1.4 Browse shopping clubs


Priority Trigger Essential Login to the application (browsing the shopping clubs takes place on the home screen of the application. Precondition 1. User is logs in 2. A back button was pressed, moving us back to the home screen Basic Path 1. The user logs in or open the application 2. A DB query is being made, selecting all user clubs 2. A list of clubs the user is signed to is displayed with a small numeric indication of new offers since the last time he logged in. 4. The user will be able to enter the club page by clicking it. The clubs list is being displayed to the user - DB access errors (read)

Post condition Exceptions

MSC

Example Screen

3.3.1.5 Browse shopping club's offers


Priority Trigger Precondition Basic Path Essential User enters a club screen (that he's signed to) User is signed to the club (see 3.4.1.3) 1. The user press on a club field 2. A DB query is being made, selecting all the valid offers the selected club offers. 3. The user is taken to the club page where he can browse the offers retrieved from the DB. 4. By pressing an offer, the user will be taken to the offer screen The offers offered by the clubs are shown to the user - DB access errors (read)

Post condition Exceptions

MSC

Example Screens

3.3.2 Non-Functional Requirements


The application shall not change any of the operating system options or to any of the other applications that are installed. The application shall not access any data stored on the device except its own DB and data stored in the application own cookies. Response time won't exceed 5 seconds All the information that is asked to be deleted will be deleted from the application, including all Facebook credentials. The user interface will be easy to operate and will be native to iOS and\or Android users The application should work with iOS and Android devices that have HTML5 supported browser

3.3.3 Logical Database Requirements

3.3.4 External Interface Requirements 3.3.1.1 User Interface


The UI shall be graphical. The UI will be developed with HTML5 and JavaScript and converted to specific mobile platforms using the PhoneGap framework.

3.3.1.2 Hardware Interfaces


The supported devices are Android and IPhone devices. The device must include a touch screen, a keyboard and a camera (for scanning QR codes).

3.3.1.3 Software Interfaces


The server side will be written in PHP programming language. The application shall interface with the following external software components: 1. Apache HTTP Server will be used as the applications web server. 2. MySql Database will be used as the applications database. 3. Facebook for managing registration and login. 4. IPhone / Android Camera for scanning QR codes.

3.3.1.4 Communication Interfaces


None.

3.4 Software Specific Requirements Management System


We will show here only one example screen that will be general for the system. The layout will stay the same and only the content will change according to the user selection. The content is basically just the data displayed inside forms with a submit button and doesn't require special design for each feature, like the shopper app.

3.4.1 Functional Requirements 3.4.1.1 Signup \ Login with Facebook


Priority Trigger Precondition Basic Path Essential "Login With Facebook" button was pressed in the system landing page The user is in the landing page 1. The user presses "Login With Facebook" button from the landing page 2. If this is the 1st time, the user will have to approve the permissions required by the system with his Facebook account (using the Facebook API). 3. After logged in with Facebook, the data will be stored on the DB. Data included the user profile and relevant data. If the operation failed,

Post condition

notify the user and stay in the welcome screen. 4. After successfully logging in, show the home page of the management system. - The DB is updated with the user information (from Facebook) - A cookie is saved in the user browser - User is taken to the home screen

Exceptions

- DB access errors (write / read) - Facebook errors (wrong login / no permissions are given)

MSC

3.4.1.2 Create a new shopping club


Priority Trigger Precondition Basic Path Essential "Create A New Club" link was pressed The user is logged into the management system 1. The user presses "Create A New Club" link 2. The user is taken to the above page where he fills up a form with details of the new club, including: name, type, description, address, logo/photo 3. The data submitted will be checked, if it is correct, the new club will be added to the system and to the user menu in the system management. 4. A QR code will be given to the user at this point (to promote his club) 5. If a data validation error occurred, the user will be notified and asked to enter the data again - A new club is added to the system - The club is added to the user menu (in the management system) - QR code is given to the user Exceptions - DB access errors (write / read) - Invalid data

Post condition

MSC

3.4.1.3 Edit shopping club details


Priority Trigger Precondition Basic Path Essential "Edit Details " link was pressed when the user is in the club page The user is logged into the management system 1. The user presses "Edit Details" link from the club page 2. The user is taken to the above page where he can change the details he inserted while creating the club 3. When submitting the changes, a data validation will take place again - Club details are changed - DB access errors (write / read) - Invalid data

Post condition Exceptions

MSC

3.4.1.4 Add a new offer for shoppers


Priority Trigger Precondition Basic Path Essential "Add An Offer" link was pressed from the club page The user is logged into the management system 1. The user presses " Add An Offer " link 2. The user is taken to the above page where he can add a new offer for his clients. Details to be submitted is: name, description, photo (of product), valid until, type of offer (Facebook action required vs Regular) 3. When submitting the changes, a data validation will take place again - A new offer is added to the club - DB access errors (write / read) - Invalid data

Post condition Exceptions

MSC

3.4.1.5 Remove an offer


Priority Trigger Precondition Basic Path Essential "Delete" link was pressed from the update an offer page The user is logged into the management system 1. The user presses " Delete " link 2. Confirmation box appears so the user can have a last chance to cancel the request 3. The offer is being deleted from the club, if confirmed - An offer is deleted - DB access errors (write / read)

Post condition Exceptions

MSC

3.4.1.6 Update an offer


Priority Trigger Precondition Basic Path Essential "Update An Offer" link was pressed from the club page The user is logged into the management system 1. The user presses " Update An Offer " link 2. The user is taken to the above page where he can edit the detailed of his current offers. 3. The user will select the offer by clicking it and he will be taken to a page with a filled form with the current offer detailed. He will be able to change this data and submit it. 3. When submitting the changes, a data validation will take place again - The offer is updated with the new details. - DB access errors (write / read) - Invalid data

Post condition Exceptions

MSC

3.4.1.7 Statistics of the club


Priority Trigger Precondition Basic Path Essential "Club Name" link was pressed from the club page The user is logged into the management system 1. The user presses " Club Name " link (the name of his club(s)) 2. The user is taken to the club name where he can view stats on his club including registered clients, views, his current offers - Change the page to the club home - DB access errors (write / read) - Invalid data

Post condition Exceptions

MSC

3.4.1.8 System landing page


Priority Trigger Precondition Basic Path Essential The web site was entered The user browses the internet and decide to enter our site 1. The user enters the site by entering its URL 2. Page is served by the web server 3. The page includes details about the phone app and the shop owner options with ability to login and signup - Page is displayed to the user - DB access errors (write / read) - Web server errors (down)

Post condition Exceptions

MSC

3.4.2 Non-Functional Requirements


The application shall not change any of the operating system options or to any of the other applications that are installed. It shall not use or attempt to exploit any bugs and security issues with the user browser The application shall not access any data stored on the device except its own DB and data stored in the application own cookies. Response time won't exceed 5 seconds All the information that is asked to be deleted will be deleted from the application, including all Facebook credentials. The user interface will be easy to operate and will be simple so every user can operate the management system The application should work with all popular browser (Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Apple Safari) in all the operating systems that support these browsers.

3.4.3 Logical Database Requirements

3.4.4 External Interface Requirements 3.4.4.1 User Interface


The UI shall be graphical. The UI will be developed with HTML5 and JavaScript.

3.4.4.2 Hardware Interfaces


None.

3.4.4.3 Software Interfaces


The server side will be written in PHP programming language. The application shall interface with the following external software components: 1. Apache HTTP Server will be used as the applications web server. 2. MySql Database will be used as the applications database. 3. Facebook for managing registration and login. 4. QR SERVER for generating QR codes.

3.4.4.4 Communication Interfaces


None.

Potrebbero piacerti anche