1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học

98 32 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 9,5 MB

Cấu trúc

  • CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI (14)
    • 1.1 Lý do chọn đề tài (14)
    • 1.2 Mục đích (14)
    • 1.3 Bố cục đồ án (14)
  • CHƯƠNG 2. PHÂN TÍCH YÊU CẦU (15)
    • 2.1 Các tác nhân (15)
    • 2.2 Quy trình nghiệp vụ của hệ thống (15)
    • 2.3 Sơ đồ usecase (20)
    • 2.4 Đặc tả usecase (22)
    • 2.5 Các yêu cầu phi chức năng (31)
  • CHƯƠNG 3. THIẾT KẾ HỆ THỐNG (32)
    • 3.1 Mô hình hóa cấu trúc (32)
    • 3.2 Mô hình hóa sự tương tác (36)
    • 3.3 Kiến trúc tổng thể của hệ thống (42)
    • 3.4 Thiết kế giao diện (45)
    • 3.5 Thiết kế chi tiết lớp (52)
    • 3.6 Thiết kế cơ sở dữ liệu (68)
    • 3.7 Thiết kế Trích rút dữ liệu (73)
  • CHƯƠNG 4. THIẾT KẾ PHƯƠNG PHÁP GỢI Ý (77)
    • 4.1 Giới thiệu hệ thống gợi ý (77)
    • 4.2 Thiết kế các chức năng gợi ý học bổng du học (80)
  • CHƯƠNG 5. CÀI ĐẶT HỆ THỐNG (86)
    • 5.1 Các công nghệ sử dụng (86)
    • 5.2 Kết quả cài đặt hệ thống (88)
    • 5.3 Kết quả kiểm thử (95)
  • CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (96)
    • 6.1 Kết luận (96)
    • 6.2 Hướng phát triển của đồ án (97)
  • TÀI LIỆU THAM KHẢO (98)

Nội dung

Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học

GIỚI THIỆU ĐỀ TÀI

Lý do chọn đề tài

Du học nước ngoài đang trở thành xu hướng phổ biến tại Việt Nam, thu hút không chỉ học sinh và sinh viên mà còn cả những người đã đi làm Nhu cầu học tập, phát triển bản thân và khám phá nền văn hóa mới đã thúc đẩy nhiều người lựa chọn trải nghiệm này.

Du học là ước mơ của nhiều người, nhưng chi phí cao khiến việc tìm kiếm học bổng trở nên cần thiết để giảm gánh nặng tài chính Trong bối cảnh có hàng trăm bài đăng học bổng trên các trang web mỗi ngày, việc lựa chọn học bổng phù hợp với sở thích và năng lực cá nhân trở nên khó khăn Do đó, tôi đã quyết định phát triển hệ thống hỗ trợ tìm kiếm và gợi ý học bổng nhằm đáp ứng nhu cầu này.

Mục đích

Hệ thống thu thập và trích xuất thông tin học bổng từ các website như www.scholarshipsads.com, www.scholarship-positions.com và cappex.com, nhằm hỗ trợ người dùng tìm kiếm và gợi ý các học bổng phù hợp với nhu cầu và sở thích của họ.

Bố cục đồ án

- Chương 1: Giới thiệu đề tài

- Chương 2: Phân tích yêu cầu hệ thống

- Chương 3: Thiết kế hệ thống

- Chương 4: Thiết kế phương pháp gợi ý

- Chương 5: Cài đặt hệ thống

PHÂN TÍCH YÊU CẦU

Các tác nhân

Hệ thống có 3 tác nhân là Khách, Người dùng, Quản trị viên

Khách là người truy cập vào hệ thống nhưng chưa đăng nhập Sau khi đăng nhập thành công Khách sẽ trở thành Người dùng

Quy trình nghiệp vụ của hệ thống

Quy trình “Đăng ký” của Khách

Hình 2.1 Sơ đồ hoạt động quy trình Đăng ký Quy trình “Đăng nhập” của Khách

Hình 2.2 Sơ đồ hoạt động quy trình Đăng nhập Quy trình Tìm kiếm học bổng

Hình 2.3 Sơ đồ hoạt động quy trình Tìm kiếm

Quy trình “Quản lý Profile”

Hình 2.4 Sơ đồ hoạt động quy trình Quản lý profile

Quy trình “Xem chi tiết bài đăng học bổng”

Hình 2.5 Sơ đồ hoạt động quy trình Xem chi tiết bài đăng học bổng

Quy trình So sánh học bổng

Hình 2.6 Sơ đồ hoạt động quy trình So sánh Học bổng

Quy trình sử dụng của Quản trị viên

Hình 2.7 Sơ đồ hoạt động của Quản trị viên

Sơ đồ usecase

Sơ đồ usecase tổng quan

Hình 2.8 Sơ đồ usecase tổng quan

Phân rã usecase “Xem chi tiết học bổng”

Hình 2.9 Sơ đồ phân rã usecase Xem chi tiết học bổng Phân rã usecase “Quản lý profile”

Hình 2.10 Sơ đồ phân rã usecase Quản lý profile

Phân rã usecase “Quản lý nguồn thông tin học bổng”

Hình 2.11 Sơ đồ phân rã usecase Quản lý nguồn thông tin học bổng

Đặc tả usecase

Mã Use case UC01 Tên Use case Đăng ký

Mục đích sử dụng Đăng ký để tạo tài khoản người dùng mới

Khách click vào button “Đăng ký”

STT Thực hiện Hành động

1 Khách chọn chức năng Đăng ký

2 Hệ thống hiển thị màn hình đăng ký

3 Khách nhập thông tin (mô tả phía dưới *)

4 Khách yêu cầu đăng ký

5 Hệ thống kiểm tra xem khách đã nhập hợp lệ các trường bắt buộc nhập hay chưa Kiểm tra email đã tồn tại hay chưa

6 Hệ thống Tạo tài khoản Trả về thông báo thành công

Hệ thống sẽ thông báo lỗi khi người dùng không nhập đầy đủ các trường bắt buộc trong hành động, khi các trường nhập không đúng định dạng, hoặc khi địa chỉ email đã tồn tại.

Hệ thống tạo tài khoản sẽ thông báo lỗi nếu có vấn đề xảy ra trong quá trình đăng ký Sau khi khách hàng đăng ký thành công, tài khoản mới sẽ được lưu trữ và sẵn sàng để đăng nhập.

Bảng 2.1 Bảng đặc tả usecase “Đăng ký”

* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau:

ST T Trường dữ liệu Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ

1 Email Có h.anh@gmail.com

5 Xác nhận Mật khẩu Có ToiLa12#$

8 Cấp học mong muốn Không

10 Trường yêu thích Trường học mong muốn được học Không

11 Ngành yêu thích Ngành học mong muốn được học Không

12 Quốc gia yêu thích Quốc gia muốn đến du học Không

Bảng 2.2 Bảng dữ liệu đầu vào usecase “Đăng ký”

Mã Use case UC02 Tên Use case Đăng nhập

Xác thực người dùng cho phép người dùng sử dụng các chức năng của tác nhân

Khách click button “Đăng nhập”

Luồng sự kiện chính STT Thực hiện Hành động

1 Khách chọn chức năng Đăng nhập

2 Hệ thống Hiển thị màn hình đăng nhập

3 Khách nhập email và mật khẩu (mô tả phía dưới *)

4 Khách yêu cầu đăng nhập

5 Hệ thống kiểm tra tính hợp lệ và đầy đủ của các trường khách nhập

6 Hệ thống Kiểm tra tài khoản tồn tại hay không

7 Hệ thống Chuyển hướng đến màn hình “Danh sách học bổng gợi ý”

Hệ thống thực hiện thông báo lỗi khi khách hàng không nhập đủ các trường bắt buộc và sẽ hiển thị thông báo nếu email hoặc mật khẩu không chính xác Sau khi người dùng nhập thông tin đúng, hệ thống sẽ lưu trữ thông tin đăng nhập, tạo một phiên hoạt động và lưu trạng thái, từ đó cho phép người dùng sử dụng các chức năng tương ứng với vai trò của họ.

Bảng 2.3 Bảng đặc tả usecase “Đăng nhập”

* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau:

STT Trường dữ liệu Mô tả Bắt buộc Điều kiện hợp lệ Ví dụ

13 Email Có h.anh@gmail.com

Bảng 2.4 Bảng dữ liệu đầu vào usecase “Đăng nhập”

UC03 “Tìm kiếm Học Bổng”

Mã Use case UC03 Tên Use case Tìm Kiếm Học Bổng

Tác nhân Khách, Người dùng

Cho phép người dùng tìm kiếm học bổng theo các giá trị của từng thuộc tính Điều kiện kích hoạt

Người dùng click vào “Tìm kiếm”

Luồng sự kiện chính STT Thực hiện Hành động

Người dùng chọn chức năng “Tìm kiếm HB”

2 Hệ thống hiển thị màn hình tìm kiếm

Người dùng Nhập các trường tìm kiếm (mô tả phía dưới *)

Người dùng Ấn chọn Tìm kiếm

5 Hệ thống Thực hiện truy vấn vào cơ sở dữ liệu theo các trường được nhập

6 Hệ thống Trả về danh sách tìm kiếm Luồng sự kiện thay thế

Hậu điều kiện Hệ thống trả về danh sách tìm kiếm cho người dùng

Bảng 2.5 Bảng đặc tả usecase “Tìm kiếm”

* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau:

STT Trường dữ liệu Điều kiện Bắt buộc?

2 Trường Là Người dùng Không

