KHẢO SÁT KHÁCH HÀNG Theo như khảo sát ý kiến của khách hàng thì ta có được các chức năng của hệ thống website cần có: - Chức năng hiển thị sản phẩm - Chức năng giỏ hàng,thanh toán giỏ h
Trang 1ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU ĐẠI HỌC ĐÀ NẴNG TẠI KON TUM
- o O o -
TRƯƠNG VĂN LONG
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI XÂY DỰNG WEBSITE BÁN GIÀY TRỰC TUYẾN
Kon Tum, tháng 05 năm 2021
Trang 2ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU ĐẠI HỌC ĐÀ NẴNG TẠI KON TUM
- o O o -
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI XÂY DỰNG WEBSITE BÁN GIÀY TRỰC TUYẾN
SVTH : TRƯƠNG VĂN LONG MSSV : 16152480201012
LỚP : K10TT GVHD : TH.S LÊ THỊ BẢO YẾN
Trang 3LỜI CẢM ƠN
Trong những năm gần đây với sự phát triển vượt trội của khoa học kỹ thuật đặt biệt
là công nghệ thông tin, với những ứng dụng của công nghệ thông tin vào các lĩnh vực đã đóng góp phần to lớn cho sự nghiệp phát triển của con người Trong các lĩnh vực đó thì lĩnh vực quản lý là thật sự giúp ích được rất nhiều cho con người, việc áp dụng quản lý và mua bán bằng máy tính thay cho quản lý và mua bán bằng thủ công ở các doanh nghiệp, công ty, cá nhân… là rất cần thiết và thật sự cần thiết Do đó, việc “quản lý mua bán
hàng qua mạng ” là không thể thiếu được trong mọi doanh nghiệp, cửa hàng vừa và nhỏ
Năm 2008 là năm đầu tiên Việt Nam có sự phát triển lớn mạnh về lĩnh vực thương mại khi chính thức trở thành thành viên thứ 150 của tổ chức thương mại thế giới WTO Với sự phát triển mạnh mẽ đó không thể phủ nhận sự đóng góp của thương mại điện tử, một lĩnh vực nóng bỏng hiện nay! Một đất nước đang phát triển mạnh mẽ, cuộc sống con người càng ngày nâng cao, mức tiêu thụ sản phẩm ngày càng tăng…Tóm lại nhu cầu con người ngày càng cao Vì thế việc trao đổi mua bán cũng như quản lý hàng hóa cần phải
có sự thay đổi từ thủ công sang máy móc
Chương trình chạy trên môi trường hệ điều hành Window, WinServer, sử dụng Laravel và ngôn ngữ chuẩn về xử lý dữ liệu như PHP, HTML, XML, CSS và hệ quản trị
cơ sở dữ liệu MySQL Dùng Xampp làm môi trường WebServer hỗ trợ sẵn Apacher, PHP, MySQL
Hoàn thành khóa luận tốt nghiệp này, em xin được gửi lời cảm ơn chân thành đến các thầy, cô khoa CNTT đã hết lòng truyền đạt kiến thức cho em trong quá trình học tập,
đặc biệt là cô giáo Lê Thị Bảo Yến là người đã trực tiếp hướng dẫn em một cách tận tình
Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Em rất mong nhận được sự thông cảm và góp ý của
quý thầy, cô Em xin chân thành cảm ơn
Sinh viên Trương Văn Long
Trang 4MỤC LỤC
DANH MỤC HÌNH ẢNH iii
DANH MỤC BẢNG BIỂU v
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1
1.1.LÝ DO CHỌN ĐỀ TÀI 1
1.2.MỤC TIÊU ĐỀ TÀI 1
1.3.PHƯƠNG PHÁP NGHIÊN CỨU 1
1.4.PHẠM VI, ĐỐI TƯỢNG CỦA ĐỀ TÀI 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
2.1.MÔ HÌNH MVC 3
2.1.1.Khái niệm 3
2.1.2.Ứng dụng 3
2.2.PHP 4
2.3.LARAVEL 5
2.4.MYSQL 6
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9
3.1.KHẢO SÁT KHÁCH HÀNG 9
3.2.CHỨC NĂNG CỦA HỆ THỐNG 9
3.2.1.Chức năng hiển thị sản phẩm 9
3.2.2.Chức năng giỏ hàng,thanh toán giỏ hàng 9
3.2.3.Chức năng đăng ký thành viên và đăng nhập hệ thống 9
3.2.4.Chức năng tìm kiếm sản phẩm 9
3.2.5.Chức năng quản lí người dùng 9
3.2.6.Chức năng cập nhật loại sản phẩm 10
3.2.7.Chức năng cập nhật sản phẩm 10
3.2.8.Chức năng cập nhật tin tức 10
3.2.9.Chức năng quản lí đơn hàng 10
3.2.10.Chức năng cập nhật banner của website 10
3.3.CHI TIẾT CÁC CHỨC NĂNG 10
3.4.PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 15
3.3.1.Sơ đồ tổng quát 15
3.3.2.Sơ đồ tuần tự 16
3.5.SƠ ĐỒ LỚP VÀ CƠ SỞ DỮ LIỆU 40
3.5.1.Sơ đồ lớp 40
3.5.2.Lược đồ cơ sở dữ liệu 43
CHƯƠNG 4: KẾT QUẢ SẢN PHẨM VÀ ĐÁNH GIÁ 49
Trang 54.2.ĐÁNH GIÁ 65
4.2.1.Kết quả đạt được 65
4.2.2.Hạn chế của đề tài 66
4.2.3.Hướng phát triển 66
TÀI LIỆU THAM KHẢO
Trang 6DANH MỤC HÌNH ẢNH
Hình 2.1 Mô Hình Mvc 3
Hình 2.2 Tạo File Mô Hình Mvc 4
Hình 3.1 Sơ Đồ Tổng Quát 15
Hình 3.2 Sơ Đồ Tuần Tự Đăng Ký 17
Hình 3.3 Sơ Đồ Tuần Tự Đăng Nhập 18
Hình 3.4 Sơ Đồ Tuần Tự Tìm Kiếm Sản Phẩm 19
Hình 3.5 Sơ Đồ Tuần Tự Xem Chi Tiết Sản Phẩm 20
Hình 3.6 Sơ Đồ Tuần Tự Thêm Sản Phẩm Vào Giỏ Hàng 21
Hình 3.7 Sơ Đồ Tuần Tự Cập Nhật Sản Phẩm Ở Giỏ Hàng 22
Hình 3.8 Sơ Đồ Tuần Tự Xóa Sản Phẩm Khỏi Giỏ Hàng 23
Hình 3.9 Sơ Đồ Tuần Tự Gửi Ý Kiến, Câu Hỏi 24
Hình 3.10 Sơ Đồ Tuần Tự Administrator Đăng Nhập 25
Hình 3.11 Sơ Đồ Tuần Tự Administrator Thêm User 26
Hình 3.12 Sơ Đồ Tuần Tự Administrator Cập Nhật Thông Tin User 27
Hình 3.13 Sơ Đồ Tuần Tự Administrator Xóa User 28
Hình 3.14 Sơ Đồ Tuần Tự Administrator Thêm Sản Phẩm 29
Hình 3.15 Sơ Đồ Tuần Tự Administrator Cập Nhật Sản Phẩm 30
Hình 3.16 Sơ Đồ Tuần Tự Administrator Xóa Sản Phẩm 31
Hình 3.17 Sơ Đồ Tuần Tự Administrator Cập Nhật Trạng Thái Đơn Hàng 32
Hình 3.18 Sơ Đồ Tuần Tự Administrator Xóa Đơn Hàng 33
Hình 3.19 Sơ Đồ Tuần Tự Administrator Thêm Danh Mục 34
Hình 3.20 Sơ Đồ Tuần Tự Administrator Cập Nhật Thông Tin Danh Mục 35
Hình 3.21 Sơ Đồ Tuần Tự Administrator Xóa Danh Mục 36
Hình 3.22 Sơ Đồ Tuần Tự Administrator Phản Hồi Ý Kiến Kh 37
Hình 3.23 Sơ Đồ Tuần Tự Administrator Cập Nhật Ý Kiến Kh 38
Hình 3.24 Sơ Đồ Tuần Tự Administrator Xóa Ý Kiến Kh 39
Hình 3.25 Sơ Đồ Tuần Tự Administrator Xem Báo Cáo, Thống Kê 39
Hình 3.26 Sơ Đồ Lớp 40
Hình 3.27 Lược Đồ Cơ Sở Dữ Liệu 40
Hình 4.1 Giao Diện Trang Chủ 49
Hình 4.2 Giao Diện Đăng Kí 50
Hình 4.3 Giao Diện Đăng Nhập 50
Hình 4.4 Giao Diện Trang Giỏ Hàng 51
Hình 4.5 Giao Diện Trang Đặt Hàng 52
Hình 4.6 Giao Diện Trang Sản Phẩm 53
Trang 7Hình 4.11 Giao Diện Trang Liên Hệ 58
Hình 4.12 Giao Diện Trang Quản Lý User 59
Hình 4.13 Giao Diện Trang Quản Lí Loại Sản Phẩm 59
Hình 4.14 Giao Diện Trang Thêm Loại Sản Phẩm 60
Hình 4.15 Giao Diện Trang Sửa Loại Sản Phẩm 60
Hình 4.16 Giao Diện Trang Quản Lí Sản Phẩm 61
Hình 4.17 Giao Diện Trang Thêm Sản Phẩm 61
Hình 4.18 Giao Diện Trang Sửa Sản Phẩm 62
Hình 4.19 Giao Diện Trang Quản Lí Banner 62
Hình 4.20 Giao Diện Trang Thêm Banner 63
Hình 4.21 Giao Diện Trang Quản Lí Tin Tức 63
Hình 4.22 Giao Diện Trang Thêm Tin Tức 64
Hình 4.23 Giao Diện Trang Chỉnh Sửa Tin Tức 64
Hình 4.24 Giao Diện Trang Quản Lý Đơn Đặt Hàng 65
Trang 8DANH MỤC BẢNG BIỂU
Bảng 3.2: Chức Năng Đăng Kí 10
Bảng 3.3: Chức Năng Đăng Nhập 11
Bảng 3.4: Chức Năng Đổi Mật Khẩu 11
Bảng 3.5: Chức Năng Tìm Kiếm 11
Bảng 3.6: Chức Năng Giỏ Hàng 12
Bảng 3.7: Chức Năng Thêm Loại Sản Phẩm 12
Bảng 3.8: Chức Năng Xóa Loại Sản Phẩm 12
Bảng 3.9: Chức Năng Sửa Loại Sản Phẩm 12
Bảng 3.10: Chức Năng Thêm Sản Phẩm 13
Bảng 3.11: Chức Năng Sửa Sản Phẩm 13
Bảng 3.12: Chức Năng Xóa Sản Phẩm 13
Bảng 3.13: Chức Năng Sửa Thông Tin Khách Hàng 13
Bảng 3.14: Chức Năng Xóa Khách Hàng 13
Bảng 3.15: Chức Năng Thêm Tin Tức 14
Bảng 3.16: Chức Năng Sửa Tin Tức 14
Bảng 3.17: Chức Năng Xóa Tin Tức 14
Bảng 3.18: Chức Năng Thêm Banner 14
Bảng 3.19: Chức Năng Ẩn, Hiện Banner 14
Bảng 3.20: Chức Năng Cập Nhật Đơn Hàng 15
Bảng 3.21: Admin 40
Bảng 3.22: Banner 40
Bảng 3.23: Giỏ Hàng 41
Bảng 3.24: Chi Tiết Giỏ Hàng 41
Bảng 3.25: Loại Sản Phẩm 41
Bảng 3.26: Đánh Giá 41
Bảng 3.27: Chi Tiết Đánh Giá 41
Bảng 3.28: Hình Ảnh Sản Phẩm 42
Bảng 3.29: Đơn Hàng 42
Bảng 3.30: Sản Phẩm 42
Bảng 3.31: Chi Tiết Đơn Hàng 42
Bảng 3.32: Cập Nhật Mật Khẩu 43
Bảng 3.33: Tin Tức 43
Bảng 3.34: Chi Tiết Tin Tức 43
Bảng 3.35: Tình Trạng Đơn Hàng 43
Bảng 3.36: Người Dùng 43
Trang 9CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1 LÝ DO CHỌN ĐỀ TÀI
- Như chúng ta cũng thấy trong thị trường hiện nay thì việc cạnh tranh về kinh doanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty lớn đều rất chú tâm đến việc làm thoả mãn khách hàng một cách tốt nhất
- So với kinh doanh truyền thống thì thương mại điện tử chi phí thấp hơn, hiệu quả đạt cao hơn Hơn thế nữa, với lợi thế của công nghệ Internet nên việc truyền tải thông tin
về sản phẩm nhanh chóng, thuận tiện Kết hợp với bộ phận giao hàng tận nơi, là thông qua bưu điện và ngân hàng để thanh toán tiền, càng tăng thêm thuận lợi để loại hình này phát triển
- Do đó, với sự ra đời các website bán hàng qua mạng, mọi người có thể mua mọi thứ hàng hóa mọi lúc mọi nơi mà không cần phải tới tận nơi để mua Và khái niệm thương mại điện tử còn khá xa lạ Trước thực tế đó em đã chọn đề tài: Xây dựng
“Website bán giày trực tuyến - Uzi shop” cho đề tài khóa luận tốt nghiệp của mình
1.2 MỤC TIÊU ĐỀ TÀI
Về mặt lý thuyết:
- Hiểu biết hình thức kinh doanh thương mại điện tử
- Hiểu biết về các giải pháp xây dựng một website thương mại điện tử
- Nắm được cách thức bảo mật website
Về mặt công nghệ:
- Sử dụng framwork Laravel, ngôn ngữ PHP vào đề tài
- Áp dụng mô hình MVC để xây dựng website
Về mặt ứng dụng:
- Xây dựng một website mang lại thuận tiện cho người dùng khi có nhu cầu mua một sản phẩm
- Người tiêu dùng có được giá cả và hình ảnh mặt hàng một cách chính xác
- Đỡ tốn nhiều thời gian cho người tiêu dùng cũng như nhà quản lý trong việc tham gia vào hoạt động mua bán hàng
- Xây dựng Website giúp cho nhân viên quản lý thông tin một cách trực quan, thuận tiện
- Nhà quản lý dễ dàng hơn trong việc quản lý sản phẩm
- Nhà quản lý có thể thống kê các sản phẩm bán chạy một cách nhanh nhất giúp cho hoạt động sản xuất kinh doanh của mình trở nên tốt hơn
1.3 PHƯƠNG PHÁP NGHIÊN CỨU
Qua từng giai đoạn phân tích, xây dựng website bán hàng trực tuyến cho shop giày nên đã áp dụng các phương pháp nghiên cứu cụ thể sau:
- Về mặt lý thuyết:
Tìm hiểu kỹ thuật lập trình, cách thức hoạt động
Hiểu được cách thức hoạt động của Client – Server
Hiểu được cách lưu dữ liệu của hệ quản trị cơ sở dữ liệu MySQL Server
Trang 10- Về mặt công nghệ: Tìm hiểu ngôn ngữ PHP, framework Laravel và hệ quản trị
MySQL Server để xây dựng trang web hoàn chỉnh và ổn định
- Về mặt tiếp cận nghiệp vụ:
Giải quyết những ý kiến và phản hồi của khách hàng về website một cách nhanh chóng
Hiểu rõ về những website đã thành công trên thị trường công nghệ
Phát triển và nâng cấp website lên một tầm cao mới
Nhanh chóng tìm các giải pháp ngăn chặn những vấn đề website mắc phải
1.4 PHẠM VI, ĐỐI TƯỢNG CỦA ĐỀ TÀI
- Phạm vi của đề tài: là nền tảng website nên có thể truy cập bất kì lúc nào
- Đối tượng sử dụng: quản trị viên, khách hàng, nhân viên
Trang 11Chương 2: CƠ SỞ LÝ THUYẾT
2.1 MÔ HÌNH MVC
2.1.1 Khái niệm
MVC (Model-View-Controller) là mẫu kiến trúc phần mềm trên máy tính nhằm
mục đích tạo lập giao diện cho người dùng Theo đó, hệ thống MVC được chia thành ba phần có khả năng tương tác với nhau và tách biệt các nguyên tắc nghiệp vụ với giao diện người dùng [1]
Hình 2.1 Mô hình MVC
Ba thành phần ấy bao gồm:
Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…
View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả
các đối tượng GUI như textbox, images…
Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi
đúng những phương thức xử lý chúng
2.1.2 Ứng dụng
- Với tất cả các chức năng: Đăng nhập, đăng xuất, hiển thị, thêm, sửa, xóa, update sản phẩm, lấy chi tiết sản phẩm hoặc User, ghi lại hành động và thời gian của tài khoản đăng nhập vào trang web,
- Phần back-end được viết bằng ngôn ngữ PHP theo mô hình MVC
Các bước thực hiện theo mô hình MVC:
- Bước 1:
Tạo 3 thư mục với tên Model, View và Controller tương ứng và tạo 1 tập tin index.PHP
Trong thư mục Controller tạo Controller.PHP
Trong thư mục Model tạo Model.PHP
Trong thư mục View tạo View.PHP
Trang 12Hình 2.2 Tạo file mô hình MVC
- Bước 2: Trong index.PHP đề cập ở trên viết đoạn code sau
- Bước 3: Bước thứ ba trong quy trình này là cần xây dựng controller Đây là thành phần quan trọng nhất của hệ thống website, là nơi sử lý các yêu cầu và truyền dữ liệu cho người sử dụng thông qua View Và ta cần tạo các file khác nhau, trong các file tạo các tập tin có đuôi PHP (mỗi một tạp tin đại diện cho một chức năng trên trang web)
- Bước 4: Model là nơi lưu dữ các thông tin quan trọng của hệ thống và thực hiện các lệnh theo yêu cầu của controller nên chúng ta sẽ bắt đầu công việc thiết kế bằng việc tạo một Model hoàn chỉnh
- Bước 5: View bạn có thể hiểu chính là giao diện của một website, hiển thị đầy đủ những thông tin mà khách hàng yêu cầu thông qua hình ảnh, văn bản, nút tùy chỉnh…Trong tất cả quá trình thì đây là bước đơn giản và dễ thực hiện nhất Mỗi View sẽ hiển thị một kết quả khác nhau tùy thuộc vào những yêu cầu cụ thể
2.2 PHP
Khái niệm
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") 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 [2]
Tại sao ta sử dụng ngôn ngữ lập trình PHP ?
PHP là một ngôn ngữ lập trình Ngôn ngữ này hoạt động cần kề với Webserver để thông dịch các yêu cầu từ trên World Wide Web, sau đó nhận các trả lời từ Webserver chuyển tải đến trình duyệt Web nhắm đáp ứng các nhu cầu đó Các đặc điểm nổi bật:
- PHP là mã nguồn mở
- Tốc độ nhanh, dễ sử dụng
- Chạy trên nhiều hệ điều hành
- Truy cập bất kỳ loại CSDL nào
Trang 13- PHP thực hiện với tốc độ rất nhanh và hiệu quả Một Server bình thường có thể
đáp ứng được hơn hàng chục triệu truy cập trong một ngày
- Php hỗ trợ kết nối tới rất nhiều csdl khác nhau như postgresql, microsoft sql
server, oracle, dbm, filepro Ngoài ra còn hỗ trợ kết nối tới odbc thông qua đó có thể kết nối với nhiều ngôn ngữ khác mà odbc hỗtrợ
- Php cung cấp một hệ thống thư viện phong phú và ngày càng phát triển Do php
ngay từ đầu được thiết kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web
- Nên php cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các công việc rất dễ
dàng: gửi, nhận mail, làm việc với cookie…
- Php là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với các ngôn
ngữ khác như perl, java Đặc biệt, php là ngôn ngữ mã nguồn mở Có rất nhiều phần mềm website mã nguồn mở được viết trên nền tảng của php như joomla, drupal, nukeviet
- Hạn chế: Cấu trúc ngữ pháp của PHP không được gọn gàng, đẹp mắt như các ngôn
ngữ lập trình khác Và PHP chỉ hoạt động được trên các ứng dụng website
Tài liệu tham khảo
- Tài liệu Giáo trình Lập Trình PHP 4 Modules – TTTH ĐH KHTN HCM của
Trung tâm tin học ĐH KHTN
2.3 LARAVEL
Laravel là một framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trúc model-view-controller (MVC) Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu –
rõ ràng , một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khác nhau
để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng [3]
Những lý do khiến Laravel trở nên rộng rãi:
- Cú pháp dễ hiểu – rõ ràng
- Hệ thống đóng gói modular và quản lý gói phụ thuộc
- Nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ
- Nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng
Những tính năng của Laravel là:
Composer: sử dụng để nâng cấp, cài đặt…
Eloquent ORM: thao tác với cú pháp đẹp mắt và đơn giản
Restful API: hỗ trợ biến Laravel thành một web service API
Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng
View: giúp code sạch sẽ hơn rất nhiều
Migrations: hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong bảng, tạo
mối quan hệ giữa các bảng, hỗ trợ quản lý cơ sở dữ liệu
Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu…
Unit Testing: hỗ trợ test lỗi để sửa chữa
Trang 142.4 MYSQL
Giới thiệu về MYSQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở
dữ liệu tốc độ cao, đơn giải, linh hoạt, ổn định và dễ sử dụng, có tính khả chuyển, đặc biệt là miễn phí hoặc tốn rất ít phí, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính 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 MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32, Win 64 cho các hệ điều hành dòng Windows, Linux, Mac
OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl Việc kết hợp cơ sở dữ liệu với ứng dụng web, dữ liệu xử lý
do php sẽ tương tác với csdl như lấy dữ liệu, làm nội dung trang web từ trạng thái tĩnh sang động Sự linh hoạt này là cốt lõi của một ứng dụng web động (dynamic web application)
Mô hình tương tác giữ client - server: php và mysql PHP dùng để gửi yêu cầu cho server và php đóng vai trò làm thông dịch và lấy kết quả có được trả lại cho Client ở dạng
mã HTML cho người dùng hiểu và sử dụng Đây là những gì diễn ra khi client yêu cầu server cho phép gửi một yêu cầu lên forum : Server sử dụng PHP để thực hiện việc chuyển tải yêu cầu PHP thực hiện việc cần làm của nó, rồi báo cáo là nó cần đến MySQL để lưu trữ tin nhắn đó, PHP lưu cái yêu cầu này vào MySQL và sau này lấy ra lại để sử dụng
MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với Apache, PHP Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên MySQL đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở 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 Nhưng MySQL không bao quát toàn bộ những câu truy vấn cao cấp như SQL Về bản chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website nhưng hầu hết có thể giải quyết các bài toán trong PHP [2]
Trang 15Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó Nếu không, chúng ta sẽ không làm được gì cả
Ưu điểm của MySQL
- Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ sở dữ liệu nhanh nhất mà bạn có thể có
- Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ chức
- Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất
cả các hệ thống cơ sở dữ liệu hiện đại Bạn cũng có thể truy cập MySQL bằng
- cách sử dụng các ứng dụng mà hỗ trợ ODC (Open Database Connectivity - một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft)
- Năng lực: Nhiều client có thể truy cập đến server trong cùng một thời gian Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạn có thể truy cập MySQL tương tác với sử dụng một vài giao diện để bạn có thể đưa vào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web…
- Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó bạn có thể chia sẻ dữ liệu của bạn với bất kỳ ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyền truy cập cho nên người mà không nên nhìn thấy dữ liệu của bạn thì không thể nhìn được
- Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải UNIX chẳng hạn như Windows MySQL chạy được các với mọi phần cứng từ các máy
PC ở nhà cho đến các máy server
- Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình duyệt web của bạn Nếu bạn không hiểu làm thế nào mà nó làm việc hay tò mò về thuật toán, bạn
có thể lấy mã nguồn và tìm tòi nó Nếu bạn không thích một vài cái, bạn có thể thay đổi
nó
- Sự hỗ trợ: Bạn có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ Cộng đồng MySQL rất có trách nhiệm Họ trả lời các câu hỏi trên mailing list thường chỉ trong vài phút Khi lỗi được phát hiện, các nhà phát triển sẽ đưa ra cách khắc phục trong vài ngày, thậm chí có khi trong vài giờ và cách khắc phục đó sẽ ngay lập tức có sẵn trên
Internet
Tại sao ta phải sử dụng hệ cơ sở dữ liệu MySQL?
- Nhanh và mạnh: MySQL không có đầy đủ những cơ sở vật chất cho một hệ
- Quản trị CSDL chính tông, nhưng đối với công việc thường nhật của phần đông
mọi người thì nó cung cấp cũng khá nhiều thứ Nếu công việc của bạn là lưu trữ dữ liệu trên web hoặc làm một trang Thương mại điện tử thì MySQL có đủ những thứ bạn cần Đối với những CSDL cỡ trung bình thì MySQL hỗ trợ tuyệt vời về tốc độ
- Cải tiến liên tục: MySQL được cải thiện liên tục với một tần số không ngờ Các
Trang 16nhà phát triển nó cập nhật thường xuyên, ngoài ra còn bổ sung các tính năng hữu ích cho
nó
Sự kết hợp giữa PHP và MySQL
Sự kết hợp giữa PHP và MySQL tạo nên một nền tảng tốt cho trang web Số lượng người sử dụng ngôn ngữ này ngày càng cao trong cộng động lập trình web, PHP và MySQL trở nên rất thông dụng Dường như đó là 1 cặp bài trùng
PHP kết hợp với MySQL sẽ tạo ra các ứng dụng chéo nền (crossplatform), nghĩa
là, bạn có thể phát triển ứng dụng trên Windows, và máy chủ là Unix
Trang 17CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 KHẢO SÁT KHÁCH HÀNG
Theo như khảo sát ý kiến của khách hàng thì ta có được các chức năng của hệ thống website cần có:
- Chức năng hiển thị sản phẩm
- Chức năng giỏ hàng,thanh toán giỏ hàng
- Chức năng đăng ký thành viên và đăng nhập hệ thống
- Chức năng quản lí đơn hàng
- Chức năng cập nhật banner của website
3.2 CHỨC NĂNG CỦA HỆ THỐNG
3.2.1 Chức năng hiển thị sản phẩm
Sản phẩm sẽ được hiển thị website sẽ được hiển thị đầy đủ thông tin về sản phẩm
đó như: hình ảnh sản phẩm, tên sản phẩm, giá sản phẩm
Trên trang chủ website, thành phần chính sẽ hiển thị một số sản phẩm mới nhất, nổi bật nhất và tin tức mới nhất
3.2.2 Chức năng giỏ hàng,thanh toán giỏ hàng
Khi tham khảo đầy đủ thông tin về sản phẩm khách hàng có thể đặtmua sản phẩm ngay tai website thông quan chức năng giỏ hàng mà không cần đến địa điểm giao dịch, giỏ hàng được mô phỏng như giỏ hàng trong thực tế có thể thêm sửa xóa, thanh toán thành tiền các sản phẩm mà khách hàng đã chọn.Khi chọn thanh toán giỏ hàng khách
hàng phải ghi đầy đủ các thông tin cá nhân thông tin này được hệ thống lưu trữ và xử lý 3.2.3 Chức năng đăng ký thành viên và đăng nhập hệ thống
Mỗi khách hàng khi giao dịch tại website sẽ được quyền đăng ký một tài khoản riêng.Tài khoản này sẽ được sử dụng khi hẹ thống yêu cầu Một tài khoản do khách hàng đăng ký sẽ lưu trữ các thông tin các nhân của khsch hàng và lịch sử giao dịch của
website Trong trường hợp khách hàng đã đăng ký mà quên mật khẩu hay tài khoản thì hệ
thống sẽ cho phép lấy lại mật khẩu với thông tin đã đăng kí
3.2.4 Chức năng tìm kiếm sản phẩm
Khách hàng sẽ được cung cấp chức năng tìm kiếm trên website Khi nhập từ khóa vào ô tìm kiếm hệ thống sẽ trả về yêu cầu với từ khóa của khách hàng Từ khóa sẽ được tìm trên tất cả các trường thông tin cần thiết của mỗi sản phẩm, tin tức
Website cho phép tìm kiếm một cách đa dạng, nhanh chóng nhất, chính xác nhất
đúng với yêu cầu của khách hàng
3.2.5 Chức năng quản lí người dùng
Người quản trị có quyền sửa xóa người dùng trên website
Trang 183.2.6 Chức năng cập nhật loại sản phẩm
Người quản trị sẽ có quyền thêm, sửa, xóa các loại sản phẩm trên website Các loại
sản phẩm cập nhật sẽ được đưa lên website
3.2.7 Chức năng cập nhật sản phẩm
Người quản trị sẽ có quyền thêm, sửa, xóa các loại sản phẩm trên website Các sản
phẩm cập nhật sẽ được đưa lên website
3.2.8 Chức năng cập nhật tin tức
Tương tự như sản phẩm, các tin tức cũng như tin tức quảng cáo được cập nhật sửa
xóa bởi người quản trị
3.2.9 Chức năng quản lí đơn hàng
Tất cả thông tin của khách hàng sẽ được lưu lại giúp cho người quản trị trang web
sẽ dễ dàng quản lí: các thông tin khách hàng, lịch sửa giao dịch, Người quản lí sẽ xác
nhận đơn, cập nhật trạng thái đơn hàng
3.2.10 Chức năng cập nhật banner của website
Người quản trị sẽ có quyền thêm, ẩn, hiện các banner trên website Các banner cập nhật sẽ được đưa lên website
3.3 CHI TIẾT CÁC CHỨC NĂNG
Đăng kí
Bảng 3.1: Chức năng đăng kí
Mô tả Cung cấp chức năng đăng kí thành viên giúp cho khách
hàng có thể đặt hàng tại website, giúp khách hàng có nhiều quyền lợi hơn,
Kích hoạt Khi khách hàng click vào biểu tượng người dùng
Quá trình xử lí Hệ thống sẽ yêu cầu người dùng nhập các thông tin bắt
buộc như:Tên, Email, Password Kiểm tra kết quả nhập của khách hàng: Kiểm tra tính hợp
lệ của form Kiểm tra trnong cơ sở dữ liệu đã tồn tại email hay chưa, nếu chưa thì lưu vào cơ sở dữ liệu, trùng thì thông báo lỗi
“email này đã tồn tại”
Thông tin thành công được đưa vào cơ sở dữ liệu Thông tin đầu
ra
Hiển thị thông báo khi khách hàng đăng kí thành công hay không.Nếu thành công thì cho phép khách hàng lựa chọn việc sửa đổi thông tin và thêm thông tin chi tiết Nếu không thig thông báo lỗi và thông báo cho khách hàng quay lại form nhập thông tin
Trang 19Đăng nhập
Bảng 3.2: Chức năng đăng nhập
Mô tả Giúp khách hàng có thể đặt hàng, nhiều quyền lợi hơn Kích hoạt Khi khách hàng click vào biểu tượng người dùng
Quá trình xử lý Hệ thống sẽ yêu cầu khách hàng nhập:Email,Password
Kiểm tra Email và Password có tồn tại hay không Tạo phiên truy cập thành viên cho người vưa đăng nhập hợp lệ.Nếu khách hàng quên mật khẩu thì đưa ra chức năng lấy lại mật khẩu,nếu chưa là thành viên thì đưa ra trang đăng kí
Thông tin đầu
ra
Nếu đăng nhập thành công thì sẽ chuyển hướng vào trang chủ, nếu đăng nhập thất bại thì báo lỗi
Đổi mật khẩu
Bảng 3.3: Chức năng đổi mật khẩu
Mô tả Giúp khách hàng có thể đổi mật khẩu tài khoản của mình Kích hoạt Khi khách hàng click vào biểu tượng người dùng
Quá trình xử lý Hệ thống sẽ yêu cầu khách hàng nhập:Mật khẩu,Mật
khẩu mới Sau khi nhập xong hệ thống sẽ kiểm tra và phản hồi lại khách hàng
Thông tin đầu
Quá trình xử lý Yêu cầu khách hàng nhập các thông tin:tên sản phẩm
Tìm kiếm trong cơ sở dữ liệu theo từ khóa
Từ cơ sở dữ liệu lấy ra sản phẩm tìm được
Kiểm tra dữ liệu nhập, so sánh sản phẩm với các loại sản phẩm hoặc mức giá khi nhập vào form
Thông tin đầu
ra
Hiển thị được sản phẩm mà khách hàng tìm trên website, nếu không tìm thấy xuất thông báo không tìm thấy được sản phẩm
Trang 20Giỏ hàng
Bảng 3.5: Chức năng giỏ hàng
Mô tả Cung cấp một một giỏ hàng cho khách hàng
Kích hoạt Khi khách hàng mua hàng và xem giỏ hàng
Quá trình xử lý Sau khi chọn hàng, các thông tin và sản phẩm sẽ được
cho vào giỏ hàng Khi khách hàng muốn xem giỏ hàng thì click vào nút giỏ hàng ở thanh menu
Thông tin đầu
ra
Đưa ra danh sách sản phẩm mà khách hàng đã mua Số lượng mà khách hàng đặt mua sản phẩm.Tổng số tiền của giỏ hàng
Chức năng thêm loại sản phẩm
Bảng 3.6: Chức năng thêm loại sản phẩm
Mô tả Cho phép thêm một loại sản phẩm mới vào
Đầu vào Tên loại sản phẩm
Quá trình xử lý Kiểm tra tính hợp lệ của dữ liệu nhập vào
Thông tin đầu
ra
Hiển thị danh sách loại sản phẩm
Chức năng xóa loại sản phẩm
Bảng 3.7: Chức năng xóa loại sản phẩm
Mô tả Cho phép xóa một loại sản phẩm
Kích hoạt Chọn loại sản phẩm cần xóa
Quá trình xử lý Kết nối cơ sở dữ liệu, xóa loại sản phẩm
Thông tin đầu
ra
Thông báo xóa sản phẩm
Chức năng sửa loại sản phẩm
Bảng 3.8: Chức năng sửa loại sản phẩm
Mô tả Cho phép sửa thông tin loại sản phẩm
Kích hoạt Chọn loại sản phẩm cần sửa
Quá trình xử lý Nhập thông tin cần sửa Sau đó hệ thống kiểm tra dữ liệu
form có đúng không, kết nối đến cơ sở dữ liệu cập nhật thông tin
Thông tin đầu
ra
Thông báo cập nhật, hiển thị danh sách loại sản phẩm
Trang 21Chức năng thêm sản phẩm
Bảng 3.9: Chức năng thêm sản phẩm
Mô tả Cho phép thêm sản phẩm mới vào
Đầu vào Tên sản phẩm,Giá sản phẩm, Giá khuyến mãi,Số
lượng,Mô tả Quá trình xử lý Kiểm tra tính hợp lệ của dữ liệu nhập vào
Thông tin đầu
Quá trình xử lý Nhập thông tin cần sửa Sau đó hệ thống kiểm tra dữ liệu
form có đúng không, kết nối đến cơ sở dữ liệu cập nhật thông tin
Thông tin đầu
Quá trình xử lý Kết nối cơ sở dữ liệu, sản phẩm
Thông tin đầu
ra
Thông báo xóa sản phẩm
Chức năng chỉnh sửa thông tin khách hàng
Bảng 3.12: Chức năng sửa thông tin khách hàng
Mô tả Cho phép chỉnh sửa thông tin khách hàng
Đầu vào Chọn khách hàng cần sửa
Quá trình xử lý Kiểm tra dữ liệu form có đúngkhông, kết nối đến cơ sở
dữ liệu để câp nhật thông tin Thông tin đầu
ra
Thông báo cập nhập, hiển thị danh sách về khách hàng
Chức năng xóa khách hàng
Bảng 3.13: Chức năng xóa khách hàng
Mô tả Cho phép xóa khách hàng
Đầu vào Chọn khách hàng cần xóa
Quá trình xử lý Kết nối đến cơ sở dữ liệu, xóa khách hàng
Thông tin đầu
ra
Thông báo xóa khách hàng vừa chọn
Trang 22Chức năng thêm tin tức
Bảng 3.14: Chức năng thêm tin tức
Mô tả Cho phép thêm tin tức mới
Đầu vào Tên tiêu đề,Ảnh,Mô tả tin tức,Ngày viết tin tức
Quá trình xử lý Kiểm tra tính hợp lệ của dữ liệu nhập vào
Thông tin đầu
ra
Hiển thị danh sách tin tức
Chức năng sửa tin tức
Bảng 3.15: Chức năng sửa tin tức
Mô tả Cho phép sửa thông tin tin tức
Đầu vào Chọn tin tức cần sửa
Quá trình xử lý Kiểm tra dữ liệu form có đúngkhông, kết nối đến cơ sở
dữ liệu cập nhật thông tin Đầu ra Thông báp cập nhật, hiển thị danh sách về tin tức
Chức xóa tin tức
Bảng 3.16: Chức năng xóa tin tức
Mô tả Cho phép xóa tin tức
Đầu vào Chọn tin tức cần xóa
Quá trình xử lý Kết nối đến cơ sở dữ liệu, xóa tin tức
Đầu ra Thông báo xóa tin tức
Chức năng thêm banner
Bảng 3.17: Chức năng thêm banner
Mô tả Cho phép thêm banner mới vào website
Đầu vào Hình ảnh banner
Quá trình xử lý Kiểm tra tính hợp lệ của dữ liệu nhập vào
Đầu ra Hiển thị danh sách hình ảnh
Chức năng ẩn, hiện banner
Bảng 3.18: Chức năng ẩn, hiện banner
Mô tả Cho phép ẩn hiện banner trên website
Kích hoạt Chọn banner cần thao táo
Quá trình xử lý Thực hiện ẩn, hiện banner
Thông tin đầu
ra
Thông báo ẩn, hiện banner
Trang 23Chức năng cập nhật đơn hàng
Bảng 3.19: Chức năng cập nhật đơn hàng
Mô tả Cho phép xác nhận tình trạng đơn hàng
Đầu vào Thông tin xác nhận
Quá trình xử lý Kiểm tra tính hợp lệ của dữ liệu nhập
Thông tin đầu
ra
Thông tin sau khi cập nhật
3.4 PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
Xem thông tin sản phẩm
Xem thông tin giỏ hàng
Trang 24Chọn sản phẩm cần mua
Thêm, bớt sản phẩm trong giỏ hàng
Thực hiện việc mua hàng
Thanh toán
Tác nhân Người quản lý có các Use Case sau:
Tiếp nhận đơn hàng
Giao cho nhân viên thực hiện
Quản lý danh sách thành viên
Quản lý danh mục sản phẩm
Tác nhân Nhân viên có các Use Case sau:
Thực hiện việc giao hàng
Báo cáo kết quả
Ngoài ra, các thành viên của hệ thống còn có các Use Case sau:
Đăng nhập
Xem thông tin cá nhân
Sửa đổi thông tin cá nhân
B1: Mở giao diện đăng ký
B2: Nhập đầy đủ thông tin
B3: Click “đăng ký”
B4-B5: Hệ thống sẽ kiểm tra thông tin từ giao diện
B6: Hệ thống kiểm tra thấy tài khoản đã tồn tại hoặc sai, trả về thông báo
B7: Hiển thị thông báo, yêu cầu người dùng nhập lại thông tin
B8: Nhập lại thông tin
B9-B10-B11: Hệ thống kiểm tra lại thấy tài khoản chưa tồn tại, lưu thông tin lên database
B12-B13: Hệ thống trả về thông báo đăng ký thành công
B14: Hiển thị thông báo
Trang 25Hình 3.2 Sơ đồ tuần tự đăng ký
B4: Hệ thống sẽ kiểm tra thông tin từ giao diện
B5: Hệ thống kiểm tra thông tin vừa lấy được trên database
B6: Hệ thống kiểm tra thấy thông tin tài khoản sai, trả về thông báo
B7: Hiển thị thông báo, yêu cầu người dùng nhập lại thông tin
B8: Nhập lại thông tin
B9-B10: Hệ thống kiểm tra lại thấy thông tin tài khoản đúng, cấp quyền truy cập cho người dùng
B11: Hệ thống lưu thông tin và thông báo thành công
B12-B13: Hệ thống trả về đăng nhập thành công
Trang 26B14: Hiển thị thông báo
Hình 3 3 Sơ đồ tuần tự đăng nhập
B3: Hệ thống sẽ tìm kiếm thông tin từ giao diện
B4: Hệ thống tìm kiếm thông tin vừa lấy được trên database
B5: Database trả về kết quả
B6: Nếu có sản phẩm, hệ thống sẽ trả về danh sách kết quả
B7: Nếu không có sản phẩm, trả về thông báo
B8: Hiển thị kết quả trả về
Trang 27Hình 3 4 Sơ đồ tuần tự tìm kiếm sản phẩm
d Khách hàng xem chi tiết sản phẩm
B3: Lấy mã sản phẩm để tìm kiếm thông tin sản phẩm
B4: Lấy tất cả thông tin của sản phẩm trên database thông qua mã sản phẩm
B5: Database trả về kết quả
B6: Hệ thống trả về kết quả
B7: Hiển thị thông tin sản phẩm
Trang 28Hình 3.5 Sơ đồ tuần tự xem chi tiết sản phẩm
e Thêm sản phẩm vào giỏ hàng
B3: Hệ thống lấy thông tin sản phẩm dựa vào mã sản phẩm
B4: Hệ thống tạo giỏ hàng cho khách hàng
B5: Thêm thông tin sản phẩm vừa lấy được vào giỏ hàng
B6: Lưu dữ liệu giỏ hàng vào database
B7: Trả về kết quả
B8: Hiển thị sản phẩm trong giỏ hàng sau khi thêm
Trang 29Hình 3.6 Sơ đồ tuần tự thêm sản phẩm vào giỏ hàng
f Cập nhật thông tin sản phẩm ở giỏ hàng
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng chỉnh sửa thông tin sản phẩm trong giỏ hàng
Luồng sự kiện:
B1: Vào giao diện giỏ hàng
B2: Sửa thông tin sản phẩm trong giỏ hàng
B3: Yêu cầu kiểm tra khách hàng đồng ý xóa sản phẩm không
B4: Nếu có lấy dữ liệu sản phẩm trong giỏ hàng từ database
B5: Hệ thống kiểm tra dữ liệu
B6: Trả kết quả về
B7: Hệ thống kiểm tra thấy thông tin không hợp lệ, trả về thông báo
B8: Yêu cầu nhập lại thông tin
B9: Nhập lại thông tin
B10-B11: Hệ thống kiểm tra thấy thông tin mới nhập hợp lệ, lưu lại những thay đổi lên database
B12: Trả về thông báo
B13: Hiển thị thông báo
Trang 30Hình 3.7 Sơ đồ tuần tự cập nhật sản phẩm ở giỏ hàng
g Xóa sản phẩm khỏi giỏ hàng
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng xóa sản phẩm khỏi giỏ hàng
Luồng sự kiện:
B1: Vào giao diện giỏ hàng
B2: Chọn sản phẩm cần xóa, click “xóa sản phẩm”
B3: Hệ thống yêu cầu kiểm tra khách hàng có đồng ý hay không
B4: Nếu có hệ thống sẽ xóa sản phẩm
B5: Trả về kết quả
B6: Thông báo xóa thành công
B7: Hiển thị kết quả sau khi xóa sản phẩm ra khỏi giỏ hàng
Trang 31Hình 3.8 Sơ đồ tuần tự xóa sản phẩm khỏi giỏ hàng
h Khách hàng gửi câu hỏi, ý kiến
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng gửi câu hỏi, ý kiến tới admin
Luồng sự kiện:
B1: Mở giao diện gửi câu hỏi, ý kiến
B2: Điền câu hỏi và ý kiến cần gửi
B3: Click “gửi”
B4: Hệ thống sẽ kiểm tra thông tin từ giao diện
B5: Hệ thống kiểm tra thấy người dùng nhập thiếu thông tin, trả về thông báo
B6: Hiển thị thông báo, người dùng nhập lại thông tin
B7: Yêu cầu nhập lại thông tin
B8: Nhập lại thông tin
B9-B10: Hệ thống kiểm tra thấy người dùng nhập đủ thông tin, lưu thông tin lên database
B11-B12: Hệ thống trả về thông báo gửi thành công
B13: Hiển thị thông báo
Trang 32Hình 3.9 Sơ đồ tuần tự gửi ý kiến, câu hỏi
i Administrator đăng nhập
Tác nhân: quản trị viên
Mô tả: Cho phép quản trị viên sử dụng tài khoản đã đăng ký để đăng nhập vào hệ thống quản trị
Luồng sự kiện:
B1: Mở giao diện đăng nhập
B2: Nhập thông tin
B3: Click “đăng nhập”
B4: Hệ thống sẽ kiểm tra thông tin từ giao diện
B5: Hệ thống kiểm tra thông tin vừa lấy được trên database
B6: Hệ thống kiểm tra thấy thông tin tài khoản sai, trả về thông báo
B7: Yêu cầu người dùng nhập lại thông tin
B8: Nhập lại
Trang 33B14: Hiển thị thông báo
Hình 3.10 Sơ đồ tuần tự Administrator đăng nhập
j Administrator thêm user
Tác nhân: Admin
Mô tả: Cho phép admin thêm user vào hệ thống
Luồng sự kiện:
B1: Mở giao diện thêm user
B2: Nhập thông tin user
B3: Click “thêm”
B4-B5: Hệ thống sẽ kiểm tra thông tin từ giao diện
B6: Hệ thống phát hiện thiếu thông tin, trả về thông báo
B7-B8: Hiển thị thông báo, nhập lại thông tin
B9-B10: Hệ thống kiểm tra thấy thông tin đầy đủ, lưu dữ liệu lên database
B11: Trả về thông báo
B12: Thông báo thêm thành công
B13: Hiển thị kết quả
Trang 34Hình 3.11 Sơ đồ tuần tự Administrator thêm user
k Administrator cập nhật thông tin user
Tác nhân: Admin
Mô tả: Cho phép admin sửa thông tin user
Luồng sự kiện:
B1: Mở giao diện thông tin user cần sửa
B2: Nhập thông tin sửa user
B3: Click “cập nhật”
B4-B5: Hệ thống lấy dữ liệu trên giao diện và kiểm tra
B6: Hệ thống phát hiện sai, thiếu thông tin, trả về thông báo
B7-B8: Hiển thị thông báo, nhập lại thông tin
B9-B10: Hệ thống kiểm tra thấy thông tin đầy đủ, lưu dữ liệu mới lên database
B11: Trả về kết quả
B12: Thông báo sửa thành công
Trang 35Hình 3.12 Sơ đồ tuần tự Administrator cập nhật thông tin user
l Administrator xóa user
Tác nhân: Admin
Mô tả: Cho phép admin xóa user khỏi hệ thống
Luồng sự kiện:
B1: Mở giao diện quản lý
B2: Chọn một hoặc nhiều user cần xóa
B3: Click “xóa”
B4: Hệ thống sẽ yêu cầu kiểm tra quản trị viên đồng ý xóa hay không
B5: Nếu có hệ thống sẽ tự động xóa user
B6: Trả về kết quả
B7: Thông báo xóa thành công
B8: Hiển thị kết quả
Trang 36Hình 3.13 Sơ đồ tuần tự Administrator xóa user
B4-B5: Hệ thống sẽ kiểm tra thông tin từ giao diện
B6: Hệ thống phát hiện thiếu thông tin, trả về thông báo
B7-B8: Hiển thị thông báo, nhập lại thông tin
B9-B10: Hệ thống kiểm tra thấy thông tin đầy đủ, lưu dữ liệu lên database
B11: Trả về thông báo
B12: Thông báo thêm thành công
B13: Hiển thị kết quả
Trang 37Hình 3.14 Sơ đồ tuần tự Administrator thêm sản phẩm
n Administrator cập nhật thông tin sản phẩm
Tác nhân: Admin
Mô tả: Cho phép admin sửa thông tin sản phẩm
Luồng sự kiện:
B1: Mở giao diện thông tin sản phẩm cần sửa
B2: Nhập thông tin sửa sản phẩm
B3: Click “cập nhật”
B4-B5: Hệ thống lấy dữ liệu trên giao diện và kiểm tra
B6: Hệ thống phát hiện sai, thiếu thông tin, trả về thông báo
B7-B8: Hiển thị thông báo, yêu cầu nhập lại thông tin
B9-B10: Hệ thống kiểm tra thấy thông tin đầy đủ, lưu dữ liệu mới lên database
B11: Trả về kết quả
B12: Thông báo sửa thành công
B13: Hiển thị kết quả