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

Ứng dụng đặt xe cho sinh viên đhqghcm

113 5 0

Đ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

Định dạng
Số trang 113
Dung lượng 7,15 MB

Cấu trúc

  • 1.1. Lý do chọn đề tài (14)
  • 1.2. Kế hoạch thực hiện (15)
    • 1.2.1. Quy trình thực hiện (15)
    • 1.2.2. Kế hoạch chi tiết - áp dụng quy trình phát triển phần mềm (15)
  • 1.3. Mục đích (19)
  • 1.4. Đối tượng (19)
  • 1.5. Phạm vi nghiên cứu (20)
  • Chương 2. TỔNG QUAN CÔNG NGHỆ 9 2.1. Công nghệ sử dụng (20)
    • 2.1.1. Ngôn ngữ lập trình (20)
    • 2.1.2. Thư viện (23)
    • 2.1.3. Cơ sở dữ liệu (25)
  • Chương 3. KHẢO SÁT HIỆN TRẠNG 15 3.1. Hiện trạng tổ chức (27)
    • 3.2. Hiện trạng tin học (27)
    • 3.3. Hiện trạng nghiệp vụ (27)
  • Chương 4. THIẾT KẾ HỆ THỐNG 18 4.1. Use-case Diagram (30)
    • 4.1.1. Sơ đồ Use-case (30)
    • 4.1.2. Danh sách các tác nhân (30)
    • 4.1.3. Danh sách Use-case (30)
    • 4.1.4. Đặc tả Use-case (31)
    • 4.2. Sequence Diagram (43)
      • 4.2.1. Sơ đồ tuần tự đăng nhập (43)
      • 4.2.2. Sơ đồ tuần tự đăng kí (44)
      • 4.2.3. Sơ đồ tuần tự lưu địa điểm (44)
      • 4.2.4. Sơ đồ tuần tự chọn dịch vụ (45)
      • 4.2.5. Sơ đồ tuần tự đặt chuyến xe (45)
      • 4.2.6. Sơ đồ tuần tự xác minh thông tin (46)
      • 4.2.7. Sơ đồ tuần tự khoá tài khoản (46)
    • 4.3. Class Diagram (47)
      • 4.3.1. Sơ đồ lớp (47)
      • 4.3.2. Danh sách các lớp đối tượng và quan hệ (48)
      • 4.3.3. Mô tả chi tiết từng lớp đối tượng (49)
    • 4.4. Thiết kế cơ sở dữ liệu (55)
      • 4.4.1. Entity Diagram (55)
      • 4.4.2. Mô tả chi tiết (56)
  • Chương 5. THIẾT KẾ GIAO DIỆN 56 5.1. Danh sách các màn hình (64)
    • 5.2. Sơ đồ liên kết các màn hình (65)
    • 5.3. Mô tả chi tiết các màn hình (66)
      • 5.3.1. Màn hình OnBoarding (66)
      • 5.3.2. Màn hình Login (68)
      • 5.3.3. Màn hình Sign Up (70)
      • 5.3.4. Màn hình Pending (72)
      • 5.3.5. Màn hình Verify (74)
      • 5.3.6. Màn hình Passenger (75)
      • 5.3.7. Màn hình Rider (76)
      • 5.3.8. Màn hình StudentOffice (78)
      • 5.3.9. Màn hình Profile (80)
      • 5.3.10. Màn hình Promotion (81)
      • 5.3.11. Màn hình PromotionDetail (82)
      • 5.3.12. Màn hình Activity (85)
      • 5.3.13. Màn hình ActivityDetail (86)
      • 5.3.14. Màn hình Booking (87)
      • 5.3.15. Màn hình Address (94)
      • 5.3.16. Màn hình AddLocation (96)
      • 5.3.17. Màn hình ConfirmLocation (97)
      • 5.3.18. Màn hình Scheduled (99)
      • 5.3.19. Màn hình Income (100)
      • 5.3.20. Màn hình TripDetail (102)
      • 5.3.21. Màn hình Restriction (103)
      • 5.3.22. Màn hình Students (105)
      • 5.3.23. Màn hình StudentDetail (106)
  • Chương 6. KẾT LUẬN 102 6.1. Kết quả đạt được (110)
    • 6.2. Hạn chế (110)
      • 6.2.1. Về việc tổ chức quản lí nhóm (110)
      • 6.2.2. Về sản phẩm phần mềm (111)
    • 6.3. Hướng phát triển (111)

Nội dung

Kế hoạch thực hiện

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ả yêu cầu.

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

● 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.

● 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

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

● Phân tích đặc tả yê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.

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

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

- Xác định kiến trúc hệ thống.

- 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.

- 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.

- 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:

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.

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

- 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.

- Github kết hợp Visual Studio Code

Bảng kế hoạch dự kiến:

Cột mốc Công việc Hoàn thành Sản phẩm

Họp bàn đề Thống nhất đề tài đồ án X Đề tài: Ứng dụng đặt xe tài

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 X Đặc tả yêu cầu Thông tin chức năng Biểu mẫu và quy định

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

Mô tả dòng sự kiện

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 Bảng danh sách các màn hình

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

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

Bản vẽ giao diện các màn hình

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

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

X Các chức năng được đưa ra

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

Tạo ra các test case để kiểm thử tính tối ưu của phần mềm.

Hoàn thành báo cáo cuối kỳ

Slide powerpoint File báo cáo word

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

● 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

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 toàn cho những chuyến đi.

● Xây dựng ứng dụng đa nền tảng.

Đối tượng

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

TỔNG QUAN CÔNG NGHỆ 9 2.1 Công nghệ sử dụng

Ngôn ngữ lập trình

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 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ànhJavaScript.

● 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.

● Đâ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 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.

- 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 toà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.

Thư viện

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:

● 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ờ

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 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à chuyên 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.

Cơ sở dữ liệu

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.

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 tuân 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.

KHẢO SÁT HIỆN TRẠNG 15 3.1 Hiện trạng tổ chức

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ự.

Hiện trạng nghiệp vụ

Là sinh viên có phương tiện cá nhân, muốn chia sẽ phương tiện di chuyển nhằm kiếm thêm thu nhập Mỗi ngày, khi sinh viên muốn chia sẽ phương tiện, sinh viên có thể tạo trước chuyến đi của mình trên ứng dụng Sinh viên lựa chọn điểm đến và điểm đi, có thể hẹn trước giờ xuất phát, hệ thống sẽ tự ghép cặp với sinh viên có nhu cầu di chuyển đến cùng một địa điểm trước thời gian xuất phát Nếu không tìm thấy, hệ thống thông báo ghép xe không thành công.

