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

XÂY DỰNG ỨNG DỤNG QUẢN LÝ ĐẶT XE TAXI TRÊN THIẾT BỊ DI ĐỘNG CHẠY NỀN TẢNG ANDROID

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.39 MB, 34 trang )

Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA CÔNG NGHỆ THÔNG TIN
----------

TIỂU LUẬN
HỌC PHẦN LẬP TRÌNH DI ĐỘNG
Tên đề tài:

XÂY DỰNG ỨNG DỤNG QUẢN LÝ
ĐẶT XE TAXI TRÊN THIẾT BỊ
DI ĐỘNG CHẠY NỀN TẢNG ANDROID

Giảng viên: ThS. Nguyễn Văn Khương
Nhóm sinh viên thực hiện:
- Lê Thị Ngọc Trâm
- Nguyễn Võ Công Hậu
- Trần Quốc
- Văn Phú Hùng
- Hoàng Ngọc Ánh
- Vilaysak Phansidsai
- Thamesay Levietmuong
Lớp: DT14CTT01

Quảng Nam, tháng 11 năm 2017
----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 0



Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

MỤC LỤC
Phần 1. MỞ ĐẦU
3
1. Lý do chọn đề tài...................................................................................................................3
2. Mục tiêu của đề tài................................................................................................................3
3. Đối tượng và phạm vi nghiên cứu......................................................................................3
4. Phương pháp nghiên cứu.....................................................................................................4
Phần 2. NỘI DUNG NGHIÊN CỨU..........................................................................................5
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.......................................................................................5
1.1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID.........................................................5
1.1.1. Giới thiệu..............................................................................................................5
1.1.2. Kiến trúc................................................................................................................6
1.1.2.1. Linux kernel...................................................................................................6
1.1.2.2. Libraries........................................................................................................6
1.1.2.3. Android Runtime............................................................................................6
1.1.2.4. Application Framework.................................................................................7
1.1.2.5. Applications...................................................................................................7
1.2. NGÔN NGỮ LẬP TRÌNH...........................................................................................7
1.3. GIỚI THIỆU VỀ JSON...............................................................................................7
1.4. GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL.........................................8
1.5. CÔNG CỤ LẬP TRÌNH ANDROID STUDIO...........................................................8
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH............................................10
2.1. ĐẶC TẢ BÀI TOÁN.................................................................................................10
2.1.1. Chức năng chính.................................................................................................10
2.1.1.1. Chức năng của các Khách Hàng.................................................................10
2.1.2.2. Chức năng của các Hãng Xe.......................................................................10
2.1.2. Mô hình hoạt động của Hãng Xe và Khách Hàng..............................................10

2.1.2.1. Biểu đồ UseCase với Khách Hàng..............................................................10
2.1.2.2. Biểu đồ UseCase dành cho Hãng Xe...........................................................11
2.1.2.3. Biểu đồ xử lý................................................................................................12
2.1.2.3.1. Một số mô hình xử lý đăng nhập cho khách hàng và hãng xe..................12
2.1.2.3.2. Một số mô hình xử lý đăng ký cho khách hàng và hãng xe......................13
2.1.2.3.3. Mô hình xử lý đấu giá taxi........................................................................14
2.2. PHÂN TÍCH THIẾT KẾ............................................................................................15
2.2.1. Thiết kế cơ sở dữ liệu..........................................................................................15
2.2.2. Thiết kế chi tiết...................................................................................................16
CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH.......................................................................20
3.1. GIAO DIỆN CHÍNH.................................................................................................20
3.1.1. Giao diện bắt đầu vào app...................................................................................20
3.1.2. Giao diện khách hàng..........................................................................................22
3.1.3. Giao diện hãng taxi.............................................................................................27
3.2. SỬ DỤNG CHƯƠNG TRÌNH..................................................................................31
Phần 3. KẾT LUẬN....................................................................................................................32
1. Những vấn đề đạt được......................................................................................................32
2. Những vấn đề còn hạn chế.................................................................................................32
Phần 4. TÀI LIỆU THAM KHẢO...........................................................................................33

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 1


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

DANH MỤC HÌNH ẢNH
Hình 1: Sơ đồ hệ điều hành Android.....................................................................5
Hình 2: Công cụ lập trình Androi Studio..............................................................7

