0
Tải bản đầy đủ (.pdf) (60 trang)

PHÂN TÍCH CHƯƠNG TRÌNH

Một phần của tài liệu TÌM HIỂU HĐH ANDROID VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA PHẦN MỀM HỌC TIẾNG ANH (Trang 48 -48 )

3.1.1. Giới thiệu.

Chương trình làm theo hình thức trắc nghiệm gồm nhiều bài học để người dùng có thể lựa chọn. Ví dụ như: Tính từ, Trạng từ, Du lịch, Thời gian, …

Trong mỗi bài học, sẽ có 3 mức độ khác nhau. Mỗi khi người dùng hoàn thành mức độ nhất định mới có thể học ở mức độ cao hơn. Chương trình được thiết kế cho cả người dùng đăng nhập và không đăng nhập. Chỉ khi đăng nhập, người dùng mới có thể lưu được thành tích và làm hết 3 mức độ. Đối với người dùng không đăng nhập, mỗi bài học chỉ có thể làm ở mức độ 1.

Chương trình cần kết nối internet để có thể làm việc. Mỗi khi làm bài, chương trình sẽ tải hết các câu hỏi, câu trả lời và đáp án và ghi vào sqlite, việc này giúp tiết kiệm thời gian cho người dùng.

Trong suốt quá trình làm bài, người chơi có thể dừng làm bài bất cứ lúc nào nhưng như vậy sẽ không được ghi lại thành tích. Người chơi nếu thấy câu hỏi có vấn đề gì có thể báo lỗi cho Admin để khắc phục.

Khi đã chọn xong đáp án, chương trình sẽ tiến hành kiểm tra và hiển thị đáp án cho người dùng và đồng thời chuyển sang câu hỏi kế tiếp.

Khi kết thúc, người dùng sẽ được xem lại bài làm của mình và được thông báo số câu trả lời đúng.

3.1.2. Luật chơi và cách tính điểm

Mỗi bài làm sẽ có 15 câu hỏi. Mỗi câu hỏi sẽ bao gồm 4 câu trả lời, khi chọn đúng chương trình sẽ ghi nhận và số điểm sẽ tăng lên 1.

Khi kết thúc bài làm, nếu người dùng có số điểm lớn hơn 10 sẽ được coi là hoàn thành mức độ đó và được mở khóa mức độ tiếp theo, đồng thời, chương trình sẽ ghi lại thành tích của người dùng lên Web Service.

3.1.3. Lưu trữ thông tin người dùng

Toàn bộ thông tin và thành tích của người dùng sẽ được lưu trữ trên Web Service. Khi người dùng đăng nhập và chọn bài học để làm, chương trình sẽ tải thông tin thành tích của người dùng về máy, từ đó xác định được người dùng có thể làm bài học ở mức độ nào.

39

3.2. THUẬT TOÁN VÀ THIẾT KẾ CHƯƠNG TRÌNH 3.2.1. Thuật toán trong chương trình 3.2.1. Thuật toán trong chương trình

Sơ đồ thuật toán làm bài học

3.2.2. Mô hình CSDL

Mô hình gồm các bảng: Nguoi_Dung, Bai_Hoc, Muc_Do, Cau_Hoi, Tra_Loi, BaoLoi.

40

Mô hình CSDL

Mô hình CSDL trong SQLite:

41

3.2.3. Tập Thực Thể

Nguoi_Dung: Chứa các thông tin cơ bản của người dùng. Bảng 3.1 Mô tả tập thực thể Nguoi_Dung

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa

chính

Khóa ngoại

1 User_ID Mã người dùng Nvarchar(50) X

2 Ten_hien_thi Tên hiển thị Nvarchar(50)

3 Mat_Khau Mật khẩu Nvarchar(50)

Muc_Do: Mỗi một bài học sẽ có nhiều mức độ khác nhau, bảng nay cho ta biết mỗi Người Dùng trong mỗi Đề Thi đã học tới mức độ nào.

