hệ thống riêng cho nhà bán hàng để có thể dễ dàng quản lý các sản phẩm, các thông tin của khách hàng, phân tích và báo cáo danh thu doanh thu.1.1/ Chức năng, nhiệm vụ: + Cung cấp thông t
Trang 1BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUY NHƠN
Thành viên nhóm:
Tô Minh NghĩaTrương Quốc TuấnTrần Ngọc Thọ
Hồ Quyết Thắng
Quy Nhơn, tháng 12 năm 2024
Trang 2hệ thống riêng cho nhà bán hàng để có thể dễ dàng quản lý các sản phẩm, các thông tin của khách hàng, phân tích và báo cáo danh thu doanh thu.
1.1/ Chức năng, nhiệm vụ:
+ Cung cấp thông tin: Cung cấp những thông tin liên quan đến sản phẩm, dịch vụ
như: nguồn gốc, mẫu mã, giá bán, chế độ bảo hành, chính sách giao hàng, địa chỉ nhà cung cấp,…
Trang 3+ Chức năng tìm kiếm: Để giải quyết vấn đề có quá nhiều sản phẩm trong hệ
thống khiến khách hàng bị bối rồi thì trong quá trình thiết kế phải có chức năng tìmkiếm
+ Chức năng giỏ hàng: Giỏ hàng giúp khách hàng dễ dàng đặt những món đồ mà
mình yêu thích mà không cần phải tốn công tìm kiếm lại
+ Thanh toán trực tuyến: Đây là chức năng cơ bản không thể thiếu của một
website bán hàng, giúp khách hàng dễ dàng thanh toán mà không cần phải xếp hàng chờ đợi trước cây ATM hoặc mang theo tiền mặt bên người khi nhận hàng
+ Bình luận, hỏi đáp trực tuyến: Khi khách hàng chưa hiểu rõ về sản phẩm thì
chức năng bình luận, hỏi đáp trực tuyến sẽ giải quyết vấn đề này
+ Quản lí website: Dùng để quản trị website như thêm, xóa, sửa,… cho admin -
Trang 41.3.1/ Ưu điểm :
Hệ thống cung cấp đầy đủ các chức năng cơ bản để có thể sử dụng
Giao diện của hệ thống đơn giản, dễ hiểu giúp người dùng có thể dễ dàng thao tác
Hệ thống chia thành 2 phần, 1 hệ thống dành cho người dùng và 1 hệ thống quản lý riêng dành cho nhà bán hàng
Hệ thống quản lý đa năng và tiện dụng
1.3.2/ Nhược điểm :
Khả năng bảo mật thông tin của hệ thống còn chưa tốt, cần cải thiện thêm
để tăng độ tin cậy cho khách hàng cũng như đảm bảo sự an toàn cho hệ thống
Hiệu năng cũng như khả năng tối ưu của hệ thống chưa tốt làm giảm trải nghiệm người dùng
Hệ thống cần thêm các chức năng mới cũng như các dịch vụ mới để kích thích nhu cầu mua sắm của khách hàng
Hệ thống mới linh hoạt đáp ứng nhu cầu phát triển thêm, giúp chuẩn bị cho
sự mở rộng trong tương lai và các tính mới khi cần thiết
Trang 5 Cơ sở dữ liệu của hệ thống chưa được hoàn thiện cần bổ sung và nâng cấp thêm để tối ưu với hệ thống.
Giao diện hệ thống chưa được đồng bộ trên thiết bị di động,…
2/ Yêu cầu đối với hệ thống:
2.1/ Yêu cầu chung:
Để nâng cấp hệ thống, trang web cần phải:
1 Tăng khả năng thích ứng với mọi thiết bị:
- Tinh chỉnh thiết kế giao diện để tối ưu hóa trải nghiệm người dùng trên các thiết bị di động và máy tính bảng Đảm bảo trải nghiệm người dùng mượt
mà và dễ dàng điều hướng, giúp tăng tỷ lệ chuyển đổi đơn hàng
Trang 6- Đảm bảo tốc độ tải trang nhanh chóng và giảm thời gian chờ bằng cách sử dụng các công nghệ hỗ trợ.
3 Cải thiện hiệu năng:
- Tối ưu hóa hình ảnh và tài nguyên trang web bằng cách nén và sử dụng các định dạng hình ảnh hiện đại như WebP
- -Đảm bảo tốc độ tải trang nhanh chóng bằng cách tối ưu hóa mã nguồn, sử dụng bộ nhớ đệm (caching) và phân phối nội dung qua mạng CDN (Content Delivery Network) Điều này giúp đáp ứng nhu cầu truy cập cao và giảm thiểu tình trạng lỗi hoặc chậm
4 Tăng cường bảo mật:
- Cập nhật thường xuyên các phần mềm và plugin để bảo vệ chống lại các lỗ hổng bảo mật mới nhất
- Sử dụng các biện pháp bảo vệ chống lại các cuộc tấn công DDoS
(Distributed Denial of Service) để đảm bảo trang web hoạt động ổn định
- Áp dụng các tiêu chuẩn bảo mật hiện đại như chứng chỉ SSL, HTTP/2, mã
hóa dữ liệu trong quá trình thanh toán và lưu trữ Đảm bảo hệ thống bảo vệ
dữ liệu khách hàng tránh khỏi các cuộc tấn công mạng
Trang 72.2/ Phía server:
1 Nâng cấp cơ sở dữ liệu:
- Đảm bảo hệ thống cơ sở dữ liệu được sao lưu và phục hồi tự động để tránh mất dữ liệu trong các tình huống khẩn cấp
2 Tối ưu hóa hạ tầng backend:
- Sử dụng các công nghệ mới mạnh mẽ để triển khai và quản lý website một cách linh hoạt hơn, để mỗi phần có thể được triển khai và mở rộng độc lập
2.3/ Yêu cầu phía client với hệ thống
Bao gồm những tiêu chuẩn và chức năng mà một hệ thống có thể đáp ứng trên trình duyệt của người dùng Điều này liên quan mật mật thiết đến trải nghiệm của người dùng như: Hiệu suất, tương tác với người dùng, bảo mật, trải nghiệm của người dùng
Trang 8 Hiệu suất của hệ thống trang web cần tải nhanh và phản hồi tức thì Điều này đ
òi hỏi phải tối ưu hóa mã nguồn, hình ảnh Kích thước tài nguyên (file, CSS,hình ảnh) cần được nén để giảm thời gian tải, để có thể giảm tải được các thiếtyếu có thể hoạt động mượt mà hơn
Tính tương các với người dùng cần phải thiết kế giao diện thân thiện, trựcquan, dễ sữ dụng và giúp người dùng dễ tương tác Hệ thống cần phản hồi tứcthì cho hoạt động của người dùng Ví dụ như lúc khi người dùng bấm nút thì sẽ được thông báo, và khi có kết quả thì sẽ hiện thị ngay lập tức
Bảo mật ở phía client ngăn chặn các cuộc tấn công, bảo vệ dữ liệu người dùngbằng cách mã hóa thông tin nhạy cảm, sử dụng HTTPS Kiểm tra và xác thực
dữ liệu nhập vào của người dùng để khỏi bị tấn công bởi dữ liệu đầu vào
Trang 9 Trải nghiệm của người dùng cần thiết kế thân thiện với người dùng giúp ngườ
i dùng dễ thao tác và truy cập được thông tin mong muốn
Tóm lại, yêu cầu đối với hệ thống phía client chủ yếu liên quan đến hiệu suất, tính tương tác, bảo mật và trải nghiệm người dùng Hệ thống của nhóm em cần cần đảmbảo ứng dụng hoạt động mượt mà trên nhiều thiết bị, trình duyệt và cung cấp giao diện dễ sử dụng, nhanh chóng và bảo mật cho người dùng
3.Nhật ký hoạt động:
Ngày làmviệc
Nghĩa 13/9/2024 –
19/9/2024
- Nêu lý do chọn hệthống(13/9)
- Chức năng vànhiệm vụ của hệthống
- Đã hoàn thành(16/9)
19/9/2024
- Nêu lý do chọn hệthống(13/9)
- Yêu cầu chung đốivới hệ thống (15/9)
- Yêu cầu phíaserver với hệ thống(15/9)
- Đã hoàn thành(15/9)
Thắng 13/9/2024 –
19/9/2024
- Nêu lý do chọn hệthống(13/9)
- Yêu cầu phía clientđối với hệ thống(15/9)
- Nhật ký hoạt độngcủa nhóm(19/9)
- Đã hoàn thành(19/9)
19/9/2024
- Nêu lý do chọn hệthống (13/9)
- Người dùng của hệthống
- Ưu, nhược điểm
- Đã hoàn thành(18/9)
Trang 10Người dùng yêu cầu đăng nhập Kiểm tra thông tin đăng nhập.
Nếu đúng thông tin, chuyển đến giaodiện chính.Nếu sai , thông báo lỗi
2 Chức năng Tìm kiếm sản phẩm:
- Yêu cầu: Người dùng có thể tìm kiếm sản phẩm theo từ khóa
Người dùng nhập nội dung tìm kiếm
(tên điện thoại, thương hiệu, giá sản
phẩm)
Hiển thị danh sách các sản phẩm phùhợp với từ khóa tìm kiếm
3 Chức năng xem chi tiết sản phẩm:
- Yêu cầu: Cho phép người dùng xem thông tin chi tiết của một sản phẩm
4 Chức năng mua hàng:
Trang 11- Yêu cầu: Quản lý quá trình thêm/xóa sản phẩm vào giỏ hàng và tính toán tổng tiền.
5 Chức năng quản lý (Admin)
- Yêu cầu: Cho phép người dùng với tài khoản admin có thể quản lý được các thông tin trong hệ thống
- Xem danh sách người dùng
- Thêm, sửa, xoá
- Hiển thị tất cả các thông tin của ngườidùng đã đăng ký trước đó bao gồm: Tên người dùng, email, mật khẩu, quyền của người dùng, thêm, xoá, sửa,
…
- Chức năng “Thêm”, “sửa”, “xoá” cho phép người quản trị(Admin) thêm, sữa,xoá tất cả thông tin từ tên, email, mật khẩu,…và không được xoá người dùng
có quyền Admin
Danh mục sản phẩm
(Nhà cung cấp)
- Xem danh sách danh mục
- Hiển thị tất cả các thông tin của danh mục sản phẩm gồm: Tên danh mục, ảnh danh mục, thêm, sửa, xoá,…
- Chức năng “Thêm”, “sửa”, “xoá” cho
Trang 12- Thêm, sửa, xoá phép người quản trị(Admin) thêm, sửa,
xoá tất cả các thông tin của danh mục sản phẩm được ghi ở trên
Sản phẩm
- Xem danh sách sản phẩm
- Thêm, sửa, xoá
Hiển thị tất cả các thông tin của sản phẩm gồm: Tên sản phẩm, giá, ảnh sản phẩm, nhà cung cấp, thêm, sửa, xoá,…
- Chức năng “Thêm”, “sửa”, “xoá” cho phép người quản trị(Admin) thêm, sữa,xoá tất cả các thông tin sản phẩm được hiện thị tới người dùng và được phép thêm và sửa các thông tin về bảo hành, khuyến mãi, số lượng,… để hiển thị cho người dùng
chủmột cách nhanh chóng và hiệu quả
7 Chức năng thanh toán
- Yêu cầu: Hệ thống cho phép người dùng thanh toán online
Trang 13Thanh toán cho người dùng Hệ thống hiển thị tổng chi phí cần thanh
toán Người dùng nhập thông tin đơn hàng
Hệ thống xác nhận yêu cầu thanh toán
Hệ thống gửi mail thông báo đặt hàngthành công cho người dùng
III Xây dựng cơ sở dữ liệu:
1 Các bảng dữ liệu:
- Bảng sanpham (Sản phẩm):
mỗi sản phẩm
danh duy nhất cho
loại sản phẩm
quan, dùng để phân
Trang 14ten_sp varchar(255) Tên của sản phẩm
bao_hanh varchar(255) Thông tin về bảo hành của sản phẩmphu_kien varchar(255) Phụ kiện đi kèm với sản phẩm
tinh_trang varchar(255) Tình trạng của sản phẩm (có thể là mới,
đã qua sử dụng, v.v.)khuyen_mai varchar(255) Thông tin khuyến mãi cho sản phẩm
trang_thai varchar(255) Trạng thái của sản phẩm (có thể là đang
bán, có thể là đang hết hàng)
không)chi_tiet_sp longtext Mô tả chi tiết về sản phẩm
- Bảng blsanpham (bình luận sản phẩm):
id_bl int(10) Khóa chính, định danh cho mỗi bình luận,
thêm thuộc tính auto_increment (tự động tăng)
id_sp int(10) Khóa phụ liên kết với bảng sanpham, nhận
biết bình luận đó của sản phẩm nào
ten varchar(255) Tên của người bình luận
dien_thoai varchar(255) Số điện thoại của người bình luận
ngay_gio datetime Ngày, giờ khi khách hàng đăng bình luận
Trang 15- Bảng dmsanpham (Danh mục sản phẩm):
mục, thêm thuộc tính auto_increment(tự động tăng)
- Bảng thanhvien (Thành viên):
Tên trường Kiểu dữ liệu Mô tả
id int(10) Khóa chính (Primary Key), tự động tăng
(AUTO_INCREMENT), duy nhất cho mỗi thànhviên
name Varchar(50) Tên thành viên, độ dài tối đa 50 ký tự, không
được để trống
email Varchar(255) Địa chỉ email của thành viên, độ dài tối đa 255 ký
tự, không được để trống
pass Varchar(255) Mật khẩu đã được mã hóa của thành viên, độ dài
tối đa 255 ký tự, không được để trống
role Tinyint(1) Quyền của thành viên, mặc định là 0 (người dùng
thường), 1 có thể đại diện cho admin
2 Mối liên kết giữa các bảng được thể hiện như sau:
1 Khóa chính:
- PRIMARY KEY (id_sp): Là khóa chính của bản sản phẩm, đảm bảo giá trị trong cột này là duy nhất cho mỗi bản ghi trong bảng và không thể để trống
- PRIMARY KEY (id_bl): Ràng buộc mỗi bình luận phải có id_bl riêng (không trùng nhau) Thêm thuộc tính AUTO_INCREMENT để id_bl tự động tăng khi có bình luận mới xuất hiện
Trang 16- PRIMARY KEY (id_dm): Ràng buộc mỗi danh mục phải có id_dm riêng(không trùng nhau) Thêm thuộc tính AUTO_INCREMENT để id_dm tự động tăng khi có danh mục mới xuất hiện.
- PRIMARY KEY (id): Ràng buộc mỗi thành viên phải có id riêng (không trùng nhau) Thêm thuộc tính AUTO_INCREMENT để id_dm tự động tăng khi có danh mục mới xuất hiện
2 Khóa ngoại
- CONSTRAINT fk_sanpham_dmsanpham FOREIGN KEY (id_dm) REFERENCES dmsanpham (id_dm): Tạo khóa ngoại id_dm trong bảng sanpham, tham chiếu đến id_dm trong bảng dmsanpham Khóa ngoại nàyđảm bảo rằng giá trị của id_dm trong sanpham phải tồn tại trong
dmsanpham
- CONSTRAINT fk_sanpham_blsanpham FOREIGN KEY (id_sp)
REFERENCES sanpham (id_sp): Khóa phụ liên kết giữa id_sp của bảng blsanpham và id_sp của bảng sanpham Đảm bảo bình luận đó phải thuộc
về một sản phẩm nằm trong bảng sanpham
❖ Vẽ Database Diagram:
IV Xây dựng giao diện ứng dụng:
Trang 171 Giao diện trang chủ: 2 Giao diện Chi tiết sản phẩm:
Trang 18
3 Giao diện Giỏ hàng:
Trang 194 Giao diện trang Admin- Chức năng Quản lý người dùng:
5 Giao diện trang Admin – Chức năng Quản lý danh mục sản phẩm:
Trang 216 Giao diện trang Admin – Chức năng Quản lý sản phẩm:
Trang 22V Lập trình:
“ Website được phát triển bằng HTML, CSS, JS, PHP thuần, kết hợp với cơ sở
dữ liệu MySQL”
Frontend: Xây dựng giao diện bằng HTML/CSS
Backend: Sử dụng PHP để xử lý logic, kết nối cơ sở dữ liệu MySQL để lưu trữ và quản lý dữ liệu
Toàn bộ mã nguồn có thể truy cập : …….“đường dẫn”
Trang 23VI Viết TestCase :
Trang 24VII Đánh giá thành viên:
1 Trương Quốc Tuấn
Nhiệm vụ: Là leader phân bổ nhiệm vụ cho các thành viên, xây dựng trang quản trị, trang chủ của website Kiểm thử và đồng bộ các sản phẩm của các thành viên khác.
Đánh giá :
- Hoàn thành tốt nhiệm vụ.
- Chủ trì các cuộc thảo luận, chủ động đóng góp ý kiến cá nhân.
- Thường xuyên hỗ trợ các thành viên khác.
- Thường xuyên đóng góp ý kiến vào các cuộc thảo luận.
- Tham gia các cuộc thảo luận đầy đủ và đúng giờ.
3 Tô Minh Nghĩa
Nhiệm vụ : Xây dựng trang danh mục, chi tiết sản phẩm và góp phần xây giao diện trang chủ Đánh giá :
- Hoàn thành nhiệm vụ.
- Khả năng giao tiếp và hợp tác tốt.
- Nhiều ý tưởng sáng tạo.
4 Hồ Quyết Thắng
Nhiệm vụ: Xây dựng chức năng tìm kiếm và các chức năng mua hàng ( giỏ hàng, hóa đơn, ) Đánh giá :
- Hoàn thành nhiệm vụ.
- Thường xuyên hỗ trợ các thành viên khác.
- Giải quyết các vấn đề nhanh chóng.