Hệ thống sẽ cung cấp khả năng tìm kiếm nhanh chóng và chính xác, tra cứu thông tin chi tiết của các văn bản pháp luật, đồng bộ hóa dữ liệu từ các nguồn tài liệu pháp luật, thông báo cập
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC PHENIKAA
BÀI TẬP LỚN
Chủ đề: Phầm mềm hỗ trợ quá trình xử phạt vi phạm
hành chính lĩnh vực lâm nghiệp trên nền tảng mobile
Giảng viên hỗ trợ: Phạm Văn Hà
Khoa chuyên môn: Công nghệ thông tin Nhóm sinh viên thực hiện bài thi:
1 Dương Thị Thu An 20010835 K14CNTT3
2 Nguyễn Đại Phát 21010625 K15CNTT2
3 Lường Tú Đạt 21011592 K15CNTT2
4 Nguyễn Anh Tuấn 21010626 K15CNTT2
5 Trinh Huy Hoàng 21010622 K15CNTT2
6 Nguyễn Trọng Huynh 21012501 K15CNTT5
HÀ NỘI, 5/2023
Trang 2MỤC LỤC
MỞ ĐẦU………
……… 5
Chương 1: Xác định yêu cầu……… …5
1.1 Giới thiệu bối cảnh và đối tượng khách hàng……….…5
1.2 Vấn đề cần giải quyết………5
1.3 Yêu cầu chung đối với vấn đề cần giải quyết……… 5
Chương 2: Phân tích thiết kế hệ thống……… 6
2.1 Phân tích yêu cầu của khách hàng……… 6
2.2 Thiết kế chức năng……… …7
2.3 Cơ sở dữ liệu……….8
2.4 Thiết kế giao diện………10
Chương 3: Triển khai………15
3.1 Lựa chọn và trình bày giải pháp công nghệ……….…15
3.2 Thử nghiệm và đánh giá kết quả vận hành……….….16
3.3 Ưu điểm và nhược điểm của hệ thống……… 16
3.4 Kết luận……… 17
Mục lục hình ảnh
Trang 3Hình 1 Giao diện đăng nhập……… …10
Hình 2 Giao diện trang chủ người dùng thông thường……… 11
Hình 3 Giao diện trang chủ admin……….12
Hình 4 Giao diện sửa thông tin ……….13
Hình 5 Giao diện xóa thông tin……… 14
Hình 6 Giao diện tìm kiếm……….15
Mục lục bảng Bảng 1 Phân chia công việc nhóm……….19
Trang 4MỞ ĐẦU
Lý do chọn đề tài xây dựng hệ thống tra cứu pháp luật trên mobile là nhằm đáp ứng nhu cầu ngày càng tăng của người dùng trong việc truy cập và tra cứu thông tin pháp luật một cách thuận tiện và nhanh chóng Hiện nay, với sự phát triển mạnh mẽ của công nghệ di động, việc sử dụng thiết bị di động để truy cập thông tin đã trở thành xu hướng phổ biến Tuy nhiên, việc tìm kiếm và truy cập thông tin pháp luật trên mobile vẫn còn gặp nhiều khó khăn, tính không đồng nhất và khó khăn trong việc tra cứu thông tin chi tiết
Mục đích của đề tài là xây dựng một hệ thống tra cứu pháp luật trên mobile thông qua sử dụng công nghệ Xamarin Forms và ngôn ngữ lập trình C# Hệ thống sẽ cung cấp khả năng tìm kiếm nhanh chóng và chính xác, tra cứu thông tin chi tiết của các văn bản pháp luật, đồng bộ hóa dữ liệu từ các nguồn tài liệu pháp luật, thông báo cập nhật về sửa đổi, bổ sung và thay đổi trong pháp luật, và có giao diện thân thiện với người dùng
Đối tượng của nghiên cứu là người dùng có nhu cầu tra cứu thông tin pháp luật trên mobile, bao gồm các luật sư, nhân viên văn phòng, sinh viên, và công chúng nói chung Hệ thống sẽ được thiết kế và phát triển để đáp ứng nhu cầu của đối tượng này Phạm vi của nghiên cứu sẽ tập trung vào xây dựng hệ thống tra cứu pháp luật trên mobile, bao gồm khả năng tìm kiếm, tra cứu thông tin chi tiết, đồng bộ hóa dữ liệu và thông báo cập nhật Nghiên cứu sẽ tập trung vào việc sử dụng công nghệ Xamarin Forms và ngôn ngữ lập trình C# để xây dựng giao diện người dùng và xử lý logic của
hệ thống
Về mặt khoa học, đề tài đóng góp vào lĩnh vực công nghệ phần mềm và phát triển ứng dụng di động Việc sử dụng công nghệ Xamarin Forms và ngôn ngữ C# trong xây dựng hệ thống tra cứu pháp luật trên mobile mang lại những giải pháp kỹ thuật mới, khả năng tái sử dụng mã nguồn và tăng tính tương thích đa nền tảng Điều này
có ý nghĩa trong việc phát triển các ứng dụng di động khác trong tương lai.
Trang 5NỘI DUNG
Chương 1: Xác định yêu cầu
1.1 Giới thiệu bối cảnh và đối tượng khách hàng
Trong thời đại công nghệ thông tin phát triển, việc truy cập thông tin pháp luật trở nên ngày càng quan trọng đối với nhiều người Đặc biệt, những người làm việc trong lĩnh vực pháp luật, sinh viên luật và công dân thông thường đều cần có sự tiếp cận nhanh chóng và thuận tiện đến các văn bản, thông tin pháp luật
Đối tượng khách hàng của hệ thống tra cứu pháp luật trên mobile là những người cần truy cập thông tin pháp luật từ điện thoại di động Đây có thể là các luật sư, nhân viên công ty luật, sinh viên học ngành pháp luật, cũng như công dân thông thường quan tâm đến việc tìm hiểu về pháp luật
Hệ thống này sẽ cung cấp cho người dùng khả năng tra cứu, tìm kiếm và truy cập các văn bản, thông tin pháp luật từ điện thoại di động một cách dễ dàng và nhanh chóng
1.2 Vấn đề cần giải quyết
Vấn đề cần giải quyết trong đề tài xây dựng hệ thống tra cứu pháp luật trên mobile
là sự khó khăn trong việc truy cập và tìm kiếm thông tin pháp luật từ các nguồn tài liệu pháp luật phong phú
Hiện nay, việc tra cứu thông tin pháp luật trên di động vẫn chưa thuận tiện và đáp ứng đủ nhu cầu của người dùng Người dùng gặp khó khăn trong việc tìm kiếm thông tin pháp luật, xem các văn bản liên quan và nắm bắt được các thông tin mới nhất trong lĩnh vực pháp luật
1.3 Yêu cầu chung đối với vấn đề cần giải quyết
Các yêu cầu chung của hệ thống bao gồm:
- Tính khả thi kỹ thuật: Hệ thống cần được thiết kế và phát triển sao cho khả năng hoạt động ổn định trên các thiết bị di động và mạng internet thông qua công nghệ phù hợp Các công nghệ, ngôn ngữ lập trình và cơ sở dữ liệu phù hợp cần được lựa chọn
và áp dụng để đảm bảo tính khả thi kỹ thuật của hệ thống
- Hiệu suất và độ tin cậy: Hệ thống cần đảm bảo hiệu suất cao và độ tin cậy trong việc truy xuất và hiển thị thông tin pháp luật Các yêu cầu về thời gian phản hồi nhanh, xử lý tải cao và khả năng chịu tải cần được đảm bảo để đáp ứng nhu cầu của người dùng một cách hiệu quả
- Dễ sử dụng và trải nghiệm người dùng: Giao diện người dùng của hệ thống cần được thiết kế một cách trực quan, dễ sử dụng và thân thiện với người dùng Người
Trang 6dùng nên có thể tìm kiếm và truy cập thông tin pháp luật một cách thuận tiện và nhanh chóng, ngay cả đối với những người không có kiến thức chuyên sâu về công nghệ
- Quản lý dữ liệu hiệu quả: Hệ thống cần có khả năng quản lý và tổ chức dữ liệu pháp luật một cách hiệu quả Dữ liệu pháp luật cần được lưu trữ, cập nhật và quản lý sao cho dễ dàng tra cứu và truy xuất
- Hỗ trợ và cập nhật liên tục: Hệ thống cần có cơ chế hỗ trợ và cập nhật liên tục 1.4 Yêu cầu cụ thể
Dựa trên nhu cầu của khách hàng, các yêu cầu cụ thể của hệ thống bao gồm:
- Tìm kiếm nhanh chóng: Hệ thống cần cung cấp khả năng tìm kiếm nhanh chóng
và chính xác các văn bản pháp luật dựa trên các tiêu chí như từ khóa, số hiệu văn bản, tên luật, năm ban hành và các điều khoản liên quan
- Tra cứu thông tin chi tiết: Người dùng cần có khả năng truy cập và xem nội dung chi tiết của các văn bản pháp luật, bao gồm cả các điều khoản, mục lục và thông tin liên quan
- Đồng bộ hóa dữ liệu: Hệ thống cần có khả năng đồng bộ hóa dữ liệu với các nguồn tài liệu pháp luật để đảm bảo rằng thông tin pháp luật được cập nhật và đầy đủ
- Giao diện thân thiện với người dùng: Giao diện người dùng trên mobile cần được thiết kế sao cho dễ sử dụng và thân thiện với người dùng Việc tìm kiếm, truy cập và hiển thị thông tin pháp luật cần được thực hiện một cách trực quan và thuận tiện
- Quyền truy cập và bảo mật: Hệ thống cần đảm bảo rằng chỉ những người dùng có quyền truy cập mới có thể sử dụng hệ thống và truy cập vào các văn bản pháp luật Các biện pháp bảo mật như xác thực người dùng và mã hóa dữ liệu cần được áp dụng
để đảm bảo an toàn thông tin
- Hỗ trợ nền tảng di động: Hệ thống cần tương thích và hỗ trợ trên các nền tảng di động phổ biến như iOS và Android để đáp ứng nhu cầu của người dùng trên các thiết
bị di động
Chương 2 Phân tích thiết kế hệ thống
2.1 Phân tích yêu cầu của khách hàng
Dựa trên yêu cầu của khách hàng nêu trong Chương 1, hệ thống sẽ được thiết kế và giải quyết theo hướng sử dụng công nghệ Xamarin Forms và ngôn ngữ lập trình C#
- Tìm kiếm nhanh chóng: Để đáp ứng yêu cầu này, chúng ta sẽ sử dụng công nghệ Xamarin Forms để xây dựng giao diện người dùng đồng nhất trên cả hai nền tảng di động iOS và Android C# sẽ được sử dụng để viết mã logic và xử lý tìm kiếm, sử
Trang 7dụng các thuật toán tìm kiếm hiệu quả để đảm bảo tìm kiếm nhanh chóng và chính xác
- Tra cứu thông tin chi tiết: Xamarin Forms cung cấp khả năng xây dựng giao diện
đa nền tảng, cho phép chúng ta hiển thị thông tin chi tiết của các văn bản pháp luật một cách trực quan trên cả iOS và Android Bằng cách sử dụng C# và các thư viện hỗ trợ, chúng ta có thể truy cập và hiển thị nội dung chi tiết của các văn bản pháp luật, bao gồm cả các điều khoản, mục lục và thông tin liên quan
- Đồng bộ hóa dữ liệu: Công nghệ Xamarin Forms cho phép chúng ta kết nối và giao tiếp với các nguồn dữ liệu pháp luật từ các nguồn khác nhau Sử dụng C# và các thư viện hỗ trợ, chúng ta có thể thực hiện việc đồng bộ hóa dữ liệu để đảm bảo rằng thông tin pháp luật trong hệ thống luôn được cập nhật và đầy đủ
- Giao diện thân thiện với người dùng: Sử dụng Xamarin Forms, chúng ta có thể xây dựng giao diện người dùng đồng nhất và tương thích trên cả hai nền tảng di động iOS và Android Giao diện sẽ được thiết kế để đơn giản, trực quan và dễ sử dụng, đảm bảo người dùng có trải nghiệm tốt khi sử dụng hệ thống tra cứu pháp luật trên mobile
- Quyền truy cập và bảo mật: Sử dụng C# và các thư viện bảo mật, chúng ta có thể xây dựng các biện pháp bảo mật để đảm bảo quyền truy cập và bảo mật thông tin pháp luật Các biện pháp như xác thực người dùng, mã hóa dữ liệu và các quy tắc phân quyền sẽ được áp dụng để đảm bảo an toàn thông tin
2.2 Thiết kế chức năng
Hệ thống gồm những chức năng sau :
- Tìm kiếm thông tin: khi người dùng gõ vào ô tìm kiếm từ khóa sẽ hiện lên các điều khoản tương ứng với từ khóa đó VD: sau khi gõ vào ô tìm kiếm chữ vận chuyển lâm sản hệ thống sẽ liệt kê các hành vi về vận chuyển lâm sản – khung xử phạt – mức
xử phạt – thẩm quyền xử phạt
- Hiển thị thông tin: VD: Khi người dùng bấm vào nút hiển thị thông tin sẽ hiển thị
ra các trường thông tin như content, create time, decree,…
- Cập nhật thông tin: Hệ thống sẽ cho phép nhóm quản trị (Admin) quyền có thể cập nhật thông tin của các điều khoản
+ Khi chọn 1 Chương/Mục/Điều/Khoản, hê • thống hiển thị nút Sửa hoă •c Xóa + Người dùng chọn “Sửa”
+ Hệ thống sẽ hiển thị các Textbox cho phép sửa các thông tin liên quan
+ Người dùng Sửa các thông tin liên quan
Trang 8+ Người dùng chọn “Lưu” để lưu thông tin hoặc “Hủy” để hủy bỏ quá trình sửa
- Xóa thông tin
+ Khi chọn 1 Chương/Mục/Điều/Khoản, hê • thống hiển thị nút Sửa hoă •c Xóa + Người dùng chọn “Xóa”
+ Hê • thống hiển thị hô •p thoại “Có chắc chắn muốn xóa hay không”
+ Người dụng chọn “Có” để xóa thông tin hoă •c “Hủy” để hủy bỏ quá trình xóa
- Thêm thông tin: Hệ thống sẽ cho phép nhóm quản trị (Admin) quyền có thể thêm thông tin của các điều khoản
+ Khi bấm vào nút “Thêm” hệ thống sẽ hiển thị Textbox cho phép nhập các thông tin liên quan đến các Chương/Mục/Điều/Khoản mới
+ Người dùng thêm các thông tin liên quan
+ Người dùng chọn “Lưu” để lưu thông tin hoặc “Hủy” để hủy bỏ quá trình sửa 2.3 Cơ sở dữ liệu
Cơ sở dữ liệu của ứng dụng tìm kiếm văn bản pháp luật là nơi lưu trữ thông tin về các văn bản luật
Dưới đây là cấu trúc cơ sở dữ liệu cho hệ thống:
- Bảng User:
+ ID( kiểu INTEGER) : Mã duy nhất định danh cho người dùng
+ User Name (kiểu TEXT): Tên đăng nhập của người dùng
+ Password (kiểu TEXT): Mật khẩu được mã hóa của người dùng
+ Email(kiểu TEXT): Địa chỉ email của người dùng
+ Mobile(kiểu TEXT): Số điện thoại người dùng
+ Role(kiểu TEXT): Quyền truy cập người dùng VD: role = admin thì khi đăng nhập
có thể dùng những chức năng thêm, sửa, xóa
+ Ràng buộc: ID là trường khóa chính (PRIMARY KEY) và không được trùng lặp User Name là trường duy nhất (UNIQUE) để đảm bảo không có tên đăng nhập trùng nhau
- Bảng Chapters:
+ ID(kiểu INTEGER): Mã duy nhất định danh cho chương
+ Title(kiểu TEXT): Tên chương
Trang 9+ Content(kiểuTEXT): Nội dung chương
+ Create Time(kiểu TEXT ): Thời gian tạo chương VD: Khi thêm 1 chương mới thời gian create time được cập nhật
+ Update Time(kiểu TEXT): Thời gian sửa chương VD: Khi sửa 1 chương thì thời gian update time được cập nhật
+ Decree(kiểu INTEGER): Số nghị định
+Ràng buộc: ID là trường khóa chính (PRIMARY KEY) và không được trùng lặp
- Bảng Articles:
+ ID(kiểu TEXT): Mã duy nhất định danh cho điều
+ Title(kiểu TEXT): Tên điều
+ Create Time(kiểu TEXT): Thời gian tạo điều
+ Update Time(kiểu TEXT):Thời gian sửa điều
+ Chapter ID(kiểu TEXT): Mã duy nhất định danh cho chương
+ Ràng buộc: ID là trường khóa chính (PRIMARY KEY) và không được trùng lặp Chapter ID là trường khóa ngoại (FOREIGN KEY) liên kết với trường ID trong bảng
“ Chapter”
- Bảng Sections :
+ ID(kiểu TEXT): Mã duy nhất định danh cho các khoản
+ Title(kiểu TEXT): Tên các khoản
+ Content(kiểu TEXT): Nội dung các khoản
+ Min(kiểu TEXT ): Mức phạt thấp nhất cho các khoản
+ Max(kiểu TEXT ): Mức phạt cao nhất cho các khoản
+ Avg(kiểu TEXT): Mức phạt trung bình cho các khoản
+ Create Time(kiểu TEXT): Thời gian tạo khoản
+ Update Time(kiểu TEXT): Thời gian sửa khoản
+ Article ID(kiểu TEXT): Mã duy nhất định danh cho điều
+ Decree ID(kiểu TEXT): Mã duy nhất định danh cho số nghị định
+ Ràng buộc : ID là trường khóa chính (PRIMARY KEY) và không được trùng lặp.Article ID là trường khóa ngoại(FOREIGN KEY) liên kết với trường ID trong bảng “ Articles”
Trang 102.4 Thiết kế giao diện.
Sau đây là giao diện của hệ thống:
Hình 1 Giao diện đăng nhập
Trang 11Hình 2 Giao diện trang chủ người dùng thông thường
Trang 12Hình 3 Giao diện trang chủ admin
Trang 13Hình 4 Giao diện sửa thông tin
Trang 14Hình 5 Giao diện xóa thông tin
Trang 15Hình 6 Giao diện tìm kiếm
Chương 3: Triển khai
Trong chương này, chúng ta sẽ tìm hiểu về lựa chọn và trình bày giải pháp công nghệ
để triển khai phần mềm tra cứu pháp luật rừng với sử dụng cơ sở dữ liệu SQLite, lập trình backend bằng C#, và lập trình frontend bằng Xamarin.Forms Sau đó, chúng ta
sẽ tiến hành thử nghiệm, đánh giá hiệu quả vận hành của hệ thống
3.1 Lựa chọn và trình bày giải pháp công nghệ
Cơ sở dữ liệu SQLite:
Cơ sở dữ liệu SQLite được chọn để lưu trữ và quản lý thông tin về pháp luật rừng SQLite là một hệ quản trị cơ sở dữ liệu nhẹ, không đòi hỏi nhiều tài nguyên và dễ dàng triển khai Nó hỗ trợ các tính năng quan trọng như truy vấn SQL, giao dịch, và bảo mật dữ liệu Sử dụng SQLite giúp đơn giản hóa việc cài đặt và triển khai cơ sở
dữ liệu cho ứng dụng tra cứu pháp luật rừng
Lập trình backend bằng C#:
Trang 16Để xây dựng logic xử lý nghiệp vụ và API cho ứng dụng, chúng ta sẽ sử dụng ngôn ngữ lập trình C# và môi trường phát triển NET Framework C# là một ngôn ngữ mạnh mẽ và phổ biến trong việc phát triển ứng dụng web và di động Sử dụng C# cho lập trình backend giúp xây dựng các chức năng phức tạp và tương tác với cơ
sở dữ liệu SQLite một cách hiệu quả
Lập trình frontend bằng Xamarin.Forms:
Xamarin.Forms sẽ được sử dụng để phát triển giao diện người dùng đa nền tảng cho ứng dụng tra cứu pháp luật rừng Xamarin.Forms cho phép viết một lần và chia
sẻ mã nguồn giao diện cho cả Android và iOS Sử dụng Xamarin.Forms giúp tiết kiệm thời gian và công sức trong việc phát triển và duy trì giao diện người dùng trên nhiều nền tảng
3.2 Thử nghiệm và đánh giá hiệu quả vận hành
Sau khi hoàn thành việc triển khai hệ thống, chúng ta sẽ tiến hành thử nghiệm và đánh giá hiệu quả vận hành của ứng dụng tra cứu pháp luật rừng Quá trình thử nghiệm có thể bao gồm:
Kiểm tra tính năng: Thử nghiệm tất cả các tính năng của ứng dụng để đảm bảo chúng hoạt động một cách chính xác và như mong đợi Kiểm tra tra cứu, hiển thị thông tin chi tiết về pháp luật, tìm kiếm và lọc dữ liệu, và bất kỳ tính năng nào khác liên quan
Độ tin cậy và hiệu suất: Đánh giá độ tin cậy và hiệu suất của ứng dụng trong quá trình sử dụng thực tế Đo thời gian phản hồi, tải dữ liệu, và xử lý yêu cầu từ phía máy chủ Đảm bảo rằng hệ thống hoạt động một cách mượt mà và không có sự cố xảy ra Giao diện người dùng: Kiểm tra giao diện người dùng trên các thiết bị khác nhau
và nền tảng khác nhau để đảm bảo tương thích và trải nghiệm người dùng tốt Kiểm tra bảo mật: Đảm bảo rằng cơ sở dữ liệu SQLite được bảo mật và không bị
lộ thông tin quan trọng Kiểm tra tính bảo mật của API và xử lý dữ liệu đầu vào để ngăn chặn các cuộc tấn công thông qua ứng dụng
Phản hồi người dùng: Thu thập phản hồi từ người dùng về trải nghiệm sử dụng và các cải tiến tiềm năng của ứng dụng Sử dụng phản hồi này để nâng cao chất lượng và khả năng tương tác của ứng dụng trong tương lai
Qua quá trình thử nghiệm và đánh giá, chúng ta sẽ có cái nhìn tổng quan về hiệu quả vận hành của ứng dụng tra cứu pháp luật rừng và cần thực hiện các cải tiến hoặc điều chỉnh cần thiết để đảm bảo ứng dụng hoạt động tốt và đáp ứng yêu cầu của người dùng
3.3.Ưu điểm và nhược điểm của hệ thống