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

Xây dựng website và app bán đồng hồ sử dụng flutter và golang

96 9 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 Và App Bán Đồng Hồ Sử Dụng Flutter Và Golang
Tác giả Thân Lê Anh Tuấn, Tô Minh Khuê
Người hướng dẫn Thầy Nguyễn Tấn Toàn
Trường học Đại Học Quốc Gia Thành Phố 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 96
Dung lượng 6,75 MB

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

Nội dung

Điều này đòi hỏi sự xuất hiện của các ngôn ngữ lập trình tiên tiến và chức năng hơn để phát triển chức năng trang web, chẳng hạn như Golang... Vào giữa năm 2008, hầu hết các tính năng đư

Trang 1

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

Giảng viên hướng dẫn:

Thầy Nguyễn Tấn Toàn

Sinh viên thực hiện:

TPHCM, 05/01/2021

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN

……….……….….

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 3

Ngoài ra, chúng em cũng cảm ơn các anh, chị, bạn bè và gia đình đã giúp đỡ và tạođiều kiện cho chúng em hoàn tất đồ án 2 này

Mặc dù đã rất cố gắng, tuy nhiên vì khả năng giới hạn nên vẫn không tránh khỏinhững sai sót, chúng em rất mong nhận được sự thông cảm và góp ý chân tình từ quýthầy cô và các bạn Một lần nữa xin được chân thành cảm ơn mọi người

Thành phố Hồ Chí Minh, ngày 05 tháng 01 năm 2021

Thân Lê Anh Tuấn

Trang 4

Tô Minh Khuê

Trang 5

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: Xây dựng website và app bán đồng hồ sử dụng Flutter và

Golang

Cán bộ hướng dẫn: thầy Nguyễn Tấn Toàn

Thời gian thực hiện: Từ ngày 25/09/2020 đến ngày 10/01/2021

Sinh viên thực hiện:

Thân Lê Anh Tuấn 17521223

Tô Minh Khuê 17520653

Nội dung đề tài: Xây dựng website và app bán đồng hồ sử dụng Flutter và Golang

Mục tiêu: Tìm hiểu Golang, các ưu điểm và khuyết điểm Xây dựng ứng dụng bán đồng hồ với giao diện thân thiện

với người dùng và có tiềm năng phát triển.

Đối tượng: Các công ty, doanh nghiệp vừa và nhỏ.

Phương pháp thực hiện: Thảo luận và làm việc nhóm tìm hiểu theo năng lực và kinh nghiệm đã có trong quá trình

học tại trường.

Kết quả mong đợi: Hiểu rõ về Golang và có thể xây dựng được app sử dụng công nghệ Golang.

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

Trang 6

- Nó mang lại lợi ích gì ? Cho ai ?

Trong hoàn cảnh nào ?

- Những cái tương đương, tương tự

Sprint 2: Tìm hiểu các mô hình,

công nghệ , kỹ thuật để áp dụng vào

hệ thống

Tuần 3-5(25/09/2020 – 10/10/2020)

Tuấn

Phase 2: Xây dựng back end của hệ thống

bằng golang

9 Tuần(22/10/2020- 20/11/2020)

4 Sprint 4: Xây dựng cơ sở dữ liệu của

hệ thống

4.1 Xây dựng Restful API cho user

module

- CRUD API cho người dùng, admin

Xây dựng Restful API cho product

module

- CRUD API cho danh mục sản phẩm,

sản phẩm

Tuần 8 – 15(22/10/2020 – 20/11/2020)

Tuấn, Khuê

Trang 7

đơn hàng

- CRUD API cho giỏ hàng, đơn hàng

của người dùng

Phase 3 : Xây dựng website application cho

người quản lí bằng vue

9 Tuần(20/11/2020- 10/12/2020)

5 Sprint 5: Xây dựng giao diện

5.1

Giao diện trang chủ

- Giao diện đăng nhập

+ Hiển thị giao diện đăng nhập, thông

tin khách hàng, chỉnh sửa tài khoản

- Giao diện hiển thị danh sách khách

hàng

- Giao diện quản lý sản phẩm

- Giao diện quản lí danh mục sản phẩm

- Giao diện quản lí đơn hàng

- Giao diện thống kê đơn hàng

+ Thiết kế, cài đặt giao diện

+ Hiển thị thông tin đồng hồ

+ Xây dựng chức năng thông báo đồng

hồ đã hết, chức năng lưu trữ và chia sẻ

sản phẩm

(10/12/2020- 31/12/2020)

6 Sprint 5: Xây dựng giao diện

6.1 Giao diện trang chủ

+ Thiết kế, cài đặt giao diện

+ Hiển thị danh sách danh mục đồng

hồ, đồng hồ

- Xây dựng chức năng tạo tài khoản

Tuần 8 – 15(10/12/2020 – 31/12/2020)

Tuấn, Khuê

Trang 8

- Giao diện quản lý đồng hồ

+ Hiển thị thống báo sự kiện

-Giao diện tìm kiếm đồng hồ

+ Thiết kế, cài đặt giao diện

+ Hiển thị danh mục đồng hồ

-Giao diện bán đồng hồ

+ Thiết kế, cài đặt giao diện

+ Hiển thị thông tin đồng hồ

+ Xây dựng chức năng thông báo đồng

hồ đã hết, chức năng lưu trữ và chia sẻ

sản phẩm

- Giao diện tài khoản

+ Thiết kế, cài đặt giao diện

+ Hiển thị giao diện đăng nhập, thông

tin khách hàng, chỉnh sửa tài khoản

- Giao diện quản lý giỏ hàng

+ Thiết kế, cài đặt giao diện

+ Hiển thị giao diện đồng hồ đã mua

+ Xây dựng chức năng thông báo khi

Tuấn, Khuê

Trang 9

STT Công việc Thời gian thực hiện

- Nó mang lại lợi ích gì ? Cho ai ?

Trong hoàn cảnh nào ?

- Những cái tương đương, tương tự

Khuê

2

Sprint 2: Tìm hiểu các mô hình,

công nghệ , kỹ thuật để áp dụng vào

hệ thống

Tuần 3-5(09/04/2020 – 23/04/2020)

Trang 10

Tuấn, Khuê

5 Sprint 5: Xây dựng giao diện

5.1 Giao diện trang chủ

+ Thiết kế, cài đặt giao diện

+ Hiển thị đồng hồ bán chạy, đồng hồ

nổi bật

- Xây dựng chức năng tạo tài khoản

- Giao diện quản lý đồng hồ

-Giao diện thông báo sự kiện

+ Thiết kế, cài đặt giao diện

+ Hiển thị thống báo sự kiện

-Giao diện tìm kiếm đồng hồ

+ Thiết kế, cài đặt giao diện

+ Hiển thị danh mục đồng hồ

