1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án cơ sở 3 Đề tài xây dựng ứng dụng về shop thực phẩm

74 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 74
Dung lượng 9,33 MB

Nội dung

Dart là một ngôn ngữ được tối ưu hóa cho các lập trình viên để phát triển ứng dung nhanh trên mọi nền tảng.. Mục tiêu của nó là cung cấp một ngôn ngữ lập trình hiệu quả nhất dé phát triể

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ

TRUYÉN THÔNG VIỆT - HÀN KHOA KY THUAT MAY TINH & ĐIỆN TỬ

Giảng viên hướng dẫn : Ths TRAN THU THUY

Ths PHAN PHAM THI MY LY

Da nang, thang 5 nam 2024

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ

TRUYÉN THÔNG VIỆT - HÀN KHOA KY THUAT MAY TINH & ĐIỆN TỬ

VU

ĐỎ ÁN CƠ SỞ 3

ĐÈ TÀI: XÂY DỰNG ỨNG DỤNG VẺ

SHOP THUC PHAM

Giảng viên hướng dẫn : Ths TRAN THU THUY

Ths PHAN PHAM THI MY LY

Da Nang, thang 5 nam 2024

Trang 3

NHAN XÉT CỦA GIÁO VIÊN HUONG DAN

Ký tên

Trang 4

LỜI CÁM ƠN

Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày

tỏ lòng biết ơn đến nhà trường và tất cả các thầy cô đã tạo điều kiện hỗ trợ, giúp đỡ

em trong suốt quá trình học tập và thực hiện Đồ án cơ sở 3 lần này Trong suốt thời gian ter khi bắt đầu học tập tại trường đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô và bạn bè

Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Khoa Kỹ Thuật Máy Tính và Điện Tử đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường Nhờ có sự hướng dẫn, dạy bảo của các Thầy Cô nên

Đồ án cơ sở 3 của em mới có thể hoàn thành thuận lợi

Một lần nữa, em xin chân thành cảm ơn cô Trần Thu Thủy, cô Phan Phạm Thị My Ly - người đã trực tiếp giúp đỡ, quan tâm, hướng dẫn em hoàn thành tốt Đồ

án co so 3 trong thoi gian qua

Bài báo cáo được thực hiện trong khoảng thời gian ngắn Bước đầu đi vào thực tế của nhóm em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếu sót, chúng em rất mong nhận được những ý kiến đóng góp quý báu của quý

Thay C6 dé kiến thức của chúng em trong lĩnh vực nảy được hoàn thiện hơn đồng thời có điêu kiện bô sung, nâng cao ý thức của minh

Sinh viên chịu trách nhiệm chính

