1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng luyện thi giấy phép lái xe b1, b2

47 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Luyện Thi Giấy Phép Lái Xe B1, B2
Tác giả Nguyễn Phạm Duy Bằng, Võ Thị Thủy Tiên
Người hướng dẫn ThS. Huỳnh Hồ Thị Mộng Trinh
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ sư ngành kỹ thuật phần mềm
Thể loại Đồ án
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 47
Dung lượng 1,48 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (10)
    • 1.1. Đặt vấn đề (10)
    • 1.2. Các ứng dụng tương tự (10)
      • 1.2.1. Ứng dụng Ôn thi GPLX (600 câu hỏi) (11)
      • 1.2.2. Ứng dụng Lấy bằng GPLX (11)
      • 1.2.3. Tóm lược (12)
    • 1.3. Mục tiêu (12)
    • 1.4. Phạm vi (13)
  • Chương 2. TỔNG QUAN CÔNG NGHỆ (14)
    • 2.1. Flutter (14)
    • 2.2. SQLite (14)
    • 2.3. NodeJS (16)
    • 2.4. ExpressJS (16)
    • 2.5. SocketIO (17)
  • Chương 3. PHÂN TÍCH THIẾT KẾ ỨNG DỤNG (17)
    • 3.1. Phân tích (17)
      • 3.1.1. Danh sách yêu cầu hệ thống (17)
      • 3.1.2. Đặc tả Usecase (19)
    • 3.2. Thiết kế (25)
      • 3.2.1. Thiết kế cơ sở dữ liệu (25)
      • 3.2.2. Thiết kế giao diện (32)
    • 3.3. Thiết kế kiến trúc hệ thống (46)
  • Chương 4. KẾT LUẬN (46)
    • 4.1. Kết quả đạt được (46)
    • 4.2. Thuận lợi, khó khăn (47)
      • 4.2.1. Thuận lợi (47)
      • 4.2.2. Khó khăn thách thức (47)
      • 4.2.3. Hướng phát triển (47)

Nội dung

TỔNG QUAN

Đặt vấn đề

Trong thời đại 4.0, công nghệ thông tin đã được ứng dụng rộng rãi trong mọi lĩnh vực của đời sống xã hội, giúp nâng cao hiệu quả công việc, tiết kiệm thời gian và chi phí, đồng thời tăng cường tính kết nối Vì vậy, việc số hóa và ứng dụng công nghệ thông tin đã trở thành mục tiêu hàng đầu mà nhiều tổ chức và cá nhân hướng tới.

Trong những năm gần đây, ô tô và siêu xe đã trở nên phổ biến tại Việt Nam, với doanh số bán đạt 150.000 xe, tăng 36% so với năm trước và gần kỷ lục 170.000 xe vào năm 2009 Sự phát triển này phản ánh nhu cầu đi lại ngày càng cao của người dân khi đời sống cải thiện Ngày nay, nhiều gia đình có thể sở hữu ô tô, điều này yêu cầu kỹ năng lái xe phải được đào tạo chuyên nghiệp Để tự do di chuyển, việc sở hữu bằng lái xe ô tô là điều cần thiết.

Đại dịch Covid-19 đã gây ra gián đoạn nghiêm trọng cho nhiều lĩnh vực, bao gồm cả đào tạo và sát hạch giấy phép lái xe Việc áp dụng giãn cách xã hội và tình hình dịch bệnh không thể kiểm soát đã khiến việc học lý thuyết tại trung tâm trở nên bất khả thi Nhiều người có nhu cầu sát hạch lo ngại về sức khỏe và tác động đến công tác phòng chống dịch khi phải đến nơi đông người.

Dựa trên nhu cầu thực tế và dữ liệu thu thập được, chúng tôi đã quyết định phát triển ứng dụng luyện thi sát hạch giấy phép lái xe B1, B2 Ứng dụng này nhằm hỗ trợ người dự thi đạt kết quả cao, cung cấp công cụ luyện thi hiệu quả và thú vị, đồng thời giảm bớt áp lực trong quá trình ôn luyện.

Các ứng dụng tương tự

Hiện nay, thị trường cả trong nước và quốc tế đang xuất hiện nhiều ứng dụng hỗ trợ luyện thi giấy phép lái xe, mang đến trải nghiệm tốt hơn cho người dùng.

3 việc ôn thi lý thuyết cũng như thi thử dễ dàng Trong đó ta có thể kể đến như: Ôn thi GPLX (600 câu hỏi),

1.2.1 Ứng dụng Ôn thi GPLX (600 câu hỏi) Ứng dụng Ôn thi GPLX (600 câu hỏi) là một trong những ứng dụng phổ biến trong việc luyện thi bằng lái xe Với Ôn thi GPLX (600 câu hỏi), người dùng có thể học lý thuyết thông qua bộ câu hỏi theo chương trình mới cập nhật, có giải thích đáp án Bên cạnh đó người dùng còn có thể học các biển báo đường bộ và ý nghĩa của chúng

