ĐẶT VẤN ĐỀ 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI Tại Trường Đại học An Giang, quá trình học tập của sinh viên được quản lý bằng một phân hệ của phần mềm Quản lý đào tạo Edusoft. Phần mềm này được phát triển bằng phần mềm cơ sở dữ liệu không còn được tiếp tục phát triển (Microsoft Visual Foxpro) nên hạn chế là chỉ có thể vận hành trên mạng nội bộ và giới hạn người dùng. Vì vậy chỉ có một số tài khoản được cấp quyền truy cập và cập nhật dữ liệu vào phần mềm (Huỳnh Phước Hải, 2021).
Hệ thống quản lý học tập hiện nay Để theo dõi quá trình học tập, sinh viên hiện tại không có một công cụ để xem trực tiếp khi cần thiết. Đối với hệ thống hiện tại sau khi dữ liệu điểm được xử lý sẽ được cập nhật lên Website Đăng ký học phần để sinh viên xem theo định kỳ mỗi tuần một lần. Do giới hạn của phần mềm như đã nêu trên nên nhu cầu xem kịp thời kết quả học tập của sinh viên không được đáp ứng. Nhất là điểm thường xuyên cũng phải chờ đến cuối học kỳ (Huỳnh Phước Hải, 2021).
Ngoài ra, với hệ thống quản lý hiện nay thì cố vấn học tập cũng không chủ động trong việc theo dõi và đối sánh kết quả học tập của sinh viên. Đây là một trong những tiêu chí quan trọng để đánh giá chất lượng cấp chương trình theo chuẩn kiểm định chất lượng AUN-QA. 1 Do những hạn chế, bất cập nêu trên mà nhu cầu xây dựng một “Ứng dụng di động theo dõi quá trình học tập của sinh viên” là hết sức cần thiết. Việc ứng dụng các thiết bị di động vào học tập không chỉ giải quyết được cơ bản các bất cập đã nêu trên mà còn giúp cho sinh viên có thể theo dõi tiến độ học tập hiện tại, xem điểm các môn học đang được cập nhật mới nhất.
Cố vấn học tập và giảng viên có thể theo dõi được quá trình học tập của sinh viên cũng như xem được các môn hiện đang chịu trách nhiệm giảng dạy và sử dụng các dữ liệu có liên quan nhằm tiết kiệm thời gian, nâng cao hiệu quả quản lý. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ: Ngày 6/5/2021, đề tài “Xây dựng website hỗ trợ theo dõi quá trình học tập của người học tại Trường Đại học An Giang” do TS. Huỳnh Phước Hải – Giảng viên bộ môn Kỹ thuật Phần mềm – Khoa Công nghệ Thông tin Trường Đại học An Giang đã được Hội đồng Khoa học Trường Đại học An Giang xét duyệt đề tài khoa học cấp trường. Đề tài được thực hiện với các mục tiêu: Hỗ trợ người học theo dõi quá trình học tập; hỗ trợ giảng viên nhập kết quả thường xuyên, trực tiếp trên hệ thống và theo dõi được kết quả học tập theo quá trình của môn học phụ trách; hỗ trợ chuyên viên phòng Khảo thí và Đảm bảo chất lượng kết xuất dữ liệu điểm thường xuyên sang phần mềm Edusoft; giúp cố vấn học tập theo dõi quá trình học tập của các sinh viên mình đang phụ trách.
Ngoài ra, phần mềm có thể kết xuất tự động các báo cáo thống kê, tra cứu thông tin về quá trình học tập của người học. PHẠM VI Từ các chức năng và quy trình nghiệp vụ được xây dựng trên website hỗ trợ theo dõi quá trình học tập của người học tại Trường Đại học An Giang, em sẽ triển khai một số chức năng sang thiết bị di động. Ứng dụng được sử dụng cho đối tượng chính là sinh viên và giảng viên/cố vấn học tập trường Đại học An Giang. Tập trung vào các chức năng theo dõi quá trình học tập của sinh viên, theo dõi môn học của giảng viên và theo dõi lớp học của cố vấn học tập.
MỤC TIÊU NGHIÊN CỨU Hỗ trợ sinh viên theo dõi quá trình học tập của bản thân được biểu diễn một cách trực quan, từ đó đề ra được phương pháp học tốt hơn. 2 Hỗ trợ giảng viên theo dõi các môn học đang được phụ trách giảng dạy, xem danh sách sinh viên thuộc môn và cố vấn học tập cũng có thể theo dõi quá trình học tập của sinh viên trong lớp. PHƯƠNG PHÁP NGHIÊN CỨU Xác định các quy trình nghiệp vụ, yêu cầu của hệ thống, phân tích thông tin cơ sở dữ liệu. Phương pháp thực nghiệm: Phân tích, thiết kế, xây dựng, phát triển, kiểm thử phần mềm.
3 CHƯƠNG 2 TỔNG QUAN CƠ SỞ LÝ THUYẾT 2. HỆ ĐIỀU HÀNH ANDROID 2. Giới thiệu chung Android là một hệ điều hành dựa trên Linux, mã nguồn mở và có khả năng tùy biến cao, chạy được trên nhiều thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng, nhiều kiến trúc vi xử lý (ARM/x86). Tính đến nay Android đã có nhiều phiên bản: Hình 2.
Phiên bản hệ điều hành Android Kiến trúc hệ điều hành Android: - Tầng Applications: Là tầng chứa các ứng dụng Danh bạ, Gọi điện, Trình duyệt, Nghe nhạc,… các ứng dụng này thường mua máy về chúng ta đã có sẵn rồi. - Tầng Applications Framework: Là tầng chứa các API để làm việc với hệ điều hành như lấy thông tin danh bạ, quản lý các Activity. - Tầng Libraries: Chứa các thư viện, API gần như là cốt lõi của Android, bao gồm bộ quản lý bề mặt cảm ứng (Surface Manager), OpenGL (phục vụ cho việc dựng đồ họa phức tạp),… - Tầng Android Runtime: Chứa các thư viện lõi của Android và máy ảo DVM (từ Android 4 trở lên có thêm máy ảo ART). - Tầng Kernel: Là nhân lõi của hệ điều hành, chứa các tập lệnh, driver giao tiếp giữa phần cứng và phần mềm của Android.
Kiến trúc hệ điều hành Android 2. Android 9 Pie: Android 9 là phiên bản phát hành lớn thứ 9 của hệ điều hành Android được Google chính thức trình làng vào ngày 07/08/2018. Android 9 tận dụng tốt sức mạnh từ trí tuệ nhân tạo AI, mang đến cho người dùng trải nghiệm smartphone và máy tính bảng tuyệt vời hơn. So với những người tiền nhiệm như Android 8, Android 9 được đánh giá là thông minh hơn, nhanh hơn và đáp ứng nhu cầu sử dụng của người dùng tốt hơn.
NGÔN NGỮ LẬP TRÌNH JAVA 2. Giới thiệu chung Java là ngôn ngữ lập trình bậc cao và hướng đối tượng (OOP) và dựa trên các lớp (Class), thay vì biên dịch mã nguồn thành mã máy, Java được biên dịch thành bytecode, sau đó được chạy trên môi trường thực thi (Runtime Environment). Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động. Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991.
Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak. Java hỗ trợ tối đa cho hệ điều hành Android với độ linh hoạt cao, đặc biệt là trong Android Studio IDE để phát triển các ứng dụng dành cho Android. Ngoài ra, lập trình Android bằng Java có các API phong phú và có thể làm nhiều thứ hơn với Java, bao gồm đồ họa, âm thanh và nhiều khả năng viết các trò chơi nhỏ như Tic Tac Toe, Tetris. Chương trình Android được viết bằng ngôn ngữ Java và được máy ảo DVM/ART trong mỗi thiết bị Android biên dịch ra mã máy.
Đặc điểm: Là một ngôn ngữ lập trình hướng đối tượng vì vậy Java cũng có 4 đặc điểm chung sau đây: - Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc tính, các hành động liên quan đến một thực thể đặc thù, xét trong mối tương quan với ứng dụng đang phát triển. - Tính đa hình (Polymorphism): cho phép một phương thức có các tác động khác nhau trên nhiều loại đối tượng khác nhau. - Tính kế thừa (Inheritance): cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại. - Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chi tiết của một đối tượng đối với người sử dụng đối tượng ấy.
Ngoài ra Java còn có một số đặc điểm sau: - Nền tảng độc lập: Khi Java được biên dịch, nó không biên dịch sang một máy tính cụ thể trên nền tảng nào, thay vào đó là những bytecode độc lập với nền tảng. Byte code này được phân phối trên web và được 6 thông dịch bằng Virtual Machine (JVM) trên bất cứ nền tảng nào mà nó đang chạy. - Đơn giản: Java được thiết kế để dễ học. - Bảo mật: với tính năng an toàn của Java, nó cho phép phát triển những hệ thống không có virus, giả mạo.
Các kỹ thuật xác thực dựa trên mã hóa công khai. - Kiến trúc trung lập: trình biên dịch của Java tạo ra một định dạng file object có kiến trúc trung lập, làm cho code sau khi biên dịch có thể chạy trên nhiều bộ vi xử lý, với sự hiện diện của Java Runtime System. - Portable: là kiến trúc trung lập và không phụ thuộc vào việc thực hiện. Có thể mang byte code của Java lên bất cứ nền tảng nào.
- Mạnh mẽ: Java nỗ lực loại trừ những tình huống dễ bị lỗi bằng cách nhấn mạnh chủ yếu là kiểm tra lỗi thời gian biên dịch và kiểm tra runtime. - Đa luồng: có thể viết các chương trình có thể thực hiện nhiều tác vụ đồng thời. Tính năng này cho phép các nhà phát triển xây dựng các ứng dụng tương tác có thể chạy trơn tru. - Thông dịch: byte code của Java được dịch trực tiếp tới các nền tảng gốc và nó không được lưu trữ ở bất cứ đâu.
- Hiệu suất cao: với việc sử dụng trình biên dịch Just-In-Time, Java cho phép thực thi với hiệu suất cao, nhanh chóng phát hiện, gỡ lỗi. - Phân tán: Java được thiết kế cho môi trường phân tán của Internet. - Linh động: Java được thiết kế để thích nghi với môi trường đang phát triển. Các chương trình Java có thể mang theo một lượng lớn thông tin run-time, được sử dụng để xác minh và giải quyết các truy cập đến đối tượng trong thời gian chạy.
Giới thiệu Android Studio Android Studio là một môi trường phát triển tích hợp (IDE) của Google dùng để phát triển các ứng dụng chạy trên các thiết bị sử dụng hệ điều hành Android được công bố lần đầu tiên vào năm 2003 tại hội nghị Google I/0 và được công bố rộng khắp trên thế giới vào năm 2014 với rất nhiều phiên bản 7 khác nhau. Nó cung cấp công cụ nhanh nhất để xây dựng ứng dụng trên mọi loại thiết bị Android. Được xây dựng dựa trên mã nguồn của IntelliJ, sử dụng ngôn ngữ lập trình Kotlin của JetBrains thay thế cho Java, tuy nhiên Java và C++ vẫn được hỗ trợ để phát triển ứng dụng Android.