Final Paper

36
Group 1 Game Space Site ISDS 454 Members: Jesse Draper, Mason Phelps Robert Holmes, Sergio Flores Ariel Hsu, Andy Peterson

Transcript of Final Paper

Page 1: Final Paper

Group 1

Game Space Site

ISDS 454

Members: Jesse Draper, Mason Phelps Robert Holmes, Sergio Flores Ariel Hsu, Andy Peterson

Page 2: Final Paper

Table of ContentsIntroduction....................................................................................................................................3

Business Requirements.................................................................................................................3

Functional Requirements...............................................................................................................3

Use Cases.....................................................................................................................................4

Use Case 1 - User Account Creation.........................................................................................4

Use Case 2 - Publish Game(s) for Rent....................................................................................4

Use Case 3 - Processing Damaged Game/Complaint...............................................................5

Use Case 4 - Payment Processing............................................................................................5

Use Case 5 - Game Search.......................................................................................................6

Table 1 - User Account Creation................................................................................................6

Table 2 - Publish Game(s) for Rent...........................................................................................8

Table 3 - Processing Damaged Game/Complaint...................................................................10

Table 4 - Payment Processing.................................................................................................12

Table 5 - Game Search............................................................................................................13

Table 6 - Returning a Game....................................................................................................14

Data Flow Diagrams....................................................................................................................15

Logical Entity Relationship Diagrams..........................................................................................19

Virtual User Interface (drawn by hand or web pages).................................................................20

Item Selection and Checkout Processes Storyboards.............................................................20

Post Game and View Account Processes Storyboards...........................................................21

Interface Structure Diagram........................................................................................................22

Physical Entity Relationship Diagrams........................................................................................23

User Interface Screenshots.........................................................................................................24

Title Page.................................................................................................................................24

Login Screen............................................................................................................................24

Cart..........................................................................................................................................25

Product Information..................................................................................................................25

Summary.....................................................................................................................................26

URL of the System.......................................................................................................................26

Page 3: Final Paper

Introduction

The Game Rental Store website is being developed as a interactive, eCommerce website and database application that will allow users to generate income from their existing console games (Playstation, Xbox, Nintendo Wii, etc). The game owners will be able to rent their games to other users for predetermined periods of time, at defined rental rates. Game renter users who wish to rent these available games from game owners will be able to search the database of available games, and add those games to their shopping cart to rent those games through the website. The Game Rental Store will retain a small percentage of all games rented to generate revenue. It may also engage in video game advertising with major video game manufacturers, and may also purchase games to rent directly to game renters.

The Game Rental Store website will be developed using the .NET framework, using mySQL database.

Business Requirements

The business requirements for the project include the following:

● Allow users to use our system to post their unused videogames for rental● Allow users to use our system to rent video games from other users.● Allow users to make future reservations for games● Make money by taking a percentage of the rental fees a “processing fee”

Functional Requirements

The functional requirements for the project include the following:

● Search for Game Titles● Add games available for rent● Check out games that have been “rented”● Check in games that have been returned from rental● Remove games that are no longer available for rent (due to damage, etc)● Add Game Titles to Shopping Cart● Enter Payment Information● Track Shipping/Delivery of Game● Track Returns of Rental Games● Website Shopping Cart for Video Game Rentals● Has a database of customers (buyers/renters, and sellers/rentees)● Has a database of video games being rented

Page 4: Final Paper

● Define and track prices for rentals● Allows users to see what games they have rented and who has rented their games● Allows users to create their own custom profile● Has an easy to use interface for users● Allows users to pull up receipts for previous purchases/rentals● Show games that have late return dates and post fees

Use Cases

The development team have generated six use cases for the Game Rental Store application. These use cases are described below, with tables 1 through 6 depicting the use case process flows for each use case.

Use Case 1 - User Account CreationOne use case for the application is to allow users to register on the website and create

their own profile. When a new, unregistered user first opens the site, they will set a limited view of the website with limited functionality. They will be asked to register to use all of the features of the website. The user will then click the “register” button which will redirect them to the registration page. The user will then fill out the form with their information and submit their entry. The entry will then update the database with their information, creating their personal account. Finally, after the user registers, they will be directed back to the main page with full site functionality.

A prerequisite of this process is that the user must be a brand new user who has never registered for an account. Some exceptions of this registration process mostly include the username and email. The email and username the new user inputs into the registration form must be unique. Also, a user cannot register with a username or email address that has already been banned from the system.

Use Case 2 - Publish Game(s) for RentAnother use case for the Game Rental Store application is to allow the user to publish one

or more games for rental. The actor in this use case is the game owner. The game owner identifies a game that they have as being available to rent to other users. The game owner will also identify the length of time they are willing to rent the game to other users for.

As a precondition of this use case, the owner of the game must be a registered user. They must be authenticated to the website. The game must be predefined as a game in the system. The game must be associated to the registered owner/user. Finally, the Game Rental Store application must be online and ready to use.

Page 5: Final Paper

There is one normal course through the use case, and one alternative course. The normal course defines the process of making one game available for rent, and the alternative loops through the steps to add additional games for rent.

At the completion of this use case, the game owner will have their list of games that they wanted to publish as available for rent display to rental users as available, with rental period(s), rate(s), etc.

One exception that may occur is if a game owner wants to publish a game they have that is not yet in the Game Rental Store’s database of games.

Use Case 3 - Processing Damaged Game/ComplaintThis use case involves processing a complaint about a damaged or unplayable game.

Some prerequisites for this process include logging into the user account, having the order status of the game show as complete, and must file the complaint no later than 48 hours after receiving the game.

First the renter must login to the site with her or her credentials. Then they click the order number of the transaction and verify that the status of the order is showing as “complete.” When the user starts the complaint process, the system will automatically verify that the complaint is within the 48 hour time period. If it is within the time period, the system will display a button that allows the user to file the complaint. The user will give details of the game’s condition and details about the problems with the game. Then, the user will submit the complaint and the owner is notified about the status of the game.

As an alternative course, owners of the game have the option to allow renters to make a special return request for other reasons other than a damaged game. First the renter must fill out a special return form stating their reason for the return. The system will then notify the owner of the request and include the renter’s submitted form. The owner then has the choice of accepting the return with a refund or deny it.

After one of these return conditions are successfully completed, some post-conditions will occur. First, the return request is updated in the system and posted on both the renter’s and owner’s profiles. Then, the order status will be changed to “return in progress.” Lastly, the owner will be notified of the return and will receive tracking updates on the shipping status of the return.

Use Case 4 - Payment ProcessingThis scenario involves the user setting up their payment information for renting games

from the website. After a user follows the steps to register as a member of our website, they will be directed to a page that allows the user to input a billing and shipping address.

Page 6: Final Paper

First, the user will be presented with a page for billing information. Text input boxes will be present for the user to enter information. The top section of the page will be allocated for card information. Card information contains Payment Type for selection between bank/credit card or PayPal., Name on the card, the Card Number, the Expiration date and the CVC code from the back of the card.

The lower section of the page will contain input boxes for billing information where the user will be able to input billing address information. Once all information has been input into the text boxes the user will notice a checkbox with the label “check if billing address is same for shipping address.” The user will have the option to check the or click to the shipping address page to input a different address specifically for shipping. Once all steps have been complete, the user will be sent to a page displaying all games in our database available for rent.

Use Case 5 - Game SearchThis case is to allow a user to search the database of games available to rent. The actor in

this case is the game renter. The game renter uses a keyword and/or genre and platform lists to specify a search parameter. This will be run against the table of games available to find items matching this criteria. Once found a list will be populated with the results in an easy to view format for the user. The user then can select a game from the list or modify his search parameters to yield different results.

A precondition of this use case is the user has to navigate to the homepage where there is a search bar for the user to access search functions. Also games have to be available for rent to populate the search results.

In the normal course for this case the user types a keyword or full name of the game into the game search bar which generates a list of best fitting games for the user to choose from. The user would scroll through this list looking at the information of each game till they make their selection. Once the user finds a game they like they will select the game and proceed to checkout.

An exception to this case is when no games are available that fit the user's search parameters. In this case the results will say “No games match your search results. Try a different keyword or search by genre.”

Page 7: Final Paper

Table 1 - User Account Creation

Use Case Name:User Account Creation

ID:UC-1

Priority:High

Actor:New Unregistered UserDescription:Shows the process that new potential users will have to go through in order to create a registered account on the site.Trigger:Type: ExternalPreconditions:1. A new user who has not created a registered account must access the site.Normal Course:1.0 User creates an account

1. A potential user will visit the site and see a limited view of the site.

2. The user will click the “register” button and be directed to the registration page.

3. The user enters in the required information and submits the form.

4. A confirmation message will appear and the user will be directed to their profile page.

Information for Steps

stored on user database

Alternative Courses:Postconditions:2. A new user will be added on the user database3. The newly registered user will have full access to all the functions on the site

Exceptions:4. The account cannot be created if the email address the user types in is already in the

system.5. The account cannot be created if the email address the user types in is banned from

the systemSummary InputsUser input form.Payment and billing information.

SourceNew, unregistered user.

OutputsUser account created.

DestinationRedirected to newly created user profile.

Page 8: Final Paper

Table 2 - Publish Game(s) for Rent

Use Case Name: Publish Game(s) for Rent ID: UC-2 Priority: High

Actor: Game Owner (GO)

