Assignment: UML Diagrams for Online Bookstore System
This assignment aims to develop your skills in creating UML (Unified Modeling Language)
diagrams. You will apply these skills to model an Online Bookstore System, an e-commerce
platform designed for the sale and purchase of books. Through this exercise, you will gain a
deeper understanding of system modeling and the practical applications of UML diagrams.
System Description
The Online Bookstore System is an e-commerce platform that facilitates online book sales and
purchases. It includes various functionalities like user account management, book inventory
management, ordering, payment processing, and customer reviews. The system interacts with
different actors, including customers, administrators, publishers, payment gateways, and
shiping services.
Assignment Instructions
1. Use Case Diagram
Create a Use Case diagram that illustrates the interactions between the system and its actors.
Include the following actors: Customers, Administrators, Publishers, Payment Gateway, and
Shipping Service. Detail the use cases such as Register, Login, Browse Books, Search Books,
Make Payment, Manage User Accounts, etc. Ensure that each actor is connected to the relevant
use cases they interact with.
2. Class Diagram
Develop a Class Diagram for the system. Identify key classes such as User, Book, Order,
ShoppingCart, and Payment. Define the attributes for each class, like userID, username, and
password for the User class. Show relationships between classes, including inheritance and
associations. For example, the Customer class inherits from the User class, and an Order is
associated with multiple Books.
3. Sequence Diagrams
Create two Sequence Diagrams. The first should depict the process of a customer making a
purchase, including interactions with the Shopping Cart, Payment Gateway, and Shipping
Service. The second should illustrate how a Publisher adds a new book to the system, interacting
with the Book Catalog and optionally, an Administrator.
4. State Diagram for the Order Class
Construct a State Diagram for the Order class. Represent the different states of an order, such as
New, Processing, Shipped, Delivered, and Cancelled. Include the transitions between these
states triggered by events like order placement, payment confirmation, and order delivery.