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

KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG

106 27 1

Đ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 đề Hệ thống tra cứu luật giao thông
Tác giả Phan Huỳnh Minh Duy
Người hướng dẫn TS. Nguyễn Đình Hiển, ThS. Huỳnh Tuấn Anh
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 106
Dung lượng 3,57 MB

Cấu trúc

  • TÓM TẮT KHÓA LUẬN

  • Chương 1: Mở đầu

    • 1.1 Lý do chọn đề tài:

    • 1.2 Mục tiêu đề tài:

    • 1.3 Đối tượng nghiên cứu:

    • 1.4 Phạm vi nghiên cứu:

    • 1.5 Bố cục báo cáo:

  • Chương 2: Tổng quan

    • 2.1 Khảo sát ứng dụng liên quan

      • 2.1.1. Ứng dụng iThong:

      • 2.1.2. Website Thuvienphapluat.vn:

    • 2.2 Bài toán và giải pháp

  • Chương 3: Cơ sở lý thuyết

    • 3.1 Cơ sở tri thức – Knowledge Base

    • 3.2 React Native

      • 3.2.1. Giới thiệu về React Native

      • 3.2.2. Ưu điểm và nhược điểm của React Native:

    • 3.3 Google Firebase:

      • 3.3.1. Giới thiệu về Google Firebase:

      • 3.3.2. Ưu điểm và nhược điểm của Firebase:

      • 3.3.3. Firebase Cloud Firestore:

      • 3.3.4. Firebase Cloud Storage:

    • 3.4 Algolia:

      • 3.4.1. Giới thiệu về Algolia

      • 3.4.2. Ưu điểm và nhược điểm:

  • Chương 4: Phân tích và thiết kế hệ thống

    • 4.1 Phân tích yêu cầu:

      • 4.1.1. Sơ đồ usecase:

      • 4.1.2. Danh sách actor:

      • 4.1.3. Danh sách các usecase:

      • 4.1.4. Đặc tả usecase:

    • 4.2 Sơ đồ tuần tự:

    • 4.3 Sơ đồ cơ sở dữ liệu:

    • 4.4 Kiến trúc hệ thống:

    • 4.5 Thiết kế giao diện:

      • 4.5.1. Sơ đồ giao diện ứng dụng:

      • 4.5.2. Danh sách màn hình giao diện:

      • 4.5.3. Mô tả chi tiết giao diện:

  • Chương 5: Kết luận

    • 5.1. Kết quả đạt được:

    • 5.2. Thuận lợi:

    • 5.3. Khó khăn:

  • Chương 6: Hướng phát triển

  • TÀI LIỆU THAM KHẢO

Nội dung

Tổng quan

Khảo sát ứng dụng liên quan

2.1.1 Ứng dụng iThong: Ứng dụng iThong là ứng dụng liên quan đến tra cứu xử phạt giao thông đường bộ và biển báo giao thông, cho phép người dùng tra cứu bằng từ khóa các lỗi vi phạm

Ứng dụng iThong mang đến nhiều ưu điểm nổi bật, bao gồm khả năng tra cứu theo từ khóa thông dụng, phân loại lỗi vi phạm và phương tiện, tính năng tính nồng độ cồn và mức phạt, cùng với việc thể hiện căn cứ pháp lý rõ ràng Đặc biệt, ứng dụng còn hỗ trợ tìm kiếm bằng giọng nói, giúp người dùng dễ dàng truy cập thông tin cần thiết.

Nhược điểm của hệ thống hiện tại là người dùng chỉ có thể tìm kiếm biển báo giao thông theo tên biển báo, thiếu các khái niệm và quy tắc giao thông cần thiết cho người mới học luật Ngoài ra, dữ liệu còn tồn tại sự trùng lặp và một số lỗi sai, gây khó khăn trong việc tra cứu thông tin chính xác.

Trang web hỗ trợ tìm kiếm tư liệu pháp luật Việt Nam, cho phép người dùng tìm kiếm theo từ khóa và tổng hợp các văn bản pháp luật dưới dạng hoàn chỉnh Ngoài ra, trang còn cung cấp tin tức cập nhật thường xuyên về các vấn đề pháp luật.

Website Thuvienphapluat.vn nổi bật với số lượng lớn văn bản pháp luật, bao quát nhiều lĩnh vực pháp lý khác nhau Đặc biệt, kết quả tìm kiếm theo từ khóa liên quan đến pháp luật rất chính xác, giúp người dùng dễ dàng tìm thấy thông tin cần thiết.

Nhược điểm của dịch vụ này là chỉ cho phép xem chi tiết văn bản hoàn chỉnh, một số điều luật sửa đổi bổ sung yêu cầu phí, và không hỗ trợ tra cứu theo từ khóa thông dụng.

7 đời sống; chỉ có thể tìm kiếm theo các điều luật trong văn bản pháp luật, không thể tìm kiếm chi tiết theo hình thức lỗi vi phạm.

Bài toán và giải pháp

Đối với vấn đề tra cứu luật giao thông đường bộ có các vấn đề sau cần giải quyết:

Trong nghiên cứu về Luật giao thông đường bộ hiện hành, cần tập trung vào các văn bản pháp luật quan trọng như Luật giao thông đường bộ và Nghị định 100 Việc chọn lọc các mục và điều luật liên quan đến người tham gia giao thông, các lỗi vi phạm và mức xử phạt là rất cần thiết để đảm bảo tính chính xác và hiệu quả trong việc áp dụng pháp luật.

Để hiểu rõ về luật giao thông đường bộ, cần đọc và nắm vững nội dung các văn bản pháp lý liên quan, từ đó trích lọc và thu thập kiến thức cần thiết Một ví dụ điển hình là Nghị định 100/2019/NĐ-CP, nội dung của nghị định này cung cấp những quy định quan trọng về an toàn giao thông và xử lý vi phạm.

Chương I Những quy định chung: Chương này gồm các Điều về Phạm vi, đối tượng áp dụng, giải thích các từ ngữ khái niệm và các biện pháp khắc phục hậu quả Ở chương này chọn lọc ra Điều 3 về giải thích các từ ngữ khái niệm liên quan đến giao thông đường bộ (Khoản 1 Điều 3) Điều 4 về các biện pháp khắc phục hậu quả dù có liên quan nhưng không cần trích ra vì các biện pháp khác phục được nêu rõ hơn trong Chương II đối với từng hành vi vi phạm

Chương II Hành vi vi phạm, hình thức, mức xử phạt và biện pháp khắc phục hậu quả vi phạm hành chính trong lĩnh vực giao thông đường bộ: Đây là chương quy định về các hành vi vi phạm và mức xử phạt trong lĩnh vực giao thông đường bộ Ở chương này chọn lọc ra các Mục 1, Mục 3, Mục 4, Mục 5, Mục 6 liên quan đến đối tượng sử dụng hệ thống tra cứu Mục 2 liên quan đến đối tượng quản lý, khai thác, thi công và bảo trì kết cấu hạ tầng giao thông đường bộ nên sẽ không được đề cập đến trong hệ thống

Chương III về lĩnh vực Giao thông đường sắt: chỉ có Điều 47 về hành vi vi phạm ở nơi giao nhau giữa đường sắt và đường bộ (đường ngang, cầu chung) được chọn lọc

Các chương còn lại của bài viết tập trung vào thủ tục xử phạt, thẩm quyền thực hiện, và các điều khoản thi hành không liên quan đến người tham gia giao thông đường bộ Bên cạnh đó, nội dung cũng đề cập đến các lỗi vi phạm và mức xử phạt tương ứng.

Tiếp theo, tiến hành áp dụng quy trình tương tự cho hai văn bản liên quan khác, bao gồm Luật Giao thông Đường bộ (Luật số 23/2008/QH12) và Quy chuẩn Kỹ thuật Quốc gia về Báo hiệu Đường bộ (QCVN 41:2019/BGTVT).

Chương II Nghị định 100 quy định rõ các hành vi vi phạm hành chính, mức xử phạt và biện pháp khắc phục hậu quả Các hành vi vi phạm được tổ chức theo căn cứ pháp lý cụ thể: Điều, Khoản, Điểm Tuy nhiên, để người dùng hệ thống tra cứu dễ dàng hơn, cần thiết phải tổ chức tri thức về luật theo nội dung vi phạm hành chính thay vì chỉ dựa vào căn cứ pháp lý Chẳng hạn, trong Điều 8, Khoản 1, Điểm b, có những quy định cụ thể mà người sử dụng cần nắm rõ để thực hiện đúng.

Hình 2.3: Ví dụ căn cứ pháp lý (1)

Chủ thể của các hành vi vi phạm trong Điều 8 là “Người điều khiển xe đạp, xe đạp máy

Các phương tiện giao thông như xe đạp, xe đạp điện, và các loại xe thô sơ khác sẽ được phân loại vào nhóm phương tiện Khác trong hệ thống phân loại giao thông Hai nhóm còn lại bao gồm xe máy và ô tô Mức xử phạt cho các vi phạm liên quan đến các phương tiện này đã được quy định rõ ràng.

Khoản 1 là “Phạt tiền từ 80.000đ đến 100.000đ” Nội dung hành vi vi phạm được ghi trong Điểm b Trong Điểm b này có hai hành vi vi phạm được đề cập là “Dừng xe đột ngột” và “Chuyển hướng không báo hiệu trước” Đây là nội dung được tra cứu nếu người sử dụng thực hiện tra cứu Ngoài ra một số hành vi vi phạm còn có Mức phạt bổ sung được quy định ở Khoản khác trong cùng Điều luật Trong ví dụ sau các hành vi vi phạm ở các Điểm a, Điểm b của Khoản 3 Điều 8 ngoài bị xử phạt tiền còn bị tịch thu phương tiện theo Khoản 5 Điều 8 Như vậy trong mức xử phạt bổ sung còn có căn cứ pháp lý và nội dung xử phạt Tương tự mức phạt bổ sung một số hành vi vi phạm có biện pháp khắc phục hậu quả

Hình 2.4: Ví dụ căn cứ pháp lý (2)

Giải pháp: Như vậy, để tổ chức cơ sở tri thức về luật giao thông đường bộ theo

NĐ100 cần có các thuộc tính sau:

Chủ thể (cá nhân, tổ chức thực hiện hành vi vi phạm)

Nội dung hành vi vi phạm

Mức xử phạt hành chính (xử phạt bằng tiền từ “… đồng” đến “… đồng” hoặc phạt cảnh cáo) cùng với căn cứ pháp lý (Điều, Khoản, Điểm)

Mức xử phạt bổ sung và biện pháp khắc phục, nếu có, cần được nêu rõ cùng với căn cứ pháp lý cụ thể (Điều, Khoản, Điểm) Trong đó, Điều và Khoản là những yếu tố bắt buộc, trong khi Điểm có thể có hoặc không tùy thuộc vào hành vi vi phạm Nếu có các mức xử phạt bổ sung hoặc biện pháp khắc phục, có thể chỉ định tối đa hai Điểm liên quan Do đó, việc tổ chức căn cứ pháp lý cần được thực hiện một cách rõ ràng và hợp lý.

+ Điểm (Điểm 1, Điểm 2) (nếu có)

Khi người sử dụng tra cứu thông tin pháp luật, họ thường dùng từ ngữ thông dụng, dẫn đến việc không tìm thấy kết quả chính xác Ví dụ, khi tìm kiếm về hành vi "vượt đèn đỏ", người dùng sẽ không nhận được kết quả phù hợp từ Nghị định 100, vì thuật ngữ pháp lý đúng là "Không chấp hành hiệu lệnh của đèn tín hiệu giao thông" Điều này cho thấy sự cần thiết phải sử dụng đúng ngôn ngữ pháp luật khi tra cứu thông tin để có được kết quả chính xác.

Để tối ưu hóa kết quả tra cứu, cần thu thập các nhóm từ khóa liên quan và thông dụng trong đời sống Ví dụ, hành vi "Điều khiển xe đi không đúng phần đường, làn đường quy định" có thể được liên kết với các từ khóa như "lấn làn", "sai làn".

Khi người dùng tra cứu các biển báo hiệu, họ dựa vào những đặc điểm bên ngoài như hình dạng, màu viền, nội dung chữ/số và màu nền của biển báo Những đặc điểm này được quy định trong Quy chuẩn kỹ thuật quốc gia về báo hiệu đường bộ QCVN 41:2019/BGTVT Do đó, việc có khả năng tra cứu theo các đặc điểm chi tiết là cần thiết để đạt được kết quả tối ưu nhất trong việc nhận diện biển báo hiệu.

Giải pháp hiệu quả là phát triển khả năng tìm kiếm chi tiết dựa trên các đặc điểm nhận dạng của biển báo, bên cạnh việc tìm kiếm thông thường theo tên, số và nội dung Ví dụ, biển báo có thể được phân loại dựa trên các đặc điểm nhận diện riêng biệt.

Cơ sở lý thuyết

Cơ sở tri thức – Knowledge Base

3.1.1 Hệ cơ sở tri thức:

Cơ sở tri thức (knowledge base) xuất phát từ Hệ cơ sở tri thức, giúp quản lý tri thức của các miền khác nhau trên máy tính và giải quyết các vấn đề liên quan đến tri thức Hệ thống này có khả năng suy luận, cho phép giải quyết các vấn đề trừu tượng và phức tạp Hai thành phần chính của hệ cơ sở tri thức bao gồm Cơ sở tri thức và Bộ suy diễn.

Bộ suy diễn trong hệ thống tri thức sử dụng cơ sở tri thức để quản lý và lưu trữ các thành phần như khái niệm, thực thể, sự kiện và luật lệ Cơ sở tri thức chứa kiến thức chuyên sâu về miền tri thức, cho phép bộ suy diễn giải quyết các vấn đề hoặc câu hỏi dựa trên tri thức đã lưu trữ.

Hình 3.1: Kiến trúc hệ cơ sở tri thức

Giữa bộ suy diễn và cơ sở tri thức cần duy trì tính độc lập tương đối Sự điều chỉnh một trong hai thành phần này không ảnh hưởng đến hoạt động bình thường của hệ thống.

Việc sử dụng 14 này giúp biểu diễn tri thức một cách trực quan và tự nhiên hơn, đồng thời cho phép cập nhật và bổ sung tri thức trong quá trình phát triển hệ thống.

Ta có thể xây dựng một hệ cơ sở tri thức thông qua các giai đoạn sau [7] :

Giai đoạn đầu tiên trong quá trình thu thập tri thức là xác định miền tri thức cụ thể Điều này bao gồm việc tìm kiếm các nguồn thông tin phù hợp và tiến hành thu thập tri thức, bao gồm các bài toán, vấn đề và câu hỏi liên quan đến miền tri thức đã chọn.

Giai đoạn 2 của quá trình phát triển hệ thống là thiết kế cơ sở tri thức, trong đó sử dụng tri thức đã thu thập để xây dựng một cơ sở tri thức hoàn chỉnh và nhất quán Trong giai đoạn này, cần thực hiện việc xây dựng mô hình hoặc phương pháp biểu diễn tri thức, cũng như tổ chức và biểu diễn tri thức một cách hiệu quả Cơ sở tri thức phải đảm bảo tính đầy đủ và nhất quán để phục vụ cho hệ thống.

Giai đoạn 3 trong quy trình thiết kế bộ suy diễn bao gồm việc sử dụng tri thức đã thu thập và cơ sở tri thức đã xây dựng để phân tích, phân loại và mô hình hóa vấn đề Sau đó, cần lựa chọn phương pháp suy diễn phù hợp để giải quyết vấn đề, bao gồm các loại suy diễn như suy diễn tiến, suy diễn lùi và suy diễn heuristics.

Giai đoạn 4: Thiết kế giao diện Thiết kế giao diện là bước quan trọng nhằm tạo ra sự trực quan cho hệ cơ sở tri thức Giao diện cần phải phù hợp với đối tượng người dùng, đảm bảo rằng cả những người có chuyên môn lẫn những người không có chuyên môn đều có thể dễ dàng hiểu và sử dụng.

Có nhiều loại hệ cơ sở tri thức được ứng dụng trong các lĩnh vực khác nhau, mỗi loại có phương pháp suy diễn và biểu diễn tri thức riêng Một số hệ cơ sở tri thức phổ biến bao gồm hệ chuyên gia, hệ quản lý tài liệu văn bản, hệ trợ giúp quyết định và từ điển kiến thức Để biểu diễn cơ sở tri thức, có thể sử dụng các phương pháp như logic, mạng ngữ nghĩa, hệ luật dẫn và mạng tính toán.

3.1.2 Áp dụng để xây dựng cơ sở tri thức cho đề tài: Đối với đề tài Hệ thống tra cứu luật giao thông, cần xây dựng cơ sở tri thức về luật pháp, cụ thể là Luật giao thông đường bộ Nguồn thu thập tri thức là các văn bản về Luật giao thông đường bộ đã nêu ở phạm vi và đối tượng nghiên cứu Đối tượng người dùng được nhắm tới là người tham gia giao thông, người học luật giao thông Mục đích mà cơ sở tri thức của đề tài này là mang tới kết quả tra cứu về các lỗi vi phạm Luật giao thông đường bộ, biển báo hiệu đường bộ và các khái niệm, quy tắc khi tham gia giao thông đường bộ Ngoài ra còn cần thực hiện thu thập các vấn đề, bài toán, các câu hỏi thường gặp liên quan đến Luật giao thông đường bộ

Sau khi thu thập tri thức, việc phân loại tri thức là cần thiết để tổ chức cơ sở tri thức một cách hiệu quả Tri thức được thu thập từ các nguồn khác nhau có thể ở nhiều dạng như khái niệm, quy tắc, thực thể (biển báo), sự kiện (lỗi vi phạm) và các điều luật (căn cứ pháp lý) Mỗi dạng tri thức này có thể được phân loại thêm dựa trên nội dung, ví dụ như phân loại lỗi vi phạm theo loại phương tiện vi phạm hoặc phân loại biển báo theo loại biển báo.

Tiếp theo, chúng ta cần lựa chọn phương pháp biểu diễn tri thức phù hợp Trong đề tài này, phương pháp được sử dụng là biểu diễn tri thức bằng luật dẫn, một dạng luật phổ biến nhất trong các lĩnh vực tri thức của con người, bao gồm hai phần.

Facts là tập hợp các sự kiện hoặc hành động, trong khi Rules là tập hợp các luật có dạng r: gt(r) => kl(r), trong đó gt(r) là tập giả thiết và kl(r) là tập kết luận Để minh họa rõ hơn, hãy xem xét ví dụ sau đây.

Người điều khiển xe máy không tuân thủ hiệu lệnh của đèn tín hiệu sẽ bị xử phạt như thế nào? Đây là câu hỏi cần được làm rõ để hiểu rõ hơn về các quy định và mức phạt liên quan đến lỗi vi phạm này.

Tập Facts bao gồm các thông tin như phương tiện "xe máy" và hành vi "không chấp hành hiệu lệnh của đèn tín hiệu" Tập Rules là các điều luật trong Nghị định 100 về xử phạt giao thông đường bộ Dựa vào phương tiện "xe máy", ta có thể xác định các Điều luật liên quan và từ đó tìm ra Khoản, Điểm chính xác để đưa ra mức xử phạt theo Điều 6, Khoản 4, Điểm e Đối với việc tra cứu biển báo giao thông, ví dụ như một biển báo hình tam giác, nền vàng với chữ "đi chậm", tập Facts sẽ bao gồm {hình dạng: "tam giác", nền: "vàng", chữ: "đi chậm"}, trong khi tập Rules sẽ là các biển báo giao thông trong cơ sở tri thức.

React Native

3.2.1 Giới thiệu về React Native

React Native là một framework do Meta (trước đây là Facebook) phát triển, ra mắt lần đầu vào năm 2015 Framework này cho phép xây dựng ứng dụng di động cho cả Android và iOS bằng ngôn ngữ lập trình JavaScript Sự ra đời của React Native nhằm cải thiện hiệu suất cho các ứng dụng Hybrid và giảm thiểu việc viết mã riêng cho từng nền tảng di động Châm ngôn của React Native là “Học một lần, viết ở mọi nơi”.

React Native operates through the React Native Bridge, which connects two essential components: the JavaScript virtual machine and Native Code (Native Modules) This Bridge serves as a communication link between JavaScript Components and their corresponding Native UI Components via Objective-C.

C API (iOS) hoặc Java API (Android)

Có rất nhiều ứng dụng nổi bật hiện tại sử dụng React Native: Facebook, Instagram, Skype, Discord, Pinterest…

3.2.2 Ưu điểm và nhược điểm của React Native: Ưu điểm của React Native:

React Native rất thân thiện và dễ sử dụng, đặc biệt là đối với những ai đã quen thuộc với ngôn ngữ JavaScript và HTML Những người đã học JavaScript sẽ nhanh chóng làm quen với cách hoạt động của React Native.

Tiết kiệm nhân lực và thời gian Chỉ cần viết code ứng dụng trên nền ngôn ngữ

JavaScript là có thể sử dụng trên các nền tảng di động Android và iOS

Sử dụng ít mã native hơn là một lợi ích quan trọng, vì ngoài việc phát triển trên nền tảng JavaScript, các lập trình viên vẫn có thể tích hợp mã native, nhưng nhu cầu này sẽ giảm đi đáng kể.

React Native sở hữu một cộng đồng lớn mạnh, giúp người dùng dễ dàng tìm kiếm giải pháp cho các vấn đề phát sinh trong quá trình sử dụng.

Nhược điểm của React Native:

Hiệu năng của ứng dụng Hybrid thường thấp hơn so với ứng dụng Native, và việc kết hợp giữa Hybrid App và Native App sẽ tạo ra hiệu suất trung bình của cả hai nền tảng React Native, mặc dù gần gũi với Hybrid App, vẫn không đạt được hiệu năng tương đương với các ứng dụng được phát triển hoàn toàn trên native code.

Mặc dù React Native hướng đến việc mang lại sự tiện lợi và hiệu quả cho việc phát triển ứng dụng đa nền tảng, nhưng đối với các ứng dụng phức tạp, việc sử dụng native code vẫn là cần thiết Điều này giúp lập trình viên xử lý các module một cách hiệu quả trên từng nền tảng khác nhau.

Quản lý bộ nhớ trong React Native thường gặp phải phàn nàn về việc tiêu tốn tài nguyên Mặc dù đã có các phiên bản cập nhật nhằm khắc phục vấn đề này, nhưng việc sử dụng bộ nhớ vẫn còn là một thách thức đối với nhiều ứng dụng phát triển bằng React Native.

Bảo mật trong React Native là một vấn đề quan trọng, vì nó sử dụng JavaScript, và những rủi ro liên quan đến bảo mật của JavaScript cũng ảnh hưởng đến React Native JavaScript hoạt động ở phía người dùng, do đó, việc đảm bảo an toàn cho mã nguồn và dữ liệu là rất cần thiết.

Khi sử dụng 20 dùng (client side), thông tin mã nguồn được gửi đến phía người dùng, điều này có thể dẫn đến việc bảo mật không được đảm bảo nếu người dùng mở mã của ứng dụng.

Google Firebase

3.3.1 Giới thiệu về Google Firebase:

Firebase là nền tảng dịch vụ đa chức năng giúp phát triển ứng dụng và website, ra đời vào năm 2012 với mục tiêu cung cấp Back-end as a Service Năm 2014, Google mua lại Firebase và mở rộng nó thành một nền tảng toàn diện Firebase được ưa chuộng, đặc biệt trong cộng đồng phát triển ứng dụng di động, nhờ vào khả năng xây dựng hệ thống Client – Server một cách dễ dàng và tiết kiệm chi phí cho phía Server.

Firebase offers several key features, including the Realtime Database, which provides a JSON-based real-time database, and Cloud Firestore, an evolution of the Realtime Database that organizes data in collections and documents Additionally, Firebase includes robust Authentication services for user verification.

Storage (nơi lưu trữ dữ liệu), Cloud Messaging (gửi tin nhắn) Ngoài ra Firebase

21 còn cung cấp các tính năng mở rộng liên quan bên thứ 3 và khả năng phân tích dữ liệu [5]

3.3.2 Ưu điểm và nhược điểm của Firebase:

Firebase có các ưu điểm sau:

Tiết kiệm thời gian và chi phí Thông qua việc sử dụng Firebase, nhà phát triển sẽ tiết kiệm được thời gian và chi phí ở phía Server

Firebase mang đến nhiều chức năng phong phú cho việc phát triển ứng dụng, giúp đơn giản hóa quá trình phát triển Việc sử dụng Firebase trở nên dễ dàng nhờ vào cách gọi các REST API trong front-end Hơn nữa, việc quản lý dữ liệu và lưu trữ trên Firebase cũng rất dễ hiểu và thực hiện.

Firebase đảm bảo an toàn dữ liệu nhờ vào nền tảng đám mây và giao thức bảo mật SSL, giúp tăng cường bảo mật giữa Client và Server Hơn nữa, hệ thống cũng cung cấp Security Rules, cho phép người dùng tùy chỉnh quyền truy cập vào dữ liệu trên server một cách linh hoạt.

Firebase mang đến sự linh hoạt cho các nhà phát triển, cho phép họ tùy chỉnh ứng dụng theo ý muốn Với cơ sở dữ liệu NoSQL, người phát triển có thể tổ chức dữ liệu một cách tự do và sáng tạo.

Các nhược điểm của Firebase:

Firebase chỉ hỗ trợ cơ sở dữ liệu NoSQL, điều này có thể là một hạn chế cho những nhà phát triển chưa quen với NoSQL và đang tìm kiếm một giải pháp cơ sở dữ liệu quan hệ.

Both Realtime Database and Cloud Firestore have limitations in their querying capabilities, lacking the most optimized query APIs Additionally, the performance of queries in these databases is not yet at a high level.

Nhiều người dùng Firebase thường kết hợp với một cơ sở dữ liệu bên thứ ba để thực hiện các truy vấn nâng cao và cải thiện tốc độ xử lý.

Chi phí là một yếu tố quan trọng cần xem xét khi phát triển ứng dụng Đối với các nhà phát triển nhỏ và những ứng dụng đơn giản, vấn đề này có thể không cần quá lo lắng Tuy nhiên, với những ứng dụng phức tạp và có lượng dữ liệu lớn, việc đầu tư vào các chức năng cao cấp là cần thiết để đảm bảo hiệu suất và tính năng tối ưu.

Firebase không hoạt động ở một số quốc gia do thuộc sở hữu của Google, mà Google lại bị chặn ở những nơi như Trung Quốc, dẫn đến việc Firebase không thể sử dụng được tại đây.

Cloud Firestore is a client-server data storage and synchronization service that utilizes a NoSQL database structure, similar to Realtime Database, but organized into collections and documents In this project, data is stored on Cloud Firestore.

Hình 3.4: Ví dụ tổ chức dữ liệu của Realtime Database (trái) và Cloud Firestore (phải)

Cloud Firestore offers enhanced capabilities over Realtime Database by utilizing collections and documents for data hierarchy and querying, making it more suitable for managing complex data structures.

Cloud Firestore sử dụng công nghệ đồng bộ hóa dữ liệu để đảm bảo rằng nội dung được cập nhật trên tất cả các thiết bị Client Khi thiết bị không có kết nối mạng, ứng dụng vẫn có thể truy cập và sử dụng dữ liệu đã lưu trữ.

23 đã được lưu trữ ở local trong thời gian sử dụng online, khi ứng dụng trở lại trạng thái online, các dữ liệu sẽ được cập nhật ngay lập tức

Mặc dù Cloud Firestore và Realtime Database có nhiều ưu điểm, nhưng điểm hạn chế lớn nhất của chúng là khả năng truy vấn chưa hoàn thiện, với các API không đầy đủ và thiếu tính năng tìm kiếm theo từ khóa toàn bộ dữ liệu (full-text search) như MongoDB Để thực hiện tìm kiếm toàn văn, các nhà phát triển cần sử dụng dịch vụ bên thứ ba Firebase khuyến nghị sử dụng các dịch vụ hỗ trợ như Elastic Search, Algolia và Typesense.

Hình 3.5: Documentation của Firebase đề nghị sử dụng bên thứ 3 đối với full-text search

Cloud Storage là giải pháp lưu trữ dữ liệu của Firebase, cho phép người dùng lưu trữ mọi loại tập tin Khác với các dịch vụ như Google Drive hay OneDrive, Cloud Storage được thiết kế đặc biệt để hỗ trợ quá trình xây dựng và phát triển ứng dụng, không chỉ đơn thuần là một không gian lưu trữ.

Algolia

Algolia là dịch vụ đám mây chuyên cung cấp khả năng tìm kiếm toàn văn bản, giúp tối ưu hóa việc tìm kiếm trên các collections và documents của Firestore Với tốc độ xử lý nhanh chóng, Algolia hỗ trợ hiệu quả trong việc truy vấn dữ liệu từ Firestore Người dùng có thể xuất dữ liệu từ Firestore hoặc các cơ sở dữ liệu khác dưới định dạng JSON, CSV hoặc TSV để nạp lên Algolia, hoặc sử dụng API keys của Algolia để quản lý dữ liệu trong môi trường lập trình ứng dụng một cách linh hoạt.

Algolia áp dụng các kỹ thuật tìm kiếm toàn văn như Inverted Index để phân tách nội dung và cung cấp kết quả tương ứng cho từng từ, sau đó tổng hợp lại; Fuzzy Search giúp tìm ra các chuỗi tương tự có nghĩa so với chuỗi truy vấn, từ đó cải thiện chất lượng kết quả; và khoảng cách Levenshtein được sử dụng để tính toán khả năng biến đổi chuỗi thông qua các phép biến đổi như thêm, bớt hoặc thay đổi một ký tự.

Algolia offers optimized full-text search features, including the ability to ignore stop words, evaluate synonyms, tolerate typos, provide suggestions, and rank and sort results effectively.

3.4.2 Ưu điểm và nhược điểm:

Algolia có các ưu điểm sau:

Nhanh Algolia có tốc độ xử lý truy vấn và trả về kết quả rất nhanh

Algolia cung cấp nhiều tính năng hỗ trợ mạnh mẽ cho việc tìm kiếm, bao gồm khả năng bỏ qua các từ không cần thiết (stop words), hỗ trợ từ đồng nghĩa (synonyms), đánh giá và xử lý các từ sai cú pháp (typo tolerance), cũng như cung cấp các kết quả gợi ý (recommend).

Dễ sử dụng Dễ dàng sử dụng thông qua các API, API keys và hỗ trợ nhiều ngôn ngữ

Ngoài các ưu điểm, Algolia còn có các nhược điểm:

Tốn phí Ngoài gói miễn phí với mức sử dụng cố định, nếu sử dụng quá mức đó thì Algolia sẽ tính phí

Bảo mật kém Sử dụng API keys trên JavaScript hoặc mã nguồn chương trình, điều này sẽ dẫn tới việc thiếu bảo mật và bị lợi dụng

Phân tích và thiết kế hệ thống

Phân tích yêu cầu

Hình 4.1: Sơ đồ Usecase tổng

1 User Người sử dụng hệ thống tra cứu

1 Tra cứu lỗi vi phạm dành cho xe máy

Cho phép người dùng tìm kiếm lỗi vi phạm theo nội dung vi phạm hoặc người dùng có thể chọn loại lỗi vi phạm để xem

2 Tra cứu lỗi vi phạm dành cho xe ô tô

3 Tra cứu lỗi vi phạm dành cho phương tiện khác

4 Xem chi tiết lỗi vi phạm Cho phép người dùng xem chi tiết các thuộc tính của lỗi vi phạm được chọn

Người dùng có thể lưu lại các lỗi vi phạm vào mục đã lưu để dễ dàng xem lại sau này hoặc bỏ lưu những lỗi vi phạm không còn cần thiết.

6 Xem các lỗi vi phạm đã lưu Cho phép người dùng xem lại các lỗi vi phạm đã được lưu lại trên thiết bị

Người dùng có thể xem chi tiết các căn cứ pháp lý liên quan đến nội dung xử phạt, các hình thức phạt bổ sung và các biện pháp khắc phục.

8 Tra cứu biển báo giao thông

Cho phép người dùng tra cứu biển báo giao thông theo tên, số hoặc nội dung biển báo

9 Tra cứu chi tiết biển báo giao thông

Cho phép người dùng tra cứu chi tiết biển báo giao thông theo đặc điểm bên ngoài của biển báo

10 Tra cứu khái niệm về giao thông đường bộ

Cho phép người dùng tra cứu các khái niệm giao thông đường bộ

11 Tra cứu quy tắc khi tham gia giao thông đường bộ

Cho phép người dùng tra cứu các quy tắc khi tham gia giao thông đường bộ

12 Xem thông tin, hướng dẫn sử dụng hệ thống

Cho phép người dùng xem thông tin, hướng dẫn sử dụng hệ thống

13 Xem các bản cập nhật Cho phép người dùng xem các bản cập nhật hệ thống

4.1.4 Đặc tả usecase: a) Usecase “Tra cứu lỗi vi phạm dành cho xe máy”:

Hình 4.2: Usecase Tra cứu lỗi vi phạm xe máy

Cho phép người dùng tra cứu các lỗi vi phạm đối với phương tiện là xe máy

1 Chọn mục “Lỗi vi phạm” ở thanh Footer

2 Chọn phương tiện “Xe máy” ở thanh Header

3 Chọn một loại lỗi vi phạm được liệt kê ở giao diện chính hoặc nhập thông tin cần tra cứu vào thanh tìm kiếm

4 Hệ thống trả về danh sách kết quả thỏa điều kiện tìm kiếm

1 Chọn xem chi tiết lỗi vi phạm trong danh sách kết quả

2 Hệ thống trả về chi tiết lỗi vi phạm đã chọn

3.1 Xem chi tiết căn cứ pháp lý:

3.1.1 Chọn xem chi tiết căn cứ pháp lý 3.1.2 Hệ thống trả về chi tiết căn cứ pháp lý đã chọn

3.2 Lưu lỗi vi phạm hoặc bỏ lưu lỗi vi phạm:

3.2.1 Nhấn vào nút (1) “Lưu” hoặc “Đã lưu” trên thanh Header

3.2.2 Hệ thống lưu/bỏ lưu lỗi vi phạm, nút (1) sẽ chuyển sang “Đã lưu” hoặc “Lưu” tương ứng b) Usecase “Tra cứu lỗi vi phạm dành cho xe ô tô”:

Hình 4.3: Usecase Tra cứu lỗi vi phạm xe ô tô

Cho phép người dùng tra cứu các lỗi vi phạm đối với phương tiện là xe ô tô

1 Chọn mục “Lỗi vi phạm” ở thanh Footer

2 Chọn phương tiện “Xe ô tô” ở thanh Header

3 Chọn một loại lỗi vi phạm được liệt kê ở giao diện chính hoặc nhập thông tin cần tra cứu vào thanh tìm kiếm

4 Hệ thống trả về danh sách kết quả thỏa điều kiện tìm kiếm

1 Chọn xem chi tiết lỗi vi phạm trong danh sách kết quả

2 Hệ thống trả về chi tiết lỗi vi phạm đã chọn

2.1 Xem chi tiết căn cứ pháp lý:

2.1.1 Chọn xem chi tiết căn cứ pháp lý

2.1.2 Hệ thống trả về chi tiết căn cứ pháp lý đã chọn

2.2 Lưu lỗi vi phạm hoặc bỏ lưu lỗi vi phạm:

2.2.1 Nhấn vào nút (1) “Lưu” hoặc “Đã lưu” trên thanh Header

2.2.2 Hệ thống lưu/bỏ lưu lỗi vi phạm, nút (1) sẽ chuyển sang “Đã lưu” hoặc

“Lưu” tương ứng c) Usecase “Tra cứu lỗi vi phạm dành cho phương tiện khác”:

Hình 4.4: Usecase Tra cứu lỗi vi phạm phương tiện khác

Cho phép người dùng tra cứu các lỗi vi phạm đối với các phương tiện khác

1 Chọn mục “Lỗi vi phạm” ở thanh Footer

2 Chọn phương tiện “Xe ô tô” ở thanh Header

3 Chọn một loại lỗi vi phạm được liệt kê ở giao diện chính hoặc nhập thông tin cần tra cứu vào thanh tìm kiếm

4 Hệ thống trả về danh sách kết quả thỏa điều kiện tìm kiếm

1 Chọn xem chi tiết lỗi vi phạm trong danh sách kết quả

2 Hệ thống trả về chi tiết lỗi vi phạm đã chọn

3.1 Xem chi tiết căn cứ pháp lý:

3.1.1 Chọn xem chi tiết căn cứ pháp lý

3.1.2 Hệ thống trả về chi tiết căn cứ pháp lý đã chọn

3.2 Lưu lỗi vi phạm hoặc bỏ lưu lỗi vi phạm:

3.2.1 Nhấn vào nút (1) “Lưu” hoặc “Đã lưu” trên thanh Header

3.2.2 Hệ thống lưu/bỏ lưu lỗi vi phạm, nút (1) sẽ chuyển sang “Đã lưu” hoặc

“Lưu” tương ứng d) Usecase “Xem các lỗi vi phạm đã lưu”:

Hình 4.5: Usecase Xem các lỗi vi phạm đã lưu

Cho phép người dùng xem lại các lỗi vi phạm đã lưu

1 Chọn mục “Lỗi vi phạm” ở thanh Footer

2 Chọn mục “Đã lưu” ở thanh Header

3 Hệ thống trả về danh sách kết quả đã lưu trên thiết bị

1 Chọn xem chi tiết lỗi vi phạm trong danh sách kết quả

2 Hệ thống trả về chi tiết lỗi vi phạm đã chọn

3.1 Xem chi tiết căn cứ pháp lý:

3.1.1 Chọn xem chi tiết căn cứ pháp lý

3.1.2 Hệ thống trả về chi tiết căn cứ pháp lý đã chọn

3.2 Lưu lỗi vi phạm hoặc bỏ lưu lỗi vi phạm:

3.2.1 Nhấn vào nút (1) “Lưu” hoặc “Đã lưu” trên thanh Header

3.2.2 Hệ thống lưu/bỏ lưu lỗi vi phạm, nút (1) sẽ chuyển sang “Đã lưu” hoặc “Lưu” tương ứng e) Usecase “Tra cứu biển báo giao thông”:

Hình 4.6:Usecase Tra cứu biển báo giao thông

Cho phép người dùng tra cứu biển báo giao thông đường bộ

1 Chọn mục “Biển báo” ở thanh Footer

2 Chọn một loại biển báo được liệt kê ở giao diện chính hoặc nhập thông tin cần tra cứu vào thanh tìm kiếm

3 Hệ thống trả về danh sách kết quả thỏa điều kiện tìm kiếm

1 Nhấn vào nút “Tìm kiếm chi tiết” phía dưới thanh tìm kiếm

2 Nhập nội dung tìm kiếm theo nội dung hình/chữ

3 Chọn các trường điều kiện cần tìm bằng cách nhấn vào checkbox ở trước các trường (có thể chọn từ 1 đến 4 trường hoặc không chọn trường nào)

4 Nhấn “Tìm kiếm” ở thanh Header

5 Hệ thống trả về danh sách kết quả thỏa điều kiện tìm kiếm f) Usecase “Tra cứu khái niệm về giao thông đường bộ”:

Hình 4.7: Usecase Tra cứu khái niệm giao thông đường bộ

Cho phép người dùng tra cứu khái niệm về giao thông đường bộ

1 Chọn mục “Khái niệm, quy tắc” ở thanh Footer

2 Chọn mục “Khái niệm” ở thanh Header

3 Nhập thông tin cần tra cứu vào thanh tìm kiếm

4 Hệ thống trả về danh sách kết quả thỏa điều kiện tìm kiếm

Không có g) Usecase “Tra cứu quy tắc khi tham gia giao thông đường bộ”:

Hình 4.8: Usecase Tra cứu quy tắc khi tham gia giao thông đường bộ

Cho phép người dùng tra cứu quy tắc về giao thông đường bộ

1 Chọn mục “Khái niệm, quy tắc” ở thanh Footer

2 Chọn mục “Quy tắc” ở thanh Header

3 Nhập thông tin cần tra cứu vào thanh tìm kiếm

4 Hệ thống trả về danh sách kết quả thỏa điều kiện tìm kiếm

Không có h) Usecase “Xem thông tin, hướng dẫn sử dụng hệ thống”:

Hình 4.9: Usecase Xem thông tin, hướng dẫn

Cho phép người dùng xem các thông tin hoặc hướng dẫn sử dụng hệ thống

1 Chọn mục “Thông tin” ở thanh Footer

2 Chọn mục “Thông tin” ở thanh Header

3 Hệ thống trả về danh sách thông tin, hướng dẫn

4 Nhấn vào một mục để xem chi tiết

Không có i)Usecase “Xem các bản cập nhật hệ thống”:

Hình 4.10: Usecase Xem bản cập nhật hệ thống

Cho phép người dùng xem các bản cập nhật hệ thống

1 Chọn mục “Thông tin” ở thanh Footer

2 Chọn mục “Cập nhật” ở thanh Header

3 Hệ thống trả về danh sách các bản cập nhật

4 Nhấn vào một mục để xem chi tiết

Sơ đồ tuần tự

Hình 4.11: Sơ đồ tuần tự tra cứu lỗi vi phạm

Hình 4.12: Sơ đồ tuần tự tra cứu biển báo

Hình 4.13: Sơ đồ tuần tự xem chi tiết lỗi vi phạm và căn cứ pháp lý

Hình 4.14: Sơ đồ tuần tự tra cứu khái niệm, quy tắc

Hình 4.15: Sơ đồ tuần tự xem thông tin, cập nhật

Sơ đồ cơ sở dữ liệu

Cơ sở dữ liệu của đề tài được xây dựng trên mô hình NoSQL của Cloud Firestore, bao gồm các collections và documents Các collections giữ vai trò chứa các documents liên quan trong cùng một phạm vi truy vấn, trong khi mỗi document trong cùng một collection có mã riêng biệt và cung cấp thông tin chi tiết về một đối tượng, bao gồm lỗi vi phạm, căn cứ, biển báo, khái niệm, quy tắc và bản cập nhật.

Hình 4.16: Sơ đồ cơ sở dữ liệu

Tên Loại Ý nghĩa Ghi chú

Id String Mã của document chứa nội dung lỗi vi phạm Ten String Tên (nội dung) lỗi vi phạm

ChuThe String Chủ thể của lỗi vi phạm

Loai String Loại lỗi vi phạm

PhuongTien String Loại phương tiện

PhatMin String Mức phạt tiền tối thiểu Nếu cả PhatMin và

PhatMax đều trống thì là phạt cảnh cáo PhatMax String Mức phạt tiền tối đa

CanCu Map Căn cứ pháp lý của lỗi vi phạm

Dạng map {Điều: String, Khoản:

String, Điểm: String} Điều và Khoản bắt buộc phải có, Điểm có thể bỏ trống

CoBoSung Boolean Cho biết lỗi vi phạm có hình thức phạt bổ sung hay không

Nếu là true thì mới có thuộc tính BoSung BoSung Map Chi tiết mức xử phạt bổ sung

