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

Đồ án ứng dụng đặt xe cho sinh viên đhqghcm

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 (3.7 MB, 112 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1
ỨNG DỤNG ĐẶT XE
CHO SINH VIÊN ĐHQG-HCM
Giảng viên hướng dẫn:
Ths.Lê Thanh Trọng
Sinh viên thực hiện:
Huỳnh Thế Vĩ

MSSV: 20520857

Lê Đặng Phương Uyên

MSSV: 20520853

TP. Hồ Chí Minh, tháng 7 năm 2023


LỜI CẢM ƠN
Nhóm chúng em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đến thầy Lê
Thanh Trọng đã hướng dẫn, tạo điều kiện cho nhóm chúng em hoàn thành Đồ án 1.
Trong học kỳ vừa qua, nhờ sự chỉ dẫn nhiệt tình của thầy, chúng em đã tiếp thu được
những kiến thức quan trọng, bổ ích cùng những góp ý chân thành để có thể làm được
một đồ án hoàn chỉnh.
Trong khoảng thời gian thực hiện đồ án, chúng em đã học hỏi thêm được nhiều
kiến thức, kinh nghiệm, biết được quy trình để tạo ra một sản phẩm phần mềm. Bên
cạnh đó, chúng em xin cảm ơn các bạn bè trong lớp đã động viên, thảo luận và góp ý
cho nhóm đồng thời đã khơi thêm nguồn động lực cho nhóm trong suốt quá trình đầy


khó khăn.
Mặc dù đã cố gắng hồn thành báo cáo với tất cả nỗ lực song báo cáo của nhóm
chúng em chắc chắn khơng tránh khỏi những thiếu sót, chúng em rất mong nhận được
sự thơng cảm và góp ý chân thành từ thầy. Nhóm em xin chân thành cảm ơn.
Thành phố Hồ Chí Minh, tháng 07 năm 2023
Huỳnh Thế Vĩ
Lê Đặng Phương Uyên


MỤC LỤC
TÓM TẮT ĐỒ ÁN ........................................................................................................ 1
Chương 1.

MỞ ĐẦU ................................................................................................. 3

1.1.

Lý do chọn đề tài:............................................................................................. 3

1.2.

Kế hoạch thực hiện: ......................................................................................... 4

1.2.1.

Quy trình thực hiện: ................................................................................. 4

1.2.2.

Kế hoạch chi tiết - áp dụng quy trình phát triển phần mềm ................ 4


1.3.

Mục đích: .......................................................................................................... 8

1.4.

Đối tượng: ......................................................................................................... 8

1.5.

Phạm vi nghiên cứu: ........................................................................................ 8

Chương 2.
2.1.

TỔNG QUAN CƠNG NGHỆ ............................................................... 9

Cơng nghệ sử dụng: ......................................................................................... 9

2.1.1.

Ngơn ngữ lập trình: ................................................................................... 9

2.1.2.

Thư viện: .................................................................................................. 11

2.1.3.


Cơ sở dữ liệu: ........................................................................................... 13

Chương 3.

KHẢO SÁT HIỆN TRẠNG................................................................ 15

3.1.

Hiện trạng tổ chức: ........................................................................................ 15

3.2.

Hiện trạng tin học: ......................................................................................... 15

3.3.

Hiện trạng nghiệp vụ: .................................................................................... 15

Chương 4.
4.1.

THIẾT KẾ HỆ THỐNG ..................................................................... 18

Use-case Diagram: ......................................................................................... 18

4.1.1.

Sơ đồ Use-case: ........................................................................................ 18

4.1.2.


Danh sách các tác nhân: ......................................................................... 18

4.1.3.

Danh sách Use-case: ................................................................................ 18

4.1.4.

Đặc tả Use-case: ....................................................................................... 19

4.2.

Sequence Diagram: ........................................................................................ 35


4.2.1.

Sơ đồ tuần tự đăng nhập: ....................................................................... 35

4.2.2.

Sơ đồ tuần tự đăng kí: ............................................................................ 35

4.2.3.

Sơ đồ tuần tự lưu địa điểm: .................................................................... 35

4.2.4.


Sơ đồ tuần tự chọn dịch vụ: ................................................................... 36

4.2.5.

Sơ đồ tuần tự đặt chuyến xe: .................................................................. 36

4.2.6.

Sơ đồ tuần tự xác minh thông tin: ......................................................... 37

4.2.7.

Sơ đồ tuần tự khoá tài khoản: ................................................................ 37

4.3.

Class Diagram: ............................................................................................... 38

4.3.1.

Sơ đồ lớp: ................................................................................................. 38

4.3.2.

Danh sách các lớp đối tượng và quan hệ: ............................................. 39

4.3.3.

Mô tả chi tiết từng lớp đối tượng:.......................................................... 40


4.4.

Thiết kế cơ sở dữ liệu: ................................................................................... 47

4.4.1.

Entity Diagram:....................................................................................... 47

4.4.2.

Mô tả chi tiết: ........................................................................................... 48

Chương 5.

THIẾT KẾ GIAO DIỆN ..................................................................... 56

5.1.

Danh sách các màn hình: .............................................................................. 56

5.2.

Sơ đồ liên kết các màn hình: ......................................................................... 57

5.3.

Mơ tả chi tiết các màn hình: ......................................................................... 58

5.3.1.


Màn hình OnBoarding: .......................................................................... 58

5.3.2.

Màn hình Login:...................................................................................... 60

5.3.3.

Màn hình Sign Up: .................................................................................. 62

5.3.4.

Màn hình Pending:.................................................................................. 64

5.3.5.

Màn hình Verify: ..................................................................................... 66

5.3.6.

Màn hình Passenger: .............................................................................. 67

5.3.7.

Màn hình Rider: ...................................................................................... 68

5.3.8.

Màn hình StudentOffice: ........................................................................ 70


5.3.9.

Màn hình Profile: .................................................................................... 71


5.3.10.

Màn hình Promotion: .......................................................................... 72

5.3.11.

Màn hình PromotionDetail: ................................................................ 73

5.3.12.

Màn hình Activity: ............................................................................... 75

5.3.13.

Màn hình ActivityDetail: .................................................................... 76

5.3.14.

Màn hình Booking: .............................................................................. 77

5.3.15.

Màn hình Address: .............................................................................. 85

5.3.16.


Màn hình AddLocation: ...................................................................... 86

5.3.17.

Màn hình ConfirmLocation: .............................................................. 87

5.3.18.

Màn hình Scheduled: ........................................................................... 89

5.3.19.

Màn hình Income:................................................................................ 90

5.3.20.

Màn hình TripDetail: .......................................................................... 92

5.3.21.

Màn hình Restriction: ......................................................................... 93

5.3.22.

Màn hình Students: ............................................................................. 95

5.3.23.

Màn hình StudentDetail: ..................................................................... 96


Chương 6.

KẾT LUẬN........................................................................................... 99

6.1.

Kết quả đạt được: .......................................................................................... 99

6.2.

Hạn chế: .......................................................................................................... 99

6.2.1.

Về việc tổ chức quản lí nhóm: ................................................................ 99

6.2.2.

Về sản phẩm phần mềm: ...................................................................... 100

6.3.

Hướng phát triển: ........................................................................................ 100

TÀI LIỆU THAM KHẢO ........................................................................................ 102


DANH MỤC HÌNH ẢNH
Hình 3.1: Hiện trạng tổ chức ......................................................................................... 15

Hình 3.2: Quy trình nghiệp vụ....................................................................................... 17
Hình 4.1: Sơ đồ Use-case .............................................................................................. 18
Hình 4.2: Sơ đồ tuần tự đăng nhập ................................................................................ 35
Hình 4.3: Sơ đồ tuần tự đăng kí .................................................................................... 35
Hình 4.4: Sơ đồ tuần tự lưu địa điểm ............................................................................ 36
Hình 4.5: Sơ đồ tuần tự chọn dịch vụ ............................................................................ 36
Hình 4.6: Sơ đồ tuần tự đặt chuyến xe .......................................................................... 37
Hình 4.7: Sơ đồ tuần tự xác minh thơng tin .................................................................. 37
Hình 4.8: Sơ đồ tuần tự khố tài khoản ......................................................................... 38
Hình 4.9: Sơ đồ lớp ....................................................................................................... 39
Hình 4.10: Entity diagram ............................................................................................. 48
Hình 5.1: Sơ đồ liên kết các màn hình .......................................................................... 58
Hình 5.2: Giao diện màn hình OnBoarding .................................................................. 59
Hình 5.3: Giao diện màn hình Login ............................................................................. 61
Hình 5.4: Giao diện màn hình Sign up 1 ....................................................................... 63
Hình 5.5: Giao diện màn hình Sign up 2 ....................................................................... 63
Hình 5.6: Giao diện màn hình Pending ......................................................................... 65
Hình 5.7: Giao diện màn hình Verify ............................................................................ 66
Hình 5.8: Giao diện màn hình Passenger ...................................................................... 67
Hình 5.9: Giao diện màn hình Rider ............................................................................. 69
Hình 5.10: Giao diện màn hình StudentOffice .............................................................. 70
Hình 5.11: Giao diện màn hình Profile 1 ...................................................................... 71
Hình 5.12: Giao diện màn hình Profile 2 ...................................................................... 72
Hình 5.13: Giao diện màn hình Promotion ................................................................... 73
Hình 5.14: Giao diện màn hình PromotionDetail.......................................................... 75


Hình 5.15: Giao diện màn hình Activity ....................................................................... 75
Hình 5.16: Màn hình ActivityDetail 1 ........................................................................... 76
Hình 5.17: Màn hình ActivityDetail 2 ........................................................................... 77

Hình 5.18: Màn hình Booking 1 .................................................................................... 78
Hình 5.19: Màn hình Booking 2 .................................................................................... 79
Hình 5.20: Màn hình Booking 3 .................................................................................... 80
Hình 5.21: Màn hình Booking 4 .................................................................................... 81
Hình 5.22: Màn hình Booking 5 .................................................................................... 82
Hình 5.23: Màn hình Booking 6 .................................................................................... 83
Hình 5.24: Giao diện màn hình AddLocation ............................................................... 86
Hình 5.25: Giao diện màn hình ConfirmLocation ........................................................ 88
Hình 5.26: Giao diện màn hình Scheduled.................................................................... 89
Hình 5.27: Giao diện màn hình Income ........................................................................ 91
Hình 5.28: Giao diện màn hình TripDetail 1 ................................................................. 92
Hình 5.29: Giao diện màn hình TripDetail 2 ................................................................. 93
Hình 5.30: Giao diện màn hình Restriction ................................................................... 94
Hình 5.31: Giao diện màn hình Students ...................................................................... 95
Hình 5.32: Giao diện màn hình StudentDetail 1 ........................................................... 96
Hình 5.33: Giao diện màn hình StudentDetail 2 ........................................................... 97
Hình 5.34: Giao diện màn hình StudentDetail 3 ........................................................... 98


DANH MỤC BẢNG
Bảng 1.1: Danh mục người sử dụng ................................................................................ 4
Bảng 1.2: Bảng kế hoạch dự kiến .................................................................................... 7
Bảng 4.1: Danh sách các tác nhân ................................................................................. 18
Bảng 4.2: Danh sách Use-case ...................................................................................... 19
Bảng 4.3: Đặc tả Use-case đăng nhập ........................................................................... 21
Bảng 4.4: Đặc tả Use-case đăng kí ................................................................................ 22
Bảng 4.5: Đặc tả Use-case xác mình người dùng.......................................................... 23
Bảng 4.6: Đặc tả Use-case lưu địa điểm........................................................................ 24
Bảng 4.7: Đặc tả Use-case khuyến mãi ......................................................................... 26
Bảng 4.8: Đặc tả Use-case thông tin người dùng .......................................................... 27

Bảng 4.9: Đặc tả Use-case lịch sử chuyến đi ................................................................ 28
Bảng 4.10: Đặc tả Use-case đánh giá ............................................................................ 29
Bảng 4.11: Đặc tả Use-case chọn dịch vụ ..................................................................... 30
Bảng 4.12: Đặc tả Use-case đặt xe ................................................................................ 31
Bảng 4.13: Đặc tả Use-case xem danh sách người dùng............................................... 32
Bảng 4.14: Đặc tả Use-case khoá tài khoản .................................................................. 34
Bảng 4.15: Danh sách các lớp đối tượng và quan hệ .................................................... 40
Bảng 4.16: Mô tả chi tiết lớp User ................................................................................ 40
Bảng 4.17: Mô tả chi tiết lớp Rider ............................................................................... 41
Bảng 4.18: Mô tả chi tiết lớp Customer ........................................................................ 42
Bảng 4.19: Mô tả chi tiết lớp StudentOffice ................................................................. 43
Bảng 4.20: Mô tả chi tiết lớp SavedLocation ................................................................ 43
Bảng 4.21: Mô tả chi tiết lớp Trip ................................................................................. 45
Bảng 4.22: Mô tả chi tiết lớp Promotion ....................................................................... 45
Bảng 4.23: Mô tả chi tiết lớp PaymentMethod ............................................................. 46
Bảng 4.24: Mô tả chi tiết lớp Rating ............................................................................. 46


Bảng 4.25: Mô tả chi tiết lớp RatingOption .................................................................. 46
Bảng 4.26: Mô tả chi tiết lớp Reject.............................................................................. 47
Bảng 4.27: Mô tả chi tiết bảng Rider ............................................................................ 49
Bảng 4.28: Mô tả chi tiết bảng Customer ...................................................................... 50
Bảng 4.29: Mô tả chi tiết bảng StudentOffice ............................................................... 51
Bảng 4.30: Mô tả chi tiết bảng SavedLoction ............................................................... 51
Bảng 4.31: Mô tả chi tiết bảng Trip............................................................................... 53
Bảng 4.32: Mô tả chi tiết bảng Promotion .................................................................... 53
Bảng 4.33: Mô tả chi tiết bảng RatingList .................................................................... 54
Bảng 4.34: Mô tả chi tiết bảng Reject ........................................................................... 55
Bảng 5.1: Danh sách các màn hình ............................................................................... 57
Bảng 5.2: Danh sách các thành phần của giao diện màn hình OnBoarding .................. 59

Bảng 5.3: Danh sách các biến cố màn hình OnBoarding .............................................. 60
Bảng 5.4: Danh sách các thành phần của màn hình Login............................................ 62
Bảng 5.5: Danh sách các biến cố màn hình Login ........................................................ 62
Bảng 5.6: Danh sách các thành phần màn hình Sign up ............................................... 64
Bảng 5.7: Danh sách các biến cố màn hình Sign up ..................................................... 64
Bảng 5.8: Danh sách các thành phần màn hình Pending............................................... 65
Bảng 5.9: Danh sách các biến cố màn hình Pending..................................................... 66
Bảng 5.10: Danh sách các thành phần màn hình Verify ................................................ 66
Bảng 5.11: Danh sách các biến cố màn hình Verify ...................................................... 67
Bảng 5.12: Danh sách các thành phần màn hình Passenger .......................................... 68
Bảng 5.13: Danh sách các biến cố màn hình Passenger ................................................ 68
Bảng 5.14: Danh sách các thành phần màn hình Rider ................................................. 69
Bảng 5.15: Danh sách các biến cố màn hình Rider ....................................................... 70
Bảng 5.16: Danh sách các thành phần màn hình StudentOffice ................................... 71
Bảng 5.17: Danh sách các biến cố màn hình StudentOffice ......................................... 71


Bảng 5.18: Danh sách các thành phần màn hình Profile ............................................... 72
Bảng 5.19: Danh sách các biến cố màn hình Profile ..................................................... 72
Bảng 5.20: Danh sách các thành phần màn hình Promotion ......................................... 73
Bảng 5.21: Danh sách các biến cố màn hình Promotion ............................................... 73
Bảng 5.22: Danh sách các thành phần màn hình Activity ............................................. 75
Bảng 5.23: Danh sách các biến cố màn hình Activity ................................................... 76
Bảng 5.24: Danh sách các thành phần màn hình ActivityDetail ................................... 77
Bảng 5.25: Danh sách các biến cố màn hình ActivityDetail ......................................... 77
Bảng 5.26: Danh sách các thành phần màn hình Booking ............................................ 84
Bảng 5.27: Danh sách các biến cố màn hình Booking .................................................. 84
Bảng 5.28: Danh sách các thành phần màn hình Address ............................................. 85
Bảng 5.29: Danh sách các biến cố màn hình Address ................................................... 86
Bảng 5.30: Danh sách các thành phần màn hình AddLocation ..................................... 87

Bảng 5.31: Danh sách các biến cố màn hình AddLocation ........................................... 87
Bảng 5.32: Danh sách các thành phần màn hình ConfirmLocation .............................. 88
Bảng 5.33: Danh sách các biến cố màn hình ConfirmLocation .................................... 89
Bảng 5.34: Danh sách các thành phần màn hình Scheduled ......................................... 90
Bảng 5.35: Danh sách các biến cố màn hình Scheduled ............................................... 90
Bảng 5.36: Danh sách các thành phần màn hình Income .............................................. 91
Bảng 5.37: Danh sách các biến cố màn hình Income .................................................... 92
Bảng 5.38: Danh sách các thành phần màn hình TripDetail ......................................... 93
Bảng 5.39: Danh sách các biến cố màn hình TripDetail ............................................... 93
Bảng 5.40: Danh sách các thành phần màn hình Restriction ........................................ 94
Bảng 5.41: Danh sách các biến cố màn hình Restriction .............................................. 95
Bảng 5.42: Danh sách các thành phần màn hình StudentDetail .................................... 98
Bảng 5.43: Danh sách các biến cố màn hình StudentDetail .......................................... 98


TÓM TẮT ĐỒ ÁN
1. Vấn đề nghiên cứu
Việc di chuyển là một nhu cầu thiết yếu của sinh viên trong quá trình học tập tại
Đại học Quốc gia TP.HCM. Tuy nhiên, việc tìm kiếm và đặt xe truyền thống hoặc các
ứng dụng đặt xe hiện nay có thể gây ra nhiều khó khăn và phiền tối cho sinh viên
thậm chí cịn là lo ngại về vấn đề an tồn. Ngồi ra, với một số sinh viên muốn có thêm
thu nhập từ cơng việc chạy xe thì phải bỏ ra một số tiền khá lớn để đăng ký tài khoản
của các công ty như Grab, Be,...
Vấn đề cần giải quyết là xây dựng một ứng dụng di động vừa giúp sinh viên đặt xe
một cách tiện lợi và nhanh chóng và an tồn vừa giúp sinh viên có thêm thu nhập từ
công việc chạy xe. Ứng dụng này cần cung cấp một giao diện thân thiện và dễ sử dụng
cho sinh viên, cho phép họ lựa chọn điểm đón và điểm đến, chọn thời gian và ngày giờ
nếu đặt trước, và xem thông tin về tài xế hoặc khách hàng tương ứng.
2. Hướng tiếp cận
Để giải quyết vấn đề này, đồ án sử dụng React Native, một framework phát triển

ứng dụng di động đa nền tảng, giúp xây dựng ứng dụng cho cả hệ điều hành Android
và iOS. Thêm vào đó, thư viện UI Nativebase được sử dụng để tạo giao diện người
dùng hấp dẫn và dễ sử dụng.
Ngoài ra, đồ án sử dụng Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng
đám mây để lưu trữ các dữ liệu của ứng dụng.
3. Cách giải quyết vấn đề
• Ứng dụng cho phép sinh viên đăng ký với vai trị là tài xế hoặc hành khách.
• Sinh viên có thể yêu cầu đặt xe bằng cách chọn điểm đón và điểm đến, cũng như
thời gian và ngày giờ đặt trước.
• Hệ thống sẽ hiển thị danh sách các chuyến đi được đặt với tài xế.
• Hành khách có thể xem thơng tin tài xế nhận chuyến đó cũng như lịch sử những
chuyến đi.

1


• Tài xế nhận được thông báo về yêu cầu đặt xe từ sinh viên và có thể chấp nhận
yêu cầu, sau đó liên hệ với sinh viên để xác nhận và đón họ.
• Phịng Cơng tác sinh viên có quyền kiểm duyệt đăng ký của sinh viên, từ chối
hoặc phê duyệt đăng ký dựa trên lý do cụ thể. Ngồi ra, phịng Cơng tác sinh
viên cịn có thể khóa hoặc mở khóa cho các tài khoản vi phạm nhiều lần (hủy
chuyến quá nhiều, đánh giá không tốt,…)
4. Kết quả đạt được
Đồ án tạo ra một ứng dụng di động đặt xe dành cho sinh viên ĐHQG-HCM, giúp
sinh viên dễ dàng đặt và sử dụng dịch vụ xe trong khuôn viên Làng Đại học. Ứng dụng
này cung cấp một giao diện người dùng thuận tiện và tương tác giữa khách hàng, tài xế
và phịng Cơng tác sinh viên để đáp ứng nhu cầu di chuyển của sinh viên một cách hiệu
quả và tiện lợi và an toàn.

2



Chương 1. MỞ ĐẦU
1.1.

Lý do chọn đề tài:

Ứng dụng cung cấp dịch vụ đặt xe là một trong những ứng dụng phổ biến và phát
triển mạnh trong thời đại công nghệ thơng tin hiện nay bởi những tiện ích nó mang lại
như sự tiện dụng, tiết kiệm chi phí…. Tuy nhiên, với lượng sinh viên đông đảo hiện
nay tại Việt Nam đặc biệt là sinh viên Đại học Quốc gia Thành phố Hồ Chí Minh, việc
đặt được xe an tồn, tiết kiệm và đảm bảo chất lượng vẫn còn là một thách thức.
Vì vậy, chúng em mong muốn giới thiệu tới các bạn một ứng dụng đặt xe độc đáo
và tiện lợi dành cho sinh viên ĐHQG. Ứng dụng này sẽ giúp các bạn đặt được xe một
cách nhanh chóng, dễ dàng và đáng tin cậy. Với ứng dụng đặt xe dành cho sinh viên,
bạn có thể tiết kiệm thời gian cũng như chi phí với các chuyến đi học, đi lại giữa các
khu vực trong khu đô thị ĐHQG một cách dễ dàng và tiện lợi. Ngoài ra, chúng em sẽ
đảm bảo rằng tất cả các tài xế đều đã được kiểm tra độ an toàn trước khi tham gia vào
hệ thống của chúng em để đảm bảo cho việc di chuyển của bạn.
Với ứng dụng đặt xe dành cho sinh viên của chúng em, các bạn sẽ không cịn phải
lo lắng về việc tìm kiếm xe hay mất thời gian chờ đợi, mà có thể tập trung học tập và
cơng việc của mình một cách an tâm. Chúng em hy vọng rằng ứng dụng của chúng em
sẽ mang lại cho các bạn những trải nghiệm tuyệt vời và tiện lợi nhất khi sử dụng.
Người sử dụng

Mục đích

Nhóm phát triển

Để hiểu các chức năng và đặc tính của hệ thống được phát triển


hệ thống

(hiểu được những yêu cầu người dùng nào mà hệ thống đáp
ứng). Và sử dụng trong q trình thiết kế hệ thống.

Nhóm kiểm thử

Phục vụ xây dựng tài liệu test và test chức năng hệ thống

3


(system test)
Sinh viên

Người sử dụng chính, biết được các chức năng và đặc tính của
phần mềm. Tích cực góp ý để phát triển tính năng ứng dụng.

Phịng CTSV các Là cơ sở để xác thực người dùng, đảm bảo tính an toàn và tin
trường ĐH

cậy của tài xế.
Bảng 1.1: Danh mục người sử dụng

1.2.

Kế hoạch thực hiện:

1.2.1. Quy trình thực hiện:

• Phác thảo sơ lược mơ hình dữ liệu.
• Lên kế hoạch thực hiện
• Phân tích đặc tả u cầu.
• Thiết kế:
-

Thiết kế hệ thống.

-

Thiết kế dữ liệu.

-

Thiết kế giao diện.

• Code và kiểm thử.
• Báo cáo.
1.2.2. Kế hoạch chi tiết - áp dụng quy trình phát triển phần mềm
1.2.2.1.

Các bước thực hiện

• Phác thảo sơ lược mơ hình dữ liệu
-

Phân tích đối tượng và các thuộc tính.

-


Vẽ mơ hình sơ đồ lớp.

-

Vẽ sơ đồ logic.

• Lên kế hoạch thực hiện và khảo sát hiện trạng:
-

Phân tích tính khả thi và cách thức thực hiện.

4


-

Thu thập thông tin và rút ra yêu cầu phần mềm.

• Phân tích đặc tả u cầu: Dựa trên các đặc tả yêu cầu đã thu thập được để phác
thảo UI sơ lược để dễ thực hiện code.
• Thiết kế:
Thiết kế hệ thống
-

Vẽ use-case: phân tích nghiệp vụ tổng quan.

-

Vẽ sơ đồ Sequence Diagram (Sơ đồ tuần tự).


-

Vẽ sơ đồ luồng.

-

Xác định kiến trúc hệ thống.
Thiết kế dữ liệu:

-

Phân tích dữ liệu dựa trên yêu cầu người dùng.

-

Kết quả đầu ra là tài liệu thiết kế dữ liệu, dùng để phục vụ viết thiết kế
database.
Thiết kế giao diện:

-

Vẽ giao diện màn hình cũng như phân tích thiết kế xử lý dựa trên yêu cầu
người dùng.

-

Kết quả đầu ra là tài liệu thiết kế giao diện, dùng để phục vụ viết thiết kế
giao diện (UI) cho sản phẩm.

• Code và Kiểm thử:

-

Phân chia nhiệm vụ code dựa theo các yêu cầu.

-

Tạo các test case để test hệ thống chạy tốt hay chưa.

• Cách tổ chức quản lý các thành viên:
Leader: Huỳnh Thế Vĩ
Team chúng em cùng thảo luận, họp bàn để phân cơng, phân chia tìm hiểu kiến
thức về mỗi giai đoạn. Mỗi bạn trong nhóm sẽ có vai trị riêng.
Khi đã nắm được kiến thức về giai đoạn mình tìm hiểu. Tiến hành training và
thực hiện ngay.

5


Sau mỗi giai đoạn được hoàn thành. Tiến hành kiểm tra, nếu có lỗi có thể quay lại
bước trước đó để hoàn thiện hay sửa lỗi rồi mới tiếp tục tới tiếp theo.
Cứ như vậy cho tới khi hoàn thành hết tất cả các giai đoạn, nhóm em sẽ báo cáo
cuối kỳ.
1.2.2.2.

Công cụ quản lý và thực hiện đồ án

Trao đổi thông tin:
-

Facebook – Messenger: Nơi thông báo các việc quan trọng.


-

Google Meet: Meeting trao đổi giữa các thành viên.

Lưu trữ tài liệu:
-

Google Drive

Thiết kế diagram:
-

Diagrams.net

Quản lý code:
-

Github kết hợp Visual Studio Code

Bảng kế hoạch dự kiến:
Cột mốc

Hồn

Cơng việc

Họp bàn đề
tài


Sản phẩm

thành

Thống nhất đề tài đồ án.

X

(6/3)

Đề tài: Ứng dụng đặt xe
cho sinh viên ĐHQG
Đặc tả yêu cầu
Thông tin chức năng

Phân tích,
đặc tả yêu
cầu

Phân tích, đặc tả danh sách
yêu cầu được đưa ra.

Biểu mẫu và quy định
X

Mô tả tổng thể
Biểu đồ luồng xử lý dữ

(7/3 – 12/3)


liệu
Mơ tả dịng sự kiện

6


Thiết kế dữ
liệu
(13/3 – 20/3)

Thiết kế
giao diện
(21/3 – 9/4)

Thiết kế sơ đồ lớp

X

Sơ đồ lớp tổng thể

Thiết kế sơ đồ logic

X

Sơ đồ logic hoàn chỉnh

Thiết kế cơ sở dữ liệu

X


Các bảng dữ liệu

Lập danh sách các màn hình

X

Vẽ sơ đồ liên kết giữa các
màn hình

X

Bảng danh sách các màn
hình
Sơ đồ liên kết giữa các
màn hình
Bản vẽ giao diện các màn

Lập mơ tả của từng màn
hình

X

hình
Bảng mơ tả các đối tượng
trên màn hình

Cài đặt

Cài đặt cơ sở dữ liệu


X

Cơ sở dữ liệu hoàn chỉnh

Code Front-end

X

Giao diện ứng dụng

Code Back-end

X

(10/4 – 18/6)

Kiểm thử
(18/6 – 19/6)

Tiến hành thử nghiệm các
chức năng phần mềm với dữ

Các chức năng được đưa
ra
Tạo ra các test case để

X

liệu mẫu


kiểm thử tính tối ưu của
phần mềm.

Hồn thành
báo cáo cuối

Slide powerpoint

kỳ

File báo cáo word

X

Slide powerpoint
File báo cáo word

(18/6 – 21/6)
Bảng 1.2: Bảng kế hoạch dự kiến
Tài liệu bao gồm 6 phần chính
• Phần 1: Giới thiệu chung: giới thiệu tổng quan về tài liệu
• Phần 2: Giới thiệu tổng quan công nghệ sử dụng

7


• Phần 3: Khảo sát hiện trạng: đưa ra kết quả khảo sát về hiện trạng tổ chức, tin
học, nghiệp vụ
• Phần 4: Thiết kế hệ thống
• Phần 5: Thiết kế giao diện

• Phần 6: Kết luận
1.3.

Mục đích:

Xây dựng một nền tảng đặt xe tiện lợi và hiệu quả cho sinh viên Đại học Quốc gia
TP.HCM. Cụ thể như sau:
• Cung cấp giải pháp đặt xe thuận tiện.
• Tối ưu hóa trải nghiệm người dùng.
• Tăng cường và đảm bảo an tồn cho những chuyến đi.
• Xây dựng ứng dụng đa nền tảng.
1.4.

Đối tượng:

Sinh viên Đại học Quốc gia Thành phố Hồ Chí Minh.
1.5.

Phạm vi nghiên cứu:

Đại học Quốc gia Thành phố Hồ Chí Minh.

8


Chương 2. TỔNG QUAN CƠNG NGHỆ
2.1.

Cơng nghệ sử dụng:


2.1.1. Ngơn ngữ lập trình:
2.1.1.1.

Javascript:

Javascript – một ngơn ngữ vơ cùng phổ biến trong lĩnh vực lập trình ngày nay. Có
thể nói rằng, Javascript hay cịn gọi là JS là ngơn ngữ rất thơng dụng trong vài năm gần
đây. Đã có khá nhiều framework ra đời và được viết bằng loại ngôn ngữ này. Từ
frontend cho đến backend thì bất cứ nơi nào cũng có sự xuất hiện của JS. Một vài
thơng tin sau đây sẽ giúp cho bạn hiểu thêm về loại ngơn ngữ đặc biệt này.
Javascript là gì?
• Javascript chính là một ngơn ngữ lập trình web rất phổ biến ngày nay.
• Javascript được tích hợp đồng thời nhúng vào HTML để hỗ trợ cho website trở
nên sống động hơn. Chúng cũng đóng vai trị tương tự như một phần của
website, cho phép Client-side Script từ người dùng tương tự máy chủ (Nodejs)
để tạo ra những website động.
Lịch sử phát triển của Javascript:
• Brendan Eich chính là người đã phát triển Javascript tại Netscape với tiền thân
là Mocha. Sau đó, Mocha được đổi thành LiveScript và cuối cùng mới đổi thành
JavaScript.
• Năm 1998, JavaScript với phiên bản mới nhất là ECMAScript phát hành và đến
năm 1999 thì ECMAScript 3 được ra mắt.
• Năm 2016, ứng dụng JavaScript đã đạt kỷ lục lên tới 92% website sử dụng,
đồng thời cũng được đánh giá là một công cụ cực kỳ quan trọng đối với lập trình
viên.
Cách hoạt động của javascript là gì?
• Thông thường, JavaScript sẽ được nhúng trực tiếp vào một website hoặc chúng
được tham chiếu qua file .js hoặc JavaScript.

9



• Đây là một ngơn ngữ đến từ phía Client nên Script sẽ được download về máy
client khi truy cập.
• Tại đây, chúng sẽ được hệ thống xử ý. Vì vậy, bạn không cần phải tải về máy
server rồi chờ cho chúng xử lý xong mới phản hồi được kết quả đến client.
Javascript dùng để làm gì?
• Bên cạnh việc tìm hiểu javascript là ngơn ngữ gì thì chúng được sử dụng để làm
gì cũng rất quan trọng. Việc nắm bắt được mục đích của ngơn ngữ đặc biệt này
sẽ giúp bạn dễ dàng sử dụng chúng hơn trong công việc
Ưu nhược điểm của ngơn ngữ lập trình Javascript: Là một ngơn ngữ lập trình
rất phổ biến hiện nay, Javascript có cho mình rất nhiều ưu điểm nổi bật. Tuy nhiên, bên
cạnh những ưu điểm đó thì ngơn ngữ lập trình này cũng có những nhược điểm cần
được lưu ý.
Ưu điểm:
-

Chương trình rất dễ học

-

Những lỗi Javascript rất dễ để phát hiện, từ đó giúp bạn sửa lỗi một cách
nhanh chóng hơn.

-

Những trình duyệt web có thể dịch thơng qua HTML mà khơng cần sử dụng
đến một compiler.

-


JS có thể hoạt động ở trên nhiều nền tảng và các trình duyệt web

khác nhau.
-

Được các chuyên gia đánh giá là một loại ngơn ngữ lập trình nhẹ và nhanh
hơn nhiều so với các ngơn ngữ lập trình khác.

-

JS cịn có thể được gắn trên một số các element hoặc những events của các
trang web.

-

Những website có sử dụng JS thì chúng sẽ giúp cho trang web đó có sự
tương tác cũng như tăng thêm nhiều trải nghiệm mới cho người dùng.

-

Người dùng cũng có thể tận dụng JS với mục đích là để kiểm tra

10


những input thay vì cách kiểm tra thủ cơng thơng qua hoạt động truy xuất database.
-

Giao diện của ứng dụng phong phú với nhiều thành phần như Drag and

Drop, Slider để cung cấp đến cho người dùng một Rich.

Interface (giao diện giàu tính năng).
-

Giúp thao tác với người dùng phía Client và tách biệt giữa các Client với
nhau.

Nhược điểm:
-

Một số nhược điểm còn tồn tại.

-

JS Code Snippet khá lớn.

-

JS dễ bị các hacker và scammer khai thác hơn.

-

JS cũng không có khả năng đa luồng hoặc đa dạng xử lý.

-

Có thể được dùng để thực thi những mã độc ở trên máy tính của

người sử dụng.

-

Những thiết bị khác nhau có thể sẽ thực hiện JS khác nhau, từ đó

dẫn đến sự khơng đồng nhất.
-

Vì tính bảo mật và an tồn nên các Client-Side Javascript sẽ khơng cho phép
đọc hoặc ghi các file.

-

JS không được hỗ trợ khi bạn sử dụng ở trong tình trạng thiết bị được kết nối
mạng.

2.1.2. Thư viện:
2.1.2.1.

React Native:

React Native là một framework mã nguồn mở được phát triển bởi Facebook, cho
phép bạn xây dựng ứng dụng di động đa nền tảng sử dụng JavaScript. React Native sử
dụng cú pháp React để tạo giao diện người dùng, giúp phát triển ứng dụng nhanh
chóng và hiệu quả trên nhiều nền tảng khác nhau, bao gồm cả iOS và Android.
Một số đặc điểm nổi bật của React Native bao gồm:

11


• Mã nguồn chia sẻ: React Native cho phép bạn chia sẻ mã nguồn giữa các nền

tảng khác nhau, giảm bớt công sức và thời gian phát triển so với việc phát triển
ứng dụng riêng biệt cho iOS và Android.
• Hiệu suất cao: React Native sử dụng kiến trúc giống như ứng dụng native, với
sự tương tác trực tiếp với các thành phần gốc của hệ điều hành. Điều này đảm
bảo rằng ứng dụng React Native có khả năng hoạt động mượt mà và tương tác
nhanh.
• Giao diện người dùng linh hoạt: React Native cho phép bạn xây dựng giao diện
người dùng sử dụng các thành phần UI đã có sẵn, tương tự như các ứng dụng
native. Bạn cũng có thể tạo các thành phần giao diện tùy chỉnh nếu cần.
• Hot reloading: React Native hỗ trợ tính năng hot reloading, cho phép bạn cập
nhật và xem trực tiếp sự thay đổi trong mã nguồn mà không cần khởi động lại
ứng dụng. Điều này giúp tăng tốc quá trình phát triển và thử nghiệm ứng dụng.
• Cộng đồng mạnh mẽ: React Native có một cộng đồng lớn và tích cực, cung cấp
các thư viện, công cụ và tài liệu hữu ích. Điều này giúp cho việc học tập và giải
quyết vấn đề trở nên dễ dàng hơn.
React Native đã được sử dụng rộng rãi trong việc phát triển các ứng dụng di động
nổi tiếng như Facebook, Instagram, Skype, Airbnb và nhiều hơn nữa. Nó đem lại lợi
ích của việc sử dụng JavaScript để phát triển ứng dụng di động đa nền tảng, giúp tiết
kiệm thờ
2.1.2.2.

Native base:

NativeBase là một thư viện UI mã nguồn mở cho React Native, được xây dựng
dựa trên React Native và hướng tới việc cung cấp các thành phần giao diện người dùng
(UI components) đẹp mắt và dễ sử dụng.
NativeBase cung cấp một bộ sưu tập đa dạng các thành phần UI đã được thiết kế
sẵn như nút, danh sách, thanh trượt, biểu đồ, menu, thẻ, và nhiều hơn nữa. Các thành

12



phần này đã được tối ưu hóa cho cả iOS và Android, giúp xây dựng giao diện người
dùng đồng nhất và chuyên nghiệp trên cả hai nền tảng.
Dưới đây là một số đặc điểm và lợi ích của NativeBase:
• Thiết kế đẹp mắt: NativeBase cung cấp các thành phần UI được thiết kế sẵn theo
phong cách Material Design và iOS Human Interface Guidelines. Điều này giúp
ứng dụng của bạn có giao diện hấp dẫn và chun nghiệp.
• Tích hợp dễ dàng: NativeBase tích hợp tốt với React Native, cho phép bạn sử
dụng các thành phần UI trong mã nguồn của bạn một cách dễ dàng. Bạn có thể
tùy chỉnh và điều chỉnh các thành phần theo ý muốn.
• Hỗ trợ đa nền tảng: NativeBase tối ưu hóa các thành phần UI cho cả iOS và
Android, đảm bảo giao diện người dùng của bạn hoạt động mượt mà trên cả hai
nền tảng.
• Tính linh hoạt: NativeBase cung cấp nhiều tùy chọn và khả năng tùy chỉnh cho
các thành phần UI. Bạn có thể thay đổi màu sắc, kiểu chữ, kích thước và nhiều
hơn nữa để phù hợp với ý tưởng thiết kế của bạn.
• Tương thích mở rộng: NativeBase tương thích với các thư viện mở rộng khác
của React Native như Redux và React Navigation, cho phép bạn xây dựng ứng
dụng phức tạp và có khả năng mở rộng.
NativeBase là một cơng cụ hữu ích cho việc phát triển ứng dụng React Native,
giúp bạn nhanh chóng xây dựng giao diện người dùng đẹp mắt và tương thích trên
nhiều nền tảng.
2.1.3. Cơ sở dữ liệu:
2.1.3.1.

NoSQL:

NoSQL (Not Only SQL) là một thuật ngữ được sử dụng để chỉ các hệ quản trị cơ
sở dữ liệu không phải là SQL truyền thống, không sử dụng mơ hình quan hệ và ngơn

ngữ truy vấn SQL. Thay vì sử dụng bảng và các quan hệ giữa chúng, NoSQL tập trung
vào việc lưu trữ dữ liệu không có cấu trúc hoặc có cấu trúc linh hoạt hơn.

13


Dưới đây là một số đặc điểm chung của hệ thống NoSQL:
• Mơ hình dữ liệu linh hoạt: NoSQL cho phép lưu trữ dữ liệu không cần tuân theo
một cấu trúc cố định như các hệ quản trị cơ sở dữ liệu quan hệ. Dữ liệu có thể
được lưu trữ dưới dạng tài liệu, cặp khóa-giá trị, đồ thị hoặc các mơ hình khác.
• Khả năng mở rộng tốt: Hệ thống NoSQL được thiết kế để có khả năng mở rộng
ngang (horizontal scalability), cho phép mở rộng hệ thống một cách dễ dàng
bằng cách thêm các nút (node) vào hệ thống.
• Hiệu suất cao: Do khơng cần tn theo quy tắc ACID (Atomicity, Consistency,
Isolation, Durability) như các hệ quản trị cơ sở dữ liệu quan hệ, NoSQL có thể
cung cấp hiệu suất cao hơn cho các tác vụ đọc/ghi dữ liệu lớn và phân tán.
• Tích hợp dễ dàng với cơng nghệ mới: Hệ thống NoSQL thường tích hợp tốt với
các công nghệ mới như cloud computing, big data và real-time analytics. Điều
này cho phép phát triển ứng dụng hiện đại và linh hoạt hơn.
• Hỗ trợ đa dạng các loại dữ liệu: NoSQL hỗ trợ lưu trữ và xử lý các loại dữ liệu
đa dạng, bao gồm dữ liệu cấu trúc, bán cấu trúc và không cấu trúc. Điều này làm
cho NoSQL trở thành lựa chọn phù hợp cho các ứng dụng phân tích dữ liệu và
đa phương tiện.
Có nhiều loại hệ thống NoSQL khác nhau như Cơ sở dữ liệu cột (Columnar
databases), Cơ sở dữ liệu tài liệu (Document databases), Cơ sở dữ liệu đồ thị (Graph
databases), Cơ sở dữ liệu khóa-giá trị (Key-value databases), và Cơ sở dữ liệu bộ nhớ
(In-memory databases). Mỗi loại có ưu điểm và hạn chế riêng, và lựa chọn phụ thuộc
vào yêu cầu cụ thể của dự án.

14



Chương 3. KHẢO SÁT HIỆN TRẠNG
3.1.

Hiện trạng tổ chức:

Hình 3.1: Hiện trạng tổ chức
Cơ cấu tổ chức người dùng ứng dụng:
-

Phịng CTSV: Lưu trữ thơng tin của sinh viên, hỗ trợ xét duyệt, xác minh
thông tin tài khoản cho sinh viên.

-

Sinh viên: Người sử dụng dịch vụ của ứng dụng, là sinh viên của các trường
đại học thuộc khối Đại học Quốc gia thành phố Hồ Chí Minh

-

Tài xế: Là sinh viên của các trường đại học thuộc khối Đại học Quốc gia
thành phố Hồ Chí Minh

3.2.

Hiện trạng tin học:

Con người, trình độ tin học:
• Tài xế, sinh viên có khả năng tiếp thu cơng nghệ tin học dễ dàng.

• Cán bộ phịng Cơng tác sinh viên đã và đang sử dụng tốt phần mềm quản lý
nhân sự.
3.3.

Hiện trạng nghiệp vụ:

3.3.1. Đối tượng:
3.3.1.1.

Đối tượng tài xế:

15


×