2, Use đăng nhập.Tác nhân chính Người dùng Tiền điều kiện Người dùng đã có tài khoản Đảm bảo tối thiểu Hủy thao tác, hệ thống trở về vị trí ban đầu Đảm bảo thành công Người dùng có thể đ
Trang 1Học Viện Nông Nghiệp Việt Nam
Khoa Công Nghệ Thông Tin
TIỂU LUẬN Học Phần: KIẾN TRÚC VÀ THIẾT KẾ PM
Trang 2MỤC LỤC:
I, MỞ ĐẦU.
II KHẢO SÁT HỆ THỐNG VÀ ĐẶC TẢ YÊU CẦU HỆ THỐNG.
A khảo sát hệ thống
B Đặc tả yêu cầu của hệ thống
III, PHÂN TÍCH THIẾT KẾ HỆ THỐNG.
3.1, Xác định actor, Use case
A, Xác định actor
B, Use case.
1,Use case tổng quan
2, Use đăng nhập
3, Kịch bản Use đăng xuất
4, Kịch bản Use case tìm kiếm
5 Kịch bản use case xem chi tiết sản phẩm
3.3 Biểu đồ hoạt động: mua hàng trực tuyến
3.4 Biểu đồ trình tự mua hàng và thanh toán.
3.5 Vẽ Biểu Đồ Lớp,
3.6 Thiết kế CSDL sử dụng cho hệ thống
1.Xây dựng bảng quản trị website (admin)
2.Xây dựng thành viên (user)
3.Xây dựng bảng danh mục sản phẩm (catalog)
4.Xây dựng bảng sản phẩm (product)
5.Xây dựng bảng giao dịch (transaction)
6.Xây dựng bảng đơn hàng (order)
IV KẾT Luận.
Trang 3I, MỞ ĐẦU.
Trong bối cảnh đời sống hiện đại, nhu cầu nuôi thú cưng ngày càng gia tăng, kéo theo
sự phát triển mạnh mẽ của các cửa hàng thú cưng Đề tài "Cửa hàng thú cưng" được chọn nhằm xây dựng một hệ thống hỗ trợ quản lý, bán hàng và phục vụ khách hàng một cách hiệu quả Hệ thống này không chỉ đáp ứng nhu cầu mua sắm của người tiêu dùng mà còn giúp các cửa hàng tối ưu hóa quy trình kinh doanh, từ quản lý hàng hóa đến chăm sóc khách hàng Với sự phát triển của công nghệ thông tin, việc thiết kế mộtứng dụng phần mềm cho cửa hàng thú cưng sẽ mang lại nhiều lợi ích, giúp tiết kiệm thời gian, nâng cao trải nghiệm người dùng và tăng cường khả năng cạnh tranh
II KHẢO SÁT HỆ THỐNG VÀ ĐẶC TẢ YÊU CẦU HỆ THỐNG.
A khảo sát hệ thống
Trang 4+ CIT GROUP cung cấp phần mềm quản lý cửa hàng thú cưng chuyên nghiệp, được thiết kế với giao diện dễ sử dụng, có thể dễ dàng tuỳ chỉnh gúp quản lý cửa hàng một cách hiệu quả va tiện lợi hơn Phần mềm pet shop đáp ứng mọi nhu cầu kinh doanh,
từ cửa hàng nhỏ đến chuỗi cửa hàng đa chi nhánh
Trang 5Giao diện người dùng
+ Thiết kế thân thiện: Dễ sử dụng, trực quan cho người dùng
+ Tính năng tìm kiếm và lọc: Giúp nhanh chóng tìm kiếm thông tin thú cưng
Bảo mật và quyền riêng tư
+ Bảo vệ dữ liệu: Đảm bảo thông tin cá nhân của người dùng và thú cưng được bảo mật
+ Quyền truy cập: Phân quyền cho các thành viên trong gia đình hoặc nhân viên thú y
Tính năng tương tác
+ Nhắc nhở và thông báo: Gửi thông báo về lịch tiêm phòng, lịch hẹn khám bệnh
+ Chia sẻ thông tin: Cho phép chia sẻ thông tin thú cưng với bác sĩ thú y hoặc người chăm sóc
5 Tính năng mở rộng
+ Kết nối với dịch vụ chăm sóc thú cưng: Như grooming, khách sạn thú cưng, v.v.+ Cộng đồng: Diễn đàn hoặc nhóm hỗ trợ cho các chủ nuôi thú cưng
6 Phân tích và báo cáo
+ Theo dõi sức khỏe: Cung cấp báo cáo về sức khỏe và sự phát triển của thú cưng.+ Phân tích chi phí: Giúp người dùng nắm rõ chi phí chăm sóc thú cưng qua thời gian
7 Phản hồi từ người dùng
+ Khảo sát ý kiến: Thu thập phản hồi từ người dùng để cải thiện hệ thống
+ Hỗ trợ kỹ thuật: Cung cấp hỗ trợ khi người dùng gặp vấn đề
B Đặc tả yêu cầu của hệ thống
Trang 6 Thêm, sửa, xóa thông tin thú cưng (tên, giống, tuổi, màu sắc, tình trạng sức khỏe).
Lưu trữ lịch sử tiêm phòng và khám sức khỏe
2.2 Quản lý khách hàng
Thêm, sửa, xóa thông tin khách hàng (tên, địa chỉ, số điện thoại, email)
Ghi nhận thông tin thú cưng của khách hàng
2.3 Quản lý sản phẩm và dịch vụ
Danh mục sản phẩm: thức ăn, đồ chơi, phụ kiện
Danh mục dịch vụ: tiêm phòng, grooming, chăm sóc sức khỏe
Theo dõi tồn kho sản phẩm
2.4 Quản lý đơn hàng
Tạo và quản lý đơn hàng cho sản phẩm và dịch vụ
Cung cấp thông tin thanh toán và hóa đơn
2.5 Nhắc nhở và thông báo
Gửi thông báo nhắc nhở lịch tiêm phòng và khám sức khỏe cho khách hàng
Thông báo khi có sản phẩm mới hoặc giảm giá
3 Yêu cầu về giao diện người dùng
Giao diện dễ sử dụng: Thiết kế thân thiện, dễ dàng điều hướng
Bảng điều khiển: Hiển thị thông tin tổng quan về thú cưng, khách hàng và đơnhàng
Tìm kiếm và lọc: Cho phép tìm kiếm thông tin thú cưng, khách hàng, và sản phẩm
4 Yêu cầu về bảo mật
Bảo vệ thông tin cá nhân của khách hàng và thú cưng
Quản lý quyền truy cập: phân quyền cho nhân viên và quản lý
5 Yêu cầu về hiệu suất
Thời gian phản hồi nhanh cho các thao tác của người dùng
Hệ thống có khả năng xử lý đồng thời nhiều yêu cầu từ người dùng
6 Tính năng mở rộng
Kết nối với dịch vụ bên ngoài: bác sĩ thú y, dịch vụ chăm sóc thú cưng
Tính năng cộng đồng: diễn đàn hoặc nhóm chia sẻ kinh nghiệm giữa các chủ nuôi thú cưng
7 Yêu cầu về báo cáo
Trang 7 Cung cấp báo cáo định kỳ về doanh thu, tồn kho, và tình trạng sức khỏe thú cưng.
Thống kê chi phí chăm sóc thú cưng theo thời gian
8 Yêu cầu kỹ thuật
Hệ thống có thể hoạt động trên nhiều thiết bị: máy tính, tablet, điện thoại thông minh
Hỗ trợ nhiều ngôn ngữ, nếu cần
III, PHÂN TÍCH THIẾT KẾ HỆ THỐNG.
3,1, Xác định actor, Use Case
Trang 82, Use đăng nhập.
Tác nhân chính Người dùng
Tiền điều kiện Người dùng đã có tài khoản
Đảm bảo tối thiểu Hủy thao tác, hệ thống trở về vị trí ban đầu
Đảm bảo thành công Người dùng có thể đăng nhập vào hệ thống
- Kiểm tra sự tồn tại của tên đăng nhập
- Xác minh tính hợp lệ của mật khẩu so với tên đăng nhập
- Xác thực thành công: Nếu thông tin hợp lệ, hệ thống sẽ cho phép người dùngtruy cập vào hệ thống, thường bằng cách chuyển họ đến trang chủ hoặc bảng điềukhiển
- Kết thúc phiên đăng nhập: Người dùng có thể đăng xuất khỏi hệ thống khikhông còn sử dụng
- Tài khoản bị khóa: Nếu người dùng nhập sai mật khẩu quá nhiều lần, hệ thống
có thể khóa tài khoản để bảo mật và yêu cầu người dùng liên hệ với quản trị viênhoặc đặt lại mật khẩu
c Tiền điều kiện.
- Người dùng phải có tài khoản trong hệ thống với thông tin xác thực hợp lệ (tênđăng nhập và mật khẩu)
- Hệ thống phải có cơ chế xác thực (cơ sở dữ liệu lưu trữ thông tin đăng nhập)
Trang 9d, Hậu điều kiện.
Nếu thành công, người dùng sẽ được truy cập vào hệ thống và có thể thực hiệncác chức năng được cấp quyền
Nếu thất bại, người dùng vẫn sẽ ở lại trang đăng nhập và có thể nhận được hướngdẫn để nhập lại thông tin hoặc khôi phục tài khoản
e, Các yêu cầu chức năng.
- Form đăng nhập: Giao diện để người dùng nhập tên đăng nhập và mật khẩu
- Xác thực người dùng: Hệ thống phải có khả năng kiểm tra thông tin người dùngvới dữ liệu đã lưu trữ (trong cơ sở dữ liệu)
- Cơ chế khôi phục mật khẩu: Hệ thống cần cung cấp tính năng khôi phục mậtkhẩu cho người dùng quên mật khẩu
- Cảnh báo bảo mật: Nếu người dùng nhập sai thông tin nhiều lần, hệ thống có thểkhóa tài khoản và yêu cầu biện pháp bảo mật bổ sung
f, Kịch bản mở rộng
- Đăng nhập nhiều cấp độ (Two-Factor Authentication - 2FA): Hệ thống có thểyêu cầu một lớp bảo mật bổ sung (như mã xác thực gửi qua SMS hoặc email) đểđảm bảo người dùng là người sở hữu tài khoản
- Đăng nhập bằng tài khoản mạng xã hội: Người dùng có thể được cung cấp tùyChọn đăng nhập thông qua các dịch vụ mạng xã hội như Google hoặc Facebookthay vì nhập thông tin tài khoản riêng
BIỂU DỒ HOẠT ĐỘNG.
3 Kịch bản Use đăng xuất:
Trang 10Tên Use Case Đăng xuất
Tác nhân chính Người dùng
Tiền điều kiện Người dùng đã có tài khoản
Đảm bảo tối thiểu Hủy thao tác, hệ thống trở về vị trí ban đầu
Đảm bảo thành công Người dùng có thể thoát ra khỏi hệ thống
Kích hoạt Phím đăng xuất trên thanh công cụ
a, Luồng sự kiện chính:
- Người dùng chọn chức năng đăng xuất: Người dùng nhấn vào nút "Đăng xuất"trong giao diện của hệ thống
- Hệ thống xác nhận yêu cầu: Hệ thống nhận yêu cầu đăng xuất từ người dùng
- Hủy bỏ phiên làm việc: Hệ thống kết thúc phiên làm việc hiện tại, xóa dữ liệu tạm thời liên quan đến phiên (session cookies hoặc tokens)
- Chuyển về màn hình đăng nhập: Sau khi phiên làm việc kết thúc, hệ thống đưangười dùng trở về màn hình đăng nhập hoặc giao diện chính của ứng dụng
- Đăng xuất thành công: Người dùng đã thoát hoàn toàn khỏi hệ thống
b Luồng sự kiện phụ.
- Người dùng thoát trình duyệt mà không nhấn Đăng xuất: Hệ thống có thể duy trìtrạng thái đăng nhập, nhưng khi người dùng quay lại, nếu phiên đã hết hạn, hệthống sẽ yêu cầu đăng nhập lại Hệ thống nên có cơ chế tự động hủy phiên saumột thời gian không hoạt động
- Phiên đăng nhập hết hạn: Nếu người dùng không hoạt động trong một
khoảng thời gian nhất định, hệ thống tự động đăng xuất người dùng để bảo vệ tàikhoản Khi quay lại, người dùng phải đăng nhập lại để tiếp tục sử dụng hệ thống
c Tiền điều kiện.
- Người dùng đã đăng nhập thành công và đang có phiên làm việc hoạt động
- Hệ thống có chức năng quản lý phiên làm việc và lưu trữ trạng thái đăng
nhập của người dùng
d Hậu điều kiện.
- Phiên làm việc hiện tại của người dùng đã bị xóa hoàn toàn khỏi hệ thống
- Người dùng đã được đăng xuất và không còn quyền truy cập vào các chức năngtrong hệ thống cho đến khi đăng nhập lại
e Các yêu cầu chức năng.
- Nút đăng xuất: Cần cung cấp một nút hoặc liên kết dễ thấy trong giao diện của
hệ thống để người dùng có thể thực hiện thao tác đăng xuất bất cứ lúc nào
- Hủy bỏ phiên làm việc: Khi người dùng đăng xuất, hệ thống phải xóa toàn bộ
dữ liệu liên quan đến phiên hiện tại (session ID, cookies, tokens)
- Thông báo đăng xuất thành công: Sau khi người dùng đăng xuất, hệ thống cóthể hiển thị thông báo xác nhận hoặc chuyển hướng về màn hình đăng nhập
f Kịch bản mở rộng.
- Đăng xuất trên nhiều thiết bị: Nếu người dùng đăng nhập trên nhiều thiết bị, hệthống cần có cơ chế đăng xuất đồng bộ trên tất cả các thiết bị khi người dùngchọn đăng xuất ở một thiết bị cụ thể
- Đăng xuất tự động (Auto Logout): Hệ thống có thể tự động đăng xuất người
dùng sau một khoảng thời gian không hoạt động để đảm bảo bảo mật (ví dụ: sau
15-30 phút không có thao tác nào)
- Thông báo hết hạn phiên (Session Timeout Warning): Trước khi hệ thống tự
Trang 11động đăng xuất, có thể hiển thị thông báo cảnh báo để người dùng biết rằng phiênlàm việc sắp hết hạn và cho phép họ lựa chọn giữ phiên hoạt động.
Biểu đồ hoạt động:
+ Sơ đồ use case người dùng tìm kiếm:
4 Kịch bản Use case tìm kiếm:
Tác nhân chính Người dùng
Tiền điều kiện Người dùng đã truy cập vào trang web thành công
Đảm bảo tối thiểu Hủy thao tác, hệ thống trở về vị trí trước đó
Đảm bảo thành công Tìm kiếm mặt hàng tương ứng
a, Luồng sự kiện chính
- Người dùng nhập từ khóa tìm kiếm: Người dùng nhập từ khóa cần tìm vào ô tìm
Trang 12có thể thay đổi từ khóa tìm kiếm.
- Tìm kiếm nâng cao: Hệ thống cung cấp các bộ lọc nâng cao (theo thời gian, loạisản phẩm, giá cả, v.v.) để người dùng thu hẹp kết quả tìm kiếm
c Tiền điều kiện
- Người dùng phải có quyền truy cập vào hệ thống và chức năng tìm kiếm
- Cơ sở dữ liệu của hệ thống phải chứa các bản ghi mà người dùng có thể tìmkiếm
d Hậu điều kiện
- Nếu thành công, người dùng sẽ nhận được danh sách các kết quả khớp với từkhóa tìm kiếm
- Nếu thất bại, người dùng sẽ nhận được thông báo không tìm thấy kết quả phù hợp
e Các yêu cầu chức năng.
- Ô tìm kiếm: Giao diện để người dùng nhập từ khóa
- Kết quả tìm kiếm: Hệ thống phải có khả năng xử lý các yêu cầu tìm kiếm nhanhchóng và trả về kết quả phù hợp từ cơ sở dữ liệu
- Bộ lọc tìm kiếm nâng cao: Cho phép người dùng thu hẹp kết quả tìm kiếm dựatrên các tiêu chí khác nhau như thời gian, loại dữ liệu, v.v
f Kịch bản mở rộng
- Tìm kiếm theo loại: Hệ thống có thể cung cấp tính năng tìm kiếm theo từng loạithông tin (ví dụ: tìm kiếm sản phẩm, khách hàng, hoặc đơn hàng riêng biệt)
- Gợi ý tìm kiếm: Khi người dùng nhập từ khóa, hệ thống có thể cung cấp các gợi
ý tìm kiếm dựa trên từ khóa gần nhất hoặc phổ biến trong hệ thống
- Lịch sử tìm kiếm: Hệ thống lưu lại các từ khóa tìm kiếm gần đây để người dùng
có thể dễ dàng tìm lại
Trang 13+Sơ đồ use case xem chi tiết sản phẩm.
5 Kịch bản use case xem chi tiết sản phẩm.
Tên Use Case Tạo giỏ hàng
Tác nhân chính Người dùng
Tiền điều kiện Người dùng đã truy cập vào trang hệ thống thành công
Đảm bảo tối thiểu Hủy thao tác, hệ thống trở về thạng thái ban đầu
Đảm bảo thành công Khách hàng tạo giỏ hàng thành công
Trang 14- Người dùng thay đổi số lượng: Người dùng có thể chọn số lượng sản phẩm cầnthêm vào giỏ hàng trước khi nhấn nút "Thêm vào giỏ hàng" Hệ thống sẽ cập nhậtgiỏ hàng với số lượng tương ứng.
- Người dùng quay lại danh sách sản phẩm: Sau khi xem chi tiết sản phẩm, ngườidùng có thể chọn quay lại danh sách sản phẩm mà không cần thêm sản phẩm vàogiỏ hàng
c Tiền điều kiện.
- Người dùng đã truy cập vào hệ thống và có thể xem danh sách sản phẩm
- Sản phẩm mà người dùng chọn phải có thông tin trong cơ sở dữ liệu
d Hậu điều kiện.
- Nếu người dùng thêm sản phẩm thành công, giỏ hàng sẽ cập nhật với sản phẩm
và số lượng tương ứng
- Người dùng có thể tiếp tục mua sắm hoặc chuyển sang bước thanh toán
e Các yêu cầu chức năng.
- Hiển thị thông tin sản phẩm: Hệ thống phải có khả năng hiển thị thông tin chitiết của sản phẩm một cách rõ ràng
- Quản lý giỏ hàng: Hệ thống cần cập nhật giỏ hàng mỗi khi người dùng thêm sảnphẩm vào giỏ hàng
- Thông báo xác nhận: Hệ thống cần hiển thị thông báo xác nhận sau khi sảnphẩm được thêm vào giỏ hàng
Trang 156 Kịch bản Use case Đặt hàng.
+ Biểu đồ Use case khách đặt hàng
Tác nhân chính Khách hàng
Tiền điều kiện Khác hàng đã đăng nhập vào hệ thống,tạo giỏ hàng thành
công
Đảm bảo tối thiểu Hủy thao tác, hệ thống trở về thạng thái ban đầu
Đảm bảo thành công Khách hàng đặt hàng thành công
a Luồng sự kiện chính
- Khách hàng truy cập giỏ hàng: Người dùng nhấp vào nút "Giỏ hàng" trên giao diện
- Hệ thống hiển thị giỏ hàng: Hệ thống hiển thị danh sách các sản phẩm trong giỏ hàng, bao gồm tên sản phẩm, giá cả, và số lượng
- khách hàng xác nhận giỏ hàng: Người dùng có thể thay đổi số lượng hoặc xóa sản phẩm trong giỏ hàng nếu cần
Trang 16- khách hàng nhập thông tin giao hàng: khách hàng nhập địa chỉ giao hàng và thông tin liên lạc.
- khách hàng chọn phương thức thanh toán: khách hàng chọn một trong các phương thức thanh toán có sẵn (thẻ tín dụng, chuyển khoản ngân hàng, tiền mặt khi nhận hàng, v.v.)
- khách hàng xác nhận đơn hàng: khách hàng nhấn nút "Đặt hàng" để hoàn tất quy trình
Hệ thống xử lý đơn hàng: Hệ thống lưu trữ thông tin đơn hàng và gửi thông báo xác nhận cho khách hàng
b Luồng sự kiện phụ
- Giỏ hàng trống: Nếu khách hàng không có sản phẩm nào trong giỏ hàng, hệ thống
sẽ hiển thị thông báo "Giỏ hàng của bạn đang trống" và yêu cầu người dùng quay lại trang sản phẩm
- Thông tin giao hàng không đầy đủ: Nếu khách hàng không nhập đủ thông tin cần thiết (như địa chỉ hoặc số điện thoại), hệ thống sẽ hiển thị thông báo yêu cầu nhập đủ thông tin
- Lỗi trong thanh toán: Nếu phương thức thanh toán không thành công (do số dư không đủ hoặc thông tin thẻ sai), hệ thống sẽ thông báo lỗi và yêu cầu khách hàng thửlại
c Tiền điều kiện
- khách hàng phải có sản phẩm trong giỏ hàng
- khách hàng đã đăng nhập vào hệ thống hoặc có thể đặt hàng mà không cần đăng nhập (nếu hệ thống cho phép)
d Hậu điều kiện
- Nếu đơn hàng được đặt thành công, hệ thống sẽ lưu thông tin đơn hàng và gửi thông báo xác nhận đến khách hàng
- Giỏ hàng sẽ được làm rỗng sau khi đặt hàng thành công
e Các yêu cầu chức năng
- Hiển thị giỏ hàng: Hệ thống phải hiển thị danh sách sản phẩm trong giỏ hàng với thông tin chi tiết
- Chức năng nhập thông tin giao hàng: Hệ thống cần có form nhập liệu để khách hàng nhập địa chỉ và thông tin liên lạc
- Quản lý phương thức thanh toán: Hệ thống cần hỗ trợ nhiều phương thức thanh toán
và đảm bảo an toàn khi xử lý thông tin thanh toán
Trang 17Đảm bảo tối thiểu Hủy thao tác, hệ thống trở về thạng thái ban đầu
Đảm bảo thành công Khách hàng đặt lịch thành công
- Khách hàng chọn bác sĩ hoặc nhân viên chăm sóc: Khách hàng có thể chọn bác sĩ thú y hoặc nhân viên chăm sóc thú cưng phù hợp với nhu cầu
- Khách hàng chọn thời gian: Khách hàng chọn thời gian phù hợp trong khung giờ có sẵn của bác sĩ hoặc nhân viên
- Khách hàng cung cấp thông tin thú cưng: Nếu cần, Khách hàng sẽ cung cấp thông tin về thú cưng (tên, tuổi, loại, v.v.)
Khách hàng xác nhận đặt lịch: Sau khi nhập đầy đủ thông tin, Khách hàng nhấn nút
- Thông tin thú cưng không đầy đủ: Nếu chủ thú cưng chưa cung cấp đầy đủ thông tin
về thú cưng, hệ thống sẽ yêu cầu cung cấp thêm dữ liệu trước khi hoàn tất đặt lịch