Projectv1 clc04 07 Nhkhanh
Projectv1 clc04 07 Nhkhanh
-----◻◻🕮◻◻-----
COURSE
INFORMATION SYSTEM ANALYSIS AND DESIGN
2
3. Write 30 scenarios and 30 users stories + acceptance criteria
Register
-Scenario:
UC name Register
Desciption This use case describes the steps for a
customer to register a new account in the
system.
Actor Customer
Trigger The customer decides to create an
account to access additional features,
make purchases, or engage with the
system.
Precondition
Postcondition The customer successfully registers an
account.
Basic flow 1. The customer accesses the
homepage and clicks the
"Register" button.
2. A registration form appears.
3. The customer fills in the required
information (e.g., name, email,
password) and clicks the
"Register" button.
4. The system validates the input
information.
5. The system saves the new
account details.
6. A success message is displayed
confirming the registration.
Alternative flow
Exception flow 3.1 The account information has already
been used for a previous registration.
-User story:
As a customer, I want to register for a new account, so that I can access
additional features, make purchases, and engage with the system.
-Acceptance criteria:
• The customer can navigate to the registration page by clicking the
"Register" button on the homepage.
• The registration form must include required fields for name, email, and
password.
• The system validates the provided information and displays appropriate
error messages for invalid input (e.g., email format, password length).
• If the provided email is already registered, an error message is displayed
stating that the account already exists.
• Upon successful registration, the system saves the account details and
displays a success message confirming the registration.
3
Change password
-Scenario:
UC name Change password
Desciption This use case describes the steps a
customer follows to change their
account password.
Actor Customer
Trigger The customer decides to update their
password for security or personal
reasons.
Precondition
Postcondition The customer's password is successfully
updated.
Basic flow 1. The customer logs into the
system with their current
username and password.
2. The customer navigates to the
"Profile" or "Settings" section.
3. The customer selects the
"Change Password" option.
4. A password change form is
displayed, prompting the
customer to:
1. Enter the current
password.
2. Enter the new password.
3. Confirm the new
password.
5. The customer fills in the
required fields and clicks the
"Save" or "Update" button.
6. The system validates the current
password and checks that the
new password meets the
security requirements (e.g.,
length, complexity).
7. If validation is successful, the
system updates the password
and displays a success message.
8. The customer is prompted to log
in again with the new password,
depending on the system's
security policy.
Alternative flow
Exception flow 4.1 The customer enters an incorrect
current password.
4
• The system displays an error
message and allows the
customer to retry.
-User story:
As a customer, I want to update my account password, so that I can maintain
my account's security and have control over my credentials.
-Acceptance criteria:
• The customer can access the "Change Password" option from the "Profile"
or "Settings" section.
• A form is displayed, requiring the customer to enter the current password,
new password, and confirmation of the new password.
• The system validates that the current password matches the one stored in the
database.
• The system checks that the new password meets the security criteria (e.g.,
minimum length, use of uppercase, lowercase, numbers, and special
characters).
• Upon successful validation, the system updates the password and displays a
success message.
• If the system's security policy requires it, the customer is logged out and
prompted to log in again with the new password.
Change profile
-Scenario
UC name Change profile
Desciption This use case describes the steps a
customer takes to modify their profile
details within the system. It ensures that
personal information is updated
accurately and efficiently.
Actor Customer
Trigger The customer decides to update their
personal information, such as name,
5
email, or phone number, to ensure their
account is up to date.
Precondition The customer has successfully logged
into their account.
Postcondition Profile information is successfully
updated.
Basic flow 1. The customer logs into the
system with their registered
account and password.
2. The customer clicks on their
profile icon in the top-right
corner of the screen.
3. The customer selects the option
to change personal information.
4. A form for updating personal
information appears.
5. The customer fills out the form
and clicks the save button.
6. The system displays a
confirmation message indicating
the information was
successfully updated.
Alternative flow
Exception flow
-User story:
As a customer, I want to update my personal information in the system, so t
hat my account details are accurate and up-to-date.
-Acceptance criteria:
• The customer can access the "Change Profile" option from the profile
menu.
• A form is displayed with fields for personal information such as name,
email, and phone number.
• The system allows the customer to edit and save changes to the form.
• Upon successful update, the system displays a confirmation message:
"Your profile has been successfully updated."
• The updated information is stored in the database.
Update order
-Scenario:
UC name Manage order
Desciption This use case describes the steps an admin
follows to manage orders, including
updating order details, ensuring that the
system reflects the latest order
information.
Actor Admin
Trigger The admin decides to update or manage
orders to keep the order information up to
date or resolve issues.
6
Precondition The admin account is successfully logged
in.
Postcondition The selected orders are successfully
updated.
Basic flow 1. The admin logs into the system
using the account credentials
provided.
2. The admin interface is displayed
with various options, including:
o Manage Products
o Manage Orders
o Manage Shipping
o Manage Customers
3. The admin selects the "Manage
Orders" option.
4. The interface displays options
such as:
o Add Order
o Update Order
o Delete Order
o View Orders
5. The admin selects the "Update
Order" option.
6. The interface shows a list of
existing orders in the system.
7. The admin selects the specific
order to update.
8. A form is displayed for updating
order details.
9. The admin fills in the required
information in the form and clicks
the "Save" button.
10. The interface displays a success
message confirming the order has
been updated.
11. The admin repeats steps 6–9 until
all orders that need updates are
completed.
Alternative flow
Exception flow
-User story:
As an admin, I want to update order details, so that the system reflects
accurate and up-to-date order information.
-Acceptance criteria:
• The admin can access the "Manage Orders" option from the admin
interface.
• The "Update Order" option displays a list of all existing orders in the
system.
7
• The admin can select a specific order from the list to update its details.
• A form is displayed with editable fields for order information such as order
status, payment details, shipping details, or customer notes.
• The admin can fill out the form, and clicking "Save" successfully updates
the order details.
• The system displays a success message confirming that the order has been
updated.
• The changes are reflected in the system immediately and can be verified
by viewing the updated order.
Delete order
-Scenario:
UC name Manage order
Desciption This use case describes the steps an admin
follows to delete an order from the system to
maintain accurate and up-to-date records.
Actor Admin
Trigger The admin decides to delete an order that is
either invalid, canceled, or no longer
required.
Precondition The admin account is successfully logged in.
Postcondition The selected order is successfully deleted
from the system.
Basic flow 1. The admin logs into the system using
the provided account credentials.
2. The admin interface is displayed,
showing available options such as:
o Manage Products
o Manage Orders
o Manage Shipping
o Manage Customers
3. The admin selects the "Manage
Orders" option.
4. The interface displays functions such
as:
o Add Order
o Update Order
o Delete Order
o View Orders
5. The admin selects the "Delete Order"
option.
6. A list of orders is displayed, with a
delete button next to each order
entry.
7. The admin clicks the delete button
corresponding to the order they wish
to delete.
8
8. A confirmation message appears,
asking the admin to confirm the
deletion.
Alternative flow
Exception flow
-User story:
As an admin, I want to delete an order that is no longer needed, so that I can
maintain accurate and up-to-date records in the system.
-Acceptance criteria:
• The admin can access the "Manage Orders" option from the admin
interface.
• The "Delete Order" option displays a list of all existing orders in the
system.
• Each order entry has a delete button.
• The admin can click the delete button for the order they want to remove.
• The system displays a confirmation prompt: "Are you sure you want to
delete this order?"
• Upon confirmation, the order is removed from the system, and a success
message is displayed: "Order successfully deleted."
View order
-Scenario:
UC name Manage order
Desciption This use case describes the process an admin
follows to search for and view detailed
information about a specific order within the
system.
Actor Admin
Trigger The admin decides to view specific order
details for verification, tracking, or
processing purposes.
Precondition The admin account is successfully logged in.
Postcondition The selected order details are successfully
displayed.
Basic flow 1. The admin logs into the system using
the provided account credentials.
2. The admin interface is displayed with
the following options:
o Manage Products
o Manage Orders
o Manage Shipping
o Manage Customers
3. The admin selects the "Manage
Orders" option.
4. The interface displays functions such
as:
9
o Add Order
o Update Order
o Delete Order
o View Orders
5. The admin selects the "View Orders"
option.
6. The interface shows a search input
field and a search icon.
7. The admin enters the order ID or
order name and clicks the search
icon.
8. The interface displays a list of orders
that match the search criteria.
9. The admin clicks on a specific order
from the list to view detailed
information about the order.
Alternative flow
Exception flow 8.1 No search results are displayed.
-User story:
As an admin, I want to search for a specific order by ID or name, so that I
can view detailed information about the order for tracking or verification
purposes.
-Acceptance criteria:
• The admin can access the "Manage Orders" option from the admin
interface.
• The "View Orders" option displays a search input field and a search icon.
• The admin can enter the order ID or order name into the search field and
initiate the search.
• The system displays a list of orders matching the search criteria.
• The admin can click on an order from the list to view its details.
• The system displays the order details, including:
i. Order ID.
ii. Customer information.
iii. Product details (e.g., quantity, price).
iv. Order status (e.g., pending, shipped, delivered).
v. Payment and shipping details.
Order
10
-Scenario:
UC name Order
Desciption This use case allows a customer to place an
order through the system after logging in.
The system provides an interface for the
customer to select products, specify delivery
and payment methods, and confirm their
order.
Actor Customer
Trigger The use case starts when the customer
decides to place an order through the system.
Precondition Customer must have a registered and logged-
in account.
Postcondition The order is successfully placed.
Basic flow 1. The customer logs into the system
using their registered username and
password.
2. The interface displays available
features, including "Create Cart" and
"Place Order."
3. The customer selects the "Place
Order" option.
4. The interface displays the cart
containing a list of products the
customer wants to order.
5. The customer selects the desired
products, chooses the delivery
method, and selects the payment
method.
6. The interface displays the selected
products along with their prices.
7. The customer reviews the
information and clicks the "Confirm"
button.
8. The system displays a success
message indicating the order has
been placed and shows a "View
Orders" button.
9. The customer clicks on the "View
Orders" button to review order
details if desired.
Alternative flow
Exception flow
-User story:
As a customer, I want to place an order through the system, so that I can
purchase products and have them delivered to my address.
-Acceptance criterial:
11
• The interface displays a cart containing the products the customer has
added.
• The customer can select the "Place Order" option.
• The system allows the customer to:
i. Select desired products from the cart.
ii. Choose a delivery method.
iii. Select a payment method.
• The system calculates and displays the total price of the selected products.
• The customer can review the order details and confirm the purchase.
• Upon confirmation, the system places the order and displays a success
message: "Your order has been successfully placed."
• A "View Orders" button is available for the customer to review their order
details.
12
6. The interface presents an input field
along with a search icon.
7. The admin enters a customer name or
ID and clicks on the search button.
8. The interface displays a list of
customers matching the search
criteria.
9. The admin clicks on a specific
customer from the list to view
detailed information about that
customer.
Alternative flow
Exception flow 8.1 If no search results are displayed:
-User story:
-Acceptance criteria:
• The admin can access the "Customer Management" option from the admin
interface.
• A search input field and a search icon are displayed to allow the admin to
search for a customer.
• The admin can enter a customer name or ID and initiate the search.
• The system displays a list of customers matching the search criteria.
• The admin can click on a customer from the list to view detailed
information, including:
i. Customer name.
ii. Contact information.
iii. Address.
iv. Order history.
v. Account status.
Delete customer
-Scenario:
UC name Manage customer
Desciption This use case allows an admin to remove
customer information from the system. After
logging in, the admin navigates to the
customer management interface, selects the
customer to delete, and confirms the action
Actor Admin
13
Trigger The use case starts when the admin decides
to delete a customer's information from the
system.
Precondition Admin must have successfully logged into
the system.
Postcondition Customer is successfully deleted.
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The admin interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, and
Customer Management.
3. The admin selects the "Customer
Management" option.
4. The interface displays functionalities
for managing customers: update
customer information, delete a
customer, and view customer
information.
5. The admin chooses the "Delete
Customer" option.
6. The interface displays a list of
customers, with a "Delete" button at
the end of each row.
7. The admin clicks the "Delete" button
corresponding to the customer they
want to remove.
8. A confirmation dialog appears,
asking the manager to confirm the
deletion.
9. The admin clicks "Confirm" to
proceed.
10. The system displays a success
message, indicating that the customer
has been deleted.
Alternative flow
Exception flow
-User story:
As an admin, I want to delete a customer from the system, so that I can
maintain an accurate and clean database of customer information.
-Acceptance criteria:
• The admin must be logged into the system to access the "Customer
Management" option.
• The "Delete Customer" option displays a list of all customers in the system.
• Each customer entry includes a "Delete" button.
• Clicking the "Delete" button triggers a confirmation dialog asking: "Are you
sure you want to delete this customer?"
14
• If the admin confirms the action, the system removes the customer from the
database.
• The system displays a success message: "Customer has been successfully
deleted."
Update customer
-Scenario:
UC name Manage customer
15
9. The manager enters the required
updates in the form and clicks the
"Save" button.
10. The system displays a success
message, indicating that the customer
information has been updated
successfully.
Alternative flow
Exception flow
-User story:
As an admin, I want to update customer information in the system, so that the
database remains accurate and reflects the most up-to-date details.
-Acceptance criteria:
• The admin can access the "Customer Management" option from the admin
interface.
• The "Update Customer Information" option displays a list of customers in
the system.
• Each customer entry has an "Update" button.
• Clicking the "Update" button displays a form with editable fields for
customer information, including:
i. Name.
ii. Email address.
iii. Phone number.
iv. Address.
v. Account status (e.g., active, inactive).
• The admin can edit the necessary fields and save the changes by clicking the
"Save" button.
• The system displays a success message: "Customer information has been
successfully updated."
• The updated information is reflected immediately in the system and visible
when viewing the customer record.
-Scenario:
UC name Manage product
Desciption This use case enables an admin to add new
products to the system. After logging in, the
admin accesses the Product Management
interface, fills out a form with the product's
details, and saves the entry.
Actor Admin
Trigger The use case starts when the manager
decides to add a new product to the system.
Precondition Admin must have successfully logged into
the system.
Postcondition Product is successfully added.
16
Basic flow 1. The manager logs into the system
using the provided username and
password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, and
Customer Management.
3. The manager selects the "Product
Management" option.
4. The Product Management interface
appears, showing functionalities to
view, add, edit, and delete products.
5. The manager selects the "Add
Product" option.
6. A product entry form is displayed.
7. The manager enters the product
details into the form and clicks the
"Save" button.
8. The system displays a success
message indicating that the product
has been added.
Alternative flow
Exception flow 6.1 If the product information entered
already exists in the system:
-User story:
As an admin, I want to add new products to the system, so that they can be
available for customers to purchase.
-Acceptance criteria:
17
View product detail
-Scenario:
UC name Manage product
Desciption This use case allows an admin to access
detailed information about products in the
system. After logging in, the admin
navigates to the Product Management
interface, searches for a specific product
using its name or code, and views the
details.
Actor Admin
Trigger The use case starts when the admin decides
to view product information.
Precondition Admin must have successfully logged into
the system.
Postcondition Product information is successfully viewed.
Basic flow 1. The manager logs into the system
using the provided username and
password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, and
Customer Management.
3. The manager selects the "Product
Management" option.
4. The Product Management interface
appears, showing functionalities to
view, add, edit, and delete products.
5. The manager selects the "View
Product" option.
6. The interface displays a search input
field and a search icon.
7. The manager enters the product name
or product code and clicks the search
button.
8. The interface displays a list of search
results with a "View" button at the
end of each row.
9. The manager clicks the "View"
button for the desired product.
10. The interface displays detailed
information about the selected
product.
Alternative flow
18
Exception flow 7.1 If no matching search results are found:
-User story:
As an admin, I want to view detailed information about a specific product, so
that I can verify or update product details as needed.
-Acceptance criteria:
• The admin must log in to access the "Product Management" option.
• The "View Product" option displays a search input field and a search button.
• The admin can search for a product by entering its name or product code.
• The system displays a list of products matching the search criteria.
• Each product in the search results has a "View" button.
• Clicking the "View" button displays detailed information about the selected
product, including:
i. Product name.
ii. Description.
iii. Price.
iv. Stock quantity.
v. Category.
vi. Product image (if available).
Delete product
-Scenario
UC name Manage product
Desciption This use case enables an admin to remove
products from the system. After logging in,
the admin navigates to the Product
Management interface, selects the product to
delete, and confirms the action
Actor Admin
Trigger The use case starts when the admin decides
to delete a product from the system.
Precondition Admin must have successfully logged into
the system.
Postcondition Product is successfully deleted.
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, and
Customer Management.
3. The admin selects the "Product
Management" option.
19
4. The Product Management interface
appears, showing functionalities to
view, add, edit, and delete products.
5. The admin selects the "Delete
Product" option.
6. The interface displays a list of
products with a "Delete" button at
the end of each row.
7. The admin clicks the "Delete" button
for the product they want to remove.
8. A confirmation dialog appears,
asking the manager to confirm the
deletion.
9. The admin clicks the "Confirm
Delete" button.
10. The system displays a success
message, indicating that the product
has been deleted.
Alternative flow
Exception flow
-User story:
As an admin, I want to delete a product from the system, so that I can
maintain an accurate and up-to-date product inventory.
-Acceptance criteria:
• The admin must be logged into the system to access the "Product
Management" option.
• The "Delete Product" option displays a list of all products currently in the
system.
• Each product entry includes a "Delete" button.
• Clicking the "Delete" button triggers a confirmation dialog asking: "Are
you sure you want to delete this product?"
• If the admin confirms the deletion, the product is removed from the
system.
• The system displays a success message: "Product successfully deleted."
Update product
-Scenario:
UC name Manage product
Desciption This use case enables an admin to modify
product details in the system. After logging
in, the admin navigates to the Product
Management interface, selects a product to
edit, and updates the details using a provided
form
Actor Admin
20
Trigger The use case starts when the admin decides
to update product details in the system.
Precondition Admin must have successfully logged into
the system.
Postcondition Product information is successfully updated.
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The admin interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, and
Customer Management.
3. The admin selects the "Product
Management" option.
4. The Product Management interface
appears, showing functionalities to
view, add, edit, and delete products.
5. The admin selects the "Edit Product"
option.
6. The interface displays a list of
products with an "Edit" button at the
end of each row.
7. The admin clicks the "Edit" button
for the product they want to modify.
8. An edit form for the product appears.
9. The admin enters the updated
product information in the form and
clicks the "Save" button.
10. The system displays a success
message, indicating that the product
information has been successfully
updated.
Alternative flow
Exception flow
-User story:
As an admin, I want to edit the details of a product, so that I can ensure the
product information is accurate and up-to-date.
-Acceptance criteria:
• The admin must be logged into the system to access the "Product
Management" option.
• The "Edit Product" option displays a list of all products in the system.
• Each product entry includes an "Edit" button.
• Clicking the "Edit" button opens an editable form pre-filled with the
product's existing details, such as:
i. Product name.
ii. Description.
iii. Price.
iv. Stock quantity.
21
v. Category.
vi. Product image (if available).
• The admin can modify the desired fields and click the "Save" button to
update the product.
• The system displays a success message: "Product information successfully
updated."
• The updated product details are immediately reflected in the system.
Add payment
-Scenario:
UC name Manage payment
Desciption This use case allows the admin to add a new
payment record to the system. After logging
in, the admin navigates to the Payment
Management interface and selects the "Add
Payment" function.
Actor Admin
Trigger The use case starts when the admin decides
to add a new payment record (invoice) into
the system.
Precondition Admin must have successfully logged into
the system.
Postcondition A payment record (invoice) is successfully
added.
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, Customer
Management, and Payment
Management.
3. The admin selects the "Payment
Management" option.
4. The Payment Management interface
appears, showing functionalities such
as Add Payment, Edit Payment,
View Payment, and Delete Payment.
5. The admin selects the "Add
Payment" option.
Alternative flow
Exception flow
-User story:
As an admin, I want to add a new payment record (invoice) into the system,
so that all payment transactions are tracked and recorded accurately.
22
-Acceptance criteria:
Update payment
-Scenario:
UC name Manage payment
Desciption This use case enables an admin to update
existing payment details in the system. After
logging in, the admin navigates to the
Payment Management interface, selects the
"Edit Payment" option, and updates the
payment details using a provided form.
Actor Admin
Trigger The use case starts when the admin decides
to update payment details in the system.
Precondition Admin must have successfully logged into
the system.
Postcondition Payment details are successfully updated.
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, Customer
Management, and Payment
Management.
3. The admin selects the "Payment
Management" option.
4. The Payment Management interface
appears, showing functionalities such
as Add Payment, Edit Payment,
View Payment, and Delete Payment.
23
5. The admin selects the "Edit
Payment" option.
6. A payment update form is displayed.
7. The admin enters the necessary
updates in the form and clicks the
"Save" button.
8. The system displays a success
message, confirming the payment has
been updated.
9. The admin repeats steps 5-8 for all
payments that need to be updated.
Alternative flow
Exception flow
-User story:
As an admin, I want to update the details of a payment record, so that the
payment information in the system remains accurate and up-to-date.
-Acceptance criteria:
Delete payment
-Scenario:
UC name Manage payment
Desciption This use case allows an admin to delete
payment records from the system. After
logging in, the admin navigates to the
Payment Management interface, selects the
"Delete Payment" function, and chooses the
specific payment to remove.
Actor Admin
24
Trigger The use case starts when the admin decides
to remove a payment record from the
system.
Precondition Admin must have successfully logged into
the system.
Postcondition Payment is successfully deleted
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, Customer
Management, and Payment
Management.
3. The admin selects the "Payment
Management" option.
4. The Payment Management interface
appears, showing functionalities such
as Add Payment, Edit Payment,
View Payment, and Delete Payment.
5. The admin selects the "Delete
Payment" option.
6. The interface displays a list of
payments with a "Delete" button at
the end of each row.
7. The admin clicks the "Delete" button
for the payment they want to remove.
8. A confirmation dialog appears,
asking the manager to confirm the
deletion.
Alternative flow
Exception flow
-User story:
As an admin, I want to delete a payment record from the system, so that I can
remove invalid or unnecessary payment entries.
-Acceptance criteria:
• The admin must be logged into the system to access the "Payment
Management" option.
• The "Delete Payment" option displays a list of all payment records in the
system.
• Each payment record has a "Delete" button at the end of its row.
• Clicking the "Delete" button triggers a confirmation dialog that asks: "Are
you sure you want to delete this payment?"
• If the admin confirms the deletion, the payment record is removed from the
system.
• The system displays a success message: "Payment record successfully
deleted."
View payment
25
-Scenario:
UC name Manage payment
Desciption This use case enables an admin to view
payment details in the system. After logging
in, the admin navigates to the Payment
Management interface and uses a search tool
to locate specific payment records
Actor Admin
Trigger The use case starts when the admin decides
to view specific payment details in the
system.
Precondition Admin must have successfully logged into
the system.
Postcondition Payment details are successfully viewed.
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, Customer
Management, and Payment
Management.
3. The admin selects the "Payment
Management" option.
4. The Payment Management interface
appears, showing functionalities such
as Add Payment, Edit Payment,
View Payment, and Delete Payment.
5. The admin selects the "View
Payment" option.
6. The interface displays a search input
field along with a search icon.
7. The admin enters the payment ID or
order name and clicks the search
button.
8. The interface displays payment
records matching the search criteria.
9. The admin clicks on a row from the
list to view detailed information
about the selected payment.
Alternative flow
Exception flow 8.1 If no matching search results are
displayed:
26
-User story:
As an admin, I want to view specific payment records, so that I can verify
transaction details or resolve customer inquiries.
-Acceptance criteria:
Payment
-Scenario:
UC name Payment
Desciption This use case allows a customer to complete
the payment process for their order. After
logging in, the customer selects the items in
their shopping cart, chooses a payment
method, and confirms the transaction.
Actor Customer
Trigger The use case starts when the customer
decides to make a payment for the items in
their shopping cart.
Precondition Customer must have successfully logged into
the system
Postcondition Payment is successfully completed.
Basic flow 1. The customer logs into the system
using their registered username and
password.
2. The customer selects the shopping
cart to proceed with payment.
3. The interface displays the payment
functionality for the order.
4. The interface displays available
payment methods.
27
5. The customer selects their preferred
payment method.
6. The customer reviews the payment
details and clicks the "Confirm"
button.
7. The system displays a success
message confirming the payment and
provides a "View Placed Orders"
button.
8. The customer clicks on the "View
Placed Orders" button to review the
order details if desired.
Alternative flow
Exception flow
-User story:
As a customer, I want to complete the payment process for my order, so that
I can finalize the purchase of items in my shopping cart.
-Acceptance criteria:
• The customer must be logged in to access the shopping cart and payment
functionality.
• The shopping cart displays all selected items, their quantities, and the total
price.
• The customer is provided with a list of available payment methods (e.g.,
credit card, PayPal, bank transfer).
• The customer selects a payment method and proceeds to the payment
review page.
• The payment review page displays the following:
i. List of items being purchased.
ii. Total amount to be paid.
iii. Selected payment method.
• The customer clicks the "Confirm" button to complete the payment.
• The system displays a success message: "Your payment was successful."
• The customer is provided with an option to "View Placed Orders" to check
their order details.
Shipment
-Scenario:
UC name Shipment
Desciption This use case allows a customer to confirm
shipping details for their order. After logging
in, the customer specifies the delivery
address, chooses a shipping method, and
confirms the shipment request.
Actor Customer
28
Trigger The use case starts when the customer
decides to arrange for the shipment of their
order.
Precondition Customer must have successfully logged into
the system
Postcondition Shipping request is successfully confirmed
Basic flow 1. The customer logs into the system
using their registered username and
password.
2. The customer selects the shopping
cart to display the shipping method
interface.
3. The interface displays the shipping
functionality.
4. The customer enters a specific
delivery address.
5. The customer selects their preferred
shipping method.
6. The customer reviews the shipping
details and clicks the "Confirm"
button.
7. The system displays a message
indicating that the shipment is on its
way to the customer.
8. The customer clicks on the "View
Placed Orders" button to review the
shipping and order details if desired.
Alternative flow
Exception flow
-User story:
-Acceptance criteria:
• The customer must be logged in to access the shipping functionality.
• The system displays a form to enter or select a delivery address.
• The customer can choose a shipping method from the available options.
• The customer reviews the shipping details (e.g., address, shipping method,
and estimated delivery time) before confirming.
• The system displays a success message: "Your shipment request has been
confirmed."
Add shipment
-Scenario:
UC name Manage shipment
Desciption This use case allows an admin to add new
shipment information to the system. After
29
logging in, the admin navigates to the
Shipping Management interface, enters
shipment details using a provided form, and
saves the entry.
Actor Admin
Trigger The use case starts when the admin decides
to add new shipment details into the system.
Precondition Admin must have successfully logged into
the system
Postcondition Shipment details are successfully added.
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, Customer
Management, and Payment
Management.
3. The admin selects the "Shipping
Management" option.
4. The Shipping Management interface
appears, showing functionalities such
as Add Shipment, Edit Shipment,
View Shipment, and Delete
Shipment.
5. The admin selects the "Add
Shipment" option.
6. A shipment entry form is displayed.
7. The admin enters the shipment
details for an order into the form and
clicks the "Save" button.
8. The system displays a success
message indicating that the shipment
information has been added.
9. The admin repeats steps 5-8 until all
desired shipment information has
been added to the sales system.
Alternative flow
Exception flow
-User story:
As an admin, I want to add shipment information to the system, so that I can
ensure orders are processed for delivery
-Acceptance criteria:
30
i. Order ID.
ii. Shipping address.
iii. Shipping method.
iv. Estimated delivery date.
v. Tracking number (optional).
• The admin enters shipment details and clicks the "Save" button.
• The system validates the input for required fields and displays a success
message: "Shipment information added successfully."
• The newly added shipment record is saved in the system and visible in the
shipment list.
Update shipment
-Scenario:
UC name Manage shipment
Desciption This use case enables an admin to modify
shipment details for existing orders. After
logging in, the admin navigates to the
Shipping Management interface, selects the
shipment to update, and inputs the necessary
changes using an update form
Actor Admin
Trigger The use case starts when the admin decides
to update existing shipment information in
the system.
Precondition Admin must have successfully logged into
the system
Postcondition Shipment information is successfully
updated
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, Customer
Management, and Payment
Management.
3. The admin selects the "Shipping
Management" option.
4. The Shipping Management interface
appears, showing functionalities such
as Add Shipment, Edit Shipment,
View Shipment, and Delete
Shipment.
5. The admin selects the "Update
Shipment Information" option.
6. A shipment update form is displayed.
31
7. The admin enters the necessary
updates in the form and clicks the
"Save" button.
8. The system displays a success
message indicating that the shipment
information has been updated.
9. The admin repeats steps 5-8 for all
shipment information that needs to
be updated.
Alternative flow
Exception flow
-User story:
-Acceptance criteria:
Delete shipment
-Scenario:
UC name Manage shipment
Desciption This use case allows an admin to remove
existing shipment information from the
system. After logging in, the admin
navigates to the Shipping Management
interface, selects the shipment to delete, and
confirms the action in a dialog box.
Actor Admin
32
Trigger The use case starts when the admin decides
to delete shipment information from the
system.
Precondition Admin must have successfully logged into
the system
Postcondition Shipment information is successfully deleted
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, Customer
Management, and Payment
Management.
3. The admin selects the "Shipping
Management" option.
4. The Shipping Management interface
appears, showing functionalities such
as Add Shipment, Edit Shipment,
View Shipment, and Delete
Shipment.
5. The admin selects the "Delete
Shipment Information" option.
6. A list of shipment information is
displayed, with a "Delete" button at
the end of each row.
7. The admin clicks the "Delete" button
for the shipment information they
wish to remove.
8. A confirmation dialog appears,
asking the manager to confirm the
deletion of the shipment information.
Alternative flow
Exception flow
-User story:
-Acceptance criteria:
• The admin must be logged in to access the "Shipping Management"
functionality.
• The "Delete Shipment Information" option is accessible from the "Shipping
Management" interface.
• The system displays a list of shipment entries, each with a "Delete" button.
• Clicking the "Delete" button triggers a confirmation dialog.
• The system deletes the shipment record upon confirmation and displays a
success message: "Shipment information successfully deleted."
33
View shipment
-Scenario:
UC name Manage shipment
Desciption This use case allows an admin to view
detailed shipment information. After logging
in, the admin navigates to the Shipping
Management interface and uses a search tool
to locate specific shipment records.
Actor Admin
Trigger The use case starts when the admin decides
to view shipment details in the system.
Precondition Admin must have successfully logged into
the system
Postcondition Shipment information is successfully
viewed.
Basic flow 1. The admin logs into the system using
the provided username and password.
2. The management interface appears,
displaying options such as Product
Management, Order Management,
Shipping Management, Customer
Management, and Payment
Management.
3. The admin selects the "Shipping
Management" option.
4. The Shipping Management interface
appears, showing functionalities such
as Add Shipment, Edit Shipment,
View Shipment, and Delete
Shipment.
5. The admin selects the "View
Shipment Information" option.
6. A search input field and search icon
are displayed.
7. The admin enters the shipment
information ID or order name and
clicks the search button.
8. The interface displays shipment
information matching the search
criteria.
9. The admin clicks on a row from the
list to view detailed shipment
information.
Alternative flow
Exception flow 8.1 If no matching search results are found:
34
• 8.1.1: The admin re-enters the
shipment information ID or order
name and performs the search again.
-User story:
As an admin, I want to view shipment details for a specific order, so that I
can verify and track the shipment information.
-Acceptance criteria:
• The admin must be logged in to access the "Shipping Management"
functionality.
• The "View Shipment Information" option is accessible from the "Shipping
Management" interface.
• The interface provides a search input field and search button for finding
shipment records.
• Entering a valid shipment ID or order name and clicking "Search" displays
matching shipment details.
• Clicking on a specific entry opens detailed shipment information.
Add to cart
-Scenario:
UC name Create cart
Desciption This use case enables a customer to create a
shopping cart by adding products to it. After
logging in, the customer can view products,
select the desired quantity, and add them to
their cart.
Actor Customer
Trigger The use case starts when the customer
decides to browse products and add them to
their shopping cart.
Precondition Customer must have successfully logged into
the system
Postcondition Items are successfully added to the shopping
cart.
Basic flow 1. The customer logs into the system
using an account that has been
created beforehand.
2. The homepage is displayed, allowing
the customer to view their cart,
browse products, and add products to
the cart.
3. The customer clicks on "View
Products."
4. The product information page is
displayed, including options to select
quantity and add items to the cart.
35
5. The customer selects the quantity
they wish to purchase and clicks the
"Add to Cart" button.
6. A success notification is displayed,
and the shopping cart page is shown.
Alternative flow
Exception flow
-User story:
As a customer, I want to browse products and add them to my shopping cart,
so that I can select items for purchase.
-Acceptance criteria:
• The system displays product details and available quantity when the
customer clicks "View Products."
• The customer can select the desired quantity of a product and add it to their
cart.
• A success notification is displayed after adding a product to the cart.
• The cart updates to reflect the added product(s) and their total quantity.
Update cart
-Scenario:
UC name Create cart
Desciption This use case allows a customer to manage
and update their shopping cart. After logging
in, the customer can access their cart, adjust
product details, and save the updates.
Actor Customer
Trigger The use case starts when the customer
decides to view or update their shopping
cart.
Precondition Customer must have successfully logged into
the system
Postcondition The shopping cart is successfully updated.
Basic flow 1. The customer logs into the system
using an account that has been
created beforehand.
2. The homepage is displayed, allowing
the customer to view their cart,
browse products, and add products to
the cart.
3. The customer selects "View Cart."
4. The shopping cart page is displayed,
including options to proceed to
payment or update the cart.
5. The customer modifies product
information (e.g., quantity) and
clicks the "Update Cart" button.
36
6. A success notification is displayed,
confirming that the cart has been
updated.
Alternative flow
Exception flow
-User story:
As a customer,I want to update the quantities of products in my shopping cart,
so that I can ensure the correct quantities before proceeding to checkout.
-Acceptance criteria:
• The system displays the shopping cart with products, their current
quantities, and prices.
• Customers can modify the quantity of any product in the cart.
• Clicking the "Update Cart" button saves the changes and updates the cart
totals.
• A success message confirms the update: "Cart updated successfully."
-Scenario:
UC name Create cart
Desciption This use case allows a customer to manage
their shopping cart by removing unwanted
products. After logging in, the customer can
access their cart, select items to delete, and
confirm the action.
Actor Customer
Trigger The use case starts when the customer
decides to remove items from their shopping
cart.
Precondition Customer must have successfully logged into
the system
Postcondition Products are successfully removed from the
shopping cart.
Basic flow 1. The customer logs into the system
using an account that has been
created beforehand.
2. The homepage is displayed, allowing
the customer to view their cart,
browse products, and add products to
the cart.
3. The customer selects "View Cart."
4. The shopping cart page is displayed,
including options to proceed to
payment, update the cart, or remove
products.
5. The customer selects the products
they wish to delete and clicks the
"Delete Products" button.
37
6. The system displays a confirmation
prompt asking the customer to
confirm the deletion.
7. The customer confirms the deletion.
8. The system displays a success
notification, indicating that the
selected products have been
successfully removed from the cart.
Alternative flow
Exception flow
-User story:
As a customer, I want to remove specific products from my shopping cart, so
that I can exclude unwanted items before proceeding to checkout.
-Acceptance criteria:
• The shopping cart displays all added products with their details (e.g.,
name, quantity, price).
• Each product in the cart has a checkbox to select for deletion.
• Clicking the "Delete Products" button removes the selected products from
the cart.
• A success message is displayed: "Products successfully removed from the
cart."
• The cart total is recalculated to reflect the removal of items.
Sequence Diagram
-Create a cart and checkout process
38
-Payment process flow
39
-Customer Feedback Process
40
Activity Diagram
41
- Processing order
42
- Payment process
43
- Process Shipment
44
45
II. Requirement Analysis
1. CRC cards
46
16. Shoes
o Responsibilities: Manage shoe-specific details
o Collaborates with: Product, Size, Brand
17. ProductSpecification
o Responsibilities: Store detailed product attributes
o Collaborates with: Product, Manufacturer
18. Manufacturer
o Responsibilities: Track product manufacturers
o Collaborates with: Product, ProductSpecification
19. ProductReview
o Responsibilities: Manage customer product reviews
o Collaborates with: Product, Customer
20. ProductImage
o Responsibilities: Store and manage product images
o Collaborates with: Product, ImageManagement
Order Management (21-30)
21. Order
o Responsibilities: Track customer purchases
o Collaborates with: Customer, Product, Payment
22. OrderItem
o Responsibilities: Represent individual product in order
o Collaborates with: Order, Product
23. Cart
o Responsibilities: Manage shopping cart functionality
o Collaborates with: Customer, Product, Order
24. CartItem
o Responsibilities: Represent items in shopping cart
o Collaborates with: Cart, Product
25. OrderTracking
o Responsibilities: Monitor order status and shipping
o Collaborates with: Order, ShippingCarrier
26. ShippingMethod
o Responsibilities: Define shipping options
o Collaborates with: Order, ShippingCarrier
27. ShippingCarrier
o Responsibilities: Manage shipping providers
o Collaborates with: ShippingMethod, Order
28. OrderReturn
o Responsibilities: Handle product returns
o Collaborates with: Order, Product, Customer
29. OrderRefund
o Responsibilities: Process order refunds
o Collaborates with: Order, Payment, Customer
30. OrderHistory
o Responsibilities: Maintain historical order records
o Collaborates with: Customer, Order
Payment and Financial Management (31-40)
31. Payment
o Responsibilities: Process financial transactions
o Collaborates with: Order, Customer, PaymentMethod
32. PaymentMethod
o Responsibilities: Store payment type details
47
o Collaborates with: Payment, Customer
33. CreditCard
o Responsibilities: Manage credit card payment details
o Collaborates with: Payment, Customer
34. PayPal
o Responsibilities: Handle PayPal transactions
o Collaborates with: Payment, Customer
35. BankTransfer
o Responsibilities: Manage bank transfer payments
o Collaborates with: Payment, Customer
36. Invoice
o Responsibilities: Generate and track invoices
o Collaborates with: Order, Payment, Customer
37. PaymentGateway
o Responsibilities: Integrate external payment systems
o Collaborates with: Payment, Transaction
38. FinancialReport
o Responsibilities: Generate financial analytics
o Collaborates with: Order, Payment, Manager
39. TransactionLog
o Responsibilities: Record all financial transactions
o Collaborates with: Payment, Order
40. TaxCalculator
o Responsibilities: Compute taxes for orders
o Collaborates with: Order, Payment
Inventory and Warehouse Management (41-50)
41. Inventory
o Responsibilities: Track product stock levels
o Collaborates with: Product, Staff
42. InventoryTransaction
o Responsibilities: Record inventory changes
o Collaborates with: Inventory, Staff
43. Warehouse
o Responsibilities: Manage physical storage locations
o Collaborates with: Inventory, Product
44. StockAlert
o Responsibilities: Notify about low stock levels
o Collaborates with: Inventory, Staff
45. ProductRestock
o Responsibilities: Manage product replenishment
o Collaborates with: Inventory, Supplier
46. Supplier
o Responsibilities: Track product suppliers
o Collaborates with: Product, Inventory, ProductRestock
47. WarehouseLocation
o Responsibilities: Define storage locations
o Collaborates with: Warehouse, Product
48. InventoryAudit
o Responsibilities: Conduct inventory checks
o Collaborates with: Inventory, Staff, Manager
49. ProductDiscount
o Responsibilities: Manage product pricing and promotions
48
o Collaborates with: Product, Order
50. SearchCatalog
o Responsibilities: Enable product search and filtering
o Collaborates with: Product, Category
49
2. Class diagram
50
3. Data dictionary
• Account
Column Name Data Type Description
ID Integer (PK) Unique identifier for the account.
Username Varchar(100) Username for logging into the system.
Password Varchar(255) Hashed password for account security.
Email Varchar(255) Email address associated with the account.
Role Varchar(50) User role (e.g., Admin, Customer).
• User
Column Name Data Type Description
ID Integer (PK) Unique identifier for the user.
Name Varchar(255) User's full name.
Phone Varchar(15) User's contact number.
Address Varchar(255) User's residential address.
DateOfBirth Date User's date of birth.
AccountID Integer (FK) Foreign key referencing the Account table.
51
• Cart
Column Name Data Type Description
ID Integer (PK) Unique identifier for the cart.
UserID Integer (FK) Foreign key referencing the User table.
TotalAmount Float Total cost of the cart.
Status Varchar(50) Status of the cart (e.g., Open, Closed).
• Product
Column Name Data Type Description
ID Integer (PK) Unique identifier for the product.
Name Varchar(255) Name of the product.
Description Varchar(255) Product description.
Price Float Product price.
Discount Float Product discount, if applicable.
CategoryID Integer (FK) Foreign key referencing the Category table.
• Category
Column Name Data Type Description
ID Integer (PK) Unique identifier for the category.
Name Varchar(255) Name of the category (e.g., Books, Clothes).
Description Varchar(255) Description of the category.
• Order
Column Name Data Type Description
ID Integer (PK) Unique identifier for the order.
CartID Integer (FK) Foreign key referencing the Cart table.
PaymentID Integer (FK) Foreign key referencing the Payment table.
ShipmentID Integer (FK) Foreign key referencing the Shipment table.
Status Varchar(50) Status of the order (e.g., Pending, Completed).
• Payment
Column Name Data Type Description
ID Integer (PK) Unique identifier for the payment.
OrderID Integer (FK) Foreign key referencing the Order table.
Amount Float Amount paid.
Method Varchar(50) Payment method (e.g., Credit Card, PayPal).
Status Varchar(50) Status of the payment (e.g., Paid, Failed).
• Shipment
Column Name Data Type Description
ID Integer (PK) Unique identifier for the shipment.
OrderID Integer (FK) Foreign key referencing the Order table.
52
Column Name Data Type Description
Address Varchar(255) Delivery address for the shipment.
Status Varchar(50) Status of the shipment (e.g., Shipped).
• Feedback
Attribute Type Description
ID Integer (PK) Unique identifier for feedback.
UserID Integer (FK) Foreign key linking to User.ID.
ProductID Integer (FK) Foreign key linking to Product.ID.
Rating Integer (1-5) Rating given to the product.
Comment Varchar(255) Customer's feedback about the product.
FeedbackDate DateTime Date feedback was submitted.
• Type
Attribute Type Description
ID Integer (PK) Unique identifier for the type.
Name Varchar(100) Name of the type (e.g., Electronics).
Description Varchar(255) Description of the type.
• Author
Attribute Type Description
ID Integer (PK) Unique identifier for the author.
Name Varchar(255) Name of the author.
Bio Varchar(500) Brief biography of the author.
DOB Date Date of birth of the author.
• Publisher
Attribute Type Description
ID Integer (PK) Unique identifier for the publisher.
Name Varchar(255) Name of the publishing company.
Address Varchar(255) Address of the publisher's headquarters.
Phone Varchar(15) Contact phone number for the publisher.
ProductID Integer (FK) Foreign key linking to Product.ID.
• Book
Attribute Type Description
ID Integer (PK) Unique identifier for the book.
Title Varchar(255) Title of the book.
ISBN Varchar(13) International Standard Book Number.
CategoryID Integer (FK) Foreign key linking to Category.ID.
AuthorID Integer (FK) Foreign key linking to Author.ID.
53
Attribute Type Description
PublisherID Integer (FK) Foreign key linking to Publisher.ID.
• Clothes
Attribute Type Description
ID Integer (PK) Unique identifier for the clothing item.
Name Varchar(255) Name of the clothing product.
SizeID Integer (FK) Foreign key linking to Size.ID.
TypeID Integer (FK) Foreign key linking to Type.ID.
Material Varchar(100) Material composition of the clothing item.
• Shoes
Attribute Type Description
ID Integer (PK) Unique identifier for the shoe product.
Name Varchar(255) Name of the shoe product.
SizeID Integer (FK) Foreign key linking to Size.ID.
TypeID Integer (FK) Foreign key linking to Type.ID.
Material Varchar(100) Material composition of the shoe product.
• Size
Attribute Type Description
ID Integer (PK) Unique identifier for the size.
Value Varchar(10) Size value (e.g., S, M, L, XL, etc.).
Description Varchar(255) Description of the size (e.g., "Large").
• Electronics
Attribute Type Description
ID Integer (PK) Unique identifier for the electronic product.
Name Varchar(255) Name of the electronic product.
Brand Varchar(100) Manufacturer or brand of the product.
TypeID Integer (FK) Foreign key linking to Type.ID.
WarrantyPeriod Integer Warranty period in months.
• MobilePhone
Attribute Type Description
ID Integer (PK) Unique identifier for the mobile phone.
Model Varchar(255) Model name or number of the phone.
Brand Varchar(100) Manufacturer or brand of the phone.
OS Varchar(50) Operating system of the phone (e.g., iOS).
WarrantyPeriod Integer Warranty period in months.
54
• Cart
Attribute Type Description
ID Integer (PK) Unique identifier for the shopping cart.
UserID Integer (FK) Foreign key linking to User.ID.
TotalAmount Decimal(10,2) Total value of items in the cart.
DiscountID Integer (FK) Foreign key linking to Discount.ID.
Status Varchar(50) Status of the cart (e.g., Active, Pending).
Here's an extended data dictionary covering additional entities and ensuring all critical
details from the data model are addressed:
• Order
Attribute Type Description
ID Integer (PK) Unique identifier
for the order.
Foreign key
UserID Integer (FK)
linking to User.ID.
Foreign key
CartID Integer (FK)
linking to Cart.ID.
Foreign key
PaymentID Integer (FK) linking to
Payment.ID.
Foreign key
ShipmentID Integer (FK) linking to
Shipment.ID.
Timestamp of
OrderDate DateTime when the order
was placed.
Status of the order
Status Varchar(50) (e.g., Pending,
Delivered).
Total amount for
TotalAmount Decimal(10,2)
the order.
• Items
Attribute Type Description
ID Integer (PK) Unique identifier for a cart
item.
CartID Integer (FK) Foreign key linking to
Cart.ID.
Foreign key linking to
ProductID Integer (FK)
Product.ID.
55
Attribute Type Description
Quantity Integer Quantity of the product added
to the cart.
Subtotal Decimal(10,2) Calculated subtotal for the cart
item.
•
Order
Attribute Type Description
ID Integer (PK) Unique identifier for the
order.
UserID Integer (FK) Foreign key linking to
User.ID.
CartID Integer (FK) Foreign key linking to
Cart.ID.
Foreign key linking to
PaymentID Integer (FK)
Payment.ID.
Foreign key linking to
ShipmentID Integer (FK)
Shipment.ID.
OrderDate DateTime Timestamp of when the
order was placed.
Status Varchar(50) Status of the order (e.g.,
Pending, Delivered).
TotalAmount Decimal(10,2) Total amount for the order.
• Payment
Attribute Type Description
ID Integer (PK) Unique identifier for the
payment.
OrderID Integer (FK) Foreign key linking to
Order.ID.
Payment method used
Method Varchar(50) (e.g., Credit Card,
PayPal).
Amount Decimal(10,2) Total amount paid.
PaymentDate DateTime Date and time of payment
completion.
Unique identifier for the
TransactionID Varchar(100)
payment transaction.
• Shipment
Attribute Type Description
ID Integer (PK) Unique identifier for the
shipment.
56
Attribute Type Description
OrderID Integer (FK) Foreign key linking to
Order.ID.
Address Varchar(255) Shipping address.
Method used for
ShippingMethod Varchar(50) shipping (e.g., Standard,
Express).
Tracking number
TrackingNumber Varchar(100) provided by the shipping
service.
Date the shipment was
ShippingDate DateTime
dispatched.
Estimated or actual
DeliveryDate DateTime
delivery date.
• User
Attribute Type Description
ID Integer (PK) Unique identifier for the
user.
Name Varchar(255) Full name of the user.
Email Varchar(255) Email address of the
user.
Hashed password for
Password Varchar(255)
authentication.
Phone Varchar(15) Contact phone number.
Role Varchar(50) User's role (e.g., Admin,
Customer).
Timestamp when the
RegistrationDate DateTime
user registered.
• Type
Attribute Type Description
ID Integer (PK) Unique identifier for the type.
Name Varchar(255) Name of the type (e.g.,
Electronics, Clothing).
Description Varchar(255) Description of the type.
• Product
Attribute Type Description
ID Integer (PK) Unique identifier for the
product.
Name Varchar(255) Name of the product.
Brief description of the
Description Varchar(500)
product.
57
Attribute Type Description
Price Decimal(10,2) Price of the product.
StockCount Integer Available quantity of the
product in stock.
Foreign key linking to
CategoryID Integer (FK)
Category.ID.
Foreign key linking to
DiscountID Integer (FK)
Discount.ID.
• Category
Attribute Type Description
ID Integer (PK) Unique identifier for
the category.
Name of the category
Name Varchar(255) (e.g., Books,
Electronics).
Foreign key linking to
Category.ID for
ParentCategoryID Integer (FK)
hierarchical
categorization.
58
• Book
Attribute Type Description
ID Integer (PK) Unique identifier for the book. Title
Varchar(255) Title of the book.
AuthorID Integer (FK) Foreign key linking to Author.ID. PublisherID
Integer (FK) Foreign key linking to Publisher.ID. ISBN Varchar(13) ISBN
of the book.
Genre Varchar(100) Genre of the book. ReleaseDate DateTime
Date the book was published.
III. Desgin
1. Class diagram
2. Using MVC model to design the e-commerce system
+ Customer
Step 1:
Step 2:
Step 3 :
+Book
Step 1:
Step 2:
Step 3:
+Clothes
Step 1:
Step 2:
Step 3:
+Laptop
Step 1:
Step 2:
Step 3:
+Mobile Phone
Step 1:
Step 2:
Step 3 :
+Electronics
Step 1:
Step 2:
Step 3 :