-Giao diện đồng hồ bán

+ Thiết kế, cài đặt giao diện

+ Hiển thị thông tin đồng hồ

+ Xây dựng chức năng thông báo đồng

hồ đã hết, chức năng lưu trữ và chia sẻ

sản phẩm

Giao diện khách hàng

- Giao diện tài khoản

+ Thiết kế, cài đặt giao diện

+ Hiển thị giao diện đăng nhập, thông

tin khách hàng, chỉnh sửa tài khoản

- Giao diện quản lý giỏ hàng

+ Thiết kế, cài đặt giao diện

Tuần 8 – 15(14/05/2020 – 01/07/2020)

Tuấn, Khuê

Trang 11

+ Xây dựng chức năng thông báo khi

Tuấn, Khuê

Trang 12

MỤC LỤC

LỜI CẢM ƠN 3

ĐỀ CƯƠNG CHI TIẾT 5

MỤC LỤC 12

DANH MỤC HÌNH VẼ 15

DANH MỤC BẢNG 16

TÓM TẮT BÁO CÁO 17

MỞ ĐẦU 18

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 19

1 NHU CẦU THỰC TẾ CỦA ĐỀ TÀI 19

2 CÁC DỰ ÁN ĐỐI THỦ 21

3 PHẠM VI ĐỒ ÁN 22

4 PHƯƠNG PHÁP NGHIÊN CỨU 22

5 CẤU TRÚC ĐỒ ÁN 23

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 23

1 GOLANG 23

1.1 Giới thiệu về Golang 23

1.2 Tính năng nổi bật của Golang 26

1.3 Áp dụng Golang vào xây dựng ứng dụng bán đồng hồ 28

2 VUE.JS 28

2.1 Giới thiệu Vue.js 28

2.2 Tính năng của Vue.js 29

2.3 Áp dụng Vue.js vào xây dựng ứng dụng bán đồng hồ 30

3 FLUTTER 32

3.1 Giới thiệu Flutter 32

1.2 Những tính năng nổi bật của Flutter 37

1.3 Áp dụng Flutter vào xây dựng ứng dụng bán đồng hồ 38

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 38

1 MÔ TẢ LẠI ĐỀ TÀI 38

Trang 13

4 MÔ HÌNH USE CASE 42

4.1 SƠ ĐỒ USE CASE 42

4.2 DANH SÁCH ACTOR 42

4.3 DANH SÁCH CÁC USE CASE 43

4.4 ĐẶC TẢ USE CASE 45

4.4.1 Đặc tả các Use case “Quản lý đăng nhập” 45

4.4.2 Đặc tả các Use case “Quản lý đồng hồ” 49

4.4.3 Đặc tả các Use case “Quản lý danh mục đồng hồ” 52

4.4.4 Đặc tả Use Case “Quản lý User” 54

4.4.5 Đặc tả Use Case “Quản lý giỏ hàng” 56

4.4.6 Đặc tả Use Case “Quản lý hóa đơn” 58

4.4.7 Đặc tả Use case “ thông báo, thống kê” 60

5 MÔ HÌNH LUỒNG DỮ LIỆU 62

5.1 HỆ THỐNG KHÁCH HÀNG 63

5.2 HỆ THỐNG NGƯỜI QUẢN LÝ 67

6 SƠ ĐỒ DỮ LIỆU 72

ĐẶC TẢ DATABASE 72

CHƯƠNG 4: HIỆN THỰC ỨNG DỤNG BÁN ĐỒNG HỒ 76

1 TỔNG QUAN VỀ ỨNG DỤNG BÁN ĐỒNG HỒ 76

2 ĐẶC TẢ GIAO DIỆN ỨNG DỤNG 76

2.1 ỨNG DỤNG WEB 76

2.1.1 QUẢN LÝ ĐĂNG NHẬP 76

2.1.2 QUẢN LÝ SẢN PHẨM 78

2.1.3 QUẢN LÝ DANH MỤC 80

2.1.3 QUẢN LÝ TÀI KHOẢN 82

2.1.4 QUẢN LÝ ĐƠN HÀNG 82

2.1.5 QUẢN LÝ THỐNG KÊ 83

2.2 ỨNG DỤNG MOBILE 84

2.2.1 QUẢN LÝ ĐĂNG NHẬP 84

2.2.2 QUẢN LÝ SẢN PHẨM 88

2.2.3 QUẢN LÝ ĐƠN HÀNG 91

3 CÀI ĐẶT 95

3.1 MÔI TRƯỜNG PHÁT TRIỂN VÀ TRIỂN KHAI 95

3.1.1 Môi trường phát triển phần mềm 95

3.1.2 Môi trường triển khai 95

3.1.3 Yêu cầu phần mềm 95

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 96

Trang 14

1 KẾT LUẬN 96

2 HƯỚNG PHÁT TRIỂN 97

Trang 15

Danh mục hình vẽ

Hình 1 Sơ đồ kiến trúc hệ thống 39

Hình 2 Mô hình phân rã chức năng 41

Hình 3 Sơ đồ Use case 42

Hình 4 Sơ đồ luồng dữ liệu 62

Hình 5 Đăng nhập, đăng xuất và tạo tài khoản 63Hình 6 Thông báo 63

Trang 16

Danh mục giao diện

G IAO DIỆN 1 Đ ĂNG NHẬP ( WEB ) 78

G IAO DIỆN 2 H OME ( WEB ) 79

G IAO DIỆN 3 D ANH SÁCH SẢN PHẨM ( WEB ) 80

G IAO DIỆN 4 T HÊM SẢN PHẨM ( WEB ) 80

G IAO DIỆN 5 C ẬP NHẬT SẢN PHẨM ( WEB ) 81

G IAO DIỆN 6 D ANH SÁCH DANH MỤC SẢN PHẨM ( WEB ) 81

G IAO DIỆN 7 T HÊM DANH MỤC SẢN PHẨM ( WEB ) 82

G IAO DIỆN 8 C ẬP NHẬT DANH MỤC SẢN PHẨM ( WEB ) 82

G IAO DIỆN 9 D ANH SÁCH TÀI KHOẢN ( WEB ) 83

G IAO DIỆN 10 Đ ƠN HÀNG ( WEB ) 84

G IAO DIỆN 11 T HỐNG KÊ ( WEB ) 84

G IAO DIỆN 12 P LASH S CREEN ( MOBILE ) 85

G IAO DIỆN 13 ĐĂNG NHẬP ( MOBILE ) 86

G IAO DIỆN 14 T ẠO TÀI KHOẢN ( MOBILE ) 87

G IAO DIỆN 15 H OME (M OBILE ) 88

G IAO DIỆN 16 S ẢN PHẨM CÙNG DANH MỤC ( MOBILE ) 89

G IAO DIỆN 17 T ÌM KIẾM ( MOBILE ) 90

G IAO DIỆN 18 T HÔNG TIN SẢN PHẨM ( MOBILE ) 91

G IAO DIỆN 19 DANH SÁCH SẢN PHẨM TRONG ĐƠN HÀNG ( MOBILE ) 92

G IAO DIỆN 20 T HANH TOÁN THÀNH CÔNG ( MOBILE ) 93

G IAO DIỆN 21 H ÓA ĐƠN ( MOBILE ) 94

G IAO DIỆN 22 C HI TIẾT ĐƠN HÀNG ( MOBILE ) 95

Trang 17

Danh mục bảng

B ẢNG 1 DANH SÁCH ACTOR 42

B ẢNG 2 D ANH SÁCH U SE C ASE 43

B ẢNG 3 U SE C ASE ĐĂNG NHẬP 45

B ẢNG 4 U SE C ASE ĐĂNG XUẤT 46

B ẢNG 5 U SE C ASE TẠO TÀI KHOẢN 47

B ẢNG 6 U SE C ASE KIỂM TRA ĐĂNG NHẬP 48

B ẢNG 7 U SE C ASE TRA CỨU ĐỒNG HỒ 48

B ẢNG 8 U SE C ASE THÊM ĐỒNG HỒ 49

B ẢNG 9 U SE C ASE XÓA ĐỒNG HỒ 50

B ẢNG 10 U SE C ASE CẬP NHẬT THÔNG TIN ĐỒNG HỒ 51

B ẢNG 11 U SE C ASE THÊM DANH MỤC ĐỒNG HỒ 52

B ẢNG 12 U SE C ASE XÓA DANH MỤC ĐỒNG HỒ 52

B ẢNG 13 U SE C ASE CẬP NHẬT DANH MỤC ĐỒNG HỒ 53

B ẢNG 14 U SE C ASE QUẢN LÝ USER 54

B ẢNG 15 U SE C ASE XÓA USER 54

B ẢNG 16 U SE C ASE CẬP NHẬT THÔNG TIN USER 55

B ẢNG 17 U SE C ASE THÊM SẢN PHẨM VÀO GIỎ HÀNG 56

B ẢNG 18 U SE C ASE XÓA SẢN PHẨM TRONG GIỎ HÀNG 57

B ẢNG 19 U SE C ASE CHỈNH SỬA SẢN PHẨM TRONG GIỎ HÀNG 57

B ẢNG 20 U SE C ASE THANH TOÁN 58

B ẢNG 21 U SE C ASE QUẢN LÝ HÓA ĐƠN 59

B ẢNG 22 U SE C ASE NHẬN THÔNG BÁO 59

B ẢNG 23 U SE C ASE THỐNG KÊ 60

B ẢNG 24 P RODUCT 72

B ẢNG 25 U SER 72

B ẢNG 26 O RDER 73

B ẢNG 27 C ART 73

B ẢNG 28 C ATEGORY 74

B ẢNG 29 C OLLECTION 74

Trang 18

Tóm tắt báo cáo

- Tổng quan đề tài: đặt vấn đề, lý do chọn đề tài, mục tiêu và phạm vi tiếp cận đề tài.

- Tìm hiểu Golang.

- Tìm hiểu thực trạng, thị trường, khả năng phát triển của Golang.

- Nghiên cứu các tính năng, kiến trúc, cơ chế hoạt động của Golang.

- Tìm hiểu các cách để xây dựng ứng dụng bằng Golang.

- Trình bày kết luận và hướng phát triển.

Trang 19

Mở đầu

Ngày nay, sự thành công của doanh nghiệp phụ thuộc vào tính năng động, sáng tạo

và đặt ra vấn đề làm thế nào để cung cấp cho người dùng những trải nghiệm số tốt nhất.Truyền thông và xã hội càng phát triển càng đòi hỏi các nhà phát triển ứng dụng di độngphải quan tâm nhiều hơn đến định hướng tương lai của ngành công nghiệp di động Hơnnữa, việc làm chủ công nghệ mới và phát triển những giải pháp cho thế hệ tiếp theo củacác thiết bị di động cũng dự báo sẽ đầy thách thức

Để đạt được sự tăng trưởng tối đa và bền vững, mọi tổ chức phải tích hợp các công

nghệ phát triển ứng dụng di động mới nhất Theo báo cáo của Techaheadcorp.com, ngành

công nghiệp phát triển ứng dụng toàn cầu dự kiến sẽ tăng lên 6,3 nghìn tỷ USD vào năm

2021 và các ứng dụng dự kiến sẽ tạo ra doanh thu 935,2 tỷ USD vào năm 2023 Ứngdụng di động đang cải thiện trải nghiệm người dùng bằng cách nhanh chóng và thuậntiện

Trong thế giới phát triển web, sự nhanh nhẹn là một vị vua Các doanh nghiệp cóđược lợi thế cạnh tranh bằng cách các trang web và ứng dụng web của họ phát triểnnhanh hơn với ít chi phí và tài nguyên hơn Hơn nữa, họ không chỉ muốn phát triển webtheo yêu cầu nhanh chóng, nhu cầu cũng rất cao cho khả năng sử dụng tiên tiến và trảinghiệm người dùng liền mạch

Điều này đòi hỏi sự xuất hiện của các ngôn ngữ lập trình tiên tiến và chức năng hơn

để phát triển chức năng trang web, chẳng hạn như Golang

Trang 20

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1 NHU CẦU THỰC TẾ CỦA ĐỀ TÀI

Ngôn ngữ Go ban đầu được thiết kế và phát triển bởi một nhóm kĩ sư Google bao

gồm Robert Griesemer, Ken Thompson và Rob Pike vào năm 2007 Mục đích của việc

thiết kế ngôn ngữ mới bắt nguồn từ một số phản hồi về tính chất phức tạp của C++11

và nhu cầu thiết kế lại ngôn ngữ C trong môi trường network và multi-core

Vào giữa năm 2008, hầu hết các tính năng được thiết kế trong ngôn ngữ đượchoàn thành, họ bắt đầu hiện thực trình biên dịch (compiler) và Go runtime với RussCox là nhà phát triển chính Trước năm 2010, ngôn ngữ Go dần dần được hoàn thiện.Vào tháng 9 cùng năm, ngôn ngữ Go chính thức được công bố dưới dạng Open source.Ngôn ngữ Go thường được mô tả là "Ngôn ngữ tựa C" hoặc là "Ngôn ngữ C củathế kỉ 21" Từ nhiều khía cạnh, ngôn ngữ Go thừa hưởng những ý tưởng từ ngôn ngữ

C, như là cú pháp, cấu trúc điều khiển, kiểu dữ liệu cơ bản, thủ tục gọi, trả về, con trỏ,v,v , hoàn toàn kế thừa và phát triển ngôn ngữ C, hình bên dưới mô tả sự liên quan củangôn ngữ Go với các ngôn ngữ khác

Trang 21

Phía bên trái sơ đồ thể hiện tính chất concurrency của ngôn ngữ Go được pháttriển từ học thuyết CSP công bố bởi Tony Hoare vào năm 1978 Học thuyết CSP dầndần được tinh chế và được ứng dụng thực tế trong một số ngôn ngữ lập trình như

là Squeak/NewSqueak và Alef, cuối cùng là Go

Chính giữa sơ đồ cho thấy tính chất hướng đối tượng và đóng gói của Go được kếthừa từ Pascal và những ngôn ngữ liên quan khác dẫn xuất từ chúng

Phía bên phải sơ đồ cho thấy ngôn ngữ Go kế thừa và cải tiến từ C, Cũngnhư C, Go là ngôn ngữ lập trình cấp thấp, nó cũng hỗ trợ con trỏ (pointer) nhưng ítnguy hiểm hơn C

Việc khai thác sức mạnh của các bộ xử lý đa lõi và phần cứng thế hệ mới đối vớicác ngôn ngữ hiện có được xem như là việc không thể được Bởi những giới hạn vốn cócủa các ngôn ngữ lập trình trên máy tính như C, C++, Java, Bấy lâu nay, các vấn đề xử

lý đa lõi vẫn là chuyện của hệ điều hành

Google đưa ra ngôn ngữ Go như là một cách tiếp cận khác về vấn đề xử lý đa lõi.Thay vì chỉ có hệ điều hành được phép cấp tài nguyên và xử lý, thì các phần mềm cũng

có thể tương tác trực tiếp với nền tảng đa lõi giúp cho việc xử lý nhanh hơn

Trong thời buổi hiện nay, khi mà công nghệ phát triển, thương mại điện tử ngàycàng phát triển trên thế giới cũng như Việt Nam và dần khẳng định được vị thế củamình trong nền kinh tế thị trường Cùng với đó là sự ra đời của các ngôn ngữ lâptrình cho phép thiết kế và xây dựng các ứng dụng thương mại điện tử dưới nhiềuhình thức khác nhau Và một trong những ứng dụng của thương mại điện tử phổbiến ở nước ta là dịch vụ bán hàng qua mạng internet Dịch vụ này cho phép ngườidùng tìm kiếm chọn lựa sản phẩm để mua, thực hiện giao dịch mà không cần phảitrực tiếp đến cửa hàng, mà chỉ cần sử dụng một thiết bị máy tính có kết nối internet.Tuy nhiên hiện nay dịch vụ này vẫn còn khá mới với nhiều người tiêu dùng nước ta,đặc biệt là những người không có kiến thức về tin học nói chung và thương mạiđiện tử nói riêng Nên hiện giờ các đối tượng chính của thương mại điện tử vẫn chủ

Trang 22

yếu là tầng lớp tri thức và học sinh,sinh viên Là những người sinh viên, cũng cóchút kiến thức về tin học cũng như tiếp xúc với thương mại điện tử tuy nhiên đôi lúccũng gặp một số khó khăn trong việc mua bán trên các hệ thống bán hàng qua mạnghiện tại Như hình thức thanh toán, nhận hàng, chất lượng sản phẩm thực tế khôngđược như trên website Sản phẩm mà em hướng tới ởđây là đồng hồ, ngày nay nhu cầu làm đẹp của con người không chỉ dừng lại ở áoquần mà còn là những phụ kiện được đeo trên người và đồng hồ là một trong nhữngtrang sức hết sức phổ biến Nó mang lại cho người dùng vẻ đẹp sang trọng, quý pháicũng như thể hiện sự đẳng cấp cho người đeo

2 CÁC DỰ ÁN ĐỐI THỦ

Đúc kết từ các ưu nhược điểm từ các phần mềm đối thủ trên thị trường, nhóm đãthảo luận và rút ra một số tiêu chí phù hợp với khả năng cũng nhưng thời gian phát triển

dự án Bao gồm các tiêu chí sau:

- Người quản trị có quyền phân cấp cho các user

- Hiển thị danh sách các mặt hàng của cửa hàng để khách hàng xem, lựa chọn vàmua

- Sau khi khách hàng chọn và đặt hàng hàng trực tiếp thì phải hiện lên đơn hàng đểkhách hàng có thể nhập thông tin mua hàng và xem hoá đơn mua hàng

- Chức năng cập nhật, sửa, xoá các sản phẩm, danh mục

- Tiếp nhận kiểm tra đơn đặt hàng của khách hàng Hiển thị đơn đặt hàng

- Thống kê theo tháng/năm, khoảng thời gian

Ngoài các chức năng trên thì trang Web phải được thiết kế sao cho dễ hiểu, giaodiện mang tính dễ dùng đẹp mắt và làm sao cho khách hàng thấy được thông tin cần tìm,

Trang 23

Điều quan trọng là phải đảm bảo an toàn tuyệt đối thông tin khách hàng trong quá trìnhđặt mua qua mạng Đồng thời trang Web phải luôn đổi mới, hấp dẫn.

3 PHẠM VI ĐỒ ÁN

Vì phần đa nghiệp vụ của các ứng dụng bán đồng hồ đều gần giống nhau, nên môhình phần mềm này có thể được nhân rộng cho nhiều ứng dụng bán đồng hồ có mục đíchtương tự Sản phẩm này dành cho mọi đối tượng nhằm đáp ứng nhu cầu mua đồng hồ củangười dùng

Trong đồ án này, nhóm chỉ xây dựng một số chức năng của ứng dụng như sau:

1 Tạo và đăng nhập tài khoản

2 Phân quyền cho tài khoản

3 Quản lý thông tin tài khoản

4 Quản lý thông tin đồng hồ

5 Quản lý hóa đơn

6 Thống kê doanh thu

4 PHƯƠNG PHÁP NGHIÊN CỨU

Đồ án sử dụng các phương pháp nghiên cứu hướng đến thực tiễn để phát triển vàhoàn thiện ứng dụng:

– Phân tích, khảo sát hiện trạng về nhu cầu thực tế của người dùng bằng các tài liệukhảo sát và ứng dụng quản lý hiện có trên thị trường hiện nay

– Thu thập thông tin, tìm hiểu và nghiên cứu về các kỹ thuật, công nghệ cần thiết để

hỗ trợ cho việc xây dựng ứng dụng đáp ứng yêu cầu được đưa ra

– Xây dựng ứng dụng dựa trên những kỹ thuật và công nghệ trên, tiến hành kiểm thử

dự án song song với quá trình xây dựng ứng dụng

– Đánh giá và so sánh kết quả đạt được với mục tiêu ban đầu đưa ra Điều chỉnh vàkhắc phục các sự cố

– Hoàn thiện ứng dụng, tiến khành khảo sát, thu thập ý kiến, đánh giá của ngườidùng

Trang 24

5 CẤU TRÚC ĐỒ ÁN

Báo cáo này được trình bày với cấu khúc đồ án như sau:

- Chương 1: Giới thiệu tổng quan về đề tài, nghiên cứu các dự án hiện có trên hiệntrường, phạm vi nghiên cứu và phương pháp nghiên cứu

- Chương 2: Giới thiệu về các công nghệ, kỹ thuật ứng dụng trong đề tài xây dựng

và phát triển ứng dụng bán đồng hồ này

- Chương 3: Đưa ra các đặc tả yêu cầu và phân tích hệ thống, thiết kế các kiến trúc

và mô hình cần thiết cho toàn bộ hệ thống

- Chương 4: Trình bày tổng quan về ứng dụng bán đồng hồ, giới thiệu giao diện ứngdụng và cách cài đặt sử dụng ứng dụng

- Chương 5: Tổng kết về đồ án, nêu những việc đã đạt được qua quá trình xây dựng

và phát triển đề tài Bên cạnh đó nêu ra những thiếu sót của nhóm Từ đó đưa ra các giảiquyết và hướng phát triển tiếp theo cho ứng dụng bán đồng hồ

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

1 GOLANG

1.1 Giới thiệu về Golang

Trang 25

Ngôn ngữ lập trình Go, cũng thường được gọi là Golang, là một ngôn ngữ lậptrình được phát triển bởi một nhóm chuyên gia tại Google Cụ thể ngôn ngữ Golang đượchình thành vào tháng 9 năm 2007 bởi Robert Griesemer, Rob Pike và Ken Thompson.Sau đó Golang Lần đầu tiên được giới thiệu vào tháng 11 năm 2009 và phiên bản đầu tiêncủa nó được phát hành vào tháng 12 năm 2012 Trang web chính thức ngônngữ Golang là http://golang.org/ Ngôn ngữ Golang có một hình thái và ngữ nghĩa lậptrình riêng giúp nó đảm bảo hiệu suất làm việc mà vẫn mang lại những điều thú vị khiviết mã code Golang cũng cung cấp một bộ thư viện chuẩn khá toàn diện Thư việnchuẩn cung cấp tất cả các gói lập trình viên cốt lõi cần để xây dựng các chương trình,phần mềm hay cả ứng dụng web và ứng dụng quản trị mạng Golang cũng là một ngônngữ lập trình đồng bộ, được biên dịch có cú pháp khá cơ bản chủ yếu thuộc về họ ngônngữ C.

Ngôn ngữ lập trình Golang thực chất là một dự án mã nguồn mở được phát hànhdựa trên chứng chỉ BSD nhằm mục đích nâng cao hiệu suất làm việc dành cho các lậptrình viên Golang có cú pháp khá ngắn gọn, sạch sẽ và hiệu quả Go được biên dịchnhanh chóng sang mã máy nhưng vẫn có sự tiện lợi trong việc quản lý bộ nhớ cũng nhưhoạt động run-time Có thể nói Golang là một ngôn ngữ lập trình được biên dịch tĩnh rấtnhanh, cảm thấy giống như một ngôn ngữ kịch bản được biên dịch động

Trang 26

dữ liệu do người dùng định tự nghĩa trong Golang Khi tạo các kiểu dữ liệu của riêngvới struct, Chúng ta cần lưu ý rằng Golang không cung cấp hỗ trợ cho thừa kế trong hệthống kiểu dữ liệu của nó, nhưng nó ưu tiên thành phần của các kiểu cho phép bạn tạo cáckiểu dữ liệu lớn hơn bằng cách kết hợp các kiểu nhỏ hơn Triết lý thiết kế của Golang làtạo ra các thành phần lớn hơn bằng cách kết hợp các thành phần nhỏ và mô-đun hóa Nếubạn là một lập trình viên thực dụng, bạn sẽ đánh giá cao triết lý thiết kế của Golang bởiviệc kế thừa kiểu dữ liệu đôi khi đưa ra những thách thức thực tế liên quan đến khả năngbảo trì.

Trong thập kỷ qua, phần cứng máy tính đã phát triển mạnh mẽ giúp gia tăng số lõi cũngnhư nâng cao đột phá sức mạnh của CPU Ngày nay, chúng ta sử dụng nhiều nền tảngđám mây để xây dựng và chạy các ứng dụng, vì vậy các máy chủ trên đám mây có nhiềusức mạnh và quyền lực hơn Mặc dù vậy, chúng ta vẫn chưa thể tận dụng được toàn bộsức mạnh của chúng dựa trên hầu hết các ngôn ngữ và công cụ lập trình hiện có

Ngôn ngữ lập trình Golang ra đời cung cấp khả năng thực thi các chức năng độc lập vớinhau Các cơ chế đồng thời của nó giúp dễ dàng viết các chương trình tận dụng tối các

"lõi" trên CPU cũng như sức mạnh từ mạng máy tính Trong hệ thống kiểu mới của nócho phép xây dựng chương trình linh hoạt và mô đun hóa Một function được tạo đượcquản lý như một goroutine (một luồng thực thi – thread – được quản lý bởi Go-runtime),

nó được coi là một đơn vị công việc độc lập, được lên lịch và sau đó được thực thi trênmột bộ xử lý logic có sẵn Các Goroutine được tạo ra bằng cách gọi câu lệnh Go theo saubởi hàm hoặc phương thức mà bạn muốn chạy như một hoạt động tự điều hành Bộ lậplịch thời gian chạy Go là một phần mềm phức tạp quản lý tất cả các goroutine được tạo

và cần thời gian xử lý Trình lập lịch biểu nằm trên đầu của hệ điều hành, ràng buộc cácluồng của hệ điều hành tới các bộ xử lý logic mà khi đến lượt, nó sẽ tiến hành việc thựcthi các goroutine Bộ lập lịch kiểm soát tất cả mọi thứ liên quan đến các goroutine đangchạy trên đó bộ vi xử lý logic tại bất kỳ thời điểm nào

Các lĩnh vực ứng dụng Golang

Trang 27

Golang có thể ứng dụng trong nhiều lĩnh vực, như trong phát triển Web Backend, pháttriển ứng dụng mobile (với vai trò server), trong các hệ thống microservice hay ERP(Enterprise – Resource – Planning) Đối với phát triển Web server, Golang mang lạinhiều lợi ích so với Python hay Java như:

 Golang thật sự đơn giản và dễ tiếp cận với cả các lập trình viên hay tester

 Sử dụng các thuật toán biên dịch nâng cao, với Golang, chúng ta sẽ không cần càiđặt các dependencies từ server bởi vì Go đã liên kết tất cả các mô-đun cũng nhưcác dependenciesthành một file nhị phân

 Golang sử dụng các goroutine riêng biệt giúp tiết kiệm bộ nhớ và nâng cao hiệunăng cho ứng dụng

1.2 Tính năng nổi bật của Golang

Tiện lợi

Go được so sánh với các scripting language (ngôn ngữ kịch bản) như Python vớikhả năng đáp ứng nhiều nhu cầu lập trình phổ biến Một số tính năng này được tích hợpvào trong chính ngôn ngữ, chẳng hạn như “goroutines” là một hàm cho concurrency vàkiểu giống như behavior, ngoài ra các tính năng bổ sung được có sẵn trong các packagethư viện Go chuẩn, như http package của Go Giống như Python, Go cung cấp khả năngquản lý bộ nhớ tự động bao gồm việc garbage collection (dọn file rác)

Go biên dịch (compile) code ra nhị phân một cách nhanh chóng.

Trang 28

Các file executable được tạo bằng toolchain của Go có thể hoạt động độc lập mà không cần external dependencies mặc định Toolchain hỗ trợ cho nhiều hệ điều hành, hardware platform (chuẩn phần cứng của máy tính) khác nhau và có thể được sử dụng để biên dịch các chương trình nhị phân qua các nền tảng.

Khả năng tương thích

Go cung cấp tất cả những điều trên mà không bị mất quyền truy cập vào hệ thống bên dưới (underlying system) Phương mềm Go có thể liên kết với thư viện C bên ngoài hoặc thực hiện các lệnh call hệ thống native Ví dụ trong Docker, Go interface với các chức năng Linux low-level, cgroups và namespace , để hoạt động với container

Hỗ trợ

Toolchain Go có sẵn dưới dạng binary của Linux, MacOS hoặc Windows hoặc như

là một container trong Docker Go được đặt mặc định trong nhiều bản phát hành phổ biến của Linux, như Red Hat Enterprise Linux và Fedora, giúp cho việc triển khai Go source trở nên dễ dàng hơn đối với các nền tảng trên Go cũng hỗ trợ mạnh mẽ cho nhiều

development environment (môi trường phát triển) của bên thứ ba, từ Microsoft Visual Studio Code đến Komodo IDE của ActiveState

1.3 Áp dụng Golang vào xây dựng ứng dụng bán đồng hồ

Ngôn ngữ lập trình Golang thực chất là một dự án mã nguồn mở được phát hành dựatrên chứng chỉ BSD nhằm mục đích nâng cao hiệu suất làm việc dành cho các lập trìnhviên Golang có cú pháp khá ngắn gọn, sạch sẽ và hiệu quả Go được biên dịch nhanhchóng sang mã máy nhưng vẫn có sự tiện lợi trong việc quản lý bộ nhớ cũng như hoạt

động run-time Có thể nói Golang là một ngôn ngữ lập trình được biên dịch tĩnh rất nhanh,

cảm thấy giống như một ngôn ngữ kịch bản được biên dịch động Sử dụng Golang trongứng dụng này đem lại một số lợi thế nhất định như:

Trang 29

- Ngôn ngữ thông dịch: thực thi lệnh trực tiếp và tự do mà không cần biên dịch

trước chương trình sang lệnh ngôn ngữ máy

- Trình biên dịch Go: cung cấp các lợi ích bổ sung như có thể kiểm tra lỗi, triển

khai dễ dàng hơn và khả năng tối ưu hóa mã của lập trình viên để đạt hiệu quả

- Biên dịch chéo: khả năng biên dịch chéo ứng dụng để chạy trên một máy khác với

ứng dụng được sử dụng để phát triển

- Khả năng mở rộng: có nhiều tính năng tích hợp được thiết kế để xử lý nhiều tác

vụ cùng một thời điểm, đáng chú ý là tính năng Goroutines

2 VUE.JS

2.1 Giới thiệu Vue.js

Vue.js, gọi tắt là Vue là một framework linh động dùng để xây dựng giao diệnngười dùng (user interfaces - UI) Khác với các framework nguyên khối, Vue được thiết

kế từ đầu theo hướng cho phép và khuyến khích việc phát triển ứng dụng theo các bước.Khi phát triển lớp giao diện, người dùng chỉ cần dùng thư viện lõi (core library) của Vue,vốn rất dễ học và tích hợp với các thư viện hoặc dự án có sẵn Cùng lúc đó, nếu kết hợp

Trang 30

với những kĩ thuật hiện đại như SFC (single file components) và các thư viện hỗ trợ, Vuecũng đáp ứng được dễ dàng nhu cầu xây dựng những ứng dụng đơn trang (SPA - SinglePage Applications) với độ phức tạp cao.

Vue đã được tạo ra và phát triển bởi Evan You khi ông đang làm kỹ sư tại công tyGoogle Lúc Evan đang sử dụng Angular cho một số dự án khác thì đã có phát biểu rằng:

“Điều gì sẽ xảy ra như trích một phần mà mình thích về Angular rồi xây dựng thêm mộtcái gì đó nhẹ nhàng hơn mà không cần phải chú ý đến những khái niệm bổ sung” Đây làphát biểu được xem là bước đệm giúp cho Vue đã và đang có mặt tại thời điểm hiện tại

Vue đã được phát hành vào đầu năm 2014 và dự án này đã được tăng tải lên HackerNew,Echo Js ngay trong ngày đầu tiên ra mắt

2.2 Tính năng của Vue.js

Hỗ trợ cho giao thức lặp với v-for

Khi được triển khai, cho phép mọi loại đối tượng được lặp lại bằng cách sửdụng for of Hiện tại, v-forchỉ thị của Vue có thể lặp lại các mảng và các đối tượng đơngiản, nhưng không phải các đối tượng hoặc kiểu dữ liệu lặp lại khác

Mẫu đa gốc

Vue có một giới hạn trong đó các mẫu yêu cầu một nút gốc duy nhất

Refs phản ứng

Một khía cạnh thiết kế thiết yếu của các thành phần Vue là chúng phải được cách ly

và giao tiếp bằng các đạo cụ và sự kiện Tuy nhiên, đôi khi bạn cần một thành phần để cóthể biến đổi trạng thái của thành phần khác Sử dụng các ref, giúp cho một thành phầnthoát ra khỏi mô hình dữ liệu của thành phần khác Tuy nhiên, khi được truy cập qua ref,

mô hình dữ liệu của thành phần không phản ứng nên không thể xem hoặc đưa vào thuộc

Trang 31

Công cụ v-model

Sử dụng lệnh v-modelđể tạo liên kết dữ liệu hai chiều trên đầu vào biểu mẫu

Gói cho trình kết xuất tùy chỉnh

Trình kết xuất của Vue được mã hóa cứng cho các phần tử HTML, vì Vue ban đầuchỉ nhằm mục đích sử dụng trên web Ý tưởng của tính năng này là tách biệt trình kếtxuất HTML khỏi gói Vue chính

2.3 Áp dụng Vue.js vào xây dựng ứng dụng bán đồng hồ

Kích thước nhỏ gọn

Tỷ lệ thành công của JavaScript framework sẽ phụ thuộc vào kích thước của nó.Kích thước càng nhỏ thì công năng sử dụng càng nhiều, người dùng sẽ không mất thờigian để tải xuống và sử dụng

Dễ dàng để tìm hiểu và phát triển Ứng dụng

Nhờ cấu trúc đơn giản của vue.js, người dùng có thể dễ dàng thêm phần mềm vào

dự án website đang thực hiện của mình Cả hai mô hình quy mô nhỏ cũng như quy môlớn đều có thể được phát triển thông qua framework này, do đó tiết kiệm rất nhiều thờigian

Tích hợp đơn giản

Dễ dàng trong quá trình tích hợp với các ứng dụng hiện có Sự tiện lợi này xuất phát

từ vue.js được xây dựng dựa trên JavaScript framework và do đó, có thể tích hợp đượcvào các ứng dụng khác xây dựng trên JavaScript tương đối đơn giản

Vue có thể tạo cấu trúc project nhanh chóng

Nhờ vào command line interface

Tài liệu chi tiết

Trang 32

Các tài liệu liên quan đến Vue.JS đều rất đầy đủ và rất chi tiết, Bạn chỉ cần biết sơqua về JavaScript hay HTML là đã có thể phát triển các ứng dụng hoặc trang web củachính mình

Tính linh hoạt

Vue.JS còn cho phép người dùng viết mẫu trong các tệp HTML hay JavaScript sửdụng dựa vào các Node ảo Nó còn giúp cho các chương trình đơn giản chạy trực tiếp từtrình duyệt Nhờ tính năng linh hoạt này, mà nó còn giúp cho các nhà lập trình phát triểnthêm React.JS, Angular.JS và một số framework mới trong JavaScript có cấu trúc dễhiểu

Khả năng giao tiếp hai chiều

Nhờ có cấu trúc MVVM (Model-View-ViewModel) mà việc giao tiếp hai chiềuđược thực hiện dễ dàng trong quá trình xử lý các HTML block

Trang 33

3 FLUTTER

3.1 Giới thiệu Flutter

Flutter được Google giới thiệu là một người mới trong thế giới ứng dụng di động Làmột SDK mới của Google dành cho các thiết bị di động giúp developers và designers xâydựng nhanh chóng ứng dụng dành cho các thiết bị di động (Android, iOS) Flutter là dự án

mã nguồn mở đang trong giai đoạn thử nghiệm Flutter bao gồm Reactive framework vàcông nghệ hiển thị 2D (2D rendering engine)và các công cụ phát trển(development tool).Các thành phần này làm việc cùng nhau giúp ta thiết kế, xây dựng, test, debug ứng dụng.Không có gì ngạc nhiên khi Flutter giúp các nhà phát triển tạo ra các ứng dụng native đẹpmắt và giúp họ phát triển các ứng dụng đa nền tảng một cách dễ dàng

Kiến trúc high-level của Flutter

Trang 34

Khi chúng ta dùng Dart để viết một app Flutter thì tức là chúng ta đang dùng đếntầng Framework của kiến trúc (màu xanh lá).

Tầng Framework sẽ giao tiếp với tầng Engine (xanh dương) thông qua một lớp abstract gọi là Window Lớp abstract này sẽ cung cấp một tập các API để giao tiếp, một cách không trực tiếp, với thiết bị

Cũng thông qua lớp abstract này mà tầng Engine sẽ có hành động notify tầng Framework khi có các sự kiện sau:

 Cấu hình thiết bị thi thay đổi (orientation, setting, trạng thái chạy của ứng dụng…)

 Có tương tác của user với màn hình (gesture)

 Platform channel truyền dữ liệu lên tầng Framework

 Và phần lớn là khi tầng Engine sẵn sàng để render frame mới

Framework

Trang 35

Đây là lớp framework được xây dựng sẵn bởi Dart, trong đó có một số library điển hình

Thư viện này được xây dựng dựa trên các library gồm core dart

libraries và physics library

Trang 36

Một số lớp điển hình là TextPainter được sử dụng để painting text hay Decoration (hay cụ thể là BoxDecoration) để vẽ khung/hộp,

Rendering Tree là hệ thống layout cấp thấp (low-level) và painting được tổ chức dưới dạng Tree Object, với những object là lớp kế thừa của RenderObject

Widget được xây dựng theo dạng cây với những object là lớp kế thừa của RenderObject, cho nên cũng có thể nói widget là một dạng TreeObject Thông thường thì developer không cần phải làm việc trực tiếp với RenderObject mà sẽ làm việc thông qua widget

Widgets

Flutter Widget được xây dựng bởi Dart và lấy cảm hứng từ React

Trang 37

Widget có 2 dạng là StatefulWidget và StatelessWidget

Những kiến thức theo tôi nếu bạn đã có thì rất dễ để tiếp cận với Flutter widget

gồm: React Component, Dumb and Smart Component, FlexBox

Trang 38

Nhìn qua là có thể thấy, layer này có nhiệm vụ giao tiếp với các platform của thiết

bị ( Android, iOS, ) Tầng này giúp cho chương trình có thể chạy trên nhiều nền tảngnhư windows, linux, web,…

Engine

Đây là layer viết bằng C và C++, nó hỗ trợ cho việc rending ở tầng thấp bằng việc

sử dụng thư viện đồ hoạ Skia của Google, thực thi các core libary của Flutter bao gồm :

Ngoài ra nó còn có nhiệm vụ giao tiếp với các platform SDKs của Android vàiOS

1.2 Những tính năng nổi bật của Flutter

Một số tính năng nổi bật của Flutter như:

- Phát triển ứng dụng nhanh chóng: Tính năng hot reload của Flutter giúp bạn nhanhchóng và dễ dàng thử nghiệm, xây dựng giao diện người dùng, thêm tính năng và sửa lỗinhanh hơn Trải nghiệm tải lại lần thứ hai, mà không làm mất trạng thái, trên emulator,simulator và device cho iOS và Android

- UI đẹp và biểu cảm: Thỏa mãn người dùng của bạn với các widget built-in đẹpmắt của Flutter theo Material Design và Cupertino (iOS-flavor), các API chuyển độngphong phú, scroll tự nhiên mượt mà và tự nhận thức được nền tảng

- Framework hiện đại và reactive: Dễ dàng tạo giao diện người dùng của bạn vớiframework hiện đại, reactive của Flutter và tập hợp các platform, layout và widget phongphú Giải quyết các thách thức giao diện người dùng khó khăn của bạn với các API mạnh

