1. Trang chủ
  2. » Cao đẳng - Đại học

Đồ án phát triển ứng dụng mua sắm và thử quần áo trên mobile với android

45 34 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát triển ứng dụng mua sắm và thử quần áo trên mobile với Android
Tác giả Trần Thanh Lâm, Nguyễn Thành Đạt
Người hướng dẫn Ths. Nguyễn Thị Thanh Trúc
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại Đồ án
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 45
Dung lượng 2,63 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PostgreSQL sở hữu một hệ tính năng đa dạng giúp hỗ trợ các nhà phát triển xây dựng app, các nhà quản trị bảo vệ toàn vẹn dữ liệu, và tạo ra một môi trường chịu lỗi tolerant giúp bạn quản

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

LỜI CẢM ƠN

Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại họcCông nghệ Thông tin – ĐHQG TP.HCM, em đã được trang bị các kiến thức cơ bản cùngcác kỹ năng thực tế để có thể hoàn thành Đồ án 1 của nhóm

Để hoàn thành đồ án này, với lòng biết ơn sâu sắc em xin gửi lời cảm ơn chân thành đến:

Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạođiều kiện thuận lợi để sinh viên tìm kiếm, nghiên cứu thông tin với hệ thống thư việnhiện đại, đa dạng các loại sách và tài liệu

Gần gũi hơn là những lời tốt đẹp nhất xin gửi đến đến cô Nguyễn Thị Thanh Trúc

đã tận tình giúp đỡ, định hướng cách tư duy và hướng làm việc khoa học Đó là nhữnggóp ý hết sức quý báu không chỉ trong quá trình thực hiện luận văn mà còn là hành trangtiếp bước cho em trong quá trình học tập và làm việc sau này

Sau cùng, xin chúc quý Thầy Cô trong khoa Công nghệ Phần mềm nói riêng cũngnhư các giáo viên tại trường Công nghệ thông tin nói chung thật dồi dào sức khỏe, niềmtin để tiếp tục thực hiện sứ mệnh cao đẹp của mình

Trang 4

3.3.10 Use case thanh toán 22

Trang 5

10.1 Giới thiệu Fashion-MNIST 37

10.3.1 Tải dữ liệu với Python (yêu cầu NumPy) 39

10.3.3 Tải dữ liệu với các thư viện Machine Learning khác 40

Trang 6

1 Giới thiệu chung

Những lợi ích khi doanh nghiệp sở hữu một ứng dụng thương mại điện tử:

+ Tăng lợi nhuận

+ Tiết kiệm chi phí vì không cần phải bỏ ra một khoản tiền lớn để thuê mặt bằng, thuê và đào tạo đội ngũ nhân viên, mà vẫn thu được lợi nhuận cao nếu như bạn biết kết hợp với một số chiến lược Marketing online

+ Gia tăng khả năng tương tác với khách hàng

+ Nâng cao khả năng cạnh tranh với đối thủ

+ Quảng bá thương hiệu

Chuyển đổi từ ứng dụng có giao diện cũ sang một ứng dụng thương mại điện tử chuyên nghiệp đang là xu hướng thu hút rất nhiều doanh nghiệp hiện nay Ở các ứng dụng

thương mại lớn, doanh nghiệp sẽ thiết lập cấu trúc ứng dụng rất rõ ràng và khoa học để người mua dễ dàng tìm thấy sản phẩm phù hợp một cách nhanh nhất Cấu trúc đó được tích hợp các bộ lọc tìm kiếm để phân luồng rõ ràng các cấp độ như lọc theo giá cả, theo

độ phổ biến, chất liệu sản phẩm, kích cỡ, Nhờ vậy mà trải nghiệm mua sắm của khách hàng sẽ trở nên đơn giản hơn

Các đặc điểm nổi bật của một ứng dụng thương mại điện tử:

+ Thao tác thuận tiện, nhanh chóng

+ Cung cấp thông tin nhanh – chính xác – đầy đủ nhất

Trang 7

+ Hình thức thanh toán đa dạng

1.2 Giải quyết bài toán

Xây dựng một ứng dụng thương mại điện tử có đầy đủ các tính năng cơ bản cùng với giao diện thân thiện với người dùng Ứng dụng bao gồm hai đối tượng sử dụng chính: khách hàng, chủ cửa hàng(hoặc nhân viên) với mỗi đối tượng sẽ có những chức năng riêng biệt

Các chức năng phục vụ đối tượng khách hàng:

+ Quản lý tài khoản

+ Quản lý giỏ hàng

