Avtedu công cụ hỗ trợ và quản lý học vụ tại trường đại học công nghiệp thành phố hồ chí minh

11 0 0
Avtedu   công cụ hỗ trợ và quản lý học vụ tại trường đại học công nghiệp thành phố hồ chí minh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tuy nhiên, hệ thống củatrường chưa thểđáp ứng đượccácnhu cầu của người dùngtạimột số thời điểm, vấn đề đầutiên là hệ thống luônbị nghẽn vào một số giờ cao điểm,cụthể là vào thời điểm đăn

Hội nghị Khoa học trẻ ỉần 5 năm 2023(YSC2023)-ỈUH YSC5.F015 AVTEDU - CÔNG cụ HÕ TRỢ VÀ QUẢN LÝ HỌC vụ TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHÌẸP THÀNH PHỐ HÒ CHÍ MINH TÔN LONG PHƯỚC1*, NGUYỄN VỆT ANH1, PHẠM NGUYỄN VĂN TRƯỜNG1 }Khoa Công nghệ Thông tin, TrườngĐại học Công nghiệp Thành phổ Hồ Chỉ Minh Honlongphuoc@iuh edu vn Tóm tăt Trường Đại học Công nghiệp TP.HCM có hơn 36.000 sinh viên Qua đó, dễ dàng nhận thấy nhu cầu về một hệ thống hỗ trọ’ sinh viên học tập tại hường vận hành hiệu quả là rất cao Tuy nhiên, hệ thống của trường chưa thể đáp ứng được các nhu cầu của người dùng tại một số thời điểm, vấn đề đầu tiên là hệ thống luôn bị nghẽn vào một số giờ cao điểm, cụ thể là vào thời điểm đăng ký môn học trong mỗi học kỳ Vấn đề thứ hai, hệ thống phần mềm triển khai trên thiết bị di động chưa có, còn phụ thuộc bên thứ ba và chưa hỗ trợ hết các chức năng cho sinh viên Do đó, chúng tôi đề xuất một công cụ hỗ trợ và quản lý học tập có tên là AVTEdu AVTEdu hỗ trọ’ nhiều phân hệ từ học viên đến giảng viên và giáo vụ khoa, với mục tiêu chính là giải quyết tình trạng tắc nghẽn hệ thống trong thời gian truy cập cao điểm bằng cách sử dụng Autoscaling và Load Balancer của EC2 AWS Bên cạnh đó, AVTEdu cũng hỗ trợ học vụ cho sinh viên hên nền tảng ứng dụng di động Các công nghệ mà chúng tôi đang sử dụng để xây dựng nên hệ sinh thái mang tên AVTEdu bao gồm Nodejs, React, AWS Cloud Computing Chúng tôi đã triển khai hệ thống này cho sinh viên chuyên ngành Công nghệ phần mềm của Khoa Công nghệ thông tin Trong thời gian tới, chúng tôi sẽ hiển khai cho học sinh toàn trường và mở rộng ra các trường khác Từ khóa Tắc nghẽn hệ thống, ứng dụng di động, Auto Scaling, Load Balancing, AWS AVTEDƯ - A SUPPORT and STUDY MANAGEMENT TOOL at INDUSTRIAL UNIVERSITY of HO CHI MINH CITY Abstract Ho Chi Minh the City University of Industry has more than 36,000 students Thereby, it is easy to see that the need for a support system for students studying at the school to operate smoothly is very high However, the school's system has not been able to respond well The first problem, the system is always congested at some peak hours, specifically around the time of course registration The second problem, the software system deployed on mobile devices is still depended of third parties and is not optimized for students Therefore, we propose a learning support and management tool called AVTEdu AVTEdu encompasses multiple subsystems for students, instructors, and department administrators, w ith die primary objective of resolving system congestion during peak access times This is achieved through die utilization of Autoscaling and Load Balancer features provided by AWS EC2 Additionally, AVTEdu provides administrative support for student affairs through a mobile application platform The technologies we employ in building the AVTEdu ecosystem include Node.js, React, and AWS Cloud Computing We have already implemented this system for students majoring in Software Engineering at die Faculty of Information Technology Moving forward, our plan is to deploy it for the entire student body and expand its usage to other universities Keywords System Congestion, Mobile Apps, Auto Scaling, Load Balancing, AWS 1 GIỚI THIỆU TÔNG QUAN Với sự bùng nổ của cách mạng công nghiệp 4.0, nhiều lĩnh vực đã và đang được số hóa trên môi hường kỹ thuật, bao gồm ngành giáo dục Cụ thể tại trường Đại học Công nghiệp Thành phố Hồ Chí Minh, với số lượng sinh viên học tập tại đây ngày càng tăng, nhu cầu về hệ thống hỗ trợ học tập cho sinh viên có tính đa 176 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH dụng, tính ỗn định và sử dụng được trên hai môi trường phỗ biến hiện nay là Web và Anđrioid Chúng tôi đã xây dựng chương trình hỗ trợ học tập sinh viên IUH với những tiêu chí trên Đây là một chương trình có tính ứng dụng cao, bám sát được với nhu cầu về quản lý học tập của sinh viên IUH cũng như chương trình cũng tạo ra để hỗ trợ người quản lý chương trình đào tạo tại trường (sinh viên, giảng viên, lóp học phần, ) và giảng viên quản lý (xem lịch giảng dạy, xem thông tin lớp học, ) quan trọng là việc đơn giản hóa việc đăng ký học phần giúp giảm thiểu sự tắc nghẽn dữ liệu Hệ thống cũng giải quyết các vấn đề còn tồn đọng của hệ thống website của trường Đại học Công nghiệp hiện tại như việc đăng ký học phần khi trường cố gắng mỏ' đăng ký học phần từ nửa đêm để giảm thiểu việc truy cập đăng ký học phần của sinh viên nhung hệ thống vẫn quá tải khiến việc đăng ký học phần của sinh viên khó khăn hon khi phải thức khuya dậy sớm để đăng ký hoặc tệ nhất là không đăng ký được gì rà đôi lúc việc truy cập vào website trường có thể không thực hiện được do số lượng truy cập hàng ngày của sinh viên là rất cao Hiện tại hệ thống hạ tầng vật lý của trường không còn đáp ứng đủ nhu cầu ngày một tăng cao khi lượng sinh viên của trường mỗi năm ngày càng tăng Việc nâng cấp hệ thống vật lý này rất khó khăn khi có nhiều vấn đề như: Rủi ro có cao không? Chi phí nâng cấp? Thời gian nâng cấp? Để giải quyết vấn đề này, chúng tôi đề xuất sử dụng điện toán đám mây nhằm lưu trữ, xử lý các nghiệp vụ để giảm tải cho máy chủ của trường [1 ] Scale là dịch vụ có khả năng tự động điều chỉnh số lượng máy chủ để đáp úng nhu cầu truy cập của khách hàng (tăng khi yêu cầu nhiều và giảm khi yêu cầu ít) Do đó, nhà phát triển hệ thống không còn phải đầu tư quá nhiều chi phí chỉ để giải quyết nhu cầu cho việc sử dụng tài nguyên của hệ thống trong một quãng thời gian ngắn trong năm Đó cũng là lý do chúng tôi chọn giải pháp này cho bài toán xây dựng hệ thống hỗ trợ đào tạo cho sinh viên 2 CÁC CÔNG NGHỆ LIÊN QUAN 2.1 Nodejs Node.js tạo ra ứng dụng có tốc độ xử lý nhanh vói thời gian thực (real-time) Node.js cũng được áp dụng để tạo các sản phẩm có lượng truy cập lớn, mở rộng nhanh rà đồi mói công nghệ hoặc tạo dự án startup tiết kiệm thời gian nhất Nodejs có nhiều đạc điểm nỗi bật, vượt trội Nắm được các đặc điểm này sẽ giúp chúng ta hiểu sâu hơn về Nodejs, đồng thời đưa ra quyết định sử dụng nền tảng này chính xác [2, 3, 4] Node.js Advantages Simple to Learn Large Community Support Web App Development Speed Improved App Response Time Caching SIMFORM Hình 1: Những ưu điểm vượt trội cuaNodejs [3] 2.2 React Native React Native là một framework do công ty công nghệ nối tiếng Facebook phát triển nhằm mục đích giải quyết bài toán hiệu năng của Hybrid và bài toán chi phí khi mà phải viết nhiều loại ngôn ngữ native cho từng nền tảng di động React Native giúp lập trình viên chỉ cần phát triển ứng dụng trên một mã nguồn duy nhất mà vẫn có thể tương thích với cả hai hệ điều hành Android và iOS (thậm chí là cả các hệ điều hành © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 177 Hội nghị Khoa học trẻ lần 5 năm 2023(YSC2023)-ỈƯH cho Ipad và và các dòng tivi) React Native giúp tiết kiệm được nhiều thời gian khi muốn phát triển một úng dụng nhanh chóng nhung vẫn đảm bảo hiệu năng tương đôi ôn định Quy mô đội ngũ phát triền nhỏ nhưng vẫn dễ dàng bảo trì, quản lý [5] 2.3 Reactjs Vì sao chúng tôi lại lựa chọn Reactjs cho úng dụng web? Neu cân xây dụng một úng dụng phức tạp, tải cao, bắt buộc phải xác định cấu trúc của úng dụng ngay từ đâu vì nó có thế ảnh hường đên hiệu suất của úng dụng của bạn Mỏ hình DOM có cấu trúc dạng cây Vì vậy, một sửa đôi nhỏ ở lớp cấp cao hơn có thể ảnh hưởng đáng kế đến giao diện người dùng của úng dụng Đê giải quyết vấn đề này, Facebook đã giới thiệu tính năng DOM ảo Virtual DOM, như cái tên đã cho thấy đây là đại diện ảo của DOM cho phép thử nghiệm tất cả các thay đôi đôi với DOM ảo trước tiên đế tính toán rủi ro với mỗi sửa đôi Do đó, cách tiếp cận này giúp duy trì hiệu suất úng dụng cao và đảm bảo trải nghiệm người dùng tốt hơn [6, 7], Hình 2: Biểu đồ phát triển của các Frontend Framework qua tùng giai đoạn [6] 2.4 Redis Redis là một sự lựa chọn tuyệt vời khi ta cần đến một server lưu tin dữ liệu đòi hỏi tính mở rộng cao (scaleable) và chia sẻ bởi nhiều tiến trình, nhiều ứng dụng và nhiêu server khác nhau Caching: Sử dụng làm bộ nhớ đệm Chính tốc độ đọc ghi nhanh mà Redis có thế làm bộ nhớ đệm, nơi chia sẻ dữ liệu giữa các úng dụng hoặc làm database tạm thời Ngoài ra Redis có thế sử dụng đế làm Full Page Cache cho website Cũng vì tính nhất quán của Redis, cho dù restart Redis thi người dùng cũng không có cảm nhận chậm khi tải trang [8, 9] How Redis is typically used Q Look in cache SQL Database Cache hit > e.g Backendless return data Client Prime cache with data Cache miss > look in persistent datastore Hình 3: Mô tả sơ lược về mô hình hoạt động của Redis [8] 178 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Mi nil Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-IUH 3 AVTEDU - CÔNG cụ HỖ TRỢ VÀ QUẢN LÝ HỌC vụ TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HO CHÍ MINH 3.1 Giới thiệu Để triển khai các giải pháp mà chúng tôi nêu ra trong phần giới thiệu, chúng tôi đề xuất xây dựng công cụ AVTEdu Công cụ được triển khai dựa vào các công nghệ như NodeJS, ReactJS/React-Native Đồng thời để triển khai công cụ đến người dùng, chúng tôi sử dụng các dịch vụ Cloud Computing của AWS rà Vercel Hệ thống AVTEdulà sự kết hợp ứng dụng di dộng (mobile app) và website (web app), tạo ra một trải ngiệm linh hoạt cho ngưòi dùng Trong đó chúng tôi sử dụng NodeJS để triển khai các Restful-API, xử lý các yêu cầu người dùng React! s chịu trách nhiệm xây dựng webstie, React-Native xây dựng ứng dụng mobile [ 10] Để đảm bảo hiệu suất và độ tin cậy, AVTEDƯ sử dụng các dịch vụ đỉện toán đám mây trong AW s Elastic Load Balancing (ELB) được sử dụng để cân bằng tải các yêu cầu từ người dùng, đảm bảo hệ thống hoạt động trơn tru và ổn định EC2 được sử dụng để tạo máy ảo lưu trữ mã nguồn cho server RDS để lưu trữ toàn bộ dữ liệu của hệ thống Ngoài ra Docker tạo ra các container có thể triển khai AutoScaling của hệ thống nhanh hon, Redis nhằm lưu trữ token của người dùng để có thể truy xuất nhanh hơn cũng như bảo mật hơn khi lưu trong cơ sở dữ liệu 3.2 Phân tích và thiết kế hệ thống Hệ thống phục vụ cho 3 đối tượng người dùng: Sinh Aden, giảng viên và giáo vụ cùng véd các chức năng Lược đồ usecase tập trung vào ba tác nhân chính: sinh viên, giảng viên, giáo vụ khoa Giáo vụ khoa thực hiện các chức năng quản lý Sinh viên được phép đãng ký học phần, xem lịch học và thanh toán học phí trực tuyến Giảng viên có thể import, export các danh sách như điểm danh sinh viên, xem lịch dạy © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh 179 Hội nghị Khoa học trẻ lần 5 nám 2023(YSC2023)-ỈUH 3.3 Kiến trúc hệ thống Chúng tôi sử dụng kiến trúc Client-Server để xây dựng ứng dụng, bởi vi mô hình này hoạt động theo cách là khi mà máy client gửi yêu cầu đến server, lúc này server sẽ xử lý yêu cầu và trả kết quả về cho client Client sẽ không chia sẻ bất kỳ tài nguyên nào của họ Mô hình Client-Server có một số ưu điểm chính để lựa chọn như tính tập trung, tính bảo mật, có khả năng mở rộng và khả năng truy cập (Hình 5) Mobile Hình 5: Mô hình kiến trúc của hệ thống AVTEdu 3.4 Giao diện đồ họa 3.4.1 Hiện thực hệ thong website AVTEdu Công cụ AVTEdu đã có thể triển khai trên hai nền tảng web và mobile app Chúng tôi xin được giới thiệu trước về nền tảng webapp Đối với hệ thống web của AVTEdu, chúng tôi xây dựng giao diện, chức năng hướng đến 3 loại người đùng chính: sinh viên, giảng viên và giáo vụ Sau đây là mô tả sơ lược về giao diện cho loại người đùng là sinh viên Sinh viên khi chọn vào option Đăng ký học phần để tiến hành đăng ký môn học Đối với chức năng này, mặc định sẽ không hiển thị môn học Sinh viên cần chọn đợt đăng ký, ở đây sinh viên sẽ được chọn theo học kỳ Đối với học kỳ đã đăng ký và hoàn thành đầy đủ các môn học - tức học kỳ cũ, sinh viên sẽ thấy trang web hiển thị dòng thông báo “Học kỳ này không còn môn đã đăng ký” (Hình 6) Sau khi chọn đợt đãng ký, tại đây sinh viên có thể thấy hệ thống đang hiển thị 2 mục chính: mục thứ nhất, là toàn bộ môn học/học phần chờ đăng ký, mục thứ hai là những lớp học phần đã đăng ký trong học kỳ tương ứng Trên mỗi dòng thông tin lớp học phần đã đăng ký đều có tùy chọn xem chi tiết và hủy học phần Ở bước tiếp theo, sinh viên chọn vào mục check ứng vói môn/học phần muốn đăng ký Hệ thống hiển thị toàn bộ lóp học phần thuộc học phần mà sinh viên đã chọn, đồng thời sinh viên nên tiếp tục tích chọn vào tùy chọn “Học phần không trùng lịch” để các lớp học phần chỉ hiển thị nhũng học phần không bị trùng khớp lịch học với nhũng môn đã đãng ký Sinh viên tiếp tục chọn lớp học phần mong muốn, hệ thống tiếp tục hiển thị chi tiết lớp học phần Đối với học phần có lớp thực hành, sinh Mên bắt buộc chọn vào các lớp thực hành mong muốn trước khi đãng ký, nếu không hệ thống sẽ thông báo lỗi “Bạn chưa chọn lóp thực hành” Nếu đăng ký thành công, sinh viên sẽ nhận được thông báo thành công đồng thời tiếp tục theo dõi trang đăng ký sẽ thấy sự thay đối: loại bỗ môn vừa đăng ký thành c ông ra khỏi đanh sách môn học/học phần chờ đãng ký và thêm thông tin về học phần vừa đãng ký tại bảng lóp học phần đã đãng ký (Hình 7) 180 © 2023 Trường Đại học Công nghiệp Thành phố Hồ Chí Minh Hội nghị Khoa học trẻ lân 5 năm 2023(YSC2023)-ỈUH EMdíxuát Đàng ký học phần HK1 (2023 -2024) _J Học mđi Học- ||JI Học cài thiện I Môn học/học phằn đang chép đáng kỷ STT MA HỌC PHAN TfN MON HỌC/HỌC PHAN TC bAt buộc MỌC PHĂN: HỌC TRƯỚC (A), TIfN QIIYCr (B), 1 2101402 CSu 1IÚL rờl r$c SONG HÀNH (C) 2 2101404 lýUiuyẽl

Ngày đăng: 10/03/2024, 08:11

Tài liệu cùng người dùng

Tài liệu liên quan