1. Trang chủ
  2. » Tất cả

Đồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyến

108 7 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 đề Xây Dựng Website Bán Quần Áo Và Phụ Kiện Trực Tuyến
Tác giả Nguyễn Thị Trúc My, Dương Đại Dũng
Người hướng dẫn ThS. Nguyễn Minh Đạo
Trường học Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh
Chuyên ngành Công nghệ phần mềm
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2019
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 108
Dung lượng 2,8 MB

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

Nội dung

Đồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyếnĐồ án tốt nghiệp: Xây dựng Website bán quần áo và phụ kiện trực tuyến

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

- -

Đề Tài:

KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT

GIÁO VIÊN HƯỚNG DẪN

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

- -

NGUYỄN THỊ TRÚC MY – 15110251 DƯƠNG ĐẠI DŨNG – 15110183

Đề Tài:

XÂY DỰNG HỆ THỐNG WEBSITE BÁN HÀNG

TRỰC TUYẾN

KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT

GIÁO VIÊN HƯỚNG DẪN THS NGUYỄN MINH ĐẠO

KHÓA 2015 - 2019

Trang 3

LỜI CẢM ƠN

Nhóm em xin chân thành cám ơn khoa Công Nghệ Thông Tin, Bộ Môn Công Nghệ Phần Mềm, trường Đại học Sư Phạm Kỹ Thuật Tp.HCM đã tạo điều kiện thuận lợi cho chúng em thực hiện đề tài này

Chúng em cũng xin được gửi lời cảm ơn chân thành nhất đến cô Đặng Thị Kim Giao, người đã tận tình chỉ bảo và hướng dẫn nhóm em thực hiện đề tài này

Bên cạnh đó, chúng em xin gửi lời cảm ơn đến các thầy cô giảng viên của trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM nói chung cũng như các thầy cô giảng viên khoa Công Nghệ Thông Tin nói riêng, những người đã giảng dạy, tạo điều kiện cho em tích lũy được những kiến thức quý báu trong những năm học qua

Dù đã cố gắng hoàn thành đề tài khóa luận tốt nghiệp đúng yêu cầu, nhưng do thời gian hạn hẹp và khả năng còn hạn chế nên chắc chắn sẽ không tránh khỏi thiếu sót Chúng em mong nhận được sự thông cảm và tận tình chỉ bảo của các thầy cô và các bạn

Xin chân thành cảm ơn!

Trang 4

ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP

Họ tên sinh viên 1: Nguyễn Thị Trúc My MSSV: 15110251

Họ tên sinh viên 2: Dương Đại Dũng MSSV: 15110183

Thời gian làm luận văn: Bắt đầu từ 18/03/2019 đến 30/06/2019

Chuyên ngành: Công nghệ phần mềm

Tên khóa luận: Tìm hiểu Spring boot, Angular 5, Microservice và Xây dựng website bán hàng trực tuyến

Giáo viên hướng dẫn: ThS Nguyễn Minh Đạo

Nội dung thực hiện:

- Tìm hiểu về Microservices, Angular 5, RESTful APIs

- Áp dụng xây dựng hệ thống website bán hàng trực tuyến

Kế hoạch thực hiện:

1 18/03/2019 đến

24/03/2019

- Tìm hiểu về mô hình Microservices

- Thiết kế, xây dựng mô hình Microservices cho Project

Trang 5

9 13/05/2019 đến

19/05/2019

- Viết các API quản lý loại sản phẩm, quản

lý sản phẩm, quản lý người dùng, thống kê, quản lý đơn đặt hàng

Trang 6

12 03/06/2019 đến

09/06/2019

- Map các API với giao diện quản lý hóa đơn, quản lý wishlist, thống kê, quản lý đơn đặt hàng

13 10/06/2019 đến

16/06/2019

- Map các API với giao diện diện quản lý loại sản phẩm, quản lý sản phẩm, quản lý người dùng

Tp Hồ Chí Minh, ngày tháng năm 2019

Người viết đề cương (Ký & ghi rõ họ tên)

Ý kiến của giáo viên hướng dẫn

(Ký & ghi rõ họ tên)

Th.S Nguyễn Minh Đạo

Trang 7

MỤC LỤC

LỜI CẢM ƠN i

NHIỆM VỤ THỰC HIỆN KHÓA LUẬN TỐT NGHIỆP ii

MỤC LỤC v

DANH MỤC BẢNG BIỂU vii

DANH MỤC HÌNH ẢNH ix

MỞ ĐẦU xi

1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI xi

2 MỤC TIÊU CỦA ĐỀ TÀI xii

3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU xiii

4 PHÂN TÍCH CÁC HỆ THỐNG WEBSITE CÓ LIÊN QUAN xiii

5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC xiii

6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN xiv

PHẦN NỘI DUNG 1

CHƯƠNG 1 CÁC CÔNG NGHỆ SỬ DỤNG 1

1.1 TỔNG QUAN VỀ ANGULAR 1

1.2 TỔNG QUAN VỀ SPRING BOOT 5

1.3 TỔNG QUAN VỀ MICROSERVICE 7

1.4 HIBERNATE 9

CHƯƠNG 2 KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 11

2.1 PHÂN TÍCH HIỆN TRẠNG 11

2.2 PHÂN TÍCH YÊU CẦU 11

CHƯƠNG 3 MÔ HÌNH HÓA YÊU CẦU 14

3.1 NHẬN DIỆN TÁC NHÂN VÀ CHỨC NĂNG TRONG SƠ ĐỒ USE CASE 14

3.2 MÔ TẢ CHI TIẾT TỪNG TÁC NHÂN VÀ TỪNG CHỨC NĂNG 15

3.3 SƠ ĐỒ USE CASE 20

CHƯƠNG 4 THIẾT KẾ PHẦM MỀM 36

4.1 THIẾT KẾ HỆ THỐNG: 36

4.2 THIẾT KẾ DỮ LIỆU 43

4.3 THIẾT KẾ GIAO DIỆN 55

CHƯƠNG 5 CÀI ĐẶT VÀ KIỂM THỬ 84

5.1 CÀI ĐẶT: 84

5.2 KIỂM THỬ: 84

KẾT LUẬN 87

1 NHỮNG KẾT QUẢ ĐẠT ĐƯỢC 87

2 NHỮNG KHÓ KHĂN VÀ CÁCH KHẮC PHỤC KHI THỰC HIỆN ĐỀ TÀI 87

3 ƯU ĐIỂM 87

Trang 8

4 HẠN CHẾ 87

5 KINH NGHIỆM ĐẠT ĐƯỢC 88

6 HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI 88

TÀI LIỆU THAM KHẢO 89

PHỤ LỤC 90

Trang 9

DANH MỤC BẢNG BIỂU

Bảng 2.1 Bảng chức năng nghiệp vụ của quản trị viên 12