Ứng dụng Ôn thi GPLX (600 câu) không chỉ cung cấp các câu hỏi ôn tập mà còn bao gồm hướng dẫn mẹo thi và các câu hỏi thường sai, giúp người dùng học tập và ghi nhớ hiệu quả Ngoài ra, người dùng còn có thể tìm kiếm thông tin về luật giao thông đường bộ cho các loại xe khác nhau.

1.2.2 Ứng dụng Lấy bằng GPLX Ứng dụng Lấy bằng GPLX gồm đầy đủ 600 câu hỏi dùng cho sát hạch, cấp giấy phép lái xe cơ giới đường bộ giúp người dùng chuẩn bị thi bằng lái xe cơ giới một cách nhanh chóng và hiệu quả nhất Với ứng dụng lấy bằng GPLX, người dùng có thể trải nghiệm bộ đề thi ôn luyện phù hợp với từng loại bằng, hoặc làm bộ đề ngẫu nhiên

Ứng dụng này cung cấp danh sách đầy đủ các loại biển báo, kèm theo mô tả chi tiết và hướng dẫn cụ thể cho bài thi sa hình.

Hình 1.2 Ứng dụng Lấy bằng GPLX

1.2.3 Tóm lược Ôn thi GPLX(600 câu

Lấy bằng GPLX Ứng dụng đề xuất Ôn thi theo bộ đề mới nhất ✔ ✔ ✔

Mẹo thi và câu hay sai

✔ ✘ ✔ Ôn tập nhanh ✘ ✘ ✔ Đồng bộ hóa theo tài khoản

Mục tiêu

Từ bảng so sánh các chức năng ở trên nhóm em đưa ra đề xuất xây dựng ứng dụng luyện thi giấy phép lái xe B1, B2 với các chức năng như:

- Thi sát hạch: Thi thử sát hạch theo cấu trúc chuẩn đề mẫu được tạo sẵn hoặc tạo ngẫu nhiên theo cấu trúc chuẩn của đề thi thật

- Ôn tập lý thuyết: Ôn tập toàn bộ 600 câu hỏi hoặc ôn thi theo từng loại câu hỏi

- Biển báo: Học về hình dạng và ý nghĩa của các biển báo đường bộ

- Câu hay sai: Dựa vào kết quả thi để đưa ra các câu hỏi người dùng hay sai và số lần sai

- Mẹo thi: Đưa ra mẹo thi giúp người dùng cải thiện kết quả thi

- Tra cứu luật: Tra cứu luật giao thông mới nhất của ô tô

- Ôn tập nhanh: Tự động random (ưu tiên câu hay sai) 5 câu (trong nhóm câu cụ thể) để làm nhanh

- Đồng bộ lịch sử làm bài theo tài khoản giữa các thiết bị.

Phạm vi

Ứng dụng luyện thi giấy phép lái xe B1, B2 được phát triển dành riêng cho hệ điều hành Android, phục vụ nhu cầu của những người chuẩn bị thi bằng lái Ứng dụng này cung cấp ngân hàng câu hỏi và đề thi được cập nhật chính thức từ Bộ Giao thông Vận tải, đảm bảo tính chính xác và hiệu quả trong việc ôn luyện.

TỔNG QUAN CÔNG NGHỆ

Flutter

Google đã phát triển hai bộ SDK cho ứng dụng di động: Android và Flutter Flutter ra mắt phiên bản beta 1, cho phép tạo ra các ứng dụng chạy trên cả iOS và Android, mở rộng khả năng phát triển ứng dụng di động của Google Sự khác biệt chính giữa Flutter và Android là khả năng hỗ trợ đa nền tảng, giúp lập trình viên tiếp cận được nhiều người dùng hơn.

Flutter là một bộ SDK đa nền tảng cho phép phát triển ứng dụng trên cả iOS và Android, giúp tương thích với framework UI của hai hệ điều hành này Các ứng dụng Flutter không được biên dịch trực tiếp với các ứng dụng native của Android và iOS.

Flutter được phát triển với mục tiêu đạt tốc độ khung hình 60fps, mang lại trải nghiệm mượt mà cho người dùng Mặc dù tốc độ này phổ biến trên iOS, nhưng trên Android, sự khác biệt có thể cảm nhận rõ rệt Bên cạnh đó, việc Flutter cung cấp một nền tảng đồng nhất giúp các nhà phát triển tránh được nhiều vấn đề liên quan đến sự phân mảnh của hệ điều hành Android.

SQLite

SQLite là một thư viện phần mềm cung cấp một SQL Database Engine độc lập, không yêu cầu máy chủ hay cấu hình phức tạp Với kích thước nhỏ gọn và tính khép kín, SQLite cho phép người dùng sử dụng cơ sở dữ liệu một cách dễ dàng mà không cần thực hiện các bước cấu hình như các hệ thống cơ sở dữ liệu khác.

SQLite là một engine cơ sở dữ liệu không hoạt động như một quy trình độc lập, mà có thể được tích hợp vào ứng dụng của bạn thông qua liên kết tĩnh hoặc động, tùy thuộc vào nhu cầu sử dụng.

● SQLite không yêu cầu một quy trình hoặc hệ thống máy chủ riêng biệt để hoạt động

● SQLite không cần cấu hình, có nghĩa là không cần thiết lập hoặc quản trị

● Một cơ sở dữ liệu SQLite hoàn chỉnh được lưu trữ trong một file disk đa nền tảng (cross-platform disk file)

● SQLite rất nhỏ và trọng lượng nhẹ, dưới 400KiB được cấu hình đầy đủ hoặc dưới 250KiB với các tính năng tùy chọn bị bỏ qua

● SQLite là khép kín (self-contained), có nghĩa là không có phụ thuộc bên ngoài

● Các transaction trong SQLite hoàn toàn tuân thủ ACID, cho phép truy cập an toàn từ nhiều tiến trình (process) hoặc luồng (thread)

● SQLite hỗ trợ hầu hết các tính năng ngôn ngữ truy vấn (query language) được tìm thấy trong tiêu chuẩn SQL92 (SQL2)

● SQLite được viết bằng ANSI-C và cung cấp API đơn giản và dễ sử dụng

● SQLite có sẵn trên UNIX (Linux, Mac OS-X, Android, iOS) và

NodeJS

Node.js, được phát triển từ năm 2009 và bảo trợ bởi công ty Joyent tại California, là một nền tảng độc lập dựa trên Javascript Runtime của Chrome Nền tảng này cho phép xây dựng các ứng dụng mạng nhanh chóng và dễ dàng mở rộng.

Node.js được xây dựng chủ yếu bằng C++, mang lại hiệu suất và tốc độ xử lý ấn tượng Nhờ vào khả năng xử lý nhanh chóng, Node.js phù hợp cho các ứng dụng có lưu lượng truy cập lớn, yêu cầu khả năng mở rộng linh hoạt, đổi mới công nghệ, và là lựa chọn lý tưởng cho các dự án khởi nghiệp cần triển khai nhanh chóng.

ExpressJS

Express.js là một framework nhỏ gọn nhưng linh hoạt, được xây dựng trên nền tảng Node.js Nó mang đến nhiều tính năng mạnh mẽ, hỗ trợ hiệu quả cho việc phát triển ứng dụng web và di động.

Về các package hỗ trợ: Expressjs có vô số các package hỗ trợ nên các bạn không phải lo lắng khi làm việc với Framework này

Về performance: Express cung cấp thêm về các tính năng (feature) để dev lập trình tốt hơn Chứ không làm giảm tốc độ của NodeJS.

SocketIO

Socket.io là một module của Node.js, ra đời năm 2010, nhằm hỗ trợ giao tiếp thời gian thực qua các kết nối mở Nó cho phép giao tiếp hai chiều giữa máy khách và máy chủ, với điều kiện máy khách sử dụng Socket.io trong trình duyệt và máy chủ đã tích hợp gói này.

Socket.io là một thư viện mạnh mẽ được sử dụng để xây dựng các ứng dụng web real-time, yêu cầu tốc độ phản hồi ngay lập tức như chat và trực tiếp bóng đá Nó được phát triển dựa trên Engine.IO, khởi đầu bằng việc thiết lập kết nối long-polling trước khi nâng cấp lên các kết nối hiệu quả hơn như WebSocket.

PHÂN TÍCH THIẾT KẾ ỨNG DỤNG

Phân tích

3.1.1 Danh sách yêu cầu hệ thống

Dựa trên khảo sát từ người dùng và tham khảo các ứng dụng khác, nhóm đã tổng hợp danh sách các nghiệp vụ cần thiết cho ứng dụng.

Bảng 3.1 Danh sách yêu cầu của hệ thống

STT Tên yêu cầu Ghi chú

1 Đăng nhập, đăng ký Người dùng sử dụng tài khoản đã đăng ký trước để đăng nhập vào ứng dụng hoặc đăng ký tài khoản mới Sau khi

10 đăng nhập thành công, người dùng có thể đồng bộ hóa lịch sử

2 Quản lý thông tin cá nhân Người dùng có thể xem và chỉnh sửa những thông tin cá nhân cơ bản như họ tên, ngày sinh, giới tính, email,

3 Thi thử Người dùng có thể thi các đề thi tạo sẵn hoặc tạo đề ngẫu nhiên

4 Ôn thi Người dùng có thể ôn thi toàn bộ câu hỏi hoặc theo từng phân loại

5 Ôn thi nhanh Người dùng có thể thi nhanh 5 câu bất kì trong phân loại tùy chọn

6 Học biển báo Người dùng có thể học tất cả biển báo đường bộ và ý nghĩa của chúng

7 Mẹo thi Cung cấp cho người dùng các mẹo thi hữu ích giúp nâng cao kết quả thi nhanh chóng

8 Tra cứu luật Người dùng có thể tra cứu các luật đường bộ dành cho ô tô một cách nhanh chóng

Hình 3.1 Sơ đồ Use-case Bảng 3.2 Danh sách các Actor

STT Tên Actor Ý nghĩa/Ghi chú

1 User Người dùng, người đã tải ,cài đặt và sử dụng phần mềm

2 Login User Người dùng đã đăng nhập thành công và đang

12 trong phiên đăng nhập có hiệu lực

Bảng 3.3 Danh sách các Use-case

STT Tên Use-case Ý nghĩa/Ghi chú

1 Thi thử Người dùng có thể thi các đề thi tạo sẵn hoặc tạo đề ngẫu nhiên

2 Ôn tập lý thuyết Người dùng có thể ôn thi toàn bộ câu hỏi hoặc theo từng phân loại

3 Học biển báo Người dùng có thể học tất cả biển báo đường bộ và ý nghĩa của chúng

4 Xem lại câu hay sai Người dùng có thể xem và ôn lại câu mình hay sai và số lần sai

5 Chọn loại giấy phép lái xe Người dùng có thể thay đổi loại giấy phép phù hợp với nhu cầu

6 Xem mẹo thi Cung cấp cho người dùng các mẹo thi hữu ích giúp nâng cao kết quả thi nhanh chóng

7 Tra cứu luật Người dùng có thể tra cứu các luật đường bộ dành cho ô tô một cách nhanh chóng

8 Ôn tập nhanh Người dùng có thể thi nhanh 5 câu bất kì trong phân loại tùy chọn

9 Đăng nhập Người dùng có thể đăng nhập tài khoản để có thể đồng bộ lịch sử của tài khoản

10 Đồng bộ lịch sử làm bài Giúp người dùng lưu lại lịch sử làm bài, cập nhật trên các thiết bị được đăng nhập tài khoản

11 Lấy lại mật khẩu Giúp người dùng lấy lại mật khẩu

Bảng 3.4 Đặc tả chức năng thi thử

Tên Use-Case Thi thử

Người dùng có thể thực hiện bài thi thử trong khoảng thời gian quy định và nhận kết quả ngay sau khi hoàn thành bài thi Không có điều kiện nào cần phải đáp ứng trước khi tham gia.

Khi hiển thị kết quả bài làm cho người dùng, cần đảm bảo 13 điều kiện quan trọng, bao gồm việc chỉ rõ câu nào đúng, câu nào sai và kết quả cuối cùng là đậu hay rớt Đồng thời, kết quả bài làm cũng phải được lưu lại để người dùng có thể xem xét sau này.

Dòng sự kiện chính 1 Chọn “thi thử”

3 Trả lời từng câu hỏi

5 Hệ thống chấm bài và trả kết quả

Dòng sự kiện phụ Trộn đề ngẫu nhiên theo cấu trúc đề thi thật

2a Chọn nút “Ngẫu nhiên” thay vì chọn 1 đề

Hết thời gian làm bài trước khi xong hết câu hỏi 4a Hệ thống tự động nộp bài khi hết giờ

Thoát ra giữa quá trình làm bài 4b Hệ thống hiện thông báo Nếu người dùng xác nhận thoát thì không ghi nhận kết quả

Bảng 3.5 Đặc tả chức năng ôn tập lý thuyết

Tên Use-Case Ôn tập lý thuyết

Người dùng có thể học và ôn tập toàn bộ các câu hỏi có thể xuất hiện trong đề thi mà không cần bất kỳ điều kiện trước hay sau nào.

Dòng sự kiện chính 1 Chọn “ôn tập”

3 Hệ thống xuất câu hỏi kèm theo đáp án

4 Người dùng học và ghi nhớ Dòng sự kiện phụ Không có

Bảng 3.6 Đặc tả chức năng học biển báo

Tên Use-Case Học biển báo

Người dùng sẽ được hướng dẫn về hình dạng và ý nghĩa của các biển báo đường bộ hiện nay, bao gồm cả những biển báo không phổ biến Việc nắm rõ thông tin này sẽ giúp người tham gia giao thông nhận biết và tuân thủ luật lệ, đảm bảo an toàn khi di chuyển trên đường.

14 đề thi) Điều kiện trước Không có Điều kiện sau Không có

