-
Notifications
You must be signed in to change notification settings - Fork 5
Requirements Model
Zhekai Jiang edited this page Oct 8, 2020
·
20 revisions
- Textual Requirement Descriptions
- Use Case Diagram
- Detailed Specification for 5 Most Important Use Cases
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. |
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: 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:
- The user clicks on "Sign Up".
- The user is prompted to enter a username.
- The user is prompted to enter an email.
- The user is prompted to enter a password twice.
- The user selects whether to register as a customer, an artist, or both.
- The user accepts the terms and conditions.
- The user confirms to sign up.
- 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.
- The art gallery system creates the profile for the new user in the database.
- 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.
- The system displays an error message and prompts the user to complete all the required fields.
- The user completes the required entries and attempts to confirm again.
- The system does the verifications again.
- The username entered is already used by an existing user.
- The system displays an error message and prompts the user to enter an alternative username.
- The user enters a different username and attempts to confirm again.
- The system does the verifications again.
- The email address entered is invalid.
- The system displays an error message and prompts the user to correct the email address.
- The user corrects the email address and attempts to confirm again.
- The system does the verifications again.
- The email address entered is already used by an existing user.
- The system displays an error message and prompts the user to enter an alternative email address.
- The user enters a different email address and attempts to confirm again.
- The system does the verifications again.
- Some fields are not complete.
-
Postcondition (success):
- A new user with the specified profile is created.
- A message indicating success is shown.
- The user is automatically logged in with the account created.
- The user is directed to the homepage after 5 seconds.
-
Postcondition (failure):
- 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.
- 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:
- The user log into the system with customer identity.
- The customer clicks the 'discover' button.
- The system provides a scrolling view of all available art pieces.
- The customer clicks into one art piece.
- The system provides more details about the art piece and a 'purchase' button.
-
Basic Path:
- The user log into the system with customer identity.
- The customer clicks the 'discover' button.
- The system provides a scrolling view of all available art pieces.
- The customer clicks into one art piece.
- The system provides more details about the art piece and a 'purchase' button'.
- The customer clicks the 'purchase' button.
- The system archives to the payment page.
- The customer enters the required payment information.
- The system checks the payment.
- The system archives to a 'Successful payment' page.
-
Alternate/Exception path:
- The user clicks the 'Back' button on the payment page.
- The system loads back to the art piece detailed page.
- The user enters the invalid payment information.
- The payment form is incomplete.
- The system provides an 'form incomplete' alert.
- The payment information is invalid.
- The system provides an 'payment failed' alert.
- The user clicks the 'Back' button on the payment page.
- Postcondition (success): The customer successfully purchase an art piece
-
Postcondition (failure):
- The system stays on the payment page if the payment is failed
- The system gives the corresponding alerts to the customer
- 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:
- The customer types his/her name, phone number, street address, city, province, country, and postal code on the delivery page.
- The system provides nearby store addresses to the customer. The customer chooses the store.
- The system provides a pick-up reference number and the address of the store to the customer.
- Once the art piece is purchased, the customer could see his/her in-store pick-up status changes to pending.
- Once the art piece is delivered to the store, the customer’s in-store pick-up status changes to available for pick up.
- The customer goes to the store and provides his/her phone pick-up reference number, phone number, and name.
- 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:
- The customer types his/her name, phone number, street address, city, province, country, and postal code on the delivery page.
- The system provides nearby store addresses to the customer. The customer chooses the store.
- The system provides a pick-up reference number and the address of the store to the customer.
- The customer provides name, phone number, and pick-up reference number when enters the store.
- 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.
- The system has a "go back" button. The customer should change his/her information.
- The customer wants to cancel his/her purchase item.
- Use the "go back" button and goes to the payment page to cancel the payment.
- Customer wants to change a store to pick up
- 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.
- 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
- The customer might choose another delivery method or choose a further store.
- The customer provides wrong information during pick-up
- The customer has one chance to check his/her information and reference number.
- The customer wants to change his/her information after getting the reference number.
- Postcondition (success): The customer successfully picks up his/her purchased art piece.
-
Postcondition (failure):
- The system asks the customer to choose another delivery method or choose a further store.
- The system asks the customer to choose another store.
- The system asks the customer to provide his/her name, phone number, and reference number again.
- 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.
- 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:
- User writes his/her email as an input
- User writes the correct password associated with the email account
- User clicks “Login” button.
- Art gallery system checks the database to cross reference with an existing email and password
- Art gallery system returns the result for this request.
-
Basic Path:
- User writes his/her email as an input
- User writes the correct password associated with the email account
- User clicks “Login” button.
- Art gallery system checks the database to cross reference with an existing email and password
- The email and passwords match an existing user stored in database; the system returns success.
- 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
- The system displays “wrong password” with the buttons “try again” and “forgot password”
- If the user clicked “try again”, the system will stay on the login page to allow user to enter email and password again.
- 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
- The system displays “wrong password” with the buttons “try again” and “forgot password”
- If the user clicked “try again”, the system will stay on the login page to allow user to enter email and password again.
- 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
- The system displays “wrong password” with display the page for recovering password.
- The user input email that does not exist, then clicked login button
- The system displays “user does not exist” with the button “try again” and “create a new user”
- If the user clicked “try again”, the system will stay on login page to allow user to enter email and password again
- 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
- The system displays a warning asking the user to fill in the blank.
- The user input wrong password for the first time, then clicked login button
- Postcondition (success): The system displays the homepage for this user
-
Postcondition (failure):
- The system stays on this page waiting for the user to try again
- The system displays a warning asking the user to fill in the blank
- The system redirects the user to the recovering password page.
- The system redirects the user to the create new user page.