Mục tiêu nghiên cứu đồ án nhằm hoàn thành tốt chương trình học và bước đầu làm quen với công việc nghiên cứu của một nhà phát triển ứng dụng trên nền tảng website. Xây dựng được một hệ thống quản lý và giám sát giáo dục phù hợp với thực tế hiện nay.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ THEO DÕI TIẾN TRÌNH GIÁO DỤC TĨM TẮT ĐỒ ÁN TỐT NGHIỆP NGÀNH: CƠNG NGHỆ THÔNG TIN (ỨNG DỤNG PHẦN MỀM) Sinh viên thực : Nguyễn Tường Quý Mã sinh viên : K12C04083 Giảng viên hướng dẫn : TS Hồ Văn Phi Khóa đào tạo : 2018 - 2021 Đà Nẵng - 12/2020 PHẦN MỞ ĐẦU Tính cấp thiết đề tài Trong lĩnh vực quản lý giáo dục, có nhiều thông tin cần quản lý như: Thông tin sinh viên, tiến trình mơn học, điểm danh, điểm, tập Việc truy xuất, bổ sung, điều chỉnh thông tin thực khó khăn khơng rõ ràng sử dụng phương pháp sổ sách truyền thống Việc tìm kiếm, thao tác nhiều thời gian, độ xác Do đó, ứng dụng Tin học để xây dựng lên hệ thống quản lý giám sát giáo dục trở nên cần thiết Việc ứng dụng Tin học công tác quản lý giáo dục hỗ trợ người sử dụng quản lý thơng tin cách hiệu tồn diện Tiết kiệm thời gian tài nguyên lưu trữ thông tin Mục tiêu nhiệm vụ nghiên cứu 2.1 Mục tiêu nghiên cứu Nhằm hoàn thành tốt chương trình học bước đầu làm quen với công việc nghiên cứu nhà phát triển ứng dụng tảng website Xây dựng hệ thống quản lý giám sát giáo dục phù hợp với thực tế Ứng dụng ngôn ngữ thư viện để xây dựng ứng dụng như: PHP, Laravel, HTML, CSS, JavaScript, MySQL mơ hình MVC 2.2 Nhiệm vụ nghiên cứu • Nghiên cứu framework Laravel cơng nghệ liên quan • Phân tích thiết kế hệ thống • Tiến hành xây dựng hệ thống Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu Hệ thống quản lý giám sát giáo dục tập trung hướng đến đối tượng là: Sinh viên, cán lớp, giảng viên hướng dẫn, giảng viên môn, nhân viên quản lý hệ thống giáo dục 3.2 Phạm vi nghiên cứu Hệ thống phù hợp với trường học, trung tâm giáo dục với quy mô nhỏ, vừa lớn Kết Xây dựng hoàn thiện hệ thống theo giõi tiến trình giáo dục, với số chức Phương pháp nghiên cứu Tìm kiếm, thu thập tài liệu liên quan Internet, sách báo hỗ trợ cho công việc nghiên cứu Tham khảo số đề tài có liên quan Truy cập phân tích chức website quản lý giáo dục thực tế Ý nghĩa khoa học thực tiễn đề tài Sự đời hệ thống không giải khó khăn trường học, trung tâm giáo dục lĩnh vực quản lý mà giúp học sinh, sinh viên, học viên theo dõi tiến trình học tập Bố cục đề tài Chương 1: Cơ sở lý thuyết Chương 2: Phân tích thiết kế hệ thống Chương 3: Xây dựng hệ thống CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 GIỚI THIỆU TỔNG QUAN VỀ GIAO THỨC HTTP 1.2 TỔNG QUAN VỀ NGÔN NGỮ HTML VÀ CSS 1.2.1 1.2.2 1.2.3 1.2.4 Tổng quan HTML Cách hoạt động HTML Tổng quan CSS Tầm quan trọng HTML CSS thiết kế website 1.3 TỔNG QUAN VỀ BOOTSTRAP 1.3.1 Bootstrap gì? 1.3.2 Tại nên dùng Bootstrap? 1.3.3 Cấu trúc tính Bootstrap 1.4 GIỚI THIỆU VỀ NGÔN NGỮ KỊCH BẢN PHP 1.4.1 1.4.2 1.4.3 1.4.4 Ngơn ngữ PHP PHP làm gì? Tại lại chọn PHP? Những điểm yếu PHP 1.5 GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 1.5.1 MySQL gì? 1.5.2 Ưu điểm MySQL 1.5.3 Nhược điểm MySQL 1.6 TỔNG QUAN VỀ MƠ HÌNH MVC 1.6.1 MVC gì? MVC (viết tắt Model-View-Controller) mẫu kiến trúc phần mềm để tạo lập giao diện người dùng máy tính MVC chia ứng dụng thành ba phần tương tác với để tách biệt cách thức mà thông tin xử lý nội hàm phần thơng tin trình bày tiếp nhận từ phía người dùng Trong mơ hình MVC, mơ hình (model) tượng trưng cho liệu chương trình phần mềm Tầm nhìn hay khung nhìn (view) bao gồm thành phần giao diện người dùng Bộ kiểm tra hay điều chỉnh (controller) quản lý trao đổi liệu nguyên tắc nghề nghiệp thao tác liên quan đến mơ hình 1.6.2 Các thành phần mơ hình MVC • Model: nơi chứa nghiệp vụ tương tác với liệu hệ quản trị sở liệu Nó bao gồm lớp/phương thức xử lý nhiều nghiệp vụ kết nối sở liệu, truy vấn liệu, thêm – xóa – sửa liệu… • View: nới chứa giao diện nút bấm, khung nhập, menu, hình ảnh… đảm nhiệm nhiệm vụ hiển thị liệu giúp người dùng tương tác với hệ thống • Controller: nới tiếp nhận yêu cầu xử lý gửi từ người dùng, gồm lớp/phương thức xử lý nhiều nghiệp vụ logic giúp lấy liệu thông tin cần thiết nhờ nghiệp vụ lớp Model cung cấp hiển thị liệu cho người dùng nhờ lớp View 1.6.3 Luồng xử lý mơ hình MVC Hình 1.4 Luồng xử lý mơ hình MVC Đầu tiên, client gửi request tới server thông qua Controller Controller tiếp nhận request, xử lý luồng yêu cầu Trong trường hợp chuyển từ trang sang trang khác mà không yêu cầu gửi nhận liệu lúc Controller chuyển hướng lại cho browser kết thúc luồng Lúc luồng xử lý theo thứ tự 1→6→7→8 theo hình vẽ 1.1 Nếu request người dùng yêu cầu phải xử lý liệu Controller gọi xuống Model để lấy liệu Lúc Model tương tác với database để lấy liệu, liệu Model gửi Controller, Controller gọi đến View phù hợp với request kèm theo liệu cho View, View lắp liệu tương ứng vào HTML gửi lại HTML cho Controller sau thực xong nhiệm vụ Cuối Controller trả kết Browser Lúc luồng xử lý từ 1→2→3→4→5→6→7→8 theo hình vẽ 1.1 Nếu request người dùng yêu cầu liệu không chuyển trang thay Controller trả liệu cho View Controller respone lại cho trình duyệt thông qua API, liệu trả thường dạng JSON Luồng xử lý lúc 1→2→3→4→5→8 theo hình vẽ 1.1 1.7 TỔNG QUAN VỀ LARAVEL 1.7.1 Giới thiệu Laravel Laravel PHP Framework mã nguồn mở miễn phí, phát triển Taylor Otwell nhắm mục tiêu hỗ trợ phát triển ứng dụng web theo cấu trúc model- view- controller (MVC) Những tính bật Laravel bao gồm cú pháp dễ hiểu- rõ ràng, hệ thống đóng gói Modular quản lý gói phụ thuộc, nhiều cách khác để truy cập vào sở liệu quan hệ, nhiều tiện ích khác hỗ trợ việc triển khai vào bảo trì ứng dụng Hình 0.5 Framework Laravel 1.7.2 Lý khiến Laravel sử dụng rộng rãi đến vậy? Dễ dàng sử dụng Lý khiến Laravel nhanh chóng cộng đồng đón nhận sử dụng nhiều dễ để sử dụng Ngay có kiến thức lập trình web với PHP việc bắt đầu sử dụng Laravel vài bắt tay vào việc làm dự án nhỏ Tài liệu mà Laravel cung cấp trang chủ viết rõ ràng dể hiểu giúp cho bạn nhanh chóng tìm muốn Xây dựng theo mơ hình MVC Laravel xây dựng phát triển theo mơ hình MVC (ModelView-Controller) nhờ mà cấu trúc cách tổ chức code project xếp cách hợp lý dễ dàng cho việc trì phát triển lâu dài Các tính dựng sẵn Bản thân Laravel cung cấp cho người dùng nhiều nhóm tính giúp q trình phát triển trở nên nhanh chóng nhiều lần Chỉ với câu lệnh đơn giản: dựng cho tồn tính đăng nhập, đăng xuất, đăng kí, qn mật mà khơng tốn cơng code dịng Tất nhiên ta tự chỉnh sửa lại logic cho hợp với nhu cầu sử dụng cá nhân Blade template Ở phần view, Laravel cung cấp sẵn cho người dùng template enigine có tên blade, giúp người dùng sử dụng code php bên file giao diện cách thuật lợi không bị rối mắt sử dụng cặp thẻ ”” thông thường: Cộng đồng mạnh mẽ Chắc hẳn trình làm việc, gặp nhiều vấn đề, lỗi phát sinh chưa tìm câu trả lời Nhưng may thay sử dụng Laravel, vướng mắc người khác giải sử dụng đáp án không ta đặt câu hỏi diễn đàn cộng đồng đơng đảo người sử dụng Laravel hỗ trợ giải vấn đề CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 KHẢO SÁT HỆ THỐNG 2.2 XÁC ĐỊNH YÊU CẦU CỦA HỆ THỐNG 2.3 MÔ TẢ CHI TIẾT CHỨC NĂNG HỆ THỐNG 2.4 PHÂN TÍCH YÊU CẦU CỦA HỆ THỐNG 2.4.1 Chức đăng nhập 2.4.2 Chức Quản lý người dùng 2.4.3 Chức Quản lý sinh viên 2.4.4 Chức Quản lý giảng viên 2.4.5 Chức Quản lý khoa ngành học 2.4.6 Chức Quản lý lớp sinh hoạt 2.4.7 Chức Quản lý môn học 2.4.8 Chức Quản lý học phần môn học 2.4.9 Chức Quản lý sinh viên tham gia học phần 2.4.10 Chức Quản lý tiến độ sinh viên học phần 2.5 MƠ HÌNH HĨA U CẦU 2.5.1 Xác định tác nhân Hệ thống chia làm hai phân hệ chính: • Phân hệ người quản trị • Phân hệ sinh viên giảng viên Tác nhân Người quản trị Trường hợp sử dụng Đăng nhập Quản lý người dùng Quản lý sinh viên Quản lý giảng viên Quản lý khoa & ngành Quản lý môn học Quản lý học phần Quản lý sinh viên tham gia học phần Quản lý tiến độ sinh viên Thống kê Tìm kiếm Đăng nhập Cập nhật thơng tin Giảng viên Xem danh sách sinh viên lớp Quản lý tiến độ sinh viên Tìm kiếm Đăng nhập Cập nhật thông tin Sinh viên Xem danh sách sinh viên lớp Xem & Cập nhật tiến độ thân Tìm kiếm Bảng 2.1 Bảng xác định tác nhân 2.5.2 Các trường hợp sử dụng Hình 2.1 Biểu đồ trường hợp sử dụng tổng qt 2.6 MƠ HÌNH KHÁI NIỆM 2.6.1 Xác định lớp đối tượng • • • • • • • • users: Lớp chứa thông tin tài khoản đăng nhập vào hệ thống Bao gồm thuộc tính: id, email, password, remember_token, role_id, created_at, updated_at faculties: Lớp chứa thơng tin khoa ngành học có hệ thống Bao gồm thuộc tính: id, name, parent_id, created_at, updated_at actclasses: Lớp chứa thông tin lớp sinh hoạt Bao gồm thuộc tính: id, name, faculty_id, teacher_id, created_at, updated_at teachers: Lớp chứa thông tin giảng viên Bao gồm thuộc tính: id, name, gender, profile, user_id, dob, birthplace, religion, folk, id_card_no, id_card_date, id_card_place, addres, created_at, updated_at students: Lớp chứa thông tin sinh viên học tập có hệ thống Bao gồm thuộc tính: id, name, student_no, dob, gender, actclass_id, user_id, profile, birthplace, religion, folk, id_card_no, id_card_date, id_card_place, father_name, father_phone, mother_name, mother_phone, address, created_at, updated_at subjects: Lớp chứa thông tin mơn học hệ thống Các thuộc tính bao gồm: id, name, profile, credit, description, faculty_id, created_at, updated_at courses: Lớp chứa thơng tin nhóm học phần từ mơn học Các thuộc tính bao gồm: id, name, teacher_id, subject_id, start_date, end_date, location, created_at, updated_at enrollments: Lớp chứa thông tin sinh viên tham gia học học phần, thuộc tính bao gồm: id, student_id, course_id, created_at, updated_at 10 • • • 2.6.2 2.6.3 2.6.4 2.6.5 chapters: Lớp chứa thông tin tiến độ, nhiệm vụ đề để sinh viên giải Các thuộc tính bao gồm: id, course_id, title, mission, homework, created_at, updated_at processes: Lớp chứa thông tin tiến trình tạo cập nhật trạng thái Các thuộc tính bao gồm: id, enrollment_id, chapter_id, homework_file, complete_time, status marks: Lớp chứa thông tin điểm sinh viên sau hoàn thành tập kiểm tra Các thuộc tính bao gồm: id, process_id, mark, created_at, updated_at Biểu đồ lớp biên Biểu đồ lớp điều khiển Biểu đồ lớp thực thể Biểu đồ lớp mức phân tích Hình 0.2 Biểu đồ lớp mức phân tích 11 2.7 MƠ HÌNH HỐ HÀNH VI 2.7.1 Biểu đồ trình tự đăng nhập Hình 2.15 Biểu đồ trình tự đăng nhập 2.7.2 Biểu đồ trình tự cập nhật tiến trình sinh viên Hình 2.16 Biểu đồ trình tự cập nhật tiến trình sinh viên 12 CHƯƠNG XÂY DỰNG HỆ THỐNG 3.1 KẾT QUẢ ĐẠT ĐƯỢC Đăng nhập hệ thống Hình 3.1 Giao diện đăng nhập hệ thống 13 3.2 GIAO DIỆN HỆ THỐNG 3.2.1 Giao diện phân hệ người quản trị Xem danh sách sinh viên Hình 0.1 Giao diện xem danh sách sinh viên Xem danh sách mơn học Hình 0.2 Giao diện xem danh sách môn học Thêm học phần 14 Hình 0.3 Giao diện thêm học phần 3.2.2 Giao diện phân hệ người dùng: Sinh viên Xem tiến trình học phần Hình 0.4 Giao diện xem tiến trình học phần 3.2.3 Giao diện phân hệ người dùng: Giảng viên Trang khởi động Hình 0.5 Giao diện hệ thống giảng viên 15 KẾT LUẬN Kết đạt Xây dựng hệ thống Quản lý Theo dõi tiến trình giáo dục khơng đơn việc xây dựng mà phải tiến hành khảo sát, phân tích, thiết kế hệ thống cách bản, xác sát với thực tế Xây dựng sở liệu bước quan trọng trình xây dựng hệ thống Việc xây dựng sở liệu cách xác giúp cho hệ thống hoạt động xác, an tồn thân thiện với người sử dụng Đứng trước xu phát triển Công nghệ Thông tin mạnh mẽ nay, việc xây dựng hệ thống giúp quản lý theo giõi hoạt động giáo dục học tập điều thiết yếu mang tính thực tế cao Qua việc nghiên cứu xây dựng đề tài , em phần củng cố kiến thức lập trình nắm cách làm để xây dựng website Từ làm tảng để em xây dựng website quản lý quy mô lớn đa dạng Một số hạn chế Tuy xây dựng hệ thống hoàn thành chức phân tích Hệ thống Quản lý Theo dõi tiến trình giáo dục cịn nhiều khuyết điểm cần phải khắc phục cải tiến như: • • • • Chưa tìm kiếm đa từ khố Chưa áp dụng đa ngôn ngữ vào giao diện sử dụng Đang tự định nghĩa quyền theo vai trò thay có chức phân quyền riêng Chưa xây dựng API để phát triển sau Hướng phát triển đề tài Đề tài “Xây dựng hệ thống Quản lý Theo dõi tiến trình giáo dục” cần mở rộng cải tiến nhiều khía cạnh để hệ 16 thống hoàn thiện tăng độ hài lòng người dùng Trong tương lai, hệ thống cần cải tiến phát triển như: • • • Xây dựng API Thêm chức phân quyền động Thêm chức liên quan như: Điểm danh, đánh giá, tin nhắn trò chuyện học phần 17 ... để xây dựng website Từ làm tảng để em xây dựng website quản lý quy mô lớn đa dạng Một số hạn chế Tuy xây dựng hệ thống hoàn thành chức phân tích Hệ thống Quản lý Theo dõi tiến trình giáo dục cịn... tài “Xây dựng hệ thống Quản lý Theo dõi tiến trình giáo dục? ?? cần mở rộng cải tiến nhiều khía cạnh để hệ 16 thống hoàn thiện tăng độ hài lòng người dùng Trong tương lai, hệ thống cần cải tiến phát... Kết đạt Xây dựng hệ thống Quản lý Theo dõi tiến trình giáo dục khơng đơn việc xây dựng mà phải tiến hành khảo sát, phân tích, thiết kế hệ thống cách bản, xác sát với thực tế Xây dựng sở liệu