Dòng sự kiện chính 1 Chọn “Biển báo”

2 Tìm loại biển báo cần xem ý nghĩa

3 Người dùng học và ghi nhớ Dòng sự kiện phụ Không có

Bảng 3.7 Đặc tả chức năng câu hay sai

Tên Use-Case Câu hay sai

Người dùng sẽ tìm hiểu về hình dáng và ý nghĩa của các biển báo đường bộ hiện nay, bao gồm cả những biển báo không có trong đề thi Nội dung này không yêu cầu điều kiện trước hay sau.

Dòng sự kiện chính 1 Chọn “Câu hay sai”

2 Xem lại các câu hay sai (có kèm đáp án và số lượt sai)

Bảng 3.8 Đặc tả chức năng chọn loại giấy phép lái xe

Tên Use-Case Chọn loại giấy phép lái xe

Người dùng có thể chọn loại giấy phép lái xe mà họ muốn ôn luyện mà không cần đáp ứng điều kiện trước Sau khi hoàn thành, hệ thống sẽ lưu lại thông tin và điều chỉnh các dữ liệu để đảm bảo tính chính xác và phù hợp.

Dòng sự kiện chính 1 Chọn “Cài đặt”

2 Chọn loại giấy phép muốn ôn luyện

3 Nhấn lưu Dòng sự kiện phụ Không có

