Skip to content

Requirements Model

Zhekai Jiang edited this page Oct 8, 2020 · 20 revisions

Table of Contents

Textual Requirement Descriptions

Functional Requirements

ID Requirements
FR1 The art gallery system shall allow users to create an account in the system.
FR2 The art gallery system shall allow artists to upload their art pieces for sale 95% of the time.
FR3 The art gallery system shall allow customers to browse and purchase art pieces.
FR4 The art gallery system shall be able to promote artwork available on users’ premises.
FR5 The art gallery system shall allow artists to deliver their art to their customers by mail.
FR6 The art gallery system shall allow customers to pick up their purchased art pieces at the store.
FR7 The art gallery system shall charge commission for the sold artwork.
FR8 The art gallery system shall allow users to login their own account using the email and password registered.
FR9 The art gallery system shall allow users to check the status (available, unavailable, purchased, pending, delivering) for all art pieces.
FR10 The art gallery system shall allow customers to cancel a purchase before payment.

Non-functional Requirements

ID Requirements
NFR1 The art gallery system shall support at least 10 payments at the same time.
NFR2 The art gallery system shall load user’s profile within 5 seconds after request.
NFR3 The art gallery system shall be able to be familiarized by user within 15 minutes of reading the instruction.
NFR4 The art gallery system shall have less than 30min downtime per month.

Use Case Diagram

UseCase Diagram

Detailed Specification for 5 Most Important Use Cases

FR1. Signing up - Zhekai Jiang

  • Use case: The art gallery system shall allow users to create an account in the system.
  • Scenario: As a user, I want to be able to create an account with a username, an email address, and a password that I set in order to access the full functionalities of the system.
  • Actor: User
  • Intention: The intention of the user is to create an account in order to access the full functionalities of the system.
  • Basic Path:
    1. The user clicks on "Sign Up".
    2. The user is prompted to enter a username.
    3. The user is prompted to enter an email.
    4. The user is prompted to enter a password twice.
    5. The user selects whether to register as a customer, an artist, or both.
    6. The user accepts the terms and conditions.
    7. The user confirms to sign up.
    8. The art gallery system verify the validity of the username, email address, and password, and that there is no missing field or mismatch in the two password fields.
    9. The art gallery system creates the profile for the new user in the database.
    10. The art gallery system displays a message to indicate success, logs the user in, and directs the user to the homepage after 5 seconds.
  • Alternative/Exception Paths:
    • Some fields are not complete.
      1. The system displays an error message and prompts the user to complete all the required fields.
      2. The user completes the required entries and attempts to confirm again.
      3. The system does the verifications again.
    • The username entered is already used by an existing user.
      1. The system displays an error message and prompts the user to enter an alternative username.
      2. The user enters a different username and attempts to confirm again.
      3. The system does the verifications again.
    • The email address entered is invalid.
      1. The system displays an error message and prompts the user to correct the email address.
      2. The user corrects the email address and attempts to confirm again.
      3. The system does the verifications again.
    • The email address entered is already used by an existing user.
      1. The system displays an error message and prompts the user to enter an alternative email address.
      2. The user enters a different email address and attempts to confirm again.
      3. The system does the verifications again.
  • Postcondition (success):
    1. A new user with the specified profile is created.
    2. A message indicating success is shown.
    3. The user is automatically logged in with the account created.
    4. The user is directed to the homepage after 5 seconds.
  • Postcondition (failure):
    1. An error message is shown to prompt the user to edit the respective fields, and the system does not proceed to create a new account before the user confirms again and the verifications succeed.

FR3. Browse and Purchase - Zheyan Tu

  • Use case: The art gallery system shall allow customers to browse and purchase art pieces.
  • Scenario: As a customer, I want to browse all available art pieces in a scrolling view and I can click into a certain art piece page which more details are provided and I can purchase with a button.
  • Actor: Customer
  • Intention: The intention of the customer is to view or purchase available art pieces.
  • Pre-condition: The user is log as a customer, and click the 'discover' button.
  • Step:
    1. The user log into the system with customer identity.
    2. The customer clicks the 'discover' button.
    3. The system provides a scrolling view of all available art pieces.
    4. The customer clicks into one art piece.
    5. The system provides more details about the art piece and a 'purchase' button.
  • Basic Path:
    1. The user log into the system with customer identity.
    2. The customer clicks the 'discover' button.
    3. The system provides a scrolling view of all available art pieces.
    4. The customer clicks into one art piece.
    5. The system provides more details about the art piece and a 'purchase' button'.
    6. The customer clicks the 'purchase' button.
    7. The system archives to the payment page.
    8. The customer enters the required payment information.
    9. The system checks the payment.
    10. The system archives to a 'Successful payment' page.
  • Alternate/Exception path:
    • The user clicks the 'Back' button on the payment page.
      1. The system loads back to the art piece detailed page.
    • The user enters the invalid payment information.
      1. The payment form is incomplete.
      2. The system provides an 'form incomplete' alert.
      3. The payment information is invalid.
      4. The system provides an 'payment failed' alert.
  • Postcondition (success): The customer successfully purchase an art piece
  • Postcondition (failure):
    1. The system stays on the payment page if the payment is failed
    2. The system gives the corresponding alerts to the customer

