WordPress là một phần mềm nguồn mở Open Source Software được viết bằng ngôn ngữ lập trình website PHP Hypertext Preprocessor và sử dụng hệ quản trị cơ sở dữ liệu MySQL.. Và cho đến thời
GIỚI THIỆU ĐỀ TÀI VÀ WORDPRESS
Giới thiệu chung về Wordpress
WordPress là phần mềm mã nguồn mở được phát triển bằng ngôn ngữ PHP và sử dụng MySQL làm hệ quản trị cơ sở dữ liệu Được ra mắt vào ngày 27/5/2003 bởi Matt Mullenweg và Mike Little, WordPress hiện nay thuộc sở hữu của công ty Automattic có trụ sở tại San Francisco, California, Hoa Kỳ.
WordPress là một mã nguồn mở viết bằng ngôn ngữ PHP, nổi bật với tính dễ sử dụng và nhiều tính năng hữu ích, giúp người dùng tạo blog cá nhân Qua thời gian, số lượng người dùng tăng lên cùng với sự tham gia đông đảo của các lập trình viên, góp phần phát triển mã nguồn Đến năm 2015, WordPress đã trở thành một hệ quản trị nội dung (CMS) vượt trội, hỗ trợ người dùng tạo ra nhiều loại website khác nhau như blog, website tin tức, giới thiệu doanh nghiệp, và thương mại điện tử Nền tảng này phù hợp cho hầu hết các hình thức website quy mô nhỏ và vừa.
WordPress không chỉ phù hợp với các dự án nhỏ, mà hiện nay khoảng 25% trong số 100 website lớn nhất thế giới đang sử dụng mã nguồn này, bao gồm cả các trang tạp chí nổi tiếng.
TechCrunch, Mashable, CNN, BBC America, Variety, Sony Music, MTV News, Bata, Quartz,…rất nhiều không thể kể hết được.
Giới thiệu Woocommerce
WooCommerce là một plugin miễn phí tuyệt vời cho việc xây dựng trang thương mại điện tử nhỏ trên nền tảng WordPress Plugin này không chỉ bổ sung chức năng cho website mà còn cung cấp hầu hết các tính năng cần thiết cho một trang bán hàng đơn giản.
Woocommerce sẽ có các chức năng chính như:
• Tạo sản phẩm với định dạng thông thường, sản phẩm có thuộc tính, sản phẩm affiliate và sản phẩm kỹ thuật số (có thể tải về)
• Hỗ trợ một số hình thức thanh toán online như PayPal, Credit Card, CoD, Cash và sẽ càng nhiều hơn khi cài thêm plugin hỗ trợ cho riêng nó
• Hỗ trợ tự tính thuế sản phẩm hoặc thuế theo đơn hàng
Hỗ trợ tính giá chuyển phát tự động, với nhiều loại hình tính giá phong phú Việc cài đặt thêm plugin sẽ giúp tính giá dựa trên các yếu tố như cân nặng, kích thước và tỉnh thành, mang lại sự linh hoạt cho người dùng.
• Trang quản lý đơn hàng chuyên nghiệp, lọc đơn hàng thông qua từng trạng thái
Hỗ trợ template hiển thị riêng giúp lập trình viên tự cấu hình lại giao diện phần shop và sản phẩm, mang lại nhiều lợi ích cho việc phát triển và tùy chỉnh.
• Có sẵn nhiều theme và extension (plugin mở rộng) để biến thành trang shop chuyên nghiệp
• Và hàng tá các chức năng hay ho khác nữa
Với các tính năng nổi bật, Woocommerce là lựa chọn lý tưởng cho những ai muốn tạo một trang shop đơn giản trên website WordPress, giúp giới thiệu sản phẩm và cho phép khách hàng đặt hàng trực tuyến một cách tiện lợi.
Cài đặt và thiết lập cơ bản
-Trước tiên bạn tìm plugin tên Woocommerce trong Dashboard và cài plugin tên WooCommerce – excelling eCommerce rồi cài nó
Hình 1.1 Tìm plugin “Woocommerce” trên thư viện
Sau khi cài đặt và kích hoạt, bạn sẽ được chuyển đến trang thiết lập ban đầu của WooCommerce Nhấn vào nút "Cài đặt bản dịch" để cài đặt bộ ngôn ngữ phù hợp cho website, chẳng hạn như nếu bạn đang sử dụng WordPress tiếng Việt, nó sẽ tự động cài đặt bản dịch tiếng Việt cho WooCommerce Cuối cùng, hãy nhấn nút "Bắt đầu" để tiếp tục.
Hình 1.2 Cài đặt bản dịch và thiết lập cho Woocommerce
Bước tiếp theo là cài đặt các trang cần thiết cho Woocommerce, bao gồm các trang bắt buộc như Cửa hàng, Giỏ hàng và Thanh toán Việc thiết lập những trang này là rất quan trọng để hoàn thiện chức năng của cửa hàng trực tuyến Do đó, hãy nhấn nút Tiếp tục để tiến hành.
Hình 1.3 Cài đặt trang cần thiết cho Woocommerce
Tiếp theo, bạn cần cài đặt vị trí cửa hàng bằng cách chọn quốc gia, loại tiền tệ và định dạng tiền tệ phù hợp Nếu cửa hàng của bạn đặt tại Việt Nam, hãy thực hiện theo hướng dẫn trong hình ảnh dưới đây.
Để thiết lập vị trí và định dạng tiền tệ phù hợp với Việt Nam, bạn chỉ cần nhấn "Tiếp tục" ở bước cài đặt vận chuyển và thuế mà không cần chọn thêm gì Chúng ta sẽ điều chỉnh các thiết lập này chi tiết hơn ở phần riêng Sau khi hoàn tất thiết lập, hãy quay lại trang quản trị.
Hình 1.5 Đã thiết lập hoàn thành.
PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
Phân tích và thiết kế hướng đối tượng
2.1.1 Phân tích và thiết kế hướng đối tượng(OOAD) là gì?
Phân tích thiết kế hướng đối tượng (OOAD) là giai đoạn quan trọng trong phát triển phần mềm, giúp tạo ra một mô hình chính xác và súc tích cho vấn đề Mô hình này bao gồm các đối tượng và khái niệm từ thế giới thực, mang lại sự dễ hiểu cho người sử dụng.
Phân tích thiết kế hướng đối tượng dựa trên các nguyên tắc chung nhằm cung cấp hướng dẫn giúp tránh thiết kế kém Có năm nguyên tắc chính trong thiết kế hướng đối tượng mà chúng ta cần lưu ý.
Một lớp trong lập trình nên chỉ đảm nhận một chức năng duy nhất để tránh sự phụ thuộc giữa các chức năng Việc tích hợp nhiều chức năng vào một lớp có thể dẫn đến tình trạng khi thay đổi một chức năng sẽ làm ảnh hưởng đến các chức năng khác, gây ra sự phức tạp và khó khăn trong việc bảo trì mã nguồn.
• Các lớp, module, chức năng nên dễ dàng Mở(Open) cho việc thêm chức năng mới, và Đóng(Close) cho việc thay đổi
• Lớp dẫn xuất phải có khả năng thay thế được lớp cha
• Chương trình không nên buộc phải cài đặt một Interface mà nó không sử dụng đến
Các module cấp cao nên độc lập với các module cấp thấp, và cả hai phải tương tác thông qua một lớp trừu tượng Lớp trừu tượng này không được phụ thuộc vào các chi tiết cụ thể, trong khi các chi tiết lại phải dựa vào lớp trừu tượng.
UML, hay ngôn ngữ mô hình hóa hợp nhất, là công cụ quan trọng để biểu diễn hệ thống thông qua các bản vẽ thiết kế Những bản vẽ này không chỉ giúp các nhóm thiết kế giao tiếp hiệu quả mà còn hỗ trợ trong việc thực thi hệ thống.
UML sử dụng hệ thống ký hiệu thống nhất để biểu diễn các phần tử mô hình, từ đó tạo thành các sơ đồ UML Các sơ đồ UML chủ yếu bao gồm nhiều loại khác nhau, mỗi loại phục vụ cho các mục đích mô phỏng và thiết kế khác nhau.
• Sơ đồ lớp (Class Diagram)
• Sơ đồ đối tượng (Object Diagram)
• Sơ đồ tình huống sử dụng (Use Case Diagram)
• Sơ đồ trình tự (Sequence Diagram)
• Sơ đồ cộng tác (Composite Structure Diagram)
• Sơ đồ trạng thái (State machine Diagram)
• Sơ đồ thành phần (Component Diagram)
• Sơ đồ hoạt động (Activity Diagram)
• Sơ đồ triển khai (Deployment Diagram)
• Sơ đồ gói (Package Diagram)
• Sơ đồ tương tác (Interaction Overview Diagram)
Hệ quản trị cơ sở dữ liệu MySQL
Hệ quản trị cơ sở dữ liệu (DBMS) là hệ thống được thiết kế nhằm tự động và có trật tự quản lý khối lượng dữ liệu nhất định Các chức năng quản lý của nó bao gồm chỉnh sửa, xóa, lưu trữ và tìm kiếm thông tin trong một tập hợp dữ liệu cụ thể.
Hình 2.1 Kiến trúc của một Hệ quản trị cơ sở dữ liệu
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất toàn cầu, được ưa chuộng trong phát triển web và ứng dụng Với tốc độ nhanh và tính bảo mật cao, MySQL là lựa chọn lý tưởng cho các ứng dụng có cơ sở dữ liệu trên Internet.
2.2.2 Vai trò của hệ quản trị CSDL:
Các hệ quản trị cơ sở dữ liệu (CSDL) đóng vai trò quan trọng trong việc xử lý và kiểm soát thông tin Chúng cung cấp các chức năng chính như quản lý dữ liệu, đảm bảo tính toàn vẹn và bảo mật thông tin.
• Cung cấp môi trường tạo lập cơ sở dữ liệu:
Hệ quản trị cơ sở dữ liệu (CSDL) cung cấp cho người dùng ngôn ngữ định nghĩa dữ liệu, cho phép mô tả và khai báo kiểu dữ liệu cùng các cấu trúc dữ liệu cần thiết.
• Cung cấp cách cập nhật và khai thác dữ liệu:
Hệ quản trị cơ sở dữ liệu (CSDL) cung cấp ngôn ngữ thao tác dữ liệu cho người dùng, cho phép họ thực hiện các yêu cầu và thao tác cập nhật cũng như khai thác dữ liệu Các thao tác dữ liệu chính bao gồm cập nhật (thêm, sửa, xóa) và khai thác (tìm kiếm, kết xuất dữ liệu).
Các công cụ kiểm soát và điều khiển truy cập vào cơ sở dữ liệu là rất quan trọng để đảm bảo thực hiện các yêu cầu cơ bản của hệ quản trị cơ sở dữ liệu Những công cụ này không chỉ giúp đảm bảo an ninh và phát hiện, ngăn chặn các truy cập bất hợp pháp mà còn duy trì tính nhất quán của dữ liệu Bên cạnh đó, chúng còn tổ chức và điều khiển các truy cập, khôi phục cơ sở dữ liệu khi gặp sự cố về phần cứng hay phần mềm, và quản lý các mô tả dữ liệu một cách hiệu quả.
Biểu đồ UseCase
2.3.1 Biểu đồ UC tổng quát
Hình 2.2 Biểu đồ use case tổng quát
Hình 2.3 UC cho khách hàng
2.3.3 UC cho người bán hàng
Hình 2.4 Các UC cho người bán hàng
Hình 2.5 Use Case đăng nhập
Bảng 2.1 Use Case: Đăng nhập
Tác nhân Khách hàng, người quản lý
Mô tả UC cho phép khách hàng đă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 Nếu thành viên nhập sai mật khẩu hoặc tài khoản thì chuyển sang luồng A1
5 Đăng nhập thành công sẽ thực hiện một phiên của khách hàng
6 UC kết thúc Luồng sự kiện rẽ nhánh
Luồng sự kiện A1 : Thành viên đăng nhập không thành công
Hệ thống thông báo quá trình đăng nhập không thành công
Hệ thống yêu cầu khách thành viên nhập lại tài khoản, mật khẩu
Hậu điều kiện Khách thành viên đăng nhập thành công và có thể sử dụng những tính năng mà hệ thống cung cấp
Hình 2.6 Use Case: Đăng ký
Bảng 2.2 Use Case: Đăng ký
Mô tả Cho phép khách xem đăng ký 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ần thiết vào form
5 Hệ thống thông báo kết quả Nếu thông tin không chính xác thì thực hiện luồng A1 Nếu chính xác thì thực hiện bước 6
6 Hệ thống cập nhật thông tin khách xem vào danh sách thành viên
7 Uc kêt thúc Luồng sự kiện rẽ nhánh
Luồng A1 : Quá trình nhập thông tin không chính xác
1 Hệ 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 nhập lại thông tin
3 Nếu khách hàng đồng ý thì quay về bước 2 của luồng sự kiện chính, nếu không đồng ý thì UC kết thúc
Khách hàng trở thành thành viên của hệ thống
Hình 2.7 Use Case: Tìm kiếm
Bảng 2.3 Use Case: Tìm kiếm
Mô tả Cho phép tìm kiếm các sản phẩm
1 Người sử dụng kích vào mục tìm kiếm sản phẩm
2 Hệ thống hiển thị form tìm kiếm
3 Người sử dụng nhập thông tin cần thiết vào form tìm kiếm
5 Hệ thống báo kết quả tìm kiếm
6 Kết thúc UC Luồng sự kiện rẽ nhánh
2.3.7 Use case quản lí thông tin cá nhân
Hình 2.8 Use case quản lí thông tin cá nhân
Bảng 2.4 Xem thông tin cá nhân
Tên UC Xem thông tin cá nhâ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 Khách hàng đã đăng nhập vào hệ thống
Luồng sự kiên chính 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
4 UC kết thúc Luồng sự kiện rẽ nhánh
Bảng 2.5 Sửa thông tin cá nhân
Tên UC Sửa thông tin cá nhân
Mô tả Cho phép thành viên chỉnh sửa thông tin cá nhân của mình 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
2 Hệ thống hiển thị các thông tin hiện tại của thành viên
3 Thành viên nhập các thông tin mới
4 Nhấn nút lưa thông tin
5 Nếu cập nhật thành công thì thực hiện bước 6 Nếu sai thì thức hiện luồng rẽ nhánh A1
6 Lưu thông tin Luồng sự kiện rẽ nhánh
Luồng A1 : Thông tin nhập không hợp lệ
1 Hệ thống thông báo việc nhập 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 vào hệ thống
2.3.8 Use case quản lí giỏ hàng
Hình 2.9 Use case quản lí giỏ hàng
Bảng 2.6 Use case quản lí giỏ hàng
Tên UC Thêm sản phẩm vào giỏ
Mô tả UC cho phép khách hàng thêm sản phẩm vào giỏ hàng của mình Tiền điều kiện Sản phẩm đã được chọn
1 Chọn chức năng thêm giỏ hàng Nếu sản phẩm đã tồn tại trong giỏ chuyển A1
2 Hiển thị thông báo xác nhận chuyển tới giỏ hàng Nếu đồng ý thì chuyển A2
3 Sản phẩm được thêm vào giỏ
4 UC kết thúc Luồng sự kiện rẽ nhánh
A1 : Sản phẩm tồn tại trong giỏ hàng
1 Hiển thị thông báo sản phẩm đã tồn tại trong giỏ
2 UC kết thúc A2 : Chuyển đến giỏ hàng
1 Hiển thị danh sách sản phẩm khách hàng đã chọn có trong giỏ
2 UC kết thúc Hậu điều kiện Sản phẩm được hệ thống lưu tại giỏ hàng
Tên UC Xóa sản phẩm trong giỏ hàng
Mô tả UC cho phép khách hàng thực hiện xóa sản phẩm trong giỏ hàng Tiền điều kiện Giỏ hàng phải tồn tại sản phẩm
Luồng sự kiên chính 1 Khách hàng chọn chức năng xóa tại sản phẩm cẩn xóa
2 Hệ thống hiển thị xác nhận xóa sản phẩm trong giỏ
3 Sản phẩm được xóa khỏi giỏ
4 UC kết thúc Luồng sự kiện rẽ nhánh
Hậu điều kiện Hệ thống loại bỏ sản phẩm khỏi giỏ
Hình 2.10 Use case đặt hàng
Bảng 2.7 Use case đặt hàng
Mô tả UC cho phép khách hàng tạo đơn đặt hàng mua sản phẩm trong cửa hàng Điều kiện tiên quyết là khách hàng phải đăng nhập vào hệ thống.
Luồng sự kiện chính 1 Khách hàng tìm kiếm và chọn sản phẩm mình muốn mua
2 Hệ thống hiện thị chi tiết sản phẩm
3 Khách hàng chọn nút thêm vào giỏ hàng
4 Hệ thống hiển thị giỏ hàng của bạn
5 Khách hàng chọn nút mua hàng
6 Khách hàng điền thông tin cá nhân vào đơn đặt hàng
7 Khách hàng chọn nút chấp nhận đặt hàng Nếu không rẽ A1
Luồng sự kiện rẽ nhánh
A1: Khách hàng không muốn đặt hàng Khách hàng có thể chọn hủy đơn hàng bất kỳ thời gian nếu trước khi chấp nhận đặt hàng
2.3.10 Use case quản lý sản phẩm
Bảng 2.8 Quản lý sản phẩm
Tên UC Quản lý sản phẩm
Tác nhân Quản lý bán hàng
Mô tả UC cho phép người quản lý thêm, xoá, thay đổi thông tin của các sản phẩm trong danh mục
Tiền điều kiện Người quản lý đã đăng nhập vào hệ thống
Người quản lý chọn kiểu tác động lên sản phẩm: thêm sản phẩm, thay đổi thông tin sản phẩm, xoá sản phẩm ra khỏi danh mục
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 Nếu nhập thành công thì thực hiện bước 1.5 Nếu sai thực hiện luồng sự kiện rẽ nhánh A1
4 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 của sản phẩm
2 Người quản lý nhập các thông tin cần thay đổi
3 Nhấn nút lưu thông tin
4 Nếu việc thay đổi thành công thì thực hiện bước
5 Nếu sai thực hiện luồng sự kiện rẽ nhánh A1
6 Lưu thông tin sản phẩm
1 Người quản lý chọn sản phẩm cần xoá
2 Nhấn nút xoá để thực hiện loại bỏ sản phẩm
3 Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu người quản lý đồng ý thì thực hiện bước 1.4 Nếu không đồng ý thì thực hiện bước 1.5
4 Thông báo sản phẩm đã đươc xoá
5 Hệ thống hiển thị lại danh sách sản phẩm
Luồng sự kiện rẽ Luồng sự kiện rẽ nhánh A1: 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 1.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.11 Use case quản lý đơn đặt hàng
Hình 2.12 Use case quản lý đơn đặt hàng
Bảng 2.9 Quản lý đơn đặt hàng
Tên UC Quản lý đơn đặt hàng
Tác nhân Quản lý bán hàng
Mô tả Hệ thống cho phép admin cập nhật trạng thái và xóa đơn đặt hàng trong CSDL Tiền điều kiện Admin đã đăng nhập vào hệ thống
Người quản lý chọn kiểu tác động lên đơn đặt hàng :
1 Người quản lý chọn nút thay đổi trạng thái đơn đặt hàng tại đơn hàng mình cần thay đổi
2 Hệ thống hiện thị thông báo xác nhận thay đổi
4 Đơn đặt hàng thay đổi trang thái sau khi được chọn
1 Người quản lý chọn sản phẩm cần xoá
2 Nhấn nút xoá để thực hiện loại bỏ sản phẩm
3 Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu người quản lý đồng ý thì thực hiện bước 1.4 Nếu không đồng ý thì thực hiện bước 1.5
4 Thông báo sản phẩm đã đươc xoá
5 Hệ thống hiển thị lại danh sách sản phẩm
Luồng sự kiện rẽ nhánh
Hậu điều kiện Thông tin về đơn đặt hàng được cập nhật vào cơ sở dữ liệu.
Biểu đồ hoạt động
Hình 2.13 Biểu đồ đăng nhập
Hình 2.14 Biểu đồ đăng ký
Hình 2.15 Biểu đồ tìm kiếm
2.4.4 Sửa thông tin cá nhân
Hình 2.16 Biểu đồ sửa thồng tin cá nhân
2.4.5 Thêm sản phẩm vào giỏ
Hình 2.17 Thêm sản phẩm vào giỏ
2.4.6 Cập nhật trạng thái đơn hàng
Hình 2.18 Cập nhật trạng thái đơn hàng.
Biểu đồ tuần tự
2.5.1 Biểu đồ tuần tự đăng nhập
Hình 2.19 Biểu đồ tuần tự đăng nhập
2.5.2 Biểu đồ tuần tự đăng ký
Hình 2.20 Biểu đồ tuần tự đăng ký
2.5.3 Biểu đồ tuần tự tìm kiếm
Hình 2.21 Biểu đồ tuần tự tìm kiếm
2.5.4 Biểu đồ tuần tự đặt hàng
Hình 2.22 Biểu đồ tuần tự đặt hàng
2.5.5 Biểu đồ tuần tự thêm sản phẩm
Hình 2.23 Biểu đồ tuần tự thêm sản phẩm
2.5.6 Biểu đồ tuần cập nhật trạng thái
Hình 2.24 Biểu đồ tuần cập nhật trạng thái
2.5.7 Biểu đồ cộng tác đăng nhập
Hình 2.25 Biểu đồ cộng tác đăng nhập
2.5.8 Biểu đồ cộng tác sửa thông tin cá nhân
Hình 2.26 Biểu đồ cộng tác sửa thông tin cá nhân
2.5.9 Biểu đồ cộng tác tìm kiếm sản phẩm
Hình 2.27 Biểu đồ cộng tác tìm kiếm sản phẩm
2.5.10 Biểu đồ cộng tác đặt hàng
THỰC NGHIỆM XÂY DỰNG TRANG WEB
Giao diện trang chủ
Hình 3.1 Giao diện trang chủ.
Phần footer
Giao diện đăng nhập
Hình 3.3 Giao diện trang đăng nhập.
Giao diện tìm kiếm sản phẩm
Hình 3.4 Hiển thị kết quả tìm kiếm sản phẩm.
Giao diện trang quản lý tài khoản cho admin
Hình 3.6 Giao diện quản lý tài khoản cho admin.
Giao diện thống kê bán hàng
Hình 3.7 Giao diện thống kê bán hàng.
Giao diện giỏ hàng
Hình 3.8 Giao diện giỏ hàng.
Giao diện quản lý sản phẩm
Hình 3.9 Giao diện quản lý sản phẩm.
Giao diện quản lý đơn hàng
Hình 3.10 Giao diện quản lý đơn hàng