3.1 Yêu cầu đặt ra và mục tiêu 3.1.1 Yêu cầu đặt ra
- Hỗ trợ người dùng: Cho phép người ding đăng ký trở tài khoản, tương tác giữa hai
bên là gia sư và phụ huynh/ học sinh. Di với phụ huynh/ học sinh có thê tìm kiếm và
lựa chọn gia sư, xem xét về các tiêu chí phù hợp bao gồm kinh nghiệm, trình độ học
van, các đánh giá phản hôi từ những học sinh khác. chi phi hoặc lịch trình, ngoài ra còn có thê đánh gia, dé lại những nhận xét từ trải nghiệm thực tế, giúp những học sinh khác
có thé xem xét lựa chọn gia sư. Đối với gia sư, có thé chia sẻ thông tin về trình độ, khả
năng của mình, đăng tai thông tin lớp học về môn day, hình thức, thời khóa biểu mong
muôn.
- Hỗ trợ cho hệ thông quản trị: Hệ thống có thê cho phép phân quyên, cho phép truy cập. xác thực tải khoản, xác minh email đăng ký, chạy tìm kiếm, quản lý các bài đăng
và quản lý khóa tải khoản nếu phát hiện xâm nhập vào tai khoản của người dùng ( sai mật khẩu quá 3 lần khóa tài khoản tạm thời).
- Một tính năng quan trọng va có tính mới trong hệ thông của chúng tôi, đó là tích hợp bản đỏ cho phép tim gia sư trong vòng bán kinh mong muôn. Với tính năng nay, yêu cầu hệ thống có thé cung cấp được vị trí của gia sư và học sinh trên bản đồ. từ đó xác định khoảng cách giữa hai đối tượng. Điều này sé dé dang giúp học sinh tìm kiếm được gia sư trong khu vực ở gan hoặc tìm kiếm được tùy theo địa điểm mà học sinh
mong muốn. Ngoài ra còn có thêm tính năng chỉ đường, hướng dẫn đường đi từ vị trí hiện tại của học sinh đến địa điểm gặp gỡ gia sư và ngược lại.
3.1.2 Mục tiêu
So với các hệ thông kết nói gia sư với học sinh trên thị trường hiện tại, nhóm
chúng tôi muốn mang đến một hệ thống có tính năng mới và độc đáo, một tính năng
hiện chưa được phô biến nhiều bởi các hệ thống trên thị trường. Tính mới của hệ thông chúng tôi nằm ở việc tích hợp tính năng định vị và bản đỏ, cho phép người dùng tim
kiếm đôi tượng minh mong muốn trong phạm vi gan nhất và phù hợp với nhu cầu của
mình. Ngoài ra, chúng tôi còn mong muốn mang đến một trải nghiệm mới mẻ thú vị.
toto
Với sự kết hợp của tính năng định vi bản đô, chúng tôi mong muôn mang đên một trải nghiệm mới mẻ, tạo ra sự kết nồi vả tương tác hiệu quả của người dùng, lựa chọn được nguôn tài nguyên giáo dục phù hợp
Mô hình cơ sở dữ liệu
Sơ đồ hoạt động ( Activity Diagram) là một loại sơ đô trong Mô hình hóa Thống
nhát (UML) được sử dung dé mô tả các hoạt động, quy trình làm việc và luồng điều khiến trong một hệ thông phan mềm. Nó đóng một vai trò quan trọng trong quá trình
xây dựng phát trién phan mềm. Truyền đạt được rõ rang, trực quan va dé hiệu về các thông tin về luông làm việc và quy trình.
Trong dé tài này,sơ đồ hoạt động nhằm mô tả quy trình dé kết nỗi gia sư và học
sinh thông qua hệ thống web- app. Minh hoa được các bước và luông làm việc từ khi người dùng đăng ký tải khoán cho đến khi các đối tượng được ghép đôi. Sơ đỗ hoạt
động bao gôm các quy trình cụ thê sau:
- Dang nhập: Truy cập đăng nhập vào tai khoản người dùng hiện có
i) w
- Hé thông kiêm tra xác thực tài khoản: nều đúng thông tin đăng nhập bao gôm tên đăng nhập, mật khâu thì hệ thông sẽ xác nhận vả thành công đăng nhập, ngược lại khi sai thông tin đăng nhập hệ thông sẽ thông báo không ton tại.
- Sau khi đăng nhập thành công, hệ thông sẽ chuyên hướng tải khoản thuộc đôi tượng đã đăng ký sẵn ( gia sư hoặc phụ huynh/ học sinh).
Hình 4: Minh hoạt các thao tác đầu khi truy cập vào hệ thống
Phụ huynh/ học sinh có các chức năng trình sau:
¢ Thông tin cá nhân: có thé xem và chỉnh sửa/ cập nhật thông tin cá nhân.
e Quản lý lịch học: Xem lịch hoc, yêu cau chỉnh sửa lịch học
® Dang ký khóa học: Trong chức năng nay còn có hai chức nang nhỏ là Tạo khóa muôn học và Yêu câu tham gia khoa học muôn học.
e Tim kiêm gia sư: Tìm kiêm gia sư trong vòng bán kính mong muôn phù hợp với các yêu cau cá nhân như môn học, mức giá, trình độ,...
Trong học tập, giao diện của phía đôi tượng này có thê trao đôi trực tiềp/ online với gia sư, nhận bai giảng, thực hiện các bài tập được gia. Đánh gia gia su sau khi kết thúc một khóa hoc, đề lại các nhận xét, cảm nhận riêng của học sinh về chat
lượng giảng dạy của người gia sư.
Thing Be cá chí Quir 'ý RP bec
Tan bober gà 9 gk
L 4 k thy
+
Tabs rind box tig '
‡ On v ex Số,
š
Hình 5: Các chức năng cơ bản trong tài khoán của phụ huynh/ học sinh
Gia sư có các chức nang sau:
¢ Thông tin cá nhân: Có thê xem và chỉnh sửa/ cập nhật thông tin cá nhân.
e Quản lý lịch dạy: Xem lịch day, báo cáo tiên trình giảng day, tiên trình học tập.
¢ Pang ký khóa dạy: Trong chức năng này có hai chức nang nhỏ là Tạo khóa muôn day và Yêu câu tham gia muôn dạy. Gia sư có the đăng tai thông tin
khóa học ví dụ bao g6m môn học. học phí... . mà gia sư muôn nhận dạy hoặc có thé ứng yêu cau vào các khóa học có sẵn dé tham gia day học.
e Nhận vả phản hồi đăng ký khóa học của phía phụ huynl gia sư: Xem xét
vả chấp nhận hoặc tự chối các yêu cầu từ phía học sinh.
e Tim kiêm người học trong khu vực mong muôn: Tìm kiểm học sinh trong
vòng bán kính mong muôn phủ hợp.
Công việc giảng đạy, người gia sư có thê trao đôi chia sẻ trực tiệp với học sinh bài giảng, hướng dân học tập.
Y nghĩa cac ky hiệu trong sơ do noat dong
Bang 4: Mô ta ký hiệu của so đồ Activity
Ky hiệu Mô tả
Nút Start Cho biết sự bắt đầu của một
‘ quá trình hoặc quy trình công việc
Activity Mô tả một hoạt động trong hệ thông. Các hoạt động này
do các đôi tượng thực hiện
Branch Thê hiện rẻ nhãnh trong + mệnh dé điều kiện
Connector Chi ra hướng dieu khién của hoạt động. Sau khi một
bước trong hoạt động hoàn
26
Hình 7: Sơ đồ Usecase tong quát hệ thống phía Front-end
Khái niệm vê Usecase được Ivar Jacobson đê xuât năm 1992 [2]. nó mô tả ai sử dụng
hệ thống và hệ thống được sử dụng như thé nao, mô tả sự tương tác giữa người sử dụng và hệ thông. Lược dé không tập trung vào việc hệ thống làm thé nao dé đạt được yêu cau
27
va cũng không phải là ban thiết kế chi tiết hay kế hoạch thực hiện. Sơ đồ Usecase là một
công cụ quan trọng trong phân tích vả thiết kế hướng. đôi tượng. Nó được sử đụng dé mô
tả các tác nhân va các chức năng mà hệ thong cung cấp nhằm giúp hiểu rõ các khía cạnh
chính của hệ thông và quan hệ tương tác giữa các thành phần trong hệ thống đó.
Trong một lược đồ Usecase, mỗi chức năng của mỗi hệ thông đều được mô tả bởi một Usecase, mỗi Usecase được thực hiện bởi một hoặc một vài tác nhân (actor) có thé là
người dùng hoặc các hệ thông khác.
Việc thiết kế và xác định các Usecase đóng vai trò rất quan trọng trong quá trình thiết
kế và xây dựng hệ thống. Nó cho phép xác định và biêu diễn các hanh vi và hoạt động ma người dùng hoặc các tác nhân khác có thé thực hiện trong hệ thông, mô tả chức nang
chính mà hệ thông cung cấp. nó mô tả các quan hệ tương tác giữa các tác nhân và chức
năng trong hệ thông. Ngoài ra, sơ đồ Usecase cung cấp cái nhìn tông quan về giao điện
người dùng của hệ thông. Từ đó có chứng minh được rằng, sơ đồ Usecase là một công cụ hữu ich đẻ hiểu và biêu diễn các chức năng của hệ thông một cách tông quan.
Dựa vào mô hình Usecase tông quát, ta xác định Usecase chính có trong hệ thong bao
gom:
+ UC — Đăng nhập + UC — Đăng ký
+ UC — Xác nhận tài khoản + UC — Xác minh email
+ UC ~ Điền thông tin/ hồ sơ
+ UC — Đăng bài đánh giá + UC — Report tài khoản
+ UC - Tim gia sư theo định vj + UC - Quan lý
+ UC - Khóa tạm thời tài khoản
+ UC = Phân quyền
+ UC - Cung cấp vị trí
* Đặc ta Usecase có trong hệ thống
1. Usecase đăng nhập
Tác nhân chính: Admin, Phụ huynh/ học sinh, Gia sư
Dac tả: Cho phép đăng nhập tài khoản vào hệ thống
Các bước thực hiện:
BI: Chọn đăng nhập
B2: Hệ thống hiên thị form đăng nhập và yêu cầu nhập tên người dùng va mật
khâu
B3: Người dùng nhập tên người dùng và mật khâu và nhắn đăng nhập
B4: Hệ thống nhận thông tin đăng nhập của người dùng và xác nhận thông tin có
hợp lệ hay không
BS: Hệ thống thông báo đăng nhập thành công/ Hệ thông báo lỗi khi đăng nhập sai
thông tin tải khoản sẵn có
Bó: Người dùng thoát khỏi chức năng đăng nhập 1. Usecase đăng ký
Tác nhân chính: Phụ huynh/ học sinh, Gia su
Đặc tả: Usecase cho phép người dùng đăng ký tải khoản mới trên hệ thống, có thẻ là phụ huynh/ học sinh, có thê là gia sư
Các bước thực hiện:
BI: Chọn đăng ký
B2: Người dùng nhập các thông tin cá nhân của mình như tên đăng nhập, mật
khẩu, email, số điện thoại, địa chi, ....
B3: Lựa chọn đối tượng muôn đăng kỷ : Gia sư/ Học sinh
B4: Hệ thông kiêm tra tính hợp lệ của thông tin đăng ky của người dùng. Kiểm tra tính day đủ của các thông tin, nếu không day đủ yêu cầu nhập lại hoặc bổ sung
BS: Sau khi hoàn tat các thông tin hệ thống sẽ nhận và lưu thông tin của người
ding vào cơ sở dữ liệu
B6: Người dùng nhận được thông báo đăng ký thành công và được đăng nhập vào
hệ thông
B7: Kết thúc Usecase
2. Usecase xác nhận tài khoản
Tác nhân chính: Phụ huynh/ học sinh, Gia sư
Đặc tả: Nhằm xác nhận tai khoản của người dùng trong hệ thông
3. Usecase xác minh email
Tac nhan chinh: Phu huynh/ hoc sinh, Gia su
Đặc tả: Nhằm đảm bao địa chi email do người dùng cung cấp là hợp lệ và thuộc sở
hữu của người dùng.
Các bước thực hiện:
BI: Người dùng nhập địa chỉ email vào một biéu mẫu của hệ thống B2: Hệ thống kiêm tra email có đúng định dạng hay là không
B3: Một email được gửi tới địa chỉ mà người dùng đã cấp, chứa mã xác minh hoặc liên kết
B4: Người dùng nhập mã xác minh hoặc liên kết vào hệ thống BS: Hoan tat xác minh va chờ hệ thống xử lý lỗi
4. Usecase điền thông tin/ hồ sơ
Tác nhân chính: Phụ huynh/ học sinh, Gia sư
Đặc tả: Cho phép người dùng nhập và cập nhật thông tin cá nhân hoặc hồ sơ của mình trong hệ thông.
Các bước thực hiện:
BI: Truy cập và đăng nhập tài khoản sẵn có vào hệ thống
B2: Chọn điền thông tin và cập nhật cá thông tin mong muốn vào biểu mẫu của hệ thong
B3: Xác nhận cập nhật thông tin đã thay đôi
B4: Hệ thống nhận và xử lý các thông tin thay đồi.
5. Usecase đăng bài đánh giá
Tác nhân chính: Phụ huynh/ học sinh
Đặc tả: Cho phép người dùng cụ thé là phụ huynh/ học sinh có thé dé lại các đánh
giá/ nhận xét đôi với gia sư
Các bước thực hiện:
BI: Truy cập hệ thống bằng ứng dụng hoặc trang web B2: Đăng nhập vào hệ thông
B3: Chọn đăng bai đánh giá
B4: Điền các thông tin và nội dung cần thiết cho bài đánh giá. Có thể bao gồm
tiêu dé, nội dung, đính kẻm hình ảnh liên quan tới bài đánh giá,...
BS: Xác nhận và gửi bai đánh giá
30
B6: Hệ thông sẽ nhận thông tin bài đánh giá và kiểm tra. Thông báo có thẻ là “ Đánh giá thành công” hoặc “ Có lỗi xảy ra, vui lòng thử lại”
6. Usecase report tài khoản
Tác nhân chính: Phụ huynh/ hoc sinh, Gia sư
Đặc tả: Báo cáo một tài khoản nao đó có tính chất quan ngại hoặc vi phạm hệ thông
Các bước thực hiện:
BI: Truy cập hệ thống
B2: Đăng nhập vào hệ thông
B3: Tìm kiểm tài khoản cần báo cáo bằng cách duyệt qua các danh sách tài khoản có sẵn hoặc sử dụng chức năng tìm kiếm dé tìm kiếm tai khoản cụ thê
B4: Nhập thông tin báo cáo bao gồm nội dung vi phạm, mô ta van dé và bat kỳ thông tin khác liên quan, đính kèm tệp (nếu có) ví dy hình ảnh, tệp âm thanh hoặc
tài liệu
BS: Xác nhận thông tin báo cáo
B6: Hệ thống sẽ nhận thông tin báo cáo và kiểm tra. Thông báo có thé là * Báo cáo đã được gửi thành công” hoặc có lỗi xảy ra, vui lòng thử lại"
7. Usecase tìm gia sư theo định vị
Tác nhân chính: Phụ huynh/ học sinh
Đặc tả: Cho phép phụ huynh/ học sinh tìm kiếm và kết nỗi các gia sư trong vòng bán
kính mong muôn.
Các bước thực hiện:
BI: Truy cập vào hệ thống.
B2: Nhập yêu cau tìm gia sư với những thông tin chỉ tiết bao gồm môn hoe, lớp.
thời gian, học phi....
B3: Hệ thống dựa vào thông tin yêu cầu định vị và liệt kê các danh sách gia sư
phù hợp với như cau của người tìm kiếm.
B4: Người dùng có thể chọn và liên hệ với gia sư phù hợp với yêu cầu sau đó
liên hệ với gia sư qua các phương thức liên lac đã được cai đặt sẵn ở thông tin của gia
sư.
§. Usecase quản lý
Tác nhân chính: Quản trị viên
31
Đặc tả: Cho phép quản trị viên quản lý các hoạt động, cau hình, bảo mật của toàn hệ thông
9. Usecase khóa tạm thời tài khoản Tác nhân chính: Quản trị viên
Đặc tả: Cho phép quản trị viên khóa tạm thời một tài khoản nào đó trong hệ thống 10. Usecase phân quyên
Tác nhân chính: Quản trị viên
Đặc tả: Quản trị viên được quyền phân quyên truy cập và quyền hạn cho người dùng trong hệ thống
11.Usecase cung cấp vị trí
Tác nhân chính: Phụ huynh/ học sinh, Gia sư
Đặc tả: Cho phép người dùng khác hoặc hệ thông biết được vị trí hiện tại của người
dùng.
Các bước thực hiện:
BI: Khởi tại yêu cầu cung cấp vị trí ( từ người dùng hoặc hệ thông khác) và lay dir liệu vị trí từ các nguồn như GPS....
B2: Hệ thống xử lý và tính toán dựa trên dir liệu thu thập được B3: Trả về vị trí chính xác của đối tượng
3.2 Back-end
Back-end đóng vai trò quan trọng trong việc duy trì sự hoạt động của một trang
web, hiên thị dữ liệu của trang web và xử lí các dữ liệu đấy như thé nào. Phan Back-
ủ a x a ‘ . , ` “ * ta
end của một trang web bao gôm một máy chủ, một ứng dung và một co sở dữ liệu.
Công việc của Back-end bao gồm xử lý các công việc của sever đó là lấy dir liệu người dùng tương tác với trang web đưa vào cơ sở dữ liệu và ngược lại như truy xuất phan thông tin database, xử lý thông tin đó và sẽ ghi xuống database, gửi trả về cho
client những thông tin đó sau khi đã được xử lý xong.
Xây dựng được sự giao tiếp giữa máy chủ, ứng dụng và cơ sở đữ liệu, Back-end sử
dụng ngôn ngữ PHP đề xây dựng một ứng đụng và các công cụ như MySQL, SQL Server dé tìm kiểm, lưu trữ hoặc thay đôi dir liệu và phục vụ trở lại tới người dùng
trong front-end.
Đề tài sử dung fr
Programming Interfaces) là một tap hợp các giao điện lập trình ứng dụng do Google cung cấp, cho phép các nhà phát triển tích hợp các dịch vụ và chức năng của Google
vao trong ứng dụng của ho. API phục vụ các mục đích khác nhau, như Google Maps
API, Google Drive API, Google Translate API.... Và dé tài này sử dụng API vào
Google Maps API cho việc phát triển chức năng định vi, tim đối tượng trong phạm vi
cho phép.
3.3 Front-end
Front-end là bộ phận phan giao điện hiền thị ra thiết bị Clients hay nó chính là bộ mặt của một Websit. Front-end hoạt động như một cánh cửa của trang web, tat cả ấn tượng của người dùng đều được mang dén trong phân này.
Ngôn ngữ lập trình đôi với Front-end có 3 loại chính bao gom HTML, CSS,
JavaScript. Trong dé tai này, đều sử dung cả 3 ngôn ngữ trên.
HTML là ngôn ngữ đánh dau siêu văn bản được sử dụng dé xây dựng cau trúc và
định dạng các phân tử trên trang web. HTML có thê xác định các phân tử như tiêu đề, đoạn văn bản, hình ảnh,
CSS sử dụng nhăm kiêm soát kiêu dáng, bô cục của các phan tử trong web. Cho
phép xác định mau sắc, kích thước, phông chữ và nhiêu các thuộc tính khác của giao điện.