Xây Dựng Hệ Thống Hỗ Trợ Người Dùng Mua Bán Cafe

Chuyên khảo kỹ thuật phân tích Xây dựng hệ thống hỗ trợ người dùng mua bán cafe, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2024

119
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. PHẦN MỞ ĐẦU

1.1. Tính cấp thiết của đề tài

1.2. Mục đích của đề tài

1.3. Cách tiếp cận và phương pháp nghiên cứu

1.4. Phân tích những công trình có liên quan

1.5. Kết quả dự kiến đạt được

2. PHẦN NỘI DUNG

2. PHẦN NỘI DUNG

2. PHẦN NỘI DUNG

2. PHẦN NỘI DUNG

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Structured query language - SQL

1.2. Thuật toán K-Nearest neighbor KNN – Recommendation system

1.3. Chatbot AI và Model LLM của Open AI

2. CHƯƠNG 2: YÊU CẦU NGƯỜI DÙNG

2.1. Yêu cầu nghiệp vụ

2.2. Các phương pháp tiếp cận

2.3. Sản phẩm bàn giao cuối

3. CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG

3.1. Xác định vai trò Actor trong lược đồ Use case

3.2. Mô tả vai trò người dùng

3.3. Lược đồ Use case

3.4. Đặc tả Use case

3.4.1. Xem giỏ hàng

3.4.2. Thêm sản phẩm vào giỏ hàng

3.4.3. Xóa sản phẩm khỏi giỏ hàng

3.4.5. Thanh toán bằng ví điện tử Momo

3.4.6. Thanh toán bằng cổng thanh toán Vnpay

3.4.7. Trò chuyện cùng Chatbot AI

3.4.8. Xem danh sách sản phẩm được đề xuất

3.5. Recommendation system – K – nearest neighbor

3.5.1. Tiền xử lý dữ liệu

3.5.2. Kiểm tra độ tin cậy của model

3.5.3. Chọn tham số k

3.5.4. Xây dựng hàm

3.6. Chatbot AI – Model LLM của OpenAI

3.6.1. Sơ hồ hoạt động

3.6.2. Tích hợp LLM của OpenAI vào hệ thống chatbot

4. CHƯƠNG 4: THIẾT KẾ HỆ THỐNG

4.1. Thiết kế Database

4.2. Giao diện và thiết kế quy trình

5. CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ

5.1. Unit test

KẾT LUẬN

PHỤ LỤC

DANH MỤC TÀI LIỆU THAM KHẢO

KẾ HOẠCH THỰC HIỆN

Tóm tắt

I. Tổng Quan Về Hệ Thống Hỗ Trợ Mua Bán Cafe

Hệ thống hỗ trợ mua bán cafe là một giải pháp công nghệ thông tin hiện đại, giúp tối ưu hóa quy trình kinh doanh trong ngành cafe. Với sự phát triển của thương mại điện tử, việc xây dựng một nền tảng trực tuyến cho phép người tiêu dùng dễ dàng tiếp cận và mua sắm các sản phẩm cafe trở nên cần thiết hơn bao giờ hết. Hệ thống này không chỉ giúp người tiêu dùng tiết kiệm thời gian mà còn nâng cao trải nghiệm mua sắm của họ.

1.1. Lợi Ích Của Hệ Thống Hỗ Trợ Mua Bán Cafe

Hệ thống hỗ trợ mua bán cafe mang lại nhiều lợi ích cho cả người tiêu dùng và doanh nghiệp. Người tiêu dùng có thể dễ dàng tìm kiếm và đặt hàng, trong khi doanh nghiệp có thể quản lý thông tin sản phẩm và doanh thu hiệu quả hơn.

1.2. Công Nghệ Sử Dụng Trong Hệ Thống

Hệ thống sử dụng các công nghệ hiện đại như Angular cho frontend, Spring Boot cho backend và SQL cho cơ sở dữ liệu. Điều này giúp đảm bảo tính ổn định và hiệu suất cao cho hệ thống.

II. Vấn Đề Và Thách Thức Trong Ngành Cafe

Ngành cafe hiện đang đối mặt với nhiều thách thức, từ việc quản lý kho đến việc đáp ứng nhu cầu ngày càng cao của người tiêu dùng. Các vấn đề như thiếu thông tin sản phẩm, quy trình thanh toán phức tạp và trải nghiệm khách hàng không tốt cần được giải quyết. Hệ thống hỗ trợ mua bán cafe sẽ giúp khắc phục những vấn đề này.

2.1. Thiếu Thông Tin Sản Phẩm

