Ứng dụng bán hàng online trên Android với mục đích cung cấp cho các nhà kinh doanh công cụ để bán hàng, quảng bá thương hiệu của họ đến khắp mọi miền trên đất nước, đồng thời giúp cho
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG BÁN HÀNG ONLINE TRÊN ANDROID
Giảng viên hướng dẫn: TS Phạm Thị Thu Thúy Sinh viên thực hiện: Nguyễn Như Ý
Mã số sinh viên: 56131778
Khánh Hòa - 2018
Trang 2TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN HỆ THỐNG THÔNG TIN
TRANG BÌA
ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG BÁN HÀNG ONLINE TRÊN ANDROID
GVHD: TS Phạm Thị Thu Thúy
SVTH: Nguyễn Như Ý MSSV: 56131778
Khánh Hòa, tháng 06/2018
Trang 3GIẤY QUYẾT ĐỊNH
Trang 4TRƯỜNG ĐẠI HỌC NHA TRANG
Khoa/viện:Khoa Công nghệ Thông tin
PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ ĐỀ TÀI / KHÓA LUẬN TỐT
NGHIỆP
(Dùng cho CBHD và nộp cùng báo cáo ĐA/KLTN của sinh viên)
Tên đê tài: Xây dựng ứng dụng bán hàng online trên Android
Giảng viên hướng dẫn: TS Phạm Thị Thu Thúy
Sinh viên được hướng dẫn: Nguyễn Như Ý MSSV: 56131778
Khóa: Khóa 56 Ngành: Công nghệ thông tin
Khánh Hòa, ngày…….tháng…….năm 2018
Cán bộ hướng dẫn
(Ký và ghi rõ họ tên)
Trang 5TRƯỜNG ĐẠI HỌC NHA TRANG
Khoa/Viện:………
PHIẾU CHẤM ĐIỂM ĐỒ ÁN/ KHÓA LUẬN TỐT NGHIỆP (Dành cho cán bộ chấm phản biện) 1 Họ tên người chấm:………
2 Sinh viên/ nhóm sinh viên thực hiện ĐA/KLTN (sĩ số trong nhóm:……….)
(1)……… MSSV:
(2)……… MSSV:
(3)……… MSSV:
(4)……… MSSV:
(5)……… MSSV:
Lớp: 56-HTTT Ngành: Công nghệ thông tin 3 Tên đề tài
4 Nhận xét - Hình thức:
- Nội dung: ………
……….………
……….………
……….………
……….……
……….……
………
………….………
………….………
Điểm hình thức:……/10 Điểm nội dung: /10 Điểm tổng kết:……/10
Đồng ý cho sinh viên: Được bảo vệ: Không được bảo vệ: Khánh Hòa, ngày…….tháng………năm………
Cán bộ chấm phản biện
(Ký và ghi rõ họ tên)
Trang 6TRƯỜNG ĐẠI HỌC NHA TRANG
Khoa/viện:………
PHIẾU CHẤM CỦA HỘI ĐỒNG BẢO VỆ ĐA/KLTN (Dùng cho thành viên Hội đồng bảo vệ ĐA/KLTN) 1 Họ tên thành viên HĐ:
Chủ tịch: Thư ký: Ủy viên: 2 Tên đề tài
3 Họ tên sinh viên thực hiện: (1)………MSSV:
(2)………MSSV:
(3)………MSSV:
(4)………MSSV:
(5)………MSSV:
4 Phần đánh giá và cho điểm của thành viên hội đồng (theo thang điểm 10) a) Hình thức, bố cục bài báo cáo (sạch, đẹp, cân đối giữa các phần,…) : ………
b) Nội dung bản báo cáo (thể hiện mục tiêu, kết quả,…) : ………
c) Trình bày (đầy đủ, ngắn gọn, lưu loát, không quá thời gian…) : ………
d) Trả lời các câu hỏi của người chấm (đúng/sai) : ………
e) Trả lời các câu hỏi của thành viên hội đồng (đúng/sai) : ………
f) Thái độ, cách ứng xử, mức độ tự tin : ……
g) Nắm vững nội dung đề tài : ……
h) Nắm vững những vấn đề liên quan đề tài :………
i) Tính sáng tạo khoa học của sinh viên :………
Tổng cộng : ……
Điểm trung bình của các cột điểm trên:……./10 (làm tròn đến 1 số lẻ)
Cán bộ chấm điểm
(Ký và ghi rõ họ tên)
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của TS Phạm Thị Thu Thúy Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung của mình Trường Đại học Nha Trang không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)
Trang 8LỜI CẢM ƠN
Đầu tiên tôi xin cám ơn nhà trường đã tạo môi trường tốt nhất cho tôi có thể thuận lợi nghiên cứu thực hiện đề tài Tôi xin cám ơn thầy cô, cha mẹ và các bạn- những người
đã luôn bên cạnh tiếp thêm động lực để tôi có thể hoàn thành đề tài
Tôi xin cám ơn tập thể 56TH2 (Lớp 56 Công nghệ thông tin 2 - Khoa Công nghệ thông tin – Đại học Nha Trang) – một tập thể đã luôn cùng tôi trải qua những tháng
ngày sinh viên tươi đẹp, giúp tôi có những kỷ niệm đáng nhớ nhất
Tôi xin chân thành cám ơn thầy cô Khoa Công nghệ thông tin – Trường Đại học Nha Trang – những người đã dùng hết tâm huyết của để truyền tải những kiến thức quý báu của nhân loại cho sinh viên chúng tôi trong thời gian học tập tại trường Xin cảm ơn quý thầy cô
Tôi xin cảm ơn sâu sắc đến TS Phạm Thị Thu Thúy – Giảng viên, Trưởng Khoa Khoa Công nghệ thông tin – Trường Đại học Nha Trang – đã hỗ trợ và hướng dẫn tận tình Nhờ sự chỉ dẫn nhiệt tình của cô nên tôi mới có thể hoàn thành đề tài này Một lần nữa tôi xin chân thành cám ơn cô
Với tấm lòng biết ơn sâu sắc một lần nữa tôi xin được tỏ lòng biết ơn chân thành đến các thầy, các cô, bạn bè, cha mẹ, đã luôn động viên, thúc đẩy tôi Tôi xin sẽ luôn cố gắng học tập và làm việc hơn nữa để xứng đáng với những gì mà thầy cô và ba mẹ đã
kỳ vọng Góp phần vào việc nâng cao uy tín, chất lượng của nhà trường
Tôi xin chân thành cảm ơn tất cả!
Nha Trang, ngày 25 tháng 06 năm 2018
Nguyễn Như Ý
Trang 9TÓM TẮT ĐỒ ÁN
Với mức độ phức tạp và quy mô ứng dụng, cộng thêm vấn đề thời gian cho nên
đề tài “Xây dựng ứng dụng bán hàng online trên Android” chỉ dừng ở mức tìm hiểu lập trình Mobile Application trên Android Studio, Web ASP.NET trên C#, SOAP Web Services trên C#, cơ sở dữ liệu trên Microsoft Sql Server và áp dụng thực nghiệm xây dựng ứng dụng bán hàng online trên Android
Ứng dụng bán hàng online trên Android với mục đích cung cấp cho các nhà kinh doanh công cụ để bán hàng, quảng bá thương hiệu của họ đến khắp mọi miền trên đất nước, đồng thời giúp cho khách hàng của họ có thể chọn mua những sản phẩm đẹp, uy tín và có giá cả hợp lý
Do còn một số hạn chế nên ứng dụng chỉ dừng lại ở mức thanh toán trực tiếp thông qua các nhà vận chuyển Trong tương lai, hệ thống sẽ phát triển theo hướng thương mại điện tử (với hình thức thanh toán qua thẻ tín dụng, tài khoản ngân hàng, thẻ mua hàng trực tuyến)
Trang 10MỤC LỤC
TRANG BÌA i
GIẤY QUYẾT ĐỊNH ii
PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ ĐỀ TÀI / KHÓA LUẬN TỐT NGHIỆP iii
PHIẾU CHẤM ĐIỂM ĐỒ ÁN/ KHÓA LUẬN TỐT NGHIỆP iv
PHIẾU CHẤM CỦA HỘI ĐỒNG BẢO VỆ ĐA/KLTN v
LỜI CAM ĐOAN vi
LỜI CẢM ƠN vii
TÓM TẮT ĐỒ ÁN viii
MỤC LỤC ix
DANH SÁCH HÌNH xii
DANH SÁCH BẢNG BIỂU xvii
DANH SÁCH CÁC TỪ VIẾT TẮT xviii
PHẦN MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 2
Đặt vấn đề 2
Lý do chọn đề tài 2
Xác định các yêu cầu của đề tài 2
Phương pháp nghiên cứu 4
Ý nghĩa khoa học và thực tiễn 4
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG NGHỆ HỖ TRỢ 5
Sơ đồ Use case 5
Máy chủ ảo VPS 6
Java và công cụ lập trình Android Studio 7
SOAP Web Services và công cụ lập trình Microsoft Visual Studio 11
Trang 11Tổng quan SQL Server 15
Tổng quan GitHub 16
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG 18
Phân tích theo sơ đồ Use Case 18
Sơ đồ Use Case tổng quát 18
Sơ đồ Use Case chi tiết 19
Thiết kế cơ sở dữ liệu 28
Xây dựng các bảng dữ liệu 28
Mô hình dữ liệu 36
CHƯƠNG 4 XÂY DỰNG HỆ THỐNG BÁN HÀNG 37
Phần người dùng 37
Xây dựng màn hình khởi động 37
Xây dựng màn hình đăng ký, đăng nhập 39
Xây dựng màn hình trang chủ 43
Xây dựng màn hình tìm kiếm 45
Xây dựng màn hình danh mục sản phẩm 47
Xây dựng màn hình danh sách sản phẩm 48
Xây dựng màn hình sản phẩm 50
Xây dựng màn hình giảm giá 54
Xây dựng màn hình giỏ hàng 55
Xây dựng màn hình nhập thông tin người nhận hàng 56
Xây dựng màn hình chọn phương thức vận chuyển 57
Xây dựng màn hình kết quả đặt hàng 59
Xây dựng màn hình tài khoản 60
Phần quản trị 63
Xây dựng quản trị đăng nhập 63
Xây dựng quản trị đơn hàng 64
Trang 12Xây dựng quản trị sản phẩm 66
Xây dựng quản trị loại sản phẩm 68
Xây dựng quản trị ảnh trình chiếu 70
Xây dựng quản trị thương hiệu 72
Xây dựng quản trị giảm giá 73
Xây dựng quản trị nhập hàng hóa 76
Xây dựng quản trị kho hàng 79
Xây dựng báo cáo doanh thu 81
Xây dựng quản trị nhân viên 82
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TOÀN HỆ THỐNG 85
Kết luận đồ án 85
Kết quả đạt được 85
Hạn chế tồn tại 86
Hướng phát triển 86
DANH MỤC TÀI LIỆU THAM KHẢO 87
PHỤ LỤC 1 CÁC TÀI KHOẢN QUẢN TRỊ MẶC ĐỊNH 89
PHỤ LỤC 2 HƯỚNG DẪN CÀI ĐẶT 90
PHỤ LỤC 3 HƯỚNG DẪN SỬ DỤNG 91
Trang 13DANH SÁCH HÌNH
Hình 2.1 Amazon EC2.[1] 6
Hình 2.2 Giao diện quản lý VPS trên Amazon.[3] 7
Hình 2.3 Giao diện thiết lập mở port trên Amazon.[2] 7
Hình 2.4 Giao diện tạo một dự án mới 8
Hình 2.5 Một số thư viện đã được thêm vào dự án 9
Hình 2.6 Thiết kế giao diện bằng mã xml 9
Hình 2.7 Tương tác với giao diện màn hình bằng mã xử lý Java 10
Hình 2.8 Giao diện cửa sổ Android Profiler 10
Hình 2.9 Giao diện phân tích mã xử lý trên cửa sổ Android Profiler 11
Hình 2.10 Giới thiệu Visual Studio 12
Hình 2.11 Giao diện cửa sổ tạo một Web Service Application mới 13
Hình 2.12 Mã tạo một WebMethod 13
Hình 2.13 Mô tả cách thực thi một WebMethod 14
Hình 2.14 Thanh công cụ Debug 14
Hình 2.15 Cửa sổ Diagnostic Tool 15
Hình 2.16 Giới thiệu SQL Server 15
Hình 2.17 Giới thiệu GitHub 16
Hình 3.1 Sơ đồ Use Case tổng quát của hệ thống 18
Hình 3.2 Sơ đồ Use Case khách hàng quản lý sản phẩm 19
Hình 3.3 Sơ đồ Use Case khách hàng xem trang chủ 20
Hình 3.4 Sơ đồ Use Case khách hàng xem danh mục sản phẩm 20
Hình 3.5 Sơ đồ Use Case khách hàng quản lý giỏ hàng 21
Hình 3.6 Sơ đồ Use Case khách hàng quản lý đơn hàng 21
Hình 3.7 Sơ đồ Use Case người quản trị quản lý nhập hàng hóa 22
Hình 3.8 Sơ đồ Use Case người quản trị quản lý sản phẩm 22
Hình 3.9 Sơ đồ Use Case người quản trị quản lý loại sản phẩm 23
Hình 3.10 Sơ đồ Use Case người quản trị quản lý ảnh trình chiếu 24
Hình 3.11 Sơ đồ Use Case người quản trị quản lý thương hiệu 24
Trang 14Hình 3.12 Sơ đồ Use Case người quản trị quản lý giảm giá 25
Hình 3.13 Sơ đồ Use Case người quản trị quản lý kho hàng 25
Hình 3.14 Sơ đồ Use Case người quản trị quản lý doanh thu 26
Hình 3.15 Sơ đồ Use Case người quản trị quản lý đơn hàng 26
Hình 3.16 Sơ đồ Use Case người quản trị quản lý nhân viên 27
Hình 3.17 Mô hình dữ liệu 36
Hình 4.1 Giao diện màn hình khởi động ứng dụng 37
Hình 4.2 Mã xử lý C# lấy danh mục sản phẩm 38
Hình 4.3 Mã xử lý ksoap2 trên Java giao tiếp với server 38
Hình 4.4 Mã xử lý lưu trữ dữ liệu và chuyển màn hình 38
Hình 4.5 Giao diện màn hình đăng ký 39
Hình 4.6 Mã xử lý C# thực hiện đăng ký tài khoản khách hàng mới 40
Hình 4.7 Mã xử lý Java kiểm tra và gửi dữ liệu lên server 40
Hình 4.8 Nội dung bên trong luồng xử lý asynctask_dang_ky 41
Hình 4.9 Giao diện màn hình đăng nhập 41
Hình 4.10 Giao diện màn hình khôi phục mật khẩu 42
Hình 4.11 Giao diện màn hình trang chủ 43
Hình 4.12 Mã xử lý Java thực thi lấy ảnh trình chiếu 44
Hình 4.13 Mã xử lý Control ViewFlipper trên Java để hiển thị ảnh trình chiếu 44
Hình 4.14 Mã xử lý Control Recyclerview trên Java 45
Hình 4.15 Giao diện màn hình tìm kiếm 45
Hình 4.16 Mã xử lý Java kiểm tra thông tin tìm kiếm 46
Hình 4.17 Giao diện màn hình danh mục sản phẩm 47
Hình 4.18 Mã xử lý Control GridView trên Java 47
Hình 4.19 Giao diện mà hình danh sách sản phẩm 48
Hình 4.20 Mã xử lý C# thực thi truy vấn lấy danh sách sản phẩm theo yêu cầu 49
Hình 4.21 Mã xử lý Control GridView trên Java 49
Hình 4.22 Mã xử lý tạo Control Dialog và thiết lập sắp xếp trên Java 50
Hình 4.23 Mã xử lý thu thập yêu cầu lấy danh sách sản phẩm trên java 50
Trang 15Hình 4.24 Giao diện màn hình sản phẩm 51
Hình 4.25 Mã xử lý Java trong luồng thực thi giao tiếp với server 52
Hình 4.26 Mã xử lý Control ViewPager trên Java 52
Hình 4.27 Mã xử lý tạo Control Dialog phong_to trên Java 52
Hình 4.28 Mã xử lý Java lấy nội dung ảnh từ Internet và hiển thị Dialog phong_to 52
Hình 4.29 Mã xử lý Java thực hiện chia sẻ sản phẩm 53
Hình 4.30 Mã xử lý Control Recyclerview hiển trị đánh giá trên Java 53
Hình 4.31 Giao diện màn hình giảm giá 54
Hình 4.32 Mã xử lý Java hiển thị từng chương trình giảm giá khi nhấp chọn 54
Hình 4.33 Giao diện màn hình giỏ hàng 55
Hình 4.34 Mã xử lý Control Recyclerview hiển thị giỏ hàng trên Java 56
Hình 4.35 Mã xử lý hiển thị cửa sổ nhập mã giảm giá trên Java 56
Hình 4.36 Giao diện màn hình nhập thông tin người nhận hàng 56
Hình 4.37 Giao diện màn hình chọn phương thức vận chuyển 57
Hình 4.38 Mã xử lý C# lấy danh sách phương thức vận chuyển 58
Hình 4.39 Mã xử lý Java nhận về danh sách phương thức vận chuyển 58
Hình 4.40 Mã xử lý Java hiển thị danh sách phương thức vận chuyển 58
Hình 4.41 Giao diện màn hình kết quả đặt hàng 59
Hình 4.42 Mã xử lý Java trong luồng xử lý gửi thông tin đơn hàng lên server 59
Hình 4.43 Mã xử lý kiểm tra kết quả trả đặt hàng trên Java 60
Hình 4.44 Giao diện tab thông tin tài khoản 60
Hình 4.45 Mã xử lý Java tạo luồng xử lý doi_mat_khau_nguoi 61
Hình 4.46 Giao diện tab đơn hàng của tôi 61
Hình 4.47 Mã xử lý Java hiển thị danh sách đơn hàng đã đặt 61
Hình 4.48 Mã xử lý Java hiển thị thông báo khi thao tác hủy đơn hàng 62
Hình 4.49 Giao diện tab danh sách yêu thích 62
Hình 4.50 Mã xử lý Java hiển thị danh sách mong muốn 63
Hình 4.51 Giao diện trang đăng nhập quản trị 63
Hình 4.52 Giao diện trang quản trị danh sách trạng thái đơn hàng 64
Trang 16Hình 4.53 Giao diện trang quản trị danh sách đơn hàng 64
Hình 4.54 Giao diện trang quản trị chi tiết đơn hàng 65
Hình 4.55 Giao diện trang quản trị danh sách sản phẩm 66
Hình 4.56 Giao diện trang quản trị cập nhật thông tín sản phẩm 66
Hình 4.57 Giao diện trang chi tiết sản phẩm 67
Hình 4.58 Giao diện trang danh sách ảnh của sản phẩm 67
Hình 4.59 Giao diện trang thêm sản phẩm 68
Hình 4.60 Giao diện trang danh mục sản phẩm 68
Hình 4.61 Giao diện thêm danh mục sản phẩm 69
Hình 4.62 Giao diện sửa loại sản phẩm 69
Hình 4.63 Giao diện danh sách sản phẩm trong danh mục sản phẩm 70
Hình 4.64 Giao diện danh sách ảnh trình chiếu 70
Hình 4.65 Giao diện sửa ảnh trình chiếu 71
Hình 4.66 Giao diện trang thêm ảnh trình chiếu 71
Hình 4.67 Giao diện trang danh sách thương hiệu 72
Hình 4.68 Giao diện trang sửa thương hiệu 72
Hình 4.69 Giao diện trang thêm thương hiệu 73
Hình 4.70 Giao diện trang danh sách chương trình giảm giá 73
Hình 4.71 Giao diện trang thêm chương trình giảm giá 74
Hình 4.72 Giao diện trang cập nhật chương trình giảm giá 74
Hình 4.73 Giao diện danh sách sản phẩm của chương trình giảm giá 75
Hình 4.74 Giao diện thêm sản phẩm vào chương trình giảm giá 75
Hình 4.75 Giao diện trang sửa thông tin sản phẩm giảm giá 76
Hình 4.76 Giao diện trang danh sách phiếu nhập 76
Hình 4.77 Giao diện trang thêm phiếu nhập 77
Hình 4.78 Giao diện trang sửa phiếu nhập 77
Hình 4.79 Giao diện trang danh sách sản phẩm trong phiếu nhập 78
Hình 4.80 Giao diện trang thêm sản phẩm vào phiếu nhập 78
Hình 4.81 Giao diện trang sửa thông tin sản phẩm trong phiếu nhập 79
Trang 17Hình 4.82 Giao diện trang danh sách kho hàng 79
Hình 4.83 Giao diện trang cập nhật thông tin kho hàng 80
Hình 4.84 Giao diện trang danh sách sản phẩm trong kho hàng 80
Hình 4.85 Giao diện trang thêm kho hàng 81
Hình 4.86 Giao diện trang báo cáo doanh thu 81
Hình 4.87 Giao diện trang in doanh thu 82
Hình 4.88 Mã xử lý hiển trị trang in doanh thu 82
Hình 4.89 Giao diện trang danh sách nhân viên 83
Hình 4.90 Giao diện trang cập nhật thông tin nhân viên 83
Hình 4.91 Giao diện trang thêm nhân viên 84
Trang 18DANH SÁCH BẢNG BIỂU
Bảng 3.1 Nội dung bảng khu_vuc 28
Bảng 3.2 Nội dung bảng loai_san_pham 28
Bảng 3.3 Nội dung bảng thuong_hieu 28
Bảng 3.4 Nội dung bảng san_pham 29
Bảng 3.5 Nội dung bảng danh_sach_anh_cua_san_pham 29
Bảng 3.6 Nội dung bảng danh_sach_loai_san_pham_cua_san_pham 29
Bảng 3.7 Nội dung bảng tinh_trang_nguoi 30
Bảng 3.8 Nội dung bảng nguoi 30
Bảng 3.9 Nội dung bảng kho_hang 31
Bảng 3.10 Nội dung bảng chi_tiet_kho_hang 31
Bảng 3.11 Nội dung bảng phieu_nhap_hang_hoa 31
Bảng 3.12Nội dung bảng chi_tiet_phieu_nhap 32
Bảng 3.13 Nội dung bảng giam_gia 32
Bảng 3.14 Nội dung bảng danh_sach_san_pham_giam_gia 32
Bảng 3.15 Nội dung bảng danh_sach_mong_muon 33
Bảng 3.16 Nội dung bảng danh_gia 33
Bảng 3.17 Nội dung bảng phuong_thuc_van_chuyen 33
Bảng 3.18 Nội dung bảng tinh_trang_don_hang 34
Bảng 3.19 Nội dung bảng don_hang 34
Bảng 3.20 Nội dung bảng chi_tiet_don_hang 35
Bảng 3.21 Nội dung table anh_trinh_chieu 35
Trang 19DANH SÁCH CÁC TỪ VIẾT TẮT
Trang 20PHẦN MỞ ĐẦU
Ngày nay với sự phát triển của nền kinh tế, đời sống người dân ngày càng nâng cao, nhu cầu mua bán của người dân ngày càng nhiều Sự cạnh giữa các nhà cung cấp, cửa hàng ngày càng trở nên gay gắt Với mục đích đáp ứng nhu cầu của khách hàng, cung cấp dịch vụ nhằm phát triển kinh doanh, hình thức bán hàng thông qua ứng dụng tên thiết bị di động ngày càng trở nên phát triển, thu hút lượng khách lớn, phạm vi phục
vụ rộng rãi, hình thức quảng cáo đơn giản, tiện sử dụng, dễ dàng cập nhật thông tin và
có thể đáp ứng nhu cầu mua sắm của khách hàng vào bất cứ thời gian nào Do vậy việc xây dựng ứng dụng cho phép bán hàng trực tuyến trên điện thoại di động sử dụng hệ điều hành Android là điều rất cần thiết
Nội dung chính của bài báo gồm 5 chương:
Chương 1 Tổng quan đề tài
Bước đầu tiên để thực hiện đề tài đó là ta phải hiểu rõ về đề tài, do vậy chương này sẽ trình bày những nội dung cần thiết để làm rõ đề tài
Chương 2 Cơ sở lý thuyết và các công nghệ hỗ trợ
Trình bày lý thuyết cơ bản và các ngôn ngữ lập trình, các công hỗ trợ và các công nghệ cần thiết để sử dụng xây dựng hệ thống
Chương 3 Phân tích thiết kế hệ thống bán hàng
Trình bày sơ đồ Use Case tổng quát, sơ đồ Use Case chi tiết từng chức năng, mô hình dữ liệu tổng quát và nội dung các bảng trong cơ sở dữ liệu
Chương 4 Xây dựng hệ thống bán hàng
Trình bày chi tiết nội dung xây dựng hệ thống từ phần người dùng đến phần quản trị hệ thống
Chương 5 Kết luận và hướng phát triển toàn hệ thống
Trình bày kết quả đạt được sau khi triển khai thành công hệ thống và hướng phát triển sau này
Trang 21CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
Trong bất kỳ một đề tài nào thì việc đầu tiên luôn là làm rõ đề tài, chương này sẽ trình bày những nội dung cơ bản và cần thiết nhất để làm rõ những vấn đề liên quan đến
đề tài Các nội dung chính được trình bày bao gồm đặt vấn đề, lý do chọn đề tài, xác định yêu cầu của đề tài, phương pháp nghiên cứu, ý nghĩa khoa học và thực tiễn
Đặt vấn đề
Trong lĩnh vực bán hàng, nhờ ứng dụng của Công nghệ thông tin mà nhiều phương pháp bán hàng mới được ra đời Trong số các phương pháp mới đó, bán hàng trực tuyến thông qua điện thoại thông minh là phương pháp nổi trội hơn cả Bán hàng trực tuyến thông qua điện thoại thông minh – nhà bán hàng có thể nhanh chóng quảng
bá thương hiệu, chất lượng, uy tín của mình đến khắp mọi miền đất nước và bán các mặt hàng đã nhập về, đồng thời người mua cũng dễ dàng tìm, mua những sản phẩm ưa thích
mà không cần bước chân ra khỏi nhà Chính những lợi ích to lớn mà phương pháp này mang lại nên nhiều nhà bàn hàng trực tuyến đã ra đời, họ thường sử dụng mạng xã hội Facebook để bán hàng nên chưa có sự hợp lý và chặt chẽ, vì họ thường quản lý hàng trăm sản phẩm, đơn hàng và ghi chép lại bằng tay, bằng sổ sách rất cực nhọc và tốn rất nhiều thời gian Chính vì thế vấn đề đặt ra là cần phải có một hệ thống bán hàng trực tuyến mà nhà bán hàng có thể dễ dàng quản lý một cách chặt chẽ và nhanh chóng
Lý do chọn đề tài
Vì thấy sự cần thiết phải sử dụng điện thoại thông minh để bán hàng và được sự hướng dẫn của TS Phạm Thị Thu Thúy, em đã chọn đề tài: “Xây dựng ứng dụng bán hàng online trên Android” làm đề tài cho đồ án tốt nghiệp của mình
Xác định các yêu cầu của đề tài
- Tìm hiểu cách xây dựng một vps (máy chủ ảo) lưu trữ Web Services, trang web quản trị và cơ sở dữ liệu
- Tìm hiểu cách phân tích thiết kế hệ thống bán hàng online đơn giản để xây dựng cơ
sở dữ liệu, xây dựng Web Services và các chức năng của ứng dụng
- Tìm hiểu cơ bản lập trình ứng dụng trên Android
- Tìm hiểu cơ bản lập trình cho SOAP Web Services trên Asp.net C#
Trang 22- Tìm hiểu cách hoạt động của các Control (là các thành phần như EditText và Button được khai báo trong tập giao tin giao diện màn mình xml) trong Android Studio và các Control bên ngoài do người phát triển biên soạn để xây dựng giao điện
- Tìm hiểu cách sử dụng xml để quản lý các Control sao cho Control có sự sắp xếp, lồng ghép hợp lý để tạo nên giao diện của ứng dụng thân thiện với người dùng
- Tìm hiểu cách sử dụng java để tương tác với giao diện xml, giao tiếp với SOAP Web Services để trao đổi dữ liệu
- Tìm hiểu cách sử dụng dữ liệu dạng json để trao đổi dữ liệu giữa các màn hình và giữa ứng dụng với Web Services
- Nghiên cứu cách sử dụng Github để lưu trữ source code của ứng dụng
- Tạo máy chủ ảo và cài Internet Information Services (IIS)
- Mở port cho vps để trở thành thành vps hositng
- Thiết kế cơ sở dữ liệu và tạo lập dữ liệu demo lưu trữ trên phần mềm Microsoft Sql Server
- Thiết kế và cài đặt SOAP Web Services trên môi trường Asp.Net C#
- Sử dụng Android Studio thiết kế giao diện cho ứng dụng bán hàng online bằng ngôn ngữ xml
- Sử dụng Android Studio làm công cụ để lập trình và kết nối với SOAP Web Services cho ứng dụng bán hàng online bằng ngôn ngữ lập trình java
- Xây dựng hệ thống bán hàng với các chức năng chính:
Hiển thị các loại sản phẩm và các sản phẩm đang bán
Hỗ trợ khách hàng tìm kiếm, sắp xếp các sản phẩm
Hỗ trợ giá sản sản phẩm cho khách hàng bằng chương trình giảm giá
Hỗ trợ khách hàng tự quản lý thông tin tài khoản, các đơn hàng họ đã đặt, danh sách sản phẩm họ mong muốn
Hiển thị chi tiết sản phẩm và cho phép khách hàng gửi đánh giá về sản phẩm
Hỗ trợ khách hàng chọn sản phẩm, áp dụng mã giảm giá, chọn địa chỉ giao hàng, chọn phương thức vận chuyển và đặt hàng nhanh chóng
Cho phép khách hàng hủy đơn hàng trong một số trường hợp
Hỗ trợ người quản trị hệ thống quản lý đơn hàng, sản phẩm, loại sản phẩm, ảnh quảng cáo, thương hiệu, chương trình giảm giá, nhập hàng hóa, kho hàng và báo cáo doanh thu
Trang 23- Sử dụng GitHub làm kho lưu trữ source code của ứng dụng
Phương pháp nghiên cứu
- Một số phương pháp nghiên cứu đã sử dụng trong quá trình xây dựng đề tài:
Phương pháp nghiên cứu thực tiễn: bằng quan sát, điều tra và thực nghiệm từ một số
ứng dụng bán hàng hiện có trên kho ứng dụng CHPLAY của GOOGLE
Phương pháp nghiên cứu lý thuyết: bằng cách xem và thu thập thông tin từ những đề tài bán hàng khác trên thư viện, trên internet
Ý nghĩa khoa học và thực tiễn
Trong nền kinh tế hiện nay, khi đề tài triển khai và được đưa vào sửa dụng có thể giúp hàng triệu nhà bán hàng tiếp cận được với nhiều khách hàng hơn, nâng cao nhất lượng bán hàng, tăng nhanh doanh số bán hàng, góp phần vào xây dựng nền kinh tế và quá trình công nghiệp hóa hiện đại hóa của đất nước
Trang 24CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG NGHỆ HỖ TRỢ
Trong một đề tài tốt nghiệp hay một dự án thực tế từ khách hàng, thì việc xác định rõ những lý thuyết cần thiết và các công nghệ hỗ trợ cho phép thực hiện đề tài là một điều rất quan trọng Chương này sẽ trình bày những nội dung chính bao gồm lý thuyết và các công nghệ, công cụ liên quan để có thể thực hiện đề tài
Sơ đồ Use case
Use Case là gì?
Use case là một kỹ thuật được dùng trong kỹ thuật phần mềm và hệ thống để nắm bắt yêu cầu chức năng của hệ thống Use case mô tả sự tương tác đặc trưng giữa người dùng bên ngoài (actor) và hệ thống Nó thể hiện ứng xử của hệ thống đối với bên ngoài, trong một hoàn cảnh nhất định, xét từ quan điểm của người sử dụng Nó mô tả các yêu cầu đối với hệ thống, có nghĩa là những gì hệ thống phải làm chứ không phải mô tả hệ thống làm như thế nào Tập hợp tất cả Use case của hệ thống sẽ mô tả tất cả các trường hợp mà hệ thống có thể được sử dụng.[15]
- Giữa các Actor và Use Case trong biểu đồ Use Case có các kiểu mối quan hệ khác nhau
Quan hệ giao tiếp (Association) giữa Actor và Use Case: cho biết có một kết
hợp giữa một Actor và một Use Case Nghĩa là con người hoặc hệ thống, trong vai trò Actor này, sẽ giao tiếp với các thể hiện của Use Case, tham gia chuỗi các sự kiện được Use Case biểu diễn Use Case được cài đặt thành một vài Module chương trình và các Actor sẽ sử dụng chương trình này bằng cách nhập thông tin vào, nhận thông tin ra Một Actor có thể được kết hợp với một hoặc nhiều Use Case và một Use Case có thể được kết hợp với một hoặc nhiều Actor Quan hệ giao tiếp giữa Actor và Use Case biểu diễn bởi mũi tên hay đường thẳng nối Actor với Use Case
Quan hệ bao gồm (Include) giữa các Use Case: đôi khi một Use Case có các
tính năng của một Use Case khác, khi đó tồn tại quan hệ Include (bao gồm) giữa chúng Quan hệ Include được vẽ bằng một mũi tên đứt nét hướng đến Use Case thứ hai, kèm theo từ «include» đặt bên cạnh mũi tên Điều này tránh được tình trạng cùng một chuỗi hành động lại định nghĩa trong nhiều Use Case Use case bao gồm sẽ tiếp tục chuỗi hành động tại điểm mà nó Include, sau đó quay lại và tiếp tục quá trình tạm dừng trước đó
Trang 25Quan hệ mở rộng (Extend) giữa các Use Case: trong khi quan hệ Include là quan
hệ Use Case này chứa Use Case khác, thì quan hệ Extend là quan hệ mở rộng một Use Case Trong một điều kiện nào đó, một Use Case cần được mở rộng bằng một Use Case khác, nghĩa là nếu điều kiện thỏa mãn thì Use Case mở rộng mới thực hiện Quan hệ được vẽ bằng một mũi tên đứt nét hướng đến Use Case được mở rộng và từ «extend» được đặt bên cạnh mũi tên
Máy chủ ảo VPS
Máy chủ ảo VPS là gì?
VPS (Virtual Private Server) là dạng máy chủ ảo được tạo ra bằng phương pháp phân chia một máy chủ vật lý thành nhiều máy chủ khác nhau có tính năng tương tự như máy chủ riêng (dedicated server), chạy dưới dạng chia sẻ tài nguyên từ máy chủ vật lý ban đầu đó Mỗi VPS là một hệ thống hoàn toàn riêng biệt, có một phần CPU riêng, dung lượng RAM riêng, dung lượng ổ HDD riêng, địa chỉ IP riêng và hệ điều hành riêng, người dùng có toàn quyền quản lý root và có thể restart lại hệ thống bất cứ lúc nào.[13]
Xây dựng và cấu hình VPS trên Amazon
Hình 2.1 Amazon EC2.[1]
Truy cập vào trang web https://aws.amazon.com/ec2/?nc2=h_ls xem hướng
dẫn và tiến hành thực hiện đăng ký để nhận miễn phí dùng thử VPS trong một năm
Trang 26Hình 2.2 Giao diện quản lý VPS trên Amazon.[3]
Hình 2.2 mô tả kết quả sau khi tạo tài khoản và VPS thành công
Hình 2.3 Giao diện thiết lập mở port trên Amazon.[2]
Hình 2.3 mô tả kết quả sau các thiết lập cần thiết để mở port cho VPS, cần phải cài đặt Internet Information Services (IIS) và Microsoft Sql Server lên VPS thì VPS mới thực sự trở thành webhosting
Java và công cụ lập trình Android Studio
Java là gì?
Java là một Ngôn ngữ lập trình và là một Platform
Ngôn ngữ lập trình: Java là một ngôn ngữ lập trình được kế thừa trực tiếp từ
C/C++ và là một ngôn ngữ lập trình hướng đối tượng
Platform: Bất cứ môi trường phần cứng hoặc phần mền nào mà trong đó một
chương trình chạy, thì được biết đến như là một Platform Với môi trường runtime riêng cho mình là JRE và API, Java được gọi là Platform.[11]
Trang 27Android Studio là gì?
Android Studio là một phần mềm bao gồm các bộ công cụ khác nhau, dùng để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android, như các loại điện thoại smartphone Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp [14]
Tạo một dự án mới
Hình 2.4 Giao diện tạo một dự án mới
Android Studio hỗ trợ tốt nhất người dùng dễ dàng tạo một dự án mới, trong quá trình tạo Android Studio cho phép người dùng chọn các thiết lập cần thiết như chọn phiên bản của hệ điều hành Android mà ứng dụng sẽ chạy, chọn các giao diện mặc định được thiết lập sẵn hay tự thiết lập
Trang 28Bổ sung thư viện cho dự án
Hình 2.5 Một số thư viện đã được thêm vào dự án
Một dự án Android luôn sử dụng các thư viện ngoài để giảm thiểu thời gian coding cũng như chi phí phát triển, đảm bảo tính tái sử dụng Việc thêm thư viện hay một module vào dự án Android hiện nay là không khó và cực kỳ dễ dàng khi Gradle được tích hợp sử dụng trong một dự án Android Để hiểu rõ hơn, chúng ta sẽ tạo một project Android Mặc định, chúng ta sẽ có một file app/build.gradle khi project được tạo
ra Gradle cung cấp một số cách để khai báo sử dụng thư viện bên thứ 3 Tuy nhiên cách thông thường và hay được sử dụng là dạng 'group:name:version' Ở các phiên bản gradle trước thì chúng ta sẽ sử dụng từ khóa compile, với phiên bản mới chúng ta sử dụng từ khóa implementation.[8]
Xây dựng giao diện xml
Hình 2.6 Thiết kế giao diện bằng mã xml
Giao diện màn hình của ứng dụng được thiết kế và lưu trữ dưới dạng file xml, trong file xml này là sự bố trí các Control theo một trật tự nhất định Android Studio hỗ trợ người dùng xây dựng giao diện, cho phép người dùng thiết kế giao diện dưới dạng
Trang 29kéo và thả các Control hoặc viết code bố trí các Control trực tiếp lên file giao diện xml Trên mỗi Control có thuộc tính ID, lập trình viên sẽ sử dụng ID đó để viết code java tương tác, điều khiển Control
Tương tác với giao diện bằng ngôn ngữ lập trình java
Hình 2.7 Tương tác với giao diện màn hình bằng mã xử lý Java
Sử dụng đoạn mã setContentView(R.layout.activity_main); để chọn giao diện xml cần tương tác
Để liên kết Control trong giao diện với code xử lý trong java, sử dụng phương thức findViewById
Để điều khiển Control trong giao diện để hiển thị chuỗi “Nguyễn Như Ý”, sử dụng phương thức setText
Kiểm tra và xác định lỗi tiềm ẩn memory leak
Hình 2.8 Giao diện cửa sổ Android Profiler
Android Studio cho phép lập trình viên mở của sổ Android Profiler để xem phần trăm CPU, dung lượng băng thông internet, dung lượng bộ nhớ RAM mà app đang sử dụng trên điện thoại di động, nhờ đó dễ dàng phát hiện những lỗi tiềm ẩn
Trang 30Hình 2.9 Giao diện phân tích mã xử lý trên cửa sổ Android Profiler
Android Studio có khả năng cho phép lập trình viên chụp lại một khoản thời gian
mà app sử dụng bộ nhớ RAM trên điện thoại di động, rồi phân tích những đoạn mã xử
lý nào đang thực thi, đang chiếm dung lượng bộ nhớ RAM để tiến hành kiểm tra và khắc phục Đây là công cụ mạnh nhất mà Google đã tích hợp vào Android Studio giúp lập trình viên xử lý lỗi memory leak
SOAP Web Services và công cụ lập trình Microsoft Visual Studio
Tổng quan Web Services
Theo định nghĩa của W3C (World Wide Web Consortium), Web service là một
hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau trong môi trường Internet thông qua các giao diện (Interface) chung và sự gắn kết được mô tả bằng XML.[7]
Web service là tài nguyên phần mềm có thể xác định bằng địa chỉ url để thực hiện các chức năng và đưa thông tin ra cho người dùng
Web service được tạo ra bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng tìm thấy và truy cập tới các dịch vụ mà nó cung cấp, đồng thời vẫn có thể yêu cầu thông tin từ các dịch vụ khác
Ứng dụng cơ bản của Web service là tích hợp các hệ thống và là một trong những hoạt động chính khi phát triển hệ thống Trong hệ thống này, các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) và các ứng dụng khác, người sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích và lấy dữ liệu
Trang 31Giao thức truyền thông điệp SOAP
SOAP viết tắt cho cụm từ - Simple Object Access Protocol Trong kiến trúc phân tầng của Web Service, SOAP nằm ở tầng Packaging, SOAP là một giao thức đóng gói cho các dữ liệu chia sẻ giữa các ứng dụng Xét về cơ bản, SOAP là XML, chính vì thế SOAP là một ứng dụng cụ thể của XML SOAP được xây dựng lên từ các chuẩn XML như XML Schema và XML Namespaces dùng cho việc định nghĩa SOAP và các chức năng của nó.[10]
Xây dựng SOAP Web Services trên ASP.NET C# bằng công cụ lập trình Visual studio
Microsoft Visual Studio 2015 là một môi trường phát triển tích hợp từ Microsoft
Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight.[14]
Hình 2.10 Giới thiệu Visual Studio
Microsoft Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến mã nguồn Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi mức độ máy Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở
dữ liệu Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ
Trang 32công cụ mới như biên tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các khía cạnh khác trong quy trình phát triển phần mềm
Hình 2.11 Giao diện cửa sổ tạo một Web Service Application mới
Microsoft Visual Studio hỗ trợ mạnh mẽ cho lập trình viên xây dựng Web Service, hình 2.11 mô tả việc tạo một dự án ASP.NET Web Service Application trên Microsoft Visual Studio
Thao tác với Web Service
Xây dựng một phép tính thông qua Web Service ASP.Net, viết chương trình tính tổng của hai số nguyên Trong file Service1.asmx.cs khai báo một hàm tính tổng hai số nguyên như sau:
Trang 33Hình 2.13 Mô tả cách thực thi một WebMethod
Khi tiến hành chạy chương trình trên trình duyệt, sẽ nhìn thấy giao diện giống như hình 2.13, tiến hành chọn và thao tác với phương thức “TongHaiSoNguyen” để thực hiện tính tổng hai số nguyên.[10]
Kiểm tra và xác định lỗi
Debug trong Visual Studio cho phép chạy chương trình theo từng bước để xem
sự thay đổi giá trị của biến, trả về của hàm qua đó phát hiện những lỗi logic trong chương trình
Một số thành phần cơ bản: Breakpoints là điểm mà chương trình sẽ dừng lại để cho phép bạn chạy từng bước các dòng code, các cửa sổ theo dõi biến hỗ trợ lập trình viên theo dõi sự thay đổi của biến hoặc hàm cho mỗi bước chạy và nếu một biến có sự thay đổi giá trị thì sẽ có màu đỏ để phân biệt, thanh công cụ Debug cung cấp các nút lệnh để bạn thực hiện Debug chương trình, cửa sổ Call Stack chứa lời gọi hàm trong ngăn xếp, cửa sổ Diagnostic Tool chứa các công cụ chẩn đoán nâng cao như cung cấp biểu đồ thời gian thực bộ nhớ và CPU mà chương trình sử dụng [9]
Hình 2.14 Thanh công cụ Debug
Trang 34Hình 2.15 Cửa sổ Diagnostic Tool
Trang 35liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.[6]
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server
Các thành phần cơ bản trong SQL Server
SQL Server được cấu tạo bởi nhiều thành phần như Database Engine, Reporting Services, Notification Services, Integration Services, Full Text Search Service Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng
Cách thức làm việc với GitHub
Làm việc với GitHub nói riêng hay hệ thống GIT nói chung có 2 workflow chính
là local workflow và server workflow
Trang 36Bạn có thể làm mọi chuyện thay đổi source code ở local, sau khi đã thay đổi xong, bạn sẽ commit những thay đổi đó lên server và bản lên server phải là bản hoàn chỉnh một tính năng nào đó, hoặc sửa lỗi bug xong, kiểm xong hoặc ít nhất bản đó phải chạy được Không được commit code dở dang, chưa qua kiểm tra lên repository server
sẽ làm ảnh hưởng đến các thành viên khác, ngược lại bạn có thể làm điều đó ở repository local
Trang 37CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG
Phân tích thiết kế hệ thống là bước quan trọng hàng đầu trong việc xây dựng một
hệ thống, trong chương này sẽ trình bày nội dung phân tích hệ thống bán hàng trên Android theo sơ đồ Use Case và thiết kế cơ sở dữ liệu
Phân tích theo sơ đồ Use Case
Sơ đồ Use Case tổng quát
Sơ đồ Use Case tổng quát mô tả hệ thống Hệ thống cơ bản được chia làm hai phần: phần khách hàng và phần người quản trị hệ thống
Hình 3.1 Sơ đồ Use Case tổng quát của hệ thống
Khách hàng có thể thực hiện các chức năng xem trang chủ, cập nhật thông tin tài khoản, xem danh mục sản phẩm, quản lý giỏ hàng, quản lý đơn hàng, quản lý sản phẩm, xem chương trình giảm giá, đăng ký, khôi phục mật khẩu
Người quản trị có thể thực hiện các chức năng quản lý nhập hàng hóa, quản lý sản phẩm, quản lý loại sản phẩm, quản lý ảnh trình chiếu, quản lý thương hiệu, quản lý giảm giá, quản lý kho hàng, báo cáo doanh thu, quản lý đơn hàng, quản lý nhân viên
Trang 38Sơ đồ Use Case chi tiết
- Khách hàng quản lý sản phẩm
Hình 3.2 Sơ đồ Use Case khách hàng quản lý sản phẩm
Khách hàng quản lý sản phẩm extend các chức năng quản lý danh sách mong muốn, tìm kiếm sản phẩm và xem danh sách sản phẩm
Quản lý danh sách mong muốn extend các chức năng thêm và xóa sản phẩm trong danh sách mong muốn
Xem danh sách sản phẩm extend chức năng xem chi tiết sản phẩm
Tìm kiếm sản phẩm extend các chức năng tìm theo thương hiệu, tìm theo tên sản phẩm, tìm theo giá sản phẩm, tìm theo loại sản phẩm, tìm theo trung bình số sao đánh giá
Trang 39- Khách hàng xem trang chủ
Hình 3.3 Sơ đồ Use Case khách hàng xem trang chủ
Khách hàng xem trang chủ include các chức năng xem ảnh trình chiếu, xem đánh giá, xem thương hiệu tốt nhất, xem danh mục ưa thích, xem sản phẩm năm sao ưa thích
- Khách hàng xem danh mục sản phẩm
Hình 3.4 Sơ đồ Use Case khách hàng xem danh mục sản phẩm
Khách hàng xem danh mục sản phẩm extend các chức năng xem 200 danh mục
có sản phẩm được mua nhiều nhất và xem danh mục cấp không
Chức năng xem danh mục cấp không include xem danh mục cấp một và xem thương hiệu được mua nhiều nhất
Chức năng xem danh mục cấp một include chức năng xem danh mục cấp hai
Trang 40- Khách hàng quản lý giỏ hàng
Hình 3.5 Sơ đồ Use Case khách hàng quản lý giỏ hàng
Khách hàng quản lý giỏ hàng extend các chức năng thêm sản phẩm, xóa sản phẩm, tăng số lượng sản phẩm, giảm số lượng sản phẩm, áp dụng mã giảm giá cho sản phẩm, hủy mã giảm giá cho sản phẩm trong giỏ hàng
- Khách hàng quản lý đơn hàng
Hình 3.6 Sơ đồ Use Case khách hàng quản lý đơn hàng
Khách hàng quản lý đơn hàng extend các chức năng tạo đơn hàng hoặc xem danh sách đơn hàng
Tạo đơn hàng include nhập địa chỉ giao hàng, nhập địa chỉ giao hàng include chọn phương thức vận chuyển
Xem danh sách đơn hàng extend chọn đơn hàng, chọn đơn hàng include hủy đơn hàng và xem chi tiết đơn hàng