Bảng 2.2 Bảng chức năng nghiệp vụ của người dùng 12

Bảng 2.3 Bảng yêu cầu phi chức năng 13

Bảng 3.1 Danh sách tác nhân và chức năng 14

Bảng 3.2 Tác nhân và vai trò của tác nhân 15

Bảng 3.3 Mô tả chức năng 16

Bảng 3.4 Mô tả use case Đăng nhập 24

Bảng 3.5 Mô tả use case Đăng ký 24

Bảng 3.6 Mô tả use case Xem chi tiết sản phẩm 25

Bảng 3.7 Mô tả use case Xem danh sách sản phẩm 25

Bảng 3.8 Mô tả use case Xem thông tin cá nhân 26

Bảng 3.9 Mô tả use case Sửa thông tin cá nhân 26

Bảng 3.10 Mô tả use case Xem sản phẩm ở giỏ hàng 26

Bảng 3.11 Mô tả use case Xóa sản phẩm ở giỏ hàng 27

Bảng 3.12 Mô tả use case Thêm sản phẩm vào giỏ hàng 27

Bảng 3.13 Mô tả use case Chỉnh sửa số lượng sản phẩm trong giỏ hàng 27

Bảng 3.14 Mô tả use case Chỉnh sửa ảnh đại diện 28

Bảng 3.15 Mô tả use case Đổi mật khẩu 28

Bảng 3.16 Mô tả use case Xem danh sách hóa đơn 29

Bảng 3.17 Mô tả use case Tra cứu sản phẩm 29

Bảng 3.18 Mô tả use case Thanh toán khi nhận hàng 29

Bảng 3.19 Mô tả use case Thanh toán online 30

Bảng 3.20 Mô tả use case Đăng xuất 30

Bảng 3.21 Mô tả use case Xem danh sách loại sản phẩm 31

Bảng 3.22 Mô tả use case Thêm loại sản phẩm 31

Bảng 3.23 Mô tả use case Chỉnh sửa loại sản phẩm 31

Bảng 3.24 Mô tả use case Thêm sản phẩm 32

Bảng 3.25 Mô tả use case Khóa/mở khóa sản phẩm 32

Bảng 3.26 Mô tả use case Cấp quyền admin cho tài khoản 33

Bảng 3.27 Mô tả use case Chỉnh sửa sản phẩm 33

Bảng 3.28 Mô tả use case Xem wishlist 33

Bảng 3.29 Mô tả use case Chỉnh sửa giá mong đợi trong wishlist 34

Bảng 3.30 Mô tả use case Xem bảng thống kê doanh số bán hàng 34

Bảng 3.31 Mô tả use case Xem đơn đặt hàng 35

Bảng 3.32 Mô tả use case Xem chi tiết đơn đặt hàng 35

Bảng 4.1 Chi tiết bảng Sản phẩm 43

Bảng 4.2 Chi tiết bảng Loại sản phẩm 44

Bảng 4.3 Chi tiết bảng chi tiết giỏ hàng 44

Bảng 4.4 Chi tiết bảng Giỏ hàng 44

Bảng 4.5 Chi tiết bảng Người dùng 45

Bảng 4.6 Chi tiết bảng Loại người dùng 45

Bảng 4.7 Chi tiết bảng Hóa đơn 46

Bảng 4.8 Chi tiết bảng Chi tiết hóa đơn 46

Bảng 4.9 Chi tiết bảng Wishlist 46

Bảng 4.10 Tầm ảnh hưởng ràng buộc khoá chính loại người dùng 47

Bảng 4.11 Tầm ảnh hưởng ràng buộc khoá chính người dùng 48

Bảng 4.12 Tầm ảnh hưởng ràng buộc khoá chính hóa đơn 48

Bảng 4.13 Tầm ảnh hưởng ràng buộc khoá chính chi tiết hóa đơn 48

Bảng 4.14 Tầm ảnh hưởng ràng buộc khoá chính giỏ hàng 49

Trang 10

Bảng 4.15 Tầm ảnh hưởng ràng buộc khoá chính chi tiêt giỏ hàng 49

Bảng 4.16 Tầm ảnh hương ràng buộc khoá chính sản phẩm 49

Bảng 4.17 Tầm ảnh hưởng ràng buộc khoá chính loại sản phẩm 50

Bảng 4.18 Tầm ảnh hưởng ràng buộc khoá chính wishlist 50

Bảng 4.19 Tầm ảnh hưởng ràng buộc khóa ngoại hóa đơn 50

Bảng 4.20 Tầm ảnh hưởng ràng buộc khóa ngoại chi tiết hóa đơn 51

Bảng 4.21 Tầm ảnh hưởng ràng buộc khóa ngoại bảng người dùng 51

Bảng 4.22 Tầm ảnh hưởng ràng buộc khóa ngoại bảng giỏ hàng 52

Bảng 4.23 Tầm ảnh hưởng ràng buộc khóa ngoại bảng chi tiết giỏ hàng 52

Bảng 4.24 Tầm ảnh hưởng ràng buộc khóa ngoại bảng sản phẩm 53

Bảng 4.25 Tầm ảnh hưởng ràng buộc khóa ngoại chi tiết hóa đơn 53

Bảng 4.26 Tầm ảnh hưởng ràng buộc miền giá trị bảng chi tiết giỏ hàng 53

Bảng 4.27 Tầm ảnh hưởng ràng buộc miền giá trị bảng chi tiết hóa đơn 54

Bảng 4.28 Tầm ảnh hưởng ràng buộc miền giá trị bảng wishlist 54

Bảng 4.29 Bảng các đối tượng màn hình chính 56

Bảng 4.30 Bảng các đối tượng màn hình xem, sửa loại sản phẩm 58

Bảng 4.31 Bảng các đối tượng màn hình xem thông tin, sửa quyền người dùng 60

Bảng 4.32 Bảng các đối tượng màn hình xem sản phẩm 61

Bảng 4.33 Bảng các đối tượng màn hình thêm sản phẩm 64

Bảng 4.34 Bảng các đối tượng màn hình thêm loại sản phẩm 65

Bảng 4.35 Bảng các đối tượng màn hình sửa thông tin sản phẩm 67

Bảng 4.36 Bảng các đối tượng màn hình đăng nhập 69

Bảng 4.37 Bảng các đối tượng màn hình đăng ký 70

Bảng 4.38 Bảng các đối tượng màn hình xem chi tiết sản phẩm 71

Bảng 4.39 Bảng các đối tượng màn hình giỏ hàng 73

Bảng 4.40 Bảng các đối tượng màn hình xem hóa đơn mua hàng 75

Bảng 4.41 Bảng các đối tượng màn hình lịch sử chi tiết mua hàng 76

Bảng 4.42 Bảng các đối tượng màn hình thông tin cá nhân 77

Bảng 4.43 Bảng các đối tượng màn hình wishlist 79

Bảng 4.44 Bảng các đối tượng màn hình xem đơn đặt hàng của Admin 81

Bảng 4.45 Bảng các đối tượng màn hình xem chi tiết đơn đặt hàng của Admin 83

Bảng 5.1 Một số Test Case tiêu biểu nhóm đã kiểm thử 84

Trang 11

DANH MỤC HÌNH ẢNH

Hình 1.1 Kiến trúc Angular 1

Hình 1.2 Mô tả các thành phần thuộc tính của Module 3

Hình 1.3 Module gốc của ứng dụng 4

Hình 1.4 Module Auth ứng dụng 4

Hình 1.5 Ví dụ start ứng dụng 6

Hình 1.6 Ví dụ Externalized Configuration 6

Hình 1.7 Ví dụ về profiles 6

Hình 1.8 Cấu trúc Microservices nhóm sử dụng trong project 9

Hình 1.9 File cấu hình hibernate 10

Hình 3.1 Use case chung của hệ thống 20

Hình 3.2 Use case Quản lý sản phẩm 20

Hình 3.3 Use case Quản lý loại sản phẩm 21

Hình 3.4 Use case Quản lý tài khoản 21

Hình 3.5 Use case Quản lý trang cá nhân 22

Hình 3.6 Use case Thanh toán 22

Hình 3.7 Use case Quản lý giỏ hàng 23

Hình 3.8 Use case Quản lý wishlist 23

Hình 4.1 Lược đồ lớp 36

Hình 4.2 Sequence diagram cho use case Đăng nhập 36

Hình 4.3 Sequence diagram cho use case Đăng ký 37

Hình 4.4 Sequence diagram cho use case Thêm sản phẩm vào giỏ hàng 37

Hình 4.5 Sequence diagram cho use case Xóa sản phẩm trong giỏ hàng 37

Hình 4.6 Sequence diagram cho use case Chỉnh sửa sản phẩm trong giỏ hàng 38

Hình 4.7 Sequence diagram cho use case Chỉnh sửa thông tin cá nhân 38

Hình 4.8 Sequence diagram cho use case Thêm loại sản phẩm 39

Hình 4.9 Sequence diagram cho use case Chỉnh sửa loại sản phẩm 39

Hình 4.10 Sequence diagram cho use case Xóa sản phẩm 39

Hình 4.11 Sequence diagram cho use case Thêm sản phẩm 40

Hình 4.12 Sequence diagram cho use case Tra cứu sản phẩm 40

Hình 4.13 Sequence diagram cho use case Thanh toán online 40

Hình 4.14 Sequence diagram cho use case Xem chi tiết bill 41

Hình 4.15 Sequence diagram cho use case Xem danh sách order 41

Hình 4.16 Sequence diagram cho use case Xem thống kê 41

Hình 4.17 Sequence diagram cho use case Thêm vào danh sách wishlist 42

Hình 4.18 Sequence diagram cho use case Xóa wishlist 42

Hình 4.19 Lược đồ logic 43

Hình 4.20 Sơ đồ quan hệ 47

Hình 4.21 Hình danh sách màn hình và sơ đồ biến đổi 55

Hình 4.22 Màn hình chính 56

Hình 4.23 Sơ đồ biến cố màn hình chính 57

Hình 4.24 Màn hình xem, sửa loại sản phẩm 57

Hình 4.25 Sơ đồ biến cố màn hình xem, sửa loại sản phẩm 59

Hình 4.26 Màn hình xem thông tin, sửa quyền người dùng 59

Hình 4.27 Sơ đồ biến cố màn hình xem thông tin, sửa quyền người dùng 61

Hình 4.28 Màn hình xem sản phẩm 61

Hình 4.29 Sơ đồ biến cố màn hình xem sản phẩm 63

Hình 4.30 Màn hình thêm sản phẩm 63

Hình 4.31 Sơ đồ biến cố màn hình thêm sản phẩm 65

Hình 4.32 Màn hình thêm loại sản phẩm 65

Trang 12

Hình 4.33 Sơ đồ biến cố màn hình thêm loại sản phẩm 66

Hình 4.34 Màn hình sửa thông tin sản phẩm 67

Hình 4.35 Sơ đồ biến cố màn hình sửa thông tin sản phẩm 68

Hình 4.36 Màn hình đăng nhập 68

Hình 4.37 Sơ đồ biến cố màn hình đăng nhập 69

Hình 4.38 Màn hình đăng ký 70

Hình 4.39 Sơ đồ biến cố màn hình đăng ký 70

Hình 4.40 Màn hình xem chi tiết sản phẩm 71

Hình 4.41 Sơ đồ biến cố màn hình xem chi tiết sản phẩm 72

Hình 4.42 Màn hình giỏ hàng 72

Hình 4.43 Sơ đồ biến cố màn hình giỏ hàng 74

Hình 4.44 Màn hình xem hóa đơn mua hàng 74

Hình 4.45 Sơ đồ biến cố màn hình thêm hóa đơn mua hàng 75

Hình 4.46 Màn hình lịch sử chi tiết hóa đơn mua hàng 76

Hình 4.47 Sơ đồ biến cố màn hình lịch sử hóa chi tiết hóa đơn mua hàng 77

Hình 4.48 Màn hình thông tin cá nhân 77

Hình 4.49 Sơ đồ biến cố màn hình thông tin cá nhân 78

Hình 4.50 Màn hình wishlist 79

Hình 4.51 Sơ đồ biến cố màn hình wishlist 80

Hình 4.52 Màn hình xem đơn đặt hàng của Admin 80

Hình 4.53 Sơ đồ biến cố màn hình xem đơn đặt hàng của Admin 82

Hình 4.54 Màn hình xem chi tiết đơn đặt hàng của Admin 82

Hình 4.55 Sơ đồ biến cố màn hình xem chi tiết đơn đặt hàng của Admin 83

Trang 13

MỞ ĐẦU

1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Cuộc cách mạng khoa học kỹ thuật đã và đang đem lại những chuyển biến mạnh mẽ trên toàn thế giới Với sự phát triển nhanh như vũ bão Việc áp dụng công nghệ thông tin trong hoạt động kinh tế đem lại những lợi ích to lớn cho toàn xã hội Cùng với sự phát triển của công nghệ thông tin thì Thương mại điện tử cũng đã trở thành lĩnh vực hoạt động kinh tế không còn xa lạ với nhiều quốc gia trên toàn thế giới Con người đã tiết kiệm thời gian, công sức, tiền bạc trong việc mua sắm và các giao dịch kinh tế so với trước kia Việc áp dụng thương mại điện tử trong hoạt động kinh doanh là một xu thế tất yếu của thời đại Và Việt Nam – một đất nước đang phát triển và trong quá trình hội nhập không nằm ngoài xu hướng phát triển đó Tuy đây là một vấn đề con khá mới

mẻ nhưng nó đã thu hút được sự quan tâm của các doanh nghiệp trong nước muốn tìm hiểu và áp dụng từ lợi ích to lớn mà nó mang lại Cơ hội có, khó khăn đối với doanh nghiệp cũng có nhưng thương mại điện tử thực sự là một cuộc cách mang trong phương thức bán hang mà nếu biết cách áp dụng thì doanh nghiệp sẽ thành công ngoài

mong đợi trong việc đưa sản phẩm đến tay người tiêu dùng

Trong những năm gần đây, khi kinh tế Việt Nam đang hội nhập vào nền kinh tế thế giới với một sự phát triển tương đối ổn định Thu nhập trung bình của người dân Việt Nam đang dần đuợc cải thiện Với những điều kiện thuận lợi như vậy thì nhu cầu trong tiêu dùng của người dân đang ngày càng tăng, những đòi hỏi về hình thức phục vụ, sự tiện lợi trong mua bán cũng như thanh toán cũng được người dân Việt Nam chú ý đến

Đi cùng xu thế đó, bán hàng qua mạng là một giải pháp hoàn toàn phù hợp với những đòi hỏi mới của người tiêu dùng.Với những thế mạnh của mình, bán hàng qua mạng đã trở thành một hình thức bán hàng phổ biến trên thế giới Trong khoảng hai đến ba năm trở lại đây, bán hàng qua mạng ở Việt Nam đã

có những sự phát triển vượt bậc, thể hiện ở chất lượng bán hàng được cải thiện, sự quan tâm đến hình thức mua bán này của người tiêu dùng ngày càng

một lớn hơn

Hiện nay ngành thương mại điện tử Việt Nam đang có mức tăng trưởng vào khoảng 25% và lượng doanh nghiệp đầu tư và lĩnh vực này ngày càng nhiều Hàng loạt website thương mại điện tử được mọc ra càng nhiều Gần đây, trong một báo cáo

Trang 14

nghiên cứu của CBRE Việt Nam, được thực hiện thông qua ghi nhận ý kiến khoảng 1.000 người tại TP.HCM và Hà Nội, cho thấy: 25% số khách hàng được khảo sát dự định sẽ giảm tần suất mua sắm tại cửa hàng thực tế, trong khi 45 - 50% số người được hỏi cho rằng họ sẽ mua sắm trực tuyến thường xuyên hơn trong tương lai Theo thống

kê có được từ 55% chủ shop bán hàng online tham gia đánh giá, thì website xếp trên facebook chiếm 51% và các sàn thương mại điện tử chiếm 20% Website và Facebook

là 2 kênh bán hàng chính của các shop online Nhận thực được tiềm năng phát triển đó nhóm đã mạnh dạn chọn việc xây dựng website bán hàng trực tuyến

2 MỤC TIÊU CỦA ĐỀ TÀI

Tìm hiểu về Microservices, Angular, RESTful APIs

Phân tích, thiết kế và xây dựng hệ thống website tin tức trực tuyến với một số chức

năng và công việc cơ bản như sau:

- Nhóm chức năng quản trị hệ thống website:

 Quản lý mặt hàng: Chức năng cho phép thêm mới, chỉnh sửa các thuộc tính cũng như giá trị và xóa mặt hàng

 Quản lý loại mặt hàng: Chức năng cho phép thêm mới, chỉnh sửa các thuộc tính cũng như giá trị và xóa loại mặt hàng

 Quản lý tài khoản: Chức năng cho phép quản trị có thể cập nhật các quyền cũng như tài khoản cho người dùng

- Nhóm chức năng dành cho người dùng:

 Tìm kiếm mặt hàng: Với chức năng này người dùng có thể tìm kiếm mặc hàng theo các tiêu chí như: theo loại, tên lưu ý tất cả gồm tìm kiếm gần đúng hoặc chỉnh xác

 Xem chi tiết mặt hàng: Với chức năng này người dùng có thể xem chi tiết của từng loại mặc hàng

 Xem lịch sử mua hàng: Với chức năng này người dùng có thể xem lịch sử mua hàng của mình

 Quản lý tài khoản: Người dùng có thể đăng nhập, đăng ký, cập nhật thông tin tài khoản cá nhân của mình Lưu ý để sử dụng được chức năng đặt hàng, người dùng phải có tài khoản trước đó

Trang 15

3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU

3.1 Đối tượng nghiên cứu:

Tất cả mọi người sử dụng internet

3.2 Phạm vi nghiên cứu:

Tìm hiểu hình thức thanh toán mua hàng

Tìm hiểu các công nghệ được sử dụng trong đề tài: Spring Microservices, Angular 5 Tìm hiểu về UI/UX và cách để người dùng sử dụng ứng dụng một cách dễ dàng thoải mái và thuận tiện nhất khi sử dụng

Tìm hiểu và xây dựng website bán hàng phù hợp với mọi đối tượng người dùng

3.3 Phướng pháp nghiên cứu:

Phương pháp tổng hợp lý thuyết: Nghiên cứu và tìm hiểu các tài liệu, ứng dụng liên quan đến các công nghệ đang tìm hiểu

Phương pháp chuyên gia: Tham khảo ý kiến của Thầy hướng dẫn cùng các anh, chị

và bạn bè có kinh nghiệm liên quan đến các vấn đề của tiểu luận để tạo tính chính xác

và khoa học của đề tài

Phương pháp mô hình hóa: Mô phỏng website từ bước thiết kế cài đặt cho đến kết quả thành phẩm của website

4 PHÂN TÍCH CÁC HỆ THỐNG WEBSITE CÓ LIÊN QUAN

Đa số các website bán hàng đều trưng bày sản phẩm theo danh mục sản phẩm, khách hàng dễ dàng tìm kiếm sản phẩm, đều có hình thức thanh toán online và đặt hàng

Tuy nhiên một số ứng dụng vẫn có các nhược điểm mà nhóm em đã tổng hợp được:

 Một số ứng dụng có giao diện chưa thu hút người dùng

 Một số ứng dụng có UI đẹp, nhưng UX hơi tệ

 Một số ứng dụng không có phần mô tả giới thiệu về sản phẩm

5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC

Xây dựng website bán hàng đơn giản dể dàng tìm kiếm, xem thông tin sản phẩm và hình thức thanh toán dễ dàng tiện lợi

Trang 16

6 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN

Đề tài hướng đến khả năng tiếp thu, nâng cao kỹ năng lập trình, nghiên cứu công nghệ mới và trên hết là đáp ứng nhu cầu của người mua hàng và tính thương mại của doanh nghiệp trên internet

Trang 17

PHẦN NỘI DUNG CHƯƠNG 1 CÁC CÔNG NGHỆ SỬ DỤNG

1.1 TỔNG QUAN VỀ ANGULAR

1.1.1 Giới thiệu Angular

