Hình thức muabán trực tuyến hỗ trợ đắc lực cho người kinh doanh tiếp xúc với nhiều khách hàng, cònkhách hàng thì công việc mua bán được diễn ra nhanh chóng, thuận lợi, tiết kiện đượcthời
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
BÁO CÁO ĐỒ ÁN CƠ SỞ 3
XÂY DỰNG ỨNG DỤNG ANDROID
Trang 2Đà Nẵng, ngày 3 tháng 5 năm 2023
TRƯỜ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
BÁO CÁO ĐỒ ÁN CƠ SỞ 3
XÂY DỰNG ỨNG DỤNG ANDROID
Trang 3Đà Nẵng, ngày 3 tháng 5 năm 2023
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Chữ kí của giảng viên hướng dẫn
(Ký rõ họ và
tên)
i
Trang 6MỤC LỤC
DANH MỤC HÌNH ẢNH iv
1 Giới thiệu 1
2 Mục đích 1
3 Nội dung và kế hoạch thực hiện 2
4 Bố cục của báo cáo 2
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 3
1.1 Ngôn ngữ JAVA 3
1.2 Ngôn ngữ kotlin 3
1.3 FIREBASE 3
1.4 Visual Studio Code 3
1.5 Android Studio 4
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 5
2.1 Giới thiệu biểu đồ UseCase 5
2.2 Phân tích xác định yêu cầu của hệ thống 5
2.3 Xác định các tác nhân 5
2.4 Xác định các trường sử dụng 6
2.4.1 Sơ đồ UseCase của quản trị viên 6
2.4.2 Sơ đồ UseCase của khách hàng 6
2.5 Đặc tả yêu cầu hệ thống 6
2.5.1 Yêu cầu về chức năng 6
2.5.2 Yêu cầu hệ thống 6
2.6 Đặc tả các trường hợp sử dụng 7
2.6.1 UseCase đăng ký 7
2.6.1 UseCase đăng nhập 7
2.6.1 Sơ đồ hoạt động đăng ký 9
2.6.2 Sơ đồ hoạt động đăng nhập 10
2.6.3.Biểu đồ tuần tự thêm vào giỏ hàng 11
2.7 Phân tích cơ sở dữ liệu……….12
CHƯƠNG 3.XÂY DỰNG ỨNG DỤNG 14
3.1 Giao diện đăng ký 14
iii
Trang 73.2 Giao diện đăng nhập 15
3.3 Giao diện trang chủ 16
3.4 Chi tiết sản phẩm 18
3.5 Giỏ hàng 19
KẾT LUẬN 23
Kết quả đạt được 23
Hạn chế: 23
Hướng phát triển 23
TÀI LIỆU THAM KHẢO 24
Trang 8DANH MỤC HÌNH ẢNH
Hình 1: UseCase quản trị viên 6
Hình 2: UseCase khách hàng 6
Hình 3: UseCase đăng ký 7
Hình 4: UseCase đăng nhập 8
Hình 5: Sơ đồ hoạt động đăng ký 9
Hình 5: Sơ đồ hoạt động đăng nhập 10
Hình 6: Biểu đồ tuần tự thêm vào giỏ hàng 11
Hình 7: Bảng sản phẩm 12
Hình 8: Bảng đặt hàng 12
Hình 9: Bảng người dùng 13
Hình 10: Sơ đồ class diagram 13
Hình 11: Giao diện đăng ký 14
Hình 12: Giao diện đăng nhập 15
Hình 13: Giao diện trang chủ 16
Hình 14: Chi tiết sản phẩm 17
Hình 15: Giỏ hàng 17
v
Trang 9MỞ ĐẦU
1 Giới thiệu
Công việc kinh doanh buôn bán đã xuất hiện từ rất lâu, trải qua mỗi giau đoạnlịch sử nó mang một hình thức đặc thù riêng Trước kia, khi các công cụ hỗ trợ côngviệc mua bán chưa phát triển mạnh, thì người kinh doanh mua bán chỉ diễn ra dướihình thức mua bán trực tiếp Từ khi khoa học công nghệ phát triển, nó đã tạo ra pháttriển các loại hình thức mua bán mới, điển hình là mua bán trực tuyến Hình thức muabán trực tuyến hỗ trợ đắc lực cho người kinh doanh tiếp xúc với nhiều khách hàng, cònkhách hàng thì công việc mua bán được diễn ra nhanh chóng, thuận lợi, tiết kiện đượcthời gian
Hiện nay, Thương Mại Điện Tử (TMĐT) đang được nhiều quốc gia quan tâm,coi là một trong những động lực phát triển chủ yếu của nền kinh tế TMĐT đem lạinhững lợi ích tiềm tàng, giúp doanh nghiêp thu được thông tin phong phú về thị trường
và đối tác, giảm chi phí tiếp thị và giao dịch, tạo dựng và củng cố quan hệ bạn hàng
Việc mua hàng qua mạng chỉ với thủ tục đăng ký mua sắm đơn giản nhưng đemlại những lợi ích: tiết kiệm và chủ động về thời gian, tránh khỏi những phiền phức khóchịu Vậy nên việc mua bán hàng qua mạng đang rất được mọi người quan tâm
Trên cơ sở các kiến thức được học trong nhà trường và quá trình tìm hiểu cácwebsite trong thực tế, em đã quyết định chọn đề tài “Xây dựng ứng dụng bán thức ăn”
-Phục vụ tốt hơn nhu cầu của khách hàng và quản lý của nhà hàng trong hoạtđộng kinh doanh
Khách hàng chỉ cần các thao tác đơn giản trên điện thoại di động
Trang 103 Nội dung và kế hoạch thực hiện
- Tìm hiểu cách thức hoạt động của các nhà hàng, cửa tiệm để áp dụng vào ứngdụng
- Tìm hiểu các công cụ để hoàn thiện ứng dụng
- Sử dụng các công cụ đã được biết để tạo thành 1 ứng dụng bán hàng có cácchức năng cần thiết
4 Bố cục của báo cáo
Ngoài phần Mở đầu và Kết luận, nội dung báo cáo tập trung vào 3chương chính như sau:
Chương 1: Cơ sở lý thuyết
- Lý thuyết của ngôn ngữ java, kotlin
- FIREBASE, ANDROID STUDIO, VISUAL STUDIO CODE
Chương 2: Phân tích thiết kế hệ thống
- Phân tích các chức năng của ứng dụng
Trang 11CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1.Ngôn ngữ java
Java là ngôn ngữ phổ biến nhất được sử dụng trong lập trìnhAndroid Nếu bạn còn khá xa lạ với ngôn ngữ này thì cần cài đặt cáccông cụ hỗ trợ để có thể sử dụng ngôn ngữ lập trình Java như Eclipse
để học lập trình Java
Android studio hiện là công cụ hỗ trợ lập trình bằng java đượcGoogle khuyến khích sử dụng Bởi nếu như bạn cần phải tự cài đặtAndroid SDK nếu sử dụng Eclipse thì đối với Android Studio, AndroidSDK sẽ được tự động cài đặt tại bước cuối của quá trình cài đặtchương trình
1.2.Ngôn ngữ KOTLIN
Kotlin là ngôn ngữ lập trình dành cho các ứng dụng đa nền tảnghiện đại, tương thích hoàn toàn với Android và được phát triển bởiJetBrains, công ty đứng sau IntelliJ Java IDE (bộ công cụ và ứng dụngdành cho nhà phát triển) mà Android Studio dựa trên Tuy nhiên, đâykhông phải là ngôn ngữ lập trình riêng biệt mà được xem là mộtphương pháp mới để sử dụng và phát triển code của Java Kotlin hoạtđộng liền mạch với Java, nhờ đó giúp các nhà phát triển yêu thích
Trang 12Java dễ dàng sử dụng thêm một ngôn ngữ lập trình tuyệt vời là Kotlincũng như tận dụng thêm các thư viện hữu ích từ ngôn ngữ này.
Cũng giống như nhiều ngôn ngữ lập trình khác, Kotlin chạy trên Java
Virtual Machine (JVM) và sử dụng các công cụ và thư viện sẵn có
trên Java
Từ lúc giới thiệu vào năm 2011 cho đến khi phát hành phiên bản 1.0,JetBrains đã luôn chú trọng đến tính tương hợp với Java
1.3.FIREBASE
Firebase là platform do Google cung cấp, nhằm hỗ trợ việc tạo
ra các web application, mobile application với chất lượng cao
2 Với việc sử dụng Firebase, developer có thể tập trung vào việcphát triển application mà không cần lo về việc sản phẩm củamình sẽ hoạt động và được quản lý thể nào ở phía Backend
3 Khái niệm Backend nhắc tới trong câu trên để chỉ việc xử lý và lưutrữ dữ liệu trong service, ở vùng "phía sau" mà người dùng khôngnhìn thấy
4 Firebase là một trong những BaaS (Backend as a service)
5 Serverless architecture được chú ý như một giải pháp đáp ứngyêu cầu release một dịch vụ trong thời gian ngắn, trong bối cảnh
đó, BaaS ra mắt người dùng
6 BaaS hướng đến thiết bị chủ yếu là mobile nên còn được gọi vớimột tên gọi khác là MBaaS
ix
Trang 131.4 Visual Studio Code
Là một trình biên tập lập trình code miễn phí dành cho Windows,Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nóđược xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor
Là một trình biên tập lập trình code miễn phí dành cho Windows,Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nóđược xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor
1.5 Android Studio
Android Studio là IDE chính thức được sử dụng trong phát triểnứng dụng Android dựa trên IntelliJ IDEA Chức năng chính củaAndroid Studio là cung cấp các giao diện giúp người dùng có thể tạocác ứng dụng và xử lý các công cụ file phức tạp sau hậu trường.Ngôn ngữ lập trình được sử dụng trong Android Studio là Java và nó
sẽ được cài đặt sẵn trên thiết bị của bạn Khi sử dụng Android
Studio thì bạn chỉ cần viết, chỉnh sửa và lưu trữ chúng trên các dự
án của mình và các file nằm trong dự án đó Đồng thời, AndroidStudio còn cung cấp quyền truy cập vào Android SDK
Trang 14CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Giới thiệu biểu đồ UseCase
bức tranh toàn cảnh về những gì đang xảy ra trong hệ thống hiện tại hoặc những
gì sẽ xảy ra trong hệ thống mới
- Use Case mô tả một chuỗi các hành động mà hệ thống sẽ thực hiện để đạt đượckết quả có ý nghĩa đối với một tác nhân
- Các Use Case được tạo ra ở giai đoạn đầu của một dự án Các Use Case cũng cóthể được dung ở giai đoạn sau của qui trình phát triển dự án, ví dụ để đặc tả cáctình huống kiểm tra Use case đưa ra cơ sở để xác định giao tiếp người-máy đốivới hệ thống Để người dùng cuối có thể hiểu được và có thể giao tiếp với hệthống ở mức tổng thể
- Actor là người hoặc hệ thống tương tác với các Use Case Thường Actor làngười dùng hệ thống Trong biểu đồ Use Case, mỗi Actor được vẽ bằng mộtbiểu tượng hình người với tên vai trò (role name) đặt bên dưới
- Khi Actor là người thì tên Actor là tên vai trò mà Actor đảm nhiệm chứ khôngphải là tên công việc
2.2 Phân tích xác định yêu cầu của hệ thống
- Chức năng đăng nhập, đăng ký
- Chức năng quên mật khẩu,
xi
Trang 152.4 Xác định các trường sử dụng
2.4.1 Sơ đồ UseCase của quản trị viên
Hình 1: UseCase quản trị viên
2.4.2 Sơ đồ UseCase của khách hàng
Hình 2: UseCase khách hàng
2.5 Đặc tả yêu cầu hệ thống
2.5.1 Yêu cầu về chức năng
- Đăng nhập, đăng ký tài khoản
- Mua hàng
- Xem thông tin sản phẩm
- Đặt hàng, thêm vào giỏ hàng
2.5.2 Yêu cầu hệ thống
- Ứng dụng không quá cầu kì
- Giao diện bắt mắt, dễ sử dụng
- Bố cục hài hòa
- Có tính bảo mật, an toàn thông tin người sử dụng
Trang 162.6 Đặc tả các trường hợp sử dụng
2.6.1 UseCase đăng ký
- Tên ca sử dụng: Đăng ký
- Tác nhân: User ( người sử dụng )
- Mục đích: Tạo tài khoản để tham gia thi trên Website, gồm nhập tên đăng nhập
và mật khẩu, đơn giản dễ dàng sử dụng
- Ý nghĩa: User khi muốn làm bài thi đầu tiên cần đăng ký tài khoản để bắt đầulàm bài thi
- Biểu đồ UseCase sử dụng đăng ký:
Hình 3: UseCase đăng ký
2.6.1 UseCase đăng nhập
- Tên ca sử dụng: Đăng nhập
- Tác nhân: Admin và User ( người sử dụng )
- Mục đích: Đảm bảo xác thực Admin, User và các yêu cầu khác để đăng nhậpvào tài khoản, đăng nhập ngay liên kết giữa Facebook và Google
- Ý nghĩa: Admin hay User muốn sử dụng các dịch vụ hệ thống thì phải cung cấpthông tin là Tên đăng nhập và Mật khẩu để đăng nhập vào hệ thống Hệ thống
sẽ kiểm tra thông tin xem người dùng có đúng là thành viên của hệ thống
xiii
Trang 17không, nếu đúng thì người dùng có thể truy cập vào hệ thống với quyền nhấtđịnh đã được quy định, quyền Admin hay quyền User.
- Biểu đồ UseCase sử dụng đăng nhập:
Hình 4: UseCase đăng nhập
Trang 182.6.1 Sơ đồ hoạt động đăng ký
Hình 5: Sơ đồ hoạt động đăng ký
Bảng 1: Hoạt động đăng ký
xv
Trang 192.6.2 Sơ đồ hoạt động đăng nhập
Hình 5: Sơ đồ hoạt động đăng nhập
Bảng 2: Sơ đồ hoạt động đăng nhập
Trang 202.6.3.Biểu đồ tuần tự thêm vào giỏ hàng
Hình 6: Biểu đồ tuần tự thêm vào giỏ hàng
2.7 Phân tích cơ sở dữ liệu
Hình 7: Bảng sản phẩm
xvii
Trang 21Hình 8: Bảng đặt hàng
Hình 9: Bảng người dùng
Hình 10: Sơ đồ class diagram
Trang 22CHƯƠNG 3 : XÂY DỰNG ỨNG DỤNG
3.1.Giao diện đăng ký
- Giao diện đăng ký Khi khách hàng chưa có tài khoản muốn vàoứng dụng phải đăng ký tài khoản
Hình 11: Giao diện đăng ký
3.2.Giao diện đăng nhập
- Khi khách hàng đã đăng ký tài khoản, trước khi vào ứng dụngkhách hàng cần đăng nhập tài khoản đã đăng ký
xix
Trang 23Hình 12: Giao diện đăng nhập
3.3.Giao diện trang chủ
- Trang chủ là trang đầu tiên mà khi khách hàng đăng nhập thànhcông vào ứng dụng sẽ thấy giao diện trang chủ
Trang 24
Hình 13: Giao diện trang chủ
3.4.Chi tiết sản phẩm
- Trang chi tiết sản phẩm là trang có thể xem thông tin của món
ăn trước khi được thêm vào giỏ hàng và đặt hàng
xxi
Trang 25Hình 14: Chi tiết sản phẩm
3.5.Giỏ hàng
- Trang giỏ hàng là trang xem món ăn mà mình đã chọn, xem giátiền và tiến hành đặt hàng nếu muốn
Trang 26Hình 15 Giỏ hàng
xxiii
Trang 27KẾT LUẬN
I Kết quả đạt được
- Về kiến thức: Sau thời gian thực hiện đồ án em đã đạt được nhiềutiến bộ cả về mặt tìm hiểum nghiên cứu lý thuyết lẫn kỹ năng lậptrình Có thể nói, thông qua đồ án, em đã đạt được :
Hiểu biết nhiều hơn về các kỹ thuật và kỹ xảo trong lập trìnhAndroid
Phân tích thiết kế theo hướng đối tượng theo hướng chuyênnghiệp hơn
Nâng cao tinh thần tự học, tự nghiên cứu
- Về ứng dụng: Chương trình thực hiện được các yêu cầu đề ra củamột đồ án
Ứng dụng đã phần nào xây dựng và đáp ứng được một số chứcnăng chính như: quàn lý sản phẩm, quản lý việc chọn sảnphẩm, sử lý trong việc chọn sản phẩm của khách hàng, giaodiện thân thiện, dễ sử dụng,
II Hạn chế:
- Do thời giạn thực hiện phân tích và thiết kế hệ thống là tươngđối hạn chế so với một đề tài tương đối rộng và phong phú nênkhông tránh khỏi nững thiếu sót nhất định
- Bên cạnh đó còn mộ số chức năng chưa được hoàn thiện vàchính xác
- Chưa xử lý được phần bình luận và đánh giá sản phẩm
- Chưa xừ lý được địa chỉ IP trên google map đến cửa hàng
III Hướng phát triển
- Để tiếp tục phát triển đề tài này và có thể áp dụng trong thực tế,
em nhận thấy cần phải tiêos tục thực hiện mộ số công việc nhưsau:
Trang 28 Xử lý các lỗi chặt chẽ hơn trước khi đưa vào sử dụng
Mở rộng bài toán cho nhiều doanh nghiệp riêng biệt
Linh hoạt hơn trong các sự kiện và yêu cầu của khách hàng
Bổ sung nhiều hơn các báo cáo, thống kê
Hoàn thiện các chức năng phù hợp với thực tế hoạt động kinhdoanh,
Phát triển các tính năng hỗ trợ thanh toán(ATM, AirPAY, )
xxv
Trang 29TÀI LIỆU THAM KHẢO
php.php
http://talkerscode.com/webtricks/password-reset-system-using-changes
https://developer.android.com/guide/topics/resources/runtime-resources
https://developer.android.com/guide/topics/resources/complex-xml-https://developer.android.com/topic/architecture/data-layer