Tải bản đầy đủ (.pdf) (55 trang)

XÂY DỰNG ỨNG DỤNG TÌM KIẾM VÀ ĐẶT XE GODY

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 (4.62 MB, 55 trang )

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

BÁO CÁO BÀI TẬP LỚN

XÂY DỰNG ỨNG DỤNG TÌM KIẾM VÀ ĐẶT XE
GODY

Mơn: Lập trình Android nâng cao

Sinh viên thực hiện:
Nguyễn Quang Đức
Nguyễn Tuấn Anh
Nguyễn Đăng Nam

Hà Nội, 2021


BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

BÁO CÁO BÀI TẬP LỚN

XÂY DỰNG ỨNG DỤNG TÌM KIẾM VÀ ĐẶT XE
GODY

Mơn học: Lập trình Android nâng cao

Sinh viên thực hiện:


Nguyễn Quang Đức
Nguyễn Tuấn Anh
Nguyễn Đăng Nam

Người hướng dẫn:
ThS. Lê Bá Cường
Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã

Hà Nội, 2021



MỤC LỤC
Danh mục kí hiệu và viết tắt ................................................................................. iii
Danh mục hình vẽ .................................................................................................. iv
Lời cảm ơn .............................................................................................................. vi
Lời nói đầu............................................................................................................. vii
Chương 1. TỔNG QUAN VỀ ĐỀ TÀI .................................................................. 1
1.1. Khảo sát đề tài .................................................................................................. 1
1.2. Mục tiêu và yêu cầu của bài toán...................................................................... 1
1.2.1. Mục tiêu ................................................................................................. 1
1.2.2. Yêu cầu .................................................................................................. 1
1.3. Môi trường xây dựng, triển khai và lựa chọn công nghệ.................................. 2
1.3.1. Môi trường triển khai và sử dụng ứng dụng ......................................... 2
1.3.2. Công nghệ và phần mềm ....................................................................... 3
1.4. Kết luận chương 1........................................................................................... 11
Chương 2. Phân tích và thiết kế hệ thống........................................................... 12
2.1. Phát biểu bài tốn ........................................................................................... 12
2.2. Mơ hình hóa u cầu ...................................................................................... 12
2.2.1. Xác định các tác nhân của hệ thống ................................................... 12

2.2.2. Sơ đồ phân rã chức năng..................................................................... 14
2.2.3. Biểu đồ ca sử dụng Use case ............................................................... 14
2.2.4. Biểu đồ hoạt động ............................................................................... 21
2.3. Thiết kế cơ sở dữ liệu ..................................................................................... 23
2.3.1. Role...................................................................................................... 23
2.3.2. Card ..................................................................................................... 23
2.3.3. Wallet .................................................................................................. 23
2.3.4. Transport ............................................................................................. 23
2.3.5. Users.................................................................................................... 24
2.3.6. Location ............................................................................................... 24
2.3.7. Trip ...................................................................................................... 25
2.3.8. Payment ............................................................................................... 26
2.4. Kết luận chương 2........................................................................................... 26
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG ............................................................ 27
3.1. Cài đặt môi trường phát triển ứng dụng phía Backend ................................... 27
3.2. Cài đặt mơi trường ứng dụng .......................................................................... 29
3.3. Xây dựng chức năng đăng nhập và đăng ký ................................................... 29
3.4. Xây dựng chức năng tìm kiếm và đặt xe phía khách hàng ............................. 32
3.5. Xây dựng chức năng tracking chuyến đi ........................................................ 36
3.6. Xây dựng chức năng quản lý danh sách chuyến đi......................................... 38
3.7. Xây dựng chức cập nhật thông tin người dùng............................................... 38
3.8. Xây dựng website admin quản lý của ứng dụng ............................................. 39
3.9. Kết luận chương 3........................................................................................... 41
Kết luận.................................................................................................................. 43
i


Tài liệu tham khảo ................................................................................................ 44

ii



DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
VSC

Visual Studio Code