Là sinh viên các trường đại học trong khối Đại học Quốc gia, có nhu cầu đi lại trong khu vực khu đô thị Đại học Quốc gia Mỗi ngày, nếu sinh viên có nhu cầu di chuyển, sinh viên chọn điểm đón và điểm đến trong ứng dụng, có thể hẹn trước giờ đón Hệ thống sẽ tự động tìm kiếm và ghép cặp với tài xế có cùng điểm đến và gần với điểm đón nhất Nếu không tìm thấy tài xế, hệ thống thông báo ghép xe không thành công.

Hình 3.2: Quy trình nghiệp vụ

3.3.2.1 Quy trình đăng kí tài khoản:

Mô tả nghiệp vụ: Đăng kí tài khoản là bước đầu tiên phải thực hiện khi bắt đầu sử dụng ứng dụng. Quy trình đăng kí tài khoản yêu cầu sinh viên phải cung cấp đầy đủ thông tin các giấy tờ cần thiết để tiến hành xác minh và tạo tài khoản nhằm đảm bảo sự an toàn và tin cậy của ứng dụng cho người dùng khác

THIẾT KẾ HỆ THỐNG 18 4.1 Use-case Diagram

Sơ đồ Use-case

Hình 4.1: Sơ đồ Use-case

Danh sách các tác nhân

Tác nhân Mô tả tác nhân Ghi chú

Student Người có nhu cầu đặt xe

Admin Cán bộ phòng CTSV, quản lý thông tin sinh viên và xác thực tài khoản.

Danh sách Use-case

ID Tên Use case Mô tả Chức năng

UC001 Authentication Xác thực tài khoản Xác thực tài khoản

UC002 Log in Đăng nhập vào tài khoản theo từng role Đăng nhập

UC003 Sign up Đăng ký Đăng ký

UC004 Save location Lưu vị trí để dễ dàng chọn vị trí đặt xe Lưu vị trí

UC005 Coupon Chọn các coupon có sẵn để nhận ưu đã cho chuyếm đi Chọn coupon

UC006 User information Xem thông tin tài khoản Xem thông tin tài khoản UC007 User history Xem lịch sử đặt xe Lịch sử đặt xe

UC008 Review Đánh giá cho chuyến đi Đánh giá

UC010 Make reservation Đặt xe trực tiếp hoặc đặt trước Đặt xe

UC011 View user list Xem danh sách người dùng Xem danh sách người dùng

UC012 Suspend account Quản lý tài khoản Quản lý tài khoản

Bảng 4.2: Danh sách Use-case

Đặc tả Use-case

Use Case Name Log in

Description Use Case cho phép người dùng đăng nhập vào hệ thống

Trigger Khi người dùng lần đầu đăng nhập vào hệ thống

Khi người dùng đăng nhập vào hệ thống sau một thời gian không sử dụng Pre-conditions Người dùng phải có tài khoản đăng nhập

Người dùng phải có kết nối internet Post-conditions Người dùng đăng nhập ứng dụng thành công

Basic flow 1 Người dùng chọn vào button “Đăng nhập”.

2 Người dùng nhập tên đăng nhập và mật khẩu

3 Hệ thống xác thực thành công và quay trở lại trang chủ

Alternative flow 1a Người dùng chọn đăng nhập với Google.

1a1 Hệ thống chuyển hướng đến trang đăng nhập của Google. 1a2 Hệ thống xác thực thành công và quay trở lại trang chủ

Exception flow 3a Hệ thống xác thực không thành công và hiển thị thông báo

3a1 Người dùng chọn button “Xác nhận”

Use Case dừng lại 3a2 Người dùng chọn “Quên mật khẩu”

Use Case tiếp tục Use Case UC-1.1 Non-Functional

Bảng 4.3: Đặc tả Use-case đăng nhập

Use Case Name Sign up

Description Use Case cho phép người dùng đăng kí tài khoản với hệ thống

Trigger Khi người dùng lần đầu sử dụng hệ thống mà chưa có tài khoản Pre-conditions Người dùng phải có kết nối internet

Người dùng chưa đăng kí tài khoản với hệ thống Post-conditions Người dùng đăng kí tài khoản thành công

Basic flow 1 Người dùng chọn vào button “Đăng kí”.

2 Người dùng nhập thông tin theo yêu cầu

3 Hệ thống tiến hành xác minh thông tin người dùng.

4 Hệ thống xác thực thành công và quay trở lại trang chủ

Exception flow 4a Hệ thống xác thực không thành công, gửi thông báo đến người dùngUse Case dừng lạiNon-Functional

Bảng 4.4: Đặc tả Use-case đăng kí

Use Case Name Verify information

Description Use Case cho phép người dùng quản trị xác minh thông tin đăng kí của người dùng

Trigger Khi có người dùng đăng kí tài khoản với hệ thống

Pre-conditions Người dùng phải có kết nối internet

Người phải đăn nhập vào hệ thống bằng tài khoản quản trị Post-conditions Xác minh và đăng kí tài khoản mới cho người dùng

Basic flow 1 Người dùng quản trị kiểm tra đối chiếu thông tin đăng kí của người dùng

2 Người dùng quản trị nhấn nút “Xác nhận”.

3 Hệ thống đăng kí tài khoản người dùng, lưu thông tin vào cơ sở dữ liệu và gửi thông báo đến người dùng. Alternative flow Không có

Exception flow 1a Người dùng quản trị phát hiện thông tin sai lệch.

1a1 Người dùng quản trị nhấn nút “Huỷ đơn đăng kí”.

1a2 Hệ thống xoá thông tin đăng kí của người dùng

Use Case dừng lại Non-Functional

Bảng 4.5: Đặc tả Use-case xác mình người dùng

Use Case Name Save location

Description Use Case cho phép người dùng tạo điểm đến trên bản đồ và trong dữ liệu của hệ thống

Trigger Khi người dùng ấn “Tạo điểm đến mới”

Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống Post-conditions Người dùng lưu địa điểm thành công

Basic flow 1 Người dùng chọn vào button “Tạo điểm đến mới”.

2 Người dùng nhập tên địa điểm theo yêu cầu

3 Hệ thống lưu thông tin vào cơ sở dữ liệu.

Bảng 4.6: Đặc tả Use-case lưu địa điểm

Description Use Case cho phép người dùng xem và sử dụng khuyến mãi có sẵn của hệ thống

