Đồ á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

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

 

 

doc61 trang | Chia sẻ: netpro | Lượt xem: 5036 | Lượt tải: 1download
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:

  • docBaoCao.doc