Bảng 3.9 Đặc tả chức năng mẹo thi

Tên Use-Case Mẹo thi

Bài viết này cung cấp cho người dùng những mẹo hữu ích để chuẩn bị cho phần thi mà họ đang ôn luyện, giúp tối ưu hóa quá trình học tập và nâng cao hiệu quả ôn thi Không có điều kiện trước hay sau nào được đặt ra, cho phép mọi người dễ dàng áp dụng các mẹo này vào việc chuẩn bị cho kỳ thi của mình.

Dòng sự kiện chính 1 Chọn “Xem mẹo thi”

2 Xem danh sách các mẹo thi Dòng sự kiện phụ Không có

Bảng 3.10 Đặc tả chức năng tra cứu luật

Tên Use-Case Tra cứu luật

Mô tả tóm tắt Tra cứu các luật giao thông cơ bản Điều kiện trước Không có Điều kiện sau Không có

Dòng sự kiện chính 1 Chọn “Tra cứu luật”

2 Điền từ khóa của luật cần tìm

3 Xem danh sách các luật liên quan tới từ khóa Dòng sự kiện phụ Không có

Bảng 3.11 Đặc tả chức năng ôn tập nhanh

Tên Use-Case Ôn tập nhanh

Mô tả tóm tắt Kiểm tra nhanh 5 câu hỏi từ một chương cụ thể Điều kiện trước Không có Điều kiện sau Hệ thống lưu lại kết quả