+ Thanh toán

+ Thử quần áo

+ Gợi ý sản phẩm

Các chức năng phục vụ đối tượng chủ cửa hàng ( hoặc nhân viên):

+ Quản lý tài khoản

+ Quản lý sản phẩm

+ Quản lý đơn hàng

+ Quản lý Banners

+ Quản lý khách hàng

Trang 8

- PostgreSQL : hệ thống cơ sở dữ liệu quan hệ đối tượng mã nguồn mở

- Flutter : xây dựng phần mềm để viết mã và tạo ứng dụng

- iTextSharp v5.5.13: Framework hỗ trợ xuất file đuôi pdf

- StarUML: Phần mềm đặc tả hệ thống bằng sơ đồ UML

Quy trình xử

lý hàng hóa

Nhập kho

Nhà cung cấp chở hàng đếnPhân loại sắp xếpCập nhật trình trạng trên WebserviceBán hàng Khách hàng đặt hàng trên ứng dụng

Hệ thông chuyển hàng về khoĐóng gói Nhân viên lấy hàng và đóng gói

Cập nhật trình trạng hàng vào khoVận chuyển Lấy hàng và giao cho khách

Chuyển biên lai về kho

Hậu mãi

Giải đáp thắc mắc

Xử lý hàng không người nhận

Xử lý hàng hóa bị trả lại

Trang 9

2.3 Mô tả chi tiết

2.3.1 Flutter – Dart

Từ góc độ software stack, Flutter bao gồm các lớp sau:

1 Lớp thấp nhất là lớp runtime được xây dựng trong C++, cần giao tiếp HĐH theo một số cách hạn chế – đến Open GL, API truy cập, tệp và mạng IO, v.v …Phía trên cùng của lớp này là API chuyển sang mã Dart

2 Một lớp liên kết chủ yếu là cho thiết lập ban đầu

3 Một lớp render là một mô hình view điển hình với các đối tượng tồn tại

lâu Lớp này xử lý những thứ như bố cục, vẽ, chỉnh sửa văn bản, cử chỉ, v.v

4 Một lớp widget bao gồm các thứ có thời gian tồn tại ngắn mô tả giao diện người dùng sẽ trông như thế nào trong một framework duy nhất Flutter áp dụng mô hình lập trình reactive trong đó UI được xây dựng lại mỗi khi trạng thái thay đổi

5 Một lớp thể hiện thẩm mỹ thiết kế cụ thể, ví dụ Thiết kế Vật liệu cho Android

Một số khía cạnh của Dart khiến nó phù hợp với Flutter là:

1 Nó có một garbage collector thế hệ rất nhanh Điều này rất hữu ích vì Flutter tuân theo mô hình lập trình reactive trong đó các đối tượng UI được tạo và hủy nhanh chóng

2 Trình biên dịch trước thời hạn của Dart cho phép biên dịch trực tiếp mã Điều này cho phép khởi động nhanh và đạt hiệu suất phù hợp

3 Dart tập trung vào trải nghiệm tốt cho lập trình viên

Trang 10

4 Dart có thuật toán tree shaking – chỉ các phần của framework Flutter đã được

sử dụng mới được đưa vào ứng dụng cuối cùng

Một nguyên tắc sáng lập của Flutter là bất cứ điều gì mà phần cứng có thể làm, bạn cũng

có thể làm trong Flutter Mặc dù luôn có khả năng đào sâu vào các thư viện cụ thể của nền tảng, với bộ sưu tập các gói Flutter ngày càng phát triển, hầu hết các lập trình viên sẽ tìm thấy những gì họ cần trên https://pub.dartlang.org/flutter

2.3.2 PostgreSQL

PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ-đối tượng (object-relational

database management system) có mục đích chung, hệ thống cơ sở dữ liệu mã nguồn mở tiên tiến nhất hiện nay

PostgreSQL sở hữu một hệ tính năng đa dạng giúp hỗ trợ các nhà phát triển xây dựng

app, các nhà quản trị bảo vệ toàn vẹn dữ liệu, và tạo ra một môi trường chịu lỗi tolerant giúp bạn quản lý dữ liệu bất kể tập dữ liệu lớn hay nhỏ

fault-Các hệ tính năng được sử dụng trong đồ án của PostgreSQL:

- Cấu trúc: Date/Time, Array, Phạm vi, UUID

- Document: JSON/JSONB, XML, Key-value (Hstore)

- Lập danh mục: Expressions, Partial

- Giao tác, Giao tác dạng nest (thông qua lưu điểm)

