M ỤC LỤC LỜI MỞ ĐẦU 1 CHƯƠNG 1: TỔNG QUAN CƠ SỞ LÝ THUYẾT 2 1.1 Giới thiệu về đề tài xây dựng ứng dụng gọi xe 2 1.1.1. Quy trình nghiệp vụ 2 1.1.2. Những khó khăn, thuận lợi 2 1.1.3. Bài toán quản lý hệ thống gọi xe 3 1.2. Những công nghệ áp dụng 4 1.3. Kết luận chương 8 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 9 2.1. Khảo sát và phân tích bài toán 9 2.1.1. Khảo sát và phân tích hiện trạng 9 2.1.2. Phân tích bài toán 11 2.2. Đặc tả yêu cầu hệ thống 12 2.3. Phân tích hệ thống 15 2.3.1 Sơ đồ use case tổng quát 15 2.3.2. Sơ đồ use case phân rã 17 2.3.3. Biểu đồ tuần tự 24 2.3.4. Biểu đồ hoạt động 29 2.4. Thiết kế hệ thống 34 2.4.1. Mô hình lớp thiết kế gói use case 34 2.4.2. Biểu đồ các lớp thực thể 35 2.5. Thiết kế cơ sở dữ liệu 46 2.5.1. Mô tả Bảng 47 2.6. Kết luận chương 59 CHƯƠNG 3: LẬP TRÌNH XÂY DỰNG VÀ MÔ TẢ HỆ THỐNG 60 3.1. Lập trình xây dựng hệ thống 60 3.2. Mô tả hệ thống 60 3.3. Đánh giá kết quả 67 KẾT LUẬN 68 TÀI LIỆU THAM KHẢO 69
Trang 1Tôi xin cam đoan số liệu và kết quả nghiên cứu trong luận văn này là trungthực và chưa hề được sử dụng để bảo vệ một học vị nào Mọi sự giúp đỡ cho việcthực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đãđược chỉ rõ nguồn gốc rõ ràng và được phép công bố.
Hà Nội, ngày…tháng…năm 2017
Nguyễn Quang Hưng
Trang 2Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗtrợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác Trongsuốt thời gian từ khi bắt đầu học tập ở giảng đường Đại Học đến nay, em đã nhậnđược rất nhiều sự quan tâm, giúp đỡ của Thầy Cô, gia đình và bạn bè.
Với lòng biết ơn sâu sắc nhất, em xin gửi đến Thầy Cô ở Khoa Công NghệThông Tin – Trường Đại Học Tài Nguyên Và Môi Trường Hà Nội đã cùng với trithức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho em trong suốtthời gian học tập tại trường
Em xin chân thành cám ơn cô Nguyễn Thùy Dung đã tận tình hướng dẫn emtrong quá trình làm đồ án, những điều cần chú ý khi làm ứng dụng Trong thời gianlàm đồ án em đã có được nhiều kiến thức và kinh nghiệm trong lập trình, dưới sựhướng dẫn của cán bộ hướng dẫn, chúng em không những thu được rất nhiều kiếnthức bổ ích, mà còn tích lũy được nhiều kinh nghiệm hữu ích cho công việc sau nay
Mặc dù đã rất cố gắng hoàn thiện bản báo cáo đồ án tốt nghiệp với tất cả sự
nỗ lực, tuy nhiên, do chưa có nhiều kinh nghiệm trong việc làm ứng dụng di động,cũng như thời gian có hạn, kiến thức còn hạn chế, và nhiều khó khăn, nên bản báocáo thực tâp này chắc chắn sẽ không thể tránh khỏi những thiếu sót Chúng em rấtmong nhận được sự quan tâm, thông cảm và những đóng góp quý báu của các thầy
cô và các bạn để bản báo cáo này ngày càng hoàn thiện hơn
Sau cùng, em xin kính chúc các thầy cô trong Khoa Công Nghệ Thông Tindồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyềnđạt kiến thức cho thế hệ mai sau
Trang 3CHƯƠNG 1: TỔNG QUAN CƠ SỞ LÝ THUYẾT 2
1.1 Giới thiệu về đề tài xây dựng ứng dụng gọi xe 2
1.1.1 Quy trình nghiệp vụ 2
1.1.2 Những khó khăn, thuận lợi 2
1.1.3 Bài toán quản lý hệ thống gọi xe 3
1.2 Những công nghệ áp dụng 4
1.3 Kết luận chương 8
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 9
2.1 Khảo sát và phân tích bài toán 9
2.1.1 Khảo sát và phân tích hiện trạng 9
2.1.2 Phân tích bài toán 11
2.2 Đặc tả yêu cầu hệ thống 12
2.3 Phân tích hệ thống 15
2.3.1 Sơ đồ use case tổng quát 15
2.3.2 Sơ đồ use case phân rã 17
2.3.3 Biểu đồ tuần tự 24
2.3.4 Biểu đồ hoạt động 29
2.4 Thiết kế hệ thống 34
2.4.1 Mô hình lớp thiết kế gói use case 34
2.4.2 Biểu đồ các lớp thực thể 35
2.5 Thiết kế cơ sở dữ liệu 46
2.5.1 Mô tả Bảng 47
2.6 Kết luận chương 59
CHƯƠNG 3: LẬP TRÌNH XÂY DỰNG VÀ MÔ TẢ HỆ THỐNG 60
3.1 Lập trình xây dựng hệ thống 60
3.2 Mô tả hệ thống 60
3.3 Đánh giá kết quả 67
KẾT LUẬN 68
Trang 4Hình 2.1: Sơ đồ tổng quát hệ thống ứng dụng 14
Hình 2.2: Sơ đồ use case tổng quát 15
Hình 2.3: Sơ đồ use case phân rã chức năng đang nhập 17
Hình 2.4: Sơ đồ use case phân rã quản lý hồ sơ 17
Hình 2.5: Sơ đồ use casephân rã chức năng quản lý chuyến đi 18
Hình 2.6: Sơ đồ use case phân rã đăng ký chuyến đi rẻ 19
Hình 2.7: Sơ đồ use case phân rã chức năng tạo chuyến đi 20
Hình 2.8: Sơ đồ use case phân rã chức năng quản lý thông tin khuyến mại 21
Hình 2.9: Sơ đồ use case phân rã chức năng phản hồi, khiếu nại 21
Hình 2.10: Sơ đồ use case phân rã chức năng quản lý thông tin hỗ trợ, phản hồi 22
Hình 2.11: Sơ đồ use case phân rã chức năng quản lý lái xe, hành khách 23
Hình 2.12: Sơ đồ use case phân rã chức năng thống kê 23
Hình 2.13: Biểu đồ tuần tự chức năng đăng ký 24
Hình 2.14: Biểu đồ tuần tự chức năng đăng ký chuyến xe rẻ 24
Hình 2.15: Biểu đồ tuần tự chức năng đăng nhập 25
Hình 2.16: Biểu đồ tuần tự chức năng lấy lại mật khẩu 25
Hình 2.17: Biểu đồ tuần tự chức năng quản lý hồ sơ 26
Hình 2.18: Biểu đồ tuần tự chức năng sửa thông tin tài khoản 26
Hình 2.19: Biểu đồ tuần tự chức năng tạo thay đổi mật khẩu 27
Hình 2.20: Biểu đồ tuần tự chức năng thêm tài khoản người dùng 27
Hình 2.21: Biểu đồ tuần tự chức năng thống kê theo ngày 28
Hình 2.22: Biểu đồ tuần tự chức năng thống kê theo tuần 28
Hình 2.23: Biểu đồ tuần tự chức năng tạo chuyến đi 28
Hình 2.24: Biểu đồ hoạt động chức năng đăng nhập 29
Hình 2.25: Biểu đồ hoạt động chức năng lấy lại mật khẩu 29
Hình 2.26: Biểu đồ hoạt động chức năng sửa thông tin tài khoản 30
Trang 5Hình 2.29: Biểu đồ hoạt động chức năng thêm tài người dùng 31
Hình 2.30: Biểu đồ hoạt động chức năng thống kê 32
Hình 2.31: Biểu đồ hoạt động chức năng xem thông tin chuyến đi 32
Hình 2.32: Biểu đồ hoạt động chức năng tạo chuyến đi 33
Hình 2.33: Biểu đồ lớp 34
Hình 2.34: Lớp đăng nhập 35
Hình 2.35: Lớp màn hình chính 36
Hình 2.36: Lớp hồ sơ 38
Hình 2.37: Lớp đăng ký chuyến đi rẻ 39
Hình 2.38: Lớp thông tin chuyến đi rẻ 40
Hình 2.39: Lớp thông tin chuyến đi 41
Hình 2.40: lớp phản hồi 42
Hình 2.41: Lớp hỗ trợ 43
Hình 2.42: Lớp thanh toán 44
Hình 2.43: Hình liên kết thực thể cơ sở dữ liệu 46
Hình 3.1 Giao diện màn hình login 60
Hình 3.2 Giao diện màn hình selectCar 61
Hình 3.3 Giao diện màn hình home 62
Hình 3.4 Giao diện màn hình profile 63
Hình 3.5 Giao diện màn hình registerfreetrip 64
Hình 3.6 Giao diện màn hình free trip 64
Hình 3.7 giao diện màn hình my trips 65
Hình 3.8 Giao diện màn hình helps 66
Hình 3.9 Giao diện màn hình hỏi đáp 66
Hình 3.10 Giao diện màn hình feedback 67
Trang 6Bảng 2.1: Danh sách các Actor 15
Bảng 2.2: Danh sách các Use case: 16
Bảng 2.3: Mô tả các use case con 17
Bảng 2.4: Mô tả các use case con 18
Bảng 2.5: Mô tả các use case con 18
Bảng 2.6: Mô tả các use case con 19
Bảng 2.7: Mô tả các use case con 20
Bảng 2.8: Mô tả các use case con 21
Bảng 2.9: Mô tả các use case con 22
Bảng 2.10: Mô tả các use case con 22
Bảng 2.11: Mô tả các use case con 23
Bảng 2.12: Mô tả các use case con 23
Bảng 2.13: Thuộc tính 35
Bảng 2.14: Phương thức 35
Bảng 2.15: Thuộc tính 36
Bảng 2.16: Phương thức 37
Bảng 2.17: Thuộc tính 38
Bảng 2.18: Phương thức 38
Bảng 2.19: Thuộc tính 39
Bảng 2.20: Phương thức 39
Bảng 2.21: Thuộc tính 40
Bảng 2.22: Phương thức 41
Bảng 2.23: Thuộc tính 41
Bảng 2.24: Phương thức 42
Bảng 2.25: Thuộc tính 42
Bảng 2.26: Phương thức 42
Bảng 2.27: Thuộc tính 43
Trang 7Bảng 2.30: Phương thức 45
Bảng 2.31: address: bảng địa chỉ 47
Bảng 2.32: cartype: bảng mô tả kiểu xe 47
Bảng 2.33: city: bảng thành phố 48
Bảng 2.34: company: bảng công ty 49
Bảng 2.35: dailydriversummary: thống kê các chuyến đi của tài xế theo ngày 50
Bảng 2.36: document: bảng tài liệu 51
Bảng 2.37: driver: lái xe 52
Bảng 2.38: farerate: bảng giá cước 53
Bảng 2.39: feedback: bảng phản hồi 53
Bảng 2.40: payment: thanh toán 54
Bảng 2.41: pricepanel: bảng giá 54
Bảng 2.42: resetpassword: bảng lấy lại mật khẩu 55
Bảng 2.43: rider: bảng hành khách 56
Bảng 2.44: taxinetusers: người sử dụng xe 57
Bảng 2.45: trip: chuyến đi 57
Bảng 2.46: vehicle: bảng xe 58
Bảng 2.47: weeklydriversummary: bảng thống kê theo tuần 59
Trang 8LỜI MỞ ĐẦU
Hiện nay, sự phát triển của công nghệ thông tin ở nước ta đang bước vào thời
kỳ mới với việc triển khai rộng rãi các ứng dụng tin hoc vào mỗi nhu cầu của ngườidân Khồng ai còn nghi ngờ gì về vai trò của công nghệ thông tin trong đời sống,trong khoa học kĩ thuật , kinh doanh, cũng như trong mọi mặt của xã hội, ngay cảđối với một cá nhân
Trong cuộc sống hiện nay việc sử dụng những ứng dụng điện thoại di độngđang ngày càng trở nên phổ biến, từ những ứng dụng trò chơi đến những ứng dụng,phục vụ cho nhu cầu cuộc sống hàng ngày như mua sắm, đọc báo, xem phim…Hiện nay việc đi lại bằng phương tiện công cộng đang ngày càng trở nên phổ biến,đặc biệt là đi taxi và một ứng dụng kết nối hành khách và lái xe sẽ giúp việc đi lạichở nên dễ dàng và thuận tiện hơn là rất cần thiết, giúp nhu cầu cuộc sống của conngười được nâng cao
Được sự đồng ý của nhà trường và các thầy cô trong khoa em đã được thực
hiện đồ án tốt nghiệp là: Xây dựng ứng dụng gọi xe Ứng dụng này giúp cho người
dùng có thể tìm xe, gọi xe, cũng như biết được chi phí khi đi là bao nhiêu Là ứngdụng có thể tính tiền bằng quãng đường đi được thông qua google maps và nhiềutiện ích khác
Đồ án tốt nghiệp của em gồm 3 chương:
Chương 1: Tổng quan cơ sở lý thuyết
Chương 2: Phân tích thiết kế hệ thống
Chương 3: Xây dựng ứng dụng gọi xe
Bằng sự cố gắng nỗ lực của bản thân đặc biệt là sự giúp đỡ tận tình, chu đáocủa cô giáo THS.Nguyễn Thùy Dung em đã hoàn thành đồ án đúng thời hạn Dothời gian làm đồ án có hạn và trình độ còn nhiều hạn chế nên không thể tránh khỏinhững thiếu sót Em rất mong nhận dược sự đóng góp của các thầy cô để bài đồ ánnày được hoàn thiện hơn
Em xin chân thành cảm ơn!
Trang 9CHƯƠNG 1: TỔNG QUAN CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu về đề tài xây dựng ứng dụng gọi xe
Trong cuộc sống hiện nay việc sử dụng những ứng dụng điện thoại di độngđang ngày càng trở nên phổ biến, từ những ứng dụng trò chơi đến những ứng dụngphục vụ cho nhu cầu cuộc sống hàng ngày như mua sắm, đọc báo, xem phim… và
em muốn giới thiệu một ứng dụng phục vụ cho nhu cầu đi lại của còn người Giúpnhu cầu cuộc sống của con người được nâng cao
Ứng dụng này giúp cho người dùng có thể tìm xe, gọi xe, cũng như biết đượcchi phí khi đi là bao nhiêu Là ứng dụng có thể tính tiền bằng quãng đường đi đượcthông qua Google maps và nhiều tiện ích khác Mặc dù đã cố gắng nhưng do hạnchế về mặt thời gian và trình độ nên ứng dụng còn nhiều sai sót và chưa hoàn chỉnh,mong thầy cô thông cảm và góp ý cho em
sẽ xác nhận lại với tổng đài viên, tổng đài viên chấp nhận thì lái xe sẽ đến địa chỉđược cung cấp để đón khách Lái xe đến đón khách và đi đến vị trí mà khách yêucầu Số tiền được tính bằng đồng hồ trên xe theo số km thực tế đi được nhân với giácủa từng quãng đường cộng với giá mở cửa
1.1.2 Những khó khăn, thuận lợi
Những khó khăn:
- Quy trình gọi xe theo hệ thống cũ gây khó khăn cho việc gọi xe và đi lại + Khi khách hàng gọi điện lên tổng đài để đặt xe thì sẽ làm cho khách hàngmất thêm tiền điện thoại, đồng thời cũng sẽ tốn thời gian cho cả khách hàng và lái
xe sẽ được chọn khi phải thông qua tổng đài để đặt xe
Trang 10+ Khách hàng không có nhiều loại xe và hạng xe để chọn.
+ Khách hàng không thể so sánh giá của các hạng xe với nhau để có thể chọnđược xe có giá phù hợp với nhu cầu của mình
+ Khách hàng không thể biết được số tiền mà mình có thể phải trả cho quãngđường mà mình đi cũng như thời gian đi và số km
+ Hành khách sẽ không thể thấy được là có lái xe nào đang đến chỗ mìnhkhông
+ Lái xe không thể thấy được thông tin hành khách cũng như không biết được
vị trí điểm đón và điểm đến của khách hàng cũng như thông tin liên hệ với hànhkhách, mà phải thông qua tổng đài
+ Lái xe, hành khách cũng không thể thấy được cung đường đi mà mình sẽ đi
- Quy trình gọi xe theo hệ thống gọi xe trên ứng dụng được xây dựng trên nềntảng android sẽ có những khó khăn như:
+ Khó khăn cho việc tính toán thời gian, quãng đường, vị trí hiện tại của hànhkhách và lái xe thông qua Google
Những thuận lợi:
- Đáp ứng nhu cầu của khách hàng một cách nhanh nhất có thể
- Tiếp kiệm chi phí, thời gian cho khách hàng
- Giúp lái xe thuận tiện hơn khi đón khách, và có nhiều cơ hội có khách hànghơn
- Có nhiều ưu đãi, khuyến mãi hơn cho cả khách hàng và lái xe
1.1.3 Bài toán quản lý hệ thống gọi xe
Hệ thống gọi xe trên nền tảng android là khi khách hàng có nhu cầu đi lại.Thì khách hàng chỉ cần mở ứng dụng lên chọn điểm đón, điểm đến và nhấn nút yêucầu xe, là có thể có xe để đi Đồng thời khách hàng còn có thể xem trước giá cướctheo ước tính của từng hạng xe Khách hàng có thể chọn với nhiều hạng xe khácnhau Như taxi, car hay xe ôm Mỗi loại lại gồm nhiều loại xe để chọn như: taxi thì
có các hạng xe như hạng phổ thông, phổ thông 7 chỗ, hạng tiết kiệm, siêu tiết kiệm,hạng sang trọng Khách hàng có thể xem trực tiếp thông tin lái xe, thông tin về cước
Trang 11của hạng xe mà mình chọn và còn có thể thấy những xe nào đang ở gần mình để cóthể chọn trực tiếp hạng xe và lái xe mà mình thích, nếu xe đó đang bận thì hệ thống
sẽ tự động gọi một xe khác Đồng thời khách hàng còn có thể xe được cước ướctính, thời gian ước tính cũng như quãng đường ngắn nhất theo google map Lái xecũng có thể thấy được thông tin của khách hàng khi khách hàng yêu cầu xe và lái xe
có thể đến điểm đón mà khách hàng đã chọn để đón khách Sau khi đón được khách
và đi đến địa chỉ mà khách hàng chọn thì lái xe sẽ bấm vào nút hoàn tất chuyến đi
để kết thúc chuyến Khi đó thì một màn hình thanh toán sẽ được hiển thị Lên cho lái
xe Màn hình thanh toán sẽ bao gồm thông tin về số tiền tính theo số km đo đượcbằng google map, và các phí khác nếu có như phí cầu đường Sau đó lái xe sẽ yêucầu thanh toán và biên lai thanh toán sẽ được hiển thị Lên cho khách hàng, kháchhàng xem thông tin và thanh toán bằng tiền mặt cho lái xe
Bài toán quản lý của hệ thống gọi xe sẽ là phải làm sao khắc phục được nhữngkhó khăn của quá trình gọi xe theo hệ thống cũ Như hệ thống sẽ phải giải quyếtđược bài toán làm sao để không gây tốn thời gia cho cả khách hàng và lái xe Giảmthiểu chi phí cho khách hàng, cho phép khách hàng có nhiều lựa chọn trong việc đilại như có nhiều hạng xe và loại xe Cung cấp thông tin của những lái xe và hànhkhách yêu cầu xe để đảm bảo an toàn, và sự an tâm của hành khách Cung cấpthông tin vê bảng giá của từng hạng xe, cước ước tính trong quãng đường mà hànhkhách chọn đôi với từng hạng xe Làm sao để hiển thị được vị trí hành khách, lái xe,thời gian, số km một cách trực quan
Trang 12Trong Java, hiện tượng rò rỉ bộ nhớ hầu như không xảy ra do bộ nhớ đượcquản lý bởi Java Virtual Machine (JVM) (là một thiết bị trừu tượng (ảo) có thể giúpmáy tính chạy các chương trình Java Nó cung cấp môi trường runtime mà trong đóJava Bytecode có thể được thực thi)bằng cách tự động "dọn dẹp rác" Người lậptrình không phải quan tâm đến việc cấp phát và xóa bộ nhớ như C, C++ Tuy nhiênkhi sở dụng những tài nguyên mạng, file IO, database (nằm ngoài kiểm soát củaJVM) mà người lập trình không đóng (close) các streams thì rò rỉ dữ liệu vẫn có thểxảy ra.
+ Android studio: là môi trường phát triển tích hợp (IDE) chính thức dành chophát triển nền tảng Android được cung cấp miễn phí bởi google IDE viết tắt củacụm từ Integrated Development Environment là phần mềm cung cấp cho các lậptrình viên một môi trường tích hợp bao gồm nhiều công cụ khác nhau như chươngtrình viết mã lệnh hay code editor, chương trình sửa lỗi hay debugger, chương trình
mô phỏng ứng dụng khi chạy thực tế hay simulator Bộ công cụ Android Studiocung cấp những trình soạn thảo riêng biệt tương ứng với hầu hết các file cấu hình vàLayout của ứng dụng Android với định dạng XML Với những file Layout giaodiện, Android Studio cho phép các lập trình viên dễ dàng chuyển đổi chế độ chỉnhsửa giữa trình biên soạn nội dung XML hoặc trình biên soạn dưới dạng giao diện(GUI)
Ngoài ra, bộ phát triển Android Studio còn tích hợp bên trong những tiện ích hỗ trợphát triển ứng dụng như sau:
Bộ xây dựng ứng dụng Gradle:
- Quá trình build một dự án Android được xử ký bởi hệ thống build của Gradle.Nếu bạn tạo một dự án trong Android Studio, các mã Gradle sẽ được tự động tạo ra.Android studio bao bọc quá trình Gradle chạy
- Hệ thống build của Gradle được thiết kế để hỗ trợ các tình huống phức tạptrong việc tạo ra các ứng dụng Android
- Multi-distribution (Đa phiên bản) Cùng một ứng dụng phải được tuỳ biến đểphụ vụ các khách hàng và các công ty khác nhau
Trang 13- Multi-Apk: Hỗ trọng tạo ra nhiều file apk với nhiều loại thiết bị khác nhau
mà có thể tái sử dụng lại code hiện tại
- Android Studio bao bọc quá trình buils của Gradle Nếu nhấn nút Run trongAndroid Studio, các hành động Gradle tương ứng sẽ giúp bạn chạy ứng dụng
Cho phép xây dựng ứng dụng tùy biến và tự động tạo ra file apk tương thíchvới thông tin tùy biến
Bộ code mẫu giúp xây dựng các chức năng phổ biến của các ứng dụng
Trình biên soạn Layout GUI cho ứng dụng Android phong phú và tiện lợi,cho phép người dùng dễ dàng tạo ra giao diện màn hình bằng cách kéo thả cácComponent mẫu có sẵn và chỉnh sửa giao diện themes (kích thướt, màu sắc, …) tùyý
Tích hợp lint – Một ứng dụng tích hợp giúp các developer kiểm soát về hiệusuất (performance), tính khả dụng (usability), khả năng tương thích của các phiênbản API sử dụng, và những vấn đề tiềm ẩn bên trong có thể xảy ra lúc Runtime
ProGuard (tiện ích tối ưu và mã hóa code khi build ứng dụng) và Androidapp-signing
Bộ tích hợp hỗ trợ phát triển ứng dụng Android dễ dàng với các dịch vụ cùanền tảng đám mây của Google (Google Cloud Platform)
+ Google Maps API là công cụ để giúp bạn tạo bản đồ địa điểm trên ứng dụng
Sử dụng để tạo bản đồ, xác định vị trí, chỉ đường, tính quãng đường, tính thờigian… trên bản đồ
+ FireBase là một nền tảng di động giúp nhanh chóng phát triển các ứng dụngchất lượng cao, phát triển ứng dụng cho người dùng lớn [5]
Firebase Realtime Database
-Dữ liệu trong cơ sở dữ liệu Firebase của ứng dụng được lưu trữ dưới dạngJSON và đồng bộ realtime đến mọi kết nối client Khi xây dựng những ứng dụng đanền tảng như Android, tất cả các client sẽ chia sẻ trên một cơ sở dữ liệu Firebase và
tự động cập nhật với dữ liệu mới nhất
Trang 14-Tự động tính toán quy mô ứng dụng
Khi ứng dụng muốn phát triển, bạn không cần lo lắng về việc nâng cấp máychủ Firebase sẽ xử lý việc tự động cho bạn Các máy chủ của Firebase quản lýhàng triệu kết nối đồng thời và hàng tỉ lượt truy vấn mỗi tháng
- Các tính năng bảo mật lớp đầu
Tất cả dữ liệu được truyền qua một kết nối an toàn SSL với một chứng nhận2048-bit Cở sở dữ liệu truy vấn và việc xác nhận được điều khiển tại một cấp độchi tiết sử dụng theo một số các quy tắc mềm dẻo security rules language Tất cảcác logic bảo mật dữ liệu của bạn được tập trung ở một chỗ để dễ dàng cho việc cậpnhật và kiểm thử
- Làm việc offline
Ứng dụng Firebase sẽ duy trì tương tác bất chấp một số các vấn đề về internetxảy ra Trước khi bất kỳ dữ liệu được ghi đến server thì tất cả dữ liệu lập tức sẽđược viết vào một cơ sử dữ liệu Firebase ở local Ngay khi có thể kết nối lại, client
đó sẽ nhận bất kỳ thay đổi mà nó thiếu và đồng bộ hoá nó với trạng thái hiện tạiserver
Xác thực người dùng
Với Firebase, có thể dễ dàng xác thực người dùng từ ứng dụng trên Android,iOS và JavaScript SDKs chỉ với một vài đoạn mã Firebase đã xây dựng chức năngcho việc xác thực người dùng với Email, Facebook, Twitter, GitHub, Google, vàxác thực nạc danh Các ứng dụng sử dụng chức năng xác thực của FireBase có thểgiải quyết được vấn đề khi người dùng đăng nhập, nó sẽ tiết kiện thời gian và rấtnhiều các vấn đề phức tạp về phần backend Hơn nữa bạn có thể tích hợp xác thựcngười dùng với các chức năng backend đã có sẵn sử dụng custom auth tokens
Firebase Hosting
Phát triển ứng dụng web trong thời gian ngắn với các hosting tĩnh đã đượccung cấp sẵn Tất cả các kết nối được phân phối qua SSL(là viết tắt của từ SecureSockets Layer, là tiêu chuẩn của công nghệ bảo mật, truyền thông mã hoá giữa máychủ Web server và trình duyệt (browser)) từ CDN(Dịch vụ CDN là mạng lưới gồm
Trang 15nhiều máy chủ lưu trữ đặt tại nhiều vị trí địa lý khác nhau, cùng làm việc chung đểphân phối nội dung, truyền tải hình ảnh, CSS, Javascript, Video clip, Real-timemedia streaming, File download đến người dùng cuối) trên toàn thể giới củaFirebase
-Triểu khai siêu tốc:Việc triển khai sử dụng các công cụ dòng lệnh Firebase
và có thể quay trở lại với phiên bản trước chỉ với một cú click chuột
Cloud Messaging là một giải pháp tin nhắn đa nền tảng đáng tin cậy miễnphí.Mỗi tin nhắn dung lượng đến 4KB trong ứng dụng client
Firebase Test Lab cung cấp các thiết bị vật lý và ảo cho phép chạy thửnghiệm mô phỏng môi trường sử dụng thực tế
Firebase Crash Reporting Thông tin toàn diện và hành động để giúp chẩnđoán và sửa chữa các vấn đề trong ứng dụng
Firebase Storage được xây dựng cho các nhà phát triển ứng dụng, để lưu trữ
và phục vụ nội dung do người dùng tạo ra, chẳng hạn như hình ảnh hoặc video
1.3 Kết luận chương
Qua chương 1 ta có thể thấy được quy trình tổng quát của hệ thống gọi xethông qua ứng dụng và hệ thống gọi xe truyền thống Đồng thời cũng thấy đượcnhững lợi thế khi sử dụng ứng dụng gọi xe trên nền tảng android Những khó khăn
và thuận lợi của quá trình phát triển ứng dụng Từ đó phân tích và triển khai thiết kê
hệ thống của ứng dụng ở chương sau
Trang 16CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát và phân tích bài toán
2.1.1 Khảo sát và phân tích hiện trạng
Trong thời đại công nghệ thông tin như hiện nay, việc sử dụng những ứngdụng điện thoại vào hỗ trợ công việc của con người ngày càng phát triển Và quacông nghệ lập trình ứng dụng trên nền tảng android có thể tạo ra ứng dụng kết nốigiữa hành khách và lái xe, giúp cho việc đi lại của mọi người trở lên thuận tiện hơn
Nội dung khảo sát và đánh giá hiện trạng
- Tìm hiểu nhu cầu sử dụng ứng dụng, nghiên cứu những ứng dụng của nhữngcông ty có ứng dụng tương tự như Grab, Uber:
+ Nhu cầu sử dụng ứng dụng để phục vụ cho việc đi lại trên các phương tiệnnhư taxi, xe ôm, xe cá nhân hiện nay đang ngày càng cao Không những trong nước
mà cả thế giới như ứng dụng gọi xe của Uber và Grab đang có hàng triệu ngườidùng
+ Nghiên cứu ứng dụng Grab, Uber: Đây là hai ứng dụng nổi tiếng và đi đầutrong lĩnh vực phục vụ gọi xe tại Việt Nam ứng dụng Grab và Uber đã đáp ứngđược gần hết những nhu cầu của việc gọi xe và đi lại như: Cho phép khách hàng đặt
xe một cách dễ dàng, khi khách hàng gọi xe thì có thể chọn các hạng xe mà ứngdụng cung cấp, đồng thời biết được bảng giá của từng loại xe, hiển thị thông tinđiểm đến, điếm đón của khách hàng, hiển thị vị trí của khách hàng cũng như nhữnglái xe xung quanh vị trí của khách hàng Cung cấp thông tin ước tính phí cho kháchhàng, thanh toán một cách trực quan và nhanh chóng, Nhưng cũng còn nhiều điểmcòn hạn chế như: Chưa cung cấp thông tin lái xe, hành khách, cung cấp thông tinước tính phí thì chỉ hiển thị mỗi giá ước tính mà chưa có thông tin về số km và thờigian di chuyển ứng dụng Uber thì chi cho thanh toán qua thẻ, mà không cho thanhtoán chực tiếp bằng tiền mặt, như vậy sẽ hạn chế số lượng người dùng Khi kháchhàng yêu cầu xe thì ứng dụng sẽ tự động chọn xe gần nhất với vị trí điểm đón củakhách hàng, khư vậy khách hàng sẽ khổng thể chọn những lái xe mà khách hàngmuốn
Trang 17- Nghiên cứu nghiệp vụ, chức năng mà ứng dụng cần cung cấp cho ngườidùng trong quá trình khảo sát người dùng Các chức trách, nhiệm vụ của từng đốitượng tương tác với ứng dụng, và quyền hạn.
+ Những chức năng, nghiệp vụ mà ứng dụng cần cung cấp như:
Cho phép khách hàng đặt xe một cách dễ dàng, khi khách hàng gọi xe thì cóthể chọn các hạng xe mà ứng dụng cung cấp, đồng thời biết được bảng giá của từngloại xe, hiển thị thông tin điểm đến, điếm đón của khách hàng, hiển thị vị trí củakhách hàng cũng như những lái xe xung quanh vị trí của khách hàng Cung cấpthông tin ước tính phí cho khách hàng bao gồm phí ước tính, số km ước tính, thờigian ước tính, thanh toán một cách trực quan và nhanh chóng Hiển thị thông tin lái
xe, khách hàng như: họ và tên, ảnh của lái xe và khách hàng, thông tin về xe của lái
xe, đánh giá lái xe của những khách hàng khác Cho phép khách hàng chọn xe đượchiển thị xung quanh vị trí của khách hàng, đồng thời cũng cho phép tự động gọi xegần với vị trí của khách hàng nhất Chức năng xem thông tin những chuyến đi.Chức năng về những chuyến đi rẻ mà lái xe có thể tạo ra
+ Các chức trách, nhiệm vụ của từng đối tượng tương tác Trong hệ thống baogồm những đối tượng tương tác như là khách hàng, lái xe, quản trị
Quản trị viên: Sẽ có chức năng quản lý hồ sơ, thống kê, quản lý lái xe, hànhkhách, quản lý chương trình khuyến mại, quản lý chuyến đi, quản lý chương trìnhkhuyến mại
Lái xe: Nhiệm vụ của lái xe là cung cấp những thông tin cá nhân, thông tin
về phương tiện cho hệ thống Lái xe có nhiệm vụ chấp nhận chuyến khi có yêu cầu,thanh toán khi hoàn tất chuyến đi, đăng ký, xem thông tin chuyến đi, đưa hànhkhách vào hành khách yêu thích, phản hồi…
Hành khách: Có chức năng gọi xe, quản lý thông tin hồ sơ, quản lý thông tinchuyến đi, xem bảng cước cũng như xem thông tin hồ sơ lái xe, các hạng xe, thôngtin về chuyến xe rẻ của lái xe, đánh giá lái xe, phản hồi, trợ giúp
- Thu thập và nghiên cứu phương thức xử lý các thông tin hồ sơ của ngườidùng
Trang 18Thông tin của người dùng sẽ do người dùng cung cấp cho hệ thống khi ngườidùng đăng ký Những thông tin này sẽ được lưu trữ trong cơ sở dữ liệu để có thểcung cấp thông tin cho chính người dùng ứng dụng với nhau và với quản trị viên
- Thu thập các đòi hỏi về thông tin, các ý kiến phản hồi về hiện trạng, các dựđoán, nguyện vọng và kế hoạch tương lai của ứng dụng Các thông tin đòi hỏi cầnphải có là những thông tin về khách hàng, về lái xe, nhưng thông tin về chuyến đi.Các ý kiến phản hồi từ về giá cước hay dịch vụ từ khách hàng và lái xe
- Đánh giá phân tích hiện trạng và đề xuất hướng giải quyết
+ Hiện trạng sử dụng ứng dụng gọi xe hiện nay ngày càng phát triển, đi theo
đó là nhu cầu sử dụng ứng dụng ngày càng cao Ứng dụng đòi hỏi phải đáp ứngđược nhu cầu thuận tiện và dễ sử dụng cho người dùng Đồng thời hệ thống cũngphục vụ được những nhu cầu cần thiết của người dùng, và với nhiều chức năng vàkhuyến mãi hấp dẫn để thu hút người dùng
+ Tiếp tục phát triển ứng dụng ngày một hoàn thiện và cải tiến hơn
2.1.2 Phân tích bài toán
- Người lái xe: Là người có phương tiện đi lại là ô tô hoặc xe máy có nhu cầu
phục vụ và trở khách Lái xe sẽ cung cấp thông tin cá nhân cho hệ thống, đồng thời
là người nhận những yêu cầu xe từ khách hàng, chấp nhận chuyến đi và đón kháchtại vị trí của hiện tại của khách Thực hiện chuyến đi và kết thúc chuyến, thanh toánvới khách hàng
+ Lái xe có thể đăng ký những chuyến đi rẻ Nhận chuyến và từ chối chuyến
đi từ khách hàng…
- Khách hàng:
+ Khách hàng chọn xe, yêu cầu xe, xem thông tin giá cước, xem vị trí của lái
xe, xem thông tin chuyến đi, xem khuyến mại được hưởng, hủy chuyến…
+ Tìm chuyến đi miễn phí, đăng ký chuyến đi, hủy chuyến đi miễn phí Kháchhàng thanh toán trực tiếp bằng tiền mặt
Trang 19- Quản trị: Quản lý, xem xét những lái xe và hành khách Quản lý nhữngchuyến đi, quản lý thông tin về khuyến mãi, thông tin về giá cước, quản lý việc hỗtrợ, phản hồi đối với hành khách, và lái xe.
Đăng nhập, Đăng xuất: Người dùng cũng như lái xe có thể đăng nhập bằng
tài khoản đã đăng ký Cũng như thoát ra khỏi ứng dụng
Các chức năng về quản lý thông tin như: Thông tin về chuyến đi, thông tin
chuyến xe rẻ, thông tin khuyến mãi, phản hồi, trợ giúp, khiếu lại
Các chức năng gọi xe, nhận chuyến: Hệ thống cần đảm bảo các chức năng
yêu cầu chuyến của hành khách và việc nhận chuyến của lái xe với những yêu cầunhận được
Hủy chuyến: Lái xe và hành khách đều có thể hủy chuyến hoặc không nhận
chuyến, nhưng với mỗi lần hủy chuyến thì lái xe hoặc khách hàng xẽ bị phạt hoặcmất khuyến mãi
Tính quãng đường và thanh toán, hoàn tất chuyến đi: Khi kết thúc
chuyến đi thì lái xe sẽ phải hoàn tất chuyến đi để thanh toán với khách hàng, khihoàn tất chuyến thì hệ tống sẽ tính tiền theo số km đi được và với bảng giá của từnghạng xe
Chức năng quản lý hồ sơ: Quản lí nhưng thông tin về hồ sơ của hành khách
và lái xe
Trang 20Chức năng quản lý thông tin chuyến đi: Quản lý những chuyến đi của
hành khách và lái xe, những chuyến đi rẻ
Chức năng quản lý các chức năng về khuyến mại, hỗ trợ, phản hồi, đánh giá: quản lý về các thông tin khuyến mại như tạo khuyến mại Quản lý thông tin về
hỗ trợ như những kho khăn trong việc cài đặt, đăng nhập, đăng ký Quản lý thôngtin về phản hồi như những phản hồi từ người dùng và trả lời các phản hồi, ý kiếnngười dùng
Lưu trữ: Hệ thống cần đảm bảo lưu trữ về:
+Thông tin cá nhân: Hệ thống cần đảm bảo lưu trữ các thông tin về lái xe và
hành khách như thông tin cá nhân như: Thông tin về tài khoản đăng nhập, thông tin
về họ tên người dùng, số điện thoại, địa chỉ, ngôn ngữ, thành phố
+ Thông tin chuyến đi: Đảm bảo lưu trữ những thông tin về chuyến đi cũng
như những thông tin về chuyến đi rẻ như: Thông tin về điểm đón điểm đến, thôngtin về lái xe và hành khách trên chuyến đi đó, số km đi được, thời gian đi, tổng tiềnphải trả, cùng các phí khác… Thông tin về chuyến đi chuyến đi rẻ như: Số ghế đăng
ký, số nghế trống, những hành khách nào đã đăng ký, trạng thái của chuyến đi, là đãbắt đầu hay kết thúc…
+Thông tin khuyến mãi, thông tin phản hồi hay khiếu lại: Hệ thống cần
lưu trữ nhữ thông tin về khuyên mãi mà lái xe hay hành khách nhận được, đồng thời
là lưu trữu nhữn phản hồi hay khiếu lại từ lái xe và hành khách trên chuyến đi, vềchất lượng phục vụ, về phần mềm, về giá cước,…
Cập nhật thông tin: Thêm, sửa, xóa thông tin Thêm những chuyến đi mới,
những hành khách, những lái xe mới… sửa những thông tin sai sót như: thông tinhành khách, lái xe, thông tin về việc tính giá, tính quãng đường… Xóa những thôngtin sai
Tìm kiếm: tìm kiếm những chuyến đi rẻ, tìm địa chỉ.
Yêu cầu phi chức năng
Bên cạnh những yêu cầu chức năng ở trên, hệ thống còn phải bảo đảm nhữngyêu cầu phi chức năng sau:
Trang 21Thống kê chuyếnđi theo ngày
Quản lý chuyến đi
Quản lý lái xe, hành
Tìm kiếm
Thống kê chuyến đi theo tuần
- Hệ thống phải đảm bảo xử lý nhanh chóng, hoạt động ổn định, và đảm bảotruy cập nhiều người cùng lúc
- Bảo mật thông tin cá nhân của người dùng
- Tính thẩm mĩ cao, nhất quán trong giao diện
Sơ đồ phân cấp chức năng của hệ thống
Hình 2.1: Sơ đồ tổng quát hệ thống ứng dụng
2.3 Phân tích hệ thống
Trang 222.3.1 Sơ đồ use case tổng quát
Hình 2.2: Sơ đồ use case tổng quát Bảng 2.1: Danh sách các Actor
1 Lái xe Lái xe, những người có nhu cầu trở khách hàng
bằng xe của mình như taxi
2 Hành khách Hành khách, những người có nhu cầu đi lại mà
không cần sử dụng phương tiện cá nhân
3 Quản trị Quản trị là những người quả lý việc hoạt động
của hệ thống
Trang 23Bảng 2.2: Danh sách các Use case:
ST
T
1 Quản lý chuyến đi Quản lý tình trạng chuyến đi, thông tin của chuyến
đi, sửa hoặc xóa chuyến đi
2 Quảng lý thông tin
5 Quản lý hồ sơ Quản lý thông tin hồ sơ cá nhân của người dùng
6 Thống kê Thống kê chuyến đi theo ngày và theo tuần
7 Đăng nhập Đăng nhập: lái xe và hành khách đăng nhập vào hệ
thống bằng tài khoản và mật khẩu của mình
8 Đăng phản hồi,
khiếu nại
Phản hồi: lái xe, hành khách có thể phả hồi về chất lượng về dịch vụ, cũng như những vấn đề khác liên quan Hay khiếu nại về cước phí
9 Tạo chuyến đi Hành khách có thể chọn xe, yêu cầu xe, xem thông
tin giá cước của xe, xem những xe nào đang ở gần mình nhất Lái xe thì có thể nhận chuyến từ những yêu cầu của hành khách, đồng thời, đón khách, bắt đầu và kết thúc chuyến đi, cũng như thanh toán
10 Đăng ký chuyến đi
rẻ
Đăng ký chuyến đi rẻ: lái xe đăng ký những chuyến
đi rẻ với những cung đường định trước để những hành khách nào có cùng cung đường mòn đi có thể tìm thấy và đăng ký
2.3.2 Sơ đồ use case phân rã
Sơ đồ use case phân rã chức năng đăng nhập
Trang 24Hình 2.3: Sơ đồ use case phân rã chức năng đang nhập
Bảng 2.3: Mô tả các use case con
1 Lấy lại mật khẩu Thiết lập lại mật khẩu khi không nhớ
2 Đăng ký Đăng ký tài khoản khi chưa có
3 Đăng ký qua Facebook Đăng ký bằng tài khoản Facebook
Sơ đồ use case phân rã chức năng quản lý hồ sơ
Hình 2.4: Sơ đồ use case phân rã quản lý hồ sơ
Bảng 2.4: Mô tả các use case con
1 Xem thông tin công ty Xem thông tin công ty mà lái xe đăng ký
Trang 252 Thay đổi mật khẩu Sửa mật khẩu
3 Sửa địa chỉ nhà Thay đổi địa chỉ nhà, những địa điểm thường tới
Sơ đồ use case phân rã chức năng quản lý chuyến đi
Hình 2.5: Sơ đồ use casephân rã chức năng quản lý chuyến đi
Bảng 2.5: Mô tả các use case con
1 Xem chuyến đi Xem thông tin về các chuyến đi
2 Thay đổi chuyến đi Thay đổi trạng thái, hay sửa những thông tin
không chính xác của chuyến đi
3 Xóa chuyến đi Xóa chuyến đi khỏi danh sách
Trang 26 Sơ đồ use case phân rã chức năng đăng ký chuyến đi rẻ
Hình 2.6: Sơ đồ use case phân rã đăng ký chuyến đi rẻ
Bảng 2.6: Mô tả các use case con
1 Đăng ký chuyến đi Khi lái xe có nhu cầu đăng ký chuyến xe mà
cho phép nhiều người có thể đi
2 Xem thông tin chuyến đi Xem thông tin đăng ký của lái xe
3 Sửa thông tin chuyến đi Sửa đổi những thông ti đã đăng ký
Trang 27 Sơ đồ use case phân rã chức năng tạo chuyến đi
Hình 2.7: Sơ đồ use case phân rã chức năng tạo chuyến đi
Bảng 2.7: Mô tả các use case con
1 Yêu cầu xe Lái xe yêu cầu lái xe
2 Ước tính phí Ước tính số tiền, thời gian , quãng đường trước khi đi
3 Nhận chuyến đi Chấp nhận chuyến đi khi có yêu cầu
4 Hủy chuyến Không thực hiện được chuyến đi
5 Đánh giá Đánh giá lái xe, thêm lái xe vào hành khách yêu thích
6 Tính quãng đường Tính quãng đường đi được
7 Thanh toán Thanh toán khi đã hoàn thành chuyến đi
Trang 28 Sơ đồ use case phân rã chức năng quản lý thông tin khuyến mại
Hình 2.8: Sơ đồ use case phân rã chức năng quản lý thông tin khuyến mại
Bảng 2.8: Mô tả các use case con
STT
1 Tạo chương trình khuyến mại Tạo chương trình khuyến mại mới
2 Sửa chương trình khuyến mại Thay đổi các nội trong chương trình
Sơ đồ user case phân rã chức năng phản hồi, khiếu nại
Hình 2.9: Sơ đồ use case phân rã chức năng phản hồi, khiếu nại
Trang 29Bảng 2.9: Mô tả các use case con
ST
T
1 Đăng phản hồi, khiếu lại Gửi thông tin những vấn đề xẩy ra trong quá
trình sửa dụng, hoặc khiếu nại về cước
2 Nhận thông tin Sau khi đăng thông tin phản hồi thì nhận lại
phản hồi từ quản trị viên
Sơ đồ use case phân rã chức năng quản lý thông tin hồ trợ, phản hồi
Hình 2.10: Sơ đồ use case phân rã chức năng quản lý thông tin hỗ trợ, phản hồi
Bảng 2.10: Mô tả các use case con
1 Xem thông tin Xem những phản hồi của người dùng
2 Trả lời thông tin Trả lòi những phản hồi của người dùng
Trang 30 Sơ đồ use case phân rã chức năng quản lý lái xe, hành khách
Hình 2.11: Sơ đồ use case phân rã chức năng quản lý lái xe, hành khách
Bảng 2.11: Mô tả các use case con
ST
T
1 Thêm tài khoản Thêm tài khoản người dùng
2 Sửa tài khoản Sửa thông tin liên quan đền tài khoản người dùng
3 Xóa tài khoản Xóa những tài khoản không còn hoạt động
4 Phân quyền Quản trị viên xẽ phân quyền sử dụng cho người dùng
Sơ đồ use case phân rã chức năng thống kê
Hình 2.12: Sơ đồ use case phân rã chức năng thống kê
Bảng 2.12: Mô tả các use case con
ST
T
1 Thông kê theo ngày Thống kê chuyến đi theo ngày của lái xe
2 Thống kê theo tuần Thống kê chuyến đi theo tuần của lái xe
Trang 312.3.3 Biểu đồ tuần tự
biểu đồ tuần tự chức năng đăng ký
Hình 2.13: Biểu đồ tuần tự chức năng đăng ký
Biểu đồ tuần tự chức năng đăng ký chuyến xe rẻ
Trang 32Hình 2.14: Biểu đồ tuần tự chức năng đăng ký chuyến xe rẻ
Biểu đồ tuần tự chức năng đăng nhập
Hình 2.15: Biểu đồ tuần tự chức năng đăng nhập
Biểu đồ tuần tự chức năng lấy lại mật khẩu
Trang 33Hình 2.16: Biểu đồ tuần tự chức năng lấy lại mật khẩu
Biểu đồ tuần tự chức năng quản lý hồ sơ
Trang 34Hình 2.17: Biểu đồ tuần tự chức năng quản lý hồ sơ
Biểu đồ tuần tự chức năng sửa thông tin tài khoản
Hình 2.18: Biểu đồ tuần tự chức năng sửa thông tin tài khoản
Biểu đồ tuần tự chức năng tạo thay đổi mật khẩu
Trang 35Hình 2.19: Biểu đồ tuần tự chức năng tạo thay đổi mật khẩu
Biểu đồ tuần tự chức năng thêm tài khoản người dùng
Hình 2.20: Biểu đồ tuần tự chức năng thêm tài khoản người dùng
Trang 36 Biểu đồ tuần tự chức năng thống kê theo ngày
Hình 2.21: Biểu đồ tuần tự chức năng thống kê theo ngày
Biểu đồ tuần tự chức năng thống kê theo tuần
Hình 2.22: Biểu đồ tuần tự chức năng thống kê theo tuần
Biểu đồ tuần tự chức năng tạo chuyến đi
Hình 2.23: Biểu đồ tuần tự chức năng tạo chuyến đi
Trang 372.3.4 Biểu đồ hoạt động
Biểu đồ hoạt động chức năng đăng nhập
Hình 2.24: Biểu đồ hoạt động chức năng đăng nhập
Biểu đồ hoạt động chức năng lấy lại mật khẩu
Hình 2.25: Biểu đồ hoạt động chức năng lấy lại mật khẩu
Trang 38 Biểu đồ hoạt động chức năng sửa thông tin tài khoản
Hình 2.26: Biểu đồ hoạt động chức năng sửa thông tin tài khoản
Biểu đồ hoạt động chức năng sửa thông tin chuyến đi rẻ
Hình 2.27: Biểu đồ hoạt động chức năng sửa thông tin chuyến đi rẻ