Nhiều người tiêu dùng gặp khó khăn trong việc tìm kiếm thông tin chi tiết về sản phẩm cafe. Hệ thống cần cung cấp đầy đủ thông tin để người tiêu dùng có thể đưa ra quyết định mua sắm chính xác.

2.2. Quy Trình Thanh Toán Phức Tạp

Quy trình thanh toán hiện tại thường gặp nhiều rào cản, khiến người tiêu dùng cảm thấy không thoải mái. Hệ thống cần tích hợp các phương thức thanh toán đơn giản và an toàn để nâng cao trải nghiệm người dùng.

III. Phương Pháp Xây Dựng Hệ Thống Hỗ Trợ Mua Bán Cafe

Để xây dựng một hệ thống hỗ trợ mua bán cafe hiệu quả, cần áp dụng các phương pháp nghiên cứu và phát triển phần mềm hiện đại. Việc phân tích yêu cầu người dùng và thiết kế hệ thống là rất quan trọng để đảm bảo rằng sản phẩm cuối cùng đáp ứng được nhu cầu thực tế.

3.1. Phân Tích Yêu Cầu Người Dùng

Phân tích yêu cầu người dùng giúp xác định các tính năng cần thiết cho hệ thống. Điều này bao gồm việc tìm hiểu nhu cầu của khách hàng và các vấn đề họ gặp phải khi mua sắm cafe.

3.2. Thiết Kế Hệ Thống

Thiết kế hệ thống cần đảm bảo tính khả thi và dễ sử dụng. Giao diện người dùng cần thân thiện và dễ dàng điều hướng để người tiêu dùng có thể tìm kiếm và đặt hàng một cách nhanh chóng.

IV. Ứng Dụng Thực Tiễn Của Hệ Thống Hỗ Trợ Mua Bán Cafe

Hệ thống hỗ trợ mua bán cafe không chỉ là một công cụ cho người tiêu dùng mà còn là một giải pháp quản lý hiệu quả cho doanh nghiệp. Việc tích hợp các công nghệ như AI và hệ thống đề xuất sản phẩm sẽ giúp nâng cao trải nghiệm khách hàng và tăng doanh thu cho doanh nghiệp.

4.1. Tích Hợp Hệ Thống Đề Xuất Sản Phẩm

Hệ thống đề xuất sản phẩm giúp người tiêu dùng tìm thấy những sản phẩm phù hợp với sở thích của họ, từ đó tăng khả năng mua hàng.

4.2. Tăng Cường Trải Nghiệm Khách Hàng

Việc sử dụng Chatbot AI để hỗ trợ khách hàng trong việc tra cứu thông tin và giải đáp thắc mắc sẽ giúp nâng cao trải nghiệm mua sắm của người tiêu dùng.

V. Kết Luận Và Tương Lai Của Hệ Thống Hỗ Trợ Mua Bán Cafe

Hệ thống hỗ trợ mua bán cafe là một giải pháp cần thiết trong bối cảnh thị trường hiện nay. Với sự phát triển không ngừng của công nghệ, hệ thống này sẽ ngày càng hoàn thiện và đáp ứng tốt hơn nhu cầu của người tiêu dùng. Tương lai của ngành cafe sẽ phụ thuộc vào khả năng áp dụng công nghệ thông tin trong quản lý và kinh doanh.

5.1. Tương Lai Của Ngành Cafe

Ngành cafe sẽ tiếp tục phát triển mạnh mẽ với sự hỗ trợ của công nghệ. Các doanh nghiệp cần nhanh chóng thích nghi để không bị tụt lại phía sau.

5.2. Cơ Hội Đầu Tư Trong Công Nghệ

Đầu tư vào công nghệ thông tin sẽ mang lại nhiều cơ hội cho các doanh nghiệp trong ngành cafe, từ việc cải thiện quy trình sản xuất đến nâng cao trải nghiệm khách hàng.

10/07/2025
Xây dựng hệ thống hỗ trợ người dùng mua bán cafe

Trích đoạn nội dung tài liệu

Chương 1: CƠ SỞ LÝ THUYẾT 1. SPRING BOOT Java Spring Boot là một framework phổ biến, mã nguồn mở, enterprise – level (tập hợp các quy trình, công cụ, khuôn mẫu thường được sử dụng để xây dựng kế hoạch, xây dựng hệ thống kiến trúc ứng dụng mức độ doanh nghiệp) trong việc tạo ra một ứng dụng độc lập hoặc production – grade ( phần mềm chất lượng, làm việc mượt mà và xử lý được nhiều người dùng). Spring Boot là một công cụ hỗ trợ khiến cho quá trình phát triển ứng dựng web và các microsoftware trở nên nhanh hơn, dễ dàng hơn thông qua các điểm nổi bật sau đây: o Tự động cấu hình: Spring Boot cung cấp cơ chế tự động cấu hình các thành phần của ứng dụng dựa trên các thư viện dependencies. Điều này giúp người lập trình tiết kiệm thời gian, loại bỏ hầu hết cấu hình thủ công.