(

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

Nguyễn Hữu Dũng

Trang 5

MỤC LỤC

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 52 222222 22211222211.221 2

909.009 0 a.a 5 i

"180/905 2 ẮẶỪm,Ừ ll M.9080)/00/98:7 90c ố iii

DANH MỤC HÌNH 52222 22122211221122111211121112111211122112211121211221121221 xe V N90 '‹‹4I vi

Chuong 1 = TONG QUAN oeececcccccscccecsssssesecsecesesseeseeseeseessscsesesseessesssstesseesietinsessnsensecees 1 11 Dat VAIN A eee ccc ccc eeceeeeeseeeecseeecsseecsseessnecsnnecsneesnsecsusecsunsessiecsesesuseceneeeeteen 1 PA Ly do chon 46 dắăẳỶÝỶÝỶ 1 13 Thông tin về các công cụ thực hiện 2 2 22122112211 221121 1112221158111 12 8111 ty 1 "ma IAA 2

"- : ma 6

FFqddqiiiiiddddiáiảad 11

lAO 11

»-'.ˆ (“ HẠ1äẽ 12 1.3.6 Hệ quản trị cơ sở đữ liệu À4WSCL, cà ST SH HH Hye 13 14 Kết luận Ji019015100000777 .Ả 15 Chương2 PHAN TÍCH VÀ THIẾT KẾ HỆ THÓNG -2- 2 2222222222222 16 2.1 Mô tả bài tOán Q.2 221 1211211221111521 2 1151181111111 2 121 1H H1 HH He 16 2.2 Biểu đồ use case tông quát 5.51 tt 2112112112121211 21211212121 ru 16 2.3 DAC ta USE CASE ieee ee cccccececcaussttesseeececcccceeceeuteeessssseceeecauececseuueccuaueesesauerceeeans 17 PS NH1 1 4 nan e5 17

PC ĐH 1 1 an nổ n6 ./(+ 18

2.3.3 De case quản lý danh mục sản phẩằ SE nen 19 2.3.4 Use case quản lý sản phẩm 255 5 S2 2211211221222 a 21 2.3.5 Use case quản lý đơn đặt hÀH c TT HH HH HH tr 27 2.3.6 se case quản lý tài khoản cá HhẬH ST HH HH ng 28 2.3.7 se case quản lý giỏ hằHG cà cccc HT HH H11 H1 tk re ro 30 PT 1 1 .n nnẽa4 32

“ăn: na 34

P May dung co va na 35

2.5.1 Xác định các thực thể cS HH HH 35 2.5.2 Mô tả chỉ tiết các bẩng cc TS TH1H 1212121 1111 35 2.5.3 Mô hình DIAGÑAM Ă Q2 S2 21H HH HH na 44 2.6 _ Tổng kết chương 2 - s1 2E 2112111121121 2112112112121 11 2u 45 Chương3 XÂY DỰNG ỨNG DỤNG 01120 12121 n1 ryu 46 E no an rHớớÁÁáÁ<aiidd^' 46

3.2 _ Tổng kết chương 3 52-21 122 121112121111 1121121121 12120122112 ra 60 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN -5:-2222:222222222211222211222212222 2 ee 61 KG Wat 61

Hướng phát triỂn +5 S911 511211111211 111111211 1111211121 112211 111tr re 61

Trang 6

DANH MỤC BẢNG

Trang Bảng 2.1: Use case đăng nhập c0 2022211211121 1121 12 111 111211012 11111111111 11110111 xe 18

Bang 2.3: Use case thêm danh mục G22 22222211211 121 12 212 11181111 11111113 1111111221 xe2 20 Bảng 2.4: Use case sửa danh mục 2 1221211121122 112111011511 1111 1111111111111 118k ra 20 Bảng 2.5: Use case xóa danh mục - c2 2211211221121 1 12111111111 2211 2 1110112111111 1 11 ke 21 Bang 2.6: Use case thêm sản phẩm 2-52 1 1EE1821211211111112111121 211211221 1g 22 Bang 2.7: Use case sửa sản phẩm 52-5 SE SEEE1111211 1121111211122 112 re 23 Bảng 2.8: Use case xóa sản phẩm 5-5 n1 E11 1211212112111 111211121212 ca 24 Bảng 2.9: Use case tìm kiếm sản phẩm 5 S12 2111121111211 11211 1111212111111 ng 25 Bảng 2.10: Use case xem sản phẩm 2-5 2 1E EE121121121111111 1211121212111 n re 25 Bảng 2.11: Use case đánh giá sản phẩm - 5 S1 1E E271 1211212111122 t0 26 Bang 2.12: Use case thêm vào danh sách yêu thích - ¿+ 2 2221222211122 12222112252 26 Bảng 2.13: Use case xem chỉ tiết đơn hàng - 55 11 1 12211121121111212111 21x xe 27 Bảng 2.14: Use case hủy đơn đặt hàng L0 2211211121112 12011 191111111111111 111 1E se, 28 Bang 2.15: Use case chỉnh sửa thông tin tài khoản 5c 2c 2222122211132 12 12221 xx 29 Bảng 2.16: Use case thêm sản phẩm vào giỏ hàng 52 9E E1 1211271211112 6 31 Bảng 2.17: Use case xóa sản phẩm khỏi giỏ hàng 52-52 S5 1E E21 1221212112122 31 Bảng 2.18: Use case xem g1ỏ hảng - 12c 120122211211 1211221 1111111111111 1110111111111 1x xe2 31 Bảng 2.19: Use case thanh toán - 0 201121121112 111211211 11111111111 1111101111 HH ng kg 33 Bảng 2.20: Bảng các thực thê 55c T 11211 1111212111121 111221 1210012211 r 35 Bảng 2.21: Bảng quản lý tài khoản khách hàng - 5c 2c 2222222211221 1 1321112222112 252 36 Bảng 2.22: Bảng quản lý loại sản phẩm 55 + 11 EE121121121111111 1.2121 2111rag 36 Bảng 2.23: Bảng quản lý thương hiệu sản phẩm 2 5-21 S2 SE E1 1712112111222 6 37 Bảng 2.24: Bảng quản lý loại hàng sản phẩm 52-52 1S 1E 9112111112121 11 yeu 37 Bảng 2.25: Bảng quản lý sản phẩm -2 1 S1 2E 1111212711121121112121 121 ere 38 Bảng 2.26: Bảng quan ly nutf1tIOH c2 2212211121111 1151 112211011181 111111111111 1118 111 ke 38 Bảng 2.27: Bảng quản lý ảnh 12 22012211221 1221 11111111151 111 111111 1111111111118 11g se 39 Bảng 2.28: Bảng danh sách đánh I1á 2 22 222122211211 1211121 1111111112112 01 11812111181 s2 39 Bảng 2.29: Bảng quản lý danh sách yêu thích 2 2 2122211211121 132111111512 221 2k2 40

Trang 7

Bảng 2.30: Bảng quản lý p1ỏ hàng., 020 121122111211 1211121 1111111111111 111 1111111221112 ke 40 Bảng 2.31: Bảng quản lý đặt hàng 5 - 2 22 22111211 121121 11211112111 121111111 11118211 kg 41 Bảng 2.32: Bảng quản lý đặt hàng 2 22122111211 1211211 11111 12111111111111 11118811 kg 42 Bảng 2.33: Bảng danh sách địa chỉ - 0 2022011211 2211 12112111211 12111 118211111111 12 11111 kg 42 Bảng 2.34: Bảng quản lý promo_ code c1 121112112111 111121 1101111111111 11 18g11 kg 43 Bảng 2.35: Bảng quản lý thông báo - L1 012211211 1211111 11111111 2011111 1112111111111 kka 43 Bảng 2.36: Bảng quản lý ofÍer 2 2 2 120122112211 12111111211111 1111111120110 111111112251 44

Trang 8

DANH MỤC HÌNH

Hình 2.1: Biểu đồ use case tổng quát +5 5121221 1921211271211 xe

Hinh 2.2: se case đăng nhập 0 20 2221221221222 12118122 xe

Hinh 2.3: se case đăng ký 0 1 n1 2 HH H201 1111111 212 nay

Hình 2.4: Use case quản lý danh mục sản phẩm - 2-5 sec ss2

Hình 2.5: Use case quản trị viên quản lý sản phẩm - 52552

Hình 2.6: Use case khách hảng quản lý sản phâm - - 52522552

Hinh 2.7: Use case quan lý đơn đặt hàng - 2c 222222 sxses

Hinh 2.9: Use case quan lý s1ỏ hàng 2 22 221122122212 12 tra

Hinh 2.10: Use case thanh toán .- - c2 n1 11912111212 1121211111211 mg

Hinh 2.12: Mô hình diagram cơ sở đữ liệu - 5222 2222 22x°2

Hình 3.1: Giao diện mở đầu 25+-2222t12222122222122221 1 re

Hinh 3.2: Giao diện chọn cách đăng nhập - 2 2222222 2xs+s

Hinh 3.3: Giao diện nhập mã xác nhận - 2 2222222222222 222+zx

Hinh 3.4: Giao diện chọn địa chỉ - s11 S11 SH SH nn SE ng ng 2xx

Hinh 3.5: Giao diện đăng nhập vào ứng dụng 2c 222cc

Hinh 3.6: Giao diện đăng ký tài khoản 2c 2c 22c e2

Hình 3.7: Giao diện trang chủ c2 2222112211221 1211 5511112151 21xe2

Hình 3.8: Giao diện các thực phẩm của shop + 52 sczczzczczzxez

Hinh 3.9: Giao diện phân loại thực phẩm ¬

Hinh 3.10: Giao diện ø1ỏ hàng - 2 0 222221121122 1 121115111 512111 11x

Hinh 3.11: Giao diện thanh toán 2202211111111 111kg

Hinh 3.12: Giao diện thanh toán thành công .- 2 222222 22xs>s

Hinh 3.13: Giao diện thực phâm yêu thích -.- 22-2222

Hinh 3.14: Giao diện tài khoản Q00 0002226122111 11 111111 cy

Trang 9

MỞ ĐẦU

1 Giới thiệu

Thế kỷ XXI, xã hội đề cao tầm quan trọng và sự kết nối của Khoa học, Kỹ thuật

và Công nghệ ngày càng phát triển Đời sống con người ngày càng được nâng cao Công nghệ thông tin dần phát triển hiện đại hơn, cuộc sống con người ngày cảng được đơn giản hoá trên mọi lĩnh vực cùng như trong lĩnh vực quản ly xã hội Hiện nay do quy mô, tính phức tạp của công việc ngày cảng cao nên việc xây dựng hệ thống thông tin quản lý không chỉ là việc lập trình mà phải xây đựng một cách có hệ thông Nhận biết được sức mạnh của cộng nghệ càng tăng cao nên em đã quyết định chọn

đề tai “XAY DỰNG ỨNG DỤNG VÈẺ SHOP THỰC PHẨM” với mong muốn đưa

công nehệ thông tin vào việc bán thực phẩm trực tiếp thành trực tuyến dé moi HĐƯỜI Ở mọi nơi đều có thê biệt đên và phé thăm

2 Mục tiêu của đề tài

- _ Xây dựng một ứng dụng trên điện thoại di động với giao dién than thiện với người dung, dé sur dung

- _ Các danh mục được thiết kế rõ ràng øiúp người dùng dễ dảng truy cập

- _ Nghiên cứu công cụ thực hiện: Dart, Node JS, Express JS, Framework Flutter,

và hệ cơ sở dit ligu MySQL dé luu trữ dữ liệu hệ thống

3 Nội dung và kế hoạch thực hiện

- Khao sat hệ thống

- _ Tham khảo các ứng dụng tương tự

- _ Từ quá trình khảo sát, phân tích và đưa ra bảng các chức năng chính của hệ thống

và phân tích chi tiết từng chức năng xây đựng ứng dụng

- _ Sử dụng biêu đồ UML để mô tả các chức năng sản phẩm:

+ Biều đồ các use case

+ Biểu đồ lớp

- _ Xây dựng cơ sở dữ liệu

Trang 10

- _ Phân tích thiết kế chương trình

4 Bồ cục báo cáo

Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau: Chương 1 Tổng quan

Trong chương này, báo cáo trình bày các khái niệm, đặc điểm về ứng dụng

Chương 2 Phân tích thiết kế hệ thông

Trong chương này hệ thống được phân tích thiết kế theo hướng đối tượng bằng các biểu đồ như biểu đồ ca sử dung, class diagram, co so dir liéu,

Trang 11

Chuong1 TONG QUAN 1.1 Đặt vấn đề

Việc bán hàng dường như là một việc gi do hết sức bình thường và luôn được diễn

ra hằng ngày Shop thực phẩm cũng vậy dường như bán hàng trực tiếp là một nguồn thu nhập chủ yếu và chỉ những người biết đến cửa hàng từ lời giới thiệu hay ở gần đó mới có thể biết đến cửa hàng Vậy làm thế nào để những người ở xa và chưa từng đặt chân tới đây có thể biết đến cửa hàng? bán online là câu trả lời có thể giải quyết được vấn đề đặt

ra ở đây

1.2 Lý do chọn đề tài

Trong những năm gần đây, nền công nghệ thông tin của nước ta đã có phát triển trên mọi lĩnh vực trong cuộc sống cũng như trong lĩnh vực quản lý xã hội khác Một trong những lĩnh vực mà máy tính được sử dụng nhiều nhất là các hệ thống thông tin quản lý nói chung Tuy nhiên, hiện nay do quy mô, tính phức tạp của công việc ngày cảng cao nên việc xây dựng hệ thông thông tin quản lý không chỉ là việc lập trình đơn giản mà phải xây dựng một cách có hệ thông

Trong thời gian học tập tại Trường đại học Công nghệ thông tin và truyền thông Việt — Hàn nhận biết được sự cần thiết đó, em đã quyết tâm làm đồ án cơ sở ba với đề tài

“XÂY DUNG UNG DUNG VE SHOP THUC PHAM?” để giúp cho việc buôn bán của

cửa hàng thuận lợi hơn, góp phần thúc đây thu nhập của cửa hàng

1.3 Thông tin về các công cụ thực hiện

- _ Tìm hiểu về các ngôn ngữ và công nghệ lập trình ứng dụng: Dart và Framework Flutter, Javascript, Nodejs va Framework Express JS

- Sử dụng các công cụ hỗ trợ trong quá trình xây dựng sản phẩm như: MySQL, Phpmyadmin, Visual Studio Code

Trang 12

1.3.1 Dart

> Dart la gi?

Dart là một ngôn ngữ được tối ưu hóa cho các lập trình viên để phát triển ứng dung nhanh trên mọi nền tảng Mục tiêu của nó là cung cấp một ngôn ngữ lập trình hiệu quả nhất dé phát triển đa nền tảng, kết hợp với nên tảng thời gian chạy thực thi linh hoạt cho các ứng dụng

Dart được thiết kế để trở thành một thay thế cho JavaScript, ngôn ngữ lập trình được

sử dụng rộng rãi nhất cho phát triển web Tuy nhiên, Dart cũng có thê được sử dụng để phát triển các ứng dụng di động và máy tính để bàn

Một trong những lợi thế lớn nhất của Dart là tốc độ Dart được biên dịch thành mã máy, điều này có nghĩa là nó có thê chạy nhanh hơn nhiều so với JavaScript, vốn phải được thông dịch Điều này làm cho Dart trở thành một lựa chọn tuyệt vời cho các ứng dụng yêu cầu hiệu suất cao

Dart cũng được thiết kế để đễ học và sử dụng, ngay cả đối với những lập trình viên mới bắt đầu Cú pháp của Dart tương tự như nhiều ngôn ngữ lập trình khác, chăng hạn như Java và C#, vì vậy những lập trình viên đã quen thuộc với những ngôn neữ đó sẽ cảm thấy thoải mái khi bắt đầu với Dart

Ngoài ra, Dart còn đi kèm với một số công cụ và thư viện hữu ích, chẳng hạn như công cụ phát triển phần mềm tích hợp (IDE) và khung công tác (framework) để giúp lập trình viên nhanh chóng và đễ dàng xây dựng các ứng dụng

Tóm lại, Dart là một ngôn ngữ lập trình hiện đại, mạnh mẽ và linh hoạt, lý tưởng cho bat kỳ lập trình viên nào muốn xây dựng các ứng dụng web, di động và máy tính đề bàn

hiệu suât cao

> Lịch sử phát triển của Dart?

Dart là một ngôn ngữ lập trình được phát triển bởi Google và lần đầu tiên được giới thiệu vào tháng 10 năm 2011 Ngôn ngữ này được thiết kế để trở thành một thay thế cho JavaScript, ưu tiên cả phát triển (tải lại nóng có trạng thái dưới giây) và trải nghiệm sản xuất chất lượng cao trên nhiều mục tiêu biên dịch khác nhau (web, di động và máy tính

dé ban)

Trang 13

Dart duoc tao ra dé giải quyết một số hạn chế của JavaScript Ban đầu, nó được thiết

kế để trở thành một ngôn ngữ lập trình tổng quát có thể được sử dụng cho cả phát triển máy khách và máy chủ Tuy nhiên, trone những năm gân đây, Dart đã trở thành một ngôn noữ được ưu tiên cho phát triển máy khách, đặc biệt là cho web và ứng dụng di động Trong những năm đầu tiên sau khi phát hành, Dart chưa nhận được sự đón nhận rộng rãi Một số nhà phát triển lo ngại rằng nó có thế trở thành một ngôn ngữ khác biệt va không tương thích với các ứng dụng hiện có Tuy nhiên, Google tiếp tục đầu tư vào Dart

và phát triển nó

Năm 2013, Google phát hành phiên bản 1.0 của Dart, đánh dấu một cột mốc quan trọng tronø sự phát triển của ngôn ngữ

Năm 2015, Google phát hành Flutter, một khuôn khổ phát triển ứng dụng di động sử

dụng Dart Với Flutter, các nhà phát triển có thể sử dụng Dart để xây dựng các ứng dụng

di động chạy trên cả iOS và Android Điều này đã giúp tăng cường độ phố biến của Dart

và khiến nó trở thành một lựa chọn hấp dẫn cho phát triển ứng dụng di động

Ngày nay, Dart được sử dụng bởi một số công ty và dự án lớn, bao gồm Google Ađs, Fuchsia va Flutter Dart tiếp tục phát triển và trở nên phô biến hơn trong cộng đồng phát triển phần mềm Với sự đầu tư liên tục của Google và sự ra đời của các công cụ và khuôn khổ mới, Dart đã dần trở thành một ngôn ngữ lập trình hiện đại và mạnh mẽ

> Cua phap cua Dart?

o Ham main ():

Hàm main () là hàm khởi chạy chương trình được định nghĩa sẵn trong Dart Đây là hàm quan trọng nhất và bắt buộc phải có trong mọi chương trình được viết bằng ngôn ngữ Dart Trong hàm main (), lập trình viên có thể khai báo biến, định nghĩa các hàm và khai báo các lệnh thực thị của chương trình

void main() { print('Hello, World!');

o Bién:

Dart hé trợ các kiểu dữ liệu của biến như những ngôn ngữ lập trình khác:

Trang 14

Data Type Keyword Description Numbers int, double, num It represents numeric values Strings String It represents a sequence of characters Booleans bool It represents Boolean values true and false Lists ist It is an ordered group of Items Maps Map [tT represents a set of values as key-value pairs Sets Set It is an unordered list of unique values of same types Runes runes It represents Unicode values of String Null null It represents null value

Biên:

String name = "John";

String address = "USA";

int age = 20;

double height = 5.9;

num xX = 18;

bool isMarried = false;

Cau trac ham:

<Kiêu đữ liệu> <Tên hàm> (biến tham số (nếu có)) { các câu lệnh }

Hoặc

Nguyễn Hữu Dũng - 22NS

Trang 15

bool isNoble(int atomicNumber) => nobleGases[atomicNumber] != null;

/// Use the locale from the preview context, so that the app's localization

/// matches the preview's configuration

Sit +++ Hecate: _pevicePrevientecateteontext};

/// Use the app builder from the preview, so that it can handle things like /// the frame that surrounds the app on web and desktop

tif

{//fbeilder: pevicePreview appduilder,

title: ‘Flutter Demo", debugShowCheckedModeBanner: false,

home: const HomeInterface(),

> Dart có những đặc điểm nào?

Dart là một ngôn ngữ an toàn Nó sử dụng tính năng kiểm tra kiểu tinh dé dam bao rằng giá trị của biến luôn khớp với kiêu tĩnh của biến Hệ thống đánh chữ của Dart cũng rất linh hoạt, cho phép sử dụng loại dữ liệu dynamic với kiểm tra thời gian chay, diéu nay

có thê hữu ích trong quá trình thử nghiệm, test chương trình hoặc đối với các code đặc biệt cần sử dụng kiêu dữ liệu động

Dart co tich hop mét cai goi 1a “built-in sound null safety” Co nghia la cac bién khai báo không thê null trừ khi bạn muốn chúng như vậy Với tính năng trên, Dart c6 thé bao

vệ bạn khỏi các null exceptions trong thời gian chạy thông qua phân tích mã Không giống như nhiều ngôn ngữ “null-safe” khác, khi Dart xác định một biến không thê null thì biến đó sẽ không bao giờ null Nếu bạn kiểm tra mã đang chạy của mình trong quá trình debupger, bạn sẽ thấy tính “non-nullability” được giữ lại trong thời gian chạy Do đó nó được gọi là “sound nuÌl safety”

Tốc độ và khả năng mở rộng: Dart được thiết kế để trở thành một ngôn ngữ lập trình nhanh và có thê mở rộng Nó hỗ trợ lập trình không đồng bộ và có thể chạy trên nhiều nên tảng khác nhau

Tích hợp mạnh mẽ với Flutter: Dart là ngôn ngữ lập trình chính thức của FÌÏutter, một khuôn khô phát triển ứng dụng di động phô biến Với Flutter, các nhà phát triển có thể sử dụng Dart để xây dựng các ứng dụng di động chạy trên cả 1OS và Android

Được hỗ trợ bởi Google: Dart được phát triển bởi Google, một công ty công nghệ lớn Điều nay co nghia la Dart co thé nhận được sự hỗ trợ và đầu tư liên tục trong tương lai

Trang 16

> Nhược điểm của Dart?

Cộng đồng hỗ trợ nhỏ: So với các ngôn ngữ lập trình khác như JavaScript, Python và Java, Dart có một cộng đồng hỗ trợ nhỏ hơn Điều này có thể gây khó khăn trong việc tìm các tải nguyên học tập

Tài nguyên internet hạn chế: Do Dart là một ngôn ngữ lập trình tương đối mới, có ít tài nguyên internet hơn có sẵn so với các ngôn ngữ lập trình khác Điều này có thể làm cho nó khó khăn hơn để tìm thấy các giải pháp cho các vấn đẻ

Không được sử dụng rộng rãi: Dart chưa được sử dụng rộng rãi như một số ngôn neữ

lập trình khác Điều này có thê làm cho nó khó khăn hơn để tìm thấy các nhà phát triển

có kinh nghiệm với ngôn ngữ

Tích hợp mạnh mẽ với Flutter co thé la một nhược điểm: Mặc dù tích hợp mạnh mẽ với Flutter là một ưu điểm, nhưng nó cũng có thể là một nhược điểm nếu các nhà phát triển thích sử dụng các khuôn khổ hoặc nền tảng khác

«<> Minimal Code <— —> % widgets

Native feel and Features

> Framework la gi?

Trang 17

framework

Framework là các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thư viện lập trình được đóng gói Chúng cung cấp các tính năng có sẵn như mô hình, API và các yếu tố khác để tối giản cho việc phát triển các ứng dụng web phong phú Các framework giống như là khung nhà được làm sẵn nền móng cơ bản, bạn chỉ cần vào xây dựng và nội thất theo ý mình

Framework cung cấp cho các lập trình viên những chức năng cơ bản nhất Ở đó các lập trình viên nhận được sự trợ giúp trong quá trình xây dựng và phát triển website, ứng dụng web của mình Chúng ta có thê ví framework như tập các “Vật liệu” cho từng lĩnh vực dành cho các lập trình viên Có framework các lập trình viên không cần phải đau đầu

thiết kế trước khi dùng, điều này giúp họ tiết kiệm thời gian Vì vậy các lập trình viên chỉ

cần tìm hiểu và sáng tạo trên những framework để tạo ra sản phẩm theo mong muốn của minh

> Flutter 1a gi?

& Flutter

Flutter là một bộ công cụ phát triển phần mềm giao diện người dùng mã nguồn mở được các chuyên gia tại Google phát triển Flutter cho phép các nhà phát triển xây dựng các ứng dụng đa nên tảng, chất lượng cao cho người dùng trên phạm vi rộng, bao gồm trên nhiều nền tảng như IOS, Android, Linux, MacOS và Windows chỉ từ một cơ sở mã nguôồn duy nhất

Ngôn ngữ mà Flutter sử dụng là Dart, một ngôn ngữ lập trình được biết đến với các tính năng nâng cao giúp tối ưu hóa hiệu suất

Các thành phần độc đáo của nó, chẳng hạn như hỗ trợ vẽ công cụ kết xuất nhanh từ thư viện đồ họa Skia của Google hoac lớp đề họa “Cánh quạt” tùy chỉnh, làm cho Flutter trở nên nồi bật

Trang 18

> Lịch sử phát triển của Flutter?

Flutter được tạo ra để cung cấp các lập trình viên một hướng mạnh mẽ và hiệu quả trong việc xây dựng những ứng dụng đa nên tảng hoạt động được trên nhiều hệ điều hành, bao gồm Android, iOS, trình duyệt web, Windows,

Flutter được giới thiệu lần đầu tiên vào năm 2015 nhưng chỉ cho tới khi Google cho ra mắt ứng dụng Flutter thương mại đầu tiên vào năm 2017, Flutter mới nhận được một ít sự chú ý từ cộng đồng Kê từ đó, Flutter đã trải qua những bước đột phá lớn và tiếp tục phát triển cũng như cải thiện về tính ồn định và chức năng

Mặc dù lúc vừa mới ra mắt, Flutter không nhận được quá nhiều sự quan tâm từ cộng đồng, nhưng dần dần Flutter đã nhận được tương đối nhiều phản hồi tích cực, thu hút được sự chú ý của cộng đồng bằng những tính năng đáng kinh ngạc của mình Không những vậy, Flutter còn được các lập trình viên đánh giá cao vì cung cấp SDK mới cho phép tạo ra các ứng dụng nhanh chóng và hiệu quả

Tuy vậy, Flutter vẫn còn tổn tại những nhược điểm như kích thước file lớn, mất thời gian làm quen với ngôn ngữ Dart, Nhưng trên tổng thê, Flutter đã và đang phát triển mạnh mẽ, cộng đồng ngày một lớn hơn và cung cấp nhiều tải nguyên và sự hỗ trợ cho các

lập trình viên

> Cấu trúc của Flutter?

Lớp Framework: Lop Framework được viết bằng ngôn ngữ Dart và hầu hết các lập trình viên có thê tương tác với Flutter ở lớp này Lớp Framework bao gồm những phan

quan trọng:

Trang 19

@ KRendcrinp: Xử lý các việc thiết kế và hiển thị các widget

@ Widgets: Trong Flutter, moi thứ đều là một widget widget có thê được kết hợp và lỗng vào nhau tạo nên một UI phức tạp, đẹp mắt Chúng ta có thể điều khiến những hành vi của từng widget và việc thiết kế trở nên đễ dàng hơn Tất cả các Widget của một ứng dụng Flutter tạo thành một hệ thống phân cấp trong đó mỗi widget là thành phần của các widget khác và đồng thời chúng cũng được kế thừa các thuộc tính từ cha mẹ của nó

@ Material and cupertino: La hai goi widget duge thiét ké theo nguyén tac thiét ké

C+, Kotlin cho Android, C++ cho Windows va Linux, Swift cho iOS va MacOS

> Cac chire nang trong Flutter?

Hot Reload: Cho phép thực hiện các thay đôi trên mã nguồn và xem kết quả ngay lập tức mà không phải khởi động lại ứng dụng Chức năng rất hữu ích khi thử nghiệm và điều chỉnh UI khi không có sự thay đối quá lớn lên mã nguồn

Hot Restart: Khởi động lại toàn bộ ứng dụng mà không giữ trạng thái hiện tại Chức năng này sẽ hữu ích hơn khi mã nguồn có sự thay đối lớn

Hỗ trợ đa nền tảng: Flutter cho phép xây dựng những ứng dụng hoạt động trên nhiều nên tảng khác nhau chỉ với đúng một mã nguồn duy nhất

Lập trình bất đồng bộ (Asynchronous):

Lập trình bắt đông bộ là gì?

Lập trình bất đồng bộ là kỹ thuật cho phép chương trình bắt đầu một tác vụ chạy lâu trong khi vẫn có thể tương tác với các tác vụ khác thay vì phải chờ tác vụ đó kết thúc Khi tác vụ đó hoàn thành, chương trình sẽ hiển thị kết quả Kỹ thuật này đặc biệt hữu ích

Trang 20

cho những tác vụ có thể mắt nhiều thời gian để hoàn thành như lấy dữ liệu từ server, ghi

đữ liệu vào cơ sở đữ liệu, đọc nội dung từ file,

Trong Dart và Flutter, lập trình bất đồng bộ được sử dụng rộng rãi Những kết quả

mà lập trình bất đồng bộ cung cấp thường là Future hoặc Stream (kết quả có nhiều phan) Future la gi?

Future la mot lop trong Dart, dinh nghia mét ham ma két quả của hàm đó không được trả về ngay lập tức mà sẽ được trả về vào một thời điểm trong tương lai khi tác vụ của hàm đã xử lý xong

Future là kết quả của một hoạt động bat đồng bộ và có hai trạng thái là chưa hoàn thành và hoàn thành:

@ Chưa hoàn thành: Khi pọi một hàm bắt đồng bộ, nó sẽ trả về một kết quả Future chưa hoàn thành Đây là kết quả mà Future hiển thị khi hoạt động bất đồng bộ đó chưa được xử lý xong

@ Hoàn thành: Khi hoạt động bắt đồng bộ xu ly xong thi Future sé hién thi

là đã hoàn thành, và sẽ hiển thị giá trị khi hoạt động đó được gol Gia tri

mà Future hiễn thị sẽ có thể là một 1á trị hoặc là một lỗi

SharedPreferences prefs = awaiL SharedPreferences.getTnstance() ; prefs.setTnt("counter', 1);

iỉnt counter = prefs.getInt( *counter');

Shared preferences là gì?

Shared preferences là một thư viện trong Flutter giúp lưu trữ dữ liệu đơn giản dưới dạng key-value trên thiết bị của người dùng (NSUserDefaults trên iOS và macOS, SharedPreferences trên Android, v.v.) Dữ liệu có thê được lưu vào đĩa một cách bat đồng bộ và không có gì đảm bảo rằng việc phi sẽ được lưu vào đĩa sau khi quay trở lại, vì vậy không được sử dụng plugin này để lưu trữ dữ liệu quan trọng

> Tại sao chọn Flutter?

Sử dụng ngôn ngữ lập trình Dart: Ngôn ngữ tạo nên Flutter là Dart, một ngôn ngữ lập trình hướng đối tượng đễ sử dụng với những tính năng vượt trội

Trang 21

Phát triển nhanh: Flutter có một tính năng gọi là “Hot reload” Hot reload xây dựng

và chạy các chương trình nhanh hon, ø1úp cho các lập trình viên xử lý bue nhanh hơn

Hỗ trợ đa nền tảng: Flutter cho phép phát triển ứng dụng trên cả nền tảng Android, 1OS, Web, Windows, Linux, .bằng cách chỉ sử dụng một mã nguồn duy nhất Điều này giúp tiết kiệm nhiều thời gian và chi phí trong quá trình phát triển ứng dụng, giúp đạt năng suất cao tronø công việc

UI dep va linh hoat: Flutter cung cấp một bộ công cụ UI đa nền tảng tuyệt vời, giúp cho việc thiết kế giao dién tro nên dễ dàng và nhanh hơn Nó cho phép bạn thiết kế nên các UI hoàn chỉnh, đẹp mắt và linh hoạt một cách dễ đàng

Hỗ trợ cộng đồng lớn: Flutter đang được phát triển bởi Google, một trong những ông lớn trong mảng công nghệ, và đi cùng với đó là một cộng đồng đang ngày càng phát triển lớn mạnh Đồng thời nó cũng cung cấp vô số tài liệu hướng dẫn cũng như các phần ví dụ giup cho viéc hoc tap va su dung Flutter dé dang hon

You have pushed the button this many times:

Trang 22

1.3.3 JavaScript

JavaScript là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ nảy được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trone các ứng dụng Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đối tên thành LiveScript, và cuối cùng thành JavaScript Giống Java, JavaScript có cú pháp tương tự C Js là phần mở rộng thường được dùng cho tập tin mà nguồn JavaScript

JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển

từ C Giống như C, JavaScript có khái niệm từ khoá, do đó JavaScript gần như không thể được mở rộng

13.4 Node JS

Node.js là một nền tảng runtime xây dựng dựa trên JavaScript và được xây dựng trén JavaScript Engine cua Chrome (V8 Engine) Diéu nay cho phép ban chay JavaScript trên máy chủ, không chỉ trên trình duyệt web Node.js được thiết kế để xử lý các tác vụ /O không đồng bộ một cách hiệu quả, làm cho nó rất phù hợp cho việc xây dựng các ứng dụng mạng thời ø1an thực như ứng dụng web và API

Đặc điểm chính của Node.Js bao gồm:

o_ Bất đồng bộ và Sự kiện gắn kết: Node.js sử dụng mô hình bất đồng bộ để

xử lý nhiều yêu cầu cùng một lúc mà không chặn lại tiến trình

o_ Hiệu suất cao: Nhờ sử dụng V§ Engine cua Google, Node.Js có hiệu suất tốt trong viéc xu ly tac vu I/O

o JavaScript trén máy chủ: Cho phép các nhà phát triển sử dụng cùng một ngôn neữ lập trình (JavaScript) trên cả phía máy chu va phia client

13.5 Express JS

Express.js 14 m6t framework web được xây dung trén Node.js, gitip viét ma backend cho ứng dụng web một cách đơn giản và linh hoạt hơn Express cung cấp các tính năng cần thiết để xây dựng các ứng dụng web và API, bao gồm xử lý yêu cầu HTTP, quản lý tuyến đường (routine), xử lý middleware, và nhiều tính năng khác

Trang 23

Đặc điểm chính của Express.js bao gồm:

o_ Linh hoạt: Express.Js cho phép bạn tùy chỉnh và mở rộng một cách đễ dàng thông qua việc su dung middleware

o_ Tốc độ: Express.js được thiết kế đề tối ưu hóa hiệu suất và tốc độ xử lý yêu

o Su dung Node.js và Express.js cùng nhau, bạn có thể xây dựng các ứng dụng web mạnh mẽ, linh hoạt và hiệu quả Node.js cung cấp nền tảng runtime manh mé, trong khi Express.Js ørúp bạn xây dựng ứng dụng web một cách để dàng và nhanh chóng

1.3.6 Hệ quản trị cơ sở dữ liện AiySQL

> MySQL Ila gi?

MySQL la hé quan tri cơ sở đữ liệu tự do nguồn mở phô biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là

cơ sở đữ liệu tốc độ cao, ôn định và dễ sử dung, có tính khả chuyền, hoạt động trên nhiều

hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bao mat cao, MySQL rat thich hợp cho các ứng dụng có truy cập CSDL trên Internet Người dùng có thể tải về MySQL miễn phí từ trang chủ MyS§QL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Wimm32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Inx, Solaris,

SunOS, MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu

quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) MySQL được sử dụng cho việc

bồ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viét bang NodeJs, PHP hay Perl,

> Taisao lai chon sử dung MySQL?

Trang 24

Linh hoạt: Sự linh hoạt về platform là một đặc tính nỗi bật của MySQL với các

phiên bản đang được hỗ trợ của Linux, Unix, Windows, MySQL cho phép tùy biến hoàn toàn theo ý muốn, thêm vào các yêu cầu thích hợp cho đatabase server Thực thi cao: Các chuyên gia cơ sở đữ liệu có thế cấu hình máy chủ cơ sở đữ liệu MySQL đặc trưng cho các ứng dụng đặc thù thông qua kiến trúc storape-engine MyS§QL có thể đáp ứng kha năng xử lý những yêu cầu khắt khe nhất của từng hệ thống, MySQL còn đưa ra các “công cụ” cần thiết cho các hệ thống doanh nghiệp khó tính bằng tiện ích tải tốc độ cao, bộ nhớ cache và các cơ chế xử lý nâng cao khác

Sử dụng ngay: Các tiêu chuẩn đảm bảo của MySQL giúp cho người dùng vững tin

và chọn sử dụng ngay, MySQL đưa ra nhiều tùy chọn và các giải pháp để người sử dụng dùng ngay cho server cơ sở dữ liệu MySQL

Hỗ trợ giao dich: MySQL hỗ trợ giao dich manh m6t cach tự động, thống nhất, độc lập và bền vững, ngoải ra khả năng giao dịch cũng được phân loại và hỗ trợ giao dịch

đa dạng mà người viết không gây trở ngại cho người đọc và ngược lại Các đữ liệu được đảm bảo toàn vẹn trong suốt quá trình server có hiệu lực và các mức giao địch độc lập được chuyên môn hóa cao

Nơi tin cậy để lưu trữ web và đữ liệu: Do MySQL có engine xử lý tốc độ cao và khả năng chèn dữ liệu nhanh, hé trợ tốt cho các chức năng chuyên dùng cho web, nên MySQL là lựa chọn tốt nhất cho các ứng dụng web và các ứng dụng web doanh nghiệp Bảo mật tốt: Doanh nghiệp nào cũng cần tính năng bảo mật dữ liệu tuyệt đối vì đó chính là loi ich quan trong hang dau, và đó cũng là lý đo mà các chuyên gia về cơ sở dữ liệu chọn dùng MySQL MySQL có các kỹ thuật mạnh trong việc xác nhận truy cập cơ

sở dữ liệu và chỉ có người dùng đã được xác nhận mới có thé truy cập vào server Cơ so

dữ liệu Bên cạnh đó, tién ich backup va recovery cho phép backup logic va recovery toàn bộ hoặc tại l thời điểm nào đó

Phát triển ứng dụng hỗn hợp: MySQL cung cấp hỗ trợ hỗn hợp cho bất kỳ sự phát triển ứng dụng nào nên MySQL được xem là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới Thư viện plugin có sẵn để nhúng vào cơ sở đữ liệu MySQL hỗ trợ trong bat kỳ ứng dụng nào MySQL còn cung cấp các bộ kết nối cho phép tất cả các form của ứng dụng ưu tiên sử dụng MySQL như một server quản lý dữ liệu

Dễ quản lý: Quá trình cài đặt MySQL diễn ra khá nhanh chóng trên Microsoft Windows, Linux, Macintosh hoặc Unrx Sau khi cài đặt, các tính năng tự động mở rộng

Trang 25

không gian, tự khởi động lại và cầu hình động được thiết lập sẵn sảng cho người quản trị

cơ sở đữ liệu làm việc MySQL còn có các công cụ quản lý dé họa mà một DBA có thể quản lý, sửa chữa và điều khiến hoạt động của nhiều server, điều khiến tác vụ thiết kế đữ ligu va ETL, quan tn cơ sở đữ liệu hoàn thiện cũng như quản ly công việc và thực hiện kiểm tra

Mã nguồn mở tự do và hỗ trợ xuyên suốt: Nhiều doanh nghiệp lo lắng việc sử dụng mã nguồn mở là không an toàn và không được hỗ trợ tốt vì đa số tin vào các phan mềm có bản quyền, nhưng đối với MySQL, các nhà doanh nghiệp hoàn toàn có thể yên tâm về điều này, MySQL có chính sách bồi thường hắn hoi và luôn hỗ trợ tối đa cho quý doanh nghiệp

Chi phí thấp: Đối với các dự án phát triển mới, nếu các doanh nghiệp sử dụng My§QL thì đó là một chọn lựa đúng đắn vừa tiết kiệm chi phí vừa đáng tin cậy Mức duy trì của MySQL không chiếm nhiều thời gian sửa chữa của người quản trị cơ sở dữ liệu và các doanh nghiệp thật sự hài lòng về khả năng xử lý thông qua việc sử dụng server cơ sở

dữ liệu MyS§QL và kiến trúc scale-out [1-6]

1.4 Kết luận chương I

Trong chương này, chúng em đã trình bày về vấn đề được đặt ra, lý do chọn đề tài cũng như thông tin về các công cụ hỗ trợ trong quá trình làm ra sản phẩm Thông qua những kiến thức đã tìm hiểu được từ đó, làm cơ sở để đề xuất quy trình phân tích và thiết

kế hệ thống sẽ được trình bày trong chương tiếp theo

Trang 26

Ứng dụng về shop thực phẩm

Chuong2 PHAN TICH VA THIET KE HE THONG

2.1 Mô tả bài toán

Quy trình bán thực phẩm thì người dùng sau khi đăng nhập vào hệ thống sẽ tiến hành thêm những sản phẩm cần mua vảo gió hàng sau đó thanh toán Người dùng có thể đánh giá sản phâm sau khi mua

Quy trình quản lý sản phẩm thì phân ra loại đồ nảo, nếu thực phẩm thì có các loại thực phẩm, được phân loại khác nhau một cách rõ ràng

Quy trình quản lý giỏ hàng thì có thể thêm sản phẩm, tăng giảm số lượng, đặt hàng

Quy trình quản lý đánh giá sản phẩm thì có thể đưa ra lời đánh giá và mức độ hài lòng

Mục tiêu xây dựng ứng dụng shop thực phâm để bán những vật phẩm liên quan đến đồ tiêu dùng hằng ngày của khách hàng, những nhu yếu phẩm cần thiết cho cuộc sống và luôn an toàn hợp vệ sinh và người dùng có thê đánh giá sản phâm thanh toán, xem sản phâm chi tiết

2.2 Biểu đồ use case tổng quát

Đăng nhập

Quản lý tài khoản cá nhân > -EC———————————

Quản lý danh mục nphêm `)

Quan ly don dat hang

Hình 2.1: Biểu đồ use case tông quát

Trang 27

2.3 Dac ta use case

2.3.1 Use case đăng nhập

Điều kiện | Chưa đăng nhập vào hệ thông

trước

Điêu kiện sau

Luông sự kiện

chính

của tác nhân

Hành động của hệ thông

4 Hệ thống gửi thông tín database và kiểm tra thông tin

5 Hệ thống ghi nhận tài khoản đang đăng nhập và

hiển thị trang chủ Luông sự kiện 3.1 Điền thiếu 4.1 Hiển thị thông báo yêu cầu nhập đầy đủ thông

Trang 28

Bảng 2.1: Use case đăng nhập

2.3.2 Use case ding ky

Khach hang Dac ta:

Hinh 2.3: Use case dang ky

Luông sự kiện

chính

của tác nhân

Hành động của hệ thông

ngoại lệ 2

“email này đã ton tại, vui long nhập email khác”

Trang 29

trùng khớp”

Bảng 2.2: Use case đăng ký

2.3.3 Use case quản {ÿ danh mục sản phẩm

san pham *`"~Edtends- Í 6a danh muc

Quản trị viên `“

Extends

Hinh 2.4: Use case quan ly danh muc san pham

Dac ta:

Điều kiện trước | Đã đăng nhập vào hệ thống

Điêu kiện sau

Luéng sự kiện | Hành động của | Hành động của hệ thông

Trang 30

Bảng 2.3: Use case thêm danh mục

Điều kiện trước Đã đăng nhập vào hệ thông

Điêu kiện sau

Mô tả Quản trị viên chỉnh sửa thông tin danh mục sau khi có sự sai lệch

thông tin danh mục

nhân

Hành động của hệ thông

1 Chọn quản lý danh mục sản phâm

2 Hệ thống chuyên đến màn hình danh mục quản lý sản phẩm

3 Chọn chỉnh sửa danh mục

4 Hệ thống hiển thị màn hình biểu mẫu chỉnh sửa danh mục sản phâm

Trang 31

Bảng 2.4: Use case sửa danh mục

2 Hệ thống chuyên đến màn hình danh mục

quản lý sản phẩm

3 Chọn nút xoá danh mục

4 Hệ thống hiển thị thông báo xác thực muốn xoá hay không

Bảng 2.5: Use case xóa danh mục

2.3.4 Use case quản {ÿ sản phẩm

® - Quản trị viên:

Trang 32

Quản trị viên vse,

Extends

X6a san pham

Hinh 2.5: Use case quan tri vién quan ly san pham

Dac ta:

3 Chọn mục thêm sản phầm

4 Hệ thống hiến thị màn hình biểu mẫu thêm

Trang 33

Luông sự kiện

Bảng 2.6: Use case thêm sản phẩm

1 Chọn danh mục quản lý sản phẩm

2 Hệ thống chuyên đến màn hình danh mục quản lý sản phẩm

Bảng 2.7: Use case sửa sản phẩm

Trang 34

Điều kiện trước Đã đăng nhập vào hệ thông,

Tài khoản được phân quyền quản trị

1 Chọn danh mục quản

lý sản phẩm

2 Hệ thống chuyên đến màn hình danh

mục quản lý sản phẩm

3 Chọn sản phẩm cần xóa

4 Hệ thống sẽ hiển thị sản phẩm cần xóa

OK

§ Hệ thông gửi sản phẩm lén database

và yêu câu xoá

9 Database thực hiện xoá và trả về hợp

^

lệ

10 Hiến thị màn hình danh mục quản lý

Trang 35

’ `

«extend»

cung Đánh giá sản phẩm Thêm vào danh sách yêu thích

Hình 2.6: Use case khách hàng quản lý sản phẩm

Đặc tả:

Điều kiện trước Đã đăng nhập vào hệ thống

Điêu kiện sau

explore

2 Hệ thống chuyền đến màn hình explore

3 Chon vao icon tim kiém

4 Hệ thống sẽ hiến thị bảng nhập tên sản pham dé tim kiêm

5 Nhập tên sản phâm 6 Hệ thong hién thi san pham muon tim

kiém

Trang 36

Bảng 2.9: Use case tìm kiếm sản phẩm

Điều kiện trước Đã đăng nhập vào hệ thống

Điều kiện sau

nhân

Hành động của hệ thống

1 Chọn vào phần xem sản phầm

2 Hệ thống chuyên đến màn hình

sản phầm

3 Lướt xuống tim mục

đánh gia

4 Hệ thống sé hién thi man hình

đánh 914

Trang 37

Bảng 2.11: Use case đánh giá sản phẩm

Điêu kiện sau

nhân

1 Chọn vào màn hinh | 2 Hệ thống chuyên đến màn hình sản

5 Kiêm tra bên mục | 6 Hệ thông hiện thị sản phâm mới vừa

Luong sy kiện | 3.1 Khách hàng chọn | 4.1 Hệ thông xóa sản phâm khỏi mục yêu

Ngày đăng: 19/12/2024, 14:07

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

TÀI LIỆU LIÊN QUAN