Online Shopping
UML Use Case Diagram Example
Web Customer actor uses some web site to make purchases online. Top level use cases are View Items, Make Purchase and Client Register. View Items use case could be used by customer as top level use case if customer only wants to find and see some products. This use case could also be used as a part of Make Purchase use case. Client Register use case allows customer to register on the web site, for example to get some coupons or be invited to private sales. Note, that Checkout use case is included use case not available by itself - checkout is part of making purchase.
Except for the Web Customer actor there are several other actors which will be described below with detailed use cases.
Online shopping UML use case diagram example - top level use cases.
View Items use case is extended by several optional use cases - customer may search for items, browse catalog, view items recommended for him/her, add items to shopping cart or wish list. All these use cases are extending use cases because they provide some optional functions allowing customer to find item.
Customer Authentication use case is included in View Recommended Items and Add to Wish List because both require customer to be authenticated. At the same time, item could be added to the shopping cart without user authentication.
Online shopping UML use case diagram example - view items use case.
Checkout use case includes several required uses cases. Web customer should be authenticated. It could be done through user login page, user authentication cookie ("Remember me") or Single Sign-On (SSO). Web site authentication service is used in all these use cases, while SSO also requires participation of external identity provider.
Checkout use case also includes Payment use case which could be done either by using credit card and external credit payment service or with PayPal.
Online shopping UML use case diagram example - checkout, authentication and payment use cases.
UML Class Diagram Example
Here we provide an example of UML class diagram which shows a domain model for online shopping. The purpose of the diagram is to introduce some common terms, "dictionary" for online shopping - Customer, Web User, Account, Shopping Cart, Product, Order, Payment, etc. and relationships between. It could be used as a common ground between business analysts and software developers.
Each customer has unique id and is linked to exactly one account. Account owns shopping cart and orders. Customer could register as a web user to be able to buy items online. Customer is not required to be a web user because purchases could also be made by phone or by ordering from catalogues. Web user has login name which also serves as unique id. Web user could be in several states - new, active, temporary blocked, or banned, and be linked to a shopping cart. Shopping cart belongs to account.
Online shopping domain UML class diagram example.
Account owns customer orders. Customer may have no orders. Customer orders are sorted and unique. Each order could refer to several payments, possibly none. Every payment has unique id and is related to exactly one account.
Each order has current order status. Both order and shopping cart have line items linked to a specific product. Each line item is related to exactly one product. A product could be associated to many line items or no item at all.
UML Sequence Diagram Example
An example of high level sequence diagram for online bookshop. Online customer can search book catalog, view description of a selected book, add book to shopping cart, do checkout.
An example of UML sequence diagram for online bookshop.
UML Communication Diagram Example
An example of communication diagram for Online Bookshop. Web customer (depicted as actor) can search, view and buy books.
An example of UML communication diagram for online bookshop.
Communication starts with 1 *: find_books() - iterative message which could be repeated some unspecified number of times. Client searches inventory of books, and if he/she is interested in some book he/she can view description of the book (1.2 [interested]: view_book()). If client decides to buy, he/she can add book to the shopping cart - 1.3 [decided to buy]: add_to_cart().
Checkout includes getting list of books from shopping cart, creating order, and updating inventory, if order was completed.
Picture below names some elements of the communication diagram.
The major elements of UML communication diagram.
UML Activity Diagram Example
An example of activity diagram for online shopping. Online customer can browse or search items, view specific item, add it to shopping cart, view and update shopping cart, checkout. User can view shopping cart at any time. Checkout is assumed to include user registration and login.
This example does not use partitions, most of the actions are assumed to be fulfilled by online customer.
An example of UML activity diagram for online shopping.