Description: A Game Owner (GO) identifies a game that they have as being available for rental to other users. In this process, GO also identifies the length of time they are willing to rent the game for.

Trigger:Type: External

Preconditions:Game owner must be a registered user of the website.Game owner must be authenticated to the website.The game must be defined in the system.The game must be associated to the registered user/ownerThe Game Rental Store database is online and ready to use.

Normal Course:2.0 Publish video game(s) as available for rent.1. The GO tells the system they would like to publish a game to be rented.2. The system asks the GO the name of the game from their “owned” inventory that they want to make available.3. The GO selects the game they want to publish.4. The system asks the GO how long they would like to rent the game for.5. The GO tells the system how long the game can be rented.6. The system asks the user if they have additional game(s) to publish for rent.7. If GO indicates yes, move to Alternative Course 2.1, otherwise, System proceeds to next step.8. The system asks the GO to confirm the game(s) and rental periods.9. the system asks the GO to confirm that they would like to publish game(s) for rent.10. GO confirms, edits, or cancels game(s) and/or rental periods.

Information for Steps

Game Name in DB

List of Games in DB

Game in GO inventory

Rental Period

User Confirmation

Page 9: Final Paper

Alternative Courses:2.1 GO decides to publish more than one game (branch at step 7)1. The system asks the GO the name of the next game from their “owned” inventory that they want to make available.2. The GO selects the game they want to publish.3. The system asks the GO how long they would like to rent the game for.4. The GO tells the system how long the game can be rented.5. The system asks the user if they have additional game(s) to publish for rent.6. If the GO indicates yes, the system repeats 2.1

Postconditions:GO’s list of game(s) they wanted to publish as available for rent display to rental users as available, with rental period(s), rate(s), etc.

Exceptions:GO has games they would like to publish that are not in the database.

Summary InputsGame Selection FormDate Selection

SourceUnavailable Game Rental (for that GO)

OutputsAvailable Game Rental (for that GO)

DestinationWebsite Marketplace

Page 10: Final Paper

Table 3 - Processing Damaged Game/Complaint

Use Case Name: Game Return Request ID: UC-3 Priority: HighActor: RenterDescription: The renter initiates a return by clicking on an order number. The system satisfies the request by notifying the owner and generating a return form.Trigger: The renter needs a return.Type: ExternalPreconditions:

1. The renter is signed into his/her account.2. The renter’s order number needs to have status of “complete”.3. The renter must not exceed 48 hours after the game is delivered to request return.

Normal Course:3.0 Filing a return on game

1. The renter login with user ID.2. The renter clicks on order number link.3. The system checks the order number is

“complete”.4. The system verifies the order has not

exceeded the 48-hour mark after delivery.

5. The system displays return option to renter.

6. The renter submits return request.7. The owner is notified of renter’s return

request.

Information for Steps:

→ Time of package delivery.

→ Pre-written reason or renter’s written response.

Alternative Courses:3.1 Renter requesting exception return

1. The renter requests exception return.2. The system requires the renter to enter

written response.3. The owner is notified of the exception

return with renter’s written response.4. The owner accepts or denies request.

Postconditions:1. The return request is updated to the system.2. Order status is changed to “Return in progress”.3. The owner is notified of the return request.

Exceptions:E3: The order has exceeded the 48-hour mark after delivery (occurs at step 3)

1. The system displays message, “This order has passed the 48-hour return time.”2. The system asks the renter to send request exception to owner or exit.3. (a) The renter decides to send exception request to owner.4. (a) The system starts Alternative Course.

Page 11: Final Paper

3. (b) The renter decides to exit. 4. (b) The system terminates the use case.Summary InputsRenter’s User IDRenter’s Order IDReturn reason (pre-written)Return reason(customized)

SourceRenter

OutputsReturn request formReturn exceptionOwner’s return request notification

DestinationRenterOwnerThe online game system.

Page 12: Final Paper

Table 4 - Payment Processing

Use Case Name:Payment Processing ID:UC-4 Priority:High

Actor: Registered UserDescription:Shows the process that the registered user needs to undergo in order to complete payment for the product.Trigger:Type: ExternalPreconditions:The user must be a registered user and has completed shopping for a product.Normal Course:

1. User Enters Name

2. User Enters Phone Number

3. User Enters Address

4. User Enters Credit Card Information

Information for Steps

Phone Number must match registration

Must be in Street, City, State, ZipCode formatCredit card information must include 16 digit code along with security codeand Expiration Date

Alternative Courses:

Postconditions:User will get a confirmation page and an email will be sent.

Exceptions:Credit card information is not valid.User Account doesn’t match registered user.Summary InputsUser information, Credit card information.

SourceDatabase

OutputsPayment Confirmation

DestinationConfirmation page

