Chương 1 GIỚI THIỆU1.1 Tên đề tài Xây dựng ứng dụng di động hướng dẫn nấu ăn 1.2 Tổng quan về đề tài Hiện nay, trong một xã hội mà nhịp sống luôn rất nhanh, nhiều người có nhu cầu tự n
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN Khoa Khoa học máy tính
ĐỒ ÁN CƠ SỞ 3
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG
HƯỚNG DẪN NẤU ĂN
Sinh viên thực hiện: ĐẶNG THỊ NHUNG
NGUYỄN TRẦN MAI THI Giảng viên hướng dẫn: ThS TRẦN ĐÌNH SƠN
Đà Nẵng, tháng 06 năm 2021
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN Khoa Khoa học máy tính
ĐỒ ÁN CƠ SỞ 3
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG
HƯỚNG DẪN NẤU ĂN
Sinh viên thực hiện: ĐẶNG THỊ NHUNG
NGUYỄN TRẦN MAI THI Giảng viên hướng dẫn: ThS TRẦN ĐÌNH SƠN
Đà Nẵng, tháng 06 năm 2021
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Giảng viên hướng dẫn
ThS Trần Đình Sơn
Trang 4LỜI CẢM ƠN Qua một thời gian nghiên cứu, tìm hiểu bài toán và tiến hành thực hiện đến nay, đề
tài “Xây dựng ứng dụng di động hướng dẫn nấu ăn” đã hoàn thành Chúng em xin
chân thành cảm ơn các thầy cô trong trường Đại học Công nghệ thồn tin và Truyềnthông Việt – Hàn đã truyền đạt những kiến thức cho chúng em trong suốt quá trình học.Đặc biệt là các thầy các cô trong khoa Công nghệ thông tin đã tận tình giảng dạy, chỉbảo, trang bị cho em những kiến thức cần thiết nhất trong suốt quá trình học tập vànghiên cứu tại khoa, đã tạo mọi điều kiện thuận lợi giúp em thực hiện đề tài này
Đặc biệt chúng em xin chân thành gửi lời cảm ơn sâu sắc đến Ths.Trần Đình Sơn,người đã tận tình hướng dẫn, trực tiếp chỉ bảo và tạo mọi điều kiện giúp đỡ chúng emtrong suốt quá trình làm đồ án cơ sở 3
Trong quá trình thực hiện đề tài, chúng em đã cố gắng rất nhiều nhưng vẫn khôngtránh khỏi những thiếu sót cũng như những hạn chế nhất định Em mong nhận được sựđóng góp ý kiến, chỉ bảo tận tình và cảm thông của quí thầy cô và các bạn để đề tài củachúng em hoàn thiện hơn và thiết thực hơn
Chúng em xin chân thành cảm ơn!
Trang 5LỜI MỞ ĐẦU
Từ ngày xưa, người Việt chúng ta đã có truyền thống cả gia đình quây quần bênnhau trong bữa cơm, cùng ăn, cùng trò chuyện Hay trong những ngày Tết, ngày giỗ,hình ảnh cả gia đình cùng nhau ăn bữa cơm ấm cúng luôn có ý nghĩa đặc biệt trong tâmthức mỗi người Không phải không có lý do mà người ta vẫn thường nói “Giữ lửa chobếp, giữ hơi ấm cho gia đình” phải không nào? Cho dù chúng ta đang sống tự lập, hayđang phải xa quê, việc chịu khó nấu những bữa ăn và cùng mọi người quây quần ăncơm, trò chuyện cũng tạo cảm giác thân thương lạ kỳ, gắn kết mọi người gần nhau hơn
Vì vậy, chúng em quyết định thực hiện đề tài: “Xây dựng ứng dụng di động hướng dẫnnấu ăn” giúp cho người nội trợ sẽ dễ dàng hơn trong việc nấu ăn hàng ngày của mình
Từ công việc chuẩn bị các nguyên liệu, phải chọn món ăn hàng ngày hoặc lựa chọnnhững thiết bị dùng bếp sẽ trở nên dễ dàng hơn Mọi người chỉ cần truy cập vào ứngdụng này tìm hiểu, học hỏi, ghi chép và có thể làm theo hướng dẫn một cách dễ dàng
dù bất cứ ở đâu, bất cứ khi nào Bằng việc sử dụng các ngôn ngữ lập trình đã học nhưJava à hệ thong cơ sở dữ liệu SQLite
Trang 6MỤC LỤC
Trang
CHƯƠNG 1 GIỚI THIỆU 1
1.1 Tên đề tài 1
1.2 Tổng quan về đề tài 1
1.3 Phương pháp nghiên cứu 1
1.4 Mục đích của đề tài 2
1.6 Công cụ hỗ trợ 3
1.6.1 Các phần mềm lập trình và công cụ hỗ trợ 3
1.6.2 Tìm hiểu về Android Studio 3
1.6.3 Tìm hiểu về SQLite 3
1.5.4 Tìm hiểu về XML 4
1.5.5 Tìm hiểu về Java 4
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 6
2.1 Phân tích đề tài 6
2.2 Xác định tác nhân 6
2.3 Xác định các ca sử dụng …6
2.4.Yêu cầu các chức năng có trong ứng dụng 6
2.4.1.Tìm kiếm công thức món ăn……….6
2.4.2 Đăng ký tài khoản 7
2.4.3 Đăng nhập hệ thống 7
2.4.4.Quản lí bài viết……….8
2.5 Biểu đồ use case ……….8
CHƯƠNG 3 TRIỂN KHAI XÂY DỰNG 16
3.1 Giao diện đăng ký 16
3.2 Giao diện chính 17
3.3 Giao diện chính 18
3.4 Giao diện tìm kiếm 19
3.5 Giao diện xóa công thức món ăn của admin 20
3.6 Giao diện xem chi tiết công thức món ăn 21
3.7 Giao diện đăng bài công thức món ăn của admin 22
3.8 Giao diện phần thông tin ứng dụng 23
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 24
Kết quả đạt được 24
Hướng phát triển 24
Trang 7DANH MỤC HÌNH
Trang Hình 2.5.1 Biểu đồ use case mức tổng quát
9
Hình 2.5.2 Biểu đồ use case đăng nhập admin 9
Hình 2.5.3 Biểu đồ use case đăng ký-đăng nhập của khách hàng 10
Hình 2.5.4 Biểu đồ use case Quản lý món ăn 11
Hình 2.5.5 Biểu đồ use case tìm kiếm 11
Hình 2.5.6 Biểu đồ use case công thức 12
Hình 2.6.1 Biểu đồ hoạt động use case đăng ký 12
Hình 2.6.2 Biểu đồ hoạt động use case đăng nhập 13
Hình 2.7.1 Biểu đồ tuần tự use case đăng nhập 14
Hình 2.7.2: Biểu đồ tuần tự use case đăng ký 14
Hình 2.7.3 Biểu đồ tuần tự use case quản lý món ăn 15
Hình 3.1: Giao diện đăng ký 16
Hình 3.2: Giao diện đăng nhâp 17
Hình 3.3: Giao diện chính 18
Hình 3.4: Giao diện tìm hiếm 19
Hình 3.5: Giao diện xóa công thức món ăn của admin 20
Hình 3.6: Giao diện xem chi tiết công thức món ăn 21
Hình 3.7: Giao diện đăng bài công thức món ăn của admin 22
Hình 3.8: Giao diện phàn thông tin úng dụng 23
Trang 8Chương 1 GIỚI THIỆU
1.1 Tên đề tài
Xây dựng ứng dụng di động hướng dẫn nấu ăn
1.2 Tổng quan về đề tài
Hiện nay, trong một xã hội mà nhịp sống luôn rất nhanh, nhiều người có nhu cầu
tự nấu ăn thay vì tìm kiếm hay ăn ở các hàng quán, những chị em phụ nữ ban ngày đilàm, tôi về nhà nên không có nhiêu thời gian để tìm hiểu các món ăn mới lạ, hay nhữngngười đơn giản là ưa thích nâu ăn – cần một nơi để có thể học hỏi các môn ăn mới lạ,đảm bảo tính đa dạng về nội dung Từ đó, chúng em nảy ra ý tưởng xây dụng một ứngdụng giúp những người có nhu cầu về ẩm thực tự nấu, với thời đại công nghệ như hiệnnay, người dùng hoàn toàn có thể học qua các ứng dụng trên điện thoại với công thức
đa dạng và dễ thực hiện
Vì vậy nhằm giúp đỡ những người khó khăn trong việc nấu ăn nhóm chúng em đã
thực hiện đồ án “Xây dựng ứng dụng di động hướng dẫn nấu ăn” Ứng dụng này
giúp người dùng có thể học cách nấu các món ăn một cách dễ học, dễ hiểu và dễ thựchiện chỉ cần thông qua một chiếc smartphone có kết nối internet Ứng dụng được thiết
kế bằng việc sử dụng các ngôn ngữ đã học như Kotlin để lập trình và cơ sở dữ liệuSQLite
Thông qua các tài khoản đã đăng ký, người dùng có thể đăng nhập và tìm kiếmmón ăn mà họ cần học Người quản trị viên đưa các thông tin và hình ảnh cung cấpcác bước thực hiện nấu ăn từ khắp mọi nơi đó lên ứng dụng di động của mình và quản
lý ứng dụng đó Người dùng có thể tải ứng dụng đó và có thể lựa chọn thực đơn hằngngày giúp người dùng có thể tham khảo cách chế biến món ăn một cách nhanh nhất từhình ảnh và hướng dẫn cụ thể một cách miễn phí
1.3 Phương pháp nghiên cứu
- Phương pháp hệ thống, phương pháp tư duy
- Phương pháp phân tích, tổng hợp: mục đích để chứng minh từng luận điểm của
đề tài có tính thuyết phục hơn
Trang 9- Phương pháp tin học hóa bằng công cụ lập trình để giải quyết vấn đề đã đượcphân tích và xây dựng giải pháp
1.5 Kết quả đạt được
Ứng dụng xây dựng có những chức năng sau:
Đối với người dùng (người có nhu cầu tìm kiếm thông tin):
+ Đăng ký tài khoản và đăng nhập, đăng xuất tài khoản
+ Tìm kiếm các công thức nấu ăn
+ Xem thông tin chi tiết về cách chế biến món ăn
+ Đánh giá công thức
Đối với người quản lý hệ thống
+ Quản lý các công thức món ăn
+ Thêm, xóa công thức món ăn
1.4 Mục đích của đề tài
Xây dựng một ứng dụng di động hướng dẫn nấu ăn online, cho người dùng có thểtruy cập vào để tìm kiếm, xem xét và học các nấu những món ăn mà mình yêu thíchtrên mạng
Giới thiệu các món ăn nổi bật được tìm kiếm nhiều nhất, các món ăn dễ nấu vớinhững nguyên liệu đơn giản nhất để người dùng có thể tìm kiếm được dễ dàng, nhanhchóng và ở bất cứ đâu Thiết kế với giao diện dễ nhìn, dễ sử dụng, thuận tiện cho ngườidùng trong việc nhập thông tin và tìm kiếm thông tin
Cung cấp cho người dùng các thông tin về các món ăn cũng như công thức để nấunhư: nguyên liệu, cách nấu, hương vị,…
Đối với quản trị viên: Làm chủ mọi hoạt động của hệ thống, tiếp nhận, kiểm tra
số lượng bài viêt thêm sửa xóa bài viết,
Chúng ta sẽ tham khảo các đề tài tương tự có sẵn để tiếp thu những kiến thức đểđịnh hướng ý tưởng, nắm được các kiến thức về ngôn ngữ lập trình java, cơ sở dữ liệuSQLite… cuối cùng chúng ta sẽ bắt đầu vào việc thực hiện dự án
2
Trang 101.5.2 Tìm hiểu về Android Studio
Có nhiều công cụ để phát triển Android nhưng đến nay công cụ chính thức vàmạnh mẽ nhất là Android Studio Đây là IDE (Môi trường phát triển tích hợp) chínhthức cho nền tảng Android, được phát triển bởi Google và được sử dụng để tạo phầnlớn các ứng dụng mà bạn có thể sử dụng hàng ngày
Chức năng của Android Studio là cung cấp giao diện để tạo các ứng dụng và xử lýphần lớn các công cụ quản lý file phức tạp đằng sau hậu trường Ngôn ngữ lập trìnhđược sử dụng ở đây là Java và được cài đặt riêng trên thiết bị của bạn Android Studiorất đơn giản, bạn chỉ cần viết, chỉnh sửa và lưu các dự án của mình và các file trong dự
án đó Đồng thời, Android Studio sẽ cấp quyền truy cập vào Android SDK
1.5.3 Tìm hiểu về SQLite
SQLite là mã nguồn mở, là một trong những Database Engine phát triển nhanhnhất, sự phát triển của nó là về mặt tính phổ biến Ngoài những lý do trên thì không thểkhông kể đến những ưu điểm khi sử dụng SQLite, sau đây là phần ưu điểm của SQLite
- Ưu điểm:
Với SQLite database được lưu trữ trên một tập tin duy nhất
SQLite hỗ trợ hầu hết các tính năng của ngôn ngữ truy vấn SQL theochuẩn SQL92
hơn nếu lược bớt một số tính năng
dữ liệu theo mô hình client – server
Trang 11 SQLite tuân thủ 4 tính chất ACID (là tính nguyên tổ (Atomic), tính nhất quán(Consistent), tính cô lập (Isolated), và tính bền vững (Durable) ).
- Đọc - Phân tích dữ liệu tuyệt vời: XML có khả năng đọc - phân tích các nguồn
dữ liệu một cách nhanh chóng, dễ dàng Cũng bởi vậy mà nó là công cụ đắc lựctrong trao đổi các dữ liệu giữa nhiều hệ thống, chương trình
- Hỗ trợ thiết kế website: XML được dùng trong Remote Procedure Calls để hỗtrợ cho dịch vụ trong quá trình thiết kế website
- Tạo file đơn giản: Người dùng có thể tạo ra các file XML một cách nhanh chóngbằng các thao tác đơn giản, dễ nhớ
1.5.5 Tìm hiểu về Java
Java là ngôn ngữ chính thức để phát triển ứng dụng Android và do đó, đây cũng
là ngôn ngữ được sử dụng nhiều nhất Nhiều ứng dụng trong Cửa hàng Play được xâydựng bằng Java và đây cũng là ngôn ngữ được Google hỗ trợ nhiều nhất Ngoài tất cảnhững điều này, Java còn có một cộng đồng trực tuyến tuyệt vời để hỗ trợ trong trườnghợp có bất kỳ vấn đề
Tuy nhiên, Java là ngôn ngữ phức tạp cho người mới bắt đầu sử dụng vì nó chứacác chủ đề phức tạp như hàm tạo, ngoại lệ con trỏ null, đồng thời, ngoại lệ được kiểm
4
Trang 12tra, v.v Ngoài ra, Bộ công cụ phát triển phần mềm Android (SDK) tăng độ phức tạplên một cấp độ mới!
Nói chung, Java là một ngôn ngữ tuyệt vời để trải nghiệm niềm vui trọn vẹn củaPhát triển ứng dụng Android Tuy nhiên, nó có thể hơi phức tạp với những người mớibắt đầu muốn bắt đầu với một cái gì đó dễ dàng hơn và sau đó quay lại với nó
Trang 13Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Phân tích đề tài
Hệ thống thông qua ứng dụng giúp người dùng có thể xem và tìm kiếm các côngthức Ứng dụng sẽ hỗ trợ người dùng các chức năng:
- Tìm kiếm
- Xem chi tiết
- Đăng nhập, đăng xuất, đăng ký
2.4 Yêu cầu của các chức năng có trong ứng dụng
2.4.1 Tìm kiếm công thức món ăn
Tác nhân: Người dùng
Điều kiện trước: Người dùng vào hệ thống ứng dụng
Điều kiện sau: Khi người dùng có nhu cầu tìm hiểu thông tin về các món ăn
Mô tả: Người dùng vào ứng dụng để tìm kiếm món ăn mà mình muốn học
Các sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Người dùng click vào mục tìm kiếm
nguyên liệu, công thức, cách chế biến
3 Người dùng nhập thông tin cần thiết vào
form tìm kiếm và nhấn nút tìm kiếm
2 Hệ thống hiển thị form tìm kiếm:tìm kiếm theo tên, tìm theo nguyênliệu, …
4 Hệ thống hiển thị kết quả tìm kiếm
6
Trang 142.4.2 Đăng ký tài khoản
Tác nhân:Người dùng
Điều kiện trước: Người dùng vào ứng dụng
Điều kiện sau: Người dùng đăng ký tài khoản
Mô tả: Người dùng cung cấp đầy đủ thông tin cần thiết đăng ký tài khoản hệthống ứng dụng
Các sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Một người dùng sau khi vào ứng dụng
và muốn yêu thích, bình luận về các công
thức nấu ăn của món ăn sẽ phải đăng ký
để thực hiện
3 Người dùng cung cấp đầy đủ thông tin
cần thiết mà hệ thống yêu cầu và nhấn
Điềù kiền trườc: Người dùng váo giáo diền đáng nháp cùá ưng dùng
Điều kiện sau: Tên và mật khẩu của người dùng hợp lệ, đăng nhập thànhcông
Mô tả: Người dùng nhập tên và mật khẩu, hệ thống cho phép đăng nhập thànhcông nếu đã đăng ký tài khoản
Các sự kiện chính:
Trang 15Hành động của tác nhân Hành động của hệ thống
1 Người dùng chọn đăng nhập
3 Người dùng nhập tên và mật khẩu vào
form đăng nhập
2 Hệ thống hiển thị form đăng nhập
4 Hệ thống kiểm tra tên và mật khẩucủa thành viên có hợp lệ không
5 Hệ thống hiển thị thành viên đăngnhập thành công
Các sự kiện phụ:
Hành động của tác nhân Hành động của hệ thống
4 Người dùng đăng nhập lại hoặc chọn
chức năng quên mật khẩu ở hệ thống
6 Người dùng tiếp tục đăng nhập hệ
thống hoặc rời khỏi
5 Hệ thông báo nhập sai thông tin, hiểnthị form nhập lại
2.4.4 Quản lí bài viết.
Các tác nhán: Người qùán tri
Điềù kiền trườc: Người quản trị đăng nhập vào hệ thống thành công
Điều kiện sau: Ứng dụng được người quản trị cập nhật thông tin bài viết côngthức nấu ăn
Mô tả: Người quản trị kiểm tra bài viết và cập nhật trên hệ thống
Các sự kiện chính:
Hành động của tác nhân Hành động của hệ thống
1 Người quản trị đăng nhập vào hệ
4 Hệ thống hiển thị form quản lí bài viết
6 Hệ thống tiếp nhận và cập nhật bài viếtlên ứng dụng
Các sự kiện phụ:
Hành động của tác nhân Hành động của hệ thống
1 Cập nhật thông tin sai 2 Hệ thống cập nhật thông tin sai
8
Trang 162.5 Biểu đồ use case
2.5.1 Biểu đồ use case mức tổng quát
Hình 2.5.1 Biểu đồ use case mức tổng quát
2.5.2 Biểu đồ use case đăng nhập admin
Hình 2.5.2 Biểu đồ use case đăng nhập admin
Trang 17+ Giao diện đăng nhập hiển thị.
+ Nhập username và password vào giao diện đăng nhập
+ Hệ thống kiểm tra username và password nhập của admin Nếu nhập sai thôngtin đăng nhập của admin thì quay lại giao diện ban đầu Nếu nhập đúng thì hệthống sẽ chuyển tới trang quản trị
2.5.3 Biểu đồ use case đăng ký-đăng nhập của khách hàng:
Hình 2.5.3 Biểu đồ use case đăng ký-đăng nhập của khách hàng
Đặc tả:
- Tác nhân: Người dùng
- Mô tả : use case đăng kí và đăng nhập của người dùng
- Dòng sự kiện chính:
+ Người dùng truy cập trang đăng ký
+ Giao diện đăng ký cho phép người dung nhập và đăng ký thông tin cá nhân+ Hệ thống sẽ lưu thông tin sau đó người dùng có quyền tiếp tục đăng nhập hoặckhông
+ Hệ thống sẽ kiểm trả thông tin đăng nhập nếu hợp lệ và đúng thông tin sẽ hiệntrang chủ
2.5.4 Biểu đồ use case Quản lý món ăn
10
Trang 18Hình 2.5.4 Biểu đồ use case Quản lý món ăn
Đặc tả:
- Tác nhân: quản trị viên
- Mô tả: Use case Quản lý sản phẩm:
- Dòng sự kiện chính:
+ Quản trị viên truy cập trang đăng nhập
+ Hệ thống sẽ kiểm tra thông tin quản trị viên
+ Quản trị viên sau khi đăng nhập vào hệ thống có thể thêm món ăn hoặc sữamón ăn
2.5.5 Biểu đồ use case tìm kiếm
Hình 2.5.5 Biểu đồ use case tìm kiếm
Đặc tả:
Mô tả : use case tìm kiếm