RN

React Native

JS

Javascript

NPM

Node package management

API

Application Programing Interface

iii


DANH MỤC HÌNH VẼ
Hình 1.1. Framework React Native của Javascript ................................................... 4
Hình 1.2. Redis ......................................................................................................... 5
Hình 1.3.Visual Studio Code IDE ............................................................................ 7

Hình 1.4. Cơng cụ quản lý mã nguồn Azure DevOps .............................................. 9
Hình 1.5. Google Developers ................................................................................. 10
Hình 2.1. Ứng dụng tìm kiếm đặt xe GODY .......................................................... 12
Hình 2.2. Người dùng hệ thống .............................................................................. 13
Hình 2.3. Sơ đồ phân rã chức năng ......................................................................... 14
Hình 2.4.Biểu đồ Usecase admin ............................................................................ 15
Hình 2.5. Use case tài xế ........................................................................................ 15
Hình 2.6.Use case khách hàng đặt xe ..................................................................... 15
Hình 2.7.Use case đăng ký ..................................................................................... 16
Hình 2.8.Use case đăng việc làm ............................................................................ 17
Hình 2.9.Use case đăng nhập .................................................................................. 18
Hình 2.10.Use case cập nhật thơng tin người dùng ................................................ 18
Hình 2.11.Use case đặt xe....................................................................................... 19
Hình 2.12.Use case Thanh tốn .............................................................................. 20
Hình 2.13.Biểu đồ hoạt động đặt xe ....................................................................... 22
Hình 2.14.Biểu đồ hoạt động tracking chuyến đi ................................................... 22
Hình 3.1. Máy chủ server của ứng dụng ................................................................. 27
Hình 3.2. Hệ thống API .......................................................................................... 29
Hình 3.3.Màn hình đăng nhập ................................................................................ 30
Hình 3.4. Màn hình đăng ký ................................................................................... 31
Hình 3.5.Màn hình tìm kiếm địa điểm đi và đến .................................................... 33
Hình 3.6.Màn hình chọn dịch vụ xe ....................................................................... 34
Hình 3.7.Màn hình thanh tốn và mã khuyến mại .................................................. 35
Hình 3.8.Màn hình tìm kiếm tài xế ......................................................................... 36
Hình 3.9.Màn hình tracking chuyến đi ................................................................... 37
Hình 3.10.Quản lý danh sách chuyến đi ................................................................. 38
Hình 3.11.Chức năng cập nhật thơng tin người dùng ............................................. 39
Hình 3.12. Màn hình đăng nhập ............................................................................. 40
Hình 3.13.Quản lý danh sách chuyến đi ................................................................. 40
Hình 3.14.Quản lý thơng tin người dùng ................................................................ 41

iv


Hình 3.15.Thống kê ................................................................................................ 41

v


LỜI CẢM ƠN
Trong quá trình nghiên cứu và phát triển để thực hiện bài tập lớn này, chúng
em xin gửi lời cảm ơn chân thành nhất đến thầy Lê Bá Cường đã chỉ bảo tận tình và
giúp đỡ chúng em trong suốt q trình mơn học. Với sự hướng dẫn, quan tâm sâu
sát của cơ, nhóm chúng em đã có định hướng tốt trong việc hoàn thành các yêu cầu
của bài tập lớn môn học này.
Một lần nữa, chúng em xin trân trọng cảm ơn Thầy!
NHÓM SINH VIÊN THỰC HIỆN ĐỒ ÁN

vi


LỜI NĨI ĐẦU
Theo sự phát triển mạnh mẽ của Cơng nghệ thông tin đã len lỏi vào mọi lĩnh
vực của đời sống hiện nay, mọi người hầu hết ai cũng có đến ít nhất sử dụng máy
tính hoặc điện thoại di động và luôn phải cập nhật thông tin, công nghệ liên tục theo
từng giây. Do đó, sự phát triển mạng mẽ của những công nghệ, ứng dụng di động là
một điều thiết yếu. Điều đó đã tạo lên một ngành công nghiệp đầy tiềm năng để đáp
ứng với nhu cầu đó. Ngành cơng nghiệp cơng nghệ di động đã phát triển được một
thời gian và đã đạt được những bước tiến nhất định với sự xuất hiện của hệ điều hành
SAMSUNG, IOS, Huawei, … cùng đó là những tập toàn toàn cầu cung ứng toàn cầu
của hiện tại và tương lai.

Một trong những thị trường đã nắm bắt được sự phát triển của công nghệ để
áp dụng vào các hoạt động thực tiễn chính là thị trường vận tải trên thế giới nói
chung và tại Việt Nam nói riêng. Cơng nghệ đã thay đổi hồn tồn bộ mặt ngành vận
tải, đáp ứng nhu cầu đi lại di duyển, vận chuyển ngày càng cao của người dân. Nắm
bắt được nhu cầu đó, nhóm em thực hiện làm đề tài “Xây dựng ứng dụng Tìm kiếm
và đặt xe GODY” với kỳ vọng giúp mọi người có thể gọi, đặt xe dễ dàng mọi lúc
mọi nơi, biết trước giá chuyến đi bằng điện thoại kết nối mạng.
Bài tập lớn này được thực hiện nhằm mục đích tìm hiểu và phát triển ứng dụng
Tìm kiếm và đặt xe GODY.
Mục tiêu đặt ra khi thực hiện bài tập lớn này là:
1. Hệ thống lại các kiến thức về quy trình phát triển một phần mềm.
2. Hiểu rõ bản chất của các ứng dụng android.
3. Xây dựng và phát triển được ứng dụng Tìm kiếm và đặt xe GODY trên
android và ios bằng React Native.
Sau khoảng thời gian thực hiện đề tài, các mục tiêu cơ bản nhóm chúng em đã
đạt được. Tuy nhiên để phát triển sâu và đi xa hơn nữa thì thời gian thực hiện đề tài
này là tương đối ngắn, cũng như khơng tránh khỏi thiếu sót ban đầu. Chúng em rất
mong nhận được sự góp ý của thầy, cũng như của các bạn để hồn thiện đề tài này
hơn nữa.
NHĨM SINH VIÊN THỰC HIỆN

vii


viii


CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI
1.1. Khảo sát đề tài
Qua việc khảo sát trên mạng và một số các trang mạng trên internet, nhóm em

có nhân thấy rằng một số ứng dụng tìm kiếm và đặt xe đang dành được nhiều sự chú
ý, cũng như thành công gần đây là Grab và Be. Mức độ nhận biết của người dùng
đối với dịch vụ tìm kiếm và đặt trực tuyến ngày càng tăng, song song đó là mức độ
thường xuyên sử dụng ứng dụng cũng gia tăng đáng kể, mức độ nhận biết thương
hiệu ứng dụng, số tiền chi trả trung bình, hình thức thanh tốn phổ biến.
Dựa trên những số liệu khảo sát trực tuyến, nhóm em lên bản kế hoạch tiến
hành xây dựng một ứng dụng di động ánh xạ lại các chức năng mà ứng dụng Grab
hay Be đã có, cũng như kế thửa một số đặc điểm chức năng của những ứng dụng
tương tự và phát triển thêm.
Vì vậy, nhóm em triển khai xây dựng một Ứng dụng tìm kiếm và đặt xe GODY
1.2. Mục tiêu và yêu cầu của bài toán
1.2.1. Mục tiêu
Xây dựng được ứng dụng đáp ứng được các chức năng chính của một ứng
dụng tìm kiếm và đặt xe.
1.2.2. Yêu cầu
Việc xây dựng ứng dụng được bọn em lên kế hoạch đầy đủ và cơ bản gồm các
chức năng chính:
• Hiển thị, và tương tác cơng việc trên ứng dụng.
• Xem và đánh giá trang cá nhân của người dùng trên ứng dụng.
• Nhắn tin trị chuyện trên ứng dụng.
• Lưu trữ và quản lý thơng tin cá nhân của người dùng.
• Thông báo, theo dõi cập nhật công việc, báo cáo tiến độ cơng việc.
• Tổng quan về cơng việc, thu nhập… và một số chức năng khác.
• Bên cạnh việc xây dựng chức năng, việc đánh giá và phát triển giao diện để
thỏa mãn trài nghiệm người dùng trên ứng dụng di động cũng được nhóm
chú ý đến:
• Giao diện màu chủ đạo hài hịa, dễ nhiền
• Các nút bấm, chữ viết hợp lý về font chữ, cỡ chữ và vị trí
Hiệu năng:
1



