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 2LỜ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 3NHẬN XÉT
(Của giáo viên hướng dẫn)
Trang 4MỤC LỤC
Trang 53.3 Use case thêm/ sửa/ xóa sản phẩm: 22
Trang 62.15 Sửa thông tin sản phẩm: 48
Trang 7CHƯƠ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 8là 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 10CHƯƠ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 111.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 12khoả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 13cá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 14CDNviế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 16tớ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 17Là 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 18CHƯƠNG 3: MÔ HÌNH USECASE
1 Sơ đồ Use case mức tổng quát:
1.1 Nhân viên:
Trang 191.2 Quản lí:
Trang 201.3 Quản lí:
Trang 212 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 2215 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 231 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 24A3 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 25Quay 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 26Quay 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 27Quay 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 28Quay 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 29A1 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 311 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 323.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 335 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 34CHƯƠ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 351.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 361.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
lí
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 371.3.5 Lớp Products:
Lưu thông tin sản phẩm
Lưu thông tin giỏ hàng
Trang 381.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 392 Sơ đồ tuần tự:
2.1 Đăng nhập/ đăng xuất: