Tóm tắt đồ án Xây dựng hệ thống quản lý và theo dõi tiến trình giáo dục

pdf 18 trang thiennha21 14/04/2022 3100
Bạn đang xem tài liệu "Tóm tắt đồ án Xây dựng hệ thống quản lý và theo dõi tiến trình giáo dục", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftom_tat_do_an_xay_dung_he_thong_quan_ly_va_theo_doi_tien_tri.pdf

Nội dung text: Tóm tắt đồ án Xây dựng hệ thống quản lý và theo dõi tiến trình giáo dục

  1. 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 hiện : 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
  2. PHẦN MỞ ĐẦU 1. Tính cấp thiết của đề tài Trong lĩnh vực quản lý giáo dục, sẽ có rất nhiều thông tin cần được quản lý như: Thông tin của sinh viên, tiến trình môn học, điểm danh, điểm, bài tập. Việc truy xuất, bổ sung, điều chỉnh thông tin sẽ thực hiện rất khó khăn và không rõ ràng nếu như vẫn sử dụng phương pháp sổ sách truyền thống. Việc tìm kiếm, thao tác sẽ rất mất nhiều thời gian, độ chính xác kém. Do đó, ứng dụng Tin học để xây dựng lên một hệ thống quản lý và giám sát giáo dục càng trở nên cần thiết. Việc ứng dụng Tin học trong công tác quản lý giáo dục sẽ hỗ trợ người sử dụng quản lý thông tin một cách hiệu quả và toàn diện hơn. Tiết kiệm được thời gian và tài nguyên lưu trữ thông tin. 2. Mục tiêu và 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 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. Ứng dụng được các ngôn ngữ và các thư viện để xây dựng ứng dụng như: PHP, Laravel, HTML, CSS, JavaScript, MySQL và mô hình MVC. 2.2. Nhiệm vụ nghiên cứu • Nghiên cứu framework Laravel và các 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 1
  3. 3. Đối tượng và phạm vi nghiên cứu 3.1. Đối tượng nghiên cứu Hệ thống quản lý và giám sát giáo dục tập trung hướng đến đối tượng là: Sinh viên, cán bộ của lớp, giảng viên hướng dẫn, giảng viên bộ môn, nhân viên quản lý của hệ thống giáo dục. 3.2. Phạm vi nghiên cứu Hệ thống phù hợp với các trường học, trung tâm giáo dục với quy mô nhỏ, vừa và lớn. 4. Kết quả Xây dựng hoàn thiện hệ thống theo giõi tiến trình giáo dục, với một số chức năng chính 5. Phương pháp nghiên cứu Tìm kiếm, thu thập tài liệu liên quan trên Internet, sách báo hỗ trợ cho công việc nghiên cứu. Tham khảo một số đề tài có liên quan. Truy cập và phân tích các chức năng trên các website quản lý giáo dục thực tế. 6. Ý nghĩa khoa học và thực tiễn của đề tài Sự ra đời của hệ thống này không chỉ giải quyết được những khó khăn của các trường học, trung tâm giáo dục trong lĩnh vực quản lý mà còn giúp các học sinh, sinh viên, học viên có thể theo dõi được tiến trình học tập của mình. 7. Bố cục đề tài Chương 1: Cơ sở lý thuyết Chương 2: Phân tích và thiết kế hệ thống. Chương 3: Xây dựng hệ thống 2
  4. CHƯƠNG 1. 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. Tổng quan về HTML 1.2.2. Cách hoạt động của HTML 1.2.3. Tổng quan về CSS 1.2.4. Tầm quan trọng của HTML và CSS trong thiết kế website 1.3. TỔNG QUAN VỀ BOOTSTRAP 1.3.1. Bootstrap là gì? 1.3.2. Tại sao nên dùng Bootstrap? 1.3.3. Cấu trúc và tính năng của Bootstrap 1.4. GIỚI THIỆU VỀ NGÔN NGỮ KỊCH BẢN PHP 1.4.1. Ngôn ngữ PHP 1.4.2. PHP có thể làm được gì? 1.4.3. Tại sao lại chọn PHP? 1.4.4. Những điểm yếu của PHP 1.5. GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 1.5.1. MySQL là gì? 1.5.2. Ưu điểm của MySQL 1.5.3. Nhược điểm của MySQL 1.6. TỔNG QUAN VỀ MÔ HÌNH MVC 1.6.1. MVC là gì? MVC (viết tắt của Model-View-Controller) là một mẫu kiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính. MVC chia một ứng dụng thành ba phần tương tác được với nhau để tách biệt giữa cách thức mà thông tin được xử lý nội hàm và phần thông tin được trình bày và 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 dữ liệu của chương trình phần mềm. Tầm nhìn hay khung nhìn (view) bao 3
  5. gồm các thành phần của giao diện người dùng. Bộ kiểm tra hay bộ điều chỉnh (controller) quản lý sự trao đổi giữa dữ liệu và các nguyên tắc nghề nghiệp trong các thao tác liên quan đến mô hình. 1.6.2. Các thành phần trong mô hình MVC • Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu. Nó sẽ bao gồm các lớp/phương thức xử lý nhiều nghiệp vụ như kết nối cơ sở dữ liệu, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu • View: là nới chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống. • Controller: là nới tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ gồm những lớp/phương thức xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp View. 1.6.3. Luồng xử lý trong mô hình MVC Hình 1.4. Luồng xử lý trong mô hình MVC 4
  6. 1. Đầu tiên, client sẽ gửi một request tới server thông qua Controller. 2. Controller tiếp nhận request, và xử lý luồng đi tiếp theo của yêu cầu. Trong trường hợp chỉ chuyển từ trang này sang trang khác mà không yêu cầu gửi và nhận dữ liệu thì lúc này Controller sẽ chuyển hướng lại cho browser và kết thúc luồng. Lúc này luồng xử lý sẽ đi theo thứ tự 1→6→7→8 theo hình vẽ 1.1. 3. Nếu request của người dùng yêu cầu phải xử lý dữ liệu thì Controller gọi xuống Model để lấy dữ liệu. Lúc này Model sẽ tương tác với database để lấy dữ liệu, dữ liệu được Model gửi về Controller, Controller gọi đến View phù hợp với request kèm theo dữ liệu cho View, View sẽ lắp dữ liệu tương ứng vào HTML và gửi lại một HTML cho Controller sau khi thực hiện xong nhiệm vụ của mình. Cuối cùng Controller sẽ trả kết quả về Browser. Lúc này luồng xử lý sẽ đi từ 1→2→3→4→5→6→7→8 theo hình vẽ 1.1. 4. Nếu request của người dùng chỉ yêu cầu dữ liệu nhưng không chuyển trang thì thay vì Controller sẽ trả dữ liệu về cho View thì Controller sẽ respone lại cho trình duyệt thông qua API, dữ liệu trả về thường sẽ là dạng JSON. Luồng xử lý lúc này sẽ là 1→2→3→4→5→8 theo hình vẽ 1.1. 5
  7. 1.7. TỔNG QUAN VỀ LARAVEL 1.7.1. Giới thiệu về Laravel Laravel là một PHP Framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhắm mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc model- view- controller (MVC). Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu- rõ ràng, một hệ thống đóng gói Modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau 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ý do khiến Laravel được sử dụng rộng rãi đến vậy? Dễ dàng sử dụng Lý do đầu tiên khiến Laravel nhanh chóng được cộng đồng đón nhận và sử dụng nhiều là do nó rất dễ để có thể sử dụng. Ngay cả khi chỉ mới chỉ có những kiến thức cơ bản nhất về lập trình web với PHP thì việc bắt đầu sử dụng Laravel cũng chỉ mất vài giờ là có thể bắt tay vào việc làm một dự án nhỏ. Tài liệu mà Laravel cung cấp trên trang chủ của mình được viết rất rõ ràng và dể hiểu giúp cho bạn nhanh chóng có thể tìm được những gì mình muốn. 6
  8. Xây dựng theo mô hình MVC Laravel được xây dựng và phát triển theo mô hình MVC (Model- View-Controller) nhờ đó mà cấu trúc và cách tổ chức code trong project được sắp xếp một cách hợp lý dễ dàng cho việc duy trì cũng như phát triển về lâu dài. Các tính năng dựng sẵn Bản thân Laravel đã cung cấp cho người dùng rất nhiều các nhóm tính năng giúp quá trình phát triển trở nên nhanh chóng hơn rất nhiều lần. Chỉ với một câu lệnh đơn giản: là đã dựng được cho mình toàn bộ các tính năng như đăng nhập, đăng xuất, đăng kí, quên mật khẩu mà không tốn công code một dòng nào cả. Tất nhiên ta cũng có thể tự mình chỉnh sửa lại logic sao 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 một template enigine có tên là blade, giúp người dùng có thể sử dụng code php bên trong file giao diện của mình một cách thuật lợi và không bị rối mắt như sử dụng cặp thẻ ” ” thông thường: Cộng đồng mạnh mẽ Chắc hẳn trong quá trình làm việc, chúng ta có thể sẽ gặp rất nhiều những vấn đề, những lỗi phát sinh nhưng chưa tìm được câu trả lời. Nhưng may thay nếu sử dụng Laravel, những vướng mắc đấy có thể đã được người khác giải quyết và có thể lập tức sử dụng đáp án đó hoặc nếu không khi ta đặt câu hỏi trên các diễn đàn thì cộng đồng đông đảo người sử dụng Laravel sẽ hỗ trợ giải quyết vấn đề đó. 7
  9. CHƯƠNG 2. 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 năng đăng nhập 2.4.2. Chức năng Quản lý người dùng 2.4.3. Chức năng Quản lý sinh viên 2.4.4. Chức năng Quản lý giảng viên 2.4.5. Chức năng Quản lý khoa và ngành học 2.4.6. Chức năng Quản lý lớp sinh hoạt 2.4.7. Chức năng Quản lý môn học 2.4.8. Chức năng Quản lý học phần của từng môn học 2.4.9. Chức năng Quản lý sinh viên tham gia học phần 2.4.10. Chức năng Quản lý tiến độ sinh viên mỗi học phần 2.5. MÔ HÌNH HÓA YÊU CẦU 2.5.1. Xác định các tác nhân Hệ thống được chia làm hai phân hệ chính: • Phân hệ người quản trị • Phân hệ sinh viên và giảng viên Tác nhân 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 Người quản trị 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 8
  10. 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 trong lớp Quản lý tiến độ của 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 trong lớp Xem & Cập nhật tiến độ của bản thân Tìm kiếm Bảng 2.1. Bảng xác định các 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 quát 2.6. MÔ HÌNH KHÁI NIỆM 2.6.1. Xác định các lớp đối tượng 9
  11. • users: Lớp này chứa các thông tin các tài khoản được đăng nhập vào hệ thống. Bao gồm các thuộc tính: id, email, password, remember_token, role_id, created_at, updated_at. • faculties: Lớp này chứa các thông tin về các khoa và ngành học đang có trên hệ thống. Bao gồm các thuộc tính: id, name, parent_id, created_at, updated_at. • actclasses: Lớp này chứa các thông tin về các lớp sinh hoạt. Bao gồm các thuộc tính: id, name, faculty_id, teacher_id, created_at, updated_at. • teachers: Lớp này chứa các thông tin về các giảng viên. Bao gồm các 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 này chứa các thông tin về các sinh viên đang học tập có trên hệ thống. Bao gồm các 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 này chứa các thông tin về các môn học trên 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 này chứa các thông tin về các nhóm học phần từ mộ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 này chứa các thông tin về sinh viên tham gia học các học phần, các thuộc tính bao gồm: id, student_id, course_id, created_at, updated_at. 10
  12. • chapters: Lớp này chứa thông tin các tiến độ, nhiệm vụ được đề ra để sinh viên giải quyết. Các thuộc tính bao gồm: id, course_id, title, mission, homework, created_at, updated_at. • processes: Lớp này chứa thông tin các tiến trình được tạo ra và đã 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 này chứa thông tin các điểm của sinh viên sau khi hoàn thành bài tập hoặc bài kiểm tra. Các thuộc tính bao gồm: id, process_id, mark, created_at, updated_at. 2.6.2. Biểu đồ lớp biên 2.6.3. Biểu đồ lớp điều khiển 2.6.4. Biểu đồ lớp thực thể 2.6.5. 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
  13. 2.7. MÔ HÌNH HOÁ 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 của sinh viên Hình 2.16. Biểu đồ trình tự cập nhật tiến trình của sinh viên 12
  14. CHƯƠNG 3. 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
  15. 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 các môn học Hình 0.2. Giao diện xem danh sách các môn học Thêm học phần mới 14
  16. Hình 0.3. Giao diện thêm học phần mới 3.2.2. Giao diện phân hệ người dùng: Sinh viên Xem các tiến trình của học phần Hình 0.4. Giao diện xem tiến trình của 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 của giảng viên 15
  17. KẾT LUẬN 1. Kết quả đạt được Xây dựng hệ thống Quản lý và Theo dõi tiến trình giáo dục không đơn thuần chỉ là việc xây dựng mà còn phải tiến hành khảo sát, phân tích, thiết kế hệ thống một cách bài bản, chính xác và sát với thực tế. Xây dựng cơ sở dữ liệu là một bước quan trọng trong quá trình xây dựng hệ thống. Việc xây dựng cơ sở dữ liệu một cách chính xác sẽ giúp cho hệ thống hoạt động chính xác, an toàn và thân thiện với người sử dụng. Đứng trước xu thế phát triển Công nghệ Thông tin mạnh mẽ như hiện nay, việc xây dựng một hệ thống giúp quản lý và theo giõi hoạt động giáo dục và học tập là một điều thiết yếu và mang tính thực tế cao. Qua việc nghiên cứu xây dựng đề tài này , em đã phần nào củng cố được các kiến thức về lập trình và nắm được cách làm thế nào để có thể xây dựng được 1 website. Từ đó làm nền tảng để em có thể xây dựng được những website quản lý quy mô lớn hơn và đa dạng hơn. 2. Một số hạn chế Tuy đã xây dựng hệ thống và hoàn thành các chức năng như đã phân tích. Hệ thống Quản lý và Theo dõi tiến trình giáo dục còn nhiều khuyết điểm cần phải được khắc phục và cải tiến như: • Chưa tìm kiếm được đa từ khoá. • Chưa áp dụng đa ngôn ngữ vào giao diện sử dụng. • Đang tự định nghĩa các quyền theo vai trò thay vì có một chức năng phân quyền riêng. • Chưa xây dựng được API để phát triển sau này. 3. Hướng phát triển của đề tài Đề tài “Xây dựng hệ thống Quản lý và Theo dõi tiến trình giáo dục” cần được mở rộng và cải tiến trên nhiều khía cạnh hơn để hệ 16
  18. thống được hoàn thiện và tăng độ hài lòng của người dùng hơn. Trong tương lai, hệ thống cần cải tiến và phát triển như: • Xây dựng được API. • Thêm chức năng phân quyền động. • Thêm các chức năng liên quan như: Điểm danh, đánh giá, tin nhắn trò chuyện trong mỗi học phần. 17