o Hỗ trợ những Server nhúng: Spring Boot hỗ trợ các servers nhúng như Tomcat, Jetty, Undertow. Có nghĩa là ứng dụng có thể được gói vào file jar hoặc war với server nhúng, và từ đó đơn giản giai đoạn triển khai ra thực tế, giảm sự phụ thuộc vào bên ngoài. o Kiến trúc microservices: Spring Boot rất phù hợp với việc xây dựng kiến trúc microservices. o Spring Boot Starter: là các bản mẫu đã được cấu hình trước đó và được sử dụng trong rất nhiều trường hợp, giúp đơn hóa việc cấu hình các dependencies, cho phép lập trình viên thêm trực tiếp những hàm chức năng mà không cần phải viết thủ công.

o Spring Boot CLI: cho phép lập trình viên xây dựng ứng dựng và chạy ứng dụng Spring Boot trực tiếp trên Command Line, hỗ trợ Groovy Script. Với những đặc tính và tiện ích mà Spring Boot mang lại, nó trở thành một lựa chọn mạnh mẽ cho việc phát triển ứng dụng Java hiện đại và dễ bảo trì. ANGULAR Angular là một frameword front-end phổ biến, được sử dụng để xây dựng các ứng dụng web dynamic. Angular cung cấp một tập các tính năng toàn diện, những tính năng này đã làm tăng độ phổ biến của Angular và khiến nó nổi trội hơn so với những framwork front-end khác.

Sau đây là một số điểm nổi bật: o Two-Way Data Binding: cho phép tự động đồng bộ hóa dữ liệu giữa các model và view. Những sự thay đổi trong dữ liệu model sẽ được phản ảnh trực tiếp trên view và ngược lại. Điều này đơn giản hóa việc quản lý và thiết kế giao diện người dùng và giảm đi việc thao tác với DOM. o Xem từng component là module: Angular sử dụng kiến trúc component-based.

Các phần khác nhau trên giao diện người dùng sẽ được đóng gói trong các phần riêng biệt và được xử lý riêng biệt, có thể tái sử dụng các thành phần này. o Dependency Injection: Angular có hệ thống dependency injection giúp có thể quản lý và sử dụng thư viện dễ dàng hơn. o Typescript language: Angular được phát triển dựa trên ngôn ngữ typescript, là một phân nhánh của javascript. Ngôn ngữ này giúp bắt lỗi trong quá trình phát triển một cách tốt hơn, cung cấp những công cụ hỗ trợ mạnh mẽ, cải thiện việc bảo trì.

o Angular CLI: Angular cung cấp tính năng làm việc trực tiếp với command line, đơn giản hóa việc tạo, xây dựng, triển khai, kiểm thử ứng dụng Angular. o RxJS và Observables: Angular tích hợp các thư viện này giúp xử lý các yêu cầu, sự kiện một cách bất đồng bộ, từ đó tăng khả năng trải nghiệm của người dùng. o Angular Universal: cho phép người dùng có thể tự render bên phía server. o Community mạnh mẽ: Cộng đồng lớn và tích cực của Angular đảm bảo rằng có nhiều tài nguyên học tập và hỗ trợ từ cộng đồng.

Angular là một lựa chọn mạnh mẽ cho việc phát triển các ứng dụng web phức tạp và hiện đại, đặc biệt là khi cần một framework linh hoạt, dễ bảo trì và có khả năng mở rộng. STRUCTURED QUERY LANGUAGE – SQL Structured Query Language (SQL) là một ngôn ngữ lập trình chuyên dụng được sử dụng để quản lý và tương tác với các hệ thống quản lý cơ sở dữ liệu quan hệ (Relational Database Management System - RDBMS). SQL cung cấp một phương tiện mạnh mẽ để thực hiện các thao tác như truy vấn dữ liệu, cập nhật dữ liệu, chèn dữ liệu mới, xóa dữ liệu, và quản lý cấu trúc của cơ sở dữ liệu. Dưới đây là một số điểm quan trọng về SQL: o Chia ra nhiều loại lệnh: Data Query Language (DQL) được sử dụng để truy vấn dữ liệu từ cơ sở dữ liệu, thường sử dụng lệnh SELECT; Data Definition Language (DDL) được sử dụng để định nghĩa cấu trúc của cơ sở dữ liệu, thường sử dụng lệnh CREATE, ALTER, DROP; Data Manipulation Language (DML) được sử dụng để thay đổi dữ liệu trong cơ sở dữ liệu, thường sử dụng lệnh INSERT, UPDATE, DELETE.

