Shopping Cart Software Requirement Specification
Short Description
SRS...
Description
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
Shopping cart Software Requirements Specification
Version 1.1
Revision History Date
Version
Description
Author
25 Jan 2002
1.0
First draft
Sapozhnikov Andrey
3 Feb 2002
1.1
Second variant, added additional actors and use-cases
Sapozhnikov Andrey
8 Feb 2002
1.2
Minor use-cases changes
Sapozhnikov Andrey
Public
EleWise ltd, 2002
Page 1
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
Table of Contents 1. Introduction 1.1 Purpose 1.2 Scope
3 3 3
2. Overall Description 2.1 Business Object Model Survey 2.2 Use-Case Model Survey 2.2.1 Actors
3 4 5
3. Specific Requirements 3.1 Use-Case Reports 3.1.1 Customer use-cases 3.1.2 Customer with Premium account use-cases 3.1.3 User use-cases 3.1.4 Administrator use-cases 3.2 Supplementary Requirements 3.2.1 System platform 3.2.2 Communication protocol 3.2.3 Security
6 6
Public
5
EleWise ltd, 2002
6 10 11 13 13 13 13 13
Page 2
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
Software Requirements Specification 1.
Introduction
1.1
Purpose The purpose of this document is a definition of general requirements of Shopping cart system. Here are presented functional and nonfunctional requirements. In Overall Description part here are described the several activities models with state and activity diagrams. The last part describes non-functional requirements of the Shopping cart system.
1.2
Scope The document is developed within the framework of the Shopping cart system project on the basis of standard pattern RUP and intended for use by participants and auditors of the given project.
2.
Overall Description System that is described by this document is a shopping cart that allows customers easily add shopping cart facility for own sites. Shopping cart system will be website that will be placed outside customer site and will allow add ability for sites visitors perform shopping without significant changes of customer sites. Site visitors (users) will be able select some products from customer site, then user will be redirected to order area inside Shopping cart system site and will be able refine order – it includes ability modify products quantity, enter invoice/delivery details, use vouchers and enter payment info. Customer will be able visit system admin area and collect users orders. Customer will process orders and payments manually, for free account, or customer may upgrade account to premium type and use external payment processing systems. Also admin area will allow for customer set-up own account that means ability define rules for order price calculations (with shipping value, tax, discounts, vouchers); modifying look & feel (fonts, colours, buttons, ect) and localization (currency, messages, ect) for user order area; define participation in affiliate programmes. System also will include set of additional services like ability subscribe to mailing list, participate in message boards conversation, generate HTML code for site. Currently system doesn’t include facility for online payments, but it is the subject for future system evolution.
Public
EleWise ltd, 2002
Page 3
Shopping cart Software Requirements Specification
2.1
Version: 1.1 Date: 25 Jan 2002
Business Object Model Survey
OrderPrice calculation rules taxRulesCalculation shippingRulesCalculation discountsCalculation
MessageBoard Controller postMessage()
Customer account
Customer administrative area
Order orderID orderStatus productsList invoiceDeatails deliveryDetails paymentDeatils priceDetails n
name password 1
login() logout()
Order Controller Link on customer site createOrder() deleteOrder() changeOrderStatus() processPayment()
User session userId
User order area on Syntone site
Notification Controller sendCustomerNotification() sendUserNotification()
Public
EleWise ltd, 2002
Page 4
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
This business object model represent main business object of the system. The main business object in business object model is Order, that include set of attributes – status, list of products, invoice and delivery address, payment info, and price – sub-total price, taxes, shipping price, discounts and total price. Order controller is set of logic that manipulate with order. Notification controller sends user and customer notification about creating new order event and order status chnaged events. System has several boundaries that presented as web-interface: Customer admin area in Sysntone system site, link or button in customer site that initiate creating new order (or adding new product to existing order), and user order area where user may edit products quantity, enter invoice/deliver details and credint card info. 2.2
Use-Case Model Survey
2.2.1
Actors The actors are: Customer, Customer with Premium account, User, Administrator. 2.2.1.1 Customer Person who owns some website and would add shopping facility for own site with help of Shopping cart system. Customer just need create account into system website, set-up it, and insert special HTML code into own site pages that give site users ability order products directly from this site. Standard customer account is free. 2.2.1.2 Customer with Premium account This person has the same abilities as standard Customer plus additional premium options like on-line payments for credit cards and using product database. Premium account is not free and should be paid (monthly, every 3 months, every 6 months, yearly). 2.2.1.3 User User is the customer site visitor who uses Shopping cart service to perform shopping on customer site with help of Shopping cart system. 2.2.1.4 Administrator This is the person who able review list of registered customers and, in particular, credit card info for customers with premium account.
Public
EleWise ltd, 2002
Page 5
Shopping cart Software Requirements Specification
3.
Specific Requirements
3.1
Use-Case Reports
3.1.1
Customer use-cases
View/edit personal details
Version: 1.1 Date: 25 Jan 2002
Participation in communication
Manage cart presentation
Register Manage notification
Generate HTML code for site
Customer
Define required order fileds Upgrate to Premium Account
Manage order price calculation
Manage orders
Manage payments options
3.1.1.1 Register Customer should be able register into system. Customer must enter here personal details and select login name and password that will be later user for login into admin area. 3.1.1.2 View/edit personal details Customer should be able change personal details entered in registration form.
Public
EleWise ltd, 2002
Page 6
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
3.1.1.3 Manage cart presentation
Manage look&feel
Customer
Manage cart presentation
Manage locale
Customer should be able customize appearance of user order area because this area should have the same visual style as customer site. Presentation customization include look and feel customization – fonts, colors, background, logo, messages, ect; and locale customizations – message language, used currency, timezone, time/date format etc. 3.1.1.4 Manage order price calculation
Manage vouchers
Manage sales tax calculation
Customer
Manage order price calculation
Manage discounts
Manage shipping value calculation
Customer should be able define set of rules for order price calculation. Customer may define discounts with value calculated as percentage or as fixed value per order or item, applied to all orders or orders over some value or items quantity. Customer may define rules for shipping value calculation, in depends of delivery zone, items weight and quantity. Customer may define rules for tax calculation, in depends of shipping zone and tax basis. Customer may define different vouchers for users with discount as fixed value or percentage or free shipping. Public
EleWise ltd, 2002
Page 7
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
3.1.1.5 Manage orders
View orders
Customer
Manage orders
Change order status
Delete orders
Customer may review submitted orders (as list with main order details or review individual order detailed), delete all or selected orders, or change order status. Order status is the attribute of order that should reflect order payment status and order shipping status. These order statuses with available transition between statuses organize the order workflow. Below are shown sample state diagram that may be used as basis for future order workflow elaboration.
New order
Payment request sent to acquirer
Order cancelled
Payment refused
Order paid
Product shipping
Product shipped
Currently customer has to change order status manually; later, with integration with payment system, payment status will be tracked automatically.
Public
EleWise ltd, 2002
Page 8
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
3.1.1.6 Participate in communication
Subscription to mailing list
Customer
Participation in communication
Communicate in message board
Customer should be able subscribe/unsubscribe to mailing list and write/read messages on message board where discussed service related issues. 3.1.1.7 Manage notification
Manage client notification
Customer
Manage notification
Manage user notification
Customer should be able setup mail notification – new order submission may be notified both to customer and user. Notification management includes: turn notification on or off; text messages in notification message; list of order attributes in notification. 3.1.1.8 Generate HTML code for site Customer may use helper application for generating HTML code by customer id, product name and price, ect that may be inserted into customer site and displayed as button or link that point to user order area. Product name and description structure should allow customer organize families of product, where one product item may have several modifications, such as colour, size, version or another variable attribute. 3.1.1.9 Define required order fields Customer may define set of order fields that user must fill before order will be submitted. Public
EleWise ltd, 2002
Page 9
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
3.1.1.10 Upgrade to premium account Customer with free standard account should be able at any time upgrade his account to Premium type. Customer will be asked for credit card info and, if this info has the correct format, customer immediately able use premium options and notified by e-mail that his account type was changed. 3.1.1.11 Manage payment options Customer should be able select one or several payment options from next: Credit carts, checks, cache on delivery, money order or define own custom option. Each of options above may have additional sub options, for example list of acceptable credit carts, or set of fields for custom payment options. 3.1.2
Customer with Premium account use-cases
Manage product database Select payment gateway
Use payment gateway
Customer with Premium account
Use premium options
Batch order
Setup payment gateway
View product list and order page statistics
Customer with Premium account has the same abilities as Customer with free account plus several additional. 3.1.2.1 Use payment gateway Customer with Premium account has ability perform online payment processing with help of one of existing payment processing system. For this the Customer with Premium account may select and set-up one of listed card-processing system or define custom gateway to not listed processing system. Custom gateway should allow use most of payment processing system that accept POST or GET HTTP request. Customer must define here URL of payment processing system, set of fixed request fields, mapping between order fields and request fields, define post-processing behaviour like result pages. 3.1.2.2 Use premium options Customers with Premium account also able use some additional futures of system; for example download orders in the convenient format (CSV, HTML, Excel). Or upload/manage product database that may be used for more simple procedure for creating “add product” link or button – customer just need point product ID from this database instead of enumeration all product details. Customer with premium account has ability view order statistics (order count/volume broken by time/date/product and probably geography), product list page visit statistics and correlation between it. Also, customer with premium account has ability configure more order page details that customer with free account.
Public
EleWise ltd, 2002
Page 10
Shopping cart Software Requirements Specification
3.1.3
Version: 1.1 Date: 25 Jan 2002
User use-cases
Edit products quantity Add product to order
Point vouchers
User
Edit order
Enter invoice and delivery details
Select payment method Enter payment info
3.1.3.1 Add product to order User (visitor of customer site) may press link or button on some page of customer site near to some products. This action will open order page on system site where user may review product list with product quantity and prices (for each products and with shipping, tax and discount). 3.1.3.2 Edit order Here user may edit products quantity and use vouchers codes. Then user may return and continue shopping, or complete order: enter invoice/delivery details and then select one of available payment method (credit card, check, cache on delivery, ect) and then enter info for this method. Payment info is method specific, for example, if selected method is credit card user will be asked for card type, holder’s name, cart number, expiration data; if selected method is check user will be asked for account holder name, bank name and address, check No; or, for some methods, no additional info will be asked. Activity diagram for user
Public
EleWise ltd, 2002
Page 11
Shopping cart Software Requirements Specification
Version: 1.1 Date: 25 Jan 2002
Customer site
Order page on Syntone system site
enter
Select product [ continue shopping ]
Add product to order
View order
[ go to payment ]
Edit quantity
Enter vouchers code
Enter invoice/delivery details
Select payment method
Enter payment method specific info
end
This is activities description for user, spited by customer site and system site.
Public
EleWise ltd, 2002
Page 12
Shopping cart Software Requirements Specification
3.1.4
Version: 1.1 Date: 25 Jan 2002
Administrator use-cases
View list of customers
Syntone administrator
Manage Customers
Change customer type
Delete or disbale customer account
3.1.4.1 Manage customers Administrator should be able review list of customers and main customer’s details – name, type of account, creation date and other main account details. For customers with premium accounts it should be possible review credit card info and view/change account payment state – last card charging date, next charging date. Administrator may review list and select customers with premium account whose credit card cannot be charged for some reason and change account type back to standard. Also, for some rare cases it may be useful to have possibility delete or disable customer account. 3.2
Supplementary Requirements
3.2.1
System platform Shopping cart System will be based on the Java, Servlets/JSP and RDBMS platform. All system functionality will be available via Web-browser (user and customer interface) and e-mail clients (for mail notifications).
3.2.2
Communication protocol The user front-end has to be available via HTTP. To gain a security protected communication the confidential data will be transmitted via SSL protocol.
3.2.3
Security All private data like passwords and credit cart info must be stored in encrypted form.
Public
EleWise ltd, 2002
Page 13
View more...
Comments