Dòng sự kiện chính 1 Chọn “Kiểm tra nhanh”

2 Chọn chương cần kiểm tra

3 Trả lời từng câu hỏi

Dòng sự kiện phụ Thoát ra giữa quá trình làm bài

4a Hệ thống hiện thông báo Nếu người dùng xác nhận thoát thì không ghi nhận kết quả

Bảng 3.12 Đặc tả chức năng đăng nhập

Tên Use-Case Đăng nhập

Mô tả tóm tắt Đăng nhập một tài khoản để định danh Điều kiện trước Không có Điều kiện sau Hệ thống mở chức năng đồng bộ

Dòng sự kiện chính 1 Chọn “Đăng nhập”

2 Nhập thông tin đăng nhập

3 Chọn lưu tài khoản hay không

Dòng sự kiện phụ Đăng nhập thất bại

5a Hệ thống hiện thông báo đăng nhập thất bại

Bảng 3.13 Đặc tả chức năng đồng bộ lịch sử làm bài

Tên Use-Case Đồng bộ lịch sử làm bài

Đồng bộ lịch sử làm bài của người dùng lên máy chủ giúp các tài khoản giữa nhiều thiết bị được đồng bộ hóa hiệu quả Điều kiện cần thiết trước khi thực hiện là người dùng phải đăng nhập thành công, trong khi không có điều kiện nào cần thiết sau khi quá trình đồng bộ hoàn tất.

Dòng sự kiện chính 1 Chọn “Cài đặt”

3 Hệ thống sẽ tự động đồng bộ lịch sử làm bài giữa server và thiết bị Dòng sự kiện phụ Không có

Bảng 3.14 Đặc tả chức năng lấy lại mật khẩu

Tên Use-Case Lấy lại mật khẩu

Người dùng có thể dễ dàng khôi phục mật khẩu thông qua email mà không cần điều kiện trước Sau khi thực hiện, mật khẩu sẽ được thay đổi thành công trên hệ thống.

Dòng sự kiện chính 1 Chọn “Quên mật khẩu”

3 Hệ thống gửi mã xác nhận qua email

4 Mở email để lấy mã xác nhận

Dòng sự kiện phụ Không nhận được mã xác nhận

Nhập mã sai 6a Hệ thống báo lỗi và yêu cầu nhập lại (Nếu nhập sai quá

3 lần sẽ dừng use-case)

Thiết kế

3.2.1 Thiết kế cơ sở dữ liệu

3.2.1.1 Cơ sở dữ liệu trên máy chủ (Server Database)

Bảng 3.15 Danh sách bảng trong cơ sở dữ liệu trên máy chủ

1 ACCOUNT Lưu trữ toàn bộ thông tin tài khoản

2 SESSION Lưu trữ thông tin về các phiên đăng nhập trên hệ thống

Lịch sử lưu trữ thông tin giúp theo dõi quá trình làm bài của các tài khoản Khi người dùng đăng nhập vào thiết bị, hệ thống sẽ tự động đồng bộ hóa với lịch sử làm bài đã được lưu trữ.

Lưu trữ thông tin về bài làm gần nhất cho mỗi đề thi của từng tài khoản là rất quan trọng Khi thiết bị đăng nhập vào tài khoản, hệ thống sẽ tự động đồng bộ với kết quả mới nhất được lưu trữ, đảm bảo người dùng luôn cập nhật thông tin chính xác và kịp thời.

Bảng 3.16 Danh sách trường bảng ACCOUNT

2 Email Địa chỉ email người dùng

3 Password Mật khẩu người dùng (đã mã hóa)

Bảng 3.17 Danh sách trường bảng SESSION

1 Token Mã phiên đăng nhập

2 AccountID Mã tài khoản thiết lập phiên đăng nhập