mẽ và linh hoạt cho 2D, animation, gesture, hiệu ứng và hơn thế nữa

- Truy cập các tính năng và SDK native: Làm cho ứng dụng của bạn trở nên sốngđộng với API của platform, SDK của bên thứ ba và native code Flutter cho phép bạn sửdụng lại mã Java, Swift và ObjC hiện tại của mình và truy cập các tính năng và SDKnative trên iOS và Android

Trang 39

- Phát triển ứng dụng thống nhất: Flutter có các công cụ và thư viện để giúp bạn dễdàng đưa ý tưởng của mình vào cuộc sống trên iOS và Android Nếu bạn chưa có kinhnghiệm phát triển trên thiết bị di động, thì Flutter là một cách dễ dàng và nhanh chóng đểxây dựng các ứng dụng di động tuyệt đẹp Nếu bạn là một nhà phát triển iOS hoặcAndroid có kinh nghiệm, bạn có thể sử dụng Flutter cho các View của bạn và tận dụngnhiều code Java / Kotlin / ObjC / Swift hiện có của bạn.

1.3 Áp dụng Flutter vào xây dựng ứng dụng bán đồng hồ

Flutter là một SDK của Google dành cho mobile app, là sự kết hợp của mộtframework, widgets và tools, giúp cho lập trình viên có thể xây dựng giao diện mobileđẹp hơn, dễ dàng hơn trên cả 2 nền tảng IOS và Android Sử dụng Flutter trong ứng dụngnày đem lại một số lợi thế nhất định như:

- Biên dịch nhanh: khi dùng Flutter có thể thay đổi code của mình và hoàn toàn có

thể xem kết quả trong thời gian thực giúp tang năng suất tối đa

- Nhanh chóng hiện thực hóa ý tưởng: khi làm việc trên Fltutter tiết kiệm được thờigian nên sớm hoàn thành sản phẩm

- Giao diện đẹp: có thể dễ dàng sử dụng các tiện ích do Flutter cung cấp, để tạo UI

có giá trị hơn ta cá nhân hóa nó

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

1 MÔ TẢ LẠI ĐỀ TÀI

Bài toán được đặt ra ở đây là xây dựng một ứng dụng bán đồng hồ dành cho mọingười dùng có nhu cầu mua đồng hồ một cách dễ dàng và thuận tiện nhất Bao gồm một

số chức năng như sau:

1 Tạo và đăng nhập tài khoản

Trang 40

2 Phân quyền cho tài khoản.

3 Quản lý thông tin tài khoản

4 Quản lý thông tin đồng hồ

5 Quản lý hóa đơn

6 Thống kê doanh thu

2 KIẾN TRÚC HỆ THỐNG

Hình 1 Sơ đồ kiến trúc hệ thống

3 MÔ HÌNH PHÂN RÃ CHỨC NĂNG

Mô hình phân rã chức năng cho phép xác định phạm vi các chức năng được xây dựng

và phát triển trong ứng dụng, cho phép người sử dụng có một cái nhìn tổng thể về các

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

HÌNH ẢNH LIÊN QUAN

Sprint 2: Tìm hiểu các mô hình, công nghệ , kỹ thuật để áp dụng vào hệ thống - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
print 2: Tìm hiểu các mô hình, công nghệ , kỹ thuật để áp dụng vào hệ thống (Trang 5)
Sprint 2: Tìm hiểu các mô hình, công nghệ , kỹ thuật để áp dụng vào hệ thống - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
print 2: Tìm hiểu các mô hình, công nghệ , kỹ thuật để áp dụng vào hệ thống (Trang 8)
Danh mục hình vẽ - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
anh mục hình vẽ (Trang 10)
Bạn có thể thu gọn layer này như hình bên dưới: - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
n có thể thu gọn layer này như hình bên dưới: (Trang 29)
4. MÔ HÌNH USE CASE 4.1SƠ ĐỒ USE CASE - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
4. MÔ HÌNH USE CASE 4.1SƠ ĐỒ USE CASE (Trang 36)
Bảng 1 danh sách actor - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 1 danh sách actor (Trang 37)
Bảng 3 Use Case đăng nhập - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 3 Use Case đăng nhập (Trang 40)
Bảng 6 Use Case kiểm tra đăng nhập - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 6 Use Case kiểm tra đăng nhập (Trang 43)
Bảng 8 Use Case thêm đồng hồ - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 8 Use Case thêm đồng hồ (Trang 44)
Bảng 9 Use Case xóa đồng hồ - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 9 Use Case xóa đồng hồ (Trang 45)
Bảng 11 Use Case thêm danh mục đồng hồ - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 11 Use Case thêm danh mục đồng hồ (Trang 47)
Bảng 13 Use Case cập nhật danh mục đồng hồ - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 13 Use Case cập nhật danh mục đồng hồ (Trang 48)
Bảng 14 Use Case quản lý user - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 14 Use Case quản lý user (Trang 49)
Bảng 16 Use Case cập nhật thông tin user - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 16 Use Case cập nhật thông tin user (Trang 50)
Bảng 20 Use Case thanh toán - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 20 Use Case thanh toán (Trang 53)
Bảng 21 Use Case quản lý hóa đơn - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 21 Use Case quản lý hóa đơn (Trang 54)
Bảng 23 Use Case thống kê - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Bảng 23 Use Case thống kê (Trang 55)
Hình 5 Đăng nhập, đăng xuất và tạo tài khoản - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 5 Đăng nhập, đăng xuất và tạo tài khoản (Trang 56)
Hình 7 Tìm kiếm đồng hồ - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 7 Tìm kiếm đồng hồ (Trang 57)
Hình 8 Giỏ hàng - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 8 Giỏ hàng (Trang 58)
Hình 9 Thanh toán - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 9 Thanh toán (Trang 59)
Hình 10 Đăng nhập, đăng xuất và tạo tài khoản - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 10 Đăng nhập, đăng xuất và tạo tài khoản (Trang 60)
Hình 11 Hệ thống quản lý - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 11 Hệ thống quản lý (Trang 61)
Hình 13 Quản lý sản phẩm - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 13 Quản lý sản phẩm (Trang 62)
Hình 14 Quản lý danh mục đồng hồ - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 14 Quản lý danh mục đồng hồ (Trang 63)
Hình 16 Thống kê - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
Hình 16 Thống kê (Trang 64)
User Bảng người dùng - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
ser Bảng người dùng (Trang 66)
Order Bảng thanh toán - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
rder Bảng thanh toán (Trang 67)
Category Bảng danh mục đồng hồ - Xây dựng website và app bán đồng hồ sử dụng flutter và golang
ategory Bảng danh mục đồng hồ (Trang 68)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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