Đăng ký
Hình 2.4: Modul dành cho quản trị hệ thống
Hệ thống mạng gia sư cung cấp cho người quản trị một cách dễ dàng như: - Người quản trị khi chưa có tại khoản thì tại tài khoản mới; đã có thì đăng
nhập quản trị hệ thống.
- Khi Gia sư tạo hồ sư hay sửa Hồ sơ người quản trị sẽ phê duyệt đồng ý hiển thị hay không hiển thị trên bản đồ;
Chương 3. XÂY DỰNG MẠNG GIA SƯ 3.1 Quy trình xây dựng mạng gia sư
3.1.1 Quy trình tìm gia sư
Yêu cầu tìm gia sư
Tìm thấy
Không tìm thấy
Đăng kí tìm gia sư
Có tài khoản Chưa có tài khoản
Đăng kí Đăng nhập
Gửi thông tin cần gia sư
Hệ thống xử lý
Gửi thông tin cho phụ huynh
Phụ huynh khi có nhu cầu muốn tìm gia sư sẽ truy cập web mạng gia sư để tìm kiếm. Phụ huynh lựa chọn môn học và tìm gia sư phù hợp với yêu cầu.
Nếu tìm thấy gia sư như ý phù hợp với môn học, học phí và trình độ chuyên môn thì phụ huynh sẽ ghi lại mã gia sư vừa chọn rồi báo lại cho hệ thống. Hệ thống sẽ xử lý và trả lại thông tin gia sư mà phụ huynh đã chọn
Nếu chưa tìm thấy gia sư như ý phụ huynh có thể đăng ký tìm gia sư rồi gửi thông tin lại cho hệ thống. Trường hợp phụ huynh chưa có tài khoản thì sẽ phải đăng ký để tạo tài khoản sau đó gửi yêu cầu tìm gia sư. Trường hợp phụ huynh đã có tài khoản thì đăng nhập sau đó đăng ký thông tin yêu cầu gia sư.
Hệ thống sẽ tiếp nhận yêu cầu và xử lý thông tin gia sư mà phụ huynh mong muốn cho phụ huynh.
3.1.2 Quy trình tìm lớp dạy
Yêu cầu tìm lớp
Tìm thấy Không tìm thấy
Đăng kí làm gia sư
Có tài khoản
Chưa có tài khoản
Đăng kí Đăng nhập
Gửi thông tin lớp dạy
Hệ thống xử lý
Gửi thông tin cho gia sư
Gia sư có nhu cầu tìm kiếm lớp dạy sẽ truy cập vào mạng gia sư để tìm kiếm lớp dạy. Gia sư có thể chọn môn dạy và khi vực phù hợp với yêu cầu.
- Nếu tìm thấy lớp phù hợp với yêu cầu như: học phí, môn dạy, khu vực dạy phù hợp thì gia sư sẽ gửi thông tin lớp đã lựa chon cho hệ thống. Hệ thống sẽ giử lại kết quả cho gia sư.
- Nếu chưa tìm thấy gia sư có thể đăng ký tài khoản hoặc có thể đăng nhập hệ thống để hoàn thiện hồ sơ hiện thị thông tin trên web để phụ huynh lựa chọn.
Hệ thống sẽ tiếp nhận và xử lý thông tin của gia sư hoặc lớp phù hợp mà gia sư lựa chọn.
3.2 Phân tích yêu cầu
3.2.1 Lựa chọn công nghệ
- Cơ sở dữ liệu: PostgreSQL và Postgis
- Ngôn ngữ: PHP (Yii) + AngularJS + GoogleMapAPI
PostgreSQL là hệ quản trị cơ sở dữ liệu hỗ trợ mạnh trong việc lưu trữ dữ liệu không gian.[22][23][24]
PostgreSQL kết hợp với module Postgis cho phép người dùng lưu trữ các lớp dữ liệu không gian. Khi sử dụng PostgreSQL, Postgis kết hợp với các phần mềm GIS hỗ trợ hiển thị, truy vấn, thống kê hoặc xử lý dữ liệu không gian.
Hình 3.3: Cơ sở dữ liệu PostgreSQL và Postgis
Là một hệ quản trị cơ sở dữ liệu mạnh, PostgreSQL có các tính năng phức tạp như kiểm soát truy cập đồng thời nhiều phiên bản, khôi phục dữ liệu tại từng thời điểm, quản lý dung lượng bảng, sao chép không đồng bộ, giao dịch lồng nhau, sao lưu trực tuyến hoặc nội bộ, truy vấn phức tạp và tối ưu hóa, và viết trước các khai báo để quản lý và gỡ lỗi.
PostgreSQL hỗ trợ bộ ký tự quốc tế, hỗ trợ bảng mã nhiều byte, Unicode, và cho phép định dạng, sắp xếp và phân loại ký tự văn bản (chữ hoa, thường).
PostgreSQL còn được biết đến với khả năng mở rộng để nâng cao cả về số lượng dữ liệu quản lý và số lượng người dùng truy cập đồng thời..
Hệ thống sử dụng Postgresql và Postgis để lưu trữ và truy vấn dữ liệu không gian: khoảng cách, vị trí của gia sư, của người dùng để phục vụ việc tìm kiếm gia sư và lớp dạy theo khu vực, khoảng cách của gia sư so với lớp dạy và của phụ huynh so với gia sư.
Yii là một framework phát triển ứng dụng Web nên có thể dùng để viết mọi loại ứng dụng Web.[5]
Yii tốt hơn các Framework khác bởi tính hiệu quả, nhiều tính năng. Yii được thiết kế cẩn thận từ ban đầu để đáp ứng nhu cầu phát triển ứng dụng Web nghiêm ngặt. Yii là kết quả của sự kết hợp những gì tốt nhất của các Framework đi trước. Nó là kết quả của kinh nghiệm phát triển ứng dụng Web lâu năm của các tác giả và sự phân tích kỹ lưỡng, tận dụng những điểm mạnh của các Framework khác.
Hình 3.4: Ngôn ngữ Yii framework
Angularjs là một bộ Javascript Framework rất mạnh và thường được sử dụng để xây dựng project Single Page Application (SPA). Nó hoạt động dựa trên các thuộc tính mở rộng HTML (các atributes theo quy tắc của Angular).[6]
Hình 3.5: Ngôn ngữ Angularjs Đây là một mở hoàn
toàn miễn phí và lập trình viên trên thế giới
Framework mã nguồn được hàng ngàn các ưa chuộng và sử dụng.
Framework này được thế hệ Web 2.0 phát triển khá mạnh ở nước ngoài, tuy nhiên ở Việt Nam thì vẫn chưa thông dụng lắm.
Hình 3.6: Google Map API
Google Map là một dịch vụ ứng dụng vào công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google, hỗ trợ nhiều dịch vụ khác của Google đặc biệt là dò đường và chỉ đường; hiển thị bản đồ đường sá, các tuyến đường tối ưu cho từng loại phương tiện, cách bắt xe và chuyển tuyến cho các loại phương tiện công cộng (xe bus, xe khách ...), và những địa điểm (kinh doanh, trường học, bệnh viện…)trong khu vực cũng như khắp nơi trên thế giới.
Map API là một phương thức cho phép 1 website B sử dụng dịch vụ bản đồ của website A (gọi là Map API) và nhúng vào website của mình (site B). Site A ở đây là google map, site B là các website cá nhân hoặc tổ chức muốn sử dụng dịch vụ của google (di chuột, room, đánh dấu trên bản đồ…)[7]
Các ứng dụng xây dựng trên maps được nhúng vào trang web cá nhân thông qua các thẻ javascripts do vậy việc sử dụng API google rất dễ dàng.
Để giảm thời gian và tăng hiệu năng lập trình, sử dụng Angularjs để binding và hiển thị dữ liệu trên Google Map API.
3.2.2 Thiết kế hệ thống
3.2.3 Các chức năng của hệ thống
Hình 3.8: Sơ đồ use-case cho phụ huynh
Hình 3.10: Sơ đồ use-case cho quản trị hệ thống b) Môt tả chức năng
Actor Actor
# Tên Use-case kích Mô tả trường hợp sử dụng
phụ hoạt
1. Đăng nhập Phụ - Phụ huynh, Gia sư, Quản trị hệ huynh, thống muốn xem thông tin lớp, xem Gia sư, thông tin gia sư, xem sổ liên lạc, Quản trị ghi sổ liên lạc.
hệ thống
2. Đăng ký Phụ - Phụ huynh cho có tài khoản phải
Actor Actor
# Tên Use-case kích Mô tả trường hợp sử dụng
phụ hoạt
Gia sư, thông tin gia sư.
Quản trị - Gia sư chưa có hồ sơ hiển thị phải hệ thống đăng kí.
- Người quản trị đăng kí để được cấp quyền quản trị hệ thống.
3. Sổ liên lạc Phụ - Phụ huynh vào xem thông tin tình huynh, hình học sinh của mình sau mỗi
Gia sư buổi dạy.
- Gia sư vào ghi sổ liên lạc của học sinh về tình hình học tập của học sinh sau mỗi buổi dạy.
4. Cập nhật hồ sơ Gia sư - Gia sư cập nhật hồ sơ của mình
gia sư khi có một vài thay đổi như học
phí, địa điểm dạy.
5. Tìm lớp dạy Gia sư - Gia sư có nhu cầu đi dạy thì tìm lớp phù hợp với các yêu cầu và tiêu trí phù hợp hiển thị trên bản đồ. 6. Đăng kí thông Gia sư - Gia sư sau khi đăng kí muốn đi
tin gia sư dạy thì vào mục đăng kí thông tin
cụ thể để hiển thị trên bản đồ.
7. Hiển thị bản Gia sư Phụ - Gia sư sau khi đăng kí thông tin sẽ đồ với thông huynh được hiển thị trên bản đồ cho phụ
tin phụ huynh huynh lựa chọn.
8. Xác định vị trí Phụ Quản - Gia sư muốn xác tìm lớp gia sư hiện tại trên huynh, trị hệ phù hợp xung quanh hay theo bản đồ Gia sư thống khoảng cách thì chọn vị trí của
Actor Actor
# Tên Use-case kích Mô tả trường hợp sử dụng
phụ hoạt
mình với lớp dạy.
- Phụ huynh muốn tìm gia sư gần nhất hay theo khoảng cách thì chọn vị trí của mình với gia sư.
9. Đánh giá, bình Phụ - Phụ huynh có thể đánh giá gia sư
luận huynh, đã dạy cho con mình với các tiêu
Gia sư, chí đã cho. Quản trị
hệ thống
10. Đăng kí tìm Phụ - Khi không tìm thấy gia sư phù gia sư huynh, hợp với yêu cầu phụ huynh có thể
Quản trị đăng kí tìm gia sư.
hệ thống - Quản trị hệ thống sẽ gửi phản hồi lại cho phụ huynh.
11. Cập nhật Phụ - Phụ huynh có thay đổi về thông thông tin phụ huynh tin có thể cập nhật lại.
huynh
12. Xem thông tin Phụ - Khi phụ huynh tìm đúng gia sư chi tiết gia sư huynh theo yêu cầu có thể xem chi tiêt
thông tin của gia sư.
13. Xem thông tin Gia sư - Khi gia sư tìm được lớp phù hợp chi tiết lớp theo yêu cầu có thể xem chi tiết lớp
dạy.
14. Danh sách gia Phụ - Phụ huynh muốn tìm kiếm gia sư sư Top huynh, nổi bật thì sẽ tìm kiếm thông qua
Actor Actor
# Tên Use-case kích Mô tả trường hợp sử dụng
phụ hoạt
hệ thống - Những gia sư có điểm cao và những đánh giá tốt sẽ được quản trị ưu tiên hiển thị
15. Tìm gia sư Phụ - Phụ huynh có thể tìm kiếm gia sư xung quanh huynh xung mình đang sống với khoảng
đây các lựa chọn
16. Xem sổ liên Phụ Gia - Phụ huynh vào xem thông tin tình lạc huynh sư hình học sinh của mình sau mỗi
buổi dạy.
- Gia sư vào ghi sổ liên lạc của học sinh về tình hình học tập của học sinh sau mỗi buổi dạy.
17. Hiển thị lớp Gia sư - Gia sư có thể tìm kiếm lớp dạy
dạy xung xung mình đang sống với khoảng
quanh đây các lựa chọn
18. Danh sách phụ Gia sư, - Gia sư tìm kiếm phụ huynh uy tín huynh uy tín Quản trị có thể tìm thông qua chức năng
hệ thống này.
- Quản trị sẽ liện kê danh sách phụ huynh uy tín.
3.2.4 Thiết kế CSDL nghiệp vụ kiểm tra
3.2.4.1 Mô hình thực thể liên kết
Hình 3.11: Mô hình thực thể liên kết
3.2.4.2 Danh mục các bảng
TT Tên bảng Mô tả
1 Gia_su Gia sư - Lưu trữ thông tin gia sư
2 Phu_huynh Phụ huynh - Lưu trữ thông tin phụ huynh
3 Danh_sach_lop Danh sách lớp – Lưu trữ thông tin lớp cần gia sư
4 Danh_gia Đánh giá – Lưu trữ thông tin đánh giá của phụ huynh, gia sư
5 Binh_luan Bình luận - Lưu trữ thông tin bình luận của phụ huynh, gia sư
6 So_lien_lac Sổ liên lạc – Lưu trữ thông tin từng buổi dạy của học sinh
Bảng 3.2: Mô tả các bảng CSDL nghiệp vụ kiểm tra
1. Gia_su
Tên trường Kiểu dữ liệu Null Key Ghi chú
Id Int(11) Không Primary Mã gia sư
Ho_ten Varchar(256) Không Họ tên
Email Varchar(100) Không Email
Gioi_tinh Tinyint(4) Không Giới tính
Gioi_thieu Text Có Giới thiệu
Hinh_dai_dien_url Text Không Hình đại diện
Dia_chi Text Không Địa chỉ
Bảng 3.3: Mô tả bảng Gia sư
2. Phu_huynh
Tên trường Kiểu dữ liệu Null Key Ghi chú
Id Int(11) Không Primary Mã phụ huynh
Key
Ho_ten Varchar(100) Không Họ tên
Email Varchar(100) Không Email
Sđt Varchar(20) Không Số điện thoại
Dia_chi Varchar(200) Không Địa chỉ
Bảng 3.4: Mô tả bảng Phụ huynh
3. Danh_sach_lop
Tên trường Kiểu dữ liệu Null Key Ghi chú
Id Int(11) Không Primary Mã lớp
Key
Gia_su_id Int(11) Không Reference Mã gia sư
Key
Phu_huynh_id Int(11) Không Reference Mã phụ huynh
Key
Mo_ta Uniqueidentifier Không Mô tả
Dia_chi Nvarchar(400) Không Địa chỉ
Bảng 3.5: Mô tả bảng Danh sách lớp
4. Danh_gia
Tên trường Kiểu dữ liệu Null Key Ghi chú
Id Int(11) Không Primary Mã đánh giá
Key
Gia_su_id Int(11) Không Reference Mã gia sư
Key
Phu_huynh_id Int(11) Không Reference Mã phụ huynh
Key
Diem Float Không Điểm
Mo_ta Text Không Mô tả
Bảng 3.6: Mô tả bảng Đánh giá
5. Binh_luan
Tên trường Kiểu dữ liệu Null Key Ghi chú
Id Int(11) Không Primary Mã bình luận
Key
Gia_su_id Int(11) Không Reference Mã gia sư
Key
Phu_huynh_id Int(11) Không Reference Mã phụ huynh
Key
Lop_id Int(11) Không Reference Mã lớp
Key
Binh_luan Text Không Bình luận
Bảng 3.7: Mô tả bảng Bình luận
Tên trường Kiểu dữ liệu Null Key Ghi chú
Id Int(11) Không Primary Mã sổ liên lạc
Key
Lop_id Int(11) Không Reference Mã lớp
Key
Ngay Date Không Ngày
Noi_dung Text Không Nội dung
Bảng 3.8: Mô tả bảng Sổ liên lạc 3.3 Một số giao diện chương trình
3.3.1 Giao diện chính
3.3.2 Giao diện tìm gia sư
Hình 3.13 Giao diện tìm kiếm gia sư
3.3.3 Giao diện xem hồ sơ gia sư
3.3.4 Giao diện đánh giá, xếp hạng
3.3.5 Giao diện đăng ký tìm gia sư
Hình 3.16 Giao diện đăng kí tìm gia sư
3.3.6 Giao diện xem sổ liên lạc
3.3.7 Giao diện tìm lớp dạy
Hình 3.18 Giao diện tìm lớp dạy
3.3.8 Giao diện xem chi tiêt lớp dạy
Hình 3.19: Giao diện xem chi tiêt lớp dạy
Hình 3.20: Giao diện ghi sổ liên lạc
3.3.10 Giao diện đăng kí làm gia sư
Chương 4. CÀI ĐẶT VÀ THỬ NGHIỆM 4.1 Yêu cầu hệ thống
4.1.1 Phần cứng
- Tốc độ CPU: Tối thiểu 2.4 GHz - Platform: x86 hoặc x64
- Bộ nhớ/ Ram: Tối thiểu 2GB
- Ổ cứng: Tối thiểu 3GB chưa tính dung lượng lưu trữ hệ điều hành - Độ phân giải màn hình: Tối thiểu 1024x768
4.1.2 Phần mềm
- Máy cài hệ điều hành Window xp trở lên - PostgreSQL và Postgis
- PHP yii framework 4.2 Mô hình triển khai
Triển khai trên network. 4.3 Thử nghiệm
4.3.1 Dữ liệu thử nghiệm
Dữ liệu: Thông tin về học sinh, thông tin về phụ huynh và thông tin về gia sư:
- Gia sư có 100 người đăng kí bao gồm thông tin: Họ tên, năm sinh, chuyên môn, quê quán, khu vực dạy, kinh nghiệm.
- Phụ huynh có 100 bao gồm thông tin: Họ tên, địa chỉ, điện thoại. 4.3.2 Đánh giá hệ thống
Xây dựng bộ tiêu chí đánh giá dành cho: - Gia sư: Tìm lớp dễ dàng, thận tiện.
- Phụ huynh: Tìm được giáo viên như ý, dễ dàng có sự phản hồi thường xuyên của gia sư và phụ huynh
KẾT LUẬN Kết quả đạt được
- Tìm hiểu các hệ thống mạng gia sư hiện có trên thế giới và ở Việt Nam. - Xây dựng công cụ tìm kiếm gia sư, lớp dạy trên nền địa lý.
- Cung cấp người học tìm kiếm Gia sư dễ dàng, thuận tiện - Hỗ trợ dạy tìm được học sinh, lớp dạy đúng khả năng. Hướng phát triển tiếp theo
- Tiếp tục hoàn thiện hệ thống tìm kiếm gia sư, lớp dạy. - Tối ưu công cụ tìm kiếm chính xác và nhanh hơn.