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

Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học

99 35 0

Đ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

Tiêu đề Xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Tác giả Nguyễn Thị Thùy Dương
Người hướng dẫn TS. Nguyễn Nhật Quang
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 99
Dung lượng 10,04 MB

Cấu trúc

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

Nội dung

GIỚI THIỆU ĐỀ TÀI

Lý do chọn đề tài

Hiện nay, 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 nhiều học sinh, sinh viên và cả những người đã đi làm Nhu cầu học tập, tiếp thu kiến thức, phát triển bản thân và khám phá nền văn hóa mới là những lý do chính khiến nhiều người lựa chọn con đường này để có những trải nghiệm phong phú.

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 bớt gánh nặng tài chính 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 giữa hàng trăm thông tin trên các trang web khác nhau là một thách thức Do đó, tôi đã quyết định nghiên cứu đề tài “Xây dựng 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 uy tín 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 cung cấp thông báo lỗi khi người dùng không nhập đủ các trường bắt buộc, khi thông tin nhập vào không đúng định dạng, hoặc khi địa chỉ email đã tồn tại trong cơ sở dữ liệu.

Hệ thống tạo tài khoản cần thông báo lỗi rõ ràng khi gặp sự cố Khi khách hàng đăng ký thành công, tài khoản mới sẽ được lưu trữ và người dùng có thể 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 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, yêu cầu họ thực hiện hành động nhập lại Nếu thông tin đăng nhập không chính xác, hệ thống sẽ hiển thị thông báo lỗi về email và/hoặc mật khẩu Khi thông tin đăng nhập hợp lệ, hệ thống sẽ lưu trữ thông tin người dùng, tạo phiên hoạt động và lưu trạng thái, cho phép người dùng truy cập các chức năng theo 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

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

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

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: 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, nhằm tổ chức và quản lý hiệu quả các hệ thống con.

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 đến các đối tượng nghiệp vụ từ các phương tiện lưu trữ dữ liệu là một phần quan trọng trong ứng dụ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

Dưới đây là thông tin về các trường dữ liệu trong hệ thống: Tên (name) là kiểu dữ liệu chuỗi (string) dùng để lưu tên người dùng; Email (email) cũng là chuỗi (string) để lưu địa chỉ email; Mật khẩu (password) là chuỗi (string) để bảo mật thông tin; Giới tính (gender) lưu trữ thông tin về giới tính dưới dạng chuỗi (string); Số điện thoại (phone) là chuỗi (string) chứa số điện thoại liên lạc; Bậc học hiện tại (level) lưu trữ thông tin học vấn dưới dạng chuỗi (string); Ngày sinh (birthday) và Ngày tốt nghiệp (date_graduate) được định dạng là ngày (date); Danh sách quốc gia yêu thích (list_favorite_country), danh sách trường yêu thích (list_favorite_school), và danh sách ngành học yêu thích (list_favorite_major) đều là các mảng (array) lưu trữ thông tin tương ứng.

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 returns a structured response based on these inputs.

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() với phạm vi truy cập public nhận tham số đầu vào là email kiểu string và trả về kiểu boolean, dùng để kiểm tra xem email đã tồn tại hay chưa Hàm notifyFailure() cũng có phạm vi truy cập public, không nhận tham số và trả về kiểu Void, dùng để thông báo lỗi cho người dùng Hàm saveUser () nhận tham số đầu vào là user kiểu User và trả về kiểu Void, dùng để lưu thông tin người dùng Hàm saveCountry() nhận tham số country_id và trả về kiểu Void, dùng để lưu thông tin quốc gia yêu thích của người dùng Cuối cùng, hàm saveSchool() nhận tham số school_id và user_id, cũng không trả về giá trị nào.

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 functions related to user authentication in a programming context The `checkAuthentication()` function is public and takes two input parameters: `email` (string) and `password` (string), returning a boolean value that indicates whether the user is authenticated The `redirect()` function is also public and has no input parameters, serving to transition the user to a different screen Lastly, the `notifyFailure()` function, which is public as well, does not take any input parameters and is designed to notify 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

Dưới đây là các trường dữ liệu quan trọng trong hệ thống: "country" (quốc gia) với kiểu dữ liệu là chuỗi, "level" (cấp học) cũng là chuỗi, "school" (trường) với kiểu dữ liệu chuỗi, "due_date" (ngày hết hạn) có kiểu dữ liệu là ngày, và "major" (ngành học) với kiểu dữ liệu chuỗi Các trường này cung cấp thông tin cần thiết cho việc quản lý dữ liệu giáo dục.

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 được xác định bởi biến "nameScholarship1", có kiểu dữ liệu là chuỗi (string) và có phạm vi truy cập công khai (public) Biến này được sử dụng để so sánh tên 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 that includes several key fields: "rating," which is a public integer representing a score from 0 to 5; "message," a public string for user comments; "is_liked," a public boolean indicating whether the content is liked or disliked; and "scholarship_id," a private integer serving as a unique identifier Additionally, it mentions a list of associated methods for handling these data points.

Hàm getDetail() có phạm vi truy cập công khai, nhận tham số scholarship_id và trả về thông tin chi tiết về học bổng Hàm rating() cũng có phạm vi công khai, trả về kiểu số nguyên int để đánh giá học bổng Cuối cùng, hàm like() có phạm vi công khai, trả về kiểu boolean để xác định người dùng có thích hay không thích học bổng.

The HB share() function allows users to share content, while the HB comment() function enables them to leave comments on posts Additionally, the addToFavorite() function lets users add HB to their favorites list, and the compare() function provides the capability to request a comparison of 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()` với phạm vi công khai nhận tham số `scholarship_id` và trả về thông tin chi tiết của học bổng Hàm `redirect()` cũng có phạm vi công khai và không trả về giá trị nào, được sử dụng để chuyển màn hình Hàm `saveInteractive()` cho phép lưu các thông tin tương tác và cũng không trả về giá trị Hàm `addToFavoriteScholarship()` cho phép người dùng lưu học bổng vào danh sách yêu thích mà không trả về giá trị Hàm `saveComment` dùng để lưu bình luận và trả về thông điệp, trong khi hàm `updateScholarship` được sử dụng để lưu các thông tin tương tác mà không có giá trị trả về.

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() có phạm vi truy cập public, nhận tham số đầu vào là user và trả về kiểu dữ liệu User, dùng để gửi yêu cầu lấy dữ liệu hồ sơ Hàm updateProfile cũng có phạm vi truy cập public, nhận tham số đầu vào là user: User và không trả về giá trị (Void), dùng để gửi yêu cầu cập nhật hồ sơ.

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() có phạm vi truy cập công khai, trả về danh sách tất cả người dùng (User ) Hàm updateProfile cũng có phạm vi công khai, nhận tham số đầu vào là một đối tượng user (User ) và không trả về giá trị (Void), dùng để cập nhật các thông tin trong hồ sơ.

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 này Tương tự, hàm `addSchoolFavorite()` cho phép thêm trường học vào danh sách yêu thích của người dùng Các hàm này đều sử dụng tham số đầu vào tương ứng 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 article outlines various public methods for managing favorite items in a scholarship application The methods include `getScholarshipFavorite()`, `getCountryFavorite()`, `getMajorFavorite()`, and `getSchoolFavorite()`, which retrieve lists of favorite scholarships, countries, majors, and schools, respectively To modify favorites, the methods `saveCountryFavorite()`, `saveSchoolFavorite()`, and `saveMajorFavorite()` are used to add countries, schools, and majors to the favorites list Conversely, `deleteCountryFavorite()`, `deleteSchoolFavorite()`, `deleteMajorFavorite()`, and `deleteScholarshipFavorite()` allow users to remove specific countries, schools, majors, and scholarships from their favorites.

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 xác định với kiểu dữ liệu là chuỗi (string) và có phạm vi truy cập công khai (public) Trạng thái hoạt động của trang web được biểu thị qua biến "isActive" với giá trị có thể là "active" hoặc "inactive" Thông tin về chu kỳ trích rút được lưu trữ trong biến "crawlPeriod", cũng với kiểu dữ liệu chuỗi (string).

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 id int Mã học bổng có buộ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 thông báo học bổng (HB), bao gồm các trường thông tin quan trọng như mã quốc gia (country_id), mã trường (school_id), 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 ảnh (url_image), 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) Những thông tin này giúp người dùng dễ dàng theo dõi và tương tác với các cơ hội học bổng.

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" với kiểu int, là mã trường có khóa chính; "name" với kiểu string, đại diện cho tên; và "country_id" với kiểu int, là mã quốc gia có khóa ngoại Tất cả các trường này đều là bắt buộc và có ràng buộc tương ứng.

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

Dữ liệu ngành học bao gồm các thuộc tính như sau: "id" (int) là mã ngành học và là khóa chính, "parent_id" (int) là mã ngành học cha không bắt buộc, "name" (string) là tên ngành học và bắt buộc, cùng với "level" (int) thể hiện thứ tự phân cấp của ngành học, cũng là 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.

Dưới đây là mô tả về các kiểu dữ liệu trong bảng yêu cầu: "id" là kiểu dữ liệu số nguyên (int) và là khóa chính, đại diện cho mã yêu cầu; "scholarship_id" cũng là kiểu số nguyên (int) và là khóa ngoại, thể hiện mã học bổng; "name" là kiểu chuỗi (string) dùng để lưu tên yêu cầu; và "value" là kiểu chuỗi (string) chứa giá trị của yêu cầu Tất cả các trường này đều có tính bắt buộc và ràng buộc nhất định.

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.

Tên kiểu dữ liệu bao gồm: id (int) - mã quản trị viên và là khóa chính, scholarship_id (int) - mã HB và là khóa ngoại, và name (string) - tên cấp bậc Các trường id và scholarship_id là bắt buộc và có 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 để xác định mã quản trị viên, và đây là khóa chính Kiểu dữ liệu "scholarship_id" cũng là một số nguyên (int) và đóng vai trò là khóa ngoại Cuối cùng, kiểu dữ liệu "name" là một chuỗi (string) chứa giá trị của học bổng Tất cả các trường này đều có thể có hoặc không có ràng buộc.

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

The article describes a data structure with specific fields: the 'id' field is an integer that serves as the primary key for the web code; the 'url' field is a string that provides a unique link to the crawled website; the 'is_active' field is a boolean indicating whether the site is active or deactivated; the 'crawl_period' field is an integer representing the crawling interval; and the 'type_period' field is a string that specifies the time format, such as days All fields are mandatory and subject to constraints.

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, kiểu dữ liệu bao gồm các trường như sau: user_id (int) là mã người dùng và là khóa ngoại; country_id (int) là mã quốc gia và cũng là khóa ngoại; is_implicit (boolean) biểu thị giá trị ngầm hiểu Tất cả các trường này đều có tính bắt buộc và ràng buộc nhất định.

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.

Dữ liệu bao gồm các kiểu: 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; is_implicit (boolean) - giá trị ngầm hiểu, 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 describes a data structure with the following fields: "user_id," an integer representing the user code, which is mandatory and serves as a foreign key; "major_id," another integer indicating the major code, also mandatory and functioning as a foreign key; and "is_implicit," a boolean value that signifies whether the value is implicit, which is required as well.

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.

Dưới đây là mô tả các kiểu dữ liệu liên quan đến học bổng: user_id (int) là mã người dùng và bắt buộc có khóa chính; scholarship_id (int) là mã học bổng và cũng có khóa ngoại; is_liked (boolean) cho biết liệu người dùng có yêu thích học bổng hay không; rating (int) là chỉ số đánh giá từ 0 đến 5 và không bắt buộc; is_in_list_favorite (boolean) xác định xem học bổng có trong danh sách yêu thích hay không; number_share (int) là số lần chia sẻ; number_comment (int) là số lần bình luận; number_seen (int) là số lần xem; number_click_contact (int) là số lần nhấp vào link chính; và number_compare (int) là số lần chọn để so sánh.

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 article outlines a data structure with the following fields: `user_id` (int) serves as the primary key representing the user code; `scholarship_id` (int) acts as a foreign key linked to the scholarship code; `created_time` (date) records the creation time; `message` (string) contains the comment content; and `is_deleted` (boolean) indicates whether the entry has been deleted All fields are mandatory, ensuring data integrity and proper relational mapping.

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

The data type names include 'id', which is an integer representing the administrator's unique identifier and serves as the primary key; 'email', a string that must be unique for login purposes; 'password', a string used for authentication; 'role', a string indicating the user's role, which can be either ADMIN or USER; and 'is_active', a boolean that determines 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.

Trong cơ sở dữ liệu, kiểu dữ liệu "id" là một số nguyên (int) đại diện cho mã quản trị viên và có vai trò là khóa chính Kiểu "account_id" cũng là một số nguyên (int) và đóng vai trò là khóa ngoại, liên kết với mã tài khoản Cuối cùng, kiểu "last_login" là một ngày (date) ghi lại thời điểm lần cuối người dùng đăng nhập.

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

Dưới đây là mô tả các kiểu dữ liệu trong cơ sở dữ liệu: id (int) là mã user và là khóa chính; account_id (int) là mã account và là khóa ngoại; name (string) là tên; phone (string) là đ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à đất nước, không bắt buộc; birthday (date) là ngày sinh, không bắt buộc; 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 đã nêu, tôi đã chuyển đổi toàn bộ trang web sang tiếng Anh và thêm vào các lựa chọn lọc cho các học bổng mà sinh viên Việt Nam có thể nộp đơn, chẳng hạn như 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 phân nhóm thành các học bổng lớn hơn để tính toán độ tương đồng giữa các loại học bổng.

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 cho phép các yêu cầu được lên lịch và xử lý một cách không đồng bộ, nghĩa là nó không cần phải chờ đợi một yêu cầu hoàn thành trước khi gửi yêu cầu khác hoặc thực hiện các công việc khác Điều này giúp cải thiện hiệu suất hệ thống một cách đáng kể.

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 Ý

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 và không thể thu thập thông tin về học bổng từ các trang web do phần lớn dữ liệu này 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ỗi người dùng truy cập hệ thống gợi ý học bổng chủ yếu nhằm tìm kiếm một 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 là 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 phương pháp gợi ý dựa trên nội dung hiệu quả.

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 được thiết kế để phục vụ cả 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ẽ dựa trên thông tin đã cung cấp để hiển thị danh sách học bổng phù hợp trên màn hình "Trang chủ" Đối với người dùng cũ, hệ thống sẽ cải thiện gợi ý học bổng dựa trên thông tin hồ sơ đã được cập nhật Các bước xây dựng hệ thống này sẽ đảm bảo tính chính xác và hiệu quả trong việc kết nối người dùng với các cơ hội học bổng thích hợp.

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 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 là công khai và có thể được chỉnh sửa bởi người dù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]}

Tiếp theo, áp dụng one-hot encoding để chuyển đổi hồ sơ sở thích thành dạng vector Mỗi thuộc tính sẽ có một từ điển riêng, và độ 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.

Thuộc tính Trường học và Ngành học 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 học có mối quan hệ Điều này hỗ trợ chức năng phân loại ngành học cho quản trị viên Đối với học bổng, vector được tính tương tự như cho người 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 đất nước và trường học chỉ có một giá trị duy nhất là 1.

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:

- alà 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

Trường hợp tính độ tương tự đối với thuộc tính thời hạn nộp đơn cho thấy rằng các thuộc tính này được quy về giá trị năm, trong đó y1 - y2 = 1 có nghĩa là y1 cách y2 một năm Do đó, các tính độ tương tự được xác định như sau:

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ố cho quốc gia là 0.2, trường học là 0.2, chuyên ngành là 0.3, cấp độ học là 0.2, tiền bạc là 0.05, và thời gian là 0.05.

Sau khi tính toán độ tương tự cho từng thuộc tính, chúng ta sẽ nhân giá trị độ tương tự với trọng số tương ứng của từng thuộc tính Cuối cùng, kết quả 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 gợi ý dựa trên hồ sơ người dùng Tuy nhiên, trong kịch bản này, các thuộc tính của hồ sơ người dùng sẽ được thay thế bằng các thuộc tính của học bổng mà người dùng đang xem xét.

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 ý về các 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 đang xét được gọi là S Dựa trên các thuộc tính của học bổng S, chúng ta sẽ loại bỏ, thay thế và thêm mới các thuộc tính dựa vào phản hồi từ người dùng, tạo ra học bổng S’ Tiếp theo, xây dựng vector cho học bổng S’ và thực hiện so sánh độ tương tự giữa S’ và các học bổng khác để 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 sở thích ngắn hạn của người dùng qua các phản hồi, từ đó điều chỉnh giá trị gợi ý trong phiên hiện tại Điều này không chỉ nâng cao độ chính xác của kết quả gợi ý mà còn mang lại trải nghiệm người dùng sâu sắc hơn.

CÀI ĐẶT HỆ THỐNG

Ngày đăng: 02/09/2021, 19:59

HÌNH ẢNH LIÊN QUAN

7. Hệ thống Chuyển hướng đến màn hình “Danh sách học bổng gợi ý” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
7. Hệ thống Chuyển hướng đến màn hình “Danh sách học bổng gợi ý” (Trang 24)
3. Người dùng Nhập Tên học bổng. Ấn chọn Tìm kiếm (HB1) 4.Hệ thốngTrả về thông tin HB1 được chọn - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
3. Người dùng Nhập Tên học bổng. Ấn chọn Tìm kiếm (HB1) 4.Hệ thốngTrả về thông tin HB1 được chọn (Trang 26)
Người dùng đang ở màn hình chi tiết học bổng. Luồng sự - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
g ười dùng đang ở màn hình chi tiết học bổng. Luồng sự (Trang 27)
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” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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” (Trang 28)
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 - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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 (Trang 28)
Bảng 2.13 Bảng đặc tả usecase “Quản lý thông tin cá nhân” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Bảng 2.13 Bảng đặc tả usecase “Quản lý thông tin cá nhân” (Trang 29)
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 - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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 (Trang 31)
12. Hệ thống Hiển thị màn hình Xác nhận xóa 13.Quản trị viênChọn OK - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
12. Hệ thống Hiển thị màn hình Xác nhận xóa 13.Quản trị viênChọn OK (Trang 31)
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” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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” (Trang 33)
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” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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” (Trang 34)
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” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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” (Trang 35)
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” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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” (Trang 36)
Hình 3.16 Biểu đồ trình tự cho ca sử dụng “So sánh học bổng” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.16 Biểu đồ trình tự cho ca sử dụng “So sánh học bổng” (Trang 38)
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” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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” (Trang 38)
Hình 3.20 Biểu đồ trình tự cho ca sử dụng “Quản lý DS yêu thích” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.20 Biểu đồ trình tự cho ca sử dụng “Quản lý DS yêu thích” (Trang 40)
Hình 3.22 Biểu đồ trình tự cho ca sử dụng “Báo cáo” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.22 Biểu đồ trình tự cho ca sử dụng “Báo cáo” (Trang 41)
Hình 3.24 Biểu đồ trình tự cho ca sử dụng “Phân loại ngành học” - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.24 Biểu đồ trình tự cho ca sử dụng “Phân loại ngành học” (Trang 42)
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 - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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 (Trang 48)
Hình 3.34 Thiết kế giao diện So sánh Học bổng - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.34 Thiết kế giao diện So sánh Học bổng (Trang 49)
Hình 3.36 Thiết kế giao diện Gợi ý dựa trên phản hồi - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.36 Thiết kế giao diện Gợi ý dựa trên phản hồi (Trang 50)
Hình 3.37 Thiết kế giao diện Trang cá nhân - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.37 Thiết kế giao diện Trang cá nhân (Trang 51)
Hình 3.46 Sơ đồ lớp gói Người dùng - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.46 Sơ đồ lớp gói Người dùng (Trang 54)
Hình 3.54 Biểu đồ thống kê số học bổng/quốc gia - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 3.54 Biểu đồ thống kê số học bổng/quốc gia (Trang 75)
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ữ - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
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ữ (Trang 76)
Hình 4.8 Mô hình gợi ý dựa trên phản hồi - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 4.8 Mô hình gợi ý dựa trên phản hồi (Trang 86)
Hình 5.3 Màn hình trang chủ - gợi ý dựa trên sở thích người dùng - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 5.3 Màn hình trang chủ - gợi ý dựa trên sở thích người dùng (Trang 90)
Hình 5.9 Màn hình đăng nhập - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 5.9 Màn hình đăng nhập (Trang 93)
Hình 5.16 Màn hình quản lý tài khoản QTV 5.3 Kết quả kiểm thử - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Hình 5.16 Màn hình quản lý tài khoản QTV 5.3 Kết quả kiểm thử (Trang 96)
Bảng 5.1 Bảng kết quả kiểm thử - Đồ án tốt nghiệp công nghệ thông tin xây dựng hệ thống hỗ trợ tìm kiếm và gợi ý học bổng du học
Bảng 5.1 Bảng kết quả kiểm thử (Trang 96)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN