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
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 736 949, Fax (84-511) 842 771
ĐỒ ÁN CÔNG NGHỆ PHẦN MỀM NGÀNH CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI : 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
Trang 2Xin các bạn cùng lớp đã ủng hộ, động viên, giúp đỡ và đóng góp ý kiến Chúng em xin chân thành cảm ơn!
Sinh viên
Lê Văn Sỹ Mai Thăng Long
Lê Bá Lượng
Trang 3Tôi xin cam đoan :
1 Những nội dung trong báo cáo này là do chúng tôi thực hiện dưới sự hướng dẫn trực tiếp của PGS-TS Phan Huy Khánh.
2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, chúng tôi xin chịu hoàn toàn trách nhiệm.
Sinh viên
Lê Văn Sỹ Mai Thăng Long
Lê Bá Lượng
Trang 4MỤ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
Trang 5III.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
Trang 6MỤC LỤC HÌNH ẢNH
Hình 1 Mô hình thác nước trong dự án phần mềm 3
Hình 2 Hệ thống quản lý dự án redmine 5
Hình 3 Công cụ quản lý phiên bản SVN 5
Hình 4 Hóa đơn bán hàng 8
Hình 5 Báo cáo bán hàng 8
Hình 6 Admin module 9
Hình 7 User Module 10
Hình 8 Mô hình yêu cầu 11
Hình 9 Use case tổng quát 16
Hình 10 Use case Quản lí hệ thống 17
Hình 11 Use case Quản lí danh mục 17
Hình 12 Use case Quản lí đơn hàng 18
Hình 13 Use case Quản lí nhãn hiệu 18
Hình 14 Use case Quản lí nội dung 19
Hình 15 Use case Quản lí sản phẩm 19
Hình 16 Use case Thống kê 20
Hình 17 User case Người dùng 20
Hình 18 Biểu đồ tuần tự Quản lí hệ thống 24
Hình 19 Biểu đồ tuần tự Quản lí nội dung 25
Hình 20 Biểu đồ tuần tự Người dùng 26
Hình 21 Biểu đồ lớp tổng thể 27
Hình 22 Biểu đồ lớp gói đặt hàng 28
Hình 23 Biểu đồ lớp gói quản lý và phân loại sản phẩm 29
Hình 24 Giao diện người dùng 33
Hình 25 Giao diện quản trị 34
Hình 26 Mô hình MVC trong CakePHP 37
Hình 27 Tạo database trống 47
Hình 28 Import database 47
Hình 29 Chỉnh config của file database.php 48
Hình 30 Đăng nhập với tài khoản admin 48
Hình 31 Cấu hình website 49
Hình 32 Hoàn thành quá trình cài đặt 49
Hình 33 Quản lý sản phẩm 50
Hình 34 Thêm sản phẩm 50
Hình 35 Thêm danh mục 50
Hình 36 Quản lý đơn hàng 51
Hình 37 Biểu đồ doanh số bán hàng 51
Hình 38 Bảng thống kê doanh số bán hàng 51
Hình 39 Xem thông tin hàng hóa 52
Hình 40 Quản lý giỏ hàng 52
Hình 41 Điền thông tin để mua hàng 53
Hình 42 Click vào xác nhận đặt hàng để mua hàng 53
Trang 7NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
Trang 9I Đề tài
I.1 Tên đề tài
Xây dựng hệ thống quản lý giỏ hàng (Shopping Cart) phục vụ thương mại điện tửmua bán trực tuyến đồ thể thao
I.2 Mục đích và ý nghĩa
đưa các sản phẩm của mình lên, quảng bá sản phẩm, người sử dụng có thể muabán các sản phẩm thông qua website này
nhân lực mang lại hiệu quả cao
dụng dự án vào thực tế
II Tổ chức thực hiện dự án
II.1 Phương pháp tiến hành dự án
Chúng em sẽ thực hiện dự án theo mô hình thác nước:
Hình 1 Mô hình thác nước trong dự án phần mềm
Trang 10Quá trình phân tích thiết kế hệ thống và xây dựng sẽ bao gồm các giai đoạn:
Chúng em lựa chọn mô hình thác nước là vì đây là một hình phản ánh đầy đủ cácbước thực hiện một dự án phần mềm, là mô hình cơ sở cho đa số các hệ thống phát triểnphần mềm cũng như phần cứng
II.2 Các thành viên và vai trò trong dự án
II.3 Công cụ và các kỹ thuật sử dụng trong dự án
Được sự hổ trợ và hướng dẫn của công ty Fiisoft, chúng em đã sử dụng công cụ quản
truy cập vào công cụ này Công cụ này có rất nhiều chức năng hổ trợ cho việc phát triển dự
án và nó cho phép chúng em phát triển dự án một cách có tổ chức và nhanh chóng hơn
Trang 11Hình 2 Hệ thống quản lý dự án redmine
Subversion là một phần mềm mã nguồng mở dùng để quản lý và kiểm tra các phiênbản mã nguồn khác nhau trong quá trình phát triển phần mềm Subversion cũng còn được gọi
là svn Svn là lệnh dùng để thực hiện các chức năng Subversion trong môi trường thi hànhlệnh trên các máy vi tính Subversion được thiết kế với mục đích thay thế phần mềm quản líphiên bản Concurrent Versioning System (CVS) đã cũ và có nhiều nhược điểm
Subversion rất phổ biến trong giới mã nguồn mỡ và được dùng để quản lý mã nguồncho nhiều ứng dụng tự do như: Apache Software Foundation, KDE, GNOME, Free Pascal,FreeBSD, GCC, Python, Django, Ruby, và Mono SourceForge.net và Tigris.org, nơi chứamiễn phí chuyên nghiệp dành cho các ứng dụng tự do, đều có hỗ trợ Subversion cho các ứngdụng được lưu trữ trong máy chủ Ngoài ra Google Code và BountySource chỉ sử dụngSubversion để quản lý các phiên bản mã nguồn
Hình 3 Công cụ quản lý phiên bản SVN
Trang 12Đồ án công nghệ phần mềm – Nhóm 11A
Chúng em trao đổi với nhau qua các hình thức:
III Kế hoạch tiến hành dự án
III.1 Kế hoạch chung
Trong giai đoạn đầu, cả nhóm sẽ họp bàn với nhau quy cách tiến hành dự án, cũng nhưcùng nhau phân tích các yêu cầu dự án, phân chia module, hoạch định kế hoạch tiến hành.Quản lý dự án sẽ phân công nhiệm vụ cho từng thành viên trong dự án tùy theo năng lực
và khả năng của từng thành viên có thông qua bàn bạc và trao đổi giữa các thành viên Khiphân công nêu rõ cách tiến hành, kết quả nhận được, thời gian kết thúc Sau khi nhận đượckết quả từ thành viên, cả nhóm sẽ cùng nhau kiểm tra
Mỗi thành viên tự thực hiện unit test cho module mình làm, sau đó thành viên có vai tròkiểm thử thực hiện test thêm một lần nữa và tổng hợp kết quả test lại
Dự án dự kiến phát triển trong vòng 11 tuần (8/3/2010 - 31/5/2010) Trong đó :
Đây chỉ là kế hoạch dự kiến lúc mới bắt đầu dự án, trong quá trình thực hiện dự án có thể thay đổi tùy theo hoàn cảnh và tình trạng thực hiện dự án
III.2 Kế hoạch chi tiết
Trang 13STT Bắt đầu Kết thúc Công việc Thực hiện Ghi chú
đặt + triển khai ứng dụng
Cả nhóm
Trang 14CHƯƠNG 2
PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU
I Mô tả bài toán
Bài toán cần giải quyết là có được một website thương mại điện tử mua bán đồ thể thao thân thiện với người sử dụng, mang lại hiểu quả cho doanh nghiệp
II Thu thập yêu cầu
Để có thể xây dựng website tốt, chúng em có nghiên cứu hệ thống bakesale
(http://www.bakesalepro.com/) Thông qua hệ thống này giúp cho chúng em hiểu rõ được các nhiệm vụ, nội dung, logic của một chương trình quản lý nhân sự cần có Chúng em tham khảo thêm các mẫu báo cáo để làm các phần báo cáo sao cho sát thực tế nhất
Hình 4 Hóa đơn bán hàng
Hình 5 Báo cáo bán hàng
Trang 15III Phân tích yêu cầu
III.1 Yêu cầu phi chức năng
cùng lúc)
III.2 Yêu cầu chức năng
Đâ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ốngthự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ý danh mục2
Quản lý sản phẩm3
Quản lý đơn đặt hàng4
Báo cáo doanh số6
Trang 16Đồ án công nghệ phần mềm – Nhóm 11A
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
Hình 7 User Module
IV Đặc tả yêu cầu
IV.1 Giới thiệu
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:
Bảng ghi chú các thay đổi của tài liệu
Font chữ Time New Roman, cỡ 12pt, màu chữ đen
Quản lý giỏ hàng3
Xem thông tin chi tiết2
User (Frontend)
Trình diễn hàng hóa1
Đặt mua hàng4
Liên hệ, giúp đỡ5
Trang 17IV.1.4 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
IV.3 Mô hình yêu cầu
Hình 8 Mô hình yêu cầu
1 Giao diện: thẩm mỹ, dễ sử dụng, đa giao diện.
Trang 18Đồ án công nghệ phần mềm – Nhóm 11A
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
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
2 Nội dung: nội dung đồng nhất, đa ngôn ngữ.
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
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ữ
3 Ngôn ngữ:
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
1 Trình diễn hàng hóa
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
2 Xem thông tin chi tiết
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
Trang 193 Quản lí giỏ hàng
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
lượng hàng hóa trong giỏ
4 Đặt mua hàng
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
5 Liên hệ, giúp đỡ
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
6 Cấu hình hệ thống
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
7 Quản lí danh mục
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
8 Quản lí sản phẩm
Thuộc tính Mô tả
Trang 20Đồ án công nghệ phần mềm – Nhóm 11A
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
9 Quản lí đơn đặt hàng
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
10 Quản lí nội dung trang
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
11 Báo cáo doanh số
Thuộc tính Mô tả
Stereotype : «Functional» Độ khó : Medium Loại : Issue Phạm vi: Public Mới : True
Trang 21I Phân tích và thiết kế hệ thống
I.1 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
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
hàng hóa và có thể đặt mua các sản phẩm từ trang web này
I.2 Xác định các Use case và các yêu cầu về chức năng
Trang 22I.3 Biểu đồ Use case
Đây là biểu đồ Use case tổng quát của hệ thống
Hình 9 Use case tổng quát
Trang 23Hình 10 Use case Quản lí hệ thống
Hình 11 Use case Quản lí danh mục
Trang 24Đồ án công nghệ phần mềm – Nhóm 11A
Hình 12 Use case Quản lí đơn hàng
Hình 13 Use case Quản lí nhãn hiệu
Trang 26Đồ án công nghệ phần mềm – Nhóm 11A
Hình 17 User case Người dùng
I.4 Đặc tả use case
Use case quản lí danh mục
- 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
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ạithô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ớithôi
Trang 27- Nếu không muốn lưu trữ các thông tin vừa nhập thì click chọn chứcnă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ầnsử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ưuvà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êucầ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”
“Đồng ý”, ngược lại click “Hủy”
Use case quản lí đơ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ưuvà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êucầ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
- 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
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”
Trang 28Đồ án công nghệ phần mềm – Nhóm 11A
- 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ạithô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ớithôi
- Nếu không muốn lưu trữ các thông tin vừa nhập thì click chọn chứcnă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ầnsử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ưuvà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êucầ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”
“Đồng ý”, ngược lại click “Hủy”
Use case quản lí nội dung
- 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
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íchhoạ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ạithô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ớithôi
- Nếu không muốn lưu trữ các thông tin vừa nhập thì click chọn chứcnă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ưuvà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êucầ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
Trang 29- 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ê
- 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
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