Trigger Khi người dùng chuyển đến tab “Coupon”

Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống Post-conditions Người dùng xem và sử dụng khuyến mãi thành công

Basic flow 1 Người dùng chọn vào tab “Khuyến mãi”.

2 Người dùng lựa chọn khuyến mãi phù hợp và ấn button “Sử dụng”.

3 Hệ thống tiến hành áp dụng khuyến mãi và tính toán lại hoá đơn cho người dùng.

Exception flow 3a Hệ thống áp dụng không thành công, gửi thông báo đến người dùngUse Case dừng lạiNon-Functional

Bảng 4.7: Đặc tả Use-case khuyến mãi

Use Case Name User information

Description Use Case cho phép người dùng xem và chỉnh sửa thông tin cá nhân đăng kí với hệ thống

Trigger Khi người dùng chuyển đến tab tài khoản

Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống Post-conditions Người dùng xem và thay đổi thông tin tài khoản thành công

Basic flow 1 Người dùng chọn vào tab “Tài khoản”.

2 Người dùng thay đổi các thông tin theo nhu cầu

3 Người dùng chọn button “Xác nhận”

4 Hệ thống thực thi thành công, lưu thay đổi vào cơ sở dữ liệu Alternative flow Không có

Exception flow 4a Hệ thống thực thi không thành công, gửi thông báo đến người dùngUse Case dừng lại

Bảng 4.8: Đặc tả Use-case thông tin người dùng

Use Case Name User history

Description Use Case cho phép người dùng xem lại lịch sử chuyến đi Priority Must have

Trigger Khi người dùng chuyển đến tab lịch sử

Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống Post-conditions Người dùng xem lịch sử chuyến đi

Basic flow 1 Người dùng chọn vào tab “Lịch sử”.

2 Hệ thống hiển thị lịch sử chuyến đi của người dùng

Alternative flow 2a Người dùng đánh giá chuyến đi:

2a1 Người dùng bấm vào button “Đánh giá”

Use-case chuyển đến Use-case UC009

Bảng 4.9: Đặc tả Use-case lịch sử chuyến đi

Description Use Case cho phép người dùng đánh giá trải nghiệm chuyến đi

Trigger Khi người dùng ấn button “Đánh giá” ở tab “Lịch sử”

Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống Chuyến đi đã hoàn thành

Post-conditions Người dùng để lại đánh giá trải nghiệm thành công

Basic flow 1 Người dùng nhập thông tin đánh giá trải nghiệm của bản thân

2 Người dùng bấm vào button “Xác nhận”.

3 Hệ thống lưu trữ thông tin vào cơ sở dữ liệu.

Bảng 4.10: Đặc tả Use-case đánh giá

Use Case Name Select service

Description Use Case cho phép người dùng lựa chọn dịch vụ của hệ thống để sử dụng

Trigger Khi người dùng có nhu cầu sử dụng dịch vụ của hệ thống

Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống Post-conditions Người dùng lựa chọn dịch vụ thành công

Basic flow 1 Người dùng chọn vào tab “Dịch vụ”.

2 Người dùng lựa chọn dịch vụ theo nhu cầu.

3 Hệ thống chuyển người dùng đến Use-case UC011.

Bảng 4.11: Đặc tả Use-case chọn dịch vụ

Use Case Name Make reservation

Description Use Case cho phép người dùng đặt trước chuyến xe

Trigger Khi sinh viên có nhu cầu di chuyển cần đặt trước chuyến xe

Khi tài xế muốn đặt lịch di chuyển trước Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống Post-conditions Người dùng đặt trước chuyến xe thành công

Basic flow 1 Người dùng chọn vào button “Đặt chuyến”.

2 Người dùng nhập thông tin theo yêu cầu

3 Hệ thống tiến hành lưu thông tin chuyến xe vào cơ sở dữ liệu và tiến hành ghép xe cho người dùng.

Exception flow 4a Hệ thống ghép xe không thành công và thông báo đến người dùng.

Use Case dừng lại Non-Functional

Bảng 4.12: Đặc tả Use-case đặt xe

4.1.4.11 Xem danh sách người dùng:

Use Case Name View user list

Description Use Case cho phép người dùng quản trị xem và quản lí danh sách người dùng của ứng dụng

Trigger Khi người dùng quản trị có nhu cầu xem và quản lí danh sách người dùng của ứng dụng Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống bằng tài khoản quản trị viên

Post-conditions Hệ thống hiển thị danh sách người dùng của ứng dụng

Basic flow 1 Người dùng chọn vào tab “Danh sách sinh viên”.

2 Hệ thống hiển thị danh sách người dùng của ứng dụng.

Bảng 4.13: Đặc tả Use-case xem danh sách người dùng

Use Case Name Suspend account

Description Use Case cho phép người dùng quản trị khoá tài khoản của người dùng có hành vi tiêu cực

Trigger Khi người dùng quản trị phát hiện người dùng có hành vi tiêu cực trong quá trình hoạt động Pre-conditions Người dùng phải có kết nối internet

Người dùng đã đăng nhập vào hệ thống bằng tài khoản quản trị viên

Post-conditions Hệ thống khoá quyền truy cập của tài khoản được chọn

Basic flow 1 Người dùng chọn vào tab “Danh sách sinh viên”.

2 Hệ thống hiển thị danh sách người dùng của ứng dụng.

3 Người dùng chọn người dùng xem xét.

4 Người dùng chọn button “Khoá tài khoản”

5 Hệ thống khoá quyền truy cập của tài khoản vào hệ thống

Sequence Diagram

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

Hình 4.2: Sơ đồ tuần tự đăng nhập 4.2.2 Sơ đồ tuần tự đăng kí:

Hình 4.3: Sơ đồ tuần tự đăng kí4.2.3 Sơ đồ tuần tự lưu địa điểm:

Hình 4.4: Sơ đồ tuần tự lưu địa điểm 4.2.4 Sơ đồ tuần tự chọn dịch vụ:

Hình 4.5: Sơ đồ tuần tự chọn dịch vụ4.2.5 Sơ đồ tuần tự đặt chuyến xe:

Hình 4.6: Sơ đồ tuần tự đặt chuyến xe 4.2.6 Sơ đồ tuần tự xác minh thông tin:

Hình 4.7: Sơ đồ tuần tự xác minh thông tin4.2.7 Sơ đồ tuần tự khoá tài khoản:

Class Diagram

Hình 4.9: Sơ đồ lớp 4.3.2 Danh sách các lớp đối tượng và quan hệ:

STT Tên lớp/quan hệ Loại Ý nghĩa/Ghi chú

1 User Lớp Mô tả thông tin tài khoản người dùng

2 StudentOffice Kế thừa User Mô tả thông tin cán bộ phòng CTSV

3 Rider Kế thừa User Mô tả thông tin lái xe

4 Customer Kế thừa User Mô tả thông tin sinh viên (khách hàng)

5 SavedLocation Lớp Mô tả thông tin địa điểm

6 Trip Lớp Mô tả thông tin chuyến đi

7 Promotion Lớp Mô tả thông tin khuyến mãi

8 Payment Lớp Mô tả thông tin thanh toán

9 Rating Lớp Mô tả thông tin đánh giá

10 RatingOption Lớp Mô tả thông tin loại đánh giá

11 Reject Lớp Mô tả thông tin từ chối đăng kí tài khoản Bảng 4.15: Danh sách các lớp đối tượng và quan hệ 4.3.3 Mô tả chi tiết từng lớp đối tượng:

Loại Ràng buộc Ý nghĩa/ghi chú

1 phoneNumbe r string NOT NULL Số điện thoại

2 name string NOT NULL Họ và tên

3 school string NOT NULL Trường

4 email string NOT NULL Email

5 birthday string NOT NULL Ngày sinh

Bảng 4.16: Mô tả chi tiết lớp User

Loại Ràng buộc Ý nghĩa/ghi chú

1 cardFront string NOT NULL Đường dẫn ảnh mặt trước thẻ sinh viên

2 cardBack string NOT NULL Đường dẫn ảnh mặt sau thẻ sinh viên

3 student_id string NOT NULL Mã số sinh viên

4 bad int NOT NULL Số lần được đánh giá tiêu cực

5 cancel int NOT NULL Số lần huỷ chuyến

6 good int NOT NULL Số lần được đánh giá tích cực

7 normal int NOT NULL Số lần được đánh giá trung bình

8 status string NOT NULL Trạng thái tài khoản

NOT NULL Trạng thái sẵn sàng nhận chuyến

10 licensePlate string NOT NULL Biển số xe

11 portrait string NOT NULL Đường dẫn hình ảnh chân dung người dùng

12 transportType string NOT NULL Loại xe

Bảng 4.17: Mô tả chi tiết lớp Rider

Loại Ràng buộc Ý nghĩa/ghi chú

NOT NULL Đường dẫn ảnh mặt trước thẻ sinh viên

2 cardBack strin NOT NULL Đường dẫn ảnh mặt sau g thẻ sinh viên

NOT NULL Mã số sinh viên

4 bad int NOT NULL Số lần được đánh giá tiêu cực

5 cancel int NOT NULL Số lần huỷ chuyến

6 good int NOT NULL Số lần được đánh giá tích cực

7 normal int NOT NULL Số lần được đánh giá trung bình

NOT NULL Trạng thái tài khoản

NOT NULL Đường dẫn hình ảnh chân dung người dùng Bảng 4.18: Mô tả chi tiết lớp Customer

Loại Ràng buộc Ý nghĩa/ghi chú

NOT NULL Đường dẫn ảnh logo trường

NOT NULL Địa chỉ trường

NOT NULL Tên viết tắt

Bảng 4.19: Mô tả chi tiết lớp StudentOffice

Loại Ràng buộc Ý nghĩa/ghi chú

NOT NULL Mã địa điểm

NOT NULL Tên địa điểm

4 longitude float NOT NULL Kinh độ

5 latitude float NOT NULL Vĩ độ

6 user User NOT NULL Thông tin người tạo địa điểm

Bảng 4.20: Mô tả chi tiết lớp SavedLocation

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 idTrip string NOT NULL Mã chuyến xe

2 rider Rider NOT NULL Thông tin tài xế

3 customer Customer NOT NULL Thông tin khách hàng

4 date date NOT NULL Ngày đặt chuyến xe

5 datePickup date NOT NULL Ngày đón

6 desAddress string NOT NULL Địa chỉ đích đến

7 desLong float NOT NULL Kinh độ điểm đến

8 desLat float NOT NULL Vĩ độ điểm đến

9 distance string NOT NULL Quãng đường di chuyển

10 est float NOT NULL Thời gian di chuyển ước tính

11 time string NOT NULL Thời gian đặt chuyến xe

12 timePickup string NOT NULL Thời gian đón khách

13 riderCancel Rider NOT NULL Thông tin tài xế huỷ chuyến

14 isScheduled boolean NOT NULL Thông tin chuyến xe được đặt trước

15 pickUpAddress string NOT NULL Địa chỉ đón khách

16 pickUpLong string NOT NULL Kinh độ điểm đón khách

17 pickUpLat string NOT NULL Vĩ độ điểm đón khách

18 status string NOT NULL Trạng thái chuyến xe

19 totalPrice long NOT NULL Tổng tiền chuyến xe

NOT NULL Phương thức thanh toán

21 promotion Promotion NOT NULL Thông tin khuyến mãi được áp dụng Bảng 4.21: Mô tả chi tiết lớp Trip

Loại Ràng buộc Ý nghĩa/ghi chú

1 id string NOT NULL Mã khuyến mãi

2 name string NOT NULL Tên khuyến mãi

3 value int NOT NULL Giá trị khuyến mãi

4 expiryDate date NOT NULL Ngày hết hạn

5 description string NOT NULL Mô tả khuyến mãi

Bảng 4.22: Mô tả chi tiết lớp Promotion

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 paymentMetho d string NOT NULL Tên phương thức thanh toán

2 icon string NOT NULL Đường dẫn liên kết hình ảnh icon phương thức Bảng 4.23: Mô tả chi tiết lớp PaymentMethod

Loại Ràng buộc Ý nghĩa/ghi chú

1 id string NOT NULL Mã đánh giá

2 rider Rider NOT NULL Thông tin tài xế được đánh giá

3 ratingOption RatingOption NOT NULL Loại đánh giá

4 comment string NOT NULL Lời đánh giá

Bảng 4.24: Mô tả chi tiết lớp Rating

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 ratingType string NOT NULL Tên loại đánh giá

Bảng 4.25: Mô tả chi tiết lớp RatingOption

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 id string NOT NULL Mã từ chối

2 name boolean NOT NULL Tên địa điểm

3 address boolean NOT NULL Địa chỉ

4 phoneNumber boolean NOT NULL Số điện thoại

5 cardFront boolean NOT NULL Đường dẫn ảnh mặt trước thẻ sinh viên

6 cardBack boolean NOT NULL Đường dẫn ảnh mặt sau thẻ sinh viênBảng 4.26: Mô tả chi tiết lớp Reject

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

Loại Ràng buộc Ý nghĩa/ghi chú

1 phoneNumbe string PRIMARY KEY Số điện thoại r

2 cardFront string NOT NULL Đường dẫn ảnh mặt trước thẻ sinh viên

3 cardBack string NOT NULL Đường dẫn ảnh mặt sau thẻ sinh viên

4 student_id string NOT NULL Mã số sinh viên

NOT NULL Số lần được đánh giá tiêu cực

NOT NULL Số lần huỷ chuyến

NOT NULL Số lần được đánh giá tích cực

NOT NULL Số lần được đánh giá trung bình

9 status string NOT NULL Trạng thái tài khoản

10 open string NOT NULL Trạng thái sẵn sàng nhận chuyến

11 licensePlate string NOT NULL Biển số xe

12 portrait string NOT NULL Đường dẫn hình ảnh chân dung người dùng

13 transportType string NOT NULL Loại xe

14 displayName string NOT NULL Tên hiển thị

Bảng 4.27: Mô tả chi tiết bảng Rider

Loại Ràng buộc Ý nghĩa/ghi chú

1 phoneNumbe r string PRIMARY KEY Số điện thoại

2 cardFront string NOT NULL Đường dẫn ảnh mặt trước thẻ sinh viên

3 cardBack string NOT NULL Đường dẫn ảnh mặt sau thẻ sinh viên

4 student_id string NOT NULL Mã số sinh viên

NOT NULL Số lần được đánh giá tiêu cực

NOT NULL Số lần huỷ chuyến

NOT NULL Số lần được đánh giá tích cực

NOT NULL Số lần được đánh giá trung bình

9 status string NOT NULL Trạng thái tài khoản

10 portrait string NOT NULL Đường dẫn hình ảnh chân dung người dùng

11 displayName string NOT NULL Tên hiển thị

Bảng 4.28: Mô tả chi tiết bảng Customer

STT Tên thuộc Loại Ràng buộc Ý nghĩa/ghi chú tính

1 phoneNumbe r string PRIMARY KEY Số điện thoại

2 acronym string NOT NULL Tên viết tắt

3 address string NOT NULL Địa chỉ

4 logo string NOT NULL Đường dẫn hình ảnh logo trường

Bảng 4.29: Mô tả chi tiết bảng StudentOffice

Loại Ràng buộc Ý nghĩa/ghi chú

1 id string PRIMARY KEY Mã địa điểm

2 name string NOT NULL Tên địa điểm

3 address string NOT NULL Địa chỉ

6 phoneNumbe r string FOREIGN KEY Thông tin người tạo địa điểm Bảng 4.30: Mô tả chi tiết bảng SavedLoction

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 idTrip string PRIMARY KEY Mã chuyến xe

2 idRider string FOREIGN KEY Thông tin tài xế

3 idCustomer string FOREIGN KEY Thông tin khách hàng

4 date string NOT NULL Ngày đặt chuyến xe

5 datePickup string NOT NULL Ngày đón

6 desAddress string NOT NULL Địa chỉ đích đến

7 desLong number NOT NULL Kinh độ điểm đến

8 desLat number NOT NULL Vĩ độ điểm đến

9 distance string NOT NULL Quãng đường di chuyển

10 est number NOT NULL Thời gian di chuyển ước tính

11 time string NOT NULL Thời gian đặt chuyến xe

12 timePickup string NOT NULL Thời gian đón khách

13 idRiderCancel string FOREIGN KEY Thông tin tài xế huỷ chuyến

14 isScheduled string NOT NULL Thông tin chuyến xe được đặt trước

15 pickUpAddress string NOT NULL Địa chỉ đón khách

16 pickUpLong string NOT NULL Kinh độ điểm đón khách

17 pickUpLat string NOT NULL Vĩ độ điểm đón khách

18 status string NOT NULL Trạng thái chuyến xe

19 totalPrice number NOT NULL Tổng tiền chuyến xe

20 discount number NOT NULL Giảm giá

Bảng 4.31: Mô tả chi tiết bảng Trip

Loại Ràng buộc Ý nghĩa/ghi chú

1 id string NOT NULL Mã khuyến mãi

2 name string NOT NULL Tên khuyến mãi

3 value number NOT NULL Giá trị khuyến mãi

4 expiryDate string NOT NULL Ngày hết hạn

5 description string NOT NULL Mô tả khuyến mãi

Bảng 4.32: Mô tả chi tiết bảng Promotion

Loại Ràng buộc Ý nghĩa/ghi chú

1 id string PRIMARY KEY Mã đánh giá

2 idRider string FOREIGN KEY Thông tin tài xế được đánh giá

3 ratingType string NOT NULL Loại đánh giá

4 comment string NOT NULL Lời đánh giá

Bảng 4.33: Mô tả chi tiết bảng RatingList

Loại Ràng buộc Ý nghĩa/ghi chú

1 id string PRIMARY KEY Mã đánh giá

2 phoneNumbe r string NOT NULL Thông tin số điện thoại bị từ chối đăng kí

3 cardFront string NOT NULL Đường dẫn ảnh mặt trước thẻ sinh viên

4 cardBack string NOT NULL Đường dẫn ảnh mặt sau thẻ sinh viên

5 name string NOT NULL Tên đăng kí

6 portrait string NOT NULL Đường dẫn chân dung đăng kí

7 studentID string NOT NULL Mã số sinh viên đăng kí

8 role string NOT NULL Vai trò đăng kí

9 phoneNumbe r string NOT NULL Số điện thoại đăng kí

10 moreInfo string NOT NULL Thông tin thêm

Bảng 4.34: Mô tả chi tiết bảng Reject

THIẾT KẾ GIAO DIỆN 56 5.1 Danh sách các màn hình

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

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

Mô tả chi tiết các màn hình

Hình 5.2: Giao diện màn hình OnBoarding

STT Kiểu Ràng buộc Ý nghĩa

Bảng 5.2: Danh sách các thành phần của giao diện màn hình OnBoarding

STT Biến cố Xử lí

1 Nhấp vào button Register Hiển thị màn hình đăng kí

2 Nhấp vào button Sign in Hiển thị màn hình đăng nhập

Bảng 5.3: Danh sách các biến cố màn hình OnBoarding

Hình 5.3: Giao diện màn hình Login

STT Kiểu Ràng buộc Ý nghĩa

1 Button Nút chọn vai trò khách hàng

2 Button Nút chọn vai trò lái xe

3 Button Nút chọn vai trò phòng Công tác

4 TextInput not null Ô nhập số điện thoại đăng nhập

5 Text Đường dẫn hiển thị màn hình đăng kí

6 Button Nút chọn tiếp tục

Bảng 5.4: Danh sách các thành phần của màn hình Login

STT Biến cố Xử lí

1 Nhấp vào button Passenger Thiết lập trạng thái đăng nhập cho khách hàng

2 Nhấp vào button Rider Thiết lập trạng thái đăng nhập cho tài xế

3 Nhấp vào button Office of

Thiết lập trạng thái đăng nhập cho cán bộ phòng Công tác sinh viên

4 Nhấp vào Register Hiển thị màn hình đăng kí

5 Nhấp vào button Continue Hiển thị màn hình nhập OTP xác nhận

Bảng 5.5: Danh sách các biến cố màn hình Login

Hình 5.4: Giao diện màn hình Sign up 1

Hình 5.5: Giao diện màn hình Sign up 2

STT Kiểu Ràng buộc Ý nghĩa

1 Dropdown not null Hiển thị vai trò đang chọn

2 TextInput not null Ô nhập họ và tên người dùng

3 DateTimePicker not null Ô nhập ngày sinh

4 TextInput not null Ô nhập mã số sinh viên

5 Dropdown not null Hiển thị trường đang chọn

6 TextInput not null Ô nhập số điện thoại người dùng

7 TextInput not null Ô nhập địa chỉ email

8 Text not null Đường dẫn màn hình đăng nhập

9 Button Nút chọn tiếp tục

Bảng 5.6: Danh sách các thành phần màn hình Sign up

STT Biến cố Xử lí

“Choose role” Hiển thị danh mục vai trò

2 Nhấp vào DateTimePicker Hiển thị lịch

“Choose school” Hiển thị danh mục trường

4 Nhấp vào Sign in Hiển thị màn hình đăng nhập

5 Nhấp vào button Continue Hiển thị màn hình nhập tải ảnh thẻ sinh viên Bảng 5.7: Danh sách các biến cố màn hình Sign up

Hình 5.6: Giao diện màn hình Pending

STT Kiểu Ràng buộc Ý nghĩa

Bảng 5.8: Danh sách các thành phần màn hình Pending

STT Biến cố Xử lí

1 Nhấp vào button “Go back” Quay lại màn hình trước đó

Bảng 5.9: Danh sách các biến cố màn hình Pending

Hình 5.7: Giao diện màn hình Verify

STT Kiểu Ràng buộc Ý nghĩa

1 Input not null Ô nhập mã OTP

2 Button Nút gửi lại mã OTP

Bảng 5.10: Danh sách các thành phần màn hình Verify

STT Biến cố Xử lí

1 Nhấp vào button “Request again”

Hệ thống gửi lại mã OTP đến số điện thoại đã nhập Bảng 5.11: Danh sách các biến cố màn hình Verify

Hình 5.8: Giao diện màn hình Passenger

STT Kiểu Ràng buộc Ý nghĩa

1 Button Nút chọn mở menu

3 Button Nút chọn đặt xe

4 Card Card hiển thị lịch sử chuyến xe

5 Button Nút chọn đặt lại với địa điểm tương tự

7 Menu Lịch sử hoạt động

8 Menu Danh sách khuyến mãi

9 Menu Thông tin tài khoản

Bảng 5.12: Danh sách các thành phần màn hình Passenger

STT Biến cố Xử lí

1 Nhấp vào Button Menu Hiển thị màn hình menu ứng dụng

2 Nhấp vào Button đặt xe Hiển thị màn hình đặt xe

3 Nhấp vào Button giao hàng Đang phát triển

Hiển thị màn hình đặt xe với địa điểm tương tự

5 Nhấp vào Menu “Home” Hiển thị màn hình chính

6 Nhấp vào Menu “Activity” Hiển thị màn hình lịch sử hoạt động

Hiển thị màn hình danh sách khuyến mãi

8 Nhấp vào Menu “Profile” Hiển thị màn hình thông tin tài khoản

Bảng 5.13: Danh sách các biến cố màn hình Passenger

Hình 5.9: Giao diện màn hình Rider

STT Kiểu Ràng buộc Ý nghĩa

1 Switch Nút bật/tắt chế độ tìm chuyến xe

2 Button Nút chọn quét mã QR

3 TabBar Nút chọn Tab cần xem

4 Card Hiển thị lịch sử chuyến xe

Bảng 5.14: Danh sách các thành phần màn hình Rider

STT Biến cố Xử lí

1 Nhấp vào switch Bật/tắt chế độ sẵn sàng nhận chuyến xe

2 Nhấp vào button quét mã

QR Hiển thị màn hình quét mã QR

3 Nhấp vào tabbar Hiển thị thông tin theo tab được chọn

4 Nhấp vào card Hiển thị thông tin chi tiết lịch sử chuyến xe Bảng 5.15: Danh sách các biến cố màn hình Rider

Hình 5.10: Giao diện màn hình StudentOffice

STT Kiểu Ràng buộc Ý nghĩa

1 Input Ô nhập thông tin tìm kiếm

2 Card Hiển thị thông tin sinh viên cần xét duyệt Bảng 5.16: Danh sách các thành phần màn hình StudentOffice

STT Biến cố Xử lí

1 Nhấp vào Card Hiển thị thông tin chi tiết của sinh viên cần được xét duyệt đã chọn Bảng 5.17: Danh sách các biến cố màn hình StudentOffice

Hình 5.11: Giao diện màn hình Profile 1

Hình 5.12: Giao diện màn hình Profile 2

STT Kiểu Ràng buộc Ý nghĩa

1 Button Nút chọn thay đổi ảnh đại diện

2 Button Nút chọn đăng xuất tài khoản

Bảng 5.18: Danh sách các thành phần màn hình Profile

STT Biến cố Xử lí

1 Nhấp vào button thay đổi ảnh đại diện

Hiển thị màn hình chọn ảnh đại diện mới

2 Nhấp vào button đăng xuất Đăng xuất khỏi tài khoản hiện tại, quay lại màn hình OnBoarding Bảng 5.19: Danh sách các biến cố màn hình Profile

Hình 5.13: Giao diện màn hình Promotion

STT Kiểu Ràng buộc Ý nghĩa

1 Button Nút chọn xem chi tiết khuyến mãi

Bảng 5.20: Danh sách các thành phần màn hình Promotion

STT Biến cố Xử lí

1 Nhấp vào button chi tiết Hiển thị màn hình chi tiết khuyến mãi

Bảng 5.21: Danh sách các biến cố màn hình Promotion

Hình 5.14: Giao diện màn hình PromotionDetail

Hình 5.15: Giao diện màn hình Activity

STT Kiểu Ràng buộc Ý nghĩa

1 TabBar Danh sách hoạt động theo trạng thái

2 Card Hiển thị tóm tắt thông tin hoạt động

Bảng 5.22: Danh sách các thành phần màn hình Activity

STT Biến cố Xử lí

1 Nhấp vào TabBar Hiển thị danh sách hoạt động theo trạng thái đã chọn

2 Nhấp vào Card Hiển thị màn hình thông tin chi tiết hoạt động đã chọn Bảng 5.23: Danh sách các biến cố màn hình Activity

STT Kiểu Ràng buộc Ý nghĩa

1 Map Hiển thị địa điểm của chuyến đi

2 Button Nút chọn đặt lại chuyến xe với địa điểm tương tự Bảng 5.24: Danh sách các thành phần màn hình ActivityDetail

STT Biến cố Xử lí

1 Nhấp vào Map Hiển thị màn hình bản đồ quãng đường chuyến đi

2 Nhấp vào Button Hiển thị màn hình đặt chuyến xe với địa điểm tương tự Bảng 5.25: Danh sách các biến cố màn hình ActivityDetail

STT Kiểu Ràng buộc Ý nghĩa

1 Input Ô nhập địa chỉ điểm đi và đến

2 Button Nút chọn nhập địa chỉ đã lưu

3 Button Nút mở bản đồ và chọn địa điểm

4 Button Nút xác nhận vị trí đã chọn

5 Button Nút quay lại bước trước đó

6 Button Nút xác nhận đến bước tiếp theo

7 Button Nút chọn phương thức thanh toán

8 Button Nút chọn mã giảm giá

9 Button Nút chọn nhập thời gian hẹn trước

10 Button Nút chọn huỷ chuyến xe

Bảng 5.26: Danh sách các thành phần màn hình Booking

STT Biến cố Xử lí

1 Nhập địa chỉ vào Input Tìm kiếm và gợi ý địa điểm dựa theo địa chỉ đã nhập

2 Nhấp vào Button địa chỉ đã lưu Tự động điền địa chỉ vào điểm đến

3 Nhấp vào Button chọn địa điểm trên bản đồ

Hiển thị màn hình bản đồ chọn địa điểm

4 Nhấp vào Button xác nhận địa chỉ

Xác nhận địa chỉ đã chọn và điền vào

5 Nhấp vào Button quay lại Quay trở lại bước trước đó

6 Nhấp vào Button tiếp tục Chuyển đến bước kế tiếp

7 Nhấp vào Button chọn phương thúc thanh toán Chuyển phương thức thanh toán

8 Nhấp vào Button nhập mã giảm giá Hiển thị mục chọn mã giảm giá

9 Nhấp vào Button hẹn giờ Hiển thị DatePicker chọn giờ hẹn

10 Nhấp vào Button huỷ Huỷ hoạt động tìm tài xế của chuyến xe hiện tại Bảng 5.27: Danh sách các biến cố màn hình Booking

STT Kiểu Ràng buộc Ý nghĩa

1 Button Nút xoá địa chỉ đã lưu

2 Button Nút thêm địa chỉ mới

Bảng 5.28: Danh sách các thành phần màn hình Address

STT Biến cố Xử lí

1 Nhấp vào Button xoá Xoá địa chỉ đã lưu khỏi danh sách

2 Nhấp vào Button thêm mới Hiển thị màn hình thêm địa chỉ mới

Bảng 5.29: Danh sách các biến cố màn hình Address

Hình 5.24: Giao diện màn hình AddLocation

STT Kiểu Ràng buộc Ý nghĩa

1 Input not null Ô nhập địa chỉ muốn thêm

2 Button Nút xác nhận thêm địa chỉ mới

Bảng 5.30: Danh sách các thành phần màn hình AddLocation

STT Biến cố Xử lí

1 Nhập địa chỉ vào Input Hiển thị gợi ý địa điểm theo địa chỉ đã nhập

2 Nhấp vào Button xác nhận Chuyển đến bước tiếp theo

Bảng 5.31: Danh sách các biến cố màn hình AddLocation

Hình 5.25: Giao diện màn hình ConfirmLocation

STT Kiểu Ràng buộc Ý nghĩa

1 Input not null Ô nhập tên gợi nhớ cho địa chỉ

2 Button Nút chọn xác nhận lưu địa chỉ

Bảng 5.32: Danh sách các thành phần màn hình ConfirmLocation

STT Biến cố Xử lí

1 Nhấp vào Button Lưu địa điểm vào CSDL

Bảng 5.33: Danh sách các biến cố màn hình ConfirmLocation

Hình 5.26: Giao diện màn hình Scheduled

STT Kiểu Ràng buộc Ý nghĩa

1 Card Hiển thị thông tin tóm tắt chuyến xe

2 Button Nút chọn chấp nhận chuyến xe Bảng 5.34: Danh sách các thành phần màn hình Scheduled

STT Biến cố Xử lí

1 Nhấp vào Card Hiển thị thông tin chi tiết chuyến xe

2 Nhấp vào Button Xác nhận nhận chuyến xe

Bảng 5.35: Danh sách các biến cố màn hình Scheduled

Hình 5.27: Giao diện màn hình Income

STT Kiểu Ràng buộc Ý nghĩa

1 Menu Menu chọn hiển thị thông tin theo ngày, tháng, năm

2 DatePicker Chọn thời điểm hiển thị thông tin Bảng 5.36: Danh sách các thành phần màn hình Income

STT Biến cố Xử lí

1 Nhấp vào Menu Hiển thị thông tin theo trạng thái đã chọn

2 Nhấp vào DatePicker Hiển thị lịch chọn thời điểm xem thông tin Bảng 5.37: Danh sách các biến cố màn hình Income

Hình 5.28: Giao diện màn hình TripDetail 1

Hình 5.29: Giao diện màn hình TripDetail 2

STT Kiểu Ràng buộc Ý nghĩa

1 Button Nút chọn đặt lại chuyến xe với địa điểm tương tự Bảng 5.38: Danh sách các thành phần màn hình TripDetail

STT Biến cố Xử lí

1 Nhấp vào Button Hiển thị màn hình đặt xe với địa điểm tương tự Bảng 5.39: Danh sách các biến cố màn hình TripDetail

Hình 5.30: Giao diện màn hình Restriction

