Bài báo cáo đồ án tốt nghiệp xây dựng website bán quần áo trực tuyến Hiện nay có rất nhiều công nghệ được sử dụng để phát triển website (PHP, ASP, ASP.NET, JSP...). Trong đó công nghệ PHP và ngôn ngữ truy vấn MYSQL có thể là lựa chọn phù hợp để bạn phát triển một trang web vì tốc độ xử lý nhanh. Bên cạnh đó giá thành thấp (không cần mua bản quyền), PHP còn giúp ta phát triền mã nguồn nhanh, dễ dàng, đơn giản hơn. Đặc biệt có số lượng nhà cung cấp hosting nhiều, dễ lựa chọn. Với nhiều ưu điểm nổi bật mà PHP và MYSQL được rất nhiều người sử dụng các trang web lớn như facebook.com... Xuất phát từ những nhu cầu thực tế trên nên chúng em quyết định chọn đề tài “xây dựng website bán quần áo” với ngôn ngữ PHP, nhằm xây dựng một website bán hàng trực tuyến hỗ trợ đầy đủ chức năng nhất cho người dùng.
Trang 1KHOA ĐIỆN TỬ - TIN HỌC
Giảng viên hướng dẫn: Trần Quang Khải
Sinh viên thực hiện:
Cao Trí Nhất MSSV: 0306211273 MSSV:
Lớp: CĐTH11A Khóa: 2021-2024
TP.HỒ CHÍ MINH, năm 2023
Trang 2trường cao đẳng Kỹ Thuật Cao Thắng, để có thể hoàn thành được đồ án tốt nghiệp này
là kết quả nền tảng từ kiến thức của sự giảng dạy tận tình của các quý thầy cô, trang bịcho chúng em những kiến thức quý báu và vận dụng những kiến thức đã học vào côngviệc khi ra trường
Đặc biệt với tấm lòng biết ơn sâu sắc, em xin chân thành cảm ơn thầy TrầnQuang Khải đã trực tiếp hướng dẫn, đóng góp ý kiến, giúp đỡ chúng em hoàn thành đồ
án môn học này
Mặc dù đã cố gắng nổ lực thực hiện đồ án này nhưng với kiến thức và thời gian
có hạn, chắc hẳn đồ án này sẽ không tránh khỏi sai sót Chúng em rất mong nhận được
sự thông cảm và đóng góp ý kiến của thầy cô để chúng em có thể hoàn thiện tốt hơncho sau này
Chúng em xin chân thành cám ơn!
Tp.Hồ Chí Minh, tháng 7 năm 2014
Nhóm sinh viên thực hiện
Nguyễn Văn Thế & Nguyễn Pháp Truyền
Trang 3thông tin được ứng dụng trong mọi ngành nghề, lĩnh vực Từ việc đọc tin tức, nghenhạc, giải trí hay học tập, thương mại điện tử Công nghệ thông tin phát triển khôngngừng, việc phát triển một phần để đáp ứng nhu cầu của con người ngày càng xuất hiệnnhiều không còn gì xa lạ Trong đó một phần mềm hỗ trợ người dùng quản lý cửahàng, phòng tập, mô hình kinh doanh của mình là cần thiết, nó giúp cho người dùng dễdàng quản lí việc kinh doanh một cách dễ dàng, đơn giản hơn và không tốn nhiều chiphí Không chỉ dừng lại ở đó mà nó còn giúp cho mô hình kinh doanh của mình dễdàng thay đổi, cập nhật theo tình hình phát triển của xã hội
Các phòng tập gym, yoga, eorobic đang được thành lập ngày một nhiều ở cácthành phố lớn, đặc biệt là thành phố Hà Nội và thành phố Hồ Chí Minh Số lượngthành viên tham gia các phòng tập này ngày một tăng lên dẫn đến các phương phápquản lí thủ công không còn hữu ích nữa mà trở nên khó khan,phức tạp,gây nhiều saisót Dựa trên vấn đề đó nhóm chúng em đã quyết định xây dựng phần mềm quản líphòng tập gym nhằm giúp việc quản lí các phòng tập này trở nên dễ dàng hơn
Nhóm sinh viên thực hiện đề tài:
Trang 4
TP.HỒ CHÍ MINH, ngày tháng năm 2023
Giáo viên hướng dẫn
Trang 51.1 Các công nghệ sử dụng trong phần mềm 1
1.1.1 Ngôn ngữ PHP 1
1.1.2 Mô hình MVC PHP 3
1.1.3 Famework Boostrap 4
1.1.4 Giới thiệu về Web Services 6
1.2 Thương mại điện tử 6
1.2.1 Thương mại điện tử là gì ? 6
1.2.2 Lợi ích của thương mại điện tử 7
1.2.3 Các loại hình ứng dụng thương mại điện tử 8
1.2.4 Thanh toán điện tử 8
1.3 Giới thiệu về SMS API của eSMS 9
1.3.1 Giới thiệu hệ thống SMS API 9
1.3.2 Cơ chế hoạt động 9
1.3.3 Một số ứng dụng được xây dựng từ SMS API 9
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU 10
2.1 Đặc tả chức năng 10
2.1.1 Đối với người truy cập website 10
2.1.2 Đối với người quản trị 11
2.2 Use Case 13
2.2.1 Xác định tác nhân trong hệ thống 13
2.2.2 Use-case khách hàng tổng quát 14
2.2.3 Use-case Admin tổng quát 15
Trang 62.3.1 Danh mục các bảng 33
2.3.2 Mô hình vật lý 42
CHƯƠNG 3 CÀI ĐẶT GIAO DIỆN VÀ CHƯƠNG TRÌNH 43
3.1 Cấu trúc thư mục đồ án 43
3.2 Giao diện website khách hàng 44
3.2.1 Giao diện trang chủ website 44
3.2.2 Giao diện trang đăng ký 45
3.2.3 Giao diện đăng nhập 46
3.2.5 Giao diện quên mật khẩu 47
3.2.6 Giao diện trang góp ý, liên hệ 50
3.2.7 Giao diện bài viết 51
3.2.8 Giao diện trang tìm kiếm 51
3.2.9 Giao diện trang sản phẩm 52
3.2.10 Giao diện chi tiết sản phẩm 53
3.2.11 Giao diện giỏ hàng 54
3.2.12 Giao diện trang thanh toán 55
3.3 Giao diện dành cho người quản trị 56
3.3.1 Giao diện trang chủ 56
3.3.2 Giao diện trang sản phẩm 57
3.3.4 Giao diện quản lý đơn hàng 61
3.3.5 Giao diện thống kê doanh thu 61
3.3.6 Giao diện thống kê sản phẩm bán chạy 62
Trang 73.3.9 Giao diện quản lý liên hệ từ khách hàng 63
3.3.10 Giao diện quản lý danh sách khách hàng 65
3.3.11 Giao diện quản lý tài khoản quản trị 65
3.3.12 Giao diện quản lý slider 66
3.3.13 Giao diện quản lý cập nhật logo 67
3.3.14 Giao diện quản lý thông tin liên hệ 67
CHƯƠNG 4 TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 68
4.1 Kết quả đạt được 68
4.2 Phần hạn chế của đề tài 68
4.3 Hướng phát triển 69
TÀI LIỆU THAM KHẢO 70
Trang 8Hình 1 2 – Bootstrap 4
Hình 1 3 - Download Bootstrap 5
Hình 1 4 - Thư mục file bootstap 5
Hình 1 5- Hệ thống SMS API 9
Hình 2 1 - Các tác nhân trong hệ thống 13
Hình 2 2 - Mô hình use case khách hàng tổng quát 14
Hình 2 3 - Mô hình use case admin tổng quát 15
Hình 2 4 - Use đăng ký 16
Hình 2 5 - Use case đăng nhập 17
Hình 2 6 - Use case thông tin cá nhân 18
Hình 2 7 - Use case tìm kiếm sản phẩm 19
Hình 2 8 - Use case chọn mua sản phẩm 20
Hình 2 9 - Use case quản lý giỏ hàng 21
Hình 2 10 - Use case thanh toán 22
Hình 2 11 - Use case đơn hàng cá nhân 23
Hình 2 12 - Use case quản lý danh mục 24
Hình 2 13 - Use case quản lý sản phẩm 26
Hình 2 14 - Use case quản lý thành viên 28
Hình 2 15 - Use case quản lý đơn hàng 30
Hình 2 16 - Use case quản lý bài viết 31
Hình 2 17 - Mô hình vật lý 42
Hình 3 1 - Cấu trúc thư mục 43
Hình 3 2 - Giao diện trang chủ 44
Hình 3 3 - Giao diện trang đăng ký 45
Hình 3 4 - Giao diện trang đăng nhập 46
Trang 9Hình 3 7 - Thông báo nếu xác thực hết hạn, không đúng hoặc đã sử dụng 48
Hình 3 8 - Thông báo nếu xác thực chính xác 48
Hình 3 9 - Mật khẩu mới 49
Hình 3 10 - Giao diện góp ý liên hệ 50
Hình 3 11 - Giao diện bài viết 51
Hình 3 12 - Tìm kiếm nâng cao và tìm kiếm theo tên sản phẩm 51
Hình 3 13 - Giao điện sản phẩm 52
Hình 3 14 - Giao diện chi tiết sản phẩm 53
Hình 3 15 - Giao diện giỏ hàng 54
Hình 3 16 - Giao diện thanh toán 55
Hình 3 17 - Giao diện trang chủ 56
Hình 3 18 - Quản lý danh sách sản phẩm 57
Hình 3 19 - Giao diện cập nhật, thêm sản phẩm 58
Hình 3 20 - Giao diện danh sách danh mục 59
Hình 3 21 - Giao diện cập nhật danh mục 60
Hình 3 22 - Giao diện thêm mới danh mục 60
Hình 3 23 - Giao diện danh sách đơn hàng 61
Hình 3 24 - Giao diện xem chi tiết đơn hàng 61
Hình 3 25 - Giao diện thống kê 61
Hình 3 26 - Giao điện thống kê sản phẩm bán chạy 62
Hình 3 27 - Giao diện quản lý bình luận sản 62
Hình 3 28 - Danh sách bài viết 63
Hình 3 29 - Giao diện thêm, sửa bài viết 63
Hình 3 30 - Danh sách liên hệ từ khách hàng 64
Hình 3 31 - Giao diện trả lời khách hàng 64
Trang 10Hình 3 34 - Giao diên thêm, sửa quản trị 65
Hình 3 35 - Giao diện danh sách slider 66
Hình 3 36 - Giao diện thêm, sửa slider 66
Hình 3 37 - Giao diện quản lý cập nhật logo 67
Hình 3 38 - Giao diện quản lý thônh tin liên hệ 67
Trang 11Bảng 2 – Bảng danh mục chi tiết sản phẩm 33
Bảng 3 – Bảng danh sách sản phẩm 34
Bảng 4 – Bảng chi tiết sản phẩm 35
Bảng 5 – Bảng bình luận 35
Bảng 6 – Bảng đơn hàng 36
Bảng 7 – Bảng chi tiết đơn hàng 37
Bảng 8 – Bảng bài viết 37
Bảng 9 – Bảng thành viên 38
Bảng 10 – Bảng góp ý 39
Bảng 11 – Bảng banner 39
Bảng 12 – Bảng logo 40
Bảng 13 – Bảng liên hệ 40
Bảng 14 – Bảng tin nhắn 40
Bảng 15 – Bảng thanh toán trực tuyến 41
Trang 12STT Từ viết tắt Ý nghĩa
Trang 13CHƯƠNG 1 GIỚI THIỆU 1.1 Các công nghệ sử dụng trong phần mềm
1.1.1 Giới thiệu ngôn ngữ C#
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ
sư của Microsoft vào năm 2000 C# là ngôn ngữ lập trình hiện đại, hướng đối tượng vàđược xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được biên dịchtrực tiếp thành mã thực thi của hệ điều hành
Trong các ứng dụng sử dụng NET Framework, mã nguồn chương trình (C#, VB.NET)được biên dịch thành mã ngôn ngữ trung gian MSIL (Microsoft intermediatelanguage)
Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) để trở thành mãthực thi của hệ điều hành Hình bên dưới thể hiện quá trình chuyển đổi MSIL codethành native code
C# với sự hỗ trợ mạnh mẽ của NET Framework giúp cho việc tạo một ứng dụngWindows Forms hay WPF (Windows Presentation Foundation), phát triển game, ứngdụng Web, ứng dụng Mobile trở nên rất dễ dàng
1.1.2 Mô hình 3 lớp
Trang 14Hình 1 1 - Mô hình 3 lớpGồm 3 lớp, đó là:
GUI Layer: Lớp này là lớp hiển thị giao diện và các chức năng để người dùng cuối sửdụng
Business (BUS) Layer: Đây là lớp nhận các yêu cầu từ lớp GUI và truy xuất lên lớpData để lấy thông tin và trả về GUI
Data Access Layer: Lớp này là lớp để truy xuất với CSDL, chỉ duy nhất lớp này đượclàm việc với database
(Ko cần thiết) DTO Layer: Lớp này chỉ là phụ thôi, đây là lớp định nghĩa các tabletrong database của bạn, định nghĩa cột của nó cũng như để ta gán data khi query lấy dữliệu Các bạn có thể hiểu nôm na là 1 dạng cơ bản ORM (Object Relation Mapping)
Lợi thế của mô hình 3 lớp:
Việc phân chia thành từng lớp giúp cho code được tường minh hơn Nhờ vào việc chia
ra từng lớp đảm nhận các chức năng khác nhau và riêng biệt như giao diện, xử lý, truyvấn thay vì để tất cả lại một chỗ Nhằm giảm sự kết dính
Dễ bảo trì khi được phân chia, thì một thành phần của hệ thống sẽ dễ thay đổi Việcthay đổi này có thể được cô lập trong 1 lớp, hoặc ảnh hưởng đến lớp gần nhất màkhông ảnh hưởng đến cả chương trình
Trang 15Dễ phát triển, tái sử dụng: khi chúng ta muốn thêm một chức năng nào đó thì việc lậptrình theo một mô hình sẽ dễ dàng hơn vì chúng ta đã có chuẩn để tuân theo Và việc
sử dụng lại khi có sự thay đổi giữa hai môi trường ( Winform sang Webfrom ) thì chỉviệc thay đổi lại lớp GUI
Dễ bàn giao Nếu mọi người đều theo một quy chuẩn đã được định sẵn, thì công việcbàn giao, tương tác với nhau sẽ dễ dàng hơn và tiết kiệm được nhiều thời gian
Dễ phân phối khối lượng công việc Mỗi một nhóm, một bộ phận sẽ nhận một nhiệm
vụ trong mô hình 3 lớp Việc phân chia rõ ràng như thế sẽ giúp các lập trình viên kiểmsoát được khối lượng công việc của mình
1.1.3 Entity Framework.
Entity Framework là một khung ORM(Object Relational Mapper) mã nguồn mở chocác ứng dụng NET được Microsoft hỗ trợ là 1 phần của NET Framework là mộtOpen source ORM Framework
.Hình 1 2 – Cấu trúc Entity Framework
EDM (Entity Data Model):
EDM bao gồm 3 phần :
Trang 16Conceptual Model: Chứa các model class và các quan hệ của nó Nó độc lập với thiết
kế bảng CSDL của bạn
Mapping: gồm có thông tin về cách Conceptual model kết nối với Storage model
Storage Model: Đây là database design model bao gồm các bảng, views, storedprocedures, và những quan hệ và các khóa
Object service sẽ có trách nhiệm trong việc cụ thể hóa quá trình chuyển đổi dữ liệu trả
về từ một entity client data provider tới một entity object structure
Entity Client Data Provider:
Nhiệm vụ chính của nó là chuyển đổi L2E hoặc những truy vấn Entity SQL vào mộttruy vấn SQL Nó được hiểu bởi CSDL cơ bản Giao tiếp với ADO.Net data providerlần lượt gửi và nhận dữ liệu từ CSDL
ADO.Net Data Provider:
Thực hiện giao tiếp với CSDL bằng sử dụng chuẩn ADO.Net
Những tính năng của Entity Framework:
Những tính năng đáng chú ý nhất của Entity framework:
Entity framework hỗ trợ stored procedure
Nó làm việc với bất kỳ cơ sở dữ liệu quan hệ nào có Entity Framework hợp lệ
Entity Framework tạo truy vấn SQL từ LINQ to Entities
Nó được phát triển như một sản phẩm mã nguồn mở
Entity framework là một sản phẩm của Microsoft
EF cho phép tạo những câu lệnh thêm, xóa, cập nhật
Trang 17 Theo dõi những thay đổi của các đối tượng trong bộ nhớ.
Trang 18CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU 2.1 Đặc tả chức năng
2.1.1 Đối với khách hàng
2.1.1.1 Đăng nhập
Người dùng đăng nhập vào phần mềm với tài khoản và mật khẩu được quản lícho trước
2.1.1.2 Xem thông tin cá nhân
Người dùng có thể xem thông tin cá nhân của mình tại trang hệ thống Cũng có thểsửa đổi và lưu lại thông tin mới nếu có sai sót
Việc này là bắt buộc nếu gói tập của người dùng có kèm tập luyện cùng PT
2.1.1.5 Chức năng đăng xuất
Chức năng giúp người dùng đăng xuất khỏi phần mềm
2.1.2 Đối với người quản trị
2.1.2.1 Quản lý tài khoản
Quản lí tạo tài khoản và nhập những thông tin của khách hàng cho trước
Bao gồm thêm, xóa, sửa và cập nhật lại thông tin
2.1.2.2 Chức năng loại tài khoản
Dùng để phân quyền cho những tài khoản đã tạo
2.1.2.3 Quản lý gói tập
Cho phép người quản trị thêm, sửa, xóa các gói tập
Cho phép người quản trị xóa hoặc cập nhật thông tin của gói
Trang 192.1.2.4 Quản lý loại gói tập
Thiết lập hạn của từng gói và những ưu đãi đi kèm
2.1.2.5 Quản lý thẻ tập
Nơi lưu trữ thông tin thẻ tập của khách hàng.
Có thể thêm hoặc xóa thẻ
2.1.2.8 Chức năng đăng xuất
Đăng xuất khỏi phần mềm
2.1.3 Đối với PT
2.1.3.1 Thông tin cá nhân
PT xem thông tin cá nhân của mình
Có thể chỉnh sửa, cập nhật lại nếu có sai sót
2.1.3.2 Chức năng xem lịch
PT xem lịch tập của mình với khách hàng
Trang 20Admin: Là thành viên quản trị của hệ thống, có các quyền và chức năng, quản lýsản phẩm, quản lý đơn hàng, quản lý bài viết, quản lý thành viên, quản lý thông tinngân hàng thanh toán trực tuyến và các chức năng khác của hệ thống …
Trang 212.2.2 Use-case khách hàng tổng quát
Hình 2 2 - Mô hình use case khách hàng tổng quát
Trang 222.2.3 Use-case Admin tổng quát
Hình 2 3 - Mô hình use case admin tổng quát
Trang 232.2.4 Mô hình use chi tiết chức năng
2.2.4.1 Use Case đăng ký
Bước 1 Kích hoạt chức năng đăng ký, thực hiện đăng ký
Bước 2 Hệ thống kiểm tra tên đăng nhập, mật khẩu bằng jquery, nếu tên đăngnhập, hoặc email đã tồn tại thì báo không khả dụng và không cho đăng ký,ngược lại thông báo khả dụng và cho phép người dùng đăng ký
Bước 3 Thực hiện xử lý và lưu thông tin vào dữ liệu khi hợp lệ
Trang 242.2.4.2 Use Case đăng nhập
Hình 2 5 - Use case đăng nhập
Tác nhân: Khách hàng thành viên
Mô tả: Dành cho khách hàng thành viên đăng ký thành viên
Điều kiện: Thành viên chưa có tài khoản và chưa đăng nhập vào hệ thống
Dòng sự kiện:
Dòng sự kiện chính:
Bước 1 Thành viên chọn chức năng đăng nhập
Bước 2 Form đăng nhập hiển thị
Bước 3 Thực hiện thao tác đăng nhập
Bước 4 Hệ thống kiểm tra tên đăng nhập, mật khẩu người dùng nhập so sánhvới tên đăng nhập và mật khẩu trong CSDL
Dòng sự kiện rẽ nhánh:
Bước 1 Nếu người dùng nhập sai thông tin đăng nhập, hệ thống sẽ hiện thôngbáo sai thông tin đăng nhập Hệ thống yêu cầu thành viên nhập lại tên và mậtkhẩu
Bước 2 Nếu người dùng đăng nhập thất bại 3 lần hệ thống sẽ hiển thị captcha,người dùng sẽ nhập đúng thông tin tài khoản đã đăng ký và mã catcha để đăngnhập
Bước 3 Nếu thành viên đồng ý thì quay lại bước 3 của dòng sự kiện chính, nếukhông thì UC kết thúc
Hậu điều kiện: Thành viên đăng nhập thành công và có thể sử dụng các chức năng mà
hệ thống cung cấp tương ứng với quyền hạn của mình
Trang 252.2.4.3 Use Case thông tin cá nhân
Hình 2 6 - Use case thông tin cá nhân
Tác nhân: Thành viên của hệ thống
Mô tả: Cho phép thành viên của hệ thống xem và cập nhật thông tin cá nhân và mậtkhẩu của mình
Điều kiện: Thành viên đã đăng nhập vào hệ thống
Dòng sự kiện:
Dòng sự kiện chính:
Bước 1 Thành viên chọn chức năng xem thông tin cá nhân
Bước 2 Form sửa thông tin cá nhân hiển thị với các thông tin của thành viênhiện tại
Bước 3 Thành viên nhập các thông tin mới
Bước 4 Nhấn nút cập nhật thông tin
Bước 5 Hệ thống kiểm tra thông tin cập nhật xem có hợp lệ và lưu vào CSDL
Trang 26Hậu điều kiện: Thành viên cập nhật thành công, thông tin mới sẽ được cập nhật vào hệthống.
2.2.4.4 Use case tìm sản phẩm
Hình 2 7 - Use case tìm kiếm sản phẩm
Tác nhân: Khách hàng vãng lai, khách hàng thành viên
Mô tả: Là use case mô tả chức năng tìm kiếm sản phẩm của người dùng, cho phép tìmkiếm các sản phẩm theo yêu cầu của khách hàng
Điều kiện: Thành viên đã nhập vào ô tìm kiếm hoặc đã chọn danh mục tìm kiếm
Dòng sự kiện:
Dòng sự kiện chính:
Khách hàng tìm kiếm theo tên sản phẩm
Bước 1 Khách hàng nhập vào tên sản phẩm cần tìm kiếm
Bước 2 Nhấn vào nút tìm kiếm
Bước 3 Hệ thống kiểm tra và trả về các sản phẩm theo từ khóa mà khách hàngtìm
Khách hàng tìm kiếm nâng cao theo danh mục và giá sản phẩm
Bước 1 Thành viên chọn danh mục và giá cần tìm
Bước 2 Nhấn vào nút tìm kiếm
Bước 3 Hệ thống kiểm tra và trả về các sản phẩm mà khách hàng cần tìm
Trang 272.2.4.5 Use case chọn mua sản phẩm
Hình 2 8 - Use case chọn mua sản phẩm
Tác nhân: Khách hàng vãng lai, khách hàng thành viên
Mô tả: Cho phép khách hàng đưa sản phẩm đã chọn vào giỏ hàng
Điều kiện: Đã chọn sản phẩm vào giỏ hàng
Dòng sự kiện:
Dòng sự kiện chính:
Bước 1 Khách hàng chọn nút thêm sản phẩm vào giỏ hàng
Bước 2 Hệ thống hiển thị thông tin sản phẩm đã cho vào trong giỏ hàng
Bước 3 Nhấn nút cập nhật lại số lượng hoặc xóa sản phẩm ra khỏi giỏ hàng.Bước 4 Kết thúc
Hậu điều kiện: Thông tin sản phẩm được lưu vào trong giỏ hàng
Trang 282.2.4.6 Use case quản lý giỏ hàng
Hình 2 9 - Use case quản lý giỏ hàng
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng quản lý các sản phẩm đã cho vào giỏ hàng
Điều kiện: Khách hàng đã chọn sản phẩm vào trong giỏ hàng
Dòng sự kiện:
Dòng sự kiện chính:
Bước 1 Khách hàng xem thông tin các sản phẩm trong giỏ hàng đã chọn
Bước 2 Khách hàng cập nhật thêm bớt số lượng lượng sản phẩm muốn mua.Bước 3 Nhấn nút cập nhật lại số lượng hoặc xóa sản phẩm ra khỏi giỏ hàng.Bước 4 UC kết thúc
Hậu điều kiện: Giỏ hàng được cập nhật lại
Trang 292.2.4.7 Use case thanh toán
Hình 2 10 - Use case thanh toán
Tác nhân: Khách hàng thành viên
Mô tả: Cho phép khách hàng tạo đơn hàng để thanh toán đặt hàng sản phẩm
Điều kiện: Khách hàng đã chọn sản phẩm vào trong giỏ hàng
Dòng sự kiện:
Dòng sự kiện chính:
Bước 1 Khách hàng chọn thanh toán để tạo đơn đặt hàng
Bước 2 Form thanh toán xuất hiện
Bước 3 Khách hàng nhập các thông tin: họ tên, địa chỉ, số điện thoại, email, ghichú, chọn phương thức thanh toán, phương thức vận chuyển để hoàn tất việcnhập liệu
Bước 4 Chọn hoàn tất đơn hàng, nếu thông tin nhập đúng thì thực hiện bước 5.Nếu sai thì thực hiện luồng rẽ nhánh 1
Bước 5 Hệ thống kiểm tra phương thức thanh toán và tiến hành thanh toán
Bước 6 UC kết thúc
Luồng rẽ nhánh 1:
Bước 1 Hệ thống báo lỗi các thông tin không hợp lệ
Bước 2 Khách hàng nhập lại thông tin, nếu không muốn đặt hàng nữa thì thựchiện luồng rẽ nhánh 2
Bước 3 Quay lại bước 3 dòng sự kiện chính
Trang 30Luồng rẽ nhánh 2:
Bước 1 Khách hàng chọn hủy đơn hàng
Bước 2 Kết thúc UC
Hậu điều kiện: Đơn hàng được gửi đi
2.2.4.8 Use case quản lý đơn hàng cá nhân
Hình 2 11 - Use case đơn hàng cá nhân
Tác nhân: Khách hàng thành viên
Mô tả: Cho phép khách hàng quản lý các đơn hàng đã đặt
Điều kiện: Khách hàng đã có đơn hàng
Dòng sự kiện chính:
Bước 1 Khách hàng xem đơn hàng bao gồm ngày đặt, tổng tiền, trạng thái
Bước 2 Khách hàng chọn vào đơn hàng muốn xem chi tiết, thông tin chi tiếtbao gồm: họ tên, địa chỉ, số điện thoại, email, thời gian đặt, thông tin các sảnphẩm đã đặt gồm tên sản phẩm, số lượng, thành tiền, tổng tiền
Bước 3 Khách hàng có thể hủy đơn hàng trong vòng 1 tiếng sao khi đặt hàng
Trang 312.2.4.9 Use case quản lý danh mục
Hình 2 12 - Use case quản lý danh mục
Bước 1 Hệ thống hiển thị form nhập thông tin danh mục sản phẩm
Bước 2 Người quản lý nhập thông tin danh mục sản phẩm
Bước 3 Chọn nút lưu thông tin
Bước 4 Nếu nhập thành công thì thực hiện bước 5 Nếu không thì thực hiệndòng sự kiện rẽ nhánh
Trang 32Bước 5 Lưu danh mục sản phẩm mới.
b Cập nhật thông tin danh mục sản phẩm:
Bước 1 Hệ thống hiển thị form nhập thông tin danh mục sản phẩm
Bước 2 Người quản lý nhập thông tin cần cập nhật
Bước 3 Chọn nút lưu thông tin
Bước 4 Nếu nhập thành công thì thực hiện bước 5 Nếu không thì thực hiệndòng sự kiện rẽ nhánh
Bước 5 Cập nhật danh mục sản phẩm mới vào CSDL
c Xóa danh mục sản phẩm:
Bước 1 Người quản trị chọn sản phẩm cần xóa
Bước 2 Chọn nút xóa để xóa danh mục cần loại bỏ
Bước 3 Hệ thống hiển thị xác nhận xóa, nếu người quản trị đồng ý thì thực hiệnbước 4, ngược lại thực hiện bước 5
Bước 4 Xóa danh mục sản phẩm trong CSDL
Bước 5 Hệ thống load lại danh sách danh mục
Trang 332.2.4.10 Use case quản lý sản phẩm
Hình 2 13 - Use case quản lý sản phẩm
Bước 1 Hệ thống hiển thị form nhập thông tin sản phẩm
Bước 2 Người quản lý nhập thông tin sản phẩm
Bước 3 Người quản lý nhọn nút lưu thông tin
Bước 4 Nếu nhập thành công thì thực hiện bước 5 Nếu không thì thực hiệndòng sự kiện rẽ nhánh
Trang 34Bước 5 Lưu danh mục sản phẩm mới.
b Cập nhật thông tin sản phẩm:
Bước 1 Hệ thống hiển thị form nhập thông tin sản phẩm
Bước 2 Người quản lý nhập thông tin cần cập nhật
Bước 3 Chọn nút lưu thông tin
Bước 4 Nếu nhập thành công thì thực hiện bước 5 Nếu không thì thực hiệndòng sự kiện rẽ nhánh
Bước 5 Cập nhật sản phẩm mới vào CSDL
c Xóa sản phẩm:
Bước 1 Người quản trị chọn sản phẩm cần xóa
Bước 2 Chọn nút xóa để xóa sản phẩm cần loại bỏ
Bước 3 Hệ thống hiển thị xác nhận xóa, nếu người quản trị đồng ý thì thực hiệnbước 4, ngược lại thực hiện bước 5
Bước 4 Xóa sản phẩm trong CSDL
Bước 5 Hệ thống tải lại danh sách sản phẩm
d Ẩn hiện sản phẩm:
Bước 1 Người quản trị chọn sản phẩm cần ẩn hiện
Bước 2 Hệ thống xác nhận ẩn hiện, cập nhật lại trạng thái
Bước 3 Hệ thống tải lại danh sách sản phẩm
Trang 362.2.4.11 Use case quản lý thành viên
Hình 2 14 - Use case quản lý thành viên
Người quản lý sử dụng các chức năng thêm mới, sửa thông tin, xóa thành viên
a Người dùng chọn chức năng thêm thành viên
Bước 1 Hệ thống hiển thị form nhập thông thành viên
Bước 2 Người quản lý nhập thông tin của thành viên
Bước 3 Người quản lý nhọn nút lưu thông tin
Bước 4 Nếu nhập thành công thì thực hiện bước 5 Nếu không thì thực hiệndòng sự kiện rẽ nhánh
Bước 5 Lưu thành viên mới
Trang 37b Người dùng chọn chức năng sửa thành viên:
Bước 1 Hệ thống hiển thị form cập nhật thông tin thành viên
Bước 2 Người quản lý cập nhật lại thông tin thành viên
Bước 3 Chọn nút lưu thông tin
Bước 4 Nếu thành công thì thực hiện bước 5 Nếu không thì thực hiện dòng sựkiện rẽ nhánh
Bước 5 Cập nhật thành viên vào CSDL
c Xóa thành viên:
Bước 1 Người quản trị chọn thành viên cần xóa
Bước 2 Chọn nút xóa để xóa thành viên cần loại bỏ
Bước 3 Hệ thống hiển thị xác nhận xóa, nếu người quản trị đồng ý thì thực hiệnbước 4, ngược lại thực hiện bước 5
Bước 4 Xóa thành viên trong CSDL
Bước 5 Hệ thống load lại thành viên
Trang 382.2.4.12 Use case quản lý đơn hàng
Hình 2 15 - Use case quản lý đơn hàng
Bước 1 Người quản lý xem thông tin các đơn hàng
Bước 2 Người quản lý chọn xem thông tin đơn hàng
Bước 3 Người quản lý cập nhật lại trạng thái đơn hàng (mới, đã xác nhận, đanggiao hàng, đã giao, đã hủy)
Bước 4 Người quản lý chọn đơn hàng cần xóa
Bước 5 Người quản lý chọn đơn hàng cần xóa
Bước 6 Hệ thống hiển thị xác nhận xóa, nếu người quản trị đồng ý thì thực hiệnbước 7, ngược lại thực hiện bước 9
Bước 7 Xóa danh mục sản phẩm trong CSDL
Bước 8 Hệ thống tải lại danh sách đơn hàng
Bước 9 Kết thúc
Trang 392.2.4.13 Use case quản lý bài viết
Hình 2 16 - Use case quản lý bài viết
a Thêm bài viết:
Bước 1 Hệ thống hiển thị form nhập thông tin bài viết
Bước 2 Người quản lý nhập thông tin bài viết
Bước 3 Người quản lý nhọn nút lưu thông tin
Bước 4 Nếu nhập thành công thì thực hiện bước 5 Nếu không thì thực hiệndòng sự kiện rẽ nhánh
Bước 5 Lưu bài viết mới
b Cập nhật thông tin bài viết:
Bước 1 Hệ thống hiển thị form nhập thông tin bài viết