Tải bản đầy đủ (.doc) (30 trang)

Đồ Án Chuyên Ngành 2 Xây Dựng App Tìm Kiếm Bãi Đỗ Xe Tp Đà Nẵng.doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.47 MB, 30 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN

ĐỒ ÁN CHUYÊN NGÀNH 2

XÂY DỰNG APP TÌM KIẾM
BÃI ĐỖ XE TP ĐÀ NẴNG

i


LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn trường Đại Học Công Nghệ Thông
Tin và Truyền Thông Việt Hàn đã tạo điều kiện thuận lợi cho phép em hoàn
thành đồ án chuyên ngành 1 này.
Em xin chân thành cảm ơn sự giúp đỡ và đóng góp ý kiến nhiệt tình của
thầy Lê Tân. Đã nhiệt tình giúp đỡ em trong suốt quá trình học tập và nghiên
cứu.

Table of Contents
ii


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT......................................................................4
1.1.
KHÁI NIỆM WEBSERVER.........................................................................4
1.2.
GIỚI THIỆU VỀ NODEJS..........................................................................6
1.3.
EXPRESSJS..............................................................................................7
1.4.


KHÁI NIỆM JWT.....................................................................................8
1.5.
KHÁI NIỆM POSTGRESQL.......................................................................8
1.6.
GIỚI THIỆU VỀ REACT-NATIVE..............................................................9
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG.........................................11
2.1.
PHÂN TÍCH CÁC CHỨC NĂNG CHÍNH CỦA ỨNG DỤNG...........................11
2.1.1. Hiển thị danh các bãi đỗ xe gần bạn..............................................11
2.1.2. Chức năng tìm kiếm bãi đỗ xe........................................................11
2.1.3. Chức năng đăng ký tài khoản.........................................................11
2.1.4. Chức năng ra vào bãi đỗ xe bằng mã QR.......................................11
2.1.5. Các chức năng của admin...............................................................11
2.2.
PHÂN TÍCH ĐẶT TẢ CÁC YÊU CẦU........................................................12
2.2.1. Chọn bãi đỗ xe................................................................................12
2.2.2. Đăng ký..........................................................................................12
2.2.3. Cập nhập thơng tin bãi đỗ..............................................................13
2.3.
PHÂN TÍCH CHỨC NĂNG HỆ THỐNG VÀ BIỂU ĐỒ USE CASE.................13
2.3.1. Đặc tả Use case..............................................................................15
2.4.
CƠ SỞ DỮ LIỆU......................................................................................18
CHƯƠNG 3. XÂY DỰNG VÀ TRIỂN KHAI CHƯƠNG TRÌNH...................19
3.1.
GIAO DIỆN CHÍNH CỦA HỆ THỐNG........................................................19
3.1.1. Giao diện đăng nhập và đăng ký....................................................19
3.1.2. Giao diện chính của app.................................................................20
3.1.3. Giao diện thêm bãi đỗ và kiểm tra thông tin bãi đỗ của Provider..21
3.1.4. Giao diện thay đổ thông tin người dung.........................................22

3.1.5. Giao diện quét mã QR và lựa chọn bãi đỗ.....................................23
3.1.6. Giao diện web của hệ thống...........................................................24

DANH MỤC CÁC TỪ VIẾT TẮT
iii


TẮT

VIẾT
5E
STEM

NỘI DUNG
Engagement,
Evaluation

Exploration,

Explanation,

Science Technology Engineering Mathematics

iv

Elaboration,


MỞ ĐẦU
1. Giới thiệu

