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

Đồ án 2 đề tài xây dựng ứng dụng bán sách bằng flutter

78 41 1
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

Tiêu đề Xây Dựng Ứng Dụng Bán Sách Bằng Flutter
Tác giả Hà Văn Dương, Nguyễn Việt Hoàng
Người hướng dẫn Ths. Thái Thụy Hàn Uyển
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Khoa Công Nghệ Phần Mềm
Thể loại đồ án
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 78
Dung lượng 2,62 MB

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

Nội dung

Danh sách các Use case:STT Tên Use case Ý nghĩa, ghi chú 3 Thêm/ xóa/ sửa sản phẩm Thêm/ xóa/ sửa thông tin sản phẩm vào danh sách các sản phẩm 4 Thêm/ sửa/ xóa tài khoản Thêm/ xóa/ sửa

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:

Ths Thái Thụy Hàn Uyển Sinh viên thực hiện:

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, nhóm tác giả xin chân thành cảm ơn quí thầy cô khoa Công nghệ Phầnmềm, trường Đại Học Công Nghệ Thông Tin, ĐHQG TP.HCM, đã tận tình hướng dẫnnhóm trong suốt thời gian qua Những kiến thức mà thầy cô đã truyền đạt là nền tảngquan trọng để nhóm có thể hoàn thành đề tài này

Nhóm tác giả xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc đến thầy HuỳnhTuấn Anh, cảm ơn thầy đã tận tình hướng dẫn và tạo điều kiện tốt nhất cho nhóm hoànthành đề tài này Những lời động viên, góp ý chân tình của thầy là động lực quí báu đểnhóm vượt qua những khó khăn khi tìm hiểu và thực hiện đề tài Trong thời gian thựchiện đề tài, nhóm tác giả đã cố gắng vận dụng những kiến thức nền tảng đã học, kết hợphọc hỏi và tìm hiểu công nghệ mới để ứng dụng xây dựng đề tài môn học Tuy nhiêntrong quá trình thực hiện, do kiến thức và kinh nghiệm còn nhiều hạn chế, khó tránh khỏinhững thiếu sót Chính vì vậy, nhóm tác giả rất mong nhận được sự góp ý từ quí thầy cô

để nhóm hoàn thiện thêm những kiến thức mà nhóm đã học tập, làm hành trang quí báucho nhóm trong công việc sau này

Xin chân thành cảm ơn quý thầy cô !

Nhóm tác giả

Trang 3

NHẬN XÉT

(Của giáo viên hướng dẫn)

Trang 4

MỤC LỤC

Trang 5

3.3 Use case thêm/ sửa/ xóa sản phẩm: 22

Trang 6

2.15 Sửa thông tin sản phẩm: 48

Trang 7

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

1 Lí do chọn đề tài:

Chúng ta có thể nói rằng thế kỷ 21 đã và đang chứng kiến sự phát triển mạnh mẽcủa ngành Công nghệ thông tin Công nghệ thông tin (CNTT) đã và đang thay đổi thếgiới một cách nhanh chóng và từng bước kéo nền tri thức của nhân loại xích lại gần nhauhơn Việc mua bán trao đổi qua các ứng dụng di động ngày càng phát triển và phổ biến.Ngày nay, ứng dụng di động đã đóng một vai trò quan trọng đối với con người chúng ta

từ giải trí cho đến quảng cáo, thương mại, quản lý Cụ thể Ứng dụng bán hàng online(thương mại điện tử) sẽ dần dần thay thế những phương thức kinh doanh cũ trong cácdoanh nghiệp bởi tính ưu việt mà Ứng dụng bán hàng online mang lại như: nhanh hơn, rẻhơn, tiện dụng hơn, hiệu quả hơn và không bị giới hạn không gian và thời gian

Ứng dụng bán hàng online giúp người mua có thể chọn mua các món hàng mộtcách đơn giản, hiệu quả Tất cả các công việc điều được thao tác trực tiếp ngay trên ứngdụng

2 Tóm tắt đề tài:

Là một trang ứng dụng kinh doanh sách Cửa hàng bán các loại sách thật, chínhhãng và nói không với sách lậu Với sự phát triển của công nghệ thông tin nói chung vàthương mại điện tử nói riêng dẫn đến nhu cầu của mua hàng online tăng cao, cửa hàng sẽgặp khó khăn trong việc quản lý số lượng mặt hàng, đơn hàng và hoạt động bán hàng Vìvậy, ứng dụng trước hết là phải giải quyết được các vấn đề trên Ứng dụng cho phép kiểmsoát tình hình mua bán và số lượng các mặt hàng, đơn hàng

Ngoài ra, ứng dụng sẽ được áp dụng chiến lược "2 mức giá" đối với các sản phẩm

có giá trị cao như là mô hình đồ chơi ô tô, mô tô, Việc áp dụng sẽ được tiến hành nhưsau: sẽ có 2 mức giá khác nhau cho cùng một sản phẩm: (i) một mức giá đi cùng với tất

cả các tùy chọn (giao hàng nhanh, có bọc sẵn và gói bảo hành) trong khi đó (ii) mức giácòn lại sẽ rẻ hơn và không có các dịch vụ trên (chỉ đi kèm với bảo hành của hãng)

Tiếp đó là chiến lược tiếp thị hỗn hợp :

+Sản phẩm: Phát triển ứng dụng riêng cho mỗi nước, sản phẩm của hãng tạo ra

Trang 8

là một trang web được tối ưu với các ngôn ngữ khác nhau, cùng với đó là sự trải nghiệmtốt nhất cho người dùng khi thiết kế ứng dụng dựa vào thói quen sử dụng của khách hang,chăm chút hình ảnh trên ứng dụng khiến các sản phẩm bán hàng hấp dẫn người mua hơn.Đặc biệt là đảm bảo chất lượng sản phẩm.

+ Giá cả: Ưu đãi, phù hợp với túi tiền người dùng, ngoài ra sẽ có các chươngtrình giảm giá cũng như cái code giảm giá

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

√ Xây dựng Ứng dụng bán sách qua mạng

√ Nghiên cứu các công nghệ liên quan đến phát triển ứng dụng

√ Tạo ra ứng dụng (thương mại điện tử) thiết thực và sử dụng được trong thực tế

√ Nghiên cứu về cách thức mà một Ứng dụng được sử dụng trong kinh doanhonline

√ Đưa ra các báo cáo và tài tiệu

4 Phương pháp nghiên cứu:

√ Nghiên cứu một số ứng dụng bán hàng như: Lazada, Shoppe cốt lõi là Tikisách

√ Nghiên cứu các tài liệu về nghiệp vụ về Quản lí bán hàng và Bán hàng

√ Phỏng vấn và khảo sát thực tế về cách thức quản lí

√ Các tài liệu, video hướng dẫn cách thức mua bán, xử lí đơn hàng

5 Ý nghĩa và kết quả hướng tới của đề tài:

5.1 Về mặt sản phẩm (ứng dụng bán hàng):

√ Tạo ra được ứng dụng bán hàng có thể sử dụng thực thế

√ Quản lí được các công đoạn mua bán một cách nhanh chóng, hiệu quả

Trang 9

√ Tối ưu hóa về các chi phí về gian hàng, hiệu quả đầu tư cho các shop bán hàng.5.2 Về mặt tài liệu:

√ Toàn bộ chương trình và bản báo cáo của đề tài sẽ trở thành tài liệu nghiên cứu,tham khảo nhanh, dễ hiễu cho các bạn yêu thích lĩnh vực Ứng dụng thương mại điện tử

sử dụng Flutter

√ Có thể sử dụng tài liệu để tham khảo về công nghệ như Flutter, Firebase,

Figma

Trang 10

CHƯƠNG 2: CÔNG NGHỆ LIÊN QUAN

1 Tìm hiểu về Flutter:

1.1 Flutter là gì:

√Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trêniOS và Android trong khoảng thời gian ngắn Flutter hoạt động với những code sẵn cóđược sử dụng bởi các lập trình viên, các tổ chức

√Flutter hoàn toàn miễn phí và cũng là mã nguồn mở

1.2 Tại sao lại là Flutter?

√ Nếu bạn đang tìm kiếm các phương pháp thay thế để phát triển ứng dụng Android,bạn nên cân nhắc thử Flutter của Google, một framework dựa trên ngôn ngữ lập trìnhDart

√ Các ứng dụng được xây dựng với Flutter hầu như không thể phân biệt với những ứngdụng được xây dựng bằng cách sử dụng Android SDK, cả về giao diện và hiệu suất Hơnnữa, với những tinh chỉnh nhỏ, chúng có thể chạy trên thiết bị iOS

√ Chạy ở 60 fps, giao diện người dùng được tạo ra với Flutter thực thi tốt hơn nhiều sovới những ứng dụng được tạo ra với các framework phát triển đa nền tảng khác chẳnghạn như React Native và Ionic Một số lí do khiến bạn có thể hứng thú với Flutter:

1 Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều tính nănghữu ích như mixin, generic, isolate, và static type

2 Flutter có các thành phần UI của riêng nó, cùng với một cơ chế để kết xuất chúngtrên nền tảng Android và iOS Hầu hết các thành phần giao diện người dùng, đềusẵn dùng, phù hợp với các nguyên tắc của Material Design

3 Các ứng dụng Flutter có thể được phát triển bằng cách4 sử dụng IntelliJ IDEA,một IDE rất giống với Android Studio

Trang 11

1.3 Đặc điểm nổi bật:

√ Fast Development: Tíng năng Hot Reload hoạt động trong milliseconds để hiện thịgiao diện tới bạn Sử dụng tập hợp các widget có thể customizable để xây dựng giao diệntrong vài phút Ngoài ra Hot Reload còn giúp bạn thêm các tính năng, fix bug tiết kiệmthời gian hơn mà không cần phải thông qua máy ảo, máy android hoặc iOS

√ Expressive and Flexible UI: Có rất nhiều các thành phần để xây dựng giao diện củaFlutter vô cùng đẹp mắt theo phong cách Material Design và Cupertino, hỗ trợ nhiều cácAPIs chuyển động, smooth scrolling

√ Native Performance: Các widget của fluter kết hợp các sự khác biệt của các nền tảng

ví dụ như scrolling, navigation, icons, font để cung cấp một hiệu năng tốt nhất tới iOS vàAndroid

1.4 Khác biệt so với “anh cả” Android?

√Chắc hẳn không ít người đang thắc mắc, chẳng phải Google đã có bộ SDK cho diđộng, có tên gọi Android rồi hay sao Nhưng với Google, thế giới mobile là quá rộng chỉvới một giải pháp duy nhất là Android Với việc ra mắt phiên bản beta 1 này, giờ đây họ

có trong tay hai bộ SDK cho ứng dụng di động: Android và Flutter Và điểm khác biệt cơbản giữa Flutter và Android: tạo ra các ứng dụng chạy trên cả iOS và Android

√Là một bộ SDK đa nền tảng, các ứng dụng Flutter có thể hoạt động trên cả iOS vàAndroid Nó như một thủ thuật khôn khéo để tương thích được với framework UI trên cảhai hệ điều hành này Các ứng dụng Flutter không biên dịch trực tiếp với các ứng dụngnative của Android và iOS

√Sau đó bộ SDK sẽ đóng gói lại vào trong một ứng dụng để sẵn sàng chạy trên mỗi nềntảng Bạn tạo ra ứng dụng của mình, một engine mới sẽ chạy các đoạn code của Flutter,

và các đoạn code native vừa đủ để nền tảng Flutter chạy trên cả Android và iOS

√Đóng gói cả một engine đi kèm cùng ứng dụng sẽ làm cho kích thước bộ cài đặt lớnhơn hẳn Trang Hỏi đáp của Flutter cho biết, một ứng dụng “trống” thông thường sẽ chỉ

Trang 12

khoảng 6-7MB trên Android, vì vậy dù là ứng dụng nào, phần kích thước tăng lên cũng làrất nhiều Nhưng lợi ích của việc này là các ứng dụng Flutter sẽ rất nhanh.

√Flutter được thiết kế từ đầu để đạt tới tốc độ khung hình 60fps Trong khi đây khôngphải là một con số hiếm gặp trên iOS, nhưng với Android, bạn có thể cảm thấy sự khácbiệt rõ rệt ngay lập tức Cũng nhờ việc xuất xưởng cùng với cả một nền tảng cho ứngdụng của mình, các nhà phát triển sẽ tránh được nhiều vấn đề về sự phân mảnh của

√ Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud Kèm theo

đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google Chức năng chính là giúp ngườidùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu Cụ thể lànhững giao diện lập trình ứng dụng API đơn giản Mục đích nhằm tăng số lượng ngườidùng và thu lại nhiều lợi nhuận hơn

√ Đặc biệt, còn là dịch vụ đa năng và bảo mật cực tốt Firebase hỗ trợ cả hai nền tảngAndroid và IOS Không có gì khó hiểu khi nhiều lập trình viên chọn Firebase làm nềntảng đầu tiên để xây dựng ứng dụng cho hàng triệu người dùng trên toàn thế giới

2.2 Lịch sử phát triển Firebase:

√ Gần một thập niên trước, Firebase ra đời với tiền thân là Envolve Đây là một nền tảngđơn giản chuyên cung cấp những API cần thiết để tích hợp tính năng chat vào trang web.Bên cạnh ứng dụng nhắn tin trực tuyến, Envolve còn được người dùng sử dụng để truyền

và đồng bộ hóa dữ liệu cho những ứng dụng khác như các trò chơi trực tuyến,… Do đó,

Trang 13

các nhà sáng lập đã tách biệt hệ thống nhắn tin trực tuyến và đồng bộ dữ liệu thời gianthực thành hai phần riêng biệt.

√ Trên cơ sở đó, năm 2012, Firebase ra đời với sản phẩm cung cấp là dịch vụ

Backend-as-a-Service Tiếp đến, vào năm 2014, Google mua lại Firebase và phát triển nóthành một dịch vụ đa chức năng được hàng triệu người sử dụng cho đến hiện nay

2.3 Cách thức hoạt động của Firebase:

2.3.1 Firebase realtime database:

√ Khi đăng ký một tài khoản trên Firebase để tạo ứng dụng, bạn đã có một cơ sở dữ liệuthời gian thực Dữ liệu bạn nhận được dưới dạng JSON Đồng thời nó cũng luôn đượcđồng bộ thời gian thực đến mọi kết nối client

√ Đối với các ứng dụng đa nền tảng, tất cả các client đều sử dụng cùng một cơ sở dữ liệu

Nó được tự động cập nhật dữ liệu mới nhất bất cứ khi nào các lập trình viên phát triểnứng dụng Cuối cùng, tất cả các dữ liệu này được truyền qua kết nối an toàn SSL có bảomật với chứng nhận 2048 bit

√ Trong trường hợp bị mất mạng, dữ liệu được lưu lại ở local, vì thế khi có mọi sự thayđổi nào đều được tự động cập nhật lên Server của Firebase Bên cạnh đó, đối với các dữliệu ở local cũ hơn với Server thì cũng tự động cập nhật để được dữ liệu mới nhất

2.3.2 Fire Authentication:

√ Hoạt động nổi bật của Firebase là xây dựng các bước xác thực người dùng bằng Email,Facebook, Twitter, GitHub, Google Đồng thời cũng xác thực nặc danh cho các ứng dụng.Hoạt động xác thực có thể giúp thông tin cá nhân của người sử dụng được an toàn và đảmbảo không bị đánh cắp tài khoản

2.3.3 Firebase hosting:

√ Firebase cung cấp các hosting được phân phối theo tiêu chuẩnSSLtừ mạng CDN

Trang 14

CDNviết tắt của Content Delivery Network là mạng lưới máy chủ lưu giữ bản sao củacác nội dung tĩnh bên trong website và phân phối đến nhiều máy chủ PoP Mạng lưới máychủ CDN được đặt ở khắp mọi nơi trên toàn cầu Từ PoP (Points of Presence), dữ liệu sẽtiếp tục được gửi đến người dùng cuối Thông qua CDN, bản sao nội dung trên máy chủgần nhất sẽ được trả về cho người dùng khi họ truy cập website

2.4 Ưu điểm của Firebase:

2.4.1 Triển khai ứng dụng nhanh chóng:

√ Bởi không phải quan tâm đến phần backend cùng các API tốt, hỗ trợ đa nền tảng,

Firebase tiết kiệm rất nhiều thời gian quản lý và đồng bộ tất cả dữ liệu cho người dùng.Song song đó, nó còn cung cấp hosting và hỗ trợ xác thực thông tin khách hàng khiếnviệc triển khai ứng dụng nhanh chóng hơn

2.4.2 Bảo mật:

√ Hoạt động trên nền tảng đám mây cloud, sử dụng kết nối thông qua giao thức bảo mậtSSL và cho phép phân quyền người dùng cơ sở dữ liệu bằng Javascript, các đặc điểm nàycủa Firebase giúp nâng cao độ bảo mật cho các ứng dụng

2.4.3 Sự ổn định:

√ Hầu hết các ứng dụng trên nền tảng Firebase luôn hoạt động ổn định vì chúng được viết

dựa trên nền tảng cloud cung cấp bởi Google Hơn nữa, nhờ Firebase mà việc nâng cấphay bảo trì Server cũng diễn ra khá đơn giản mà không cần phải dừng lại

2.5 Nhược điểm của Firebase:

√ “Firebase” chính là phần Realtime Database, đúng hơn chỉ là phần Database Cơ sở dữliệu của họ được tổ chức theo kiểu trees, parent-children, không phải là kiểu Table nênnhững ai đang quen với SQL có thể sẽ gặp khó khăn từ mức đôi chút tới khá nhiều

2.6 Các dịch vụ của Firebase:

2.6.1 Nhóm công cụ Firebase Develop & Test Your App:

√ Nhóm công cụ này – hay còn gọi là công cụ phát triển và kiểm thử các ứng dụng đượcthiết kế, bao gồm các dịch vụ nổi bật sau:

Trang 15

√Realtime Database

Realtime Database: là dịch vụ lưu trữ và đồng bộ dữ liệu người dùng thời gian thực Có

hỗ trợ cho Android, IOS, Web, C++, Unity và Xamarin Người dùng có thể lưu trữ và lấy

dữ liệu từ máy chủ rất dễ dàng