Hình 3: Giao diện Android Studio.........................................................................8
Hình 4: Chức năng Đăng kí, Đăng nhập dành cho khách hàng..........................10
Hình 5: Chức năng dành cho khách hàng đã đăng nhập.....................................10
Hình 6: Chức năng dành cho hãng xe chưa có tài khoản....................................11
Hình 7: Chức năng dành cho hãng xe đã có tài khoản........................................11
Hình 8: Mô hình xử lý đăng nhập cho khách hàng và hãng xe...........................12
Hình 9: Mô hình xử lý đăng ký cho khách hàng và hãng xe...............................13
Hình 10: Mô hình xử lý đấu giá taxi...................................................................14
Hình 11: Cơ sở dữ liệu và mối quan hệ...............................................................15
Hình 12: Giao diện bắt đầu khởi động app..........................................................19
Hình 13: Giao diện đăng nhập.............................................................................20
Hình 14: Giao diện đăng ký................................................................................21
Hình 15: Giao diện đặt xe....................................................................................22
Hình 16: Giao diện xác nhận đặt xe....................................................................23
Hình 17: Giao diện menu app..............................................................................24
Hình 18: Giao diện hiển thị thông tin tài khoản..................................................24
Hình 19: Giao diện đặt nhanh..............................................................................25
Hình 20: Giao diện đơn đặt xe............................................................................26
Hình 21: Giao diện menu hãng taxi.....................................................................27
Hình 22: Giao diện hiện thị danh sách đăng ký..................................................28
Hình 23: Giao diện đặt xe....................................................................................29
Hình 24: Giao diện hiễn thị danh sách đấu giá thành công.................................30

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 2


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------


Phần 1. MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, taxi được coi là phương tiện công cộng phổ biến trên thế giới. Hàng
triệu người di chuyển bằng phương tiện này mỗi ngày. Ở Việt Nam, ngoài các hình
thức xe taxi truyền thống, thì hình thức xe taxi công nghệ có vị trí quan trọng kể từ khi
xuất hiện những hãng xe như Uber, Grab. Như vậy, khách hàng đều mong muốn có
một mức giá hợp lý khi sử dụng phương tiện này. Cùng với đó, như ta đã biết, các thiết
bị cầm tay đã trở nên mạnh mẽ và rất phổ biến. Trong vài năm trở lại đây, hệ điều hành
Android ra đời và trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, với
sự kế thừa những ưu việt của các hệ điều hành ra đời trước và sự kết hợp của nhiều
công nghệ tiên tiến nhất hiện nay. Những ưu điểm dễ thấy nhất của Android chính là
khả năng tùy biến nhanh chóng, dễ làm quen, ứng dụng hỗ trợ phong phú, tương thích
với đa cấu hình phần cứng của các nhà sản xuất. Dù đã hay chưa từng sử dụng
smartphone Android thì bạn cũng không cần quá lo lắng về việc thay đổi. Hầu như tất
cả những smartphone sử dụng hệ điều hành Android đều rất dễ sử dụng, đơn giản
trong tùy biến theo sở thích cá nhân, cùng như có rất nhiều ứng dụng đề thỏa mãn nhu
cầu của từng người dùng. Đồng thời Android có mã nguồn mở đã cho phép các nhà
phát triển thiết bị mạng di động và các lập trình viên được điều chỉnh và phân phối
Android một cách tự do. Bởi vậy trước nhu cầu và lợi thế đó, nhóm em quyết định
nghiên cứu và xây dựng ứng dụng: Xây dựng ứng dụng quản lý đặt xe taxi trên thiết bị
di động chạy nền tảng Android.

-

2. Mục tiêu của đề tài
Tìm hiểu ngôn ngữ lập trình Android.
Xây dựng ứng dụng đặt xe.
Có thể ứng dụng kiến thức vào những dự án sau này.

3. Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu:
+ Ngôn ngữ lập trình Android.
+ Sử dụng Json.
+ Hệ quản trị cơ sở dữ liệu MySQL.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 3


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

- Phạm vi nghiên cứu:
Nghiên cứu các vấn đề xoay quanh việc lập trình Android, cơ sở dữ liệu SQL
Server. Từ đó xây dựng ứng dụng đặt xe ngay trên Smartphone.
4. Phương pháp nghiên cứu
 Phương pháp nghiên cứu tự luận: Nghiên cứu, đọc các tài liệu, giáo trình liên
quan tới kỹ thuật lập trình Android.
 Phương pháp tổng kết kinh nghiệm: Qua việc nghiên cứu tài liệu, giáo trình
rút ra kinh nghiệm để xây dựng chương trình trắc nghiệm.
 Phương pháp lấy ý kiến chuyên gia: Lấy ý kiến giảng viên trực tiếp hướng dẫn
để hoàn thiện về mặt nội dung cũng như hình thức của đề tài.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 4


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------


Phần 2. NỘI DUNG NGHIÊN CỨU
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID
1.1.1. Giới thiệu
Android là một hệ điều hành 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 và sau này được chính Google mua lại vào năm 2005.
Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị
cầm tay mờ: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với
mục tiêu đẩy mạnh các tiêu chuẩn mờ cho các thiết bị di động. Chiếc điện thoại đầu
tiên chạy Android được bán vào tháng 10 năm 2008.
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ
biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010, và được các công ty công
nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và
giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu. Kết quả là mặc dù
được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV,
máy chơi game và các thiết bị điện tử khác. Bản chất mở của Android cũng khích lệ
một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở đề
tạo ra những dự án do cộng đồng quản lý. Những dự án này bổ sung các tính năng cao
cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu
chạy hệ điều hành khác.
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời
điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu
lượt kích hoạt mỗi ngày. Sự thành công cùa hệ điều hành cũng khiến nó trở thành mục
tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc
chiến điện thoại thông minh" giữa các công ty công nghệ.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 5



Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

1.1.2. Kiến trúc
Hệ điều hành Android có các thành phần phần mềm tạm chia thành 5 phần với 4
tầng chính trong sơ đồ kiến trúc như hình dưới đây:

Hình 1: Sơ đồ hệ điều hành Android

1.1.2.1. Linux kernel
Ở dưới cùng của các tầng trên là tầng Linux Kernel với khoảng 115 bàn vá lỗi.
Tầng này cung cáp chức năng hệ thống cơ bản như quản lý các tiến trình, quản lý bộ
nhớ, quản lý thiết bị như máy ảnh, bàn phím, màn hình hiển thị, v.v...Ngoài ra, nhân
Linux xử lý tất cả các vấn đề về Mạng và một loạt các trình điều khiển thiết bị giao
tiếp với phần cứng ngoại vi.
1.1.2.2. Libraries
Tầng này là một tập hợp các thư viện bao gồm trình duyệt web mã nguồn mờ sử
dụng WebKit engine, thư viện libe, cơ sở dữ liệu SQLite là một kho lưu trữ hữu ích
cho việc lưu trữ và chia sẻ dữ liệu của ứng dụng, có các thư viện để chơi/ghi lại âm
thanh và video, các thư viện SSL chịu trách nhiệm về bảo mật Internet, v.v...
1.1.2.3. Android Runtime
Đây là phần thứ ba của kiến trúc Android. Phần này cung cấp một thành phần
quan trọng được gọi là Dalvik Virtual Machine – một loại máy ảo Java được thiết kế
đặc biệt và tối ưu hóa cho Android.
Android Runtime cũng cung cấp một tập các thư viện lỗi cho phép các nhà phát
triển ứng dụng Android viết các ứng dụng Android sử dụng ngôn ngữ lập trình Java
(J2SE).
----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …

Trang 6


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

1.1.2.4. Application Framework
Tầng Application Framework cung cấp nhiều dịch vụ cấp cao hơn cho các ứng
dụng trong ở dạng các class trong Java. Các nhà phát triển ứng dụng được phép sử
dụng các dịch vụ này trong các ứng dụng của họ. (Ví dụ: dịch vụ kết nối Internet, dịch
vụ SMS,...).
1.1.2.5. Applications
Bạn sẽ viết ứng dụng và các ứng dụng mà bạn viết được cài đặt ở tầng này.
Ví dụ: Angry Bird, Facebook, Viber, v.v...