Bảng 3.2 Mô tả tập thực thể Mức Độ

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa

chính Khóa ngoại Ghi chú 1 ID Mã Nchar(10) X

2 UserID Mã người dùng Nvarchar(50) X

3 MaBH Mã bài học Nvarchar(50) X

4 Muc_Do Mức độ trong bài

học

int

Bai_Hoc: chứa thông tin cơ bản về bài học. Bảng 3.3 Mô tả tập thực thể Bài Học

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa

chính

Khóa ngoại

Ghi chú

1 MaBH Mã bài học Nvarchar(50) X

2 Ten Tên bài học Nvarchar(50)

Bao_Loi: chứa thông tin về câu hỏi bị lỗi, có chứa thời gian để Admin dễ sắp xếp. Bảng 3.4 Mô tả tập thực thể Báo Lỗi

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa

chính Khóa ngoại Ghi chú 1 MaSo Mã số Nchar(10) X

2 NoiDung Nội dung báo lỗi Nvarchar(max)

3 MaCauHoi Mã câu hỏi Nvarchar(50) X

4 MaBH Mã bài học Nvarchar(50) X

42

Cau_Hoi: chứa thông tin về câu hỏi. Thuộc tính Muc_Do cho biết câu hỏi đó thuộc mức độ nào.

Bảng 3.5 Mô tả tập thực thể Câu hỏi

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa

chính

Khóa ngoại

Ghi chú

