2 Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc.. 2 Tại bất kỳ bước nào trong luồng cơ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
Lớp: 202220503184005 – K15
Thành viên: Đặng Hữu Thắng - 2020603086 Nguyễn Hữu Thịnh - 2020604037
Vi Hoàng Giang - 2020604146Nguyễn Thế Hoàng - 2020603205Trần Xuân Trúc - 2020603494
Trang 2Lời mở đầu
Hiện nay, Công nghệ thông tin đang được phát triển một cách mạnh mẽ, nó xâmchiếm vào tất cả các lĩnh vực trong đời sống xã hội Nó trở thành một công cụ đắc lực và không thể thiếu đối với tất cả các ngành và đặc biệt là trong việc muabán một cách nhanh chóng
Trước đây, khi công nghệ chưa phát triển, việc mua vật dụng mình yêu thích đặcbiệt là những cuốn sách hấp dẫn thường phải mua trực tiếp tại các cửa hàng bán sách Điều này gây rất nhiều bất lợi và có thể mọi người phải đi rất xa mới có thể mua được những cuốn sách mình yêu thích Chính vì vậy, để khắc phục những khó khăn trên, việc áp dụng công nghệ để xây dựng website bán sách là một việc hết sức là quan trọng
Thông qua tìm hiểu và tiếp xúc với những khó khăn của những người đam mê đọc sách trong việc mua sách mình yêu thích, chúng em đã xây dựng đề tài
‘Xây dựng website bán sách’ với mong muốn giúp cho những người đam mê đọc sách có thể mua được những cuốn sách mà mình yêu thích một cách nhanh chóng
Nội dung bài tập lớn được chia thành 3 phần:
Chương 1: Khảo sát bài toán
Chương 2: Phân tích và khởi tạo Cơ Sở Dữ Liệu
Chương 3: Xây dựng ứng dụng
Trong quá trình thực hiện bài tập lớn, chúng em được sự quan tâm hướngdẫn tận tình của thầy giáo Phạm Thế Anh Do yếu tố khách quan và do tầmhiểu biết chưa sâu sắc nên website của chúng em còn nhiều thiếu sót Chúng emmong nhận được sự góp ý của thầy để chúng em có thể hoàn thiện thật tốt chowebsite
Chúng em xin chân thành cảm ơn!
Trang 44.3 Bài học kinh nghiệm 58
4.4 Tính khả thi của đề tài nghiên cứu 59
Trang 5Chương 1: Khảo sát hệ thống
1.1 Tổng quan hệ thống website bán sách
Với xã hội 4.0 hiện nay, mạng xã hội ngày càng phát triển, việc hoạt động trên các website ngày càng phổ biến Mọi người nắm bắt thông tin qua các thiết bị điện tử thông minh như smartphone, máy tính bảng, laptop, ở mọi lúc mọi nơi khi có internet một cách nhanh chóng và thuận lợi
Với xu hướng như hiện tại, thì việc thiết kế website sẽ giúp mọi người có những lợi ích sau:
● Mua sách với một số lượng lớn một cách nhanh chóng
● Tìm kiếm những cuốn sách mà mình yêu thích
● Có thể nhận xét và đánh giá những quyển sách mình đọc và giá cả của chúng
● Có thể mua sách trên mọi thiết bị như Laptop, Tablet, Smartphone,…
1.2 Mô tả hệ thống website bán sách
Hệ thống được tạo ra nhằm mục đích mua bán sách một cách nhanh chóng và đạt hiệu quả cao Các người dùng của hệ thống như admin, khách hàng có thể đăng nhập vào hệ thống và sử dụng các chức năng tương ứng với quyền truy cập
●Thông tin về người dùng bao gồm: mã người dùng, họ tên, email, mậtkhẩu, chức vụ (Admin, khách hàng: Một người dùng chỉ có một chức vụduy nhất, có thể có nhiều người cùng chung một chức vụ)
●Người dùng admin có thể quản lý các khách hàng, thêm quản lý thể loạisách, thêm quản lý sách, xem quản lý tin nhắn, xem quản lý đơn hàng
●Sách được bày bán chứa thông tin mua bán và giới thiệu về sách Thôngtin về sách gồm: mã sách, tên sách, thể loại sách, tác giả, mô tả, giá tiền,giảm giá, giá tiền sau khi giảm, ảnh trang bìa
●Mỗi sách thuộc một thể loại sách Một thể loại sách có thể có 1 hoặc
Trang 6●Các khách hàng có thể chọn mua sách thông qua các trang bày bán sáchcủa hệ thống.
●Tổng tiền của giỏ hàng được nhập cộng dồn qua từng lần thêm sách vàogiỏ hàng Tổng tiền bằng tổng số sách nhân số lượng tương ứng củakhách hàng đó
●Thông tin về liên hệ: mã tin nhắn tên người gửi, email, số điện thoại, nộidung Mỗi tin nhắn được 1 khách hàng gửi, tất cả admin đều có thể xemtin nhắn
1.3 Thiết kế nghiệp vụ
1.3.1 Các tác nhân
●Khách hàng: Truy cập và sử dụng các chức năng trên website
●Admin: Kiểm soát mọi hoạt động của website: quản lý người dùng, quản lý bình luận, quản lý đơn hang……
Trang 7●Tìm kiếm theo danh mục: Cho phép người dùng có thể xemtất cả các sản phẩm cùng một loại
●Mua hàng: Cho phép người dùng có thể chọn mua một sảnphẩm bất kì
●Quản lý sản phẩm: Cho phép admin có thể thêm, sửa, xóathông tin sản phẩm trong CSDL
●Quản lý danh mục: Cho phép admin có thể thêm, sửa, xóathông tin danh mục sản phẩm trong CSDL
●Quản lý đơn hàng: Cho phép admin có thể xem đơn hàng,cập nhật trạng thái đơn hàng, hủy đơn hàng, xóa đơn hàngtrong CSDL
●Quản lý người dùng: Cho phép admin có thể xem, xóangười dùng trong CSDL
●Quản lý bình luận: Cho phép admin có thể xem, xóa bìnhluận về sản phẩm trong CSDL
●Thống kê : Cho phép admin có thể xem được tổng số sảnphẩm,tổng số bình luận,tổng số tài khoản khách hang
●Đăng nhập : Cho phép admin có thể đăng nhập vào trangdashboard để thực hiện các chức năng
Trang 8Chương 2: Phân tích và khởi tạo dữ liệu2.1 Biểu đồ usecase
Biểu đồ use case tổng quan
Trang 9Biều đồ use case phía người dùng
Trang 10Biều đồ use case phía admin
Trang 112.2 Đặc tả usecase
2.2.1 Use case ‘Đăng ký’
Mô tả: use case này cho phép người dùng đăng ký tài khoản sử dụng để truycập hệ thống
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi người dùng click vào “Đăng ký” ở thanh menu Hệ thống hiển thị form đăng ký lên màn hình.2) Người dùng nhập đầy đủ thông tin họ tên, email, mật khẩu, số điện thoai vào form đăng ký rồi click “Đăng ký ” Hệ thống lưu lại thông tin và chuyển sang trang đăng nhập của website Use case kết thúc
o Luồng rẽ nhánh:
1) Tại bước 2 trong luồng cơ bản, nếu người dùng nhập thiếu
thông tin họ tên, email hoặc mật khẩu hệ thống sẽ đưa ra thông báo “Các ô không được để trống”và yêu cầu nhập đầy đủ thông tin
2) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối được
với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
● Tiền điều kiện:
Không có
● Tiền điều kiện:
Không có
Biểu đồ lớp;
Trang 12Biểu đồ trình tự:
2.2.2 Use case ‘Đăng nhập’
Mô tả: use case này cho phép người dùng đăng nhập vào website
Trang 13● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi người dùng truy cập vào website Hệ
Trang 142) Người dùng nhập email và mật khẩu của mình đã đăng ký rồi nhấn vào nút ‘Đăng nhập’ Hệ thống chuyển sang trang chủ của
hệ thống Use case kết thúc
o Luồng rẽ nhánh:
1) Tại bước 2 trong luồng cơ bản, nếu người dùng nhập email
hoặc mật khẩu hệ thống sẽ đưa ra thông báo “Email hoặc mật khẩu không chính xác!” và yêu cầu nhập lại
2) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
● Tiền điều kiện:
Tài khoản đã được đăng ký
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Biểu đồ trình tự:
Trang 152.2.3 Use case ‘Xem chi tiết sản phẩm’
Mô tả: use case này cho phép người dùng xem thông tin chi tiết về một sảnphẩm trà sữa của Tobee Food
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi người dùng hover chuột lên ảnh sau
đó click vào nút “xem chi tiết” tại góc dưới của mỗi sản phẩm Hệ thống hiển thị thông tin lên thông tin chi tiết của sản phẩm đó
o Luồng rẽ nhánh:
Trang 161) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
● Tiền điều kiện:
Đăng nhập vào website bằng tài khoản của người dùng
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Biểu đồ trình tự:
Trang 172.2.4 Use case ‘Tìm kiếm’
Mô tả: use case cho phép người dùng có thể tìm kiếm tên của một sản phẩm bất kì
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case bắt đầu khi người dùng click vào ô input trên thanh menu
và nhập tên sản phẩm tùy ý Hệ thống lấy một danh sách các sản phẩm và người dung vừa nhập tên và hiển thị lên màn hình Use case kết thúc
o Luồng rẽ nhánh:
1) Tại bước 1 trong luồng cơ bản, nếu trong bảng Products chưa có
dữ liệu, thì hệ thống sẽ hiển thị một thông báo: “Không có sản phẩm này” và use case kết thúc
2) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối được
với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
● Tiền điều kiện:
Đăng nhập vào website bằng tài khoản của người dùng
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Trang 18Biểu đồ trình tự:
2.2.5 Use case ‘Xem giỏ hàng’
Mô tả: use case này cho phép người dùng có thể xem sản phẩm có trong giỏ hang của mình
● Luồng sự kiện:
Trang 19o Luồng cơ bản:
1) Use case này bắt đầu khi người dung click vào icon cart trên mục navigation or click vào “Xem giỏ hang” Hệ thống sẽ lấy ratên sản phẩm,số lượng,đơn giá,tổng tiền của sản phẩm có trong giỏ hang và hiển thị lên màn hình.Use case kết thúc
o Luồng rẽ nhánh:
1) Tại bước 1 trong luồng cơ bản, nếu không có thông tin về sản
phẩm trong bảng cart hệ thống sẽ hiển thị thông báo “Giỏ hàng của bạn trống!” tại phần sản phẩm được thêm Use case kết thúc
2) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối được
với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
● Tiền điều kiện:
Đăng nhập vào website bằng tài khoản của người dùng
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Trang 20Biểu đồ trình tự:
Trang 221) Use case này bắt đầu khi người dùng click vào ‘Đặt hang”ở bêntrên bảng giỏ hang.Hệ thống hiển thị một form thông tin để người dùng nhập bao gồm :họ tên,email,điện thoai,dịa chỉ,note 2) Người dùng nhập các thông tin mà biểu mẫu yêu cầu và nhấn vào nút ‘Thanh toán’ Hệ thống lưu thông tin mà người dùng vừa điền vào bảng orders Use case kết thúc.
o Luồng rẽ nhánh:
1) Tại bước 2 trong luồng cơ bản, nếu người dùng nhập chưa đủ
thông tin hệ thống sẽ đưa ra thông báo “Không được để trống.”
và yêu cầu nhập lại
2) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối được
với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
3) Tại bước 1 trong luồng cơ bản,nếu người dung chưa đăng nhập
tài khoản thì hệ thống sẽ thông báo bạn phải đăng nhập trước khithực hiện checkout
● Tiền điều kiện:
Đăng nhập vào website bằng tài khoản của người dùng
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Trang 23Biểu đồ trình tự:
Trang 242.2.7 Use case ‘Bình luận’
Mô tả: use case này cho phép người dùng có bình luận về một sản phẩm màngười dung từng mua
Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu người dùng click vào nut “Xem chi tiết” dưới ảnh mỗi sản phẩm Hệ thống sẽ hiển thị thông tin chi tiết của sản phẩm đó và một form bình luận.Người dung nhập bình luận và nhấn “Post Comment”.Use case kết thúc
o Luồng rẽ nhánh:
3) Tại bước 1 trong luồng cơ bản, nếu người dung chưa đăng nhập
tài khoản thì khi click vào nút “Post comment” se chuyển về trang đăng nhâp.Use case kết thúc
4) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối được
với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
● Tiền điều kiện:
Đăng nhập vào website bằng tài khoản của người dùng
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Trang 25Biểu đồ trình tự:
2.2.8 Use case ‘Lọc sản phẩm theo danh mục’
Mô tả: use case này cho phép người dùng có thểm xem được một danh sách cácsản phẩm cùng một loại
Trang 261) Tại bước 1 trong luồng cơ bản, nếu không có dữ liệu trong
bảng products hệ thống hiển thị thông báo “Không tìm thấy sản phẩm này trong bảng products” Use case kết thúc
2) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báolỗi và use case kết thúc
● Tiền điều kiện:
Đăng nhập vào website bằng tài khoản của người dùng
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Trang 27Biểu đồ trình tự:
Trang 28● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi người dung hover chuột lên ảnh của sản phẩm rồi click vảo nut “mua ngay” or click vào nut
“xem chi tiết” hệ thông sẽ lấy ra thông tin của sản phẩm và
có hộp chọn số lượng sản phẩm rồi click nut “mua ngay” Hệthống sẽ hiện thị lên sản phẩm khách hang vừa mua bên trang giỏ hang Use case kết thúc
o Luồng rẽ nhánh:
1) Tại bất kỳ bước nào trong luồng cơ bản, nếu không kết nối
được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báolỗi và use case kết thúc
● Tiền điều kiện:
Đăng nhập vào website bằng tài khoản của người dùng
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Trang 29Biểu đồ trình tự:
Trang 302.2.10 Use case ‘Quản lý sản phẩm’
Mô tả: Use case này cho phép admin xem, thêm, sửa, xóa thông tin sản phẩm trên website
● Luồng sự kiện:
o Luồng cơ bản:
1) Use case này bắt đầu khi admin click vào ‘Quản lý sản phẩm” trên mục sidebar và chon “Danh sách sản phẩm” Hệ thống hiểnthị thông tin của sản phẩm bao gồm
name,image,prie,desc,category,status hiển thị lên
2) Thêm sách:
a) Admin nhập thông tin của sách mới và click vào nút “Thêm sản phẩm” Hệ thống sẽ sinh một mã product_id mới, tạo sách trong bảng Products và hiển thị danh sách các sách đã được cập nhật
3) Sửa thông tin sách:
a) Admin click vào nút icon “Cập Nhật” được hiển thị trên sách
Hệ thống sẽ lấy thông tin cũ của sách đó từ bảng Products và hiển thị lên màn hình
b) Admin nhập các thông tin mới cần thay đổi và click vào nút
“Update” Hệ thống sẽ sửa thông tin sản pjaamr được chọn trong bảng Products và hiển thị danh sách sách đã cập nhật 4) Xóa sách
a) Admin click vào icon “Xóa” được hiển thị trên sách Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa b) Admin click vào nút “OK” Hệ thống sẽ xóa sách đó ra khỏi bảng Products và hiển thị danh sách sách đã cập nhật Use case kết thúc
Trang 31o Luồng rẽ nhánh:
1) Tại bước 3b trong luồng cơ bản nếu admin click vào nút
‘Cancel’ hệ thống sẽ bỏ qua thao tác sửa chữa và hiển thị danh sách sách trong bảng Products
2) Tại bước 4b trong luồng cơ bản nếu admin click vào nút
“Cancel” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh sách sách trong bảng Products
3) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sử dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
● Các yêu cầu đặc biệt:
Use case này chỉ cho phép admin có thể thực hiện
● Tiền điều kiện:
Đăng nhập với quyền admin để thực hiện
● Hậu điều kiện:
Không có
Biểu đồ lớp:
Trang 32Biểu đồ trình tự:
Trang 342.2.11 Use case ‘Quản lý danh mục’
Mô tả: Use case này cho phép admin xem, thêm, sửa, xóa thông tin thể loại sáchtrên website
a) Admin nhập thông tin của thể loại mới và click vào nút
“Thêm danh mục” Hệ thống sẽ sinh một mã category_id mới, tạo thể loại trong bảng Categorys và hiển thị danh sách các thể loại đã được cập nhật
3) Sửa thông thể loại:
a) Admin click vào icon “Cập Nhật” được hiển thị trên thể loại Hệ thống sẽ lấy thông tin cũ của thể loại đó từ bảng Categorys và hiển thị lên màn hình
b) Admin nhập các thông tin mới cần thay đổi và click vào nút “Update” Hệ thống sẽ sửa thông tin thể loại được chọn trong bảng Categorys và hiển thị danh sản phẩm thểloại đã cập nhật
4) Xóa thể loại:
a) Admin click vào icon “Xóa” được hiển thị trên thể loại
Hệ thống sẽ hiển thị một màn hình yêu cầu xác nhận xóa b) Admin click vào nút “OK” Hệ thống sẽ xóa thể loại đó
ra khỏi bảng Categorys và hiển thị danh sách thể loại đã cập nhật Use case kết thúc
Trang 35o Luồng rẽ nhánh:
1) Tại bước 3b trong luồng cơ bản nếu admin click vào nút
‘Cancel’ hệ thống sẽ bỏ qua thao tác sửa chữa và hiển thị danh sách sách trong bảng Categorys
2) Tại bước 4b trong luồng cơ bản nếu admin click vào nút
“Cancel” hệ thống sẽ bỏ qua thao tác xóa và hiển thị danh sách sách trong bảng Categorys
3) Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sử dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc
● Các yêu cầu đặc biệt:
Use case này chỉ cho phép admin có thể thực hiện
● Tiền điều kiện:
Đăng nhập với quyền admin để thực hiện
● Hậu điều kiện:
Không có
Biểu đồ lớp: