MỤC LỤC
TỔNG QUAN DỰ ÁN 3
I. Đề tài 3
I.1. Tên đề tài 3
I.2. Mục đích và ý nghĩa 3
II. Tổ chức thực hiện dự án 3
II.1. Phương pháp tiến hành dự án 3
II.2. Các thành viên và vai trò trong dự án 4
II.3. Công cụ và các kỹ thuật sử dụng trong dự án 4
III. Kế hoạch tiến hành dự án 6
III.1. Kế hoạch chung 6
III.2. Kế hoạch chi tiết 6
PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU 8
I. Mô tả bài toán 8
II. Thu thập yêu cầu 8
III. Phân tích yêu cầu 9
III.1. Yêu cầu phi chức năng 9
III.2. Yêu cầu chức năng 9
IV. Đặc tả yêu cầu 10
IV.1. Giới thiệu 10
IV.2. Tổng quan 11
IV.3. Mô hình yêu cầu 11
PHÂN TÍCH THIẾT KẾ 15
I. Phân tích và thiết kế hệ thống 15
I.1. Xác định các tác nhân 15
I.2. Xác định các Use case và các yêu cầu về chức năng 15
I.3. Biểu đồ Use case 16
I.4. Đặc tả use case 21
I.5. Biểu đồ tuần tự 24
II. Thiết kế database 27
II.1. Biểu đồ lớp 27
II.2. Bảng các thực thể trong cơ sở dữ liệu 29
III. Thiết kế giao diện 33
III.1. Giao diện trình diễn hàng hóa: 33
III.2. Giao diện quản trị của admin 34
LẬP TRÌNH 35
I. Ngôn ngữ lập trình 35
I.1. Ngôn ngữ Php 35
I.2. Các ngôn ngữ khác 35
II. Hệ quản trị cơ sở dữ liệu 36
II.1. Tổng quan về MySql 36
III. Công nghệ sử dụng 36
III.1. Giới thiệu CakePHP 36
III.2. Tính năng của CakePHP 36
III.3. Mô hình MVC trong CakePHP 37
III.4. Lý do sử dụng framework CakePHP 37
IV. Quy ước lập trình 37
IV.1. Quy tắc về đặt tên file, tên biến 37
IV.2. Các quy ước khác 38
KIỂM THỬ 39
I. Kế hoạch kiểm thử 39
II. Công cụ kiểm thử: 39
III. Các ca kiểm thử ,thực hiện kiểm thử và báo cáo 39
III.1. Unit tests 39
III.2. Kiểm thử tích hợp 44
III.3. Test Hệ thống 45
III.4. Kiểm thử các trình duyệt 46
TRIỂN KHAI 47
I. Hướng dẫn cài đặt 47
I.1. Yêu cầu hệ thống 47
I.2. Cài đặt 47
II. Hướng dẫn sử dụng 50
II.1. Các chức năng của admin 50
II.2. Các chức năng của người sử dụng 52
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54
I. Kết quả đạt được 54
I.1. Ưu điểm 54
I.2. Khuyết điểm 54
II. Hướng phát triển 54
61 trang |
Chia sẻ: netpro | Lượt xem: 4993 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng hệ thống shopping cart phục vụ thương mại điện tử mua bán trực tuyến đồ thể thao, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
êu cầu về hệ thống:
Hệ thống phải có Apache server
MySQL version 5.1 trở lên
PHP version 5.2 trở lên
Khả năng chạy ứng dụng
Có khả năng đáp ứng lượng truy cập ở mức vừa phải (nhỏ hơn 1000 người dùng cùng lúc)
Bảo mật hệ thống
Bảo mật truy cập cho quản trị hệ thống
Kiểm tra các nhập liệu từ người sử dụng
Yêu cầu chức năng
Admin Module (Backend)
Đây là phần rất quan trọng của hệ thống, cho phép người quản lý cao nhất của hệ thống thực hiện tất cả các thao tác với hệ thống. Các module thành phần của Admin Module:
Quản lý nội dung trang web
5
Admin
Cấu hình hệ thống
1
Quản lý danh mục
2
Quản lý sản phẩm
3
Quản lý đơn đặt hàng
4
Báo cáo doanh số
6
Admin module
User Module (Frontend)
Cốt lõi của module này là trình diễn hàng hóa, xem thông tin hàng hóa, quản lý giỏ hàng, mua hàng
Quản lý giỏ hàng
3
Xem thông tin chi tiết
2
User (Frontend)
Trình diễn hàng hóa
1
Đặt mua hàng
4
Liên hệ, giúp đỡ
5
User Module
Đặc tả yêu cầu
Giới thiệu
Mục đích
Tài liệu này là tài liệu đặc tả yêu cầu cho dự án “Xây dựng hệ thống shopping cart phục vụ thương mại điện tử buôn bán đồ thể thao”. Tài liệu nêu ra các yêu cầu mà phần mềm cần đạt được sau khi hoàn thành.
Dưới đây là bảng ghi nhận các thay đổi của tài liệu này:
Name
Date
Reason For Changes
Version
Sỹ
15/3
Lập tài liệu
1
Sỹ
20/4
Chỉnh sửa yêu cầu về chức năng
2
Long
31/5
Chỉnh sửa lại theo chuẩn IEEE
3
Bảng ghi chú các thay đổi của tài liệu
Các quy ước trong tài liệu
Font chữ Time New Roman, cỡ 12pt, màu chữ đen.
Người đọc tài liệu
Các thành viên trong dự án
Giáo viên hướng dẫn dự án
Giáo viên phản biện của dự án
Giới hạn của phần mềm
Xây dựng các chức năng quản lý: quản lý doanh số bán hàng, quản lý đơn hàng, quản lý danh mục hàng hóa, quản lý hàng, quản lý nội dung.
Tài liệu tham khảo
Trang web :
Mẫu tài liệu đặc tả của IEEE:
Tổng quan
Đặc điểm phần mềm
Phát triển một phần mềm mới nhưng dựa trên sự tham khảo và tìm hiểu các hệ thống có sẵn
Sử dụng framework CakePHP theo mô hình MVC
Các chức năng của phần mềm
Quản lý đơn đặt hàng
Trình bày sản phẩm
Quản lý giỏ hàng
Báo cáo
Mô hình yêu cầu
Mô hình yêu cầu phần mềm:
Mô hình yêu cầu
Yêu cầu phi chức năng:
Giao diện: thẩm mỹ, dễ sử dụng, đa giao diện.
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Giao diện phải mang đặc trưng của một trang chuyên về bán hàng trực tuyến. Cách thể hiện liệt kê hay chi tiết một thông tin nào đó cũng phải mang đặc trưng riêng.
Giao diện sáng sủa, thân thiện, nhằm tạo cho người dùng cảm giác dễ chịu.
Đa giao diện.
Nội dung: nội dung đồng nhất, đa ngôn ngữ.
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Thông tin về nội dung phải được đảm bảo đồng nhất, liên kết xuyên suốt toàn bộ website, các dữ liệu phải chuẩn và chính xác về mặt thông tin.
Đa ngôn ngữ
Ngôn ngữ:
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Phát triển ứng dụng dựa trên nền tảng của CakePHP Framework.
Yêu cầu chức năng:
Trình diễn hàng hóa
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Cho phép hiện sản hàng hóa theo danh mục hoặc theo nhãn hiệu.
Xem thông tin chi tiết
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Hiện đầy đủ các thông tin hàng hóa.
Quản lí giỏ hàng
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Cho phép người sử dụng xem lại giỏ hàng của mình, điều chỉnh số lượng hàng hóa trong giỏ.
Đặt mua hàng
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Nhận thông tin người mua, phương thức thanh toán, và giao hàng.
Liên hệ, giúp đỡ
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Cung cấp thông tin về website, cũng như hỗ trợ người dùng.
Cấu hình hệ thống
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Cấu hình các thông tin, thiết đặt của trang web.
Quản lí danh mục
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Quản lí danh mục, tổ chức theo dạng cây (thêm, sửa, xóa).
Quản lí sản phẩm
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Quản lí nội dung sản phẩm (thêm, sửa, xóa).
Quản lí đơn đặt hàng
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Quản lí nội dung đơn hàng (thêm, sửa, xóa).
Quản lí nội dung trang
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Quản lí nội dung của trang (thêm, sửa, xóa).
Báo cáo doanh số
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên : Medium
Stereotype : «Functional»
Độ khó : Medium
Loại : Issue
Phạm vi: Public
Mới : True
Nội dung
Báo cáo doanh số, doanh thu theo tuần, tháng, quý, năm.
CHƯƠNG 3
PHÂN TÍCH THIẾT KẾ
Phân tích và thiết kế hệ thống
Xác định các tác nhân
Điều quan trọng trong quá trình phát triển một ứng dụng là xác định chính xác đúng tác nhân của hệ thống. Tức là xác định đúng người sử dụng hoặc thực thể bên ngoài tương tác với hệ thống.
Người quản trị: đây là người sử dụng hệ thống với quyền hạn cao nhất. Người quản trị có toàn quyền trên hệ thống, chịu trách nhiệm quản lý và điều hành website.
Người dùng: chính là người mua các sản phẩm từ website, họ vào trang web xem hàng hóa và có thể đặt mua các sản phẩm từ trang web này.
Xác định các Use case và các yêu cầu về chức năng
Gói quản lý hệ thống (QL hệ thống)
CauHinhHeThong
ThemDanhMuc
SuaDanhMuc
XoaDanhMuc
ThemSanPham
SuaSanPham
XoaSanPham
TimDonHang
SuaDonHang
XemDonHang
XoaDonHang
ThemNoiDung
SuaNoiDung
XoaNoiDung
ThemNhanHieu
SuaNhanHieu
XoaNhanHieu
BaoCaoDoanhSo
BaoCaoSoLuong
Gói Front-end
XemHangHoa
DoiDanhMuc
XemSanPhamMoi
XemSanPhamGiamGia
XemThongTinSanPham
XemTheoNhanHieu
XemGioHang
XoaSanPhamTrongGio
SuaSoLuongTrongGio
NhapThongTinNguoiMua
ThanhToan
LienHe
GiupDo
Biểu đồ Use case
Đây là biểu đồ Use case tổng quát của hệ thống
Use case tổng quát
Use case Quản lí hệ thống
Use case Quản lí danh mục
Use case Quản lí đơn hàng
Use case Quản lí nhãn hiệu
Use case Quản lí nội dung
Use case Quản lí sản phẩm
Use case Thống kê
User case Người dùng
Đặc tả use case
Gói quản lý hệ thống (QL hệ thống)
Use case quản lí danh mục
Mô tả tổng quan:
- Tạo ra các danh mục để thêm sản phẩm.
- Thực hiện các chức năng : thêm, sửa, xóa.
Chuỗi sự kiện:
Thêm mới
Người quản lí vào trang quản lí. Chọn mục Danh mục.
Click chọn chức năng “Thêm mới”, form “Thêm mới” hiển thị.
Điền các thông tin : “Tên danh mục”, “Trạng thái kích hoạt”.
Nếu lưu trữ ,click chọn chức năng “Lưu”, hệ thống kiểm tra tính hợp lệ của thông tin nhập vào, nếu hợp lệ thông tin sẽ được lưu trữ, ngược lại thông báo yêu cầu nhập lại các thông tin cho đến khi nào hợp lệ mới thôi.
Nếu không muốn lưu trữ các thông tin vừa nhập thì click chọn chức năng “Hủy”.
Chỉnh sửa
Trong danh sách các Danh mục, người quản lí sẽ chọn Danh mục cần sửa.
Click chọn chức năng “Sửa”, form “Sửa” hiển thị.
Tiến hành sửa các thông tin cần thiết.
Nếu chấp nhận thay đổi các thông tin đó, click chọn chức năng “Lưu”, nếu các thông tin sửa đổi hợp lệ thì các thông tin sửa đổi sẽ được lưu vào hệ thống dữ liệu, ngược lại hệ thống sẽ phát ra các thông báo yêu cầu nhập lại thông tin.
Nếu quyết định không sửa đổi thì click chọn chức năng “Hủy”.
Xóa
Trong danh sách các Danh mục, người quản lí sẽ chọn Danh mục cần sửa.
Click chọn chức năng “Xóa”. Nếu thông tin cần xóa có trong dữ liệu hệ thống thì một thông báo có chấp nhận xóa hay không? Nếu có thì click “Đồng ý”, ngược lại click “Hủy”
Use case quản lí đơn hàng
Mô tả tổng quan:
- Quản lí các đơn hàng.
- Thực hiện các chức năng : xem, sửa, xóa, tìm kiếm.
Chuỗi sự kiện:
Xem đơn hàng
Người quản lí vào trang quản lí.
Click chọn chức năng “Xem đơn hàng”, form “Xem đơn hàng” hiển thị.
Chỉnh sửa đơn hàng
Khi xem các đơn hàng có thể click chọn chức năng “Sửa”.
Tiến hành sửa các thông tin cần thiết.
Nếu chấp nhận thay đổi các thông tin đó, click chọn chức năng “Lưu”, nếu các thông tin sửa đổi hợp lệ thì các thông tin sửa đổi sẽ được lưu vào hệ thống dữ liệu, ngược lại hệ thống sẽ phát ra các thông báo yêu cầu nhập lại thông tin.
Nếu quyết định không sửa đổi thì click chọn chức năng “Hủy”.
Xóa
Khi xem các đơn hàng có thể click chọn chức năng “Xóa”.
Nếu thông tin cần xóa có trong dữ liệu hệ thống thì một thông báo có chấp nhận xóa hay không? Nếu có thì click “Đồng ý”, ngược lại click “Hủy”.
Use case quản lí nhãn hiệu
Mô tả tổng quan:
- Tạo ra các nhãn hiệu để thêm sản phẩm.
- Thực hiện các chức năng : thêm, sửa, xóa.
Chuỗi sự kiện:
Thêm mới
Người quản lí vào trang quản lí. Chọn mục Nhãn hiệu.
Click chọn chức năng “Thêm mới”, form “Thêm mới” hiển thị.
Điền các thông tin : “Tên nhãn hiệu”, “Trạng thái kích hoạt”.
Nếu lưu trữ ,click chọn chức năng “Lưu”, hệ thống kiểm tra tính hợp lệ của thông tin nhập vào, nếu hợp lệ thông tin sẽ được lưu trữ, ngược lại thông báo yêu cầu nhập lại các thông tin cho đến khi nào hợp lệ mới thôi.
Nếu không muốn lưu trữ các thông tin vừa nhập thì click chọn chức năng “Hủy”.
Chỉnh sửa
Trong danh sách các Nhãn hiệu, người quản lí sẽ chọn Nhãn hiệu cần sửa.
Click chọn chức năng “Sửa”, form “Sửa” hiển thị.
Tiến hành sửa các thông tin cần thiết.
Nếu chấp nhận thay đổi các thông tin đó, click chọn chức năng “Lưu”, nếu các thông tin sửa đổi hợp lệ thì các thông tin sửa đổi sẽ được lưu vào hệ thống dữ liệu, ngược lại hệ thống sẽ phát ra các thông báo yêu cầu nhập lại thông tin.
Nếu quyết định không sửa đổi thì click chọn chức năng “Hủy”.
Xóa
Trong danh sách các Nhãn hiệu, người quản lí sẽ chọn Nhãn hiệu cần sửa.
Click chọn chức năng “Xóa”. Nếu thông tin cần xóa có trong dữ liệu hệ thống thì một thông báo có chấp nhận xóa hay không? Nếu có thì click “Đồng ý”, ngược lại click “Hủy”
Use case quản lí nội dung
Mô tả tổng quan:
- Tạo ra các nội dung cho sản phẩm.
- Thực hiện các chức năng : thêm, sửa, xóa.
Chuỗi sự kiện:
Thêm mới
Người quản lí vào trang quản lí. Chọn mục Nội dung
Click chọn chức năng “Thêm mới”, form “Thêm mới” hiển thị.
Điền các thông tin : “Tên danh mục”, “Mô tả”, “URL”, “Trạng thái kích hoạt”, “Sắp xếp”, “Danh mục” (lựa chọn).
Nếu lưu trữ , click chọn chức năng “Lưu”, hệ thống kiểm tra tính hợp lệ của thông tin nhập vào, nếu hợp lệ thông tin sẽ được lưu trữ, ngược lại thông báo yêu cầu nhập lại các thông tin cho đến khi nào hợp lệ mới thôi.
Nếu không muốn lưu trữ các thông tin vừa nhập thì click chọn chức năng “Hủy”.
Chỉnh sửa
Trong danh sách các Nội dung, người quản lí sẽ chọn Nội dung cần sửa.
Click chọn chức năng “Sửa”, form “Sửa” hiển thị.
Tiến hành sửa các thông tin cần thiết.
Nếu chấp nhận thay đổi các thông tin đó, click chọn chức năng “Lưu”, nếu các thông tin sửa đổi hợp lệ thì các thông tin sửa đổi sẽ được lưu vào hệ thống dữ liệu, ngược lại hệ thống sẽ phát ra các thông báo yêu cầu nhập lại thông tin.
Nếu quyết định không sửa đổi thì click chọn chức năng “Hủy”.
Xóa
Trong danh sách các Nội dung, người quản lí sẽ chọn Nội dung cần sửa.
Click chọn chức năng “Xóa”. Nếu thông tin cần xóa có trong dữ liệu hệ thống thì một thông báo có chấp nhận xóa hay không? Nếu có thì click “Đồng ý”, ngược lại click “Hủy”.
Use case thống kê
Mô tả tổng quan:
- Xem các thống kê, báo cáo bán hàng
- Thực hiện các chức năng: xem.
Chuỗi sự kiện:
Xem báo cáo doanh số và báo cáo số lượng
Người quản lí vào trang quản lí. Chọn mục Báo cáo
Form “báo cáo” hiển thị ra.
Biểu đồ tuần tự
Biểu đồ tuần tự Quản lí hệ thống
Biểu đồ tuần tự Quản lí nội dung
Biểu đồ tuần tự Người dùng
Thiết kế database
Biểu đồ lớp
Biểu đồ lớp tổng thể
Biểu đồ lớp tổng thể
Biểu đồ lớp gói đặt hàng
Biểu đồ lớp gói đặt hàng
Biểu đồ lớp gói quản lí và phân loại sản phẩm
Biểu đồ lớp gói quản lý và phân loại sản phẩm
Bảng các thực thể trong cơ sở dữ liệu
Bảng 1: thực thể brands
Trường
Kiểu
Null
Default
Mô tả
id
int(5)
Yes
NULL
id tự động tăng
active
tinyint(1)
Yes
0
Trạng thái
name
varchar(250)
Yes
Tên hãng, nhãn mác
created
datetime
Yes
NULL
Ngày tạo
modified
datetime
Yes
NULL
Ngày cải tiến phiên bản
Bảng 2: thực thể categories
Trường
Kiểu
Null
Default
Mô tả
id
int(5)
Yes
NULL
Id tự động tăng
parent_id
int(10)
Yes
0
Khóa cha
lft
int(10)
Yes
NULL
Quan hệ trái
rght
int(10)
Yes
NULL
Quan hệ phải
active
tinyint(1)
Yes
0
Trạng thái
sort
int(11)
Yes
0
Thứ tự
name
varchar(250)
Yes
Tên thư mục
description
text
Yes
NULL
Mô tả thư mục
images
text
Yes
NULL
Hình ảnh
created
datetime
Yes
NULL
Ngày tạo
modified
datetime
Yes
NULL
Ngày cải tiến phiên bản
Bảng 3: thực thể products
Trường
Kiểu
Null
Default
Mô tả
id
int(11)
Yes
NULL
Id tự động tăng
brand_id
int(11)
Yes
0
Mã hãng
active
tinyint(1)
Yes
1
Trạng thái sản phẩm
cart
tinyint(1)
Yes
1
Loại
price
decimal(19,8)
Yes
0.0000000
giá
special_price
decimal(19,8)
Yes
NULL
Giá khuyến mãi
quantity
int(10)
Yes
NULL
Số lượng sản phẩm
weight
decimal(19,8)
Yes
NULL
Trọng lượng sản phẩm
name
varchar(250)
Yes
Tên sản phẩm
description
text
Yes
NULL
Mô tả sản phẩm
images
text
Yes
NULL
Hình ảnh của sản phẩm
created
datetime
Yes
NULL
Ngày tạo
modified
datetime
Yes
NULL
Ngày cải tiến phiên bản
Bảng 4: thực thể categories_products
Trường
Kiểu
Null
Default
Mô tả
category_id
int(10)
Yes
0
Id thư mục
product_id
int(10)
Yes
0
Id sản phẩm
Bảng 5: thực thể orders
Trường
Kiểu
Null
Default
Mô tả
id
int(11)
Yes
NULL
Id tự động tăng
account_id
int(11)
Yes
NULL
Id của khách hàng
shipping_method_id
int(11)
Yes
0
Mã phương thức vận chuyển
payment_method_id
int(11)
Yes
0
Mã thanh toán
country_id
int(5)
Yes
NULL
Mã nước
session
varchar(64)
Yes
Phiên
number
int(11)
Yes
0
Số
firstname
varchar(64)
Yes
Họ
lastname
varchar(64)
Yes
Tên
email
varchar(64)
Yes
Địa chỉ email
phone
varchar(32)
Yes
Số điện thoại
address
varchar(64)
Yes
Địa chỉ
postcode
varchar(10)
Yes
0
Mã số bưu điện
city
varchar(64)
Yes
Thành phố
state
varchar(255)
Yes
NULL
Bang, quận
country
varchar(64)
Yes
Đất nước
s_firstname
varchar(64)
Yes
NULL
Họ phụ
s_lastname
varchar(64)
Yes
NULL
Tên khác
s_address
varchar(64)
Yes
NULL
Địa chỉ khác
s_postcode
varchar(64)
Yes
NULL
Mã số bưu điện
s_city
varchar(64)
Yes
NULL
Thành phố
s_state
varchar(64)
Yes
NULL
Bang, quận
s_country
varchar(64)
Yes
NULL
Đất nước
shipping_method
varchar(100)
Yes
Kiểu nhận hàng
shipping_price
decimal(19,8)
Yes
0.00000000
Giá vận chuyển
payment_method
varchar(100)
Yes
Kiểu thanh toán
payment_price
decimal(19,8)
Yes
0.00000000
Tiền thanh toán
state_tax
decimal(6,6)
Yes
0.000000
Thuế
comments
text
Yes
NULL
Nhận xét khách hàng
created
datetime
Yes
NULL
Ngày tạo
modified
datetime
Yes
NULL
Ngày cải tiến phiên bản
Bảng 6: thực thể contents
Trường
Kiểu
Null
Default
Mô tả
id
int(5)
Yes
NULL
Id tự động tăng
content_category_id
int(5)
Yes
0
Id nội dung thư mục
active
tinyint(1)
Yes
1
Trạng thái
sort
int(11)
Yes
0
Loại
name
varchar(250)
Yes
Tên
description
text
Yes
NULL
Mô tả
url
varchar(255)
Yes
NULL
Đường dẫn (link)
images
text
Yes
NULL
Hình ảnh
created
datetime
Yes
NULL
Ngày tạo
modified
datetime
Yes
NULL
Ngày cải tiến phiên bản
Bảng 7: thực thể contents_categoris
Trường
Kiểu
Null
Default
Mô tả
id
int(5)
Yes
NULL
Id tự động tăng
parent_id
int(10)
Yes
0
Khóa cha
lft
int(10)
Yes
NULL
Quan hệ trái
rght
int(10)
Yes
NULL
Quan hệ phải
active
tinyint(1)
Yes
0
Trạng thái
name
varchar(250)
Yes
Tên
description
text
Yes
NULL
Mô tả
created
datetime
Yes
NULL
Ngày tạo
modified
datetime
Yes
NULL
Ngày cải tiến phiên bản
Bảng 8: thực thể line_items
Trường
Kiểu
Null
Default
Mô tả
id
int(11)
Yes
NULL
Id tự động tăng
order_id
int(11)
Yes
0
mã số đơn đặt hàng
product_id
int(11)
Yes
0
Mã số sản phẩm
subproduct_id
int(11)
Yes
0
Mã số sản phẩm kèm theo
brand_id
int(11)
Yes
0
Mã số hãng
product
varchar(255)
Yes
Sản phẩm
subproduct
varchar(255)
Yes
NULL
Sản phẩm kèm theo
quantity
int(11)
Yes
1
Số lượng
price
decimal(19,8)
Yes
0.00000000
Giá
created
datetime
Yes
NULL
Ngày tạo
modified
datetime
Yes
NULL
Ngày cải tiến phiên bản
Thiết kế giao diện
Giao diện trình diễn hàng hóa:
Gồm các thành phần:
Menu phía trên: Tổng sản phẩm trong giỏ hàng, tổng số tiền, giúp đỡ, quy định vận chuyển hàng, chuyển đổi ngôn ngữ
Banner: Logo, Search Form
Menu chính: Trang chủ, sản phẩm mới, sản phẩm giảm giá, liên hệ
Nội dung chính chia làm 3 cột:
Cột trái: danh mục, nhãn hiệu
Menu trên
Banner, Search Form
Menu chính
Cột trái: danh mục, nhãn hiệu
Cột phải: hổ trợ
Các sản phẩm
Cuối trang
Cột giữa: Các sản phẩm
Cột phải: Hổ trợ
Cuối trang: thông tin liên hệ, bản quyền
Giao diện người dùng
Giao diện quản trị của admin
Menu chính: Cấu hình hệ thống, quản lý sản phẩm, quản lý đơn hàng, quản lý nội dung.
Menu phải: Tùy theo từng chức năng quản lý
Nội dung
Cuối trang
Menu chính
Cuối trang
Menu phải
Nội dung
Giao diện quản trị
CHƯƠNG 4
LẬP TRÌNH
Ngôn ngữ lập trình
Ngôn ngữ Php
Giới thiệu
PHP là viết tắt của Personal Home Page ra đời năm 1994 do Rasmus Lerdorf và đựoc phát triển bởi nhiều cá nhân và tập thể khác , do đó PHP được xem như sản phẩm của mã nguồn mở.
PHP là kịch bản trình chủ chạy trên phía server (server script) như các server script khác (asp , jsp , cold fushion).
PHP là kịch bản cho phép ta xây dựng web mạng Internet hay Intranet tương tác với mọi cơ sở dữ liệu mySQL, PostgreSQL, Oracle, SQL Server và Access.
Lý do sử dụng PHP
PHP gần với ngôn ngữ lập trình C nên dễ học, dễ hiểu
PHP được cung cấp miễn phí
Có cộng đồng hổ trợ đông đảo
Chạy nhanh, ổn định, tính bảo mật cao
Là ngôn ngữ mà các thành viên trong nhóm đã làm việc nhiều, có kinh nghiệm trong lập trình và triển khai các ứng dụng bằng PHP
Các ngôn ngữ khác
HTML (Hyper Text Markup Language)
Trình bày nội dung, các trang thông tin tĩnh
Javascript
Được sử dụng để sử lý các công việc ở client, ajax. Trong dự án này tụi em sử dụng bộ thư viện javascript Jquery và một số plugin của nó.
CSS (Cascading Style Sheets)
Được sử dụng để định dạng trang web, sử dụng trong thiết kế giao diện
Hệ quản trị cơ sở dữ liệu
Tổng quan về MySql
MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP)
MySQL là phần mềm miễn phí hoàn toàn, ổn định, an toàn.
MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương với SQL Server của Microsoft).
MySQL quản lý dữ liệu thông qua các CSDL, 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 CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL.
Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khỏan có quyền sử dụng CSDL đó.
Công nghệ sử dụng
Dự án chúng em sử dụng framework CakePHP theo mô hình MVC
Giới thiệu CakePHP
CakePHP là một nền tảng phát triển ứng dụng nhanh, mã nguồn mở miễn phí sử dụng ngôn ngữ lập trình PHP. Cấu trúc của nó được tạo ra để lập trình viên tạo các ứng dụng web. Mục tiêu của CakePHP là tạo ra một nền tảng có cấu trúc, cho phép lập trình viên làm việc trên cấu trúc đó một cách nhanh chóng mà không mất đi sự uyển chuyển.
Tính năng của CakePHP
Cộng đồng năng động, thân thiện
Việc cấp phép uyển chuyển
Tương thích với PHP 4 và PHP 5
Tích hợp sẵn CRUD (Khi làm việc với cơ sở dữ liệu)
Hỗ trợ làm việc với cơ sở dữ liệu (scaffolding)
Tự động sinh mã code
Kiến trúc MVC
Cho phép tạo ra các URL rõ ràng, dễ hiểu.
Cung cấp khả năng bắt lỗi
Cho phép tạo ra các bản mẫu (templating) nhanh chóng và uyển chuyển
Các tiện ích giao diện cho AJAX, JavaScript, HTML Forms,...
Có các công cụ xử lý Email, Cookie, Security, Session, yêu cầu (Request Handling)
Danh sách điều khiển truy cập (ACL) uyển chuyển
Cung cấp sẵn tiện ích xử lý dữ liệu (Data Sanitization)
Cung cấp khả năng lưu tạm (Caching) uyển chuyển
Cung cấp khả năng nội địa hóa (localization)
Có khả năng chạy từ bất kỳ thư mục web nào mà không cần phải cấu hình Apache hoặc chỉ cấu hình lại rất ít
Mô hình MVC trong CakePHP
CakePHP tuân theo mô hình thiết kế phần mềm chuẩn (design pattern) MVC. MVC chia chương trình thành 3 phần riêng lẻ:
1. Model: Mô tả dữ liệu của ứng dụng
2. View: Hiển thị dữ liệu của model
3. Controller: Xử lý và điều hướng các yêu cầu của client
Mô hình MVC trong CakePHP
Lý do sử dụng framework CakePHP
Chúng em sử dụng framework CakePHP cho dự án vì những lý do sau:
Các thành viên trong dự án đã thực hiện nhiều phần mềm trên framework này, nên đã có kinh nghiệm phát triển website. Nên sẽ phát triển dự án này một cách thuận lợi và nhanh chóng.
CakePHP có các công cụ hổ trợ viết code nhanh, nhiều plugin hữu ích
Hổ trợ đa ngôn ngữ và đa giao diện
Quy ước lập trình
Quy tắc về đặt tên file, tên biến
Vì dự án được tiến hành dựa trên framework CakePHP do đó phải tuân thủ về cách đặt tên file của CakePHP như sau
Cách đặt tên Model
Tên Model phải là số ít, viết hoa chữ đầu ví dụ : Product, Category …
Tên file Model tương ứng là số ít, chữ đầu viết thường: product.php, category.php
Cách đặt tên Controller
Tên controller ở dạng số nhiều, viết hoa chữ đầu: Products, Categories …
Tên file ở dạng số nhiều, chữ đầu viết thường, theo sau là “_controller”: products_controller.php, categories_controller.php
Tên hàm trong controller viết thường: function login(), function logout()
Cách đặt tên View
Tên đặt theo tên hàm trong controller
Đặt trong thư mục cùng tên với tên controller nhưng chữ đầu viết thường
Các quy ước khác
Tuân theo chuẩn XHTML
Các thẻ HTML phải được đóng mở theo đúng thứ tự
Phải luôn có thẻ HTML đóng
Các thẻ HTML phải là chữ thường
Các giá trị thuộc tính phải đặt trong nháy đơn hoặc nháy kép
Phải có một thẻ gốc …
CSS tuân theo chuẩn của W3C
Các thuộc tính nằm trong cặp móc nhọn {}
Có dấu “;” khi kết thúc 1 thuộc tính
Chú thích bắt đầu bằng “/*” kết thúc bằng “*/”
CHƯƠNG 5
KIỂM THỬ
Kế hoạch kiểm thử
STT
Các hoạt động kiểm thử
Mô tả
1
Kiểm thử đơn vị
Kiểm thử mỗi đơn vị phần mềm
2
Kiểm thử tích hợp
Sau khi đã thực hiện kiểm thử đơn vị ,ghép nối các đơn vị xem sự trao đổi dữ liệu giữa các đơn vị
3
Kiểm thử hợp thức hóa
Còn gọi là kiểm thử hệ thống , thực hiện sau khi kiểm thử tích hợp kết thúc. Để kiểm tra phần mềm đúng mong đợi của người sử dụng.
4
Kiểm thử hồi quy
Phần mềm sau khi đưa vào sử dụng có thể có các chỉnh sửa có thể phát sinh lổi mới cần kiểm thử lại.
5
Kiểm thử với các trình duyệt
Chạy phần mềm với nhiều trình duyệt khác nhau .
Công cụ kiểm thử:
Do mới làm quen về công nghệ nên các ca kiểm thử đều thực hiện thủ công.
Các ca kiểm thử ,thực hiện kiểm thử và báo cáo
Có một số dữ liệu tạo sẵn ban đầu, một số đơn hàng tạo ra trước
Unit tests
Kiểm thử Admin module (back end)
Cấu hình hệ thống
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Đặt tên cho trang web
Thay tên trang web thành “bangiay”
Pass
Chạy bình thường
1/5/2010
2
Thay đổi mật khẩu admin
Thay mật khẩu “demo” thành “diemA”
Pass
Login lại mật khẩu mới chạy bình thường
1/5/2010
3
thay đổi email admin
Thay levansy@gmail.com thành
luonglb@gmail.com
Pass
Emai được đổi
1/5/2010
4
thay đổi tài khoản admin
Thay admin thành luonglb
fail
Tài khoản luonglb login vào được nhưng có cảnh báo lạ: Username or password not found
1/5/2010
5
thay đổi tỷ giá USD/VND
Đổi thành 18500
Pass
Tỷ giá được thay đổi
1/5/2010
Quản lí danh mục
STT
Tên ca kiểm
Các file đính kèm theo tài liệu này:
- BaoCao.doc