1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật phần mềm: Ứng dụng tìm kiếm và chia sẻ chuyến đi

68 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng tìm kiếm và chia sẻ chuyến đi
Tác giả Trần Trung Kiên
Người hướng dẫn TS. Nguyễn Hà Giang, ThS. Nguyễn Thị Thanh Trúc
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Kỹ thuật phần mềm
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 68
Dung lượng 28,53 MB

Nội dung

Về nội dung nghiên cứu: Khóa luận trình bày các nghiên cứu về cách thức hoạt động của các ứng dụng tương tự chia sẻ và tim kiếm đường đi.. Về chương trình ứng dụng: Trên cơ sở lý thuyết

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN

KHOA CONG NGHE PHAN MEM

TRAN TRUNG KIEN

KHOA LUAN TOT NGHIEP

UNG DUNG TÌM KIEM VA CHIA SE CHUYEN DI

Finding and Sharing Journey Application

KY SU NGANH KY THUAT PHAN MEM

TP HO CHi MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA CONG NGHE PHAN MEM

TRAN TRUNG KIEN - 16521707

KHOA LUAN TOT NGHIEP

UNG DUNG TÌM KIEM VÀ CHIA SẺ CHUYEN DI

Finding and Sharing Journey Application

KY SU NGANH KY THUAT PHAN MEM

GIANG VIEN HUONG DAN

TS NGUYEN HA GIANG THS NGUYEN THI THANH TRUC

TP HO CHI MINH, 2021

Trang 3

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số 453/QD

-ĐHCNTT ngày 19, tháng 7, năm 2021 của Hiệu trưởng Trường Đại học Công nghệ

thông tin.

1 Chủ tịch: TS Nguyễn Tan Tran Minh Khang

2 Thu ky: ThS Thai Thuy Han Uyén

3 Uy vién: ThS Lé Thanh Trong

Trang 4

ĐẠI HỌC QUỐC GIA TP HÒ CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP HCM, ngày 20 tháng 07 năm 2021

NHAN XÉT KHÓA LUẬN TOT NGHIỆP

(CUA CÁN BỘ HƯỚNG DAN)

Tên khóa luận:

UNG DUNG TÌM KIEM VÀ CHIA SẺ CHUYEN ĐI

SV thực hiện: Cán bộ hướng dẫn:

Trần Trung Kiên 16521707 TS Nguyễn Hà Giang

ThS Nguyễn Thị Thanh Trúc

Đánh giá Khóa luận

I Về cuốn báo cáo:

Số trang 61 Số chương 4

Số bảng số liệu 2 Số hình vẽ 30

Số tài liệu tham khảo 3 Sản phẩm 1

Trang 5

Một sô nhận xét vê hình thức cuôn báo cáo:

Bồ cục khóa luận trình bày cân đối phan lý thuyết và công nghệ gồm bốn chương,nội dụng ở chương 1 Tổng quan: viết khá rõ ràng và chỉ tiết các nghiên cứu liên quan vànêu rõ mục tiêu dé tài Chương 2 Cơ sở lý thuyết: công nghệ triển khai Chương 3 Thựchiện Chương 4 Kết luận và hướng phát triển

2 Về nội dung nghiên cứu:

Khóa luận trình bày các nghiên cứu về cách thức hoạt động của các ứng dụng

tương tự chia sẻ và tim kiếm đường đi Về mặt công nghệ thực hiện Xamarin Forms,

.Net Core, Azure, Google Map API, OpenRouteService Tuy nhiên cần tìm hiểu thêm lýthuyết liên quan đến bài toán sắp xếp tối ưu trong tìm đường đi

— Tìm thông tin thông tin cụm đi, người dùng có cùng cụm đến và cụm đi sẽ được trả

về dữ liệu cho ứng dụng qua API

— Tạo tài khản, đăng nhập, đăng xuất, đổi mật khẩu, tìm kiếm bạn bè đi chung, nhắn

tin với người đã từng đi chung ứng dụng hiện ra bản đỗ và cho phép người dùngchọn vi trí chính xác trong cụm địa điểm đó hiển thị ra những tài khoản phù hợp

có cùng diém đi va diém đên.

Trang 6

— Dựa vào Tin nhăn mặc định sẽ được gửi đên tài khoản đó xác nhận 2 người sé di

chung với nhau.

4, Về thái độ làm việc của sinh viên:

Sinh viên nghiêm túc và cố gắng thực hiện đề tài

Đánh giá chung: Khóa luận đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư, xếp

loại Gioi.

Điểm từng sinh viên:

Trần Trung Kiên: 8.5/10

Trang 7

ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HOA XÃ HOI CHỦ NGHĨA VIỆT NAM

Tên khóa luận:

UNG DUNG TÌM KIEM VÀ CHIA SẺ CHUYEN ĐI

SV thực hiện: Cán bộ hướng dẫn:

Trần Trung Kiên 16521707 TS Nguyễn Trịnh Đông

Đánh giá Khóa luận

1 Vê cuôn báo cáo:

Số trang 61 Số chương 4

Số bảng số liệu 2 Số hình vẽ 30

Số tài liệu tham khảo 3 Sản phẩm |

Một sô nhận xét về hình thức cuôn báo cáo:

Cách thức trình bày khóa luận phù hợp với các quy định, phân bố nội dung từngmục rõ ràng, cụ thé, có hình ảnh trực quan Các chương mục được trình bày hợp lý va

Trang 8

theo thứ tự Tuy nhiên, còn một sô lỗi trình bày, các hình vẽ biêu diễn các usecase cân chuân hóa Về nội dung nghiên cứu:

— Khóa luận tập trung tìm hiểu giải pháp chia sẻ phương tiện trong phạm vi mộtkhu vực và kỹ thuật lập trình trên thiết bị di động dựa trên bộ công cụ phát triển phần

mêm Xamarin của Microsoft.

— _ Sinh viên đã tiễn hành tìm hiểu cơ sở lý thuyết dé áp dụng vào phát triển hệ thống:

— Phần phân tích thiết kế đã co bản giải quyết được các yêu cầu chung cho bài toán

phân tích thiết kế hệ thống thông tin Từ việc đặc tả các usecase đến các sơ đồ kỹ

thuật cần thiết để phát triển hệ thống Trên cơ sở yêu cầu chỉnh sửa của CBPB Sinh

viên Trần Trung Kiên đã khắc phục nhanh chóng những lỗi trong khóa luận

2 Về chương trình ứng dụng:

Trên cơ sở lý thuyết và quá trình phát triển hệ thống, Khóa luận đã đưa ra kết quả

là một phân mêm trên thiệt bi di động chạy trên máy ảo có các ưu diém và nhược điêm Sau:

Ưu điểm: Do đây là một ứng dụng có nhiều tính năng và cần có cơ sở pháp lý

Do đó, còn nhiều vấn đề cần phải giải quyết Ứng dụng cho phép đăng ký người dùng,

Trang 9

hiền thị bản đồ, cho phép tìm đường đi và những chuyến hành trình trên tuyến đường đã

chọn, v.v.

Nhược điểm: So với mục tiêu đề tài, cơ bản phần mềm đã chạy thử nghiệm Tuynhiên, đây là một lĩnh vực khó cả về kiến thức pháp lý, quản trị và kỹ thuật Vấn đề xác

thực người dùng chưa đê cập, v.v.

3 Vé thái độ làm việc cua sinh viên:

Sinh viên có thái độ tích cực, chủ động bô sung, sửa đôi khóa luận, cung câp đây

đủ tài liệu khi được yêu cầu

Đánh gia chung: Khóa luận đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư, xếp

Trang 10

LỜI CÁM ƠN

Tục ngữ Việt Nam có câu: “Không thầy đố mày làm nên” Dé hoàn thành khóaluận này, em xin gửi lời cảm ơn chân thành nhất đến thầy Nguyễn Hà Giang và cô

Nguyễn Thị Thanh Trúc đã tận tình hướng dẫn em Qua khóa luận này, em đã học tập

được nhiều thứ mà em chưa từng biết đến, hiểu rõ hơn về các quy trình cũng như cáchvận hành và làm ra một hệ thống ứng dụng đã đề ra Em đã gặp rất nhiều khó khăn trong

quá trình thực hiện nhưng nhờ sự tận tâm, cũng như sự góp ý của thầy, cô cho báo cáo

của em đã giúp em định hướng tốt hơn khi làm khóa luận và các hướng phát triển có thé

cho ứng dụng.

Cảm ơn giảng viên phản biện và các thầy cô trong hội đồng chấm khóa luận vớinhững lời khuyên, góp ý quý báu và bồ ích Từ đó khóa luận của em được trở nên hoànthiện hơn Em cũng xin gửi tất cả sự biết ơn và trân trọng của mình đến với những ngườithân, bạn bè đã ủng hộ và động viên em trong những giai đoạn đầy khó khăn và thử thách

khi thực hiện khóa luận này.

Đến nay, khóa luận của em cơ bản hoàn thành, em không thể không nhớ đến sựgiúp đỡ của thầy cô Tuy nhiên, với điều kiện thời gian cũng như kinh nghiệm còn hạnchế của sinh viên, đồ án này của em không thể tránh khỏi những sai lầm và thiếu sót Emrat mong nhận được sự chỉ bảo, đóng góp của cô dé em có điều kiện bổ sung, nâng caokiến thức của mình, phục vụ tốt hơn cho công việc thực tế sau này

Một lần nữa, em rất biết ơn sự hỗ trợ to lớn của quý thầy cô Chúc thầy cô luônd6i dao sức khỏe, hạnh phúc và thành công hơn nữa trong sự nghiệp của minh

Trang 11

ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HOI CHU NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

DE CƯƠNG CHI TIẾT

TEN DE TÀI: Ứng dung tìm kiếm và chia sẻ chuyến đi

TÊN DE TÀI (tiếng Anh): Finding and Sharing Journey Application

Cán bộ hướng dẫn:

Ts Nguyễn Hà GiangThS Nguyễn Thị Thanh Trúc

Thời gian thực hiện:Từ ngày 01/03/2021 đến ngày 30/06/2021

Sinh viên thực hiện:

Trần Trung Kiên - 16521707

Nội dung đề tài:(Mô tả chỉ tiết mục tiêu, phạm vi, đối tượng, phương pháp thựchiện, kết quả mong đợi của đề tài)

1 Mục tiêu:

Trang 12

Hiện tại có rất nhiều người điều khiển xe máy có tuyến đường đi như nhau nhưng

lại di hai xe khác nhau, việc này làm cho lượng phương tiện tham gia giao thông vào gid

cao diém tăng cao, dân đên việc ùn tac và lượng khí thải cũng tăng theo.

Bên cạnh việc cùng tuyên đường thì có một sô địa điêm tập trung người di lam công

sở ở cùng khu vực Việc di chuyên của một người chỉ giới hạn ở cung giờ hành chính, và

tuyến đường chỉ là từ nhà đến cơ quan hay công ty và ngược lại

Một ứng dụng giúp đỡ những người có khả năng chở thêm người và những người

cần được chở ghép cặp dé đi chung với nhau là điều cần thiết Giúp giảm lượng phươngtiện tham gia giao thông, qua đó tiết kiệm nhiên liệu và hạ thấp lượng khí thải ra môi

trường.

Hình thức di chuyên tiết kiệm này phổ biến ở các nước phát triển như mô hình dichung ôtô Covoiturage ở Pháp, Bla Bla Car ở châu Âu, hay ứng dụng Ridewith của

Google Nhưng loại phương tiện phô biến ở Việt Nam hiện nay lại là xe máy, vì vậy ứng

dụng sẽ đánh mạnh vào những người điều khiển xe máy, điều mà các ứng dụng đi chungkhác không chú trọng Mặc dù cũng có nhiều hãng xe công nghệ nhưng điều mà ứng dụnghướng tới là dành cho những công dân bình thường muốn giúp đỡ cộng đồng cũng như

môi trường.

Mục tiêu nhỏ là dành cho các bạn sinh viên Khu đô thị Đại học Quốc gia TPHCM

có thê cùng nhau đến trường, qua đó mở rộng quy mô cho cả nước Mong muốn góp phầngiúp ích cho cộng đồng

Mục tiêu thứ hai là dành cho các bạn cần đồng đội dé di du lịch hay phượt chung.Dựa trên nền tảng của mục tiêu thứ nhất, giúp các bạn có thé tìm bạn dé đi chung với nhau

2 Phạm vỉ:

Trang 13

- Ung dụng tập trung khai thác sự tiện dung cho sinh viên Khu đô thi Dai hoc

Quốc gia TPHCM (Mục tiêu chính)

- Ung dụng có tiềm năng để mở rộng quy mô cho khắp cả nước Với mong

muốn giảm thiêu ô nhiễm và tăng cao lợi ích tối đa

3 Đối tượng:

- _ Những người điều khiển xe máy có thé chia sé xe máy

- _ Những người có nhu cầu muốn đi chung xe

- _ Những người có sở thích du lịch nhưng chưa có bạn đồng hành

4 Phương pháp thực hiện:

Dựa vào các kiến thức đã có trong quá trình hoc, sử dụng WPF để tạo ứng dụng

trên Window đã cho em các kiến thức về nền tảng này Nhận thấy Xamarin cũng có nét

tương đồng nên em đã chọn dé nghiên cứu xây dựng ứng dụng Bên cạnh đó, Xamarin cóthé cho phép tiết kiệm tới 70% công việc phát triển trên nền tang di động thứ hai bang

cách sử dụng lại source code.

Phần xử lý dữ liệu như: Đăng nhập, tìm kiếm tài khoản thích hợp theo lộ trình, lưu

trữ thông tin tài khoản, được xử lý bằng cách gọi API từ Azure.Azure cung cấp hơn 200 dịch vụ, được chia thành 18 loại Các danh mục này bao gồm

máy tính, mạng, lưu trữ, loT, di chuyền, di động, phân tích, container, trí tuệ nhân tạo và

machine learning, tích hợp, công cụ quản lý, công cụ nhà phát triển, bảo mật, cơ sở dữ

liệu, DevOps, nhận dạng media và web service Với việc hỗ trợ tài khoản miễn phí lên tới

12 tháng nên đây là phương án khá kinh tế và hiệu quả

Nếu có van đề phát sinh có thé sử dụng Firebase dé thay thé cho phan công việc

của Azure.

5 Kết quả mong đợi:

- Hoan thành ứng dung và có thể áp dụng vào thực tế Khu đô thị Đại học Quốc

gia TPHCM

- SỐ lượng sinh viên tham gia sử dụng phần mềm ở Khu đô thị Đại học Quốc

gia TPHCM là trên 50%

Trang 14

- M6 rộng quy mô sử dung ra toàn thành phố H6 Chí Minh.

Kế hoạch thực hiện: (Mô tả kế hoạch làm việc và phân công công việc cho từng

sinh viên tham gia)

Giai đoạn Thời gian Nội dung

: Khảo sát nhu cầu người dùng cũng như những

Giai đoạn 1 1 tuân ¬ _,

mong muôn của người dùng cho một ứng dung

chia sẻ chuyến đi.