Trải qua nhiều thập kỷ oto đã trở thành một phương tiện gắn bó mật thiết
đối với đời sống của con người. Và cho tới nay nền công nghiệp oto ngày
càng phát triển và số lượng oto tăng chóng mặt từng ngày. Sự gia tăng ngày
càng nhiều về số lượng xe oto điều này cũng phản ánh sự phát triển của một
quốc gia. Song song với sự phát triển đó người ta đặt ra là vấn đề xay dựng
những bãi đỗ xe phục vụ cho người dân trong việc đi lại thuận tiện. Nhưng
với đời sống công nghiệp như hiện nay thì việc xây dựng các bãi giữ xe có
diện tích lớn là một vấn đề nan giải trên, hiện nay cần phải xây dựng bãi đỗ
xe theo kiểu tiết kiệm diện tích mặt bằng càng nhỏ càng tốt.
Chính vì vậy các nước cơng nghiệp trên thế giới đã ứng dụng công nghệ
khoa học – điều khiển tự động vào để giải quyết bài tốn này. Đó là xây dựng
một bãi đỗ xe tự động.
Nắm bắt được xu hướng đó nên chúng em quyết định chọn đề tài “Xây
dựng app tìm kiếm bãi đỗ xe TP Đà Nẵng” này để thực hiện đồ án chuyên
ngành 2 của mình. Qua đó app được thực hiện sẽ có giao diện thân thiện với
người dùng và dễ dàng sử dụng với mọi đối tượng
2. Mục tiêu của đề tài
Về lý thuyết
Đề tài “Xây dựng app tìm kiếm bãi đỗ xe TP Đà Nẵng” là một ứng dụng
chạy trên điện thoại sử dụng trên 2 hệ điều hành. Ứng dụng gồm:
Phần ứng dụng chạy trên điện thoại được phát triển đa nền tảng SDK.
Phần mềm quản lý cho phép người quản lý có thể quản lý các bãi đỗ xe,
thêm bãi đỗ xe và kiểm sốt thơng tin bãi đỗ.
Khách hàng có thể chọn bãi đỗ để quét mã QR. Sau khi khách hàng quét
mã, thông tin sẽ được chuyển về lưu vào cơ sở dữ liệu thông qua cơ sở dữ
liệu.
Xây dựng thành công ứng dụng đỗ xe trên 2 nền tảng.
Xây dựng phần backend thơng qua NodeJS.
Tìm hiểu cách thức checkin, checkout thơng qua mã QR.
Về chương trình

Chương trình thực hiện được các yêu cầu đề ra của đề tài
Ứng dụng bãi đỗ xe đã phần nào xây dựng và đáp ứng được một số chức
năng chính:
Quản lý bãi đỗ xe


Checkin, checkout bãi đỗ thông qua mã QR.
Xử lý trạng thái của bãi đỗ xe.
Cho phép tìm kiếm các bãi đỗ xe trong thành phố.
Giao diện thân thiện, dễ sử dụng.
3. Nội dung và kế hoạch thực hiện
Ứng dụng bãi đỗ xe chạy đa nền tảng được thực hiện dựa trên hai mục
đích chính sau :
Thứ nhất là nghiên cứu các cơng nghệ lập trình như : lập trình ứng dụng
React Native, lập trình cơ sở dữ liệu bằng NodeJS, PostgreSQL, JWT.
Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng triển
khai ứng dụng vào thực tế, giúp những người có nhu cầu tìm kiễm bãi đỗ xe
trong thành phố có thể thao tác dễ dàng và tiện lợi.
4. Bố cục báo cáo
sau:

Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như

Chương 1. Cơ sở lý thuyết. Trong chương này, chúng ta sẽ tìm hiểu các
khái niệm, đặc điểm, cơng nghệ phát triển.
Chương 2. Phân tích thiết kế hệ thống. Qua chương này ta có thể hiểu rõ
hơn về các chức năng chính của ứng dụng, phân tích đặc tả các yêu cầu và
phân tích các chức n của hệ thống.
Chương 3. Xây dựng và triển khai chương trình. Qua đây ta có thể thấy
cách xây dựng và triển khai một chương trình bãi đỗ xe

Cuối cùng là Kết luận, Tài liệu tham khảo liên quan đến đề tài.

2


Chương 1.

CƠ SỞ LÝ THUYẾT

