Từ vấn đề thực tiễn đó, nhóm đã nảy lên ý tưởng phát triển hệ thống "Ứng dụng quản lý bãi đậu xeSmart Parking" giúp các tài xế có thể tìm kiếm chỗ đổ xe còn trống gầnnhất thông qua chiếc
Trang 1KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CƠ SỞ 3
ĐỀ TÀI: Ứng dụng quản lý bãi đổ xe.
Sinh viên thực hiện : BÙI XUÂN TƯỜNG 18IT3 – 18IT187
HUỲNH QUANG TRUNG 18IT1 – 18IT043
Giảng viên hướng dẫn : THS.TRẦN ĐÌNH SƠN
Đà nẵng, ngày 22, tháng 07, năm 2020
Trang 2MỞ ĐẦU
Hiện nay, tại các thành phố đông dân cư, vấn đề quản lý các chỗ
đỗ xe, hay quản lý các bãi đỗ xe sao cho hiệu quả, kinh tế và tiện íchcho người dùng, đang là một bài toán đau đầu với các nhà quản lý đôthị nói chung, và chủ các bãi đổ/trông giữ xe và các bác tài xế nóiriêng
Với cơ quan quản lý nhà nước, hiện nay mới chỉ dừng lại việcgiao cho các công ty quản lý thu phí các điểm dừng /đổ ô tô trên cáctuyến phố Việc giao quản lý như thế này vẫn còn xảy ra tình trạng giániêm yết một đằng, giá thu một nẻo Chưa có cách thức thu thập sốliệu, nhu cầu chỗ đỗ theo các thời điểm, khu vực một cách chính xác
để phục vụ bài toán quy hoạch thành phố
Các chủ bãi trông giữ xe thì không quản lý được số lượng xe véngày vào ra, nên chưa tối ưu được hiệu quả, năng suất sử dụng Nếutối ưu được việc giám sát thu phí quản lý vé lượt và vé tháng, chủ đầu
tư sẽ tính toán hiệu quả sử dụng và bài toán tái đầu tư nâng cấp mởrộng hệ thống hoặc giảm giá thành vé trông xe Đồng thời giúp tăngnăng suất có chỗ đỗ xe cho người dùng
Còn các bác tài, khi đi xe vào phố làm việc, thì việc tìm chỗtrông giữ xe đúng là cực hình Nhiều khi đi lòng vòng các nơi cũngkhông tìm được bãi giữ xe, nếu có tìm được thì nhiều khi cũng hết chỗ
đỗ Việc này gây ra rất nhiều tác động: Làm tắc đường thêm, tốn thêmchi phí xăng xe, gây thêm hiệu ứng lên môi trường Từ các nhu cầutrên, nhóm thiết nghĩ cần Xây dựng một giải pháp tổng thể toàn diện:Ứng dụng quản lý đổ xe
Trang 3
LỜI CẢM ƠN
Để thực hiện và hoàn thành tốt đồ án này, em đã nhận được sự giúp đỡ
và hướng dẫn rất tận tình của các thầy cô thuộc Khoa Công Nghệ Thông Tin
Và Truyền Thông – Đại Học Đà Nẵng Em xin cảm ơn các thầy cô thuộc bộmôn chuyên ngành đã cung cấp cho chúng em các thông tin, kiến thức vô cùngquý báu và cần thiết trong suốt thời gian qua để em có thể thực hiện và hoànthành đồ án của mình Đặc biệt em xin chân thành cảm ơn thành Thầy Ths.Trần Đình Sơn người đã trực tiếp hướng dẫn chúng em trong thời gian thựchiện đồ án này
Cuối cùng, xin chân thành cảm ơn các bạn trong ngành công nghệ thôngtin đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được giúpchúng em trong quá trình nghiên cứu và thực hiện đề tài
Do giới hạn về mặt thời gian và kiến thức cũng như kinh nghiệm thựctiễn nên đề tài không tránh khỏi những sai xót Em rất mong nhận được sựthông cảm của quý thầy cô và mong đón nhận những góp ý của thầy cô và cácbạn
Em xin chân thành cảm ơn!
Trang 4NHẬN XÉT
(Của giảng viên hướng dẫn)
………
………
………
………
………
………
Trang 5
MỤC LỤC Chương 1 Giới thiệu 7
1.1 Giới thiệu đề tài 7
1.2 Phương pháp, kết quả 7
1.2.1 Phương pháp 7
1.2.2 Kết quả đạt được 8
1.3 Ưu điểm, nhược điểm 8
1.3.1 Ưu điểm 8
1.3.2 Nhược điểm 8
1.4 Cấu trúc đồ án 8
Chương 2 Nghiên cứu tổng quan 9
2.1 Các dự án tương tự 9
2.2 Các phần mềm lập trình 9
2.3 Các ngôn ngữ lập trình 9
2.3.1 Ngôn ngữ HTML 9
2.3.2 Ngôn ngữ CSS 10
2.3.3 Ngôn ngữ lập trình PHP 10
2.3.4 Ngôn ngữ lập trình JavaScript 11
2.3.5 Ngôn ngữ lập trình Java 11
2.3.6 Ngôn ngữ lập trình C 12
2.4 Cơ sở dữ liệu Firebase Realtime Database 12
2.5 Các chức năng hệ thống 13
2.5.1 Chức năng cho khách hàng 13
2.5.2 Chức năng cho người quản lý 13
2.6 Kết luận 13
Chương 3 Phân tích thiết kế hệ thống 14
3.1 Sơ đồ Use Case 14
3.1.1 Sơ đồ Use case Người sử dụng 14
3.1.2 Sơ đồ Use case Người quản lý 14
3.2 Use Case 14
3.3 Mô tả use case 15
3.3.1 Mô tả use case Người sử dụng 15
3.3.2 Mô tả use case Người quản lý 19
3.4 Biểu đồ hoạt động 20
3.4.1 Biểu đồ hoạt động của Người sử dụng 20
3.4.2 Biểu đồ hoạt động của Người quản lý 25
3.5 Biểu đồ lớp 28
Chương 4 Triển khai xây dựng 29
4.1 Thiết kế giao diện trang quản trị 29
4.1.1 Giao diện trang quản lý bãi đậu xe 29
4.1.2 Giao diện trang thêm bãi đậu xe 29
4.1.3 Giao diên trang cập nhật thông tin bãi đậu xe 30
Trang 64.2 Thiết kế cơ sở dữ liệu 31
4.2.1 Xác định thực thể 31
4.2.2 Xác định các thuộc tính của các thực thể ( đối tượng ) 31
4.2.3 Cấu trúc cơ sở dữ liệu 32
4.3 Thiết kế ứng dụng Smart Parking 33
4.3.1 Giao diện màn hình Đăng ký 33
4.3.2 Giao diện màn hình Đăng nhập 34
4.3.3 Giao diện màn hình Chọn khu vực đang sống 34
4.3.4 Giao diện màn hình Trang chủ 35
4.3.5 Giao diện màn hình danh sách bãi đậu xe 36
4.3.6 Giao diện màn hình Xem chi tiết một bãi đậu xe 38
4.3.7 Giao diện màn hình Chỉ đường 39
4.3.8 Giao diện màn hình Tài khoản 40
4.3.9 Giao diện màn hình Cập nhật thông tin cá nhân 41
4.3.10 Giao diện màn hình Cập nhật lại mật khẩu 42
4.4 Thiết kế và lắp rap mạch 43
Chương 5 Kết luận và Hướng phát triển 44
Trang 7Chương 1 Giới thiệu
1.1 Giới thiệu đề tài
Trong thời đại công nghệ 4.0 hiện nay, mọi thứ đều có thể giải quyết
dễ dàng hơn khi được áp dụng công nghệ vào Thế nhưng vẫn có một vấn
đề nan giải mà các tài xế gặp phải, đó là tìm kiếm chỗ đổ xe trong thànhphố khiến họ rất đau đầu và tốn thời gian Từ vấn đề thực tiễn đó, nhóm
đã nảy lên ý tưởng phát triển hệ thống "Ứng dụng quản lý bãi đậu xeSmart Parking" giúp các tài xế có thể tìm kiếm chỗ đổ xe còn trống gầnnhất thông qua chiếc smartphone mà không mất nhiều thời gian công sức
Dưới đây là sơ đồ tổng quát của hệ thống:
Hình 1: Sơ đồ tổng quát của hệ thống.
1.2 Phương pháp, kết quả
1.2.1 Phương pháp
Để thực hiện dự án, nhóm đã sử dụng các phương pháp sau:
- Phương pháp nghiên cứu hệ thống, phương pháp tư duy
- Phương pháp phân tích, tổng hợp: mục đích để chứng minhtừng luận điểm trong đề tài thêm phần thuyết phục
Trang 8- Phương pháp tin học hóa bằng công cụ lập trình để giảiquyết vấn đề đã được phân tích và xây dựng giải pháp.
- Lắp rap các mạch để hoàn thiện phần cứng
1.2.2 Kết quả đạt được
Kết quả đạt được của dự án sau khi hoàn thành:
- Làm ra ứng dụng giúp người dùng có thể tìm kiếm được bãi
đổ xe nhanh cho mình mà không mất nhiều thời gian
- Người dùng có thể dùng smartphone để tìm kiếm chỗ đổ xecòn trống gần nhất mà không mất thời gian đưa xe đi tìm chỗgửi
1.3.1 Ưu điểm
Các ưu điểm của Smart Parking:
- Tìm được chỗ đổ xe nhanh chóng, chính xác
- Ứng dụng dễ sử dụng, giao diện ưa nhìn
- Có thể chạy trên nhiều nền tảng mobile: IOS, Android…1.3.2 Nhược điểm
Các nhược điểm của Smart Parking:
- Hệ thống mới được xây dựng nên có thể sai xót những lỗi hệthống
- Hệ thống bãi đậu xe đăng ký còn ít
- Cộng đồng người dùng chưa rộng rãi
1.4 Cấu trúc đồ án
Các thành phần trong bài báo cáo:
- Nghiên cứu tổng quan
- Phân tích thiết kế hệ thống
Trang 9- Triển khai xây dựng.
- Kết luận và hướng phát triển
Chương 2 Nghiên cứu tổng quan
Sau khi tìm hiểu các dự án tương tự nhóm thấy được sự nổi bật của
ba phần mềm được ứng dụng để phát triển ứng dụng IOT là:
Trang 10HTML không những cho phép nhúng thêm các đối tượng hình ảnh,
âm thanh mà còn cho phép nhúng các kịch bản vào trong đó như các ngônngữ kịch bản như Javascript để tạo hiệu ứng động cho trang web Đểtrình bày trang web hiệu quả hơn thì HTML cho phép sử dụng kết hợpvới CSS
2.3.2 Ngôn ngữ CSS
CSS (Cascading Style Sheets) là một ngôn ngữ quy định cách trình cho các tài liệu viết bằng HTML, XHTML, XML, SVG, hay UML,…CSSquy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộctính của các thẻ đó (font chữ, kích thước, màu sắc ) CSS có cấu trúcđơn giản và sử dụng các từ tiếng anh để đặt tên cho các thuộc tính CSSkhi sử dụng có thể viết trực tiếp xen lẫn vào mã HTML hoặc tham chiếu
từ một file css riêng biệt Hiện nay CSS thường được viết riêng thànhmột tập tin với mở rộng là “.css” Chính vì vậy mà các trang web có sửdụng CSS thì mã HTML sẽ trở nên ngắn gọn hơn Ngoài ra có thể sửdụng một tập tin CSS đó cho nhiều website tiết kiệm rất nhiều thời gian
và công sức Một đặc điểm quan trọng đó là tính kế thừa của CSS do đó
sẽ giảm được số lượng dòng code mà vẫn đạt được yêu cầu
Trang 112.3.4 Ngôn ngữ lập trình JavaScript.
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trìnhthông dịch được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ nàyđược dùng rộng rãi cho các trang web (phía người dùng) cũng như phíamáy chủ (với Nodejs) Nó vốn được phát triển bởi Brendan Eich tại Hãngtruyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tênthành LiveScript, và cuối cùng thành JavaScript Giống Java, JavaScript
có cú pháp tương tự C, nhưng nó gần với Self hơn Java .js là phần mởrộng thường được dùng cho tập tin mã nguồn JavaScript
2.3.5 Ngôn ngữ lập trình Java
Java (phiên âm Tiếng Việt: "Gia-va") là một ngôn ngữ lập
trình hướng đối tượng (OOP) và dựa trên các lớp (class) [9] 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ên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi
trường thực thi (runtime environment) 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ể chạy nhanh hơn Java chạy nhanh hơn
những ngôn ngữ thông dịch như 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áphướ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ương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn côngsửa lỗi hơn Nhưng về lập trình hướng đối tượng thì Java phức tạp hơn
Trang 12C là một ngôn ngữ lập trình tương đối nhỏ gọn vận hành gần vớiphần cứng và nó giống với ngôn ngữ Assembler hơn hầu hết các ngônngữ bậc cao Hơn thế, C đôi khi được đánh giá như là "có khả năng diđộng", cho thấy sự khác nhau quan trọng giữa nó với ngôn ngữ bậcthấp như là Assembler, đó là việc mã C có thể được dịch và thi hànhtrong hầu hết các máy tính, hơn hẳn các ngôn ngữ hiện tại trong khi đóthì Assembler chỉ có thể chạy trong một số máy tính đặc biệt Vì lý donày C được xem là ngôn ngữ bậc trung.
C đã được tạo ra với một mục tiêu là làm cho nó thuận tiện để viếtcác chương trình lớn với số lỗi ít hơn trong mẫu hình lập trình thủ tục màlại không đặt gánh nặng lên vai người viết ra trình dịch C, là nhữngngười bề bộn với các đặc tả phức tạp của ngôn ngữ
2.4 Cơ sở dữ liệu Firebase Realtime Database
Firebase Realtime Database là một cơ sở dữ liệu NoSQL được lưutrữ đám mây cho phép bạn lưu trữ và đồng bộ dữ liệu Dữ liệu được lưutrữ dưới dạng JSON và được đồng bộ hóa theo thời gian thực cho mọimáy kết nối
Trang 13Khi bạn xây dựng các ứng dụng đa nền tảng với SDK iOS, Android
và JavaScript, tất cả các client của bạn sẽ chia sẻ một phiên bản RealtimeDatabase và tự động cập nhật với dữ liệu mới nhất Do đó đối với cácứng dụng di động yêu cầu trạng thái đồng bộ hóa giữa các máy trong thờigian thực thì đây là một giải pháp hiệu quả và có độ trễ thấp
2.5 Các chức năng hệ thống
2.5.1 Chức năng cho khách hàng
Các chức năng dành khách hàng:
- Xem danh sách các bãi đậu xe
- Xem các bãi đậu xe trên bản đồ
- Xem chi tiết của một bãi đậu xe
- Xem chỉ đường đến từ vị trí khách hàng tới bãi đậu xe
- Đăng ký tài khoản
- Đăng nhập
- Đăng xuất
2.5.2 Chức năng cho người quản lý
Các chức năng dành cho người quản trị:
- Quản lý danh sách bãi đổ xe ( Thêm, sửa, xóa …).
Trang 14Chương 3 Phân tích thiết kế hệ thống
3.1 Sơ đồ Use Case
3.1.1 Sơ đồ Use case Người sử dụng
Hình 2: Sơ đồ use case của người sử dụng.
3.1.2 Sơ đồ Use case Người quản lý
Hình 3: Sơ đồ use case của Người quản lý
- Người sử dụng:
Trang 15+ Đăng nhập/ Đăng ký/Đăng xuất.
+ Hiển thị các bãi đỗ xe trên bản đồ
+ Xem danh sách các bãi đổ xe
+ Xem thông tin chi tiết của một bãi đổ xe
+ Xem thông tin cá nhân
+ Cập nhật thông tin cá nhân
+ Chỉ đường
+ Hiển thị trạng thái
- Người quản lý:
+ Đăng nhập/ Đăng ký/Đăng xuất
+ Quản lý danh sách các bãi đậu xe
+ Quản lý danh sách khách hàng
3.3 Mô tả use case
3.3.1 Mô tả use case Người sử dụng
Trang 16- Dữ liệu vào: Tên, giới tính, địa chỉ đang sống, tuổi, tàikhoản và mật khẩu.
- Kết quả:
+ Đăng ký thất bại nếu tài khoản đã tồn tại
+ Đăng ký thành công nếu tài khoản hợp lệ
o Hiển thị các bãi đổ xe trên bản đồ
- Mô tả: Hiển thị các bãi đổ xe trên bản đồ, và vị trí hiện tạicủa người dùng
- Tác nhân: Người sử dụng
- Dữ liệu vào:
+ Địa chỉ người dùng
+ Quyền cho phép bật ví trị người dùng
+ Các bãi đổ xe đăng ký với Smart Parking
- Quá trình xử lý: Đăng nhập => Chọn khu vực đang sống =>Giao diện bản đồ các bãi đổ xe
o Xem danh sách các bãi đổ xe
Trang 17- Mô tả: Hiển thị các bãi đổ xe đã đăng ký với Smart Parking.
o Xem thông tin chi tiết của một bãi đổ xe.
- Mô tả: Khi người dùng chọn bãi đổ xe trên bản đồ Sau đóhiển thị thông tin chi tiết của bãi đổ xe đó ( sức chứa, số ôcòn trống, địa điểm, giá cả… )
- Tác nhân: Người sử dụng
- Dữ liệu vào: ID của bãi đổ xe
- Kết quả:
+ Hiển thị thông tin chi tiết một bãi đổ xe nếu người dùng
đã chọn trên bản đồ, hoặc chọn bãi đỗ xe đó trong danh sáchbãi đổ xe
+ Không hiển thị nếu người dùng không chọn
- Quá trình xử lý: Đăng nhập => Chọn khu vực => Xem cácbãi đổ xe => Chọn vào tên của bãi đổ xe => Thông tin chitiết bãi đổ xe
o Sửa thông tin cá nhân
- Mô tả: Hiển thị form để cập nhật lại thông tin cá nhân
- Tác nhân: Người sử dụng
- Dữ liệu vào:
+ ID người dùng
+ Nội dung sửa
- Kết quả: Cập nhật lại thông tin của người dùng
Trang 18- Quá trình xử lý: Đăng nhập => Xem thông tin cá nhân =>Hiển thị form thông tin => Cập nhật lại những thông tinngười dùng sửa.
Trang 19- Quá trình xử lý: Chi tiết bãi đỗ xe => Chọn chỉ dường =>Hiển thị chỉ đường của hai vị trí trong bản đồ.
3.3.2 Mô tả use case Người quản lý
o Quản lý danh sách các bãi đậu xe
- Mô tả: Quản lý danh sách các bãi đổ xe: thêm, sửa, xóa…
- Tác nhân: Người quản lý
o Quản lý danh sách khách hàng
- Mô tả: Quản lý danh sách các khách hàng
- Tác nhân: Người quản lý
o Đăng nhập
- Mô tả: Hiển thị form đăng nhập thông tin tài khoản và mật khẩu
- Tác nhân: Người quản lý
- Dữ liệu vào: Tài khoản và mật khẩu
- Kết quả: Hiển thị trang quản lý
Trang 20o Đăng ký
- Mô tả: Hiển thị form đăng ký thông tin
- Tác nhân: Người quản lý
- Dữ liệu vào: Tài khoản, mật khẩu và tên người quản lý
- Kết quả: Hiển thị trang đăng nhập
o Đăng xuất
- Mô tả: Thoát khỏi trang quản trị
- Tác nhân: Người quản lý
- Kết quả: Thoát khỏi trang quản trị và trạng thái đăng nhập
3.4 Biểu đồ hoạt động
3.4.1 Biểu đồ hoạt động của Người sử dụng
o Biểu đồ hoạt động cho use case Đăng nhập
Hình 4: Biểu đồ hoạt động cho use Đăng nhập.
Trang 21o Biểu đồ hoạt động cho Use case Đăng ký
Hình 5: Biểu đồ hoạt động của Use case Đăng ký
o Biểu đồ hoạt động của Use case Đăng xuất
Hình 6: Biểu đồ hoạt động của Use case Đăng xuất
Trang 22o Biểu đồ hoạt động của Use case Hiển thị các bãi đổ xe trên bản đồ
Hình 7: Biểu đồ hoạt động của Use case HIển thị các bãi đổ xe trên bản đồ
o Biểu đồ hoạt động của Use case Xem danh sách các bãi đổ xe
Hình 8: Biểu đồ hoạt động của Use case Xem danh sách bãi đổ xe.