Template
FUNCTIONAL SPECIFICATION S DOCUMENT TITLE A functional specifications document as the name suggests details out the functionality information of the system. It includes functional details of the modules, features and the business rules attached. The navigational flow is also explained through this document.
Functional Specification Document
Table Of content
Introduction...................................................................................................4 PURPOSE......................................................................................................................................................................................4 PROJECT OBJECTIVE......................................................................................................................................................................5
Functional Flow Specifications.........................................................................6 STRUCTURE OF THE PROJECT.........................................................................................................................................................6 Front End....................................................................................................................................8
A. Authentication ........................................................................................................8 A.1 Create Profile (Registration) ..............................................................................8 1.1 Diagrammatic Flow for Create Profile................................................................8 1.2 Narrative Use Case for Create Profile............................................................9 A. 2 Login...............................................................................................................13 1.1 Diagrammatic Flow for Login...........................................................................13 1.2 Narrative Use Case for Login...........................................................................13 A. 3 Recovered Password......................................................................................14 1.1 Diagrammatic Flow for Recover Password......................................................14 1.2 Narrative Use Case for Recover Password.......................................................14 B. Search Module..................................................................................................................17
B.1 Basic and Advance Search..........................................................................18
1.1 Diagrammatic Flow for Basic & Advance Search.............................................18 1.2 Narrative Use Case for Basic & Advance Search .........................................21 B.2 Product Details ...........................................................................................23 1.1 Diagrammatic Flow for Product Details...........................................................23 1.2 Narrative Use Case for Product Details................................................23 C. Categories.....................................................................................................26 1.1 Diagrammatic Flow for Product Details......................................................26 1.2 Narrative Use Case for Product Details..........................................................27 D. Quick Entry/Add to Shopping Cart/ Buy Now.................................................30 1.1 Diagrammatic Flow for Quick Entry/Add to Shopping Cart/Buy Now..........30 1.2 Narrative Use Case for Quick Entry/Add to Shopping Cart/Buy Now............31 E. Your Cart.......................................................................................................34 Page 2 | 4
Functional Specification Document
1.1 Diagrammatic Flow for Your Cart...............................................................34 1.2 Narrative Use Case for Your Cart .......................................................34 E.1 Order History (Order Management)............................................................37 1.1 Diagrammatic Flow for Order History.........................................................37 1.2 Narrative Use Case for Order History ............................................................38
Page 3 | 4
Functional Specification Document
Introduction This project outlines the functionality of a complete online store solution (an online shop digital -commerce solution) that contains both catalog front-end and an administration tool backend.
Purpose The purpose of the document is described with respect to the intended audience of the document. Within the Company Administrator Users: Managing the content on the website Managing the Users/Registered Users Managing the Product Catalog For Development •
Software Developers
•
Testers
Reading Suggestion It is recommended that the reader reads the document in the same flow as mentioned in the Document Convention below. Two basic distinctions followed in the document are:
• •
Website/Front-end Administrative Control Panel/Backend
DOCUMENT CONVENTIONS The document flow includes functional specifications/ functionalities/ feature details of Digital commerce Front- end and the Administrative Control Panel to manage the Digital commerce website. All the functionalities/features have been explained with the following convention: •
Diagrammatic Flow of the Process or Feature
•
Narrative Use Case
The key given below will assist in understanding the diagrammatic flows:
Page 4 | 4
Functional Specification Document
Project Objective
Expanded Customer Base Increase Visibility through Search Engine Marketing Provide Customers valuable information about your business Build Customer Loyalty
Page 5 | 4
Functional Specification Document
Functional Flow Specifications Structure of the Project
Page 6 | 4
Functional Specification Document
Page 7 | 4
Functional Specification Document
Front End A. Authentication A.1 Create Profile (Registration) 1.1 Diagrammatic Flow for Create Profile
Page 8 | 4
Functional Specification Document
1.2 Narrative Use Case for Create Profile
Page 9 | 4
Module Name: Create Profile (Registration)
Functional Specification Document Use Case Identification Use Case Name & Id User Use Case Type Description
Create Profile (Registration) (UC/D/01) An unauthenticated user. This use case describes the registration functionality. User needs to fill up a small registration form which will be having following sections Personal Information Billing Address Ship to a different address Contact Information Additional Information Username & Password Image Verification
Flow of Events Preconditions
User must have a valid email address.
Failed End Condition
If not supplied mandatory fields, user will be asked to fill them again.
Mandatory Fields
Personal Information: First Name Last Name Billing Address: Address City Province/ Territory Country Postal Code Contact Information: Phone E-mail User name & Password: User name Password Confirm Password Image Verification: Image Verification
Other Validations
Personal Information: First Name: Textbox (Characters Min{2} Max{20}) Last Name: Textbox (Characters Min{2} Page 10 | 4 Max{20}) Company: Textbox (Characters Min{0} Max{{50})
Functional Specification Document
1.3 Business Rules for Create Profile Authentication >Create Profile 1.1
User needs to provide a genuine and valid email address. Email address should be unique.
Page 11 | 4
Functional Specification Document
Module Name: Login
Use Case Identification Use Case Name & Id User
Login (UC/D/02) Registered user of the site.
Use Case Type
This use case describes the login functionality.
Description
This describes the login functionality. Using this feature, user can authenticate himself and access various other features available on the site.
Flow of Events Preconditions
User must be registered member of the site.
Failed End Condition
If user provides wrong username or password.
Mandatory Fields
Username Password
Other Validations Flow of Events
Ste p
Action
1.
In the ‘Authentication’ section of the homepage, user needs to fill his login credentials in order to login into his account. (Other modules which are only accessible to the logged in user, will also provide the same login form.)
2.
On click of ‘Login’, system will check whether the user exists in the database or not. If the provided username & password combination exists then it allows user to successfully log into the system. And will be redirected to the homepage.
3.
Additional Information
If the data is invalid then a system will throw appropriate error messages.
1. While logging into the system, if user fails thrice then forth time he/she will be redirected to the ‘Recovered Password’ page. (Refer UC/D/03) 2. If user does not have an account then ‘Register Here’ link will be provided on the same page. On click of the link user will be redirected to the ‘Create Profile’ page. Page 12 | 4 (Refer UC/D/01).
Functional Specification Document
A. 2 Login 1.1 Diagrammatic Flow for Login
1.2 Narrative Use Case for Login
1.3 Business Rules for Login Authentication >Login 1.1
While logging into the system, if user fails to login 2-3 times and still entering the wrong username and password then ‘Image verification’ will be provided in addition to the login form.
Page 13 | 4
Functional Specification Document
A. 3 Recovered Password 1.1 Diagrammatic Flow for Recover Password
1.2 Narrative Use Case for Recover Password
Page 14 | 4
Functional Specification Document
Module Name:
Recover Password
Use Case Identification Use Case Name & Id User
Recover Password (UC/D/03) Registered user of the site.
Use Case Type
This use case describes the recover password functionality.
Description
User can use this feature to retrieve his/her forgotten password.
Flow of Events Preconditions
User must be registered member of the site.
Failed End Condition
If user provides wrong email address.
Mandatory Fields
Email Address
Other Validations
This email address should match with the one user has provide at the time of registration.
Flow of Events
Ste p
Action
1.
‘Authentication’ section of the homepage includes the link ‘Recover Password’. On click of this link, user will be redirected to the ‘Recover Password’ page. (While logging into the system, if user fails thrice then forth time he/she will be redirected to the ‘Recovered Password’ page.)
2.
On the ‘Recover Password’ page, user needs to provide same email address which he has provided at the time of registration. On click of ‘Submit’, system will check whether the email address exists in the database or not. If it exists then it an email notification will be sent to the user and message will be displayed as “An email with your account information was mailed to <Email Address>. Use the received data for logging into the shop.”
3.
Additional Information
If the data is invalid then a system will throw appropriate error messages.
1. While logging into the system, user fails twice then third time he/she will be redirected to the ‘Recovered Password’ Page 15 | 4 page.
Functional Specification Document
1.3 Business Rules for Recover Password Authentication > Recover Password 1.1
An email notification will be sent to the user. This email will contain the login credentials of the user.
Page 16 | 4
Functional Specification Document
B. Search Module
Page 17 | 4
Functional Specification Document
B.1 Basic and Advance Search 1.1 Diagrammatic Flow for Basic & Advance Search
Page 18 | 4
Functional Specification Document
Page 19 | 4
Functional Specification Document
Page 20 | 4
Functional Specification Document
1.2 Narrative Use Case for Basic & Advance Search
Page 21 | 4
Module Name:
Basic & Advance Search
Functional Specification Document
Use Case Identification Use Case Name & Id User
Basic & Advance Search (UC/D/04) An anonymous or registered user.
Use Case Type
Basic and advance search features are available to find the desired product.
Description
Using the search functionality, user can search for the desired product.
Flow of Events Preconditions Failed End Condition Mandatory Fields Other Validations
Keyword (Basic) search: Search for Pattern: Textbox(Characters Min{0} Max{120}) (All special characters are allowed) Radio button with values: {All words, Any word and Exact Phase} Search in: Checkboxes with values {Product Title, Short Description, Detailed Description and SKU} Advance Search: Search In Category: Dropdown with all values coming from category master Checkboxes with values {Main Category, Additional Category, Also search in sub categories} Price (CA$): Two textboxes separated by hyphen Textbox (Numeric Min{0} Max{15}) (Special character ‘.’ Is allowed)
Flow of Events
Ste p
Action
1.
User may or may not enter the keyword and click on ‘Go’. Search result will be displayed (if keyword is provided then result matching with the criteria will be displayed and if it is blank then default listing will be displayed. (Default listing will be displayed )
2.
User may sort the listing by 1. SKU (Product Code) 2. Product (Product Title) 3. Price (Product Price)
3.
On the search result page, user can enter the required quantity and may choose one of the following options: 1. Buy Now
2. Add to Favorites 4.
Page 22 | 4 If user clicks on ‘Buy Now’ then user will be redirected to ‘Your Shopping Cart’ page (if user is logged in’ else he/she will be redirected to the ‘Login’ page. (Refer
Functional Specification Document
1.3 Business Rules for Basic & Advance Search Basic & Advance Search 1.1
In order to add the product to the shopping cart, user needs to be logged in user.
1.2
To add any of the item to the folder (i.e. to save the favorite item), user needs to create the folder first. (Only added/edited folders will be available in the dropdown)
B.2 Product Details 1.1 Diagrammatic Flow for Product Details
1.2 Narrative Use Case for Product Details
Page 23 | 4
Module Name:
Basic & Advance Search > Product Details
Use Case Identification Use Case Name & Id User
Functional Specification Document Basic & Advance Search > Product Details (UC/D/05) An anonymous or registered user.
Use Case Type
Details related to the particular product will include: Product Description Product Code Weight Price Manufacturer Catalog Page Number Recommended Product List
Description
This use case describes various features available on the detailed page: 1. Send to friend 2. Product Rating 3. Customer Reviews
Flow of Events Preconditions Failed End Condition Mandatory Fields
Send to Friend: Your name Your e-mail Recipients e-mail Customer Feedback: 1) Product Rating: Select your rate 2) Customer Reviews: Your name Your message Image verification
Other Validations
Send to Friend: Your name : Textbox (Characters Min{2} Max{20}) Your e-mail: Textbox(Alphanumeric Min{2} Max{50}) (Special characters like ‘_’, ‘.’ Are allowed. ‘.’ and ‘@’ should be present in the provided string.) Recipients e-mail: Textbox(Alphanumeric Min{2} Max{50}) (Special characters like ‘_’, ‘.’ Are allowed. ‘.’ and ‘@’ should be present in the provided string.) Customer Feedback: 1) Product Rating: Select your rate Dropdown will have following values {Excellent, very Good, Good, Fair, Poor} 2) Customer Reviews: Your name: Textbox (Characters Min{2} Max{20}) Your message: Textbox (Characters Min{2} Max{200}) Page 24 | 4 (All special characters and white spaces are allowed) Image verification: Image Verification: Random
Functional Specification Document
1.3 Business Rules for Basic & Advance Search > Product Details
Basic & Advance Search > Product Details 1.1
User can vote for any product only once.
1.2
User can add review for any product only once.
Page 25 | 4
Functional Specification Document
C. Categories 1.1 Diagrammatic Flow for Product Details
Page 26 | 4
Functional Specification Document
1.2 Narrative Use Case for Product Details
Page 27 | 4
Module Name:
Categories
Functional Specification Document
Use Case Identification Use Case Name & Id User
Categories (UC/D/06) An anonymous or registered user.
Use Case Type
User can browse through various categories available and can buy desired product.
Description
This use case describes product catalog added through back-end. Various categories and sub categories of the product are available.
Flow of Events Preconditions Failed End Condition Mandatory Fields Other Validations Flow of Events
Step 1.
User can click on any of the category listed under ‘Categories’ module. Sub categories will be available under that category with the product count.
2.
Use can either click on sub category or can view the default listing of the products.
3.
User can browse though this product catalog till the last level. (Level is not defined. Product catalog has nth level.)
4.
When user comes on the product listing page,
5
User may sort the listing by 1. SKU (Product Code) 2. Product (Product Title) 3. Price (Product Price)
6.
On the search result page, user can enter the required quantity and may choose one of the following options: 3. Buy Now
4. Add to Favorites 7.
If user clicks on ‘Buy Now’ then user will be redirected to ‘Your Shopping Cart’ page (if user is logged in’ else he/she will be redirected to the ‘Login’ page. (Refer UC/D/07)
8.
If user clicks on ‘Add to Favorites’ then dropdown will be populated which has folder names (General: default folder and28 | 4 Page other (if any) created by the user.) (if user is not logged in then he/she will be redirected to the ‘Login page’)
Functional Specification Document
1.3 Business Rules for Categories Categories 1.1
Product catalog has nth level. This catalog will be handled in the back-end.
Page 29 | 4
Functional Specification Document
D. Quick Entry/Add to Shopping Cart/ Buy Now 1.1 Diagrammatic Flow for Quick Entry/Add to Shopping Cart/Buy Now
Page 30 | 4
Functional Specification Document
1.2 Narrative Use Case for Quick Entry/Add to Shopping Cart/Buy Now
Page 31 | 4
Module Name:
Quick Entry/Add to Shopping Cart/Buy Now
Functional Specification Document
Use Case Identification Use Case Name & Id User
Quick Entry/Add to Shopping Cart/ Buy Now (UC/D/07) A registered user of the site.
Use Case Type
User can add items to the shopping cart and make the payment of the product.
Description
This use case describes shopping cart functionality.
Flow of Events Preconditions
User needs to be logged in.
Failed End Condition
If user does not supply any mandatory details then he/she is asked to fill it again.
Mandatory Fields
Quick Entry Product Code (SKU) Step 1:Your Shopping Cart Quantity Step2 :Personal Details Personal Information: First Name Last Name Billing Address: Address City Province/ Territory Country Postal Code Contact Information: Phone E-mail User name & Password: Password Confirm Password
Other Validations
Quick Entry Product Code (SKU) : Textbox (Alphanumeric Max{10}) Quantity: Textbox (Numeric Max{3} Step 1:Your Shopping Cart Quantity: Textbox (Numeric Max{3} Step2 :Personal Details Customer No: Label (Displays customer number) Personal Information: First Name: Textbox (Characters Min{2} Max{20}) Last Name: Textbox (Characters Min{2} Page 32 | 4 Max{20}) Company: Textbox (Characters Min{0} Max{{50})
Functional Specification Document
1.3 Business Rules for Quick Entry/ Add to Shopping Cart/Buy Now Quick Entry/Add to shopping Cart/ Buy Now 1.1
An order notification will be sent to user’s email address.
1.2
An order will get processed according to the delivery details provided while shopping.
1.3
User can not jump to step 4 (i.e. Place Order) until unless he complete step3 (i.e. Shipping and Payment)
Page 33 | 4
Functional Specification Document
E. Your Cart 1.1 Diagrammatic Flow for Your Cart
1.2 Narrative Use Case for Your Cart
Page 34 | 4
Module Name:
Your Cart
Functional Specification Document
Use Case Identification Use Case Name & Id User
Your Cart (UC/D/08) Anonymous or registered user of the site.
Use Case Type
User can view the products added to the cart. This module also has quick link for checkout.
Description
Following features are available in this section: 1. View Cart 2. Checkout 3. Modify Profile 4. Delete Profile 5. Order History
Flow of Events Preconditions Failed End Condition
If user does not supply any mandatory details then he/she is asked to fill it again.
Mandatory Fields
View Cart Quantity Modify Profile Personal Information: First Name Last Name Billing Address: Address City Province/ Territory Country Postal Code Contact Information: Phone E-mail User name & Password: Password Confirm Password
Other Validations
View Cart Quantity: Textbox (Numeric Max{3}) Checkout Delivery Method: Radio button with value {Delivery } Payment Method: Radio button with values {On account, Purchase Order, Phone Ordering and Fax Ordering} Favorites Group name: Textbox(Characters Min{2} Max{50}) (By default Group named ‘General’ exists)
Page 35 | 4
Modify Profile Customer No: Label (Displays customer number) Personal Information:
Functional Specification Document
1.3 Business Rules for Your Cart Your Cart 1.1
At least one product needs to be available in the cart, in order to access checkout feature.
1.2
‘Modify Profile’ and ‘Delete Profile’ features will require authentication.
Page 36 | 4
Functional Specification Document
E.1 Order History (Order Management) 1.1 Diagrammatic Flow for Order History
Page 37 | 4
Functional Specification Document
1.2 Narrative Use Case for Order History
Page 38 | 4
Module Name:
Order History
Functional Specification Document
Use Case Identification Use Case Name & Id User
Order History (UC/D/09) Registered user of the site.
Use Case Type
User can search for the orders to view/process.
Description
This use case describes the order management functionality.
Flow of Events Preconditions Failed End Condition Mandatory Fields Other Validations
Basic Search: Date Period: Radio buttons with values {All dates, This month, This week, Today, Specify the period below} Following options will be enabled only if user selects option ‘ Specify the period below’: Order date from: Three dropdowns for month, date and year respectively. Order date through: Three dropdowns for month, date and year respectively. 1. First dropdown will have values from January to December 2. Second dropdown will have values from 1 to 31 3. Third dropdown will have values from 1999 to 2009 Advance Search Order ID: Two textboxes First textbox: Characters Max{20} Second Textbox: Characters Max {30} Order Status: Dropdown with values {Not Finished, Queued, Processed, Backordered, Declined, Failed, Complete}
Flow of Events
Step
Action
1.
User may or may not enter the search criteria and clicks on ‘Search’. Search result will be displayed as per the criteria specified. (By default result for all dates will be displayed.)
2.
Search result will contain following columns: Order Id Status Customer Date
Page 39 | 4
Total 3.
On click of any of the link except customer
Functional Specification Document
1.3 Business Rules for Your Cart > Order History (Order Management) Your Cart >Order History (Order Management ) 1.1
Status of the order will get updated as the order will be processed by the admin.
Page 40 | 4