Angular là một Framwork mạnh mẽ được phát triển bởi Google Nó được sử dụng

để xây dựng các ứng dụng tương tác với người dùng thông qua giao diện Web Angular cho cung cấp cho lập trình viên nền tảng công nghệ hiện đại và cho phép tích hợp với hàng loạt các nền tảng công nghệ lập trình hiện đại như Net, Java, Php …Với đặc trưng mạnh mẽ của các phiên bản trước kia như Angular 1.x, từ phiên bản Angular 2 (Hiện nay là phiên bản Angular 5) trở đi , nền tảng công nghệ có sự thay đổi lớn, ở đây ngôn ngữ lập trình được thực hiện đó là TypeScript (Ngôn ngữ lập trình hiện đại và hướng đối tượng), và framework này cũng phân chia việc phát triển ứng dụng thành nhiều các module riêng biệt, điều này giúp cho lập trình viên có thể tiếp cận theo cách hướng mô hình một cách dễ dàng hơn.Ngoài ra theo hướng tiếp cận này giúp cho lập trình viên phát triển và nâng cấp ứng dụng dễ dàng và đỡ tốn kém hơn

Trang 18

được viết bằng ngôn ngữ Typescript nhằm thực hiện gắn kết (Tương tác) giữa giao diện ứng dụng và các dịch vụ (service ) ở phía Server.

Trong hình vẽ trên thì các component trực thuộc Module Và nó được nạp vào ứng dụng là nhờ Module Component sử dụng Dịch vụ (Service) để lấy dữ liệu hoặc thao tác với dữ liệu và hiển thị chúng thông qua các đoạn mã chương trình được viết bằng TypeScript Component có thể sử dụng các đối tượng là thể hiện của dịch vụ thông qua cơ chế Dependency Injection (Thể hiện của Dependency Injecttion - DI là rất dễ hiểu, lập trình viên bchỉ cần khai báo đối tượng thông qua hàm khởi tạo của lớp)

Dữ liệu có thể được hiển thị tương ứng với các file html trong component Angular cung cấp cơ chế gắn kết dữ dữ liệu với giao diện (template) của component cơ chế đó được gọi là databinding

Thông qua cơ chế Databinding, bất kỳ thay đổi dữ liệu trong Angular, thì giao điện tương tác sẽ tự động cập nhật các thay đổi dữ liệu đó Tương tác về sự thay đổi dữ liệu trong Angular với phía giao diện có thể theo hướng 1 chiều hoặc 2 chiều

1.1.3 Các thành phần của Angular 5

1.1.3.1 Giới thiệu Module:

Angular 5 chia sự phát triển ứng dụng thành các Module khác nhau Tất cả các ứng dụng của Angular đều có 1 module gốc, module gốc được gọi là AppModule và có ít nhất một lớp NgModule

Tùy theo quy mô của ứng dụng, với ứng dụng nhỏ chỉ cần một module là đủ Tuy nhiên với các ứng dụng lớn có thể có chứa rất nhiều các Module khác nhau Trong một Module có thể chứa nhiều các Module con khác Các module con được gọi là các SubModule

