TỔNG QUAN VỀ HỆ THỐNG
Đặt vấn đề
Hiện nay, nhu cầu di chuyển và vận chuyển ngày càng tăng, đặc biệt tại các thành phố lớn và khu công nghiệp đông dân cư, làm cho vấn đề an toàn giao thông trở nên cấp bách Toàn xã hội và từng cá nhân đều quan tâm theo dõi tình hình này hàng ngày Đáng chú ý, khoảng 70% vụ tai nạn giao thông xảy ra do vi phạm luật giao thông đường bộ, cho thấy cần nâng cao ý thức chấp hành luật lệ giao thông.
Ngày nay, nhu cầu đi lại của người dân ngày càng tăng cao, dẫn đến việc sử dụng phương tiện giao thông hiện đại để tiết kiệm thời gian Tuy nhiên, tình trạng tai nạn và ùn tắc giao thông gia tăng chủ yếu do người dân chưa nắm rõ luật an toàn giao thông Do đó, việc nâng cao hiểu biết về luật giao thông là rất cần thiết Theo quy định, để tham gia giao thông, mọi người cần có giấy phép lái xe, và các trung tâm thường xuyên tổ chức lớp học và thi cấp giấy phép Tuy nhiên, không phải ai cũng có thời gian tham gia các lớp học này, vì vậy đã xuất hiện các phần mềm và website hỗ trợ ôn thi lý thuyết lái xe tại nhà Mục tiêu là giúp người dùng smartphone tự ôn thi và nâng cao ý thức chấp hành luật giao thông, góp phần giảm tỷ lệ tai nạn giao thông.
Với đề tài “Ứng dụng luyện thi lý thuyết giấy phép lái xe”, chúng tôi mong muốn áp dụng kiến thức học được để xây dựng hệ thống hỗ trợ người dùng tìm hiểu về luật giao thông đường bộ Trong bối cảnh công nghệ thông tin ngày càng phổ biến, ứng dụng này hứa hẹn sẽ giúp người dân dễ dàng tiếp cận và nắm vững các quy định giao thông.
Có 5 luật lệ giao thông giúp bạn dễ dàng hơn trong việc học và ôn thi mọi lúc, mọi nơi Bạn có thể học và luyện thi tại nhà hoặc bất kỳ đâu thuận tiện.
Lý do chọn đề tài
Ngày nay, việc sở hữu bằng lái xe trở nên ngày càng phổ biến, bởi nhiều công việc yêu cầu điều này, mở ra nhiều cơ hội việc làm Tuy nhiên, với nhịp sống bận rộn, không phải ai cũng có thời gian tham gia các lớp học lý thuyết Hơn nữa, việc học lý thuyết qua sách vở thường gây nhàm chán Do đó, cần có phương tiện học tập tiện lợi để việc học lý thuyết trở nên dễ dàng hơn.
Với sự phát triển nhanh chóng của khoa học công nghệ, ứng dụng di động đã trở thành công cụ hỗ trợ và giải trí đa phương tiện, không chỉ đơn thuần là phương tiện cung cấp thông tin hay mua sắm Điện thoại di động hiện nay là vật dụng thiết yếu của mọi người Nhằm đáp ứng nhu cầu học tập, một ứng dụng di động đã được phát triển để giúp người dùng học lý thuyết sát hạch bằng lái xe một cách đơn giản, tiết kiệm thời gian và linh hoạt, cho phép học mọi lúc mọi nơi.
Mục đích
Phân tích và thiết kế hệ thống thi trắc nghiệm tập luật giao thông đường bộ dành cho người tham gia sát hạch lái xe trên nền tảng di động, nhằm nâng cao hiệu quả học tập và kiểm tra kiến thức luật giao thông Hệ thống này sẽ cung cấp các bài thi trắc nghiệm đa dạng, giúp người dùng dễ dàng tiếp cận và ôn luyện kiến thức cần thiết để thi sát hạch lái xe.
Tìm hiểu và nắm vững lập trình trên Mobile với Android và các công nghệ.
Đối tượng và phạm vi nghiên cứu
Bộ câu hỏi luyện thi lý thuyết lái xe và các loại biển báo
Ngôn ngữ kịch bản JavaScript
Câu hỏi trắc nghiệm trong thi sát hạch bằng lái xe
Lưu trữ câu hỏi và đáp án
Triển khai ứng dụng trên nền tảng Mobile sử dụng hệ điều hành Android.
Công nghệ và công cụ sử dụng
Trình soạn thảo Visual Studio Code
Hệ quản trị cơ sở dữ liệu Cloud Cluster MongoDB và SQL lite
Ngôn ngữ kịch bản : JavaScript
KHẢO SÁT HỆ THỐNG
Nhu cầu
Hiện nay, nhu cầu ôn tập và đăng ký thi bằng lái xe của người dân đang gia tăng đáng kể, dẫn đến tình trạng quá tải tại các trung tâm luyện thi và tổ chức thi cấp giấy phép lái xe.
Nhiều người dân không có đủ thời gian để đến các trung tâm luyện thi, và không phải ai cũng sở hữu máy tính hoặc laptop để sử dụng phần mềm ôn thi.
Để đáp ứng nhu cầu học tập linh hoạt, việc phát triển ứng dụng cho thiết bị di động thông minh như smartphone là rất cần thiết Ứng dụng này cho phép người dùng tận dụng thời gian rảnh để ôn thi hiệu quả mà không tốn quá nhiều thời gian, đồng thời có thể sử dụng ở bất kỳ đâu mà không bị ảnh hưởng bởi các yếu tố bên ngoài.
Để thi giấy phép lái xe, người điều khiển phương tiện cần hoàn thành hai phần thi: phần thi lý thuyết trên máy và phần thi thực hành lái xe.
Ý Tưởng
Xây dựng ứng dụng di động hỗ trợ người dùng ôn luyện thi lý thuyết lái xe và thực hiện các bài thi thử trước khi tham gia kỳ thi thực tế Ứng dụng sử dụng bộ câu hỏi thi lý thuyết lái xe do Bộ Giao thông Vận tải ban hành, bao gồm các câu hỏi về lý thuyết và biển báo giao thông.
Hiện trạng
Quá trình khảo sát hoạt động của Sở Giao thông Công chánh Thành phố Hồ Chí Minh và các trung tâm dạy và thi lấy giấy phép lái xe, như trường Dạy Lái Xe Vinhempich, trường Dạy Lái Xe Cửu Long và trường Dạy Lái Xe Sài Gòn, nhằm thu thập thông tin cần thiết cho việc phân tích và thiết kế hệ thống.
2.3.1.2 Quy trình học và luyện thi giấy phép lái xe Đề thi lấy giấy phép lái xe, người điều khiển phương tiện phải trải qua 2 phần thi (đối với xe máy) và 3 phần thi (đối với ô tô) là: thi lý thuyết trên máy, thi thực hành lái xe, thi đường trường (dành cho ô tô) Ngoài ra, đối với người điều khiển ô tô trước khi thi bắt buộc phải trải qua một khoá học lái xe tuỳ thuộc vào hạng bằng lái: 6 tháng (với hạng B1 và B2), 7 tháng (Hạng C,
Tài liệu học cho xe mô tô và ô tô tương tự nhau, chỉ khác về số lượng câu hỏi Bộ đề cho xe máy hạng A1, A2 có 200 câu, trong khi hạng A3, A4 có 500 câu, tất cả đều được trích từ bộ đề 600 câu dành cho ô tô Mỗi bộ đề bao gồm ba phần chính.
Luật giao thông đường bộ quy định các khái niệm cơ bản về giao thông, bao gồm những hành vi bị nghiêm cấm và các vi phạm quy định Bên cạnh đó, nghiệp vụ vận tải, văn hóa đạo đức trong giao thông, kỹ thuật lái xe an toàn và kiến thức về cấu tạo cũng như sửa chữa xe ô tô là những yếu tố quan trọng cần nắm vững để đảm bảo an toàn và hiệu quả trong việc tham gia giao thông.
Bài tập sa hình (những mẫu tình huống giao thông căn bản kèm hình minh hoạ)
Các hạng bằng lái xe tại Việt Nam bao gồm: A1 cho xe mô tô 2 bánh có dung tích xi lanh từ 50 đến dưới 175 cm³; A2 dành cho xe mô tô 2 bánh có dung tích từ 175 cm³ trở lên và các loại xe thuộc hạng A1; A3 cho xe lam, mô tô 3 bánh, xích lô máy và các xe quy định cho hạng A1, A2; A4 cho máy kéo nhỏ có trọng tải đến 1000 Kg Đối với ô tô, hạng B1 là ô tô chở người đến 9 chỗ ngồi và ô tô tải dưới 3500 Kg không kinh doanh vận tải; B2 cho ô tô chở người đến 9 chỗ ngồi, ô tô tải đầu kéo có 1 rơ moóc dưới 3500 Kg phục vụ kinh doanh vận tải và các xe quy định cho hạng B1; hạng C dành cho ô tô tải và đầu kéo có 1 rơ moóc từ 3500 Kg trở lên cùng các loại xe thuộc hạng B1, B2.
Giấy phép lái xe hạng 9 bao gồm ô tô chở người từ 10 đến 30 chỗ ngồi, cùng với các loại xe thuộc hạng B1, B2, C Hạng E dành cho ô tô chở người trên 30 chỗ ngồi và các loại xe quy định cho giấy phép B1, B2, C, D Hạng F áp dụng cho ô tô tải hạng B2, C, D, E có khả năng kéo rơ moóc nặng trên 750Kg.
Tất cả các hạng giấy phép lái xe đều cho phép điều khiển xe máy, mô tô có dung tích xi lanh dưới 50cm3 Các hạng bằng này được chia thành hai loại phương tiện chính: mô tô (A1, A2, A3, A4) và ô tô (B1, B2, C, D, E, F) Trong đó, hạng A3 và A4 bao gồm xe lam, mô tô 3 bánh, xích lô máy và xe kéo nhỏ có trọng tải dưới 1000 kg Đề thi cho mỗi hạng bằng có sự khác biệt về thời gian, số lượng câu hỏi và số câu đạt, được liệt kê chi tiết trong bảng dưới đây.
Hạng thi Số câu hỏi Thời gian làm bài
Số câu đúng tối thiểu Bộ đề A1
Bảng 2-1: Các hạng thi GPLX
Cơ cấu đề được quy định cho mỗi hạng bằng lái như sau:
Khái niệm, quy tắc giao thông: 11 câu
Biển báo và ý nghĩa biển báo: 7 câu
Giải các thế sa hình: 7 câu
Khái niệm, quy tắc giao thông: 10 câu
Biển báo và ý nghĩa biển báo: 10 câu
Giải các thế sa hình: 10 câu
Nghiệp vụ vận tải: 2 câu
Văn hoá, đạo đức: 2 câu
Kỹ thuật lái xe và cấu tạo sửa chữa: 2 câu
Chương này đã cung cấp cái nhìn tổng quan về tình hình tổ chức học và thi cấp giấy phép lái xe tại Thành phố Thông tin thu thập được là cơ sở vững chắc để chuyển sang chương tiếp theo, nơi chúng ta sẽ tiến hành phân tích và thiết kế hệ thống.
2.3.2 Khảo sát về nghiệp vụ
Phân tích thiết kế hệ thống của Ứng dụng
Đảm bảo chạy được trên đa nền tảng Mobile sử dụng hệ điều hành Android
Hệ thống câu hỏi đầy đủ, đa dạng phù hợp với yêu cầu sát hạch bằng lái xe của cơ quan chức năng
Hệ thống chạy ổn định, giao diện thân thiện, dễ sử dụng, phù hợp với nhiều đối tượng trong xã hội
Dung lượng ứng dụng nhỏ để thuận tiện cho việc download và cài đặt trên Mobile sử dụng hệ điều hành Android
Cập nhật các tin tức cần thiết về luật giao thông và các kỳ sát hạch trên trang chủ
Xác định yêu cầu hệ thống
Ứng dụng gồm 6 chức năng lớn:
Hình 2-1: Chức năng hệ thống
Ôn thi hiệu quả với bộ câu hỏi được thiết kế riêng theo loại phương tiện mà người dùng lựa chọn, giúp hỗ trợ quá trình ôn tập và chuẩn bị cho kỳ thi.
Thi thử ngẫu nhiên: hỗ trợ người dùng thi thử với cấu trúc, quy tắc thi tương tự như thị thực tế
Biển báo: hỗ trợ việc tra cứu biển báo và vạch kẻ đường giúp người dùng hiểu thêm về ý nghĩa, loại biển báo,
Sa hình: hỗ trợ người dùng hiểu về lý thuyết đi sa hình để áp dụng vào thi thực tế
Lý thuyết lái xe bao gồm tóm tắt các quy định và khái niệm cơ bản về giao thông, quy tắc lái xe an toàn, nghiệp vụ lái xe, cùng với văn hóa đạo đức trên đường Ngoài ra, nó cũng đề cập đến kỹ thuật lái xe, cấu tạo của phương tiện và các phương pháp sửa chữa cần thiết để đảm bảo an toàn khi tham gia giao thông.
Mẹo ghi nhớ đóng vai trò quan trọng trong việc hỗ trợ người thi, giúp họ nắm bắt những bí quyết dễ nhớ để tránh sai sót trong kỳ thi lý thuyết Những mẹo này không chỉ giúp người thi tự tin hơn mà còn nâng cao khả năng làm bài hiệu quả.
MÔ TẢ VÀ PHÂN TÍCH HỆ THỐNG
Mô tả tổng thể
Hình 3-1: Mô tả hệ thống
Mô tả chức năng
Có 10 loại GPLX A1, A2, A3, A4, B1, B2, C, D, E, F để lựa chọn phù hợp cho bộ đề cần luyện thi
Bộ đề thi thử sẽ phụ thuộc vào loại GPLX mà ra bộ đề tương ứng cho người dùng thi thử với thời gian theo quy định
Nội dung sa hình sẽ được bao quát hết tất cả nội dung, hướng dẫn và hình ảnh để áp dụng vào thực tế
Tra cứu biển báo Nội dung biển báo sẽ có tất cả các loại biển báo, giải thích và hình ảnh
Tra cứu mẹo ghi nhớ, pháp luật
Nội dung mẹo thi và pháp luật được chắt lọc giúp cho người thi dễ học dễ hiểu áp dụng tự tin vào bài thi
Có tất cả câu hỏi trong bộ đề phụ thuộc vào loại GPLX, có đáp án và giải thích chi tiết Ôn tập theo chủ đề
Có tất cả là 8 chủ đề và số lượng, nội dung câu hỏi được thể hiện qua từng chủ đề
Bảng 3-1: Mô tả các chức năng
Phân tích
Mục tiêu của dự án là phát triển một ứng dụng hỗ trợ người dùng ôn tập lý thuyết lái xe và thực hiện các bài thi thử nghiệm trước khi đăng ký thi chính thức.
Bộ đề câu hỏi thi lý thuyết lái xe do bộ giao thông vận tải ban hành bao gồm các câu hỏi lý thuyết, biển báo và sa hình, được lựa chọn ngẫu nhiên dựa trên hạng bằng lái mà người dùng chọn Đề thi được thiết kế đảm bảo tuân thủ đúng cấu trúc theo quy định của bộ, phù hợp với từng hạng bằng lái.
Yêu cầu chức năng
Tên usecase Chọn loại GPLX
Mô tả tóm tắt Chọn 1 trong 10 loại GPLX mà người thi muốn ôn luyện và thi thử
Người dùng Người có nhu cầu luyện thi
Các bước thực hiện 1 Người dùng mở ứng dụng vào trang chủ
2 Người dùng chọn vào button Loại GPLX bên góc phải trên Điều kiện thoát Người dùng nhấn nút back trên thanh toolbar
Yêu cầu đặc biệt Vào được trang chủ
Yêu cầu trước khi thực hiện
Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng vào được trang chủ
2 Người dùng chọn button Loại GPLX bên góc phải trên
3 Hệ thống hiển thị 10 loại GPLX
4 Người dùng chọn 1 trong 10 loại GPLX mà mình muốn
5 Hệ thống xác thực người dùng thực hiện các chức năng
Luồng sự kiện ngoại lệ Không có
Bảng 3-2: UseCase chọn loại GPLX
Mô tả tóm tắt Đề thi thử ngẫu nhiên các câu hỏi quy định trong đề thi Người dùng Người có nhu cầu luyện thi
Các bước thực hiện 1 Người dùng mở ứng dụng vào trang chủ
2 Người dùng chọn vào button Loại GPLX bên góc phải trên để chọn hạng mình muốn ôn thi
3 Người dùng nhấn vào button icon Thi thử
4 Chọn đề thi ngẫu nhiên Điều kiện thoát Người dùng nhấn dấu X quay lại
Yêu cầu đặc biệt Phải chọn loại GPLX
Yêu cầu trước khi thực hiện
Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng vào được trang chủ
2 Người dùng chọn button Loại GPLX bên góc phải trên và chọn loại GPLX
3 Người dùng nhấn vào button icon Thi thử và chọn đề thi ngẫu nhiên
Luồng sự kiện ngoại lệ Không có
Tên usecase Ôn tập sa hình
Mô tả tóm tắt Bộ đề ôn tập sa hình có lý thuyết, hướng dẫn và hình ảnh theo quy định
Người dùng Người có nhu cầu luyện thi
Các bước thực hiện 1 Người dùng mở ứng dụng vào trang chủ
2 Người dùng chọn vào button Loại GPLX bên góc phải trên để chọn hạng mình muốn ôn thi
3 Người dùng nhấn vào button icon Sa hình Điều kiện thoát Người dùng nhấn dấu X quay lại
Yêu cầu đặc biệt Phải chọn loại GPLX
Yêu cầu trước khi thực hiện
Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng vào được trang chủ
2 Người dùng chọn button Loại GPLX bên góc phải trên và chọn loại GPLX
3 Người dùng nhấn vào button icon Sa hình
Luồng sự kiện ngoại lệ Không có
Bảng 3-4: UseCase ôn tập sa hình
Tên usecase Ôn tập biển báo
Mô tả tóm tắt Bộ đề ôn tập biển báo có lý thuyết, hướng dẫn, giải thích và hình ảnh theo quy định đề thi
Người dùng Người có nhu cầu luyện thi
Các bước thực hiện 1 Người dùng mở ứng dụng vào trang chủ
2 Người dùng chọn vào button Loại GPLX bên góc phải trên để chọn hạng mình muốn ôn thi
3 Người dùng nhấn vào button icon Biển báo Điều kiện thoát Người dùng nhấn dấu X quay lại
Yêu cầu đặc biệt Phải chọn loại GPLX
Yêu cầu trước khi thực hiện
Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng vào được trang chủ
2 Người dùng chọn button Loại GPLX bên góc phải trên và chọn loại GPLX
3 Người dùng nhấn vào button icon biển báo
4 Chọn loại biển báo muốn ôn thi
5 Nhấn vào biển báo để biến thêm thông tin và giải thích
Luồng sự kiện ngoại lệ Không có
Bảng 3-5: UseCase ôn tập biển báo
Tên usecase Mẹo ghi nhớ
Mô tả tóm tắt Tất cả các mẹo trong đề thi được chắt lọc lại dễ nhớ Người dùng Người có nhu cầu luyện thi
Các bước thực hiện 1 Người dùng mở ứng dụng vào trang chủ
2 Người dùng chọn vào button Loại GPLX bên góc phải trên để chọn hạng mình muốn ôn thi
3 Người dùng nhấn vào button icon Mẹo Điều kiện thoát Người dùng nhấn dấu X quay lại
Yêu cầu đặc biệt Phải chọn loại GPLX
Yêu cầu trước khi thực hiện
Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng vào được trang chủ
2 Người dùng chọn button Loại GPLX bên góc phải trên và chọn loại GPLX
3 Người dùng nhấn vào button icon Mẹo
Luồng sự kiện ngoại lệ Không có
Bảng 3-6: UseCase mẹo ghi nhớ
Tên usecase Ôn tập tổng hợp
Mô tả tóm tắt Bộ đề ôn tập tất cả câu hỏi theo hạng GPLX theo quy định đề thi
Người dùng Người có nhu cầu luyện thi
Các bước thực hiện 1 Người dùng mở ứng dụng vào trang chủ
2 Người dùng chọn vào button Loại GPLX bên góc phải trên để chọn hạng mình muốn ôn thi
3 Người dùng nhấn vào mục ôn tập tất cả câu hỏi Điều kiện thoát Người dùng nhấn dấu X quay lại
Yêu cầu đặc biệt Phải chọn loại GPLX
Yêu cầu trước khi thực hiện
Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng vào được trang chủ
2 Người dùng chọn button Loại GPLX bên góc phải trên và chọn loại GPLX
3 Người dùng nhấn vào mục ôn tập tất cả câu hỏi
4 Chọn câu hỏi muốn xem
5 Có câu trả lời và giải thích
Luồng sự kiện ngoại lệ Không có
Bảng 3-7: UseCase ôn tập tổng hợp
3.4.7 Ôn tập theo chủ đề
Tên usecase Ôn tập theo chủ đề
Mô tả tóm tắt Có tất cả 8 chủ đề ôn luyện trong đề thi và số lượng nội dung cho mỗi chủ đề
Người dùng Người có nhu cầu luyện thi
Các bước thực hiện 1 Người dùng mở ứng dụng vào trang chủ
2 Người dùng chọn vào button Loại GPLX bên góc phải trên để chọn hạng mình muốn ôn thi
3 Người dùng nhấn vào các mục chủ đề mà mình muốn ôn luyện Điều kiện thoát Người dùng nhấn dấu X quay lại
Yêu cầu đặc biệt Phải chọn loại GPLX
Yêu cầu trước khi thực hiện
Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng vào được trang chủ
2 Người dùng chọn button Loại GPLX bên góc phải trên và chọn loại GPLX
3 Người dùng nhấn vào các mục chủ đề mà mình muốn ôn luyện
4 Chọn câu hỏi muốn xem
5 Có câu trả lời và giải thích
Luồng sự kiện ngoại lệ Không có
Bảng 3-8: UseCase ôn tập theo chủ đề
Biểu đồ UseCase
Người dùng có thể thực hiện 7 chức năng chính, bao gồm: chọn loại giấy phép lái xe (GPLX), thi thử, ôn tập theo chủ đề, tra cứu mẹo và pháp luật, tra cứu sa hình, tra cứu biển báo, và ôn tập tất cả câu hỏi Mỗi chức năng chính đều cung cấp các tác vụ khác nhau để đáp ứng đúng nhu cầu của người dùng.
Biểu đồ hoạt động
Sau khi truy cập vào ứng dụng, người dùng cần chọn loại Giấy phép lái xe (GPLX) để có thể thực hiện các chức năng tiếp theo Việc lựa chọn loại GPLX là bước bắt buộc.
Hình 3-3: Biểu đồ hoạt động Chọn loại GPLX
Khi truy cập vào màn hình chính của ứng dụng, người dùng cần chọn loại Giấy phép lái xe (GPLX) để tiếp tục thực hiện các chức năng khác Sau đó, màn hình lựa chọn hạng sẽ xuất hiện, cho phép người dùng chọn hạng thi mà họ muốn luyện tập.
Hình 3-4: Biểu đồ hoạt động thi thử
Sau khi chọn loại giấy phép lái xe (GPLX), người dùng có thể thi thử bằng cách chọn tùy chọn thi thử trên màn hình chính Hệ thống sẽ hiển thị đề thi thử ngẫu nhiên, cho phép người dùng làm quen với các câu hỏi thi thử.
Hình 3-5: Biểu đồ hoạt động tra cứu sa hình
Trên màn hình trang chủ, người dùng có thể dễ dàng truy cập vào các chức năng chính, bao gồm cả việc ôn luyện kiến thức về sa hình Khi chọn chức năng sa hình, hệ thống sẽ hiển thị tất cả các lý thuyết liên quan, giúp người dùng nắm vững kiến thức cần thiết.
Hình 3-6: Biểu đồ hoạt động tra cứu biển báo
Người dùng có thể ôn luyện và tra cứu chi tiết tất cả các biển báo bằng cách chọn chức năng biển báo trên màn hình tra cứu Hệ thống sẽ hiển thị tất cả các chủ đề liên quan đến biển báo để người dùng dễ dàng tham khảo.
Hình 3-7: Biểu đồ hoạt động tra cứu mẹo và pháp luật
Người dùng có thể dễ dàng tra cứu mẹo ghi nhớ và pháp luật để hỗ trợ trong quá trình thi bằng cách chọn mục "Mẹo và Pháp luật" Hệ thống sẽ hiển thị màn hình ôn tập chứa tất cả các mẹo và thông tin pháp luật cần thiết cho người dùng.
Hình 3-8: Biểu đồ hoạt động ôn tập tất cả các câu hỏi
Khi người dùng muốn ôn tập toàn bộ câu hỏi trong bộ đề hạng GPLX, họ chỉ cần chọn tùy chọn ôn tập tất cả câu hỏi trên màn hình trang chủ Hệ thống sẽ hiển thị một màn hình chứa tất cả câu hỏi thuộc bộ đề mà người dùng đã chọn.
Hình 3-9: Biểu đồ hoạt động ôn tập theo chủ đề
Người dùng có thể ôn luyện theo từng chủ đề riêng biệt bằng cách chọn chủ đề mong muốn trên màn hình trang chủ Hệ thống sẽ hiển thị tất cả các câu hỏi liên quan đến chủ đề đó để người dùng tiện ôn luyện.
Biểu đồ trình tự
Người dùng có thể truy cập ứng dụng luyện thi lý thuyết GPLX từ màn hình trang chủ để thực hiện các tác vụ và ôn luyện hiệu quả.
Hình 3-10: Biểu đồ trình tự chọn loại GPLX
Người dùng cần chọn loại GPLX để hệ thống gửi yêu cầu xác nhận lên cơ sở dữ liệu, từ đó cung cấp bộ câu hỏi phù hợp với hạng thi.
Hình 3-11: Biểu đồ trình tự thi thử
Người dùng có thể bắt đầu thực hiện các tác vụ mong muốn, như thi thử Khi chọn thi thử, giao diện sẽ hiển thị màn hình thi thử Tiếp theo, người dùng chọn đề thi ngẫu nhiên, và giao diện sẽ xác nhận yêu cầu lên database để xuất ra ngẫu nhiên đề thi, từ đó đưa câu hỏi về màn hình để người dùng tương tác.
Hình 3-12: Biểu đồ trình tự ôn thi sa hình
Từ màn hình trang chủ, người dùng có thể chọn mục sa hình để gửi yêu cầu tra cứu lên cơ sở dữ liệu, từ đó tài liệu sa hình sẽ được hiển thị trên màn hình cho người dùng ôn luyện.
Hình 3-13: Biểu đồ trình tự ôn thi biển báo
Từ màn hình chính, người dùng có thể tra cứu tất cả các biển báo bằng cách chọn mục biển báo trên giao diện Hệ thống sẽ gửi yêu cầu đến cơ sở dữ liệu để xuất tài liệu theo chủ đề Sau đó, người dùng chọn loại biển báo cần ôn luyện, và giao diện sẽ hiển thị tài liệu tương ứng cho việc ôn luyện.
Hình 3-14: Biểu đồ trình tự ôn thi mẹo
Từ màn hình chính, người dùng có thể chọn mẹo thi lý thuyết để ôn luyện Hệ thống sẽ gửi yêu cầu đến cơ sở dữ liệu và xuất tài liệu mẹo ra màn hình tài liệu mẹo, giúp người dùng dễ dàng ôn tập.
Hình 3-15: Biểu đồ trình tự ôn thi tất cả câu hỏi
Trên màn hình trang chủ, người dùng có thể ôn tập tất cả câu hỏi trong bộ đề GPLX bằng cách chọn chức năng ôn tập Hệ thống sẽ gửi yêu cầu xác nhận lên database để xuất tài liệu chứa toàn bộ câu hỏi, giúp người dùng dễ dàng ôn luyện.
Hình 3-16: Biểu đồ trình tự ôn thi thi chủ đề
Trên màn hình trang chủ, người dùng có thể ôn tập tất cả câu hỏi theo chủ đề trong bộ câu hỏi GPLX bằng cách chọn chủ đề mong muốn Hệ thống sẽ gửi yêu cầu lên database để xuất ra tài liệu chứa tất cả câu hỏi liên quan, giúp người dùng thuận tiện trong việc ôn luyện.
THIẾT KẾ DỮ LIỆU VÀ THIẾT KẾ GIAO DIỆN
Thiết kế dữ liệu
Dữ liệu lưu trữ bao gồm các câu hỏi, biển báo, sa hình, mẹo ghi nhớ, quy định pháp luật, phần tóm tắt lý thuyết và đề thi thử Tất cả dữ liệu này cần phải đáp ứng tối thiểu các yêu cầu đã được đặt ra.
Xác định câu hỏi dùng cho phương tiện, hạng bằng lái nào
Xác định nội dung, yêu cầu của câu hỏi
Nội dung các đáp án và đáp án đúng dành cho từng câu hỏi
Hình ảnh đối với các câu hỏi về biển báo, sa hình
Xác định loại biển báo
Xác định tên, ý nghĩa của biển báo
Hình ảnh mình hoạ cho biển báo
Xác định loại sa hình theo hạng GPLX
Hiểu rõ quy trình đi sa hình
Hình ảnh mình hoạ cho sa hình
- Đối với phần tóm tắt lý thuyết
Xác định loại lý thuyết: dành cho xe máy, ô tô, …
Xác định nội dung phần tóm tắt lý thuyết
- Đối với phần thi thử
Xác định loại lý thuyết cho hạng GPLX
Xác định nội dung ra đề ngẫu nhiên theo số lượng quy định
Sơ đồ liên kết các màn hình
Hình 4-1: Sơ đồ liên kết các màn hình
Danh sách các màn hình
- Khi người dùng chọn vào icon ứng dụng sẽ hiển thị giao diện màn hình chờ (màn hình giới thiệu của ứng dụng)
- Tại giao diện chờ, người dùng nhấn vào màn hình hoặc kéo qua phải để vào màn hình trang chủ của ứng dụng
Khi truy cập vào màn hình trang chủ, người dùng cần nhấn vào nút "Chọn loại GPLX" để lựa chọn hạng bằng lái xe mà mình muốn ôn luyện thi lý thuyết.
Người dùng có thể lựa chọn các nút chức năng của ứng dụng để đáp ứng nhu cầu cá nhân, bao gồm thi thử, tra cứu sa hình, tìm hiểu biển báo giao thông, học mẹo, tra cứu pháp luật, ôn tập tất cả câu hỏi trong bài thi và ôn tập theo từng chủ đề.
Hình 4-3: Màn hình trang chủ
Sau khi người dùng nhấn vào nút "Chọn loại GPLX", họ sẽ được chuyển đến màn hình hiển thị tất cả các loại giấy phép lái xe Tùy theo hạng giấy phép mà người dùng muốn ôn luyện, hãy chọn nút tương ứng với hạng đó.
Hình 4-4: Màn hình chọn loại GPLX
Từ màn hình chính, người dùng có thể lựa chọn ôn tập theo các chủ đề phù hợp với nhu cầu cá nhân, bao gồm câu hỏi điểm liệt, khái niệm và quy tắc, nghiệp vụ vận tải, văn hóa và đạo đức, kỹ thuật lái xe, cấu tạo và sửa chữa, cũng như biển báo và sa hình.
- Với mỗi loại câu hỏi sẽ hiển thị các câu trả lời tương ứng
- Với mỗi câu hỏi sẽ có các đáp án, người dùng lựa chọn đáp án sau đó kiểm tra xem đáp án mình chọn có đúng hay không
Hình 4-5: Màn hình ôn tập theo chủ đề
- Ở bên màn hình tra cứu có 4 button, trong đó có button Sa hình và pháp luật
- Người dùng chọn vào button sa hình hoặc pháp luật sẽ vào được màn hình có nội dung của hướng dẫn thi sa hình
Hình 4-6: Màn hình tra cứu sa hình và pháp luật
- Màn hình tra cứu có 4 button, trong đó có button Mẹo
- Người dùng chọn vào button Mẹo sẽ vào được màn hình có nội dung của hướng dẫn mẹo thi lý thuyết và pháp luật cần tìm hiểu
Hình 4-7: Màn hình tra cứu
Người dùng có thể tra cứu biển báo bằng cách nhấn vào nút tra cứu, sau đó sẽ được chuyển đến màn hình lựa chọn theo loại biển báo như cấm, nguy hiểm, hiệu lệnh, chỉ dẫn, phụ, và vạch kẻ đường Khi chọn loại biển báo cần tìm, hệ thống sẽ hiển thị danh sách các biển báo tương ứng, bao gồm tên và hình ảnh của từng biển báo.
Hình 4-8: Màn hình biển báo
Khi người dùng chọn một biển báo trên màn hình Biển báo, thông tin chi tiết sẽ được hiển thị, bao gồm số hiệu, tên biển báo, ý nghĩa, mô tả và hình ảnh của biển báo đó.
Hình 4-9: Màn hình chi tiết biển báo
- Ở màn hình Thi thử, người dùng chọn vào button Thi thử sẽ vào được màn hình có đề thi ngẫu nhiên
Hình 4-10: Màn hình thi thử
- Sau khi người dùng chọn thi đề ngẫu nhiên sẽ hiện ra màn hình bắt đầu làm bài
- Khi người dùng nhấp vào button bắt đầu làm bài thì thời gian bắt đầu tính với số lượng câu hỏi theo từng loại GPLX
- Ở màn hình bài thi có tất cả các câu hỏi theo button, người dùng có thể chọn câu hỏi mình muốn làm trước
- Với mỗi loại câu hỏi sẽ hiển thị các câu trả lời tương ứng
Mỗi câu hỏi sẽ cung cấp các đáp án để người dùng lựa chọn Đối với những câu hỏi có nhiều hơn một đáp án đúng, người dùng cần chọn đủ và chính xác mới được tính là một câu trả lời đúng.
Hình 4-11: Màn hình bài thi
Trên màn hình bài thi, ở góc trên bên trái có nút chọn câu hỏi Khi nhấp vào nút này, tất cả các câu hỏi sẽ hiển thị, cho phép người dùng lựa chọn câu hỏi mà họ muốn làm trước.
Người dùng có thể dễ dàng bỏ qua các câu hỏi mà chưa có đáp án, tiếp tục với câu hỏi tiếp theo và sau đó quay lại để hoàn thành hoặc kiểm tra lại những câu đã bỏ qua.
Hình 4-12: Màn hình chọn câu hỏi
Nếu người dùng chưa hoàn thành bài thi hoặc đã hoàn thành nhưng chưa nộp bài khi hết thời gian, hệ thống sẽ hiển thị thông báo hết giờ và yêu cầu người dùng phải nộp bài.
Hình 4-13: Màn hình hết giờ
Người dùng có thể nộp bài thi ngay khi hoàn thành, trước khi hết thời gian Sau khi nhấn nộp, màn hình sẽ hiện thông báo xác nhận với hai lựa chọn: "Nộp bài" và "Không".
Hình 4-14: Màn hình nộp bài
Sau khi hoàn thành bài thi thử, người dùng sẽ thấy một bảng liệt kê các câu hỏi trên màn hình kết quả Tại đây, họ có thể chọn bất kỳ câu hỏi nào trong bài thi để xem đáp án mà mình đã chọn cùng với đáp án đúng.
Hình 4-15: Màn hình kết quả thi
Chương 5 THIẾT KẾ KIẾN TRÚC
The system architecture overview of the team includes the MVC model, utilizes JavaScript as the programming language, and employs the React Native framework Additionally, the team communicates between the Client and Server using the HTTP protocol.
Frontend trên di động sẽ tương tác với cơ sở dữ liệu cục bộ trên điện thoại để lưu trữ thông tin người dùng và kết nối với Backend qua Http để nhận dữ liệu.
On the backend, it receives redirects from the frontend and makes an HTTP request to the webhook to execute a query that retrieves question data from the MongoDB Cluster cloud database, returning the processed results back to the frontend.
Chương 6 QUY TRÌNH PHÁT TRIỂN
6.1 Quy trình phát triển của nhóm sử dụng
Quy trình phát triển phần mềm nhóm chúng em đang sử dụng và hướng đến ở đồ án này là thác nước
QUY TRÌNH PHÁT TRIỂN
Quy trình phát triển của nhóm sử dụng
Quy trình phát triển phần mềm nhóm chúng em đang sử dụng và hướng đến ở đồ án này là thác nước
Trước khi tìm hiểu các quy trình phát triển phần mềm, nhóm chúng em đã áp dụng mô hình V-model Tuy nhiên, nhận thấy sự bất cập trong việc sắp xếp thời gian và nguồn nhân lực hạn chế, chúng em đã quyết định chuyển sang mô hình thác nước để cải thiện hiệu quả công việc.
Các cải tiến của nhóm
Chúng em đã cải tiến đồ án của mình bằng cách kết hợp các tính năng và yêu cầu hợp lý từ các quy trình khác, bên cạnh việc sử dụng thác nước Qua quá trình tìm hiểu, chúng em nhận thấy những lợi ích cũng như hạn chế của thác nước, từ đó đưa ra quyết định phù hợp để tối ưu hóa dự án.
Chúng em tổ chức cuộc họp 30 phút vào đầu tuần để giải quyết mọi vấn đề một cách hiệu quả, dựa trên yêu cầu của Agile Scrum Để giảm thiểu lỗi trong mã nguồn, chúng em áp dụng phương pháp Pair Programming và Refactoring, giúp tối ưu hóa code và giảm thời gian sửa lỗi Mặc dù phát triển theo quy trình thác nước, nhóm vẫn sử dụng Pair Programming và Refactoring trong giai đoạn này Sau khi hoàn thành sản phẩm, nhóm sẽ thực hiện refactoring để cải thiện tính dễ đọc và bảo trì của code Cuối cùng, nhóm sẽ chia thành hai nhóm: một nhóm tiếp tục phát triển module tiếp theo và nhóm còn lại sẽ tiến hành kiểm thử sản phẩm mới phát triển.
TỔNG KẾT
Kết luận
Ứng dụng luyện thi lý thuyết lái xe giúp người dùng chuẩn bị cho kỳ thi thực tế một cách hiệu quả và tiện lợi, chỉ cần sử dụng điện thoại di động Nó không chỉ tiết kiệm thời gian đến các trung tâm luyện thi mà còn nâng cao kiến thức về luật giao thông, góp phần giảm thiểu tai nạn Ứng dụng tóm tắt các phần lý thuyết quan trọng và phân loại chúng một cách rõ ràng Tuy nhiên, do thời gian phát triển hạn chế và lượng kiến thức còn ít, ứng dụng vẫn còn nhiều hạn chế về nội dung và chức năng.
Chức năng của ứng dụng hiện tại chưa được tối ưu do chưa đầu tư kinh phí cho server và cloud database, dẫn đến tốc độ tương tác chậm và thời gian tải dữ liệu lâu Điều này làm hạn chế hiệu suất tối đa từ React Native, ảnh hưởng đến trải nghiệm người dùng (UX).
Hiện tại, ứng dụng chỉ hỗ trợ loại bằng lái A1, với nội dung tra cứu và giải thích còn hạn chế, chưa đáp ứng đầy đủ nhu cầu của người dùng.
Hướng phát triển đề tài
Ứng dụng này sở hữu tiềm năng lớn để trở thành một hệ thống luyện thi toàn diện cho tất cả các loại bằng lái, bao gồm đầy đủ các bước từ đầu đến cuối.
Nhằm nâng cao trải nghiệm người dùng, hệ thống sẽ chú trọng hoàn thiện nội dung và cung cấp các bài thi thử cho các loại bằng lái khác, đồng thời tối ưu hóa UX và hiệu suất ứng dụng, cùng với việc bổ sung thông tin tra cứu hữu ích.
Ứng dụng hỗ trợ tải dữ liệu offline, giúp người dùng ôn tập một cách thuận tiện mà không cần kết nối internet Ngoài ra, ứng dụng còn có chức năng đọc nội dung câu hỏi và được phát triển mở rộng trên nền tảng website.
Môi trường phát triển và môi trường triển khai
7.3.1 Môi trường phát triển o Hệ điều hành: Microsoft Windows 10 o Hệ quản trị cơ sở dữ liệu: MongoDB, Sqlite o Công nghệ: Nodejs, React native o Công cụ xây dựng ứng dụng: Visual Studio Code
7.3.2 Môi trường triển khai o Nền tảng: android
Kế hoạch thực hiện
Cột mốc Công việc Hoàn thành Sản phẩm
Thống nhất x Đề tài: Ứng dụng luyện thi lý thuyết GPLX
Thống nhất mô hình phát triển phần mềm x Mô hình thác nước
Xác định các chức năng của hệ thống x Danh sách chức năng công việc mà hệ thống thực hiện
Xác định quy trình thực hiện các nghiệp vụ x Nắm được quy trình thực hiện các nghiệp vụ
Phân tích, mô hình hóa yêu cầu
Phân tích mô hình chức năng x Các bảng mô tả chức năng
Phân tích mô hình tổng thể x Mô hình tổng thể hệ thống
Phân tích mô hình người dùng x Bảng mô hình người dùng
Lập thuật toán sơ đồ logic x Thuật toán cho từng yêu cầu nghiệp vụ
Lập sơ đồ logic hoàn chỉnh x Sơ đồ logic hoàn chỉnh
Lập danh sách các bảng dữ liệu trong sơ đồ x Danh sách các bảng dữ liệu và mô tả chi tiết từng bảng
Lập danh sách các màn hình x Bảng danh sách các màn hình
Vẽ sơ đồ liên kết giữa các màn hình x Sơ đồ liên kết giữa các màn hình
Lập mô tả các màn hình x
Bản vẽ giao diện các màn hình
Bảng mô tả các đối tượng trên màn hình
Danh sách biến cố và xử lý tương ứng trên màn hình
Xác định kiến trúc hệ thống x Làm theo mô hình 3 lớp
Mô tả các thành phần trong hệ thống x Bảng mô tả các class của từng lớp
Viết chương trình, cài đặt từng chức năng cho sản phẩm x
Chương trình hoàn chỉnh với đầy đủ các chức năng đã được đưa ra
Tiến hành thử nghiệm các chức năng phần mềm x
Hoàn thành báo cáo cuối kì
File báo cáo word x File báo cáo word
Bảng 7-1: Kế hoạch thực hiện
Tạo được một sản phẩm hoàn chỉnh
Áp dụng được các kiến thức về quy trình phát triển một phần mềm hướng đối tượng một cách chuyên nghiệp
Tìm hiểu thêm về các công nghệ kiến trúc kĩ thuật mới
Phân công công việc hợp lý
Bảng đánh giá chi tiết phần mềm
Vì chức năng này không thể thiếu, không chọn GPLX sẽ không tiến hành các chức năng tiếp theo và chỉ mới hoàn thành hạng A1
2 Thi thử 85% Một số nội dung giải thích còn thiếu trong việc nhóm tìm kiếm tài liệu
3 Ôn thi biển báo 90% Chưa thêm vào phần nếu vi phạm biển báo trên sẽ bị phạt như thế nào
4 Ôn thi sa hình 90% Hoàn thành được lý thuyết sa hình
5 Ôn thi mẹo 90% Tất tần tật meo thi đã dược đút kết một cách ngắn gọn nhất
6 Ôn tập tất cả các câu hỏi 90% Hoàn thành tổng hợp tất cả các câu hỏi cho người ôn thi
7 Ôn tập theo chủ đề 90% Các câu hỏi chủ đề còn một số thiếu xót trong việc tìm kiếm tài liệu
Bảng 7-2: Kết quả đạt được
Link github Frontend: https://github.com/tranphuongduy20/Thi-GPLX Link github Backend: https://github.com/ShShee/ThiGPLX-Backend