Entertainment Guild -System Requirements
Prototype Documentation
1. Introduction
i. Purpose of this document
Primarily this document serves two (2) main purposes:
1. To guide you through the process of developing the requirements for a prototype web- application with a team or by yourself
2. To outline the requirements of the system you are developing in detail that uses React and the provided database.
ii. Project Summary
The overall goal of this project is to develop a prototype web-application that uses React and the supplied database to deliver an Online Store management system.
Here are the core details of this project summarised:
Main Objective
|
Key Points
|
Audience
|
• This web-application will be used by:
o Customers – to track their orders
o Employees – to track items available in store
o Administrators – to manage the site and items sold in the store, employees, and customer orders
|
Timeframe
|
• Restricted to one 12-week period
|
Budget
|
• None
|
Store Specifications
|
• Your store must sell whats in the provided database
|
Teamwork
|
• Teams of 1-4 will create their solution
|
2. General description
The core practical Assignment for INFT3050 will be the implementation of a web-app. That is, you determine what your shop is selling, based on the contents of the database. The owners have indicated that some items in the database are no longer carried by Entertainment Guild. The technological architecture, supporting software development tools and DB storage will be determined for you, consistent with being a first-time employee in an organisation using React and the supplied database.
3. Interface Requirements
While there is not set layout or colour scheme for this assessment, it is recommended that you use colours consistent with the ‘theme’ of your store management system. For example, if you were to make a store for fresh food, greens, whites, and a minimalistic approach would be appropriate to convey the ‘freshness’ of your products.
Suggested Colour Palette Pickers:
• Coolers https://coolors.co/
• ColorMind http://colormind.io/
• Color Palette Generator https://colors.muz.li/
But you must also consider the Accessibility of your site. You can sure Accessibility for your site by including the following recommendations from the World Wide Web Consortium (W3C) REF. The interface must confirm to the following standards for UI Design:
• Provide sufficient contrast between foreground and background
• Do not just use colour alone to convey information
• Ensure that interactive elements are easy to identify
• Provide clear and consistent navigation options
• Ensure that form. elements include clearly associated labels
• Provide easily identifiable feedback
• Use headings and spacing to group related content
• Create designs for different viewport sizes (desktop vs. phone)
• Include image and media alternatives in your design
• Provide controls for content that starts automatically
• Provide tooltips
4. Functional Requirements
Detailed here the functional requirements for the system, your goal is to produce a prototype online store management system using React and the supplied database. Outlined below are the core requirements for the system you will prototype, including:
• System diagrams – how we expect the system to function for the various users of our system (Use Cases)
• Business Scenarios – how we would expect the system to function, these will also serve as test cases foryour final prototype, which means you should be building towards this functionality in your development
• User Profiles – Who we expect to see using this system and what they can and can't do
• System Testing Credentials (Non-Financial) – These are credentials (user information) that can be used to test the system for both a regular user and an admin
• System Testing Credentials (Financial) – These credentials will help you test the payment of your system – note we do not actually want you to take payment, but you can test that your system can handle approved, timed-out, and declined payments and how this information will be conveyed to your users
i. System Diagrams and Documentation
When creating a new system, there are a number of diagrams used to describe that system. For the system you are going to build, this section details some of the documents required for this system, some of which have been built for you (Use Cases and Activity Diagrams), others will have to be built and submitted with your assignments (UI Wireframes, Entity Relationship Diagram (ER Diagram, Data Dictionary, and Class Diagrams).
User Interface Wireframes
You will be required to create Wireframes for the User Interface you intend to create, these will serve as a draft of your final UI and must be submitted in your SCRUMs and Progress Presentations.
While there is no standard method of generating Wireframes, here is a list of recommended tools that you could use to create your Wireframes:
• Free Online Tools
o draw.oi
o LucidChart
• Software
o Visio
o PowerPoint
• Manual
o Drawing it on paper, taking photos for submission
o Drawing it on a touchscreen device, take screenshots for your submission
Which one you chose is you to your team, but these must be created and submitted on Canvas.
Use Cases
Available on Canvas.
Activity Diagrams
These Activity Diagrams detail some Business Scenarios that we would expect to see in an Online Store management system, and these will be tested in your Solutions. The diagrams can be found in the Assignment Package.
Business Scenario
|
Name/Description
|
#1
|
Customer Searching for an Item
|
#2
|
Item Management form. the User Interface Layer
|
#3
|
Create a User Account
|
#4
|
Manage a User Account
|
ER Diagram
Provided online on Canvas.
Data Dictionary
Provided online on Canvas.
ii. User Profiles
For this Prototype, there are two (3) main Users.
Specifications
|
User Profile
|
Role
|
Customer
|
Employee
|
Admin
|
Description
|
Those who engage with your site to purchase
item/s
|
Employees of the
Entertainment Guild
|
Those who interact with the site to maintain the
items sold and customers
|
What this
User Can do
|
- Search items
- Create an account
- Track their order history
- Change their
account details
- Retrieve login information
|
- View
accounts
- View Items
|
- Add, edit, and
delete items in the site from the Web App User Interface
- Add, edit, and
delete Users and their information
- Create other Admins
|
What this
User Cannot do
|
- Add, edit, and
delete items in the site from the Web App User
Interface
- Add, edit, and
delete other Users and their
information
- Create Admin Users
|
- Add, edit, and delete items in the site from
the Web App User Interface
- Add, edit, and delete
other Users and their
information
- Create Admin Users
|
- While the Admin
can in theory,
purchase items and have a user
account, this
functionality
should not be
present in their Admin account
|
5. System Testing
For this assignment, you will be required to test your system to ensure that it works well. This will include:
• Add, edit and delete items
• Add, edit and delete users
• Authorised levels appropriate to all users
• All links working
• Appropriate and up-to-date information from the database
iii. Credentials (Non-Financial)
|
User Profile
|
Customer
|
Employee
|
Admin
|
First
Name
|
Cus
|
Empl
|
Admin
|
Last
Name
|
Tomer
|
Oyee
|
Istrator
|
Full
Name
|
Cus Tomer
|
Empl Oyee
|
Admin Istrator
|
Email
|
[email protected]
|
[email protected]
|
[email protected]
|
Password
|
Password1
|
Passw0rd
|
Pa$$w0rd
|
Address
|
221 Ring Road,
Callaghan, NSW, 2308, Australia
|
N/A
|
N/A
|
6. Performance Requirements
For this prototype, there are no specific performance requirements outside of an intuitive, easy to use interface. Other conditions such as required time, required memory, maximum error rate, etc. are not explicitly tested here.
7. Design Constraints
The design Constraints for this prototype are restricted to the software that can be used to develop the prototype. You must use the software and tools given to you in the course.
8. Non-Functional Attributes
The main non-functional attribute that we have is security – your completed prototype must take into consideration some basic security for securing payment.
For this prototype, there are no further addition non-functional attributes (Portability, Reliability, Reusability, Application compatibility, Data integrity, Scalability capacity etc.).
9. Schedule and Budget
As a student project, there is no budget allocated to this project. However, in the industry when you are writing your own specification documentation, it will be your job to draw up a budget that considers, time, resources (software, hardware) and salaries for your team (which may consist of 1-4 people or more. These expenses will add up quickly and it will be worth considering the trade-offs between time, resources, and the quality of the final product.
However, we have provided both a timeline template and an online survey for you and your team to determine the schedule of tasks to be completed throughout the Semester – see Canvas for templates.