3 Ngành học Là Người dùng Không

4 Thời gian Là Người dùng Không

Bảng 2.6 Bảng dữ liệu đầu vào usecase “Tìm kiếm”

UC04 “So sánh Học Bổng”

Mã Use case U04 Tên Use case So sánh Học Bổng

Mục đích sử Giúp người dùng có thể quan sát sự giống/khác nhau giữa 2 học bổng để đưa ra quyết dụng định lựa chọn Điều kiện kích hoạt

Người dùng Click vào “So sánh”

Luồng sự kiện chính STT Thực hiện Hành động

1 Người dùng chọn chức năng So sánh Học bổng

2 Hệ thống hiển thị màn hình So sánh Học bổng

3 Người dùng Nhập Tên học bổng Ấn chọn Tìm kiếm (HB1)

4 Hệ thống Trả về thông tin HB1 được chọn

5 Người dùng Nhập Tên học bổng Ấn chọn Tìm kiếm (HB2)

6 Hệ thống Trả về thông tin HB2 được chọn

7 Hệ thống Hiển thị đối sánh 2 học bổng Luồng sự kiện thay thế STT 4a.6a Hệ thống Thực hiện thông báo lỗi: Không tìm thấy HB Hành động

Hệ thống hiển thị thông tin kết quả so sánh của 2 học bổng

Bảng 2.7 Bảng đặc tả usecase “So sánh”

* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau:

STT Trường dữ liệu Mô tả Bắt buộc?

Bảng 2.8 Bảng dữ liệu đầu vào usecase “So sánh”

UC05 “Xem danh sách Học Bổng gợi ý”

Mã Use case UC05 Tên Use case Xem danh sách Học Bổng Gợi Ý

Mục đích sử dụng Đưa ra danh sách gợi ý Học bổng phù hợp cho người dùng Điều kiện kích hoạt Người dùng Click vào “Trang chủ”

Luồng sự kiện chính ST

1 Người dùng Đăng nhập thành công hoặc

Chọn “Xem DS Học Bổng”

2 Hệ thống hiển thị màn hình DS Học Bổng Luồng sự kiện thay thế

Hậu điều kiện Hiển thị danh sách học bổng gợi ý cho người dùng

Bảng 2.9 Bảng đặc tả usecase “Xem DS gợi ý”

UC06 “Xem chi tiết Bài đăng Học Bổng”

Mã Use case UC06 Tên Use case Xem chi tiết bài đăng HB Tác nhân Người dùng

Hiển thị chi tiết các thuộc tính của một học bổng, cho phép người dùng tương tác với bài đăng học bổng Điều kiện kích hoạt

Người dùng Click vào “Xem thêm” ở Danh sách HB gợi ý hoặc ở Danh sách HB tìm kiếm

Luồng sự kiện chính STT Thực hiện Hành động

1 Người dùng Chọn chức năng “Xem chi tiết”

2 Hệ thống Hiển thị màn hình Chi tiết Học bổng

3 Hệ thống Hiển thị thêm các bài đăng tương tự

4 Người dùng Bình luận Đánh giá, Chi sẻ Bài đăng HB

5 Hệ thống Lưu lại thông tin tương tác người dùng Luồng sự kiện thay thế

STT Thực hiện Hành động

4a Người dùng Click vào Xem chi tiết HB ở DS HB tương tự 4b.1 Người dùng Thoát ra khỏi bài đăng hiện tại

4b.2 Hệ thống Xin đánh giá người dùng về bài đăng hiện tại

Hệ thống lưu lại các thông tin tương tác người dùng

Bảng 2.10 Bảng đặc tả usecase “Xem chi tiết bài đăng HB”

UC07 “Xem HB gợi ý dựa trên phản hồi”

Mã Use case UC07 Tên Use case Xem HB gợi ý dựa trên phản hồi Tác nhân Người dùng

Hiển thị chi tiết các thuộc tính của một học bổng, cho phép người dùng tương tác với bài đăng học bổng Điều kiện kích hoạt

Người dùng đang ở màn hình chi tiết học bổng

Luồng sự kiện chính STT Thực hiện Hành động

1 Người dùng Tại mỗi thuộc tính người dùng dislike giá trị hiện tại của thuộc tính hoặc thêm các giá trị mới cho thuộc tính

2 Người dùng Ấn chọn “See more based on feedback”

3 Hệ thống Lưu thông tin phản hồi Tính toán để trả về tập gợi ý phù hợp

4 Người dùng Xem HB gợi ý

Luồng sự kiện thay thế

Hệ thống gợi ý cho người dùng dựa trên phản hồi tại phiên hiện tại

Bảng 2.11 Bảng đặc tả usecase “Xem HB gợi ý dựa trên phản hồi”

UC08 “Quản lý danh sách yêu thích”

Mã Use case UC08 Tên Use case Quản lý danh sách yêu thích

Cho phép người dùng điều chỉnh các sở thích của mình và xem các học bổng yêu thích Điều kiện kích hoạt

Người dùng Click “Danh sách yêu thích”

Luồng sự kiện chính STT Thực hiện Hành động

1 Người dùng Chọn chức năng “Xem DS Học bổng yêu thích”

2 Hệ thống Hiển thị màn hình danh sách HB yêu thích

3 Người dùng Chọn xóa 1 HB

4 Hệ thống Xóa HB khỏi DS HB yêu thích của ng dùng Hiển thị danh sách sau khi cập nhật

