MỞ ĐẦUNgày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của cácchính phủ, tổ chức, cũng như của các cô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 CƠ SỞ 3
ĐỀ TÀI XÂY DỰNG ỨNG DỤNG DI ĐỘNG
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
XÂY DỰNG ỨNG DỤNG DI ĐỘNG
HỖ TRỢ BÁN LAPTOP
Đà Nẵng, tháng 5 năm 2022
Trang 3MỞ ĐẦU
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem
là một trong những yếu tố mang tính quyết định trong hoạt động của cácchính phủ, tổ chức, cũng như của các công ty, nó đóng vai trò hết sức quantrọng, có thể tạo ra những bước đột phá mạnh mẽ
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện
tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lầnlượt chinh phục hết đỉnh cao này đến đỉnh cao khác Mạng Internet là mộttrong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên mộtcông cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tintrên toàn cầu
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng chongười sử dụng: chỉ cần có một máy tính kết nối internet và một dòng dữ liệutruy tìm thì gần như lập tức… cả thế giới về vấn đề mà bạn đang quan tâm sẽhiện ra, có đầy đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âmthanh nếu bạn cần… Bằng internet, chúng ta đã thực hiện được nhiều côngviệc với tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cách thức truyềnthống Chính điều này, đã thúc đẩy sự khai sinh và phát triển của thương mạiđiện tử và chính phủ điện tử trên khắp thế giới, làm biến đổi đáng kể bộ mặtvăn hóa, nâng cao chất lượng cuộc sống con người
Trong hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đãkhẳng định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp.Đối với một cửa hàng hay shop, việc quảng bá và giới thiệu đến khách hàngcác sản phẩm mới đáp ứng được nhu cầu của khác hàng sẽ là cần thiết Vậyphải quảng bá thế nào đó là xây dựng được một Ứng dụng di động cho cửahàng của mình quảng bá tất cả các sản phẩm của mình bán
Vì vậy, chúng em đã thực hiện bài tập lớn “XÂY DỰNG ỨNG DỤNG
DI ĐỘNG HỖ TRỢ BÁN LAPTOP”
Trang 4LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành đến quý thầy cô Trường Đạihọc Công nghệ Thông tin và Truyền thông Việt – Hàn đã truyền đạt cho emnhững kiến thức và bài học quý báu trong học kỳ vừa qua
Chúng em xin trân trọng gửi lời cảm ơn đến thầy giáo TS Lê Văn Minhgiảng viên Trường Đại học Công nghệ Thông tin và Truyền thông Việt - Hàn đãtận tình hướng dẫn và giúp đỡ chúng em trong suốt quá trình làm đồ án, giúpchúng em có thêm nhiều kiến thức bổ ích, và hiểu rõ hơn vấn đề mình nghiêncứu Và trong thời gian làm đồ án vừa qua, thầy đã giành nhiều thời gian quýbáu và tâm huyết để hướng dẫn chúng em hoàn thành đồ án này
Dưới đây là kết quả của quá trình tìm hiểu và nghiên cứu mà chúng em
đã đạt được trong học kỳ vừa qua Tuy có nhiều cố gắng học hỏi trau dồi đểnâng cao kiến thức nhưng không thể tránh khỏi những sai sót Chúng em rấtmong được những sự góp ý quý báu của các thầy giáo, cô giáo cũng như tất cảcác bạn để đồ án của chúng em được hoàn thiện hơn
Chúng em xin chân thành cảm ơn!
Đ Nng, ngy … tháng … năm 202
Sinh viên
Trang 5NHẬN XÉT
(Của giảng viên hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
… Đ Nng, ngy … tháng … năm 202
Giảng viên hướng dẫn
Trang 6MỤC LỤC
Trang
MỞ ĐẦU 2
MỤC LỤC 5
DANH MỤC HÌNH 7
DANH MỤC BẢNG 8
DANH MỤC CỤM TỪ VIẾT TẮT 9
Chương 1 TỔNG QUAN 8
1.1 Lý do chọn đề tài 8
1.2 Mục đích thực hiện đề tài 8
1.3 Nhiệm vụ thực hiện đề tài 8
1.4 Phương pháp nghiên cứu 8
1.4.1 Phương pháp 1 8
1.4.2 Phương pháp 2 8
1.4.3 Phương pháp 3 8
1.5 Cấu trúc đồ án 9
Chương 2 CƠ SỞ LÝ THUYẾT 10
2.1 Cơ sở lý luận và thực tiễn 10
2.1.1 Ứng dụng di động là gì? 10
2.1.2 Lợi ích của ứng dụng di động 10
2.1.3 Tổng quan về XAMPP 11
2.1.4 Tổng quan về Firebase 11
2.2 Tổng quan về công nghệ chính 12
2.2.1 Tổng quan về ngôn ngữ lập trình Java 12
2.2.2 Tổng quan về IDE Android Studio 13
Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14
3.1 Các yêu cầu của hệ thống 14
3.1.1 Danh sách các tác nhân 14
3.1.2 Yêu cầu phi chức năng 14
3.1.3 Yêu cầu chức năng 15
3.2 Mô hình hóa yêu cầu 16
3.2.1 Xác định các tác nhân (actor) 16
3.2.2 Xác định các ca sử dụng (use case) 16
3.2.3 Biểu đồ ca sử dụng 17
3.3 Mô hình hóa cấu trúc 18
3.3.1 Xác định các lớp 18
3.3.2 Biểu đồ lớp phân tích 19
3.4 Mô hình hóa hành vi 20
3.4.1 Biểu đồ hoạt động 20
3.4.2 Biểu đồ trạng thái 22
3.4.3 Biểu đồ trình tự 23
3.4.4 Biểu đồ giao tiếp 24
Trang 7Chương 4 XÂY DỰNG CHƯƠNG TRÌNH 25
4.1 Khách hàng 25
4.1.1 Đăng ký, đăng nhập 25
4.1.2 Xem sản phẩm 26
4.1.3 Tìm kiếm sản phẩm 29
4.1.4 Xem thông tin liên hệ 30
4.1.5 Quản lý giỏ hàng 31
4.1.6 Đặt hàng và thanh toán 31
4.1.7 Xem lịch sử mua hàng 33
4.2 Người quản trị 34
4.2.1 Đăng nhập 34
4.2.2 Quản lý sản phẩm 35
4.2.3 Quản lý đơn đặt hàng 39
KẾT LUẬN 41
1 Kết quả đạt được 41
2 Hướng nghiên cứu 41
TÀI LIỆU THAM KHẢO 42
Trang 8DANH MỤC HÌNH
Hình 2.1: Các ngôn ngữ tạo nên ứng dụng di động 10
Hình 2.2: Logo CHPlay và Android App 10
Hình 2.3: Logo XAMPP 11
Hình 2.4: Logo Firebase 11
Hình 2.5: Logo Java 12
Hình 2.6: Logo Android Studio 13
Hình 3.1: Biểu đồ ca sử dụng người dùng 17
Hình 3.2: Biểu đồ ca sử dụng của admin 18
Hình 3.3: Biểu đồ lớp phân tích 19
Hình 3.4: Biểu đồ hoạt động đăng nhập 20
Hình 3.5: Biểu đồ hoạt động quản lý sản phẩm 21
Hình 3.6: Biểu đồ trạng thái thanh toán 22
Hình 3.7: Biểu đồ trạng thái đăng nhập 22
Hình 3.8: Biểu đồ trình tự đăng nhập 23
Hình 3.9: Biểu đồ trình tự sửa sản phẩm 23
Hình 3.10: Biểu đồ giao tiếp đăng nhập 24
Hình 3.11: Biểu đồ giao tiếp sửa sản phẩm 24
Hình 4.1: Chức năng đăng nhập, đăng ký 25
Hình 4.2: Chức năng quên mật khẩu 26
Hình 4.3: Xem sản phẩm mới 26
Hình 4.4: Xem sản phẩm theo danh mục 27
Hình 4.5: Xem chi tiết sản phẩm 28
Hình 4.6: Tìm kiếm sản phẩm 29
Hình 4.7: Xem thông tin liên hệ 30
Hình 4.8: Giỏ hàng 31
Hình 4.9: Xác nhận đặt hàng 32
Hình 4.10: Admin nhận thông báo khi có đơn hàng mới 32
Hình 4.11: Lịch sử mua hàng 33
Hình 4.12: Người quản trị đăng nhập 34
Hình 4.13: Liệt kê sản phẩm 35
Hình 4.14: Thêm sản phẩm 36
Hình 4.15: Popup chức năng sửa và xóa sản phẩm 37
Hình 4.16: Sửa sản phẩm 38
Hình 4.17: Liệt kê đơn hàng 39
Hình 4.18: Cập nhật tình trạng đơn hàng 40
Hình 4.19: Thông báo tình trạng đơn hàng sau khi cập nhật cho user 40
Trang 9DANH MỤC BẢNG
Bảng 1: So sánh các phương pháp nghiên cứu 9
Bảng 2: Liệt kê các tác nhân 14
Bảng 3: Yêu cầu chứng năng đối với người dùng 15
Bảng 4: Yêu cầu chức năng đối với admin 15
Trang 10DANH MỤC CỤM TỪ VIẾT TẮT
STT Cụm từ Viết tắt
3 Integrated Development Environment IDE
4 Application Programming Interface API
Trang 193.2 Mô hình hóa yêu cầu
Tìm kiếm sản phẩm: tìm kiếm theo tên, …
Quản lý giỏ hàng: thêm giỏ hàng, cập nhật số lượng sản phẩm có trong giỏ, xóa sản phẩm, …
Đặt hàng: đặt hàng, nhập thông tin người nhận,…
Trang 203.2.3 Biểu đồ ca sử dụng
3.2.3.1 Đối với người dùng (Khách hàng)
Hình 3.7: Biểu đồ ca sử dụng người dùng
17
Trang 213.2.3.2 Đối với admin (Người quản trị)
Hình 3.8: Biểu đồ ca sử dụng của admin
3.3 Mô hình hóa cấu trúc
Trang 223.3.2 Biểu đồ lớp phân tích
Hình 3.9: Biểu đồ lớp phân tích
19
Trang 233.4 Mô hình hóa hành vi
3.4.1 Biểu đồ hoạt động
Hình 3.10: Biểu đồ hoạt động đăng nhập
20
Trang 2421
Trang 253.4.2 Biểu đồ trạng thái
Hình 3.12: Biểu đồ trạng thái thanh toán
Hình 3.13: Biểu đồ trạng thái đăng nhập
22
Trang 263.4.3 Biểu đồ trình tự
Hình 3.14: Biểu đồ trình tự đăng nhập
Hình 3.15: Biểu đồ trình tự sửa sản phẩm
23
Trang 273.4.4 Biểu đồ giao tiếp
Hình 3.16: Biểu đồ giao tiếp đăng nhập
Hình 3.17: Biểu đồ giao tiếp sửa sản phẩm
24
Trang 28Chương 4 XÂY DỰNG CHƯƠNG TRÌNH4.1 Khách hàng
4.1.1 Đăng ký, đăng nhập
Hình 4.18: Chức năng đăng nhập, đăng ký
- Người dùng khi truy cập vào trang chủ ứng dụng bắt buộc phải đăngnhập vào hệ thống Trong lần đầu tiên truy cập người dùng sẽ tiếnhành đăng ký tài khoản và dùng đăng nhập trong các lần truy cập saunày
- Mỗi tài khoản email chỉ được sử dụng cho duy nhất 1 tài khoản
- Ngoài ra, khi quên mật khẩu, khách hàng có thể lấy lại nhờ email đã
sử dụng khi đăng ký tài khoản
25
Trang 294.1.2 Xem sản phẩm
- Xem sản phẩm mới nhất: hiển thị sản phẩm mới nhất (dựa trên ID sảnphẩn, sản phẩm thêm sau sẽ có ID lớn hơn) nhằm giúp quảng bánhững sản phẩm mới của shop đến khách hàng
Hình 4.20: Xem sản phẩm mới
26
Trang 30- Xem sản phẩm theo danh mục: hiện tại ứng dụng phân theo 2 danhmục chính là laptop và phụ kiện.
Hình 4.21: Xem sản phẩm theo danh mục
27
Trang 31- Xem chi tiết sản phẩm: bao gồm các thông tin về sản phẩm như tên,giá, mô tả chi tiết và hình ảnh sản phẩm,
Hình 4.22: Xem chi tiết sản phẩm
28
Trang 324.1.3 Tìm kiếm sản phẩm
Hình 4.23: Tìm kiếm sản phẩm
- Khách hàng nhập từ khóa tìm kiếm dựa theo tên sản phẩm, hệ thống
sẽ hiển thị tất cả các sản phẩm có chứa từ khóa tìm kiếm để kháchhàng dễ dàng chọn lựa
29
Trang 334.1.4 Xem thông tin liên hệ
Hình 4.24: Xem thông tin liên hệ
- Người dùng xem các thông tin của shop như địa chỉ, hotline, thông tinđối tác,
30
Trang 344.1.5 Quản lý giỏ hàng
Hình 4.25: Giỏ hàng
- Tại giỏ hàng, khách hàng có thể xem những sản phẩm mình đã thêmvào, xóa sản phẩm ra khỏi giỏ, cập nhật số lượng từng sản phẩm vàcuối cùng là xác nhận tiến tới bước đặt hàng
- Chức năng cập nhật số lượng sản phẩm kèm theo tính năng khichuyển số lượng từ 1 về 0 sẽ hiện popup cảnh báo về việc xác nhậnxóa sản phẩm khỏi giỏ hàng
4.1.6 Đặt hàng và thanh toán
- Khi muốn đặt hàng thì khách hàng sẽ truy cập vào trang chi tiết củasản phẩm cần mua, có thể sử dụng spinner để lựa chọn số lượng từ 1-10
- Sau đó truy cập vào giỏ hàng, tiến hành tích vào checkbox bên cạnhsản phẩm cần mua và nhấn vào nút đặt hàng để được điều hướng đếntrang thanh toán
- Tại trang thanh toán một số thông tin cá nhân đã được lấy sẵn từthông tin đăng ký tài khoản, khách hàng chỉ cần nhập địa chỉ và xácnhận đặt hàng
- Hiện tại ứng dụng có 2 phương thức thanh toán cho khách hàng lựachọn: thanh toán trực tiếp và thanh toán bằng momo
31
Trang 35- Ngoài ra, ngay sau khi khách hàng đặt hàng thành công, tất cả cácadmin của shop sẽ nhận được thông báo có đơn hàng mới, tiện choviệc duyệt dơn hàng nhanh chóng.
Hình 4.27: Admin nhận thông báo khi có đơn hàng mới
32
Trang 374.2 Người quản trị
4.2.1 Đăng nhập
Hình 4.29: Người quản trị đăng nhập
- Admin đăng nhập vào hệ thống bằng tài khoản được cấp
- Để đảm bảo tính bảo mật, chức năng đăng nhập kết hợp với hệ thốngxác thực authentication của Firebase
- Admin sẽ được thực hiện tất cả chức năng như người dùng và có thêmcác chức năng quản lý
34
Trang 39- Admin nhấn vào dấu cộng trên góc trên bên phải màn hình để tiếnhành thêm sản phẩm.
36
Trang 40- Để thực hiện chức năng sửa hoặc xóa sản phẩm, admin cần nhấn giữsản phẩm cần quản lý và lựa chọn chức năng cần thực hiện sau khipopup hiện lên Nếu chọn chức năng sửa, sẽ được điều hướng đếnmàn hình sửa sản phẩm, tất cả thông tin cũ của sản phẩm sẽ được tảilên tự động, chỉ cần thao tác ở những trường cần sửa thông tin.
37
Trang 4138
Trang 424.2.3 Quản lý đơn đặt hàng
Hình 4.34: Liệt kê đơn hàng
- Quản lý đơn hàng gồm các chức năng liệt kê đơn hàng và cập nhậttình trạng đơn hàng
39
Trang 43- Để cập nhật đơn hàng, admin tiến hành nhấn giữ vào tình trạng củađơn hàng cần quản lý, sau khi popup hiển thị thì chọn tình trạng mớicho đơn hàng.
Hình 4.36: Thông báo tình trạng đơn hàng sau khi cập nhật cho user
- Ngoài ra, sau khi admin cập nhật tình trạng đơn hàng, khách hàng đặtđơn đó sẽ ngay lập tức nhận được thông báo về tình hình đơn hàngcủa mình
40
Trang 44+ Biểu diễn và mô tả được bài toán bằng các sơ đồ.
+ Phân tích thiết kế bài toán một cách đầy đủ, theo đúng quy trìnhđược học
Bên cạnh đó, với trình độ và kinh nghiệm còn hạn chế nên ứng dụng vẫncòn nhiều thiếu sót và lỗ hỏng Rất mong các thầy cô giáo và các bạn tận tìnhgiúp đỡ để đồ án của chúng em được hoàn thiện hơn
2 Hướng nghiên cứu
Với những hạn chế và tồn tại nêu trên, chúng em dự kiến sẽ:
- Tìm hiểu kĩ hơn về thành phần, chức năng của một ứng dụng di
động thương mại điện tử
- Cải tiến ứng dụng bằng những thuật toán, ngôn ngữ tốt hơn nhằm
tối ưu thời gian thực hiện trên hệ thống, tăng trải nghiệm ngườidùng
- Tiếp tục hoàn thiện và phát triển các chức năng đã làm và thêm
Trang 45TÀI LIỆU THAM KHẢO
- Code php tại: Giáo trình Joel Murach_ Ray Harris - Murach’s PHP and MySQL _ training & reference-Mike Murach and Associates (2014)
- Code các loại ngôn ngữ và MySQL tại: w3schools.com
- Lập trình Android tại: developer.android.com
- Website tham khảo: thegioididong.com
42