Trang 11

- Trình wrapper dữ liệu ngoài: kết nối với các cơ sở dữ liệu với giao diện SQL

Các yếu tố giúp PostgreSQL nổi bật

- PostgreSQL là hệ thống quản lý cơ sở dữ liệu đầu tiên triển khai tính năng kiểm

soát đồng thời nhiều phiên bản (MVCC) trước cả Oracle

- PostgreSQL cho phép thêm vào các tính năng tùy chỉnh được phát triển bằng các ngôn ngữ chương trình khác nhau như C/C , Java,

3 Use Case

3.1 Bảng yêu cầu nghiệp vụ

1 Quản lý tài khoản

- Đăng nhập, đăng kí

- Sửa thông tin cá nhân

2 Quản lý sản phẩm

- Thêm, xoá, sửa thông tin chi tiết sản phẩm

- Phân loại sản phẩm theo danh mục

3 Quản lý đơn hàng - Thống kê tất cả các đơn hàng

4 Quản lý giỏ hàng - Thêm, xoá sản phẩm trong giỏ hàng

6 Quản lý banner khuyến mãi

- Thêm, xoá, sửa các banner khuyến mãi hiển thị trên trang chủ

7 Quản lý khách hàng - Xem danh sách khách hàng

8 Thử quần áo - Người dùng có thể thử quần áo ngay trên app

bằng cách chọn người mẫu có sẵn hoặc tự tải hình

Trang 12

của mình lên và mặc thử trước khi đưa ra quyết định mua sắm

- Ứng dụng tự động hiển thị các sản phẩm nổi bật cho người dùng

Bảng 1: Danh sách yêu cầu

Trang 13

3.2 Sơ đồ use case tổng quát

STT Tên Actor Ý nghĩa

1 Chủ shop Chủ cửa hàng quản lý trang ứng dụng

2 Khách hàng Khách hàng của cửa hàng

Bảng 2: Danh sách người dùng

Hình 1: Sơ đồ usecase tổng quát

Trang 14

- Sơ đồ usecase chi tiết dành cho đối tượng chủ shop (hoặc nhân viên)

Hình 2: Usecase chi tiết của đối tượng chủ shop(nhân viên)

Trang 15

- Sơ đồ usecase chi tiết dành cho đối tượng khách hàng

Hình 3: Usecase chi tiết của đối tượng khách hàng

Trang 16

3.3 Sơ đồ use case phân rã

3.3.1 Usecase đăng nhập khách hàng

Tên chức năng Đăng nhập khách hàng

Mô tả chức năng Khách hàng đăng nhập vào website để đặt hàng với các thông tin tài

khoản của Mục tiêu chức

năng

Giúp khách hàng quản lý thông tin tài khoản

Bài toán giải

quyết

Lưu lại thông tin khách hàng cho những lần đăng nhập sau

Điều kiện Đã đăng kí tài khoản trên website

Not doing Không có.

3.3.2 Usecase quản lý đăng nhập admin

Trang 17

Tên chức năng Đăng nhập admin

Mô tả chức năng Admin đăng nhập vào website để sử dụng các chức năng chính của website

quản lý bán hàng Mục tiêu chức

năng Phân quyền sử dụng cho tài khoản admin

Bài toán giải

quyết Bảo mật dữ liệu và đảm bảo tính an toàn cho toàn bộ hệ thống website Điều kiện Không có

Not doing Không có.

3.3.3 Usecase quản lý đơn hàng

Tên chức năng Quản lý đơn hàng

Mô tả chức năng Quản lý đơn hàng gồm có các tính năng chính như sau:

- Thống kê tất cả các đơn hàng.

- Duyệt đơn hàng Mục tiêu chức

năng

Giúp admin quản lý tất cả các đơn đặt hàng trên website

Bài toán giải quyết Quản lý, cập nhật thông tin các đơn đặt hàng nhanh

chóng.

Điều kiện Không có.

Not doing Không có.

Trang 18

3.3.4 Usecase quản lý danh mục sản phẩm

Tên chức năng Quản lý danh mục sản phẩm

Mô tả chức năng Quản lý danh mục sản phẩm gồm có các tính năng chính như sau:

- Thêm, xoá thông danh mục sản phẩm

Trang 19

3.3.5 Usecase quản lý sản phẩm

Tên chức năng Quản lý sản phẩm

Mô tả chức năng Quản lý sản phẩm gồm có các tính năng chính như sau:

- Thêm, xoá, sửa thông tin chi tiết sản phẩm