o Có khả năng mở rộng: SQL không chỉ được sử dụng cho hệ thống quản lý cơ sở dữ liệu quan hệ truyền thống mà còn có thể được áp dụng cho nhiều loại cơ sở dữ liệu khác nhau như cơ sở dữ liệu không quan hệ, cơ sở dữ liệu đối tượng. o Quản lý dữ liệu quan hệ: SQL chủ yếu được thiết kế để làm việc với dữ liệu quan hệ, trong đó dữ liệu được tổ chức thành các bảng có mối quan hệ với nhau. o Hỗ trợ truy vấn phức tạp: SQL hỗ trợ truy vấn dữ liệu phức tạp thông qua các câu lệnh JOIN, GROUP BY, HAVING, ORDER BY, giúp người phát triển thực hiện các tác vụ phức tạp trên dữ liệu. o An toàn và bảo mật: SQL cung cấp cơ chế an toàn và bảo mật để quản lý quyền truy cập dữ liệu, giúp bảo vệ thông tin quan trọng khỏi truy cập trái phép.

SQL đóng vai trò quan trọng trong quản lý và tương tác với cơ sở dữ liệu trong nhiều ứng dụng và hệ thống thông tin, là công cụ không thể thiếu cho các nhà phát triển và quản trị cơ sở dữ liệu. THUẬT TOÁN K-NEAREST NEIGHBORS KNN – RECOMMENDATION SYSTEM 1. Khái niệm Trong các bài toán hồi quy (regression) và bài toán phân loại (classification), Thuật toán K-Nearest Neighbor (KNN) được sử dụng rỗng rãi vì sự đơn giản và hiệu quả của ngôn ngữ học máy này. Với thông tin k điểm dữ liệu gần nhất, thuật toán này sẽ xác định được nhãn (đối với bài toán classification) hoặc xác định được giá trị (đối với bài toán hồi quy) của một điểm dữ liệu đầu vào.

Vì thuật toán dựa trên thông tin từ các thực thể trong không gian để xác định hoặc đưa ra các quyết định đối với thực thể mới, thuật toán K-Nearest Neighbor (KNN) là phương pháp học có giám sát. Như đã nói, cốt lõi của thuật toán này là dựa vào những thông tin có được từ k thực thể tồn tại trong không gian và từ những thông tin đó đưa ra dự đoán về giá trị hoặc phân loại cho dữ liệu mới. Vì tập dữ liệu không cần phải giả định cụ thể về cấu trúc dữ liệu khiến cho thuật toán KNN trở lên linh hoạt và áp dụng trong nhiều tình huống. Ví dụ về việc học có giám sát và không giám sát: Học có giám sát: Nhãn của một thực thể mới sẽ được quyết định dựa trên tập dữ liệu đã được cung cấp trước.

Ví dụ phân loại email có spam hay không dựa trên tập dữ liệu đã được cung cấp trước đó (từ khóa, tần suất lặp từ, địa chỉ người gửi) Học không giám sát: Làm việc với dữ liệu không được gắn nhãn và cố gắng tìm ra cấu trúc hoặc mẫu từ tập dữ liệu. Sau đó dựa vào mẫu mới tạo ra để xác định nhãn cho thực thể mới. Ví dụ như bài toán phân loại khách hàng, với tập dữ liệu khách hàng chưa được phân loại, thuật toán sẽ tiến hành học và phân cụm thành từng nhóm. Sau đó gán nhãn cho từng loại khách hàng.

Ví dụ về tập dữ liệu giải định cụ thể về cấu trúc dữ liệu và không giả định cụ thể về cấu trúc dữ liệu: Tập dữ liệu không giả định cụ thể về cấu trúc dữ liệu: Xác định chủ đề của một bài báo ("Thể thao", "Chính trị", "Kinh tế") dựa trên tập bài báo đã được cung cấp. Mỗi bài báo được biễu diễn bằng một vector dựa trên tần suất xuất hiện của các từ khóa. Ở đây, 20 ta không hề thấy bất kỳ ràng buộc gì giữa những từ khóa có trong tờ báo hoặc bất kỳ mối quan hệ tuyến tính nào giữa từ khóa (đặc trưng) và chủ đề tờ báo (nhãn). Chủ đề của một tờ báo không bị quyết định một cách rõ ràng bởi việc xuất hiện nhiều hay ít của một từ khóa nhất định.

