1.4 MỤC TIÊU:1.4.1 Nội dung: - Phần mềm xây dựng trên nền tảng hệ điều hành Android và sử dụng Online, lấy dữ liệu từ WebSever về ứng dụng và hiển thị thông tin cho người dùng xem.. Tập
Trang 1MỤC LỤC
DANH MỤC HÌNH i
DANH MỤC BẢNG ii
LỜI CẢM ƠN iii
NHẬN XÉT CỦA GIẢNG VIÊN iv
CHƯƠNG 1: TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ: 1
1.2 TÍNH CẦN THIẾT: 1
1.3 TÍNH MỚI CỦA ĐỀ TÀI: 1
1.4 MỤC TIÊU: 2
1.4.1 Nội dung: 2
1.4.2 Phương pháp chính: 2
1.4.3 Phạm vi: 2
1.5 KẾ HOẠCH THỤC HIỆN: 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 LỊCH SỬ PHÁT TRIỂN CỦA HỆ ĐIỀU HÀNH ANDROID: 4
2.2 GIỚI THIỆU VỀ ANDROID STUDIO IDE: 5
2.2.1 ANDROID STUDIO? 5
2.2.2 Tìm hiểu về Activity và XML: 6
2.3 NGÔN NGỮ LẬP TRÌNH PHP VÀ CƠ SỞ DỮ LIỆU MYSQL: 8
2.3.1 Ngôn ngữ lập trình PHP: 8
2.3.2 MySQL là gì? 9
2.3.3 Java là gì? 9
CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 11
3.1 NỘI DUNG: 11
3.1.1 Tóm tắt chức năng nhiệm vụ: 11
3.1.2 Yêu cầu của Ứng dụng android: 13
3.1.3 Mô tả chi tiết các đối tượng: 13
3.1.4 Mô hình thực thể kết hợp(MCD): 15
3.1.5 Chuyển sang MLD 16
3.1.6 Mô hình MLD 16
3.1.7 Mô hình MPD 17
3.1.8 Lưu đồ Đăng nhập: 18
3.1.9 Lưu đồ thêm: 18
3.1.10 Lưu đồ sửa: 19
3.1.11 Lưu đồ xóa: 19
Trang 23.1.12 Lưu đồ ứng dụng: 20
3.2 Thiết kế giao diện và chức năng của ứng dụng 21
3.2.1 Giao diện đăng nhập/đăng ký 21
3.2.2 Giao diện màn hình chính 23
3.2.4 Giao diện biển báo 25
3.2.5 Giao diện các mức phạt 26
3.2.6 Giao diện quản lý 27
3.2.7 Giao diện quản lý Account 27
3.2.8 Giao diện quản lý vi phạm 29
3.2.9 Giao diện quản lý giấy phép lái xe 31
3.2.10 Giao diện quản lý xe 32
3.2.11 Giao diện tra cứu giấy phép lái xe 34
3.2.12 Giao diện tra cứu xe 35
KẾT QUẢ THỰC HIỆN 37
4.1 KẾT QUẢ: 37
4.2 HẠN CHẾ: 37
4.3 HƯỚNG PHÁT TRIỂN: 37
TÀI LIỆU THAM KHẢO 38
Trang 3DANH MỤC HÌNH
Hình 1: Giao diện Công cụ Android Studio 6
Hình 2: Minh họa ngôn ngữ PHP 8
Hình 3:Minh họa ngôn ngữ MySQL 9
Hình 4: Minh họa ngôn ngữ Java 10
Hình 5: Giao diện phpMyAdmin của Hostinger 11
Hình 6: Giao diện file PHP xem thông tin xe từ bảng thongtinxe 11
Hình 7: Giao diện phần mềm File Zilla khi đã kết nối với Hosting 12
Hình 8: Giao diện lập trình ứng dụng của phần mền Android Studio 12
Hình 9: Mô hình thực thể kết hợp (MCD) 15
Hình 10: Mô hình MLD 16
Hình 11: Mô hình MPD 17
Hình 12: Lưu đồ đăng nhập 18
Hình 13: Lưu đồ thêm 18
Hình 14: Lưu đồ sửa 19
Hình 15: Lưu đồ xóa 19
Hình 16: Lưu đồ ứng dụng 20
Hình 17: Giao diện đăng nhập 21
Hình 18: Giao diện đăng nhập bị lỗi 21
Hình 19: Giao diện đăng ký tài khoản 22
Hình 20: Giao diện màn hình chính 23
Hình 21: Giao diện thông tin người dùng 23
Hình 22: Giao diện 150 câu hỏi và đáp án thi bằng lái A1 24
Hình 23: Giao diện biển báo 25
Hình 24: Giao diện các mức phạt 26
Hình 25: Giao diện các mức phạt: quái xế, hình ảnh và phổ biến 26
Hình 26: Giao diện quản lý 27
Hình 27: Giao diện quản lý Account 27
Hình 28: Giao diện thêm, sửa, xóa Account 28
Hình 29: Giao diện quản lý thông tin vi phạm 29
Hình 30: Giao diện thêm, sửa, xóa thông tin vi phạm 29
Hình 31: Giao diện quản lý giấy phép lái xe 31
Hình 32: Giao diện thêm, sửa, xóa giấy phép lái xe 31
Hình 33: Giao diện quản lý xe 32
Hình 34: Giao diện thêm, sửa, xóa thông tin xe 33
Hình 35: Giao diện tra cứu giấy phép lái xe 34
Hình 36: Giao diện thông tin giấy phép lái xe và vi phạm 34
Hình 37: Giao diện tra cứu thông tin xe 35
Hình 38: Giao diện thông tin xe và vi phạm 36
Trang 4DANH MỤC BẢNG
Bảng 1: Kế hoạch thực hiện 3
Bảng 2: Bảng Account 13
Bảng 3: Bảng thông tin giấy phép lái xe 14
Bảng 4: Bảng thông tin xe 14
Bảng 5: Bảng thông tin vi phạm 15
Trang 5CHƯƠNG 1: TỔNG QUAN1.1 ĐẶT VẤN ĐỀ:
Ngày nay, xã hội phát triển cũng như sự xuất hiện ngày càng tăng của xe máy
do tính tiện lợi Bên cạnh đó là số lỗi vi phạm giao thông cũng tăng lên do ý thức của 1
số người dân chưa tốt Thực trạng hiện nay, vấn đề xử phạt vi phạm giao thông củacảnh sát giao thông ở nhiều nơi còn xảy ra bất cập như: nhận hối lộ, ra quyết định xửphạt nhưng không đúng thẩm quyền, bắt lỗi vi phạm của người tham gia giao thông vô
cớ để vòi tiền mãi lộ,… và người tham gia giao thông chưa hiểu rõ hết luật giao thôngđường bộ, các mức phạt và thông tin vi phạm để có thể làm đơn khiếu nại về việc cảnhsát giao thông phạt sai lỗi vi phạm của mình hoặc tố giác các hành vi tiêu cực của cảnhsát giao thông
Mặc dù nước ta đang tiến tới hội nhập với các nước trên thế giới bằng conđường công nghiệp hóa, hiện đại hóa đất nước, Nhưng quy định xử phạt vi phạm hànhchính nói chung, vi phạm giao thông nói riêng hiện nay, cán bộ giao thông vẫn còn raquyết định xử phạt bằng văn bản hành chính trên giấy, thiếu tính hiện đại và côngnghệ Chính vì thế việc quản lý các văn bản quyết định xử phạt bằng giấy đó khôngđược an toàn, rất dễ thất lạc và thiếu tính minh bạch Song song đó là cán bộ xử lý viphạm mất nhiều thời gian, công sức trong việc tìm kiếm hồ sơ vi phạm Vì vậy, để đápứng nhu cầu quản lý đó, tôi đã triển khai Phần mềm quản lý thông tin vi phạm xe máy
1.2 TÍNH CẦN THIẾT:
- Việc tạo ra một phần mềm giúp cảnh sát giao thông lưu thông tin vi phạm giaothông 1 cách dễ dàng và người dân có thể tra cứu thông tin vi phạm của mình nhanhchóng và tiện lợi hơn là nhu cầu cấp thiết nhất hiện nay Ngoài ra, chức năng tra cứuthông tin giấy phép lái xe và thông tin xe giúp cán bộ giao thông kiểm soát, ngăn chặnđược các loại giấy tờ xe và giấy phép lái xe giả
1.3 TÍNH MỚI CỦA ĐỀ TÀI:
- Chỉ cần 1 thiết bị di động, thông tin lỗi vi phạm giao thông được cập nhật mộtcách nhanh chóng, chính sát, hiệu quả cho cán bộ xử lý vi phạm, tiết kiệm thời gian vànhân lực cho việc quản lý vi phạm xe máy Đồng thời người dân cũng có thể tra cứuthông tin mức phạt, giấy phép lái xe, biển số, lỗi vi phạm của mình một cách nhanhchóng, tiện lợi và học luật giao thông đường bộ ở bất cứ khi nào mà mình muốn
Trang 61.4 MỤC TIÊU:
1.4.1 Nội dung:
- Phần mềm xây dựng trên nền tảng hệ điều hành Android và sử dụng Online, lấy
dữ liệu từ WebSever về ứng dụng và hiển thị thông tin cho người dùng xem Phầnmềm đáp ứng được các nhu cầu quản lý và tra cứu thông về thông tin xe, thông tingiấy phép lái xe, thông tin vi phạm xe máy
1.4.2 Phương pháp chính:
- Thiết kế cơ sở dữ liệu MySQL để chứa: thông tin Account, thông tin vi phạm,
thông tin xe, thông tin giấy phép lái xe
- Sử dụng file PHP để tương tác với cơ sở dữ liệu MySQL truyền về ứng dụng
Android
- Sử dụng Hosting để chứa cơ sở dữ liệu MySQL và file PHP đã tạo.
- Sử dụng công cụ phần mềm Android Studio để lập trình phần mềm nhận thông
tin từ Sever hosting gửi về
- Sử dụng ngôn ngữ lập trình PHP, MySQL, Java.
1.4.3 Phạm vi:
Phần mềm được áp dụng cho Bộ giao thông vận tải sử dụng trong việc quản lýthông tin vi phạm giao thông
1.5 KẾ HOẠCH THỤC HIỆN:
Tuần 1 Thiết kế và liên kết 4 bảng dữ liệu: thông tin Account, thông tin vi
phạm, thông tin xe, thông tin giấy phép lái xe bằng phần mềmPowerDesign và xuất ra file SQL
Tuần 2 Dùng file SQL đã tạo để import vào MySQL Tạo các file PHP để tương
tác: xem, thêm, sửa, xóa cơ sở dữ liệu MySQL bằng cách thực thi vớiXAMPP chạy trên localhost
Tuần 3 Xây dựng ứng dụng Android bằng công cụ lập trình Android Studio, tạo
các giao chính: đăng nhập, màn hình chính, quản lý, tra cứu
Tuần 4 Lấy dữ liệu từ localhost về ứng dụng Xây dựng logic: đăng nhập, đăng
xuất, đăng ký ở giao diện đăng nhập và màn hình chính
Tuần 5 Xử lý dữ liệu: thêm, sửa, xóa và tra cứu ở giao diện quản lý và giao diện
Trang 7Tuần 6 Tạo tài khoản Hostinger để chứa dữ liệu trực tuyến, import file SQL và
file PHP tương tác dữ liệu đã tạo lên hosting
Tuần 7 Thêm các chức năng phụ: biển báo, các múc phạt, 150 câu hỏi ôn thi
bằng lái
Tuần 8 Chỉnh sửa giao diện đẹp hơn, phù hợp với ứng dụng, Sửa các lỗi phát
sinh, kiểm thử
Bảng 1: Kế hoạch thực hiện
Trang 8CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 LỊCH SỬ PHÁT TRIỂN CỦA HỆ ĐIỀU HÀNH ANDROID:
Android là một hệ điều hành dành cho thiết bị di động như điện thoại, máy tính bảng và netbooks Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trênlõi Linux do công ty Android Inc (California, Mỹ) thiết kế Tập đoàn Android (Inc)được thành lập tại Palo Alto,California, Hoa Kỳ vào tháng 10 năm 2003 bởi AndyRubin, Rich Miner, và một số thành viên khác, với mục đích để phát triển hay tạo racác thiết bị di động thông minh hơn phục vụ các mục đích cho lợi ích con người Nhânviên chính tham gia vào việc thành lập Android Inc bao gồm Andy Rubin, cũng làđồng sáng lập của Danger Inc, Andy McFadden là người đã làm việc với Rubin tạiWebTV, và Chris White người đã lãnh đạo việc thiết kế và giao diện của WebTV.Nhân viên quan trọng khác bao gồm Richard Miner, đồng sáng lập củaWildfire Communications Inc và cựu phó chủ tịch công nghệ và tương lai ở Orange,
và tất cả những người trong số họ sử dụng các kinh nghiệm có được để góp phần vàoviệc phát triển ngành công nghiệp không dây của công ty Bước đầu, hệ điều hànhAndroid chỉ đơn thuần là phần mềm trên điện thoại di động Google mua lại AndroidInc vào tháng 8 năm 2005 và Android Inc trở thành một công ty con của Google Inc.Các nhân viên chính của Android Inc, trong đó có Andy Rubin, Rich Miner và ChrisWhite vẫn tiếp tục làm việc tại công ty này sau khi bị mua lại
Tại Google, nhóm nghiên cứu dẫn đầu bởi Rubin phát triển một nền tảng thiết
bị di động được hỗ trợ bởi nhân Linux Google tung ra thị trường các nền tảng để cácnhà sản xuất thiết bị cầm tay và các nhà cung cấp có thể sử dụng linh hoạt và có khảnăng nâng cấp Google đã lên danh sách hàng loạt các thành phần phần cứng và cácđối tác phần mềm và là dấu hiệu cho thấy Google đang hợp tác để phát triển một hệđiều hành dành riêng cho di động Ý định của Google để tham gia thị trường di độngtiếp tục xây dựng thông qua tháng 12 năm 2006 Các báo cáo từ BBC và The WallStreet Journal chỉ nghĩ rằng Google muốn xây dựng ứng dụng tìm kiếm trên điện thoại
di động Print and online media đã viết một số bài viết về những tin đồn rằng Google
đã phát triển một chiếc điện thoại mang thương hiệu Google Một số suy đoán rằng,Google đã được xác định thông số kỹ thuật, mẫu thiết kế điện thoại, nhà sản xuất phầncứng và nhà khai thác mạng Vào tháng 9 năm 2007, InformationWeek thông qua một
Trang 9nghiên cứu báo cáo Evalueserve rằng Google đã nộp đơn sáng chế nhiều trong lĩnhvực điện thoại di động
Android có một cộng đồng phát triển ứng dụng rất lớn, hiện có khoảng hơn70.000 ứng dụng có sẵn cho Android và đang liên tục được cập nhật Ứng dụng đượcphát triển bằng ngôn ngữ Java kết hợp với thư viện Java có sẵn của Google Các nhàphát triển ứng dụng có thể sử dụng máy tính chạy hệ điều hành Windows hoặc MacOShoặc Linux kết hợp với Android SDK để phát triển ứng dụng cho Android Hệ điềuhành Android bao gồm 12.000.000 dòng mã trong đó có 3.000.000 dòng XML,2.800.000 dòng C, 2.100.000 dòng Java, và 1.750.000 dòng C + + Andorid được pháttriển nhằm cạnh tranh với các hệ điều hành di động khác như iOS (Apple), BlackBerry
OS, Windows Mobile (Microsoft), Symbian (Nokia), Samsung (Bada), WebOS(Palm) Theo thống kê trong quý II năm 2010 tại Mỹ, hệ điều hành Android chiếm thịphần 33% (cao nhất) trong tổng số các hệ điều hành di động được bán ra, thứ 2 làBlackBerry OS 28% và iOS (Apple) xếp thứ 3 với 22%
2.2 GIỚI THIỆU VỀ ANDROID STUDIO IDE:
2.2.1 ANDROID STUDIO?
- Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để
phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điệnthoại smartphone, các tablet Android Studio được đóng gói với một bộ code editor,debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó cótrình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trênmáy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từđơn giản tới phức tạp
- Việc xây dựng một ứng dụng mobile (hoặc tablet) bao gồm rất nhiều các côngđoạn khác nhau Đầu tiên chúng ta sẽ viết code ứng dụng sử dụng máy tính cá nhânhoặc laptop Sau đó chúng ta cần build ứng dụng để tạo file cài đặt Sau khi build xongthì chúng ta cần copy file cài đặt này vào thiét bị mobile (hoặc table) để tiến hành càiđặt ứng dụng và chạy kiểm thử (testing) Bạn thử tưởng tượng nếu với mỗi lần viếtmột dòng code bạn lại phải build ứng dụng, cài đặt trên điện thoại hoặc tablet và sau
đó chạy thử thì sẽ vô cùng tốn thời gian và công sức Android Studio được phát triển
để giải quyết các vấn đề này Với Android Studio tất cả các công đoạn trên được thựchiện trên cùng một máy tính và các quy trình được tinh gọn tới mức tối giản nhất
Trang 10- Android Studio là một IDE (Intergrated Development Environment) đượcgoogle xây dựng và cung cấp miễn phí cho các nhà phát triển ứng dụng Android.Android studio dựa vào IntelliJ IDEA, là một IDE tốt cho nhất Java hiện nay Do đóAndroid Studio sẽ là môi trường phát triển ứng dụng tốt nhất cho Android.
- Để cài đặt android studio có thể vào đường dẫn sau để tải bản mới nhất và tiếnhành cài đặt:
- Mỗi một Activity này sẽ có một vòng đời riêng độc lập hoàn toàn với cácActivity khác, việc hiểu rõ vòng đời của Activity là rất quan trọng trong việc xử lýthông tin
- Mỗi một Activity muốn được triệu gọi trong ứng dụng thì bắt buộc nó phảiđược khai báo trong Manifest
Trang 11- Thẻ intent-filter với một action và category là cáchhệ thống nhận biết Activitynào để mở trước tiên khi người dùng chọn ứng dụng.
- Khi tạo ra một Activity, có thể cần kết hợp nó với một tập tin Layout XML để
có thể dễ dàng sử dụng các đối tượng View từ Layout Có thể làm điều này trongphương thức onCreate ()
Vòng đời của Activity:
- onCreate() Đây là phương thức callback đầu tiên và được gọi khi Activity được tạo đầu tiên onStart() Phương thức callback này được gọi khi Activity trở nên nhìn thấy tới người dùng onResume() Được gọi khi người dùng bắt đầu tương tác với ứng dụng onPause() Activity tạm dừng không nhận input từ người dùng và không thể
thực thi bất cứ code nào và được gọi khi activity hiện tại đang được dừng và activity
trước đó đang được phục hồi onStop() Callback này được gọi trươc skhi activity bị hủy bởi hệ thống onDestroy() Callback này được gọi trươc skhi activity bị hủy bởi hệ thống onRestart() Được gọi khi activity tái khởi động sau khi dừng nó.
- Phương thức onSaveInstanceState() được gọi khi một Activity bị phá hủy và cho phép bạn lưu các thông tin đơn giản trong Bundle Khi onCreate() được gọi một
lần nữa, bạn có thể trích xuất thông tin mà bạn đã lưu trước đó Điều tương tự cũng có
thể được thực hiện từ phương thức onRestoreInstanceState()
2.2.2.2 XML là gì?
- XML ở đây là một tập tin XML có lưu trữ dữ liệu dưới dạng các thẻ mở và thẻđóng XML (Extensible Markup Language) là một chuẩn được thiết lập để đọc các tàiliệu được mã hóa Nó được định nghĩa trong kỹ thuật viết XML của W3C
- XML tương tự như HTML, nhưng các <thẻ phần từ> là do người dùng tự địnhnghĩa
- XML được thiết kế đơn giản, dễ hiểu và dễ gửi và nhận trong môi trườngInternet
Trang 12- Rất nhiều công ty nổi tiếng trên thế giới sử dụng chuẩn XML này để lưu trữ dữliệu nội bộ như: Microsoft Office, OpenOffice.org, và iWork của Apple.
2.3 NGÔN NGỮ LẬP TRÌNH PHP VÀ CƠ SỞ DỮ LIỆU MYSQL:
2.3.1 Ngôn ngữ lập trình PHP:
- PHP viết tắt của Hypertext Preprocessor, là một ngôn ngữ lập trình kịch bảnhay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máychủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể
dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độnhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩmtương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thànhmột ngôn ngữ lập trình web phổ biến nhất thế giới
- PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị
cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP)
- Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt
- MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress,
Oracle, SQL server ) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu
- Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các
webserver Thông thường các phiên bản được sử dụng nhiều nhất là RedHat EnterpriseLinux, Ubuntu
Hình 2: Minh họa ngôn ngữ PHP
Trang 132.3.2 MySQL là gì?
- MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL
là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ
và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet Người dùng có thể tải về MySQL miễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
- MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
- MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, làm
nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
Hình 3:Minh họa ngôn ngữ MySQL
2.3.3 Java là gì?
Java là một ngôn ngữ lập trình hướng đối tượng và dựa trên các lớp (class).
Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mãnguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biêndịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi/chạy.Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như C
và C++, nhưng sau này nhờ công nghệ "biên dịch tại chỗ" - Just in time compilation,khoảng cách này đã được thu hẹp, và trong một số trường hợp đặc biệt Java có thể
Trang 14chạy nhanh hơn Java chạy nhanh hơn những ngôn ngữ thông dịchnhư Python, Perl, PHP gấp nhiều lần Java chạy tương đương so với C#, một ngôn ngữkhá tương đồng về mặt cú pháp và quá trình dịch/chạy.
- Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối
tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn Do đó việc viết một chươngtrình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn
Hình 4: Minh họa ngôn ngữ Java
Trang 15CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
3.1 NỘI DUNG:
3.1.1 Tóm tắt chức năng nhiệm vụ:
- Dùng phpMyAdmin của Hostinger thiết kế cơ sở dữ liệu MySQL để chứa cácbảng: thông tin Account, thông tin vi phạm, thông tin xe, thông tin giấy phép lái xe
Hình 5: Giao diện phpMyAdmin của Hostinger
- Sử dụng file PHP để tương tác với cơ sở dữ liệu MySQL truyền về ứng dụngAndroid
Hình 6: Giao diện file PHP xem thông tin xe từ bảng thongtinxe
Trang 16- Sử dụng phần mềm FileZilla tải file PHP đã tạo lên Hosting.
Hình 7: Giao diện phần mềm File Zilla khi đã kết nối với Hosting
- Sử dụng công cụ phần mềm Android Studio để lập trình phần mềm giao tiếp và
xử lý thông tin từ Sever hosting gửi về
Hình 8: Giao diện lập trình ứng dụng của phần mền Android Studio
- Ứng dụng có các chức năng:
Trang 17+ Đối với người dùng
Đăng ký/đăng nhập Account
Sửa thông tin Account
Tra cứu thông tin giấy phép lái xe, biển số, mức phạt, thông tin vi phạm vàhọc luật
+ Đối với cán bộ giao thông
Thêm, sửa, xóa thông tin giấy phép lái xe, biển số và thông tin vi phạm+ Đối với cán bộ quyền quản trị
Thêm, sửa, xóa thông tin account, giấy phép lái xe, biển số và vi phạm
3.1.2 Yêu cầu của Ứng dụng android:
- Sản phẩm là một ứng dụng hoàn chỉnh chạy trên hệ điều hành Android, đáp ứng
đúng yêu cầu thực tế của người dùng và cán bộ giao thông
- Ứng dụng quản lý tất cả các thông tin account, giấy phép lái xe, biển số và
thông tin vi phạm trên cả nước
- Thực hiện thêm, sửa, xóa chính sát.
3.1.3 Mô tả chi tiết các đối tượng:
Trang 1812 QUYEN Varcha
Bảng 2: Bảng Account
b Bảng thông tin giấy phép lái xe:
STT Tên thuộc tính Loại Kiểu Độ dài Ràng buộc Diễn giải
tuyểnBảng 3: Bảng thông tin giấy phép lái xe
c Bảng thông tin xe:
STT Tên thuộc tính Loại Kiểu Độ dài Ràng buộc Diễn giải
phép chở
Integer 10 Not null Mã lỗi vi phạm
Trang 195 BIENSOVIPHAM Varchar 20 Not null Biển số vi
phạm
lái xe vi phạm
9 BIENPHAPXUPHAT Varchar 500 Not null Biện pháp xử
phạt
Bảng 5: Bảng thông tin vi phạm
3.1.4 Mô hình thực thể kết hợp(MCD):
1,n 1,1
1,1 1,n
1,1 1,n
Integer Variable characters (200) Variable characters (20) Variable characters (150) Variable characters (20) Variable characters (50) Variable characters (50) Variable characters (500) Variable characters (200) Variable characters (1000)
<M>
thongtingplx MAGPLX
SOGPLX TEN NGAYSINH QUOCTICH NOICUTRU HANG THOIHAN NGAYTRUNGTUYEN
Integer Variable characters (20) Variable characters (50) Variable characters (15) Variable characters (150) Variable characters (5) Variable characters (20) Variable characters (15)
<M>
account ID
TAIKHOAN MATKHAU TEN NGAYVIPHAM CMND DIACHI GIOITINH SDT NGHENGHIEP EMAIL QUYEN
Integer Variable characters (50) Variable characters (50) Variable characters (50) Variable characters (20) Variable characters (15) Variable characters (150) Variable characters (10) Variable characters (12) Variable characters (50) Variable characters (50) Variable characters (1)
Trang 20- thongtinvipham (MAVP, TENVIPHAM, NGAYVIPHAM, NOIVIPHAM,BIENSOVIPHAM,NGUOIVIPHAM,SOGPLXVP,CANBOXUPHAT,BIENPHAPXUPHAT,PHATBOSUNG, ANHVIPHAM ).
Ràng buộc tham chiếu:
- Thongtinvipham (ID) account (ID)
- Thongtinvipham (MAXE) thongtinxe (MAXE)
- Thongtinvipham (MAGPLX) thongtingplx (MAGPLX)
3.1.6 Mô hình MLD
do them,sua,xoa
MAVP TENVIPHAM NGAYVIPHAM NOIVIPHAM BIENSOVIPHAM NGUOIVIPHAM CANBOXUPHAT BIENPHAPXUPHAT PHATBOSUNG ANHVIPHAM
Integer Variable characters (200) Variable characters (20) Variable characters (150) Variable characters (20) Variable characters (50) Variable characters (50) Variable characters (500) Variable characters (200) Variable characters (1000)
thongtingplx
* o o o o o o o o
MAGPLX SOGPLX TEN NGAYSINH QUOCTICH NOICUTRU HANG THOIHAN NGAYTRUNGTUYEN
Integer Variable characters (20) Variable characters (50) Variable characters (15) Variable characters (20) Variable characters (150) Variable characters (5) Variable characters (20) Variable characters (15)
account
* o o o o o o o o o o o
ID TAIKHOAN MATKHAU TEN NGAYVIPHAM CMND DIACHI GIOITINH SDT NGHENGHIEP EMAIL QUYEN
Integer Variable characters (50) Variable characters (50) Variable characters (50) Variable characters (20) Variable characters (15) Variable characters (150) Variable characters (10) Variable characters (12) Variable characters (50) Variable characters (50) Variable characters (1)
Hình 10: Mô hình MLD
Trang 213.1.7 Mô hình MPD
do FK_THONGTIN_DO_THONGTIN
them,sua,xoa FK_THONGTIN_THEM_SUA ACCOUNT
cua FK_THONGTIN_CUA_THONGTIN
TENVIPHAM NGAYVIPHAM NOIVIPHAM BIENSOVIPHAM NGUOIVIPHAM CANBOXUPHAT BIENPHAPXUPHAT PHATBOSUNG ANHVIPHAM
thongtingplx MAGPLX
SOGPLX TEN NGAYSINH QUOCTICH NOICUTRU HANG THOIHAN NGAYTRUNGTUYEN
account ID
TAIKHOAN MATKHAU TEN NGAYVIPHAM CMND DIACHI GIOITINH SDT NGHENGHIEP EMAIL QUYEN
Hình 11: Mô hình MPD
Trang 223.1.8 Lưu đồ Đăng nhập:
Hình 12: Lưu đồ đăng nhập
3.1.9 Lưu đồ thêm:
Nhập tài khoản và mật khẩu
Kiểm tra tài khoản & mật