` Xây dựng nên tảng cơ bản của ứng dụng cho

I—2 tuân TU uy ¬ `

phép các tài khoản tìm kiêm lân nhau và tạo

tuyến đường đi cho hai tài khoản được kết nối

: Tạo kênh liên lạc cho 2 tài khoản có thê trao

1.5 tuân hộ - ` mm" Lo .

đôi nhanh lich trình và thời gian: Nhan tin, gọi,

định vi,

: Két hop ban đồ cho việc lựa chon địa điểm và

Giai đoạn 2 2 tuân 4 :

tuyên đường

` Thêm các tiện ích: tuỳ chọn giúp người dùng

0.5 tuân ¬ „ A `

lưu các cài đặt, cũng như các tuyên đường quen

thuộc, danh sách người đã từng đi nhờ và

người mà mình đã chở (danh bạ).

` Thêm các thông tin xác nhận tăng tính đảm bảo

1 tuân

cho người tham gia sử dụng ứng dụng.

Giai đoạn 3 Chạy song | Chay thử ứng dụng với một số nhóm sinh viên

song trong | và thu ý kiến đóng góp

vòng 3 tuần | Chỉnh sửa ứng dụng theo các phản hồi

Trang 15

Hoàn thiện và đóng gói sản pham

Giai đoạn 4 Tuan cuôi

Trang 16

Xác nhận của CBHD

Sinh viên

(Ký tên và ghi rõ họ tên)

(Ký tên và ghi rõ họ tên)

TP HCM, ngày tháng năm

Trang 17

Churong 1 TONG QUAN Sa 8

IBNc on ẽ ẽ 3äœ1 8

1.2 Khảo sát hiện trạng - - - - <1 S1 HH HH HH Hệ 9

84 04.7: 8n ẽ.a 5 11

ngoc 0 433 11

1.5 Cach thitc hoat Ong 1n 12

1.5.1 Người điều khiến phương ti6n oo eecececsecsessesseesssssessessessessessessesseesessecseees 12

1.5.2 o8 12

9 c1 13Chương 2 CƠ SỞ LÝ THUUYÊTT - 2-2 2£ S2+SE+SE+EE£EE£2EEEEEEE2EEEE12E1E171 712121 xe 14

2.6 Cách chọn và tìm kiếm 2-2: 2©E2E++EE+2EE£EE+SEEtEEEEEEeEEEerxrrkrerrrrrrervee 21

Trang 18

"Na ào on ố ố e 22

2.7.1 Vấn đề chung ¿- 2++£+Ek+EE£EE9EE£EEEEEEEEE211211211211211111111 1111111 222.7.2 Vẫn đề riêng 2¿ 222212 1EE19E1171717112112112111121111 11111111111 xe 23Chương 3 THỰC HIEN 2- 2-5 ©E£EE£+EE+EE££EEEEEEEEEEEEEEEEEEE171121171.211 71.2 re 25

3.1 Kiến trúc ứng dụng -¿- + +5 +k+EESEE22EE11211211211211211211171 11111111 re 25

3.1.1 Mô hình MWVM - 2 2¿+2s 212 EE2122127112717112712112117111121 11.1 xe 25

3.1.2 Mô tả chỉ tiết thành phan trong hệ thống - 2-2 +¿+z+£x+zzz+csez 263.2 ThhiẾt kẾ - 2-5221 21EE12212112711211271211112111121111.211 11.1111.1111 eye 29

3.2.1 So 6 Use case 7T v/v ốỐ số Ýể th 29

3.2.2 Danh sách tác nhân hệ thống - 2 ¿©£+S£+S£+E£+E£+EE+EE+EEtrEerkerkrkerreee 30

3.2.3 Danh sách USEC €AS€ - - - -cG 1 1111201111111 1111111 11 111g 1v ng vn ưyy 30

3.2.4 DAC ra cố na e^e 31

khác AC CỐ CỔ “/đ 35

E=nc i0 ễ 41

Chương 4 KET LUẬN VA HƯỚNG PHAT TRIEN 0 cscsscssesseessessessessessesseeseeseeseaees 48

4.2 Hướng phát triỂn : 2: +¿++2E++2EE++EEESEEEEEEEE2E1271271127112711271 21122 crrxe 48

4.2.1 Giao tiẾ - 5c 2s t2 TH T221 112211211 T11 T1 1 1 1 go 48

4.2.2 Tìm kiếm nhanh hơn 2-2: 2 5£25£2E+2E++EE2E++EE+2E+tEE+2EEerxezrxerxeerxeee 49

4.2.3 Mở rộng phạm vi hoạt động 5 + E221 1k1 1 919 1 9v 1n re, 49

4.2.4 Dang soái nan ee 49

Trang 19

\/(0801001080/001/020Đ3277e 25

Cấu trúc hệ thống - 2-2 ESE+SE+2E£2EE£EE2EEEEEEEEEEEEEEEEErrkrrkrrreee 26

Các DTO trong ứng dụng << kg, 26

Tùy chỉnh ban đồ của Xamarin.Forms.Maps 2 2-55+: 27

Các Model trong Ứng dung - - «+ xxx Eskesekseksersree 27

Các Service trong Ứng ỤNE - ssk* nnkn ng 28

NUNG On ‹4 29

Trang 20

Hình 3.8 Use case Dang nhập 5 + +22 E 1E + + E£ESEEEEsrerrrrrrrrrrke 31

Hình 3.9 Use case Dang ký 5 G19 HH nàng 32

Hình 3.10 Use case Đăng XuẤt 2 52-55 22 2x2 E2 2212712112712 re 32Hình 3.11 Use case Quên mật khầu ¿2 2 2 ++EE+EE+EEeEEerErkerrerrerrs 33

Hình 3.12 Use case Hién thị liên hệ - ¿2-2 + St +E+E+E+EeEEEE+E+E+EeErezezessez 33

Hình 3.13 Use case Chọn người muốn đi chung - 5z 5z +sz+sz+s2 34Hình 3.14 Sơ đồ tuần tự chức năng Đăng nhập - 2-2 scxe+xczzcez 35Hình 3.15 Sơ đồ tuần tự chức năng Đăng ký -5¿©cccccccccerxcerxrree 36

Hình 3.16 Sơ đồ tuần tự chức năng Quên mật khẩu - 2+: 37

Hình 3.17 Sơ đồ tuần tự chức năng nhắn tỉn 2 s++<++z+zz+zxzzxrxs 39Hình 3.18 Sơ đồ tuần tự cho chức năng Tìm người đi chung 40

Hình 3.19 Giao diện man hình Đăng nhập . 55 55 £S+<<£+sc++essee 4I

Hình 3.20 Giao diện man hình Đăng ký - 5 2< + kseirseierree 42

Hình 3.21 Giao diện màn hình Quên mật khẩu -c++ 43

Hình 3.22 Giao diện màn hình Trang chủ 5< £++sE+sveseesserssees 44

Hình 3.23 Giao diện màn hình Danh sách liên hệ - - <555+++<<< 45

Hình 3.24 Giao diện nhắn tin với một người dùng khác - 45Hình 3.25 Giao diện màn hình Tìm kiếm chuyến đi - ccc-cccce: 46

Trang 21

Hình 4.1 Màn hình đăng nhập có 2 nút đăng ký với tài khoản Google và Facebook

Trang 22

DANH MỤC BANG

Bảng 3.1 Danh sách tác nhân hệ thống

Bảng 3.2 Danh sách use case

Trang 23

TÓM TẮT KHÓA LUẬN

Ứng dụng Tìm kiếm và chia sẻ chuyến đi sử dụng Xamarin Forms làm nên tảng

dé lập trình về cả Font-end và Back-end Bên cạnh đó sử dụng Net Core để tạo API phục

vụ cho việc gửi dữ liệu và xử lý ở server Với sự hỗ trợ của nhà trường, tài khoản

Microsoft được sử dụng vài tính năng của Azure miễn phí trong khoảng thời gian nghiên

cứu và thực hiện Cho nên khóa luận sử dụng đó làm server phục vụ cho việc xử lý API

và cơ sở đữ liệu Về vấn đề xử lý đường đi và tính toán khoảng cách khóa luận sử dụngOpenRouteService, một nền tảng hỗ trợ API liên quan đến đường đi miễn phí

Là 1 nền tảng lập trình ứng dụng di động cross-platform, Xamarin Forms chophép các nhà phát trién phần mềm xây dựng các ứng dụng di động đa nén tang sử dụngcác thành phan giao diện cơ bản của hệ điều hành như: Pages, Layouts, Views, Controls

Khi chạy chương trình, mỗi thành phần giao diện của Xamarin Forms sẽ được chuyên

hóa sang các thành phần giao diện tương ứng với mỗi nền tảng Qua quá trình làm việc

với các đồ án môn học và làm việc nên có nhiều kinh nghiệm trong việc sử dụng C# và

XAML để tạo ứng dụng Cho nên khóa luận sử dụng Xamarin Forms dé thực hiện đề tài

chóng mà miền phí.

Trang 24

Chương 1 TONG QUAN

1.1 Giới thiệu

Hiện nay, có rất nhiều người điều khiển xe máy có tuyến đường đi như nhau

nhưng lại đi hai xe khác nhau, việc này làm cho lượng phương tiện tham gia giao thông

vào giờ cao điểm tăng cao, dẫn đến việc ùn tắc và lượng khí thải cũng tăng theo Bêncạnh việc cùng tuyến đường thì có một số địa điểm tập trung người đi làm công sở ở

cùng khu vực Việc đi chuyển của một người chỉ giới hạn ở cung giờ hành chính, và tuyến đường chỉ là từ nhà đến cơ quan hay công ty và ngược lại.

Một hình ảnh thực tế là nhà xe của trường đang quá tải sau mỗi năm, mặc dù khu

vực dé xe đã và đang mở rộng nhiều hơn trước rất nhiều Trước đây nhà xe chỉ quá tải

trong khoảng thời gian có tổ chức thi giữa kỳ hoặc cuối kỳ Khoảng thời gian này tậptrung nhiều sinh viên nên hiện tượng ùn tắc chỉ xảy ra trong khoảng 1 hoặc 2 tuần Nhưnghiện nay với các ngành mới mở ra, lượng sinh viên tăng lên cùng với điều kiện đời sống

cao hơn, nhiều sinh viên đã sở hữu riêng cho mình xe máy riêng Cho nên việc quá tảitrong nhà gửi xe là điều tất yêu Các biện pháp như tăng kích thước nhà xe cũng chỉ là

van đề thời gian dé việc quá tải tiếp dién vào các năm tiếp theo Giải pháp thiết thực là

làm sao dé giảm thiểu lượng xe gửi vào nhà xe nhưng vẫn đảm bảo lượng sinh viên đihọc đầy đủ như bình thường Các hình thức đi chung xe sẽ hỗ trợ rất nhiều cho việc giảiquyết bài toán này

Hiện này cũng có một số ứng dụng giúp cho việc đi chung này nhưng cũng cónhiều vấn đề gây trở ngại cho sinh viên hay người sử dụng, hoặc không giải quyết đượcvấn đề mình đặt ra Một số ứng dụng lại dành cho xe ô tô hoặc là taxi, việc đi chung ởday là giải quyết việc chia tiền để giảm bớt chi phí đi lại Van đề chúng ta dang đặt ra làcho xe máy, cho nên những ứng dụng này không giải quyết được

Trang 25

Vì những lý do và điều kiện ở tên, một ứng dụng giúp đỡ những người có khảnăng chở thêm người và những người cần được chở ghép cặp để đi chung với nhau làđiều cần thiết Giúp giảm lượng phương tiện tham gia giao thông, qua đó tiết kiệm nhiênliệu và hạ thấp lượng khí thải ra môi trường.

1.2 Khảo sát hiện trạng

Hình thức di chuyên tiết kiệm này phổ biến ở các nước phát triển như mô hình đichung ô tô Covoiturage ở Pháp, Bla Bla Car ở châu Âu, hay ứng dụng Ridewith củaGoogle Những loại phương tiện phổ biến ở Việt Nam hiện nay lại là xe máy, vì vậy ứngdụng sẽ đánh mạnh vào những người điều khiển xe máy, điều mà các ứng dụng đi chungkhác không chú trọng Mặc dù cũng có nhiều hãng xe công nghệ nhưng điều mà ứngdụng này hướng tới là dành cho những công dân bình thường muốn giúp đỡ cộng đồng

cũng như môi trường Một số ứng dụng đi chung ở Việt Nam hiện nay lại chú trọng vào

di xe ô tô hoặc hình thức đi chung xe taxi như ứng dụng Di Chung bên dưới:

Driver Đi Chung - Lái xe

Đi chung xe Việt Nam Doanh nghiệp xk*x* 582 ®

[3+]

|

bal Thêm vào danh sách mong muốn | Caiđát |

Hình 1.1 Ứng dụng Đi Chung

Những hình thức di xe máy khác thì là của những hãng xe ôm công nghệ như:

Grab, Bee, Vato, Go Viet, Gojek, Đây là dạng hình thức xe ôm chứ không phải là chia

sẻ chuyên di.

Trang 26

Hình 1.2 Hình anh ứng dung theo vnexpress.net

Cũng có một số bạn sinh viên ở FPT đã từng thực hiện dự án này Một bài báo

của vnexpress.net đưa tin vê ứng dụng nhưng có vẻ không thành công vì tìm kiêm tên

HolaBike trên play.google.com không còn tìm thấy ứng dụng nữa Bài báo cũng từ năm

2017.

Ktx Khu A $6, Kix KhuB

2200 5000 đ 01/10/19 Tim ti sẽ

Khu B 66, Nhân Văn

0645 3.0004 01/10/19 Tìm tải xế

Ktx Khu B 62, Đại Học Nông Lâm

16:51 28/09/19

Ktx Khu B Ge, FPT Shop Linh

Hinh 1.3 Ung dung GOVNU

Một ứng dung khác của bạn Nguyễn Lê Trọng Đạt có tên GOVNU Ứng dung

này chỉ đơn thuân là danh sách các điêm đâu và điêm cuôi như các nhà xe chở khách có

10

Trang 27

tuyến có định Ưu điểm của ứng dụng là dé dàng đăng ký sử dụng Nhược điểm là không

có tính linh hoạt trong lựa chọn địa điểm

1.3 Khó khăn đề tài

— Việc đi chung xe không giống như việc book xe ôm công nghệ vi đây là tính tự

nguyện giữa cả hai bên Sẽ có nhiều vấn đề phát sinh

— Việc đảm bảo an toàn cho người sử dụng khá khó khăn Mặc dù sẽ có kiểm soát

bằng việc đăng ký sử dụng có các hình thức xác nhận bằng chứng minh thư, hình

ảnh,v.v

— Vì là ứng dung phi lợi nhuận nên sẽ khó khăn trong việc duy trì server hay các chi

phí khác Có thê khắc phục bằng cách chèn quảng cáo hoặc các hình thức phí khác

— Phải có máy tính của Apple đề có thê thực hiện debug và chạy thử ứng dụng trên

nền tang ios Van đề này vẫn có thé khắc phục được bang máy ảo, nhưng sẽ khó cóthé khắc phục được lâu dài nêu không có thiết bị

1.4 Mục tiêu đề tài

Mục tiêu nhỏ là dành cho các bạn sinh viên Khu đô thị Đại học Quốc gia TPHCM

có thể cùng nhau đến trường, qua đó mở rộng quy mô cho cả nước Mong muốn gópphần giúp ích cho cộng đồng

Mục tiêu thứ hai là dành cho các bạn cần đồng đội dé đi du lịch hay phượt chung.Dựa trên nền tảng của mục tiêu thứ nhất, giúp các bạn có thé tìm bạn dé đi chung với

nhau.

Kết quả mong đợi:

— Hoàn thành ứng dụng và có thể áp dụng vào thực tế Khu đô thị Đại học Quốc gia

TPHCM

11

Trang 28

— Số lượng sinh viên tham gia sử dụng phần mềm ở Khu đô thị Đại học Quốc gia

1.5.1 Người điều khiến phương tiện

Người điều khiên phương tiện (tài xế) sẽ thiết lập trước thời gian di chuyền và địađiểm tới Ứng dụng sẽ thiết lập quãng đường đi cho tài xế và cho phép tùy chỉnh cungđường mà người đó đi, tương tự như Google Map Sau khi hoàn tất, ứng dụng sẽ gửithông tin để server xử lý Nếu có người muốn đi chung, ứng dụng sẽ thông báo Hai

người đi chung xe với nhau sẽ có thê nhắn tin với nhau thông qua trực tiếp ứng dung dé

trao đổi thêm, ví dụ như địa điểm đón, thời gian di

1.5.2 Người đi nhờ xe

Sau khi chọn trước thời gian đi và địa điểm đến, ứng dụng sẽ tính toán dự trên dữ

liệu của tài xế, có thé cung đường đi ngang qua đích đến của người đi nhờ, hoặc là hai

người tới cùng một nơi Màn hình thông báo kết quả phù hợp, người dùng sẽ chọn trongdanh sách người mình muốn đi cùng Sau khi kết nối và nhắn tin với tài xế, lịch trình

được chôt sẽ hủy việc quét tìm kiêm của cả hai.

12

Trang 29

chia sẻ xe máy là một điều mới mẻ và hấp dẫn Cũng vì mới mẻ nên việc kêu gọi sử dụng ban đầu có thé gặp nhiều khó khăn, cũng như nhiều van dé có thé phát sinh ngoài ý

muốn Nhưng cũng có thể từ từ khắc phục qua thời gian thử nghiệm ở phạm vi nhỏ trước

khi đưa ra sử dụng ở mô hình lớn hơn.

13

Trang 30

Chương 2 CƠ SỞ LÝ THUYET

Thông qua quá trình tìm hiểu về cách thức hoạt động cũng như các tính năng

thường có của một ứng dụng di chung xe Dựa theo những gì được hoc ở trường, có các

cơ sở lý thuyết dé làm đề tài này như dưới đây.

2.1 Xamarin

Dựa vào các kiến thức đã có trong quá trình học, sử dung WPF dé tạo ứng dụngtrên Window cung cấp các kiến thức về nền tảng này Vì Xamarin cũng có nét tươngđồng nên đã được chọn đề nghiên cứu xây dựng ứng dụng Bên cạnh đó, Xamarin có thểcho phép tiết kiệm tới 70% công việc phát triển trên nền tảng di động thứ hai bằng cách

sử dụng lại source code.

Traditional Xamarin Forms

Shared UI

| osu | Android UI Windows UI

Hình 2.1 Sự khác nhau giữa cách lập trình truyền thống và Xamarin Forms

Là 1 nền tang lập trình ứng dụng di động cross-platform (có nghĩa là code một

lúc có thé chạy trên được cả iOS lẫn Android), Xamarin có những đặc điểm riêng biệt,

hiém có so với các framework hiện tại trên thi trường.

14

Trang 31

2.1.1 Các ưu diém của Xamarin

e Tái sử dụng code tại nhiêu cho

Xamarin sử dụng ngôn ngữ C# cùng với framework Net dé tạo ra ứng dụngcho mọi nền tảng bắt kì Khi tạo ứng dung di động trên Xamarin, chúng ta sử dụng cùngngôn ngữ là C#, API và cấu trúc dữ liệu hay logic của ứng dụng nên thường là 90% codechức năng có thé được dùng trên cả iOS và Android

Qua đó có thé giảm đáng kể công sức và thời gian phát triển ứng dụng di động

cho 2 nền tảng phô biến nhất Ngoài ra có nhiều IDE hỗ trợ rất tốt mà miễn phí với nó

như Xamarin IDE (dành cho Mac) hay Visual Studio (dành Windows).

e Hiệu năng gan như native

Các số liệu hiệu suất là tương đương khi so sánh với các số liệu hiệu suất của Javacho Android và Objective-C hoặc Swift cho ứng dụng phát triển ứng dụng iOS native.Hon thé nữa, hiệu suất của Xamarin liên tục được cải thiện dé phù hợp hoàn toàn với

tiêu chuân của lập trình native.

Ngoài ra, nền tảng Xamarin cung cấp thêm các giải pháp để testing và theo dõihoạt động của ứng dụng Xamarin Test Cloud kết hợp với công cụ Xamarin Test

Recorder cho phép chúng ta chạy các UI test tự động và xác định các van đề về hiệu suất

trước khi ứng dụng release Tuy nhiên, dịch vụ này có tính phí nhưng cũng đáng lưu tâm.

se Hỗ trợ tất cả phần cứng

Với Xamarin, giải pháp của chúng ta sẽ giúp cách chức năng của ứng dụng đạt

được native-level, loại trừ tất cả van đề tương thích với phan cứng, sử dung plugins vàAPIs đặc biệt để làm việc với các chức năng thiết bị thông thường đa nền tảng Ngoài

15

Trang 32

khả năng truy cập vào API riêng biệt cho mỗi nền tảng, Xamarin còn hỗ trợ liên kết vớithư viện native Từ đó, functionality được tối ưu hóa và đạt được mức độ native tốt hơn

với ít chi phí hơn.

e Nhiều thư viện hỗ trợ làm ứng dụng cực nhanh có sẵn

Component Xamarin cung cấp đến hàng ngàn UI controls tùy chỉnh, các charts,

biểu đồ, themes đa dang và các chức năng mạnh mẽ khác có thể được thêm vào ứng dụng

chỉ với vài cú click Điều này bao gồm quá trình xử lý payment built-in (như Stripe chănghạn), tích hợp Beacons và các thiết bị di động, các services notification box push, giảipháp lưu trữ dam mây, các tinh năng streaming multimedia và hon thé nữa

2.1.2 Khuyết điểm

Bên cạnh các ưu điêm trên thi Xamarin vân có các khuyết điêm, tuy nhiên những

khuyết điêm này đêu có thê chap nhận được.

e H6 trợ chậm các bản cập nhật mới nhất của các hệ điều hành mobile

Đội ngũ developer của Xamarin có ảnh hưởng lớn đến điều này Khi iOS hoặcAndroid đưa ra các phiên ban mới, phải mat một khoảng thời gian dé thực hiện nhữngthay đổi hay đưa vào một plugins mới, v.v Vẫn có những thời điểm bị trì hoãn mặc dù

Xamarin khang định sẽ hỗ trợ cùng lúc với những cập nhật mới nhất.

e Giới hạn truy cập vào thư viện mã nguồn mở

Native development có nhiêu công nghệ mã nguôn mở đã trở nên quen thuộc và

hồ trợ rộng rãi Với Xamarin, cả lập trình viên đêu phải sử dụng duy nhât môt component

được cung câp bởi Xamarin và một sô mã nguôn mở Net.

16

Trang 33

Trong khi với native development, ứng dụng phát triển điện thoại Android và iOS

có rất nhiều lựa chọn thư viện opensource Rất tiếc là vẫn còn nhiều native library hay

vẫn chưa hỗ trợ cho Xamarin

e Apps thực hiện chậm hơn và yêu cầu nhiều dung lượng hơn trên thiết bị

So với ứng dụng native, ứng dụng Xamarin lớn hơn, nặng hơn, nó chiếm nhiều

hơn vai Mb so với Java/Objective C tương ứng Lấy ví dụ, kích thước của một ứng dung

code bằng xamarin là 5Mb, trong khi code bằng Objective C chỉ chiếm 200 Kb Càng sử

dụng nhiều API, càng nhiều lưu trữ bị chiếm trên thiết bị

2.2 API

Khóa luận sử dung Net Core dé viết API hỗ trợ cho việc truyền và nhận dữ liệu

từ server về ứng dụng Mỗi khi client gọi bất kỳ một API nào, ngoại trừ API đăng nhặphoặc đăng ký, client đều phải kèm theo token được cấp mỗi khi đăng nhập Việc nàytăng tính bảo mật và còn hỗ trợ cho việc lấy thông tin chuẩn xác hon

Ngoài các chức năng thông thường, khóa luận có sử dụng thư viện SignalR.

ASP.NET SignalR là một thư viện cho các lập trình viên ASP.NET đơn giản hóa quá

trình thêm chức năng web real-time trong phát triển ứng dụng Lúc người dùng đăngnhập đồng thời ứng dụng cũng kết nối với một hub được tạo ở server Thông qua đó,người dùng có thê nhắn tin với nhau hoặc đặt lịch real-time mà không cần phải refresh

hay khởi động lại ứng dụng.

17

Trang 34

Azure cung cấp hơn 200 dịch vụ, được chia thành 18 loại Các danh mục này bao

gồm máy tính, mạng, lưu trữ, IoT, di chuyền, di động, phân tích, container, trí tuệ nhân

tạo và machine learning, tích hợp, công cụ quản lý, công cụ nhà phát triển, bảo mật, cơ

sở dữ liệu, DevOps, nhận dạng media và web service Với việc hỗ trợ tài khoản miễn phílên tới 12 tháng nên đây là phương án khá kinh tế và hiệu quả

Cấu trúc Deloy App trên Azure

— Tạo Resource Group

— Tạo App Services Plan

— Tao App Services

— Tao SQL Server

— Tao SQL Database

18

Ngày đăng: 02/10/2024, 05:14

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN