Ngày nay, công nghệ tiên tiến phát triển mạnh mẽ và kếthợp với sự bùng nổ của thương mại điện tử đã được ứng dụngngày càng nhiều trong các lĩnh vực kinh tế, sản xuất và đờisống hàng ngày
Mục tiêu của đồ án
Xây dựng một website bán máy tính trực tuyến mang lại nền tảng mua sắm tiện lợi và hiệu quả, giúp người dùng dễ dàng tìm kiếm, xem xét và mua sắm các sản phẩm máy tính mà không cần đến cửa hàng vật lý, từ đó tiết kiệm thời gian và công sức.
Để nâng cao trải nghiệm người dùng, cần phát triển một giao diện thân thiện và dễ sử dụng, đồng thời tích hợp các tính năng hỗ trợ như tìm kiếm sản phẩm, quản lý giỏ hàng, thanh toán trực tuyến và theo dõi đơn hàng hiệu quả.
Tối ưu hóa quy trình quản lý và vận hành là yếu tố quan trọng giúp nâng cao hiệu quả cho cửa hàng Việc cung cấp các công cụ hỗ trợ cho quản trị viên trong quản lý sản phẩm, đơn hàng, khách hàng và các hoạt động kinh doanh khác sẽ giúp cải thiện đáng kể hiệu suất vận hành và quản lý.
Phương pháp nghiên cứu
Phương pháp thu thập dữ liệu bao gồm việc tìm kiếm và tổng hợp thông tin từ các nguồn tài liệu, sách báo, cùng với các trang web thương mại điện tử hiện có Điều này giúp tham khảo và xây dựng một cơ sở lý thuyết vững chắc cho nghiên cứu.
Phương pháp phân tích: Sử dụng phương pháp phân tích hệ thống để xác định yêu cầu của người dùng và các tính năng cần thiết của hệ thống.
Phương pháp thiết kế và phát triển hệ thống bao gồm việc áp dụng các kỹ thuật thiết kế phần mềm như UML, kết hợp với ngôn ngữ lập trình PHP và các công cụ hỗ trợ để tối ưu hóa quá trình phát triển.
Ý nghĩa thực tiễn, khoa học
Đề tài này đóng góp vào nghiên cứu và ứng dụng công nghệ phát triển website thương mại điện tử, đặc biệt trong lĩnh vực bán hàng trực tuyến Nó cung cấp nền tảng lý thuyết và thực tiễn cho việc xây dựng các hệ thống tương tự trong tương lai.
Website bán máy tính trực tuyến mang lại lợi ích thiết thực cho cả người tiêu dùng và doanh nghiệp Người tiêu dùng dễ dàng mua sản phẩm máy tính chất lượng với giá hợp lý, trong khi doanh nghiệp có cơ hội mở rộng thị trường, tăng doanh thu và nâng cao hiệu quả kinh doanh.
Nội dung chính
Chương 1: Cơ sở lý thuyết
Website này giới thiệu về ngôn ngữ lập trình PHP, cung cấp cái nhìn tổng quan về PHP và cách nó tương tác với cơ sở dữ liệu MySQL Ngoài ra, bài viết cũng đề cập đến các công nghệ web như HTML, CSS và JavaScript, cùng với các công cụ phát triển phổ biến như Visual Studio Code và XAMPP, giúp người dùng hiểu rõ hơn về quy trình phát triển ứng dụng web.
Chương 2: Khảo sát và phân tích thiết kế hệ thống
Phát biểu bài toán: Xác định các chức năng và tác nhân của hệ thống.
Use Case và biểu đồ: Xác định và mô tả các Use Case chính, xây dựng biểu đồ Use Case chi tiết.
Đặc tả Use Case: Chi tiết các hệ thống như đăng ký, đăng nhập, xem và quản lý thông tin, mua hàng, và xử lý đơn hàng.
Mô hình hóa và biểu đồ hoạt động: Xác định các lớp thực thể, biểu đồ hoạt động cho từng chức năng, và biểu đồ tuần tự.
Chương 3: Xây dựng ứng dụng minh hoạ
Đồ án "Xây dựng website bán máy tính trực tuyến" nhằm thiết kế và phát triển một trang web thương mại điện tử phục vụ kinh doanh máy tính và thiết bị công nghệ thông tin Mục tiêu của đồ án là áp dụng kiến thức đã học vào thực tế và nâng cao kỹ năng lập trình Website được xây dựng với các chức năng cơ bản để hỗ trợ người dùng trong việc mua sắm trực tuyến.
Giao diện hiển thị sản phẩm máy tính cung cấp thông tin chi tiết với hình ảnh sắc nét, mô tả rõ ràng, giá cả hợp lý và các thông số kỹ thuật cơ bản, giúp khách hàng dễ dàng nắm bắt thông tin cần thiết.
Quản lý giỏ hàng: Cho phép người dùng thêm sản phẩm vào giỏ hàng, cập nhật số lượng và loại bỏ sản phẩm khỏi giỏ hàng.
Thanh toán: Hỗ trợ các phương thức thanh toán cơ bản, giúp người dùng hoàn tất quá trình mua sắm.
Giao diện quản trị hệ thống cho phép quản trị viên thực hiện các thao tác như thêm, xóa và sửa đổi thông tin sản phẩm, cũng như quản lý đơn hàng hiệu quả Đồ án được phát triển bằng ngôn ngữ lập trình PHP kết hợp với cơ sở dữ liệu MySQL, giúp xây dựng và quản lý dữ liệu một cách tối ưu Quá trình phát triển website không chỉ giúp em nâng cao kiến thức về lập trình web mà còn củng cố hiểu biết về cơ sở dữ liệu và các kỹ thuật liên quan.
Mục tiêu của đồ án là phát triển một trang web bán hàng đơn giản và dễ sử dụng, đáp ứng nhu cầu cơ bản của người dùng Qua đó, em có cơ hội thực hành và củng cố các kỹ năng lập trình web cơ bản Kết quả của đồ án hy vọng sẽ là nền tảng vững chắc cho những dự án phức tạp hơn trong tương lai.
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ CÔNG NGHỆ WEB VÀ NGÔN NGỮ LẬP TRÌNH PHP
1.1.1 Giới thiệu về ngôn ngữ lập trình PHP
PHP (Hypertext Preprocessor) là ngôn ngữ kịch bản mã nguồn mở, chuyên dụng cho phát triển ứng dụng web Được sáng lập bởi Rasmus Lerdorf vào năm 1994, PHP đã nhanh chóng trở thành một trong những ngôn ngữ phổ biến nhất để xây dựng trang web động.
PHP cho phép nhúng mã trực tiếp vào HTML, mang lại sự linh hoạt và dễ dàng trong phát triển web Một số đặc điểm nổi bật của PHP bao gồm khả năng xử lý dữ liệu động, tương tác với cơ sở dữ liệu, và hỗ trợ lập trình hướng đối tượng.
PHP là một ngôn ngữ lập trình mã nguồn mở và miễn phí, cho phép người dùng tự do tải về, sử dụng và chỉnh sửa Điều này không chỉ giúp giảm chi phí cho các dự án mà còn khuyến khích sự đóng góp từ cộng đồng lập trình viên nhằm cải tiến và phát triển ngôn ngữ này.
PHP cho phép nhúng trực tiếp vào mã HTML, mang lại tính linh hoạt và dễ dàng trong phát triển web Nhờ vào khả năng này, các nhà phát triển có thể nhanh chóng tạo ra các trang web động.
PHP là một ngôn ngữ lập trình đa nền tảng, cho phép chạy trên nhiều hệ điều hành như Windows, Linux, macOS và nhiều hệ điều hành khác Điều này mang lại sự linh hoạt cao trong việc triển khai ứng dụng trên các môi trường khác nhau.
PHP hỗ trợ kết nối với nhiều hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL, Oracle, và SQLite, giúp các nhà phát triển dễ dàng tích hợp và quản lý dữ liệu hiệu quả.
PHP sở hữu một kho thư viện và framework phong phú như Laravel, Symfony và CodeIgniter, giúp các nhà phát triển dễ dàng tích hợp các chức năng vào ứng dụng Bên cạnh đó, cộng đồng PHP mạnh mẽ và hỗ trợ tốt, giúp nhanh chóng giải quyết các vấn đề kỹ thuật.
PHP là ngôn ngữ lập trình phổ biến cho các dự án web, từ trang cá nhân đến ứng dụng doanh nghiệp phức tạp Nhiều trang web nổi tiếng như Facebook, Wikipedia, và WordPress, cũng như các trang thương mại điện tử, đều sử dụng PHP.
PHP là ngôn ngữ lập trình phía máy chủ, cho phép mã lệnh được thực thi trên máy chủ để cung cấp nội dung cho các trang web theo yêu cầu của người dùng thông qua trình duyệt.
Khi người dùng truy cập website PHP, máy chủ sẽ đọc và xử lý mã lệnh PHP theo hướng dẫn đã được mã hóa Mã lệnh này yêu cầu máy chủ gửi dữ liệu HTML đến trình duyệt, nơi mà nó được hiển thị như một trang HTML tiêu chuẩn Mã PHP được đặt trong cặp thẻ , và khi trình duyệt truy cập vào trang PHP, máy chủ sẽ thực hiện các đoạn mã PHP, thay thế chúng bằng kết quả nhận được trong file PHP Cuối cùng, máy chủ trả về một trang HTML hoàn chỉnh cho trình duyệt.
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trong PHP: a Thẻ tiêu chuẩn (Standard Tags): Đây là thẻ mặc định mà các nhà lập trình PHP thường sử dụng được bao bọc bởi .
Thẻ ngắn trong PHP, được viết tắt bằng cách sử dụng , là một cách viết tắt của thẻ tiêu chuẩn Tuy nhiên, cần lưu ý rằng thẻ ngắn có thể bị vô hiệu hóa trong một số cấu hình PHP thông qua thiết lập short_open_tag.
Thẻ ASP, được đánh dấu bằng , không phổ biến và có thể không được hỗ trợ trong các phiên bản PHP hiện đại Ví dụ sử dụng thẻ này là: .
Để sử dụng PHP như một ngôn ngữ lập trình tương tự như JavaScript hay VBScript, bạn có thể sử dụng thẻ script với cú pháp bắt đầu bằng và kết thúc bằng Ví dụ: .
Ví dụ: echo “Hello World”;
Dữ liệu đến từ Script đều là biến PHP, nhận biết bằng cách sử dụng dấu $ trước tên biến:
Số nguyên: Được khai báo và sử dụng giống như trong ngôn ngữ lập trình C Số nguyên có thể là số dương, số âm hoặc số 0.
Số thực: Được khai báo với phần thập phân hoặc sử dụng ký hiệu khoa học (e).
Trong PHP, xâu ký tự có thể được xác định theo hai cách: sử dụng dấu ngoặc kép (") hoặc dấu ngoặc đơn (') Khi sử dụng dấu ngoặc kép, PHP sẽ phân tích và thay thế các biến trong xâu, trong khi đó, dấu ngoặc đơn sẽ giữ nguyên nội dung bên trong mà không thay đổi.
KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Đặc tả các Use Case
2.5 Đặc tả các Use Case
2.3.1 Hệ thống đăng ký, đăng nhập
2.3.1.1 Đặc tả UC đăng ký thành viên
Mô tả: cho phép khách xem đăng ký làm thành viên của hệ thống
1 Khách xem chọn mục đăng ký thành viên.
2 Form đăng ký thành viên hiển thị.
3 Khách xem nhập thông tin cá nhân cần thiết vào form đăng ký.
5 Hệ thống thông báo kết quả quá trình nhập thông tin cá nhân Nếu thông tin nhập không chính xác thì thực hiện luồng nhánh A1 Nếu thông tin chính xác thì thực hiện bước 6.
6 Hệ thống cập nhật thông tin của khách xem vào danh sách thành viên
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: quá trình nhập thông tin không chính xác
1 Hệ thống thông báo thông tin nhập không chính xác.
2 Hệ thống yêu cầu khách xem nhập thông tin lại.
3 Nếu khách xem đồng ý thì quay trở lại bước 2 của luồng sự kiện chính, nếu không đồng ý thì UC kết thúc.
Hậu điều kiện: Khách xem trở thành thành viên của hệ thống
2.3.1.2 Đặc tả UC đăng nhập
Mô tả: UC cho phép thành viên đăng nhập vào hệ thống.
Tiền điều kiện: Thành viên chưa đăng nhập vào hệ thống.
1 Thành viên chọn chức năng đăng nhập.
2 Form đăng nhập hiển thị.
3 Nhập tên, mật khẩu vào form đăng nhập.
4 Hệ thống kiểm tra tên đăng nhập, mật khẩu của thành viên.
5 Nếu việc đăng nhập thành công thì tiến hành tiến hành bước 6 Nếu thành viên nhập sai tên đăng nhập hoặc mật khẩu thì chuyển sang luồng nhánh A1.
Luồn sự kiện rẽ nhành
Luồng A1: Thành viên không đăng nhập thành công
1 Hệ thống thông báo quá trình đăng nhập không thành công.
2 Chọn: Đăng ký hoặc nhập lại Nếu chọn đăng ký thì quay lại UC đăng ký thành viên, nếu chọn nhập lại thực hiện tiếp bước 3.
3 Hệ thống yêu cầu thành viên nhập lại tên và mật khẩu.
4 Nếu khách xem đồng ý thì quay lại bước 2 của luồng sự kiện chính, nếu không đồng ý thì UC kết thúc.
Hậu điều kiện: Thành viên đã đăng nhập thành công và có thể sử dụng các chức năng mà hệ thống cho phép
2.3.2 Hệ thống xem thông tin
2.3.2.1 Đặc tả UC xem thông tin giỏ hàng
Mô tả: Cho phép khách hàng xem thông tin về giỏ hàng của mình.
1 Khách hàng chọn chức năng xem giỏ hàng.
2 Form xem thông tin giỏ hàng xuất hiện, hệ thống hiện thị thông tin về giỏ hàng của khách hàng hiện tại.
3 Khách hàng xem thông tin chi tiết về giỏ hàng được hiển thị.
3.2.2 Đặc tả UC xem thông tin đơn hàng
Tác nhân: người quản lý, nhân viên
Mô tả: cho phép người quản lý, nhân viên xem thông tin về đơn hàng được lữu trữ trong hệ thống
1 Người quản lý, nhân viên chọn đơn hàng cần xem.
2 Form xem thông tin đơn hàng xuất hiện, hệ thống hiển thị thông tin về đơn hàng mà người quản lý, nhân viên đã chọn.
3 Người quản lý, nhân viên xem thông tin chi tiết về đơn hàng được hiển thị.
2.3.2.3 Đặc tả UC xem thông tin sản phẩm
Tác nhân: người quản lý, nhân viên, khách hàng
Mô tả: cho phép người quản lý, nhân viên, khách hàng xem
thông tin về các sản phẩm có trong cửa hàng.
1 Người quản lý, nhân viên, khách hàng chọn sản phẩm cần xem.
2 Form xem thông tin sản phẩm xuất hiện, hệ thống hiển thị thông tin về sản phẩm đã chọn.
3 Người quản lý, nhân viên, khách hàng xem thông tin chi tiết về sản phẩm được hiển thị
2.3.2.4 Đặc tả UC xem thông tin cá nhân
Tác nhân: thành viên của hệ thống, bao gồm: người quản lý, nhân viên, khách hàng đã đăng ký thành viên.
Mô tả: UC cho phép thành viên của hệ thống xem các thông tin cá nhân của mình.
Tiền điều kiện: thành viên đã đăng nhập vào hệ thống.
1 Thành viên chọn mục Xem thông tin cá nhân
2 Form xem thông tin thành viên xuất hiện, hệ thống hiển thị thông tin cá nhân của thành viên.
3 Hệ thống cung cấp liên kết để thành viên có thể sửa đổi thông tin cá nhân.
2.3.3 Hệ thống quản lý thông tin
2.3.3.1 Đặc tả UC sửa thông tin cá nhân
Tác nhân: thành viên của hệ thống
Mô tả: UC cho phép thành viên thay đổi các thông tin đăng ký
Tiền điều kiện: thành viên phải đăng nhập vào hệ thống
1 Thành viên chọn chức năng sửa thông tin cá nhân.
2 Hệ thống hiển thị form sửa thông tin với các thông tin cũ của thành viên hiện tại.
3 Thành viên nhập các thông tin mới.
4 Nhân nút lưu thông tin.
5 Nếu việc cập nhật thành công thì thực hiện bước 6 Nếu sai thực hiện luồng sự kiện rẽ nhánh A1.
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: thông tin nhập không hợp lệ.
1 Hệ thống thông báo việc nhập dữ liệu không hợp lệ.
2 Thành viên nhập lại thông tin.
3 Quay lại bước 4 của luồng sự kiện chính.
Hậu điều kiện: Thông tin thành viên được lưu trở lại vào hệ thống.
2.3.3.2 Đặc tả UC quản lý danh mục sản phẩm
Tác nhân: người quản lý.
Mô tả: UC cho phép người quản lý thêm, sửa, xoá thông tin sản phẩm có trong danh mục.
Tiền điều kiện: người quản lý phải đăng nhập vào hệ thống.
1 Hệ thống hiển thị form nhập thông tin sản phẩm.
2 Người quản lý nhập thông tin sản phẩm.
3 Nhấn nút lưu thông tin
4 Nếu nhập thành công thì thực hiện tiếp bước 5 Nếu sai thì thực hiện rẽ nhánh A1.
5 Lưu thông tin sản phẩm.
B Thay đổi thông tin sản phẩm:
1 Hệ thống hiển thị form sửa thông tin sản phẩm.
2 Người quản lý nhập thông tin cần thay đổi.
3 Nhấn nút cập nhật thông tin.
4 Nếu thay đổi thành công thì thực hiện bước 5 Nếu sai thì thực hiện rẽ nhánh A1.
5 Cập nhật thông tin sản phẩm
1 Hệ thống hiển thị form tất cả các sản phẩm.
2 Người quản lý chọn sản phẩm cần xoá.
3 Nhấn nút xoá sản phẩm.
4 Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu người quản lý chọn đồng ý thì thực hiện bước 5 Nếu không đồng ý thì thực hiện bước 6.
5 Thông báo sản phẩm đã được xoá.
6 Hệ thống hiển thị lại danh sách sản phẩm.
Luồng sự kiện rẽ nhánh:
1 Hệ thống thông báo việc nhập dữ liệu không hợp lệ.
2 Người quản lý nhập lại thông tin.
3 Quay lại bước 3 của luồng sự kiện chính.
Hậu điều kiện: các thông tin về sản phẩm được cập nhật vào cơ sở dữ liệu.
2.3.3.3 Đặc tả UC quản lý danh sách thành viên
Tác nhân: người quản lý.
Mô tả: UC cho phép người quản lý thêm, sửa, xoá thông tin sản phẩm có trong danh mục.
Tiền điều kiện: người quản lý phải đăng nhập vào hệ thống.
1 Hệ thống hiển thị form nhập thông tin thành viên.
2 Người quản lý nhập thông tin thành viên.
3 Nhấn nút lưu thông tin
4 Nếu nhập thành công thì thực hiện tiếp bước 5 Nếu sai thì thực hiện rẽ nhánh A1.
5 Lưu thông tin thành viên.
B Thay đổi thông tin thành viên:
1 Hệ thống hiển thị form sửa thông tin thành viên.
2 Người quản lý nhập thông tin cần thay đổi.
3 Nhấn nút cập nhật thông tin.
4 Nếu thay đổi thành công thì thực hiện bước 5 Nếu sai thì thực hiện rẽ nhánh A1.
5 Cập nhật thông tin thành viên.
1 Hệ thống hiển thị form tất cả các thành viên.
2 Người quản lý chọn thành cần xoá.
3 Nhấn nút xoá thành viên.
4 Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu người quản lý chọn đồng ý thì thực hiện bước 5 Nếu không đồng ý thì thực hiện bước 6.
5 Thông báo thành viên đã được xoá.
6 Hệ thống hiển thị lại danh sách thành viên.
Luồng sự kiện rẽ nhánh:
1 Hệ thống thông báo việc nhập dữ liệu không hợp lệ.
2 Người quản lý nhập lại thông tin.
3 Quay lại bước 3 của luồng sự kiện chính.
Hậu điều kiện: các thông tin về sản phẩm được cập nhật vào cơ sở dữ liệu.
2.3.4.1 Đặc tả UC chọn sản phẩm cần mua
Mô tả: UC cho phép khách hàng chọn sản phẩm cần mua để đưa vào giỏ hàng
Tiền điều kiện: sản phẩm cần chọn phải hiển thị trên hệ thống
1 Khách hàng chọn vào mục cần mua hàng
2 Hệ thống hiển thị các sản phẩm có trong mục đã chọn
3 Khách hàng xem thông tin về sản phẩm cần mua
4 Nếu hệ thống hiển thị thông tin có sản phẩm cần mua, khách hàng chọn vào sản phẩm cụ thể cần mua Nếu không thì thực hiện luồng sự kiện rẽ nhánh A1
Luồng sự kiện rẽ nhánh A1:
1 Khách hàng chọn mua các sản phẩm khác
2 Quay lại bước 4 của luồng sự kiện chính
Hậu điều kiện: sản phẩm cần mua được chọn xong 2.3.4.2 Đặc tả UC thêm sản phẩm vào giỏ hàng
Mô tả: UC cho phép khách hàng đưa sản phẩm đã chọn vào giỏ hàng
Tiền điều kiện: sản phẩm đã chọn
1 Chọn chức năng thêm vào giỏ hàng để đưa sản phẩm đã chọn vào lưu trữ trong giỏ hàng Nếu chưa chọn sản phẩm mà nút thêm vào giỏ hàng thì thực hiện luồng sự kiện rẽ nhánh A1.
2 Hệ thống thông tin sản phẩm đưa vào giỏ hàng
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: chưa chọn sản phẩm cần mua
1 Hệ thống thông báo sản phẩm chưa được chọn
2 Hiển thị sản phẩm để khách hàng chọn
3 Quay lại bước 1 của luồng sự kiện chính
Hậu điều kiện: Thông tin sản phẩm đã đưa vào giỏ hàng phải được lưu trữ
2.3.4.3 Đặc tả UC loại sản phẩm đã chọn ở giỏ hàng
Mô tả: UC cho phép khách hàng loại bỏ sản phẩm đã đưa vào giỏ.
Tiền điều kiện: giỏ hàng đã có sản phẩm
1 Khách hàng chọn sản phẩm muốn loại bỏ khỏi giỏ hàng
2 Nhấn loại bỏ để thực hiện loại bỏ
3 Nếu có sản phẩm được chọn, hệ thống hiển thị thông báo để khách hàng xác nhận lại Ngược lại, thực hiện luồng sự kiện rẽ nhánh A1.
4 Nếu chấp nhận thì sản phẩm được chọn sẽ bị loại bỏ. Nếu không thì thực hiện luồng sự kiện rẽ nhánh A2
5 Hệ thống hiển thị đã loại bỏ thành công
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: sản phẩm chưa được chọn
1 Hệ thống thông báo chưa chọn sản phẩm cần loại bỏ
2 Quay lại bước 1 của luồng sự kiện chính
Luồng nhánh A2: quay lại giỏ hàng
1 Hệ thống hiển thị danh sách sản phẩm trong giỏ hàng
Hậu điều kiện: sản phẩm được chọn bị loại khỏi giỏ hàng. 2.3.4.4 Đặc tả UC thanh toán
Mô tả: UC cho phép khách hàng tạo đơn hàng để tạo đơn hàng để tiến hành thanh toán giỏ hàng sản phẩm
Tiền điều kiện: khách hàng đã chọn sản phẩm vào giỏ hàng
1 Khách hàng nhấn thanh toán để tạo đơn hàng
2 Form thanh toán xuất hiện, hệ thống hiển thị đơn hàng và 1 số thông tin mặc định của đơn hàng
3 Khách hàng nhập tiếp các thông tin: họ tên, số tài khoản, phương thức thanh toán, địa chỉ giao hàng, thời gian giao hàng, địa chỉ email để hoàn thành đơn hàng
4 Chọn gửi đơn hàng Nếu đơn hàng đã nhập đúng thì thực hiện bước 5 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1.
5 Hệ thống kiểm tra số tài khoản của khách hàng và phương thức thanh toán Nếu hợp lệ thì thực hiện bước 6. Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A2
6 Hệ thống thông báo giao dịch thành công
Luồng sự kiện rẽ nhánh
Luồng nhánh A1: đơn hàng nhập sai
1 Hệ thống thông báo việc tạo đơn hàng không thành công
2 Hệ thống hiển thị lại form nhập thông tin và các trường nhập sai
3 Khách hàng nhập lại thông tin, nếu muốn ngưng giao dịch thì thực hiện luồng sự kiện rẽ nhánh A3
4 Quay lại bước 4 của luồng sự kiện chính
Luồng nhánh A2: tài khoản không hợp lệ
1 Hệ thống thông báo phương thức thanh toán và tài khoản của khách hàng không hợp lệ
2 Khách hàng nhập lại thông tin nếu muốn tiếp tục mua hàng, nếu ngưng giao dịch thì thực hiện luồng sự kiện rẽ nhánh A3Khách hàng nhập lại thông tin, nêu muốn ngưng giao dịch thì thực hiện luồng sự kiện rẽ nhánh A3
3 Quay lại bước 4 của luồng sự kiện chính
Luồng nhánh A3: khách hàng hủy đơn hàng
1 Khách hàng nhấn hủy bỏ đơn hàng
2 Hệ thống hiển thị các sản phẩm để khách hàng thực hiện giao dịch mới
Hậu điều kiện: đơn hàng được gửi.
2.3.5 Hệ thống tiếp nhận và xử lý đơn hàng
2.3.5.1 Đặc tả UC tiếp nhận đơn hàng
Tác nhân: người quản lí
Mô tả: UC cho phép người quản lí nhận các thông tin về đơn hàng của khách hàng
Tiền điều kiện: đơn hàng đã được tạo ra
1 Hệ thống thông báo có đơn hàng mới
2 Người quản lí chọn xem đơn hàng mới
3 Hệ thống hiển thị thông tin về đơn hàng mà người quản lí muốn xem
4 Người quản lí xem các yêu cầu của đơn hàng
2.3.5.2 Đặc tả UC giao cho nhân viên thực hiện
Tác nhân: Người quản lí
Mô tả: UC cho phép người quản lí giao đơn hàng của khách hàng cho nhân viên thực hiện
Tiền điều kiện: người quản lí đã tiếp nhập đơn hàng
1 Người quản lí chọn nhân viên để thực hiện đơn hàng
2 Giao đơn hàng cho nhân viên
3 Chờ thông tin phản hồi từ nhân viên
4 Nếu nhân viên chấp nhận chuyển hàng thì thay đổi tình trạng của đơn hàng sang đã được nhân viên tiếp nhận Nếu không chấp nhận thì thực hiện luồng sự kiện rẽ nhánh A1
Luồng sự kiện rẽ nhánh:
1 Người quản lí chọn nhân viên khác để tiếp nhận đơn hàng
2 Giao đơn hàng cho nhân viên mới
3 Trở lại bước 3 của luồng sự kiện chính
2.3.5.3 Đặc tả UC nhận đơn hàng và giao hàng
Mô tả: UC cho phép nhân viên nhận đơn hàng và thực hiện giao hàng theo yêu cầu đơn hàng người quản lí giao
Tiền điều kiện: người quản lí đã giao hàng
1 Nhân viên nhận được đơn hàng cần phải thực hiện
2 Nếu thực hiện giao hàng được thì tiến hành giao hàng và chuyển sang bước 3 Nếu không thì thực hiện luồng sự kiện rẽ nhánh A1
3 Thay đổi trạng thái của đơn hàng
4 Gửi thông tin phản hồi, đơn hàng giao thành công
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: không thực hiện được việc giao hàng
1 Gửi thông tin không thực hiện được đơn hàng cho người quản lí
2.3.5.4 Đặc tả UC báo cáo kết quả
Mô tả: UC cho phép nhân viên báo cáo kết quả của việc thực hiện đơn hàng cho người quản lí
Tiền điều kiện: đã thực hiện đơn hàng
1 Nhân viên chọn chức năng gửi báo cáo
2 Form gửi báo cáo xuất hiện, nhân viên nhập thông tin cần báo cáo , ví dụ như đơn hàng không được thực hiện, tên nhân viên thực hiện, …
3 Gửi thông tin báo cáo
4 Nếu gửi thành công thì thực hiện bước 5 Không thành công thì thực hiện luồng sự kiện rẽ nhánh A1
5 Hệ thống thông báo đã gửi thành công
Luồng sự kiện rẽ nhánh A1:
1 Hệ thống thông báo việc gửi báo cáo không thành công
2 Nếu nhân viên chọn gửi lại quay lại bước 2 của luồng sự kiện chính, nếu chọn hủy bỏ thì UC kết thúc
Hậu điều kiện: thông tin báo cáo được gửi đến người quản lý
Xác định các lớp thực thể và các lớp biên
Dựa vào UC, ta xác định các lớp thực thế (entity) sau:
Biểu đồ 12: Lớp thực thể
Và các lớp biên (boundary):
Biểu đồ hoạt động của các USE CASE
2.5.1 Biểu đồ hoạt động chức năng đăng ký
Biểu đồ 14: Biểu đồ hoạt động chức năng đăng ký
2.5.2 Biểu đồ hoạt động chức năng đăng nhập
Biểu đồ 15: Biểu đồ hoạt động chức năng đăng nhập
2.5.3 Biểu đồ hoạt động chức năng sửa thông tin cá nhân
Biểu đồ 16: Biểu đồ hoạt động chức năng sửa thông tin cá nhân
2.5.4 Biểu đồ hoạt động chức năng quản lý danh sách thành viên
Biểu đồ 17: BIểu đồ hoạt động chức năng quản lý danh sách thành viên
2.5.5 Biểu đồ hoạt động chức năng quản lý danh mục sản phẩm
Biểu đồ 18: Biểu đồ hoạt động chức năng quản lý danh mục sản phẩm
2.5.6 Biểu đồ hoạt động chức năng mua hàng, tiếp nhận xử lý đơn hàng( tách riêng admin-user)
Biểu đồ 19: Biểu đồ hoạt động chức năng mua hàng, tiếp nhận xử lý đơn hàng
2.5.7 Biểu đồ hoạt động chức năng đánh giá
Biểu đồ 20: Biểu đồ hoạt động chức năng đánh giá
2.5.8 Biểu đồ hoạt hoạt động chức năng thống kê (có mốc thời gian ở hàng bán được, doanh thu, hàng tồn kho)
Biểu đồ 21: Biểu đồ hoạt động chức năng thống kê
Mô hình hoá tương tác trong các USE CASE: Biểu đổ tuần tự và biểu đồ giao tiếp
2.6.1 Biểu đồ tuần tự chức năng đăng ký thành viên
Biểu đồ 22: Biểu đồ tuần tự chức năng đăng ký thành viên
2.6.2 Biểu đồ tuần tự chức năng đăng nhập
Biểu đồ 23: Biểu đồ tuần tự chức năng đăng nhập
2.6.3 Biểu đồ tuần tự chức năng sửa thông tin cá nhân
Biểu đồ 24: Biểu đồ tuần tự chức năng sửa thông tin cá nhân
2.6.4 Biểu đồ tuần tự chức năng quản lý danh sách thành viên
Biểu đồ 25: Biểu đồ tuần tự chức năng quản lý danh sách thành viên
2.6.5 Biểu đồ tuần tự chức năng quản lý danh mục sản phẩm
Biểu đồ 26: Biểu đồ tuần tự chức năng quản lý danh mục sản phẩm
2.6.6 Biểu đồ tuần tự chức năng mua hàng, tiếp nhận và xử lý đơn hàng
Biểu đồ 27: Biểu đồ tuần tự chức năng mua hàng, tiếp nhận và xử lý đơn hàng
2.6.7 Biểu đồ tuần tự chức năng đánh giá
Biểu đồ 28: Biểu đồ tuần tự chức năng đánh giá
2.6.8 Biểu đồ tuần tự chức năng thống kê
Biểu đồ 29: Biểu đồ tuần tự chức năng thống kê
Thiếu biểu đồ triển khai
Đây là giao diện người dùng, nơi người dùng tương tác trực tiếp với ứng dụng.
Thường được phát triển bằng các ngôn ngữ như HTML, CSS, và JavaScript cùng với các framework như React, Angular, hoặc Vue.js.
Front-End chịu trách nhiệm gửi các yêu cầu HTTP tới Back- End để yêu cầu dữ liệu hoặc thực hiện các thao tác.
Là phương tiện giao tiếp giữa Front-End và Back-End.
Các yêu cầu HTTP (như GET, POST, PUT, DELETE) được gửi từ Front-End đến Back-End thông qua giao thức HTTP/HTTPS.
Yêu cầu này có thể bao gồm các dữ liệu cần thiết để thực hiện những hành động cụ thể, chẳng hạn như gửi thông tin đăng nhập, yêu cầu danh sách sách, hoặc tạo đơn hàng mới.
Back-End là nơi xử lý logic của ứng dụng và giao tiếp với cơ sở dữ liệu.
Thường được phát triển bằng các ngôn ngữ như Node.js, Python, Java, hoặc Ruby.
Máy chủ nhận yêu cầu HTTP từ Front-End, xử lý chúng, thực hiện các thao tác cần thiết, và trả về kết quả cho Front-End.
Back-End cũng thực hiện các chức năng bảo mật, xác thực người dùng, và quản lý phiên làm việc.
Là nơi lưu trữ dữ liệu của ứng dụng, chẳng hạn như thông tin người dùng, đơn hàng, sách, v.v.
Có thể là cơ sở dữ liệu quan hệ (SQL) như MySQL, PostgreSQL hoặc cơ sở dữ liệu không quan hệ (NoSQL) như MongoDB.
Back-End thực hiện các thao tác CRUD (Create, Read, Update, Delete) trên cơ sở dữ liệu để lưu trữ và truy xuất dữ liệu.
Quy trình hoạt động cơ bản:
Người dùng tương tác với Front-End.
Front-End gửi yêu cầu HTTP tới Back-End thông qua API.
Back-End xử lý yêu cầu, tương tác với cơ sở dữ liệu nếu cần, và trả về kết quả cho Front-End.
Front-End nhận kết quả và hiển thị cho người dùng.
Kiến trúc này giúp tách biệt các thành phần của ứng dụng, làm cho việc phát triển, bảo trì và mở rộng dễ dàng hơn.
Thiết kế cơ sở dữ liệu
Tên Kiểu dữ liệu Chú thích
Username Varchar(55) Tên người dùng
Email Varchar(100) Địa chỉ thư
Address Varchar(max) Địa chỉ người dùng
Tên Kiểu dữ liệu Chú thích
Tên Kiểu dữ liệu Chú thích
Tên Kiểu dữ liệu Chú thích
Tên Kiểu dữ liệu Chú thích
Tên Kiểu dữ liệu Chú thích
Bảng 6: Đánh giá sản phẩm
Tên Kiểu dữ liệu Chú thích
XÂY DỰNG ỨNG DỤNG MINH HOẠ
Hiển thị một số thông tin chung:
Các sản phẩm mới, cũ
Thông tin cửa hàng (Địa chỉ cửa hàng, số điện thoại,…)
3.2 Trang danh sách sản phẩm
Hiển thị một số thông tin chung:
Danh sách sản phẩm theo loại
Tên, giá, hình ảnh sản phẩm
Sắp xếp sản phẩm tăng dần, giảm dần
3.3 Trang chi tiết sản phẩm
Hiển thị một số thông tin chung:
Hiển thị thông tin về sản phẩm (Giá, hình ảnh, tên, loại, mô tả, phiên bản, số lượng tồn kho)
Đánh giá, bình luận, ý kiến về sản phẩm (Người dùng cần phải đăng nhập)
Sau khi người dùng thêm sản phẩm vào giỏ hàng hiển thị một số thông tin chung như sau:
Xem sản phẩm (Số lượng, giá cả, tổng tiền)
Thêm, sửa, xoá sản phẩm có trong giỏ hàng
Nếu trang giỏ hàng xây dựng như này thì ko cần phải qua chức năng đăng nhập
3.5 Trang lịch sử đơn hàng
Hiển thị một số thông tin chung:
Thông tin về sản phẩm (Số lượng, giá cả, địa chỉ thanh toán, ngày đặt hàng, ngày giao hàng)
Tình trạng đơn hàng (Xác nhận = Đã giao, Chờ xác nhận
3.6.1 Trang quản lý sản phẩm
Hiển thị danh sách sản phẩm cho phép quản trị viên thêm,sửa, xoá sản phẩm:
3.6.2 Trang quản lý loại sản phẩm
Hiển thị danh sách loại sản phẩm cho phép quản trị viên thêm, sửa, xoá loại sản phẩm:
3.6.3 Trang quản lý người dùng
Hiển thị danh sách người dùng cho phép quản trị viên thêm, sửa, xoá người dùng, phân quyền người dùng:
3.6.4 Trang phản hồi từ người dùng
Hiển thị danh sách phản hồi đến từ người dùng về website:
3.6.5 Trang nhận xét và đánh giá của người dùng về sản phẩm
Hiển thị danh sách phản hồi và đánh giá của người dùng về sản phẩm cho phép quản trị viên giải đáp thắc mắc của người dùng:
Quản trị viên có thể hiển thị danh sách đơn hàng và trạng thái của chúng, điều chỉnh trạng thái đơn hàng, theo dõi doanh thu hàng tháng, và kiểm tra số lượng tồn kho của các sản phẩm trong cửa hàng.
3.7 Đăng ký / Đăng nhập / Quên mật khẩu
Người dùng có thể đăng ký, đăng nhập hoặc chọn quên mật khẩu nếu tài khoản đã tồn tại, giúp họ thanh toán, lưu sản phẩm vào giỏ hàng, bình luận về sản phẩm và phản hồi về website.