√Crashlytics

Crashlytics: là hệ thống theo dõi và lưu trữ thông tin lỗi của ứng dụng Các thông tin lỗi

sẽ được thu thập triệt để và trình bày hợp lý Từ mỗi chu trình hoạt động đến khi xảy ralỗi

√Cloud Firestore

Cloud Firestore: là dịch vụ lưu trữ và đồng bộ dữ liệu giữa người dùng và thiết bị quy

mô toàn cầu Dịch vụ sử dụng NoSQL được lưu trữ trên hạ tầng cloud

√Authentication

Authentication: là dịch vụ quản lý người dùng đơn giản và an toàn Authentication cung

cấp nhiều phương pháp xác thực email và mật khẩu Google, Facebook

√Cloud Functions

Cloud Functions: là dịch vụ mở rộng ứng dụng bằng mã phụ trợ tùy chỉnh mà không cần

quản lý và quy mô các máy chủ riêng

√Cloud Storage

Cloud Storage: là dịch vụ có khả năng lưu trữ và chia sẻ nội dung do người dùng tạo ra

như hình ảnh, âm thanh và video với bộ nhớ mạnh, đơn giản và tiết kiệm chi phí đượcxây dựng cho quy mô của Google

√Test Lab for Android

Test Lab for Android: là công cụ tự động chạy thử và tùy chỉnh cho ứng dụng trên các

thiết bị ảo và vật lý của Google cung cấp

Trang 16

tới Google BigQuery để phân tích tùy chỉnh.

√Cloud Messaging

Cloud Messaging là dịch vụ gửi tin, thông báo miễn phí đến user trên nền tảng Android,IOS và Web Bạn có thể gửi tin nhắn đến các nhóm thiết bị, chủ đề hoặc phân đoạn ngườidùng cụ thể Đây là công cụ gửi hàng tỷ thư mỗi ngày trên ứng dụng lớn nhỏ

√Predictions

Là công cụ tạo ra nhóm người dùng năng động dựa trên hành vi dự đoán Họ là đối tượngnhắm mục tiêu trong các sản phẩm khác như thông báo, cấu hình từ xa…

√Firebase Dynamic Links

Được áp dụng trên Android, IOS và Web, dịch vụ này sử dụng liên kết động để cung cấptrải nghiệm người dùng, hỗ trợ web di động thúc đẩy chuyển đổi ứng dụng gốc, ngườidùng chia sẻ người dùng, các chiến dịch xã hội và tiếp thị…

√Remote Config

Là dịch vụ tùy chỉnh cách ứng dụng khi hiển thị cho mỗi người dùng Nó được dùng đểthay đổi giao diện, triển khai dần dần các tính năng, chạy thử nghiệm A/B, cung cấp nộidung tùy chỉnh cho người dùng hoặc thực hiện các cập nhật khác mà không cần triển khaiphiên bản mới nhất từ bảng điều khiển

Trang 17

Là công cụ cho phép người dùng chia sẻ mã giới thiệu, nội dung yêu thích trên ứng dụngqua email và SMS Dịch vụ này kết hợp với Google Analytics for Firebase để bạn biếtthời điểm người dùng mở hay cài đặt ứng dụng qua lời mời

√App Indexing

Dịch vụ tích hợp với công cụ tìm kiếm Google giúp thu hút người dùng đã sử dụng cácứng dụng trước

√AdMob

Đây là công cụ hiển thị quảng cáo hấp dẫn giúp lập trình viên kiếm tiền hiệu quả Ngoài

ra, dịch vụ này có thể thực hiện các chiến lược kiếm tiền trên lớp bậc nhất và tối đa hóadoanh thu do mỗi người dùng tạo ra

√AdWords

AdWords giúp có được thông tin và thu hút người dùng Điều này thực hiện bằng cáchchạy các quảng cáo trên tìm kiếm, hiển thị và video Ngoài ra, bạn có thể cải thiện nhắmmục tiêu quảng cáo, tối ưu hiệu suất chiến dịch của bạn

Trang 18

CHƯƠNG 3: MÔ HÌNH USECASE

1 Sơ đồ Use case mức tổng quát:

1.1 Nhân viên:

Trang 19

1.2 Quản lí:

Trang 20

1.3 Quản lí:

Trang 21

2 Danh sách các Use case:

STT Tên Use case Ý nghĩa, ghi chú

3 Thêm/ xóa/ sửa sản phẩm Thêm/ xóa/ sửa thông tin sản phẩm vào

danh sách các sản phẩm

4 Thêm/ sửa/ xóa tài khoản Thêm/ xóa/ sửa thông tin tài khoản của hệ

thống quản lí