1.1. Khái niệm webserver
Webserver là một dịch vụ công nghệ thông tin xử lý các yêu cầu thông
qua HTTP, các giao thức mạng cơ bản khác để phân phối thông tin trên world
wide web. Các chức năng chính của web server là để lưu trữ, xử lý và cung
cấp các trang web cho người dùng. Những dạng dữ liệu thường xuyên truyền
tải giữa một web server với một ứng dụng client là các trang tài liệu HTML
có thể bao gồm hình ảnh, kịch bản, file khác. ứng dụng client có thể là một
trình duyệt web, một ứng dụng có thể đọc và truy xuất đến web server. ứng
dụng client truy cập đến web server bằng cách thực hiện một yêu cầu một tài
nguyên nào đó trên server bằng các sử dụng HTTP, khi server nhận được yêu
cầu sẽ thực hiện xử lý yêu cầu và đáp ứng nội dung tài nguyên cần yêu cầu
(nếu có) cho client.

Hiện nay có nhiều các để xây dựng và chạy một web server được phân
bằng ngôn ngữ sử dụng, xử lý trên web server bao gồm:
Web server PHP sử dụng ngơn ngữ lập trình PHP để xử lý các u cầu từ
client và MySQL để lưu trữ cơ sở dữ liệu. ưu điểm của web server PHP là: Sử
dụng ngôn ngữ lập trình PHP là một ngơn ngữ mã nguồn mở, rất phổ biến và
dễ dàng viết mã. Bên cạnh đó là sử dụng hệ quản trị cơ sở dữ liệu MySQL là
một cơ sở dữ liệu dễ quản lý, tốc độ xử lý cao và dễ dàng sử dụng. tuy nhiên
còn một số những nhược điểm của web server PHP như: PHP là một ngôn

ngữ dạng chủ yếu và chỉ chạy được trên ứng dụng web. Hệ quản trị cơ sở dữ
liệu MySQL bảo mật chưa cao, quá trình phục hồi chậm chạp, không hỗ trợ
truy vấn con và các thủ tục lưu trữ, bẫy lỗi…
3


Web server Java sử dụng ngôn ngữ java để xử lý các yêu cầu từ client và
Oracle Database để lưu trữ cơ sở dữ liệu. Ưu điểm của web server Java là: sử
dụng ngơn ngữ lập trình Java là một ngôn ngữ mã nguồn mở, rõ rang và tách
biệt, dễ dàng viết mã, ngôn ngữ hướng đối tượng rõ rang, nhiều thư viện hỗ
trợ lập trình. Hệ quản trị cơ sở dữ liệu sử dụng là Orcale Database là một hệ
quản trị cơ sở dữ liệu lớn, được tích hợp các cơng cụ quản trị, tính bảo mật
cao và thời gian đáp ứng nhanh. Ngồi những ưu điểm trên thì Web server
Java cũ có những nhược điểm như: ngơn ngữ lập trình java cịn chậm chạp,
cần phải cấu hình nhiều để có thể chạy tốt, hệ quản trị cơ sở dữ liệu Orcale
chưa được phổ biến, phí bản quyền tương đối cao, khơng tương thích với các
cơng nghệ của Miccrosoft.
Web server .Net sử dụng ngơn ngữ lập trình C# để xử lý các yêu cầu từ
client và SQLServer để lưu trữ cơ sở dữ lieu. Ưu điểm của web server .Net là:
sử dụng ngơn ngữ lập trình C# là ngơn ngữ lập trình đơn giản hướng đối
tượng, rõ ràng, tách biệt, mạnh mẹ, dễ dàng viết mã, nhiều thư viện hỗ trợ lập
trình. Hệ quản trị cơ sở dữ liệu hay được sử dụng là SQLServer là một hệ
quản trị cơ sở dữ liệu lớn, mạnh mẽ, cấu trúc chặt chẽ, duy nhất, tính bảo mật
cao, dễ dàng sử dụng. Web server .Net cịn có một số nhược điểm như: ngôn
ngữ C# chỉ hỗ trợ trên môi trường windown, SQLServer bảo mật cao nên phải
cấu hình chính xác mới có thể sử dụng.
Nodejs là một nền tảng (Platform) phát triển độc lập được xây dựng ở
trên Javascript Runtime của Chrome mà chúng ta có thể xây dựng được các
ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng. Là Javascript
nhưng nó có một số tiến hóa đáng kể. Trong một thời gian dài Javascript được