• Ứng dụng được sử dụng trên các điện thoại thơng minh dùng hệ điều hành
Android và IOS
• Việc xử lý tính tốn, lưu trữ và vận hành ứng dụng có sự tin cậy và bảo mật
1.3. Mơi trường xây dựng, triển khai và lựa chọn công nghệ
1.3.1. Môi trường triển khai và sử dụng ứng dụng
Ứng dụng được triển khai và sử dụng trên điện thoại thơng minh có chạy hệ
điều hành Android 6.0 trở lên và IOS 9.0 trở lên.
Ø Giới thiệu về hệ điều hành Android:
Android là một hệ điều hành có mã nguồn mở dựa trên nền tảng Linux được
thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thơng
minh và máy tính bảng.
Ban đầu, Android được phát triển bởi Tổng cơng ty Android, với sự hỗ trợ tài
chính từ Google, sau này được chính Google mua lại vào năm 2005.
v Ưu điểm:


Là hệ điều hành có mã nguồn mở nên khả năng tuỳ biến cao.



Đa dạng sản phẩm, rất nhiều hãng điện thoại, thiết bị công nghệ đã ưu ái
chọn Android.



Kho ứng dụng Google Play Store đồ sộ.




Thân thiện và dễ sử dụng.



Khả năng đa nhiệm, chạy cùng lúc nhiều ứng dụng cao.
v Nhược điểm:



Dễ nhiễm phần mềm độc hại và virus.



Kho ứng dụng quá nhiều dẫn đến khó kiểm sốt chất lượng, thiếu các ứng
dụng thật sự tốt.



Sự phân mảnh lớn về phân khúc giá cả của các thiết bị theo các phiên bản.



Cập nhật khơng tự động với tất cả thiết bị.
v Một số thiết bị đang chạy Android:



Điện thoại Samsung: Galaxy Note, S5, A5, …




Điện thoại Sony, điện thoại HTC, Oppo, …



Máy tính bảng, Smart Tivi Box, …
Ø Giới thiệu về hệ điều hành iOS:
IOS là một hệ điều hành điện thoại di động được phát triển bởi Apple và phân
phối độc quyền cho phần cứng của Apple.
2


IOS được cơng bố năm 2007 cho iPhone, sau đó được mở rộng để hỗ trợ các
thiết bị khác của Apple như iPod Touch (tháng 9 năm 2007), iPad (tháng 1 năm
2010), iPad Mini (tháng 11 năm 2012) và thế hệ thứ hai của Apple Ttivi trở đi (tháng
9 năm 2010).
v Ưu điểm:
• Nền tảng ổn định, ứng dụng có khả năng tương thích cao.
• Độ tin cậy và bảo mật cao.
• Chu kỳ ra mắt là một năm vì vậy bạn sẽ n tâm khơng phải chạy đua q
nhiều.
• Do tính phổ biến cũng như khơng có nhiều loại kích cỡ khác nhau nên điện
thoại iPhone được rất nhiều hãng sản xuất phụ kiện ưu ái.
v Nhược điểm:
• Khơng thể chạy nhiều ứng dụng cùng lúc trên màn hình.
• Trao đổi dữ liệu đều phải qua iTunes gây bất tiện và tốn thời gian vì đây là
con đường duy nhất.
• Khả năng tuỳ chỉnh hạn chế.
• iOS chỉ có thể đi kèm với iPhone, trong khi giá các thiết bị Apple thì khơng

hề dễ chịu tí nào.
1.3.2. Cơng nghệ và phần mềm
Nhóm em lên kế hoạch lựa chọn sử dụng các sản phẩm cơng nghệ và phần
mềm:
• Phần mềm soạn thảo Visual Studio Code IDE
• Framework Javascript React Native để lập trình ứng dụng di động
• Dịch vụ Google Map API của Google
• Máy chủ đám mây ảo VPS cho việc deploy API
• Dịch vụ lưu trữ dữ liệu MongoDB, Redis
• Thư viện Socket IO của Javascript để xây dựng việc tracking lộ trình
đi của xe hoặc người dùng.
• Nodejs Framework Express
• Xây dựng, biên dịch và sửa lỗi (build, compile và debug) trên máy ảo
Google Pixel 3.0A trên phần mềm Android Studio
• Cơng cụ quản lý mã nguồn và task azure devOps
3


a) Giới thiệu về cơng nghệ lập trình React Native

Hình 1.1. Framework React Native của Javascript
React Native – là công nghệ được tạo bởi Facebook, cho phép các dev sử dụng
JavaScript để làm mobile apps trên cả Android và iOS với mượt mà như native.
React Native là một framework được tạo bởi Facebook, cho phép các lập trình
viên sử dụng JavaScript để làm mobile apps trên cả Android và iOS với có trải
nghiệm và hiệu năng như native. React Native vượt trội ở chỗ chỉ cần viết một lần
là có thể build ứng dụng cho cả iOS lẫn Android.
Việc này giúp chúng ta có thể tiết kiệm được thời gian, công sức, tiền bạc.
Giúp tốc độ ra sản phẩm cũng như cập nhật ứng dụng nhanh chóng mặt.
Có thể nói React Native là một cross-platform để xây dựng một ứng dụng di

động hiệu quả.
v Ưu điểm:
• Hiệu quả về mặt thời gian khi mà bạn muốn phát triển một ứng dụng nhanh
chóng.
• Hiệu năng tương đối ổn định.
• Cộng đồng phát triển mạnh.
• Team phát triển nhỏ.
• Ứng dụng tin cậy và ổn định.
• Xây dựng cho nhiều hệ điều hành khác nhau với ít native code nhất.
v Nhược điểm:
• Hiệu năng sẽ thấp hơn với app thuần native code.
4


• Bảo mật không cao do dựa trên JS.
• Chưa quản lý bộ nhớ tốt
• Khả năng tùy biến cũng không thực sự tốt đối với một vài module.
b) Dịch vụ lưu trữ dữ liệu MongoDB và Redis
Redis được xem là một cơ sở dữ liệu NoSQL có khả năng lưu trữ dữ liệu dưới
dạng KEY-VALUE, nó sở hữu nhiều tính năng nên đã được ứng dụng vơ cùng rộng
rãi trong mọi lĩnh vực. Redis cịn có khả năng hỗ trợ được nhiều kiểu dữ liệu khác
nhau dưới những dạng cụ thể như sau: strings, lists, hashes, sets, sorted. Đồng thời,
nó cịn cho phép thực hiện các thủ thuật scripting bằng những dạng ngơn ngữ Lua
khác. Redis ngồi sở hữu các tính năng như lưu trữ KEY-VALUE trên RAM thì cịn
được đánh giá cao nhờ có thể hỗ trợ được cho các tính năng lưu trữ dữ liệu dựa vào
đĩa cứng. Từ đó, cho phép bạn có thể phục hồi được các dữ liệu ngay khi hệ thống
gặp phải các sự cố khác.

Hình 1.2. Redis
MongoDB là phần mềm cơ sở dữ liệu mã nguồn mở NoSQL, được thiết kế