Dạng map {Nội dung: String, Căn Cứ: map {Điều, Khoản, Điểm, (Điểm 2 nếu có)} Nội dung thể hiện nội dung mức phạt

Có tối đa 2 Điểm trong Căn Cứ Nếu có 2 điểm thì có thuộc tính Điểm 2

CoKhacPhuc Boolean Cho biết lỗi vi phạm có biện pháp khắc phục hay không

Nếu là true thì mới có thuộc tính KhacPhuc KhacPhuc Map Chi tiết biện pháp khắc phục

Dạng map {Nội dung: String, Căn Cứ: map {Điều, Khoản, Điểm,

Có tối đa 2 Điểm trong Căn Cứ Nếu có 2

(Điểm 2 nếu có)} Nội dung thể hiện nội dung biện pháp điểm thì có thuộc tính Điểm 2

ThuongGap Boolean Cho biết lỗi vi phạm có thường gặp hay không TuKhoa String Danh sách các từ khóa liên quan đến lỗi vi phạm

Không chứa các từ đã có ở Tên

Bảng 4.3: Collection Lỗi vi phạm

Tên Loại Ý nghĩa Ghi chú

Id String Mã của document chứa nội dung biển báo Ten String Tên (nội dung) biển báo

Loai String Loại biển báo

So String Số của biển báo

NoiDung String Nội dung ý nghĩa của biển báo

Anh String Chứa đường dẫn đến ảnh minh họa biển báo ở storage HinhDang String Hình dạng của biển báo

MauNen String Màu nền của biển báo

MauHinh là thuộc tính chỉ màu sắc của biển báo; nếu không có hình, giá trị sẽ là “Không có” MauVien xác định màu viền của biển báo; nếu không có viền, giá trị cũng là “Không có” NoiDungHinh chứa danh sách từ khóa thể hiện nội dung hình ảnh trên biển báo.

Nếu không có hình ảnh thì bỏ trống NoiDungChu String Danh sách các từ khóa thể hiện nội dung chữ/số trên biển báo

Nếu không có chữ/số thì bỏ trống

Tên Loại Ý nghĩa Ghi chú

Id String Mã của document chứa nội dung khái niệm/quy tắc Ten String Tên khái niệm hoặc quy tắc

Loai String Thuộc loại Khái niệm hay Quy tắc NoiDung String Nội dung của khái niệm/quy tắc

Bảng 4.5: Collection Khái niệm, quy tắc

Collection CanCu: Đây là collection cấp cao hơn của các collections Dieu Mỗi điều trong Nghị định 100 tương ứng với một collection Dieu VD: Dieu05, Dieu06 …

Collection Dieu là một bộ sưu tập nằm trong bộ sưu tập CanCu, đồng thời cũng là một cấp cao hơn so với các bộ sưu tập Khoan Mỗi khoản trong Collection Dieu tương ứng với một bộ sưu tập Khoan, chẳng hạn như Khoan01, Khoan02, v.v.

Collection Khoan: Là collection lồng trong collection Dieu, mỗi collection Khoan chứa thuộc tính gồm nội dung Khoản và các Điểm trong Khoản

Tên Loại Ý nghĩa Ghi chú

NoiDung String Nội dung của Khoản

Diem Map Danh sách các Điểm có trong

Khoản Dạng Map với các thuộc tính String VD: Diem_a, Diem_b

… Mỗi Điểm có dạng String và chứa nội dung của Điểm đó

Nếu Khoản không phân Điểm thì không có thuộc tính này

Tên Loại Ý nghĩa Ghi chú

Id String Mã của document chứa nội dung bản cập nhật Ngay Timestamp Ngày ra mắt bản cập nhật

NoiDung Array Nội dung thay đổi của bản cập nhật

Tên Loại Ý nghĩa Ghi chú

Id String Mã của document chứa nội dung của thông tin/hướng dẫn

Ten String Tên/tiêu đề của thông tin, hướng dẫn NoiDung Array Nội dung của thông tin, hướng dẫn

Bảng 4.8: Collection Thông tin, hướng dẫn

Kiến trúc hệ thống

Hình 4.17: Kiến trúc hệ thống

- Front-end sử dụng React Native, viết bằng ngôn ngữ JavaScript

- Back-end as Service sử dụng Firebase với Database là Cloud Firestore, sử dụng Cloud Storage để chứa hình ảnh

- Full-text search sử dụng API của Algolia

Thiết kế giao diện

4.5.1 Sơ đồ giao diện ứng dụng:

Hình 4.18: Sơ đồ giao diện

4.5.2 Danh sách màn hình giao diện:

STT Tên màn hình Mô tả

1 Tra cứu lỗi vi phạm dành cho xe máy Gồm thanh tìm kiếm và các nút thể hiện loại vi phạm

2 Tra cứu lỗi vi phạm dành cho xe ô tô

3 Tra cứu lỗi vi phạm dành cho phương tiện khác

4 Danh sách các lỗi vi phạm đã lưu Hiển thị danh sách lỗi vi phạm đã lưu

5 Chi tiết lỗi vi phạm Thể hiện các thuộc tính của lỗi vi phạm đã chọn

6 Chi tiết căn cứ pháp lý Thể hiện căn cứ pháp lý đã chọn

7 Tra cứu biển báo Gồm thanh tìm kiếm, nút tìm kiếm chi tiết và các nút thể hiện loại biển báo

8 Tìm kiếm chi tiết biển báo Gồm thanh tìm kiếm và các trường điều kiện

9 Danh sách kết quả tìm kiếm Hiển thị danh sách các kết quả thỏa mãn điều kiện tìm kiếm

10 Tra cứu khái niệm Gồm thanh tìm kiếm và danh sách khái niệm

11 Tra cứu quy tắc Gồm thanh tìm kiếm và danh sách quy tắc

12 Danh sách thông tin Hiển thị danh sách các thông tin, hướng dẫn khi sử dụng ứng dụng

13 Danh sách cập nhật Hiển thị danh sách các bản cập nhật

Bảng 4.9: Danh sách màn hình

4.5.3 Mô tả chi tiết giao diện: a) Tra cứu lỗi vi phạm:

Hình 4.19: Màn hình chính tra cứu lỗi vi phạm

1 Nút “Xe máy” Button Chọn loại phương tiện tương ứng

4 Nút “Đã lưu” Button Xem các lỗi vi phạm đã lưu

5 Thanh tìm kiếm SearchBar Dùng để nhập giá trị tìm kiếm

6 Các nút loại vi phạm Button Xem các lỗi vi phạm của loại tương ứng

7 Nút “Thường gặp” Button Xem các lỗi vi phạm thường gặp

8 Thanh Footer FooterTab Dùng để di chuyển giữa các màn hình

Bảng 4.10: Chi tiết màn hình tra cứu lỗi vi phạm

Hình 4.20: Màn hình danh sách kết quả tìm kiếm

57 b) Danh sách lỗi vi phạm đã lưu:

Hình 4.21: Nhấn Lưu trong màn hình chi tiết lỗi vi phạm

Hình 4.22: Màn hình danh sách lỗi vi phạm đã lưu

1 Nút “Trở về” Button Quay lại giao diện trước đó

2 Danh sách lỗi vi phạm

FlatList Danh sách lỗi vi phạm đã lưu

3 Nút “Xem chi tiết” Button Xem chi tiết lỗi vi phạm

Bảng 4.11: Chi tiết màn hình danh sách lỗi vi phạm đã lưu

60 c) Chi tiết lỗi vi phạm:

Hình 4.23:Màn hình chi tiết lỗi vi phạm

1 Nút “Trở về” Button Quay lại giao diện trước đó

2 Nút “Lưu”/”Đã lưu” Button Dùng để lưu hoặc bỏ lưu lỗi vi phạm

3 Nút “Xem chi tiết căn cứ pháp lý”

Button Xem chi tiết căn cứ pháp lý của lỗi vi phạm

4 Nút “Xem chi tiết Điều …” Button Xem chi tiết căn cứ pháp lý của mức phạt bổ sung hoặc biện pháp khắc phục

5 Danh sách “Đã xem gần đây

FlatList Hiển thị danh sách các lỗi vi phạm đã xem gần đây

Bảng 4.12: Chi tiết màn hình chi tiết lỗi vi phạm (1)

Hình 4.24: Chú thích các mục trong chi tiết lỗi vi phạm

1 Chủ thể Chủ thể của hành vi vi phạm

2 Nội dung Nội dung hành vi vi phạm

3 Mức phạt hành chính hoặc cảnh cáo

Thể hiện mức phạt hành chính của vi phạm:

“Phạt tiền từ … đến …”; hoặc phạt cảnh cáo:

4 Mức phạt bổ sung Thể hiện nội dung mức phạt bổ sung và căn cứ pháp lý Nếu không có mức phạt bổ sung thì không có dòng này

5 Biện pháp khắc phục Thể hiện nội dung biện pháp khắc phục và căn cứ pháp lý Nếu không có biện pháp khắc phục thì không có dòng này

Bảng 4.13: Chi tiết màn hình chi tiết lỗi vi phạm (2)

64 d) Chi tiết căn cứ pháp lý:

Hình 4.25: Màn hình chi tiết căn cứ pháp lý

1 “Điều … Khoản …” Thể hiện căn cứ pháp lý thuộc Điều mấy, Khoản mấy trong Nghị định 100 Nếu có Điểm sẽ có thêm “Điểm …”

2 Nội dung Khoản Nội dung văn bản của Khoản

3 Nội dung Điểm Nội dung văn bản của Điểm nếu có

Bảng 4.14: Chi tiết màn hình chi tiết căn cứ pháp lý

Hình 4.26: Màn hình chính tra cứu biển báo

1 Thanh tìm kiếm SearchBar Dùng để nhập giá trị tìm kiếm

2 Nút “Tất cả” Button Hiện danh sách tất cả các biển báo

3 Các nút phân loại biển báo

Button Hiện danh sách các biển báo thuộc loại tương ứng

4 Nút “Tìm kiếm chi tiết” Button Chuyển sang màn hình tìm kiếm chi tiết

Bảng 4.15: Chi tiết màn hình tra cứu biển báo

Hình 4.27: Ví dụ tìm kiếm với số biển “401”

Hình 4.28: Kết quả tìm kiếm với số biển “401”

Hình 4.29: Màn hình tìm kiếm chi tiết