Tập dữ liệu giả định cụ thể về cấu trúc dữ liệu: dự đoán giá nhà dựa trên diện tích, số căn phòng, cửa số, tiện ích, số tầng. Ở đây, ta thấy giữa các các đặc trưng và nhãn (giá nhà) có mối quan hệ tuyến tính. Nếu xét theo thực tế thì nếu diện tích càng tăng thì giá nhà càng tăng, hoặc tiện ích càng nhiều thì giá nhà càng tăng. Trong lĩnh vực hệ thống gợi ý (Recommendation System), thuật toán này dựa trên sở thích, hành vi của người dùng để đề xuất những sản phẩm, dịch vụ tương tự.

Dựa vào một số tiêu chí có giá trị tương đồng như khoảng cách Euclidean hoặc khoảng cách cosine, KNN sẽ chọn ra k người dùng hoặc sản phẩm tương tự với người dùng hoặc sản phẩm cụ thể. Từ đó sẽ đề xuất những sản phẩm hoặc dịch vụ này tới người dùng. Trong dự án này, KNN sẽ đánh giá sự tương đồng giữa các người dùng dựa trên việc đánh giá sản phẩm của họ. Qua đó, các sản phẩm mà một người dùng cụ thể có khả năng quan tâm được lấy từ sở thích của những người dùng gần giống họ sẽ được đề xuất.

Có hai loại hệ thống gợi ý dựa trên KNN: dựa trên người dùng (user-based) và dựa trên sản phẩm (item-based). Với hệ thống dựa trên người dùng, KNN sẽ tìm kiếm k người dùng gần tương đồng với người dùng cần xét và đề xuất những sản phẩm dựa trên sở thích của k người dùng đó. Với hệ thống dựa trên sản phẩm, KNN sẽ xác định K sản phẩm tương tự với những sản phẩm mà người dùng đó thích trước đó. Nhược điểm: Mặc dù đơn giản và hiệu quả nhưng KNN gặp vấn đề khi tiến hành mở rộng và tình trạng ma trận thưa.

Về khả năng mở rộng, theo đánh giá khách quanh thì thuật toán KNN là thuật toán lười biếng vì nó không tạo ra được mô hình dự đoán từ dữ liệu đã học trước đó mà lại tiến hành tìm k điểm dữ liệu tương đồng trong toàn bộ dữ liệu mỗi khi đưa ra dự đoán.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề "Xây Dựng Hệ Thống Hỗ Trợ Mua Bán Cafe: Đồ Án Tốt Nghiệp Ngành Công Nghệ Thông Tin" cung cấp cái nhìn tổng quan về việc phát triển một hệ thống hỗ trợ cho việc mua bán cà phê, từ khâu phân tích yêu cầu đến thiết kế và triển khai. Tài liệu này không chỉ giúp sinh viên ngành Công nghệ Thông tin nắm vững các kỹ năng cần thiết trong việc xây dựng hệ thống mà còn mang lại những hiểu biết sâu sắc về quy trình phát triển phần mềm.

Đặc biệt, tài liệu nhấn mạnh tầm quan trọng của việc áp dụng các phương pháp phân tích và thiết kế hệ thống, giúp người đọc hiểu rõ hơn về cách thức hoạt động của các hệ thống thông tin trong thực tế. Để mở rộng kiến thức của bạn, bạn có thể tham khảo thêm tài liệu Tiểu luận đồ án môn học phân tích và thiết kế hướng đối tượng quản lý bán hàng cho chuỗi cửa hàng tiện lợi ministop, nơi cung cấp cái nhìn sâu sắc về quản lý bán hàng.

Ngoài ra, tài liệu Tiểu luận báo cáo bài tập lớn môn học phân tích thiết kế hệ thống thông tin chi tiết hệ thống và mô tả bằng biểu đồ sử dụng uml sẽ giúp bạn hiểu rõ hơn về việc sử dụng UML trong thiết kế hệ thống. Cuối cùng, bạn cũng có thể tìm hiểu về Báo cáo bài tập học phần phân tích thiết kế hệ thống phân tích và thiết kế hệ thống thông tin quản lý hiệu thuốc, một tài liệu liên quan đến việc quản lý thông tin trong lĩnh vực y tế. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và có cái nhìn đa chiều hơn về lĩnh vực phân tích và thiết kế hệ thống.