Sie sind auf Seite 1von 13

Shopping cart Version: 1.

Software Requirements Specification 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 Sapozhnikov Andrey
8 Feb 2002 1.2 Minor use-cases changes Sapozhnikov Andrey

Public EleWise ltd, 2002 Page 1

Shopping cart Version: 1.1
Software Requirements Specification Date: 25 Jan 2002

Table of Contents
1. Introduction 3
1.1 Purpose 3
1.2 Scope 3

2. Overall Description 3
2.1 Business Object Model Survey 4
2.2 Use-Case Model Survey 5
2.2.1 Actors 5

3. Specific Requirements 6
3.1 Use-Case Reports 6
3.1.1 Customer use-cases 6
3.1.2 Customer with Premium account use-cases 10
3.1.3 User use-cases 11
3.1.4 Administrator use-cases 13
3.2 Supplementary Requirements 13
3.2.1 System platform 13
3.2.2 Communication protocol 13
3.2.3 Security 13

Public EleWise ltd, 2002 Page 2

Shopping cart Version: 1.1
Software Requirements Specification 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
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 Version: 1.1
Software Requirements Specification Date: 25 Jan 2002

2.1 Business Object Model Survey

OrderPrice calculation rules

Controller Order

postMessage() orderID

Customer account Customer administrative area


Order Controller
Link on customer site

User session

User order area on Syntone site

Notification Controller


Public EleWise ltd, 2002 Page 4

Shopping cart Version: 1.1
Software Requirements Specification 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. 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. 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). User
User is the customer site visitor who uses Shopping cart service to perform shopping on customer site with
help of Shopping cart system. 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 Version: 1.1
Software Requirements Specification Date: 25 Jan 2002

3. Specific Requirements
3.1 Use-Case Reports

3.1.1 Customer use-cases

View/edit personal details Participation in communication

Manage cart presentation


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 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. View/edit personal details

Customer should be able change personal details entered in registration form.

Public EleWise ltd, 2002 Page 6

Shopping cart Version: 1.1
Software Requirements Specification Date: 25 Jan 2002 Manage cart presentation

Manage look&feel


Manage cart presentation <<include>>


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. Manage order price calculation

Manage vouchers Manage sales tax calculation

<<include>> <<include>>

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 Version: 1.1
Software Requirements Specification Date: 25 Jan 2002 Manage orders

View orders



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 Order paid Product

sent to acquirer shipping

Order Payment
refused Product

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 Version: 1.1
Software Requirements Specification Date: 25 Jan 2002 Participate in communication

Subscription to mailing list


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. Manage notification

Manage client notification


Manage notification <<include>>


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. 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. 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 Version: 1.1
Software Requirements Specification Date: 25 Jan 2002 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. 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 Use premium options Batch order
Customer with
Premium account

Setup payment gateway

View product list and order page


Customer with Premium account has the same abilities as Customer with free account plus several
additional. 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. 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 Version: 1.1
Software Requirements Specification Date: 25 Jan 2002

3.1.3 User use-cases

Edit products quantity

Add product to order

<<include>> Point vouchers

Edit order <<include>>

Enter invoice and delivery details

Select payment method

Enter payment info 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). 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 Version: 1.1
Software Requirements Specification Date: 25 Jan 2002

Customer site Order page on Syntone system site


Select product Enter invoice/delivery

[ continue shopping ] details
[ go to payment ]

Add product to View order Edit quantity Select payment

order method

Enter payment
Enter vouchers method specific info


This is activities description for user, spited by customer site and system site.

Public EleWise ltd, 2002 Page 12

Shopping cart Version: 1.1
Software Requirements Specification Date: 25 Jan 2002

3.1.4 Administrator use-cases

View list of customers

Manage Customers Change customer type


Delete or disbale customer

account 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

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