- Phân loại sản phẩm theo danh mục.

Mục tiêu chức

năng

Giúp admin quản lý các sản phẩm trên website

Bài toán giải quyết Quản lý, cập nhật thông tin sản phẩm chính xác, nhanh

chóng.

Điều kiện Không có.

Not doing Không có.

3.3.6 Usecase quản lý banner

Trang 20

Tên chức năng Quản lý banner

Mô tả chức năng Quản lý banner khuyến mãi gồm có các tính năng chính như sau:

- Thêm banner khuyến mãi

- Gỡ banner Mục tiêu chức

năng

Admin có thể chỉnh sửa banner trên trang web.

Bài toán giải quyết Quản lý hình ảnh, thông tin banner trên website dễ dàng

Điều kiện Không có.

Not doing Không có.

3.3.7 Usecase quản lý khách hàng

Tên chức năng Quản lý khách hàng

Mô tả chức năng Quản lý khách hàng gồm có các tính năng chính như sau:

- Chỉnh sửa thông tin khách hàng

- Xóa khách hàng Mục tiêu chức

năng

Admin có thể quản lý thông tin khách hàng trên trang web.

Bài toán giải quyết Quản lý thông tin đặt hàng, địa chỉ giao hàng của khách trên website một

cách dễ dàng Điều kiện Dĩ nhiên là phải có khách hàng rồi

Not doing Không có.

Trang 21

3.3.8 Usecase thử sản phẩm

Tên chức năng Thử sản phẩm

Mô tả chức năng Thử sản phẩm gồm có các tính năng chính như sau:

- Thử các sản phẩm khách hang muốn thử bằng công nghệ AI và Computer Vision

Mục tiêu chức

năng

Giúp khách hàng có thể lựa chọn được sản phẩm phù hợp

Bài toán giải quyết Giải quyết được vấn đề khó khan trong việc mua quần áo online, người

dung không cần phải tới tận shop để thử Điều kiện Dĩ nhiên là phải có khách hàng rồi

Not doing Không có.

Trang 22

3.3.9 Usecase quản lí giỏ hàng

Tên chức năng Quản lí giỏ hàng

Mô tả chức năng Quản lí giỏ hàng gồm có các tính năng chính như sau:

- Hiển thị danh sách hang có trong giỏ

- Nhập mã khuyến mãi

- Tiến hành đặt hàng

Mục tiêu chức

năng

Giúp khách hang có thể quản lí được giỏ hàng của mình

Bài toán giải quyết Giải quyết được vấn đề đặt hàng online của khách hàng, giúp khách hàng

có thể kiểm tra được sản phẩm lại lần nữa trước khi thanh toán Điều kiện Dĩ nhiên là phải có khách hàng rồi

Not doing Không có.

Trang 23

3.3.10 Use case thanh toán

Tên chức năng Quản lí thanh toán

Mô tả chức năng Quản lí thanh toán gồm có các tính năng chính như sau:

- Hiển thị thông tin đặt hàng

Trang 24

Mục tiêu chức

năng

Giúp khách hàng có thể quản lí thanh toán của sản phẩm

Bài toán giải quyết Giải quyết được vấn đề thanh toán online khi mua hàng trên mạng

Điều kiện Dĩ nhiên là phải có khách hàng rồi

Not doing Không có.

4 Thiết kế cơ sở dữ liệu

STT Tên bảng dữ liệu Diễn giải

1 User Chứa thông tin tài khoản của user và token

Dùng để phân quyền người dùng

3 Permission

4 Role_Permission

7 Collection Quản lý danh sách collection

8 Product_Collection Quản lý quan hệ giữa product và collection

9 ProductDetail Chứa thông tin chi tiết sản phẩm

11 Order Danh sách sản phẩm khách hàng đặt mua

13 Image Quản lý danh sách image của từng sản phẩm

14 Color Quản lý danh sách color của từng sản phẩm

15 OrderDetail Chứa thông tin chi tiết sản phẩm khách hàng order

Bảng 3: Bảng diễn giải các tables trong cơ sở dữ liệu

Trang 25

5 Relationship Diagram

6.Class Diagram

Trang 27

7 Sequence Diagram

7.1 Đặt hàng và thanh toán

Trang 28

7.2 Quản lý sản phẩm

Trang 29

7.3 Quản lý danh mục sản phẩm

Trang 30

7.4 Quản lý banner

Trang 31

7.5 Quản lý khách hàng

Trang 32

7.6 Thử đồ

