Professional Documents
Culture Documents
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
use-cases
8 Feb 2002 1.2 Minor use-cases changes Sapozhnikov Andrey
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
1.2Scope
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.
taxRulesCalculation
shippingRulesCalculation
MessageBoard
disc ounts Calculation
Controller Order
postMessage() orderID
orderStatus
productsList
invoiceDeatails
deliveryDetails
paymentDeat ils
priceDetails
n
Customer account Customer administrative area
name
password
1
login()
logout()
Order Controller
Link on cus tomer site
createOrder()
delet eOrder()
changeOrderStatus()
processPayment()
User session
userId
User order area on Syntone site
Notification Controller
sendCustomerNotificat ion()
sendUserNotification()
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.1Actors
The actors are: Customer, Customer with Premium account, User, Administrator.
2.2.1.1Customer
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.3User
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.4Administrator
This is the person who able review list of registered customers and, in particular, credit card info for
customers with premium account.
3.Specific Requirements
3.1Use-Case Reports
3.1.1Customer use-cases
Register
Manage notification
3.1.1.1Register
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.
Manage look&feel
<<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 ect.
<<include>> <<include>>
<<include>>
<<incl ude>>
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.
3.1.1.5Manage orders
View orders
<<include>>
<<include>>
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.
Order Payment
refused Product
cancelled
shipped
Currently customer has to change order status manually; later, with integration with payment system,
payment status will be tracked automatically.
3.1.1.6Participate in communication
Participation in communication
Customer
<<include>>
Customer should be able subscribe/unsubscribe to mailing list and write/read messages on message board
where discussed service related issues.
3.1.1.7Manage notification
<<include>>
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.
<<include>>
Use payment gateway Use premium options Batch order
Customer with
Premium account
<<include>>
<<include>>
Customer with Premium account has the same abilities as Customer with free account plus several
additional.
3.1.3User use-cases
<<include>>
<<include>> Point vouchers
<<include>>
Edit order <<include>>
User
3.1.3.2Edit 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
enter
Enter payment
Enter vouchers method specific info
code
end
This is activities description for user, spited by customer site and system site.
3.1.4Administrator use-cases
3.1.4.1Manage 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.2Supplementary Requirements
3.2.1System 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.2Communication 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.3Security
All private data like passwords and credit cart info must be stored in encrypted form.