FR6. In-store pick-up - Linpei Duan (Angelina)

  • Use case: The art gallery system shall allow customers to pick up their purchased art pieces at the store.
  • Scenario: As a customer, I want to be able to pick up my purchased air pieces at the store.
  • Actor: Customer
  • Intention: The customer intends to pick purchased art pieces up at the store.
  • Pre-condition: The customer purchased the art piece and choose the “In-store pick up” delivery method.
  • Step:
    1. The customer types his/her name, phone number, street address, city, province, country, and postal code on the delivery page.
    2. The system provides nearby store addresses to the customer. The customer chooses the store.
    3. The system provides a pick-up reference number and the address of the store to the customer.
    4. Once the art piece is purchased, the customer could see his/her in-store pick-up status changes to pending.
    5. Once the art piece is delivered to the store, the customer’s in-store pick-up status changes to available for pick up.
    6. The customer goes to the store and provides his/her phone pick-up reference number, phone number, and name.
    7. The customer shall be able to pick up his/her purchased art piece and his/her in-store pick-up status changes to picked up.
  • Basic Path:
    1. The customer types his/her name, phone number, street address, city, province, country, and postal code on the delivery page.
    2. The system provides nearby store addresses to the customer. The customer chooses the store.
    3. The system provides a pick-up reference number and the address of the store to the customer.
    4. The customer provides name, phone number, and pick-up reference number when enters the store.
    5. His/her information matches the one on the system, the customer successfully picked up.
  • Alternate/Exception path:
    • The customer wants to change his/her information after getting the reference number.
      1. The system has a "go back" button. The customer should change his/her information.
    • The customer wants to cancel his/her purchase item.
      1. Use the "go back" button and goes to the payment page to cancel the payment.
    • Customer wants to change a store to pick up
      1. Before the status of in-store pick-up changes to available for pick-up, the customer could click the "change store" button and the system will provide available nearby stores.
      2. After the status changes, the "change store" button will disappear. The customer needs to call the store and pays an extra fee for the delivery.
    • No nearby store at all
      1. The customer might choose another delivery method or choose a further store.
    • The customer provides wrong information during pick-up
      1. The customer has one chance to check his/her information and reference number.
  • Postcondition (success): The customer successfully picks up his/her purchased art piece.
  • Postcondition (failure):
    1. The system asks the customer to choose another delivery method or choose a further store.
    2. The system asks the customer to choose another store.
    3. The system asks the customer to provide his/her name, phone number, and reference number again.
    4. The system shows that the pick up failed. The customer has a chance to go back and check his/her information and goes to the store to pick up again.

FR8. Log in account - Amelia Cui

  • Use case: The art gallery system shall allow users to login their own account using the email and password registered.
  • Scenario: As a user, I want to be able to log into my account using the email address and password registered to interact with the relevant functions of the system.
  • Actor: User
  • Intention: The intention of the user is to log into his/her homepage to access the functions for the art gallery system.
  • Pre-condition: The user is on the login page and clicked the “login” button.
  • Step:
    1. User writes his/her email as an input
    2. User writes the correct password associated with the email account
    3. User clicks “Login” button.
    4. Art gallery system checks the database to cross reference with an existing email and password
    5. Art gallery system returns the result for this request.
  • Basic Path:
    1. User writes his/her email as an input
    2. User writes the correct password associated with the email account
    3. User clicks “Login” button.
    4. Art gallery system checks the database to cross reference with an existing email and password
    5. The email and passwords match an existing user stored in database; the system returns success.
    6. The system opens the homepage for this user, which includes user profile, promoted art pieces and purchase history.
  • Alternate/Exception path:
    • The user input wrong password for the first time, then clicked login button
      1. The system displays “wrong password” with the buttons “try again” and “forgot password”
      2. If the user clicked “try again”, the system will stay on the login page to allow user to enter email and password again.
      3. If the user clicked “forgot password”, the system will display the page for recovering password.
    • The user input wrong password for the second time, then clicked login button
      1. The system displays “wrong password” with the buttons “try again” and “forgot password”
      2. If the user clicked “try again”, the system will stay on the login page to allow user to enter email and password again.
      3. If the user clicked “forgot password”, the system will display the page for recovering password.
    • The user input wrong password from the third time, then clicked login button
      1. The system displays “wrong password” with display the page for recovering password.
    • The user input email that does not exist, then clicked login button
      1. The system displays “user does not exist” with the button “try again” and “create a new user”
      2. If the user clicked “try again”, the system will stay on login page to allow user to enter email and password again
      3. If the user clicked “create a new user”, the system will display the registration page for new user.
    • the user did not enter email/password
      1. The system displays a warning asking the user to fill in the blank.
  • Postcondition (success): The system displays the homepage for this user
  • Postcondition (failure):
    1. The system stays on this page waiting for the user to try again
    2. The system displays a warning asking the user to fill in the blank
    3. The system redirects the user to the recovering password page.
    4. The system redirects the user to the create new user page.