Bối cảnh và vấn đề nghiên cứu
Sự phát triển của công nghệ thông tin đã tác động sâu rộng đến nhiều lĩnh vực trong đời sống kinh tế - xã hội, trong đó thương mại điện tử nổi lên như một phương thức giao dịch hiện đại giúp việc mua bán hàng hóa diễn ra nhanh chóng, chính xác và thuận tiện. Mua sắm trực tuyến giúp người tiêu dùng chủ động lựa chọn hàng hóa mà không bị giới hạn bởi không gian, thời gian hay khoảng cách địa lý, đồng thời giảm thiểu áp lực xếp hàng chờ đợi so với phương thức mua sắm truyền thống. Theo số liệu khảo sát toàn cầu từ Công ty Nielsen được tác giả trích dẫn trong văn bản, hơn 85% dân số trên thế giới đã sử dụng Internet để mua sắm hàng hóa, ghi nhận mức tăng 40% so với hai năm trước đó, và hơn 50% số người dùng Internet duy trì thói quen mua hàng trực tuyến thường xuyên.
Xuất phát từ bối cảnh thực tiễn đó, đồ án tốt nghiệp của tác giả tại Trường Đại học Phương Đông lựa chọn đề tài nghiên cứu và phát triển phần mềm quản lý bán hàng trực tuyến nhằm hỗ trợ cả người tiêu dùng lẫn đơn vị kinh doanh tối ưu hóa chi phí thuê mặt bằng, quản trị danh mục bài đăng và xử lý đơn hàng nhanh chóng thông qua các thiết bị có kết nối Internet.
Mục tiêu cụ thể của đồ án là xây dựng hoàn chỉnh ứng dụng quản lý bán hàng nông sản trực tuyến (Greeny shop) trên nền tảng Spring, phân tách rõ ràng thành hai phân hệ: cổng thông tin mua sắm dành cho người tiêu dùng và hệ thống quản trị dành cho người quản lý.
Nhiệm vụ nghiên cứu được văn bản phân định thành các nội dung cụ thể:
- Tìm hiểu các mô hình thương mại điện tử và các mô hình quản lý bán hàng hiện hành.
- Tìm hiểu cách thức vận hành của hệ thống website trên môi trường mạng Internet.
- Nghiên cứu các công nghệ phần mềm liên quan để xây dựng website thương mại điện tử.
- Xây dựng website bán hàng đáp ứng các chức năng nghiệp vụ:
- Hiển thị và phân loại danh mục sản phẩm, xem thông tin chi tiết từng sản phẩm.
- Tìm kiếm sản phẩm nhanh chóng theo tên và thương hiệu.
- Đăng ký, đăng nhập và bảo mật thông tin tài khoản người dùng với Spring Security.
- Thêm sản phẩm vào giỏ hàng, thiết lập danh sách sản phẩm yêu thích.
- Xử lý đặt hàng và cung cấp hai phương thức thanh toán: thanh toán khi nhận hàng (Ship COD) và thanh toán trực tuyến qua cổng PayPal.
- Gửi thư điện tử (email) tự động tương tác với khách hàng.
- Quản lý dữ liệu quản trị: sản phẩm, thể loại sản phẩm, thông tin khách hàng.
- Tiếp nhận, xử lý, xác nhận đơn hàng và trích xuất dữ liệu đơn hàng ra tệp Excel.
- Thống kê doanh số và sản phẩm theo năm, theo tháng, theo từng mặt hàng và thể loại.
Đối tượng nghiên cứu của đồ án là nhóm khách hàng có nhu cầu giao dịch, mua sắm hàng hóa nông sản qua mạng Internet. Phạm vi nghiên cứu bao quát các khía cạnh kỹ thuật phần mềm bao gồm: quy trình mua hàng trực tuyến; cơ chế giao tiếp giữa trình duyệt và máy chủ web qua giao thức HTTP; lập trình ứng dụng bằng ngôn ngữ Java; ứng dụng Spring Framework (Spring Boot, Spring MVC, Spring Security); hệ quản trị cơ sở dữ liệu quan hệ MySQL; cơ chế xác thực phân quyền Stateless qua chuẩn JSON Web Token (JWT); thuật toán mã hóa mật khẩu BCrypt; mã hóa tệp dữ liệu sang Base64; và quy trình đóng gói, triển khai ứng dụng trên máy chủ ảo (VPS) trong môi trường thực tế.
Cơ sở lý thuyết và phương pháp
Văn bản hệ thống hóa các khái niệm nền tảng về hệ thống website, bắt đầu từ sự kiện Tim Berners-Lee khởi chạy trang web đầu tiên vào ngày 21/12/1990 tại CERN trên máy chủ NeXT với tên miền info.cern.ch, tiếp nối bởi sự ra đời của trình duyệt Mosaic (1993) và tổ chức W3C (1994). Tác giả phân tích mô hình truyền tải dữ liệu giữa máy khách và máy chủ web thông qua giao thức HTTP, đồng thời phân biệt hai mô hình website cơ bản:
| Tiêu chí |
Website tĩnh (Static Web) |
Website động (Dynamic Web) |
| Công nghệ cấu thành |
HTML, CSS, JavaScript thuần |
HTML, CSS, JS kết hợp ngôn ngữ back-end (Java, PHP, ASP) và CSDL (MySQL, SQL Server) |
| Tính tương tác |
Cố định, người dùng hầu như không thể tương tác dữ liệu |
Tương tác hai chiều, nội dung thay đổi linh hoạt theo ngữ cảnh và người dùng |
| Quản trị nội dung |
Khó nâng cấp, bảo trì; sửa trực tiếp trên mã nguồn |
Có trang quản trị riêng (Admin panel), quản lý dữ liệu dễ dàng |
| Chi phí & Nhân lực |
Chi phí thấp, không đòi hỏi nhân sự quản trị chuyên môn cao |
Chi phí đầu tư cao hơn, yêu cầu nhân sự phát triển có trình độ chuyên môn |
| Ứng dụng phù hợp |
Trang giới thiệu công ty, hồ sơ năng lực, giới thiệu sản phẩm tĩnh |
Hệ thống bán hàng, cổng dịch vụ, tin tức, đào tạo trực tuyến |
Về mặt công nghệ giao diện, nghiên cứu trình bày:
- HTML/HTML5: Ngôn ngữ đánh dấu siêu văn bản do W3C chuẩn hóa, phiên bản HTML5 (2014) bổ sung các thẻ đa phương tiện
<audio>, <video>, <section>, <article>.
- CSS: Ngôn ngữ định dạng thành phần web dựa trên cấu trúc Selector, Property và Value qua hai phương thức nhúng Inline Styles và External Styles.
- Bootstrap: Framework do Mark Otto và Jacob Thornton phát triển tại Twitter, công bố mã nguồn mở năm 2011, hỗ trợ thiết kế giao diện chuẩn Responsive tương thích đa thiết bị.
- JavaScript (JS): Ngôn ngữ kịch bản ra đời năm 1995 bởi Brendan Eich (Netscape), chuẩn hóa thành ECMAScript, xử lý sự kiện tương tác phía Client và hỗ trợ kết nối phía Server.
Về nền tảng xử lý phía máy chủ (Back-end) và lưu trữ dữ liệu:
- Ngôn ngữ Java: Phát triển bởi James Gosling tại Sun Microsystems (1991), công bố năm 1995 và thuộc quyền sở hữu của Tập đoàn Oracle từ năm 2010. Ngôn ngữ hoạt động theo triết lý "Write Once, Run Anywhere" qua máy ảo JVM, hỗ trợ 12 đặc tính cốt lõi (Đơn giản, Hướng đối tượng, Độc lập nền tảng, Bảo mật, Kiến trúc trung lập, Khả chuyển, Hiệu suất cao, Đa luồng, Phân tán, Thông dịch...). Hệ sinh thái bao gồm JVM, Java API, JRE và JDK.
- Hệ sinh thái Spring: Framework do Rod Johnson khởi xướng năm 2002, cấp phép Apache 2.0 năm 2003. Khung ứng dụng phân chia thành các phân hệ chính: Spring Core, Spring Context, Spring AOP, Spring DAO, Spring ORM, Spring Web và Spring MVC.
- Spring Boot: Module cung cấp khả năng phát triển ứng dụng nhanh (RAD), tự động hóa cấu hình mà không cần tệp cấu hình XML, tích hợp sẵn máy chủ nhúng Tomcat/Jetty và quản lý thư viện phụ thuộc qua Apache Maven.
- Hệ quản trị cơ sở dữ liệu MySQL: RDBMS nguồn mở hoạt động theo mô hình Client - Server, khởi xướng năm 1994 bởi MySQL AB, chuyển giao qua Sun Microsystems (2008) và Oracle (2010), trải qua các phiên bản 5.5 (2010), 5.6 (2013), 5.7 (2015) và 8.0 (2019).
- Chuẩn JSON Web Token (JWT): Chuẩn mở RFC 7519 phục vụ trao đổi thông tin và xác thực phi trạng thái (Stateless Authentication). Chuỗi token gồm 3 phần ngăn cách bởi dấu chấm: Header (thuật toán HS256/RSA, loại token JWT), Payload (chứa các Reserved claims như
iss, iat, exp, sub, aud, jti, Public claims và Private claims) và Chữ ký số (Signature) được tạo qua hàm băm HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret).
Phương pháp nghiên cứu thực tế bao gồm phương pháp khảo sát thực tế và phân tích thiết kế hệ thống phần mềm:
- Phương pháp khảo sát: Tác giả tiến hành thu thập ý kiến người dùng về các yêu cầu thiết yếu khi mua hàng trực tuyến (tài khoản, kiểm tra đơn hàng, lọc sản phẩm, chăm sóc khách hàng). Đồng thời, tác giả khảo sát điển hình hệ thống sàn thương mại điện tử Lazada.vn (hoạt động tại Việt Nam từ năm 2012) để rút ra các chức năng chuẩn mực về trải nghiệm mua hàng, phân cấp ngành hàng và các hình thức thanh toán trực tuyến.
- Phương pháp mô hình hóa hướng đối tượng (UML): Sử dụng các sơ đồ chuẩn để mô hình hóa yêu cầu và cấu trúc hệ thống: Sơ đồ ca sử dụng (Use-case Diagram), Sơ đồ hoạt động (Activity Diagram), Sơ đồ tuần tự (Sequence Diagram), Sơ đồ thành phần (Component Diagram) và Sơ đồ triển khai (Deployment Diagram).
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình kiến trúc Model - View - Controller (MVC), phân tách độc lập các tầng xử lý nghiệp vụ, giao diện và truy xuất dữ liệu:
- Model: Quản lý trạng thái dữ liệu, thực hiện các thao tác logic nghiệp vụ và tương tác với cơ sở dữ liệu MySQL thông qua tầng dịch vụ (Service) và đối tượng truy cập dữ liệu (DAO).
- View: Tiếp nhận dữ liệu được chuyển giao từ Model để biểu diễn trực quan cho người dùng qua các trang HTML/JSP kết hợp định dạng CSS và Bootstrap.
- Controller: Tiếp nhận các yêu cầu gửi đến từ máy khách, điều hướng luồng xử lý tới các lớp dịch vụ nghiệp vụ tương ứng và chỉ định khuôn mẫu hiển thị (View) trả về.
Luồng điều phối xử lý trong Spring MVC vận hành xoay quanh thành phần trung tâm DispatcherServlet:
- Khi máy khách gửi một HTTP Request,
DispatcherServlet tiếp nhận và tra cứu HandlerMapping để xác định Controller phù hợp.
HandlerMapping ánh xạ yêu cầu tới phương thức xử lý trong Controller. Controller thực thi logic thông qua các lớp Service, xử lý dữ liệu và gửi tên View đại diện kèm Model về cho DispatcherServlet.
DispatcherServlet sử dụng bộ giải quyết giao diện ViewResolver để định vị tệp giao diện cụ thể.
- Khi quá trình phân giải hoàn tất,
DispatcherServlet truyền tải Model vào View để kết xuất giao diện hoàn chỉnh gửi về trình duyệt của người dùng.
Hạ tầng bảo mật và phân quyền được thiết lập trên nền tảng Spring Security:
- Quá trình xác thực (Authentication) và cấp quyền (Authorization) quản lý qua các giao diện cốt lõi:
SecurityContext, UserDetails, UserDetailsService và tập hợp đối tượng quyền hạn GrantedAuthority (gán định danh tiền tố chuẩn như ROLE_ADMIN, ROLE_MEMBER).
- Cơ chế xác thực người dùng triển khai theo mô hình Stateless bằng JWT. Sau khi đăng nhập thành công, máy chủ phát hành token JWT về trình duyệt; các yêu cầu truy cập tài nguyên bảo mật tiếp theo bắt buộc đính kèm chuỗi mã trong tiêu đề HTTP
Authorization: Bearer <token>.
- Mật khẩu người dùng được bảo vệ bằng thuật toán mã hóa một chiều BCrypt. Các tệp tin hình ảnh tải lên được mã hóa và lưu trữ dưới dạng chuỗi Base64.
Môi trường công nghệ thực tế của đồ án:
- Ngôn ngữ lập trình: Java (JDK).
- Khung phát triển ứng dụng: Spring Framework, Spring Boot, Spring MVC, Spring Security.
- Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu quan hệ MySQL.
- Công nghệ phụ trợ: Thư viện giao diện Bootstrap, giao thức gửi email tương tác JavaMail, cổng thanh toán trực tuyến PayPal, thư viện xuất dữ liệu báo cáo sang Microsoft Excel.
- Hạ tầng triển khai: Ứng dụng được đóng gói qua công cụ quản lý dự án Maven và đưa lên vận hành thử nghiệm trên máy chủ ảo cá nhân (VPS).
Nội dung chính theo từng chương
Chương 1: Tổng quan đề tài
Chương mở đầu tập trung trình bày bối cảnh chuyển dịch từ thương mại truyền thống sang thương mại điện tử, trích dẫn dữ liệu thống kê từ Công ty Nielsen về tỷ lệ người dùng Internet mua sắm thường xuyên trên toàn cầu. Tác giả phân tích tính cấp thiết của việc xây dựng phần mềm quản lý bán hàng nhằm giúp tiết kiệm chi phí mặt bằng và nâng cao hiệu quả quản trị đơn hàng. Chương này xác định rõ mục đích nghiên cứu, danh mục 4 nhiệm vụ tìm hiểu lý thuyết cùng 15 chức năng thành phần của phần mềm Greeny shop, phân tích ưu nhược điểm của hình thức mua sắm trực tuyến, xác định đối tượng nghiên cứu là khách hàng mua sắm qua mạng, xác định phạm vi công nghệ và công bố kết cấu tài liệu báo cáo gồm 5 chương.
Chương 2: Cơ sở lý thuyết đề tài
Chương 2 cung cấp toàn bộ nền tảng lý luận kỹ thuật của đồ án. Tác giả phân tích lịch sử ra đời và cách thức hoạt động của website thông qua giao thức HTTP; so sánh chi tiết ưu nhược điểm giữa website tĩnh và website động. Nội dung chương trình bày chi tiết các công nghệ phát triển phía máy khách gồm HTML (từ định dạng XML đến bản cập nhật HTML5 năm 2014), cấu trúc thành phần và phương pháp nhúng CSS, thư viện giao diện đáp ứng Bootstrap ra đời năm 2011, cùng các đặc tính cú pháp và cơ chế thực thi của JavaScript.
Về công nghệ phía máy chủ, chương làm rõ lịch sử phát triển của ngôn ngữ Java từ dự án Oak năm 1991 đến các bản phát hành của Oracle, giải thích 12 đặc tính kỹ thuật cùng kiến trúc các nền tảng JVM, Java API, JRE, JDK. Tác giả phân tích cấu trúc các module của Spring Framework xuất bản năm 2003, nguyên lý phân tầng và luồng điều phối của Spring MVC qua DispatcherServlet, các ưu thế phát triển ứng dụng nhanh (RAD) của Spring Boot, kiến trúc xác thực của Spring Security, cùng lịch sử và cơ chế truy vấn Client - Server của hệ quản trị CSDL MySQL từ phiên bản 5.5 đến 8.0. Cuối chương, văn bản phân tích chi tiết chuẩn JSON Web Token (RFC 7519), giải thích cấu trúc ba phần (Header, Payload, Signature), các loại Claims và cơ chế Stateless Authentication sử dụng Bearer schema.
Chương 3: Phân tích thiết kế hệ thống
Chương 3 trình bày các kết quả khảo sát thực tế và chuyển hóa thành thiết kế kỹ thuật:
- Khảo sát thực tiễn: Tổng hợp yêu cầu thực tế của người dùng trực tuyến và phân tích chi tiết mô hình sàn Lazada.vn (phương thức mua, danh mục ngành hàng, hỗ trợ 3 hình thức thanh toán gồm thẻ ngân hàng, ví MoMo, COD và chính sách mã giảm giá).
- Mô hình hóa tác nhân: Hệ thống phần mềm bán hàng Greeny shop xác định ba tác nhân tham gia: Khách ghé thăm (
guest), Người dùng có tài khoản (user) và Quản trị viên (admin). Bảng phân quyền nghiệp vụ quy định cụ thể:
| Tác nhân |
Các chức năng nghiệp vụ được phép thực hiện |
| Khách thăm (Guest) |
Đăng ký thành viên, xem danh mục sản phẩm, tìm kiếm sản phẩm, thêm sản phẩm vào giỏ hàng |
| Người dùng (User) |
Đầy đủ quyền của Guest; đăng nhập, đổi mật khẩu, đăng xuất, lưu sản phẩm ưa thích, xem giỏ hàng, thực hiện đặt hàng |
| Quản trị viên (Admin) |
Kế thừa toàn bộ quyền của User; quản lý danh mục sản phẩm, quản lý thể loại, quản lý tài khoản khách hàng, quản lý đơn đặt hàng, xem báo cáo thống kê |
- Đặc tả ca sử dụng (Use-case): Văn bản xây dựng tài liệu đặc tả chi tiết cho các ca sử dụng chính:
- Đăng ký: Khách điền biểu mẫu, hệ thống kiểm tra tính hợp lệ, lưu thông tin vào danh mục khách hàng và chuyển tác nhân thành User.
- Đăng nhập: Tiếp nhận thông tin từ User/Admin, kiểm tra tên đăng nhập và mật khẩu, gửi mã OTP để xác thực; xây dựng luồng rẽ nhánh A1 xử lý trường hợp xác thực thất bại (thông báo lỗi, cho phép thử lại, đăng ký mới hoặc khôi phục mật khẩu).
- Tìm kiếm sản phẩm: Cho phép tìm kiếm theo hai tiêu chí độc lập là theo tên sản phẩm hoặc theo thương hiệu.
- Xem thông tin sản phẩm: Hiển thị thông số chi tiết của sản phẩm được chọn từ cửa hàng.
- Thêm giỏ hàng: Lưu trữ thông tin sản phẩm đã chọn vào giỏ hàng cho cả người dùng đã đăng nhập hoặc chưa đăng nhập.
- Hệ thống sơ đồ thiết kế: Xây dựng biểu đồ ca sử dụng tổng quan và chi tiết; 7 sơ đồ hoạt động (Đăng ký, Đăng nhập, Xem sản phẩm, Đặt hàng ship COD, Đặt hàng PayPal, Xác nhận đơn hàng); sơ đồ tuần tự cho chức năng đăng ký; sơ đồ thành phần và sơ đồ triển khai hệ thống.
Chương 4: Xây dựng và cài đặt hệ thống
Chương 4 mô tả quá trình hiện thực hóa các chức năng trên giao diện phần mềm:
- Phân hệ Quản trị (Admin): Thiết kế giao diện và xử lý logic cho các chức năng quản lý danh mục sản phẩm (thêm, sửa, xóa, tìm kiếm), quản lý hồ sơ khách hàng, quản lý quy trình xét duyệt đơn đặt hàng, chức năng trích xuất đơn hàng ra tệp Excel và các biểu đồ thống kê doanh số theo năm, theo tháng, theo từng sản phẩm và thể loại sản phẩm.
- Phân hệ Bán hàng (Client): Triển khai giao diện trang chủ, trang hiển thị chi tiết sản phẩm, chức năng quản lý giỏ hàng, chức năng lưu sản phẩm vào danh mục ưa thích, giao diện đặt hàng tích hợp thanh toán nhận hàng (COD) và thanh toán trực tuyến qua cổng PayPal.
- Cài đặt hệ thống: Báo cáo việc thiết lập môi trường phát triển, biên dịch mã nguồn với Apache Maven và vận hành thử nghiệm trên máy chủ ảo VPS.
Chương 5: Kết luận và định hướng phát triển
Chương tổng kết đánh giá toàn diện các mục tiêu nghiên cứu đã đề ra, khẳng định việc hoàn thành xây dựng ứng dụng quản lý bán hàng trực tuyến với đầy đủ các phân hệ nghiệp vụ, đồng thời ghi nhận các tồn tại, hạn chế kỹ thuật phát sinh trong quá trình triển khai thực nghiệm để đề xuất các định hướng nâng cấp phần mềm.
Kết quả và đóng góp
Đồ án ghi nhận các kết quả cụ thể đã hiện thực hóa được trong văn bản:
- Xây dựng hoàn chỉnh phần mềm quản lý bán hàng nông sản trực tuyến (Greeny shop) trên nền tảng Spring, phân định rõ ràng cổng bán hàng cho người tiêu dùng và hệ thống quản trị nội bộ cho người quản lý.
- Tích hợp thành công cơ chế bảo mật kết hợp giữa Spring Security và JSON Web Token (JWT) theo chuẩn RFC 7519, thực hiện xác thực Stateless qua tiêu đề
Authorization: Bearer <token>, bảo vệ mật khẩu bằng giải thuật BCrypt và xử lý tệp dữ liệu qua định dạng Base64.
- Triển khai thành công quy trình thanh toán đa phương thức, hỗ trợ đồng thời hình thức thanh toán khi nhận hàng (Ship COD) và tích hợp cổng thanh toán trực tuyến quốc tế PayPal.
- Cung cấp các tiện ích quản trị phụ trợ gồm: module gửi thư điện tử tự động tương tác với khách hàng, module kết xuất báo cáo danh sách đơn hàng sang định dạng Microsoft Excel, và hệ thống báo cáo thống kê theo các chiều thời gian (năm, tháng) và chủng loại sản phẩm.
Về mặt đóng góp giải pháp kỹ thuật, tác giả tự nêu việc ứng dụng khung phát triển Spring Boot giúp đơn giản hóa cấu hình hệ thống phần mềm doanh nghiệp, loại bỏ hoàn toàn các tệp cấu hình XML phức tạp truyền thống, đồng thời tích hợp máy chủ nhúng phục vụ quá trình triển khai nhanh (RAD). Đồ án cung cấp một tài liệu thiết kế hệ thống chi tiết từ khâu khảo sát thực tế (người dùng và sàn Lazada) đến việc chuẩn hóa quy trình nghiệp vụ bằng hệ thống sơ đồ UML (Use-case, Activity, Sequence, Component, Deployment) có tính ứng dụng thực tiễn trong ngành kỹ thuật phần mềm.
Hạn chế và hướng nghiên cứu tiếp
Về mặt hạn chế, văn bản ghi nhận các tồn tại nảy sinh trong quá trình nghiên cứu và cài đặt:
- Hệ thống cơ sở dữ liệu MySQL hoạt động trên mô hình máy chủ đơn lẻ; khi khối lượng bản ghi gia tăng đột biến, hiệu năng truy xuất dữ liệu sẽ gặp trở ngại nếu chưa được áp dụng các biện pháp tối ưu hóa chuyên sâu như phân vùng tải (sharding), đánh chỉ mục chuyên biệt hoặc tạo bộ đệm (Cache MySQL).
- Một số quy tắc nghiệp vụ còn chịu sự ràng buộc cố định trong cấu trúc cơ sở dữ liệu, gây khó khăn nhất định cho việc can thiệp linh hoạt của lập trình viên.
- Chức năng tương tác và hỗ trợ khách hàng chưa tích hợp kênh giao tiếp trò chuyện trực tiếp (live chat) như các sàn thương mại điện tử chuyên nghiệp mà đồ án đã khảo sát.
Hướng phát triển tiếp theo được tác giả định hướng dựa trên phạm vi nghiên cứu:
- Nghiên cứu áp dụng các giải pháp mở rộng quy mô cơ sở dữ liệu, thiết lập cơ chế cân bằng tải và bộ nhớ đệm để đáp ứng lưu lượng truy cập lớn.
- Bổ sung phân hệ trò chuyện trực tiếp (chat realtime) giữa người mua và bộ phận chăm sóc khách hàng.
- Nâng cấp giao diện người dùng và hoàn thiện các thuật toán gợi ý sản phẩm dựa trên lịch sử mua sắm của khách hàng.
Giá trị tham khảo
Đồ án là tài liệu tham khảo có giá trị học thuật và thực tiễn cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin quản lý khi thực hiện đồ án tốt nghiệp hoặc xây dựng các hệ thống thương mại điện tử trên nền tảng Java.
Các nội dung có giá trị tham khảo chuyên sâu bao gồm:
- Quy trình phân tích thiết kế hệ thống: Phương pháp khảo sát người dùng thực tế kết hợp phân tích đối thủ cạnh tranh (Lazada.vn) để xác định danh mục chức năng; bộ tài liệu đặc tả ca sử dụng chi tiết (bao gồm cả các luồng sự kiện rẽ nhánh và kiểm tra lỗi).
- Kiến trúc bảo mật hiện đại: Cách thức tích hợp Spring Security với chuẩn JSON Web Token (JWT) theo kiến trúc phi trạng thái (Stateless), phục vụ việc phân quyền truy cập thông qua các Role chuẩn (
ROLE_ADMIN, ROLE_MEMBER).
- Mô hình lập trình Web MVC với Spring Boot: Cấu trúc tổ chức mã nguồn chuẩn của một dự án Spring Boot phát triển bằng công cụ quản lý Maven, cách thức cấu hình và tích hợp các cổng thanh toán (PayPal) và thư viện phụ trợ (Apache POI, JavaMail).
Câu hỏi thường gặp
1. Khảo sát của Công ty Nielsen được đồ án trích dẫn ghi nhận những dữ liệu thực tế nào về thị trường mua sắm trực tuyến?
Khảo sát toàn cầu của Công ty Nielsen được trích dẫn ở Chương 1 chỉ ra rằng hơn 85% dân số trên thế giới đã sử dụng mạng Internet để mua hàng, ghi nhận mức tăng trưởng 40% so với hai năm trước đó; đồng thời có hơn một nửa số người dùng Internet duy trì việc mua sắm trực tuyến một cách thường xuyên.
2. Hệ thống Greeny shop phân chia các tác nhân người dùng như thế nào và mỗi tác nhân có quyền hạn gì?
Hệ thống phân chia thành 3 tác nhân chính:
Guest (Khách thăm): Xem sản phẩm, tìm kiếm, đăng ký tài khoản, thêm hàng vào giỏ.
User (Khách có tài khoản): Kế thừa toàn bộ quyền của Guest; được phép đăng nhập, đổi mật khẩu, đăng xuất, lưu sản phẩm ưa thích, xem giỏ hàng và thực hiện quy trình đặt hàng.
Admin (Quản trị viên): Kế thừa toàn bộ quyền của User; phụ trách quản lý dữ liệu sản phẩm, thể loại, thông tin khách hàng, xử lý đơn đặt hàng và xem báo cáo thống kê doanh số.
3. Đồ án áp dụng những phương thức thanh toán và cơ chế bảo mật nào cho người dùng?
Hệ thống cung cấp hai phương thức thanh toán: thanh toán khi nhận hàng (Ship COD) và thanh toán trực tuyến qua cổng thanh toán quốc tế PayPal. Về bảo mật, đồ án sử dụng Spring Security kết hợp chuẩn JSON Web Token (JWT) để xác thực người dùng theo cơ chế phi trạng thái qua Bearer token, mã hóa mật khẩu tài khoản bằng thuật toán BCrypt và mã hóa tệp dữ liệu lưu trữ sang chuỗi Base64.
4. Cấu trúc của JSON Web Token (JWT) được đồ án giải thích bao gồm những thành phần cụ thể nào?
Theo chuẩn RFC 7519 được đồ án trình bày, chuỗi JWT gồm 3 phần được phân tách bằng dấu chấm (.):
- Header: Chứa loại token (
typ: JWT) và thuật toán ký mã hóa (alg, ví dụ HS256 hoặc RSA).
- Payload: Chứa các biểu thức claims về thực thể, bao gồm Reserved claims (
iss, iat, exp, sub, aud, jti), Public claims và Private claims.
- Signature: Chữ ký số tạo bởi công thức
HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret) dùng để kiểm tra tính toàn vẹn của dữ liệu truyền tải.
5. Luồng điều phối một yêu cầu HTTP Request trong Spring MVC diễn ra qua các bước kỹ thuật nào?
Luồng xử lý diễn ra theo trình tự 4 bước: (1) DispatcherServlet tiếp nhận HTTP Request và chỉ định HandlerMapping xử lý; (2) HandlerMapping ánh xạ yêu cầu tới Controller thích hợp để gọi Service thực thi logic nghiệp vụ và trả về tên View; (3) DispatcherServlet thông qua ViewResolver để định vị chính xác View cần hiển thị; (4) DispatcherServlet chuyển Model dữ liệu tới View đó để kết xuất (render) nội dung trả về cho trình duyệt.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu xây dựng ứng dụng quản lý bán hàng trên nền tảng Spring" của sinh viên Khoa Công nghệ thông tin và truyền thông, Trường Đại học Phương Đông đã giải quyết trọn vẹn bài toán xây dựng một ứng dụng thương mại điện tử chuyên ngành nông sản hoàn chỉnh. Tác giả đã hệ thống hóa đầy đủ cơ sở lý thuyết về công nghệ web, ngôn ngữ Java, hệ sinh thái Spring Boot, hệ quản trị MySQL và chuẩn bảo mật JWT. Toàn bộ quy trình phân tích thiết kế hệ thống được mô hình hóa chặt chẽ bằng chuẩn UML, kết hợp với việc cài đặt thực nghiệm các chức năng quản trị và bán hàng đa kênh trên môi trường máy chủ thực tế.