Mỗi Module có chứa @ngModule Với các đặc trưng có chứa Metadata nhằm để định nghĩa các thuộc tính được sử dụng như sau:

 Declarations: Khai báo các lớp View (Bao gồm Component, directive và Pipe nhằm thực hiện hiển thị thông tin do vậy người ta gọi là các lớp hiển thị (View class)

 Exports: Khi chúng ta sử dụng các Component tại Module, chúng ta muốn các Component này được sử dụng tiếp ở các Module khác thì chúng ta sẽ khai báo các Component này tại mảng đối tượng trực thuộc từ khóa Export này

Trang 19

 Imports: Chúng tả muốn sử dụng các Module khác trong module này, thì chúng

ta phải khai báo chúng tại mảng đối tượng trực thuộc từ khóa Imports

 Providers : Khai báo các service được sử dụng trong module

Hình sau mô tả các thành phần của Module:

Hình 1.2 Mô tả các thành phần thuộc tính của Module

1.1.3.2 Cách phân chia ứng dụng theo Module:

Khi xây dựng ứng dụng với quy mô từ trung bình trở lên, người ta thường hay sử dụng ngôn ngữ mô hình hóa ví dụ như UML để thực hình mô hình hóa hệ thống phần mềm Trong ngôn ngữ UML có nhiều các biểu đồ khác nhau Để mô hình hóa chức năng của hệ thống, các kỹ sư sẽ sử dụng biểu đồ Usecase để mô hình hóa 1 chức năng hoặc một nhóm chức năng của phần mềm, Khi muốn gom nhóm các chức năng lại với nhau thì người ta sẽ sử dụng biểu đồ biểu đồ thành phần (Component Diagram – Chứa nhiều biểu đồ Usecase)

Vởi các ứng dụng được viết bằng Angular 5 chúng ta có thể ánh xạ biểu đồ thành phần sang thành các Module ứng dụng Với các SubModule tương ứng với các biểu

đồ Usecase trực thuộc biểu đồ thành phần

Ví dụ ta xây dựng 1 chương trình quản lý nhân sự, chương trình này bao gồm có chứa ít nhất 2 biểu đồ thành phần (1 biểu đố Authortication – Dùng để kiểm tra truy cập hệ thống và 1 biểu đồ thành phần sử dụng để Quản lý nhân sự - Hrm) Tương ứng sang Angular 5 ta cũng sẽ có 3 modules đó là : Application Module (Đóng vai trò là RootModule) và 2 module thành phần bao gồm AuthorModule và HrmModule

Hình dưới đây mô tả Module gốc của ứng dụng:

Trang 21

Component… Đó chính là các thành phần tương ứng với các Usecase như Login Usecase, Forgot Password Usecase

1.2 TỔNG QUAN VỀ SPRING BOOT

1.2.1 Giới thiệu Spring Boot

Mặc dù Spring là một Framework tuyệt vời để phát triển phần mềm nhưng nó vẫn tồn tại một số nhược điểm / hạn chế (Quá nhiều cấu hình…) Spring Boot được xây dựng để khắc phục những nhược điểm đó, đồng thời cũng cung cấp một hướng phát triển phần mềm mới trong tương lai

Spring Boot là một dự án nổi bật trong hệ sinh thái Spring Framework Spring Boot được dùng để tạo các ứng dụng độc lập dựa trên Spring Nếu như trước đây, công đoạn khởi tạo một dự án Spring khá vất vả từ việc khai báo các dependency trong file pom.xml cho đến cấu hình bằng XML hoặc annotation phức tạp, thì giờ đây với Spring Boot, chúng ta có thể tạo các ứng dụng Spring một cách nhanh chóng và cấu hình cũng đơn giản hơn Nó là một chuẩn cho cấu hình thiết kế phần mềm, tăng cao năng suất cho developer

Dưới đây là một số tính năng nổi bật của Spring Boot:

 Có các tính năng của Spring Framework

 Tạo ứng dụng độc lập, có thể chạy bằng java -jar (cho cả java web)

 Nhúng trực tiếp các ứng dụng server (Tomcat, Jetty…) do đó không cần phải triển khai file WAR

 Cấu hình ít, tự động cậu hình bất kì khi nào có thể (Giảm thời gian viết code, tăng năng suất)

 Không yêu cầu XML config

 Cung cấp nhiều plugin

 Chuẩn cho Microservices (Cloud support; giảm việc setup, config; các thư viện hỗ trợ…)

Hiện tại, Spring Boot có 2 version chính là: v1.5.16, v2.0.5

1.2.2 Các tính năng, đặc điểm của String Boot

1.2.2.1 String Application:

SpringApplication là một class cung cấp cách thuận tiện để khởi chạy ứng dụng từ hàm main() Để start ứng dụng, chỉ cần gọi method run()

Ví dụ:

Trang 22

Hình 1.5 Ví dụ start ứng dụng

1.2.2.2 Externalized Configuration:

Spring Boot cho phép chúng ta cấu hình từ bên ngoài (externalize), do đó một ứng dụng có thể chạy trên nhiều môi trường khác nhau

Chúng ta có thể sử dụng file YAML, file properties, các biến môi trường và tham

số command-line để thực hiện externalize configuration

Các thuộc tính cấu hình có thể inject trực tiếp vào bean bằng cách sử dụng

annotation @Value hoặc thông qua object với @ConfigurationProperites…

@Profile để giới hạn khi nào được tải lên

Ví dụ chỉ tải trong môi trường product…

Hình 1.7 Ví dụ về profiles

Trang 23

1.2.2.4 Loggin:

Spring Boot sử dụng common logging cho tất cả các chức năng log nội bộ Các depencdeny logging được quản lý mặc định, chúng ta không nên / cần sửa dependency logging nếu khồng có yêu cầu tùy biến (customization) thực sự cần

1.3 TỔNG QUAN VỀ MICROSERVICES

1.3.1 Giới thiệu về Microservices

Thời gian gần đây microservice cũng đang dần trở thành một từ khóa hot Micro là rất nhỏ, service là dịch vụ, vậy microservice nghĩa là… dịch vụ vô cùng nhỏ Nói đơn

giản, microservice là một kiếu kiến trúc phần mềm Các module trong phần mềm này được chia thành các service rất nhỏ (microservice)

1.3.2 Ưu điểm của Microservices

Thứ nhất, giúp đơn giản hóa hệ thống Với tổng số chức năng không đổi, kiến trúc Microservices chia nhỏ hệ thống ra làm nhiều dịch vụ nhỏ lẽ dể dàng quản lý và triển khai từng phần so với kiến trúc nguyên khối Mỗi dịch vụ thì được định nghĩa để giao tiếp với các dịch vụ khác thông qua RPC (Remote Procedure Call) hay message-driven API Kiến trúc Microservices thúc đẩy việc phân tách rạch ròi các dịch vụ nhỏ, việc khó có thể làm nếu xây dựng ứng dụng bằng kiến trúc một khối Trên hết với mỗi dịch

vụ nhỏ, chúng ta sẽ có thời gian phát triển nhanh hơn, dễ nắm bắt cũng như bảo trì hơn

Thứ hai, kiến trúc này cho phép việc mỗi dịch vụ được phát triển độc lập bởi những team khác nhau Cũng như cho phép developer có thể tự do chọn lựa technology stack cho mỗi dịch vụ mình phát triển Dĩ nhiên tự do lựa chọn nhưng không phải là tạo ra một mớ hỗn độn về technology, điều này thì chằng có một dự án hay sản phẩm nào mong muốn cả Tuy nhiên, sự tự do này có nghĩa là các developer không còn phải bắt buộc phải sử dụng các công nghệ lỗi thời có thể đã tồn tại vào lúc bắt đầu dự án Khi viết một dịch vụ mới, họ có tùy chọn của việc sử dụng công nghệ bắt kịp với xu thế Hơn nữa, vì dịch vụ là tương đối nhỏ, việc viết lại một dịch vụ cũ dựa trên nền tảng công nghệ mới hơn là hoàn toàn khả thi

Thứ ba, kiến trúc Microservices cho phép mỗi dịch vụ có thể được triển khai một cách độc lập Cùng với đó thì việc triển khai hệ thống theo kiểu continuous deployment là hoàn toàn có thể

Trang 24

Cuối cùng, kiến trúc Microservices cho phép mỗi dịch vụ có thể thực hiện việc scale một cách độc lập Bạn có thể scale dễ dàng bằng cách tăng số instance phục vụ cho mỗi dịch vụ lên và phân tải bằng load balancer Ngoài ra bạn cũng có thể tối ưu chi phí vận hành dịch vụ bằng cách triển khai mỗi dịch vụ lên server có resource thích hơp

1.3.3 Nhược điểm của Microservices

Nhược điểm đầu tiên của Microservices cũng chính từ tên gọi của nó Microservice nhấn mạnh kích thước nhỏ gọn của dịch vụ Một số lập trình đề xuất dịch vụ siêu nhỏ

cỡ dưới 100 dòng code Nhưng làm sao để chia nhỏ, và chia làm sao để khi chia quá nhiều sẽ dẫn đến manh mún, vụn vặt, khó kiểm soát

Thứ hai của Microservices đến từ đặc điểm hệ thống phân tán (distributed system) Lập trình viên cần phải lựa chọn phát triển mỗi dịch vụ nhỏ giao tiếp với các dịch vụ khác bằng cách nào messaging hay là RPC Hơn thế nữa, họ phải xử lý sự cố khi kết nối chậm, lỗi khi thông điệp không gửi được hoặc thông điệp gửi đến nhiều đích đến vào các thời điểm khác nhau

Thứ ba, phải đảm bảo giao dịch phân tán (distributed transaction) cập nhật dữ liệu đúng đắn (all or none) vào nhiều dịch vụ nhỏ khác nhau khó hơn rất nhiều, đôi khi là không thể so với đảm bảo giao dịch cập nhật vào nhiều bảng trong một cơ sở dữ liệu trung tâm Theo nguyên tắc CAP (CAP theorem) thì giao dịch phân tán sẽ không thể thỏa mãn cả 3 điều kiện: consistency (dữ liệu ở điểm khác nhau trong mạng phải giống nhau), availablity (yêu cầu gửi đi phải có phúc đáp), partition tolerance (hệ thống vẫn hoạt động được ngay cả khi mạng bị lỗi) Những công nghệ cơ sở dữ liệu phi quan hệ (NoSQL) hay môi giới thông điệp (message broker) tốt nhất hiện nay cũng chưa vượt qua nguyên tắc CAP

Thứ tư, testing một dịch vụ trong kiến trúc microservices đôi khi yêu cầu phải chạy

cả các dịch vụ nhỏ khác mà nó phụ thuộc Do đó khi phân rã ứng dụng một khối thành microservices cần luôn kiểm tra mức độ ràng buộc giữa các dịch vụ Nếu các dịch vụ nhỏ thiết kế phục thuộc vào nhau theo chuỗi A gọi B, B gọi C, C gọi D Nếu một mắt xích có giao tiếp API thay đổi, liệu các mắt xích khác có phải thay đổi theo không? Nếu có thì việc bảo trì, kiểm thử sẽ phức tạp tương tự ứng dụng một khối Thiết kế dịch vụ tốt sẽ giảm tối đa ảnh hưởng lan truyền đến các dịch vụ khác

Trang 25

Cuối cùng, triển khai dịch vụ microservices nếu làm thủ công theo cách đã làm với ứng dụng một khối phức tạp hơn rất nhiều Ứng dụng một khối bổ sung các server mới giống hệt nhau đằng sau load balancer Trong khi ở kiến trúc microservices, các dịch

vụ nhỏ nằm trên nhiều máy ảo hay Docker container khác nhau, hoặc một dịch vụ có nhiều thực thể phân tán ra nhiều Theo Adrian Crockcroft, Hailo có 160 dịch vụ, NetFlix có hơn 600 dịch vụ Với cloud, các máy ảo, docker container có thể linh động bật tắt, dịch chuyển Vậy cần thiết phải có một cơ chế phát hiện dịch vụ (service discovery mechanism) để cập nhật tự động địa chỉ IP và cổng, mô tả, phiên bản của mỗi dịch vụ

1.3.4 Cấu trúc Microservices nhóm sử dụng trong project

Hình 1.8 Cấu trúc Microservices nhóm sử dụng trong project

1.4 HIBERNATE

Hibernate là một thư viện ORM (Object Relational Mapping) mã nguồn mở giúp lập trình viên viết ứng dụng Java có thể map các objects (pojo) với hệ quản trị cơ sở dữ liệu quan hệ, và hỗ trợ thực hiện các khái niệm lập trình hướng đối tượng với cớ dữ liệu

quan hệ

Chính là các POJO object map với các table tương ứng của cơ sở dữ liệu quan hệ

Nó như là những "thùng xe" chứa dữ liệu từ ứng dụng để ghi xuống database, hay chứa

dữ liệu tải lên ứng dụng từ database Session Factory Là một interface giúp tạo ra session kết nối đến database bằng cách đọc các cấu hình trong Hibernate configuration Mỗi một database phải có một session factory Ví dụ nếu ta sử dụng MySQL, và Oracle cho ứng dụng Java của mình thì ta cần có một session factory cho MySQL, và một

session factory cho Oracle File cấu hình hibernate.cfg.xml có như sau:

Trang 26

Hình 1.9 File cấu hình hibernate

Hibernate Session Mỗi một đối tượng session được Session factory tạo ra sẽ tạo một kết nối đến database Transation Là transaction đảm bảo tính toàn vẹn của phiên làm việc với cớ sở dữ liệu Tức là nếu có một lỗi xảy ra trong transaction thì tất cả các tác vụ thực hiện sẽ thất bại QueryHibernate cung cấp các câu chuy vấn HQL (Hibernate Query Language) tới database và map kết quả trả về với đối tượng tương

ứng của ứng dụng Java

Trang 27

CHƯƠNG 2 KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

2.1 PHÂN TÍCH HIỆN TRẠNG

Hiện nay, các doanh nghiệp lớn đều muốn có riêng một Hệ thống Website để quản

lý sản phẩm, đồng thời có thể thực hiện các giao dịch mua bán Online nhằm tăng năng suất bán hàng Sau đây là mô tả chi tiết các công việc mà Hệ thống Website bán hàng

trực tuyến cần có để đáp ứng nhu cầu của các doanh nghiệp:

 Lưu trữ được thông tin chi tiết của sản phẩm, thành viên, và các giao dịch mà

thành viên đã thực hiện trên hệ thống

 Cho phép khách hàng xem danh sách sản phẩm, tra cứu sản phẩm theo loại,

theo tên

 Khách hàng có thể chọn và chỉ định số lượng của sản phẩm mà họ có nhu cầu

mua

 Cho phép khách hàng chọn phương thức thanh toán khi mua sản phẩm:

Đặt hàng (thanh toán tại nhà)

Thanh toán Online (thông qua cổng thanh toán trực tiếp Paypal)

 Khách hàng có thể xem lại tất cả các giao dịch của bản thân

Với “Hệ thống Website bán hàng trực tuyến” mà nhóm em xây dựng, khách hàng

có thể dễ dàng tìm thấy sản phầm mà mình mong muốn, đồng thời mua sắm một cách nhanh chóng Từ đó có thể giúp các doanh nghiệp giải quyết các nổi lo về việc phổ

biến sản phẩm, nâng cao năng suất tiêu thụ

2.2 PHÂN TÍCH YÊU CẦU

2.2.1 Yêu cầu chức năng

- Lưu trữ: các thông tin về

 Thông tin chi tiết mặt hàng: mã mặt hàng, tên mặt hàng, mã loại mặt hàng,

 Thông tin loại mặt hàng: mã loại mặt hàng, tên loại mặt hàng, giá cả, size, hình ảnh thuộc danh mục, số lượng…

 Thông tin tài khoản: tên đăng nhập, mật khẩu, quyền/nhóm quyền, tên tài khoản, hình ảnh, địa chỉ, email, …

- Tìm kiếm/ tra cứu:

 Tìm kiếm mặt hàng

 Tìm kiếm loại mặt hàng

- Thống kê:

Trang 28

 Thống kê doanh số bán hàng

Bộ phận(Người thực hiện): Quản trị viên hệ thống

Bảng 2.1 Bảng chức năng nghiệp vụ của quản trị viên

công việc

Quy định và công thức liên quan

Biểu mẫu liên quan

Ghi chú

1 Cấp quyền người dùng Lưu trữ

3 Chỉnh sửa mặt hàng Lưu trữ

5 Thêm loại mặt hàng Lưu trữ

6 Chỉnh sửa loại mặt hàng Lưu trữ

Bộ phận(Người thực hiện): Người dùng

Bảng 2.2 Bảng chức năng nghiệp vụ của người dùng

công việc

Quy định và công thức liên quan

Biểu mẫu liên quan

Ghi chú

1 Tìm kiếm mặt hàng Tìm kiếm

2 Xem chi tiết mặt hàng Lưu trữ

3 Xem hóa đơn mua hàng Lưu trữ

5 Chỉnh sửa thông tin cá

6 Chỉnh sửa giỏ hàng Lưu trữ

7 Chỉnh sửa wishlist Lưu trữ

Trang 29

2.2.2 Yêu cầu phi chức năng

Bảng 2.3 Bảng yêu cầu phi chức năng

1 Tốc độ tìm kiếm

nhanh và chính xác Hiệu quả

Tối đa 5s phải có kết quả tìm

kiếm

2

Tiết kiệm được

thời gian, thu hẹp

không gian lưu trữ,

tránh thất lạc dữ

liệu

Hiệu quả

Tiết kiệm thời gian so với quản

lý thủ công Dữ liệu được sao lưu trên máy, có thể dễ dàng

Trang 30

CHƯƠNG 3 MÔ HÌNH HÓA YÊU CẦU

3.1 NHẬN DIỆN TÁC NHÂN VÀ CHỨC NĂNG TRONG SƠ ĐỒ USE CASE

Bảng 3.1 Danh sách tác nhân và chức năng

Quản trị viên

 Quản lý loại sản phẩm

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

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

 Quản lý trang cá nhân

 Xem chi tiết sản phẩm

 Quản lý trang cá nhân

 Quản lý giỏ hàng

 Xem danh sách hóa đơn

Trang 31

Bảng 3.2 Tác nhân và vai trò của tác nhân

Quản trị viên

 Xem, thêm, sửa loại sản phẩm

 Xem, thêm, khóa, kích hoạt sản phẩm

 Xem, khóa, kích hoạt tài khoản

 Xem,sửa thông tin cá nhân

 Sửa ảnh đại diện

 Xem danh sách hóa đơn

 Thanh toán khi nhận hàng

 Thanh toán online

 Xem, thêm, xóa, chỉnh sửa wishlist

 Xem bảng thống kê

 Xem đơn đặt hàng và chi tiết đơn đặt hàng

Trang 32

 Xem,sửa thông tin cá nhân

 Chỉnh sửa ảnh đại diện

 Đổi mật khẩu

 Xem, thêm, xóa, chỉnh sửa số lượng sản phẩm ở giỏ hàng

 Tra cứu sản phẩm

 Xem danh sách hóa đơn

 Thanh toán khi nhận hàng

 Thanh toán online

Trang 33

4 Xem chi tiết sản phẩm

Quản trị viên, thành viên có thể xem chi tiết tên sản phẩm, giá sản phẩm, mô tả về sản phẩm, hình ảnh cụ thể của sản phẩm

5 Xem thông tin cá nhân

Quản trị viên, thành viên có thể xem thông tin hình ảnh, họ tên, địa chỉ, email, số điện

thoại, mật khẩu

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

Quản trị viên, thành viên có thể thay đổi thông tin họ tên, địa chỉ, email, số điện thoại

9 Thêm sản phẩm vào giỏ hàng

Khi quản trị viên, thành viên đã tìm được sản phẩm ưng ý khách hàng có thể thêm sản phẩm vào giỏ hàng bằng cách bấm nút thêm sản phẩm vào giỏ hàng để có thể mua

11 Chỉnh sửa ảnh đại diện

Quản trị viên, thành viên có thể thay đổi ảnh

đại diện của mình

Trang 34

12 Đổi mật khẩu Quản trị viên, thành viên có thể thay đổi mật

khẩu tài khoản của mình

13 Xem danh sách hóa đơn Quản trị viên, thành viên có thể xem ngày

thanh toán, tổng số tiền của hóa đơn

14 Tra cứu sản phẩm

Khách, quản trị viên, thành viên có thể tra cứu sản phẩm bằng cách nhập thông tin sản

phẩm vào ô tìm kiếm

15 Thanh toán online

Quản trị viên, thành viên thanh toán bằng

paypal khi mua hàng

16 Thanh toán khi nhận hàng

Quản trị viên, thành viên thanh toán bằng tiền mặt khi nhận được hàng từ người giao

hàng

17 Xem danh sách loại sản phẩm

Quản trị viên xem thông tin tên loại sản

Trang 35

sản phẩm

24 Xem danh sách tài khoản

Quản trị viên xem tên, ngày sinh, tài khoản,

số điện thoại của các tài khoản

25 Cấp quyền cho tài khoản

Quản trị viên chọn trạng thái Admin cho tài

khoản

26 Xem danh sách wislist

Quản trị viên, thành viên có thể xem danh

sách wishlist

27 Chỉnh sửa giá trong wishlist

Quản trị viên, thành viên có thể chỉnh sửa giá

mong ước trong wishlist

Trang 36

3.3 SƠ ĐỒ USE CASE

3.3.1 Các sơ đồ Use case

Hình 3.1 Use case chung của hệ thống

Hình 3.2 Use case Quản lý sản phẩm

uc Use Case Website ban hang truc tuyen

Quan tri v ien

Quan ly loai san pham Quan ly san pham

Quan ly tai khoan

Quan ly gio hang

Xem danh sach hoa don Dang xuat

Tra cuu san pham

uc Quan ly san pham

Quan ly san pham

Xem danh sach san pham

Ngung ban san pham Quan tri v ien

Mo ban lai san pham

Chinh sua san pham

Them san pham

Trang 37

Hình 3.3 Use case Quản lý loại sản phẩm

Hình 3.4 Use case Quản lý tài khoản

uc Quan ly loai san pham

Quan ly loai san pham

Them loai san pham

Quan tri v ien

Sua loai san pham

Xem danh sach loai san pham

«extend»

«extend»

«extend»

uc Quan ly tai khoan

Quan ly tai khoan

Cap quyen admin

Bo quyen admin Quan tri v ien

Xem danh sach tai khoan

«extend»

«extend»

«extend»

Trang 38

Hình 3.5 Use case Quản lý trang cá nhân

Hình 3.6 Use case Thanh toán

uc Quan ly trang ca nhan

Quan ly trang ca nhan

Sua thong tin ca nhan

Thay doi anh dai dien Quan tri v ien

Trang 39

Hình 3.7 Use case Quản lý giỏ hàng

Hình 3.8 Use case Quản lý wishlist

uc Quan ly gio hang

Quan ly gio hang

Xem danh sach san pham trong gio hang

Sua chi tiet gio hang Quan tri v ien

Trang 40

3.3.2 Đặc tả Use case

Bảng 3.4 Mô tả use case Đăng nhập

Use Case Đăng nhập

1 Khách truy cập vào website

2 Nhập user name và password

3 Nhấn nút “Đăng Nhập” hoặc nhấn Enter

4 Nếu đăng nhập thất bại, thông báo “Nhập sai tên tài khoản hoặc mật khẩu” Khách nhập lại thông tin và đăng

nhập lại lần nữa

5 Nếu đăng nhập thành công Xuất hiện giao diện chương trình với đầy đủ chức năng của thành viên hoặc quản trị

viên

Bảng 3.5 Mô tả use case Đăng ký

Use Case Đăng ký

Ngày đăng: 14/02/2023, 18:31

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

w