hướng theo đối tượng và hỗ trợ trên đa nền tảng. Các bảng MongoDB có cấu trúc
linh hoạt, cho phép dữ liệu không cần tuân theo bất kỳ dạng cấu trúc nào.

5


MongoDB hoạt động trên collection, hướng tài liệu kiểu JSON thay cho bảng
để tăng tốc độ truy vấn. MongoDB có chức năng định hướng tài liệu cung cấp, hiệu
suất cao, tính sẵn sàng cao và khả năng mở rộng dễ dàng.
Collection trong MongoDB về bản chất thì có thể hiểu là nhóm các document, một
collection sẽ chứa các tập document.
Ở MongoDB, các collection khơng theo bản chất cũ vì các document không
tuân theo cấu trúc, nghĩa là các document trong một collection khơng có cấu trúc cố
định như nhau (khơng cần chia ra các cột để lưu trữ), vậy thì không cần phải định
nghĩa thành phần các cột trong một collection như trong cơ sở dữ liệu quan hệ.
v Ưu điểm:
• MongoDB là một cơ sở dữ liệu hướng tài liệu, sử dụng bộ nhờ nội tại, truy
cập dễ dàng nhờ vào việc lập ra các chỉ mục, tăng tốc độ phản hồi truy vấn
nhanh. Theo đánh giá thì tốc độ MongoDB có thể nhanh hơn 100 lần so
với cơ sở dữ liệu quan hệ.
• Sự linh hoạt của cơ sở dữ liệu: MongoDB sử dụng lưu trữ dữ liệu dưới
dạng Document JSON nên mỗi collection sẽ có kích cỡ khác nhau và các
document cũng khác nhau. Do sử dụng cơ sở dữ liệu khơng có lược đồ nên
điều này mang lại sử linh hoạt và tự do lưu trữ dữ liệu thuộc nhiều loại
khác nhau.
• Khả năng mở rộng: Lợi thế về cơ sở dữ liệu theo chiều ngang, vì vậy, khi
xử lý một dữ liệu lớn thì chúng ta có thể phân phối cho nhiều máy.
• Đội ngũ hỗ trợ chuyên nghiệp: Khi gặp phải bất kỳ sự cố nào chúng ta có
thể liên hệ trực tiếp đến hệ thống hỗ trợ để xử lý kịp thời.


6


• Tính khả dụng cao: MongoDB khơng chỉ có các tính năng về sao chép mà
có thể sử dụng gridFS (có thể lưu trữ và truy xuất các tệp vượt quá kích
thước 16MB). Các tính năng giúp tăng tính khả dụng và đạt hiệu suất cao.
v Hạn chế:
• Do MongoDB khơng có tính ràng buộc. Do đó, người dùng phải thực sự
cẩn trọng khi thao tác để tránh những sai số khơng đáng có.
• Các dữ liệu lớn hơn 16MB sẽ khơng được lưu trữ do giới hạn về kích thước
lưu trữ.
• MongoDB khơng được phép Joins như cơ sở dữ liệu quan hệ. Để sử dụng
chức năng Joins, chúng ta có thể thêm Coding theo cách thủ cơng, vì là thủ
cơng nên có thể làm chậm q trình và bị ảnh hưởng đến hiệu suất.
• Lồng dữ liệu trong BSON bị hạn chế, không được phép lồng những dữ liệu
hơn 100 cấp.
• Khơng có chức năng Joins nên sẽ có sự dư thừa dữ liệu, điều này là dung
lượng bộ nhớ tăng khơng cần thiết.
c) Trình soạn thảo Visual Studio Code

Hình 1.3.Visual Studio Code IDE
Visual Studio Code (VS Code hay VSC) là một trong những trình soạn thảo
mã nguồn phổ biến nhất được sử dụng bởi các lập trình viên. Nhanh, nhẹ, hỗ trợ đa
7


nền tảng, nhiều tính năng và là mã nguồn mở chính là những ưu điểm vượt trội khiến
VS Code ngày càng được ứng dụng rộng rãi.
VSC Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux
và macOS, Visual Studio Code được phát triển bởi Microsoft. Nó được xem là một

sự kết hợp hoàn hảo giữa IDE và Code Editor.
v Một số tính năng của VSC:
• Hỗ trợ nhiều ngơn ngữ lập trình
• Hỗ trợ đa nền tảng
• Cung cấp kho tiện ích mở rộng
• Kho lữu trữ an tồn, lưu trữ dữ liệu dạng phân cấp
• Màn hình đa nhiệm, mở nhiều tệp tin cùng lúc
• Hỗ trợ Git, command line và bình luận code
d) Android Studio
Android Studio là IDE (Mơi trường phát triển tích hợp) chính thức cho nền
tảng Android, được phát triển bởi Google và được sử dụng để tạo phần lớn các ứng
dụng mà bạn có thể sử dụng hàng ngày.
Android Studio lần đầu tiên được công bố tại hội nghị Google I/O vào năm
2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bản beta
khác nhau. Trước khi được phát hành, các nhà phát triển Android thường sử dụng
các công cụ như Eclipse IDE, một IDE Java chung cũng hỗ trợ nhiều ngơn ngữ lập
trình khác.
Android Studio khiến việc tạo ứng dụng trở nên dễ dàng hơn đáng kể so với
phần mềm không chuyên dụng. Android cho phép ta khởi tạo một máy ảo điện thoại
với các tính năng sử dụng như một điện thoại thật, qua đó việc biên dịch, sửa lỗi ứng
dụng trực tiếp, dễ dàng và nhanh hơn

8


e) Cơng cụ quản lý mã nguồn Azure DevOps

Hình 1.4. Công cụ quản lý mã nguồn Azure DevOps
Azure DevOps Services là dịch vụ hỗ trợ cho các nhà phát triển, nhằm hỗ trợ
các đội ngũ xây dựng kế hoạch làm việc, phát triển code cũng như triển khai ứng

dụng. Developer sẽ dựa vào dịch vụ này để thực hiện công việc của mình, hoặc dựa
vào đó để thiết lập cơng việc tại on-premise.
• Azure DevOps Services sẽ cung cấp cho bạn bộ tính năng tích hợp, mà
dựa vào đó có thể truy cập thơng qua trình duyệt web hoặc ứng dụng
IDE. Những dịch vụ đó bao gồm:
• Azure Repos: cung cấp kho kiểm soát phần mềm Git hoặc Team
Foundation Version Control (TFVC), giúp bạn kiểm sốt chặt chẽ mọi
mã nguồn.
• Azure Pipelines: cung cấp dịch vụ xây dựng và phát hành nhằm hỗ trợ
khả năng tích hợp và chuyển giao liên tục cho ứng dụng.
• Azure Boards: cung cấp bộ cung cụ Agile nhằm giúp bạn có thể lên kế
hoạch, theo dõi tiến độ cơng việc, rà sốt lỗi code cũng như các vấn đề
liên quan nhờ phương pháp Kanban và Scrum.

9


• Azure Test Plans: cung cấp công cụ giúp kiểm tra ứng dụng bằng cả
phương pháp thủ công và tự động.
• Azure Artifacts: cho phép chia sẻ các gói Maven, npm và NuGet từ các
nguồn công khai cũng như các nhân.
Bên cạnh đó, các cơng cụ cộng tác bao gồm cả dashboard có thể tùy chỉnh với
các tiện ích khác nhằm chia sẻ thơng tin, tiến trình và xu hướng…
f) Dịch vụ Google Map API của Google Developers

Hình 1.5. Google Developers
Google Map là một dịch vụ ứng dụng vào công nghệ bản đồ trực tuyến trên
web miễn phí được cung cấp bởi Google, hỗ trợ nhiều dịch vụ khác của Google đặc
biệt là dò đường và chỉ đường; hiển thị bản đồ đường sá, các tuyến đường tối ưu cho
từng loại phương tiện, cách bắt xe và chuyển tuyến cho các loại phương tiện công

cộng (xe bus, xe khách ...), và những địa điểm (kinh doanh, trường học, bệnh viện,
cây ATM...) trong khu vực cũng như khắp nơi trên thế giới.
Một số ứng dụng của Google Map API:
• Đánh dấu các địa điểm trên bản đồ kèm theo thông tin cho địa điểm đó: khu
vui chơi giải trí, nhà hàng khách sạn, cây ATM, bệnh viện, trường học bất cứ
địa điểm nào bạn muốn
• Chỉ dẫn đường đến các địa điểm cần tìm (đường tối ưu và nhiều option khác
), chỉ dẫn đường giao thơng cơng cộng, có thể là các địa điểm cung cấp như
trên. Ở đây sử dụng các service google cung cấp.
• Khoanh vùng khu vực: các trung tâm kinh tế, khu đô thị, khu ô nhiễm…
10


• Tình trạng giao thơng các khu vực… từ đó đưa ra các giải pháp…
1.4. Kết luận chương 1
Ở chương này, nhóm chúng em đã chỉ ra tổng quan về đề tài của dự án: mục
tiêu và yêu cầu của đề tài, cũng như các công nghệ, công cụ sử dụng trong dự án để
có thể xây dựng dự án hồn thiện. Đây chính là tiền đề và định hướng cho việc xây
dựng và phát triển ứng dụng Tìm kiếm và đặt xe GODY

11


CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1. Phát biểu bài tốn
Ứng dụng Tìm kiếm và đặt xe GODY là một ứng dụng cho phép Khách hàng
có thể tìm kiếm và thực hiện đặt xe, có thể biết được thơng tin lộ trình chuyến đi, giá
tiền chi phí cho mỗi chuyến đi, bên cạnh đó có thể thanh tốn trực tiếp trên ứng
dụng. Đối với Tài xế trong ứng dụng, có thể nhận các cuốc xe mà Khách hàng đặt
mà hệ thống đề nghị.


Hình 2.1. Ứng dụng tìm kiếm đặt xe GODY
2.2. Mơ hình hóa u cầu
2.2.1. Xác định các tác nhân của hệ thống

12


Hình 2.2. Người dùng hệ thống

Với mục tiêu đề ra rằng ứng dụng GODY đã xác định được các tác nhân đối
với hệ thống:
Ø User: người sử dụng ứng dụng
• Tài xế
• Khách hàng đặt xe
Ø Admin: người quản lý ứng dụng
Hệ thống ứng dụng GODY gồm các chức năng chính như hình trên:
- Quản lý hệ thống gồm: dành cho admin, người quản lý, quản trị hệ thống
qua đó admin có thể thao tác và có những thay đổi trực tiếp đến sự hoạt
động của hệ thống
o Quản lý tài xế: cập nhật, đánh giá và quản lý các user là tài xế sử dụng
ứng dụng
o Quản lý khách hàng: cập nhật, đánh giá và quản lý các user là khách
hàng sử dụng ứng dụng
o Quản lý mã khuyến mãi: chỉnh sửa và phát hành các mã khuyến mãi
áp dụng trong ứng dụng
o Quản lý chuyến đi: theo dõi, tổng hợp và đánh giá các chuyến đi của
user trên ứng dụng
o Thống kê: xuất file và tổng hợp đánh giá về hệ thống, ứng dụng
- Quản lý thông tin cá nhân: chức năng dành cho user khi user cần cung cấp

và cập nhật các thông tin theo yêu cầu được lưu trữ trên hệ thống ứng dụng
13


- Quản lý đặt xe: user gồm tài xế và khách hàng sử dụng chức năng để thực
hiện các chuyến đặt xe, đi lại giữa tài xế và khách hàng.
2.2.2. Sơ đồ phân rã chức năng

Hình 2.3. Sơ đồ phân rã chức năng
2.2.3. Biểu đồ ca sử dụng Use case
2.2.3.1. Use case admin

14


×