3 LoginTime Thời gian đăng nhập thành công (theo server- time)

4 LastPing Thời gian lần cuối tương tác (theo server- time)

Bảng 3.18 Danh sách trường bảng HISTORY

2 AccountID Mã người dùng đã làm bài

3 QuesID Mã câu hỏi đã trả lời

4 TopicID Mã đề thi đã làm

6 SyncTime Thời gian đồng bộ lên server

Bảng 3.19 Danh sách trường bảng TOPIC

4 LastResult Phần trăm hoàn thành bài thi ở lần thi gần nhất

5 SyncTime Thời gian đồng bộ lên server Null nếu chưa thực hiện đồng bộ

3.2.1.2 Cơ sở dữ liệu trên thiết bị (Local Database)

Cơ sở dữ liệu trên thiết bị được thiết kế theo mô hình SQL nhằm đáp ứng yêu cầu nhỏ, gọn và cài đặt dễ dàng

Hình 3.2 Sơ đồ cơ sở dữ liệu trên thiết bị Bảng 3.20 Danh sách bảng trong cơ sở dữ liệu trên thiết bị

Bảng 3.21 Danh sách trường bảng HISTORY

STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa

5 syncTime TIME Thời gian đồng bộ lên máy chủ Null nếu chưa thực hiện đồng bộ

Bảng 3.22 Danh sách trường bảng TOPIC

STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa

2 name TEXT NOT NULL Tên đề thi

Nhỏ hơn 100 Phần trăm hoàn thành bài thi ở lần thi cuối

4 SyncTime TIME Thời gian đồng bộ lên server Null nếu chưa thực hiện đồng bộ

Bảng 3.23 Danh sách trường bảng QUESTION

STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa

2 quesCataID NUMBER Khóa ngoại đến

3 question TEXT Nội dung câu hỏi

4 imageurl TEXT Đường dẫn đến hình ảnh (nếu có)

5 correct NUMBER Thứ tự của đáp án đúng

10 type NUMBER Loại câu hỏi

Bảng 3.24 Danh sách trường bảng QUES_CATA

STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa

2 name TEXT NOT NULL Tên chương (chủ đề)

Bảng 3.25 Danh sách trường bảng BOARD

STT Tên trường) Kiểu dữ liệu Ràng buộc Ý nghĩa

2 cataID NUMBER Khóa ngoại đến

3 name TEXT NOT NULL Tên biển báo

4 imageurl TEXT NOT NULL Đường dẫn đến hình ảnh

5 content TEXT NOT NULL Ý nghĩa biển báo

Bảng 3.26 Danh sách trường bảng BOARD_CATA

STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa

2 name TEXT NOT NULL Tên loại biển báo

Bảng 3.27 Danh sách trường bảng TIP_PART

STT Tên trường) Kiểu dữ liệu Ràng buộc Ý nghĩa

2 name TEXT Tên phần bài thi có thể áp dụng mẹo

Bảng 3.28 Danh sách trường bảng TIP

TIP STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa

2 partID NUMBẺR Khóa ngoại đến

3 name TEXT NOT NULL Tên mẹo

4 content TEXT NOT NULL Nội dung mẹo

Hình 3.3 Sơ đồ màn hình trên ứng dụng Bảng 3.29 Danh sách các màn hình

STT Tên màn hình Ý nghĩa/Ghi chú

1 Màn hình trang chủ Trang chủ của của ứng dụng

2 Màn hình đăng nhập Đăng nhập tài khoản vào ứng dụng

3 Màn hình thông tin cá nhân Hiển thị, cập nhật thông tin cá nhân người dùng

4 Màn hình đề thi thử Hiển thị danh sách các đề thi mẫu và kết quả thi của mỗi đề

5 Màn hình làm bài thi Làm bài thi sát hạch

6 Màn hình kết quả Hiển thị kết quả thi sau khi nộp bài

7 Màn hình xem đáp án Hiển thị kết quả đúng sai của từng câu hỏi trong đề thi

8 Màn hình loại câu hỏi lý thuyết Hiển thị danh sách các loại câu hỏi lý thuyết

9 Màn hình ôn thi câu hỏi Ôn thi các câu hỏi trong loại câu hỏi được chọn, hiển thị sẵn đáp án

10 Màn hình ôn tập nhanh Chọn loại câu hỏi muốn ôn tập nhanh

11 Màn hình học biển báo Hiển thị danh sách biển báo và ý nghĩa của từng biến báo

12 Màn hình mẹo thi Hiển thị các mẹo thi lý thuyết và thực hành

Hình 3.4 Màn hình trang chủ

Bảng 3.30 Bảng thành phần giao diện Trang chủ

STT Tên thành phần Loại Chức năng

1 tbxSearchLaw Textbox Tìm kiếm luật giao thông dành cho ô tô

2 btnMockTest Button Mở màn hình thi thử

3 btnStudy Button Mở màn hình ôn thi lý thuyết

4 btnQuickTest Button Mở màn hình ôn tập nhanh

5 btnNoticeBoard Button Mở màn hình học biển báo

6 btnWrongQuestion Button Mở màn hình ôn thi câu hay sai