5 Thêm/ sửa/ xóa thể loại Thêm/ xóa/ sửa thông tin thể loại vào danh

sách danh sách các thể loại mô hình

6 Thêm/ sửa/ xóa danh mục Thêm/ xóa/ sửa thông tin thương hiệu vào

danh sách các thể loại mô hình

7 Thêm/ sửa/ xóa quảng cáo Thêm/ xóa/ sưa thông tin quảng cáo vào

danh sách quảng cáo

8 Xem thông tin của các đơn hàng Xem thông tin của danh sách đơn hàng và

chi tiết đơn hàng đó

9 Tìm kiếm – Thống kê đơn hàng Tìm kiếm và thống kê các đơn hàng trong

một ngày hoặc khoảng ngày nhất định

10 Thêm sản phẩm vào giỏ hàng User khách hàng sử dụng chức năng này để

thêm sách muốn mua vào giỏ hàng

11 Chỉnh sửa giỏ hàng User khách hàng sử dụng chức năng này để

chỉnh sửa giỏ hàng

12 Thanh toán User khách hàng sử dụng chức năng này để

thanh toán đơn hàng

13 Tạo tài khoản User khách hàng sử dụng chức năng này để

tạo tài khoản đăng nhập vào hệ thống

14 Thay đổi thông tin User khách hàng sử dụng chức năng này để

thay đổi thông tin tài khoản

Trang 22

15 Quên mật khẩu User khách hàng sử dụng chức năng này để

yêu cầu đặt lại mật khẩu khi quên mật khẩu

3 Đặc tả Use case:

3.1 Use case đăng nhập:

Use case đăng nhập

Mô tả Nhân viên/quản lí đăng nhập vào tài khoản

Tác nhân Nhân viên/quản lí

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Nhân viên/quản lí đến trangđăng nhập

2 Hiển thị form đăng nhập chonhân viên

3 Điền tên tài khoản và mậtkhẩu vào form

4 Kiểm tra tên tài khoản và mậtkhẩu

5 Chuyển đến trang chủ củatrang quản lí

Luồng thay thế

A1 Người dùng nhập sai tài khoản, mật khẩu

5 Yêu cầu đăng nhập lạiQuay lại bước 2

Điều kiện trước Phải là nhân viên/quản lí của cửa hàng và có tài khoản trên hệ

thống

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

3.2 Use case đăng xuất:

Use case đăng xuất

Mô tả Nhân viên/quản lí thoát khỏi tài khoản của mình trên hệ thống

Tác nhân Nhân viên/quản lí

Luồng chính Hành vi của tác nhân Hành vi của hệ thống

Trang 23

1 Nhân viên/quản lí nhấn chọnđăng xuất

2 Hiển thị về trang đăng nhập

Luồng thay thế

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

Điều kiện sau Đăng xuất tài khoản trên hệ thống

3.3 Use case thêm/ sửa/ xóa sản phẩm:

Use case thêm/ sửa/ xóa sản phẩm

Mô tả Nhân viên/quản lí thực hiện thêm/ sửa/ xóa sản phẩm

Tác nhân Nhân viên/quản lí

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn mục quản lí sản phẩm 2 Hiển thị giao diện danh sách

sản phẩm

3 Chọn nút thêm sản phẩm 4 Hiển thị giao diện thêm sản

phẩm

5 Nhập thông tin sản phẩmmuốn thêm

6 Chọn nút đồng ý thêm 7 Kiểm tra hợp lệ các thông tin

sản phẩm

8 Lưu vào cơ sở dữ liệu

Luồng thay thế

A1 Thông tin sản phẩm không hợp lệ

8 Hiển thị thông báo thông tin không hợp lệQuay lại bước 4

A2 Sửa thông tin sản phẩm

3 Chọn nút sửa thông tin sản phẩmHiển thị giao diện sửa thông tin sản phẩmQuay lại bước 7

Trang 24

A3 Xóa sản phẩm

3 Chọn nút xóa sản phẩmXóa sản phẩm khỏi cơ sở dữ liệu và cập nhật danh sách trên giaodiện quản lí

Điều kiện trước Nhân viên/quản lí đã đăng nhập vào hệ thống

Điều kiện sau Thực hiện các thao tác thành công

3.4 Use case thêm/ sửa/ xóa tài khoản:

Use case thêm/ sửa/ xóa tài khoản

Mô tả Quản lí thực hiện thêm/ sửa/ xóa tài khoản

Tác nhân Quản lí

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn mục quản lí tài khoản 2 Hiển thị giao diện danh sách

A1 Thông tin sản phẩm không hợp lệ

8 Hiển thị thông báo thông tin không hợp lệQuay lại bước 4

A2 Sửa thông tin tài khoản

