Use case Nội DungTên use case Đăng nhập Mô tả Dùng chức năng này để đăng nhập vào hệ thống ứng dụngActor Staff Use Case liên quan Xác nhận đơn, chuẩn bị đơn, giao đơn, đăng thông tin đơn
TỔNG QUAN VỀ ANDROID STUDIO & FIREBASE
Android
Android Studio là môi trường phát triển tích hợp (IDE) chính thức cho ứng dụng Android, dựa trên nền tảng IntelliJ IDEA Nó cung cấp giao diện thân thiện để người dùng dễ dàng tạo ứng dụng và quản lý các công cụ file phức tạp Ngôn ngữ lập trình chính được sử dụng trong Android Studio là Java, và phần mềm này sẽ được cài đặt sẵn trên thiết bị của bạn.
Trên thị trường có nhiều công cụ hỗ trợ thiết kế ứng dụng điện tử, nhưng nhóm 5 nhận thấy Android Studio vượt trội hơn hẳn các công cụ khác Do đó, nhóm đã quyết định chọn Android Studio làm nền tảng thiết kế cho ứng dụng này.
Android Studio mang đến khả năng hoàn thành mã nhanh chóng và đánh giá quy trình làm việc ngay lập tức Một trong những tính năng nổi bật của Android Studio là CodePush, dịch vụ đám mây cho phép lập trình viên cập nhật ứng dụng trực tiếp cho người dùng, giúp tối ưu hóa quy trình chỉnh sửa mã và cải thiện hiệu suất đầu ra.
Android Studio cho phép nhóm 5 nhanh chóng kết hợp các thay đổi bằng cách đẩy mã mà không cần khởi động lại ứng dụng, giúp thực hiện các thay đổi nhỏ trong khi ứng dụng vẫn đang chạy Ngoài ra, Android Studio cũng đảm bảo tính năng tái cấu trúc, hoàn thành mã và phân tích mã hiện đại, mang lại sự linh hoạt và hiệu quả cho quá trình phát triển ứng dụng.
Mô phỏng (Emulator) nhanh và giàu tính năng
Android Studio tích hợp Emulator, giúp khởi động ứng dụng nhanh hơn so với thiết bị thực tế Emulator mô phỏng nhiều tính năng phần cứng như GPS, cảm ứng đa điểm, cảm biến chuyển động và gia tốc Điều này cho phép nhóm phát triển kiểm tra ứng dụng trên nhiều thiết bị khác nhau, bao gồm điện thoại, máy tính bảng, Android Wear và Android TV.
Android Studio cung cấp mã hóa siêu hiệu quả và mới nhất, đảm bảo đầu ra tối ưu cho mọi dự án ứng dụng.
Cơ chế kiểm tra hiệu quả
Android Studio cung cấp nhiều công cụ và framework hỗ trợ kiểm tra ứng dụng Android, đặc biệt là thông qua các công cụ kiểm tra giao diện người dùng Việc thực hiện các bài kiểm tra giúp đảm bảo rằng ứng dụng hoạt động hiệu quả trên các thiết bị thực tế, trình mô phỏng và trong môi trường tích hợp, nhờ vào sự hỗ trợ của Firebase Test Lab.
Hỗ trợ Firebase & Đám mây
Android Studio cung cấp hỗ trợ Firebase, giúp kết nối ứng dụng với máy chủ Firebase và cung cấp nhiều dịch vụ quan trọng như phân tích ứng dụng, xác thực và tin nhắn thông báo Ngoài ra, Android Studio cũng hỗ trợ tích hợp các ứng dụng với nền tảng Google Cloud.
Hỗ trợ chỉnh sửa bố cục
Android Studio cung cấp công cụ kéo và thả để chỉnh sửa tệp XML, giúp dễ dàng tạo bố cục ứng dụng mới Các chỉnh sửa này đồng bộ với API ConstraintLayout, cho phép thiết kế bố cục linh hoạt phù hợp với nhiều kích thước màn hình khác nhau.
Kết luận: chính nhờ những chức nổi bật đó mà nhóm quyết định chọn Android
Studio là nền tảng chính để thiết kế ứng dụng cho đồ án này, với tính năng hỗ trợ FireBase Nhóm đã chọn FireBase làm cơ sở dữ liệu, giúp tối ưu hóa hiệu suất và quản lý dữ liệu hiệu quả.
Firebase
Firebase là dịch vụ cơ sở dữ liệu dựa trên nền tảng đám mây do Google cung cấp, giúp người dùng lập trình ứng dụng dễ dàng hơn thông qua việc đơn giản hóa các thao tác với cơ sở dữ liệu.
Nhóm quyết định sử dụng Firebase làm cơ sở dữ liệu chủ yếu do sự tương thích tốt với Android Studio Ngoài ra, Firebase còn mang lại nhiều ưu điểm khác mà nhóm 5 đã cân nhắc kỹ lưỡng trước khi lựa chọn.
Firebase cung cấp khả năng đăng ký tài khoản dễ dàng thông qua tài khoản Google, giúp nhóm phát triển ứng dụng nhanh chóng và thuận tiện Nền tảng này hỗ trợ người dùng trong quá trình phát triển ứng dụng một cách đơn giản nhất.
Firebase giúp tăng tốc độ phát triển ứng dụng, cho phép nhóm 5 tiết kiệm thời gian trong quá trình phát triển và tiếp thị sản phẩm.
Firebase cung cấp nhiều dịch vụ phát triển web, cho phép nhóm 5 lựa chọn giữa Firestore và Realtime Database theo nhu cầu Trong trường hợp này, nhóm đã quyết định sử dụng Realtime Database.
Firebase giúp lập trình viên tối ưu hóa phát triển giao diện người dùng nhờ vào kho Backend mẫu đa dạng, cho phép họ tập trung hơn vào trải nghiệm người dùng.
ĐỒ ÁN XÂY DỰNG ỨNG DỤNG “Phát triển ứng dụng quản lý giao hàng”
Đặc tả yêu cầu xây dựng ứng dụng
2.1.1 Yêu cầu chức năng của ứng dụng
Xây dựng chức năng đặt hàng và giao hàng trực tuyến trên nền tảng Android Studio với kho dữ liệu thời gian thực, cho phép quản lý các mặt hàng có nhiều thuộc tính như hình ảnh, miêu tả và giá cả Mỗi đơn hàng cần có các thông tin bổ sung như số lượng, tổng tiền, địa chỉ giao hàng, địa chỉ nhận, vùng miền, số điện thoại khách hàng và số điện thoại nhân viên Ứng dụng này phục vụ ba đối tượng chính: người dùng, nhân viên bán hàng và người vận chuyển (shipper) Người dùng sẽ có các thuộc tính như địa chỉ, ID, họ tên, số điện thoại, email và kiểu người dùng.
Các chức năng chính của hệ thống bao gồm đăng nhập và đăng ký tài khoản bằng email hoặc số điện thoại Đối với khách hàng, họ có thể xem chi tiết sản phẩm, quản lý giỏ hàng, đặt hàng và thanh toán qua nhiều phương thức như tiền mặt hoặc thẻ, theo dõi đơn hàng và chỉnh sửa thông tin cá nhân Nhân viên có thể nhận hoặc từ chối đơn hàng từ khách, chuẩn bị hàng hóa, cập nhật dữ liệu sản phẩm và gửi hàng cho shipper Shipper có chức năng nhận hoặc từ chối vận đơn, giao hàng thông qua Google Maps và xem lại lịch sử đơn hàng đã giao.
Hình 3 L ượ c đồồ miêu t s l ả ơ ượ ứ c ng d ng ụ
2.1.2 Các yêu cầu phi chức năng của ứng dụng
Ứng dụng không chỉ đáp ứng các yêu cầu chức năng cơ bản mà còn hỗ trợ đa ngôn ngữ và cho phép người dùng nhập địa chỉ từ khắp nơi trên thế giới Giao diện của ứng dụng được thiết kế hiện đại, rõ ràng và dễ sử dụng, đồng thời cung cấp chức năng hỗ trợ và huấn luyện cho người dùng mới Ứng dụng chiếm ít dung lượng trên thiết bị của người dùng, không có phần mềm bên thứ ba hay quảng cáo, và tiết kiệm pin nhờ không chạy ngầm An toàn và bảo mật thông tin người dùng là ưu tiên hàng đầu của ứng dụng.
Lược đồ Use Case
Hình 4 L ượ c đồồ Usecase Customer
Hình 5 L ượ c đồồ Usecase Staf
Hình 6 L ượ c đồồ Usecase Shipper
Đặc tả Use Case
Tên use case Đăng ký
Mô tả Staff sẽ điền thông tin cá nhân như: email, password, địa chỉ, số điện thoại… để tạo tài khoản cá nhân
Use Case liên quan Không có Điều kiện kích hoạt Ứng dụng phải chạy thành công Ứng dụng có kết nối với cơ sở dữ liệu firebase
Máy tính phải có kết nối internet Tiền điều kiện Khởi động app
Hậu điều kiện Sau khi tạo tài khoản thành công, người dùng phải đăng nhập vào tài khoản email để xác nhận email dang ký tài khoản.
Luồng sự kiện chinh 1 Staff chọn use as Staff
2 Nhấn nút chức năng đăng nhập
3 Điền đầy đủ thông tin cá nhân
5 Đăng nhập vào email cá nhân để xác nhận tài khoản Luồng sự kiện phụ 4.1 Nếu email hay số điện thoại trùng sẽ được yêu cầu dăng nhập lại.
5.1 Mail có thể được đưa vào hòm thư rác, cần được kiểm tra
Tên use case Đăng nhập
Mô tả Dùng chức năng này để đăng nhập vào hệ thống ứng dụng
Sử dụng các trường hợp liên quan đến xác nhận đơn, chuẩn bị đơn, giao đơn, đăng thông tin đơn, xem và chỉnh sửa thông tin cá nhân, cũng như thoát khỏi hệ thống Điều kiện để kích hoạt các chức năng này là nhấn vào nút chọn đăng nhập.
Tiền điều kiện Đã có tài khoản, có kết nối internet, chạy được trên emulator hoặc android phone Hậu điều kiện Đăng nhập thành công
Luồng sự kiện chinh 1 Hệ thống hiện ra giao diện tài khoản, mật khẩu
2 Điền thông tin vào ô trống rồi submit
3 Nếu thông tin điền vào chính xác, se đăng nhập thành công.
Luồng sự kiện phụ 3.1 Nếu thông tin điền vào không chính xác, người dùng sẽ được thông báo phải điền lại
Tên use case Xác nhận đơn
Mô tả Staff dùng chức năng này để xác nhận đơn hàng, chuyển đơn từ Pending list sang ready to prepare list
Use Case liên quan Đăng nhập, chuẩn bị đơn Điều kiện kích hoạt Khách hàng bấm nút order
Tiền điều kiện Đơn nằm trong pending list trong giao dien staff Hậu điều kiện Đơn được chuyển vào ready to prepare list
Luồng sự kiện chinh 1 Đơn hàng xuất hiện trong Pending list cua staff
2 Staff xác nhận đơn hàng
3 Đơn hàng được chuyển vào payable list cus customer Luồng sự kiện phụ 2.1 Nếu staff không xác nhân đơn hàng thì thông báo mặt hàng không có chuyển cho khách hàng
Tên use case Chuẩn bị đơn
Mô tả Staff dùng chức năng này để chuẩn bị đơn hàng, chuyên đơn từ ready to prepare sang prepare list
Use Case liên quan Xác nhận đơn hàng, giao đơn hàng Điều kiện kích hoạt Khách hàng phải trả tiền cho đơn hàng
Tiền điều kiện Đơn hàng năm trong Ready to prepare list
Hậu điều kiện Đơn hàng được chuyển vào prepared list
Luồng sự kiện chinh 1 Staff bấm nút chuẩn bị đơn hàng
2 Đơn hàng được chuyển vào prepared list Luồng sự kiện phụ
Tên use case Giao đơn hàng
Mô tả Staff dùng chức năng này để liên lạc với shipper
Use Case liên quan Đăng nhập, chuẩn bị đơn hàng Điều kiện kích hoạt Staff bấm vào nút giao đơn hàng
Tiền điều kiện Đơn hàng nằm trong prepared list
Sau khi đơn hàng được chuyển đến shipper, hệ thống sẽ thông báo cho shipper và đơn hàng sẽ được thêm vào danh sách theo dõi của khách hàng Luồng sự kiện chính bắt đầu khi nhân viên nhấn vào nút giao đơn hàng.
2 Đơn hàng được chuyển từ prapred list của staff sang pending list của shipper và danh sách track của customer
3 Shipper sẽ nhân được thông báoLuồng sự kiện phụ
Tên use case Đăng tải thông tin đơn hàng
Mô tả Staff dùng chức năng này upload hình ảnh và thông tin mặt hàng lên database
Để sử dụng tính năng đăng nhập và chỉnh sửa thông tin đơn hàng, người dùng cần nhập đầy đủ thông tin của mặt hàng, bao gồm hình ảnh và giá, sau đó nhấn nút load Điều kiện tiên quyết là phải đăng nhập thành công để thực hiện các thao tác này.
Thông tin và hình ảnh của sản phẩm sẽ được tải lên trang chính của khách hàng Đầu tiên, nhân viên sẽ điền thông tin chi tiết về mặt hàng và chọn hình ảnh phù hợp.
3 Mặt hàng được thêm vào trang chủ của customer Luồng sự kiện phụ
Tên use case Chỉnh sửa thông tin đơn hàng
Mô tả Staff dùng chức năng này để cập nhật thông tin mặt hàng
Use Case liên quan Đăng tải thông tin đơn hàng Điều kiện kích hoạt Nhấn nút update
Tiền điều kiện Mặt hàng đã xuất hiện trên database
Hậu điều kiện Thông tin mặt hàng được sửa lại trên giao diên và databaseLuồng sự kiện chinh 1 Staff nhấp vào danh sách món hàng
2 Thay đổi thông tin món hàng
4 Thông tin món hàng được sửa thành công Luồng sự kiện phụ
Tên use case Xem và chỉnh thông tin cá nhân
Mô tả Dùng để xem và chỉnh sửa thông tin cá nhân lúc đăng ký
Use Case liên quan Đăng nhập Điều kiện kích hoạt Nhấn vào nút xem thông tin cá nhân
Tiền điều kiện Người dùng đăng nhập thành công và đang ở giao diện thông tin cá nhân Hậu điều kiện Cập nhật thông tin cá nhân thành công
Luồng sự kiện chinh 1 Nhấn vào nút thông tin cá nhân
4 Cập nhật thành công Luồng sự kiện phụ
Mô tả Dùng chức năng này để thoát khỏi tài khoản và quay về giao diện ban đầu
Use Case liên quan Đăng nhập Điều kiện kích hoạt Nhấp vào nút Thoát
Tiền điều kiện Đang ở trong giao diện chung của Staff
Hậu điều kiện Thoát thành công và quay lại giao diện đăng nhập Luồng sự kiện chinh 1 Nhấp vào nút thoát
2 Thoát thành công Luồng sự kiện phụ
Tên use case Đăng ký
Mô tả Điền thông tin cá nhân như: email, password, địa chỉ, số điện thoại… để tạo tài khoản cá nhân
Use Case liên quan Không có Điều kiện kích hoạt Ứng dụng phải chạy thành công Ứng dụng có kết nối với cơ sở dữ liệu firebase
Máy tính phải có kết nối internet Tiền điều kiện Khởi động app
Hậu điều kiện Sau khi tạo tài khoản thành công, người dùng phải đăng nhập vào tài khoản email để xác nhận email dang ký tài khoản.
Luồng sự kiện chinh 1 Staff chọn use as Staff
2 Nhấn nút chức năng đăng nhập
3 Điền đầy đủ thông tin cá nhân
5 Đăng nhập vào email cá nhân để xác nhận tài khoản Luồng sự kiện phụ 4.1 Nếu email hay số điện thoại trùng sẽ được yêu cầu dăng nhập lại.
5.1 Mail có thể được đưa vào hòm thư rác, cần được kiểm tra
Tên use case Đăng nhập
Mô tả Dùng chức năng này để đăng nhập vào hệ thống ứng dụng
Sử dụng các chức năng như thêm giỏ hàng, đặt hàng, thanh toán, theo dõi đơn hàng, xem và chỉnh sửa thông tin cá nhân, cũng như đăng xuất Để kích hoạt các tính năng này, người dùng chỉ cần bấm vào nút đăng nhập.
Tiền điều kiện Đã có tài khoản, có kết nối internet, chạy được trên emulator hoặc android phone Hậu điều kiện Đăng nhập thành công
Luồng sự kiện chinh 1 Hệ thống hiện ra giao diện tài khoản, mật khẩu
2 Điền thông tin vào ô trống rồi submit
3 Nếu thông tin điền vào chính xác, se đăng nhập thành công.
Luồng sự kiện phụ 3.1 Nếu thông tin điền vào không chính xác, người dùng sẽ được thông báo phải điền lại
Tên use case Thêm giỏ
Mô tả User dùng chức năng này để thêm mặt hàng vào giỏ
Use Case liên quan Đăng nhập, đặt hàng Điều kiện kích hoạt User nhấn vào nút thêm giỏ
Sau khi khách hàng đăng nhập thành công, danh sách món hàng sẽ hiển thị trên trang chính Khi khách hàng nhấn vào nút "Thêm vào giỏ hàng", món hàng sẽ được chuyển từ trang chính sang danh sách chờ để nhân viên xác nhận đơn hàng.
2 Món hàng được chuyển vào pending list Luồng sự kiện phụ
Tên use case Đặt hàng
Mô tả Customer dùng chức năng này để đặt hàng
Use Case liên quan Thêm giỏ, đăng nhập, trả tiền Điều kiện kích hoạt Customer nhấn vào nút đặt hàng
Tiền điều kiện Món hàng đang ở trong cart
Hậu điều kiện Món hàng được chuyển qua pendinglist của staff
Luồng sự kiện chinh 1 Customer xem món hàng ở cart
2 Customer nhấp vào nút đặt hàng
3 Món hàng được chuyển qua pendinglist cua staff Luồng sự kiện phụ
Tên use case Trả tiền
Mô tả Customer dùng chức năng này để trả tiền, tiền mặt hoặc thẻ
Use Case liên quan Đăng nhập, đặt hàng Điều kiện kích hoạt Customer nhấn vào nút trả tiền
Tiền điều kiện Đơn hàng được staff xác nhận
Sau khi đơn hàng được thanh toán, nó sẽ được chuyển từ danh sách phải trả sang danh sách sẵn sàng để chuẩn bị của nhân viên Luồng sự kiện chính bắt đầu khi khách hàng xem đơn hàng trong danh sách phải trả.
2 Customer nhấn chọn trả tiền mặt hoặc nhập thông tin thẻ và nhấn trả
3 Đơn hàng chuyển tử payablelist sang ready to preapared list của staff Luồng sự kiện phụ 2.1 Nếu customer nhập thông tin thẻ sai, sẽ có thông báo hiện lên yêu cầu nhập lại
Tên use case Theo dõi
Mô tả Customer dùng chức năng này để theo dõi đơn hàng
Use Case liên quan Đăng nhập Điều kiện kích hoạt Nhấn vào nút theo dõi
Tiền điều kiện Đơn hàng đã được Staff giao
Hậu điều kiện Thấy được đơn hàng trên map
Luồng sự kiện chinh 1 Customer chọn vào món hàng trong danh sách track
2 Customer xem map Luồng sự kiện phụ
Tên use case Xem và chỉnh thông tin cá nhân
Mô tả Dùng để xem và chỉnh sửa thông tin cá nhân lúc đăng ký
Use Case liên quan Đăng nhập Điều kiện kích hoạt Nhấn vào nút xem thông tin cá nhân
Tiền điều kiện Người dùng đăng nhập thành công và đang ở giao diện thông tin cá nhân Hậu điều kiện Cập nhật thông tin cá nhân thành công
Luồng sự kiện chinh 1 Nhấn vào nút thông tin cá nhân
4 Cập nhật thành công Luồng sự kiện phụ
Mô tả Dùng chức năng này để thoát khỏi tài khoản và quay về giao diện ban đầu
Use Case liên quan Đăng nhập Điều kiện kích hoạt Nhấp vào nút Thoát
Tiền điều kiện Đang ở trong giao diện chung của Staff
Hậu điều kiện Thoát thành công và quay lại giao diện đăng nhập
Luồng sự kiện chinh 1 Nhấp vào nút thoát
2 Thoát thành côngLuồng sự kiện phụ
Tên use case Đăng ký
Mô tả Điền thông tin cá nhân như: email, password, địa chỉ, số điện thoại… để tạo tài khoản cá nhân
Use Case liên quan Không có Điều kiện kích hoạt Ứng dụng phải chạy thành công Ứng dụng có kết nối với cơ sở dữ liệu firebase
Máy tính phải có kết nối internet Tiền điều kiện Khởi động app
Hậu điều kiện Sau khi tạo tài khoản thành công, người dùng phải đăng nhập vào tài khoản email để xác nhận email dang ký tài khoản.
Luồng sự kiện chinh 1 Staff chọn use as Staff
2 Nhấn nút chức năng đăng nhập
3 Điền đầy đủ thông tin cá nhân
5 Đăng nhập vào email cá nhân để xác nhận tài khoản Luồng sự kiện phụ 4.1 Nếu email hay số điện thoại trùng sẽ được yêu cầu đăng nhập lại.
5.1 Mail có thể được đưa vào hòm thư rác, cần được kiểm tra
Tên use case Đăng nhập
Mô tả Dùng chức năng này để đăng nhập vào hệ thống ứng dụng
Sử dụng trường hợp liên quan đến việc xác nhận vận chuyển đơn hàng, xác nhận đã chuyển đơn, xem và chỉnh sửa thông tin cá nhân, cũng như thoát khỏi tài khoản Điều kiện để kích hoạt các chức năng này là nhấn vào nút đăng nhập.
Tiền điều kiện Đã có tài khoản, có kết nối internet, chạy được trên emulator hoặc android phone Hậu điều kiện Đăng nhập thành công
Luồng sự kiện chinh 1 Hệ thống hiện ra giao diện tài khoản, mật khẩu
2 Điền thông tin vào ô trống rồi submit
3 Nếu thông tin điền vào chính xác, se đăng nhập thành công.
Luồng sự kiện phụ 3.1 Nếu thông tin điền vào không chính xác, người dùng sẽ được thông báo phải điền lại
Tên use case Xác nhận vận chuyển đơn
Mô tả Shipper dùng chức năng này để xác nhận
Use Case liên quan Đăng nhập, xác nhan da chuyen, xem ban đồ Điều kiện kích hoạt Shipper nhấn vào nút xác nhận vận chuyển đơn
Nhân viên sử dụng chức năng giao đơn hàng khi đơn hàng nằm trong danh sách chờ của shipper Khi đơn hàng được chấp nhận, cả nhân viên và khách hàng sẽ nhận được thông báo Sự kiện chính diễn ra khi shipper lựa chọn đơn hàng từ danh sách chờ.
2 Shipper nhấn nút xác nhận
3 Shipper bat đầu giao hàng, staff va customer nhận được thông báo Luồng sự kiện phụ 2.1 Shipper không xác nhận , đơn hàng bị từ chối
Tên use case Xác nhận vận chuyển đơn
Mô tả Shipper dùng chức năng này để xác nhận
Use Case liên quan Đăng nhập, xác nhan da chuyen, xem ban đồ Điều kiện kích hoạt Shipper nhấn vào nút xác nhận vận chuyển đơn
Nhân viên sử dụng chức năng giao đơn hàng từ danh sách chờ của shipper Khi đơn hàng được chấp nhận, cả nhân viên và khách hàng sẽ nhận được thông báo Sự kiện chính là shipper chọn đơn hàng từ danh sách chờ.
2 Shipper nhấn nút xác nhận
3 Shipper bat đầu giao hàng, staff va customer nhận được thông báo Luồng sự kiện phụ 2.1 Shipper không xác nhận , đơn hàng bị từ chối
Tên use case Xem ban đồ
Mô tả Shipper dùng chức năng này xem bản đồ
Use Case liên quan Đăng nhập, xác nhan da chuyen Điều kiện kích hoạt Shipper nhấn vào nút shipp
Tiền điều kiện Đơn hàng đang được vận chuyển
Hậu điều kiện Hiển thị bản đồ
Luồng sự kiện chinh 1 Shipper chọn đơn hàng trong shipping list
2 Shipper nhấn nút xem ban do
3 Bản đồ hiện ra Luồng sự kiện phụ
Tên use case Xem và chỉnh thông tin cá nhân
Mô tả Dùng để xem và chỉnh sửa thông tin cá nhân lúc đăng ký
Use Case liên quan Đăng nhập Điều kiện kích hoạt Nhấn vào nút xem thông tin cá nhân
Tiền điều kiện Người dùng đăng nhập thành công và đang ở giao diện thông tin cá nhân Hậu điều kiện Cập nhật thông tin cá nhân thành công
Luồng sự kiện chinh 1 Nhấn vào nút thông tin cá nhân
4 Cập nhật thành côngLuồng sự kiện phụ
Mô tả Dùng chức năng này để thoát khỏi tài khoản và quay về giao diện ban đầu
Use Case liên quan Đăng nhập Điều kiện kích hoạt Nhấp vào nút Thoát
Tiền điều kiện Đang ở trong giao diện chung của Staff
Hậu điều kiện Thoát thành công và quay lại giao diện đăng nhập Luồng sự kiện chinh 1 Nhấp vào nút thoát
2 Thoát thành côngLuồng sự kiện phụ
Class Model
Hình 7 L ượ c đồồ Class Model
Flow Chart Tính tổng tiền
Hỗ trợ chỉnh sửa bố cục
Android Studio cung cấp công cụ chỉnh sửa kéo và thả cho tệp XML, giúp dễ dàng tạo bố cục ứng dụng mới Các chỉnh sửa này đồng bộ với API ConstraintLayout, cho phép thiết kế bố cục linh hoạt, phù hợp với nhiều kích thước màn hình khác nhau.
Kết luận: chính nhờ những chức nổi bật đó mà nhóm quyết định chọn Android
Studio được sử dụng làm nền tảng thiết kế ứng dụng cho đồ án này, với tính năng hỗ trợ FireBase, vì nhóm đã chọn FireBase làm cơ sở dữ liệu chính cho dự án của mình.
Firebase là dịch vụ cơ sở dữ liệu dựa trên nền tảng đám mây, được hỗ trợ bởi hệ thống máy chủ mạnh mẽ của Google Nó giúp người dùng lập trình ứng dụng một cách dễ dàng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.
Nhóm quyết định sử dụng Firebase làm cơ sở dữ liệu chính vì nó tương tác hiệu quả với Android Studio Ngoài ra, Firebase còn mang lại nhiều ưu điểm khác mà nhóm 5 đã cân nhắc kỹ lưỡng trước khi lựa chọn.
Firebase cho phép người dùng dễ dàng đăng ký tài khoản thông qua tài khoản Google, giúp nhóm phát triển ứng dụng một cách thuận tiện và nhanh chóng.
Firebase hỗ trợ phát triển ứng dụng nhanh chóng, giúp nhóm tiết kiệm thời gian trong quá trình phát triển và tiếp thị sản phẩm.
Firebase cung cấp nhiều dịch vụ hữu ích cho việc phát triển trang web Nhóm 5 có thể lựa chọn giữa database Firestore và Realtime Database theo nhu cầu của mình Trong trường hợp này, nhóm đã quyết định sử dụng Realtime Database.
Firebase giúp lập trình viên chú trọng vào việc phát triển giao diện người dùng nhờ vào kho Backend mẫu phong phú và đa dạng.
Firebase không cần máy chủ, điều này giúp tối ưu hóa hiệu suất làm việc và mở rộng cụm database một cách hiệu quả.
Học máy: Ứng dụng Firebase sẽ cung cấp học máy cho các lập trình viên để hỗ trợ tốt nhất cho việc phát triển ứng dụng
Theo dõi lỗi là công cụ hữu ích cho việc phát triển và khắc phục lỗi, giúp nhóm làm việc yên tâm mà không lo bỏ sót lỗi nào.
Chức năng sao lưu của Firebase cho phép người dùng thực hiện việc sao lưu dữ liệu một cách thường xuyên, đảm bảo tính sẵn có và an toàn cho thông tin Việc này không chỉ giúp bảo vệ dữ liệu mà còn tăng cường tính bảo mật, giữ cho thông tin luôn được an toàn nhất.
2.THIẾT KẾ ỨNG DỤNG “ PHÁT TRIỂN ỨNG DỤNG QUẢN LÝ GIAO
2.1 Đặc tả yêu cầu xây dựng ứng dụng di động “Phát triển ứng dụng quản lý giao hàng”
2.1.1 Yêu cầu chức năng của ứng dụng
Xây dựng chức năng đặt hàng và giao hàng trực tuyến trên nền tảng Android Studio với kho dữ liệu thời gian thực Mỗi mặt hàng có nhiều thuộc tính như hình ảnh, mô tả và giá cả Đơn hàng bao gồm các thuộc tính như số lượng, tổng tiền, địa chỉ giao, địa chỉ nhận, vùng miền, số điện thoại khách hàng và nhân viên Ứng dụng này phục vụ cho ba đối tượng: người dùng, nhân viên bán hàng và người vận chuyển (shipper) Người dùng có các thông tin như địa chỉ, ID, họ tên, số điện thoại, email và kiểu người dùng.
Các chức năng chính của hệ thống bao gồm: đăng nhập và đăng ký tài khoản qua email hoặc số điện thoại Đối với khách hàng, họ có thể xem chi tiết sản phẩm, quản lý giỏ hàng, đặt hàng và thanh toán qua nhiều phương thức như tiền mặt hoặc thẻ ứng dụng, theo dõi đơn hàng và chỉnh sửa thông tin cá nhân Nhân viên có nhiệm vụ nhận hoặc từ chối đơn hàng, chuẩn bị hàng hóa, cập nhật dữ liệu hình ảnh và chi tiết sản phẩm, gửi hàng cho shipper và lựa chọn shipper Đối với shipper, họ có thể nhận hoặc từ chối đơn hàng, giao hàng thông qua bản đồ Google Maps và xem lại lịch sử thống kê đơn hàng.
Hình 3 L ượ c đồồ miêu t s l ả ơ ượ ứ c ng d ng ụ
2.1.2 Các yêu cầu phi chức năng của ứng dụng
Ứng dụng không chỉ đáp ứng các yêu cầu chức năng cơ bản mà còn hỗ trợ đa ngôn ngữ và cho phép người dùng nhập địa chỉ từ khắp nơi trên thế giới Giao diện của ứng dụng được thiết kế hiện đại, rõ ràng và dễ sử dụng, đồng thời có chức năng hỗ trợ và huấn luyện người dùng mới Ứng dụng chiếm ít dung lượng trên thiết bị, không kèm theo phần mềm bên thứ ba hay quảng cáo, và tiết kiệm pin nhờ không chạy ngầm An toàn và bảo mật thông tin người dùng là ưu tiên hàng đầu của ứng dụng.
Hình 4 L ượ c đồồ Usecase Customer
Hình 5 L ượ c đồồ Usecase Staf
Hình 6 L ượ c đồồ Usecase Shipper
Tên use case Đăng ký
Mô tả Staff sẽ điền thông tin cá nhân như: email, password, địa chỉ, số điện thoại… để tạo tài khoản cá nhân
Use Case liên quan Không có Điều kiện kích hoạt Ứng dụng phải chạy thành công Ứng dụng có kết nối với cơ sở dữ liệu firebase
Máy tính phải có kết nối internet Tiền điều kiện Khởi động app
Hậu điều kiện Sau khi tạo tài khoản thành công, người dùng phải đăng nhập vào tài khoản email để xác nhận email dang ký tài khoản.
Luồng sự kiện chinh 1 Staff chọn use as Staff
2 Nhấn nút chức năng đăng nhập
3 Điền đầy đủ thông tin cá nhân
5 Đăng nhập vào email cá nhân để xác nhận tài khoản Luồng sự kiện phụ 4.1 Nếu email hay số điện thoại trùng sẽ được yêu cầu dăng nhập lại.
5.1 Mail có thể được đưa vào hòm thư rác, cần được kiểm tra
Tên use case Đăng nhập
Mô tả Dùng chức năng này để đăng nhập vào hệ thống ứng dụng
Sử dụng trường hợp liên quan đến xác nhận đơn, chuẩn bị đơn, giao đơn, đăng thông tin đơn, xem và chỉnh sửa thông tin cá nhân, cũng như thoát khỏi hệ thống Điều kiện kích hoạt là bấm vào nút chọn đăng nhập.
Tiền điều kiện Đã có tài khoản, có kết nối internet, chạy được trên emulator hoặc android phone Hậu điều kiện Đăng nhập thành công
Luồng sự kiện chinh 1 Hệ thống hiện ra giao diện tài khoản, mật khẩu
2 Điền thông tin vào ô trống rồi submit
3 Nếu thông tin điền vào chính xác, se đăng nhập thành công.
Luồng sự kiện phụ 3.1 Nếu thông tin điền vào không chính xác, người dùng sẽ được thông báo phải điền lại
Tên use case Xác nhận đơn
Mô tả Staff dùng chức năng này để xác nhận đơn hàng, chuyển đơn từ Pending list sang ready to prepare list
Use Case liên quan Đăng nhập, chuẩn bị đơn Điều kiện kích hoạt Khách hàng bấm nút order
Tiền điều kiện Đơn nằm trong pending list trong giao dien staff Hậu điều kiện Đơn được chuyển vào ready to prepare list
Luồng sự kiện chinh 1 Đơn hàng xuất hiện trong Pending list cua staff
2 Staff xác nhận đơn hàng
Kết nối FireBase
2.6.1 Kết nối FireBase và Android Studio
Nhóm 5 sử dụng chức năng kết nối real time database giữa FireBase và Android Có nghĩa là những thay đổi về chi tiết trong data ở FireBase cũng kéo theo thay đổi trong Android Studio Các bước bao gồm như sau: Đầu tiên ở Android Studio Ở trên thanh công cụ, chọn Tool => Firebase.
Sau đó ở bên Box Assitant bên tay phải ta chọn: Analytic => Get Started with
Tiếp đó ta chọn Connect to Firebase
Windows sẽ chuyển giao diện sang trình duyệt và yêu cầu người dùng đăng nhập vào tài khoản Google bằng email và mật khẩu Sau đó, người dùng sẽ tiếp tục chuyển giao diện đến trang www.console.firebase.google.com.
The team created a project named FoodOn, which serves as the connection point with their Android Studio project They selected FoodOn to establish this connection effectively.
Nhóm kiểm tra lại để chắc rằng project cua nhóm đươc kết nối với FireBase
Quay lại Android Studio, trong thư mục Gradle Script, chọn build.gradle (Module: FoodOn.app) để thêm các dependency cần thiết cho thư viện hoạt động với Firebase và nhấn Sync.
Trong muc Graddle bên tay phải ở Android Studio, chọn Task => android=>signinReport và chạy
Sau khi chạy ra kết quả copy code SHA1
Quay trở lại console firebase Trong mục Project Overview, chọn Add finger print
Paste code SHA-1 từ Android Studio và save
Cùng trong mục Project Overview trong Console, nhóm download json Code mới từ google service
Sau khi download code json mới từ google service, nhóm paste vào thư mục app của project trên android studio Cuối cùng trên thanh công cụ, chọn Buil =>
Rebuild project de connect tất cả
2.6.2 Các chức năng sử dụng trên FireBase
Sign in with email và phone:
Chức năng đăng nhập bằng email và số điện thoại di động được kích hoạt thông qua mục Cài đặt dự án.
Authentification=> Add new provider Chọn click email và phone Tại đây
Firebase cũng cung cấp nhiều dịch vụ khác cho chức năng đăng nhập như: đăng nhập bằng Facebook, Yahoo, đăng nhập giấu tên……
Firebase cung cấp cấu trúc cơ sở dữ liệu thời gian thực, cho phép người dùng dễ dàng quản lý dữ liệu lưu trữ Trong trường hợp có lỗi xảy ra trong ứng dụng liên quan đến thông tin lưu trữ trên Firebase, nhóm 5 có thể truy cập trực tiếp vào bảng điều khiển để xóa hoặc chỉnh sửa thông tin của người dùng.