5 Người dùng Chọn chức năng “Xem DS Trường học [Ngành học |

6 Hệ thống Hiển thị DS Trường học [Ngành học | Quốc gia ] yêu thích

7 Người dùng Chọn Thêm Mới

8 Hệ thống Hiển thị màn hình chọn Trường học [Ngành học | Quốc gia ] để thêm mới

9 Người dùng Chọn Trường học [Ngành học | Quốc gia ] Ấn “Thêm”

10 Hệ thống Lưu giá trị Hiển thị lại DS vừa cập nhật

Luồng sự kiện thay thế

Hậu điều kiện Hệ thống cập nhật các thông tin yêu thích của người dùng

Bảng 2.12 Bảng đặc tả usecase “Quản lý danh sách yêu thích”

UC09 “Quản lý thông tin cá nhân”

Mã Use case UC07 Tên Use case Quản lý thông tin cá nhân

Mục đích sử dung Để người dùng xem và cập nhật các thông tin cá nhân Điều kiện kích hoạt

Người dùng Click vào “Thông tin cá nhân”

Luồng sự kiện chính STT Thực hiện Hành động

1 Người dùng Chọn chức năng “Trang cá nhân”

2 Hệ thống Hiển thị màn hình Trang cá nhân

3 Người dùng Chọn Sửa thông tin cá nhân

4 Hệ thống Hiển thị màn hình Sửa thông tin cá nhân

5 Người dùng Nhập các giá trị cần sửa (các giá trị bên dưới) Chọn

6 Hệ thống Lưu lại thông tin sau khi sửa Hiển thị thông tin đã cập nhật

Luồng sự kiện thay thế STT 6a Hệ thống Thực hiện Báo lỗi sai định dạng các giá trị nhập Hành động

6b Hệ thống Báo lỗi: Email dã tồn tại, số điện thoại đã tồn tại

Hậu điều kiện Hệ thống cập nhật các thông tin của người dùng

Bảng 2.13 Bảng đặc tả usecase “Quản lý thông tin cá nhân”

* Dữ liệu đầu vào của thông tin cá nhân gồm các trường dữ liệu sau:

STT Trường dữ liệu Mô tả Bắt buộc? Điều kiện hợp lệ Ví dụ

1 Email Có h.anh@gmail.co m

2 Tên đăng nhập Có duong

4 Quốc gia Có Việt Nam

6 Cấp học mong muốn Không

Bảng 2.14 Bảng dữ liệu đầu vào usecase “Quản lý thông tin”

UC010 “Quản lý nguồn trích rút HB”

Mã Use case UC09 Tên Use case Quản lý nguồn trích rút HB

Tác nhân Quản trị viên

Cho phép QTV có thể bật/tắt, điều chỉnh thời gian trích rút dữ liệu từ các nguồn HB Điều kiện kích hoạt

Quản trị viên Click “Quản lý nguồn trích rút HB”

Luồng sự kiện chính STT Thực hiện Hành động

1 Quản trị viên Chọn chức năng “Quản lý nguồn trích rút HB”

2 Hệ thống Hiển thị màn hình danh sách nguồn học bổng

3 Người dùng Click active/deactive một học bổng

4 Hệ thống Bật/Tắt việc lấy thêm học bổng từ nguồn được chọn

5 Người dùng Click chọn “Cài đặt Thời gian Trích rút” cho 1 học bổng

6 Hệ thống Hiển thị màn hình chọn thời gian

7 Người dùng Chọn thời gian Ấn chọn “Cập nhật”

8 Hệ thống Cập nhật thời gian trích rút cho học bổng được chọn

Trả về thông báo thành công

Luồng sự kiện thay thế

Hậu điều kiện Hệ thống cập nhật các thông tin nguồn học bổng

Bảng 2.15 Bảng đặc tả usecase “Quản lý nguồn trích rút HB”

Mã Use case UC10 Tên Use case Báo cáo xu hướng người dùng Tác nhân Quản trị viên

Mang tới cái nhìn tổng quan về xu hướng lựa chọn học bổng Điều kiện kích hoạt

Quản trị viên Click “Báo cáo”

Luồng sự kiện chính STT Thực hiện Hành động

1 Quản trị viên Click chọn chức năng “Báo cáo”

2 Hệ thống Hiển thị màn hình Báo cáo xu hướng người dùng

- Quốc gia được quan tâm nhiều nhất

- Ngành học được quan tâm nhiều nhất

Luồng sự kiện thay thế

Hậu điều kiện Hệ thống hiển thị các báo cáo

Bảng 2.16 Bảng đặc tả usecase “Báo cáo”

UC12 “Quản lý tài khoản Quản Trị Viên”

Mã Use case UC11 Tên Use case Quản lý tài khoản QTV

Tác nhân Quản trị viên

Quản lý các quản trị viên Điều kiện kích hoạt

Quản trị viên Click chọn “Quản lý tài khoản QTV”

Luồng sự kiện chính STT Thực hiện Hành động

1 Quản trị viên Click chọn chức năng “Quản lý tài khoản QTV”

2 Hệ thống Hiển thị màn hình Quản lý tài khoản QTV

3 Quản trị viên Chọn thêm QTV

4 Hệ thống Hiển thị màn hình Thêm QTV

5 Quản trị viên Nhập email – password của QTV mới Nhấn chọn

6 Hệ thống Lưu thông tin QTV mới Hiển thị danh sách cập nhât

7 Quản trị viên Chọn đổi password của 1 QTV

8 Hệ thống Hiển thị màn hình Sửa QTV

9 Quản trị viên Nhập giá trị thay đổi password Submit

10 Hệ thống Lưu giá trị mới Hiển thị màn hình cập nhật

11 Quản trị viên Chọn xóa 1 QTV

12 Hệ thống Hiển thị màn hình Xác nhận xóa

13 Quản trị viên Chọn OK

14 Hệ thống Xóa QTV Hiển thị màn hình danh sách cập nhật Luồng sự kiện thay thế

Hậu điều kiện Hệ thống cập nhật các thông tin của các QTV

Bảng 2.17 Bảng đặc tả usecase “Quản lý tài khoản quản trị viên”

UC13 “Phân loại ngành học”

Mã Use case UC12 Tên Use case Phân loại ngành học

Tác nhân Quản trị viên

Phân loại ngành học nhỏ vào ngành học có nghĩa rộng hơn để phục vụ chức năng gợi ý Điều kiện kích hoạt

Quản trị viên Click chọn “Phân loại ngành học”

Luồng sự kiện chính STT Thực hiện Hành động

1 Quản trị viên Click chọn chức năng “Phân loại ngành học”

2 Hệ thống Hiển thị màn hình phân loại ngành học

3 Quản trị viên Nhập tên ngành học cha Chọn ngành học cha nếu có sẵn

4 Hệ thống Hiển thị những ngành học con có sẵn của ngành học cha

5 Quản trị viên Tìm kiếm ngành học con Click chọn Chuyển sang khung ngành học cha

6 Hệ thống Lưu thông tin phân loại ngành học

Luồng sự kiện thay thế

1a Quản trị viên Thêm mới ngành học cha

2a Hệ thống Lưu ngành học cha Hậu điều kiện Hệ thống cập nhật các thông tin phân loại

Bảng 2.18 Bảng đặc tả usecase “Phân loại ngành học”

Các yêu cầu phi chức năng

- Mật khẩu đăng nhập của người dùng được mã hóa

- Thời gian phản hồi tối đa 5s

- Giao diện web nhất quán trên các trình duyệt, thân thiện trên các thiết bị (màn hình máy tính, màn hình điện thoại, máy tính bảng )

- Ngôn ngữ sử dụng Tiếng anh

- Định dạng ngày yyyy/mm/dd

THIẾT KẾ HỆ THỐNG

Mô hình hóa cấu trúc

Biểu đồ lớp tham gia ca sử dụng “Đăng ký”

Hình 3.1 Biểu đồ lớp tham gia ca sử dụng “Đăng ký”

Biểu đồ lớp tham gia ca sử dụng “Đăng nhập”

Hình 3.2 Biểu đồ lớp tham gia ca sử dụng “Đăng nhập”

Biểu đồ lớp tham gia ca sử dụng “Tìm kiếm học bổng”

Hình 3.3 Biểu đồ lớp tham gia ca sử dụng “Tìm kiếm học bổng”

Biểu đồ lớp tham gia ca sử dụng “So sánh học bổng”

Hình 3.4 Biểu đồ lớp tham gia ca sử dụng “So sánh học bổng”

Biểu đồ lớp tham gia ca sử dụng “Xem danh sách HB gợi ý”

Hình 3.5 Biểu đồ lớp tham gia ca sử dụng “Xem danh sách HB gợi ý”

Biểu đồ lớp tham gia ca sử dụng “Xem chi tiết bài đăng HB”

Hình 3.6 Biểu đồ lớp tham gia ca sử dụng “Xem chi tiết bài đăng HB”

Biểu đồ lớp tham gia ca sử dụng “Quản lý thông tin cá nhân”

Hình 3.7 Biểu đồ lớp tham gia ca sử dụng “Quản lý thông tin cá nhân”

Biểu đồ lớp tham gia ca sử dụng “Quản lý DS yêu thích”

Hình 3.8 Biểu đồ lớp tham gia ca sử dụng “Quản lý danh sách yêu thích”

Biểu đồ lớp tham gia ca sử dụng “Quản lý nguồn trích rút”

Hình 3.9 Biểu đồ lớp tham gia ca sử dụng “Quản lý nguồn trích rút HB”

Biểu đồ lớp tham gia ca sử dụng “Báo cáo”

Hình 3.10 Biểu đồ lớp tham gia ca sử dụng “Báo cáo”

Biểu đồ lớp tham gia ca sử dụng “Quản lý tài khoản QTV”

Hình 3.11 Biểu đồ lớp tham gia ca sử dụng “Quản lý tài khoản QTV”

Biểu đồ lớp tham gia ca sử dụng “Phân loại ngành học”

Hình 3.12 Biểu đồ lớp tham gia ca sử dụng “Phân loại ngành học”

Mô hình hóa sự tương tác

Biểu đồ trình tự cho ca sử dụng “Đăng ký”

Hình 3.13 Biểu đồ trình tự cho ca sử dụng “Đăng ký”

Biểu đồ trình tự cho ca sử dụng “Đăng nhập”

Hình 3.14 Biểu đồ trình tự cho ca sử dụng “Đăng nhập”

Biểu đồ trình tự cho ca sử dụng “Tìm kiếm học bổng”

Hình 3.15 Biểu đồ trình tự cho ca sử dụng “Tìm kiếm học bổng”

Biểu đồ trình tự cho ca sử dụng “So sánh học bổng”

Hình 3.16 Biểu đồ trình tự cho ca sử dụng “So sánh học bổng”

Biểu đồ trình tự cho ca sử dụng “Xem danh sách gợi ý”

Hình 3.17 Biểu đồ trình tự cho ca sử dụng “Xem DS gợi ý”

Biểu đồ trình tự cho ca sử dụng “Xem chi tiết HB”

Hình 3.18 Biểu đồ trình tự cho ca sử dụng “Xem chi tiết HB”

Biểu đồ trình tự cho ca sử dụng “Quản lý thông tin cá nhân”

Hình 3.19 Biểu đồ trình tự cho ca sử dụng “Quản lý thông tin cá nhân”

Biểu đồ trình tự cho ca sử dụng “Quản lý DS yêu thích”

Hình 3.20 Biểu đồ trình tự cho ca sử dụng “Quản lý DS yêu thích”

Biểu đồ trình tự cho ca sử dụng “Quản lý nguồn trích rút HB”

Hình 3.21 Biểu đồ trình tự cho ca sử dụng “Quản lý nguồn trích rút HB” Biểu đồ trình tự cho ca sử dụng “Báo cáo”

Hình 3.22 Biểu đồ trình tự cho ca sử dụng “Báo cáo”

Biểu đồ trình tự cho ca sử dụng “Quản lý tài khoản QTV”

Hình 3.23 Biểu đồ trình tự cho ca sử dụng “Quản lý tài khoản QTV”

Biểu đồ trình tự cho ca sử dụng “Phân loại ngành học”

Hình 3.24 Biểu đồ trình tự cho ca sử dụng “Phân loại ngành học”

Biểu đồ trình tự cho nghiệp vụ “Trích rút dữ liệu tự động”

Hình 3.25 Biểu đồ trình tự cho nghiệp vụ “Trích rút dữ liệu tự động”

Kiến trúc tổng thể của hệ thống

Hệ thống được phân rã thành 5 tầng chính: Tầng Giao diện, Tầng Ứng dụng, Tầng Nghiệp vụ, Tầng Truy cập dữ liệu và Tầng Lưu trữ dữ liệu Mỗi tầng đóng vai trò quan trọng trong việc tối ưu hóa chức năng và hiệu suất của hệ thống tổng thể.

Hình 3.26 Sơ đồ kiến trúc của hệ thống Đặc tả thiết kế kiến trúc

3.3.2.1 Tầng giao diện (tầng trình bày )

Chuyển các dữ liệu cho người dùng và biến đổi các hành động của người dùng thành các sự kiện vào của hệ thống

 Người dùng: gồm các lớp

 Trang chủ (Danh sách gợi ý)

 Quản lý trang cá nhân

 Quản trị viên: gồm các lớp

 Quản lý nguồn học bổng

 Quản lý tài khỏa quản trị viên

 Xem báo cáo xu hướng

Bao gồm các đối tượng điều khiển và dẫn dắt các quy luật của ứng dụng

- Điều khiển Đăng ký (Register_Controller)

- Điều khiển Đăng nhập (Login_Controller)

- Điều khiển Xem chi tiết (Detail_Controller)

- Điều khiển Tìm kiếm (Search_Controller)

- Điều khiển Gợi ý (Recommendation_Controller)

- Điều khiển Quản lý thông tin cá nhân (Profile_Controller)

- Điều khiểu Quản lý danh sách yêu thích (Favorite_Controller)

- Điều khiển Trích rút (Crawl_Controller)

- Điều khiển Phân loại ngành học (ClassificationMajor_Controller)

- Điều khiển Báo cáo (ViewReport_Controller)

- Điểu khiển Quản lý tài khoản QTV (Role_Controller)

- Điều khiển Quản lý nguồn trích rút (SourceManagement_Controller)

Bao gồm các đối tượng nghiệp vụ (hay lĩnh vực), cùng sự cài đặt các quy tắc quản lý chúng

 Truy cập và Thay đổi dữ liệu

 Xem chi tiết học bổng

 Sửa thông tin cá nhân

 Quản lý tài khoản QTV

 Bình luận, Đánh Giá bài đăng học bổng

 Thêm HB vào danh sách HB yêu thích

 Thêm, Xóa Quốc gia vào danh sách Quốc gia yêu thích

 Thêm, Xóa Trường vào danh sách Trường yêu thích

 Thêm, Xóa Ngành vào danh sách Ngành yêu thích

 Phản hồi về các thuộc tính: Dislike và thay thế thuộc tính

 Xem danh sách HB gợi ý

 Xem HB dựa trên phản hồi

 Active/Deactive nguồn học bổng

 Cài đặt thời gian trích rút tự động

3.3.2.4 Tầng truy cập dữ liệu

Quản lý truy cập dữ liệu cho các đối tượng nghiệp vụ từ các phương tiện lưu trữ là một nhiệm vụ quan trọng Trong đồ án này, tôi đã áp dụng framework Spring Boot, đặc biệt là thư viện JPA Repositories, để thực hiện các thao tác truy cập dữ liệu một cách hiệu quả.

3.3.2.5 Tầng Lưu trữ dữ liệu

Quản lý việc truy cập (đọc/viết) các đối tượng nghiệp vụ từ các phương tiện lưu trữ dữ liệu

 Tương tác người dùng với học bổng (Scholarship_Interactive)

 Quốc gia yêu thích (CountryFavorite)

 Trường học yêu thích (SchoolFavorite)

 Ngành học yêu thích (MajorFavorite)

Thiết kế giao diện

Công cụ được sử dụng để thiết kế giao diện là Adobe XD (https://xd.adobe.com/)

Giao diện dành cho Khách

Hình 3.27 Thiết kế giao diện Đăng ký-1

Hình 3.28 Thiết kế giao diện đăng ký-2

Hình 3.29 Thiết kế giao diện đăng ký-3

Hình 3.30 Thiết kế giao diện đăng nhập

Hình 3.31 Thiết kế giao diện tìm kiếm của Khách Giao diện dành cho Người dùng

Hình 3.32 Thiết kế giao diện Trang chủ

Hình 3.33 Thiết kế giao diện Tìm kiếm của người dùng

Hình 3.34 Thiết kế giao diện So sánh Học bổng

Hình 3.35 Thiết kế giao diện Xem chi tiết HB

Hình 3.36 Thiết kế giao diện Gợi ý dựa trên phản hồi

Hình 3.37 Thiết kế giao diện Trang cá nhân

Hình 3.38 Thiết kế giao diện Danh sách HB yêu thích

Hình 3.39 Thiết kế giao diện Sở thích khác

Giao diện dành cho Quản trị viên

Hình 3.40 Thiết kế giao diện Đăng nhập của QTV

Hình 3.41 Thiết kế giao diện Quản lý nguồn trích rút HB

Hình 3.42 Thiết kế giao diện Quản lý tài khoản QTV

Hình 3.43 Thiết kế giao diện Báo cáo

Thiết kế chi tiết lớp

Sơ đồ lớp tổng quan

Hình 3.45 Sơ đồ lớp gói Khách

Hình 3.46 Sơ đồ lớp gói Người dùng

Hình 3.47 Sơ đồ lớp gói Quản trị viên 3.5.1.2 Tầng nghiệp vụ

Hình 3.48 Sơ đồ lớp gói Xử lý tương tác

Hình 3.49 Sơ đồ lớp gói Truy cập và thay đổi DL

Hình 3.50 Sơ đồ lớp gói Gợi ý

Hình 3.51 Sơ đồ lớp gói Trích rút

3.5.1.3 Tầng lưu trữ dữ liệu

Hình 3.52 Sơ đồ lớp Tầng dữ liệu Đặc tả chi tiết các lớp

Giao diện Đăng ký tài khoản giao tiếp với người dùng cuối b) Danh sách thuộc tính

Bài viết này trình bày các trường dữ liệu quan trọng trong một hệ thống, bao gồm: tên người dùng (name) kiểu chuỗi công khai, email (email) kiểu chuỗi công khai, mật khẩu (pasword) kiểu chuỗi công khai, giới tính (gender) kiểu chuỗi công khai, số điện thoại (phone) kiểu chuỗi công khai, bậc học hiện tại (level) kiểu chuỗi công khai, ngày sinh (birthday) kiểu ngày công khai, ngày tốt nghiệp (date_graduate) kiểu ngày công khai, danh sách quốc gia yêu thích (list_favorite_country) kiểu mảng công khai, danh sách trường yêu thích (list_favorite_school) kiểu mảng công khai, và danh sách ngành học yêu thích (list_favorite_major) kiểu mảng công khai.

The `register()` function is a public method that accepts several input parameters, including name (string), email (string), password (string), gender (string), phone (string), level (string), birthday (date), date_graduate (date), list_favorite_country (array), list_favorite_school (array), and list_favorite_major (array) It processes these inputs to facilitate user registration.

Void Gửi yêu cầu đăng ký notifyFailure() public Void Thông báo lỗi cho user

3.5.2.5 Register_Controller a) Mục đích Điều khiển nghiệp vụ Đăng ký tài khoản giao tiếp với dữ liệu b) Danh sách thuộc tính c) Danh sách phương thức

Hàm checkEmailExist() kiểm tra xem email đã tồn tại hay chưa, trả về kiểu boolean Hàm notifyFailure() thông báo lỗi cho người dùng với kiểu trả về Void Hàm saveUser () lưu thông tin người dùng và cũng có kiểu trả về Void Hàm saveCountry() lưu thông tin quốc gia yêu thích của người dùng, trong khi hàm saveSchool() lưu thông tin trường học liên quan đến user_id.

Void Lưu thông tin trường yêu thích saveMajor() public major_id user_id

Void Lưu thông tin ngành học yêu thích

Giao diện Đăng ký tài khoản giao tiếp với người dùng cuối b) Danh sách thuộc tính

Tên Phạm vi truy cập Kiểu dữ liệu Mô tả email public string Email pasword public string Mật khẩu c) Danh sách phương thức

Tên Phạm vi truy cập Tham số đầu vào Kiểu trả về Mô tả login() public email string pasword string

Void Gửi yêu cầu đăng nhập notifyFailure() public Void Thông báo lỗi cho user

3.5.2.7 Login_Controller a) Mục đích Điều khiển nghiệp vụ đăng nhập tài khoản của người dùng cuối b) Danh sách thuộc tính c) Danh sách phương thức

The article outlines several key functions related to user authentication in a system The `checkAuthentication()` function is public and takes an email and password as input parameters, returning a boolean value that indicates whether the user is authenticated The `redirect()` function is also public and does not return any value, serving the purpose of transitioning the user to a different screen Lastly, the `notifyFailure()` function, which is public as well, provides a mechanism to inform the user of any errors encountered during the authentication process.

Giao diện Tìm kiếm Học bổng b) Danh sách thuộc tính

Bài viết này trình bày các thuộc tính quan trọng trong một hệ thống quản lý thông tin, bao gồm: "country" với kiểu dữ liệu là chuỗi (string) để chỉ quốc gia, "level" để xác định cấp học, "school" để ghi nhận tên trường, "due_date" với kiểu dữ liệu ngày (date) để theo dõi ngày hết hạn, và "major" để chỉ ngành học Danh sách này giúp tổ chức và quản lý thông tin một cách hiệu quả.

Tên Phạm vi truy cập Tham số đầu vào Kiểu trả về Mô tả search() public country string level string school string due_date date major string

List Gửi yêu cầu tìm kiếm với các giá trị nhập

3.5.2.9 Search_Controller a) Mục đích Điều khiển nghiệp vụ tìm kiếm học bổng b) Danh sách thuộc tính c) Danh sách phương thức

Tên Phạm vi truy cập Tham số đầu vào Kiểu trả về Mô tả findScholarship() public country string level string school string due_date date major string

List Tìm kiếm với các giá trị nhập từ cơ sở dữ liệu

Giao diện So sánh Học bổng b) Danh sách thuộc tính

Tên của học bổng là "nameScholarship1" với kiểu dữ liệu là chuỗi (string) và có phạm vi truy cập công khai (public) Đây là thông tin quan trọng để so sánh các học bổng.

Tên Phạm vi truy cập Tham số đầu vào Kiểu trả về Mô tả search() public nameScholarship1 string nameScholarship1 string

List Gửi yêu cầu tìm kiếm với các giá trị nhập

Giao diện hiển thị những học bổng gợi ý b) Danh sách thuộc tính c) Danh sách phương thức

