Đồ án tốt nghiệp: Xây dựng ứng dụng giao hàng thực phẩm di động

Khám phá đồ án tốt nghiệp ngành kỹ thuật phần mềm với đề tài xây dựng ứng dụng giao đồ ăn trên di động, tối ưu hóa trải nghiệm người dùng.

Trường đại học

Đại học Thái Nguyên

Chuyên ngành

Kỹ thuật phần mềm

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2024

84
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

MỤC LỤC

1. CHƯƠNG 1: Tổng quan về Flutter

1.1. Flutter là gì

1.2. Các tính năng của Flutter

1.3. Kiến trúc Flutter

1.3.1. Flutter engine

1.3.2. Thư viện nền tảng (Foundation library)

1.3.3. Vật dụng (widget)

1.3.4. Thiết kế các widget cụ thể

1.4. Giới thiệu về ngôn ngữ lập trình Dart

1.5. Tổng quan về UML

1.5.1. UML là gì

1.5.2. Một số dạng biểu đồ UML phổ biến

1.5.3. Ứng Dụng của UML

1.6. Tổng quan về Android Studio

1.6.1. Giao diện và công cụ

1.6.2. Hỗ trợ Lập trình Android

2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1. Đối tượng sử dụng và chức năng

2.2. Ứng dụng cho người mua (Android)

2.3. Ứng dụng cho người bán (Android)

2.4. Ứng dụng cho người giao hàng (Android)

2.5. Web quản trị cho Admin (Web)

2.6. Phân tích thiết kế

2.6.1. Biểu đồ Use case

2.6.2. Đặc tả Use case

2.6.3. Biểu đồ trình tự

3. XÂY DỰNG CHƯƠNG TRÌNH DEMO

3.1. Giao diện phía khách hàng

3.1.1. Giao diện Splash screen

3.1.2. Giao diện đăng nhập và đăng ký

3.1.3. Giao diện trang chủ

3.1.4. Giao diện Menu của cửa hàng

3.1.5. Giao diện xem danh sách các đồ ăn cửa hàng

3.1.6. Giao diện chi tiết đồ ăn

3.1.7. Giao diện giỏ hàng

3.1.8. Giao diện chọn địa chỉ giao hàng

3.1.9. Giao diện đặt hàng

3.2. Giao diện phía người bán

3.2.1. Giao diện Splash Screen

3.2.2. Giao diện đăng nhập và đăng ký

3.2.3. Giao diện trang chủ

3.2.4. Giao diện thêm menu

3.2.5. Giao diện thêm đồ ăn vào menu

3.2.6. Giao diện xác nhận đóng gói xong

3.2.7. Giao diện xem thu nhập

3.3. Giao diện phía người giao hàng

3.3.1. Giao diện trang chủ

3.3.2. Giao diện thông tin đơn hàng muốn giao

3.3.3. Giao diện khi xác nhận giao đơn hàng

3.3.4. Giao diện khi xem chi tiết đơn hàng đã giao

TÀI LIỆU THAM KHẢO

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Tóm tắt

I. Tổng quan về đồ án tốt nghiệp ứng dụng mobile food delivery

Đồ án tốt nghiệp đại học ngành kỹ thuật phần mềm với đề tài "Xây dựng ứng dụng mobile food delivery" mang đến cái nhìn tổng quan về sự phát triển của ứng dụng giao hàng thực phẩm. Trong bối cảnh công nghệ ngày càng phát triển, nhu cầu sử dụng ứng dụng di động để đặt và giao đồ ăn ngày càng tăng cao. Đồ án này không chỉ tập trung vào khía cạnh kỹ thuật mà còn chú trọng đến trải nghiệm người dùng và chiến lược kinh doanh.

1.1. Lý do chọn đề tài xây dựng ứng dụng giao hàng thực phẩm

Nhu cầu sử dụng ứng dụng giao hàng thực phẩm ngày càng gia tăng, đặc biệt trong bối cảnh dịch bệnh. Việc phát triển ứng dụng này không chỉ đáp ứng nhu cầu của người tiêu dùng mà còn mở ra cơ hội kinh doanh cho các nhà hàng và dịch vụ giao hàng.

1.2. Mục tiêu của đồ án tốt nghiệp

Mục tiêu chính của đồ án là phát triển một ứng dụng di động thân thiện với người dùng, tích hợp các tính năng hiện đại và tối ưu hóa quy trình giao hàng, nhằm mang lại trải nghiệm tốt nhất cho người dùng.