3 Chọn nút sửa thông tin tài khoảnHiển thị giao diện sửa thông tin tài khoản

Trang 25

Quay lại bước 7

A3 Xóa tài khoản

3 Chọn nút xóa tài khoảnXóa tài khoản khỏi cơ sở dữ liệu và cập nhật danh sách trên giaodiện quản lí

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

Điều kiện sau Thực hiện các thao tác thành công

3.5 Use case thêm/ sửa/ xóa thể loại:

Use case thêm/ sửa/ xóa thể loại

Mô tả Nhân viên/quản lí thực hiện thêm/ sửa/ xóa thể loại

Tác nhân Nhân viên/quản lí

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn mục quản lí thể loại 2 Hiển thị giao diện danh sách

A1 Thông tin thể loại không hợp lệ

8 Hiển thị thông báo thông tin không hợp lệQuay lại bước 4

A2 Sửa thông tin thể loại

3 Chọn nút sửa thông tin thể loạiHiển thị giao diện sửa thông tin thể loại

Trang 26

Quay lại bước 7

A3 Xóa thể loại

3 Chọn nút xóa thể loạiXóa thể loại khỏi cơ sở dữ liệu và cập nhật danh sách trên giao diệnquản lí

Điều kiện trước Nhân viên/quản lí đã đăng nhập vào hệ thống

Điều kiện sau Thực hiện các thao tác thành công

3.6 Use case thêm / sửa/ xóa danh mục:

Use case thêm/ sửa/ xóa danh mục

Mô tả Nhân viên/quản lí thực hiện thêm/ sửa/ xóa danh mục/thương hiệu

Tác nhân Nhân viên/quản lí

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn mục quản lí danh mục 2 Hiển thị giao diện danh sách

A1 Thông tin danh mục không hợp lệ

8 Hiển thị thông báo thông tin không hợp lệQuay lại bước 4

A2 Sửa thông tin danh mục

3 Chọn nút sửa thông tin danh mụcHiển thị giao diện sửa thông tin danh mục

Trang 27

Quay lại bước 7

A3 Xóa danh mục

3 Chọn nút xóa thể loạiXóa danh mục khỏi cơ sở dữ liệu và cập nhật danh sách trên giaodiện quản lí

Điều kiện trước Nhân viên/quản lí đã đăng nhập vào hệ thống

Điều kiện sau Thực hiện các thao tác thành công

3.7 Use case thêm / sửa/ xóa quảng cáo:

Use case thêm/ sửa/ xóa quảng cáo

Mô tả Quản lí thực hiện thêm/ sửa/ xóa quảng cáo

Tác nhân Quản lí

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn mục quản lí quảng cáo 2 Hiển thị giao diện danh sách

A1 Thông tin quảng cáo không hợp lệ

8 Hiển thị thông báo thông tin không hợp lệQuay lại bước 4

A2 Sửa thông tin quảng cáo

3 Chọn nút sửa thông tin quảng cáoHiển thị giao diện sửa thông tin quảng cáo

Trang 28

Quay lại bước 7

A3 Xóa quảng cáo

3 Chọn nút xóa quảng cáoXóa quảng cáo khỏi cơ sở dữ liệu và cập nhật danh sách trên giaodiện quản lí

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

Điều kiện sau Thực hiện các thao tác thành công

3.8 Use case xem thông tin các đơn hàng:

Use case xem thông tin đơn hàng

Mô tả Nhân viên/quản lí xem thông tin của các đơn hàng

Tác nhân Nhân viên/quản lí

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn mục quản lí đơn hàng 2 Hiển thị giao diện danh sách

các đơn hàng

Luồng thay thế

A1 Xem thông tin chi tiết của một đơn hàng

3 Chọn mục xem thông tin chi tiết của một đơn hàng

4 Hiển thị cửa sổ thông tin chi tiết của đơn hàng

5 Chọn close để đóng cửa sổ thông tin chi tiết đơn hàng

Điều kiện trước Nhân viên/quản lí đã đăng nhập vào hệ thống

Điều kiện sau Thực hiện các thao tác thành công

3.9 Use case tìm kiếm, thống kê các đơn hàng:

Use case tìm kiếm – thống kê đơn hàng

Mô tả Quản lí tìm kiếm – thống kê các đơn hàng

Tác nhân Quản lí

Luồng chính Hành vi của tác nhân Hành vi của hệ thống

Trang 29

A1 Chọn một ngày nhất định muốn xuất thông tin các đơn hàng

3 Chọn một ngày nhất định muốn xuất thông tin các đơn hàng

4 Tìm kiếm thông tin đơn hàngQuay lại bước 4

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

Điều kiện sau Thực hiện các thao tác thành công

3.10 Use case thêm sách vào giỏ hàng:

Use case thêm sách vào giỏ hàng

Mô tả Thêm sách vào giỏ hàng

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn vào sản phẩm bất kì 2 Hiển thị giao diện chi tiết sản

phẩm

3 Nhấn vào nút thêm vào giỏhàng

4 Hiển thị số lượng món hàngđược thêm vào giỏ hàng tại icongiỏ hàng

Luồng thay thế

Trang 30

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

Điều kiện sau Thực hiện các thao tác thành công

3.11 Use case chỉnh sửa giỏ hàng:

Use case chỉnh sửa giỏ hàng

Mô tả Chỉnh sửa sản phẩm trong giỏ hàng

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn vào giỏ hàng 2 Hiển thị giao diện chi giỏ

Luồng thay thế

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

Điều kiện sau Thực hiện các thao tác thành công

3.12 Use case thanh toán:

Use case thanh toán

Mô tả Thanh toán đơn hàng

Tác nhân Khách hàng

Luồng chính Hành vi của tác nhân Hành vi của hệ thống

Trang 31

1 Chọn vào giỏ hàng 2 Hiển thị giao diện chi giỏ

hàng

3 Chọn vào nút thanh toán 4 Hiển thị giao diện thanh toán

5 Điền thông tin thanh toán vàchọn phương thức thanh toán

6 Hệ thống ghi nhận thông tinthanh toán và lưu vào CSDL

Luồng thay thế

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

Điều kiện sau Thực hiện các thao tác thành công

3.13 Use case tạo tài khoản:

Use case tạo tài khoản

Mô tả Tạo tài khoản khách hàng

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn vào nút “Create anaccount”

2 Hiển thị giao diện đăng ký tàikhoản

3 Điền thông tin tài khoản cầntạo mới

4 Ghi nhận thông tin và gửiemail xác nhận tài khoản

5 Xác minh tài khoản 6 Lưu vào CSDL

Luồng thay thế

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

Điều kiện sau Thực hiện các thao tác thành công

Trang 32

3.14 Use case chỉnh sửa thông tin tài khoản:

Use case chỉnh sửa thông tin tài khoản

Mô tả Tạo tài khoản khách hàng

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn vào phần My Account 2 Hiển thị giao diện thông tin

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

Điều kiện sau Thực hiện các thao tác thành công

3.15 Use case quên mật khẩu:

Use case tạo tài khoản

Mô tả Đặt lại mật khẩu khi quên mật khẩu

Tác nhân Khách hàng

Luồng chính

Hành vi của tác nhân Hành vi của hệ thống

1 Chọn vào nút “ForgotPassword”

2 Hiển thị giao diện quên mậtkhẩu

3 Điền thông tin xác minh đểyêu cầu khôi phục mật khẩu

4 Ghi nhận thông tin và gửiemail xác nhận

Trang 33

5 Thay đổi mật khẩu theo mongmuốn

6 Ghi nhận thay đổi và lưuxuống CSDL

Luồng thay thế

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

Điều kiện sau Thực hiện các thao tác thành công

Trang 34

CHƯƠNG 4: PHÂN TÍCH HỆ THỐNG

1 Sơ đồ lớp:

1.1 Sơ đồ lớp mức phân tích:

Trang 35

1.2 Danh sách các lớp đối tượng:

Lưu thông tin tài khoản

của nhân viên/quản lí

trong hệ thống quản lí

Trang 36

1.3.2 Lớp Sliders:

Lưu thông tin quảng cáo

trong hệ thống quản lí

1.3.3 Lớp Brands:

Lưu thông tin về thể loại

sách trong hệ thống quản

brandName Tên thể loại/thương hiệubrandAddress Địa chỉ của thương hiệubrandPhoneNumber Số điện thoại liên lạcbrandImage Hình ảnh thể loại/thương

hiệu

1.3.4 Lớp Categories:

Lưu thông tin danh mục

Trang 37

1.3.5 Lớp Products:

Lưu thông tin sản phẩm

Lưu thông tin giỏ hàng

Trang 38

1.3.7 Lớp Orders:

Lưu thông tin hóa đơn

trong hệ thống quản lí

informationPersonal Thông tin khách hàng

1.3.8 Lớp Favourite:

Lưu thông tin hóa đơn

trong hệ thống quản lí

isFavourite Trạng thái yêu thích

1.3.9 Lớp Comments:

Lưu thông tin hóa đơn

trong hệ thống quản lí

replyContent Phản hồi bình luận

Trang 39

2 Sơ đồ tuần tự:

2.1 Đăng nhập/ đăng xuất:

Ngày đăng: 01/02/2023, 21:10

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

w