1.2. NGÔN NGỮ LẬP TRÌNH
Ngôn ngữ lập trình chính thức của Android là Java. Mặc dù các ứng dụng trên
Android được phát triển dựa trên nền tảng Java, nhưng Android không hỗ J2ME và
J2SE, là hai ngôn ngữ lập trình phổ dụng cho các thiết bị di động.
Dựa trên máy ảo Java của Sun, Google đã tinh chỉnh và phát triển nên máy ảo
Dalvik để biên dịch mã Java với tốc độ biên dịch nhanh hơn và nhẹ hơn.
Bằng cách sử dụng các frameworks của hãng thứ ba (VD: PhoneGap,
Titanium,...), các nhà lập trình web cũng có thể phát triển ứng dụng Android một cách
dễ dàng bằng các ngôn ngữ web phổ dụng như HTML, CSS, Javascript. Tuy nhiên số
lượng các ứng dụng đi theo chiều hướng này chưa nhiều.
Ngoài ra các ứng dụng của Android sử dụng SQLite để quản lý cơ sở dữ liệu.

1.3. GIỚI THIỆU VỀ JSON
Json (JavaScript Object Noattion) là 1 định dạng hoán vị dữ liệu nhanh. Chúng
dễ dàng cho chúng ta đọc và viết. Dễ dàng cho thiết bị phân tích và phát sinh. JSon là

cơ sở dựa trên tập hợp của ngôn ngữ lập trình JavaScript.
JSon được xây dựng trên 2 cấu trúc :
- Là tập hợp của các cặp tên và giá trị như name - value. Trong những ngôn ngữ
khác nhau, đây dược nhận thấy như là 1 đối tượng (object), sự ghi (record), cấu trúc
( struct), từ điển (dictionary), bảng băm (hash table), danh sách khóa (keyed list), hay
màng liên hợp.
- Là 1 tập hợp các giá trị đã được sắp xếp.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 7


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

1.4. GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
MySQL là hệ quản trị cơ sở dữ liệu mã 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 có 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. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ.
Nó 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 X, Unix, FreeBSD, NetBSD, Novell
NetWare, SGI Irix, Solaris, SunOS, ...
MySQL được sử dụng cho việc bồ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó 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.

1.5. CÔNG CỤ LẬP TRÌNH ANDROID STUDIO
Android Studio là công cụ lập trình chuẩn riêng của Google thay thế cho phiên

bản Eclipse cũ. Android Studio bao gồm các thành phần: Android Studio IDE, Android
SDK tools, Android 5.0 (Lollipop) Platform, Android 5.0 emulator system image with
Google APIs.

Hình 2: Công cụ lập trình Androi Studio

Android Studio là một công cụ lập trình thông minh có khả năng chỉnh sửa code
tiên tiến với nhiều thay đổi như: công cụ thiết kế giao diện người dùng mới và trực
quan, phân tích hiệu suất, vv cho phép lập trình viên có thể tạo các ứng dụng, thực
hiện thay đổi cũng như xem trước sản phẩm trong thời gian thực.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 8


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Hình 3: Giao diện Android Studio

Yêu cầu hệ thống Windows
- Microsoft Windows 7/8/10 (32- or 64-bit).
- Tối thiểu 2GB RAM, khuyến nghị 8GB RAM.
- Tối thiểu 2GB ổ trống, khuyến nghị 4GB (500MB cho IDE + 1.5 GB cho
Android SDK và image giả lập hệ thống).
- Tỷ lệ màn hình tối thiểu 1280 x 800.
Yêu cầu hệ thống Mac:
- Mac OS X 10.8.5 hoặc cao hơn, hỗ trợ tới 10.11.4 (El Capitan).
- Tối thiểu 2GB RAM, khuyến nghị 8GB RAM.
- Tối thiểu 2GB ổ trống, khuyến nghị 4GB (500MB cho IDE + 1.5 GB cho

Android SDK và image giả lập hệ thống).
- Tỷ lệ màn hình tối thiểu 1280 x 800.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 9


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH
2.1. ĐẶC TẢ BÀI TOÁN
2.1.1. Chức năng chính
2.1.1.1. Chức năng của các Khách Hàng

- Đăng nhập
- Đăng ký
- Khách hàng có thể đặt xe bằng ứng dụng.
- Khách hàng có thể đặt xe nhanh bằng cách gọi điện trực tiếp thông qua
số điện thoại app cung cấp.
- Khách hàng có thể xem thông báo xác nhận của các hãng xe khi đấu giá
thành công.
- Xác nhận đi khi có kết quả đấu giá của các hãng xe.
- Khách hàng có thể quản lý thông tin cá nhân của mình.
- Có thể xem lại lịch sử đặt xe của mình
2.1.2.2. Chức năng của các Hãng Xe

- Đăng nhập
- Đăng ký
- Có thể đấu giá với các hãng xe

- Xem danh sách khách hàng đã đăng ký đi taxi
- Xem danh sách khách hàng đã xác nhận đi
- Có thể quản lý thông tin của hãng xe.
2.1.2. Mô hình hoạt động của Hãng Xe và Khách Hàng
2.1.2.1. Biểu đồ UseCase với Khách Hàng
Biểu đồ UseCase thể hiện số lượng chức năng mà người dùng có thể tương tác
trực tiếp.
 Đối với khách hàng chưa đăng ký
Khách hàng có thể đăng ký tài khoản để đăng nhập để bắt đầu sử dụng.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 10


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Hình 4: Chức năng Đăng kí, Đăng nhập dành cho khách hàng

 Đối với thành viên
Sau khi đăng nhập vào ứng dụng, thành viên có những chức năng nhất định.

Hình 5: Chức năng dành cho khách hàng đã đăng nhập

2.1.2.2. Biểu đồ UseCase dành cho Hãng Xe
 Đối với hãng xe chưa đăng ký
Hãng xe có thể đăng ký tài khoản để đăng nhập để bắt đầu sử dụng.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 11



Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Hình 6: Chức năng dành cho hãng xe chưa có tài khoản

 Đối với hãng xe đã có tài khoản

Hình 7: Chức năng dành cho hãng xe đã có tài khoản

2.1.2.3. Biểu đồ xử lý
2.1.2.3.1. Một số mô hình xử lý đăng nhập cho khách hàng và hãng xe

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 12


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Hình 8: Mô hình xử lý đăng nhập cho khách hàng và hãng xe

Bước 1: User gửi username, password đến server. Nếu có timeout hay internet lỗi
thì hiển thị thông báo.
Bước 2: Server nhận data từ client, xử lý và gửi trả lại kết quả.
Bước 3: Nếu username hoặc password không đúng thì hiển thị lỗi và quay lại
bước 1. Nếu tài khoản bị khóa thì hiện thông báo liên hệ với admin.
Bước 4: Đăng nhập thành công tiếp tục sử dụng chương trình.
2.1.2.3.2. Một số mô hình xử lý đăng ký cho khách hàng và hãng xe


----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 13


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Hình 9: Mô hình xử lý đăng ký cho khách hàng và hãng xe

Bước 1: User nhập vào input, client kiểm tra input trước khi gửi lên server. Nếu
input sai thì hiện thông báo nhập lại.
Bước 2: Gửi thông tin đăng kí lên server. Server kiểm tra username có tồn tại
chưa. Nếu username tồn tại thì hiện thông báo lỗi và quay lại bước 1. Nếu username
không tồn tại đến bước 3.
Bước 3: Xử lý đăng kí và thêm dữ liệu vào database. Gửi trả kết quả lại cho
client.
Bước 4: Hiển thị kết quả đăng kí thành công và chuyển user đến màn hình đăng
nhập.
2.1.2.3.3. Mô hình xử lý đấu giá taxi

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 14


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Hình 10: Mô hình xử lý đấu giá taxi


Bước 1: Khách Hàng đăng ký thời gian đi nhưng phải trước thời gian hiện tại 20
phút.
Bước 2: Server sẽ chứa thông tin khách hàng đã đăng ký.
Bước 3: Các hãng xe sẽ có được thông tin từ khách hàng đăng ký được lấy từ
database trên Server.
Bước 4: Các hãng xe đấu giá với bất kỳ thông tin khách hàng đã đăng ký nhưng
phải thấp hơn so với giá mà các hãng khác đã đấu giá. Thời gian đấu giá sẽ dừng khi
thời gian khách hàng đăng ký trước đó 10 phút.
Bước 5: Server là nơi chứa giá thấp nhất của thông tin mà khách hàng đã đăng ký
trước đó.
Bước 6: Khách Hàng sẽ xác nhận có đi hay không với số tiền mà hãng xe đã đấu
giá trước thời gian đăng ký 5 phút
Bước 7: Các hãng xe sẽ lấy thông tin khách hàng đã xác nhận đi để xử lý.

2.2. PHÂN TÍCH THIẾT KẾ
2.2.1. Thiết kế cơ sở dữ liệu
Mô hình cơ sở dữ liệu tổng quát thể hiện mối quan hệ giữa các bảng với nhau,
thể hiện những thực thể trong cơ sở dữ liệu.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 15


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Hình 11: Cơ sở dữ liệu và mối quan hệ

 Danh sách các mối kết hợp:


Tên mối kết hợp
Huyện_Tinh

Thực thể 1
tinh

Thực thể 2
huyen

Xa_Huyen

huyen

xa

ordertaxi_user

user

ordertaxi

daugia_ordertaxi

ordertaxi

daugia

daugia_hangxe

hangxe


daugia

thanhtoan_odertaxi thanhtoan

ordertaxi

Mối quan hệ Ý nghĩa
1,n
Một tỉnh có
nhiều huyện
1,n
Một xã có
nhiều huyện
1,n
Một người
có thể đăng
ký nhiều
chuyến xe
1,n
Một đơn đặt
xe có nhiều
hãng xe đấu
giá
1,n
Một hãng xe
có thể đấu
giá nhiều lần
1,1
Một hóa đơn

chỉ có một
đơn đặt xe

2.2.2. Thiết kế chi tiết
 Bảng Tỉnh
----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 16


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Thuộc tính
TinhID

Kiểu dữ liệu
int(3)

TenTinh

varchar(100)

Khóa
Khóa chính

Ràng buộc
Not null

Mô tả
Mã Tỉnh


Not null

Tên Tỉnh

 Bảng Huyện
Thuộc tính

Kiểu dữ liệu

Khóa

Ràng buộc

Mô tả

HuyenID

int(3)

Khóa chính

Not null

Mã Huyện

TenHuyen

varchar(255)


Not null

Tên Huyện

TinhID

int(3)

Khóa ngoại

Not null

Mã Tỉnh

Thuộc tính

Kiểu dữ liệu

Khóa

Ràng buộc

Mô tả

XaID

int(5)

Khóa chính


Not null

Mã Xã

TenXa

varchar(50)

Not null

Tên Xã

HuyenID

int(3)

Khóa ngoại

Not null

Mã Huyện

Thuộc tính

Kiểu dữ liệu

Khóa

Ràng buộc


Mô tả

UserId

int(3)

Khóa chính

Not null

Mã User

Fullname

varchar(50)

Not null

Tên User

Password

varchar(20)

Not null

Mật Khẩu

Sdt


varchar(11)

Not null

Số điện thoại

 Bảng Xã

 Bảng User

 Bảng Đặt Xe
Thuộc tính

Kiểu dữ liệu

Khóa

Ràng buộc

Mô tả

ID

int(3)

Khóa chính

Not null

Mã Đặt Xe


DiemDon

text

Not null

Điểm Đón

DiemTra

text

Not null

Điểm Trả

ThoiGian

datetime

Not null

Thời Gian

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 17


Tiểu luận học phần “Lập trình di động”

-----------------------------------------------------------------------------------------------------------------

SoLuong

int(2)

Not null

Số Lượng Xe

LoaiXe

varchar(10)

Not null

Loại Xe

ChieuDi

varchar(10)

Not null

Chiều Đi

UserID

int(3)


Khóa Ngoại

Not null

Mã User

 Bảng Hãng Xe
Thuộc tính

Kiểu dữ liệu

Khóa

Ràng buộc

Mô tả

HangXeID

int(3)

Khóa chính

Not null

Mã Hãng Xe

TenHangXe

text


Not null

Tên Hãng Xe

Email