STT Kiểu Ràng buộc Ý nghĩa

1 Menu Menu chọn trạng thái

2 Card Hiển thị thông tin tóm tắt tài khoản Bảng 5.40: Danh sách các thành phần màn hình Restriction

STT Biến cố Xử lí

1 Nhấp vào Menu Hiển thị danh sách theo trạng thái đã chọn

2 Nhấp vào Card Hiển thị thông tin chi tiết tài khoản

Bảng 5.41: Danh sách các biến cố màn hình Restriction

Hình 5.31: Giao diện màn hình Students

Hình 5.32: Giao diện màn hình StudentDetail 1

Hình 5.33: Giao diện màn hình StudentDetail 2

Hình 5.34: Giao diện màn hình StudentDetail 3

STT Kiểu Ràng buộc Ý nghĩa

1 Button Nút chọn khoá tài khoản

Bảng 5.42: Danh sách các thành phần màn hình StudentDetail

STT Biến cố Xử lí

1 Nhấp vào Button Khoá quyền truy cập ứng dụng của tài khoản Bảng 5.43: Danh sách các biến cố màn hình StudentDetail

Ngày đăng: 04/09/2023, 20:42

HÌNH ẢNH LIÊN QUAN

Hình 3.1: Hiện trạng tổ chức Cơ cấu tổ chức người dùng ứng dụng: - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 3.1 Hiện trạng tổ chức Cơ cấu tổ chức người dùng ứng dụng: (Trang 27)
Hình 3.2: Quy trình nghiệp vụ - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 3.2 Quy trình nghiệp vụ (Trang 29)
4.1.1. Sơ đồ Use-case: - Ứng dụng đặt xe cho sinh viên đhqghcm
4.1.1. Sơ đồ Use-case: (Trang 30)
Bảng 4.2: Danh sách Use-case - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.2 Danh sách Use-case (Trang 31)
Bảng 4.3: Đặc tả Use-case đăng nhập - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.3 Đặc tả Use-case đăng nhập (Trang 32)
Bảng 4.8: Đặc tả Use-case thông tin người dùng - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.8 Đặc tả Use-case thông tin người dùng (Trang 38)
Bảng 4.10: Đặc tả Use-case đánh giá - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.10 Đặc tả Use-case đánh giá (Trang 39)
Bảng 4.11: Đặc tả Use-case chọn dịch vụ - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.11 Đặc tả Use-case chọn dịch vụ (Trang 40)
Bảng 4.12: Đặc tả Use-case đặt xe - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.12 Đặc tả Use-case đặt xe (Trang 41)
Bảng 4.13: Đặc tả Use-case xem danh sách người dùng - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.13 Đặc tả Use-case xem danh sách người dùng (Trang 42)
Bảng 4.14: Đặc tả Use-case khoá tài khoản 4.2. Sequence Diagram: - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.14 Đặc tả Use-case khoá tài khoản 4.2. Sequence Diagram: (Trang 43)
Hình 4.2: Sơ đồ tuần tự đăng nhập 4.2.2. Sơ đồ tuần tự đăng kí: - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 4.2 Sơ đồ tuần tự đăng nhập 4.2.2. Sơ đồ tuần tự đăng kí: (Trang 44)
Hình 4.4: Sơ đồ tuần tự lưu địa điểm 4.2.4. Sơ đồ tuần tự chọn dịch vụ: - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 4.4 Sơ đồ tuần tự lưu địa điểm 4.2.4. Sơ đồ tuần tự chọn dịch vụ: (Trang 45)
Hình 4.6: Sơ đồ tuần tự đặt chuyến xe 4.2.6. Sơ đồ tuần tự xác minh thông tin: - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 4.6 Sơ đồ tuần tự đặt chuyến xe 4.2.6. Sơ đồ tuần tự xác minh thông tin: (Trang 46)
Hình 4.8: Sơ đồ tuần tự khoá tài khoản 4.3. Class Diagram: - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 4.8 Sơ đồ tuần tự khoá tài khoản 4.3. Class Diagram: (Trang 47)
Hình 4.9: Sơ đồ lớp 4.3.2. Danh sách các lớp đối tượng và quan hệ: - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 4.9 Sơ đồ lớp 4.3.2. Danh sách các lớp đối tượng và quan hệ: (Trang 48)
Bảng 4.15: Danh sách các lớp đối tượng và quan hệ 4.3.3. Mô tả chi tiết từng lớp đối tượng: - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.15 Danh sách các lớp đối tượng và quan hệ 4.3.3. Mô tả chi tiết từng lớp đối tượng: (Trang 49)
Bảng 4.18: Mô tả chi tiết lớp Customer - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.18 Mô tả chi tiết lớp Customer (Trang 51)
Bảng 4.22: Mô tả chi tiết lớp Promotion - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.22 Mô tả chi tiết lớp Promotion (Trang 54)
Hình 4.10: Entity diagram - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 4.10 Entity diagram (Trang 56)
4.4.2.4. Bảng SavedLocation: - Ứng dụng đặt xe cho sinh viên đhqghcm
4.4.2.4. Bảng SavedLocation: (Trang 59)
Bảng 4.31: Mô tả chi tiết bảng Trip - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 4.31 Mô tả chi tiết bảng Trip (Trang 61)
Hình 5.1: Sơ đồ liên kết các màn hình - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 5.1 Sơ đồ liên kết các màn hình (Trang 66)
Hình 5.6: Giao diện màn hình Pending - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 5.6 Giao diện màn hình Pending (Trang 73)
Hình 5.8: Giao diện màn hình Passenger - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 5.8 Giao diện màn hình Passenger (Trang 75)
Bảng 5.26: Danh sách các thành phần màn hình Booking - Ứng dụng đặt xe cho sinh viên đhqghcm
Bảng 5.26 Danh sách các thành phần màn hình Booking (Trang 94)
Hình 5.31: Giao diện màn hình Students - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 5.31 Giao diện màn hình Students (Trang 106)
Hình 5.32: Giao diện màn hình StudentDetail 1 - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 5.32 Giao diện màn hình StudentDetail 1 (Trang 107)
Hình 5.33: Giao diện màn hình StudentDetail 2 - Ứng dụng đặt xe cho sinh viên đhqghcm
Hình 5.33 Giao diện màn hình StudentDetail 2 (Trang 108)
BẢNG PHÂN CÔNG CÔNG VIỆC - Ứng dụng đặt xe cho sinh viên đhqghcm
BẢNG PHÂN CÔNG CÔNG VIỆC (Trang 112)

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w