Hiện nay, đời sống của con người ngày càng cao, các dịch vụ tiện ích ngày mới ngày càng được sinh ra. Hơn thế nữa trong tình hình dịch bệnh căng thẳng thì các dịch vụ, tiện ích làm hạn chế con người tiếp xúc nơi đông người lại càng được đặt lên hàng đầu dịch vụ đặt đồ ăn trực tuyến là một trong số đó. Không những giải quyết bài toán mùa dịch của toàn nhân loại, mà đây có thể coi như một sàn thương mai ẩm thực giúp các quán ăn, nhà hàng có thể về đồ ăn giúp quảng bá những món ăn đến gần với khách hàng hơn. Với những kiến thức mà thầy Nguyễn Thanh Bình đã chỉ dạy, nhóm chúng em đã phát triển ứng dụng “Đặt đồ ăn” trên thiết bị android. Vì kinh nghiệm còn hạn chế nên phần mềm chưa được hoàn chỉnh, mong thầy sẽ giúp đỡ và cho chúng em thêm những ý kiến để chúng em tiếp tục phát triển thêm
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO LẬP TRÌNH NÂNG CAO
Đề tài:
THIẾT KẾ ỨNG DỤNG ĐẶT ĐỒ ĂN TRÊN THIẾT BỊ
ANDROID
Giảng viên hướng dẫn: ThS Nguyễn Thanh Bình
Sinh viên thực hiện:
1 Đinh Hữu Đức Hiếu 20182508
Trang 2LỜI MỞ ĐẦU
Hiện nay, đời sống của con người ngày càng cao, các dịch vụ tiện ích ngàymới ngày càng được sinh ra Hơn thế nữa trong tình hình dịch bệnh căng thẳngthì các dịch vụ, tiện ích làm hạn chế con người tiếp xúc nơi đông người lại càngđược đặt lên hàng đầu dịch vụ đặt đồ ăn trực tuyến là một trong số đó
Không những giải quyết bài toán mùa dịch của toàn nhân loại, mà đây có thểcoi như một sàn thương mai ẩm thực giúp các quán ăn, nhà hàng có thể về đồ ăngiúp quảng bá những món ăn đến gần với khách hàng hơn Với những kiến thức
mà thầy Nguyễn Thanh Bình đã chỉ dạy, nhóm chúng em đã phát triển ứng dụng
“Đặt đồ ăn” trên thiết bị android Vì kinh nghiệm còn hạn chế nên phần mềmchưa được hoàn chỉnh, mong thầy sẽ giúp đỡ và cho chúng em thêm những ýkiến để chúng em tiếp tục phát triển thêm
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 2
DANH MỤC BẢNG 5
DANH MỤC HÌNH VẼ 5
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 6
1.1 Đặt vấn đề 6
1.2 Đề xuất hệ thống 6
1.3 Phân tích tính khả thi 7
1.3.1 Khả thi về kỹ thuật 7
1.4 Các công cụ và ngôn ngữ sử dụng 8
1.4.1 Java 8
1.4.2 Andorid Studio 9
1.4.3 Fire Base 13
CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 17
2.1 Phân tích hệ thống 17
2.1.1 Yêu cầu chức năng 17
2.1.2 Yêu cầu phi chức năng 17
2.2 Sơ đồ Use Case tổng quan hệ thống 18
2.3 Mô tả các Use Case trong hệ thống 18
2.3.1 Use case quản lý danh sách sản phẩm 18
2.3.2 Use case quản lý đơn hàng 20
2.3.3 Use case đăng nhập 21
2.3.4 Use case đăng ký 21
2.3.5 Use case đặt món 22
2.3.6 Use case Cập nhật thông tin cá nhân 22
2.4 Sơ đồ Class diagram 23
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 24
3.1 Thiết kế tổng thể 24
3.2 Thiết kế các lớp 24
3.3 Thiết kế cơ sở dữ liệu 25
3.3.1 Thực thể khách hàng 25
3.3.2 Thực thể chi tiết đơn hàng 26
3.3.3 Thực thể món ăn 26
3.3.4 Thực thể đơn hàng 26
3.3.5 Sơ đồ ERD 27
3.4 Thiết kế giao diện 28
Trang 43.4.2 Đối với cửa hàng 31
KẾT LUẬN 34 TÀI LIỆU THAM KHẢO 35
Trang 5DANH MỤC BẢNG
Bảng 1 Use case quản lý danh sách sản phẩm
Bảng 2 Use case quản lý đơn hàng
Bảng 3 Use case đăng nhập
Bảng 4 Use case đăng ký
Bảng 5 Use case đặt món
Bảng 6 Use case Cập nhật thông tin cá nhân
Bảng 7 Thiết kế các lớp
DANH MỤC HÌNH VẼ
Hình 1 Cấu trúc project Android studioHình 2 Thư mục quản lý file giao diện đồ họa
Hình 3 Sơ đồ use case của hệ thống
Hình 4 Sơ đồ Class diagram
Hình 5 Sơ đồ ERD
Hình 6 Giao diện khi mở ứng dụng
Hình 7 Giao diện đăng nhập đối với khách hàng
Hình 8 Giao diện đăng ký đối với khách hàng
Hình 9 Giao diện danh sách món ăn
Hình 10 Giao diện danh sách món ăn đang đặt
Hình 11 Giao diện danh sách món ăn đã giao
Hình 12 Giao diện thông tin của khách hàng
Hình 13 Giao diện đăng nhập với cửa hàng
Hình 14 Giao diện quản lý danh sách món ăn được đặt
Hình 15 Giao diện danh sách món ăn đã giao
Hình 16 Giao diện quản lý danh sách món ăn trong menu
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Đặt vấn đề
− Hiện nay, đời sống của con người ngày càng cao, các dịch vụ tiện ích ngàymới ngày càng được sinh ra Hơn thế nữa trong tình hình dịch bệnh căngthẳng thì các dịch vụ, tiện ích làm hạn chế con người tiếp xúc nơi đôngngười lại càng được đặt lên hàng đầu ,dịch vụ đặt đồ ăn trực tuyến là mộttrong số đó
− Không những giải quyết bài toán mùa dịch của toàn toàn cầu, mà đây có thểcoi như một sàn thương mai ẩm thực giúp các quán ăn, nhà hàng có thể về đồ
ăn giúp quảng bá những món ăn đến gần với khách hàng hơn
1.2 Đề xuất hệ thống
− Từ những khảo sát ban đầu đề xuất hệ thống được đưa ra như sau:
Tên dự án: Ứng dụng đặt đồ ăn trên thiết bị android
Tính cấp thiết: Như tình hình dịch bệnh hạn chế tụ tập nơi đôngngười, phần mềm sẽ hỗ trợ các khác hàng đặt đồ ăn, hỗ trợ các cửahàng mở rộng thị trường, phạm vi bán hàng hơn
Người dùng: Khách hàng (người đặt đồ ăn), Cửa hàng( Đơn vị cungcấp đồ ăn và giao đồ ăn)
− Các chức năng:
+ Đối với khách hàng:
Đăng kí tài khoản
Đăng nhập tài khoản
Cập nhật thông tin cá nhân
Các chức năng: đặt, hủy đơn hàng, xác nhận nhận đồ ăn thành công.+ Đối với cửa hàng:
Đăng nhập tài khoản
Quản lí đơn hàng:
Trang 7 Xem danh sách đơn hàng đang chờ xác nhận.
Xác nhận đơn hàng được đặt
Xem danh sách đơn hàng đã hoàn thành
Quản lí danh sách món ăn :
Xem danh sách các món ăn trong cửa hàng
Chỉnh sửa thông tin các món ăn có trong danh sách
Thêm món ăn mới vào danh sách món ăn
1.3 Phân tích tính khả thi
1.3.1 Khả thi về kỹ thuật
− Việc phân tích tính khả thi về kỹ thuật nhằm giúp nhóm đảm bảo việc mởrộng hay xây dựng hệ thống mới có thể được thiết kế, phát triển và cài đặtthành công Tính khả thi về mặt kỹ thuật được xác định dựa trên các yếu tốsau:
Hệ thống hoàn toàn khả thi với các công nghệ hiện tại do các công cụ
và phần mềm phát triển ứng dụng trên các nền tảng Mobile là hoàntoàn có sẵn để tận dụng
− Quy mô dự án:
Nhóm phát triển gồm 5 thành viên, mỗi thành viên đều được giaonhiệm vụ phân tích, phát triển cho các chức năng phục vụ hệ thống đểhoàn thành dự án
Trang 81.4.1.2 Java là gì?
Là một ngôn ngữ lập trình huớng đối tượng (OOP) và dựa trên các lớp(class).Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mãnguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế đểbiên dịch mã nguồn thành bytecode,bytecode sau đó sẽ được môi trường thực thi(runtime environment) chạy
Tính đa hình (Polymorphism): cho phép một phương thức có các tác độngkhác nhau trên nhiều loại đối tượng khác nhau Với tính đa hình, nếu cùngmột phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nóđưa đến những kết quả khác nhau Bản chất của sự việc chính là phương thứcnày bao gồm cùng một số lượng các tham số
Tính kế thừa (Inheritance): Điều này cho phép các dối tượng chia sẻ hay mởrộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại
Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những chitiết của một đối tượng với người sử dụng đối tượng ấy
Trang 9 Bên cạnh đó java còn có nột số đặc tính khác:
Độc lập nền (Write Once, Run Anywhere):Không
Giống như nhiều ngôn ngữ lập trình khác như C và C++, khi Java được biêndịch, nó không được biên dịch sang mã máy cụ thể, mà thay vào dó là mãbytecode chạy trên máy ảo Java (JVM) Điều này đồng nghĩa với việc bất cứthiết bị nào có cài đặt JVM sẽ có thể thực thi được các chương trình Java
Đơn giản:học Java thật sự dễ hơn nhiều so với C/C++, nếu bạn đã quen vớicác ngôn ngữ lập trình hướng đối tượng thì việc học Java sẽ dễ dàng hơn.Java trở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa vàphép toán con trỏ từ C/C++
Bảo mật: Java hỗ trợ bảo mật rất tốt bởi các thuật toán mã hóa như mã hóamột chiều (oneway hasing) hoặc mã hóa công cộng (public key)
Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thể thựcthi nhiều task cùng lúc Tính năng này thường được xử dụng rất nhiều tronglâp trình game
Hiêu suất cao nhờ vào trình thu gom rác (garbage collection), giải phóng bộnhớ đối với các đối tượng không được dùng đến
Linh hoạt: Java được xem là linh hoạt hơn C,C++ vì nó được thiết kế để thíchứng với môi trường phát triển
1.4.2 Andorid Studio
1.4.2.1 Giới thiệu
Android Studio lần đầu tiên được công bố tại hội nghị Google I/O vàonăm2013 và được phát hành cho công chúng vào năm 2014 sau nhiều phiên bảnbeta khác nhau Trước khi được phát hành, các nhà phát triển Android thường sửdụng các công cụ như Eclipse IDE, một IDE Java chung cũng hỗ trợ nhiều ngônngữ lập trình khác
Có nhiều công cụ để phát triển Android nhưng đến nay công cụ chínhthức vàmạnh mẽ nhất là Android Studio Đây là IDE (Môi trường phát triển tích
Trang 10hợp) chính thức cho nền tảng Android, được phát triển bởi Google và được sửdụng để tạo phần lớn các ứng dụng mà bạn có thể sử dụng hàng ngày
1.4.2.2 Các thành phần
Test Modules:
Những modules này chứa mã để kiểm tra ứng dụng và xây dựng bên trongứng dụng kiểm tra mà nó chạy trên thiết bị Mặc định, Android studio tạo raandroidTest module chèn trong JUnit tests
Library Modules:
Những modules này chứa các mã nguồn có thể chia sẻ trong ứng dụngAndroid và nguồn tài nguyên đó ta có thể tham chiếu đến dự án Android.Điều này rất hữu ích khi chúng ta muốn sử dụng lại mã nguồn Librarymodules không được cài đặt trên thiết bị, tuy nhiên chúng được nhúng trongtập tin apk tại thời điểm build tập tin apk
App Engine Module:
Dùng để hêm thuộc tính điện toán đám mây đến Thuộc tính này cho phépchúng ta áp dụng các chức năng như sao lưu dữ liệu người dùng tới điện toánđám mây, nội dung máy chủ tới thiết bị di động, tương tác thời gian thực
- Các tập tin trong ứng dụng android:
idea: Thư mục cái đặt IntelliJ IDEA.
app :Thư mục chứa các modules và các tệp tin
build :Thư mục lưu trữ đầu ra khi build cho tất cả các modules của dự
án
gradle : Chứa các tệp tin gradler-wrapper.
gitigrone :Sẽ bỏ qua các tệp tin mà Git nên bỏ qua
build.gradle :Cho phép chỉnh sửa các thuộc tính cho hệ thống build các
Trang 11+gramdlew.bat :Khởi động cài đặt các tệp tin gradle cho Window
+ local.properties :Tùy chỉnh các thuộc tính cụ thể trong máy tính cho hệ
thống build, như đường dẫn SDK Không nên duy trì khi thay đổi mã nguồn
iml :Tệp tin module được tạo bởi IntelliJ IDEA để lưu thông tin
module
+ settings.gradle :Cài đặt cụ thể các sub-projects để build
Hình 1 Cấu trúc project Android studio
- Android Application Modules
Các modules của ứng dụng Android được bao gồm trong tệp tin apk tệp tin
cơ sở trên việc cài đặt hệ thống build Chúng chứa các thứ của ứng dụng như mãnguồn, các tệp tin nguồn Hầu hết mã nguồn và các tệp tin nguồn được sinh rabởi mặc định, trong ứng dụng android gồm các thư mục và tệp tin như sau:
+libs/ :Chứa các thư việc chỉ được dùng trong ứng dụng, lưu trữ module
chính của ứng dụng
Trang 12+src/ :Chứa mã nguồn của ứng dụng như các tệp tin Activity, fragment mà
nó sẽ lưu dưới dạng src/main/java/ActivityName>.java và các tệp tin khácnhư java hoặc aidl
main/java/com.>project<.>app< :Chứa mã nguồn java của ứng dụng +main/jni :Chứa mã nguyên thủy sử dụng Java Native Interface (JNI).
+main/gen/ :Chứa các tệp tin java được sinh ra bởi Android Studio, như tệp
tin R.java và các giao diện được tạo từ tệp tin AIDL
+main/assets/ :Thư mục này rỗng, bạn có thể sử dụng để lưu trữ các tệp tin
như Font, xml, mp3, và sử dụng AssetManager để đọc các tệp tin này
+main/res/ :Chứa nguồn tài nguyên của ứng dụng như các tệp
tin Drawable, các tệp tin layout, và giá trị
+string.anim/ :Chứa các tệp tin XML biên dịch các đối tượng animation +color/ :Chứa tệp tin XML mô tả color.
+drawable/ :Chứa các tệp tin hình ảnh (PNG, JPEG, GIF), và các tệp tin
XML là các đối tượng Drawable chứa các trạng thái khác nhau
+mimap/ :Chứa icon launcher của ứng dụng.
+layout/ :Chứa các tệp tin về giao diện màn hình.
+menu/ :Chứa tệp tin XML định nghĩa menu của ứng dụng
+raw/ : Chứa các tệp tin tương tự như trong thư mục assets/ Các tệp tin như
MP3, Ogg
+values/ :Chứa các tệp tin XML định nghĩa nguồn tài nguyên các kiểu
phầntử XML Không giống như các nguồn tài nguyên khác trong thư mụcres/,nguồn tài nguyên trong thư mục values/ không tham chiếu bởi các tệp tinmặc định Thay vì các phần tử XML điều khiển làm thế nào các nguồn tàinguyên định nghĩa trong tệp tin XML đặt trong lớp R
+xml/ :Chứa các tệp tin cấu hình của ứng dụng, các tệp tin
như PreferenceScreen, AppWidgetProviderInfo
Trang 13+AndroidManifest.xml :Tệp tin điều khiển mô tả các thành phần của ứng
dụng, nó mô tả các activities, service, intent receivers và thành phần providers.Các quyền ứng dụng yêu cầu truy cập
Hình 2 Thư mục quản lý file giao diện đồ họa
Firebase là một dịch vụ hệ thống backend được Google cung cấp sẵn trênnền tảng Android , IOS , Website
Lịch sử phát triển.
Firebase phát triển từ Envolve, một công ty khởi nghiệp trước đó doJames Tamplin và Andrew Lee thành lập vào năm 2011 Họ thành lậpFirebase như một công ty vào tháng 9 - 2011 Đến tháng 4 năm 2012
Trang 14Firebase đã lần đầu tiên được ra mắt công chúng Sản phẩm đầu tiên củaFirebase là Cơ sở dữ liệu thời gian thực (Firebase realtime database), mộtAPI đồng bộ hóa dữ liệu ứng dụng trên các thiết bị iOS, Android và Web,đồng thời lưu trữ trên đám mây của Firebase Sản phẩm hỗ trợ các nhà pháttriển phần mềm trong việc xây dựng các ứng dụng cộng tác, theo thời gianthực
1.4.3.2 Những tính năng chính của Firebase
Firebase Authentication
Hoạt động nổi trội nhất của Firebase chính là xây dựng những bước xác dụngngười dùng thông qua Email, Facebook, Twitter, GitHub hay Google Ngoài ra,hoạt động Firebase Authentication cũng hỗ trợ xác thực nặc danh cho nhữngứng dụng Hoạt động xác thực của Firebase có thể giúp cho thông tin cá nhâncủa những người sử dụng được an toàn hơn Điều này cũng đảm bảo tài khoản
và các thông tin cá nhân của người dùng không bị đánh cắp
Firebase Hosting
Cách thức hoạt động tiếp theo được nhắc đến là Firebase Hosting Đây là mộthoạt động được phân phối thông qua tiêu chuẩn công nghệ bảo mật SSl từ hệthống mạng CDN. CDN chính là cụm từ viết tắt của Content Delivery Networkchính là một mạng lưới máy chủ giúp lưu giữ lại các bản sao của các nội dungtĩnh, Những nội dung tĩnh này nằm ở bên trong website và trực tiếp phân phốiđến các máy chủ PoP khác Mạng lưới của máy chủ CDN được thiết đặt ở khắpnơi trên thế giới Từ máy chủ Pop – Points of Presence, nguồn dữ liệu sẽ đượcgửi đi đến những người dùng cuối cùng.
Firebase Realtime Database
Firebase Realtime Database có dạng một JSON đã được đồng bộ thời gian đếnvới tất cả các kết nối client Để có được hoạt động này thì các lập trình viên cầnphải đăng ký tài khoản ở trên Firebase Dữ liệu ở trong database sẽ tự động cậpnhật một cách liên tục khi phát triển ứng dụng Sau khi đã được cập nhật thìnhững dữ liệu này sẽ được truyền tải thông qua các kết nối SSl có 2048 bit.
Trang 15 Firebase Cloud Storage
Firebase Cloud Storage là một không gian lưu trữ dữ liệu, nó giống như mộtchiếc ổ cứng Bạn có thể upload và download các loại file bạn muốn Đó có thể
là một file ảnh, hay file văn bản, zip, …Phân biệt Firebase cloud storage vớiFirebase realtime database.Câu trả lời rất đơn giản, Firebase là một cơ sở dữliệu- nơi bạn có thể lưu trữ các thông tin về tài khoản người dùng, hay các thôngtin về một mặt hàng nếu bạn xây dựng một app bán hàng.Còn với Firebase cloudstorage, chúng là nơi lưu trữ những file, đó có thể là những hình ảnh về một mặthàng chẳng hạn Bạn có thể lưu trữ link tới file hình ảnh trong database, còn fileảnh đặt trong cloud storage Vậy là client có thể dễ dàng truy vấn và sử dụng
1.4.3.3 Ưu điểm và Nhược điểm
Ưu điểm
Nền tảng Firebase được sử dụng rộng khắp nơi không chỉ là điều ngẫu nhiên.Bởi lẽ ứng dụng này sở hữu riêng cho mình nhiều ưu điểm vô cùng nổi bật Điểnhình:
Sử dụng dễ dàng: Những người dùng có thể đăng ký một tài khoản
Firebase thông qua tài khoản Google Đồng thời, người cùng cũng có thể
sử dụng nền tảng này trong quá trình phát triển ứng dụng một cách đơngiản nhất.
Tốc độ phát triển nhanh: Ưu điểm tiếp theo chính là Firebase hỗ trợ cho
việc phát triển ứng dụng rất nhanh chóng Điều này sẽ giúp lập trình viêngiảm bớt được thời gian để phát triển cũng như tiếp thị ứng dụng.
Cung cấp nhiều dịch vụ: Firebase còn cung cấp đa dịch vụ cho mục đích
phát triển trang web Người dùng có thể lựa chọn database Firestore hoặcRealtime theo đúng ý muốn của mình.
Nền tảng cho Google phát triển: google firebase là gì? Firebase được
Google mua lại và trở thành một phần của Google Ứng dụng này sẽ khaithác được triệt để sức mạnh cũng như các dịch vụ hiện đang sẵn có củaGoogle.
Trang 16 Giao diện người dùng được chú trọng: Firebase sẽ cho phép các lập
trình viên tập trung hơn vào việc phát triển giao diện của người dùngthông qua kho Backend mẫu vô cùng đa dạng.
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.
Tạo lưu lượng truy cập: Firebase App sẽ hỗ trợ việc tạo lập các chỉ mục.
Đồng thời, Firebase cũng sẽ giúp nâng cao thứ hạng của ứng dụng ở trênbảng xếp hạng của Google Nhờ vậy mà lượt traffic sẽ tăng lên
Nhược điểm
Firebase không là mã nguồn mở: Điều này sẽ giúp cho ứng dụng trở
thành một lựa chọn không quá tối ưu đối với nhiều nhà phát triển Ngườidùng không thể sửa đổi được mã nguồn Firebase.
Người dùng không truy cập được mã nguồn: Đối với những ứng dụng
lớn thì việc chuyển đổi sang các nhà cung cấp khác thực sự không dễdàng Để làm được điều này thì toàn bộ Backend cần phải được xây dựnglại từ đầu. .
Firebase chỉ hoạt động với CSDL NoSQL: Người dùng sẽ không thể xử
lý được dữ liệu một cách nhanh chóng Firebase chỉ sử dụng JSON và hầunhư không có SQL Chính vì vậy, để di chuyển từ cơ sở dữ liệu sẽ không
hề dễ dàng.
Firebase chỉ chạy trên Google Cloud: Firebase trở thành một phần của
Google và tất cả cơ sở hạ tầng của ứng dụng đều hoạt động trên GoogleCloud Người dùng không thể chạy ứng dụng trên những đơn vị cung cấpđám mây khác.
Truy vấn khám chậm: Không phải các cơ sở dữ liệu đều phù hợp cho
mọi trường hợp và tất nhiên Cloud Firestore cũng không là ngoại lệ Điềunày khiến bạn rất mất thời gian khi sử dụng ứng dụng
Trang 17 Cập nhập thông tin các nhân
Tìm kiếm , đặt hàng, chọn phương thức thanh toán
Xem danh sách lịch sử đặt hàng
− Đối với cửa hàng:
Cập nhập thông tin cửa hàng
Quản lí danh sách món ăn trong gian hàng
Nhận ,hủy đơn hàng
Xem danh sách đơn hàng
2.1.2 Yêu cầu phi chức năng
− Về giao diện: giao diện đơn giản, dễ tiếp cận với người dùng
− Về bảo mật: đảm bảo an toàn bảo mật dữ liệu;
− Đáp ứng được khả năng truy xuất và xử lý phục vụ nhu cầu đặt hàng, giaohàng
Trang 182.2 Sơ đồ Use Case tổng quan hệ thống
Hình 3 Sơ đồ use case của hệ thống 2.3 Mô tả các Use Case trong hệ thống
2.3.1 Use case quản lý danh sách sản phẩm
Use Case Name: Quản lý danh sách
Primary Actor: Cửa hàng Use Case Type: Chi tiết, cần thiết
Stakeholders and Interests:
- Cửa hàng muốn quản lí thông tin của danh sách món ăn
- Cửa hàng có thể thêm mới món ăn, chỉnh sửa thông tin món ăn cũ
Brief Description: Use case mô tả cách quản lý danh sách món ăn trong hệ
thống
Normal Flow of Events:
1 Cửa hàng vào mục quản lý danh sách món ăn