II. Thách thức trong việc phát triển ứng dụng giao hàng thực phẩm

Việc phát triển ứng dụng giao hàng thực phẩm đối mặt với nhiều thách thức, từ việc thiết kế giao diện người dùng đến việc tích hợp các công nghệ mới. Các vấn đề như quản lý đơn hàng, tối ưu hóa thời gian giao hàng và đảm bảo chất lượng dịch vụ là những yếu tố quan trọng cần được giải quyết.

2.1. Vấn đề về quản lý đơn hàng

Quản lý đơn hàng hiệu quả là một thách thức lớn. Cần có hệ thống để theo dõi trạng thái đơn hàng từ khi đặt cho đến khi giao hàng, đảm bảo thông tin được cập nhật liên tục.

2.2. Thách thức trong việc tối ưu hóa thời gian giao hàng

Tối ưu hóa thời gian giao hàng là yếu tố quyết định đến sự hài lòng của khách hàng. Cần có các giải pháp công nghệ để giảm thiểu thời gian chờ đợi và nâng cao hiệu suất giao hàng.

III. Phương pháp phát triển ứng dụng mobile food delivery hiệu quả

Để phát triển ứng dụng giao hàng thực phẩm hiệu quả, cần áp dụng các phương pháp hiện đại trong thiết kế và phát triển phần mềm. Việc sử dụng các công nghệ như Flutter và Firebase sẽ giúp tăng tốc quá trình phát triển và cải thiện trải nghiệm người dùng.

3.1. Sử dụng Flutter trong phát triển ứng dụng

Flutter là một framework mạnh mẽ giúp xây dựng ứng dụng di động đa nền tảng. Việc sử dụng Flutter giúp tiết kiệm thời gian phát triển và đảm bảo giao diện người dùng mượt mà.

3.2. Tích hợp Firebase cho quản lý dữ liệu

Firebase cung cấp các dịch vụ như cơ sở dữ liệu thời gian thực và xác thực người dùng, giúp quản lý dữ liệu và người dùng một cách hiệu quả, đồng thời nâng cao bảo mật cho ứng dụng.

IV. Ứng dụng thực tiễn và kết quả nghiên cứu từ đồ án

Đồ án không chỉ dừng lại ở việc phát triển ứng dụng mà còn tiến hành nghiên cứu thị trường và phân tích nhu cầu của người dùng. Kết quả nghiên cứu cho thấy ứng dụng có tiềm năng lớn trong việc thu hút người dùng và tạo ra doanh thu cho các nhà hàng.

4.1. Phân tích nhu cầu người dùng

Nghiên cứu cho thấy người dùng mong muốn một ứng dụng dễ sử dụng, nhanh chóng và có nhiều lựa chọn thực phẩm. Việc đáp ứng những nhu cầu này sẽ giúp ứng dụng thu hút được nhiều người dùng hơn.

4.2. Kết quả thử nghiệm ứng dụng

Kết quả thử nghiệm cho thấy ứng dụng hoạt động ổn định, giao diện thân thiện và thời gian giao hàng được tối ưu hóa. Điều này đã tạo ra sự hài lòng cao từ người dùng.

V. Kết luận và tương lai của ứng dụng giao hàng thực phẩm

Đồ án tốt nghiệp về ứng dụng mobile food delivery không chỉ mang lại kiến thức và kỹ năng cho sinh viên mà còn mở ra hướng đi mới cho ngành công nghiệp giao hàng thực phẩm. Tương lai của ứng dụng này hứa hẹn sẽ phát triển mạnh mẽ với sự hỗ trợ của công nghệ.

5.1. Triển vọng phát triển ứng dụng trong tương lai

Với sự phát triển không ngừng của công nghệ, ứng dụng giao hàng thực phẩm có thể tích hợp thêm nhiều tính năng mới như AI và machine learning để cải thiện trải nghiệm người dùng.

5.2. Tầm quan trọng của việc duy trì và phát triển cộng đồng người dùng

Duy trì và phát triển cộng đồng người dùng là yếu tố quan trọng để đảm bảo sự thành công lâu dài của ứng dụng. Cần có các chiến lược marketing hiệu quả để thu hút và giữ chân người dùng.

09/07/2025
Đồ án tốt nghiệp đại học ngành kỹ thuật phần mềm đề tài xây dựng ứng dụng mobile food delivery

Trích đoạn nội dung tài liệu