1 MaBH Mã bài học Nvarchar(50 X

2 Ma_CauHoi Mã câu hỏi Nvarchar(50) X

3 Noi_Dung Nội dung Nvarchar(max)

4 Muc_Do Mức độ int

Tra_Loi: chứa thông tin về câu trả lời, tương ứng với mỗi câu hỏi sẽ có bốn câu trả lời và thuộc tính Dap_An sẽ cho ta biết câu trả lời đó có phải là đáp án không. Bảng 3.6 Mô tả tập thực thể Trả Lời

STT Tên thuộc tính Diễn giải Kiểu dữ liệu Khóa chính

Khóa ngoại

1 Ma_CauHoi Mã câu hỏi Nvarchar(50) X

2 Ma_CauTraLoi Mã câu trả lời Nvarchar(50) X 3 NoiDung_TL Nội dung trả lời Nvarchar(max)

4 Dap_An Đáp án Varchar(1)

3.2.4. Mô Hình Use Case

- Người quản trị

43

- Chỉnh sửa các câu hỏi, câu trả lời: thêm, sửa , xóa.

- Tiếp nhận báo lỗi từ người dùng, từ đó chỉnh sửa các câu hỏi và câu trả lời phù hợp.

- Người dùng

Mô hình use case người dùng - Chọn các bài học, mức độ để làm.

- Báo lỗi câu hỏi cho Admin. - Đăng nhập để lưu thành tích.

3.3. KẾT QUẢ ĐẠT ĐƯỢC 3.3.1. Giao Diện Trên Web 3.3.1. Giao Diện Trên Web

Đây là phần chỉ dành riêng cho Admin, người dùng không thể đăng nhập vào. Khi vào trang web, chương trình sẽ yêu cầu Admin đăng nhập:

44

Form đăng nhập

Khi đăng nhập thành công, Admin có thể chỉnh sửa các câu hỏi:

Màn hình chỉnh sửa câu hỏi

3.3.2. Giao Diện Trên Android

45

Giao diện đăng nhập Nếu chưa có tài khoản, người dùng có thể Đăng ký mới

Hình 4.30 Đăng ký tài khoản.

Nếu không muốn đăng ký, người dùng có thể chọn Không đăng nhập. Lúc này người dùng sẽ không thể lưu thành tích làm bài của mình.

46

Giao diện chính

Người dùng chọn bất kỳ một bài học nào, khi đó sẽ hiển thị mức độ bài học cho người dùng chọn:

Danh mục mức độ

Đối với người dùng có đăng nhập, việc hoàn thành mức độ nào thì nút chứa mức độ đó sẽ chuyển sang màu vàng, đồng thời sẽ mở khóa mức độ tiếp theo. Như hình trên, ta thấy người dùng đã hoàn thành mức độ 1, chưa hoàn thành mức độ 2 và mức độ 3 bị khóa.

47

Nếu không đăng nhập, người dùng chỉ có thể làm ở mức độ 1, các mức độ khác sẽ bị ẩn đi.

Lưu ý: muốn mở khóa mức độ nào thì người dùng cần phải hoàn thành mức độ liền trước đó. Ví dụ: muốn mở khóa mức độ 3 thì phải hoàn thành xong mức độ 2 chứ không phải là mức độ 1.

Khi bắt đâu bài học, chương trình sẽ hiện một câu hỏi và bốn câu trả lời để người dùng chọn. Mỗi khi người dùng chọn một câu trả lời, chương trình sẽ phát âm nội dung câu trả lời đó. Điều này tạo hứng thú và giúp người học có thể rèn luyện được kỹ năng nghe – một trong những kỹ năng quan trọng trong việc học tiếng anh. Khi người dùng chọn xong và bấm nút Kiểm tra , chương trình sẽ hiển thị đáp án của câu hỏi – phần chữ màu xanh lá. Nếu chọn đúng, chương trình sẽ thông báo bằng âm thanh từ “Correct”, nếu sai sẽ đọc từ “Incorrect”.

Hiển thị đáp án câu hỏi

Bất cứ khi nào trong lúc làm bài, người chơi cũng có thể Thoát hoặc Báo lỗi cho Admin:

48

Màn hình Báo lỗi và Thoát

Khi người dùng làm xong, chương trình sẽ hiển thị lại các câu hỏi, đáp án, câu đã chọn và số câu đúng. Nếu đúng hơn 10 câu thì người dùng hoàn thành bài học và sẽ được mở khóa mức độ tiếp theo.

Như hình dưới đây, những dòng màu đỏ làm lựa chọn sai của người dùng và dòng màu xanh lá là đáp án, nếu trong câu hỏi chỉ có một dòng màu xanh lá thì người dùng đã làm đúng. Nếu có dòng màu đỏ, người dùng làm sai.

Màn hình hiển thị kết quả

49

Chương 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1. KẾT LUẬN 4.1.1. Ưu điểm 4.1.1. Ưu điểm

- Thực hiện tương đối đầy đủ các chức năng cho từng loại tài khoản.

- Cập nhật bài học nhanh chóng và có thể sử dụng mọi lúc, mọi nơi khi có internet.

- Giúp người dùng có thể dễ dàng xem kết quả bài làm.

- Có thêm chức năng phát âm tiếng anh giúp người dùng hoàn thiện kỹ năng nghe.

4.1.2. Hạn chế

- Chương trình chạy còn tương đối chậm. - Dữ liệu về các câu hỏi còn tương đối ít. - Cần kết nối internet đề chạy chương trình - Giao diện chưa thân thiện với người dùng.

4.2. HƯỚNG PHÁT TRIỂN

- Xây dựng một trang web sử dụng chung nguồn CSDL trên Web Service, thông qua đó người dùng có thể vừa học trên Android vừa học trên Web.

50

TÀI LIỆU THAM KHẢO

[1] Nguyễn Hoàng Kha, Nguyễn Minh Trí. Tìm hiểu web service trong android, 2015

[2] George Math. Knowledge by Experience, 2015

[3] Dag Ove Eggum. Efficient SOAP messaging for Android, 2015

[4] Damon Oehlman, Sébastien Blanc. Pro Android web apps, 2015

[5] Tomas Kozel, Antonin Slaby. Mobile access into information systems, 2015

[6] W. Frank Ableson, Robi Sen, Chris King. Android in action, 2015

[7] Chris Haseman. Android essentials, 2015

Một phần của tài liệu TÌM HIỂU HĐH ANDROID VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA PHẦN MỀM HỌC TIẾNG ANH (Trang 48 -48 )

×