. Mục tiêu của đề tài Nắm bắt được quy trình hoạt động của website. Biết được cách xây dựng và quản lý hệ thống bán hàng Tạo dựng được mô hình bán hàng Xây dựng thành công phần mềm có đầy đủ các chức năng cần thiết và hoạt động hiệu quả, áp dụng công nghệ thông tin vào quản lý các mặt hàng cho công ty. Trình bày được các vấn đề liên quan đến PHP, HTML, CSS, BootStrap, Xampp, Hệ quản trị MySQL,... Phân tích hệ thống chương trình bao gồm giao diện, các ues case nhằm đáp ứng nhu cầu người dùng. Triển khai và cài đặt chương trình Đưa chương trình vào hoạt động thử nghiệm
Lý do chọn đề tài
Ngày nay, các ứng dụng công nghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa học kỹ thuật cũng như đời sống, máy tính trở thành công cụ trợ giúp đắc lực cho con người trong lưu trữ, phân tích và xử lý thông tin Ở nước ta, cùng với sự phát triển chung của nền kinh tế, tin học ngày càng được ứng dụng rộng rãi trong các công tác quản lý và từng bước khẳng định sức mạnh cũng như vị trí quan trọng của mình. Đặc biệt xu thế mua sắm trên mạng internet cũng ngày càng phát triển Vì vậy việc ứng dụng công nghệ thông tin và số hóa hệ thống của các cửa hàng truyền thống cũng phát triển theo Muốn tăng được sức bán và cạnh tranh trên thị trường thì mỗi cửa hàng đều cần có hệ thống thông minh để quản lý dữ liệu và hàng hóa cũng đến tay người tiêu dùng một cách dễ dàng hơn.
Vì vậy, chúng em đã lên ý tưởng thiết kế hệ thống quản lý và website bán hàng cho hệ thống cửa hàng bánh Fresh Garden Với nhiều chính sách được đưa ra nhằm ưu tiên phát triển cửa hàng bánh trên hệ thống thương mại điện tử:
- Dễ dàng tìm kiếm, lựa chọn sản phẩm
- Có nhiều lựa chọn hơn
- Có nhiều ưu đãi về giá bán
- Có nhiều chương trình ưu đãi dành riêng cho khách hàng mua trực tuyến
- Phương thức thanh toán đa dạng
Mục tiêu của đề tài
- Nắm bắt được quy trình hoạt động của website.
- Biết được cách xây dựng và quản lý hệ thống bán hàng
- Tạo dựng được mô hình bán hàng
- Xây dựng thành công phần mềm có đầy đủ các chức năng cần thiết và hoạt động hiệu quả, áp dụng công nghệ thông tin vào quản lý các mặt hàng cho công ty
- Trình bày được các vấn đề liên quan đến PHP, HTML, CSS, BootStrap, Xampp,
- Phân tích hệ thống chương trình bao gồm giao diện, các ues case nhằm đáp ứng nhu cầu người dùng.
- Triển khai và cài đặt chương trình
- Đưa chương trình vào hoạt động thử nghiệm.
Giới hạn và phạm vi của đề tài
- Trình bày được các vấn đề liên quan đến PHP, HTML, CSS, BootStrap, Xampp,
Hệ quản trị MySQL, xây dựng chủ yếu là trên local host.
- Tập chung xây dựng hệ thống quản lý dữ liệu và giải quyết vấn đề liên quan.
- Tạo dựng website bán hàng cho hệ thống.
Kết quả dự kiến đạt được
- Bản báo cáo đặc tả về phân tích, thiết kế hệ thống thông tin.
- Ứng dụng quản lý gồm:
Quản lý danh mục sản phẩm.
Báo cáo tổng hợp số lượng đơn hàng được xuất bán.
Tổng kết doanh thu theo ngày.
Quản lý tài khoản admin
Quản lý tài khoản khách hàng
- Xây dựng được một website chuyên nghiệp đầy đủ các chức năng trên môi trường localhost cá nhân và mở hướng thêm nếu đủ khả năng là đẩy trang website lên 1 host công cộng.
Tìm hiểu về PHP
PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Ngôn ngữ HTML là một trong các loại ngôn ngữ được sử dụng trong lập trình web HTML là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên World Wide Web, là ngôn ngữ lập trình được đánh giá là đơn giản Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML
- Là mã nguồn mở nên người dùng có thể cài đặt, sử dụng PHP dễ dàng
- PHP là ngôn ngữ lập trình thân thiện, thích hợp với website
- Nhúng dễ dàng vào trang HTML
- Tương thích với nhiều ngôn ngữ/ trình duyệt web.
- Góp phần gia tăng trải nghiệm của người sử dụng với website.
- Độ bảo mật cao, đảm bảo website hoạt động an toàn, ổn định.
- Thư viện code phong phú nên việc học tập, ứng dụng ngôn ngữ PHP trong thiết kế website cũng nhanh chóng, đơn giản hơn.
- Chỉ hoạt động trên các ứng dụng web.
- Cấu trúc thường khá phức tạp và không đẹp mắt như ngôn ngữ lập trình khác.
2.1.4 Hoạt động của ngôn ngữ lập trình PHP
- Ứng dụng PHP trong thiết kế website.
- Hỗ trợ người dùng thực hiện các thao tác tạo/ mở/ đóng/ viết/ xóa/ đọc các tệp dữ liệu tại server.
- Nhận/ gửi cookie (tệp được website truy cập tạo nên).
- Xây dựng các ứng dụng/ chương trình cho máy chủ
- Hỗ trợ người dùng xóa/ thêm hay sửa đổi các dữ liệu trong CSDL.
- Hỗ trợ kiểm soát việc truy cập của người sử dụng.
- Ngoài ra, PHP có thể được sử dụng để mã hóa dữ liệu.
Xây dựng chương trình theo mô hình MVVM
Mô hình MVVM cho phép tách biệt dữ liệu (Model), mã thực thi (logic hay ViewModel) và giao diện người dùng (View).
Trong mô hình MVVM, các điều khiển (control) như Button, ListView, SearchBar,… không thể kết buộc trực tiếp đến dữ liệu mà phải thông qua thuộc tính Command – là một thuộc tính kiểu ICommand.
Hình 2.1 Mô hình lập trình MVVM
View: Thành phần giao diện của ứng dụng Tương tự như ở trong mô hình
MVC, View là thành phần duy nhất mà người dùng có thể tương tác được trong chương trình, nó chính là thành phần mô tả dữ liệu.
Một điểm khác biệt so với các mô hình khác là View trong mô hình này tích cực hơn Nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thông qua tính năng là: binding, command.
Model: Cũng tương tự như trong mô hình MVC Model là các đối tượng giúp truy xuất và thao tác trên dữ liệu thực sự.
ViewModel: Lớp trung gian giữa View và Model ViewModel có thể được xem là thành phần thay thế cho Controller trong mô hình MVC Nó chứa các mã lệnh cần thiết để thực hiện data binding, command.
Hệ quản trị MySQL
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt động theo mô hình client-server Với RDBMS là viết tắt của Relational Database Management System MySQL được tích hợp apache, PHP.
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL
- Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và 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.
- Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao.
- Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
- Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết.
- Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
- Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm với các hạn chế về chức năng mà một vào ứng dụng có thể cần.
- Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài liệu tham khảo, các giao dịch, kiểm toán,…) làm cho nó kém tin cậy hơn so với một số hệ quản trị cơ sở dữ liệu quan hệ khác.
- Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server,hoặc tạo cache MySQL
2.3.4 Phương thức hoạt động của MySQL
Hình 2.2 Phương thức hoạt động
Một máy client sẽ liên lạc với máy server trong một mạng nhất định Mỗi client có thể gửi một request từ giao diện người dùng (Graphical user interface – GUI) trên màn hình, và server sẽ trả về kết quả như mong muốn Miễn là cả hai hiểu nhau Cách vận hành chính trong môi trường MySQL cũng như vậy:
1 MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa các bảng.
2 Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL.
3 Ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client.
Quy trình xây dựng ứng dụng
- Phân tích nghiệp vụ: xác định yêu cầu và phân tích chi tiết
- Xây dựng và thiết kế cơ sở dữ liệu
- Test thử và chỉnh sửa
Ngôn ngữ mô hình hóa UML và công cụ StarUML
Biểu đồ UML (Unified Modeling Language) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũng như những người sử dụng nó; tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng.
Một số dạng biểu đồ UML phổ biến như: Biểu đồ Usecase, Biểu đồ lớp, Biểu đồ trạng thái, Biểu đồ tuần tự, Biểu đồ hoạt động
Một biểu đồ Use case chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với Use case mà hệ thống cung cấp Một Use case là một lời miêu tả của một chức năng
- Hệ thống: Với vai trò là thành phần của biểu đồ use case, hệ thống biểu diễn ranh giới giữa bên trong và bên ngoài của một chủ thể trong phần mềm chúng ta xây dựng.Một hệ thống ở trong biểu đồ use case không nhất thiết là một hệ phần mềm; nó có thể là một chiếc máy,hoặc là một hệ thống thực như một doanh nghiệp, một trường đại học,…
- Tác nhân (actor): Là người dùng của hệ thống, một tác nhân có thể là một người dùng thực hoặc các hệ thống máy tính khác có vai trò nào đó trong hoạt động của hệ thống Như vậy, tác nhân thực hiện các use case Một tác nhân có thể thực hiện nhiều use case và ngược lại một use case cũng có thể được thực hiện bởi nhiều tác nhân
Tác nhân được kí hiệu:
- Các use case: Đây là thành phần cơ bản của biểu đồ use case Các use case được biểu diễn bởi các hình elip.Tên các use case thể hiện một chức năng xác định của hệ thống.
Các Use case được kí hiệu bằng hình elips
Mối quan hệ giữa các use case:
Association: thường được dùng để mô tả mối quan hệ giữa Actor và Use Case và giữa các Use Case với nhau
Include: là quan hệ giữa các Use Case với nhau, nó mô tả việc một Use Case lớn được chia ra thành các Use Case nhỏ để dễ cài đặt (module hóa) hoặc thể hiện sự dùng lại.
2.5.3 Biểu đồ lớp (Class Diagram)
Một biểu đồ lớp chỉ ra cấu trúc tĩnh của các lớp trong hệ thống Các lớp là đại diện cho các “đối tượng” được xử lý trong hệ thống
Một lớp có những thành phần sau:
Giữa các lớp luôn có sự liên kết với nhau Mối liên hệ ngữ nghĩa giữa hai hay nhiều lớp chỉ ra sự liên kết giữa các thể hiện của chúng Mối quan hệ về mặt cấu trúc chỉ ra các đối tượng của lớp này có kết nối với các đối tượng của lớp khác.
Biểu đồ tuần tự là biểu đồ dùng để xác định các trình tự diễn ra sự kiện của một nhóm đối tượng nào đó Nó miêu tả chi tiết các thông điệp được gửi và nhận giữa các đối tượng đồng thời cũng chú trọng đến việc trình tự về mặt thời gian gửi và nhận các thông điệp đó.
Biểu đồ hoạt động là biểu đồ mô tả các bước thực hiện, các hành động, các nút những luồng thực thi có nhiều tiến trình chạy song song thì biểu đồ hoạt động là sự lựa chọn tối ưu cho việc thể hiện Biểu đồ hoạt động khá giống với biểu đồ trạng thái ở tập các kí hiệu nên rất dễ gây nhầm lẫn Khi vẽ chúng ta cần phải xác định rõ điểm khác nhau giữa hai dạng biểu đồ này là biểu đồ hoạt động tập trung mô tả các hoạt động và kết qủa thu được từ việc thay đổi trạng thái của đối tượng còn biểu đồ trạng thái chỉ mô tả tập tất cả các trạng thái của một đối tượng và những sự kiện dẫn tới sự thay đổi qua lại giữa các trạng thái đó.
StarUML là một mô hình nền tảng, là phần mềm hỗ trợ UML (Unified Modeling Language) Nó hỗ trợ các phương pháp tiếp cận MDA (Model Driven Architecture) bằng cách hỗ trợ các khái niệm hồ sơ UML Tức là StarUML hỗ trợ phân tích và thiết kế hệ thống một điều mà bất cứ dự án nào đều cần có Ngoài ra dùng StarUML sẽ đảm bảo tối đa hóa năng suất và chất lượng của dự án phần mềm của bạn.
StarUML là bức tranh của hệ thống từ những phối cảnh khác nhau, nó bao gồm tất cả các mô hình UML, Actor, Use Case Case, Object,…trong hệ thống Người lập trình có thể dùng mô hình như một bản thiết kế cho công việc xây dựng hệ thống.
StarUML cung cấp tùy biến tối đa với môi trường của người dùng bằng cách cung cấp các biến tùy biến mà có thể được áp dụng trong phương pháp phát triển phần mềm của người sử dụng, nền tảng dự án, và ngôn ngữ.
StarUML cung cấp khả năng mở rộng và tính linh hoạt tuyệt vời Nó cung cấp khuôn khổ cho việc mở rộng các chức năng của công cụ Add-In Nó được thiết kế để cho phép truy cập vào tất cả các chức năng của mô hình meta mô hình và công cụ thông qua COM Tự động hóa, và nó cung cấp phần mở rộng của menu và các mục tùy chọn Ngoài ra, người dùng có thể tạo ra các phương pháp tiếp cận và các khuôn khổ riêng của mình theo phương pháp của họ.
Khảo sát hệ thống
3.1.1 Giới thiệu đơn vị khảo sát Đơn vị khảo sát: Fresh Garden bánh và cà phê Địa chỉ: Hệ thống Fresh Garden Hà Nội
Giới thiệu : Fresh Garden bánh và cà phê khởi nguồn từ năm 2011 là thương hiệu sản xuất và bán bánh với slogan “Bánh tươi mỗi ngày” Những năm đầu, sản phẩm chủ lực của Fresh Garden là bánh kem và bánh mỳ tươi Tới nay, Fresh Garden đã hơn 60 cửa hàng tại Hà Nội, Tp.HCM
Fanpage: https://www.facebook.com/freshgardenbanhvacaphe
Hình 3.1 Cửa hàng bánh tươi Fresh Garden
- Các loại bánh: Bánh mì tươi, bánh kem tươi, bánh pizza, bánh mì, bánh tráng
- Đồ uống: Cà phê, nước ép, sữa chua, trà
- Bán trực tiếp tại cửa hàng
- Bán trên các nền tảng điện tử: Now, BaeMin, Gojek, Grap Food, Foody,
- Internet banking/ Ví điện tử
- Quét mã QR code tại cửa hàng
- Các dịch vụ ưu đãi giảm giá, quà tặng khách hàng khi mua sản phẩm
- Đơn hàng nội thành Hà Nội và TP Hồ Chí Minh: Giao trong ngày kể từ thời điểm chốt đơn.
- Khách hàng sẽ được kiểm tra sản phẩm thuộc đơn hàng của mình trước khi thanh toán
3.1.2.5 Tổ chức quản lí hoạt động
Nghiên cứu thị trường mục tiêu và phân tích các đối thủ cạnh tranh Từ đó tìm hiểu các khách hàng tiềm năng và duy trì quan hệ với các khách hàng đã có.
Bán kinh doanh tối đa hóa doanh thu từ tất cả các sản phẩm Tổ chức, điều hành, hướng dẫn, hỗ trợ, vận hành và phát triển hệ thống các sàn kinh doanh bán hàng và bộ phận marketing hiệu quả.
Tiến tới hệ thống tổ chức áp dụng công nghệ tối đa nhằm đặt hiệu quả doanh thu, lợi nhuận.
Nhân viên trực page: Nguyễn Thu Ngân
* Phỏng vấn nhân viên cửa hàng
Nội dung phỏng vấn: Công việc của nhân viên bán hàng
Câu hỏi Câu trả lời
1 Các sản phẩm tại cửa hàng là gì?
Bánh mì tươi, bánh kem tươi, bánh pizza, bánh gato, cupcake
2 Khách hàng thuộc đối tượng nào?
Sinh viên, nhân viên văn phòng (chủ yếu nữ giới)
3 Có sử dụng thẻ tích điểm cho cửa hàng không?
4 Cửa hàng đang bán qua các kênh nào?
Trực tiếp tại cửa hàng, qua các app giao đồ ăn gojeck, baemin, foody, aha move
5 Khách hàng thường thanh toán bằng hình thức gì?
Tiền mặt, ví điện tử
6 Với khách hàng đặt bánh và giao bánh tân nơi thì hình thức như thế nào?
Chốt đơn với cửa hàng và thanh toán trước qua ví điện tử
* Phỏng vấn quản lí cửa hàng
Nội dung phỏng vấn: Nghiệp vụ và mong muốn của quản lý
Câu hỏi Câu trả lời
1 Hiện tại cửa hàng đang bán theo phương thức nào?
Bán tại cửa hàng và bán trên cách kênh online
2 Sản phẩm bán chạy nhất là gì?
3 Nguồn thu chính của cửa hàng là từ kênh bán
Kênh đặt hàng qua Facebook nào?
4 Quản lí khách hàng như thế nào?
Hiện tại thì chưa có thẻ thành viên
5.Cửa hàng có các chương trình khuyến mãi và quảng cáo như thế nào?
Hầu hết các khuyến mại và quảng cáo đều chạy trên mạng xã hội, ngoài ra là các banner treo tại cửa hàng. Khách hàng sẽ được các mã giảm giá tùy vào chương trình của cửa hàng
6.Giải quyết phản hồi khách hàng như thế nào?
Mọi khiếu nại và phản hồi thì khách hàng có thể thông qua các fanpage hoặc gọi hotline Tùy các trường hợp để có những giải quyết khác nhau
7 Quản lý đơn hàng theo hình thức nào?
Qua quầy thu ngân thì sẽ biết được sản phẩm bán ra và chỉ có thông tin cơ bản của khách hàng như tên, số điện thoại, địa chỉ ship nếu khách đặt trước Còn nếu mua trực tiếp thì chưa có thông tin
8 Chi phí cho việc ship hàng tận nơi cho khách có lớn không?
9 Nhân viên cửa hàng gồm bao nhiêu người trong ca và quản lý họ như thế nào?
Nhân viên 1 ca gồm 4-5 người Họ sẽ chấm công vào máy quét vân tay, cuối tháng sẽ được tổng hợp
10 Có mong muốn gì với hệ thống sắp tới
Quan trọng nhất là có thêm tính năng quản lý khách hàng và quản lý nhân viên
* Thống kê kết quả khảo sát
- Đem lại cho khách hàng nhiều sự lựa chọn mua hàng và thanh toán
- Cập nhật thông tin với khách hàng khá nhanh do sử dụng các mạng xã hội
- Mất chi phí trung gian cho bên thứ ba (Sàn Thương mại điện tử)
- Khó khăn trong việc kiểm soát lượng bán hàng và sản phẩm tại cửa hàng (bán tại cửa hàng)
- Thống kê sản phẩm, doanh số tại cửa hàng gặp khó khăn
- Giải quyết trong thanh toán trên các sàn thương mại mất thời gian
- Đặc biệt chưa quản lý được lượng khách hàng và có được thông tin cụ thể của họ để lên các chương trình phù hợp
3.1.5 Các chức năng dự kiến của hệ thống Đối tượng sử dụng hệ thống Đối tượng sử dụng hệ thống website mua hàng trực tuyến: Người độc thân, sinh viên, nhân viên văn phòng sử dụng dịch vụ mua sắm online
Hệ thống bán hàng dự kiến gồm các chức năng sau đây:
* Chức năng 1: Quản lí thông tin khách hàng
- Xem thông tin khách hàng
- Cập nhật tích điểm khách hàng
* Chức năng 2: Quản lí sản phẩm
- Thêm, sửa, xóa thông tin sản phẩm
- Quản lí số lượng, giá sản phẩm
* Chức năng 3: Quản lí nhân viên
- Xem, cập nhật tài khoản nhân viên
- Quản lí ca làm, phân quyền nhiệm vụ nhân viên
* Chức năng 4: Quản lí web
- Kiểm soát bình luận, phản hồi
* Chức năng 5: Quản lí đơn hàng
- Tạo, cập nhật, hủy đơn hàng
* Chức năng 6: Báo cáo thống kê
- Nhận được báo cáo: Doanh thu, tồn kho, lượng truy cập trang web…
Cửa hàng cần xây dựng 1 hệ thống để quản lý, giới thiệu và bán các sản phẩm
Hoạt động của hệ thống được xây dựng đảm bảo các yêu cầu sau:
3.1.6.1 Đối tượng là khách hàng:
- Khách hàng có thể tìm kiếm thông tin về các sản phẩm, có thể tìm một loại sản phẩm bằng cách cung cấp thông tin về sản phẩm đấy.
- Sau khi tìm thấy sản phẩm, khách hàng có thể xem thông tin chi tiết thành phần và giá sản phẩm.
- Khi mua sản phẩm khách hàng phải cung cấp đầy đủ thông tin: Họ tên, ngày sinh, địa chỉ, số điện thoại,
- Khi mua sản phẩm khách hàng sẽ được hướng dẫn về các dịch vụ của cửa hàng như chính sách đặt hàng, phí giao hàng, các chương tình khuyến mại của cửa hàng.
- Khi thanh toán khách hàng sẽ được lựa chọn phương thức thanh toán sao cho phù hợp với từng người nhất nhất như: Trả bằng tiền mặt, trả qua thẻ ngân hàng, trả góp với lãi suất theo chính sách của cửa hàng.
- Khách hàng có thể tương tác với các bài đăng, phản hồi, khiếu nại với cửa hàng.
3.1.6.2 Đối tượng là quản lý
- Quản lý nhân viên bằng cách tạo lập tài khoản cho họ, phân quyền cho họ thực hiện các chức năng về bán hàng và phản hồi khách hàng
- Quản lí sản phẩm: Đối với hàng hóa, người quản lý được quyền thêm, sửa thông tin, xóa các đặc tính cơ bản liên quan đến sản phẩm
- Quản lí web: quản lí và nhân viên được phân sẽ tạo ra các bài viết quản bá sản phẩm ngoài ra sẽ là những bài viết tương tác với người tiêu dùng để web có lượng truy cập và lan tỏa lớn hơn; các bài viết có thể được sửa nôi dụng và xóa nếu có sai sót
- Quản lý thông tin của các nhân viên trong cửa hàng
- Ghi nhận và giải quyết các yêu cầu của khách hàng
3.1.6.3 Đối tượng là nhân viên
- Tư vấn, giới thiệu, giải đáp thắc mắc của khách hàng về các dòng sản phẩm của cửa hàng
- Hướng dẫn khách hàng về các dịch vụ của cửa hàng, các chương trình khuyến mại đang diễn ra và sắp diễn ra
- Nhập thông tin cá nhân của khách hàng
- Thực hiện thanh toán cho khách hàng
- Báo cáo, thống kê về số lượng bánh đã bán, dòng bánh bán ít nhất và chạy nhất.
Biểu đồ USECASE và đặc tả
3.2.1.2 Sơ đồ USECASE tổng quát
Hình 3.2 Sơ đồ USECASE tổng quát
3.2.1.3 Sơ đồ phân rã USECASE
1 Đối với Quản lý (Nhân viên được phân quyền)
Hình 3.3 Usecase Quản lý nhân viên
Hình 3.4 Usecase Quản lý sản phẩm
Hình 3.5 Usecase Quản lý web
Hình 3.6 Usecase Quản lý Khách hàng
Hình 3.7 Usecase quản lý đơn hàng
Hình 3.8 Usecase quản lý báo cáo thống kê
Hình 3.9 Usecase đối với Khách hàng
3.2.2.1 Đặc tả usecase đăng nhập
Bảng 3.1 Đặc tả Use case đăng nhập
Tên use case Đăng nhập
Mục đích Cho phép quản lý và khách hàng muốn đăng nhập vào hệ thống để sử dụng dịch vụ từ hệ thống hoặc website.
Tiền điều kiện Khách hàng , quản lý đã có tài khoản Đảm bảo tối thiểu Không có Đảm bảo thành công Đăng nhập vào trong hệ thống
Kích hoạt Khách hàng, quản lý chọn chức năng đăng nhập
Hành động của tác nhân Hành động của hệ thống
1 Chọn chức năng đăng nhập
3 Nhập thông tin đăng nhập và nhấn nút đăng nhập
2 Hiển thị form đăng nhập
4 Kiểm tra thông tin đăng nhập nếu đúng định dạng thì cho chuyển qua CSDL, nếu sai thì thông báo cho người dùng
5 Hệ thống quay lại trang chủ
Ngoại lệ - Hệ thống thông báo tên tài khoản và mật khẩu không chính xác.
- Hệ thống thông báo nhập thông tin chưa đầy đủ.
- Hệ thống thông báo đăng nhập thất bại.
Mức độ sử dụng Thường xuyên
3.2.2.2 Đặc tả usecase đăng ký
Bảng 3.2 Đặc tả Use case đăng ký
Tên use case Đăng ký
Tác nhân chính Khách hàng chưa có tài khoản.
Mục đích Cho phép khách hàng mới tạo tài khoản để trở thành khách hàng thân quen của cửa hàng.
Tiền điều kiện Khách hàng chưa có tài khoản,số điện thoại và email chưa đăng ký tài khoản. Đảm bảo thành công Khách hàng đăng ký được tài khoản và lưu tài khoản vào trong hệ thống.
Kích hoạt Khách hàng chọn chức năng đăng ký
Hành động của tác nhân Hành động của hệ thống
1 Khách hàng chọn chức năng đăng ký
3 Nhập thông tin đăng ký và nhấn nút đăng ký
2 Hiển thị form đăng ký và yêu cầu nhập thông tin.
4 Kiểm tra thông tin đăng ký nếu đúng định dạng thì cho chuyển qua CSDL và kiểm tra xem tên tài khoản đã tồn tại hay chưa, nếu sai thì thông báo cho khách hàng.
5.Hệ thống trả về kết quả.
5 Hệ thống quay lại trang đăng nhập
Ngoại lệ - Hệ thống thông báo số điện thoại hoặc email đã được đăng ký.
- Hệ thống thông báo chưa nhập đầy đủ hoặc thông tin nhập vào không hợp lệ.
- Hệ thống thông báo đăng ký thất bại.
Mức độ sử dụng Thường xuyên
3.2.2.3 Đặc tả usecase đổi mật khẩu
Bảng 3.3 Đặc tả usecase đổi mật khẩu
Tên use case Đổi mật khẩu
Tác nhân chính Khách hàng, quản lý và nhân viên
Mục đích Chức năng này cho phép người dùng có thể đổi mật khẩu tùy ý muốn.
Tiền điều kiện Người dùng đăng nhập vào hệ thống Đảm bảo thành công Người dùng đổi thành công mật khẩu mà mình mong muốn.
Kích hoạt Người dùng chọn chức năng đổi mật khẩu
Hành động của tác nhân Hành động của hệ thống
1 Chọn chức năng đổi mật khẩu
3 Nhập thông tin cần đổi và nhấn nút đổi mật khẩu
2 Hiển thị form đổi mật khẩu.
4 Kiểm tra thông tin nhập vào nếu đúng định dạng thì cho chuyển qua CSDL và kiểm xem người dùng nhập mật khẩu cũ đã đúng chưa, nếu sai thì thông báo cho người dùng.
5.Hệ thống trả về kết quả.6.Quay lại trang thông tin cá nhân
Ngoại lệ - Hệ thống thông báo nhập mật khẩu cũ không đúng.
- Hệ thống thông báo chưa nhập đầy đủ hoặc thông tin nhập vào không hợp lệ.
- Hệ thống thông báo đổi mật khẩu thất bại.
Mức độ sử dụng Bình thường
3.2.2.4 Đặc tả usecase thêm sản phẩm
Bảng 3.4 Đặc tả usecase thêm sản phẩm
Tên use case Thêm sản phẩm
Tác nhân chính Quản Lý
Mục đích Chức năng này cho phép quản lý thêm sản phẩm mới vào danh sách sản phẩm của cửa hàng để bán trên website.
Tiền điều kiện Quản lý đăng nhập vào hệ thống. Đảm bảo thành công Quản lý thêm sản phẩm mới thành công
Kích hoạt Quản lý chọn chức năng thêm sản phẩm mới
Hành động của tác nhân Hành động của hệ thống
1 Chọn chức năng quản lý sản phẩm.
3 Quản lý chọn chức năng thêm sản phẩm mới.
5 Nhập thông tin về sản phẩm mới và nhấn thêm
2 Hệ thống hiển thị ra danh sách sản phẩm.
4 Hệ thống hiển thị form thêm mới sản phẩm.
6 Kiểm tra thông tin nhập vào nếu đúng định dạng và kiểm xem sản phẩm đã tồn tại hay chưa, nếu sai thì thông báo cho quản lý. 7.Hệ thống trả về kết quả.
8.Quay lại trang quản lý sản phẩm
Ngoại lệ - Hệ thống thông báo sản phẩm đã tồn tại trên hệ thống.
- Hệ thống thông báo chưa nhập đầy đủ hoặc thông tin nhập vào không hợp lệ.
- Hệ thống thông báo thêm sản phẩm thất bại.
Mức độ sử dụng Thường xuyên
3.2.2.5 Đặc tả usecase sửa sản phẩm
Bảng 3.5 Đặc tả usecase thêm sản phẩm
Tên use case Sửa sản phẩm
Tác nhân chính Quản lý
Mục đích Chức năng này cho phép quản lý thay đổi thông tin chi tiết sản phẩm trong danh sách sản phẩm của cửa hàng.
Tiền điều kiện Quản lý đăng nhập vào hệ thống và sản phẩm phải tồn tại trong hệ thống Đảm bảo thành công Quản lý thay đổi được thông tin của sản phẩm thành công
Kích hoạt Quản lý chọn sản phẩm cần sửa
Hành động của tác nhân Hành động của hệ thống
1 Chọn chức năng quản lý sản phẩm.
3 Quản lý chọn sản phẩm cần sửa
5 Nhập thông tin cần thay đổi của sản phẩm và nhấn sửa sản phẩm
2 Hệ thống hiển thị ra danh sách sản phẩm.
4.Hệ thống lấy thông tin về sản phẩm cũ và hiển thị form sửa sản phẩm.
6 Kiểm tra thông tin nhập vào nếu đúng định dạng thì cho chuyển qua CSDL, nếu sai thì thông báo cho admin.
7.Hệ thống trả về kết quả.
8.Quay lại trang quản lý sản phẩm
Ngoại lệ - Hệ thống thông báo chưa nhập đầy đủ hoặc thông tin nhập vào không hợp lệ.
- Hệ thống thông báo sửa sản phẩm thất bại.
Mức độ sử dụng Thường xuyên
3.2.2.6 Đặc tả usecase xóa sản phẩm
Bảng 3.6 Đặc tả usecase xóa sản phẩm
Tên use case Xóa sản phẩm
Tác nhân chính Quản lý
Mục đích Chức năng này cho phép Quản lý có thể xóa sản phẩm bất kỳ nào đó trong cửa hàng
Tiền điều kiện Quản lý đăng nhập vào hệ thống và sản phẩm phải tồn tại trong hệ thống Đảm bảo thành công Quản lý xóa thành công sản phẩm.
Kích hoạt Quản lý chọn sản phẩm cần xóa
Hành động của tác nhân Hành động của hệ thống
1 Chọn chức năng quản lý sản phẩm.
3 Quản lý chọn sản phẩm cần xóa
9.Nếu người dùng nhấn Không
2 Hệ thống hiển thị ra danh sách sản phẩm.
4.Hệ thống hiển thị thông báo bạn có muốn xóa hay không?
6 Hệ thống xác nhận thông tin xóa của Quản lý. 7.Hệ thống trả về kết quả.
8.Quay lại trang quản lý sản phẩm
9 Quay lại trang quản lý sản phẩm
Ngoại lệ - Hệ thống thông báo xóa sản phẩm thất bại.
Mức độ sử dụng Ít dùng
3.2.2.7 Đặc tả usecase tìm kiếm sản phẩm
Bảng 3.7 Đặc tả usecase tìm kiếm sản phẩm
Tên use case Tìm kiếm sản phẩm
Tác nhân chính Quản lý, Nhân viên
Mục đích Chức năng này cho phép Quản lý và nhân viên tìm kiếm sản phẩm mà mình mong muốn
Tiền điều kiện Quản lý và nhân viên đăng nhập vào hệ thống. Đảm bảo thành công Quản lý và nhân viên tra cứu thành công sản phẩm mình mong muốn.
Kích hoạt Quản lý và nhân viên chọn vào ô input tìm kiếm trong quản lý sản phẩm
Hành động của tác nhân Hành động của hệ thống
1 Chọn chức năng quản lý sản phẩm
3.Chọn vào ô input tìm kiếm
4 Nhập thông tin cần tìm kiếm và nhấn nút tìm kiếm
2 Hệ thống hiển thị ra danh sách sản phẩm.
5 Kiểm tra thông tin tìm kiếm của quản lý hoặc nhân viên.
6.Hệ thống trả về kết quả và hiển thị kết quá.
Ngoại lệ - Thông báo sản phẩm này không tồn tại trong hệ thống.
Mức độ sử dụng Thường xuyên
3.2.2.8 Đặc tả usecase thêm danh mục
Bảng 3.8 Đặc tả usecase thêm danh mục
Tên use case Thêm danh mục
Tác nhân chính Quản lý
Mục đích Chức năng này cho phép admin thêm danh mục mới cho cửa hàng
Tiền điều kiện Quản lý đăng nhập vào hệ thống. Đảm bảo thành công Quản lý thêm danh mục mới thành công.
Kích hoạt Quản lý chọn chức năng thêm danh mục mới
Hành động của tác nhân Hành động của hệ thống
1 Chọn chức năng quản lý danh mục
3 Quản lý chọn chức năng thêm danh mục mới.
5 Nhập thông tin về danh mục mới và nhấn thêm danh mục
2 Hệ thống hiển thị ra danh sách danh mục.
4.Hệ thống hiển thị form thêm mới danh mục.
6 Kiểm tra thông tin nhập vào nếu đúng định dạng thì cho chuyển qua CSDL và kiểm xem danh mục đã tồn tại hay chưa, nếu sai thì thông báo cho admin. 7.Hệ thống trả về kết quả.
8.Quay lại trang quản danh mục
Ngoại lệ - Hệ thống thông báo danh mục đã tồn tại trên hệ thống.
- Hệ thống thông báo chưa nhập đầy đủ hoặc thông tin nhập vào không hợp lệ.
- Hệ thống thông báo thêm danh mục thất bại.
Mức độ sử dụng Thường xuyên
Biểu đồ lớp (Class Diagram)
Biểu đồ trình tự
3.4.1 Biểu đồ trình tự đăng nhập, đăng xuất
Hình 3.11 Biểu đồ trình tự đăng nhập
Hình 3.12 Biểu đồ trình tự đăng xuất
Hình 3.13 Biểu đồ trình tự quên mật khẩu
3.4.2 Biểu đồ trình tự đối với khách hàng
Hình 3.14 Biểu đồ trình tự đăng ký tài khoản
Hình 3.15 Biểu đồ trình tự sửa thông tin cá nhân
Hình 3.16 Biểu đồ trình tự tìm kiếm, xem sản phẩm
Hình 3.17 Biểu đồ trình tự thêm sản phẩm vào giỏ
Hình 3.18 Biểu đồ trình tự xóa sản phẩm giỏ hàng
Hình 3.19 Biểu đồ trình tự thanh toán
Hình 3.20 Biểu đồ trình tự Xem lịch sử đơn hàng
Hình 3.21 Biểu đồ trình tự Bình luận phản hồi
3.4.3 Biểu đồ trình tự với Quản lý (Nhân viên được phân quyền)
Hình 3.22 Biểu đồ trình tự Thêm nhân viên
Hình 3.23 Biểu đồ trình tự Xóa nhân viên
Hình 3.24 Biểu đồ trình tự Thêm sản phẩm
Hình 3.25 Biểu đồ trình tự Sửa sản phẩm
Hình 3.26 Biểu đồ trình tự Xóa sản phẩm
Hình 3.27 Biểu đồ trình tự Xác nhận đơn
HÌnh 3.28 Biểu đồ trình tự Trả lời bình luận
Hình 3.29 Biểu đồ trình tự Xem báo cáo thống kê
Biểu đồ hoạt động
3.5.1 Biểu đồ hoạt động đăng nhập/đăng xuất
Hình 3.30 Biểu đồ hoạt động đăng nhập
Hình 3.31 Biểu đồ hoạt động đăng xuất
Hình 3.32 Biểu đồ hoạt động Quên mật khẩu
3.5.2 Biểu đồ hoạt động đối với khách hàng
Hình 3.33 Biểu đồ hoạt động đăng kí tài khoản
Hình 3.34 Biểu đồ hoạt động thay đổi thông tin
Hình 3.35 Biểu đồ hoạt động thêm vào giỏ hàng
Hình 3.36 Biểu đồ hoạt động xóa sản phẩm trong giỏ hàng
Hình 3.37 Biểu đồ hoạt động thanh toán
Hình 3.38 Biểu đồ hoạt động Xem lịch sử đơn hàng
Hình 3.39 Biểu đồ hoạt động Phản hồi, bình luận
3.5.3 Biểu đồ hoạt động với Quản lý (Nhân viên nếu được phân quyền)
Hình 3.40 Biểu đồ hoạt động thêm nhân viên
Hình 3.41 Biểu đồ hoạt động thay đổi thông tin nhân viên
Hình 3.42 Biểu đồ hoạt động xóa nhân viên
Hình 3.43 Biểu đồ hoạt động phân quyền
Hình 3.44 Biểu đồ hoạt động tạo bài viết
Hình 3.45 Biểu đồ hoạt động sửa bài viết
Hình 3.46 Biểu đồ hoạt động xóa bài viết
Hình 3.47 Biểu đồ hoạt động thêm sản phẩm
Hình 3.48 Biểu đồ hoạt động sửa sản phẩm
Hình 3.49 Biểu đồ hoạt động xóa sản phẩm
Hình 3.50 Biểu đồ hoạt động xử lý đơn hàng
Hình 3.51 Biểu đồ hoạt động thêm khách hàng
Hình 3.52 Biểu đồ hoạt động bình luận
Hình 3.53 Biểu đồ hoạt động xóa bình luận
Biểu đồ trạng thái
3.6.1 Biểu đồ trạng thái đăng nhập
Hình 3.54 Biểu đồ trạng thái đăng nhập
3.6.2 Biểu đồ trạng thái tạo tài khoản
Hình 3.55 Biểu đồ trạng thái tạo tài khoản
3.6.3 Biểu đồ trạng thái tìm kiếm sản phẩm
Hình 3.56 Biểu đồ trạng thái tìm kiếm sản phẩm
3.6.4 Biểu đồ trạng thái giỏ hàng
Hình 3.57 Biểu đồ trạng thái giỏ hàng
3.6.5 Biểu đồ trạng thái xử lý đơn hàng
Hình 3.58 Biểu đồ trạng thái xử lý đơn hàng
3.6.6 Biểu đồ trạng thái kiểm tra hành trình vận đơn