Trang 33

8 Activity Diagram

8.1 Đăng nhập

8.2 Đặt hàng và thanh toán

Trang 34

8.3 Quản lý mặt hàng

8.4 Quản lý banner

Trang 35

8.5 Quản lý khách hàng

8.6 Thử sản phẩm

Trang 36

9 Thiết kế giao diện

9.1 Trang chủ

9.2 Màn hình sản phẩm và chi tiết sản phẩm

Trang 37

9.4 Màn hình giỏ hàng và thanh toán

9.11 Màn hình quản lý khách hàng

Trang 38

10 Tổng quan Machine Learning Fashion-MNIST cho việc thử đồ

10.1 Giới thiệu Fashion-MNIST

- Fashion-MNIST là một tập dữ liệu về các hình ảnh bài viết của Zalando — bao gồm một tập gồm 60.000 mẫu và một tập kiểm tra 10.000 mẫu Mỗi mẫu là một hình ảnh 28x28 grayscale, được liên kết với một nhãn từ 10 lớp Dư định Fashion-MNIST sẽ đóng vai trò thay thế trực tiếp cho tập dữ liệu MNIST ban đầu cho các thuật toán máy học Nó

có cùng kích thước hình ảnh và cấu trúc của các phần đào tạo và thử nghiệm

- Dưới đây là một ví dụ về giao diện của dữ liệu (mỗi lớp có ba hàng):

Trang 39

10.2 Tại sao Fashion-MNIST được tạo ra

10.2.1 Nguồn gốcTập dữ liệu MNIST ban đầu chứa rất nhiều chữ số viết tay Các thành viên của

cộng đồng AI / ML / Khoa học Dữ liệu yêu thích tập dữ liệu này và sử dụng nó như một

điểm chuẩn để xác thực các thuật toán Trên thực tế, MNIST thường là tập dữ liệu đầu tiên mà các nhà nghiên cứu thử

10.2.2 Lấy dữ liệu:

- Nhiều thư viện ML đã bao gồm Fashion-MNIST data/API

- Có thể sử dụng các liên kết trực tiếp để tải xuống tập dữ liệu Dữ liệu được lưu trữ ở định dạng giống như dữ liệu MNIST gốc

Trang 40

Ngoài ra, Có thể sao chép GitHub repository này; tập dữ liệu xuất hiện trong data / fashion

Có chứa một số tập lệnh cho benchmark and visualization (hình ảnh hóa)

git clone git@github.com:zalandoresearch/fashion-mnist.git

10.3 Chi tiết sử dụng10.3.1 Tải dữ liệu với Python (yêu cầu NumPy)

Sử dụng utils / mnist_reader trong repo này:

10.3.2 Tải dữ liệu với TensorflowĐảm bảo rằng bạn đã tải xuống dữ liệu và đặt nó vào data / fashion Nếu không,

Tensorflow sẽ tải xuống và sử dụng MNIST gốc

Trang 41

Tensorflow hỗ trợ truyền url nguồn tới read_data_sets

data = input_data.read_data_sets('data/fashion', website.eu-central-1.amazonaws.com/')

source_url='http://fashion-mnist.s3-10.3.3 Tải dữ liệu với các thư viện Machine Learning khácCho đến nay, các thư viện sau đây đã bao gồm Fashion-MNIST dưới dạng tập dữ liệu tíchhợp sẵn Do đó, bạn không cần phải tự tải xuống Fashion-MNIST Chỉ cần làm theo API của họ và bạn đã sẵn sàng

Có thể thực hiện các pull request đối với các gói học máy mã nguồn mở khác, cải thiện khả năng hỗ trợ của chúng đối với tập dữ liệu Fashion-MNIST

10.3.4 Tải dữ liệu với ngôn ngữ khác

Là một trong những bộ dữ liệu phổ biến nhất của cộng đồng Machine Learning, MNIST

đã truyền cảm hứng cho mọi người triển khai trình tải bằng nhiều ngôn ngữ khác nhau

Có thể sử dụng các bộ tải này với bộ dữ liệu Fashion-MNIST

Trang 42

11 Tasksheet

Đồ

án 1 Ứng dụng bán quần áo trên

điện thoại Date of Preparation

Activity Plan Prepared by Nguyễn Thành Đạt

Start Date

Planned Completed Date

Tên thành viên Tình trạng

1 Sequence Diagram March 1st,

2020

March 15 th 2021 Nguyễn

Thành Đạt

Hoàn thành

Ngày đăng: 05/09/2021, 20:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w