xem như là một cái gì đó nhỏ bé và thỉnh thoảng được dùng làm một chút
hiệu ứng cho trang web. Tuy nhiên giờ đây Javascript trở thành một ngơn ngữ
chính và được sử dụng nhiều như C, Ruby, PHP, và như nhiều ngôn ngữ khác
nữa
Tuy nhiên, Node.js cung cấp một mơi trường phía máy chủ nữa mà từ
trước tới nay Javascript không làm được điều này ngoài ra cho phép chúng ta
cũng sử dụng ngơn ngữ JavaScript để tạo các trang web. Nói chung nó thay
thế các ngơn ngữ máy chủ như PHP, Java EE, v.v…
JavaScript là ngôn ngữ dựa trên các sự kiện, do đó Node.js cũng vậy.
Chính vì vậy tồn bộ cách viết các ứng dụng đã thay đổi. Dẫn tới việc Node.js
sẽ tận dụng toàn bộ sức mạnh và tốc độ của nó có được.
Từ những ưu điểm và nhược điểm kể trên của bốn cách xây dựng web
server em chọn các xây dựng web trên trên nền NodeJS sử dụng ngơn ngữ lập
trình JavaScrip và hệ quản trị PostgreSQL để lưu trữ dữ liệu.

4


1.2. Giới thiệu về NodeJS
NodeJS là một nền tảng được xây dựng trên V8 JavaScript Engine –
trình thơng dịch thực thi mã JavaScript, giúp xây dựng các ứng dụng web một
cách đơn giản và dễ dàng mở rộng.
NodeJS được phát triển bởi Ryan Dahl vào năm 2009 và có thể chạy trên
nhiều hệ điều hành khác nhau: OS X, Microsoft Windows, Linux.
 NodeJS được viết bằng JavaScript với cộng đồng người dùng lớn mạnh.
Nếu bạn cần hỗ trợ gì về NodeJS, sẽ nhanh chóng có người hỗ trợ bạn.
 Tốc độ xử lý nhanh. Nhờ cơ chế xử lý bất đồng độ (non-blocking), NodeJS
có thể xử lý hàng ngàn kết nối cùng lúc mà khơng gặp bất cứ khó khăn
nào.
 Dễ dàng mở rộng. Nếu bạn có nhu cầu phát triển website thì tính năng dễ

dàng mở rộng của NodeJS là một lợi thế cực kỳ quan trọng.
I/O là Input/Output. Nó có thể là bất cứ thứ gì từ đọc/viết các file nội bộ
cho đến tạo HTTP đến API.
I/O tốn thời gian và do đó nó sẽ chặn các chức năng khác.

Blocking I/O (trái) và Non-Blocking I/O (phải)

Blocking I/O
Trong phương thức blocking, dữ liệu của user2 sẽ không bắt đầu cho đến
khi dữ liệu của user1 xuất trên màn hình.
Nếu đây là một server web, chúng ta phải bắt đầu một thread mới cho
từng user mới. Nhưng JavaScript là đơn luồng (tính chất “xong cái này mới
đến cái khác”). Và điều này làm JavaScript không phù hợp cho các tác vụ đa
luồng.
Đó là lý do non-blocking xuất hiện.
Non-blocking I/O
Mặt khác, sử dụng request non-blocking, bạn có thể request dữ liệu cho
user2 mà không phải đợi phản hồi request từ user1. Bạn có thể bắt đầu cả 2
request song song.
5


Non-blocking I/O loại bỏ nhu cầu đa luồng vì server có thể xử lý nhiều
request cùng một lúc.

1.3. ExpressJS
Expressjs là một framework được xây dựng trên nền tảng của Nodejs.
Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc
mobile. Expressjs hỗ trợ các method HTTP và midleware tạo ra API vô cùng
mạnh mẽ và dễ sử dụng.


Tổng hợp một số chức năng chính của Expressjs như sau:
 Thiết lập các lớp trung gian để trả về các HTTP request.
 Define router cho phép sử dụng với các hành động khác nhau dựa trên
phương thức HTTP và URL.
 Cho phép trả về các trang HTML dựa vào các tham số.

6


1.4. Khái niệm JWT
JWT là một phương tiện đại diện cho các yêu cầu chuyển giao giữa hai
bên Client – Server, các thơng tin trong chuỗi JWT được định dạng
bằng JSON. Trong đó chuỗi Token phải có 3 phần là header, phần payload và
phần signature được ngăn bằng dấu “.”

Khi nào nên dùng JSON Web Token?
Authentication: Đây là trường hợp phổ biến nhất thường sử dụng JWT.
Khi người dùng đã đăng nhập vào hệ thống thì những request tiếp theo từ phía
người dùng sẽ chứa thêm mã JWT. Điều này cho phép người dùng được cấp
quyền truy cập vào các url, service, và resource mà mã Token đó cho phép.
Phương pháp này khơng bị ảnh hưởng bởi Cross-Origin Resource Sharing
(CORS) do nó khơng sử dụng cookie.
Trao đổi thông tin: JSON Web Token là 1 cách thức khá hay để truyền
thơng tin an tồn giữa các thành viên với nhau, nhờ vào phần signature của
nó. Phía người nhận có thể biết được người gửi là ai thơng qua
phần signature. Và chữ ký được tạo ra bằng việc kết hợp cả phần header,
payload lại nên thơng qua đó ta có thể xác nhận được chữ ký có bị giả mạo
hay không.


1.5. Khái niệm PostgreSQL
PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ-đối tượng
(object-relational database management system) có mục đích chung, hệ thống
cơ sở dữ liệu mã nguồn mở tiên tiến nhất hiện nay.
PostgreSQL được phát triển dựa trên POSTGRES 4.2 tại phịng khoa học
máy tính Berkeley, Đại học California.

7


PostgreSQL được thiết kế để chạy trên các nền tảng tương tự UNIX. Tuy
nhiên, PostgreSQL sau đó cũng được điều chỉnh linh động để có thể chạy
được trên nhiều nền tảng khác nhau như Mac OS X, Solaris và Windows.
PostgreSQL là một phần mềm mã nguồn mở miễn phí. Mã nguồn của
phần mềm khả dụng theo license của PostgreSQL, một license nguồn mở tự
do. Theo đó, bạn sẽ được tự do sử dụng, sửa đổi và phân phối PostgreSQL
dưới mọi hình thức.
PostgreSQL khơng u cầu q nhiều cơng tác bảo trì bởi có tính ổn
định cao. Do đó, nếu bạn phát triển các ứng dụng dựa trên PostgreSQL, chi
phí sở hữu sẽ thấp hơn so với các hệ thống quản trị dữ liệu khác.
PostgreSQL sở hữu một hệ tính năng đa dạng giúp hỗ trợ các nhà phát
triển xây dựng app, các nhà quản trị bảo vệ toàn vẹn dữ liệu, và tạo ra một
môi trường chịu lỗi fault-tolerant giúp bạn quản lý dữ liệu bất kể tập dữ liệu
lớn hay nhỏ. Bên cạnh hệ thống nguồn mở và miễn phí, PostgreSQL cũng có
khả năng mở rộng tuyệt vời. Ví dụ, bạn có thể định nghĩa các kiểu dữ liệu
riêng của bạn, xây dựng các hàm tùy chỉnh, hay viết mã từ các ngôn ngữ lập
trình khác nhau mà khơng cần biên dịch lại cơ sở dữ liệu!
PostgreSQL tuân theo tiêu chuẩn SQL nhưng khơng mâu thuẫn với các
tính năng truyền thống hay có thể dẫn đến các quyết định kiến trúc gây hại.
Nhiều tính năng theo tiêu chuẩn SQL được hỗ trợ, tuy nhiên đơi khi có thể có

cú pháp hoặc hàm hơi khác một chút.

1.6. Giới thiệu về React-Native
Ngày nay, lập trình React native đã trở nên phổ biến hơn bao giờ hết.
Các ứng dụng mới được tạo ra có dính dáng tới React native ngày càng nhiều
hơn. Thậm chí ngay cả các ứng dụng lớn như Facebook, Uber, AirBnB và rất
nhiều công ty khác cũng lựa chọn lập trình React native để xây dựng các ứng
dụng của họ.
React native là một framework được phát triển bởi Facebook với mục
đích giải quyết bài tốn hiệu năng của Hybrid. Cùng với đó, nó cũng giúp giải
quyết vấn đề chi phí khi phải viết nhiều loại ngôn ngữ native cho các nền tảng
di động.
Ứng dụng được viết bằng React native được chia thành 2 phần khác
nhau là phần xử lý và phần hiển thị. Trong đó, phần hiển thị sẽ được biên dịch
bởi javascript và map với các component từ hệ thống. Ví dụ như touch, tab,
chuyển hướng,.. Chúng được lấy cảm hứng bởi Virtual DOM của React JS,
tất cả view sẽ được hiển thị trên một cây DOM ảo, sau đó sẽ được React
native render lại thông qua native view.
8


Theo đó, phần xử lý vẫn sẽ được thực hiện trực tiếp bởi ngôn ngữ
javascript, các biểu thức sẽ được xử lý dưới bộ core thực thi Javascript mà
không cần phải thông dịch qua Java hay Objective – C/ Swift.

Expo:
Expo là một framework dùng để phát triển nhanh các ứng dụng React
Native. Nó giống như Laravel hay Symphony cho các nhà phát triển PHP,
hoặc Ruby on Rails cho các nhà phát triển Ruby. Expo cung cấp một lớp nằm
trên cùng của React Native API để giúp chúng dễ sử dụng và quản lý. Nó cịn

cung cấp các cơng cụ giúp bạn dễ dàng khởi tạo và kiểm thử các ứng dụng
React Native. Sau cùng, nó cung cấp các thành phần UI và các dịch vụ
thường chỉ có sẵn khi bạn cài đặt một thành phần React Native của bên thứ
ba. Tất cả đều được cung cấp thông qua Expo SDK.
Expo là một framework đầy đủ chức năng với rất nhiều hỗ trợ cho các
API thông dụng trên Android hoặc iOS. Điều này có nghĩa là nó đã bao quát
cho bạn hầu hết các chức năng mà các ứng dụng thường cần. Vì vậy, thường
khơng cần phải tìm bên ngồi Expo để cài đặt các tính năng gốc.

9


Chương 2.

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1. Phân tích các chức năng chính của ứng dụng
Một số chức năng chính của ứng dụng:
2.1.1. Hiển thị danh các bãi đỗ xe gần bạn.
Chức năng này sẽ hiển thị danh sách thông tin của bãi đỗ xe xung quang
bạn khi chạy ứng dụng.
Bãi đỗ xe sẽ được liệt kê trong một bản đồ bằng các địa điểm chỉ dẫn
bạn đến đó.
Người dùng có thể lọc danh sách bãi đỗ xe.
2.1.2. Chức năng tìm kiếm bãi đỗ xe.
Chức năng này cho phép người dùng có thể tìm ra những bãi đỗ xe có
nội dung đúng với từ khóa.
2.1.3. Chức năng đăng ký tài khoản.
Chức năng này cho phép người sử dụng đăng ký một tài khoản để sử
dụng đặt hàng cần mua trên ứng dụng.

Thông tin đăng ký bao gồm email, tên đầy đủ, mật khẩu, tạo tài khoản
bãi đỗ.
2.1.4. Chức năng ra vào bãi đỗ xe bằng mã QR.
Chức năng này cho phép người dùng sử dụng đã đăng ký tài khoản.
Người dùng sử dụng mã QR để ra vào bãi giữ xe để thơng qua vào bãi
giữ xe, và dùng nó để mang ra xe ra khỏi bãi đỗ xe. Khi qt mã bạn có thể
chọn vị trí để đậu xe mà mình mong muốn.
2.1.5. Các chức năng của admin.
Cập nhập danh sách các bãi đỗ xe (Thêm, sửa, xóa).
Quản lý danh sách khách hàng đã đăng ký.
Xem danh sách bãi đỗ của các khách hàng đã sử dụng.
Thống kê lịch sử của bãi đỗ

2.2. Phân tích đặt tả các yêu cầu
Về phía phần khách hàng
10


2.2.1. Chọn bãi đỗ xe
Tác vụ này dành cho khách hàng thực hiện khi muốn chọn bãi đỗ xe mà
khách mong muốn
Luồng dữ liệu vào:
+ Mã/Tên bãi đỗ xe
Khi khách hàng chọn bãi đỗ xe thì hệ thống sẽ hiển thị các thơng tin về
bãi đỗ xe (Số vị trí đỗ xe, số vị trí cịn trống, thời gian tối đa có thể đỗ). Khi
khách hàng thay đổi bãi đỗ xe thì thơng tin về bãi đỗ xe sẽ thay đổi tương
ứng.
Luồng dữ liệu ra.
Hiển thị trong lịch sử bãi đỗ xe đã từng tìm.
2.2.2. Đăng ký

Tác vụ này dành cho khách hàng muốn đăng ký thông tin tài khoản
Luồng dữ liệu vào:
+ Mã khách hàng
+ Email khách hàng
+ Mật khẩu
Xử lý hệ thống:
Luồng dữ liệu ra:
Thông báo kết quả
+ Thông báo chưa nhập đầy đủ các thông tin đăng ký
+ Thông báo tài khoản đã tồn tại
Thông báo đã đăng nhập thành cơng. Và vào màn hình chính của chương
trình.
Về phía quản trị
2.2.3. Cập nhập thơng tin bãi đỗ
Tác vụ này thực hiện khi người quản lý muốn đưa ra thơng tin bãi đậu
xe, thêm, xóa, sửa khi cần thiết.
Luồng dữ liệu vào:
Thơng tin bãi đỗ xe: (Vị trí bãi đỗ, Mã bãi đỗ, Tên bãi đỗ, Giá đỗ, Mô tả)
11


+ Khi chọn vào thao tác với chức năng thêm mới thì hệ thơng hiển thị
giao diện cho phép nhập thông tin bãi đỗ, sau khi nhập, hệ thống sẽ kiểm tra
tính hợp lệ của mã bãi đỗ mới nhập (không được trùng với mã bãi đỗ đã tồn
tại trong dữ liệu)
+ Khi người quản lý chọn mục xóa thì hệ thống sẽ hiển thị bảng yêu cầu
xác nhận quản lý, sau khi người quản lý xác nhận mật khẩu thì hệ thống sẽ
kiểm tra mật khẩu trong dữ liệu của hệ thống có phải là của quản lý hay
khơng? Nếu phải thì hệ thống sẽ hiển thị bảng yêu cầu xác nhận xóa thơng tin
bãi đỗ xe.

Luồng dữ liệu ra:
Thơng báo hộp thoại q trình cập nhập thành cơng/ thất bại
+ Hiển thị giao diện cho chức năng sửa thông tin bãi đỗ
+ Hiển thị giao diện cho phép thêm mới bãi đỗ

2.3. Phân tích chức năng hệ thống và biểu đồ Use case
Người dùng:
 Đăng ký, đăng nhập
 Tìm kiếm bãi đỗ
 Xem mơ tả bãi đỗ
 Thiết lập hồ sơ người dùng
 Xem thông tin nơi đỗ xe
 Thanh toán

Admin:

 Quản lý user
 Quản lý các bãi đỗ xe
 Quản trị hệ thống
 Thống kê lịch sử

12


Biểu đồ Use case hệ thống chung

Biểu đồ Use case người dùng

13



Biểu đồ Use case quản lý hệ thống
2.3.1. Đặc tả Use case
Đặc tả use case đăng ký tài khoản:
Tên Use Case

Use Case Đăng ký tài khoản mới.

Actor

Người dùng

Tóm tắt

Use Case này mơ tả q trình actor đăng ký làm thành
viên của hệ thống.

Dòng sự kiện

Use Case này bắt đầu khi actor nhấp link “Login” và
nhấn nút “Tạo tài khoản mới”.
+ Dịng sự kiện chính:
1. Hệ thống hiển thị trang thơng tin cho actor đăng ký
gồm 2 phần:
- Phần “Đăng nhập” gồm có các trường “Tên tài
khoản” và “Password”.
- Phần “Các thơng tin khác” gồm có các trường:
“Email, nhập lại mật khẩu”.
2. Actor nhập thông tin theo yêu cầu và nhấn nút “Đăng
ký”.

3. Hệ thống kiểm tra thông tin actor nhập vào.
14


Usercase kết thúc.
+ Dòng sự kiện khác:
1. Nếu tại dòng sự kiện số 3, hệ thống kiểm tra thông tin
actor nhập khơng chính xác, hệ thống sẽ hiển thị thơng
báo lỗi. Use Case kết thúc.
2. Nếu tại dòng sự kiện số 2, actor nhấn nút “Hủy bỏ”.
Use Case kết thúc.
Đặc tả Use Case đăng nhập:
Tên Use Case

Use Case Đăng nhập.

Actor

Người dùng, admin

Tóm tắt

Use Case này mơ tả q trình actor đăng nhập vào hệ
thống.

Dòng sự kiện

Use Case này bắt đầu khi actor nhấn vào link “Login”
trên giao diện.
+ Dòng sự kiện chính:

1. Hệ thống hiển thị trang thơng tin cho actor đăng nhập
gồm có “tài khoản” và “mật khẩu”.
2. Actor nhập tài khoản và mật khẩu.
3. Actor nhấn nút “Đăng nhập”.
4. Hệ thống kiểm tra thông tin actor nhập vào.
5. Hệ thống hiển thị trang chủ Moodle.
Usercase kết thúc.
+ Dòng sự kiện khác:
1. Tại dòng sự kiện 4, nếu hệ thống kiểm tra tài khoản và
mật khẩu actor nhập sai, hệ thống sẽ hiển thị thông báo
lỗi.
Use Case kết thúc.

Đặc tả Use Case tìm kiếm bãi đỗ xe
Tên Use Case

Use Case tìm kiếm bãi đỗ xe.
15


Actor

Người dùng và Admin

Tóm tắt

Use Case này mơ tả q trình actor tìm kiếm bãi đỗ xe.

Dịng sự kiện


Use Case bắt đầu khi actor muốn tìm kiếm tìm kiếm bãi
đỗ xe.
+ Dịng sự kiện chính:
1. Actor nhập tên hoặc từ khóa cho khóa học cần tìm
kiếm vào ơ “Tìm kiếm bãi đỗ xe” và nhấn nút “tìm
kiếm”.
2. Hệ thống hiển thị trang “Kết quả tìm kiếm” với các
bãi đỗ xe tìm được.
Usercase kết thúc.
+ Dịng sự kiện khác: Khơng có.

Đặc tả Use Case thêm bãi đỗ xe
Tên Use Case

Use Case thêm bãi đỗ xe.

Actor

Admin

Tóm tắt

Use Case này mơ tả q trình quản trị viên thêm bãi đỗ
xe mới.

Dịng sự kiện

Use Case bắt đầu khi quản trị chọn: Admin-> Thêm bãi
đỗ xe mới->nhấn nút “Thêm bãi đỗ xe mới mới”.
+ Dòng sự kiện chính:

1. Hệ thống hiển thị trang “thêm đỗ xe mới mới” bao
gồm các phần:
- Phần tên của bãi đỗ xe, vị trí, số lượng xe có thể
đỗ, mơ tả bãi đỗ, giá cho mỗi lần đỗ.
2. Actor nhập và chọn thông tin theo yêu cầu.
3. Actor nhấn nút “Add park item”.
4. Hệ thống lưu những thông tin actor mới nhập
xuống cơ sở dữ liệu.

Điều kiện

Actor phải đăng nhập.

16



×