Tên Phạm vi truy cập Tham số đầu vào Kiểu trả về Mô tả showRecommend() public List Gửi yêu cầu xem HB gợi ý

3.5.2.12 Recommendation _Controller a) Mục đích Điều khiển nghiệp vụ gợi ý học bổng b) Danh sách thuộc tính c) Danh sách phương thức

Tên Phạm vi truy cập Tham số đầu vào Kiểu trả về Mô tả findAllNewScholarship() public List

Lấy các học bổng mới từ cơ sở dữ liệu findScholarshipRecommend() private List

Tình toán các giá trị gợi ý để trả về các học bổng phù hợp

Giao diện hiển thị chi tiết Học bổng b) Danh sách thuộc tính

The article outlines a data structure with several key attributes: "rating" is a public integer representing a score between 0 and 5, "message" is a public string that holds user comments, and "is_liked" is a public boolean indicating whether the content is liked or disliked Additionally, "scholarship_id" is a private integer that serves as an identifier for the scholarship The document also mentions a list of methods associated with this data structure.

Hàm getDetail() với phạm vi truy cập public cho phép gửi yêu cầu để lấy thông tin chi tiết về học bổng (scholarship_id) Hàm rating() cũng có phạm vi public, trả về một giá trị kiểu int để đánh giá học bổng Cuối cùng, hàm like() cho phép người dùng xác định trạng thái yêu thích hoặc không thích với kết quả trả về là một giá trị boolean.

The HB class includes several public methods for user interaction: the share() method allows users to share HB content, the comment() method enables users to leave comments on posts, the addToFavorite() method lets users add HB to their favorites list, and the compare() method facilitates comparison requests for HB.

3.5.2.14 Detail_Controller a) Mục đích Điều khiển nghiệp vụ đăng nhập tài khoản của người dùng cuối b) Danh sách thuộc tính c) Danh sách phương thức

Hàm getDetailScholarship() công khai nhận scholarship_id và trả về thông tin chi tiết của học bổng Hàm redirect() chuyển màn hình mà không trả về giá trị Hàm saveInteractive() lưu các thông tin tương tác, trong khi addToFavoriteScholarship() lưu học bổng vào danh sách yêu thích Hàm saveComment lưu bình luận và updateScholarship cập nhật thông tin tương tác.

Giao diện Quản lý thông tin cá nhân b) Danh sách thuộc tính c) Danh sách phương thức

Hàm showProfile() là một phương thức công khai, cho phép người dùng gửi yêu cầu để lấy dữ liệu hồ sơ Trong khi đó, hàm updateProfile cũng là một phương thức công khai, cho phép người dùng gửi yêu cầu cập nhật hồ sơ của mình.

3.5.2.16 Profile_Controller a) Mục đích Điều khiển nghiệp vụ Quản lý thông tin cá nhân b) Danh sách thuộc tính c) Danh sách phương thức

Hàm findAllProfile() là một phương thức công khai, cho phép tìm kiếm tất cả người dùng và trả về đối tượng User Hàm updateProfile cũng là một phương thức công khai, nhận tham số đầu vào là một đối tượng User và thực hiện việc cập nhật các giá trị trong hồ sơ người dùng mà không trả về giá trị nào.

Giao diện Các danh sách yêu thích b) Danh sách thuộc tính c) Danh sách phương thức

Hàm `addCountryFavorite()` cho phép người dùng thêm một quốc gia vào danh sách yêu thích, trong khi hàm `deleteCountryFavorite()` giúp xóa một quốc gia khỏi danh sách yêu thích Bên cạnh đó, hàm `addSchoolFavorite()` cho phép người dùng thêm một trường học vào danh sách yêu thích Tất cả các hàm này đều có phạm vi truy cập công khai và không trả về giá trị.

DS yêu thích deleteSchoolFavorite() public schoolId Void Yêu cầu xóa trường học khỏi

DS yêu thích addMajorFavorite() public nameMajor Void Yêu cầu thêm ngành học vào

DS yêu thích deleteMajorFavorite() public majorId Void Yêu cầu xóa ngành học khỏi

DS yêu thích deleteScholarshipFavorite() public scholarshipId Void Yêu cầu xóa học bổng khỏi DS yêu thích showFavoriteList() public Void Yêu cầu lấy DS yêu thích

3.5.2.18 FavoriteList_Controller a) Mục đích Điều khiển nghiệp vụ Quản lý danh sách yêu thích b) Danh sách thuộc tính c) Danh sách phương thức

Tên Phạm vi truy cập

The provided functions allow users to manage their favorite items in a system The `getScholarshipFavorite()` method retrieves a list of favorite scholarships, while `getCountryFavorite()`, `getMajorFavorite()`, and `getSchoolFavorite()` serve similar purposes for countries, majors, and schools respectively Users can add items to their favorites with `saveCountryFavorite()`, `saveSchoolFavorite()`, and `saveMajorFavorite()`, which add countries, schools, and majors to their favorites list Conversely, the functions `deleteCountryFavorite()`, `deleteSchoolFavorite()`, `deleteMajorFavorite()`, and `deleteScholarshipFavorite()` enable users to remove specific countries, schools, majors, or scholarships from their favorites list.

Giao diện Quản lý nguồn học bổng b) Danh sách thuộc tính

Tên của trang web là `nameWeb`, có kiểu dữ liệu là chuỗi và thuộc phạm vi truy cập công khai Trạng thái hoạt động được xác định bởi `isActive`, cũng là kiểu chuỗi, cho biết trang web đang hoạt động hay không Thông tin về chu kỳ trích rút được lưu trữ trong `crawlPeriod`, với kiểu dữ liệu tương tự Bên cạnh đó, còn có danh sách các phương thức liên quan.

Thiết kế cơ sở dữ liệu

Hình 3.53 Sơ đồ thiết kế cơ sở dữ liệu

Mục đích: Danh sách học bổng

