Reference no: EM131032701
Tasks
Manage requirements for a project you are currently working on. This will normally be your group project.
1. Elicit requirements using appropriate techniques to produce a set of functional and non-functional requirements (e.g. look and feel, usability and humanity, performance, operational and environmental, maintainability and support, security, cultural and legal requirements). You must have at least 5 functional requirements and at least 5 non-functional requirements covering at least 4 different sub categories. You should negotiate with your tutor and group member to ensure that there is not excessive duplication in the case of a group project.
2. Using the provided template, document your requirements.
3. At appropriate stages within your project, review and update the requirements, using a risk register and change management tools and techniques as appropriate'
4. With reference to the requirements engineering lifecycle and the literature, and using examples from your own project, discuss the management of requirements. You should make specific reference to the following:
a. Explanation of the term "requirements management"
b. Techniques for eliciting requirements
c. Approaches to understanding the problem
d. Approaches to deriving a solution
e. Explanation of how management of detailed requirements differ in an agile project
f. Ensuring requirements quality
g. Requirements qualification and acceptance
h. Requirement management and change control
i. Requirement management and risk management
j. How a requirement management tool can assist with the capture, trace, analysis and management of changes to requirements. (Discuss, using annotated screen shots with examples from your own project).
5. You must submit the following:
- Report complete with citations and references in Harvard format.
- Supporting documentation e.g. screen shots, risk register/issues log, change control documentation, completed requirement templates, etc.Technology used to implement
For this project, we were given several platforms to choose between from the client, SEGA. The decision was between Magento, Shopify and Drupal Commerce. We installed, tested and evaluated each platforms features and compared this against the specification given by the customer.
Our final choice was Shopify because collectively as a group we feel it will be the easiest one to learn to develop with as well as the fact that it is very customisable.
Shopify is a hosted platform, in the cloud, with minimal need to program with any coding language. This means it will allow us to create a high quality ecommerce shop in minimal time but with all the functionality that the client needs.
User Stories and Tasks
Story 1
As a game buyer, I want a website that has add to basket option, so that I can checkout and purchase my selected game.
Task: Create Add to Basket button
|
Priority: 8
|
Time: 1 day
|
Allocated To:Damien Bone
|
Implementation: Create the add to basket button on each product page, create the code which adds the selected item to the basket
|
Testing: When clicking the button, check that the item has been added to the basket, if an item of the same already exists, make sure the quantity in the basket increments
|
Task: Createa checkout button
|
Priority: 8
|
Time: 1 day
|
Allocated To:Damien Bone
|
Implementation: Create a checkout button in the basket, once clicked it takes the customer to the shipping and payment page. If the basket is empty the button is disabled.
|
Testing: When clicking the button, check that the customer is taken to the shipping and payment page, check that the total to pay is the same as was in the basket. If basket is empty, make sure the button is disabled.
|
Task: Create the basket page
|
Priority: 9
|
Time: 1 day
|
Allocated To:Damien Bone
|
Implementation: A basket page so that the customer can see the contents of their basket based upon what they have added to the basket
|
Testing:Check that the basket database contains the items the customer has added and that these are displayed on the screen.
|
Story 2
As a customer I want a website that has a search box which lets me find a particular game , so I don't have to waste my time going through the whole website.
Task: Create the search interface
|
Priority: 6
|
Time: 6 hours
|
Allocated To:Hugo Nwosu
|
Implementation: Create a search box and a submit button sends the form data to a results page
|
Testing:Check that text data can be typed into the search box, check that the submit button redirects to the results page.
|
Task: Create a results page
|
Priority: 7
|
Time: 12 hours
|
Allocated To:Jasleen Maan
|
Implementation: Create a page which displays "Search Results" title and is formatted so that it can display the results of a given search term.
|
Testing: Submit a search term and check to see that it displays this search term on the results page.
|
Task: Code the search facility
|
Priority: 5
|
Time: 1 day
|
Allocated To:Damien Bone
|
Implementation: Code a function for the search which allows it to pull up results from the database based on the search term, this can be from the title of the game or description.
|
Testing:Try searching for a term which exists in one of the games descriptions, if a result is produced then the test has passed. Try searching for a term which doesn't exists and if it finds no results then it has passed.
|
Story 3
As a parent of a 15 year old I want a website that has an age icon on the games, so I can buy an appropriate game for my kid.
Task: Research the correct age rating for the games
|
Priority: 8
|
Time: 1 hour
|
Allocated To:Damien Bone
|
Implementation: For each game, check what the specific age is for that particular game
|
Testing:Check that each game rating located is the same rating as found on the steam platform.
|
Task: Display the age rating against each game
|
Priority:8
|
Time: 3 hours
|
Allocated To:Mohamed Haji
|
Implementation: Add the age certificate logo for each game on its product page, making it visible.
|
Testing: Check on each product page that it shows clearly the age rating of each game.
|
Story 4
As a game buyer I want to see the technical details of each game so that I can make a decision based upon the device I have to play my game with.
Task: Create the database which stores the technical detail information
|
Priority: 6
|
Time: 4 hours
|
Allocated To:Hugo Nwosu
|
Implementation: Develop the database which stores important technical details about each game, such as; operating system, graphics card, storage and RAM.
|
Testing:Create the database with the relevant fields and add a games technical details to test that it stores it correctly.
|
Task: Research the technical details
|
Priority: 7
|
Time: 1 hour
|
Allocated To:Mohamed Haji
|
Implementation: For each game, obtain the technical system requirements required in order to run the game.
|
Testing: Once the details are gathered, compare them against the details available on the SEGA website and the Steam Platform.
|
Task: Display the technical details
|
Priority: 5
|
Time: 5 hours
|
Allocated To:Jasleen Maan
|
Implementation: On each product page, create a section which shows the technical details that are stored within the database.
|
Testing:Check each product page shows technical details for that game, compare it against what is stored in the database.
|
Story 5
As a game buyer, I want to buy from a website that offers me a discount so that I can save money on my purchase and become a loyal customer.
Task: Create the discount box interface
|
Priority: 4
|
Time: 3 hours
|
Allocated To:Hugo Nwosu
|
Implementation: Create a text box and OK button with a label saying "Discount Code" on the checkout page.
|
Testing:On the checkout page, check that the discount box and submit button are visible
|
Task: Create a database that stores the discount code information
|
Priority: 6
|
Time: 2 hours
|
Allocated To: Jasleen Maan
|
Implementation: Create a database which contains a list of discount codes and a field which indicates whether they have been used or not.
|
Testing: Add some discount codes and set some to active and some to inactive. Test applying an active discount code and confirming it gets applied. Test an inactive discount code and check that it doesn't get applied.
|
Story 6
As a game buyer, I want a platform where I can choose my language and country, so I can understand and have it shipped in the right place.
Task: Enable multi-currency ability
|
Priority: 4
|
Time: 5 hours
|
Allocated To: Jasleen Maan
|
Implementation: To enable pounds, dollars and euros when purchasing the games, by adding this function within the database.
|
Testing: Test all currencies to make sure they work, and correspond to the database for the multi-currency.
|
Task: Enable additional language support
|
Priority: 2
|
Time: 8 hours
|
Allocated To:Hugo Nwosu
|
Implementation: Create an option for the user to choose between English, Spanish and French.
|
Testing:When clicking on each different language, check that it is the language that is displayed in the body of the website.
|
Story 7
As an administrator, I want to see all the new registered customers who bought items from the website, so that I can offer them a discount for their next purchase.
Task: Create a page where the administrator can see all registered users
|
Priority: 5
|
Time: 12 hours
|
Allocated To:Mohamed Haji
|
Implementation: A page, only accessible by the administrators, needs to be created which shows the registered user details and whether they've purchased anything.
|
Testing:Register a new user and place an order first. Then as an administrator, check the page
|
Task: Ability to sort based on order totals
|
Priority: 2
|
Time: 1 day
|
Allocated To:Damien Bone
|
Implementation: Add a sort function where the administrator can sort highest to lowest in order volume.
|
Testing: Check that when the administrator tries to sort by highest to lowest that it sorts the data according to the selection.
|
Story 8
As an administrator, I want the customers to receive order confirmations by e-mail so that they can feel at ease their orders have been placed.
Task: Configure an outgoing confirmation email template for when a customer places an order.
|
Priority: 6
|
Time: 4 hours
|
Allocated To:Jasleen Maan
|
Implementation: Create ane-mail template that will show the customer details, such as; customer name, email address and order details.
|
Testing: Place an order using a registered customer and confirm that the e-mail received contains the order details, e-mail address and customer's name.
|
Task: Code the functionality for sending out an order confirmation e-mail
|
Priority: 4
|
Time: 12 hours
|
Allocated To:Damien Bone
|
Implementation: Create a function which automatically sends an e-mail to the user who placed the order, with all of the order details.
|
Testing: Place a new order using a registered customer and check that an e-mail is received and that it contains the correct order details.
|
Story 9
As a customer, I want a website that I can register and save my details, so that whenever I want to buy a game I don't have to give all my details again.
Task: Create the registration form
|
Priority: Medium
|
Time: 12 hours
|
Allocated To:Mohamed Haji
|
Implementation: Create a registration page which asks for the customers basic registration details, when the form has been submitted, save these into the database.
|
Testing: Check that the registration page has each field labelled correctly and that when it saves the data into the database that it saves in the correct field.
|
Task: Create the registration database
|
Priority: High
|
Time: 1 day
|
Allocated To:Jasleen Maan
|
Implementation: Create a database which will store the registration details of the users.
|
Testing: Check that when the registration data has been submitted to the database that it is stored under the right headings
|
Task: Retrieve registration details
|
Priority: Low
|
Time: 2 days
|
Allocated To:Hugo Nwosu
|
Implementation: Create a login page and an account page which allows the customer to review and update their details in a secure environment
|
Testing: Check that a user can login with the given registration details and that in their account page, they can see these details and not somebody else's.
|
Story 10
As a customer I want to be able to rate a product and see product ratings, so that I can see reviews beforehand, as well as sharing my experience.
Task: Display product ratings for each game
|
Priority: 2
|
Time: 2 hours
|
Allocated To:Hugo Nwosu
|
Implementation: On each product page implement a section where the customer can see the overall ratings in form of five stars.
|
Testing:Check each product page to see that a star rating section is visible.
|
Task: Allow the user to submit a product rating for each game
|
Priority: 4
|
Time: 5 hours
|
Allocated To:Mohamed Haji
|
Implementation: On each product page implement a section where the customer can submit a rating in the form of five stars.
|
Testing: Check each product page to check that the user is able to submit a rating in form of a star interval.
|
Task: Implement a database to store the product ratings
|
Priority: 3
|
Time: 2 hours
|
Allocated To:Damien Bone
|
Implementation: A database which stores what people have rated the product out of five stars should be created.
|
Testing:Check that when a user submits a rating, it stores it in the database. Check that when a user views the ratings that it is reflected from the database.
|
Story 11
As a customer I want to be able to share my purchases on a social media site such as Facebook so that I can let others know about my purchase.
Task: Create a Facebook sharing button
|
Priority: 2
|
Time: 3 hours
|
Allocated To:Jasleen Maan
|
Implementation: Once the customer has placed an order, they are presented with an overview of their order and there should be a button which allows you to share the purchase on their Facebook timeline.
|
Testing:Place an order and then click on the share button and check that it then shares the purchase(s) on your timeline.
|
Task: Create a twitter sharing button
|
Priority: 2
|
Time: 3 hours
|
Allocated To:Damien Bone
|
Implementation: Once the customer has placed an order, they are presented with an overview of their order and there should be a button which allows you to share the purchase on their twitter feed.
|
Testing: Place an order and then click on the share button and check that it then shares the purchase(s) on your twitter feed.
|
Story 12
As a customer I want a website that has a variety of games, and previews, so that I can select the game I like the most.
Task: Source a preview for each game
|
Priority: 3
|
Time: 6 hours
|
Allocated To:Mohamed Haji
|
Implementation: Obtain some screenshots of the game during gameplay and a video showing a demo of the game
|
Testing:Check that, for each game we have screenshots and a demo video and check that the video plays correctly.
|
Task: Implement screenshots and demo video
|
Priority: 4
|
Time: 8 hours
|
Allocated To:Jasleen Maan
|
Implementation: On each product page, integrate the screenshots and the demo video.
|
Testing: Check the screenshots and demo video is visible on each product page.
|
Project Plan
For our project we will be doing three sprints, each with four user stories. Each user story has either two or three tasks which have been allocated to the individual that feels they are best suited to completing that task.
Priority
|
Story
|
Sprint
|
1
|
As a game buyer, I want a website that has add to basket option, so that I can checkout and purchase my selected game.
|
One
|
2
|
As a customer I want a website that has a search box which lets me find a particular game, so I don't have to waste my time going through the whole website.
|
One
|
3
|
As a parent of a 15 year old I want a website that has an age icon on the games, so I can buy an appropriate game for my kid.
|
One
|
4
|
As a game buyer I want to see the technical details of each game so that I can make a decision based upon the device I have to play my game with.
|
One
|
5
|
As a game buyer, I want to buy from a website that offers me a discount so that I can save money on my purchase and become a loyal customer.
|
Two
|
6
|
As a game buyer, I want a platform where I can choose my language and country, so I can understand and have it shipped in the right place.
|
Two
|
7
|
As an administrator, I want to see all the new registered customers who bought items from the website, so that I can offer them a discount for their next purchase.
|
Two
|
8
|
As an administrator, I want the customers to receive order confirmations by e-mail so that they can feel at ease their orders have been placed.
|
Two
|
9
|
As a customer, I want a website that I can register and save my details, so that whenever I want to buy a game I don't have to give all my details again.
|
Three
|
10
|
As a customer I want to be able to rate a product and see product ratings, so that I can see reviews beforehand, as well as sharing my experience.
|
Three
|
11
|
As a customer I want to be able to share my purchases on a social media site such as Facebook so that I can let others know about my purchase.
|
Three
|
12
|
As a customer I want a website that has a variety of games, and previews, so that I can select the game I like the most.
|
Three
|