Page 13: Final Paper

Table 5 - Game Search

Use Case Name:Searching For Games ID:UC-5 Priority:HighActor:RenterDescription:Process user uses to look through all games available to find the game that they want to rentTrigger:Type: ExternalPreconditions:A search bar for users to access search functionsNormal Course:

1. User types a keyword or full name of the game into the game search bar which generates a list of best fitting games for the user to choose from.

2. The user would scroll through this list looking at the information of each game till they make their selection.

3. Once the user finds a game they like they will select the game and proceed to checkout.

Information for StepsDatabase of all video games available.

Titles and keywords of games.

Alternative Courses:1. User is unsure of what game they

want to rent so the select a genre from our genre menu.

2. This generates a list of popular games from that genre that the user can read through until they find one that they want to select.

3. Once they make the selection they proceed to checkout.

Database of all video games available.

Genre of games and their popularity.

Post conditions:User is directed to account login/creation for checkoutExceptions:No game is available that they want. User can look at unavailable games and make a future reservation.Summary InputsKeyword, title of game, or genre.

SourceRenter.

OutputsSelected game renter wants to rent.

DestinationUser account creation/login for checkout.

Page 14: Final Paper

Table 6 - Returning a Game

Use Case Name:Rented game return ID:UC-6 Priority:HighActor:Game RenterDescription:Describes the process by which games are returned by renter.Trigger:Type: ExternalPreconditions:

1. Renter wants to or needs to return game to lender.Normal Course:

1. Renter places game disc into case.2. Renter then places encased disk in pre-paid mailer provided with the game.3. Renter drops packaged game into mail.4. Renter notifies us that the rented game is in the mail.5. Renter awaits confirmation of successful return.

Information for Steps

Alternative Courses:

Post conditions:1. Renter awaits confirmation that rented game has been received by owner.2. Once confirmation the owner has received an undamaged game has been verified, the renter is cleared to use our service again.

Exceptions:1. An offer to purchase the game rented from the renter is accepted by the lender.

Summary Inputs1. Rented game in pre-paid mailer, in the mail.2. Notification game is in the mail.

SourceRenter

Outputs1. Returned game Verification.

DestinationRedirected to User Profile.

Page 15: Final Paper

Data Flow Diagrams

The context diagram and data flow diagrams (DFDs) below describe the logical data flows for the development of the Game Rental Store website application.

Page 16: Final Paper
Page 17: Final Paper
Page 18: Final Paper
Page 19: Final Paper

Logical Entity Relationship Diagrams

The logical Entity Relationship Diagram (ERD) below describes the logical entities (tables) and relationships that will be built into the database used for the Game Rental Store website application.

Page 20: Final Paper

Virtual User Interface (drawn by hand or web pages)

This section shows a mockup of the virtual user interface of the web pages. This is what the user will see when using the site. Also, this section includes the interface structure diagram. This is a mockup of how the menu system will work and how each screen, form, and report are related.

Item Selection and Checkout Processes Storyboards

Page 21: Final Paper

Post-Game and View Account Processes Storyboards

Page 22: Final Paper

Interface Structure Diagram

Page 23: Final Paper

Physical Entity Relationship Diagrams

The physical entity relationship diagrams (ERD) below describes the physical entities (tables) and relationships that are built into the database used for the Gamespace Rental website application.

Page 24: Final Paper

User Interface Screenshots

This section provides final user interface screenshots of the Gamespace Rental web pages. This is what the user will see when accessing the website:

Title Page

Login Screen

Page 25: Final Paper

Cart

Product Information

Page 26: Final Paper

Summary

Our development team has learned many things while going through the entire SDLC process to build the Gamespace application. The first problem we encountered was that the database design needed additional work even after we had begun the coding of the website. This included the need for additional tables to handle game genre and game platform.

We realized as we gave our first progress presentation that the development needed to be iterative, and needed to involve the users/people to ensure that we were getting meaningful feedback through the development process. As a result, a more informal SDLC methodology that allowed us to develop the site with flexibility in mind was key to the successful implementation of the site to make it user friendly and effective. We realized that Agile development, such as Adaptive Software Development, with its focus on customer involvement, incremental delivery, people not process, embracing change, and maintaining simplicity was ideal for this type of project. Our group also realized that additional functional requirements were uncovered through discussion with users/audience members during our initial presentation.

We believe our next steps, once the initial website application is launched, would involve a more comprehensive business plan and business strategy to obtain funding and support to get the site fully deployed and generating revenue. As part of the business plan, we would anticipate exploring all of the licensing restrictions and legal/contractual options available for deployment of a game rental website.

URL of the System

Pending final domain name registration and deployment of the site to a server infrastructure, our plan is to utilize the following URL: https://www.gamespace-rentals.com