7 btnTestTips Button Mở màn hình mẹo thi

8 btnProfile Button Mở màn hình thông tin cá nhân

Hình 3.5 Màn hình đăng nhập Bảng 3.31 Bảng thành phần giao diện mẹo thi

STT Tên thành phần Loại Chức năng

1 tbxEmail Textbox Nhập email hoặc số điện thoại đã đăng ký tài khoản

2 tbxPassword Textbox Nhập mật khẩu của tài khoản

3 cbRemember Checkbox Lưu mật khẩu cho lần đăng nhập sau

4 btnForgetPassword Button Lấy lại mật khẩu

5 btnSignIn Button Đăng nhập vào ứng dụng

6 btnSignUp Button Mở màn hình đăng ký

7 btnBack Button Quay lại màn hình trang chủ

3.2.2.3 Màn hình thông tin cá nhân

Hình 3.6 Màn hình mẹo thi Bảng 3.32 Bảng thành phần giao diện mẹo thi

STT Tên thành phần Loại Chức năng

1 imageAvt Image Ảnh đại diện của người dùng

2 txtInfor Text Thông tin tên, số điện thoại của người dùng

3 itemSetting Item Các mục cài đặt và xem chính sách

4 btnBack Button Quay lại màn hình trang chủ

3.2.2.4 Màn hình đề thi thử

Hình 3.7 Màn hình đề thi thử Bảng 3.33 Danh sách thành phần giao diện Đề thi thử

STT Tên thành phần Loại Chức năng

1 listExam ListView Danh sách đề thi mẫu

2 itemExam Item Đề thi mẫu

3 btnCreataExam Button Tạo đề thi thử ngẫu nhiên

4 btnBack Button Quay về trang chủ

3.2.2.5 Màn hình làm bài thi

Hình 3.8 Màn hình làm bài thi Bảng 3.34 Bảng thành phần giao diện làm bài thi

STT Tên thành phần Loại Chức năng

1 listQuestion ListView Hiển thị tình trạng làm bài

2 txtCurrentQuestion Text Thứ tự của câu hỏi hiện tại

3 txtTimer Text Thời gian làm bài còn lại

4 txtQuestion Text Nội dung câu hỏi

5 cbChoice Checkbox Các đáp án của câu hỏi

6 btnPrevious Button Quay lại câu hỏi trước

7 btnNext Button Đến câu hỏi tiếp theo

8 btnSubmit Button Nộp bài thi

9 btnBack Button Thoát khỏi bài thi

3.2.2.6 Màn hình kết quả thi

Hình 3.9 Màn hình kết quả đạt bài thi Bảng 3.35 Bảng thành phần giao diện kết quả thi

STT Tên thành phần Loại Chức năng

1 txtScore Text Tỉ lệ phần trăm và số câu đúng

2 pbScore ProgressBar Thể hiện phần trăm đúng của bài thi

3 txtResult Text Kết quả bài thi đạt hay không đạt

4 btnSeeAnswer Button Xem chi tiết kết quả

5 btnBackHome Button Trở về trang chủ

3.2.2.7 Màn hình xem chi tiết kết quả thi

Hình 3.10 Màn hình xem chi tiết kết quả thi Bảng 3.36 Bảng thành phần giao diện xem chi tiết kết quả thi

STT Tên thành phần Loại Chức năng

1 listQuestion ListView Hiển thị tình trạng đúng sai của các câu hỏi

2 txtCurrentQuestion Text Thứ tự của câu hỏi hiện tại

3 txtQuestion Text Nội dung câu hỏi

4 cbAnswer Checkbox Các đáp án đúng sai của câu hỏi

5 btnPrevious Button Quay lại câu hỏi trước

6 btnNext Button Đến câu hỏi tiếp theo

7 btnTestAgain Button Làm lại bài thi

8 btnBack Button Quay lại màn hình đề thi thử

3.2.2.8 Màn hình ôn thi lý thuyết

Hình 3.11 Màn hình ôn thi lý thuyết Bảng 3.37 Bảng thành phần giao diện ôn thi lý thuyết

STT Tên thành phần Loại Chức năng

1 listTypeQuestion List Hiển thị danh sách các loại câu hỏi

2 itemTypeQuestion Item Loại câu hỏi

3 btnBack Button Quay lại màn hình trang chủ

3.2.2.9 Màn hình ôn thi câu hỏi

Hình 3.12 Màn hình ôn thi câu hỏi Bảng 3.38 Bảng thành phần giao diện ôn thi câu hỏi

STT Tên thành phần Loại Chức năng

1 txtTitle Text Hiển thị loại câu hỏi đang ôn

2 txtCurrentQuestion Text Thứ tự của câu hỏi hiện tại

3 txtNote Text Hiển thị ghi chú câu điểm liệt hoặc số lần sai

4 txtQuestion Text Nội dung câu hỏi

5 cbChoice Checkbox Các đáp án của câu hỏi

6 btnPrevious Button Quay lại câu hỏi trước

7 txtAnswer Text Đáp án của câu hỏi

8 btnNext Button Đến câu hỏi tiếp theo

9 btnListQuestion Button Mở view danh sách câu hỏi

10 btnBack Button Quay lại màn hình đề thi thử

3.2.2.10 Màn hình ôn tập nhanh

Hình 3.13 Màn hình ôn tập nhanh Bảng 3.39 Bảng thành phần giao diện ôn tập nhanh

STT Tên thành phần Loại Chức năng

1 cbTypeQuestion Combobox Danh sách các loại câu hỏi

2 btnStart Button Mở màn hình làm bài thi

3 btnBack Button Quay lại màn hình trang chủ

3.2.2.11 Màn hình học biển báo

Hình 3.14 Màn hình học biển báo Bảng 3.40 Bảng thành phần giao diện học biển báo

STT Tên thành phần Loại Chức năng

1 btnSearch Button Hiển thị thanh search biển báo

2 tbTypeNoticeBoard Tabbar Các loại biển báo

3 listNoticeBoard ListView Danh sách các biển báo của từng loại

4 btnBack Button Quay lại màn hình trang chủ

Hình 3.15 Màn hình mẹo thi Bảng 3.41 Bảng thành phần giao diện mẹo thi

STT Tên thành phần Loại Chức năng

1 btnSearch Button Hiển thị thanh search mẹo thi

2 tbTypeTips Tabbar Các loại mẹo thi

3 listCategoryTips ListView Danh sách các thể loại mẹo

4 itemCategoryTips Item Thể loại mẹo

5 btnBack Button Quay lại màn hình trang chủ

Thiết kế kiến trúc hệ thống

Hình 3.16 Kiến trúc tổng thể hệ thống Bảng 3.42 Bảng mô tả kiến trúc hệ thống

STT Tên module Mô tả

Ngày đăng: 15/01/2022, 21:45

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Ứng dụng Ôn thi GPLX(600 câu)  Ngoài các chức năng trên,  ứng dụng còn có mục hướng dẫn các mẹo thi, các câu  hỏi hay sai giúp người dùng học nhanh và nhớ nhanh - Ứng dụng luyện thi giấy phép lái xe b1, b2
Hình 1.1. Ứng dụng Ôn thi GPLX(600 câu) Ngoài các chức năng trên, ứng dụng còn có mục hướng dẫn các mẹo thi, các câu hỏi hay sai giúp người dùng học nhanh và nhớ nhanh (Trang 11)
Hình 2.1. Logo Flutter  Chắc hẳn không ít người đang thắc mắc, chẳng phải Google đã có bộ SDK cho - Ứng dụng luyện thi giấy phép lái xe b1, b2
Hình 2.1. Logo Flutter Chắc hẳn không ít người đang thắc mắc, chẳng phải Google đã có bộ SDK cho (Trang 14)
Hình 2.3. Logo Node JS  Nodejs được xây dựng và phát triển từ năm 2009, bảo trợ bởi công ty Joyent,  trụ sở tại California, Hoa Kỳ - Ứng dụng luyện thi giấy phép lái xe b1, b2
Hình 2.3. Logo Node JS Nodejs được xây dựng và phát triển từ năm 2009, bảo trợ bởi công ty Joyent, trụ sở tại California, Hoa Kỳ (Trang 16)
Hình 3.1. Sơ đồ Use-case  Bảng 3.2. Danh sách các Actor - Ứng dụng luyện thi giấy phép lái xe b1, b2
Hình 3.1. Sơ đồ Use-case Bảng 3.2. Danh sách các Actor (Trang 19)
Bảng 3.3. Danh sách các Use-case - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.3. Danh sách các Use-case (Trang 20)
Bảng 3.5. Đặc tả chức năng ôn tập lý thuyết - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.5. Đặc tả chức năng ôn tập lý thuyết (Trang 21)
Bảng 3.8. Đặc tả chức năng chọn loại giấy phép lái xe - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.8. Đặc tả chức năng chọn loại giấy phép lái xe (Trang 22)
Bảng 3.10. Đặc tả chức năng tra cứu luật - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.10. Đặc tả chức năng tra cứu luật (Trang 23)
Bảng 3.12. Đặc tả chức năng đăng nhập - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.12. Đặc tả chức năng đăng nhập (Trang 24)
Bảng 3.13. Đặc tả chức năng đồng bộ lịch sử làm bài - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.13. Đặc tả chức năng đồng bộ lịch sử làm bài (Trang 24)
Bảng 3.14. Đặc tả chức năng lấy lại mật khẩu - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.14. Đặc tả chức năng lấy lại mật khẩu (Trang 25)
Bảng 3.15. Danh sách bảng trong cơ sở dữ liệu trên máy chủ - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.15. Danh sách bảng trong cơ sở dữ liệu trên máy chủ (Trang 25)
Bảng 3.19. Danh sách trường bảng TOPIC - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.19. Danh sách trường bảng TOPIC (Trang 27)
Bảng 3.21. Danh sách trường bảng HISTORY - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.21. Danh sách trường bảng HISTORY (Trang 29)
Bảng 3.22. Danh sách trường bảng TOPIC - Ứng dụng luyện thi giấy phép lái xe b1, b2
Bảng 3.22. Danh sách trường bảng TOPIC (Trang 29)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w