Khi một người truy cập vào website, WordPress sẽ tự động xử lý theo quy trình sau: Bước 1 – Khởi động mã nguồn Tập tin index.php trong mã nguồn không phải của theme hay plugin được tải
TỔNG QUAN VỀ WORDPRESS
Wordpress Và Lịch Sử Phát Triển
WordPress là nền tảng mã nguồn mở tự lưu trữ phổ biến nhất hiện nay, được phát triển bởi hàng trăm lập trình viên toàn cầu Hệ thống này cho phép người dùng sử dụng với nhiều mục đích khác nhau, mang lại sự tự do cao trong việc quản lý nội dung.
WordPress, được phát triển từ công cụ viết blog b2/cafelog của lập trình viên Michel Valdrighi, chính thức ra mắt vào năm 2001 Tuy nhiên, Valdrighi đã ngừng phát triển b2 vào năm 2002.
Vào tháng 1 năm 2003, Matt Mullenweg và Mike Little đã tạo ra một tương lai mới cho dự án WordPress còn dang dở Họ đã chính thức phát hành phiên bản đầu tiên của WordPress vào tháng 5 cùng năm.
Vào tháng 4 năm 2004, nhóm WordPress, cùng với nhà đồng phát triển Dougal Campbell, đã giới thiệu Ping-O-Matic, một trung tâm giúp thông báo cho các công cụ tìm kiếm về các bài viết và cập nhật mới trên blog.
Plugins, themes, widgets và nhiều thứ khác
Phiên bản đầu tiên của WordPress hỗ trợ plugins là phiên bản 1.2, phát hành vào tháng 5 năm 2004 Đến tháng 2 năm 2005, WordPress đã bổ sung khả năng quản lý themes Hầu hết các themes và plugins đều được phát triển bởi người dùng WordPress.
Phiên bản 2.1 của WordPress, phát hành năm 2007, giới thiệu giao diện người dùng mới, tính năng tự động lưu bài viết và kiểm tra lỗi chính tả Các widget và cải tiến về atom feed cũng được cập nhật để tối ưu hóa tốc độ Đến năm 2009, WordPress đã tự hào thông báo khả năng nâng cấp tự động của mình.
WordPress hiện chiếm hơn 17% tổng số trang web trên toàn cầu, với gần 37.000 plugins miễn phí có sẵn, cho thấy khả năng đa dạng của nền tảng này Matt Mullenweg đã chia sẻ rằng ông thấy tương lai của WordPress như một hệ điều hành web, cho thấy tiềm năng không giới hạn của nó Với sự sáng tạo của người dùng và nhà phát triển, WordPress hứa hẹn một tương lai tươi sáng và đầy triển vọng.
Bộ quản trị Wordpress gồm các phần như sau:
Dashboard WordPress cung cấp cái nhìn tổng quan về quản trị website, bao gồm thông tin tóm tắt về trang web, khả năng viết blog nhanh chóng, cập nhật các bình luận mới nhất, bài viết từ blog Wordpress.org, và danh sách các plugin mới và phổ biến nhất Ngoài ra, dashboard còn cung cấp liên kết đến trang web của bạn để dễ dàng quản lý và truy cập.
Updates: Hiển thị tất cả các theme và plugin có bản mới
Posts: Quản lý bài viết, tag và danh mục (category)
All posts: Quản lý tất cả các bài viết
Add new: Đăng bài viết mới
Categories: Quản lý tất cả các danh mục
Tags: Quản lý tất cả các Post Tag
Appearance: Quản lý giao diện
Plugins: Quản lý các thành phần mở rộng
Settings: Thiết lập các tùy chọn Ưu điểm
• Nhiều cộng đồng hỗ trợ
• Dễ cài đặt, sử dụng và quản lý
• Nhẹ và tốn ít tài nguyên
• Nhiễu Theme Framework hỗ trợ (Genesis, Thesis, Gantry, )
• Hỗ trợ SEO (Search Engine Optimized) rất tốt
• Nhiều hàm có sẵn khó nắm bắt
• Theme đẹp hầu hết phải trả phí
• Để custom WordPress đẹp thì phải biết kiến thức tốt về web
• Mức độ an ninh chưa tốt
1.1.2 Hoạt động của mã nguồn Wordpress:
Các dữ liệu làm việc thế nào?
WordPress được lập trình với nhiều tính năng cho phép tương tác với cơ sở dữ liệu MySQL, giúp người dùng lưu trữ dữ liệu mềm trên website Tất cả dữ liệu mềm, bao gồm nội dung văn bản, các thiết lập và một số dữ liệu khác, đều được lưu trữ trong cơ sở dữ liệu.
Nếu vào xem database thông qua phpMyAdmin hoặc các ứng dụng tương tự, sẽ thấy WordPress có nhiều bảng dữ liệu để chứa các dữ liệu được lưu vào
WordPress làm gì mỗi khi có người truy cập vào website?
Khi một người truy cập vào website, WordPress sẽ tự động xử lý theo quy trình sau: Bước 1 – Khởi động mã nguồn
Tập tin index.php trong mã nguồn WordPress (không phải của theme hay plugin) được tải lên đầu tiên và sẽ truy xuất các tập tin cốt lõi khác như wp-config.php để kết nối đến cơ sở dữ liệu, cùng với wp-settings.php Bằng cách mở tập tin index.php, bạn có thể theo dõi quy trình tải các tập tin theo thứ tự Sau khi kết nối đến cơ sở dữ liệu được thiết lập trong wp-config.php, WordPress sẽ tải các chức năng cần thiết từ các tập tin như /wp-includes/functions.php và /wp-includes/options.php để sẵn sàng tiếp nhận dữ liệu.
Trong quá trình tối ưu hóa, tất cả dữ liệu trong bảng wp_options có giá trị cột autoload là true sẽ được lấy ra, bất kể liệu chúng có được sử dụng hay không Mục tiêu của bước này là chuẩn bị sẵn các tùy chọn của website và các plugin để hỗ trợ cho các bước tiếp theo, đặc biệt là trong việc tải plugin để đảm bảo hoạt động chính xác Do đó, mình khuyên bạn nên xóa bớt các hàng dữ liệu không cần thiết trong bảng wp_options để giảm thời gian tải.
Các plugin trên website của bạn sẽ được tải ngay sau khi mã nguồn WordPress khởi động Các tính năng trong WordPress Core thường được gắn vào hook init, giúp kích hoạt các kịch bản ngay sau khi WordPress khởi động.
WordPress sẽ tìm kiếm tập tin Functions.php trong theme đang kích hoạt để tải các tính năng đã được khai báo Để xác định theme đang sử dụng, WordPress kết nối vào cơ sở dữ liệu và dựa vào khóa siteurl trong cột option_name tại bảng wp_options.
WordPress xác định thêm hiện tại thông qua database
Bước 4 – Phân tích và khởi tạo truy vấn là giai đoạn thiết yếu giúp website hiển thị nội dung ra bên ngoài, vì nội dung sẽ được trả về sau khi các truy vấn được gửi vào cơ sở dữ liệu.
Truy vấn là một lệnh gửi đến cơ sở dữ liệu để lấy thông tin cần thiết Trong trường hợp này, truy vấn SQL được sử dụng để tương tác với MySQL Server.
Môi trường lập trình
Một trong những thành phần quan trọng của wordpress là máy ảo Xampp
Sử dụng Wordpress dùng máy ảo Xampp được thiết kế để bảo đảm rằng đa ứng dụng có thể chạy mượt mà trên nền tảng website
Phần mềm XAMPP là công cụ lý tưởng cho việc xây dựng và phát triển website bằng ngôn ngữ PHP Nó cho phép người dùng nghiên cứu và phát triển website thông qua Localhost trên máy tính cá nhân Các lập trình viên thường sử dụng XAMPP trong nhiều tình huống, bao gồm học tập, thử nghiệm lập trình website và nghiên cứu nâng cấp các tính năng của website.
1.2.2 Các plugins thiết yếu cho Wordpress
Wp-mega-menu – chỉnh sử giao diện menu
Css-hero 4.0 – chỉnh sửa toàn bộ page
Nextgen-gallery – thư viên ảnh, video
Revslider – trình chuyển tự động ảnh
Wp-livechat – chat trực tuyến trên website
Hướng dẫn cài đặt
1.3.1 Công cụ cần thiết để lập trình
Hệ điều hành: Windows 7, Windows 8, Windows 10
Công cụ để lập trình: Xampp, Wordpress
- Tích chọn các mục muốn cài đặt
- Chọn ổ đĩa để cài đặt
- Chọn ngôn ngữ ứng dụng
Apache là phần mềm máy chủ web chịu trách nhiệm nhận yêu cầu từ trình duyệt người dùng, sau đó chuyển giao cho PHP để xử lý và gửi kết quả trở lại trình duyệt.
MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ, tương tự như PostgreSQL, Oracle và SQL Server, và đóng vai trò quan trọng trong việc lưu trữ và truy vấn dữ liệu hiệu quả.
Cách đổi cổng mạng cho Localhost
Mặc định, Localhost sử dụng cổng 80 để truy cập dữ liệu web Nếu cổng 80 đã bị chiếm dụng bởi ứng dụng khác hoặc Apache không khởi động được, bạn cần thay đổi cổng cho Apache sang cổng khác, chẳng hạn như 8080 Sau khi thay đổi, bạn sẽ truy cập website bằng địa chỉ http://localhost:8080 thay vì http://localhost Để thực hiện việc này, mở bảng điều khiển XAMPP, chọn nút Config của Apache, và sau đó chọn Apache (httpd.conf).
Sau đó thì tìm dòng: Đổi thành:
Để kiểm tra việc cấu hình Apache thành công, hãy dừng dịch vụ Apache và khởi động lại, sau đó truy cập vào localhost qua đường dẫn http://localhost:8080 Nếu bạn có thể truy cập được, điều đó có nghĩa là bạn đã thực hiện thành công Lưu ý rằng sau khi thay đổi cổng, bạn cần sử dụng đường dẫn có kèm theo số cổng đã thay đổi, vì mặc định, nếu không chỉ định, hệ thống sẽ sử dụng cổng 80.
Nếu bạn đã sử dụng tên miền ảo theo hướng dẫn, hãy chỉnh sửa tệp C:\xampp\apache\conf\extra\httpd-vhost.conf để chuyển sang sử dụng cổng 80 thay vì cổng 8080.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Khảo sát quy trình tác nghiệp
Qua quá trình khảo sát thu được một số kết quả sau:
Mỗi hệ thống bán hàng trực tuyến thường gồm 2 phần chính:
+ Phần thứ nhất là phần giao dịch với khách hàng trên Internet
+ Phần thứ hai dành cho nhân viên cửa hàng quản trị hệ thống
Mỗi phần có các chức năng con khác nhau phục vụ cho mục đích kinh doanh và quản lý của doanh nghiệp
2.1.1 Quy trình thực hiện mua hàng của khách hàng
Khách hàng duyệt ứng dụng trên trình duyệt Web
Trình duyệt sẽ hiển thị các sản phẩm và dịch vụ mà doanh nghiệp cung cấp, cho phép khách hàng dễ dàng duyệt theo các chủng loại đã được liệt kê Ngoài ra, khách hàng cũng có thể sử dụng chức năng tìm kiếm để tìm kiếm sản phẩm theo tên, giúp tiết kiệm thời gian và nâng cao trải nghiệm mua sắm.
Sau khi tìm hiểu và tham khảo thông tin về sản phẩm, khách hàng sẽ quyết định mua sản phẩm bằng cách thêm vào giỏ hàng Giỏ hàng chứa thông tin về các sản phẩm mà khách hàng dự định mua, cho phép họ thay đổi số lượng, thêm hoặc xóa sản phẩm Khách hàng có thể tiếp tục xem các sản phẩm khác hoặc tiến hành đặt hàng sau khi đã hoàn tất việc lựa chọn.
Để đặt hàng, khách hàng cần đăng nhập vào hệ thống; nếu chưa có tài khoản, họ sẽ được chuyển đến trang đăng ký Sau khi cung cấp thông tin giao hàng và thanh toán, nếu doanh nghiệp liên kết với ngân hàng để xây dựng hệ thống thanh toán trực tuyến, người dùng sẽ được dẫn đến trang thanh toán để nhập thông tin tài khoản hoặc thẻ ngân hàng Ngân hàng sẽ xử lý giao dịch dựa trên thông tin đó và gửi thông báo kết quả đến doanh nghiệp.
Sau khi cung cấp đầy đủ thông tin, khách hàng có thể xem lại và chỉnh sửa đơn hàng trước khi gửi Hệ thống sẽ thông báo xác nhận đơn hàng đã được gửi đi, và cửa hàng sẽ liên hệ với khách hàng để thảo luận về thanh toán và giao hàng Nếu khách hàng đồng ý, họ sẽ tiến hành thanh toán và cửa hàng sẽ giao hàng đến tay khách Quá trình mua hàng sẽ kết thúc sau khi giao hàng hoàn tất.
Khách hàng có thể thực hiện nhiều công việc khác nhau như gửi yêu cầu, góp ý, tải tài liệu điện tử miễn phí, tham khảo cước phí vận chuyển và thay đổi thông tin tài khoản.
Trang chủ của ứng dụng cần hiển thị các thông tin quan trọng như danh mục loại sách, sách mới phát hành, sách bán chạy Ngoài ra, cần có các chức năng như tìm kiếm, đăng ký, đăng nhập và xem giỏ hàng Thêm vào đó, việc cho phép đăng quảng cáo có thể giúp tăng thu nhập cho cửa hàng.
Giỏ hàng lưu trữ thông tin chi tiết về sản phẩm mà khách hàng chọn mua, bao gồm tên sản phẩm, số lượng đặt hàng, đơn giá và tổng trị giá Ngoài ra, giỏ hàng còn cho phép người dùng thực hiện các chức năng như thêm, xóa và cập nhật sản phẩm một cách dễ dàng.
Đơn đặt hàng bao gồm thông tin khách hàng như email, địa chỉ giao hàng, số điện thoại và phương thức thanh toán Ngoài ra, đơn hàng cũng ghi rõ thông tin sản phẩm, bao gồm tên sản phẩm, số lượng, đơn giá và tổng trị giá đơn hàng.
Hệ thống hỗ trợ nhiều phương thức thanh toán, bao gồm thanh toán trực tiếp, chuyển khoản qua ngân hàng và chuyển tiền qua bưu điện Khách hàng sẽ nhận được thông tin tài khoản của doanh nghiệp để thực hiện thanh toán trước khi nhận hàng.
Quy trình thực hiện quản trị hệ thống của nhân viên quản trị
Để truy cập vào chức năng quản trị hệ thống, Quản trị viên cần có tài khoản Sau khi đăng nhập, Quản trị viên có thể thực hiện nhiều chức năng quản lý khác nhau.
Quản trị danh mục các sản phẩm : Bao gồm các công việc thêm, xoá, cập nhật thông tin về các mặt hàng
Quản trị sản phẩm: Thêm, xóa và cập nhật thông tin về mỗi mặt hàng
Quản trị người dùng: Thêm, xoá, cập nhật thông tin về người dùng trong hệ thống
Quản trị đơn hàng: Xử lý các đơn đặt hàng của khách hàng, thanh toán và giao hàng với khách hàng
Quản trị khách hàng: Theo dõi thông tin về khách hàng, xóa khách hàng khỏi danh sách thành viên khi cần
Quản trị yêu cầu của khách hàng: Xử lý và phản hồi các yêu cầu mà khách hàng đã gửi
Quản lý thanh toán là quá trình sử dụng thông tin từ các hóa đơn đã thanh toán của khách hàng để thống kê tài chính theo từng tháng và từng quý.
Các thông tin vào, ra của hệ thống
2.3.1.Các thông tin đầu vào
Người quản trị cập nhật thông tin về sách và loại sách mà doanh nghiệp cung cấp, trong khi khách hàng cung cấp thông tin cá nhân và gửi ý kiến đóng góp để doanh nghiệp ngày càng hoàn thiện Các thông tin này bao gồm các dữ liệu cần thiết để nâng cao chất lượng dịch vụ và sản phẩm.
Các thông tin giới thiệu về hệ thống
Các thông tin về các mặt hàng
Các thông tin về khách hàng
Các thông tin về đơn hàng
Các bài viết, tin tức, thông tin khuyến mại
Các bài góp ý, ý kiến, hỏi đáp của khách hàng; bài trả lời,
2.3.2.Các thông tin đầu ra Đưa ra các thông tin cần thiết cho khách hàng ở mọi khía cạnh mà khách hàng quan tâm đến sản phẩm của công ty, đồng thời kiểm soát được hoạt động của công ty Đưa ra sản phẩm, tin tức khách hàng yêu cầu tìm kiếm, đưa ra sản phẩm mới nhất
Cho phép tra cứu, xem thông tin về từng mặt hàng
Cho phép khách hàng lựa chọn hàng, lựa chọn hình thức thanh toán và thanh toán qua đơn hàng
Đưa ra các hóa đơn thanh toán, khi giao hàng cho khách hàng
Cho phép tra cứu, tìm kiếm các thông tin về thành viên
Cho phép khách hàng đóng góp ý kiến, bình luận, đánh giá chất lượng của sản phẩm
Cho phép khách hàng đăng ký thành viên của website
Cho phép ban quản trị cập nhật các tin tức, bài viết, trả lời các ý kiến hỏi đáp của khách hàng
Cho phép ban quản trị cập nhật thông tin mỗi mặt hàng
Cho phép ban quản trị theo dõi thành viên, …
Biểu đồ Usecase
2.4.1.Nhận diện Tác nhân và Use Case
Hệ thống được phân chia thành hai phần: một phần phục vụ cho khách hàng mua sắm và một phần dành cho nhân viên quản trị để quản lý và cập nhật thông tin trên website.
Danh sách các tác nhân và Use Case:
Xem chi tiết sản phẩm
Xóa sản phẩm khỏi giỏ hàng
Cập nhật số lượng giỏ hàng
Hệ thống ngân hàng Thanh toán
Trong phần dành cho khách hàng gồm có Tác nhân Khách hàng và hệ thống ngân hàng, 2 Tác nhân này sẽ tham gia vào các Use Case sau :
Hình 2 1 Biểu đồ Use Case cho Tác nhân Khách hàng
Trong phần dành cho nhân viên quản trị có Tác nhân Adminitrator, Tác nhân này sẽ tham gia vào các Use Case sau :
Hình 2 2: Biểu đồ Use Case cho Tác nhân Adminitrator
2.4.2.Đặc tả các Use Case
Use Case Name Đăng kí thành viên
Description Mô tả cách thức khách hàng đăng ký trở thành thành viên chính thức của website
Trigger: Người dùng chọn vào nút “Đăng ký” trên màn hình
Pre-condition(s): ❖ Người dùng chưa có tài khoản trên hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng đăng ký tài khoản thành công
❖ Hệ thống ghi nhận lại thông tin đăng ký của người dùng
Basic Flow 1 Người dùng chọn chức năng đăng ký
2 Hệ thống hiển thị màn hình đăng ký
3 Người dùng nhập thông tin bao gồm: email, mật khẩu (không phải mật khẩu thực sự của email), họ tên, điện thoại và nhấn nút đăng ký
4 Hệ thống sẽ kiểm tra và thông báo đăng ký thành công
Exception Flow Đăng ký bị lỗi do trùng thông tin tài khoản hay nhập thông tin cá nhân thiếu hoặc không hợp lệ, khi đó:
4a Hệ thống thông báo thất bại 4a1 Người dùng chọn lệnh hủy và nhập lại thông tin cho đúng
Time out cho màn hình thêm mới là 60s
Use Case Name Đăng nhập
Description Mô tả cách thức khách hàng đăng nhập vào website
Trigger: Người dùng chọn vào nút “Đăng nhập” trên màn hình
Pre-condition(s): ❖ Người dùng có tài khoản trên hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng đăng nhập tài khoản thành công
Khách hàng bắt đầu quá trình đăng nhập bằng cách truy cập vào trang web và nhập địa chỉ email cùng mật khẩu của mình Sau khi nhấn nút đăng nhập, hệ thống sẽ tiến hành kiểm tra thông tin và nếu đúng, khách hàng sẽ được chuyển đến trang thông báo đã đăng nhập thành công vào hệ thống.
Trong trường hợp khách hàng nhập sai email hoặc mật khẩu, hệ thống sẽ thông báo lỗi Khách hàng có tùy chọn quay lại đầu dòng sự kiện chính hoặc hủy bỏ việc đăng nhập, và lúc này Use Case sẽ kết thúc.
Time out cho màn hình thêm mới là 60s
2.4.2.1.3.Use Case Cập nhật tài khoản
Use Case Name Cập nhật thông tin
Description Mô tả cách thức khách hàng cập nhật thông tin lên website
Trigger: Người dùng chọn vào nút “Đăng nhập” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng cập nhật thông tin thành công
Use Case Name Cập nhật thông tin
Basic Flow 1 Từ trang khách hàng đã đăng nhập Khách hàng nhấn vào nút cập nhật thông tin cá nhân
2 Hệ thống hiện thị trang thông tin cá nhân của khách hàng
3 Hệ thống sẽ kiểm tra thông tin nhập vào và thực hiện cập nhật
4 Hệ thống sẽ hiển thị thông báo cập nhật thành công
Nếu khách hàng nhập thông tin cập nhật sai, hệ thống sẽ thông báo lỗi Người dùng có tùy chọn quay lại đầu dòng sự kiện chính hoặc hủy cập nhật thông tin, dẫn đến việc kết thúc Use Case.
Time out cho màn hình thêm mới là 60s
2.4.2.1.4.Use Case Khôi phục mật khẩu
Use Case Name Khôi phục mật khẩu
Description Mô tả cách thức khách hàng khôi phục lại mật khẩu tài khoản mà khách hàng đăng ký trên website
Trigger: Người dùng chọn vào nút “Quên mật khẩu” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng khôi phục lại mật khẩu thành công
Basic Flow 1 Từ trang web khách hàng nhấn vào nút quên mật khẩu
2 Hệ thống sẽ hiển thị trang quên mật khẩu
3 Khách hàng nhập vào địa chỉ email và nhấn nút gửi
4 Sau đó hiển thị thông báo thành công
Exception Flow Nếu khách hàng nhập email không đúng hoặc lỗi trong quá trình gửi mail thì hệ thống sẽ hiển thị một thông báo lỗi
Use Case Name Khôi phục mật khẩu
Khách hàng có thể chọn trở về dòng sự kiện chính hoặc hủy bỏ lấy lại mật khẩu, lúc này Use Case kết thúc
Time out cho màn hình thêm mới là 60s
2.4.2.1.5 Use Case Gửi yêu cầu
Use Case Name Gửi phản hồi
Description Mô tả cách thức khách hàng gửi phản hồi tới website
Trigger: Người dùng chọn vào nút “Liên hệ” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng gửi phản hồi thành công
Basic Flow 1 Từ trang web khách hàng nhấn vào nút liên hệ
2 Hệ thống sẽ hiển thị ra trang liên hệ
3 Khách hàng nhập thông tin mà hệ thống yêu cầu và nhấn nút gửi
4 Hệ thống lưu yêu cầu vào cơ sở dữ liệu và hiển thị thông báo gửi thành công
Trong trường hợp khách hàng nhập thông tin không hợp lệ, hệ thống sẽ hiển thị thông báo lỗi Khách hàng có tùy chọn để quay lại dòng sự kiện chính hoặc hủy bỏ, và quá trình sử dụng trường hợp sẽ kết thúc.
Time out cho màn hình thêm mới là 60s
2.4.2.1.6 Use Case Tìm kiếm danh mục
Use Case Name Tìm kiếm theo loại sản phẩm
Description Mô tả cách thức khách hàng khôi phục lại mật khẩu tài khoản mà khách hàng đăng ký trên website
Trigger: Người dùng chọn vào loại sản phẩm cần tìm
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng tìm kiếm loại sản phẩm thành công
Từ giao diện chính của hệ thống, khách hàng chỉ cần nhấn vào tên loại sách mà họ muốn tìm kiếm Danh sách các loại sản phẩm sẽ được hiển thị trong menu bên trái của màn hình.
2 Hệ thống hiển thị danh sách các sản phẩm
Time out cho màn hình thêm mới là 60s
2.4.2.1.7 Use Case Tìm kiếm sản phẩm
Use Case Name Tìm kiếm theo tên sản phẩm
Description Mô tả cách thức khách hàng tìm tiếm theo tên sản phẩm
Trigger: Người dùng chọn vào nút “search” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng tìm kiếm sản phẩm thành công
Basic Flow 1 Từ trang web, khách hàng chọn loại sản phẩm và nhập tên sản phẩm vào Form tìm kiếm và nhấn nút tìm
2 Hệ thống thực hiện tìm kiếm và hiển thị trang thông tin các sản phẩm tương ứng với tên sản phẩm người dùng đã nhập
Time out cho màn hình thêm mới là 60s
2.4.2.1.8.Usecase Xem chi tiết sản phẩm
Use Case Name Xem chi tiết sản phẩm
Description Mô tả cách thức khách hàng xem chi tiết sản phẩm
Trigger: Người dùng chọn vào nút “Chi tiết” trên màn hình
Pre-condition(s): ❖Người dùng đăng nhập thành công vào hệ thống
❖Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖Người dùng xem chi tiết sản phẩm thành công
Basic Flow 1 Từ trang liệt kê danh sách các cuốn sách, khách hàng nhấn vào nút "chi tiết"
2 Hệ thống hiển thị trang thông tin chi tiết về sản phẩm
Time out cho màn hình thêm mới là 60s
2.4.2.1.9.Use Case Thêm vào giỏ hàng
Use Case Name Thêm sản phẩm vào giỏ hàng
Description Mô tả cách thức khách hàng thêm sản phẩm vào giỏ hàng
Trigger: Người dùng chọn vào nút “thêm vào giỏ hàng” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng thêm sản phẩm vào giỏ hàng thành công
Basic Flow 1 Từ trang liệt kê danh sách các mặt hàng hoặc trang chi tiết về sản phẩm, khách nhấn vào nút thêm vào giỏ hàng
2 Hệ thống thêm sản phẩm vào trong giỏ hàng với số lượng là 1 và hiển thị giỏ hàng
Nếu số lượng sản phẩm trong kho bằng 0, hệ thống sẽ thông báo rằng sản phẩm đã hết hàng Khách hàng có thể lựa chọn mua sản phẩm khác hoặc kết thúc phiên giao dịch của mình.
Time out cho màn hình thêm mới là 60s
2.4.2.1.10.Use Case xóa sản phẩm khỏi giỏ hàng
Use Case Name Xóa sản phẩm khỏi giỏ hàng
Description Mô tả cách thức khách hàng xóa sản phẩm khỏi giỏ hàng
Trigger: Người dùng chọn vào nút “Liên hệ” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng xóa sản phẩm khỏi giỏ hàng thành công
Basic Flow 1 Từ trang giỏ hàng khách hàng chọn sản phẩm và nhấn nút xóa
2 Hệ thống cập nhật lại giỏ hàng
Time out cho màn hình thêm mới là 60s
2.4.2.1.11.Use Case cập nhật số lượng sản phẩm trong giỏ hàng
Use Case Name Cập nhật số lượng trong giỏ hàng
Description Mô tả cách thức khách hàng cập nhật số lượng cho giỏ hàng
Trigger: Người dùng chọn vào nút “cập nhật” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng gửi cập nhật số lượng thành công
Basic Flow 1 Từ trang giỏ hàng khách hàng chọn sản phẩm và nhập vào số lượng sản phẩm cần cập nhật Sau đó nhấn vào nút cập nhật
2 Hệ thống sẽ cập nhật lại số lượng sản phẩm trong giỏ hàng
Nếu khách hàng nhập số lượng vượt quá số sản phẩm có sẵn trong kho, hệ thống sẽ hiển thị thông báo lỗi Khách hàng có tùy chọn quay lại dòng sự kiện chính hoặc hủy bỏ cập nhật, và tại thời điểm này, Use Case sẽ kết thúc.
Time out cho màn hình thêm mới là 60s
2.4.2.1.12.Use Case xem đơn hàng
Use Case Name Xem giỏ hàng
Description Mô tả cách thức khách hàng xem giỏ hàng
Trigger: Người dùng chọn vào nút “giỏ hàng” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng xem giỏ hàng thành công
Basic Flow 1 Từ trang web khách hàng nhấn vào nút giỏ hàng
2 Hệ thống hiển thị giỏ hàng của khách hàng
Time out cho màn hình thêm mới là 60s
Use Case Name Đặt hàng
Description Mô tả cách thức khách hàng đặt hàng sau khi đã tìm được những sản phẩm mình cần và thêm chúng vào giỏ hàng
Trigger: Người dùng chọn vào nút “Liên hệ” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Basic Flow 1 Từ trang thông tin về giỏ hàng khách hàng nhấn vào nút thanh toán
2 Hệ thống hiển thị trang đơn hàng yêu cầu khách hàng nhập vào địa chỉ giao hàng và chọn phương thức thanh toán
3 Hệ thống hiển thị thông tin hướng dẫn về phương thức thanh toán mà khách hàng lựa chọn
4 Khách hàng nhấn nút đồng ý thanh toán
5 Hệ thống sẽ hiển thị trang thông báo đặt hàng thành công
Khi khách hàng chưa đăng nhập và thực hiện nhấn nút thanh toán trong dòng sự kiện chính, hệ thống sẽ tự động chuyển hướng đến trang đăng ký làm thành viên để đảm bảo quá trình thanh toán được thực hiện một cách trơn tru và an toàn.
2 Khách hàng đăng ký làm thành viên
3 Hệ thống hiển thị trang đơn hàng
Time out cho màn hình thêm mới là 60s
2.4.2.1.14.Use Case xem đơn hàng đã đặt
Use Case Name Xem lại đơn hàng đã đặt
Description Mô tả cách thức khách hàng xem lại đơn hàng mình đã đặt
Trigger: Người dùng chọn vào nút “Liên hệ” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng xem lại đơn đặt hàng thành công
Basic Flow 1 Từ trang Web khách hàng nhấn vào nút xem đơn đặt hàng
2 Hệ thống hiển thị danh sách các đơn đặt hàng mà khách hàng đã đặt trước đó
Time out cho màn hình thêm mới là 60s
2.4.2.1.15.Use Case Quản lý danh mục
Use Case Name Quản lý danh mục
Description Mô tả cách thức người quản trị quản lý danh mục loại sản phẩm như: thêm, xóa, cập nhật danh mục
Trigger: Người dùng chọn vào nút “Quản lý danh mục” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng truy cập được vào trang quản lý danh mục
Basic Flow 1 Từ trang admin, quản trị viên nhấn nút quản lý danh mục sản phẩm
2 Hệ thống hiển thị trang quản lý loại sản phẩm Quản trị viên chọn chức năng phù hợp
3 Chọn chức năng thêm loại sản phẩm : quản trị viên phải nhập mã và tên sản phẩm và nhấn nút thêm
4 Chọn chức năng xóa sản phẩm: quản trị viên chọn loại sản phẩm cần xóa và nhấn nút xóa
5 Chọn chức năng cập nhật loại sản phẩm : quản trị viên cập nhật thông tin của một loại sản phẩm và nhấn nút cập nhật
6 Hệ thống hiển thị thông báo thành công tương ứng
Trong trường hợp người quản trị nhập thông tin không chính xác, hệ thống sẽ hiển thị thông báo lỗi tương ứng Người quản trị có quyền quay lại bước 2 của luồng sự kiện chính hoặc hủy bỏ quá trình thêm, xóa, cập nhật danh mục Khi đó, Use Case sẽ kết thúc.
Time out cho màn hình thêm mới là 60s
2.4.2.1.16.Use Case Quản lý sản phẩm
Use Case Name Quản lý sản phẩm
Description Mô tả cách thức người quản trị quản lý danh mục loại sản phẩm như: thêm, xóa, cập nhật thông tin về sản phẩm
Trigger: Người dùng chọn vào nút “Quản lý sản phẩm” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng truy cập được vào trang quản lý sản phẩm
Basic Flow 1 Từ trang admin, quản trị viên nhấn vào nút quản lý sản phẩm
2 Hệ thống hiển thị trang quản lý sản phẩm Quản trị viên chọn chức năng phù hợp
3 Chọn chức năng thêm sản phẩm: quản trị viên phải nhập đầy đủ thông tin về sản phẩm và nhấn nút thêm
4 Chọn chức năng xóa 1 sản phẩm: quản trị viên chọn sách cần xóa và nhấn nút xóa
5 Chọn chức năng cập nhật thông tin sản phẩm: quản trị viên sửa thông tin về sản phẩm và nhấn nút cập nhật
6 Hệ thống hiển thị thông báo thành công tương ứng
Trong trường hợp người quản trị nhập thông tin không chính xác, hệ thống sẽ hiển thị thông báo lỗi phù hợp Người quản trị có tùy chọn quay lại bước 2 của luồng sự kiện chính hoặc hủy bỏ quá trình thêm, xóa, hoặc cập nhật thông tin sản phẩm, dẫn đến việc kết thúc Use Case.
Time out cho màn hình thêm mới là 60s
2.4.2.1.17.Use Case Quản lý người dùng
Use Case Name Quản lý User
Description Mô tả cách thức người quản trị quản lý người sử dụng như: thêm, xóa, cập nhật thông tin User
Trigger: Người dùng chọn vào nút “Quản lý user” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng truy cập được vào trang quản lý user
Basic Flow 1 Từ trang admin, quản trị viên nhấn vào nút quản lý User
2 Hệ thống hiển thị trang quản lý User Quản trị viên chọn chức năng phù hợp
3 Chọn chức năng thêm User: quản trị viên phải nhập các thông tin về người sử dụng và nhấn nút thêm
4 Chọn chức năng xóa User: quản trị viên chọn User cần xóa và nhấn nút xóa
5 Chọn chức năng cập nhật User: quản trị viên sửa thông tin về User và nhấn nút cập nhật
6 Hệ thống hiển thị thông báo thành công tương ứng
Exception Flow Nếu người quản trị đưa thông tin vào không đúng thì hệ thống sẽ thông báo lỗi tương ứng Người quản trị có thể trở về bước
2 của luồng sự kiện chính hoặc hủy bỏ quá trình thêm, xóa, cập nhật User, lúc này Use Case kết thúc
Time out cho màn hình thêm mới là 60s
2.4.2.1.18.Use Case Quản lý thanh toán
Use Case Name Quản lý User
Người quản trị có thể quản lý thông tin thanh toán của đơn hàng bằng cách thêm mới hóa đơn và xem các hóa đơn đã phát hành Những hóa đơn này sẽ giúp người quản trị tổng kết tài chính một cách hiệu quả.
Trigger: Người dùng chọn vào nút “Quản lý user” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng truy cập được vào trang quản lý payment
Basic Flow 1 Từ trang admin, quản trị viên nhấn vào nút quản lý
2 Hệ thống hiển thị trang quản lý Payment liệt kê danh sách các đơn hàng của khách hàng
3 Quản trị viên có thể thêm mới Payment từ giao diện chính của trang quản lý Payment
4 Hệ thống hiển thị kết quả cập nhật
Time out cho màn hình thêm mới là 60s
2.4.2.1.19.Use Case Quản lý yêu cầu
Use Case Name Quản lý yêu cầu
Description Mô tả cách thức người quản trị quản lý các yêu cầu của khách hàng như: xem và trả lời yêu cầu
Trigger: Người dùng chọn vào nút “Quản lý yêu cầu” trên màn hình
Pre-condition(s): ❖Người dùng đăng nhập thành công vào hệ thống
❖Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖Người dùng truy cập được vào trang quản lý yêu cầu
Basic Flow 1 Từ trang admin, quản trị viên nhấn vào nút quản lý Request
2 Hệ thống hiển thị trang quản lý Request liệt kê danh sách các yêu cầu của khách hàng
3 Quản trị viên đọc yêu cầu, nhập vào thông tin trả lời và nhấn nút Send để gửi câu trả lời tới email của khách hàng
4 Hệ thống hiển thị thông báo thành công
Exception Flow Nếu người quản trị đưa thông tin vào không đúng hoặc lỗi trong quá trình gửi mail thì hệ thống sẽ thông báo lỗi tương ứng
Time out cho màn hình thêm mới là 60s
2.4.2.2 Use Case quản lý Khách hàng:
Use Case Name Quản lý khách hàng
Description Mô tả cách thức người quản trị quản lý khách hàng của hệ thông như: theo dõi và xóa Khách hàng khi cần thiết
Trigger: Người dùng chọn vào nút “Quản lý khách hàng” trên màn hình
Pre-condition(s): ❖ Người dùng đăng nhập thành công vào hệ thống
❖ Thiết bị của người dùng đã được kết nối internet khi thực hiện
Post-condition(s): ❖ Người dùng truy cập được vào trang quản lý khách hàng
Basic Flow 1 Từ trang admin, quản trị viên nhấn vào nút quản lý Khách hàng
2 Hệ thống hiển thị trang quản lý Khách hàng Quản trị viên chọn chức năng phù hợp
3 Chọn chức năng theo dõi khách hàng: quản trị viên tìm kiếm khách hàng theo dõi thông tin
4 Chọn chức năng xóa khách hàng: quản trị viên chọn khách hàng cần xóa và nhấn nút xóa
5 Hệ thống hiển thị thông báo thành công tương ứng
Exception Flow Nếu người quản trị đưa thông tin vào không hợp lệ thì hệ thống sẽ thông báo lỗi tương ứng
Time out cho màn hình thêm mới là 60s
2.4.3.1 Biểu đồ tuần tự của khách hàng
Khách hàng tìm kiếm theo tên sản phẩm
Hình 2 3: Biểu đồ Trình tự cho tác vụ Tìm kiếm theo tên sản phẩm
Khách hàng xem chi tiết sản phẩm
Hình 2 4: Biểu đồ Trình tự cho tác vụ xem chi tiết sản phẩm
Khách hàng thêm sản phẩm vào giỏ hàng
Hình 2 5: Biểu đồ Trình tự cho tác vụ thêm sản phẩm vào đơn hàng
Xóa hàng trong đơn hàng
Hình 2 6: Biểu đồ Trình tự cho tác vụ xóa hàng trong đơn hàng
Khách hàng gửi yêu cầu
Hình 2 7: Biểu đồ Trình tự cho tác vụ gửi yêu cầu của khách hàng
Khách hàng xem lại đơn hàng
Hình 2 8: Biểu đồ Trình tự cho tác vụ xem lại đơn đặt hàng
2.4.3.2 Biểu đồ tuần tự của quản trị viên
Quản trị viên đăng nhập hệ thống
Hình 2 9: Biểu đồ Trình tự cho tác vụ Quản trị viên đăng nhập
Hình 2 10: Biểu đồ Trình tự cho tác vụ Thêm danh mục
Quản trị viên Xóa danh mục
Hình 2 11: Biểu đồ Trình tự cho tác vụ Xóa loại sản phẩm
Quản trị viên Cập nhật danh mục
Hình 2 12: Biểu đồ Trình tự cho tác vụ Cập nhật danh mục
Quản trị viên Thêm sản phẩm mới
Hình 2 13: Biểu đồ Trình tự cho tác vụ Thêm sản phẩm mới
Quản trị viên Xóa 1 sản phẩm
Hình 2 14: Biểu đồ Trình tự cho tác vụ Xóa 1 sản phẩm
Quản trị viên Cập nhật thông tin sản phẩm
Hình 2 15: Biểu đồ Trình tự cho tác vụ Cập nhật sản phẩm
Quản trị viên Xử lý yêu cầu của khách hàng
Hình 2 16: Biểu đồ Trình tự cho tác vụ xử lý yêu cầu
Hình 2 17: Biểu đồ Trình tự cho tác vụ cập nhật đơn hàng
2.4.3.3 Thiết kế cơ sở dữ liệu
2.4.3.3.1 Danh sách các bảng dữ liệu
1 Danh mục các loại sản phẩm
2 Danh sách các sản phẩm
4 Danh sách khách hàng thành viên
5 Danh sách các đơn đặt hàng
6 Chi tiết đơn đặt hàng
8 Danh sách quản trị viên(User)
2.4.3.3.2 Chi tiết các bảng dữ liệu
Thuộc tính Kiểu dữ liệu Ghi chú
Email nvarchar (50) Địa chỉ nvarchar (50) Điện thoại nvarchar (20)
Trạng thái Nvarchar(50) Đơn Hàng
Thuộc tính Kiểu dữ liệu Ghi chú
Mã đơn đặt hàng int identity(1,1) Khóa chính
Tình trạng đơn đặt hàng nvarchar (50)
Thuộc tính Kiểu dữ liệu Ghi chú
Mã DH nvarchar (20) Khóa chính
Số lượng int(4) Đơn giá int(4)
Thuộc Tính Kiểu dữ liệu Ghi chú
Mã SP int identity(1,1) Khóa chính
Thuộc tính Kiểu dữ liệu Ghi chú
IDAdmin nvarchar (50) Khóa chính Taikhoan nvarchar (20)
Mật khẩu nvarchar (50) Khóa ngoại
Họ tên nvarchar (50) Trạng thái nvarchar (50)
2.4.3.3.3 Mô hình quan hệ cơ sở dữ liệu
Hình 2.18 : Mô hình quan hệ CSDL
XÂY DỰNG WEBSITE BÁN QUẦN ÁO TRÊN WORDPRESS
Bối cảnh chọn đề tài
Xã hội ngày càng phát triển cùng với sự bùng nổ của công nghệ thông tin đã làm thay đổi hình thức kinh doanh Trước đây, việc mua bán chỉ diễn ra trực tiếp do thiếu các công cụ hỗ trợ Tuy nhiên, với sự tiến bộ của khoa học công nghệ, hình thức mua bán trực tuyến đã ra đời, giúp người kinh doanh tiếp cận nhiều khách hàng hơn Hình thức này không chỉ mang lại sự tiện lợi và nhanh chóng cho khách hàng mà còn tiết kiệm thời gian cho cả hai bên trong quá trình giao dịch.
Thương Mại Điện Tử (TMĐT) đang trở thành một yếu tố quan trọng trong sự phát triển kinh tế của nhiều quốc gia TMĐT mang lại lợi ích đáng kể, bao gồm việc cung cấp thông tin phong phú về thị trường và đối tác, giảm chi phí marketing và giao dịch, cũng như xây dựng và củng cố mối quan hệ dịch vụ.
Việc thuê hàng qua mạng với thủ tục đăng ký đơn giản mang lại nhiều lợi ích như tiết kiệm thời gian và tránh những phiền phức không cần thiết Do đó, mua bán hàng trực tuyến đang ngày càng thu hút sự quan tâm của mọi người Dựa trên kiến thức học được và kinh nghiệm thực tế từ việc tìm hiểu các website, tôi đã quyết định chọn đề tài “Xây dựng website bán quần áo trên WordPress”.
Phục vụ tốt hơn nhu cầu của khách hàng và quản lý của công ty trong hoạt động kinh doanh
Khách hàng chỉ cần các thao tác đơn giản trên website là có thể đặt hàng được ngay.
Mục đích và ý nghĩa của đề tài
Website bán hàng chạy trên nền tảng WordPress được thực hiện với 2 mục đích chính như sau:
Thứ nhất là nghiên cứu các plugins với WordPress
Phát triển website với tính thực tiễn cao là rất quan trọng, giúp người tiêu dùng dễ dàng thao tác và mua sắm một cách tiện lợi.
Dựa trên nền tảng lý thuyết từ thầy cô và sự tìm hiểu công nghệ cá nhân, tôi hy vọng sẽ đạt được mục tiêu mong đợi.
Đề tài “Xây dựng website bán quần áo trên WordPress” là một ứng dụng thể hiện việc áp dụng kiến thức quý báu từ các thầy cô tại trường Đại học Hải Phòng.
Kinh nghiệm quý báu từ quá trình thực hiện đề tài sẽ là hành trang tuyệt vời, hỗ trợ đáng kể cho công việc tương lai của tôi.
Trong thời đại công nghệ thông tin phát triển nhanh chóng, việc cập nhật và áp dụng các công nghệ mới là điều cần thiết đối với lập trình viên Sự nỗ lực của tôi trong việc thực hiện đề tài này phản ánh mong muốn áp dụng những công nghệ tiên tiến, được dự báo sẽ phát triển mạnh mẽ trong tương lai Tôi hy vọng sẽ tạo ra một sản phẩm hoàn chỉnh nhất, đáp ứng sự hỗ trợ nhiệt tình từ thầy cô và thể hiện tâm huyết của bản thân trong quá trình thực hiện.
Thiết kế giao diện WordPress cho website bán quần áo
Hình 3 1 Giao diện trang chủ
Hình 3 2 Giao diện cửa hàng 3.3.3 Giao diện đăng nhập
Hình 3 3 Giao diện đăng nhập
Hình 3 4 Giao diện blog 3.3.5 Giao diện giỏ hàng
Hình 3 5 Giao diện giỏ hàng
Hình 3 6 Giao diện thanh toán