varchar(100)

Not null

Email Hãng Xe

Sdt

varchar(11)

Not null

Số Điện Thoại

MatKhau

varchar(50)

Not null

Mật Khẩu

 Bảng Đấu Giá

Thuộc tính

Kiểu dữ liệu

Khóa

Ràng buộc

Mô tả

DauGiaID

int(3)

Khóa chính

Not null

Mã Đấu Giá

DatXeID

int(3)

Khóa ngoại

Not null

Mã Đặt Xe


HangXeID

int(3)

Khóa ngoại

Not null

Mã Hãng Xe

Tien

int

Not null

Tiền Đấu Giá

 Bảng Thanh Toán
Thuộc tính

Kiểu dữ liệu

Khóa

Ràng buộc

Mô tả

ThanhToanID


int(3)

Khóa chính

Not null

Mã Thanh Toán

Userid

int(5)

Khóa ngoại

Not null

Mã User

HangXeid

int(3)

Khóa ngoại

Not null

Mã Hãng Xe

DatXeID


int(5)

Khóa ngoại

Not null

Mã Đặt Xe

Status

int(1)

Not null

Trạng Thái

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 18


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 19


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------


CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH
3.1. GIAO DIỆN CHÍNH
3.1.1. Giao diện bắt đầu vào app
 Giao diện này sẽ được thực hiện khi người chơi khởi động trò chơi. Giao diện
này có 2 chức năng:
-

Đăng nhập.
Đăngký.

Hình 12: Giao diện bắt đầu khởi động app

 Chức năng đăng nhập:
- Đây là nơi người dùng đăng nhập vào hệ thống.
- Ngoài chức năng chính là đăng nhập. Giao diện này còn có chức năng hiện
mật khẩu và quên mật khẩu.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 20


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

Hình 13: Giao diện đăng nhập

 Chức năng đăng ký:
- Chức năng này có nhiệm vụ chính là đăng ký thành viên mới nếu chưa có tài
khoản đăng nhập và hệ thống.


Hình 14: Giao diện đăng ký

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 21


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

3.1.2. Giao diện khách hàng
 Chức năng đặt xe:
- Đây là chức năng chính của app. Chức năng này có nhiệm vụ tương tác với
người dùng để đặt xe.
- Ở đây người dùng cần nhập các thông tin:
- Nhập địa điểm đón khách hành.
- Nhập địa điểm trả khách hành.
- Chọn số lượng xe khi đặt.
- Chọn loại xe khi đặt gồm: xe 4 chổ, xe 7 chổ, và 16 chổ.
- Chọn thời gian khi đón khách. Thời gian đón khách được hệ thống yêu cầu
trước 20 phút thời gian hiện tại.
- Chọn chiều đi (chiều đi –chiều về) gồm: 1 chiều và 2 chiều.

Hình 15: Giao diện đặt xe

 Chức năng xác nhận thông tin đặt xe:

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 22



Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------

- Khi khách hàng chọn đặt xe hệ thống sẽ chuyển sang giao diện xác nhận đặt
xe. Giao diện này hiện thị tất cả thông tin được khách hàng chọn và khi nhấn xác nhận
tất cả thông tin được chuyển đến hãng taxi.

Hình 16: Giao diện xác nhận đặt xe

 Giao diện menu:
-

Ở đây giao diện gồm các chức năng:
Hiện thị tên khách hàng đang sử dụng app.
Chức năng đặt xe.
Chức năng đặt nhanh.
Chức năng tài khoản.
Chức năng đơn đặt xe.
Chức năng thông báo.
Chức năng lịch sử.
Chức năng đăng xuất.

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 23


Tiểu luận học phần “Lập trình di động”
-----------------------------------------------------------------------------------------------------------------


Hình 17: Giao diện menu app

 Giao diện hiện thị thông tin tài khoản:
- Giao diện này hiện thị tất cả các thông tin cá nhân đang sử app. Ngoài ra ở đây
có các chức năng thay đổi mật khẩu và chỉnh sửa thông tin cá nhân.

Hình 18: Giao diện hiển thị thông tin tài khoản

----------------------------------------------------------------------------------------------------------------Nhóm sinh viên: …
Trang 24


×