GIỚI THIỆU ĐỀ TÀI
Dẫn nhập
Ngành công nghiệp di động đang phát triển nhanh chóng, với dự báo đến năm 2023, số lượng người dùng điện thoại thông minh sẽ đạt 4,3 tỷ trên toàn cầu (theo Statista) Tại Việt Nam, theo báo cáo của Appota, tỷ lệ sử dụng điện thoại di động đã chiếm tới 70% tổng dân số trong nửa đầu năm 2020.
Việt Nam hiện có 150 triệu thiết bị di động, trong đó hơn 45% dân số sử dụng smartphone, xếp hạng 15 trên thế giới Đặc biệt, tỷ lệ thuê bao 3G - 4G chiếm 53% trong số người dùng smartphone.
Sự bùng nổ của smartphone đã dẫn đến sự phát triển mạnh mẽ của các ứng dụng di động, với nhiều loại ứng dụng phục vụ cho các mục đích khác nhau Trong số đó, các ứng dụng cung cấp kiến thức ngày càng phổ biến, bao gồm nhiều hình thức như game, flash cards và chia sẻ kiến thức.
Lịch sử là một bộ môn khoa học nghiên cứu quá khứ, bao gồm sự vật, sự việc và con người Trong thời đại công nghệ phát triển, việc tìm kiếm thông tin và học tập qua smartphone trở nên hiệu quả, dẫn đến sự ra đời của nhiều ứng dụng học tập Tuy nhiên, số lượng ứng dụng học lịch sử, đặc biệt là lịch sử Việt Nam, vẫn còn hạn chế và chưa tạo được nhiều cảm hứng cho người học.
Chính vì vậy, việc xây dựng một ứng dụng di động hỗ trợ tìm hiểu lịch sử Việt Nam là hết sức cần thiết
Bài toán
Ứng dụng được thiết kế để hỗ trợ học sinh, sinh viên, giáo viên và những người muốn tìm hiểu về lịch sử Việt Nam Với mục tiêu cung cấp một kênh trực quan và sinh động, ứng dụng giúp người dùng tiếp cận một chủ đề lịch sử có phần khô khan một cách dễ dàng hơn Ứng dụng sẽ được phát triển dưới dạng học tập trên thiết bị di động.
Kết quả hướng tới
Mục tiêu chung của đề tài là xây dựng ứng dụng tìm hiểu lịch sử Việt Nam
• Biểu diễn thông tin lịch sử dưới dạng các bài học theo các chủ đề khác nhau như thời kỳ lịch sử, anh hung dân tộc, các trận chiến, …;
• Xây dựng diễn đàn trực tuyến để thảo luận về lịch sử của người dùng thành viên;
• Ghi nhận quá trình tìm hiểu của người dùng và đánh giá người học qua các câu hỏi được thiết kê riêng cho các bài học khác nhau.
Đối tượng và phạm vi nghiên cứu
1.4.1 Đối tượng nghiên cứu Đối tượng nghiên cứu của đề tài là ứng dụng di động và lịch sử Việt Nam
Phạm vi nghiên cứu được giới hạn trong các ứng dụng di động tìm hiểu lịch sử Việt Nam và các ứng dụng học tập trên di động
CÁC KIẾN THỨC NỀN TẢNG
Tổng quan về Flutter
Flutter là một SDK phát triển ứng dụng di động nguồn mở được tạo ra bởi Google
Nó được sử dụng để phát triển ứng ứng dụng cho Android và iOS, cũng là phương thức chính để tạo ứng dụng cho Google Fuchsia
Phiên bản đầu tiên của Flutter được gọi là "Sky" và chạy trên hệ điều hành Android
Flutter được công bố tại hội nghị nhà phát triển Dart 2015 với mục tiêu đạt 120 khung hình trên giây Tại Google Developer Days ở Thượng Hải, Google giới thiệu phiên bản Flutter Release Preview 2, phiên bản lớn cuối cùng trước khi ra mắt Flutter 1.0 Ngày 4 tháng 12 năm 2018, Flutter 1.0 chính thức ra mắt tại sự kiện Flutter Live, đánh dấu phiên bản "ổn định" đầu tiên của khung ứng dụng này Tiếp theo, vào ngày 11 tháng 12 năm 2019, Flutter 1.12 được phát hành tại sự kiện Flutter Interactive, công bố Flutter là nền tảng UI đầu tiên cho điện toán xung quanh Cuối cùng, vào ngày 3 tháng 3 năm 2021, Flutter version 2 đã được phát hành chính thức.
Các thành phần chính của Flutter gồm:
• Các widget được thiết kế riêng
Nền tảng Dart Ứng dụng Flutter được viết bằng ngôn ngữ Dart và tận dụng nhiều tính năng nâng cao của ngôn ngữ này
Flutter operates on Android, Windows, macOS, and Linux through an unofficial project called Flutter Desktop Embedding, utilizing the Dart VM with a just-in-time execution engine.
(JIT) Do giới hạn về thực thi mã động của App Store, ứng dụng Flutter sử dụng biên dịch ahead-of-time (AOT) trên iOS
Nền tảng Dart nổi bật với tính năng "tải lại nóng" (hot reload), cho phép sửa đổi trong tập tin nguồn được chèn vào ứng dụng đang chạy Flutter nâng cao tính năng này với "tải lại nóng giữ trạng thái" (stateful hot reload), giúp cập nhật ngay lập tức các thay đổi trong mã nguồn mà không cần khởi động lại ứng dụng hoặc mất mát trạng thái hiện tại.
Flutter engine có các công nghệ cốt lõi, Skia, thư viện kết xuất đồ họa 2D và Dart,
Máy ảo (VM) cho ngôn ngữ hướng đối tượng thu gom rác và lưu trữ chúng trong một vỏ (shell), với các shell khác nhau cho từng nền tảng như Android và iOS Flutter cung cấp API nhúng cho phép sử dụng Flutter engine như một thư viện, trong khi các shell triển khai mã dành riêng cho nền tảng để tương tác với IMEs và quản lý sự kiện vòng đời ứng dụng Máy ảo Dart thực hiện các thư viện lõi Dart và bổ sung thư viện dart:ui, cung cấp quyền truy cập vào các tính năng của Skia và shell, đồng thời cho phép giao tiếp trực tiếp với mã Dart thông qua Platform Channels.
Hình 2.1 Tổng quan hệ thống Flutter
Thư viện Foundation, được phát triển bằng ngôn ngữ Dart, cung cấp các lớp và chức năng cơ bản thiết yếu cho việc xây dựng ứng dụng Flutter, bao gồm API để tương tác với engine.
Hình 2.2 Widget trong Flutter framework
Khung Flutter dựa trên khái niệm cốt lõi rằng "Mọi thứ đều là một widget" Các widget là các thành phần giao diện người dùng cơ bản, đóng vai trò quan trọng trong việc xây dựng giao diện cho ứng dụng.
Trong Flutter, ứng dụng được xem như một widget, là tiện ích cấp cao nhất Giao diện người dùng được xây dựng từ một hoặc nhiều widget, và các widget này lại được cấu thành từ các widget con Tính năng kết hợp này cho phép chúng ta tạo ra giao diện người dùng với độ phức tạp tùy ý.
Flutter cung cấp StatefulWidget để hỗ trợ duy trì trạng thái cho các widget, cho phép các widget khác được lấy từ StatefulWidget Các widget trong Flutter hoạt động phản ứng tự nhiên, tương tự như ReactJS, và sẽ tự động kết xuất lại khi trạng thái bên trong thay đổi Quá trình kết xuất lại được tối ưu hóa bằng cách so sánh sự khác biệt giữa widget cũ và mới, chỉ hiển thị các thay đổi cần thiết Flutter framework bao gồm hai bộ widget tương ứng với các ngôn ngữ thiết kế khác nhau: Material Design widgets theo ngôn ngữ thiết kế của Google và Cupertino widgets tuân theo Nguyên tắc Giao diện Con người của Apple cho thiết kế iOS.
XÂY DỰNG ỨNG DỤNG
Tổng quan về ứng dụng
3.1.1 Khảo sát ứng dụng liên quan
Trên kho ứng dụng Play Store và App Store hiện có nhiều ứng dụng giúp người dùng tìm hiểu về lịch sử, đặc biệt là lịch sử Việt Nam Dưới đây là bảng đánh giá các điểm mạnh và điểm yếu của một số ứng dụng liên quan.
Screenshots Điểm mạnh Điểm yếu
Các nội dung được trình bày tóm tắt, rõ ràng; được phân loại theo các chủ đề riêng biệt
Bài viết này không phù hợp cho những ai muốn khám phá sâu hơn về lịch sử Việt Nam Thiếu các tiện ích như đánh dấu lịch sử người dùng khiến người đọc gặp khó khăn trong việc theo dõi quá trình tìm hiểu của mình.
16 dụng có giao diện đơn giản, không thực sự thu hút người dùng
(cập nhật 25/09/2020) Điểm đặc biệt của ứng dụng
Sử Việt Toàn Thư mang đến cho người đọc những bài học lịch sử hấp dẫn qua các mẩu truyện dân gian và giai thoại lịch sử, kích thích sự tò mò và động lực khám phá Ứng dụng này đóng vai trò như một cẩm nang cung cấp kiến thức, nhưng chưa có chức năng đánh giá mức độ hiểu biết của người dùng sau mỗi nội dung, khiến họ gặp khó khăn trong việc rà soát lại những gì đã học.
Ứng dụng này không cần kết nối Internet, sở hữu giao diện đơn giản và dễ sử dụng Nó còn cung cấp các phím tắt tiện lợi để di chuyển giữa các trang hoặc phóng to, thu nhỏ nội dung đã đọc Thiết kế UI/UX của ứng dụng rất thân thiện và dễ tiếp cận.
Ha Bui 3.9.6 (cập nhật 3/5/2019) Ứng dụng luôn bám sát nội dung sách giáo khoa nhằm hỗ trợ học sinh, phụ huynh
Không cần kết nối Internet, người dùng vẫn có thể tìm hiểu các bài giải một cách đầy đủ nhất Ứng dụng hoàn toàn miễn phí
Giao diện người dùng (UI) và trải nghiệm người dùng (UX) của ứng dụng rất đơn giản Ứng dụng chủ yếu tập trung vào việc cung cấp các bài giải cho nội dung trong sách giáo khoa, do đó, việc khám phá và tiếp cận các kiến thức sâu hơn là điều khó khăn.
Ngoài chương trình lịch sử thì còn có những môn khác như Địa,
UI/UX hiện đại, bắt mắt Đầy đủ các môn học từ cơ bản đến nâng cao
Ứng dụng học tập này cung cấp các bài học chi tiết với video hướng dẫn đi kèm, cùng với hệ thống đánh giá kiến thức của người học Nó còn tích hợp nhiều tiện ích như diễn đàn trao đổi kiến thức và chức năng đặt lịch nhắc nhở Tuy nhiên, đây là một ứng dụng có phí, do đó người dùng sẽ gặp phải hạn chế trong việc tiếp cận nhiều bài học.
19 thiệu các khóa học có phí, …
Các ứng dụng lịch sử Việt Nam thường có giao diện đơn giản và nội dung thể hiện khá thô cứng, thiếu khả năng đánh giá kiến thức người dùng Điều này dẫn đến việc không có diễn đàn trao đổi, làm giảm sự lan tỏa của lịch sử Việt Nam trong cộng đồng Trong giai đoạn tiếp theo, việc phát triển các ứng dụng lịch sử sẽ phải đối mặt với nhiều thách thức, bao gồm việc tạo ra ứng dụng hấp dẫn để khuyến khích người dùng tìm hiểu lịch sử, đồng thời giúp họ ghi nhớ các thông tin được truyền tải.
Sản phẩm có 8 chức năng chính sau đây:
• Đăng ký/đăng nhập tài khoản
• Ghi nhận trạng thái người dùng
• Đánh giá quá trình học tập
• Diễn đàn trao đổi kiến thức
• Xem lịch các sự kiện lịch sử
• Đặt lịch nhắc nhở học tập
3.1.3 Đối tượng người dùng Đối tượng sử dụng ứng dụng được chia thành hai nhóm chính:
• Nhóm 1: Học sinh, sinh viên, giáo viên và những người có nhu cầu tìm hiểu lịch sử Việt Nam (gọi chung là người tìm hiểu)
Phần mềm được chạy trên các thiết bị smartphone
Hệ điều hành: Android hoặc IOS
Yêu cầu chức năng
Định nghĩa và quy ước về thuật ngữ, từ viết tắt:
Thuật ngữ Định nghĩa Giải thích
CSDL Cơ sở dữ liệu Nơi lưu trữ thông tin và cho phép truy cập
DEP Dependency Sự phụ thuộc
MUST Mức độ tối thiểu cần thiết để vượt qua các đợt kiểm thử 3.2.1 Sơ đồ tổng thể chức năng ứng dụng
Hình 3.1: Use case cho ứng dụng em yêu lịch sử
Use Case Name Nhập tên đăng nhập
Trigger Người tìm hiểu đăng nhập để sử dụng ứng dụng
Precondition Ứng dụng chạy lần đầu tiên sau khi được cài đặt trên thiết bị
Basic Path 1 Người tìm hiểu nhập tên vào ô input và gửi form lên
2 Hệ thống kiểm tra ô tên người dùng có để trống không
Trong bước 2, nếu tên người dùng không hợp lệ thì hệ thống sẽ báo lỗi
Postcondition Ứng dụng hiển thị màn hình chính
Use Case Name Hiển thị bài học
Trigger Người tìm hiểu chọn bài học để hiển thị
Precondition Danh sách các bài học đang được hiển thị trên màn hình danh sách các bài học
Basic Path 1 Người tìm hiểu chọn nội dung
2 Ứng dụng hiển thị nội dung bài học
Postcondition Ứng dụng hiển thị màn hình nội dung bài học
Use Case Name Kiểm tra bài học
Trigger Người tìm hiểu chọn để kiểm tra bài học
Precondition Màn hình hiển thị nội dung bài học hiển thị xong nội dung
Basic Path 1 Người tìm hiểu chọn nút “Xong” trên màn hình nội dung bài học
2 Ứng dụng hiển thị bảng các nút
3 Người tìm hiểu chọn nút “Kiểm tra”
Postcondition Ứng dụng hiển thị màn hình kiểm tra
3.2.5 Cập nhật trạng thái bài học và lưu quá trình của người tìm hiểu
Use Case Name Cập nhật trạng thái bài học và lưu quá trình của người tìm hiểu
Trigger Người tìm hiểu chọn để kiểm tra bài học
Precondition Màn hình kết quả đang được hiển thị
Basic Path 1 Người tìm hiểu submit đủ các câu trả lời
2 Ứng dụng kiểm tra xem số câu trả lời đúng có lớn hơn hoặc bằng 80% tổng số câu hỏi
Trong bước 2, nếu ứng dụng phát hiện số câu trả lời đúng không đạt yêu cầu, nó sẽ không cập nhật trạng thái bài học và không lưu lại tiến trình của người học.
Postcondition Ứng dụng cập nhật trạng thái bài học sang đã hoàn thành và lưu quá trình tìm hiểu của người tìm hiểu
Use Case Name Tạo tài khoản mới
Trigger Người tìm hiểu chọn tạo tài khoản
Precondition Người tìm hiểu truy cập màn hình diễn đàn và người tìm hiểu chưa đăng nhập
Basic Path 1 Người tìm hiểu chọn nút “Đăng nhập”
2 Ứng dụng hiển thị form đăng nhập
3 Người tìm hiểu chọn nút “Đăng ký”
4 Ứng dụng hiển thị form đăng ký
5 Người tìm hiểu nhập đủ các trường dữ liệu và nhấn nút
6 Ứng dụng kiểm tra tính hợp lệ của các trường dữ liệu
Trong bước 6, nếu bất kỳ trường nào chưa hợp lệ hoặc chưa được nhập thì ứng dụng báo lỗi
Postcondition Ứng dụng tạo tài khoản mới và lưu vào cơ sở dữ liệu trên hệ thống server Ứng dụng hiển thị màn hình diễn đàn
Use Case Name Đăng nhập diễn đàn
Trigger Người tìm hiểu chọn để đăng nhập
Precondition Người tìm hiểu truy cập màn hình diễn đàn và người tìm đã đăng nhập thành công trước đó
Basic Path 1 Người tìm hiểu chọn nút “Đăng nhập”
2 Ứng dụng hiển thị form đăng nhập
3 Người tìm hiểu nhập đầy đủ các trường dữ liệu và nhấn nút
4 Ứng dụng kiểm tra tính hợp lệ của các trường dữ liệu được gửi lên
Trong bước 4, nếu bất kỳ trường nào chưa hợp lệ hoặc để trống thì hệ thống báo lỗi
Postcondition Ứng dụng báo đăng nhập thành công và hiển thị màn hình diễn đàn
Use Case Name Đăng xuất diễn đàn
Trigger Người tìm hiểu chọn để đăng xuất
Precondition Người tìm hiểu truy cập màn hình diễn đàn và người tìm đã đăng nhập thành công trước đó
Basic Path 1 Người tìm hiểu chọn nút “Đăng xuất”
Postcondition Ứng dụng báo đăng xuất thành công và hiển thị màn hình đăng nhập
Use Case Name Submit câu hỏi
Trigger Người tìm hiểu chọn để submit câu hỏi lên hệ thống server
Precondition Người tìm hiểu truy cập màn hình diễn đàn và người tìm đã đăng nhập thành công trước đó
Basic Path 1 Người tìm hiểu chọn nút “Đăng câu hỏi”
2 Ứng dụng hiển thị form đăng câu hỏi
3 Người tìm hiểu nhập câu hỏi vào trường input và chọn nút submit
4 Ứng dụng kiểm tra tính hợp lệ của câu hỏi
Trong bước 4, nếu trường nhập câu hỏi để trống hoặc không hợp lệ thì ứng dụng báo lỗi
Postcondition Câu hỏi được lưu vào server
Use Case Name Bình luận câu hỏi
Trigger Người tìm hiểu chọn để bình luận câu hỏi
Precondition Người tìm hiểu truy cập màn hình diễn đàn và người tìm đã đăng nhập thành công trước đó
Basic Path 1 Người tìm hiểu chọn biểu tượng comment trên bài đăng
2 Ứng dụng hiển thị trang bình luận cho bài đăng
3 Người tìm hiểu nhập bình luận vào ô nhập bình luận và submit bình luận
4 Ứng dụng kiểm tra tính hợp lệ của bình luận
Trong bước 4, nếu trường nhập bình luận để trống hoặc không hợp lệ thì ứng dụng báo lỗi
Postcondition Bình luận được lưu vào server
3.2.11 Xem lịch các sự kiện lịch sử
Use Case Name Xem lịch các sự kiện lịch sử
Trigger Người tìm hiểu xem lịch
Precondition Người tìm hiểu truy cập tab màn hình lịch
Basic Path 1 Người tìm hiểu tab “Lịch sử”
2 Ứng dụng load data “Các sự kiện”
3 Ứng dụng hiển thị lịch
Use Case Name Đặt lịch nhắc nhở
Trigger Người tìm hiểu chọn để đặt lịch nhắc nhở
Precondition Người tìm hiểu truy cập màn hình nhắc nhở
Basic Path 1 Người tìm hiểu chọn nút “+”
2 Ứng dụng hiển thị form chọn DateTime
3 Người tìm hiểu chọn datetime và nhấn nút “Save”
4 Ứng dụng kiểm tra thời gian có hợp lệ không
Trong bước 3, nếu datetime sớm hơn thời gian hiện tại của thiết bị thì được cập nhật thành datetime của ngày kết tiếp
Postcondition DateTime được lưu vào cơ sở dữ liệu của ứng dụng
Use Case Name Tìm kiếm
Trigger Người tìm hiểu nhập từ khóa để xuất kết quả tương ứng
Precondition Người tìm hiểu truy cập màn hình chính
Basic Path 1 Người tìm hiểu nhấn vào thanh tìm kiếm
2 Chuyển sang trang nhập từ khóa
3 Người tìm hiểu nhập từ khóa
4 Hệ thống tiến hành so khớp từ khóa được nhập với từ khóa được lưu trong csdl
Trong bước 4, nếu từ khóa không trùng với từ khóa chứa trong csdl thì danh sách kết quả trống
Postcondition Hiển thị danh sách các kết quả tương ứng chứa từ khóa được nhập.
Yêu cầu phi chức năng
3.3.1 Yêu cầu về hiệu năng
Phần mềm có kích thước 128 MB bộ nhớ
Phần mềm hoạt động trên hệ điều hành Android (7 trở lên) Đọc, viết dữ liệu với thời gian ngắn, tránh tình trạng treo máy khi dữ liệu đọc lớn
Có thể lưu trữ dữ liệu lớn, tùy thuộc vào dung lượng còn trống trên ổ cứng thiết bị người dùng
Các tác vụ, tiến trình chạy đơn Khi thực hiện xong tiến trình này mới có thể thực hiện được tiến trình khác
3.3.2 Yêu cầu về an toàn
Phần mềm cam kết bảo mật thông tin người dùng, bao gồm họ tên, địa chỉ, tuổi tác, giới tính, nghề nghiệp, số điện thoại và email Chúng tôi hoàn toàn không chia sẻ hay lấy cắp dữ liệu cá nhân của bạn.
26 thông tin khách hàng cho bất kì ai Nếu có phần mềm thứ ba can thiệp, người dùng hoàn toàn chịu trách nhiệm
3.3.3 Yêu cầu về bảo mật
Tất cả thông tin dữ liệu, bao gồm bài học và lịch sử người dùng, được giữ bí mật tuyệt đối và chỉ những người dùng có thẩm quyền nhất định mới có quyền truy cập và chỉnh sửa Dữ liệu được mã hóa để đảm bảo an toàn cao nhất Trong trường hợp có sự can thiệp của phần mềm thứ ba, người dùng sẽ hoàn toàn chịu trách nhiệm.
3.3.4 Yêu cầu về chất lượng
Phần mềm được thiết kế để đáp ứng nhu cầu tìm hiểu lịch sử Việt Nam với các chức năng cơ bản như nhập và xuất thông tin bài học, câu hỏi Giao diện thân thiện và dễ sử dụng, đồng thời mang tính thẩm mỹ cao Quá trình bảo trì và nâng cấp sản phẩm sẽ được thực hiện thường xuyên cho đến khi hoàn thiện các tính năng.
3.3.5 Yêu cầu về thương mại
Phần mềm này hoàn toàn miễn phí cho người dùng Tuy nhiên, những ai sử dụng phần mềm với mục đích thương mại, trục lợi cá nhân hoặc tổ chức sẽ phải tự chịu trách nhiệm về hành động của mình.
Thiết kế thành phần giao diện
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Vào ứng dụng Hiển thị màn hình welcome
Lần chạy chương trình đầu tiên
1 Bấm vào ô input ‘Tên của bạn’ (1)
Nhập tên người sử dụng
2 Bấm vào button (2) Chuyển sang màn hình chính
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Vào ứng dụng Chuyển sang màn hình dashboard
Sau khi đã nhập tên ở màn hình welcome
1 Chọn vào một chuyên mục trong các thẻ chuyên mục trong
Chuyển sang màn hình danh sách nội dung tương ứng
2 Bấm vào button (2) Chuyển sang màn hình nội dung chính tương ứng
Sau khi người dùng truy cập vào trang nội dung chính của bài học nhưng chưa đủ điều kiện hoàn thành bài học
3 Bấm vào button (3) Chuyển sang màn
4 Bấm vào button (4) Chuyển sang màn hình diễn đàn trao đổi
5 Bấm vào button (5) Chuyển sang màn hình xem lịch các sự kiện
6 Bấm vào button (6) Chuyển sang màn hình đặt lịch nhắc nhở
7 Bấm vào button (7) Chuyển sang màn hình cài đặt
8 Bấm vào button (1) Chuyển sang màn hình tìm kiếm
3.4.3 Màn hình danh sách nội dung
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn một trong các thẻ chuyên mục trên trang dashboard
Chuyển sang màn hình danh sách nội dung tương ứng
1 Bấm vào ô button (1) Quay lại trang trước đó
2 Chọn một trong các mục trong (3)
Chuyển sang màn hình nội dung chính
3 Các ô tick xanh (2) hiển thị trạng thái bài học đã hoàn thành chưa
4 Ô hiển thị quá trình tìm hiểu của người dùng (4)
3.4.4 Màn hình nội dung chính
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn 1 trong các bài học trong màn hình danh sách nội dung
Hiển thị màn hình nội dung chính
1 Ô hiển thị nội dung chữ (1)
2 Bấm vào button (2) Chạy video
3 Bấm vào button (3) Chuyển sang màn hình câu hỏi
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn button kiểm tra trên màn hình nội dung chính
Hiển thị màn hình câu hỏi
1 Bấm vào button (1) Quay trở về màn hình trước
2 Bấm vào button (2) Chuyển sang câu hỏi tiếp
Nếu câu hỏi hiện tại không phải là câu hỏi cuối cùng
4 Chọn 1 trong các câu trả lời trong (3)
Hệ thống kiểm tra câu trả lời được chọn đúng hay sai và ghi nhận kết quả
3.4.6 Màn hình kết quả câu hỏi
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Hoàn thành tất cả câu hỏi trong màn hình câu hỏi
Hiển thị màn hình kết quả
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn mục thảo luận Hiển thị màn hình diễn đàn
Sau khi người dùng nhập tên ở màn hình welcome và chưa đăng nhập thành công trước đó
1 Bấm vào button (1) Hiển thị màn hình đăng nhập
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn mục thảo luận Hiển thị màn hình diễn đàn
Sau khi người đã đăng nhập
1 Bấm vào button (1) Đăng xuất tài khoản người dùng
2 Bấm vào button (2) Hiên thị mục nhập câu hỏi
3 Bấm vào button (3) Cập nhập trạng thái yêu thích bài đăng
4 Bấm vào button (4) Chuyển sang màn hình bình luận
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn button đăng nhập trên màn hình diễn đàn
Hiển thị màn hình đăng nhập
Người dùng chưa đăng nhập thành công trước đó
2 Bấm vào button (3) Thực hiện đăng nhập Sau khi người dùng nhập liệu ở (1), (2)
3 Bấm vào button (4) Chuyển sang màn hình tạo tài khoản
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn button đăng ký ở màn hình đăng nhập
Hiển thị màn hình đăng ký
1 Chọn button (1) Hiển thị camera
3 Bấm vào button (5) Thực hiện tạo tài khoản
Sau khi đã nhập liệu ở (1),(2),(3),(4) 3.4.11 Màn hình đăng câu hỏi
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn button đăng câu hỏi trên màn hình diễn đàn
Hiển thị bảng nhập liệu câu hỏi
1 Bấm vào ô input (1) Hiển thị soft keyboard
2 Bấm vào button (2) Upload câu hỏi Sau khi nhập liệu ở
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn icon comment trên các bài đã được post trên màn hình diễn đàn
Hiển thị màn hình bình luận
1 Bấm vào ô input (1) Hiển thị soft keyboard
Nhập nội dung câu trả lời
2 Bấm vào button (2) Upload comment Sau khi nhập liệu ở
3.4.13 Màn hình hẹn nhắc nhở
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn mục nhắc nhở Hiển thị màn hình hẹn nhắc nhở
1 Bấm vào button (1) Hiển thị bảng thiết lập date time
3.4.14 Màn hình đặt nhắc nhở
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn button add alarm trên màn hình hẹn nhắc nhở
Hiển thị bảng thiết lập thời gian
1 Bấm vào (2) Hiển thị date time picker
2 Bấm vào button (1) Lưu date time vào hệ thống
Sau khi đã thiết lập date time ở (2) 3.4.15 Màn hình lịch các sự kiện
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chọn tab “Xem lịch” Hiển thị màn hình xem lịch
• Danh sách các biến cố
STT Điều kiện kích hoạt Xử lý Chú thích
0 Chạm vào thanh tìm kiếm ở màn hình chính
Chuyển sang màn hình tìm kiếm
2 Hiển thị kết quả tìm kiếm ở (2)
THỬ NGHIỆM, ĐÁNH GIÁ
Môi trường thử nghiệm
Thiết bị debug: Redmi Note 8/3GB RAM/Android 10.
Kết quả thử nghiệm
Đánh giá sản phẩm
Ứng dụng cơ bản có các chức năng được đề cập ở mục 3.2
Tốc độ lấy dữ liệu bài học từ cơ sở dữ liệu nhanh
Tốc độ load dữ liệu từ server Firebase chấp nhận được và phụ thuộc vào băng thông kết nối của thiết bị
Hiện sản phẩm chỉ chạy được trên hệ điều hành Android