Bối cảnh và vấn đề nghiên cứu
Khóa luận tốt nghiệp kỹ sư ngành Công nghệ Thông tin (chuyên ngành Công nghệ Phần mềm) với đề tài "Xây dựng ứng dụng hỗ trợ học từ vựng tiếng Anh trên Android" được thực hiện bởi nhóm sinh viên Nguyễn Minh Hoàng (MSSV: 15110210) và Phạm Văn Tổng (MSSV: 15110336), dưới sự hướng dẫn của ThS. Nguyễn Trần Thi Văn tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh. Đề tài được bảo vệ trước hội đồng chấm khóa luận với sự tham gia của giáo viên phản biện là TS. Lê Vĩnh Thịnh.
Lý do chọn đề tài và bối cảnh thực tiễn:
Trong bối cảnh hội nhập quốc tế và đổi mới kinh tế, việc nâng cao năng lực tiếng Anh là một nhu cầu cấp thiết đối với người dân Việt Nam. Tuy nhiên, việc ghi nhớ và mở rộng vốn từ vựng tiếng Anh đòi hỏi người học phải dành nhiều thời gian, đồng thời cần duy trì quá trình ôn luyện liên tục mỗi ngày. Cùng với sự phát triển mạnh mẽ của công nghệ thông tin và sự phổ biến rộng rãi của điện thoại thông minh (smartphone), việc tự học qua các thiết bị di động trở thành một giải pháp tiện lợi, giúp nâng cao hiệu suất học tập. Xuất phát từ thực tế đó, nhóm tác giả đã nghiên cứu và phát triển một ứng dụng chạy trên hệ điều hành Android nhằm cung cấp công cụ học từ vựng tiện ích, hỗ trợ người học tiếp thu kiến thức dễ dàng, trau dồi vốn từ hàng ngày một cách chính xác và hiệu quả.
Mục tiêu và nhiệm vụ nghiên cứu:
Nhiệm vụ của khóa luận được phân định rõ ràng thành hai phần theo đề cương nghiên cứu:
- Nhiệm vụ lý thuyết:
- Tìm hiểu toàn diện về hệ điều hành di động Android và các thành phần cấu trúc ứng dụng.
- Tìm hiểu hệ quản trị cơ sở dữ liệu nhúng SQLite và các đặc tính kỹ thuật liên quan.
- Nhiệm vụ thực hành:
- Xây dựng ứng dụng hoàn chỉnh trên Android với các tính năng cốt lõi:
- Tra cứu từ vựng tiếng Anh.
- Quản lý kho từ vựng cá nhân (thêm từ mới, xóa từ, đánh dấu từ yêu thích).
- Đặt lịch nhắc nhở luyện tập học từ theo thời gian biểu.
- Mục đích công nghệ và ứng dụng:
- Nắm vững quy trình phát triển ứng dụng di động trên nền tảng Android.
- Xây dựng phần mềm có giao diện trực quan, thao tác đơn giản, tạo hứng thú cho người sử dụng trong quá trình tự học.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Nền tảng hệ điều hành di động Android, hệ quản trị cơ sở dữ liệu SQLite, ngôn ngữ lập trình Java, các kỹ thuật thiết kế giao diện và tương tác người dùng trên thiết bị di động, cùng hiện trạng của các ứng dụng học tiếng Anh đang lưu hành.
- Phạm vi nghiên cứu: Ứng dụng di động hoạt động độc lập (cục bộ) trên thiết bị chạy hệ điều hành Android; thời gian thực hiện đề tài từ ngày 23/09/2019 đến ngày 11/12/2019.
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng lý thuyết và phương pháp tiếp cận kỹ thuật dựa trên các công nghệ tiêu chuẩn trong phát triển phần mềm di động:
1. Khung lý thuyết và công nghệ sử dụng:
- Hệ điều hành Android: Nền tảng di động dựa trên nhân Linux được phát triển bởi Google và Liên minh thiết bị cầm tay mở (Open Handset Alliance - OHA). Văn bản trình bày lịch sử phát triển các phiên bản (Android 1.0, Android 1.6, Android 4.0 Ice Cream Sandwich, Android 4.1-4.3 Jelly Bean...) cùng các thành phần cơ bản cấu thành ứng dụng Android:
- Activity: Nền tảng giao diện người dùng tương tác, trong đó có một Main Activity được khởi tạo đầu tiên khi bật ứng dụng.
- Service: Thành phần chạy ngầm phục vụ việc cập nhật dữ liệu, xử lý nền và đưa ra các cảnh báo (Notification) mà không hiển thị trực tiếp.
- Content Provider: Cơ chế quản lý và chia sẻ dữ liệu an toàn giữa các ứng dụng khác nhau.
- Intent: Nền tảng truyền tải thông điệp để khởi tạo Activity hoặc kích hoạt Service.
- Broadcast Receiver: Thành phần tiếp nhận các thông điệp Intent được gửi từ hệ thống hoặc các ứng dụng bên ngoài.
- Notification: Thành phần đưa ra cảnh báo tới người dùng mà không làm gián đoạn trạng thái hoạt động của Activity. Tất cả các thành phần này bắt buộc phải được khai báo trong tệp cấu hình
AndroidManifest.xml.
- Hệ quản trị cơ sở dữ liệu SQLite: Cơ sở dữ liệu quan hệ nhúng (serverless) được tích hợp sẵn trên nền tảng Android, phục vụ lưu trữ dữ liệu cục bộ với các đặc tính:
- Hoạt động không cần cài đặt dịch vụ máy chủ độc lập và không yêu cầu cổng liên lạc TCP/IP.
- Toàn bộ cơ sở dữ liệu được lưu trữ trong một tệp duy nhất, ổn định và tương thích đa nền tảng.
- Kích thước thư viện tối ưu nhỏ gọn (dưới 500 KiB, có thể cấu hình dưới 300 KiB).
- Áp dụng cơ chế gõ dữ liệu linh hoạt (manifest typing) và cho phép bản ghi thay đổi độ dài thực tế để tiết kiệm bộ nhớ lưu trữ.
- Hỗ trợ các câu lệnh mở rộng như
REPLACE, mệnh đề ON CONFLICT, cùng các lệnh ATTACH và DETACH.
2. Phương pháp nghiên cứu thực tế:
- Phương pháp phân tích - so sánh: Khảo sát chi tiết hiện trạng tính năng, ưu điểm và nhược điểm của 3 ứng dụng học tiếng Anh phổ biến gồm: Duolingo, 3000 từ vựng tiếng Anh thông dụng, và 6000 từ vựng phổ biến.
- Phương pháp phân tích và thiết kế hệ thống: Sử dụng mô hình ca sử dụng (Use Case), biểu đồ tuần tự (Sequence Diagram), và thiết kế lược đồ quan hệ thực thể cho cơ sở dữ liệu SQLite.
- Phương pháp lập trình và thử nghiệm: Lập trình trên môi trường Android Studio sử dụng ngôn ngữ Java; tìm hiểu công cụ Xamarin Test Cloud và kiểm thử chức năng trực tiếp trên các màn hình giao diện.
Thiết kế và triển khai
Là đồ án tốt nghiệp thuộc chuyên ngành Công nghệ phần mềm, đề tài tập trung xây dựng kiến trúc, cơ sở dữ liệu, quy định nghiệp vụ và triển khai giao diện theo quy trình kỹ thuật phần mềm chuẩn xác:
1. Quy định nghiệp vụ và công thức hệ thống
Hệ thống thiết lập 5 quy tắc xử lý nghiệp vụ bắt buộc được mã hóa như sau:
| STT |
Mã quy định |
Tên quy định |
Nội dung mô tả chi tiết |
| 1 |
QD_CCD |
Quy định chọn chủ đề |
Bắt buộc phải chọn 1 chủ đề bất kỳ để bắt đầu bài luyện tập; nếu người dùng không chọn, hệ thống tự động lấy chủ đề mặc định trong Spinner. |
| 2 |
QD_FAV |
Quy định từ yêu thích |
Nhấn vào biểu tượng yêu thích để thêm từ vào danh sách; nhấn thêm một lần nữa thì từ sẽ bị xóa khỏi danh sách yêu thích. |
| 3 |
QD_POpt |
Quy định chọn câu trả lời |
Người học bắt buộc phải chọn đáp án trong vòng 30 giây; nếu hết thời gian mà chưa chọn thì hệ thống ghi nhận câu trả lời đó là sai. |
| 4 |
QD_Add |
Quy định thêm từ mới |
Bắt buộc phải nhập đầy đủ các trường dữ liệu gồm: từ tiếng Anh, nghĩa của từ bằng tiếng Việt, và loại từ. |
| 5 |
QĐ_Search |
Quy định tra cứu từ |
Người dùng cần nhập ít nhất 1 ký tự vào ô tìm kiếm và nhấn phím xác nhận (OK/Enter) trên bàn phím thiết bị. |
2. Thiết kế cơ sở dữ liệu SQLite
Cơ sở dữ liệu của ứng dụng được xây dựng trên SQLite gồm 3 bảng thực thể với các thuộc tính cụ thể:
Bảng 1: Bảng thuộc tính từ vựng (Words)
Tu (String, kích thước 45): Lưu trữ từ vựng bằng tiếng Anh.
Nghia (String, kích thước 45): Lưu trữ nghĩa của từ bằng tiếng Việt.
GhiChu (String, kích thước 45): Chứa các từ đồng nghĩa, từ trái nghĩa hoặc các nghĩa bổ sung.
ChuDe (String, kích thước 45): Tên chủ đề phân loại mà từ vựng đó trực thuộc.
Favorite (Int, kích thước 1): Trạng thái yêu thích của từ (giá trị 1: đang nằm trong danh sách yêu thích; giá trị 0: không nằm trong danh sách yêu thích).
Bảng 2: Bảng thuộc tính chủ đề (Chủ đề)
ID (String, kích thước 45): Mã định danh duy nhất của chủ đề từ vựng.
ChuDe (String, kích thước 45): Tên gọi của chủ đề từ vựng.
Bảng 3: Bảng thuộc tính câu hỏi trắc nghiệm (Question)
Option1 (String, kích thước 45): Lựa chọn đáp án thứ nhất cho câu hỏi.
Option2 (String, kích thước 45): Lựa chọn đáp án thứ hai cho câu hỏi.
Option3 (String, kích thước 45): Lựa chọn đáp án thứ ba cho câu hỏi.
answerNr (Int, kích thước 1): Lưu số thứ tự của câu trả lời chính xác (nhận các giá trị tương ứng 1, 2, hoặc 3).
rightAnswer (String, kích thước 45): Nội dung chuỗi văn bản của đáp án đúng.
3. Luồng xử lý và kiến trúc tương tác
Kiến trúc phần mềm phân chia trách nhiệm rõ ràng giữa các giao diện Fragment/Activity, tầng truy cập dữ liệu DAO (WordsDAO) và lớp hỗ trợ câu hỏi (QuizDBHelper):
- Luyện tập ngẫu nhiên:
fragmentHome tiếp nhận tương tác người dùng, gửi tên chủ đề và tạo ngẫu nhiên mã CODE_MODE chuyển sang QuizActivity. QuizActivity gọi QuizDBHelper, đối tượng này kết nối WordsDAO để lấy dữ liệu từ SQLite, tạo bộ câu hỏi ngẫu nhiên và gửi trả danh sách về QuizActivity để người dùng thực hiện bài tập.
- Luyện tập tùy chọn:
fragmentTest gửi tên chủ đề cùng CODE_MODE do người dùng trực tiếp lựa chọn tới QuizActivity để tải danh sách câu hỏi phù hợp.
- Tra cứu và chỉnh sửa từ vựng:
fragmentSearch nhận từ khóa, kích hoạt WordsDAO truy vấn cơ sở dữ liệu SQLite và hiển thị kết quả. Khi thêm từ mới, một Activity riêng biệt được gọi, tiếp nhận dữ liệu và thực thi lưu trữ qua WordsDAO, sau đó gửi thông báo để làm mới giao diện tìm kiếm. Khi xóa hoặc đổi trạng thái yêu thích tại Activity chi tiết từ, WordsDAO cập nhật trực tiếp vào SQLite và trả trạng thái làm mới cho Fragment.
- Lập lịch nhắc nhở:
fragmentUser điều phối các hộp thoại tương tác gồm TimetoPractice (chọn số lần luyện tập/ngày), DaytoPractice (chọn các ngày trong tuần) và hộp thoại chọn giờ thông báo (setHourtoNotification) để lưu thiết lập nhắc nhở vào hệ thống.
Nội dung chính theo từng chương
Phần Mở đầu
Trình bày tính cấp thiết của việc học từ vựng tiếng Anh trên thiết bị di động, mục đích nghiên cứu, cách tiếp cận, phương pháp thực hiện và bảng tổng hợp khảo sát 3 ứng dụng liên quan trên thị trường:
| Tiêu chí phân tích |
Ứng dụng Duolingo |
3000 từ vựng tiếng Anh thông dụng |
6000 từ vựng phổ biến |
| Nghe phát âm từ |
Có |
Có |
Có |
| Nghĩa của từ |
Có |
Có |
Có |
| Phiên âm chuẩn |
Không |
Có |
Có |
| Hình ảnh minh họa |
Có |
Không |
Có |
| Chọn từ yêu thích |
Không |
Có |
Có |
| Tìm kiếm từ vựng |
Không |
Có |
Không |
| Phân loại từ theo chủ đề |
Có |
Có |
Có |
| Đăng nhập tài khoản |
Có |
Không |
Không |
| Câu ví dụ minh họa |
Có |
Không |
Không |
| Kiểm tra từ đã học |
Có |
Có |
Có |
Chương 1: Cơ sở lý thuyết
Nội dung chương tập trung vào hai trụ cột công nghệ chính:
- Hệ điều hành Android: Phân tích lịch sử hình thành từ năm 2005 (Google mua lại) và ra mắt chính thức vào tháng 10 năm 2008 trên thiết bị HTC Dream. Trình bày các phiên bản hệ điều hành kèm bảng số liệu thống kê thị phần di động giai đoạn 2016 - 2017, khẳng định vị thế dẫn đầu của Android (với hơn 1,268 tỷ thiết bị tiêu thụ trong năm 2016). Phân tích chi tiết 6 thành phần chính trong lập trình ứng dụng Android và tệp cấu hình
AndroidManifest.
- Hệ quản trị CSDL SQLite: Trình bày chi tiết 11 chức năng và lợi ích kỹ thuật của SQLite như không cần máy chủ, cấu trúc gói gọn trong một tệp tin, tối ưu hóa kích thước dưới 500 KiB, cơ chế gõ dữ liệu manifest typing, tối ưu độ dài bản ghi và hỗ trợ các câu lệnh mở rộng SQL (
REPLACE, ON CONFLICT, ATTACH, DETACH). Phân tích các hạn chế cố hữu gồm giới hạn truy cập đồng thời, không hỗ trợ phân quyền người dùng phức tạp và mức độ bảo mật ở mức cơ bản.
Chương 2: Khảo sát thị trường và xác định yêu cầu
- Phân tích chi tiết giao diện, quy trình hoạt động, ưu điểm và nhược điểm của 3 ứng dụng: Duolingo (giao diện trò chơi hóa, đầy đủ kỹ năng nhưng lộ trình chậm và không có chức năng tìm kiếm từ/đánh dấu yêu thích), 3000 từ vựng tiếng Anh thông dụng (học được khi không có internet, học qua màn hình khóa nhưng dễ gây nhàm chán và thiếu hình ảnh), và 6000 từ vựng phổ biến (ôn tập bằng flashcard nhưng phụ thuộc kết nối internet khi nghe và khó tra từ nhanh).
- Xác định hệ thống yêu cầu:
- Yêu cầu chức năng nghiệp vụ: Lưu trữ (thiết lập, từ tự thêm, từ yêu thích), Tra cứu (danh sách tất cả từ, từ theo từ khóa, danh sách yêu thích), Kết xuất (danh sách từ tìm kiếm, danh sách câu hỏi kiểm tra).
- Yêu cầu chức năng hệ thống phía User: Xem từ mặc định, thêm từ mới, xóa từ đã học, cài đặt lịch nhắc nhở (ngày, giờ, số lần), thêm từ vào danh sách yêu thích.
- Yêu cầu phi chức năng: Đảm bảo tính tiến hóa (dễ nâng cấp), tính tiện dụng (giao diện thân thiện, nút bấm rõ ràng), tính hiệu quả (xử lý nhanh, truy xuất an toàn), tính tương thích trên đa số thiết bị Android, và tính tái sử dụng mã nguồn cho các kỹ sư phát triển tiếp theo.
Chương 3: Phân tích yêu cầu và thiết kế cơ sở dữ liệu
- Đặc tả bảng 12 công việc nghiệp vụ của người dùng gắn liền với các quy định xử lý hệ thống.
- Xây dựng sơ đồ Use Case Diagram tổng quát thể hiện các tương tác của người dùng.
- Xây dựng chi tiết 7 biểu đồ tuần tự (Sequence Diagram) cho các chức năng: Luyện tập ngẫu nhiên, Luyện tập tùy chọn, Tra từ, Thêm từ mới, Xóa từ, Thêm vào danh sách yêu thích, và Lập lịch luyện tập.
- Xây dựng mô hình thực thể và đặc tả chi tiết các trường, kiểu dữ liệu, kích thước cho 3 bảng cơ sở dữ liệu SQLite (
Words, Chủ đề, Question).
Chương 4: Thiết kế giao diện và xử lý
Đặc tả chi tiết thành phần giao diện và các hàm xử lý sự kiện tương ứng cho 13 màn hình chức năng của ứng dụng:
- Màn hình khởi động (Splash screen): Hiển thị lời chào Welcome qua TextView khi nhận tên người dùng.
- Màn hình giao diện chính: Điều hướng đến các chức năng học tập và quản lý.
- Màn hình luyện tập tự chọn: Cho phép chọn chủ đề và chế độ làm bài.
- Màn hình tra từ: Ô tìm kiếm và danh sách kết quả từ vựng hiển thị tương ứng.
- Màn hình tùy chỉnh: Các thiết lập cá nhân hóa cho người dùng.
- Màn hình bài tập nghe: Nghe phát âm tiếng Anh và chọn đáp án tương ứng.
- Màn hình bài tập chọn từ theo nghĩa: Đọc nghĩa tiếng Việt để tìm từ tiếng Anh chính xác.
- Màn hình bài tập chọn nghĩa theo từ: Đọc từ tiếng Anh để chọn nghĩa tiếng Việt chính xác.
- Màn hình chọn số lần nhắc nhở luyện tập: Cài đặt tần suất nhắc học trong ngày.
- Màn hình chọn ngày thông báo luyện tập: Chọn các ngày trong tuần để gửi thông báo.
- Màn hình chọn giờ thông báo luyện tập: Đặt mốc thời gian cụ thể nhận cảnh báo học bài.
- Màn hình chi tiết từ: Hiển thị từ, phát âm, nghĩa, ghi chú, nút xóa và nút đánh dấu yêu thích.
- Màn hình thêm từ: Biểu mẫu nhập liệu từ mới, nghĩa và loại từ.
Chương 5: Cài đặt và kiểm thử
- Tiến hành cài đặt ứng dụng trên thiết bị Android và thực hiện kiểm thử chức năng trên toàn bộ 13 màn hình: Màn hình khởi động, Giao diện chính, Luyện tập tự chọn, Tra từ, Tùy chỉnh, Bài tập nghe, Bài tập chọn từ theo nghĩa, Chọn nghĩa theo hình, Thiết lập số lần nhắc nhở, Chọn ngày thông báo, Chọn giờ thông báo, Chi tiết từ, và Thêm từ mới.
- Tổng hợp và thống kê kết quả kiểm thử chức năng, đánh giá mức độ tương thích và độ ổn định của các xử lý trên ứng dụng so với các mục tiêu ban đầu.
Kết quả và đóng góp
Kết quả đạt được:
- Hoàn thành toàn bộ các mục tiêu đặt ra trong bản đề cương khóa luận tốt nghiệp theo đúng tiến độ kế hoạch (từ 23/09/2019 đến 11/12/2019).
- Xây dựng thành công ứng dụng di động hoàn chỉnh trên hệ điều hành Android hỗ trợ học từ vựng tiếng Anh với đầy đủ các khối chức năng:
- Tra cứu từ điển nhanh theo từ khóa nhập từ bàn phím.
- Quản lý từ vựng cá nhân hóa linh hoạt: người dùng có thể tự thêm từ mới vào cơ sở dữ liệu, xóa các từ không cần thiết hoặc đánh dấu vào danh sách từ vựng yêu thích.
- Cung cấp nhiều hình thức kiểm tra, ôn tập kiến thức: luyện tập ngẫu nhiên, luyện tập theo chủ đề, bài tập nghe âm thanh, bài tập trắc nghiệm nghĩa - từ với cơ chế đếm ngược thời gian giới hạn 30 giây cho mỗi câu hỏi.
- Tích hợp tính năng lập lịch nhắc nhở luyện tập thông qua hệ thống Notification của Android, cho phép tùy biến số lần nhắc trong ngày, chọn ngày trong tuần và thời điểm phát thông báo.
- Thiết kế cơ sở dữ liệu SQLite cục bộ tinh gọn với 3 bảng quan hệ (
Words, Chủ đề, Question), cho phép ứng dụng vận hành trơn tru và tra cứu dữ liệu ngoại tuyến mà không phụ thuộc vào kết nối mạng Internet.
Đóng góp của đề tài:
- Khảo sát và tổng hợp được bức tranh toàn diện về ưu, nhược điểm của các ứng dụng học tiếng Anh phổ biến (Duolingo, 3000 từ vựng thông dụng, 6000 từ vựng phổ biến), từ đó đưa ra thiết kế phần mềm kết hợp được tính năng tra cứu từ vựng, tự quản lý kho từ và tự động hóa lịch nhắc nhở.
- Xây dựng tài liệu thiết kế phần mềm chi tiết, bao gồm hệ thống quy tắc nghiệp vụ rõ ràng, mô hình Use Case, 7 biểu đồ tuần tự chi tiết và đặc tả 13 màn hình giao diện, tạo tiền đề thuận lợi cho việc bảo trì và nâng cấp tính năng.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài:
- Ứng dụng hiện hoạt động hoàn toàn ở chế độ cục bộ (local) trên từng thiết bị di động cá nhân; dữ liệu được lưu trữ trong tệp SQLite riêng biệt nên chưa hỗ trợ tính năng đồng bộ hóa dữ liệu người dùng qua môi trường điện toán đám mây.
- Cơ sở dữ liệu SQLite cục bộ còn tồn tại một số điểm giới hạn tự nhiên như không có cơ chế quản trị đa người dùng phức tạp và hạn chế trong khả năng truy cập đồng thời.
- Dữ liệu câu hỏi và tài nguyên hình ảnh minh họa cho các bài tập còn ở mức độ cơ bản trong phạm vi thực hiện của một đồ án tốt nghiệp kỹ sư.
Hướng phát triển tiếp theo:
- Bổ sung hệ thống máy chủ cơ sở dữ liệu trực tuyến (Backend Server / Cloud Database) để hỗ trợ đăng ký tài khoản người dùng, sao lưu dữ liệu và đồng bộ hóa tiến độ học tập trên nhiều thiết bị di động khác nhau.
- Mở rộng kho từ vựng theo nhiều cấp độ chuẩn quốc tế và bổ sung thêm các dạng bài tập tương tác nâng cao như luyện phát âm bằng công nghệ nhận dạng giọng nói, bài tập ghép câu và điền từ vào ngữ cảnh.
- Cải tiến thuật toán thông báo nhắc nhở thông minh dựa trên việc theo dõi thói quen và tần suất làm bài thực tế của người dùng.
Giá trị tham khảo
Tài liệu khóa luận tốt nghiệp này có giá trị thực tiễn và học thuật cho các nhóm đối tượng sau:
- Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm: Tài liệu là nguồn tham khảo cụ thể về phương pháp xây dựng một đồ án tốt nghiệp ứng dụng di động hoàn chỉnh từ bước khảo sát thị trường, đặc tả yêu cầu, thiết kế biểu đồ UML (Use Case, Sequence Diagram), thiết kế cơ sở dữ liệu SQLite cho đến triển khai giao diện và kiểm thử chức năng trên Android Studio.
- Người phát triển ứng dụng di động (Android Developers): Có thể tham khảo cách tổ chức mô hình phân tầng tương tác giữa Fragment, Activity, lớp truy xuất dữ liệu
WordsDAO, và lớp quản lý câu hỏi QuizDBHelper cùng cách cấu hình hệ thống thông báo định kỳ (Notification/Dialog) trên nền tảng Android.
- Phần nội dung đáng tham khảo nhất:
- Chương 3 với bảng đặc tả các quy định nghiệp vụ (
QD_CCD, QD_FAV, QD_POpt, QD_Add, QĐ_Search) và 7 biểu đồ tuần tự chi tiết mô tả chính xác luồng truyền nhận thông điệp giữa các tầng đối tượng.
- Bảng khảo sát, so sánh tính năng của 3 ứng dụng học tiếng Anh ở Phần Mở đầu cung cấp góc nhìn tổng quan cho việc phân tích yêu cầu phần mềm giáo dục.
Câu hỏi thường gặp
1. Đồ án sử dụng công nghệ và hệ quản trị cơ sở dữ liệu nào để phát triển ứng dụng?
Ứng dụng được xây dựng bằng ngôn ngữ lập trình Java trên môi trường phát triển Android Studio, kết hợp với hệ quản trị cơ sở dữ liệu quan hệ nhúng SQLite để lưu trữ và quản lý dữ liệu cục bộ trên thiết bị di động.
2. Hệ thống đưa ra những quy định ràng buộc nghiệp vụ cụ thể nào khi người học làm bài kiểm tra và tra cứu từ vựng?
Hệ thống quy định: khi làm bài tập phải chọn 1 chủ đề (hoặc lấy mặc định theo QD_CCD), thời gian chọn đáp án tối đa là 30 giây nếu không sẽ bị tính là sai (QD_POpt). Khi tra cứu từ, người dùng phải nhập tối thiểu 1 ký tự và nhấn phím xác nhận trên bàn phím (QĐ_Search). Khi thêm từ mới, bắt buộc phải nhập đủ 3 trường: từ tiếng Anh, nghĩa tiếng Việt và loại từ (QD_Add).
3. Cơ sở dữ liệu SQLite trong ứng dụng được thiết kế gồm những bảng nào?
Cơ sở dữ liệu gồm 3 bảng chính: Bảng Words (chứa các trường Tu, Nghia, GhiChu, ChuDe, Favorite), Bảng Chủ đề (chứa ID, ChuDe), và Bảng Question (chứa Option1, Option2, Option3, answerNr, rightAnswer).
4. Luồng xử lý của chức năng luyện tập ngẫu nhiên trong ứng dụng diễn ra như thế nào?
Khi người dùng chọn một chủ đề trên danh sách, fragmentHome sẽ gửi tên chủ đề cùng mã CODE_MODE ngẫu nhiên tới QuizActivity. QuizActivity khởi tạo đối tượng QuizDBHelper, đối tượng này gọi WordsDAO truy vấn cơ sở dữ liệu SQLite để lấy từ vựng, tự động tạo danh sách câu hỏi ngẫu nhiên và gửi trả về cho QuizActivity để người dùng thực hiện bài tập.
5. Nhóm tác giả đã tiến hành khảo sát và so sánh những ứng dụng di động nào trước khi phát triển đề tài?
Nhóm tác giả đã khảo sát, phân tích ưu điểm, nhược điểm và so sánh tính năng của 3 ứng dụng học tiếng Anh phổ biến gồm: Duolingo, 3000 từ vựng tiếng Anh thông dụng, và 6000 từ vựng phổ biến.
Kết luận
Đồ án tốt nghiệp "Xây dựng ứng dụng hỗ trợ học từ vựng tiếng Anh trên Android" của sinh viên Nguyễn Minh Hoàng và Phạm Văn Tổng tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã giải quyết thành công bài toán xây dựng công cụ hỗ trợ tự học từ vựng tiếng Anh tiện lợi trên nền tảng di động. Bằng việc kết hợp ngôn ngữ Java, môi trường Android Studio và cơ sở dữ liệu nhúng SQLite, ứng dụng đáp ứng đầy đủ các yêu cầu về tra cứu, quản lý từ vựng cá nhân hóa, tổ chức bài tập trắc nghiệm đa dạng và lập lịch nhắc nhở học tập linh hoạt. Báo cáo khóa luận cung cấp toàn diện quy trình phân tích, thiết kế hệ thống và kiểm thử chức năng, đóng vai trò là tài liệu tham khảo có giá trị cho sinh viên và lập trình viên trong lĩnh vực phát triển ứng dụng di động.