Đặc biệt các app trao đổi mua hàng ngày càng được xây dựng nhiều hơn.Với mong muốn xây dựng một hệ thống app điện thoại với chức năng trao đôimua bán mặt hàng thức ăn tiện lợi và giúp ng
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ẵng, tháng 8 năm 2023
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
THỰC TẬP DOANH NGHIỆP
ỨNG DỤNG ĐẶT ĐỒ ĂN
Giảng viên hướng dẫn: ThS Ngô Lê Quân
Đà Nẵng, tháng 8 năm 2023
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
….
………
………
………
………
………
Trang 4LỜI CẢM ƠN
Để bài báo cáo này đạt kết quả tốt đẹp, chúng em đã nhận được sự hỗ trợ, giúp
đỡ của rất nhiều đơn vị Với tình cảm sâu sắc, chân thành, cho phép em được bày tỏlòng biết ơn sâu sắc đến tất cả các cá nhân và cơ quan đã tạo điều kiện giúp đỡ chúng
em trong quá trình học tập và hoàn thiện bài báo cáo Trước hết chúng em xin gửi tớicác thầy cô khoa Khoa Học Máy Tính trường Đại Học Công Nghệ Thông Tin VàTruyền Thông Việt Hàn lời chào trân trọng, lời chúc sức khỏe và lời cảm ơn sâu sắc đãtạo điều kiện cho chúng em có những ngày kiến tập vô cùng ý nghĩa Với sự quan tâm,dạy dỗ, chỉ bảo tận tình chu đáo của thầy cô, đến nay em đã có thể hoàn thành bài báocáo này Đặc biệt em xin gửi lời cảm ơn chân thành nhất tới thầy ThS Ngô Lê Quân
đã quan tâm giúp đỡ, hướng dẫn chúng em hoàn thành tốt bài báo cáo trong thời gianqua
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của bản thân bài báocáo này không thể tránh được những thiếu sót Chúng em rất mong nhận được sự chỉbảo, đóng góp ý kiến của các thầy cô để em có điều kiện bổ sung, nâng cao ý thức củamình, phục vụ tốt hơn công tác thực tế sau này
Em xin chân thành cảm ơn!
Sinh viên,
Trang 5MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT v
MỞ ĐẦU 1
1 Giới thiệu 1
2 Mục tiêu đề tài 1
3 Nội dung và kế hoạch thực hiện 1
4 Bố cục báo cáo 1
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 3
1.1 Giới thiệu nơi làm việc 3
1.2 Vấn đề đặt ra và giải pháp 4
1.3 Yêu cầu sản phẩm 4
1.4 Yêu cầu hệ thống 4
1.5 Giới thiệu ngôn ngữ lập trình 5
1.5.1 Ngôn ngữ Java 5
1.5.2 Cơ sở dữ liệu FireBase 5
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 7
2.1 Biểu đồ ca sử dụng 7
2.1.1 Các tác nhân của hệ thống 7
2.1.2 Các ca sử dụng 7
2.1.3 Biểu đồ Use case 7
2.1.3.1 Biểu đồ use case chính 7
2.1.3.2 Biểu đồ đăng kí thành viên 8
2.1.3.3 Biểu đồ use case đăng nhập 9
2.1.3.4 Biểu đồ xem thông tin sản phẩm 10
2.1.3.5 Biểu đồ đặt hàng 11
2.2 Biểu đồ lớp 12
2.2.1 Khách hàng 13
2.2.2 Tài khoản 13
2.2.3 Sản phẩm 14
2.2.4 Đánh giá 15
CHƯƠNG 3 XÂY DỰNG CÁC CHỨC NĂNG CHƯƠNG TRÌNH 17
3.1 Giao diện Users 17
3.1.1 Trang đăng ký/ đăng nhập 17
3.1.2 Trang Home 17
3.1.3 Trang Profile 19
3.1.4 Trang Support 21
3.1.5 Trang Shop 23
3.1.6 Trang Giỏ hàng 23
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 25
1 Tổng kết 25
2 Hướng phát triển 25
TÀI LIỆU THAM KHẢO 26
Trang 7MỞ ĐẦU
1 Giới thiệu
Thương mại điện tử là một trong những xu hướng tất yếu của nền kinh tế hiệnđại Với sự hỗ trợ của công nghệ, sự bùng nổ của các thiết bị kết nối internet, doanhnghiệp ngày càng có cơ hội mở rộng kênh bán hàng, tiếp thị sản phẩm đến người tiêudùng Các app điện thoại ra đời đã góp phần quan trọng và to lớn trong việc thúc đẩykinh doanh phát triển nhanh chóng, các sản phẩm, dịch vụ đến gần hơn với kháchhàng Đặc biệt các app trao đổi mua hàng ngày càng được xây dựng nhiều hơn.Với mong muốn xây dựng một hệ thống app điện thoại với chức năng trao đôimua bán mặt hàng thức ăn tiện lợi và giúp người dùng dễ dàng sử dụng nhất.Chúng
em đã thực hiện đề tài “Ứng dụng đặt đồ ăn” Chúng em tin tưởng rằng đây sẽ là một
đề tài rất hay và có thể giúp ích cho nhiều cửa hàng
2 Mục tiêu đề tài
Mục tiêu của đề tài nhằm giúp cho khách hàng nắm bắt một cách dễ dàng cácthông tin mặt hàng, các thông tin đi kèm chính xác, nhanh chóng Bên cạnh đó có thểquảng cáo mặt hàng qua app với nội dung chi tiết, rõ ràng Hệ thống dễ sử dụng tiếtkiệm thời gian và có giao diện đẹp phù hợp với người sử dụng
3 Nội dung và kế hoạch thực hiện
Ngày thực hiện Tên công việc
1/6/2023 - 10/6/2023 ✔ Lên ý tưởng, thiết kế giao diện trang Home
10/6/2023 - 31/6/2023 ✔ Thực hiện chức năng “Giỏ hàng”
1/7/2023 - 10/7/2023 ✔ Thiết kế giao diện trang “Shop”
11/7/2023 - 20/7/2023 ✔ Thiết kế giao diện “Profile” và “Support”
21/7/2023 - 1/8/2023 ✔ Tổng kết
4 Bố cục báo cáo
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:Chương 1 Tổng quan về đề tài Trong chương này, trình bày giới thiệu về sảnphẩm và nơi làm việc, giải pháp cho bài toán đặt ra và nhu cầu của sản phẩm trongcuộc sống
1
Trang 8Chương 2 Phân tích và thiết kế hệ thống Nội dung chương bao gồm hoạt độngcủa hệ thống, các chức năng hệ thống sở hữu, mô hình hóa chức năng và dữ liệu, giaodiện của sản phẩm.
Chương 3 Xây dựng các chức năng chương trình Chương này mô tả chi tiếtcách chương trình thực hiện các chức năng tương ứng với các tác động của ngườidùng
Cuối cùng là Kết luận Tài liệu tham khảo, và Phụ lục liên quan đến đề tài
2
Trang 9CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI
1.1 Giới thiệu nơi làm việc
FPT Software Đà Nẵng được thành lập vào ngày 13/8/2005, sau nhiều nămkhông ngừng lớn mạnh và phát triển, ngày 13/8/2014, FPT Software khởi công Khuphức hợp văn phòng FPT tại khu đô thị Công nghệ FPT Đà Nẵng, phường Hòa Hải,quận Ngũ Hành Sơn Công trình có sức chứa gần 10.000 người, là dự án mang tínhchiến lược phát triển lâu dài nhằm đáp ứng nhu cầu tăng trưởng của tập đoàn tại miềnTrung Đây cũng chính là trụ sở hiện tại của FPT Software Đà Nẵng, tiếp tục sứ mệnhtrở thành 1 trong 3 trung tâm xuất khẩu phần mềm lớn nhất cả nước
Từ một văn phòng sản xuất phần mềm với quy mô 50 người, đến hết 2017,công ty đã phát triển lên quy mô hơn 2.700 người, mang lại việc làm cho hàng nghìntri thức trẻ xuất thân miền Trung Hàng năm, công ty đưa hàng trăm lượt nhân viênsang làm việc tại các nước Nhật Bản, Mỹ, Singapore… Trong 3 năm gần đây, FPTSoftware Đà Nẵng là công ty có tốc độ tăng trưởng trung bình hơn 70%/năm Đây làtốc độ tăng trưởng cao nhất Tập đoàn, sự tăng trưởng làm nên cơ hội lớn cho mọi cánhân đang tham gia vào sự phát triển này
Để đáp ứng nhu cầu tăng trưởng nguồn lực trong 12 năm qua, công ty đã xâydựng quan hệ với gần 30 trường Đại học, Cao đẳng có đào tạo về CNTT tại khu vựcmiền Trung Ngoài việc ký kết hợp tác với các trường, FPT Software Đà Nẵng đãchuyển giao chương trình đào tạo do chính các chuyên gia công nghệ của công ty xâydựng tới các trường Các trường đại học đã cam kết đào tạo sinh viên theo đúngchương trình đào tạo này để đảm bảo ngay khi tốt nghiệp, sinh viên có thể đáp ứng yêucầu chất lượng, được nhận thẳng vào FPT Software Đà Nẵng làm việc mà không cầnquá trình đào tạo lại
Nhân viên FPT Software Đà Nẵng tự hào khi làm việc trong khuôn viên xanh,tiện nghi với cảnh quan đẹp mắt, đáp ứng nhu cầu sinh hoạt, thể thao và giải trí…Không có gì ngạc nhiên khi đời sống tinh thần ở đây vô cùng phong phú, với các giải
đá bóng nội bộ ngay trên sân nhà Và đặc biệt, những con người mới khi làm việc tại
Đà Nẵng sẽ bắt gặp một tinh thần Máu và thuần chất FPT “bản nguyên” với những conngười, tinh thần STCo gạo cội gắn bó với FPT và Đà Nẵng lâu năm Trong năm qua,các thành viên Khối nguồn lực tại Đà Nẵng đã tích cực trong viê ‘c lên kế hoạch, hợptác nội khối, đẩy mạnh tuyển dụng mới và đào tạo để nâng cao chất lượng nguồn lực
dự trữ Đặc biệt, hoạt đô ‘ng marketing và tuyển dụng đã lô ‘t xác hoàn toàn, góp phầntăng nguồn ứng viên mới, đa dạng hơn cho công ty
Trang 101.2 Vấn đề đặt ra và giải pháp
Vấn đề đặt ra: một cửa hàng bánh ngọt yêu cầu xây dựng cho họ một ứng dụng
để họ bán thức ăn cho khách hàng online
Giải pháp là xây dựng một ứng dụng di động cho cửa hàng bánh ngọt thựchiện việc mua bán bánh ngọt thông qua ứng dụng này Đây là ứng dụng giớithiệu về tất cả những sản phẩm của cửa hàng đến với người dùng, nhằm thuhút khách hàng biết đến cửa hàng và có thể mua sản phẩm Mục đích của ứngdụng là quảng cáo các sản phẩm của cửa hàng đến khách hàng, tạo đơn đặthàng và vận chuyển sản phẩm đến với khách hàng
● Khách hàng / Người dùng
○ Xem thông tin và tham khảo giá các sản phẩm do cửa hàng cung cấp
○ Khách hàng phải đăng nhập để có thể xem thông tin sản phẩm và đặthàng Nếu không có tài khoản thành viên thì có thể đăng ký
○ Khách hàng có thể gửi thắc mắc hoặc ý kiến phản hồi đến cửa hàng Qua
đó, những đánh giá của khách hàng sẽ giúp công ty xác định được đúngđắn con đường mà mình đang đi để đưa ra những cải thiện hay thay đổisao cho phù hợp với những gì mà khách hàng mong muốn tìm kiếm
1.3 Yêu cầu sản phẩm
● Ứng dụng phải có dung lượng không quá lớn, tốc độ xử lý nhanh
● Giao diện dễ nhìn, thân thiện với người sử dụng
● Công việc tính toán phải thực hiện chính xác, không chấp nhận sai sót
● Bảo mật tốt các thông tin của khách hàng
● Đảm bảo an toàn dữ liệu
1.4 Yêu cầu hệ thống
● Yêu cầu chức năng
○ Người đăng nhập vào ứng dụng có thể xem thông tin và đặt hàng.Nếu
không có tài khoản có thể đăng kí Khi đăt thành công đơn hàng sẽ đượcvận chuyển đến cho khách hàng Cơ sở dữ liệu sẽ lưu thông tin đặt hàngnày
○ Về tổ chức lưu trữ , thực hiện các yêu cầu
■ Khách hàng có thể thêm sản phẩm vào giỏ hàng, thay đổi sốlượng sản phẩm theo nhu cầu Khách hàng cũng có thể xóa những
Trang 11sản phẩm không cần thiết ra khỏi giỏ hàng Hệ thống sẽ tính toánchi phí hóa đơn và hiển thị lên cho khách hàng thấy.
■ Khi khách hàng đăng kí, gửi ý kiến phản hồi thì những thông tinnày sẽ được lưu lên cơ sở dữ liệu
● Ngoài ra có các yêu cầu phi chức năng sau
○ Ứng dụng phải có dung lượng không quá lớn, tốc độ xử lý nhanh
○ Công việc tính toán thực hiện chính xác, không chấp nhận sai sót
○ Sử dụng mã hóa các thông tin nhạy cảm của khách hàng
○ Đảm bảo an toàn dữ liệu khi chạy trên các thiết bị di động
1.5 Giới thiệu ngôn ngữ lập trình
1.5.2 Cơ sở dữ liệu FireBase
Firebase là một nền tảng đám mây của Google được thiết kế để hỗ trợ phát triểnứng dụng di động và web Firebase cung cấp các dịch vụ đám mây để phát triển ứngdụng dễ dàng hơn, nhanh hơn và an toàn hơn Firebase cung cấp một loạt các dịch vụcho phép phát triển ứng dụng Android mà không cần quản lý cơ sở dữ liệu, máy chủ
Trang 12hoặc các yêu cầu hạ tầng khác Một số tính năng của Firebase cho phát triển ứng dụngAndroid bao gồm:
Firebase Authentication: cung cấp giải pháp cho việc xác thực người dùng trongứng dụng của bạn Nó hỗ trợ các phương thức đăng nhập bằng email và mật khẩu,đăng nhập bằng tài khoản Google hoặc Facebook, xác thực dịch vụ SMS và nhiềuhơn nữa
Realtime Database: cung cấp một cơ sở dữ liệu NoSQL theo thời gian thực, giúpbạn lưu trữ và đồng bộ dữ liệu trực tiếp giữa các thiết bị khác nhau của ngườidùng
Cloud Storage: cho phép bạn lưu trữ và quản lý các tệp của người dùng trênFirebase Cloud Storage Điều này giúp tăng tốc độ tải xuống và tiết kiệm lưu trữtrên thiết bị người dùng
Cloud Messaging: cung cấp giải pháp cho việc gửi thông báo đến người dùng trêncác thiết bị Android và iOS Nó cũng hỗ trợ gửi thông báo trực tiếp đến các trìnhduyệt web
Remote Config: cho phép bạn quản lý các biến cấu hình trong ứng dụng của bạn từ
xa, giúp bạn tối ưu hóa và kiểm soát ứng dụng của mình
Trang 13CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
- Chỉnh sửa thông tin cá nhân
2.1.3 Biểu đồ Use case
2.1.3.1 Biểu đồ use case chính
Trang 142.1.3.2 Biểu đồ đăng kí thành viên
○ Form đăng ký hiển thị
○ Khách hàng nhập thông tin vào form đăng ký
○ Nhấn nút đăng ký
○ Hệ thống thông báo kết quả, nếu thông tin nhập chính xác thì hệ thống cập nhật thông tin khách hàng vào danh sách khách hàng thành viên
● Dòng sự kiện phụ:
○ Hệ thống thông báo nhập thông tin không chính xác
○ Hệ thống yêu cầu khách hàng xem lại thông tin
○ Khách hàng đồng ý thì nhập lại thông tin, nếu không thì ca sử dụng sẽ kết thúc
Trang 152.1.3.3 Biểu đồ use case đăng nhập
● Tác nhân: Nhân viên
● Mô tả khái quát
○ Khách hàng đăng nhập vào hệ thống để có thểxem sản phẩm, muahàng
● Điều kiện đầu vào: Ca sử dụng bắt đầu khi người dùng muốn đăng nhập vào hệ thống
○ Nếu tên người dùng và mật khẩu sai thì hệ thống sẽ báo lỗi
○ Người dùng có thể nhập lại hoặc hủy bỏ đăng nhập, khi đó ca sử dụng sẽ kết thúc
Trang 162.1.3.4 Biểu đồ xem thông tin sản phẩm
● Tác nhân: Khách hàng
● Mô tả khái quát: Giúp khách hàng xem thông tin sản phẩm
● Điều kiện đầu vào: Ca sử dụng bắt đầu khi khách hàng đã đăng nhập thành công vào hệ thống
Trang 17○ Hệ thống hiển thị các sản phẩm có trong giỏ hàng đã chọn.
○ Khách hàng xem thông tin về sản phẩm cần đặt, nếu đã phù hợp
nhấn nút mua hàng để hoàn thành đơn hàng
○ Ca sử dụng kết thúc.
Trang 182.2 Biểu đồ lớp
Trang 19Tên phương thức Mô tả
Sửa thông tin khách hàng (sua()) Phương thức này thực hiện khi muốn sửa
thông tin khách hàng
Xóa thông tin khách hàng(xoa()) Phương thức này thực hiện khi muốn xóa
thông tin khách hàng
2.2.2 Tài khoản
Trang 20Tên phương thức Mô tả
Đăng ký (Dang_ky()) Phương thức này được gọi đến khi người
dùng muốn đăng ký một tài khoản Phương thức này sẽ tạo tài khoản với Username và Password xác định Khi đăng ký, các trường thuộc tính của người
dùng được điền đầy đủ, Username của
người dùng sẽ được lưu vào hệ thống.Đăng nhập (Dang_nhap()) Phương thức này trả về giá trị đúng hoặc
sai khi người dùng nhập Username và Password để đăng nhập
2.2.3 Sản phẩm
Trang 21Tên phương thức Mô tả
Thêm sản phẩm (themSP()) Phương thức này thực hiện khi khách
Trang 22○ ID_ĐG
○ Noi_dung
○ Gmail
● Phương thức:
Tên phương thức Mô tả
Đánh giá (danh_gia )() Phương thức này thực hiện khi khách
hàng muốn thêm nội dung đánh giá
Trang 23CHƯƠNG 3 XÂY DỰNG CÁC CHỨC NĂNG CHƯƠNG
TRÌNH
3
3.1 Giao diện Users
3.1.1 Trang đăng ký/ đăng nhập
● Trước khi truy cập vào ứng dụng khách hàng cần tiến hành đăng nhập vào hệ thống Nếu chưa có tài khoản, khách hàng cần đăng ký tài khoản để có thể truy cập vào trang chủ của hệ thống Bên cạnh đó nếu khách hàng quên mật khẩu có thể yêu cầu hệ thống sửa đổi lại mật khẩu thông qua việc xác nhận gmail
3.1.2 Trang Home
Trang 24● Tại trang “Home” khách hàng sẽ thấy avatar của mình Bên cạnh đó khách hàngcũng có thể tìm kiếm sản phẩm mà mình muốn mua bằng cách gõ tên sản phẩm cần tìm vào ô “Find your food”, hệ thống sẽ hiện thị sản phẩm(nếu có trong cửahàng) ra cho khách hàng chọn lựa
○ Ví dụ: chọn “pizza”, “cake”, “coffee”
Trang 25 Phía bên dưới sẽ hiển thị các phần catagories(các loại sản phẩm chính trong của hàng), popular food(sản phẩm bán chạy nhất trong cửa hàng) và phần video bao gồm các thước phim ngắn cho khách hàng xem giải trí về
3.1.3 Trang Profile
Trang 26● Tại đây khách hàng có thể bấm chọn “Edit Profile” để chuyển sang trang chỉnh sửa thông tin nếu khách hàng muốn cập nhật lại thông tin cá nhân của mình.
● Bên cạnh đó, tại đây khách hàng cũng có thể xem mình là xếp hàng loại thành viên( bằng cách bấm vào “Membership”), hóa đơn đã mua hàng( bấm vào
“payment”) và log out tài khoản( bấm vào logout)
Trang 273.1.4 Trang Support
● Tại đây khách hàng có thể để lại mọi thắc mắc, đóng góp ý kiến đến với cửa hàng bằng cách để lại gmail và thông điệp mình muốn gửi gắm
Trang 293.1.5 Trang Shop
● Trang này sẽ mô tả các loại sản phẩm của cửa hàng cho khách hàng thoải mái lựa chọn
3.1.6 Trang Giỏ hàng
Trang 30● Tại đây khách hàng có thể xem lại các sản phẩm mình đặt Có thể thêm, bớt số
lượng sản phẩm, xáo sản phẩm mình không muốn mua nữa.Xem giá đơn hàng
và bấm Checkout để đặt hàng
● Sau đó khách hàng buộc phải nhập địa nơi nhận hàng, ghi chú(nếu có), xem lại
giá đơn hàng và sau khi đã chắc chắn mình sẽ đặt hàng, khách hàng nhấn nút
“Place order” để thành công đặt hàng