PHẦN GIỚI THIỆU 1.ĐẶT VẤN ĐỀ Ngày nay, nhu cầu đi lại của người dân ngày càng nâng cao,những phương tiện đi lại hiện đại giúp con người tiết kiệm được nhiều thời gian, tuy nhiên do số lư
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
Lâm Phước Lộc MSSV: B1203886 Khóa: K38
Cần Thơ, 7/2016
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
MSSV: B1203886 Khóa: K38
Cần Thơ, 7/2016
Trang 3LỜI CẢM ƠN
- -
Trong suốt khoảng thời gian học tập và rèn luyện ở trường Đại học Cần Thơ, em
đã được quý thầy cô truyền đạt những kiến thức và kinh nghiệm quý báu, để hôm nay,
em có thể hoàn thành luận văn của mình Thời gian làm đề tài tuy không nhiều nhưng giúp em hệ thống lại và hiểu rõ hơn những kiến thức đã được học, đồng thời bổ sung và trao dồi thêm các phần kiến thức còn thiếu sót và các kiến thức mới
Trước hết, em xin gửi lời cảm ơn chân thành đến ThS.Phạm Xuân Hiền - giảng
viên Bộ môn Khoa Học Máy Tính, Khoa Công Nghệ Thông Tin & Truyền Thông, Trường Đại học Cần Thơ, Cô đã tận tình hướng dẫn, giúp đỡ và tạo điều kiện thuận lợi để em
có thể hoàn thành tốt bài luận văn này
Em cũng xin gửi lời cảm ơn đến những người bạn trong lớp Khoa Học Máy Tính k38 đã giúp đỡ, chia sẻ với em không ít kinh nghiệm và những ý kiến chân thành trong suốt quá trình học tập cũng như thực hiện luận văn
Em cảm ơn những người thân, bạn bè, đặc biệt là cha mẹ đã tạo mọi điều kiện thuận lợi nhất để em có thể hoàn thành tốt luận văn
Mặc dù đã rất cố gắng để hoàn thành luận văn này nhưng vẫn còn nhiều thiếu sót và hạn chế Vì vậy, em mong nhận được những ý kiến đóng góp của quý thầy cô và các bạn để cho luận văn này hoàn thiện hơn
Cuối cùng, em xin kính chúc quý thầy cô dồi dào sức khỏe và công tác tốt
Cần Thơ, Ngày 17 tháng 7 năm 2016
Sinh viên thực hiện
Lâm Phước Lộc
Trang 4MỤC LỤC
PHẦN GIỚI THIỆU 1
1.ĐẶT VẤN ĐỀ 1
2.LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1
3 MỤC TIÊU 2
4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 2
4.1 Đối tượng nghiên cứu 2
4.2 Phạm vi nghiên cứu 2
5 NỘI DUNG NGHIÊN CỨU 3
6 NHỮNG ĐÓNG GÓP CHÍNH CỦA ĐỀ TÀI 3
7 BỐ CỤC CỦA LUẬN VĂN 3
PHẦN NỘI DUNG 4
CHƯƠNG 1:MÔ TẢ BÀI TOÁN 4
1 NHU CẦU THỰC TẾ 4
2 Ý TƯỞNG 4
3 XÁC ĐỊNH YÊU CẦU VÀ CHỨC NĂNG 5
3.1 Ứng dụng Web 5
3.2 Ứng dụng di động 6
4 ĐỊNH HƯỚNG NGƯỜI DÙNG 6
5 PHƯƠNG PHÁP THỰC HIỆN VÀ HƯỚNG GIẢI QUYẾT 7
5.1 Phương pháp thực hiện 7
5.2 Hướng giải quyết 7
CHƯƠNG 2:CƠ SỞ LÝ THUYẾT 8
1 DỮ LIỆU TRONG THỰC TẾ 8
2 DỮ LIỆU CỦA ỨNG DỤNG WEB VÀ DI ĐỘNG 9
Trang 53 ỨNG DỤNG WEB 11
CHƯƠNG 3:THIẾT KẾ VÀ CÀI ĐẶT GIẢI PHÁP 13
1 SƠ ĐỒ TỔNG QUAN 13
2 SƠ ĐỒ CHỨC NĂNG THI LÝ THUYẾT TRÊN WEB 15
3 SƠ ĐỒ CHỨC NĂNG THI LÝ THUYẾT TRÊN ANDROID 16
3.1 Sơ đồ thi ofline 16
3.2 Sơ đồ thi online 17
4 THIẾT KẾ CƠ SỞ DỮ LIỆU 18
4.1 Cơ sở dữ liệu ứng dụng Web 18
4.3 Cơ sở dữ liệu Android 20
CHƯƠNG 4: GIAO DIỆN NGƯỜI DÙNG 21
1 GIAO DIỆN TRÊN ỨNG DỤNG WEB 21
1.1 Giao diện trang chủ 21
1.2 Giao diện đăng kí thành viên 22
1.3 Giao diện đăng nhập 23
1.4 Giao diện thi ngẫu nhiên 24
1.5 Giao diện thi theo bộ đề 26
1.6 Giao diện ôn tập câu hỏi 26
1.7 Giao diện các biển báo 27
1.8 Giao diện mẹo ghi nhớ 31
1.9 Giao diện thông tin người dùng 31
1.10 Giao diện Thêm mới câu hỏi 32
1.11 Giao diện Sửa câu hỏi 33
2 Giao diện ứng dụng di động 34
2.1 Giao diện chính 34
2.2 Giao diện thi online 34
2.3 Giao diện thi ofline 39
2.4 Giao diện ôn tập câu hỏi 39
2.5 Giao diện các biển báo 39
Trang 6CHƯƠNG 5: KIỂM THỬ VÀ ĐÁNH GIÁ 42
1 MỤC TIÊU KIỂM THỬ 42
2 KỊCH BẢN KIỂM THỬ VÀ KẾT QUẢ KIỂM THỬ 42
2.1 Kiểm thử khả năng chính xác của chúc năng thi lý thuyết 42
2.2 Kiểm thử sự tương thích giữa ứng dụng Web và Android khi lấy dữ liệu 44
2.3 Kiểm thử tính chính xác của câu hỏi ôn tập trước khi thi 44
PHẦN KẾT LUẬN 45
1 KẾT QUẢ ĐẠT ĐƯỢC 45
2 HẠN CHẾ 45
3 HƯỚNG PHÁT TRIỂN 45
TÀI LIỆU THAM KHẢO 46
PHỤ LỤC 47
1 ĐÓNG GÓI CHƯƠNG TRÌNH TRÊN ANDROID 47
2 XUẤT TẬP TIN APK CÓ CHỨA KHÓA ĐỂ ĐƯA LÊN GOOGLE PLAY 48
Trang 7DANH MỤC HÌNH
Hình 1.1.Sơ đồ chức năng ứng dụng Web….……… 6
Hình 1.2.Sơ đồ chức năng trên di động……… 7
Hình 1.3: Giao diện “Trang chủ” của Web……… 11
Hình 1.4: Giao diện đăng kí 12
Hình 1.5: Giao diện thông báo lỗi trong đăng kí…….……… 12
Hình 1.6: Giao diện đăng nhập 13
Hình 1.7: Giao diện đăng nhập thành công 13
Hình 1.8: Giao diện thi ngẫu nhiên 14
Hình 1.9: Giao diện khi người dùng chưa chọn hết câu hỏi….….……… 15
Hình 1.10: Giao diện nộp bài 15
Hình 1.11: Giao diện thi theo bộ đề 16
Hình 1.12: Giao diện ôn tập câu hỏi 17
Hình 1.13: Giao diện ôn tập câu hỏi……… 17
Hình 1.14: Giao diện các biển báo……… 18
Hình 1.15: Giao diện biển báo cấm……… 18
Hình 1.16: Giao diện biển báo chỉ dẫn……… 19
Hình 1.17: Giao diện biển báo nguy hiểm……… 19
Hình 1.18: Giao diện biển báo hiệu lệnh 20
Hình 1.19: Giao diện biển phụ 20
Hình 1.20: Giao diện vạch kẻ đường 21
Hình 1.21: Giao diện mẹo ghi nhớ 21
Hình 1.22: Giao diện chính của di động 22
Hình 1.23: Giao diện đăng nhập khi vào thi online 23
Hình 1.24: Giao diện khi đăng nhập thành công 24
Hình 1.25: Giao diện thi theo bộ đề hạng B C D 25
Hình 1.26: Giao diện thi theo bộ đề hạng A1,A2 26
Trang 8Hình 1.27: Giao diện thi 27
Hình 1.28: Giao diện khi người dùng chọn kế tiếp 28
Hình 1.29: Giao diện khi làm xong bài thi 29
Hình 1.30: Giao diện sau khi nộp bài 30
Hình 1.31: Giao diện kiểm tra kết quả 31
Hình 1.32: Giao diện ôn tập câu hỏi 32
Hình 1.33: Giao diện các biển báo 33
Hình 1.34:Giao diện Biển báo cấm… 34
Hình 1.35:Giao diện Biển báo nguy hiểm 35
Hình 1.36:Giao diện Biển báo chỉ dẫn… 36
Hình 1.37:Giao diện Biển báo hiệu lệnh… 37
Hình.2.1.Sơ đồ tổng quan 39
Hình 2.2.Sơ đồ thi ngẫu nhiên và theo bộ đề 40
Hình 2.3.Sơ đồ thi ngẫu nhiên và theo bộ đề trên Android(ofline) 41
Hình 2.4.Sơ đồ thi ngẫu nhiên và theo bộ đề trên Android(online) 42
Hình 3.1.Ví dụ cơ sở dữ liệu We 45
Hình 3.2.Ví dụ giao diện người dùng chọn đáp án 46
Hình 3.3.Ví dụ kết quả sau khi thi 47
Hình 3.4.Ví dụ ôn tập câu hỏi cho người dùng 48
Trang 9DANH MỤC BẢNG
Bảng 1.1.Cơ sở dữ liệu của bảng câu hỏi(CauHoi) 18
Bảng 1.2 Cơ sở dữ liệu của bảng trả lời(TraLoi).……… … 18
Bảng 1.3 Cơ sở dữ liệu của bảng đăng kí(DangKi 19
Bảng 1.4 Cơ sở dữ liệu của bảng thống kê(ThongKe).……… … 19
Bảng 1.5.Bảng CSDL “CauHoi” 20
Bảng 1.6.Bảng CSDL “TraLoi” 20
Bảng 1.7.Bảng CSDL “DangKi” 21
Bảng 1.8.Bảng CSDL “ThongKe”……… ……… 21
Bàng 2.1.Cơ sở dữ liệu bảng câu hỏi(CauHoi) 22
Bảng 2.2.Cơ sở dữ liệu bảng trả lời(TraLoi) 22
Bảng 2.3.Bảng CSDL “CauHoi”……… 23
Bảng 2.4.Bảng CSDL “TraLoi” 23
Trang 10Ứng dụng được chia thành 5 chức năng chính đó là: đề thi ngẫu nhiên, thi theo bộ
đề, ôn tập câu hỏi, các biển báo, mẹo ghi nhớ Đề tài hoàn toàn có thể thực hiện được và
có khả năng triển khai ứng dụng trong thực tế, góp phần nâng cao trình độ luật an toàn giao thông cũng như tiết kiệm được nhiều chi phí, thời gian cho mọi người
ABSTRACT
Today, smartphone is the most popular device They help us looking for knowledge with the easiest way and you don't need to come to any academies or education center That's why we had created one application on smartphone and on web It allow you practice your driving permit theory level A, B, C or D right at your home or your office, Because
of it help you save a lot of time and your money
The applicatin have five functions:Random exam, standard exam, practice questions, traffic signs and tips to remenber This topic completely become true and able to deploy this application reality and contribute to raising your level about traffic safety laws
Trang 11
PHẦN GIỚI THIỆU 1.ĐẶT VẤN ĐỀ
Ngày nay, nhu cầu đi lại của người dân ngày càng nâng cao,những phương tiện đi lại hiện đại giúp con người tiết kiệm được nhiều thời gian, tuy nhiên do số lượng sử dụng phương tiện ngày càng đông dẫn đến tình trạng như: tai nạn, ùn tắc giao thông…những tình trạng trên đa phần là do người dân chưa hiểu biết nhiều về luật an toàn giao thông, chính vì thế việc cải thiện trình độ luật an toàn giao thông cho người dân là rất cần thiết,
và theo như luật giao thông đường bộ khi sử dụng phương tiện tham gia giao thông mọi người cần phải có giấy phép lái xe, từ thực tế đó, các trung tâm tổ chức thi cấp giấy phép lái xe thường xuyên tổ chức các lớp học luyện thi lý thuyết và tổ chức thi lấy giấy phép lái
xe Tuy nhiên, không phải ai cũng có thời gian để đến các lớp học luyện thi lý thuyết lái xe
vì vậy để giải quyết vấn đề này đã có các phần mềm và website giúp ôn thi lý thuyết lái xe tại nhà mà không cần đến trung tâm Với mục đích giúp cho người dùng điện thoại thông minh(smartphone) có thể tự ôn thi tại nhà và quan trọng nhất là khuyến khích người dùng tìm hiểu, nâng cao ý thức chấp hành luật giao thông nhằm góp phần giảm tỉ lệ tai nạn giao thông
Thực hiện đề tài “Xây dựng ứng dụng thi trắc nghiệm lý thuyết lái xe trên điện thoại
di động”, chúng tôi mong muốn đáp ứng nhu cầu của người dùng, khi mà hiện nay việc sử dụng các thiết bị thông minh đang bùng phát mạnh mẽ, số người sử dụng smartphone tăng nhanh chóng tại Việt Nam nói riêng và trên toàn thế giới nói chung Ứng dụng này sẽ giúp ích cho việc ôn thi lý thuyết lái xe một cách dễ dàng, tiện lợi và ở bất cứ nơi đâu với một chiếc điện thoại trên tay
2.LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Theo tìm hiểu, hiện nay phần mềm luyện thi thí thuyết lái xe trên hệ điều hành Android và Web có nhiều, điển hình như
Ứng dụng di động:
Ôn thi giấy phép lái xe(Hồ Thanh Hải)
Ứng dụng 450 câu lý thuyết sát hạch ô tô (Nguyễn Tôn – 18/9/2013)
Luyện thi bằng láy xe máy(Ngô Văn Trung) Ứng dụng Web:
thietkeweb.danang.vn
xedulich.danang.vn
daotaolaixehd.com.vn Những ứng dụng trên có những chức năng như: thi thử, thi theo bộ đề, mẹo ghi nhớ, các biển báo… những chức năng trên cũng được chúng tôi xây dựng, tuy nhiên có một điểm khác trong ứng dụng của chúng tôi là xây dựng chức năng xáo trộn câu
Trang 12hỏi và câu trả lời, và một chức năng mới đó là đồng bộ dữ liệu (lấy dữ liệu từ Web
để thi trên ứng dụng di động), trên hầu hết ứng dụng di động thì khi người dùng quay lại câu trả lời trước đó sẽ không thể chọn lại, nhưng ứng dụng di động của chúng tôi đã hoàn thiện được và cho người dùng quay lại để chọn lại câu trả lời
Online: khi có kết nối mạng, kết nối Web Web quản trị CSDL, tạo ra đề thi
từ bộ đề cho người dùng thi (thi theo bộ đề, thi ngẫu nhiên),…
Ứng dụng Web:
Chức năng cho người dùng đăng kí thành viên
Chức năng thi ngẫu nhiên, thi theo bộ đề
Chức năng ôn tập câu hỏi, mẹo ghi nhớ
Chức năng thống kê số lượng câu trả lời đúng sai
Chức năng quản trị: tạo bộ đề, thêm sử, xóa, câu hỏi
4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
4.1 Đối tượng nghiên cứu
Ngôn ngữ Java, các công cụ lập trình như: Android Studio, Eclipse… sử dụng cơ sở dữ liệu để lưu trữ (SQLite,MySQL), được nghiên cứu đưa ứng dụng lên thiết bị di động (đóng gói ứng dụng), tạo kết nối với ứng dụng Web
4.2 Phạm vi nghiên cứu
Đề tài xây dựng ứng dụng câu hỏi trắc nghiệm thi lý thuyết lái xe được lấy
từ bộ câu hỏi luyện thi lý thuyết lái xe (năm 2014 của bộ giao thông vận tải): các câu hỏi thi trắc nghiệm, các loại biển báo…
Trang 135 NỘI DUNG NGHIÊN CỨU
Để thực hiện mục tiêu đề ra những nội dung sau được nghiên cứu :
Tìm hiểu về công cụ Android Studio hỗ trợ cho việc viết ứng dụng cho hệ điều hành Android
Tìm hiểu về ngôn ngữ Java để viết ứng dụng trên di động và Web
Tìm hiểu về các đối tượng và cách sử dụng đối tượng trong Android Studio, Eclipse để thiết kế giao diện cho ứng dụng
Thu thập tài liệu về thi lý thuyết lái xe:các bộ đề thi,các biển báo,mẹo ghi nhớ.Tìm hiểu về cách trộn câu hỏi, câu trả lời để thực hiện phần thi lý thuyết ngẫu nhiên
6 NHỮNG ĐÓNG GÓP CHÍNH CỦA ĐỀ TÀI
Đề tài đã thực hiện được phần thi ngẫu nhiên: mỗi lần người dùng thi thì câu hỏi và đáp án sẽ được xáo trộn tránh tình trạng bị trùng lập nhiều lần
Thực hiện được các bộ đề thi khác nhau (20 bộ đề thi) từ dễ đến khó
Đưa ra những câu hỏi ôn tập (có câu trả lời) cho người dùng trước khi vào phần thi ngẫu nhiên hay thi trong bộ đề
Liệt kê các biển báo cho người dùng tìm hiểu trước khi thi
Tạo ứng dụng Web đồng bộ dữ liệu giữa di động và Web
7 BỐ CỤC CỦA LUẬN VĂN
Luận văn được chia thành 3 phần:phần giới thiệu, phần nội dung và phần kết luận
Phần giới thiệu: Trình bày lý do cho ̣n đề tài, tình hình nghiên cứu, mu ̣c tiêu và
phương pháp nghiên cứu của đề tài, cũng như những đóng góp mới và những mặt
ha ̣n chế của đề tài
Phần nội dung:
Chương I:Mô tả bài toán: mô tả chi tiết bài toán, phân tích
đánh giá giải pháp có liên quan tới bài toán, tiếp cận giải quyết vấn đề chọn lựa giải pháp
Chương II:Thiết kế và cài đặt giải pháp: bao gồm thiết kế kiến trúc tổng thể của hệ thống, giải thích chức năng của từng thành phần trong hệ thống, các giải thuật xử lý của hệ thống hoặc của một thành phần hệ thống,thiết kế cơ sở dữ liệu,… Mô tả cách thức cài đặt thiết kế bằng một ngôn ngữ lập trình củ thể, hệ điều hành,phần cứng…
Chương III: Kiểm thử và đánh giá: mô tả mục tiêu kiểm thử,
kịch bản và kết quả kiểm thử (có chạy được hay không, chạy đúng không, đạt các mục tiêu đề ra hay không?)
Chương IV: Giao diện người dùng
Phần kết luận:kết quả đạt được, hướng phát triển, tài liệu tham khảo…
Trang 14PHẦN NỘI DUNG CHƯƠNG 1:MÔ TẢ BÀI TOÁN
Trên thực tế, để thi giấy phép lái xe người điều khiển phương tiện cần trải qua 2 phần thi: phần thi lý thuyết trên máy và phần thi thực hành lái xe
Phần thi lý thuyết: đề thi lý thuyết gồm 20 câu hỏi, thời gian làm bài là 15 phút, tài liệu học gồm có 2 phần:
Những khái niệm, quy định giao thông của Luật giao thông đường bộ (các khái niệm, các hành vị bị nghiêm cấm, những hành vi vi phạm quy định, …), nghiệp vụ vận tải, văn hoá đạo đức
Biển báo và ý nghĩa
Phần thi thực hành:
Với các loại xe mô tô thực hiện phần thi chạy vòng số 8
Các loại xe ô tô thì thực hiện các bài thi sa hình
2 Ý TƯỞNG
Xây dựng ứng dụng di động và ứng dụng Web giúp người dùng luyện thi lý thuyết lái xe và thi thử trước khi đăng ký thi trên thực tế Các câu hỏi được lấy trong bộ 450 câu hỏi thi lý thuyết lái xe do bộ ban hành bao gồm các câu lý thuyết, các câu về biển báo
Trang 153 XÁC ĐỊNH YÊU CẦU VÀ CHỨC NĂNG
3.1 Ứng dụng Web
Hệ thống Web dành cho người dùng bao gồm 5 chức năng chính (đây cũng là 5 chức năng của ứng dụng)
Hình 1.1.Sơ đồ chức năng Web
Thi ngẫu nhiên:khi vào chức năng này người dùng có thể thực hiện thi với đề thi được cho ngẫu nhiên từ 450 câu thi trắc nghiệm, với 10 câu là chữ (được lấy ngẫu nhiên từ 245 câu chữ) và 10 câu là hình (được lấy ngẫu nhiên từ 205 câu hình) tạo thành một bài thi với 20 câu trắc nghiệm ngẫu nhiên, đồng thời đáp án cũng được xáo trộn trong mỗi lần thi,khi người dùng thi vào các lần tiếp theo thì câu hỏi sẽ khác và câu trả lởi được thay đổi vị trí qua lại trong 1 câu
Thi theo bộ đề: Ở chức năng này người dung có thể lựa chọn một trong
20 bộ đề thi (từ dễ đến khó), tuy nhiên trong 20 bộ đề thi này sẽ không xáo trộn đáp án
Các biển báo: Chức năng này giúp người dung hiểu được ý nghĩa của các biển báo như: biển báo cấm, biển báo hiệu lệnh, biển báo chỉ dẫn, biển báo nguy hiểm
Ôn tập câu hỏi: Chức năng này giúp người dùng củng cố lại kiến thức trước khi bước vào phần thi ngẫu nhiên hoặc thi theo bộ đề
Mẹo ghi nhớ: Đây là chức năng giúp người dùng có thể lựa chọn được nhiều câu đúng hơn, gợi ý những mẹo để chọn dáp án đúng của bộ đề (không dành cho phần thi ngẫu nhiên)
Đồng thời hệ thống Web còn có Web service để kết nối giữa ứng dụng di động và Web, chức năng này giúp cho ứng dụng di động có thể lấy dữ liệu từ Web về (khi có kết nối internet) để thực hiện phần thi ngẫu nhiên hoặc theo bộ đề, bên cạnh đó dữ liệu của người thi từ ứng dụng sẽ được lưu vào Web như: người dùng đã thi bộ đề nào, kết quả mà người dung đã thi…
Trang chủ
Thi ngẫu nhiên Thi theo bộ đề Các biển báo Ôn tập câu hỏi Mẹo ghi nhớ
Trang 16Hệ thống Web còn có chức năng thêm và sửa câu hỏi dành cho người quản trị (admin), chức năng này giúp cho người quản trị có thể thêm hoặc sửa câu hỏi trên giao diện mà không cần mở trực tiếp cơ sở dữ liệu MySQL
3.2 Ứng dụng di động
Ứng dụng cũng gồm 5 chức năng chính như Web đó là: phần thi ngẫu nhiên, thi theo bộ đề, các biển báo, ôn tập câu hỏi và mẹo ghi nhớ
Hình 1.2.Sơ đồ chức năng trên di động
Tuy nhiên ứng dụng cung cấp cho người dùng một tiện ích đó là có thể thi trực tiếp (lấy dữ liệu từ Web thông qua ứng dụng Web) khi có kết nối internet Online Đây là một tiện ích khá quan trọng giúp người dùng có thể sử dụng chính ứng dụng trên di động
để thi online mà không cần vào Web, đồng thời giúp người dùng có thể biết thêm về những câu hỏi mới đã thêm vào Lưu ý khi người dùng muốn thực hiện các phần thi thì phải có tài khoảng để đăng nhập sau đó mới thực hiện thi
4 ĐỊNH HƯỚNG NGƯỜI DÙNG
Sau khi sử dụng ứng dụng trên thiết bị di động hoặc Web, người dùng đạt được những mục tiêu sau đây:
Thi thử với cấu trúc đề thi tương tự như thi thực tế
Ôn thi các câu hỏi trong bộ đề 450 câu
Nhận biết được một số biển báo hiệu đường bộ
Ứng dụng
Thi ngẫu nhiên Thi theo bộ đề Các biển báo Ôn tập câu hỏi Mẹo ghi nhớ
Webservice ứng dụng Web
Trang 175 PHƯƠNG PHÁP THỰC HIỆN VÀ HƯỚNG GIẢI QUYẾT
5.1 Phương pháp thực hiện
Phân tích yêu cầu
Tìm hiểu, khảo sát các ứng dụng trên các website và di động
Đặt tả yêu cầu xây dựng hệ thống
Xây dựng quy trình hệ thống
Thiết kế
Phân tích và thiết kế các mô hình hệ thống: thiết kế cơ sở dữ liệu…
Thiết kế sơ đồ chức năng
Cài đặt
Thiết kế và xây dựng giải thuật và đề ra các giải pháp lập trình
Ngôn ngữ lập trình: Java
Cơ sở dữ liệu(CSDL): MySQL, SQLite
5.2 Hướng giải quyết
Về lý thuyết
Các cơ sở lý thuyết cần nghiên cứu và nắm vững để thực hiện đề tài:
Lý thuyết về phân và thiết kế CSDL
Các công cụ: ngôn ngữ java, bộ công cụ phát triển java JDK…
CSDL: MySQL, SQLite
Thư viện: Apache Tomcat, Google Gson, thư viện thẻ chuẩn JSTL
Về phần mềm, công cụ sử dụng
Sử dụng các phần mềm để phát triển hệ thông như:
Công cụ lập trình(IDE): Eclipse, Android Studio
CSDL: MySQL, SQLite
Hệ điều hành: Window
Trang 18CHƯƠNG 2:CƠ SỞ LÝ THUYẾT
1 DỮ LIỆU TRONG THỰC TẾ
Kể từ thời điểm 01/07/2013 việc thi sát hạch để cấp phép lái xe sử dụng bộ đề thi
gồm 450 câu hỏi dành cho tất cả hạng (loại) xe mô tô và ô tô Cấu trúc của đề lý thuyết thi
bằng lái xe B, C, E, D và F sẽ bao gồm 30 câu, 9 câu trong số đó sẽ hỏi về khái niệm cũng
như những quy tắc khi tham gia giao thông Nghiệp vụ vận tải, văn hóa + đạo đức người lái xe, cách sửa chữa cơ bản cũng như kỹ thuật lái xe ô tô mỗi chủ đề 1 câu, thế sa hình 9 câu và 9 câu về hệ thống các biển báo giao thông Tổng cộng sẽ là 30 câu lý thuyết, thời gian thi là 20 phút, yêu cầu để người thi vượt qua được kì thi là 26/30 câu với ô tô hạng B1
và B2 và 28/30 câu với ô tô hạng C, D, E Với cấu trúc đề thi cho xe mô tô hạng A1 được lấy từ 150 câu hỏi trong bộ đề thi 450 câu hỏi, số câu thi là 20 câu trong thời gian 15 phút,
để vượt qua bài thi thì người thi phải đạt 16/20 câu,với xe mô tô hạng A2 thì được lấy 365 câu trong 450 câu của bộ đề thi,thời gian làm bài thi 15 phút và số câu đạt trong bài thi là 18/20 câu, hai hạng xe mô tô A3 và A4 cũng tương tự nhưng số câu được lấy trong bộ đề thi là 390/450 câu Khi thi thực tế thì trong một câu hỏi có thể có 1 hoặc 2 đáp án đúng, và người thi có thể chọn 1 hoặc nhiều đáp án,tối đa một câu hỏi sẽ có 4 câu trả lời và ít nhất
là 2 câu trả lời Đề thi trong hạng xe mô tô(A) thì sẽ có 10 câu hỏi chữ và 10 câu hỏi hình, trong hạng xe ô tô(B,C,D) có 12 câu hỏi chữ và 18 câu hỏi hình
Ví dụ: trong một bộ đề thi hạng A1 gồm 20 câu trong đó có 10 câu Luật, 5 câu sa hình, 5 câu các biển báo:
Câu hỏi về Luật:
Câu 1: Khái niệm đường bộ được hiểu thế nào? Đường bộ gồm:
A Đường, cầu đường bộ, hầm đường bộ
B Đường, cầu đường bộ, hầm đường bộ, bến phà đường bộ ( ĐÚNG )
C Đường, cầu đường bộ, hầm đường bộ, bến phà đường bộ và các công trình phụ trợ khác
Câu 3: Người điều khiển phương tiện giao thông đường bộ mà trong cơ thể có chất
ma túy có bị nghiêm cấm hay không?
A Nghiêm cấm ( ĐÚNG )
B Không bị nghiêm cấm
C Nghiêm cấm trong trường hợp sử dụng trái phép
Trang 19Câu hỏi sa hình:
Câu 13: Thứ tự các xe đi như thế nào là đúng quy tắc giao thông?
A Xe tải, xe lam, xe con, mô tô
B Xe tải, mô tô, xe lam, xe con ( ĐÚNG )
C Xe lam, xe tải, xe con, mô tô
D Mô tô, xe lam, xe tải, xe con
Câu về biển báo:
Câu 10: Biển nào báo hiệu giao nhau với đường ưu tiên?
A Biển 1
B Biển 3 ( ĐÚNG )
C Biển 2
D Cả 3 biển trên
2 DỮ LIỆU CỦA ỨNG DỤNG WEB VÀ DI ĐỘNG
Dựa vào dữ liệu thực tế đã nêu thì dữ liệu của ứng dụng(web và di động) cũng lấy
từ bộ đề thi 450 câu hỏi, tuy nhiên đối với hạng xe mô tô A1, A2, A3, A4(10 câu hỏi chữ
và 10 câu hỏi hình) thì sẽ được lấy ra 150/450 câu hỏi,thời gian làm bài là 15 phút, kết quả đạt yêu cầu là 18/20 câu, với các hạng xe ô tô B,C,D thời gian cũng là 15 phút và kết quả đạt yêu cầu là 26/30 câu, được lấy từ 420/450 câu(vì sẽ có 30 câu hỏi dành cho phần thi thực sa hình,nhưng trong ứng dụng thì không có chức năng đó) Trong ứng dụng cũng cho người thi chọn nhiều đáp án đúng và đáp án đúng trong hệ thống ứng dụng cũng tương tự thực tế, tuy nhiên sẽ khác với thực tế trong cấu trúc đề thi,ứng dụng đưa chung hạng xe mô
tô A vào một bộ đề thi và hạng xe ô tô B, C, D vào một bộ đề thi,nhưng ứng dụng đã cung
cấp cho người dùng một đề thi khác là đề thi ngẫu nhiên(câu hỏi và câu trả lời được xáo
trộn), đề thi sẽ lấy ngẫu nhiên 20/450 câu hỏi đưa vào thi để người thi củng cố kiến thức
của mình, vì theo như mục đích đề ra thì ứng dụng này giúp người dùng có thể ôn tập kiến thức trước khi vào thi thực tế
Ví dụ : trong phần thi ngẫu nhiên của ứng dụng có 20 câu hỏi trong đó có 10 câu hỏi luật 5 câu hỏi sa hình và 5 câu hỏi biển báo:
Trang 20Câu hỏi về Luật
Câu hỏi sa hình
Câu hỏi biển báo
Trang 213 ỨNG DỤNG WEB
Trên ứng dụng Web tạo một một tập tin servlet (ứng dụng Web) dùng để chuyển hàm cần thiết về định dạng JSON, tập tin này sẽ được ứng dụng di động gọi thông qua đường dẫn URL, sau khi đã lấy được chuỗi JSON từ ứng dụng Web thì trong ứng dụng di động sẽ bắt đầu đọc tập tin JSON và chuyển thành từng đối tượng lưu vào một danh sách,
dữ liệu lấy về sẽ được lưu tạm vào một đối tượng và được gọi để thực hiện hiển thị dữ liệu cho người dùng thi
Ví dụ: để người dùng thi được bộ đề 1 trên ứng dụng Web từ dưới di động thì trên web sẽ phải tạo một tập tin servlet AndroidBoDe1.java, tập tin này thực hiện gọi hàm bode1 được viết sẵn trong web để chuyển về dạng JSON, sau đó dưới di động sẽ bắt đường dẫn URL
mà ứng dụng Web đã tạo ra (tập tin AndroidBoDe1.java) và bắt đầu đọc tập tin JSON ghi vào một đối tượng được tạo ra từ ứng dụng di động Sau đây là phần code ví dụ để hiểu rõ hơn về cách thực hiện:
Code trên ứng dụng Web chuyển hàm bộ đề 1 về dạng JSON
Trang 22Code trên ứng dụng di động nhận chuỗi JSON và đọc chuỗi chuyển về thành từng đối tượng và lưu vào bảng tạm
Trang 23CHƯƠNG 3:THIẾT KẾ VÀ CÀI ĐẶT GIẢI PHÁP
1 SƠ ĐỒ TỔNG QUAN
Khi vào trang chủ của Web người dùng sẽ thấy được các chức năng như: thi ngẫu nhiên, thi theo bộ đề, ông tập câu hỏi, mẹo ghi nhớ,…Tuy nhiên để thực hiện được phần thi thì người dùng cần phải đăng kí thành viên để có tài khoảng để đăng nhập vào thi, sau khi đã là thành viên thì người dùng có thể thực hiện phần thi Nếu là người quản trị thì hệ thống thêm hai chức năng đó là: thêm mới câu hỏi và sửa câu hỏi
Khi người dùng đang trong ứng dụng di động thì có hai sự lựa chọn đó là: thi online (cần kết nối mạng internet) và thi ofline Nếu người dùng chọn phần thi online thì ứng dụng
sẽ kết nối Web để lấy dữ liệu về để thi thông qua ứng dụng Webserver, khi đó người dùng cũng cần phải đăng nhập trước khi thực hiện vào phần thi online…
Để hiểu rõ hơn thì người dùng có thể xem sơ đồ tổng quan (Hình 2.1)
Trang 24Mẹo ghi nhớ
Thi ngẫu nhiên
Thi theo bộ
đề
Vào thi
Ứng dụng Web
Thi ngẫu nhiên Thi theo bộ
đề
Ofline
Đăng nhập Trang chủ User
Trang 252 SƠ ĐỒ CHỨC NĂNG THI LÝ THUYẾT TRÊN WEB
Khi người dùng vào trang chủ và chọn các phần thi: thi ngẫu nhiên hoặc thi theo bộ
đề thì cần phải đăng nhập (nếu chưa có tài khoản thì vào đăng kí thành viên) sau đó vào thi, nếu chưa chọn hết 20 câu hỏi mà nhấn nút “nộp bài” thì hệ thống sẽ hiển thị cho người dùng xem là mình đã chọn và chưa chọn câu nào,sau đó hoàn thành bài thi thì hệ thống sẽ hiển thị kết quả cho người dùng xem mình chọn đúng hoặc sai bao nhiêu câu.Sau đây là sơ
đồ thi(Hình 2.2)
Hình 2.2.Sơ đồ thi ngẫu nhiên và theo bộ đề
Còn thời gian Còn thời gian
Hiển thị kết quả
Trang 263 SƠ ĐỒ CHỨC NĂNG THI LÝ THUYẾT TRÊN ANDROID
3.1 Sơ đồ thi ofline
Khi người dùng vào thi (ngẫu nhiên hoặc thi theo bộ đề), chọn đáp án và nhấn chọn nút “Kế tiếp”, nếu muốn quay lại xem những câu mà mình đã chọn hoặc quay lại chọn lại đáp án khác thì nhấn nút “Quay lại”, khi đã làm hết 20 câu hỏi, nếu người dùng muốn nộp bài thì chọn nút “Nộp bài” hoặc nhấn nút “Quay lại”, khi người dùng nhấn nút “nộp bài” thì ứng dụng sẽ hiển thị kết quả người dùng đã làm đúng bao nhiêu câu và đồng thời cũng
có hai nút lựa chọn: “Kiểm tra” hoặc “Thoát”, nút “Kiểm tra” là để hiển thị đáp án đúng(màu đỏ) từ ứng dụng, và đáp án mà người dùng đã chọn trước đó, khi hết giờ làm bài thi ứng dụng sẽ tự động nộp bài và hiển thị kết quả, xem sơ đồ sau (Hình 2.3)
Hình 2.3 Sơ đồ thi ngẫu nhiên và theo bộ đề trên android(ofline)
Trang 273.2 Sơ đồ thi online
Phần thi online cũng tương tự như phần thi ofline, nhưng khi người dùng chọn phần
thi này thì cần phải đăng nhập, khi đó ứng dụng sẽ hiển thị giao diện đăng nhập cho người
dùng, khi đăng nhập thành công thì giao diện ứng dụng như ở phần thi ofline Thông qua
Web service ứng dụng sẽ lấy dữ liệu từ Web về để người dùng thi và quy trình thi tương
tự thi ofline, xem sơ đồ thi để hiểu rỏ hơn (Hình 2.4)
Hình 2.4 Sơ đồ thi ngẫu nhiên và theo bộ đề trên android(online)
Thi ngẫu nhiên
Ứng dụng thi online
Thi theo bộ đề(tùy chọn bộ đề 1 đến 20) Webservice
Trang 284 THIẾT KẾ CƠ SỞ DỮ LIỆU
4.1 Cơ sở dữ liệu ứng dụng Web
Hệ thống sử dụng cơ sở dữ liệu(CSDL) là MySQL, gồm có 4 bảng như sau:
Bảng 1.1.Cơ sở dữ liệu của bảng câu hỏi(CauHoi)
rỗng
Giá trị mặc định
Khóa
ID INT 1 null 1 ID của câu hỏi,id này tự tăng
hoặc không có hình(0) Bảng cơ sở dữ liệu câu hỏi:bảng 1.1 dùng để lưu những câu hỏi, đáp án đúng và hình câu hỏi (nếu có), có khóa chính là trường ID
Bảng 1.2.Cơ sở dữ liệu của bảng trả lời(TraLoi)
Tên
rỗng
Giá trị mặc định
Khóa
ID INT 1 null 1 ID của câu trả lời,id này tự tăng
bên bảng “CauHoi”,là khóa chính
Bảng cơ sở dữ liệu trả lời: bảng 1.2 để lưu những câu trả lời, có hai trường cùng làm khóa chính là ID và ID_cauhoi
Trang 29Bảng 1.3 Cơ sở dữ liệu của bảng đăng kí(DangKi)
khi đăng kí thành viên
khi đăng kí thành viên
0,thi rồi thì giá trị là 1 Bảng cơ sở dữ liệu đăng kí: bảng 1.3 dùng để lưu thông tin người dùng khi đăng kí, có
khóa chính là trường TenDangNhap
Bảng 1.4 Cơ sở dữ liệu của bảng thống kê(ThongKe)
Bảng cơ sở dữ liệu thống kê: bảng 1.4 dùng để thống kê người dùng đã thi những bộ đề nào và đúng được bao nhiêu câu, có khóa chính là trường ID
định
Khóa
dùng