Hình 1: Kiến trúc AndroidBên trong Android bao gồm một nhân Linux, tiếp đến là các thư viện, chúng là lớp nằm trên nhân, trên nữa là các framework và cuối cùng là những lớp ứng dụng.Lớp
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI : XÂY DỰNG ỨNG DỤNG LUYỆN THI TRẮC NGHIỆM TRÊN ĐIỆN THOẠI DI ĐỘNG SỬ DỤNG HỆ ĐIỀU HÀNH ANDROID
Mã số : 06T3 - 024 Ngày bảo vệ : 15/06/2011
SINH VIÊN : LÊ VĂN LÝ
ĐÀ NẴNG, 06/2011
Trang 2Tôi xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng đã truyền đạt những kiến thức quý báu cho tôi trong những năm học vừa qua và nhất là đã tạo điều kiện thuận lợi cho tôi học tập, thực hiện đề tài tốt nghiệp này.
Đặc biệt, tôi xin chân thành cảm ơn Thầy giáo ThS Hồ Phan Hiếu đã trực tiếp, tận tình giúp đỡ và hướng dẫn tôi trong suốt thời gian thực hiện
đề tài.
Để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình Ông Bà, Cha Mẹ và những người thân trong gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất về vật chất lẫn tinh thần trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.
Mặc dù đã cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Tôi rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô và các bạn.
Một lần nữa xin chân thành cám ơn!
Đà Nẵng, ngày 06 tháng 06 năm 2011 Sinh viên thực hiện
Lê Văn Lý
Trang 3Tôi xin cam đoan :
hướng dẫn trực tiếp của thầy Th.S Hồ Phan Hiếu.
tác giả, tên công trình, thời gian, địa điểm công bố.
tôi xin chịu hoàn toàn trách nhiệm.
Sinh viên
Lê Văn Lý
Trang 4
Trang 5
NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
Trang 7
-KÝ HIỆU MÔ TẢ
Trang 8MỤC LỤC
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN 3
MỤC LỤC 2
DANH MỤC HÌNH ẢNH 5
DANH MỤC BẢNG 7
DANH MỤC BẢNG 7
MỞ ĐẦU 8
I Lý do chọn đề tài 8
II Mục đích và ý nghĩa 9
II.1 Mục đích 9
II.2 Ý nghĩa 9
III Nhiệm vụ thực hiện 9
III.1 Mục tiêu cụ thể 9
III.2 Kết quả dự kiến 9
IV Nội dung đề tài 10
CƠ SỞ LÝ THUYẾT 11
I Khái niệm về HĐH Android 11
I.1 Khái niệm 11
I.2 Các đặc tính 11
I.3 Kiến trúc hệ điều hành Android 11
I.3.1 Các thư viện 13
I.3.2 Các thành phần trong một ứng dụng Android 13
I.3.3 Activity 14
I.3.4 Intent và Intent Filter 15
I.3.5 IntentReceiver 15
I.3.6 Dịch vụ 15
I.4 Thời gian thực thi chương trình 16
I.5 Nhân Linux 16
II Công cụ phát triển 16
II.1 Bộ giả lập SDK 16
II.2 Môi trường thực thi Java 17
II.3 Eclipse và Google plugin cho Eclipse 17
II.4 Web Service 17
III Hệ thống luyện thi trắc nghiệm 18
III.1 Giới thiệu 18
III.2 Những điểm khác nhau giữa thi trắc nghiệm và thi tự luận 18
III.3 Ưu nhược điểm của hình thức thi trắc nghiệm 19
III.3.1 Ưu điểm 19
Trang 9III.3.2 Nhược điểm 20
III.4 Các vấn đề khi tổ chức thi trắc nghiệm 20
III.4.1 Mục đích 20
III.4.2 Số câu hỏi trong bài thi trắc nghiệm 20
III.4.3 Mức độ khó, dễ trong đề thi trắc nghiệm 21
III.5 Các hình thức trắc nghiệm khách quan 21
III.5.1 Trắc nghiệm đúng – sai (True or False) 21
III.5.2 Trắc nghiệm điền khuyết (Gap-filling) 21
III.5.3 Trắc nghiệm đối chiếu cặp đôi (Matching) 21
III.5.4 Trắc nghiệm với nhiều lựa chọn (Multiple Choice Questions) 22
III.5.5 Trắc nghiệm sắp xếp theo trật tự thích 22
III.5.6 Trắc nghiệm phân loại (Classification) 22
PHÂN TÍCH THIẾT KẾ HỆ THỐNG 23
I Khảo sát tình hình thực tế 23
I.1 Công tác luyện thi 23
I.1.1 Ưu điểm của phương pháp luyện thi truyền thống 23
I.1.2 Nhược điểm của phương pháp luyện thi truyền thống 24
II Mô tả bài toán 24
II.1 Yêu cầu chức năng 24
II.2 Yêu cầu phi chức năng 24
III Phân tích và thiết kế chương trình 25
III.1 Sơ đồ hệ thống 25
III.2 Mô hình Use case 26
III.2.1 Nhận dạng các tác nhân (actor) 26
III.2.2 Miêu tác các tác nhân 26
III.3 Biểu đồ Use case 27
III.3.1 Biểu đồ Use case mức 0 27
III.3.2 Biểu đồ Use case mức 1 27
III.4 Biểu đồ tuần tự 29
III.4.1 Quá trình luyện thi (Training room) 29
III.4.2 Quá trình xem lịch thi (View Schedule) 31
III.4.3 Quá trình xem Help & About 31
III.4.4 Quá trình đăng nhập 32
III.4.5 Quá trình đăng ký user mới 32
III.4.6 Quá trình thi trực tuyến 33
III.5 Biểu đồ hoạt động 34
III.5.1 Sơ dồ hoạt động hệ thống 35
III.5.2 Sơ đồ hoạt động chức năng luyện thi 35
III.5.3 Sơ đồ hoạt động quá trình thi trực tuyến 36
III.6 Biểu đồ lớp 37
III.7 Biểu đồ gói 37
III.8 Biểu đồ triển khai 38
III.9 Cơ sở dữ liệu 38
III.9.1 Quan hệ giữa các bảng 38
III.9.2 Nội dung, ý nghĩa các bảng 39
Trang 10TRIỂN KHAI CHƯƠNG TRÌNH 43
I Cộng cụ lập trình, xây dựng dự án 43
I.1.1 Yêu cầu 43
I.1.2 Cài đặt 43
I.2 Các bước xây dựng một dự án 47
I.2.1 Tạo mới một dự án của Android 48
I.2.2 Điền thông tin chi tiết của dự án 49
I.2.3 Lập trình 50
I.2.4 Chạy chương trình 51
I.3 Cài đặt ứng dụng lên điện thoại di động 54
KẾT QUẢ DEMO 55
I Demo chương trình 55
I.1 Khởi động chương trình 55
I.2 Lựa chọn luyện thi (Training room) 56
I.3 Thi trực tuyến (Testing room) 61
II Admin quản lý hệ thống 62
II.1 Quản lý hệ thống câu hỏi 62
II.1.1 Nhập câu hỏi 62
II.1.2 Xem câu hỏi 63
II.2 Quản lý lịch thi 63
KẾT LUẬN 65
I Đánh giá kết quả 65
I.1 Kết quả đạt được 65
I.2 Hạn chế 65
II Hướng phát triển 65
PHỤ LỤC 67
TÀI LIỆU THAM KHẢO 67
TÓM TẮT ĐỒ ÁN 68
Trang 11DANH MỤC HÌNH ẢNH
Hình 1: Kiến trúc Android 12
Hình 2: Sơ đồ vòng đời của Activity 14
Hình 3: Sơ đồ hệ thống 25
Hình 4: Use case mức 0 27
Hình 5: Use case mức 1 phòng training room 28
Hình 6: Sơ đồ use case mức 1 của lựa chọn testing room 29
Hình 7: Biểu đồ tuần tự cho ca sử dụng luyện thi 30
Hình 8: Biểu đồ tuần tự quá trình xem lịch thi 31
Hình 9: Biểu đồ tuần tự quá trình xem phần Help & about 31
Hình 10: Biểu đồ tuần tự quá trình đăng nhập 32
Hình 11: Đăng ký user mới 33
Hình 12: Biểu đồ tuần tự quá trình thi trực tuyến 34
Hình 13: Sơ đồ hoạt động hệ thống 35
Hình 14: Biểu đồ hoạt động chức năng luyện thi 35
Hình 15: Biểu đồ hoạt động chức năng thi trực tuyến 36
Hình 16: Biểu đồ lớp 37
Hình 17: Biểu đồ gói 37
Hình 18: Biểu đồ triển khai 38
Hình 19: Quan hệ giữa các bảng trong cơ sở dữ liệu 38
Hình 20: Cài đặt Eclipse 44
Hình 21: Màn hình khởi động của Eclipse 44
Hình 22: Update software cho Eclipse 45
Hình 23: Cái đặt phần mềm vừa cập nhật 45
Hình 24: Cài đặt ADT plugin cho eclipse 1 46
Hình 25: Cài đặt ADT plugin cho Eclipse 46
Hình 26: Tạo đường dẫn cho Eclipse 47
Hình 27: Chọn đường dẫn Location cho project 47
Hình 28: Tạo mới dự án 48
Hình 29: Chọn loại dự án theo yêu cầu 48
Hình 30: Thông tin chi tiết project 49
Hình 31: Chọn Configurations thực hiện chạy chương trình 52
Hình 32: Chạy ứng dụng 53
Hình 33: demo HelloAdroid 53
Hình 34: Cài đặt tập tin apk lên điện thoại di động 54
Hình 35: Màn hình khởi động chương trình 55
Hình 36: Màn hình hiện thị các môn học 56
Hình 37: Màn hình điều chỉnh thời gian và số câu hỏi 57
Hình 38: Màn hình hiện thị câu hỏi 57
Hình 39: Đánh dấu sao nếu câu trả lời chắc chắn đúng 58
Hình 40: Chọn chức năng Go to Question 59
Hình 41: Màn hình xem kết quả 60
Hình 42: Màn hình “Review answers” 60
Hình 43: Login vào hệ thống 61
Hình 44: Đăng ký tài khoản mới 62
Hình 45: Nhập câu hỏi 62
Trang 12Hình 46: Xem câu hỏi 63Hình 47: Quản lý lịch thi 63
Trang 13DANH MỤC BẢNG
Bảng 1: User 39
Bảng 2: Test_user 39
Bảng 3: Test_question 40
Bảng 4: Test 40
Bảng 5: Subject 40
Bảng 6: question 40
Bảng 7: Contest_user 41
Bảng 8: Contest_question 41
Bảng 9: Contest 41
Bảng 10: answer 42
Trang 14I Lý do chọn đề tài
Trong cuộc sống, nhu cầu thông tin liên lạc là hết sức cần thiết Vô số phương pháp liên lạc đã ra đời nhằm phục vụ nhu cầu thư tín, điện thoại bàn đến thư điện tử, điện thoại di động, kết nối Wi-Fi, chat Web_Camera….Trong đó, điện thoại di động nổi bật lên như một phương tiện liên lạc hữu ích nhất, tiện lợi nhất, đặc biệt đối với những người sống và làm việc trong các đô thị Nhờ chức năng đàm thoại trực tiếp mọi lúc mọi nơi, mà điện thoại di động ngày càng được sử dụng rộng rãi
Hiện nay trên thế giới, thế giới điện thoại di động phát triển không ngừng bởi các nhà sản xuất lâu đời có tên tuổi như Samsung, Nokia, Motorola…Giờ đây, Google-một hãng nổi tiếng nhất về Internet, tiếp tục tham vọng xâm chiếm thị trường di động bằng việc tung ra gói phần mềm cho điện thoại di động – Android Gói phần mềm này
sẽ tương thích với gần như tất cả các mẫu điện thoại trên thị trường
Điện thoại di động không chỉ là thiết bị đàm thoại thông thường mà đang dần trở thành smartphone, một chiếc điện thoại thông minh Một trong những tiền đề thúc đẩy
sự chuyển biến này của điện thoại di động chính là nhu cầu của người dùng Các bước tiến vượt bậc về công nghệ giúp bộ nhớ của điện thoại di động ngày càng lớn, tốc độ
xử lý nhanh hơn v.v, người ta tích hợp vào đó máy ảnh, máy quay video, radio, thậm chí cả tivi và nhiều tính năng khác Giờ đây, vào ngày 12 tháng 11 năm 2007 Google
đã giới thiệu Android và bộ công cụ phát triển phần mềm mới nhất (GPhone), do liên minh Open Handset Alliance mà Google cầm đầu Google cho biết, Android cho phép điện thoại nối mạng đơn giản hơn máy tính, ngoài ra, sẽ có hàng triệu phần mềm, ứng dụng khác được tạo ra, với chiếc điện thoại này, dù bạn đang dùng dòng điện thoại nào
có tích hợp Android, bạn có thể vào mạng Google tra cứu cập nhật thông tin hay thư giãn với những thông tin mới nhất trên thế giới… Nhưng điều đó chưa đủ, người dùngvẫn mong muốn có thêm nhiều phần mềm ứng dụng hơn nữa, chính vì vậy ngày nay trên thế giới đang hình thành ngành công nghiệp phần mềm ứng dụng cho điện thoại
di động Một ngành công nghiệp được dự báo sẽ đem lại nguồn thu lớn
Ở Việt Nam hiện nay đời sống nâng cao, giá thành các điện thoại thông minh cũng không còn quá đắt đỏ, nên học sinh, sinh viên sở hữu cho mình những chiếc điệnthoại thông minh không còn là vấn đề Tuy nhiên, giới trẻ Việt Nam sử dụng điện thoại chủ yếu để chơi game Trong các kỳ thi Đại học những năm gần đây, ở lĩnh vực
xã hội, ngoại ngữ điểm thi của các thi sinh rất thấp, đặc biệt có những bài thi cũng nhưnhận thức về lịch sử dân tộc đang là vấn đề đáng báo động Chính vì vậy, ý tưởng của tôi đưa ra nhằm xây dựng một ứng dụng luyện thi trắc nghiệm trên điện thoại di động
sử dụng hệ điều hành Android Ứng dụng này giúp cho người sử dụng có thể thư giãn trong những lúc rãnh rỗi thay vì chơi game, có thể ôn luyện cho mình những kiến thứcquý báu
Trang 15II.2.Ý nghĩa
Với phần mềm ứng dụng này, sinh viên sẽ dễ dàng sử dụng để bổ sung kiến thức, phục vụ mục đích học tập của mình Mọi lúc mọi nơi, người dùng có thể sử dụng chương trình để ôn luyện kiến thức, luyện tâm lý và xử lý thời gian khi vào phòng thi thật Chương trình cung cấp nhiều lựa chọn cho người dùng có thể lựa chọn gói đề thi phù hợp với khả năng để ôn luyện Ngoài ra chương trình còn hỗ trợ người dùng tính năng ghi nhớ các điều cần thiết để nhấn mạnh, tập trung ôn luyện Giao diện sử dụng đơn giản, dễ nhìn sẽ không làm bạn mất thời gian để sử dụng
III Nhiệm vụ thực hiện
III.1 Mục tiêu cụ thể
Điện thoại di động là thiết bị nhỏ gọn, được thiết kế phục vụ chủ yếu cho nhu cầu liên lạc và giải trí của người dùng khi “di chuyển” Bộ xử lý cũng như khả năng lưu trữ của điện thoại di động kém xa so với máy để bàn Trong môi trường xã hội ngày một nâng cao và phát triển, thêm vào đó đời sống con người ngày một nâng cao, vì thếnhững máy móc thiết bị ngày càng được các nhà sản xuất chú ý nhằm đáp ứng theo kịp nhịp độ sống con người hiện nay Thời gian gần đây khi Google ra mắt HĐH Android, đây có lẽ là một sự kiện lớn, một sự thay đổi lớn trên lĩnh vực di động Xem video giới thiệu về SDK, bạn sẽ thấy đây chính là ngôn ngữ lập trình cho ĐTDĐ trongtương lai Vì vậy, nhiệm vụ của tôi đặt ra trong đồ án tốt nghiệp lần này:
Tìm hiểu và nghiên cứu nền tảng Android và SDK
Cách thức xây dựng ứng dụng trên HDH android
Tìm hiểu phương pháp thi trắc nghiệm
Xây dựng ứng dụng luyện thi trắc nghiệm trên điện thoại Android
III.2 Kết quả dự kiến
Với mục đích đã được nêu ra, thì kết quả của tôi cần có khi thực hiện đồ án tốt nghiệp này:
Hiểu được kiến trúc HDH Android
Phân tích, thiết kế ứng dụng luyện thi trên điện thoại di động Android
Trang 16 Xây dựng chương trình luyện thi trắc nghiệm trên điện thoại Android.
IV Nội dung đề tài
Cấu trúc báo cáo được thực hiện như sau:
Chương I: Cơ sở lý thuyết
Nghiên cứu kiến trúc hệ điều hành Android
Các công cụ hỗ trợ việc thực hiện đồ án
Hình thức luyện thi, thi trắc nghiệm
Chương II: Phân tích thiết kế hệ thống
Khảo sát mô tả bài toán
Phân tích thiết kế các đối tượng
Xây dựng cơ sở dữ liệu
Chương III: Triển khai ứng dụng & demo chương trình
Trang 17CƠ SỞ LÝ THUYẾT
I Khái niệm về HĐH Android
I.1 Khái niệm
gồm một hệ điều hành, phần tiện ích và các ứng dụng chính Người phát triển có thể tạo ra các ứng dụng trên nền tảng này bằng cách dùng Android SDK Các ứng dụng được viết bằng ngôn ngữ lập trình Java và chạy trên Dalvik, một máy ảo thông thườngđược thiết kế dành cho thiết bị nhúng thực thi trên đỉnh của nhân Linux
I.2 Các đặc tính
Nền tảng Android cho phép xây dựng các ứng dụng dựa vào các tính chất sau:
Khung ứng dụng (application framework): cho phép dùng lại và thay thếcác thành phần
Máy ảo Dalvik: tùy chọn cho các di động.Cơ chế hoạt động của nótương tự như máy ảo Java nhưng nó thực thi dex (dalvik executable)bytecode nhờ công cụ dx chuyển đổi mã bytecode thành dex bytecode
Trình duyệt được tích hợp (integrated browser): dựa trên công cụ nguồn
mở WebKit
Đồ họa: được trang bị bởi các thư viện 2D thông thường, đồ họa 3D dựatrên sự đặc tả của OpenGL ES 1.0 (để máy chạy nhanh hơn có thể tùy chọnphần cứng)
Cơ sở dữ liệu SQLite: dùng cho cấu trúc bộ lưu trữ dữ liệu
Môi trường truyền thông: cung cấp tiếng, hình ảnh thông dụng, và một
số định dạng ảnh như MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF
Môi trường phát triển đầy đủ: chứa một thiết bị mô phỏng, các công cụphát hiện lỗi, bộ nhớ, hiện trạng thực thi, và một phần mềm cài đặt dùng IDEEclipse
Ngoài ra còn hỗ trợ các ứng dụng tích hợp các công nghệ mới hiện naynhư hệ thống truyền thông di động toàn cầu GMS, Bluetooth, EDGE, 3G,WiFi, Camera, GPS, compass, và accelerometer (các công nghệ này khidùng còn phụ thuộc vào thiết bị)
I.3 Kiến trúc hệ điều hành Android
Biểu đồ dưới đây thể hiện các thành phần chính của hệ điều hành Android:
Trang 18Hình 1: Kiến trúc Android
Bên trong Android bao gồm một nhân Linux, tiếp đến là các thư viện, chúng là lớp nằm trên nhân, trên nữa là các framework và cuối cùng là những lớp ứng dụng.Lớp thư viện chính là nơi để thực hiện các đoạn mã cho các thực thể như bộ xử lý
đa phương tiện dùng xem/ghi lại âm thanh và hình ảnh, nhân của trình duyệt Web, tiếntrình biên dịch kiểu chữ, và bộ máy cơ sở dữ liệu SQLite
Quá trình thực thi của Android cũng được thực hiện tại lớp thư viện này
Nằm trên thư viện chính là các framework, đó là tập hợp các dịch vụ có thể dùng lại được và những thành phần chung phục vụ cho các ứng dụng Ví dụ, một loại framework là thành phần cung cấp nội dung cho bất kỳ dịch vụ nào có liên quan đến việc lưu trữ và truy xuất dữ liệu Giao diện ứng dụng trong SQLite chính là một thí dụ
cụ thể về trình cung cấp nội dung này
Các ứng dụng chạy ở lớp trên cùng của hệ điều hành với một bộ các nhân ứng dụng bao gồm thư điện tử, lịch làm việc, trình duyệt web Khi nhà phát triển viết một ứng dụng dành cho Android, ta thực hiện các đoạn mã trong môi trường Java Sau đó, các đoạn mã này sẽ được biên dịch sang các bytecode của Java, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triển phải thực thi một công cụ có tên là
dx Đây là công cụ dùng để chuyển đổi bytecode sang một dạng gọi là dex bytecode
"Dex" là từ viết tắt của "Dalvik executable" đóng vai trò như cơ chế ảo thực thi các ứng dụng Android
Trang 19I.3.1 Các thư viện
Android chứa một tập các thư viện C/C++ được dùng bởi các thành phần khác nhau của hệ thống Android Các đặc tính này được nhận ra bởi các nhà phát triển qua các mẫu ứng dụng Android Một số thư viện chính được liệt kê dưới đây:
Thư viện hệ thống C: có nguồn gốc thực thi từ thư viện hệ thống chuẩn C (libc), được điều chỉnh cho phù hợp đối với các thiết bị nhúng vào Linux
Quản lý bề mặt (Surface Manager): quản lý việc truy cập cách hiển thị
hệ thống con và việc ghép liền nét các tầng đồ họa 2D và 3D từ nhiều ứngdụng
Các thư viện môi trường truyền thông: dựa trên OpenCORE củaPacketVideo, các thư viện này cung cấp việc phát và ghi lại của các địnhdạng tiếng và hình thông dụng, cũng khá hay như các tập tin hình ảnh tĩnh,chứa MPEG4, H.264, MP3, AAC, AMR, JPG, PNG
LibWebCore: một bộ duyệt web hiện đại cung cấp nguồn cho cả haitrình duyệt –trình duyệt web của Android và một khung nhìn web có thểđược nhúng vào
SGL: phần dưới của công cụ đồ họa 2D
Các thư viện 3D: một sự thực thi dựa trên các giao diện ứng dụngOpenGL ES 1.0; thư viện này dùng cả phần cứng 3D khá mạnh cũng nhưphần mềm tạo vạch 3D tùy chọn ở mức cao
FreeType: sự biểu diễn kiểu chữ của bitmap và vector
SQLite: Một công cụ cơ sở dữ liệu có dung lượng nhỏ với sự tương tác
về dữ liệu khá tốt, hỗ trợ cho tất cả các ứng dụng để thực hiện việc lưu trữ dữliệu
I.3.2 Các thành phần trong một ứng dụng Android
Có 4 khối trong việc xây dựng nên một ứng dụng Android:
Activity (phạm vi hoạt động)
Intent Receiver (hướng quản lý)
Service (hệ thống dịch vụ)
Content Provider (trình cung cấp nội dung)
Không phải mọi ứng dụng đều cần có 4 khối trên, nhưng ứng dụng của bạn sẽ được tạo ra từ một vài kết hợp từ những khối trên
Đôi lúc bạn cần quyết định những thành phần mà bạn cần cho ứng dụng của mình,bạn nên liệt kê chúng trong một file gọi là AndroidManifest.xml Đây là một file XMLcho phép bạn khai báo các thành phần trong ứng dụng của bạn, những trường hợp thựcthi của ứng dụng và các yêu cầu cần thiết
Trang 20I.3.3 Activity
Các Activity là hoạt động cơ bản nhất trong 4 khối xây dựng nên một ứng dụng Adroid Một Activity là luôn luôn là một màn hình đơn trong ứng dụng của bạn Mỗi
Activity thực thi như một lớp đơn được dẫn xuất từ lớp cơ sở Activity Lớp này sẽ hiển
thị giao diện người dùng chứa các Views và phản hồi lại những sự kiện Hầu hết các ứng dụng đều có nhiều màn hình Ví dụ, một đoạn tin nhắn ứng dụng có khả năng hiển
thị trên một màn hình sẽ chỉ ra một danh sách của các contacts để gởi tin nhắn, màn hình thứ hai dùng để viết tin nhắn theo các contact đã chọn, các màn hình khác dùng
để xem lại các tin nhắn hoặc thay đổi chế độ thiết lập Mỗi màn hình sẽ được thực thi như là một Activity Di chuyển tới một màn hình hiển thị khác với màn hình hiện hànhbằng cách bắt đầu một hoạt động mới, nhưng màn hình hiện hành phải thực hiện xong các Activity của nó (điều này có nghĩa là giao diện ứng dụng của Activity phải được hoàn thành) Trong một số trường hợp một hoạt động có thể trả về một giá trị cho hoạtđộng liền trước - ví dụ, một hoạt động đó cho phép người dùng chọn một hình ảnh sẽ trả về hình ảnh được chọn từ đối tượng gọi
Biểu đồ sau thể hiện vòng đời của một Activity:
Hình 2: Sơ đồ vòng đời của Activity
Trang 21I.3.4 Intent và Intent Filter
Android sử dụng một lớp đặc biệt là Intent để di chuyển từ màn hình này sang màn hình khác Một Intent mô tả điều mà một ứng dụng muốn muốn thực hiện Có 2
phần quan trọng nhất trong cấu trúc dữ liệu “intent” là hành vi và dữ liệu để đưa các
sự kiện lên màn hình Các kiểu giá trị của hành vi như là MAIN (để chỉ hành vi ở trước cửa sổ ứng dụng), VIEW, PICK, EDIT, etc… Dữ liệu được biểu diễn như là mộtURI Chẳng hạn, để xem thông tin liên hệ của một cá nhân, bạn sẽ khởi tạo một intent với hành vi VIEW và dữ liệu thiết lập là một URI để hiển thị thông tin cho một cá nhân
Có một lớp liên quan được gọi là IntentFilter Trong khi Intent là một yêu cầu có
hiệu quả để làm một vài thứ, thì ‘Intent Filter ’ là sự miêu tả loại hành vi nào đó mà một Activity (hay là IntentReceiver) có khả năng nắm giữ Activity có khả năng hiển thị thông tin liên hệ của một cá nhân sẽ đưa ra một “Intent Filter”, điều này nói lên rằng Activity biết cách điều khiển hành vi VIEW nhằm hiển thị thông tin dữ liệu của một cá nhân Các Activity lồng các “Intent Filter” vào trong nó và được khai báo trongfile “AndroidManifest.xml”
Để chuyển từ màn hình này sang màn hình khác ta dùng Intent Để quay lại trước
đó, một Activity gọi phương thức startActivity(myIntent) Hệ thống nhận ra
“intentFilter” sau khi khởi tạo các ứng dụng và chọn các hoạt động của Intent Filters phù hợp nhất với myIntent Một Activity mới sẽ thông báo cho Intent, nhờ thế Activity
này mới có thể bắt đầu Quá trình xử lý Intent xảy ra lúc thời gian chạy bắt đầu từ một Activity được gọi, điều này đưa ra hai hướng chính:
I.3.5 IntentReceiver
Bạn có thể sử dụng một IntentReceiver khi bạn muốn mã hóa trong ứng dụng của
mình để thực thi một sự kiện ở bên ngoài, như khi chuông điện thoại rung, hoặc khi mạng dữ liệu có sẵn để dùng, hay khi ứng dụng nằm vị trí tầng giữa Các phần chứa Intent không hiển thị giao diện, mặc dầu chúng có thể sử dụng NotificationManager nhằm cảnh báo người dùng khi có một vài điều cần thông báo Những phần chứa Intent được đăng ký trong tập tin AndroidManifest.xml, ngoài ra bạn có thể đăng ký từđoạn mã đang dùng bằng cách sử dụng phương thức Context.registerReceiver() Ứng dụng của bạn không thể đang chạy khi các IntentReceiver đã được gọi, nếu cần, hệ thống sẽ bắt đầu ứng dụng của bạn khi một IntentReceiver không bị chặn Các ứng dụng cũng có thể gởi các Intent của chúng để quảng bá với các intent khác bằng cách dùng phương thức Context.broadcastIntent()
I.3.6 Dịch vụ
Một Service được mã hóa trước đó rất lâu và chạy không cần UI Một ví dụ hay của vấn đề này là chương trình nghe nhạc đang mở những bài hát từ một danh sách đã được mở Trong ứng dụng của phương tiện, hầu như chắc chắn rằng một hoặc nhiều hoạt động cho phép người sử dụng chọn các bài hát và bắt đầu mở chúng lên nghe Tuy nhiên, bản thân nó sẽ tự mở trở lại nên không thể điều khiển bằng một hoạt động bởi vì người dùng mong chờ nhạc được giữ lại khi bật và ngay cả sau khi mở một mànhình mới Trong trường hợp này hoạt động người nghe có thể bắt đầu bởi phương thứcContext.startService() chạy trên nền để giữ cho nhạc vẫn còn mở Hệ thống sẽ giữ cho
Trang 22nhạc bật lại, trong khi đó sự phục vụ vẫn đang chạy đến khi nó vừa hoàn thành Chú ý rằng bạn có thể kết nối một dịch vụ (và bắt đầu nó nếu nó đã chạy rồi) với phương thức Context.bindService() Khi kết nối đến một dịch vụ, bạn có thể giao tiếp với nó thông qua giao diện được đưa ra từ dịch vụ.
I.4 Thời gian thực thi chương trình
Android chứa một tập các thư viện chính cung cấp hầu hết các chức năng sẵn có trong ngôn ngữ lập trình Java
Mỗi ứng dụng Android chạy trên chính tiến trình của nó, với chính thực thể của máy ảo Dalvik Dalvik được viết với mục đích là một thiết bị có thể chạy hiệu quả trênnhiều máy ảo Máy ảo Dalvik thực thi các tập tin trong Dalvik Executable(.dev), định dạng này được tùy chọn theo dấu bộ nhớ tối thiểu Máy ảo phải được đăng ký, sau đó mới có thể chạy các định dạng dex Định dạng này được tạo ra bởi công cụ “dx”, công
cụ này chuyển đổi từ file class thành file dex Máy ảo Dalvik dựa vào nhân Linux để tạo các chức năng như tạo luồng và quản lý bộ nhớ cấp độ thấp
I.5 Nhân Linux
Android chính là động thái đầu tiên mà gã khổng lồ Google tung vào địa hạt điều hành dành cho các thiết bị cầm tay
Android phụ thuộc vào Linux 2.6 dành cho các dịch vụ hệ thống chính như bảo mật, quản lý bộ nhớ, quản lý tiến trình, ngăn xếp mạng và chế độ đĩa Nhân này cũng được thực thi như một tầng ảo giữa phần cứng và phần còn lại của ngăn xếp phần mềm
II Công cụ phát triển
Để phát triển ứng dụng Android chúng ta cần các công cụ và ngôn ngữ lập trình sau
II.1 Bộ giả lập SDK
Một thiết bị ảo dành cho mobile được chạy trên máy tính của bạn Bạn sẽ sử dụng
bộ giả lập để thiết kế, gỡ lỗi và kiểm tra các ứng dụng của bạn trong môi trường thực thi của Android
Android SDK chứa một bộ mô phỏng điện thoại — một thiết bị ảo chạy trên máy của bạn Bộ này cho bạn mẫu ban đầu, sự hướng dẫn và kiểm tra các ứng dụng của Android mà không cần đến một thiết bị thật
Bộ mô phỏng của Android bắt chước các chức năng cơ bản và cách hành xử của một thiết bị điện thoại, ngoại trừ nó không nhận và đặt các cuộc gọi Ở bên trái bộ mô phỏng cung cấp một sự điều hướng khác biệt và các phím điều khiển, mà bạn có thể
"nhấn" bằng cách dùng chuột hay bàn phím của máy bạn để phát sinh các sự kiện cho ứng dụng của mình Nó cũng cung cấp một màn hình để ứng dụng bạn hiển thị, cùng với bất kì ứng dụng Android nào khác đang chạy
Để giúp bạn tạo mô hình và kiểm tra ứng dụng của mình, bộ mô phỏng cho phép ứng dụng của bạn dùng các dịch vụ của nền tảng Android để kết nối với các ứng dụng
Trang 23khác, truy cập mạng, nghe nhạc, xem phim, lưu trữ và truy lục dữ liệu, thông báo cho người dùng, hoàn trả các kiểu chuyển đổi đồ họa và giao diện.
Bộ mô phỏng cũng chứa một khả năng gỡ lỗi riêng biệt, như là một console mà bạn có thể ghi từ kết quả hiển thị của nhân, giả lập các ngắt của ứng dụng (Như là các tin nhắn SMS đến hay là các cuộc gọi điện thoại), giả lập các ảnh hưởng của góc trễ vàcác phím trên kênh truyền dữ liệu
II.2 Môi trường thực thi Java
Môi trường thực thi Java sử dụng Java 6 App Engine Java SDK hỗ trợ phát triển các ứng dụng bằng cách sử dụng Java 5 hoặc 6
Môi trường bao gồm nền tảng JRE và các thư viện Một ứng dụng có thể sử dụng bất kỳ JVM bytecode hoặc tính năng thư viện
Ứng dụng của bạn truy cập hầu hết các dịch vụ App Engine sử dụng Java API chuẩn Đối với App Engine datastore, Java SDK bao gồm việc triển khai của các interface JDO và JPA Ứng dụng của bạn có thể sử dụng các API JavaMail để gởi email với dịch vụ App Engine Email Java.net HTTP APIs truy cập vào App Engine URL nạp dịch vụ App Engine cũng bao gồm các APIs cấp thấp cho các dịch vụ của mình để thực hiện thêm bộ điều hợp, hoặc sử dụng trực tiếp từ ứng dụng
Thông thường, các nhà phát triển Java sử dụng các ngôn ngữ lập trình Java và các API để thực hiện các ứng dụng web cho JVM Với việc sử dụng các trình biên dịch tương thích với JVM hoặc trình thông dịch, bạn có thể sử dụng các ngôn ngữ khác để phát triển các ứng dụng web, chẳng hạn như JavaScript, Ruby hoặc Scale
II.3 Eclipse và Google plugin cho Eclipse
Android được phát triển trên nền java nên Eclipse là môi trường tốt nhất để phát triển các ứng dụng Android
ADT plugin là công cụ, thư viện hỗ trợ lập trình Android được tích hợp vào Eclipse một cách dễ dàng
ADT Plugin có sẵn cho Eclipse phiên bản 3.3, 3.4, và 3.5 Bạn có thể cài đặt plugin sử dụng tính năng cập nhật phần mềm của Eclipse
II.4 Web Service
Web Services là một cách chuẩn để tích hợp các ứng dụng trên nền web based applications) Các ứng dụng có thể sử dụng các thành phần khác nhau để tạo thành một dịch vụ
(Web-Các Web Services cho phép các tổ chức thực hiện truyền thông dữ liệu mà không cần phải có kiến thức về hệ thống IT phía sau tường lửa Một số Web Services hiện nay có sẵn miễn phí và càng ngày càng hướng dần vào các doanh nghiệp
Trang 24III Hệ thống luyện thi trắc nghiệm
Để xây dựng ứng dụng luyện thi trắc nghiệm phù hợp với thực tế đang được áp dụng tại các kỳ thi có tổ chức hình thức trắc nghiệm Chúng ta cần khảo sát tình hình, cách thức tổ chức, ưu nhược điểm của vấn đề thi trắc nghiệm
III.1 Giới thiệu
Trắc nghiệm khách quan là một cách đo lường thành quả học tập nhằm mục đích nào đó Mục đích ấy có thể là xác định học sinh đã nắm vững đến mức độ nào trong từng đơn vị học tập được sắp đặt theo mộ trình tự nhất định trong chương trình học Lối đánh giá này nhằm cải tiến việc giảng dạy theo từng giai đoạn học tập Ngoài ra, còn một mục đích nữa là để cho điểm và xếp hạng học sinh sau khi họ hoàn tất một chương trình học, một khóa học Lối đánh giá này gọi là đánh giá tổng kết
Theo từ điển Tiếng Việt phổ thông (2001) của Viện Ngôn ngữ học thì “trắc
nghiệm” có nghĩa là “khảo sát và đo lường khi làm các thí nghiệm khoa học trong
phòng” Trong phạm vi nhất định của công tác kiểm tra - đánh giá, “trắc nghiệm” có
thể được hiểu là cách thức kiểm tra thế nào để “đo lường” (trong phòng thi) được đúngnhất, chính xác nhất trình độ kiến thức, kỹ năng hay năng lực của người học sau một khóa học (hay thí sinh dự thi nói chung) Muốn làm được như vậy, đề bài kiểm tra cũng như người làm công tác kiểm tra - đánh giá phải tạo điều kiện tốt để có thể loại
bỏ càng nhiều càng tốt các yếu tố ảnh hưởng tới quá trình đánh giá, giúp thí sinh có cơhội bộc lộ tối đa những gì người kiểm tra muốn biết về thí sinh dự thi
III.2 Những điểm khác nhau giữa thi trắc nghiệm và thi tự luận
Một câu hỏi thuộc loại tự luận đòi hỏi thí sinh phải tự trả lời các câu hỏi với mức
độ dài ngắn khác nhau, tùy vào tư duy và cách trình bày của từng thí sinh Trong khi
đó, một câu hỏi trắc nghiệm chỉ buộc thí sinh phải chọn câu trả lời đúng nhất trong một số câu trả lời có sẵn
Một đề thi tự luận gồm số câu hỏi tương đối ít và có tính tổng quát, đòi hỏi thí sinh phải triển khai câu trả lời bằng lời lẽ dài dòng Ngược lại, một bài thi trắc nghiệm thường bao gồm nhiều câu hỏi có tính chuyên biệt chỉ đòi hỏi những câu trả lời ngắn gọn
Trong khi làm bài thi tự luận, thí sinh phải bỏ nhiều thời gian để suy nghĩ và viết Trong khi đó, thí sinh làm bài thi trắc nghiệm dùng nhiều thời gian để đọc và suy nghĩ.Chất lượng của một bài thi trắc nghiệm được xác định một phần lớn do kỹ năng của người soạn thảo đề Ngược lại, chất lượng của một bài tự luận phụ thuộc chủ yếu vào người chấm bài
Một bài thi theo kiểu tự luận tương đối dễ soạn, nhưng khó chấm và khó cho điểmchính xác, mang nhiều tính chủ quan của người chấm Trong khi đó, bài thi trắc
nghiệm khó soạn nhưng việc chấm và cho điểm thì dễ dàng vì chỉ tuân thủ theo một đáp án cứng nên không cần là giảng viên cũng có thể chấm được
Với hình thức thi tự luận, thí sinh có nhiều tự do để bộc lộ cá tính của mình trong câu trả lời, và người chấm bài cũng tự do cho điểm câu trả lời theo kiến thức và nhận xét chủ quan của mình Trong khi đó, với bài thi trắc nghiệm, người soạn thảo có
Trang 25nhiều tự do bộc lộ kiến thức và các giá trị của mình qua việc đặt các câu hỏi, nhưng chỉ cho thí sinh quyền tự do chứng tỏ mức độ hiểu biết của mình qua tỷ lệ câu trả lời đúng.
Trong các câu hỏi trắc nghiệm, nhiệm vụ của người học, và trên cơ sở đó giám khảo thẩm định mức độ hoàn thành các nhiệm vụ ấy, được phát biểu rõ ràng hơn là trong các bài tự luận
Một bài trắc nghiệm cho phép, và đôi khi khuyến khích sự phỏng đoán Ngược lại,một bài thi tự luận cho phép, và đôi khi khuyến khích “sự lừa phỉnh” (bằng những ngôn từ hoa mỹ hay bằng cách đưa ra những bằng chứng khó có thể xác định được)
Sự phân bổ điểm số của một bài thi tự luận có thể kiểm soát được một phần lớn dongười chấm (ấn định điểm tối đa và tối thiểu) Ngược lại, với bài trắc nghiệm thí điểm
số của thí sinh hoàn toàn được quyết định do bài thi trắc nghiệm
Ngoài những điểm khác biệt trên, giữa hình thức thi trắc nghiệm khách quan và thi tự luận cũng có những điểm tương đồng:
Trắc nghiệm hay tự luận đều có thể đo lường hầu hết mọi thành quả học tập quan trọng mà một bài khảo sát bằng lối viết có thể làm được
Dù là trắc nghiệm hay tự luận, tất cả đều có thể được sử dụng đề khuyến khích học sinh học tập nhằm đạt đến mục tiêu: hiểu biết các nguyên lý, tổ chức và phối hợp các ý tưởng, ứng dụng kiến thức trong việc giải quyết các vấn đề
Cả hai hình thức thi này đều đòi hỏi sự vận dụng ít nhiều phán đoán chủ quan.Giá trị của hai loại trắc nghiệm và tự luận tùy thuộc vào tính khách quan và tính tin cậy của chúng
III.3 Ưu nhược điểm của hình thức thi trắc nghiệm
III.3.1 Ưu điểm
Do gồm nhiều câu hỏi nhỏ, trắc nghiệm khách quan có khả năng kiểm tra đồng thời nhiều bộ phận kiến thức trong chương trình học, ngăn chặn tình trạng học lệnh, học tủ
Giảm thiểu tình trạng học vẹt, giảm khả năng thí sinh mang tài liệu vào phòng thi để quay cóp và chép nguyên văn nội dung đã học vì không đủ thời gian lật, mở tài liệu
Thời gian chấm bài nhanh và chính xác
Bài thi được chấm khách quan do không phụ thuộc đánh giá cá nhân, tránh chấm theo cảm tính, tránh tình trạng chấm ẩu, thiếu trách nhiệm và tiêu cực
từ phía người chấm
Phân bố điểm số trong bài do đề bài quyết định, không phải do giảng viên quyết định nên cơ cấu điểm số đồng đều ở các phần nhỏ
Là công cụ đánh giá được những bộ phận kiến thức, kỹ năng muốn đánh giá
Các câu hỏi hay có thể được lưu giữ trong “ngân hàng đề” để sử dụng nhiều lần, giảm chi phí cho khâu biên soạn đề
Trang 26III.3.2 Nhược điểm
Tổ chức thi tốn kém thời gian và chi phí, phải huy động nhiều phòng thi để
tổ chức thi nghiêm túc
Khó khăn và tốn kém cho việc biên soạn được những đề bài có chất lượng
Không đánh giá đúng được từng cá nhân thí sinh nếu khâu coi thi không thực
sự nghiêm túc (do thí sinh dễ dàng trao đổi kết quả bài làm và nhìn bài của thí sinh khác)
Không đánh giá được tất cả mọi kỹ năng (ví dụ kỹ năng tư duy lập luận, viết luận, làm văn hay giải toán sáng tạo)
Có khả năng không gạn lọc đánh giá hết được mức độ kiến thức của thí sinh
do thí sinh không có cơ hội tự trình bày toàn bộ hiểu biết về vấn đề được hỏi
Có nguy cơ khuyến khích học sinh đoán mò hay sử dụng các kỹ năng thi mà không thực sự học để lấy kiến thức, hiểu sâu vấn đề
Có nguy cơ đẩy người học rơi vào tình trạng học với mục đích tái tạo lại kiến thức chứ không phải là vận dụng kiến thức
III.4 Các vấn đề khi tổ chức thi trắc nghiệm
III.4.1 Mục đích
Một bài thi trắc nghiệm có thể phục vụ cho nhiều mục đích nhưng bài trắc nghiệmích lợi và có hiệu quả nhất khi nó được soạn ra nhằm phục vụ cho một mục đích chuyên biệt nào đó Nếu bài thi trắc nghiệm của ta là một bài thi cuối kỳ, nhằm cho điểm và xếp hạng học sinh thì các câu trắc nghiệm phải soạn thảo làm sao để điểm số được phân bố khá rộng, như vậy mới phát hiện ra được sự khác biệt giữa các học sinh giỏi và kém Ngược lại, nếu bài trắc nghiệm của ta chỉ là một bài kiểm tra thông thường, nhằm kiểm tra những hiểu biết tối thiểu của học sinh thì ta sẽ soạn những câu hỏi sao cho hầu hết học sinh đạt điểm tối đa Ngoài ra, ta còn có thể soạn bài trắc nghiệm nhằm tìm ra điểm mạnh, yếu của học sinh để quy hoạch việc giảng dạy hiệu quả hơn Với loại trắc nghiệm này, các câu hỏi phải được soạn thảo sao cho học sinh phạm tất cả các sai lầm có thể của môn học nếu chưa học kỹ
Tóm lại, trắc nghiệm có thể phục vụ cho nhiều mục đích khác nhau và người soạn thảo trắc nghiệm cần xác định rõ mục đích của mình thì mới soạn thảo được bài trắc nghiệm có giá trị
III.4.2 Số câu hỏi trong bài thi trắc nghiệm
Số câu hỏi trong bài thi trắc nghiệm phụ thuộc vào thời gian làm bài Nhiều bài trắc nghiệm được giới hạn trong khoảng thời gian trên dưới 50 phút, vì đó là khoảng thời gian cần thiết của một tiết học
Ngoài vấn đề thời gian, còn vấn đề quan trọng hơn cả là làm sao cho số câu hỏi trong bài thi tiêu biểu cho toàn bộ kiến thức mà ta đòi hỏi ở học sinh qua một môn họchay bài học Nếu số câu hỏi quá ít thì không bao trùm đầy đủ nội dung của môn học, còn nếu quá nhiều thì bị hạn chế bởi thời gian Tuy nhiên, nếu ta thiết lập dàn bài trắc
Trang 27nghiệm một cách kỹ càng và căn cứ vào thời gian qui định cho bài thi mà phân bố số câu hỏi hợp lý cho từng phần của nội dung và mục tiêu giảng huấn, ta cũng có nhiều
hy vọng lựa chọn được số câu hỏi đại diện cho số câu hỏi thích hợp
III.4.3 Mức độ khó, dễ trong đề thi trắc nghiệm
Một bài trắc nghiệm đánh giá thành quả học tập bao gồm những câu quá dễ
thường không có hiệu quả đo lường khả năng của học sinh Để đạt được hiệu quả đó, các giảng viên thường chọn các câu trắc nghiệm sao cho điểm trung bình trên bài trắc nghiệm xấp xỉ 50% số câu hỏi Tuy nhiên, khi ấn định mức độ khó trung bình là 50%,
độ khó của từng câu trắc nghiệm có thể khác nhau, biến thiên từ 15% đến 85% Điều
ta cần phải nhớ là loại trắc nghiệm có thể cung cấp thông tin tốt nhất về sự khác biệt giữa các cá nhân là những câu xấp xỉ 50% là đúng và 50% là sai Trong một số trường hợp ta có thể soạn thảo những câu hỏi rất khó hoặc rất dễ phù hợp vào khả năng của từng đối tượng tham gia thi
III.5 Các hình thức trắc nghiệm khách quan
Về chuyên môn, do khâu chấm thi giờ đây đã trở thành thứ yếu, khâu biên soạn đềlại càng đóng vai trò quan trọng hơn bao giờ hết Để giảm thiểu các kỹ năng và nội dung kiến thức không cần đánh giá và tập trung vào những gì cần đánh giá ở thí sinh, các chuyên gia về kiểm tra - đánh giá trên thế giới đã đưa ra nhiều hình thức câu hỏi trắc nghiệm trong đó chủ yếu là các hình thức sau:
III.5.1 Trắc nghiệm đúng – sai (True or False)
Loại này trình bày dưới dạng một phát biểu, với thông tin liên quan đến kiến thức
đã học hoặc nội dung một bài học trước đó, và học sinh phải trả lời bằng cách lựa chọn đúng hay sai Loại câu hỏi này rất thông dụng vì nó có vẻ dễ sử dụng, nhưng đây
là loại câu trắc nghiệm bị chỉ trích nhiều nhất do các khuyết điểm của nó
III.5.2 Trắc nghiệm điền khuyết (Gap-filling)
Các câu trắc nghiệm có thể là một đoạn văn hay một bài viết ngắn về nội dung đã học với một hay nhiều chỗ trống để học sinh điền vào bằng một từ hay một cụm từ thích hợp Loại này có bất lợi là cách chấm điểm không dễ dàng và điểm số không đạt được tính khách quan tối đa, trừ phi giảng viên chấm bài có thể đoán chắc rằng chỉ có một cách trả lời duy nhất cho câu hỏi Do đó, việc chấm điểm các loại câu trắc nghiệmđiền khuyết rất khó khăn và mất nhiều thời gian
III.5.3 Trắc nghiệm đối chiếu cặp đôi (Matching)
Loại trắc nghiệm đối chiếu cặp đôi thực ra là một dạng đặc biệt của hình thức thi trắc nghiệm với nhiều lựa chọn Câu hỏi và câu trả lời, hình minh họa, hai phần của định đề, v.v theo từng cặp được xáo trộn và yêu cầu thí sinh lắp ghép lại cho đúng thành từng cặp thích hợp
Trang 28III.5.4 Trắc nghiệm với nhiều lựa chọn (Multiple Choice Questions)
Câu hỏi thuộc loại có nhiều lựa chọn gồm 2 phần là phần “gốc” và phần “lựa chọn” Phần gốc là một câu hỏi hoặc câu có chỗ trống Phần lựa chọn gồm một số (thường là từ 4 đến 6) câu trả lời để học sinh chọn lựa
III.5.5 Trắc nghiệm sắp xếp theo trật tự thích
Một dạng mở rộng hơn của dạng trắc nghiệm đối chiếu cặp đôi Một đoạn văn, một qui trình, chuỗi giai đoạn lịch sử, v.v được chia nhỏ và xáo trộn trật tự và yêu cầu thí sinh lắp ráp lại cho đúng trật tự
III.5.6 Trắc nghiệm phân loại (Classification)
Các chi tiết nhỏ, khái niệm nhỏ, v.v được xắp sếp lộn xộn Thí sinh phải phân loại thành các nhóm lớn hơn theo yêu cầu của đề bài
Trong các dạng này, dạng (4) được sử dụng phổ biến nhất Dạng này đặc biệt hiệuquả và phong phú trong việc kiểm tra thông tin cụ thể (facts) Tuy nhiên, việc biên soạn một câu trắc nghiệm nhiều lựa chọn (multiple-choice item) không phải đơn giản Một câu trắc nghiệm như vậy có bốn yếu tố:
Phần gốc - câu hỏi hoặc câu cần điền (stem);
Trang 29PHÂN TÍCH THIẾT KẾ HỆ THỐNG
I Khảo sát tình hình thực tế
Trong những năm gần đây, Bộ Giáo dục Đào tạo đã có những thay đổi trong phương pháp tổ chức thi đại học theo hình thức thi trắc nghiệm Đây là phương pháp được đánh giá là có nhiều ưu điểm mà các nền giáo dục tiên tiến trên thế giới đã áp dụng từ lâu
Trách tình trạng học sinh học tủ, học lệch
Trách tình trạng xem tài liệu, quay cóp
Công tác chấm thi nhanh, độ chính xác cao
Chi phí tổ chức thi giảm
Để có được một hệ thống luyện thi trắc nghiệm hoàn chỉnh sử dụng trên điện thoại, chúng ta cần khảo sát kỹ công tác tổ chức trong cuộc thi thực tế để có cái nhìn hoàn chỉnh về hệ thống cần xây dựng
I.1 Công tác luyện thi
Để thích ứng với phương pháp thi mới , theo đúng hướng đổi mới giáo dục, mô hình thi trắc nghiệm đã được triển khai từ các bậc học Vấn đề đặt ra khi chuyển sang hình thức thi trắc nghiệm, học sinh có bắt kịp được phương pháp mới cần có thời gian luyện tập nhiều
Hiện nay, trong các trường trung học cơ sở, trung học phổ thông thời gian học trên lớp các giáo viên đã cố gắng đưa phương pháp kiểm tra, thi trắc nghiệm theo mônhọc để đánh giá năng lực học sinh Qua đó học sinh có thêm kinh nghiệm làm bài thi trắc nghiệm được tốt, phục vụ cho những lần làm bài thi sau này
Hằng năm các trung tâm luyện thi và các trường trung học phổ thông lại tổ chức
ôn luyện cho các học sinh có nguyện vọng thi vào các trường Cao đẳng, Đại học trong
cả nước Qua khảo sát chúng ta thấy được cách ôn luyện được tổ chức theo hình thức Giáo viên phụ trách từng môn sẽ ôn luyện lý thuyết, sau đó ra các bài tập dưới dạng các đề thi trắc nghiệm cho học sinh làm Các đề thì được chọn từ các tài liệu được các tác giả biên soạn sẵn và dựa theo tích lũy qua các kỳ thi từng năm để các học sinh làm bài Qua quá trình luyện thi, học sinh biết sức của mình tới đâu để tự ôn luyện bổ sungkiến thức, cũng như chọn trường thi phù hợp Công việc ôn luyện theo phương pháp này có nhiều ưu điểm:
I.1.1 Ưu điểm của phương pháp luyện thi truyền thống
Được giáo viên chọn nội dung cần ôn luyện
Các vấn đề thắc mắc được giải quyết ngay
Trang 30I.1.2 Nhược điểm của phương pháp luyện thi truyền thống
Luyện thi theo phương pháp này, bắt buộc học sinh phải đến lớp tậptrung
Cố định thời gian
Thời gian không được ràng buộc chặt chẽ
Học sinh được sử dụng nhiều sự trợ giúp xung quanh nên không đánhgiá được chính xác kết quả cuối cùng của mình
II Mô tả bài toán
Qua khảo sát tình hình luyện thi trên ta thấy có nhiều vấn đề còn bất cập, vấn đề đặt ra là phải xây dựng một ứng dụng luyện thi trắc nghiệm có nhiều ưu điểm đễ hỗ trợ học sinh được nhiều hơn
II.1 Yêu cầu chức năng
Ôn luyện kiến thức mọi lúc mọi nơi
Để nâng cao khả năng của người học, nắm chắc kiến thức, chương trình
có nhiều loại câu hỏi số lượng đáp án đúng không chỉ là 1, mà có thể 2, 3thậm chí cả 4 đáp án đều đúng
Trang hệ thống cấp nhật đề thi câu hỏi, sử dụng dễ dàng
Khi làm bài không có sự trợ giúp nhiều của tài liệu xung quanh nên đánhgiá được trình độ bản thân tốt hơn
Có nhiều thời gian luyện thi trực tuyến, chuẩn bị tâm lý tốt trước khi vào
kỳ thi chính thức
Thời gian luyện thi được kiểm soát chặt chẽ, tạo được áp lực giống nhưđang thi thật
Server thi trực tuyến thực thi được nhiều người tham gia cùng lúc
II.2 Yêu cầu phi chức năng
Ứng dụng luyện thi trắc nghiệm được áp dụng trên các điện thoại di động sử dụng
hệ điều hành Android nên ngoài các yêu cầu chức năng thì cần có được các yêu cầu phi chức năng sau:
Trang 31Tuy nhiên đây chỉ là một ứng dụng hỗ trợ học sinh luyện thi đại học theo hình thức trắc nghiệm được tốt hơn, nhưng nó không thể thay thế được phương pháp truyềnthống.
III Phân tích và thiết kế chương trình
III.1 Sơ đồ hệ thống
Qua quá trình khảo sát thực tế, nghiên cứu các tính năng tôi đi đến thiết kế
chương trình của mình Hệ thống tổng quát được miêu tả như sơ đồ dưới đây:
Hình 3: Sơ đồ hệ thống
Sau khi khởi động chương trình người dùng sẽ có 4 lựa chọn sau:
View shedule: Đây là hệ lựa chọn giúp người xem, xem lịch thi trực
tuyến để có thể sắp xếp thời gian tham dự thi
Training room : Phòng luyện thi của thí sinh, cho phép thí sinh được
chọn môn học để luyện thi, thời gian và số câu hỏi được tùy chọn, để giúp thísinh nâng cao khả năng của mình
Testting room: Phòng thi trực tuyến của các thí sinh, phòng thi trực
tuyến được gửi lịch cho thí sinh trước khi thi, thí sinh bắt buộc phải tham giatrong khoảng thời gian mà hệ thống đã quy định Phải làm số lượng câu hỏi,thời gian quy định Phòng thi trực tuyến này giúp cho người học có điều kiệnluyện thi giống như cảm giác mình đang thi thật Học sinh sẽ quen với áp lựctại phòng thi cũng như mức thời gian và đề thi để khi vào thi trực tiếp sẽkhông có cảm giác bỡ ngỡ, tâm lý
Help & about: Hướng dẫn cách sử dụng và giới thiệu tác giả, phiên bản
của ứng dụng
Trang 32III.2 Mô hình Use case
III.2.1 Nhận dạng các tác nhân (actor)
Trong ứng dụng chúng có 2 tác nhân chính là người sử dụng (User) và người quản
lý (admin)
User: Đối tượng trực tiếp sử dụng ứng dụng trên điện thoại
Admin: người quản lý các tính năng của chương trình, admin sẽ cập nhậtthông tin về đề thi, thời gian thi, phiên bản, hướng dẫn sử dụng… thông quamáy tính
III.2.2 Miêu tác các tác nhân
User : Đây là đối tượng trực tiếp sử dụng hệ thống, thao tác trên các chức năng
của hệ thống Các sự kiện liên quan đến tác nhân này bao gồm:
Luyện thi (Training Room)
Chọn môn thi
Chọn thời gian, số lượng câu hỏi trong bài thi
Làm bài thi
Xem câu hỏi
Di chuyển tới câu hỏi bất kỳ
Đánh dấu câu hỏi đã làm
Di chuyển tới câu hỏi bất kỳ
Xem câu hỏi chưa được chọn đáp án
Trang 33Admin: Sử dụng máy tính để cập nhật thông tin mới cho ứng dụng thông qua hệ
thống server
Cập nhật đề thi
Nội dung chương trình
III.3 Biểu đồ Use case
III.3.1 Biểu đồ Use case mức 0
Chương trình chúng ta có 4 tính năng căn bản, 4 ca sử dụng của chương trình
Training room: ca sử dụng luyện thi cho người dùng
Testing room: ca sử dụng test trực tuyến của người dùng
View schedule: ca sử dụng xem lịch thi
Helb & about: ca sử dụng xem hướng dẫn sử dụng, phiên bản chươngtrình
III.3.2 Biểu đồ Use case mức 1
Training room
Trang 34 Điều kiện trước: Tham gia vào phòng luyện thi “training room”.
Điều kiện sau : Kết thúc quá trình luyện thi, thoát khỏi chương trình
Mô tả ca sử dụng: Người sử dụng tham gia vào vòng luyện thi, trước khiluyện thi họ sẽ được chọn đề môn thi, thông số thời gian, câu hỏi trong đềthi Thực hiện làm đề thi, di chuyển tới câu hỏi cần thiết trong đề Hay xemđiểm, đáp án
Testing room
Trang 35 Đầu vào: Người tham gia thi trực tuyến đăng nhập thành công
Đầu ra : Kết thúc bài thi của mình
Mô tả ca sử dụng: Người sử dụng đặng nhập vào làm bài thi theo sự sắpxếp của hệ thống Thực hiện làm bài thi, sau đó xem kết quả và đáp án
III.4 Biểu đồ tuần tự
III.4.1 Quá trình luyện thi (Training room)
Trang 36RealUser :Button Training Room :Selection Ọbject :Edit Time :Edit number question :testing :Menu-selection :View Result :Database
:Processing() :return()
Hình 7: Biểu đồ tuần tự cho ca sử dụng luyện thi
Biểu đồ trên diễn tả quá trình các thao tác mà người dùng thực hiện trong quá trình luyện thi, các bước trong quá trình luyện thi:
Chọn vào button training room
Chọn môn học cần luyện thi
Chỉnh sửa thời gian và số lượng câu hỏi theo mong muốn
Làm bài thi:
Di chuyển tới câu hỏi bất kỳ trong đề thi theo ý muốn
Đánh dấu các câu chắn chắn đã làm
Xem các câu chưa làm
Kết thúc bài thi, xem kết quả
Xem đáp án