Website cũng có các chức năng cho người quản trị để họ có thể quản lý sản phẩm, phân loại sản phẩm, quản lý khách hàng, quản lý các đơn hàng, quản lý các bình luận từ khác hàng về các sả
Trang 1TRƯỜNG CAO ĐẲNG THỰC HÀNH FPT
- -BÁO CÁO DỰ ÁN 1
WEBSITE BÁN QUẦN ÁO
GV HƯỚNG DẪN: Trần Hoàng Lệ Chi
Trang 2LỜI NÓI ĐẦU
Dự án mẫu là một môn học trong chương trình đào tạo CNTT của hệ cao đẳng thực hành FPT Polytechnic
Mục tiêu của môn học này là cung cấp cho sinh viên một cái nhìn tổng quan về việc làm dự án phần mềm theo qui trình công nghiệp sát với thực tế hiện nay
Qua môn học này sinh viên cần biết sử dụng tài liệu dự án được xây dựng sẵn để xây dựng ra một phần mềm – đó là ứng dụng web giới thiệu sản phẩm cho một siêu thị Trong chương trình đào tạo theo tiêu chuẩn CDIO thì sinh viên cần được huấn luyện
các kỹ năng C, D, I, O (Conceiving — Designing — Implementing — Operating)
Dự án này rèn luyện cho sinh viên các kỹ năng I và O đồng thời làm nền tảng cho sinh viên rèn luyện các kỹ năng còn lại C và D qua các môn học tiếp sau, trong đó đặc biệt là dự án 1 và dự án 2 và cả thực tập tốt nghiệp
Với phương pháp đào tạo đảo ngược như vậy chúng tôi mong muốn sinh viên nghề không những có đủ kỹ năng thực hiện mà còn được rèn luyện thêm kỹ phân tích và thiết kế nhằm giúp sinh viên phát triển sự nghiệp lâu dài học học tiếp lên các cấp
độ cao hơn
Trang 3MỤC LỤC
TRƯỜNG CAO ĐẲNG THỰC HÀNH FPT 0
1 - Giới thiệu dự án 5
1.1 giới thiệu oshop 5
1.2 yêu cầu của oshop 5
1.3 lập kế hoạch dự án 6
2 - Phân tích yêu cầu khách hàng 7
2.1 sơ đồ use case 7
2.2 đặc tả yêu cầu hệ thống (srs) 8
2.2.1quản lý khách hàng 8
2.2.1 quản lý danh mục 8
2.2.2 quản lý khách hàng 8
2.2.3 quản lý hàng hóa 9
2.2.4 quản lý tài khoản 9
2.2.5 quản lý đơn hàng 9
2.2.6 quản lý tổng hợp – thống kê 10
2.2.7 đăng nhập 10
2.2.8 Đổi mật khẩu 10
2.3 Sơ đồ triển khai và yêu cầu hệ thống 11
2.3.1 sơ đồ triển khai 11
2.3.2 yêu cầu hệ thống 11
3 - Thiết kế ứng dụng 11 3.1 Mô hình công nghệ ứng dụng 11
3.2 thực thể 11
3.1.1 sơ đồ quan hệ thực thể (ERD) 11
3.1.2 chi tiết thực thể 12
3.1.3 sơ đồ tổ chức giao diện 16
3.1.4 giao diện trang chính 16
3.1.5 Giao diện trang khách hàng 16
Trang 43.1.6 Giao diện trang admin 17
4 - Thực hiện dự án 18 Tạo giao diện admin 18
4.1.1 Quản lý loại hàng 18
4.1.2 Quản lý hàng hóa 18
4.1.3 Quản lý khách hàng 18
4.1.4 Quản lý bình luận 19
4.1.5 Quản lý thống kê 19
Tạo CSDL với MySQL 19
4.1.6 Sơ đồ quan hệ 19
4.1.7 Chi tiết các bảng 19
Lập trình CSDL 20
4.1.8 Mô hình tổ chức lập trình CSDL 20
4.1.9 Thư viện PDO và DAO 20
Thư viện tiện ích 21
Lập trình nghiệp vụ 21
4.1.10 Trang chính 21
4.1.11 Các trang dành cho khách hàng 21
4.1.12 Các trang dành cho quản trị viên 22
5 Kiểm thử website và sửa lỗi 23 Form đăng ký 23
Form đổi mật khẩu 23
Form cập nhật thông tin tài khoản 23
Form quên mật khẩu 23
Form thêm mới loại 23
Form cập nhật loại 24
Form thêm mới hàng hóa 24
Form cập nhật hàng hóa 24
6 - Đóng gói và triển khai 24
Trang 5Đóng gói 24Hướng dẫn cài đặt 24
Khó khăn 25Thuận lợi 25
Trang 61 - GIỚI THIỆU DỰ ÁN
OShop là một chuỗi các shop nhỏ trên khắp cả nước Việt Nam, kinh doanh đa dạng
về các mặt hàng quần áo khác nhau Hiện OShop chưa có website để giới thiệu các sản phẩm và để cho người tiêu dùng cũng có thể đặt mua sản phẩm của shop trên website OShop cũng không thu nhận được các phản hồi từ người tiêu dùng về các mặt hàng để cải tiến và nâng cao chất lượng nhằm phục vụ khách hàng ngày một tốt hơn
Oshop mong muốn có một website nhằm giới thiệu, bán sản phẩm và thu nhận ý kiến của người tiêu dùng về các sản phẩm đang kinh doanh Website cũng có các chức năng cho người quản trị để họ có thể quản lý sản phẩm, phân loại sản phẩm, quản lý khách hàng, quản lý các đơn hàng, quản lý các bình luận từ khác hàng về các sản phẩm cũng như thống kê hàng hóa theo loại…
Yêu cầu cụ thể đặt ra như sau:
➢ Website báng hàng:
• Cấu trúc chúng của tất cả các trang web trong website phải:
o Chứa danh mục loại hàng hóa để khách hàng dễ dàng tìm kiếm hàng hóa theo từng loại
o Tìm kiếm hàng hóa theo tên
o Hiển thị danh sách các mặt hàng được quan tâm nhiều nhất (xem nhiều nhất)
o Đăng nhập/ thông tin người tiêu dùng sau khi đã đăng nhập
• Trang chính của website:
Trưng bày các mặt hàng đặc biệt được nhân viên quản trị chỉ định Các mặt hàng đặc biệt có thể được trình bày theo cách nào đó sao cho dễ nhìn (có thể sử dụng slideshow)
• Trang trưng bày hàng hóa:
Khi người dùng chọn loại hàng hoặc tìm kiếm theo tên thì danh sách hàng hóa thỏa mãn yêu cầu được hiện ra Mỗi mặt hàng cần hiển thị hình ảnh, tên, đơn giá và
Trang 7giảm giá nếu có Khi người dùng nhấp vào hình của hàng hóa thì sẽ chuyển đến trang hiển thị chi tiết hàng hóa đồng thời tăng số lần xem
• Trang chi tiết hàng hóa:
o Thông tin chi tiết của mặt hàng được chọn
o Danh sách các mặt hàng cùng loại với mặt hàng được chọn
o Cho phép khách hàng gửi bình luận về sản phẩm
• Trang quản lý tài khoản sử dụng:
o Thống kê hàng hóa theo loại, cho phép hiển thị dưới dạng biểu đồi
o Thống kê bình luận theo hàng hóa
✓ Yêu cầu về bảo mật:
• Tất cả các form nhập phải được kiểm soát dữ liệu một cách hợp lý
• Khách hàng chưa đăng nhập không được phép gửi bình luận về hàng hóa cũng như đổi mật khẩu, cập nhật thông tin tài khoản
• Chỉ có các nhân viên quản trị mới được phép thực hiện các chức năng quản trị
✓ Yêu cầu về môi trường công nghệ:
• Website phải được xây dựng với PHP và MySQL
Trang 8TT H ẠNG MỤC B ẮT ĐẦU K ẾT THÚC K ẾT QUẢ
1 Phân tích yêu cầu khách hàng
1.1 Vẽ sơ đồ use cases
2 - PHÂN TÍCH YÊU CẦU KHÁCH HÀNG
Trang 9• Dữ liệu liên quan:
Thông tin của mỗi tài khoản gồm: mã nhân viên, họ và tên, mật khẩu đăng nhập, vai trò của nhân viên (gồm quản trị và khách hàng)
• Đối tượng sử dụng:
Sau khi đăng nhập thì khách hàng mới có khả năng bình luận
Người quản trị có mọi chức năng quản trị website
2.2.1 QUẢN LÝ DANH MỤC
• Mô tả chức năng:
Chức năng quản lý danh mục được sử dụng để quản các danh mục sản phẩm của trang web Yêu cầu của chức năng này là liệt kê danh sách danh mục, xem thông tin chi tiết của mỗi danh mục, thêm danh mục mới, cập nhật danh mục hoặc xóa danh mục đã tồn tại
• Dữ liệu liên quan:
Thông tin của mỗi danh mục gồm: mã danh mục, họ và tên, mật khẩu đăng nhập, vai trò của nhân viên (gồm quản trị và khách hàng)
• Dữ liệu liên quan:
Trang 10Thông tin của mỗi loại hàng gồm: mã loại, tên loại
• Đối tượng sử dụng:
Khách hàng có thể xem các thông tin chi tiết của các loại hàng
Người quản trị có mọi chức năng quản trị website
2.2.3 QUẢN LÝ HÀNG HÓA
• Mô tả chức năng:
Chức năng quản lý hàng hóa được sử dụng để quản lý các hàng hóa (sản phẩm) của từng danh mục Yêu cầu của chức năng này là liệt kê danh sách hàng hóa, xem thông tin chi tiết của mỗi hàng hóa, thêm hàng hóa mới, cập nhật hàng hóa hoặc xóa hàng hóa đã tồn tại
• Dữ liệu liên quan:
Thông tin của mỗi hàng hóa gồm: mã hàng hóa, tên hàng hóa, đơn giá, giảm giá, hình, ngày nhập, mô tả, đặc biệt, số lượt xem, mã loại
• Đối tượng sử dụng:
Khách hàng có thể xem các thông tin chi tiết của từng hàng hóa
Người quản trị có mọi chức năng quản trị website
2.2.4 QUẢN LÝ TÀI KHOẢN
• Mô tả chức năng:
Chức năng quản lý tài khoản được sử dụng để quản lý các tài khoản của riêng khách hàng Yêu cầu của chức năng này là xem thông tin chi tiết của tài khoản, cập nhật tên khách hàng, cập nhật hình ảnh, cập nhật mật khẩu
• Dữ liệu liên quan:
Thông tin của tài khoản gồm: mã tài khoản, tên đăng nhập, mật khẩu, họ tên, hình ảnh
Trang 11Chức năng quản lý đơn hàng được sử dụng để quản lý các đơn hàng Yêu cầu của chức năng này là liệt kê danh sách đơn hàng, xem thông tin chi tiết của mỗi đơn hàng, cập nhật trạng thái đơn hàng và xóa đơn hàng
• Dữ liệu liên quan:
Thông tin của mỗi đơn hàng gồm: mã đơn hàng, tên khách hàng, số điện thoại, sản phẩm, đơn giá
• Dữ liệu liên quan:
Thông tin của tổng hợp gồm: số lượng danh mục, sản phẩm, tài khoản khách hàng, bình luận khách hàng, đơn hàng
• Dữ liệu liên quan:
Thông tin của đăng nhập gồm: tên đăng nhập, mật khẩu
• Đối tượng sử dụng:
Khách hàng có thể sử dụng tài khoản đã đăng ký để đăng nhập
Người quản trị có thể đăng nhập bằng tài khoản quản trị
2.2.8 ĐỔI MẬT KHẨU
• Mô tả chức năng:
Chức năng đổi mật khẩu được sử dụng để đổi mật khẩu khi khách hàng
đã quên mật khẩu Đổi mật khẩu bằng cách thông qua email
Trang 12• Dữ liệu liên quan:
Thông tin của đổi mật khẩu gồm: tên đăng nhập, mật khẩu, email
• Đối tượng sử dụng:
Khách hàng có thể đổi mật khẩu
2.3.1 SƠ ĐỒ TRIỂN KHAI
Trang 133.1.2 CHI TIẾT THỰC THỂ
3.1.2.1 Thực thể khách hàng
3.1.2.2 Thực thể loại hàng
Trang 143.2.2.3 Thực thể hàng hóa
Trang 153.2.2.4 Thực thể bình luận
3.2.2.5 Thực thể hóa đơn
Trang 163.2.2.6 Thực thể hóa đơn chi tiết
Trang 173.1.3 SƠ ĐỒ TỔ CHỨC GIAO DIỆN 3.1.4 GIAO DIỆN TRANG CHÍNH
Giao diện:
Mô tả hoạt động:
3.1.5 GIAO DIỆN TRANG KHÁCH HÀNG
3.1.5.1 Trang trưng bày hàng hóa
Trang 20Đ ẶT TÊN CÁC ĐIỀU KHIỂN
Đ ẶT TÊN CÁC ĐIỀU KHIỂN
4.1.4.2 Chi tiết bình luận
Đ ẶT TÊN CÁC ĐIỀU KHIỂN
4.1.5.2 Sơ đồ chart theo danh mục
Trang 214.1.9 THƯ VIỆN PDO VÀ DAO
4.1.9.1 Thư viện PDO
Pdo.php là thư viện truy xuất CSDL cơ bản nhất mà một DAO cụ thể phải có Các phương thức thực hiện truy xuất CSDL được mô tả như sau:
1 pdo_get_connection() Kết nối cơ sở dữ liệu
2 pdo_execute($sql) Thêm, cập nhật, xóa dữ liệu với câu lệnh sql
3 pdo_query($sql) Truy vấn nhiều dữ liệu với câu lệnh sql
4 pdo_query_one($sql) Truy vấn một record dữ liệu với câu lệnh sql
5 pdo_query_value($sql) Trả về một giá trị với câu lệnh sql
Trang 22Trên đây chỉ là các hoạt động truy xuất CSDL cơ bản Trong một lớp DAO cụ thể, các DAO con sẽ viết mã cho các phương thức này với các câu SQL tương ứng
✓ Mô tả các thư viện tiện ích
Trang 241 Đăng nhập để trống tên và mật khẩu Yêu cầu nhập
1
2
3
4
1
2
3
4
1
2
3
4
Trang 25✓ Đăng ký hosting
✓ Đăng ký domain
Trang 267 KẾT LUẬN