Tên Kiểu dữ liệu Mô tả Có bắt buộc Có Ràng buộc id int Mã học bổng có Khóa chính web_id int Mã trang web (nguồn

Bài viết này mô tả cấu trúc dữ liệu của một hệ thống quản lý thông tin học bổng (HB) Mỗi học bổng bao gồm các trường thông tin như: mã quốc gia (country_id) có khóa ngoại, mã trường (school_id) không có khóa ngoại, tên học bổng (name), hạn đăng ký (time), đường dẫn chính đến bài đăng (url), nội dung bài đăng (content), đường dẫn link ảnh (url_image) không có khóa ngoại, xác định trạng thái hết hạn (is_expired), số lượt xem (number_seen), số lượt bình luận (number_comment) và số lượt chia sẻ (number_share) Các trường này giúp quản lý và theo dõi thông tin liên quan đến học bổng một cách hiệu quả.

Mục đích: Danh sách các quốc gia

Tên Kiểu dữ liệu Mô tả Có bắt buốc Có Ràng buộc id int Mã quốc gia có Khóa chính name string Tên có area string Châu lục có

Mục đích: Danh sách các trường học cung cấp học bổng

Trong cơ sở dữ liệu, kiểu dữ liệu cho các trường bao gồm: "id" là kiểu int, đóng vai trò là mã trường với khóa chính; "name" là kiểu string, dùng để lưu trữ tên; và "country_id" là kiểu int, đại diện cho mã quốc gia với khóa ngoại Các trường này có sự bắt buộc và ràng buộc nhất định trong cấu trúc dữ liệu.

Mục đích: Danh sách các ngành học

Trong cơ sở dữ liệu, kiểu dữ liệu cho mã ngành học được định nghĩa như sau: `id` là kiểu `int`, đại diện cho mã ngành học và được đánh dấu là khóa chính; `parent_id` cũng là kiểu `int`, thể hiện mã ngành học cha nhưng không bắt buộc; `name` là kiểu `string`, dùng để lưu tên ngành học và là trường bắt buộc; cuối cùng, `level` là kiểu `int`, chỉ thứ tự phân cấp của ngành học và cũng là trường bắt buộc.

Mục đích: Thể hiện Học bổng có những Ngành học nào

Tên Kiểu dữ liệu Mô tả Có bắt buộc Có Ràng buộc scholarship_id int Mã HB có Khóa ngoại major_id int Mã Ngành có Khóa ngoại

Mục đích: Thể hiện yêu cầu để HB được chấp nhận

Trong cơ sở dữ liệu, kiểu dữ liệu được định nghĩa như sau: "id" là mã Requirement với kiểu int và là khóa chính; "scholarship_id" là mã HB với kiểu int và có khóa ngoại; "name" là tên yêu cầu với kiểu string; và "value" là giá trị của yêu cầu cũng với kiểu string Tất cả các trường đều có yêu cầu nhất định và có ràng buộc tương ứng.

Mục đích: Thể hiện bậc học mà trường cấp học bổng cung cấp Một HB có nhiều bậc học

Dưới đây là mô tả về các kiểu dữ liệu trong bảng quản lý học bổng: "id" là kiểu int, đại diện cho mã quản trị viên và có khóa chính; "scholarship_id" cũng là kiểu int, là mã học bổng với khóa ngoại; "name" là kiểu string, dùng để lưu tên cấp bậc Tất cả các trường này đều có yêu cầu nhất định về tính bắt buộc và ràng buộc.

Mục đích: Thể hiện giá trị của học bổng Một HB có nhiều mức trợ cấp

Trong cơ sở dữ liệu, kiểu dữ liệu "id" là một số nguyên (int) dùng để lưu trữ mã quản trị viên và được xác định là khóa chính Kiểu dữ liệu "scholarship_id" cũng là một số nguyên (int) và phục vụ để lưu trữ mã học bổng, được thiết lập là khóa ngoại Cuối cùng, kiểu dữ liệu "name" là chuỗi (string) và chứa giá trị của học bổng.

Mục đích: Các thuộc tính của nguồn trích rút: Web

The data type specifications include an integer ID as the primary key for the web code, a unique string URL for the crawled webpage, and a boolean value indicating whether the site is active or deactivated Additionally, there is an integer crawl period representing the duration of the crawl, along with a string type period that defines the time format, such as days.

Tháng, … có last_crawled date Thời điểm crawl cuối cùng có

Mục đích: Bảng liên kết người dùng với quốc gia thể hiện những Quốc gia mà người dùng yêu thích

Trong cơ sở dữ liệu, các kiểu dữ liệu quan trọng bao gồm user_id (int) đại diện cho mã người dùng và country_id (int) cho mã quốc gia, cả hai đều có khóa ngoại Thêm vào đó, is_implicit (boolean) thể hiện giá trị ngầm hiểu, cũng như có các ràng buộc cần thiết.

Mục đích: Bảng liên kết người dùng với trường học thể hiện những Trường học mà người dùng yêu thích

Trong cơ sở dữ liệu, các kiểu dữ liệu quan trọng bao gồm: user_id (int) - mã người dùng, bắt buộc và có khóa ngoại; school_id (int) - mã trường, cũng bắt buộc và có khóa ngoại; và is_implicit (boolean) - giá trị ngầm hiểu, không bắt buộc.

Mục đích: Bảng liên kết người dùng với ngành học thể hiện những Ngành học mà người dùng yêu thích

The article outlines key data types used in a database schema, including user_id as an integer representing the user code, major_id as an integer denoting the major code, and is_implicit as a boolean indicating whether the value is implicit Both user_id and major_id are mandatory and serve as foreign keys, ensuring data integrity and relational connections within the database.

Mục đích: Lưu các thuộc tính tương tác giữa người dùng và bài đăng học bổng Danh sách thuộc tính:

Bảng dữ liệu chứa các trường thông tin quan trọng về học bổng, bao gồm: user_id (mã người dùng) là khóa chính, scholarship_id (mã học bổng) là khóa ngoại, và is_liked (thích) cho biết người dùng có yêu thích học bổng hay không Ngoài ra, còn có rating (đánh giá) từ 0-5, is_in_list_favorite (trong danh sách yêu thích), number_share (số lần chia sẻ), number_comment (số lần bình luận), number_seen (số lần xem), number_click_contact (số lần click vào link chính) và number_compare (số lần chọn so sánh) Tất cả các trường này đều cung cấp thông tin chi tiết về sự tương tác của người dùng với học bổng.

Mục đích: Lưu nội dung bình luận của người dùng ở mỗi bài đăng học bổng, Danh sách thuộc tính:

The data structure includes several key fields: the user_id is an integer representing the primary key for the user; the scholarship_id is also an integer, serving as a foreign key for the scholarship; created_time is a date field indicating the creation time; message is a string that contains the content of the comment; and is_deleted is a boolean that shows whether the comment has been deleted All fields are mandatory and have specific constraints.

Mục đích: Lưu thông tin đăng nhập của các tác nhân

The data structure includes the following fields: an integer 'id' representing the administrator's unique identifier, which serves as the primary key; a unique string 'email' for the login name; a string 'password' for user authentication; a string 'role' indicating the user's status as either ADMIN or USER; and a boolean 'is_active' to determine whether the account is active or deactivated All fields are mandatory and have specific constraints.

Mục đích: Lưu trữ các thông tin của Quản trị viên

Dưới đây là mô tả về các kiểu dữ liệu trong cơ sở dữ liệu: "id" là kiểu dữ liệu int, đại diện cho mã quản trị viên và có khóa chính; "account_id" cũng là kiểu int, thể hiện mã tài khoản và có khóa ngoại; "last_login" là kiểu date, ghi nhận lần cuối đăng nhập của người dùng Tất cả các trường này đều có tính chất bắt buộc và ràng buộc nhất định.

Mục đích: Lưu trữ các thông tin cá nhân của user

Bài viết này mô tả các kiểu dữ liệu trong một bảng, bao gồm: id (int) là mã user và có khóa chính, account_id (int) là mã tài khoản với khóa ngoại, name (string) là tên, phone (string) là số điện thoại không bắt buộc, gender (string) là giới tính không bắt buộc, level (string) là bậc học không bắt buộc, country (string) là quốc gia không bắt buộc, birthday (date) là ngày sinh không bắt buộc, và date_graduation (date) là ngày tốt nghiệp không bắt buộc.

Mục đích: Sử dụng AccessToken để xác thực người dùng

Thiết kế Trích rút dữ liệu

STT Trang web Số lượng Học bổng

Bảng 3.1 Danh sách nguồn trích rút từ trang web Việt Nam

Sau khi tiến hành trích rút dữ liệu từ trang web Việt nam, gặp một số hạn chế sau:

- Các trang web ngừng cập nhật học bổng từ tháng 12 trở đi

- Các trang web với nội dung đan xem tiếng anh và tiếng việt gây khó khăn trong việc thống nhất các thuộc tính

Vì những lý do trên, tôi đã thay thế toàn bộ nội dung trang web bằng tiếng Anh và lựa chọn những học bổng phù hợp cho sinh viên Việt Nam, đặc biệt là các học bổng dành cho sinh viên quốc tế.

STT Trang web Số lượng Học bổng (từ tháng 12)

Bảng 3.2 Danh sách nguồn trích rút từ trang web nước ngoài

Các giá trị thu thập chính a) Đất nước (Country)

Tính đến thời điểm hiện tại, hệ thống trích rút các học bổng của 32 quốc gia Thống kê những học bổng còn hạn nộp đơn như sau:

Hình 3.54 Biểu đồ thống kê số học bổng/quốc gia b) Trường học (School)

Tính đến thời điểm hiện tại, hệ thống trích rút các học bổng của 207 trường học c) Ngành học (Major)

Hệ thống phân loại ngành học hiện có 235 ngành học con, giúp nhóm các ngành này thành những nhóm học bổng lớn hơn Chức năng “Phân loại ngành học” sẽ hỗ trợ trong việc tính toán độ tương đồng giữa các học bổng khác nhau, từ đó xác định loại học bổng (Level) phù hợp.

Có 7 loại học bổng được trích rút như sau:

STT Tên loại bậc học Số lượng HB

Bảng 3.3 Bảng số lượng học bổng/bậc học e) Hỗ trợ (Money)

Chia hỗ trợ ra làm 2 loại:

- Bán phần (Partial Funding): có thêm các thông tin hỗ trợ cụ thể f) Thời hạn nộp đơn (Deadline)

Thời hạn nộp đơn được trích rút từ những học bổng có hạn từ tháng 12 trở đi Định dạng thời gian: yyyy-mm-dd

Hình 3.55 Biểu đồ thể hiện phân bố học bổng theo thời gian

Cài đặt trích rút và lưu trữ

3.7.3.1 Cài đặt trích rút Để trích rút học bổng từ các trang web, hệ thống sử dụng công cụ Scrapy [2] Được biết đến là một framework hữu dụng để thu thập các dữ liệu có cấu trúc từ các trang web, Scrapy cho phép người dùng tạo ra nhiều Spider Class xử lý cho từng trang web :

- Gửi request bằng các url do người dùng yêu cầu và nhận response trả về như một đối số

- Phân tách HTML để lấy thông tin từ response bằng cách sử dụng các bộ chọn (Selector, Xpath, …)

- Có thể trích rút sâu hơn bằng việc gửi các request bằng các url lấy được từ response

- Khi đi qua các pha, dữ liệu được bóc tách từ các Spiders sẽ đến lớp Pipeline để lưu vào cơ sở dữ liệu

Scrapy xử lý các yêu cầu một cách không đồng bộ, cho phép gửi nhiều yêu cầu mà không cần chờ đợi hoàn thành một yêu cầu trước đó Điều này không chỉ giúp tiết kiệm thời gian mà còn cải thiện hiệu suất của hệ thống.

Sử dụng MySQL để lưu trữ dữ liệu sau khi crawl theo thiết kế:

Hình 3.56 Thiết kế csdl lưu trữ dữ liệu trích rút

THIẾT KẾ PHƯƠNG PHÁP GỢI Ý

Giới thiệu hệ thống gợi ý

Khái niệm về hệ thống gợi ý

Hệ thống gợi ý (Recommender System - RS) là phần mềm giúp người tiêu dùng nhận diện sở thích và mối quan tâm đối với sản phẩm, từ đó đưa ra các đề xuất phù hợp RS có khả năng cải thiện chất lượng quyết định của người tiêu dùng trong quá trình tìm kiếm và lựa chọn sản phẩm trực tuyến Hệ thống gợi ý đã chứng minh là công cụ hữu ích cho người dùng để xử lý tình trạng quá tải thông tin, trở thành một trong những công cụ mạnh mẽ và phổ biến nhất trong thương mại điện tử.

Hệ thống gợi ý được thiết kế đặc biệt cho những người dùng thiếu khả năng xác định nhu cầu của bản thân hoặc những ai đang gặp khó khăn trong việc lựa chọn giữa hàng triệu sản phẩm.

So sánh giữa hệ thống tìm kiếm và hệ thống gợi ý:

Hệ thống tìm kiếm Hệ thống gợi ý

