Chương 1 Tổng quan: Trong chương đầu tiên, trình bày sơ lược về thực trạng, yêu cầu đặt ra. Từ đó đặt ra mục tiêu và hướng giải quyết cho vấn đề, cũng như xác định đối tượng và phạm vi thực hiện. Chương 2 Cơ sở lý thuyết: Trình bày các cơ sở lý thuyết được ứng dụng trong quá trình thực hiện đề tài, cũng như các công nghệ được sử dụng. Chương 3 Xây dựng ứng dụng: Trình bày toàn bộ quá trình thực hiện ứng dụng từ những giai đoạn đầu tiên đến khi ứng dụng được hoàn thiện và triển khai đến người dùng.
Chương 4: Kết luận và hướng phát triển: Trình bày kết quả đạt được, những hạn chế còn tồn đọng trong quá trình thực hiện dé tài và nêu ra hướng phát triển trong tương lai. Chương2 CƠ SỞ LÝ THUYET Ở chương này, nhóm tác giả trình bày một số nghiên cứu liên quan, các cơ sở lý thuyết được áp dụng trong quá trình thực hiện, cũng như các công nghệ được ứng dụng trong đề tài. Cac nghiên cứu liên quan 2. Smart Kindergartens Giáo viên và phụ huynh ngày càng hứng thú với các ứng dụng giáo duc có trên internet hiện nay.
Cùng với đó, họ mong đợi về việc cải thiện chất lượng quản lý nhà trẻ và sự hợp tác, kết nối giữa phụ huynh và nhà trường [8]. Vì vậy, việc ứng dụng và triển khai Smart Kindergartens (Mẫu giáo thông minh) đã và đang trở thành xu hướng của thời đại [9]. Dựa trên kết luận đó, nhóm tác giả Jingrong Liu và Miao Liu đã nghiên cứu thiết kế và phát triển một hệ thống các ứng dụng thông minh dành cho trường mẫu giáo mà ở đó mỗi ứng dụng được kết nối và có thể tương tác với nhau. Dựa vào các lĩnh vực khác nhau, các ứng dụng dành cho mầm non được phân thành bốn nhóm chính: giảng dạy, quản lý nội bộ, tương tác giữa phụ huynh với nhà trường và mạng xã hội [9].
Trong nghiên cứu này, nhóm tác giả triển khai ứng dụng theo dõi quá trình phát triển, học tập của trẻ tại trường; ứng dụng quản lý nội bộ của nhà trường (quản lý lớp học, lịch biểu, điểm danh.); hệ thống checkin — checkout thông qua mã vạch hoặc nhận diện khuôn mặt; công thông tin điện tử cho nhà trường (nhận đơn đăng ký học, khảo sát, tuyên dụng.); lưu trữ, đồng bộ hóa và sao lưu, khôi phục dữ liệu khi gặp rủi ro. Điểm danh bằng QR Code Hệ thống điểm danh cũng là một phần quan trọng là trở thành một đề tài nghiên cứu rộng rãi. Có rất nhiều ứng dung di động giúp các giáo viên có thé sử dụng dé điểm danh học viên của mình, trong đó phải kế đến QR Code. Theo Jeson Jacinto Galgo, mã QR rất hiệu quả cho cả giáo viên và học viên trong công việc bởi việc xử lý nhanh chóng, chỉ cần một lần quét và hệ thống sẽ ghi nhận lại ngay lập tức [10].
Trong nghiên cứu này, mã QR được nhúng vào thẻ ID của học viên, dựa vào việc quét mã mỗi lần ra/vào trường, hệ thống lưu trữ lại các lần quét này và cho ra các báo cáo phục vụ cho giáo viên. Ngoài ra, ứng dụng còn hỗ trợ gửi tin nhắn SMS đề họ nhận được thông báo từ nhà trường. Bus Tracking Ngoài các ứng dụng phục vụ cho công tác dạy và học tại trường học, các ứng dụng hỗ trợ cho việc đảm bảo an toàn cho học viên trên đường đến trường như bus tracking, children 6 tracking, bus monitor,. cũng đã và đang được phát triển.
Một nghiên cứu đến từ An Độ của nhóm tác giả Judy Thyparampil Raj và Jairam Sankar nghiên cứu, phát triển ứng dụng giám sát xe buýt trường học và hệ thống thông báo. Theo họ, điều quan trọng là các trường học phải có dịch vụ đưa đón an toan và đáng tin cậy đề đảm bảo an toàn cho học viên [11]. Nghiên cứu dé xuất thiết bi theo dõi xe buýt với chi phí thấp giúp theo dõi real-time vị trí, tốc độ xe, lịch trình tuyến đường và một sỐ thông tin khác liên quan đến xe đưa đón học viên. Sau đó, gửi thông báo về ứng dụng di động cho phụ huynh.
Có thé thấy, các ứng dụng ké trên đều hỗ trợ được nhu cầu quan lý cơ bản của một trường mẫu giáo — tiêu học và đáp ứng được sự kỳ vọng của phụ huynh với nhà trường. Tuy nhiên, các ứng dụng trên còn rời rạc và chưa có sự kết nối với nhau. Một trường học đã có cho mình hệ thống quản lý nội bộ trong nhà trường, tuy nhiên phải sử dụng hệ thống của bên thứ ba khác cho việc theo dõi xe đưa đón. Điều này khá bat tiện trong việc quản lý của nhà trường và thiếu sự kết nối giữa phụ huynh và nhà trường.
Hoặc phụ huynh phải cài nhiều ứng dụng cùng một lúc trên điện thoại của mình. Vì vậy, việc xây dựng môi trường “Smart Kindergartens” không đơn thuần là việc sử dụng nhiều ứng dụng khác khau mà các ứng dụng phải có sự kết nối và tương tác với nhau [8]. Ứng dụng di động Là sự giao tiếp, một chiều hoặc 2 chiều, liên quan đến hoạt động bán hàng, tiếp thị và chăm sóc khách hàng được thực hiện thông qua các phương tiện di động cho mục đích xây dựng và duy trì mối quan hệ giữa một doanh nghiệp và các khách hàng của doanh nghiệp đó. Dựa trên những tài liệu đã có về ứng dụng di động, nhóm tác giả làm rõ các khái nệm liên quan cũng như phân tích phân tích những đặc điểm nỗi bật khi triển khai ứng dụng di động vào môi trường giáo dục, đặc biệt là ở cấp độ mầm non — tiểu học tại thi trường Việt Nam, cụ thê: * Đặc điểm nổi bật đầu tiên liên quan đến cá nhân hóa.
Không giống như các phương tiện truyền thông khác, điện thoại di động thường thuộc về chỉ một cá nhân và thường được mang theo bên người. Theo đó, thông tin được gửi qua phương tiện di động sẽ đến với người dùng hầu như mọi lúc và có thê đạt được hiệu quả cao. Vì rõ ràng khi gửi thông tin liên quan đến đúng khách hàng sẽ luôn mang lại hiệu quả cao hơn so với gửi thông thiệp chung đến một số lượng khách hàng lớn [12]. » Thi hai là sự linh hoạt trong giao tiếp được cung cấp bởi công nghệ điện thoại di động 7 [13].
Vì người dùng điện thoại di động luôn mang theo thiết bị của mình. Cùng với mạng không dây, phương tiện di động có thể truy cập vào hệ thống hầu vào bat kỳ lúc nào và ở bat cứ đâu. Trong khi tất cả các kênh khá đều bị hạn chế về mặt này. Vậy nên, phương tiện di động cung cấp quyền truy cập vượt trội cho người dùng so với các kênh thông tin khác.
Công nghệ sử dụng 2. Cross-Platform Flutter 2. Ngôn ngữ Dart Dart’ là ngôn ngữ lập trình do GoogleŠ phát trién và được công bồ chính thức tại hội thảo GOTO? ngày 10 tháng 12 năm 2011 tại Aarhus [19]. Hiện tại Dart đang hỗ trợ dé tao ra những ứng dụng trên iOS!°, Android!!, Fuchsia!2 và trang web.
Riêng với ứng dụng web, Dart biên dịch ban thân thành code Javascrip t!3, Mục đích của Dart không phải dé thay thé Javascript như là ngôn ngữ chính trong trình duyệt web, mà là cung cấp một sự lựa chọn hiện đại hơn [20]. Dart phù hợp cho cả thiết bi di động và web, giúp tao ra những trải nghiệm đẹp, chat lượng cao với: - Ngôn ngữ tối ưu hóa cho may khách (client) - Framework manh mé - Công cụ linh hoạt 2. Framework Flutter Flutter'* là một Framework viết trên nền ngôn ngữ Dart. Flutter được sinh ra như một Cross-platform framework nhưng khác với những Cross-platform hiện tại, Flutter viết mã và xây dựng ra các đoạn mã thực thi tương ứng trên các thiết bị khác nhau thay vì xây dựng ra thành các đoạn mã được tôi ưu và chạy trên những môi trường trung gian.
Cấu trúc Flutter Framework Model được chia làm hai tầng: - Tầng ở trên sử dụng ngôn ngữ Dart cung cấp các đoạn mã xây dựng lên một ứng dụng Flutter. Các đoạn mã này cung cấp phương tiện dé có thé thay đổi và chỉnh sửa chúng. Từ đó 7 https://dart.dev/ 8 https://about.google/ ? http://gotocon.com/aarhus-201 1/ 10 Hệ điều hành thiết bị di động của tập đoàn công nghệ đa quốc gia Apple !! Hệ điều hành thiết bị di động của Google !2 Hệ điều hành thời gian thực được phát triển bởi Google 13 https://www.dev giúp ứng dụng của lập trình viên có thể được tùy chỉnh theo mong muốn. Tầng Application này giúp lập trình viên thay đổi mã nguồn ứng dụng ở thời điểm compile time.
+ Tầng thứ hai của Flutter nam ở sâu bên dưới và được viết bằng C++. Tang Shell này chứa các công tụ trợ giúp ứng dung Flutter trong quá trình chạy. Nồi bật cần lưu ý ở tang này là máy ảo Dart VM. Máy ảo Dart VM có ba nhiệm vụ chính bao gồm.
o Lam ứng dụng trung gian giữa mã nguồn được viết bởi Dart và thiết bị phần cứng. o Thông dich các đoạn mã Dart theo phương thức JIT! hoặc AOT'®. o Thực thi các đoạn mã đã được thông dịch hoặc biên dịch cũng như cung cấp các runtime system bao gôm garbage collector, một vài các thư viện cân có của ngôn ngữ. (Dart) ent erng là, C++ Hình 2.1 Kiến trúc nền tảng Flutter (Nguồn: flutter.dev) Máy ảo Dart VM chịu trách nhiệm lớn nhất trong việc quản lý các runtime system, hỗ trợ debugging hoặc hot reload cho các ứng dụng viết bằng Flutter.
So sánh với các Cross-platform Framework khác Một ứng dụng dé chạy được trên các thiết bị thông thường sẽ tạm quan tâm tới hai thành 5 Just in time - mã nguồn chỉ được thông địch khi được gọi đến. '6 Ahead of Time 9 phan. Thành phan gần với lập trình viên hơn là lớp Ứng dụng (Application). Lớp Application chứa các đoạn mã được viết bởi lập trình viên và các công cụ giúp ứng dụng hoạt động và quản lý hoạt động của ứng dụng.
Thành phần được quan tâm thứ hai là lớp Nền tảng (Platform) ở đây dùng dé chỉ các hệ điều hành hoặc các ứng dụng trung gian giữa ứng dụng của lập trình viên và thiết bị. Trong phạm vi lập trình ứng dụng di động, lớp Platform được chia làm ba thành phần bao gồm. ¢ Services: Bao gom các ứng dung được viết và cài đặt mặc định trong thiết bị có trách nhiệm quản lý giao tiếp giữa các ứng dụng trong thiết bị với nhau, cung cấp thông tin của thiết bị cho các ứng dụng hoặc thực thi các yêu cầu của ứng dụng dé điều khiến thiết bị (Location, Camera, Sensors.