Lịch sử giải quyết vấn đề
Hiện nay, Internet được phát triển một cách mạnh mẽ và được phủ tất cả các nơi trên thế giới Cùng với đó, các phần mềm quản lý lớp học ở các nước được ra đời nhằm giúp các giảng viên, học sinh, sinh viên sử dụng dễ dàng hơn và tiếp cận dễ dàng hơn. Đây là các phần mềm được điểm qua như sau:
- Phần mềm quản lý lớp học Mona eLMS : Phần mềm có khả năng lưu trữ không giới hạn và cải tiến bộ nhớ khi có nhu cầu xuất file, thông kê, tìm kiếm Phần mềm cho phép giảng viên có thể xem và xuất file về điểm số và thông tin sinh viên
- Phần mềm quản lý học sinh TeacherKit: cho phép người dùng thêm dữ liệu bằng hình ảnh, điểm danh thông qua scan ảnh Người dùng có thể sử dụng trên các thiết bị thông minh như: iphone, ipad, và tất cả các smartphone hiện nay.
Giảng viên có thể sử dụng phần mềm này để có thể quản lý các sinh viên thông qua các smartphone, hoặc có thể điểm danh sinh viên một cách nhanh chóng
- Phần mềm quản lý khóa học MSF: hổ trợ việc quản lý các thông tin của học sinh như: thông tin cá nhân, điểm danh,… Phần mềm còn được tích hợp tính năng thông báo qua tin nhắn sms, email.
- Phần mềm quản lý lớp học VnResource EBM Pro: Đây được xem là giả pháp tốt cho các việc quản lý học sinh, sinh viên một cách toàn diện Mức phí cho phần mềm này cũng khá thấp, phù hợp với khả năng chi trả của nhiều đơn vị
- Phần mềm quản lý học viên Socrative Teacher: thiết kế thông minh, dễ sử dụng cùng nhiều tính năng việc tìm kiếm trở nên dễ dàng và nhanh chóng
Ngoài ra, phần mềm còn được sử dụng cho việc phân loại học sinh vô cùng nhanh chóng và chính xác.
- Đó là một số phần mềm được tạo ra và sử dụng nhiều nhất ở các trường Vẫn còn một số phần mềm đang từng bước phát triển và cải tiến nhiều chức năng hơn để dễ dàng tiếp cận với những người sử dụng
Mục tiêu đề tài
- Nhằm mục đích phục vụ cho các giảng viên tiện lợi cho việc dạy học và kiểm soát sĩ số của các lớp học Ngoài ra, giảng viên cũng có thể upload điểm số và các bài giảng cho tới các sinh viên
- Các sinh viên có thể sử dụng nhằm mục đích tra cứu điểm học, quản lý thông tin cá nhân và sử dụng tài liệu được cập nhật mỗi ngày
Phương pháp nghiên cứu
- Chọn lọc dữ liệu và xây dựng cơ sở dữ liệu
- Kết nối cấc thành phần để tạo thành một website hoàn chỉnh
- Kiểm thử và đánh giá
- Trình soạn thảo, biên dịch: Visual Studio Code [8]
- XAMPP [9] : Tạo máy chủ Web
- Thư viện cần cài đặt:
Carbon [10] : Xử lý các hàm liên quan đến ngày tháng năm.
Morris [11] : Xử lý các hàm liên quan đến thống kê.
Boostrap [12] : Xây dựng giao diện
Jquery [13] , Popper [14] : Xử lý các thao tác HTML, DOM, sự kiện hoạt ảnh CSS, Ajax.
Database: được xây dựng trên hệ quản trị cơ sở dữ liệu MySQL sử dụng công cụ mã nguồn mở phpMyAdmin [15]
Giới thiệu tổng quát về đề tài.
Chương 2 : Thiết kế, cài đặt giải thuật, biễu diễn cơ sở dữ liệu, trình bày các bước xây dựng hệ thống bằng phương pháp lọc cộng tác.
Chương 3 : Kiểm thử hệ thống và đánh giá độ chính xác, tốc độ của hệ thống.
Trình bày kết quả đạt được và hướng phát triển hệ thống.
Hệ thống thông tin (xây dựng dựa trên nền web) quản lý lớp học phục vụ cho giảng viên, các sinh viên khoa CNTT&TT và các sinh viên khi ra trường, có thể liên lạc với nhau, hoặc xem lại điểm số Các chức năng chính của hệ thống đảm bảo các công việc sau đây:
Quản lý thông tin liên lạc sinh viên hoặc giảng viên, gồm những thông tin cơ bản: mssv/mscb, họ tên, ngày sinh, nơi sinh, địa chỉ liên hệ, email trường, email cá nhân, số điện thoại, mật khẩu để đăng nhập, facebook, zalo
Quản lý điểm số (bao gồm thông tin điểm của : từng môn học, mã lớp môn học, niên khóa, điểm số, điểm chữ,…), để sinh viên tra cứu, giảng viên sẽ cập nhật điểm trên này
Quản lý các thành tích các cuộc thi, các khen thưởng của nhà trường của các sinh viên ( hoặc cựu sinh viên)
Hỗ trợ nhắn tin nội bộ trao đổi giữa sinh viên và giảng viên, và giữa sinh viên với nhau
Bao gồm các tài khoản:
Tài khoản quản trị viên ( Giảng viên của lớp)
Tài khoản cựu sinh viên
3 Mô tả các chức năng chính
Quản trị viên đóng vai trò quan trọng trong việc quản lý thông tin của các tài khoản người dùng
Trong việc quản lý, quản trị viên có quyền cập nhật thêm người dùng mới (thêm , sửa , xóa,…), lưu trữ và phục hồi lại thông tin người dùng
Quản trị viên có thể cập nhật thành tích từ những cuộc thi của sinh viên, những khen thưởng của nhà trường và sắp xếp thành tích điểm của sinh viên theo thứ tự giảm dần
II Quản lý Điểm Số
Chỉ có tài khoản của Quản trị viên có thể cập nhật điểm số và các thành tích cho sinh viên theo từng môn, từng năm học, và niên khóa, các điểm chữ được đánh giá theo từng bậc của nhà trường đưa ra
III Quản Lý tin nhắn trao đổi
Các tài khoản người dùng sẽ được sử dụng chức năng giao tiếp với nhau hoặc với các Giảng Viên và góp ý kiến về việc học, điểm số sau khi tốt nghiệp
Các Giảng viên (hoặc Giảng Viên bộ môn) có thể thông báo các sự kiện, các ngày lễ do Trường (hoặc Khoa) đến các sinh viên
Các Giảng viên cũng có thể sử dụng hệ thống để dạy học trong các trường hợp xấu (dịch bệnh, lũ lụt,…)
2 Giải pháp liên quan đến bài toán
Phía người dùng (Client): sẽ thiết kế giao diện và trang trí bằng các ngôn ngữ: o HTML [1] : là viết tắt của cụm từ Hyper Text Markup Language, có nghĩa là “Ngôn ngữ đánh dấu siêu văn bản” HTML được dùng để thiết lập trang web Vì mỗi website có thể chứa nhiều trang nội dung nên mỗi trang sẽ là một tài liệu HTML.HTML đóng vai trò giúp người dùng có thể định dạng, thiết kế cấu trúc các thành phần của một trang web hay các ứng dụng, heading, links, hoặc phân chia giữa các đoạn văn, …Một tập tin HTML được hình thành từ các phần tử HTML, trong đó nó đã được quy định bởi các cặp thẻ (gọi là tag), và lưu dưới dạng đuôi mở rộng là html hay htm.
Có nhiều tài nguyên hỗ trợ với cộng đồng người dùng vô cùng lớn
Có thể hoạt động mượt mà trên hầu hết mọi trình duyệt hiện nay
Học HTML khá đơn giản
Các markup sử dụng trong HTML thường ngắn gọn, có độ đồng nhất cao
Sử dụng mã nguồn mở, hoàn toàn miễn phí
HTML là chuẩn web được vận hành bởi W3C
Dễ dàng để tích hợp với các loại ngôn ngữ backend (ví dụ như: PHP, Node.js,…)
Chỉ được áp dụng chủ yếu cho web tĩnh Nếu muốn tạo các tính năng động, lập trình viên phải dùng thêm JavaScript hoặc ngôn ngữ backend của bên thứ 3 (ví dụ như: PHP)
Mỗi trang HTML cần được tạo riêng biệt, ngay có khi có nhiều yếu tố trùng lặp như header, footer.
Khó để kiểm soát cách đọc và hiển thị file HTML của trình duyệt (ví dụ, một số trình duyệt cũ không render được tag mới Do đó, dù trong HTML document có sử dụng các tag này thì trình duyệt cũng không đọc được).
Một vài trình duyệt còn chậm cập nhật để hỗ trợ tính năng mới của HTML o CSS [2] : là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML) Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc…
Khả năng tiết kiệm thời gian
Khả năng tải trang nhanh chóng
Dễ dàng khi thực hiện bảo trì
Sở hữu thuộc tính rộng
Khả năng tương thích tốt
CSS hoạt động khác biệt cho từng trình duyệt
Khá khó khăn cho người mới
Định dạng của web có khả năng gặp rủi ro o Javascrip [3] : là ngôn ngữ lập trình được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox, Chrome, … thậm chí các trình duyệt trên thiết bị di động Thường được dùng để: Lập trình website, xây dựng ứng dụng cho website máy chủ, ứng dụng di động, app, trò chơi.
JavaScript là ngôn ngữ lập trình dễ học.
Lỗi của JavaScript dễ phát hiện hơn và vì vậy dễ sửa hơn.
JavaScript hoạt động trên nhiều trình duyệt, nền tảng.
JavaScript giúp website tương tác tốt hơn với khách truy cập.
JavaScript nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác.
Có thể được dùng để thực thi mã độc trên máy tính của người dùng.
Có thể bị triển khai khác nhau tùy từng thiết bị dẫn đến việc không đồng nhất.
Phía máy chủ (Server): o PHP [4] : là một từ viết tắt của cụm từ Hypertext Pre Processor Là một ngôn ngữ lập trình thường được sử dụng để phát triển ứng dụng Những thứ có liên quan đến viết máy chủ, mã nguồn mở hay mục đích tổng quát Ngoài ra, nó còn rât thích hợp để lập trình web và có thể dễ dàng nhúng vào trang HTML Ngày nay, PHP đã chiếm tới hơn 70% web hiện nay, trang web giới thiệu của các công ty như influxwebtechnologies, Monamedia đều được xây dựng bằng WordPress – một mã nguồn được viết bởi ngôn ngữ PHP Bởi những tính năng như tối ưu hóa cho các ứng dụng web Tốc độ load web nhanh, nhỏ gọn, cú pháp giống C và JAVA Rất dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác hiện nay.Ngôn ngữ lập trình PHP đã được xây dựng bởi cộng đồng và trong đó có sự đóng góp to lớn tới từ Zend Inc Là một công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp Đưa ngôn ngữ lập trình này vào quy mô phát triển của các doanh nghiệp, môi trường chuyên nghiệp.
Cú pháp và cấu trúc của PHP tương đối dễ dàng
là nền tảng độc lập Các ứng dụng dựa trên PHP có thể chạy trên mọi hệ điều hành như UNIX, Linux và Windows, v.v.
Ứng dụng dựa trên PHP có thể dễ dàng được tải và kết nối với cơ sở dữ liệu Nó chủ yếu được sử dụng vì tốc độ tải nhanh hơn trên Internet chậm và trong nhiều trường hợp, PHP có tốc độ cao hơn với nhiều ngôn ngữ lập trình khác.
PHP hỗ trợ nhiều thư viện mạnh mẽ để dễ dàng mô-đun chức năng cho việc biểu diễn dữ liệu.
Bản thân PHP không an toàn như nhiều ngôn ngữ khác.
PHP không phù hợp cho các ứng dụng web cần xử lý nội dung lớn
PHP là kiểu Weak type nên có thể dẫn đến dữ liệu và thông tin không chính xác cho người dùng.
Sử dụng các Framework PHP cần học thêm Built-in Function (Các chức năng được tích hợp sẵn trong PHP) để tránh lại viết lại chức năng lần thứ 2.
Việc sử dụng nhiều tính năng của các Framework PHP có thể làm hiệu suất của trang web bị kém đi. o MySQL [5] : là một công cụ có tốc độ cao cùng với tính ổn định tốt Công cụ này dễ sử dụng, lại còn hoạt động được ở nhiều hệ điều hành Ngoài ra, tính bảo mật của MySQL rất mạnh, có thể sử dụng được ở trên nhiều ứng dụng.banner testCloud Server - Giải pháp đám mây giúp vận hành website ổn định, nhanh chóngMySQL đã được sử dụng với mục đích nhằm bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác Có thể nói MySQL là nơi giúp lưu trữ những thông tin của các trang web viết bằng NodeJs, PHP hay Perl, Và cuối cùng, công cụ này có phiên bản được sử dụng hoàn toàn miễn phí.
Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Kiểm Thử, Triển Khai và Bảo Trì
Trình bày kết quả đạt được và hướng phát triển hệ thống.
Website Sinh Viên
Hình 14: Giao diện sinh viên (1)
Hình 15: Giao diện sinh viên (2)
Hình 16: Thông tin cá hân
- Quản lý tổng sinh viên đang giảng dạy
Hình 17: Quản lý tổng sinh viên đang giảng dạy
Hình 18: Quản lý sinh viên từng lớp (1)
- Quản lý từng lớp học (2)
Hình 19: Quản lý từng lớp (2)
- Xem cảnh cáo học vụ tổng sinh viên (hoặc từng lớp)
Hình 20: Cảnh cáo học vụ tổng sinh viên (hoặc từng lớp)
Kết quả đạt được
Xây dựng thành công website Quản Lý Lớp Học có giao diện đơn giản, thân thiện với người dùng.
Xây dựng được nhiều chức năng (thêm, sửa, xóa,…) phục vụ cho giảng viên quản lý sinh viên một cách dễ dàng.
Thiết kế đặt ngưỡng điểm cảnh báo học vụ cho sinh viên bị cảnh cáo học vụ
Tạo lớp học mới, tạo chức năng thêm 1 danh sách sinh viên một cách nhanh chóng và tiện lợi
Hướng phát triển
Xây dựng thêm nhiều chức năng cho website.
Lưu lại lịch sử chỉnh sửa sinh viên.
Nâng cao bảo mật cho website.