Người dùng có thể biết rõ nhu cầu của mình hoặc không, dẫn đến việc tìm kiếm thông tin Đối với những người biết chính xác điều họ muốn, việc cung cấp kết quả chính xác là rất quan trọng Ngược lại, với những người chưa rõ ràng về nhu cầu, việc đưa ra các kết quả có thể phù hợp, mặc dù không hoàn toàn chính xác, lại có thể giúp họ khám phá thêm lựa chọn.

Hệ thống gợi ý được trình bày dưới dạng một bài toán cần giải quyết như sau: Cho:

- Thông tin người dùng (đánh giá, sở thích, nghiên cứu dân số, bối cảnh tình huống)

- Danh sách các vật phẩm (item – có hoặc không có mô tả về các thuộc tính) Nhiệm vụ:

- Tính điểm phù hợp của từng vật phẩm đối với người dùng để trả về một danh sách gợi ý phù hợp nhất

Hình 4.1 Mô hình mô tả hệ thống gợi ý [3]

Các phương pháp gợi ý phổ biến

4.1.2.1 Gợi ý dựa trên lọc cộng tác (Collaborative Recommendation) Ý tưởng cơ bản của hệ thống này là: Nếu những người dùng có cùng sở thích trong quá khứ, thì họ cũng sẽ có thị hiếu tương tự nhau trong tương lai [4]

Nếu người dùng A và người dùng B có lịch sử mua hàng tương đồng và A vừa mua cuốn sách X mà B chưa biết đến, thì một cách gợi ý hiệu quả là đề xuất cuốn sách này cho B.

Hình 4.2 Mô hình gợi ý dựa trên lọc cộng tác [3]

Mô hình này sử dụng thông tin người dùng và bối cảnh gợi ý kết hợp với dữ liệu cộng đồng để xác định và tính toán những người dùng tương tự nhau.

Hệ thống recommendation sử dụng dữ liệu để trả lời câu hỏi "Sản phẩm nào đang được những người có sở thích giống tôi mua?", từ đó cung cấp danh sách vật phẩm phù hợp cho người dùng thông qua thuật toán lọc cộng tác.

4.1.2.2 Gợi ý dựa trên nội dung (Content-based Recommendation)

Hệ thống gợi ý dựa trên nội dung sử dụng các tài liệu hoặc mô tả về các vật phẩm mà người dùng đã xếp hạng trước đó để xây dựng mô hình sở thích của họ Hồ sơ người dùng, được trình bày một cách có cấu trúc, phản ánh sở thích của người dùng và được sử dụng để gợi ý các vật phẩm mới phù hợp.

Quy trình gợi ý dựa trên nội dung chủ yếu là so khớp các thuộc tính từ hồ sơ người dùng với các đặc điểm của sản phẩm Sau đó, thông qua việc đánh giá mức độ tương đồng, hệ thống sẽ sắp xếp và tạo ra danh sách các sản phẩm phù hợp nhất.

Cách tiếp cận này dựa vào thông tin chính xác từ sở thích và vật phẩm của người dùng, không cần một cộng đồng lớn hay lịch sử xếp hạng Điều này có nghĩa là danh sách đề xuất vẫn có thể được tạo ra ngay cả khi chỉ có một người dùng duy nhất.

Hình 4.3 Mô hình gợi ý dựa trên nội dung [3]

Mô hình dựa trên đầu vào là thông tin người dùng và bối cảnh gợi ý (User profile

Hệ thống gợi ý sản phẩm kết hợp các tham số ngữ cảnh với các thuộc tính của vật phẩm, giúp trả lời câu hỏi "Hãy cho tôi xem những sản phẩm giống với những thứ tôi thích" Từ đó, hệ thống cung cấp danh sách các vật phẩm phù hợp cho người dùng.

4.1.2.3 Gợi ý dựa trên tri thức (Knowledge-based Recommendation)

Hệ thống gợi ý dựa trên tri thức là công cụ đề xuất sản phẩm, dựa vào những phân tích về nhu cầu và sở thích của người dùng, giúp cải thiện trải nghiệm mua sắm và tăng cường sự hài lòng của khách hàng.

Hình 4.4 Mô hình gợi ý dựa trên cơ sở tri thức [3]

Mô hình dựa trên đầu vào là thông tin người dùng và bối cảnh gợi ý (User profile

Hệ thống gợi ý sản phẩm kết hợp các tham số ngữ cảnh với thuộc tính của sản phẩm và mô hình tri thức Dữ liệu được xử lý để trả lời câu hỏi “Hãy cho tôi xem những sản phẩm phù hợp với nhu cầu của tôi”, từ đó cung cấp danh sách sản phẩm thích hợp cho người dùng.

Thiết kế các chức năng gợi ý học bổng du học

Các chức năng gợi ý học bổng du học sử dụng phương pháp gợi ý dựa trên nội dung (Content-based Recommendation) bởi vì:

Hệ thống xây dựng mới thiếu dữ liệu tương tác người dùng đủ lớn, khiến việc trích xuất thông tin về học bổng từ các trang web trở nên khó khăn do phần lớn dữ liệu bị che giấu Do đó, phương pháp gợi ý dựa trên lọc cộng tác không thể được áp dụng.

Mục đích chính của người dùng khi truy cập hệ thống gợi ý học bổng là tìm kiếm học bổng phù hợp, do đó, việc áp dụng phương pháp gợi ý dựa trên tri thức trở nên không cần thiết.

Dựa trên dữ liệu thu thập từ các trang web, các học bổng đã được phân tích một cách có cấu trúc, với các thuộc tính được xác định rõ ràng và chính xác, nhằm triển khai hiệu quả phương pháp gợi ý dựa trên nội dung.

Hệ thống cung cấp 3 chức năng chính để gợi ý học bổng là:

- Gợi ý học bổng dựa trên hồ sơ người dùng

- Gợi ý học bổng tương tự với học bổng đang xem

- Gợi ý học bổng dựa trên phiên phản hồi của người dùng

Hệ thống gợi ý học bổng hoạt động dựa trên hồ sơ người dùng, với kịch bản khác nhau cho người dùng mới và cũ Đối với người dùng mới, sau khi đăng ký và đăng nhập, hệ thống sẽ hiển thị danh sách gợi ý học bổng trên trang chủ dựa trên thông tin đã cung cấp Đối với người dùng cũ, danh sách học bổng được điều chỉnh phù hợp hơn dựa trên thông tin hồ sơ đã được cải thiện Các bước xây dựng hệ thống gợi ý này là rất quan trọng để nâng cao trải nghiệm người dùng.

Hình 4.5 Mô hình gợi ý dựa trên hồ sơ người dùng

1 Thu thập hồ sơ (sở thích) người dùng

Ban đầu, sở thích người dùng được lấy từ thông tin người dùng nhập khi đăng ký bao gồm:

- Cấp học (Level) mà người dùng mong muốn

- Quốc gia (Country) mà người dùng muốn theo học

- Trường học (School) thuộc quốc gia

- Ngành học (Major) mà người dùng thích

- Thời gian (Deadline) là phù hợp để nộp đơn

Cập nhật sở thích người dùng bằng cách:

Người dùng có thể thêm các thuộc tính như quốc gia, trường học, ngành học, cấp học và thời hạn vào hồ sơ sở thích của mình khi tự thêm vào danh sách yêu thích Những sở thích này sẽ được hiển thị công khai và người dùng có quyền chỉnh sửa chúng.

- Thêm vào hồ sơ sở thích các thuộc tính của HB mà người dùng chọn

“Apply” hoặc HB mà người dùng thêm vào danh sách yêu thích Đây là sở thích ngầm hiểu, người dùng sẽ không thấy

2 Truy vấn danh sách học bổng từ CSDL

Học bổng được truy vấn là học bổng:

- Vẫn còn thời hạn nộp so với thời gian hiện tại khi gợi ý

- Học bổng mới mà người dùng chưa xem trước đó

Các thuộc tính dùng để vector hóa là 6 chiều của vector:

Hồ sơ sở thích của người dùng có dạng:

{country: [4,5], school: [1,4,6], major: [3,6], level: [Bachelor], time : [1970-01-01]}

Sử dụng one-hot encoding để chuyển đổi hồ sơ sở thích thành dạng vector, với mỗi thuộc tính có một từ điển riêng Độ dài của mỗi chiều vector tương ứng với kích thước của từ điển cho từng thuộc tính đó.

Thuộc tính (chiều) Quốc gia sẽ có độ dài 204 vì trên thế giới có tổng cộng 204 quốc gia

Trường học và Ngành học sẽ có độ dài tối đa là 500 ký tự, đảm bảo rằng số lượng trường học và ngành học không vượt quá giới hạn này.

Thuộc tính (chiều) Tài trợ có độ dài là 2: [0,1] tương đương với hỗ trợ một phần và hỗ trợ toàn phần

Thuộc tính (chiều) Bậc học có độ dài 7 vì có 7 giá trị bậc học là:

STT Tên loại bậc học

Riêng thuộc tính Thời hạn được mã hóa theo năm với giá trị = y + m/12 + d/365

Ví dụ country: [4,5] có nghĩa là người dùng yêu thích 2 trường có id =4 và id=5 (id trong bảng csdl country)

 Mã hóa vector có dạng [0,0,0,1,1,0,…,0] (dấu … là 197 giá trị 0)

Tương tự với mã hóa Trường học và ngành học

Ví dụ: level: [Bachelor] có nghĩa người dùng yêu thích bậc học là Bachelor Dựa vào bảng level ở trên Vector mã hóa có dạng: [1,0,0,0,0,0,0,0]

Sau khi mã hóa vector cho từng chiều thì vector cuối thu được là gộp của các vector thuộc tính lại

Khi xây dựng vector cho ngành học, hệ thống sẽ truy vấn sở thích người dùng và bao gồm cả các ngành học cha và con, giúp tăng độ tương đồng giữa các ngành có mối quan hệ Điều này là mục tiêu chính trong việc phát triển chức năng Phân loại ngành học dành cho Quản trị viên Đối với việc tính vector cho học bổng, quy trình tương tự được áp dụng, nhưng mỗi học bổng chỉ có một giá trị cho đất nước và một giá trị cho trường học, do đó vector cho đất nước và trường học sẽ chỉ có một giá trị duy nhất.

Sử dụng độ tương đồng cosine để tính độ tương tự giữa vector người dùng với vector của từng học bổng cho từng thuộc tính:

- a là thuộc tính thuộc A = {country, school, level, major, money}

- 𝒖⃗ là vector của thuộc tính a lấy từ vector người dùng

- 𝒔⃗ là vector của thuộc tính a lấy từ vector của học bổng

- 𝒔𝒊𝒎(𝒖⃗, 𝒔⃗ )𝒂∈𝑨 gọi là độ tương tự của người dùng u và học bổng s với thuộc tính a

Trong trường hợp tính độ tương tự đối với thuộc tính thời hạn nộp đơn, các thuộc tính này được quy đổi theo giá trị năm Cụ thể, nếu y1 - y2 = 1, tức là y1 cách y2 một năm Do đó, các tính độ tương tự của thuộc tính này được xác định dựa trên khoảng cách thời gian giữa các năm.

Trong hệ thống đánh giá học bổng, mỗi thuộc tính có mức độ quan trọng khác nhau trong việc tính toán độ tương tự Cụ thể, trọng số được áp dụng cho từng giá trị thuộc tính như sau: trọng số quốc gia là 0.2, trọng số trường học là 0.2, trọng số ngành học là 0.3, trọng số cấp độ học là 0.2, trọng số tiền học bổng là 0.05 và trọng số thời gian là 0.05.

Sau khi tính toán độ tương tự cho từng thuộc tính, giá trị độ tương tự sẽ được nhân với trọng số tương ứng của từng thuộc tính Kết quả cuối cùng sẽ là một giá trị tổng hợp.

Từ danh sách kết quả độ tương tự của từng người dùng se lấy ra n=6 học bổng có độ tương tự lớn nhất để gợi ý cho người dùng

Gợi ý dựa trên học bổng đang xem a) Kịch bản gợi ý

Người dùng sẽ xem được gợi ý học bổng tương tự ở màn hình xem chi tiết một học bổng nào đó b) Các bước xây dựng

Hình 4.6 Mô hình gợi ý dựa trên học bổng đang xem

Các bước xây dựng gợi ý cho người dùng tương tự như quy trình dựa trên hồ sơ cá nhân Tuy nhiên, trong kịch bản này, các thuộc tính của hồ sơ người dùng được thay thế bằng các thuộc tính của học bổng mà người dùng đang tìm hiểu.

Gợi ý dựa trên phản hồi a) Kịch bản gợi ý

Trên màn hình Xem chi tiết học bổng, người dùng có thể không thích một giá trị thuộc tính nào đó, thêm giá trị mới theo ý muốn và nhấn “See more based on feedback” để nhận gợi ý học bổng dựa trên phản hồi của mình.

Hình 4.7 Hội thoại dựa trên phản hồi b) Các bước xây dựng

Hình 4.8 Mô hình gợi ý dựa trên phản hồi

Phản hồi của người dùng trả về bao gồm:

- Giá trị dislike: Ví dụ dislike thuộc tính Country = Denmark

- Giá trị thay thế và thêm mới của thuộc tính dislike:

Ví dụ thay thế Country = [ US , Canada ]

Học bổng S sẽ được điều chỉnh dựa trên các thuộc tính của nó, loại bỏ và thay thế những giá trị không phù hợp, đồng thời thêm mới các thuộc tính dựa trên phản hồi từ người dùng, tạo thành học bổng S’ Sau đó, chúng ta sẽ xây dựng vector cho học bổng S’ và thực hiện so sánh độ tương tự với các học bổng khác, nhằm lựa chọn danh sách học bổng gợi ý có độ tương tự cao nhất.

Kịch bản gợi ý này tận dụng phản hồi của người dùng để điều chỉnh giá trị gợi ý trong phiên hiện tại, từ đó nâng cao chất lượng gợi ý và mang lại trải nghiệm sâu sắc hơn cho người dùng.

CÀI ĐẶT HỆ THỐNG

Ngày đăng: 14/02/2022, 14:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] "Spring Boot," [Online]. Available: https://spring.io/projects/spring-boot Sách, tạp chí
Tiêu đề: Spring Boot
[2] Scrapinghub, Ltd., "Scrapy 2.4 documentation," [Online]. Available: https://docs.scrapy.org/en/latest/index.html Sách, tạp chí
Tiêu đề: Scrapy 2.4 documentation
Tác giả: Scrapinghub, Ltd
[5] "Vue.js," [Online]. Available: https://vuejs.org/ Sách, tạp chí
Tiêu đề: Vue.js
[6] S. Ramírez, "FastAPI," [Online]. Available: https://fastapi.tiangolo.com/ Sách, tạp chí
Tiêu đề: FastAPI
Tác giả: S. Ramírez
[7] Oracle Corporation, "MySQL Documentation," [Online]. Available: https://dev.mysql.com/doc/ Sách, tạp chí
Tiêu đề: MySQL Documentation
Tác giả: Oracle Corporation
[9] "Study Portals Scholarship," [Online]. Available: https://www.scholarshipportal.com/ Sách, tạp chí
Tiêu đề: Study Portals Scholarship
[10] "ScholarshipsAds," [Online]. Available: www.scholarshipsads.com Sách, tạp chí
Tiêu đề: ScholarshipsAds
[11] "Scholarship Positions," [Online]. Available: https://scholarship- positions.com/ Sách, tạp chí
Tiêu đề: Scholarship Positions
[3] D. Jannach, A. Felfernig, G. Friedrich and M. Zanker, Recommender Systems - An Introduction, Cambridge University Press, 2010 Khác
[4] F. Ricci, L. Rokach and B. Shapira, Recommender Systems Handbook, Cambridge University Press, 2011 Khác
[8] X. Bo and B. Izak, E-Commerce Product Recommendation Agents: Use, Characteristics, and Impact, 2007 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.4 Sơ đồ hoạt động quy trình Quản lý profile - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 2.4 Sơ đồ hoạt động quy trình Quản lý profile (Trang 16)
Hình 2.5 Sơ đồ hoạt động quy trình Xem chi tiết bài đăng học bổng - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 2.5 Sơ đồ hoạt động quy trình Xem chi tiết bài đăng học bổng (Trang 17)
Hình 2.6 Sơ đồ hoạt động quy trình So sánh Học bổng - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 2.6 Sơ đồ hoạt động quy trình So sánh Học bổng (Trang 18)
Hình 2.7 Sơ đồ hoạt động của Quản trị viên - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 2.7 Sơ đồ hoạt động của Quản trị viên (Trang 19)
2.3  Sơ đồ usecase - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
2.3 Sơ đồ usecase (Trang 20)
Hình 2.9 Sơ đồ phân rã usecase Xem chi tiết học bổng  Phân rã usecase “Quản lý profile” - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 2.9 Sơ đồ phân rã usecase Xem chi tiết học bổng Phân rã usecase “Quản lý profile” (Trang 21)
Hình 2.11 Sơ đồ phân rã usecase Quản lý nguồn thông tin học bổng - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 2.11 Sơ đồ phân rã usecase Quản lý nguồn thông tin học bổng (Trang 22)
Bảng 2.7 Bảng đặc tả usecase “So sánh” - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Bảng 2.7 Bảng đặc tả usecase “So sánh” (Trang 25)
Hình 3.13 Biểu đồ trình tự cho ca sử dụng “Đăng ký” - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 3.13 Biểu đồ trình tự cho ca sử dụng “Đăng ký” (Trang 36)
Hình 3.18 Biểu đồ trình tự cho ca sử dụng “Xem chi tiết HB” - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 3.18 Biểu đồ trình tự cho ca sử dụng “Xem chi tiết HB” (Trang 38)
Hình 3.17 Biểu đồ trình tự cho ca sử dụng “Xem DS gợi ý” - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 3.17 Biểu đồ trình tự cho ca sử dụng “Xem DS gợi ý” (Trang 38)
Hình 3.19 Biểu đồ trình tự cho ca sử dụng “Quản lý thông tin cá nhân” - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 3.19 Biểu đồ trình tự cho ca sử dụng “Quản lý thông tin cá nhân” (Trang 39)
Hình 3.23 Biểu đồ trình tự cho ca sử dụng “Quản lý tài khoản QTV” - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 3.23 Biểu đồ trình tự cho ca sử dụng “Quản lý tài khoản QTV” (Trang 41)
Hình 3.25 Biểu đồ trình tự cho nghiệp vụ “Trích rút dữ liệu tự động” - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 3.25 Biểu đồ trình tự cho nghiệp vụ “Trích rút dữ liệu tự động” (Trang 42)
Hình 3.33 Thiết kế giao diện Tìm kiếm của người dùng - Xây dựng hệ thống gợi ý và hỗ trợ tìm kiếm học bổng du học
Hình 3.33 Thiết kế giao diện Tìm kiếm của người dùng (Trang 48)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w