1 Nút “Tìm kiếm” Button Thực hiện tìm kiếm theo các điều kiện bên dưới

2 Nút “T” Button Quay lại giao diện trước đó

3 Thanh tìm kiếm SearchBar Dùng để nhập nội dung tìm kiếm theo chữ/số/hình của biển báo

4 Các checkbox bên trái các trường tìm kiếm

Checkbox cho phép người dùng thêm trường tìm kiếm vào điều kiện tìm kiếm Khi người dùng chọn phần màu phía trái, màu sắc sẽ chuyển sang màu cam, đồng thời combobox sẽ cung cấp tùy chọn để chọn giá trị.

5 Các combobox của các trường tìm kiếm

ComboBox Để chọn giá trị cho các trường tìm kiếm Nếu không check vào checkbox thì không thể chọn

Bảng 4.16: Chi tiết màn hình tìm kiếm chi tiết

Hình 4.30: Ví dụ khi cần tìm kiếm với nội dung hình là “người”, hình dạng “Hình tam giác” và màu hình “Đen”

Hình 4.31: Kết quả tìm kiếm chi tiết của ví dụ ở ảnh trên

Hình 4.32: Màn hình tra cứu khái niệm

1 Nút “Khái niệm” Button Chuyển sang tìm “Khái niệm”

2 Nút “Quy tắc” Button Chuyển sang tìm “Quy tắc”

3 Thanh tìm kiếm SearchBar Dùng để nhập nội dung tìm kiếm

4 Danh sách khái niệm FlatList Hiển thị các khái niệm thỏa điều kiện tìm kiếm, khi chưa thực hiện tìm kiếm sẽ hiển thị toàn bộ khái niệm

Bảng 4.17: Chi tiết màn hình tra cứu khái niệm

Hình 4.33: Tìm kiếm khái niệm với từ “hieu lenh”

Hình 4.34: Màn hình tra cứu quy tắc

1 Nút “Khái niệm” Button Chuyển sang tìm “Khái niệm”

2 Nút “Quy tắc” Button Chuyển sang tìm “Quy tắc”

3 Thanh tìm kiếm SearchBar Dùng để nhập nội dung tìm kiếm

4 Danh sách quy tắc FlatList Hiển thị các quy tắc thỏa điều kiện tìm kiếm, khi chưa thực hiện tìm kiếm sẽ hiển thị toàn bộ quy tắc

Bảng 4.18: Chi tiết màn hình tra cứu quy tắc

Hình 4.35: Tìm kiếm quy tắc với từ khóa “đỗ xe”

Hình 4.36: Danh sách thông tin, hướng dẫn

1 Nút “Thông tin” Button Chuyển sang danh sách thông tin

2 Nút “Cập nhật” Button Chuyển sang danh sách cập nhật

3 Danh sách thông tin FlatList Danh sách thông tin, hướng dẫn

4 Nút “Xem thêm” Button Xem nội dung thông tin, hướng dẫn

Bảng 4.19: Chi tiết màn hình danh sách thông tin, hướng dẫn

Hình 4.37: Xem nội dung thông tin, hướng dẫn

83 i) Danh sách bản cập nhật:

Hình 4.38: Danh sách bản cập nhật

1 Nút “Thông tin” Button Chuyển sang danh sách thông tin

2 Nút “Cập nhật” Button Chuyển sang danh sách cập nhật

3 Danh sách cập nhật FlatList Danh sách bản cập nhật hệ thống

4 Nút “Xem thêm” Button Xem nội dung bản cập nhật

Bảng 4.20: Chi tiết màn hình danh sách bản cập nhật

Hình 4.39: Xem chi tiết bản cập nhật

Hướng phát triển

Đề tài Hệ thống tra cứu luật giao thông là đề tài có khả năng phát triển hơn về nhiều điểm:

- Áp dụng các công nghệ tự động để trích xuất và thu thập dữ liệu

- Áp dụng các thuật toán liên quan đến gợi ý văn bản tìm kiếm hoặc gợi ý nội dung liên quan

- Hoàn thiện các tính năng đã có và phát triển thêm tính năng mới hướng đến người dùng

- Tối ưu hóa mã nguồn, nâng cao khả năng xử lý

- Mở rộng phát triển trên nền tảng web

Ngày đăng: 24/12/2021, 22:03

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[6] Algolia Documentation – https://www.algolia.com/doc/ Tài liệu tiếng Việt Link
[1] Knowledge Management in Theory and Practice – Kilmiz Dalkir Khác
[2] Knowledge base 101: Definition, Benefits, Examples and Tips – Matthew Patterson [3] The evaluation of legal knowledge based systems – Andrew Stranieri Khác
[7] Giáo trình Các hệ cơ sở tri thức – Đỗ Văn Nhơn, Nguyễn Đình Hiển Khác
[8] Luật Giao thông đường bộ - Luật số: 23/2008/QH12 Khác
[9] Nghị định Quy định xử phạt vi phạm hành chính trong lĩnh vực giao thông đường bộ và đường sắt – Nghị định số 100/2019/NĐ-CP Khác
[10] Quy chuẩn Kỹ thuật Quốc gia về báo hiệu đường bộ - Quy chuẩn QCVN 41:2019/BGTVT Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Ứng dụng iThong - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 2.1 Ứng dụng iThong (Trang 23)
Hình 2.2: Website Thuvienphapluat.vn - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 2.2 Website Thuvienphapluat.vn (Trang 24)
Hình 2.5: Biển số DP.134 Hết hạn chế tốc độ tối đa - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 2.5 Biển số DP.134 Hết hạn chế tốc độ tối đa (Trang 29)
Hình 3.1: Kiến trúc hệ cơ sở tri thức - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 3.1 Kiến trúc hệ cơ sở tri thức (Trang 31)
Hình 3.4: Ví dụ tổ chức dữ liệu của Realtime Database (trái) và Cloud Firestore (phải) - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 3.4 Ví dụ tổ chức dữ liệu của Realtime Database (trái) và Cloud Firestore (phải) (Trang 40)
Hình 3.6: Hình ảnh minh họa biển báo được upload lên Storage - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 3.6 Hình ảnh minh họa biển báo được upload lên Storage (Trang 42)
Hình 4.1: Sơ đồ Usecase tổng - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 4.1 Sơ đồ Usecase tổng (Trang 46)
Hình 4.11: Sơ đồ tuần tự tra cứu lỗi vi phạm - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 4.11 Sơ đồ tuần tự tra cứu lỗi vi phạm (Trang 58)
Hình 4.12: Sơ đồ tuần tự tra cứu biển báo - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 4.12 Sơ đồ tuần tự tra cứu biển báo (Trang 59)
Hình 4.13: Sơ đồ tuần tự xem chi tiết lỗi vi phạm và căn cứ pháp lý - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 4.13 Sơ đồ tuần tự xem chi tiết lỗi vi phạm và căn cứ pháp lý (Trang 60)
Hình 4.14: Sơ đồ tuần tự tra cứu khái niệm, quy tắc - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 4.14 Sơ đồ tuần tự tra cứu khái niệm, quy tắc (Trang 61)
Hình 4.15: Sơ đồ tuần tự xem thông tin, cập nhật - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 4.15 Sơ đồ tuần tự xem thông tin, cập nhật (Trang 62)
Hình 4.17: Kiến trúc hệ thống - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 4.17 Kiến trúc hệ thống (Trang 68)
Hình 4.18: Sơ đồ giao diện - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Hình 4.18 Sơ đồ giao diện (Trang 69)
Bảng 4.10: Chi tiết màn hình tra cứu lỗi vi phạm - KHÓA LUẬN TỐT NGHIỆP HỆ THỐNG TRA CỨU LUẬT GIAO THÔNG
Bảng 4.10 Chi tiết màn hình tra cứu lỗi vi phạm (Trang 73)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w