CHƯƠNG 1. Tổng quan về Flutter 1. Flutter là gì Flutter là một framework phát triển ứng dụng di động mã nguồn mở được phát triển bởi Google. Nó được sử dụng để xây dựng các ứng dụng di động chất lượng cao trên nhiều nền tảng, bao gồm cả iOS và Android, từ một mã nguồn duy nhất.

Flutter sử dụng ngôn ngữ lập trình Dart, cũng được phát triển bởi Google, là một ngôn ngữ có hiệu suất cao và dễ dàng để học. Một trong những đặc điểm nổi bật của Flutter là giao diện người dùng mượt mà và đẹp mắt, nhờ vào việc sử dụng các widget được xây dựng sẵn và một cơ chế vẽ giao diện tùy chỉnh. Flutter cung cấp một loạt các tính năng và công cụ phát triển mạnh mẽ như hot reload, cho phép nhà phát triển thấy ngay những thay đổi của họ trên ứng dụng mà không cần phải khởi động lại. Điều này giúp tăng tốc quá trình phát triển và kiểm tra ứng dụng.

Tóm lại, Flutter là một công cụ phát triển ứng dụng di động hiệu quả, linh hoạt và mạnh mẽ, được sử dụng rộng rãi trong cộng đồng phát triển để xây dựng các ứng dụng di động đa nền tảng. Các tính năng của Flutter Flutter cung cấp các phương pháp dễ dàng và đơn giản để bắt đầu xây dựng các ứng dụng dành cho thiết bị di động và máy tính để bàn đẹp mắt với một bộ thiết kế material design và widget phong phú. Ở đây, chúng ta sẽ thảo luận về các tính năng chính của nó để phát triển framework di động. 1 Tổng quan của Flutter Flutter là một framework mã nguồn mở và hoàn toàn miễn phí, được sử dụng để xây dựng ứng dụng di động.

Flutter là một framework mã nguồn mở và hoàn toàn miễn phí dành cho việc phát triển ứng dụng di động. Đặc điểm đa nền tảng của nó cho phép việc viết mã một lần, duy trì và chạy trên nhiều hệ điều hành khác nhau, tiết kiệm thời gian, công sức và tiền bạc của các nhà phát triển. Tính năng Tải lại nóng cho phép những thay đổi trong mã nguồn được áp dụng ngay lập tức vào ứng dụng, giúp nhà phát triển dễ dàng sửa lỗi và cập nhật ứng dụng một cách nhanh chóng. Khả năng truy cập các tính năng và SDK gốc của thiết bị giúp việc phát triển ứng dụng trở nên dễ dàng hơn bằng cách tích hợp các API và chức năng của hệ thống mà không cần phải tạo ra các giải pháp thay thế.

3 Flutter cung cấp một ngôn ngữ lập trình Dart để phát triển ứng dụng với mã nguồn tối thiểu và sử dụng các công cụ biên dịch để tối ưu hóa hiệu suất hoạt động và thời gian khởi động. Với các widget đặc biệt, Flutter cho phép tạo ra các thiết kế độc đáo và tùy chỉnh, hỗ trợ cả Material Design và Cupertino để mang lại trải nghiệm không gián đoạn trên tất cả các nền tảng. Kiến trúc Flutter Kiến trúc của Flutter chủ yếu gồm bốn thành phần cốt lõi:  Động cơ Flutter (Flutter engine): Là phần quan trọng nhất của Flutter, nó điều khiển việc vẽ giao diện người dùng, tương tác với nền tảng và quản lý trạng thái ứng dụng.  Thư viện nền tảng (Foundation Library): Cung cấp gồm các lớp và hàm để tương tác với các tính năng cơ bản của hệ thống, bao gồm điều khiển I/O, địa phương hóa và truy cập vào các tính năng nền tảng.

 Vật dụng (Widgets): Đây là các thành phần cơ bản của giao diện người dùng trong Flutter, được sử dụng để xây dựng và tổ chức giao diện.  Thiết kế các widget cụ thể (Design Specific Widgets): Là các widget được thiết kế sẵn theo các quy tắc thiết kế cụ thể như Material Design hoặc Cupertino, giúp tạo ra giao diện có cấu trúc và diễn đạt theo đúng phong cách của từng nền tảng. Flutter engine Một cổng đã được phát triển để hỗ trợ việc chạy các ứng dụng di động chất lượng cao, được viết bằng ngôn ngữ C++. Cổng này tích hợp những thư viện chính của Flutter như animation, đồ họa, tệp và mạng I/O, cùng với kiến trúc plugin và tính năng trợ năng.

Ngoài ra, nó cung cấp sự hỗ trợ cho việc phát triển, biên dịch và chạy các ứng dụng Flutter thông qua thời gian chạy Dart. Để hiển thị đồ họa ở mức độ thấp, cổng này sử dụng thư viện đồ họa mã nguồn mở từ Google, Skia. Thư viện nền tảng (Foundation library) Nó bao gồm tất cả các gói cần thiết để xây dựng các khối cơ bản trong quá trình phát triển ứng dụng Flutter. Các thư viện này được viết bằng ngôn ngữ Dart 1.

Vật dụng (widget) Trong Flutter, mọi thứ được coi như một widget, đây là ý tưởng cốt lõi của framework này. Widget trong Flutter đại diện cho các thành phần giao diện người dùng, chi phối cách hiển thị và tương tác của ứng dụng. Chúng thể hiện một mô tả không thay đổi về một phần của giao diện người dùng và có thể chứa đựng đồ họa, văn bản, hình dạng và animation. Widget trong Flutter có tính tương đồng với các thành phần trong React.

Trong Flutter, ứng dụng chính được coi là một widget, bên trong đó chứa nhiều widget con. Điều này có nghĩa là ứng dụng là widget cao nhất trong cây phân cấp, và giao diện người dùng của nó được tạo thành từ một hoặc nhiều widget con, bao gồm cả những widget con có tính phức tạp. Tính năng này giúp tạo ra giao diện người dùng phức tạp một cách dễ dàng và linh hoạt. 2 Kiến trúc của Flutter Trong ví dụ trên, chúng ta thấy rằng mọi thành phần đều được xây dựng dưới dạng các widget, mỗi widget có thể chứa các widget con.

Do đó, ứng dụng Flutter tự nó cũng được xem như là một widget, với khả năng chứa các widget con để tạo ra giao diện người dùng phức tạp. Thiết kế các widget cụ thể Framework Flutter cung cấp hai bộ widget phù hợp với các ngôn ngữ thiết kế cụ thể. Đó là Material Design, được áp dụng cho các ứng dụng Android, và Cupertino Style, phù hợp cho các ứng dụng iOS. Giới thiệu về ngôn ngữ lập trình Dart Dart là một ngôn ngữ lập trình được phát triển bởi Google, chủ yếu được thiết kế để xây dựng ứng dụng web, di động, và server.

Dựa trên cú pháp của nhiều ngôn ngữ lập trình khác như C, Java, JavaScript, Dart mang lại một môi trường lập trình hiện đại và linh hoạt. 6 Dưới đây là một số đặc điểm và ưu điểm chính của Dart:  Đa nền tảng (Cross-platform): Dart có thể được sử dụng để phát triển ứng dụng cho nhiều nền tảng như web (bằng Dart web), di động (với Flutter), và cả server.  Lập trình hướng đối tượng (OOP): Dart hỗ trợ lập trình hướng đối tượng với các tính năng như class, object, inheritance, và encapsulation.  Thực thi trên máy ảo Dart (Dart VM): Dart có thể được thực thi trực tiếp trên Dart VM, điều này giúp tăng cường hiệu suất của ứng dụng.

 Cú pháp đơn giản: Cú pháp của Dart là dễ đọc và dễ hiểu, giúp người lập trình dễ dàng tìm hiểu và sử dụng ngôn ngữ này.  Thuận lợi cho lập trình web: Dart được thiết kế để làm việc cùng với các trình duyệt web hiện đại và có thể thực hiện trên cả client và server.  Flutter Framework: Dart được sử dụng làm ngôn ngữ chính cho Flutter, một framework UI đa nền tảng cho việc xây dựng ứng dụng di động chất lượng cao.  Hỗ trợ rộng rãi: Dart có cộng đồng người sử dụng đông đảo và sự hỗ trợ chính thức từ Google, điều này giúp giải quyết vấn đề và cung cấp tài nguyên phong phú cho những người phát triển.

Dart đặc biệt khi kết hợp với Flutter, đã trở thành một lựa chọn mạnh mẽ cho việc phát triển ứng dụng di động và web hiện đại. Tổng quan về UML 1. UML là gì UML là viết tắt của "Unified Modeling Language" (Ngôn ngữ mô hình hóa thống nhất), là một ngôn ngữ đồ họa được sử dụng để mô hình hóa, thiết kế và trình 7 bày các phần mềm. UML cung cấp một tập hợp các biểu đồ và ký hiệu để diễn giải cấu trúc và hành vi của một hệ thống phần mềm.

UML được phát triển bởi Object Management Group (OMG) vào những năm 1990 và đã trở thành một chuẩn công nghiệp trong việc mô hình hóa phần mềm. UML không chỉ được sử dụng trong giai đoạn phát triển phần mềm, mà còn trong việc tài liệu hóa, truyền thông và hiểu cấu trúc của hệ thống. Một số dạng biểu đồ UML phổ biến UML cung cấp một loạt các biểu đồ để mô hình hóa các khía cạnh khác nhau của hệ thống phần mềm. Dưới đây là một số biểu đồ UML phổ biến:  Biểu đồ lớp (Class Diagram): Mô tả cấu trúc của các lớp trong hệ thống, bao gồm các thuộc tính, phương thức và mối quan hệ giữa chúng.

 Biểu đồ Use Case (Use Case Diagram): Mô tả các tác nhân (actors) và các ca sử dụng (use cases) của hệ thống, giúp hiểu các chức năng và yêu cầu của người dùng.  Biểu đồ Tuần tự (Sequence Diagram): Mô tả các tương tác giữa các đối tượng trong hệ thống theo thứ tự thời gian, giúp hiểu các quá trình xử lý và luồng điều khiển của hệ thống.  Biểu đồ Trạng thái (State Diagram): Mô tả các trạng thái và các sự kiện mà hệ thống có thể trải qua, giúp hiểu hành vi và luồng trạng thái của hệ thống.  Biểu đồ hoạt động (Activity Diagram): Mô tả các hoạt động và luồng điều khiển của hệ thống, giúp hiểu quy trình và tương tác giữa các hoạt động.

Ứng Dụng của UML UML được sử dụng trong mọi giai đoạn của quy trình phát triển phần mềm, từ việc phân tích và thiết kế ban đầu cho đến triển khai và kiểm thử. Nó cung cấp một cách tiêu chuẩn và hợp nhất để mô hình hóa hệ thống phần mềm, giúp tăng cường sự hiểu biết và giao tiếp giữa các thành viên trong nhóm phát triển và giữa các bên liên 8 quan như khách hàng và nhà phát triển. UML cũng hỗ trợ tái sử dụng mã, cải thiện khả năng bảo trì và nâng cao chất lượng của phần mềm. Tổng quan về Android Studio Android Studio, là một trình biên soạn mã chính thức dành cho việc phát triển ứng dụng Android, được coi là ngôi nhà của các nhà phát triển sáng tạo.

Với nền tảng mạnh mẽ của IntelliJ IDEA, nó mang đến cho người dùng một môi trường linh hoạt và tiện ích, giúp họ tạo ra và quản lý các ứng dụng một cách hiệu quả. Android Studio đem lại sự thuận tiện và linh hoạt trong việc làm việc với mã nguồn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu này cung cấp cái nhìn tổng quan về các nghiên cứu và phát triển phần mềm trong lĩnh vực công nghệ thông tin, đặc biệt là trong việc ứng dụng các công cụ và phương pháp hiện đại để nâng cao hiệu quả sản xuất và quản lý. Một số điểm nổi bật bao gồm việc điều khiển hộp số tự động bằng phần mềm LabVIEW, nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể, cũng như tích hợp kế toán quản trị cho các doanh nghiệp vừa và nhỏ tại Việt Nam.

Độc giả có thể tìm hiểu sâu hơn về các chủ đề này qua các tài liệu liên quan như Luận văn thạc sĩ hcmute điều khiển hộp số tự động bằng phần mềm labview, nơi trình bày chi tiết về ứng dụng LabVIEW trong điều khiển hệ thống. Bên cạnh đó, tài liệu Luận văn thạc sĩ hcmute nghiên cứu và phát triển phần mềm phân tích vật liệu tinh thể bằng nhiễu x quang sẽ giúp bạn hiểu rõ hơn về công nghệ phân tích vật liệu. Cuối cùng, tài liệu Luận văn thạc sĩ định hướng tích hợp kế toán quản trị cho các phần mềm kế toán áp dụng cho doanh nghiệp việt nam có quy mô vừa và nhỏ luận văn thạc sĩ sẽ cung cấp cái nhìn sâu sắc về việc áp dụng kế toán trong phần mềm cho doanh nghiệp.

Những tài liệu này không chỉ mở rộng kiến thức của bạn mà còn cung cấp những góc nhìn đa dạng về các ứng dụng công nghệ trong thực tiễn.