ITSEA0 – Project Specification
Year: 2025
Project Title: Online Bookstore System
Section A – Question 1 (100 Marks)
Student Name: Ntokozo Mchunu
Student Number:EDUV10926826
Module Name: Software Engineering
Module Code: ITSEA0
Lecturer: Mathapelo Monare
Declaration:
I, Ntokozo Mchunu, declare that this project is my own work and that I have
not copied or used work from another student or source without proper
referencing.
Signature: N.M______________________
Date: 11/6/2026___________________________
Table of Contents
1. Actors...........................................................................................................3
Actors in the Online Bookstore System.........................................................3
2. Use Cases....................................................................................................3
Customer Use Cases.....................................................................................3
System Use Cases........................................................................................3
Administrator Use Case................................................................................4
Seller Use Case.............................................................................................4
3. Scenario for Purchasing a Book & Alternatives............................................4
Main Scenario – Customer Successfully Purchases a Book...........................4
Alternative Scenarios....................................................................................5
4. Use Case Diagram – Payment Process.........................................................5
5. Activity Diagram – Purchasing a Book.........................................................6
6. Class Diagram – Online Bookstore System..................................................7
7. Communication Diagram – Generating Invoice...........................................8
8. State Machine Diagram – Invoice Lifecycle..................................................8
9. Software Development Methodologies........................................................9
10. Motivation for the Selected Methodology..................................................9
Q11 — Documentation for Each Diagram......................................................10
References...................................................................................................11
ANSWERS
1. Actors
Actors in the Online Bookstore System
Customer — searches, browses, orders, pays.
Seller — uploads book listings and receives order notifications.
Administrator — approves accounts, manages database/users.
External Systems:
Payment Gateway — validates and processes payments.
Email Service — sends invoice notifications.
Inventory System — updates and checks stock availability.
2. Use Cases
Customer Use Cases
Search for Book
Refine Search / Filter Results
Browse Categories
View Book Details
Add to Cart
Checkout Order
Select Payment Method
Process Payment
Receive Invoice / Order Confirmation
System Use Cases
Validate Book Availability / Stock
Process Payment Request
Generate Invoice
Send Invoice via Email
Update Order Status & Inventory
Administrator Use Case
Manage User Accounts (approve, reject, and maintain accounts)
Seller Use Case
Upload Book Listings
Receive Order Notification
3. Scenario for Purchasing a Book & Alternatives
Main Scenario – Customer Successfully Purchases a Book
Pre-conditions:
Customer is registered and logged in
Book is available in stock
Customer has valid payment method
Steps:
1. Customer searches for a book.
2. Customer selects the desired book and views details.
3. Customer adds the book to the shopping cart.
4. Customer proceeds to checkout.
5. System displays order summary and delivery address.
6. Customer selects payment method and confirms purchase.
7. System sends payment request to the payment gateway.
8. Payment gateway verifies and approves the transaction.
9. System creates the order.
10. System generates an invoice.
11. System emails the invoice and confirmation to the customer.
12. Seller receives order notification to prepare and ship the book.
Post-conditions:
Order and payment are successfully recorded
Invoice is issued and emailed to customer
Seller is notified to fulfill the order
Alternative Scenarios
Condition System Response / Action
Customer is notified and offered option to pre-order or
Book out of stock
receive stock alert
No search results / incorrect System suggests spelling corrections or alternative
spelling titles
Customer is prompted to retry payment or choose
Payment fails
another method
Incorrect registration details System requires corrections before admin approval
Invalid card or insufficient Transaction rejected → customer can update payment
funds details
4. Use Case Diagram – Payment Process
Figure 1: Use Case Diagram showing actors and payment process interactions
Explanation:
The diagram shows the payment process in the online bookstore system.
The Customer initiates checkout and enters payment details.
The Payment Gateway processes and verifies the payment.
Once successful, the system generates and emails an invoice to the customer.
5. Activity Diagram – Purchasing a Book
Figure 2: Activity diagram showing the steps from customer registration to order
completion
Explanation:
This activity diagram shows the full process of purchasing a book.
The Customer searches for a book, adds it to the cart, and confirms checkout.
The System validates stock, processes payment, generates the invoice, and notifies the
Seller.
Decisions for payment success or failure are shown as diamond nodes in the diagram.
6. Class Diagram – Online Bookstore System
Figure 3: Class diagram showing all main classes, attributes, operations, and
relationships
Explanation:
The class diagram represents the system’s data structure.
It includes all main classes with their attributes and operations.
Relationships such as associations, multiplicities, and inheritance are shown to illustrate
how objects interact and store information.
7. Communication Diagram – Generating Invoice
Figure 4: Communication diagram showing interactions for generating an invoice
Explanation:
The communication diagram shows object interactions during invoice generation.
The Invoice object is created when the customer completes payment, communicates
with the Seller and Book objects, and is destroyed after all steps.
Messages are numbered to show the order of execution.
8. State Machine Diagram – Invoice Lifecycle
Figure 5: State machine diagram showing the lifecycle of an invoice
Explanation:
The state machine diagram illustrates the lifecycle of an invoice in the system.
It starts in the Created state, moves to Pending while awaiting payment, progresses to
Paid, then Sent after emailing the customer, and finally becomes Archived for record-
keeping.
Guard conditions are enclosed in square brackets where appropriate.
9. Software Development Methodologies
Five common ways software projects are developed:
Waterfall
1. Works step by step, one phase at a time. You finish requirements first, then
design, then coding, testing, and finally maintenance.
2. Easy to manage but not flexible if changes are needed.
Agile
1. Works in small cycles called sprints, with continuous feedback.
2. Lets the team adjust quickly if requirements change.
Scrum
1. A type of Agile approach. Work is divided into short sprints (2–4 weeks). Daily
meetings help track progress.
2. Useful for complex projects where things may change often.
Rapid Application Development (RAD)
1. Focuses on building prototypes quickly and improving them based on user
feedback.
2. Speeds up development and helps users see progress early.
Spiral
1. Combines repeated development cycles with risk analysis.
2. Each cycle plans, checks for risks, builds, and evaluates.
3. Good for big projects where mistakes could be costly.
10. Motivation for the Selected Methodology
For this project, the Agile method is the best choice. The system has many parts, like
customer registration, book uploading, payments, and sending invoices. Because of
this, the requirements may change as the system is being developed. Agile allows the
team to work in small steps, test each part, and fix problems early.
Another reason for choosing Agile is that feedback is important. Customers, sellers, and
the admin might want changes or new features as the system grows. With Agile it is
easy to adjust and improve the system without starting over.
Overall, Agile helps the project stay flexible, improves quality, and makes sure the final
system meets user needs.
Q11 — Documentation for Each Diagram
Use Case Diagram – Explanation
This diagram shows the main functions of the online bookstore system and the people
who interact with it. The actors are the Customer, Seller, and Administrator. The diagram
displays what each user can do, such as customers buying books, sellers uploading
books, and the admin approving users. It helps us understand the system requirements
and who does what in the system.
Activity Diagram – Explanation
The activity diagram explains the full process in the system from registration to buying a
book. It shows the flow of actions between the Customer, System, Admin, and Seller
using swimlanes. This diagram helps to visualise the steps a customer takes, the
system responses, and when the admin or seller is involved. It clearly shows decision
points, like when payment succeeds or fails.
Class Diagram – Explanation
The class diagram shows the main classes (Customer, Book, Order, Payment, Invoice,
Seller, and Admin) and the relationships between them. It includes attributes and
methods for each class. This diagram is used to plan the structure of the system and
how data will be stored and connected inside the program.
Communication Diagram – Explanation
This diagram shows how objects (Customer, Invoice, Book, Seller) communicate when
an invoice is created. It includes the order of messages sent between them. The
diagram explains how the invoice object is created during the purchase process, used
to send notifications, and then destroyed afterwards. It helps us understand the
message flow in the system.
State Machine Diagram – Explanation
The state machine diagram shows the different stages an invoice goes through in the
system. These states include Created, Pending, Paid, Sent, and Archived. The diagram
helps to understand how the invoice behaves during the payment and order process
and how it changes from one state to another.
References
1. Eduvos Learning Manual. (2025). Systems Analysis and Design
(ITSEA0) – Project Guide. Eduvos, South Africa.
2. PlantUML. (2025). Online UML Diagram Generator. Available at:
[Link] [Accessed: November 2025].
3. TutorialsPoint. (2025). UML Diagrams – Examples and Explanation.
Available at: [Link] [Accessed: November
2025].
4. Lucidchart. (2025). UML Diagram Types and Examples. Available at:
[Link] [Accessed: November
2025].
5. Eduvos Academic Writing Centre. (2025). Harvard Referencing Style
Guide. Eduvos, South Africa.