Tìm kiếm: Tra cứu được các sản phẩm cần tìm dựa trên một số thông tin đãbiết như các thông tin về: thể loại sản phẩm, giá cả, thông số kỹ thuật… Gửi phản hồi: Khách hàng có thể gửi n
Trang 1Sinh viên thực hiện: NGUYỄN HOÀNG ANH - AT160504
LÊ BẰNG NGUYÊN - AT160539 TRẦN TRUNG HIẾU - AT160519 NHÓM 73
Giảng viên hướng dẫn: ThS LÊ ĐỨC THUẬN
Trang 2NHẬN XÉT VÀ CHO ĐIỂM CỦA GIÁO VIÊN
Trang 3MỤC LỤC
Contents
LỜI NÓI ĐẦU
CHƯƠNG 1 KHẢO SÁT, CƠ SỞ LÝ THUYẾT XÂY DỰNG BÀI TOÁN 2
1.1 Tổng quan về đề tài 2
1.1.1 Lý do nghiên cứu đề tài 2
1.2 Khảo sát, cơ sở lý thuyết xây dựng bài toán 2
1.2.1 Cơ sở lý thuyết của đề tài 2
1.2.2 Khảo sát, cơ sở xây dựng bài toán 2
1.2.3 Tìm hiểu một số website mua bán điện thoại di động 3
1.3 Giới thiệu về ngôn ngữ và công cụ sử dụng 4
1.3.1 Giới thiệu về HTML, CSS, JavaScript 4
1.3.2 Tại sao sử dụng ngôn ngữ lập trình PHP 4
1.3.3 Giới thiệu về MySQL 4
1.3.4 Giới thiệu về Lavarel 5
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 7
2.1 Các yêu cầu đặt ra 7
2.1.1 Các yêu cầu chức năng 7
2.1.2 Các yêu cầu phi chức năng 8
2.2 Phân tích yêu cầu bài toán 8
2.2.1 Phân tích yêu cầu khách hàng vô danh (Guest) 9
2.2.2 Phân tích yêu cầu người dùng (User) 9
2.2.3 Phân tích yêu cầu người chủ cửa hàng (Store Owner) 10
Trang 42.3.2 UseCase Chi tiết 13
2.3.3 UseCase Xem các danh sách sản phẩm 14 2.3.4 UseCase Xem lại giỏ hàng 15
2.3.5 UseCase Tìm kiếm 17
2.3.6 UseCase Đăng nhập 18
2.3.7 UseCase Gửi phản hồi 20
2.3.8 UseCase Tạo tài khoản 22
2.3.9 UseCase Xem hồ sơ cá nhân 23
2.3.10 UseCase Xem khuyến mãi của tôi 24
2.3.11 UseCase Xem chi tiết sản phẩm 26
2.3.12 UseCase Đăng xuất 27
2.3.13 UseCase Quản lý sản phẩm 28
2.3.14 UseCase Quản lý đơn hàng 30
2.3.15 UseCase Quản lý chương trình khuyến mãi 32 2.3.16 UseCase Quản lý danh mục sản phẩm 33 2.3.17 UseCase Quản lý người dùng 35
2.3.18 UseCase Quản lý phản hồi 37
2.4 Xây dựng biểu đồ Squence Diagram 40
2.4.1 Squence Đăng nhập 40
2.4.2 Squence Tạo tài khoản 41
2.4.3 Squence Gửi phản hồi 42
2.4.4 Squence Xem chi tiết sản phẩm 42
2.4.5 Squence Xem lại giỏ hàng 43
2.4.6 Squence Đăng xuất 43
2.4.7 Squence Xem Voucher của tôi 44
2.4.8 Squence Xem hồ sơ cá nhân 45
2.4.9 Squence Quản lý sản phẩm 46
Trang 52.4.10 Squence Quản lý đơn hàng 47
2.4.11 Squence Quản lý khuyến mãi 47
2.4.12 Squence Quản lý danh mục sản phẩm 49 2.4.13 Squence Quản lý người dùng 50
2.4.14 Squence Quản lý phản hồi 51
2.5 Xây dựng cơ sở dữ liệu 52
2.5.1 Thiết kế lược đồ ER 52
2.5.2 Lược đồ quan hệ 54
2.5.3 Xây dùng Class Diagram 55
2.5.4 Thiết kế Database 56
CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM 58
3.1 Tính năng của Khách hàng Guest 58
3.1.1 Tính năng xem các danh sách sản phẩm 58 3.1.2 Chức năng xem chi tiết sản phẩm 60
3.2.2 Tính năng xem hồ sơ cá nhân 64
3.3 Tính năng của Admin 66
3.3.1 Tinh năng Quản lý người dùng 67
3.3.2 Tính năng Quản lý sản phảm 69
3.3.3 Tính năng Quản lý đơn hàng 71
3.3.4 Tính năng Quản lý chương trình khuyến mãi 73
Trang 6KẾT LUẬN
TÀI LIỆU THAM KHẢO PHỤ LỤC
Trang 7Mục lục hình vẽ
Hình 2.1 UseCase Diagram mức tổng quát 12
Hình 2.2 UseCase Diagram mức chi tiết 13
Hình 2.3 UseCase Xem các danh sách sản phẩm 14Hình 2.4 UseCase Xem lại giỏ hàng 16
Hình 2.5 UseCase tìm kiếm 17
Hình 2.6 UseCase Đăng nhập 19
Hình 2.7 UseCase Gửi phản hồi 21
Hình 2.8 UseCase Tạo tài khoản 22
Hình 2.9 UseCase Xem hồ sơ cá nhân 24
Hình 2.10 UseCase Xem khuyến mãi của tôi 25
Hình 2.11 UseCase Xem chi tiết sản phẩm 27
Hình 2.12UseCase Đăng xuất 28
Hình 2.13UseCase Quản lý sản phẩm 29
Hình 2.14 UseCase Quản lý đơn hàng 31
Hình 2.15 UseCase Quản lý chương trình khuyến mãi 33Hình 2.16 UseCase Quản lý danh mục sản phẩm 34Hình 2.17 UseCase Quản lý người dùng 36
Hình 2.18 UseCase Quản lý phản hồi 38
Hình 2.19 Squence Đăng nhập 40
Hình 2.20 Tạo tài khoản 41
Hình 2.21 Gửi phản hồi 42
Hình 2.22 Xem chi tiết sản phẩm 42
Hình 2.23 Xem lại giỏ hàng 43
Hình 2.24 Đăng xuất 44
Hình 2.25 Xem Voucher của tôi 44
Trang 8Hình 2.40 Class Diagram 55
Hình 2.41 Database 56
Hình 3.1 Giao diện phần trang chủ 58
Hình 3.2 Tính năng xem các danh sách sản phẩm 59
Hình 3.3 Tính năng xem chi tiết sản phẩm 60
Hình 3.4 Tính năng Đăng nhập 61
Hình 3.5 Tính năng tạo tài khoản mới 61
Hình 3.6 Chức năng tìm kiếm 62
Hình 3.7 Tính năng giỏ hàng 63
Hình 3.8 Tính năng xem hồ sơ các nhân 64
Hình 3.9 Tính năng đăng xuất 64
Hình 3.10 Trang thống kê 65
Hình 3.11 Tính năng Quản lý Người dùng User 65
Hình 3.12 Tính năng thêm người dùng 66
Hình 3.13 Tính năng cập nhật thông tin người dùng 67
Hình 3.14 Chức năng Quản lý sản phầm 67
Trang 9Hình 3.15 Chức năng thêm sản phẩm 68
Hình 3.16 Chức năng thêm ảnh 69
Hình 3.17 Chức năng quản lý đơn hàng 70
Hình 3.18 Chức năng chi tiết đơn hàng 70
Hình 3.19 Chức năng Quản lý chương trình khuyến mãi 71Hình 3.20 Chức năng tạo Voucher mới 72
Hình 3.21 Chức năng cập nhật thông tin Voucher 72
Trang 10Mục lục bảng
Bảng 1 Mô tả UseCase Xem các danh sách sản phẩm 15Bảng 2 Mô tả UseCase Xem lại giỏ hàng 17
Bảng 3 Mô tả UseCase tìm kiếm 18
Bảng 4 Mô tả UseCase Đăng nhập 20
Bảng 5 Mô tả UseCase Gửi phản hồi 22
Bảng 6 Mô tả UseCase Tạo tài khoản 23
Bảng 7 Mô tả UseCase Xem hồ sơ cá nhân 25
Bảng 8 Mô tả UseCase Xem khuyến mãi của tôi 26
Bảng 9 Mô tả UseCase Xem chi tiết sản phẩm 27
Bảng 10 Mô tả UseCase Đăng xuất 29
Bảng 11 Mô tả UseCase Quản lý sản phẩm 31
Bảng 12 Mô tả UseCase Quản lý đơn hàng 32
Bảng 13 Mô tả UseCase Quản lý chương trình khuyến mãi 34Bảng 14 Mô tả UseCase Quản lý danh mục sản phẩm 36Bảng 15 Mô tả UseCase Quản lý người dùng 37
Bảng 16 Mô tả UseCase Quản lý phản hồi 39
Trang 11NỘI DUNG BÁO CÁO
Tên đề tài: Xây dựng website mua bán điện thoại di động trên mạng
Giáo viên hướng dẫn: Thầy Lê Đức Thuận
Mục đích của đề tài: Tìm hiểu tổng quan về lập trình web, qua đó xây dựng
website mua bán điện thoại di động.
Trang 12LỜI MỞ ĐẦU
Trong thời đại 4.0 như ngày nay website đa trở thành một thứ gì đó quá quenthuộc với chúng ta những công dân thông thái của thế kỷ số Vậy nên những côngnghệ về web đang được quan tâm rất nhiều Việc tạo ra web cũng là một công việc cónhu cầu tương đối cao trong số đó Trong bài báo cáo này chúng em sẽ trình bàynhững gì mình đã tìm hiểu được về cách để tạo ra những trang web thông dụng, cũngnhư sẽ demo lại một số chức năng cơ bản của một trang web cả ở admin và client Cuối cùng chúng em xin gửi lời cảm ơn đến thầy thuận, thầy như một ngườiđồng hành, người cố vấn, một đồng minh đáng tin cậy thầy là người mà chúng em cóthể chia sẻ mọi sự lo lắng mọi vấn đề gặp phải Không có thầy có lẽ bản báo cáo này
đã không được viết xong Xin mãi biết ơn thầy vì mọi việc mà thầy làm
Trang 13CHƯƠNG 1 KHẢO SÁT, CƠ SỞ LÝ THUYẾT XÂY
DỰNG BÀI TOÁN
1.1 Tổng quan về đề tài
1.1.1. Lý do nghiên cứu đề tài
Chúng tôi ngay này đang trong thời kỳ 4.0 cạnh tranh ở kinh doanh ngày trở nên khắcnghiệt hầu hết các công ty đều có khuynh hướng thỏa mãn khách hàng một cách tốtnhất
So với kinh doanh truyền thống thì việc bán hàng online có chi phí thấp hơn, hiệu quảhơn và không tốn tiền mặt bằng Hơn thế nữa việc internet càng ngày càng phát triển,cộng với các dịch vụ chuyển hàng tận nới làm cho việc mua hàng online đang trởthành một xu thế trong tương lại
Biết được những nhu cầu việc tìm hiểu cách để tạo nên một trang web đang trở nên rấthot, từ đó đề tài này ra đời
1.2 Khảo sát, cơ sở lý thuyết xây dựng bài toán.
1.2.1. Cơ sở lý thuyết của đề tài.
Dựa trên cơ sở các môn đã học như:
Hệ quản trị cơ sở dữ liệu
Phân tích thiết kế hệ thống thông tin
1.2.2. Khảo sát, cơ sở xây dựng bài toán.
1.2.2.1. Mô tả bài toán
Cửa hàng bán đồ công nghệ Apple mong muốn tối ưu hóa công tác quản lý củamình, gồm các chức năng sau:
Giới thiệu hình ảnh và tên các sản phẩm công nghệ đặc trưng hoặc nổi bật
Các thông tin chi tiết của một sản phẩm
Một số chức năng tìm kiếm như: tìm kiếm theo giá, theo thể loại, theo phong
Trang 14 Xem một số khuyến mại riêng (Vouchers) khi đăng ký và trở thành ngườidùng
Thêm hàng vào giỏ
Gửi phản hồi
Xem lại giỏ hàng
Xem tóm tắt thông tin của sản phẩm
Xem lại lịch sử chi tiết từng giao dịch
Gửi đơn đặt hàng và thanh toán theo các hình thức
Với Website này thì khách hàng sẽ được tạo thuận lợi để mua được sản phẩm màmình cần một cách nhanh chóng Với website này thì người mua có thể xem thông tin
và đặt mua sản phẩm mà không phải đến tận cửa hàng Với cách này thì người mua sẽthanh toán trực tiếp qua ngân hàng hoặc trực tiếp Với thanh toán qua ngân hàng thìsau khi cửa hàng nhận được đủ số tiền thì sẽ giao hàng đến tận tay mua Còn nếu thànhtoán trực tiếp thì cửa hàng sẽ cử nhân viên mang sản phẩn tới và đến nhận tiền
1.2.2.2. Giới thiệu website bán hàng công nghệ Apple.
Với website táo non của chúng tôi người dùng sẽ được trải nghiệm nhữngmặt hàng công nghệ Apple Web được chia thành 2 phần là dành cho user vàdành cho admin Với phần dành cho admin, giao diện của admin sẽ được thiết kếkhá là tối giản và có chọn lọc nhưng đủ để admin có thể thực hiện các thao tác cơbản như thêm, sửa, xóa cũng như một số thao tác khác nhằm mục đích cập nhật
dữ liệu lên cho người dùng user sử dụng Còn với phần dành cho user thì sẽ đượcthiết kế tý mỉ và chỉnh chu hơn nhằm thu hút sự chú ý của người dùng user.Ngoài ra ở phần dành cho user còn được thiết kế đặc biệt nhằm thỏa mãn các nhucầu tìm kiếm của các user
1.2.3. Tìm hiểu một số website mua bán điện thoại di động.
Trang 15Đến với trang “thegioididong.com” ta có thể nhận thấy giao diện thoáng, dễ nhìn.Trang web này đã đưa ra được các sản phẩm cùng với các tính năng cơ bản của nó,kèm với giá trên thị trường Trang web đã xây dựng một số chức năng tìm kiếm cơ bảnnhư: tìm kiếm theo hãng điện thoại, theo nhà sản xuất, mức giá, tìm theo phong cách,kiểu dáng Hình thức thanh toán như: thanh toán ngay sau khi nhận hàng, thanh toánbằng chuyển khoản, thanh toán qua tiền mặt Ta thấy rằng hiện nay một số trang mớichỉ dừng lại ở hỗ trợ khách hàng trực tuyến qua điện thoại, vì vậy thay vì phải gọi điệnthoại ta có thể làm thêm phần chat online với khách hàng Một hình thức thanh toánmới như thanh toán điện tử cũng sẽ được đưa vào như thanh toán qua thẻ.
1.3 Giới thiệu về ngôn ngữ và công cụ sử dụng
1.3.1. Giới thiệu về HTML, CSS, JavaScript
JavaScript là một ngôn ngữ chương trình thông dịch với các khả năng
hướng đối tượng Là một trong ba ngôn ngữ chính trong lập trình web và có mối liên hệ lẫn nhau để xây dựng một website sống động, chuyên nghiêp:
HTML: Hỗ trợ trong việc xây dựng layout, them mội dung dễ dàng trênwebsite
CSS: Hỗ trợ giúp cho người thiết kế dễ dàng áp đặt các phong cách đã đượcthiết kế lên bất kì page nào của website một cách nhanh chóng, đồng bộ việcđịnh dạng thiết kế, bố cục, phong cách, màu sắc,…
JavaScript: Tạo nên những nội dung “động” trên website
1.3.2. Tại sao sử dụng ngôn ngữ lập trình 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
Trang 16Tương thích với hầu hết các server đang sử dụng hiện nay như Apache
1.3.3. Giới thiệu về MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở, gọi tắt là RDBMS
(Relational Database Management System), hoạt động theo mô hình Client (Máy khách) – Server (Máy chủ) MySQL được tích hợp Apache, PHP MySQL quản
lý dữ liệu thông qua các CSDL (cơ sở dữ liệu) Mỗi CSDL có thể có nhiều bảng
quan hệ chứa dữ liệu
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thểđược quản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người dùng có một têntruy cập (user name) và mật khẩu tương ứng để truy xuất đến cơ sở dữ liệu
Khi 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ậtkhẩ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
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ấtmạnh
Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDLtrê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ơnthế 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ấthiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi
1.3.4 Giới thiệu về Lavarel
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xâydựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC.Hiện nay, Laravel đang là PHP framework phổ biến nhất và tốt nhất
Lavarel là một mô hình MVC framewkork nên rất dễ sử dụng và giúp chocode dễ đọc dễ control
Lavarel rất nhẹ và được trang bị giải pháp cache tối ưu nên nó đặc biệt hữudụng cho ứng dụng web có dung lượng dữ liệu trên đường truyền lớn như webportal, forum, CMS, e-commerce, v.v
Trang 17 Lavarel có rất nhiều các Widget giúp cho quá trình code trở nên nhanh chóng
Kết luận chương I
Qua việc tìm hiểu cơ sở lý thuyết, ta đã hiểu được về tổng quan về hệ thống của 1 web bán hàng, giới thiệu các ưu nhược điểm của các công nghệ cấu thành nên website được sử dụng trong đề tài này : Ngôn ngữ PHP,
MySQL, Lavarel,…
Trang 18CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Các yêu cầu đặt ra
2.1.1. Các yêu cầu chức năng
Đăng ký, đăng nhập tài khoản
Xem sản phẩm: Khách hàng có thể xem được những danh sách các sản phẩm
do chủ cửa hàng đã lập sẵn, cũng như xem các thông tin chi tiết của từng sảnphẩm trong danh sách đó
Giỏ hàng: Khách hàng có thể thêm các sản phẩm mới và giỏ hàng, giúp kháchhàng xem lại các sản phẩm đã chọn cũng như các thông tin của chúng như: tênsản phẩm, giá cả, số lượng, thông số kỹ thuật,… Giỏ hàng thiết kế bao gồmcác tiêu chí: tên sản phẩm, hình ảnh sản phẩm, số lượng sản phẩm, giá từngsản phẩm, tổng giá trị của các đơn hàng trong giỏ
Xem lại lịch sử mua hàng: Người dùng user có thể xem lại các đơn hàng màmình đã mua, cũng như các thông tin của các đơn hàng đó như: tên ngườinhận, số điện thoại, địa chỉ nhận hàng, tổng tiền, ngày đặt đơn, tình trạng đơnhàng (đang sử lý, đang giao, giao thành công, đã bị hủy), cũng như xem lại cácthông tin chi tiết của các sản phẩm đó
Tìm kiếm: Tra cứu được các sản phẩm cần tìm dựa trên một số thông tin đãbiết như các thông tin về: thể loại sản phẩm, giá cả, thông số kỹ thuật…
Gửi phản hồi: Khách hàng có thể gửi những ý kiến, góp ý của mình đến chochủ của hàng xem
Xem thông tin cá nhân: Người dùng user có thể xem lai các thông tin mà mình
đã cập nhật như: tên, số điện thoại, địa chỉ nhận, email,…
Xem các khuyến mãi mới nhất: Người dùng user có thể xem các chương trìnhkhuyến mại chỉ dành riêng cho những khách hàng đã đăng ký tài khoản
Quản lý sản phẩm: Đây là tính năng cho phép chủ cửa hàng có thể thêm, sửa,xóa các thông tin của sản phẩm
Quản lý đơn hàng: Chức năng này cho phép chủ cửa hàng thêm các đơn hàngmới, xóa các đơn hàng đã bị hủy và thống kê các đơn hàng đó nhầm phục vụ
Trang 19một số yêu cầu của chủ cửa hàng như tìm ra các sản phẩm bán chạy nhấttháng, tìm ra các khách hàng tiềm năng, …
Quản lý người dùng: Chức năng này cho phép chủ cửa hàng có thể tùy ý thêmhoặc xóa các người dùng mới hay trả lời các phản hồi mà người dùng gửi tới
Quản lý dành sách sản phẩm: Chức năng này cho phép chủ cửa hàng tạo cácdanh sách sản phẩm tùy theo ý nghĩ của chủ cửa hàng
Quản lý khuyến mãi: Chức năng này cho phép chủ cửa hàng tạo ra các chươngtrình khuyến mãi mới, ra hạn cho các chương trình cũ hay xóa các khuyến mãikhông còn dùng nữa
Quản lý phản hồi: Chức năng này cho phép chủ cửa hàng có thể quản lý cácphản hồi như là đánh dấu các phản hồi thấy có ích, hay thống kê các phản hồinhằm 1 số các mục đích nhất định
Thanh toán: Khách hàng thanh toán bằng tiền mặt khi nhận được hàng
2.1.2. Các yêu cầu phi chức năng
Về khả năng sử dụng: Hệ thống phải dễ sử dụng, giao diện phải thân thiện vớingười dùng, phải trực quan và có hướng dẫn cụ thể
Về độ tin cậy: Hệ thống phải hoạt động 24 giờ mỗi ngày và 7 ngày mỗi tuần
Về hiệu năng: Độ trễ thấp khi kết nối, thời gian phản hồi phải nhanh, hệ thốngphải chạy tốt khi số lượng người dùng tăng cao
Về bảo mật: Hệ thống phải ngăn người dùng đăng nhập khi họ không có mậtkhẩu Chỉ có quản trị viên có thể xóa tài khoản người dùng
2.2 Phân tích yêu cầu bài toán
Khi khách hàng truy cập vào trang web của cửa hàng sẽ có 3 trường
Khách hàng chưa đăng nhập: Nếu khách hàng truy cập vào trang web màkhông đăng nhập thì khách hàng sẽ được hệ thống định dạng là khách hàng vôdanh (Guest) Guest khi truy cập vào web có thể xem các danh sách sản phẩmcũng như thông tin chi tiết của chúng Nếu như Guest muốn đặt mua các sảnphẩm thì Guest phải đăng nhập làm Người dùng User khi ấy Guest mới có thể
Trang 20 Khách hàng đăng nhập với vai trò là Người dùng (User): Khách hàng khi đăngnhập với tư cách là User có thể sử dụng tất cả các chức năng khi là Guest.Người dùng User sẽ có chức năng giỏ hàng, chức năng giỏ hàng dùng để thêmcác sản phẩm mà Người dùng User muốn mua và có thể thanh toán các sảnphẩm trong giỏ bằng chức năng thanh toán có trong giỏ Thêm nữa tại chứcnăng giỏ hàng Người dùng User còn có thể sửa xóa một số thông tin cố địnhnhư là: số lượng mỗi sản phẩm, chọn các size khác nhau của sản phẩm (nếucó) Người dùng User sẽ xác nhận lại thông tin lần nữa rồi ấn nút “OK” Nhânviên của cửa hàng sẽ gọi điện và xác nhận lại đơn hàng và hẹn thời gian giaohàng Hàng tháng cửa hàng sẽ gửi đến những Người dùng User những chươngtrình giảm giá đặc biệt.
Khách hàng đăng nhập với vai trò là Chủ của hàng (Store Owner): Kháchhàng khi đăng nhập với tư cách là Chủ cửa hàng (Store Owner) sẽ được sửdụng lại các tính năng của Người dùng User nhằm kiểm tra một số các yêu cầuđặc biệt của Chủ cửa hàng Chủ cửa hàng Store Owner có thể cập nhật cácthông tin mới nhất của các sản phẩm, tạo các chương trình khuyến mãi, quản
lý các đơn hàng và trả lời các phản hồi của khách hàng
2.2.1. Phân tích yêu cầu khách hàng vô danh (Guest)
Cho phép khách hàng đăng ký thành viên và đảm bảo bí mật thông tin
Giao diện dễ sử dụng và có tính thẩm mỹ cao
Hình thức thanh toán phải đảm bảo chính xác
Thông tin sản phẩm phong phú, đa dạng, ngắn gọn
Giới thiệu, bày bán nhiều loại sản phẩm Apple, nhiều mặt hàng để khách hàng
có nhiều cơ hội lựa chọn Thông tin về một sản phẩm phải chi tiết để kháchhàng có thể nắm bắt rõ thông tin về sản phẩm mình lựa chọn Đặc biệt lànhững mặt hàng được nhiều khách hàng quan tâm
Luôn cập nhật, giới thiệu những thiết bị thế hệ mới nhất
Thông tin về bảo hành sản phẩm phải rõ ràng
Cho phép khách hàng tìm kiếm nhanh chóng, chính xác theo nhiều tiêu chí
2.2.2. Phân tích yêu cầu người dùng (User)
Có thể cập nhật và chỉnh sửa những thông tin cá nhân
Trang 21 Có thể có đăng xuất khỏi tài khoản đang dùng.
Có thể xem những mã giảm giá chỉ dành riêng cho người dùng
Có thể cập nhật được các thông tin mới nhất từ cửa hàng
Có thể sử dụng chức năng giỏ hàng để thanh toán các sản phẩm có trong giỏhàng
2.2.3. Phân tích yêu cầu người chủ cửa hàng (Store Owner)
Có thể quản lý được các sản phẩm
Ở chức năng này chủ cửa hàng có thể kiểu soát được các thông tin của cácsản phẩm được nhập vào và bán ra, ngoài ra chủ của hàng có thể điều chỉnhcác thông tin theo ý muốn của mình đồng thời cũng có thể thống kê các đơnhàng theo một số lựa chọn có sẵn như: thống kê theo giá đầu vào, thống kênhững sản phẩm nhập nhiều nhất tuần…
Có thể quản lý các đơn hàng
Tại chức năng này chủ cửa hàng có thể kiểu soát được các thông tin củađơn hàng đã được đặt, tại đây chủ cửa hàng có thể xóa những đơn hàng bịhủy hay sửa lại những đơn hàng nào yêu cầu sai, ngoài ra chức năng nàycòn có thể thống kê các sản phẩm đang hot hay doanh thu kiếm được mỗitháng…
Có thể quản lý các chương trình khuyến mãi
Với chức năng quản lý các chương trình khuyến mãi chủ cửa hàng có thểtạo ra những chương trình giảm giá theo ngày lễ tết, hay bán nhanh nhữngsản phẩm cũ để nhập những sản phẩm mới hơn, đồng thời tại đây chủ cửahàng còn có thể dừng hoặc gia hạn 1 chương trình khuyến mại
Trang 22Chức năng quản lý người dùng cho phép chủ của hàng có thể quản lý biếtđược các khách hàng tiềm năng, đồng thời cho chủ của hàng một số thôngtin của thị trường để có thể nhập các sản phẩm thích hợp.
Có thể quản lý các phản hồi đến từ người dùng hoặc khách hàng vô danhTại chức năng này thì chủ cửa hàng sẽ có những góp ý để cải thiện dịch vụcủa cửa hàng từ đó khiến cửa hàng ngày càng tốt hơn
2.3 Xây dựng biểu đồ UseCase
Quản lý chương trình khuyến mãi: Strore Owner có thể thêm các chương trìnhkhuyến mãi, gia hạn hay xóa các khuyến mãi cũ
Quản lý danh mục sản phẩm: Store Owner có thể tạo những danh sách các sảnphẩm theo một số đặc điểm chung cho khách hàng dễ tìm kiếm
Quản lý người dùng: Store Owner có thể có thông tin của những khách hàngtiềm năng
Quản lý phản hồi: Store Owner có thể đánh dấu các góp ý tích cực, phản hồilại những góp ý từ khách hàng
Đăng xuất: khách hàng đã đăng ký dưới tự cách là User hay Store Owner mới
Trang 23 Xem các danh sách sản phẩm: Khách hàng có thể xem các danh sách sảnphẩm mà Store Owner đã lập ra trước
Tìm kiếm: Khách hàng có thể tìm được các sản phẩm dựa trên một số đặcđiểm chung
Gửi phản hồi: Khách hàng có thể gửi những phản ánh của mình đến StoreOwner
Đăng nhập: Guest có thể đăng nhập dưới quyền User hoặc Store Owner
Tạo một tài khoản: Guest chỉ có quyền tạo tài khoản có quyền User
Hình 2.1 UseCase Diagram mức tổng quát
Biểu đồ UserCase tổng quát của hệ thống gồm 3 tác nhân là Chủ cửa hàng(StoreOwner), Người dùng(User) và Người dùng vô danh(Guest)
Guest
+ Xem các danh sách sản phẩm
+ Tìm kiếm
Trang 24 User gồm các ca sử dụng:
+ Đăng xuất
+ Gửi phản hồi
+ Xem lại giỏ hàng
+ Xem hồ sơ cá nhân
+ Xem khuyến mãi
2.3.2. UseCase Chi tiết
UseCase chi tiết tại đây sẽ trình bày các chức năng của các tác nhân mộtcách chi tiết và đầy đủ, để tìm hiểu kỹ hơn về từng chức năng chúng ta hãy cùngnhau quan sát cá trình bày ở phần dưới
Trang 25Hình 2.2 UseCase Diagram mức chi tiết
2.3.3. UseCase Xem các danh sách sản phẩm
Tính năng xem các danh sách sản phẩm được tích hợp vào trang web chủ của cửa hàng Khi Khách hàng truy cập vào web của cửa hàng có thể xem các danh sách sản phẩm theo từng chủ đề mà Store Owner đã cập nhật sẵn Từ các danh sách sản phẩm có thể xem thông tin của từng sản phẩm chi thiết trong danh sách bằng cách ấn vào ảnh của sản phẩm đó Nếu khách hàng muốn thêm sản phẩm vào giỏ thì chỉ cần ấn nút “Thêm vào giỏ hàng”.
Trang 26Hình 2.3 UseCase Xem các danh sách sản phẩm
Use case: Xem các danh sách sản phẩm
Các tác nhân: Guest
Điều kiện trước:
Điều kiện sau: Guest vào trang web của cửa hàng
Mô tả: Tính năng xem các danh sách sản phẩm được tích hợp vào trang web chủ của cửahàng Khi Guest đăng nhập vào web của cửa hàng có thể xem thông tin sơ lược các danhsách sản phẩm
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, Guest click vào link trang web
3, Guest xem thông tin sơ lược của các danh
sách sản phẩm trên web trang chủ
2, Hệ thống đưa Guest vào web trang chủcủa cửa hàng
Các sự kiện phụ Hành động của tác nhân Hành động của hệ thống
2.a.1, Guest bị đưa vào 1 trang web khác với
thông báo “Xin lỗi quý khách, kết nối đến
hệ thống tạm thời gián đoạn Vui lòng thử
2.a, Hệ thống bị lỗi nên
Trang 27lại sau.”
Bảng 1 Mô tả UseCase Xem các danh sách sản phẩm
2.3.4. UseCase Xem lại giỏ hàng
Chức năng xem lại giỏ hàng có 3 tính năng nhỏ đó là :
Cập nhật giỏ hàng: Sửa chưa một số thông tin cố định của sản phẩm cần muanhư thông số ký thuật(nếu có trong cửa hàng), số lượng, size(nếu có)
Xóa giỏ hàng: Xóa đơn hàng được chọn
Thành toán: Thanh toán tất cả cá sản phẩm có trong giỏ
Hình 2.4 UseCase Xem lại giỏ hàng
Trang 28Use case: Xem lại giỏ hàng
Các tác nhân: User
Điều kiện trước: User đăng nhập vào giao diện của User
Điều kiện sau:
Mô tả: User muốn xem lại các sản phẩm đã cho vào giỏ User vào chức năng Xem lại giỏ
hàng, hệ thống đưa User vào giao diện xem giỏ hàng Tại giao diện này User có thể xemcác sản phẩm đã thêm vào giao diện User còn có thể sửa số lượng đơn hàng, xóa sản phẩm
đã thêm vào giỏ
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, User chọn chức năng Xem lại giỏ hàng
3, User sửa thông tin số lượng sản phẩm đơn
Hành động của tác nhân Hành động của hệ thống
3.a, User xóa sản phẩm đã thêm vào giỏ
3.a.1, Hệ thống xóa sản phẩm User vừa chọntrong giỏ sản phẩm
Bảng 2 Mô tả UseCase Xem lại giỏ hàng
2.3.5. UseCase Tìm kiếm
Chức năng tìm kiếm có thể truy cập vào kho dữ liệu của cửa hàng dựa trên các từ khóa (Keyword) Khi khách hàng sử dụng chức năng tìm kiếm hệ thống sẽ đưa ra một số sản phẩm dựa trên từ khoá mà khách hàng cung cấp Khách hàng có thể xem chi tiết sản phẩm thông qua việc nhấn trực tiếp vào ảnh của sản phẩm đó
Trang 29Hình 2.5 UseCase tìm kiếm
Use case: Tìm kiếm
Các tác nhân: Guest
Điều kiện trước: Guest phải vào trang web của cửa hàng
Điều kiện sau: Guest chọn chức năng tìm kiếm phù hợp
Mô tả: Guest muốn tìm kiếm xem 1 sản phẩm trong kho dữ liệu của cửa hàng Guest sẽ vào
chức năng tìm kiếm trên giao diện của trang web, rồi điền tên của sản phẩm hệ thống sẽđưa Guest đến giao diện thông tin chi tiết của sản phẩm đó Nếu trong trường hợp Guestchưa biết rõ muốn tìm sản phẩm gì, Guest cũng có thể dùng một số tính năng khác như: tìmkiếm theo loại, tìm kiếm theo thời gian nhập…
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, Guest chọn chức năng tím kiếm trên trang
web
3, Guest nhập tên sản phẩm muốn tìm
2, Hệ thống đưa Guest vào dao diện tìmkiếm
Trang 30tin chi tiết của sản phẩm
Các sự kiện phụ Hành động của tác nhân Hành động của hệ thống
3.a, Guest nhập vào loại tìm kiếm
3.a.1, Guest nhập thông tin tương ứng
3.a.3, Guest chọn thông tin muốn xem chi
tiết
3.a.2, Hệ thống đưa Guest vào giao diệnchứa danh sách các sản phẩm theo thông tinvừa nhập
Bảng 3 Mô tả UseCase tìm kiếm
2.3.6. UseCase Đăng nhập
Chức năng đăng nhập dành cho Guest có tài khoản Khi đăng nhập Guest sẽ được đưa đến giao diện User hay Admin dựa trên quyền sẵn có trên tài khoản đó.
Hình 2.6 UseCase Đăng nhập
Use case: Đăng Nhập
Trang 31Các tác nhân: Guest
Điều kiện trước: Guest phải có tài khoản đã được đăng ký.
Điều kiện sau: Hệ thống xác nhận tài khoản tồn tại và hợp lệ.
Mô tả: Khi Guest đã có 1 tài khoản đăng nhập, Guest có thể bật chức năng Đăng nhập và
nhập tên đăng nhập và mật khẩu để đăng nhập làm người dùng đã đăng ký Hệ thống sẽkiển tra xem tài khoản vừa nhập đó có tồn tại không, đồng thời kiểm tra quyền của tàikhoản Nếu tài khoản tồn tại và có quyền Admin thì Guest sẽ được đưa đến giao diện củaAdmin Nếu tài khoản không có quyền Admin thì Guest sẽ được đưa đến giao diện ngườidùng User Nếu trường hợp tài khoản không tồn tại thì hệ thống đưa ra thông báo là tàikhoản không tồn tại, hay hãy kiểm tra lại tên đăng nhập hay mật khẩu
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, Guest chọn chức năng đăng nhập
2, Guest nhập tên đăng nhập và mật khẩu
vào form đăng nhập
3, Hệ thống kiểm tra tài khoản tồn tại, đồngthời có quyền Admin hệ thông sẽ đưa Guestvào giao diện Admin
4, Hệ thống thông báo đã đăng nhập thànhcông
Các sự kiện phụ Hành động của tác nhân Hành động của hệ thống
3.a, Tài khoản có tồn tại và không có quyềnAdmin Hệ thống sẽ đưa Guest vào giaodiện Người dùng User
3.a.2, Hệ thống thông báo đã đăng nhậpthành công
3.b, Hệ thống kiểm tra trong CSDL chỉ tồntại tên đăng nhập hoặc mật khẩu
3.b.1, Hệ thống đưa ra thông báo là “hãy
Trang 32nhập hay mật khẩu mật khẩu
3.b.2.a, Guest tạo một tài khoản mới
3.b.2.b, Nếu Guest điền lại tên đăng nhập
hoặc mật khẩu và thử lại
3.c, Hệ thống kiểm tra và không tồn tại tênđăng nhập hay mật khẩu
3.c.1, Hệ thống đưa ra thông báo “Tài khoảnchưa tồn tại hãy kiểm tra lại tên đăng nhập
và mật khẩu, nếu chưa lập một tài khoản xinvui lòng tạo một tài khoản mới”
Bảng 4 Mô tả UseCase Đăng nhập
2.3.7. UseCase Gửi phản hồi
Chức năng Gửi phản hồi dành cho những khách hàng có nhu cầu góp
ý cho cửa hàng Khách hàng sẽ nhập các thông tin vào form sẵn có để tiến hành phản hồi.
Hình 2.7 UseCase Gửi phản hồi
Use case: Gửi phản hồi
Các tác nhân: User
Điều kiện trước: User đã đăng nhập vào giao diện
Điều kiện sau:
Trang 33Mô tả: User muốn gửi lại những thắc mắc, góp ý về cho Store Owner Thì họ sẽ chọn chức
năng gửi phản hồi Hệ thống sẽ đưa bạn form chỉ bao gồm mục nội dung phản hồi Khi bạn
gõ xong và ấn chức năng gửi, thông tin của bạn sẽ được gửi tới chức năng quản lý phản hồicủa Store Owner cùng với thông báo “Cảm ơn bạn đã góp ý, chúng tôi sẽ lắng nghe ý kiếncủa bạn để hoàn thiện hệ thống”
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, User chọn chức năng phản hồi
3, User viết xong và chọn mục gửi phản hồi
2, Hệ thống đưa ra form chứa nội dung phảnhồi
4, Hệ thống chuyển phản hồi tới chức năngquản lý người dùng của Store Owner và đưa
ra thông báo “Cảm ơn quý khách đã góp ý,hãy trở lại những lần sau để trải nghiệmnhững tiện ích mới nhất của chúng tôi”
Bảng 5 Mô tả UseCase Gửi phản hồi
2.3.8. UseCase Tạo tài khoản
Guest có tài khoản dựa trên chức năng tạo tài khoản Guest có thể tạo bao nhiêu tài khoản cũng được nếu đáp ứng đủ điều kiện là 1 số điện thoại hay 1 địa chỉ email chỉ được tạo được 2 tài khoản.
Hình 2.8 UseCase Tạo tài khoản
Trang 34Use case: Tạo một tài khoản
Các tác nhân: Guest
Điều kiện trước: Guest phải truy cập trang web của cửa hàng
Điều kiện sau: Hệ thống xác nhận đã điền đủ thông tin và không có lỗi form
Mô tả: Guest muốn tạo một tài khoản để đăng nhập thành một người dùng User Đầu tiên
Guest truy cập trang web của cửa hàng và chọn chức năng tạo tài khoản Hệ thống đưa ramột form đăng ký Lưu ý là các thông tin không được để trống là địa chỉ thường trú, tênđăng nhập, mật khẩu và số điện thoại Khi nhập xong thì hệ thống xẽ kiểm tra xem có đủthông tin hay lỗi không Nếu lỗi, hoặc chưa đủ thông tin, hệ thống sẽ đưa ra thông báo yêucầu Guest nhập lại thông tin Còn nếu chính xác rồi hệ thống sẽ đưa ra thông báo đăng kýthành công
Trang 35Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, Guest đăng nhập vào web và chọn chức
năng tạo tài khoản
3, Guest điền thông tin cá nhân, chú ý không
bỏ trống các thông tin sau: tên đăng nhập,
địa chỉ thường chú, mật khẩu, số điện thoại
2, Hệ thống đưa ra form đăng nhập để Guestđiền thông tin cá nhân của họ
4, Hệ thống xác nhận, đủ thông tin và khôngsai form và đưa ra thông báo “Đăng kýthành công”
Các sự kiện phụ Hành động của tác nhân Hành động của hệ thống
4.a.2, Guest nhập lại thông tin
4.b.2, Guest điền đủ thông tin
4.a, Hệ thông xác nhận đủ thông tin nhưngsai form đăng nhập
4.a.1, Hệ thông gửi thông báo yêu cầu “Vuilòng kiểm tra lại thông tin đã nhập sai”
4.b, Hệ thống kiểm tra thiếu thông tin4.b.1, Hệ thống gửi thông báo yêu cầu “Hãynhập đủ các thông tin sau: tên đăng nhập,mật khẩu, địa chỉ thường trú và số điệnthoại”
Bảng 6 Mô tả UseCase Tạo tài khoản
2.3.9. UseCase Xem hồ sơ cá nhân
Chức năng này cho phép Người dùng User có thể xem hay sửa lại nhữngthông tin mình đã cập nhật như: tên, tuổi, số điện thoại, địa chỉ nhận, …Ngoài raUser còn có thể xem lại những lịch sử đơn hàng (nếu có) của mình
Trang 36Hình 2.9 UseCase Xem hồ sơ cá nhân
Use case: Xem hồ sơ cá nhân
Các tác nhân: User
Điều kiện trước: User đã được đăng nhập vào giao diện người dùng
Điều kiện sau:
Mô tả: Người dùng User muốn xem lại các thông tin cá nhân đã đăng lên Người dùng
chọn chức năng Xem hồ sơ cá nhân, hệ thống sẽ đưa User vào giao diện xem hồ sơ cá nhân
Ở đây User có thể xem, sửa, xóa thông tin cá nhân đã đăng lên
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, Người dùng User vào chức năng Xem hồ
sơ cá nhân trên giao diện User
3, Người dùng User xem thông tin mà mình
đã cập nhật lệ
2, Hệ thống đưa User vào giao diện xem hồ
sơ cá nhân
Các sự kiện phụ Hành động của tác nhân Hành động của hệ thống
Trang 373.a, Người dùng xóa thông tin đã được đăng
3.b, Người dùng sửa thông tin đã được đăng
3.a.1, Hệ thống ẩn thông tin người dùng vừamới xóa đi
3.b.1, Hệ thống thêm thông tin vừa mới cậpnhật vào CSDL
Bảng 7 Mô tả UseCase Xem hồ sơ cá nhân
2.3.10. UseCase Xem khuyến mãi của tôi
Chức năng này cho phép Người dùng User có thể xem những khuyến mãi
mà mình được hưởng hàng tháng cũng như sử dụng những khuyến mãi đó Ngoài
ra Chủ cửa hàng Store Owner cũng có thể kiểm tra những khuyến mãi nào đang
có của từng User
Hình 2.10 UseCase Xem khuyến mãi của tôi
Use case: Xem khuyến mãi của tôi
Các tác nhân: User
Điều kiện trước: User đã được đăng nhập vào giao diện người dùng
Điều kiện sau:
Mô tả: Người dùng User muốn xem các ưu đãi của mình User chọn chức năng Voucher
của tôi, hệ thống đưa User vào giao diện xem voucher của tôi để xem các thông tin được
Trang 38phải chú ý sử dụng
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, Người dùng User chọn chức năng
Voucher của tôi
3, Người dùng vào xem và dùng các
Voucher được khuyến mãi
2, Hệ thống đưa User vào giao diện Vouchercủa tôi
4, Hệ thống đưa người dùng User vào giaodiện thanh toán
Các sự kiện phụ Hành động của tác nhân Hành động của hệ thống
4.a, Hệ thống kiểm tra thấy Voucher Uservừa sử dụng đã bị hủy
4.a.1, Hệ thống đưa ra thống báo “Xin lỗiquý khách, voucher này đã bị hủy.Vui lòngliên hệ với cửa hàng để được hỗ trợ”
Bảng 8 Mô tả UseCase Xem khuyến mãi của tôi
2.3.11. UseCase Xem chi tiết sản phẩm
Chức năng này cho phép Khách hàng xem chi tiết thông tin của từng sảnphẩm
Trang 39Hình 2.11 UseCase Xem chi tiết sản phẩm
Use case: Xem chi tiết sản phẩm
Các tác nhân: Guest
Điều kiện trước: Guest truy cập trang web của cửa hàng
Điều kiện sau: Guest click vào danh mục sản phẩm muốn xem
Mô tả: Guest muốn xem thông tin chi tiết về một sản phẩm Guest chọn vào ô sản phẩmmuốn xem để xem thông tin chi tiết về sản phẩm đó
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, Guest click chọn vào ô sản phẩm mình
muốn xem 2, Hệ thống truy cập vào CSDL tìm kiếm
thông tin của sản phẩm
3, Hệ thống đưa thông tin vừa tìm được ragiao diện của giao diện Guest đang truy cập
Các sự kiện phụ Hành động của tác nhân Hành động của hệ thống
Trang 402.3.12. UseCase Đăng xuất
Chức năng này dành cho User hay Admin có nhu cầu đăng xuất khỏi giaodiện khi không còn nhu cầu sử dụng
Hình 2.12 UseCase Đăng xuất
Use case: Đăng xuất
Các tác nhân: User/Admin
Điều kiện trước: User/Admin đã đăng nhập vào giao diện người dùng
Điều kiện sau: User/Admin đăng xuất khỏi hệ thống
Mô tả: User/Admin đã thao tác xong và muốn thoát ra khỏi giao diên của người dùng
User/Admin User/Admin chọn chức năng Đăng xuất, hệ thống đưa ra thông báo “Bạn cóchắc là muốn thoát khỏi giao diện User/Admin” Người dùng chọn “Xác nhận”, hệ thốngđưa User/Admin trở lại với trang web chủ của cửa hàng Nếu chọn “Không” hệ thống sẽhuỷ bỏ thao tác
Các sự kiện chính Hành động của tác nhân Hành động của hệ thống
1, Người dùng User chọn chức năng Đăng