« Home « Kết quả tìm kiếm

AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH


Tóm tắt Xem thử

- Tạp chí Khoa học và Công nghệ, Số 50, 2021 AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH TÔN LONG PHƯỚC, ĐỖ ANH BÔN, TẠ MINH HIẾU Khoa Công nghệ thông tin, Trường Đại học Công nghiệp thành phố Hồ Chí Minh [email protected] Tóm tắt.
- Chúng tôi, đề xuất một công cụ có tên là AcadIUH nhằm hỗ trợ cho sinh viên thực hiện các nghiệp vụ học vụ tại trường.
- Công cụ này chúng tôi tập trung vào 2 phân hệ: Ứng dụng web và ứng dụng cho thiết bị di động.
- Hai phân hệ này chúng tôi triển khai đồng bộ với nhau nhằm tăng cường khả năng xử lý và truyền tải thông tin kịp thời đến sinh viên.
- Cả hai phân hệ này chúng tôi tập trung giải quyết các vấn đề như: Đăng ký học phần của sinh viên.
- Quản lý thời khóa biểu của sinh viên.
- Kế hoạch học tập của sinh viên.
- Trong tương lai, chúng tôi cũng sẽ phát triển công cụ này với việc tích hợp chúng vào hệ thống PMT và mở rộng cho phạm vi đối tượng sử dụng của công cụ.
- Công cụ hỗ trợ, Học vụ, Ứng dụng web, Ứng dụng trên di động.
- Trường cũng đào tạo đa ngành, đa © 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP 269 THÀNH PHỐ HỒ CHÍ MINH bậc học và nhiều chương trình liên kết quốc tế1.
- xây dựng hệ thống website và ứng dụng trên di động (app) cho sinh viên dễ dàng xử lý và giảm tải cho máy chủ.
- Đó 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 của IUH.
- Riêng giải pháp xây dựng website và ứng dụng trên di động cho sinh viên sử dụng nhằm giải quyết các nguyên nhân được liệt kê sau đây.
- Hơn nữa, các trang web như trang đăng ký 1 www.iuh.edu.vn accessed Trường Đại học Công nghiệp thành phố Hồ Chí Minh 270 AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH học phần, quản lý thông tin cho sinh viên là những trang web có tính cá nhân nên cần rất ít khả năng SEO, tính chất tương thích với trình duyệt hoàn toàn có thể khắc phục được bởi lập trình viên.
- Đó cũng là lý do chúng tôi xây dựng ứng dụng cho thiết bị di động nhằm hỗ trợ cá nhân hóa cũng như giảm tải cho máy chủ trong hệ thống.
- Để triển khai giải pháp trên, chúng tôi đã triển khai hệ thống web với kiến trúc micro-services.
- Lợi ích của việc phân tách một ứng dụng thành các dịch vụ nhỏ hơn là nó cải thiện tính mô đun.
- Điều này làm cho ứng dụng trở nên gọn nhẹ, dễ hiểu, dễ phát triển và trở nên linh hoạt hơn.
- Cụ thể chúng tôi chia hệ thống làm hai phần chính: Front-end và Back- end.
- Front-end của chúng tôi ở đây chính là ứng dụng di động AcadIUH cho sinh viên, ứng dụng website AcadIUH cho quản trị viên và giảng viên của nhà trường.
- Chúng tôi ứng dụng Jenkins và Docker để tối ưu hóa việc này.
- Máy chủ không cần phải cài đặt quá nhiều thứ để chạy ứng dụng nữa mà chỉ cần cài đặt Docker.
- Bài báo của chúng tôi chia làm 5 phần: Phần 1 Giới thiệu tổng quan về hệ thống.
- 2 CÁC CÔNG NGHỆ LIÊN QUAN 2.1 Ngôn ngữ phát triển ứng dụng 2.1.1 Ngôn ngữ lập trình Java Java là ngôn ngữ lập trình hướng đối tượng đang được duy trì và phát triển bởi Oracle.
- Java được sử dụng trong phát triển phần mềm ứng dụng desktop, website, game hay ứng dụng trên các thiết bị di động.
- Java cũng là một ngôn ngữ cho phép phát triển các ứng dụng chạy trên mọi nền tảng.
- Đội ngũ này cũng cung cấp một tập hợp các chương trình giúp lập trình viên phát triển và chạy các ứng dụng một cách hiệu quả.
- 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP 271 THÀNH PHỐ HỒ CHÍ MINH React, VueJS...Đồng thời Javasript cũng được dùng cho việc xây dựng nhiều ứng dụng với vai trò khác nhau từ Web, ứng dụng Mobile và một số ứng dụng khác (Hình 2.1.1).
- Hình 2.21 Những ứng dụng được phát triển bởi JavaScript [6] 2.2 Những framework hỗ trợ phát triển ứng dụng 2.2.1 Framework Spring Boot Spring Boot là khuôn mẫu (framework) phát triển dựa trên ngôn ngữ Java trong hệ sinh thái Spring framework [7].
- Nó giúp cho các lập trình viên đơn giản hóa quá trình lập trình một ứng dụng với Spring.
- Trong Spring Boot, người lập trình chỉ tập trung vào việc phát triển các nghiệp vụ cho ứng dụng mà không quan tâm nhiều về kiến trúc và mã nguồn của ứng dụng.
- Nó là nơi tập trung các xử lý nghiệp vụ của hệ thống Back-end.
- 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 272 AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH 2.2.2 React Native, React.js React Native là một thư viện mở dùng xây dựng ứng dụng di động dựa trên JavaScript.
- React Native giúp phát triển ứng dụng di động một cách nhanh chóng.
- Nó hỗ trợ cho các ứng dụng chạy được trên hai nền tảng iOS và Android.
- 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 cho Ipad và và các dòng tivi).
- Phong cách xây dựng mã nguồn trong React Native là phân chia các khối chức năng giúp dễ dàng trong việc quản lý, bảo trì, sửa lỗi, nâng cấp ứng dụng.
- Tương tự React Native, ReactJs là công nghệ sử dụng việc xây dựng ứng dụng web dựa trên JavaScript được duy trì và phát triển bởi Facebook.
- ReactJs được nhận xét là dễ học, dễ hiểu, dễ làm quen nhưng hiệu quả lại cao, phù hợp với nhiều ứng dụng web, kể cả những ứng dụng có quy mô cực lớn (như Facebook).
- 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP 273 THÀNH PHỐ HỒ CHÍ MINH Hình 2.2.4 Kiến trúc của luồng hoạt động của Node JS [11] 2.3 Cloud Computing Điện toán đám mây (Cloud Computing) là việc ảo hóa các tài nguyên tính toán và các ứng dụng.
- ACADIUH: CÔNG CỤ HỖ TRỢ HỌC TẬP CHO SINH VIÊN ĐẠI HỌC CÔNG NGHIỆP TP.HCM 2.4 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 ứng dụng AcadIUH.
- Ứng dụng này chúng tôi xây dựng dựa vào các công nghệ như Spring Boot, ReactJS, React Navtive.
- Đồng thời, để triển khai ứng dụng AcadIUH đến thiết bị người dùng (sinh viên, giảng viên và quản trị), chúng tôi cũng dùng các dịch vụ như AWS và CI/CD.
- Hệ thống AcadIUH gồm ứng dụng trên điện thoại (app) và hệ thống website (Hình 3.1.1).
- Hình 3.1.1 Mô hình Micro-Services của AcadIUH Trong đó, React Native tạo ứng dụng trên điện thoại hệ điều hành Android/iOS, phục vụ cho các chức năng của sinh viên.
- SQLServer dùng lưu trữ dữ liệu của toàn © 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 274 AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH hệ thống như dữ liệu sinh viên, dữ liệu học phần…Các dịch vụ điện toán đám mây sử dụng trong AWS gồm: Elastic Container Service (ECS).
- RDS lưu trữ dữ liệu quan hệ của hệ thống trên cloud.
- Đồng thời, chúng tôi cũng đề xuất phần AWS Load Balancer cho việc triển khai hệ thống trên nền tảng điện toán đám mây.
- Hình 3.2.1 Kiến trúc microservice của công cụ AcadIUH đề xuất 2.3 Phân tích hệ thống công cụ AcadIUH Đối tượng người dùng cho hệ thống AcadIUH gồm có sinh viên và quản trị viên của trường.
- Trong đó, chúng tôi tập trung vào các chức năng chính của hệ thống mà hiện nay nhà trường đang gặp phải vấn đề khó khăn như đăng ký học phần.
- Ngoài ra, các chức năng của quản trị viên cũng được đưa vào nhằm hỗ trợ cho hệ thống đồng bộ các nghiệp vụ đào tạo và các thao tác của sinh viên.
- 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP 275 THÀNH PHỐ HỒ CHÍ MINH Bảng 3.3.1 Danh các chức năng trong công cụ AcadIUH Đối tượng Tên chức năng Mô tả Xem thông tin cá nhân Xem thông tin cá nhân của sinh viên đã đăng nhập vào ứng dụng Đăng nhập tài khoản Đăng nhập vào hệ thống với tài khoản được tạo Đổi mật khẩu Đổi mật khẩu của tài khoản đã đăng nhập vào ứng dụng Sinh viên Quản lý đăng ký học phần Gồm các chức năng như xem danh sách học phần đã đăng ký, đăng ký lớp học phần, hủy đăng ký lớp học phần, xem chi tiết lịch học lớp học phần Quản lý thông báo Cho phép nhận thông báo cảnh báo lịch thi, cảnh báo học vụ, xem lịch sử thông báo Tra cứu công nợ Xem công nợ của sinh viên (công nợ đã thanh toán, chưa thanh toán, tổng công nợ) Quản lý khoa cho phép thêm, xóa, sửa thông tin của khoa, xem danh sách khoa Quản lý chuyên ngành Cho phép thêm, xóa, sửa thông tin của chuyên ngành, xem danh sách chuyên ngành Quản trị viên Quản lý sinh viên Cho phép thêm, xóa, sửa thông tin của sinh viên, xem danh sách sinh viên Quản lý môn học Cho phép thêm, xóa, sửa thông tin của môn học, xem danh sách môn học Quản lý học phần Cho phép thêm, xóa, sửa thông tin của học phần, xem danh sách học phần Quản lý lớp học phần Cho phép thêm, xóa, sửa thông tin của lớp học phần, xem danh sách lớp học phần Từ những chức năng trên, chúng tôi tập trung vào các chức năng chính như: Đăng ký học phần, quản lý lớp học phần.
- Ngoài ra, chúng tôi cũng mở rộng các use-case cho các chức năng của hệ thống nhằm tạo điều kiện thuận lợi cho người dùng là sinh viên và nhân viên quản trị.
- Tuy nhiên, những chức năng của các dịch vụ trên hệ thống điện toán đám mây như dịch vụ cân bằng (Load Balancer service), dịch vụ chứng thực (Authentication service) và các dịch vụ khác chúng tôi chưa đề cập ở đây.
- 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 276 AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH Hình 3.3.1 Danh sách các Use-case trong công cụ AcadIUH Với danh sách các chức năng trên, chúng tôi xây dựng mô hình dữ liệu thể hiện toàn bộ cấu trúc cơ sở dữ liệu của AcadIUH (Hình 3.3.2).
- 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP 277 THÀNH PHỐ HỒ CHÍ MINH Hình 3.3.2 Lược đồ cơ sở dữ liệu trong công cụ AcadIUH 2.4 Giao diện đồ họa Công cụ AcadIUH triển khai trên hai nền tảng là web và app.
- Công cụ này sẽ có giao diện người dùng © 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 278 AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH thân thiệt và đảm bảo tính ổn định trên các dòng điện thoại khác nhau.
- Chúng tôi cũng xin giới thiệu vài giao diện cho các chức năng trên ứng dụng trên.
- Sau khi người dùng bấm đổi mật khẩu, ứng dụng sẽ hiển thị thông báo rõ ràng đổi mật khẩu thành công hay thất bại, và ghi rõ lý do nếu thất bại (Hình 3.4.2) Hình 3.4.2 Giao diện thay đổi mật khẩu người dùng Ở mục Cá nhân, người dùng có thể xem được các chức năng cơ bản một cách nhanh chóng như xem lịch, đăng ký học phần.
- Thêm vào đó, tính năng đăng ký học phần sẽ là chức năng chính cho hệ thống.
- Ta có thể © 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP 279 THÀNH PHỐ HỒ CHÍ MINH biết được chi tiết lớp, kiểm tra lịch trùng, kiểm tra môn đã đăng ký hay những lớp học phần được mở trong học kỳ đó.
- Để thực hiện chức năng này, sinh viên phải thực hiện trong 4 bước.
- Ứng dụng sẽ tìm nạp và hiển thị những học phần sẽ mở lớp trong học kì đó.
- Bước hai: sinh viên phải chọn học phần muốn đăng ký.
- Sau khi chọn, ứng dụng sẽ tìm nạp và hiển thị danh sách những lớp học phần tương ứng với học phần đã chọn.
- Bước ba: sinh viên chọn lớp muốn đăng ký học.
- Ứng dụng sẽ tìm nạp và hiển thị chi tiết (thời khóa biểu, nhóm thực hành) của lớp học đó.
- Bước cuối: sinh viên nhấn nút đăng ký, ứng dụng sẽ thông báo rõ ràng đăng ký thành công hay thất bại, nếu thất bại thì sẽ nêu rõ lý do.
- Ứng dụng sẽ hiển thị danh sách các học phần bị trùng lịch học (Hình 3.4.3).
- Khi hủy, ứng dụng sẽ thông báo thành công hay không và lý do đi kèm nếu thất bại (lớp học phần đã chấp nhận mở lớp, lớp học phần đã khóa.
- Hệ thống sẽ hiển thị chi tiết thời khóa biểu.
- 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 280 AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH Hình 3.4.4 Màn hình xem thời khóa biểu và các thông báo cho các lịch học tiếp theo Ngoài ra, các tính năng xử lý trên Web cho nhân viên đào tạo (Quản trị viên) chúng tôi cũng đã triển khai.
- Hình 3.4.5 Màn hình hệ thống Web dành cho nhân viên đào tạo với các chức năng tương ứng 4.
- KIỂM NGHIỆM THỰC TẾ Chúng tôi đã tiến hành triển khai hệ công cụ AcadIUH trên hệ thống điện toán đám mây của AWS2.
- Mỗi service sẽ được xác định chạy các container như hình service type là EC2 (chúng tôi chọn hệ điều hành Linux, phiên bản t2.micro) như Hình 4.1 2 https://www.youtube.com/watch?v=PJLdOdJR69g&t=1s © 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP 281 THÀNH PHỐ HỒ CHÍ MINH Hình 4.1 Cấu hình chi tiết của ECS Các service được tạo ra hoạt động ổn định cho công cụ AcadIUH (Hình 4.2).
- Ứng dụng web đã triển khai trên AWS, đường dẫn truy cập https sẽ được xác định bởi nhà trường.
- Ngoài ra ứng dụng chạy trên di động cũng sẽ được đưa lên CHPlay với tên là AcadIUH.
- Hình 4.2 Các thông số Mornitoring hệ thống khi triển khai AcadIUH Bảng 4.1 Ý nghĩa các chỉ số trong monitoring Network in (bytes) Số byte mà ứng dụng sẽ nhận được trên tất cả các giao diện mạng.
- Số liệu này xác định khối lượng lưu lượng mạng đến cho một ứng dụng duy nhất.
- Đơn vị: Byte Network out (bytes) Số byte được gửi bởi ứng dụng trên tất cả các giao diện mạng.
- Số liệu này xác định khối lượng lưu lượng mạng đi từ một ứng dụng duy nhất.
- Đơn vị: Byte Network packets in Số lượng gói tin mà ứng dụng nhận được trên tất cả các giao diện mạng.
- Số (count) liệu này xác định khối lượng lưu lượng đến về số lượng gói trên một ứng dụng.
- Đơn vị: count Disk reads (bytes) Các byte được đọc từ tất cả các khối lượng lưu trữ ứng dụng có sẵn cho ứng dụng.
- Số liệu này được sử dụng để xác định khối lượng dữ liệu mà ứng dụng đọc từ đĩa cứng.
- Điều này có thể được sử dụng để xác định tốc độ của ứng © 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 282 AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH dụng.
- Đơn vị: Byte Disk, read operations Các thao tác đọc đã hoàn thành từ tất cả các khối lượng lưu trữ ứng dụng có (operations) sẵn cho ứng dụng trong một khoảng thời gian cụ thể.
- Đơn vị: count Disk writes (bytes) Các byte được ghi vào tất cả các khối lượng lưu trữ có sẵn cho ứng dụng đó.
- Số liệu này được sử dụng để xác định khối lượng dữ liệu mà ứng dụng ghi vào đĩa cứng.
- Điều này có thể được sử dụng để xác định tốc độ của ứng dụng.
- Đơn vị: Byte Disk, write operations Các thao tác ghi đã hoàn thành vào tất cả khối lượng lưu trữ có sẵn cho ứng (operations) dụng trong một khoảng thời gian cụ thể.
- Giả sử đang vận hành ứng dụng ở 100% hiệu suất CPU trong 5 phút, sẽ tiêu tốn 5 (tức là 5 * 1,0) CPU Creadit.
- Tương tự, nếu chạy một ứng dụng ở 50% hiệu suất CPU trong 5 phút, sẽ tiêu tốn 2,5 (tức là 5 * 0,5) Tín dụng CPU.
- KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Bài báo này chúng tôi đã đưa ra hai giải pháp cho bài toán xây dựng công cụ AcadIUH nhằm hỗ trợ cho công việc học tập của sinh viên trường đại học Công nghiệp Tp.HCM.
- Trong đó, giải pháp đầu tiên chúng tôi đã triển khai ứng dụng chạy trên thiết bị di động có tên là AcadIUH.
- Ứng dụng này chạy trên cả hai nền tảng thông dụng là Android và iOS.
- Giải pháp thứ hai, chúng tôi cũng triển khai cho công cụ trên và hệ thống website trên nền tảng điện toán đám mây.
- Cụ thể là phần ứng dụng trên di động chúng tôi triển khai trên công nghệ như React Native tạo ứng dụng, ReactJS tạo website cho quản trị, Spring Boot tạo các hàm API trong kiến trúc microservice.
- Phần ứng dụng trên thiết bị di động cũng chưa được triển khai trên các store để hỗ trợ cho sinh viên sử dụng.
- 2021 Trường Đại học Công nghiệp thành phố Hồ Chí Minh AcadIUH: CÔNG CỤ HỖ TRỢ SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP 283 THÀNH PHỐ HỒ CHÍ MINH REFERENCES [1] Liu, J., Ahmed, E., Shiraz, M., Gani, A., Buyya, R