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.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.33 Thiết kế giao diện Tìm kiếm của người dùng
Hình 3.35 Thiết kế giao diện Xem chi tiết HB
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
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.43 Thiết kế giao diện Báo cáo
Hình 3.44 Thiết kế giao diện Phân loại ngành học 3.5 Thiết kế chi tiết lớp
Sơ đồ lớp tổng quan
3.5.1.1.Tầng giao diện
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.49 Sơ đồ lớp gói Truy cập và thay đổi DL
Hình 3.50 Sơ đồ lớp gói Gợi ý
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
3.5.2.4.Register_Interface
a) Mục đí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ả
name public string Tên người dùng
email public string Email
pasword public string Mật khẩu
gender public string Giới tính
phone public string Số điện thoại
level public string Bậc học hiện tại
birthday public date Ngày sinh
date_graduate public date Ngày tốt nghiệp
list_favorite_country public array DS quốc gia yêu thích list_favorite_school public array DS trường yêu thích list_favorite_major public array DS ngành học yêu
thích 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ả
register() public name string
email string pasword string gender string phone string level string birthday date date_graduate date list_favorite_country array list_favorite_school array list_favorite_major array
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
Tên Phạm vi
truy cập Tham số đầu vào Kiểu trả về Mô tả
checkEmailExist() public email: string boolean Kiểm tra email đã tồn tại hay chưa
notifyFailure() public Void Thông báo lỗi cho user saveUser() public user: User Void Lưu thông tin user saveCountry() public country_id Void Lưu thông tin quốc gia
user_id saveSchool() public school_id
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
3.5.2.6.Login_Interface
a) Mục đí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
Tên Phạm vi
truy cập Tham số đầu vào Kiểu trả về Mô tả
checkAuthentication() public email string pasword string
boolean Xác thực người dùng
redirect() public Void Chuyển màn
hình
notifyFailure() public Void Thông báo lỗi
cho user
3.5.2.8.Search_Interface
a) Mục đích
Giao diện Tìm kiếm Học bổng. b) Danh sách thuộc tính
Tên Phạm vi truy cập Kiểu dữ liệu Mô tả
country public string Quốc gia
level public string Cấp học
school public string Trường
due_date public date Ngày hết hạn
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ả
search() public country string level string school string due_date date major string
List<Scholarship> 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<Scholarship> Tìm kiếm với các giá trị nhập từ cơ sở dữ liệu 3.5.2.10.Compare_Interface a) Mục đích Giao diện So sánh Học bổng. b) Danh sách thuộc tính
Tên Phạm vi truy cập Kiểu dữ liệu Mô tả
nameScholarship1 public string Tên học bổng so sánh
nameScholarship1 public string Tên học bổng so sá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ả
search() public nameScholarship1 string nameScholarship1 string
List<Scholarship> Gửi yêu cầu tìm kiếm với các giá trị nhập 3.5.2.11.Recommendation_Interface a) Mục đích
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
showRecommend() public List<Scholarship> 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
<Scholarship>
Lấy các học bổng mới từ cơ sở dữ liệu. findScholarshipRecommend() private List
<Scholarship> List <Scholarship> Tình toán các giá trị gợi ý để trả về các học bổng phù hợp 3.5.2.13.Detail_Interface a) Mục đích
Giao diện hiển thị chi tiết Học bổng. b) Danh sách thuộc tính
Tên Phạm vi truy cập Kiểu dữ liệu Mô tả
rating public int Giá trị đánh giá 0-5
message public string Giá trị bình luận
is_liked public boolean like/dislike
scholarship_id private int Mã HB
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ả
getDetail() public scholarship_id Scholarship Gửi yêu cầu lấy thông tin chi tiết về HB rating() public rating: int Void Đánh giá HB
like() public is_like: boolean Void Yêu thích/ Ko thích HB
share() public Void Chia sẻ HB
comment() public message Void Bình luận bài đăng addToFavorite() public Void Thêm HB vào DS Yêu
thích
compare() public Void Yêu cầu so sánh HB
3.5.2.14.Detail_Controller
a) Mục đí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 Tham số đầu vào Kiểu trả về Mô tả
getDetailScholarship() public scholarship_id Scholarship Lấy ra thông tin chi tiết của học bổng
redirect() public Void Chuyển màn
hình
saveInteractive() public Void Lưu các thông tin tương tác addToFavoriteScholarship() public Void Lưu HB vào
danh sách yêu thích
saveComment public message Void Lưu bình luận updateScholarship public Void Lưu các thông
tin tương tac
3.5.2.15.Profile_Interface
a) Mục đích
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
Tên Phạm vi truy
cập Tham số đầu vào Kiểu trả về Mô tả
showProfile() public User Gửi yêu cầu lấy data profile
updateProfile public user:User Void Gửi y/c cập nhật profile
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
Tên Phạm vi truy
cập Tham số đầu vào Kiểu trả về Mô tả
findAllProfile() public User Tìm kiếm tất cả user updateProfile public user:User Void Cập nhật các giá trị
trong profile
3.5.2.17.FavoriteList_Interface
a) Mục đích
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
Tên Phạm vi
addCountryFavorite() public nameCountry Void Yêu cầu thêm quốc gia vào DS yêu thích
deleteCountryFavorite() public countryId Void Yêu cầu xóa quốc gia khỏi DS yêu thích
addSchoolFavorite() public nameSchool Void Yêu cầu thêm trường học vào 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 Tham số
đầu vào Kiểu trả về Mô tả
getScholarshipFavorite() public List<Scholarship> lấy DS yêu thích
getCountryFavorite() public List<Country> lấy DS yêu thích
getMajorFavorite() public List<Major> lấy DS yêu thích
getSchoolFavorite() public List<School> lấy DS yêu thích
saveCountryFavorite() public Country Void thêm quốc gia vào DS yêu thích
deleteCountryFavorite() public CountryID Void xóa quốc gia khỏi DS yêu thích
saveSchoolFavorite() public School Void thêm trường học vào DS yêu thích
deleteSchoolFavorite() public SchoolID Void xóa trường học khỏi DS yêu thích
saveMajorFavorite() public Major Void thêm ngành học vào DS yêu thích
deleteMajorFavorite() public MajorID Void xóa ngành học khỏi DS yêu thích
deleteScholarshipFavorite() public Scholarshi
pID Void xóa học bổng khỏi DS yêu thích
3.5.2.19.SourceManage_Interface
a) Mục đích
Giao diện Quản lý nguồn học bổng. b) Danh sách thuộc tính
Tên Phạm vi truy cập Kiểu dữ liệu Mô tả
nameWeb public string Tên trang web
isActive public string actice/inactive
crawlPeriod public string chu kỳ trích rút
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ả
setActive() public isActive Void Gửi yêu cầu cập nhật giá trị active setCrawlPeriod() public crawlPeriod Gửi yêu cầu cập
nhật chu kì trích rút showAllSource() public Hiển thị tất cả các
nguồn lấy HB
3.5.2.20.SourceManagement_Controller
a) Mục đích
Điều khiển nghiệp vụ Quản lý nguồn 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 đầu vào số Kiểu trả về Mô tả
findAll() public List<Web> Lấy tất cả nguồn HB
update() public web: Web Cập nhật nguồn HB
3.5.2.21.RoleManagement_Interface
a) Mục đích
Giao diện Quản lý admin. b) Danh sách thuộc tính
Tên Phạm vi truy cập Kiểu dữ liệu Mô tả
emailAdmin public string email admin
password public string password admin
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ả
updateAdmin() public isActive Void Gửi yêu cầu cập nhật admin
deleteAdmin() public crawlPeriod Gửi yêu cầu xóa admin
showAllAdmin() public Hiển thị tất cả các
admin
3.5.2.22.RoleManagement_Controller
a) Mục đích
Điều khiển nghiệp vụ Quản lý tài khoản QTV 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 đầu vào số Kiểu trả về Mô tả
findAll() public List<Admin> Lấy tất cả Admin
update() public admin:
Admin Cập nhật Admin
delete() public Xóa Admin
3.5.2.23.ViewReport_Interface
a) Mục đích
Giao diện Xem báo cáo. 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ả
showReport() public Void Gửi yêu cầu xem
các báo cáo
3.5.2.24.ViewReport _Controller
a) Mục đích
Điều khiển nghiệp vụ Xem báo cáo. 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ả
genReport() private Void Tính toán các thống kê
3.5.2.25.Website (Nguồn học bổng)
a) Mục đích
Các thuộc tính của nguồn trích rút: Web b) Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id private int Mã website
name public string Tên miền của website
is_active public boolean is_active = true thì việc trích rút vẫn được thực hiện với website này. is_active = false thì dừng việc trích rút.
crawl_period public int Thời gian tự động trích rút (đơn vị : giờ) type_period public string Dạng thời gian: Ngày, Tháng, … last_crawler public date Thời điểm crawl cuối cùng
3.5.2.26.Scholarship (Học bổng)
a) Mục đích Thực thể Học bổng
b) Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id private int Mã học bổng
web_id public int Mã trang web (nguồn HB)
country_id public int Mã quốc gia
school_id public int Mã trường
name public string Tên HB
time public date Hạn đăng ký HB
url public string Đường dẫn chính đến bài đăng content public string Nội dung bài đăng
url_image public string Đường dẫn link ảnh is_expired public boolean Xác định HB hết hạn number_seen public int Số lượt xem number_comment public int Số lượt bình luận number_share public int Số lượt chia sẻ
3.5.2.27.Country (Quốc gia)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id private int Mã quốc gia
name public string Tên quốc gia
area public string Tên châu lục
3.5.2.28.School (Trường)
Danh sách thuộc tính
id private int Mã trường
name public int Tên trường
3.5.2.29.Major (Ngành học)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id private int Mã ngành học
name public string Tên ngành học
parent_id public int Mã ngành học cha
level public int Cấp độ sâu của ngành học
3.5.2.30.MajorScholarship (Ngành học của học bổng)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
scholarship_id public int Mã học bổng
major_id public int Mã ngành học
3.5.2.31.Money (Giá trị học bổng)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id private int Mã giá trị HB
scholarship_id public int Mã HB
value public string Giá trị nhận được
3.5.2.32.Level (Bậc học)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id private int Mã Bậc học
scholarship_id public int Mã học bổng
name public string Tên bậc học
3.5.2.33.Requirement (Yêu cầu)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id private int Mã yêu cầu
scholarship_id public int Mã học bổng
name public string Tên Yêu cầu
value public string Giá trị yêu cầu
3.5.2.34.ScholarshipInteractive (Tương tác học bổng)
Danh sách thuộc tính
user_id private int Mã người dùng
scholarship_id public int Mã học bổng
is_liked public boolean User yêu thích Học bổng
rating public int chỉ số đánh giá 0-5
is_in_list_favorite public boolean HB có ở trong ds yêu thích number_share public int Số lần chia sẻ
number_comment public int Số lần bình luận
number_seen public int Số lần xem
number_click_contact public int Số lần click vào link chính number_compare public int Số lần chọn so sánh
3.5.2.35.CountryFavorite
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
user_id public int Mã người dùng
country_id public int Mã quốc gia
3.5.2.36.SchoolFavorite (Trường học yêu thích)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
user_id public int Mã người dùng
school_id public int Mã trường
3.5.2.37.Comment (Bình luận)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
user_id public int Mã người dùng
scholarship_id public int Mã học bổng
created_time public date Thời gian tạo
message public string Nội dung bình luận
is_deleted public boolean Đã xóa chưa
3.5.2.38.MajorFavorite (Ngành học yêu thích)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
user_id public int Mã người dùng
major_id public int Mã ngành học
3.5.2.39.User (Người dùng)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id public int Mã người dùng
email public string Email
pasword public string Mật khẩu
gender public string Giới tính
phone public string Số điện thoại
level public string Bậc học hiện tại
birthday public date Ngày sinh
date_graduate public date Ngày tốt nghiệp
3.5.2.40.Admin (Quản trị viên)
Danh sách thuộc tính
Tên Phạm vi Kiểu dữ liệu Mô tả
id private int Mã quản trị viên
email public string email
password private string mật khẩu
3.6 Thiết kế cơ sở dữ liệu
Hình 3.53 Sơ đồ thiết kế cơ sở dữ liệu Bảng dữ liệu “Scholarship”
Mục đích: Danh sách học bổng. Danh sách thuộc tính:
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
HB) có Khóa ngoại
country_id int Mã quốc gia có Khóa ngoại
name string Tên HB có
time date Hạn đăng ký HB có
url string Đường dẫn chính đến
bài đăng có Duy nhất
content string Nội dung bài đăng có url_image string Đường dẫn link ảnh không is_expired boolean Xác định HB hết hạn có number_seen int Số lượt xem có number_comment int Số lượt bình luận có number_share int Số lượt chia sẻ có
Bảng dữ liệu “Country” Mục đích: Danh sách các quốc gia. Danh sách thuộc tính
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ó