ĐỒ Á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
TỔNG QUAN DỰ ÁN3
I.Đề tài3
I.1.Tên đề tài3
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ết6
PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU8
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ÌNH35
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ề MySql36
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ệt46
TRIỂN KHAI47
I.Hướng dẫn cài đặt47
I.1.Yêu cầu hệ thống. 47
I.2.Cài đặt47
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ỂN54
I.Kết quả đạt được. 54
I.1.Ưu điểm54
I.2.Khuyết điểm54
II.Hướng phát triển
Đồ án được hoàn thành tốt và được điểm 10.Đồ án bao gồm phần mã nguồn và bản word hoàn chỉnh.Đồ án được làm theo đúng quy trình để sản xuất một phần mềm thực tế.
TỔNG QUAN DỰ ÁN
I. Đề 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
· Xây dựng một website bán hàng trực tuyến đồ thể thao cho phép doanh nghiệp đư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ể mua bán các sản phẩm thông qua website này.
· Tạo tiện lợi cho doanh nghiệp, cũng như người mua, tiết kiệm thời gian, công sức, nhân lực mang lại hiệu quả cao.
· Nghiên cứu quá trình phân tích, xây dựng một dự án phần mềm cũng như ứng 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:
[IMG]file:///C:/Users/Luong/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg[/IMG]
Hình 1. Mô hình thác nước trong dự án phần mềm
Quá 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:
· Viết yêu cầu của hệ thống· Phân tích thiết kế hệ thống (Analysis & Design)· Thực hiện cài đặt bằng ngôn ngữ lập trình (Implement)· Kiểm tra (test) chương trình· Triển khai ứng dụng (Deployment), Bảo trì.· Viết document cho chương trình
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ác bướ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ển phần mềm cũng như phần cứng.
61 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3327 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu 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
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn
ĐỒ Á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
NHÓM SV : LÊ VĂN SỸ
MAI THĂNG LONG
LÊ BÁ LƯỢNG
LỚP : 06T4
CBHD : PGS-TS PHAN HUY KHÁNH
ĐÀ NẴNG, 06/2010LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn PGS-TS Phan Huy Khánh đã trực tiếp, tận tình giúp đỡ và hướng dẫn chúng em trong suốt thời gian làm đồ án công nghệ phần mềm.
Chúng em xin chân thành cảm ơn các Thầy, Cô trong khoa Công Nghệ Thông Tin trường Đại Học Bách Khoa, Đại học Đà Nẵng đã truyền đạt cho chúng em những kiến thức quý báu, đã tận tình dạy bảo và giúp đỡ chúng em.
Xin 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
LỜI CAM ĐOAN
Tôi xin cam đoan :
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.
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ố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, chúngtô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
MỤC LỤC
MỤ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
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
CHƯƠNG MỞ ĐẦU
TỔNG QUAN DỰ ÁN
Đề tài
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.
Mục đích và ý nghĩa
Xây dựng một website bán hàng trực tuyến đồ thể thao cho phép doanh nghiệp đư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ể mua bán các sản phẩm thông qua website này.
Tạo tiện lợi cho doanh nghiệp, cũng như người mua, tiết kiệm thời gian, công sức, nhân lực mang lại hiệu quả cao.
Nghiên cứu quá trình phân tích, xây dựng một dự án phần mềm cũng như ứng dụng dự án vào thực tế.
Tổ chức thực hiện dự án
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:
Mô hình thác nước trong dự án phần mềm
Quá 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:
Viết yêu cầu của hệ thống
Phân tích thiết kế hệ thống (Analysis & Design)
Thực hiện cài đặt bằng ngôn ngữ lập trình (Implement)
Kiểm tra (test) chương trình
Triển khai ứng dụng (Deployment), Bảo trì.
Viết document cho chương trình
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ác bướ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ển phần mềm cũng như phần cứng.
Các thành viên và vai trò trong dự án
STT
Tên
Vai Trò
Nhiệm vụ
1
Lê Văn Sỹ
Quản lý dự án
Lập kế hoạch thực hiện dự án
Phân tích yêu cầu
Theo dõi, kiểm tra quá trình thực hiện
Thực hiện một số module
Tổng hợp báo cáo
2
Mai Thăng Long
Phân tích, lập trình
Phân tích yêu cầu thành các user case
Vẽ các biểu đồ
Thực hiện một số module
3
Lê Bá Lượng
Phân tích, kiểm thử
Phân tích, thiết kế cơ sở dữ liệu
Kiểm thử dự án
Công cụ và các kỹ thuật sử dụng trong dự án
Công cụ quản lý dự án redmine:
Đượ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 lý dự án redmine tại địa chỉ: Mỗi thành viên có một tài khoả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.
Hệ thống quản lý dự án redmine
Công cụ quản lý phiên bản Subversion (SVN)
Subversion là một phần mềm mã nguồng mở dùng để quản lý và kiểm tra các phiên bả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ành lệ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ồn cho 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ứa miễn phí chuyên nghiệp dành cho các ứng dụng tự do, đều có hỗ trợ Subversion cho các ứng dụng được lưu trữ trong máy chủ. Ngoài ra Google Code và BountySource chỉ sử dụng Subversion để quản lý các phiên bản mã nguồn.
Công cụ quản lý phiên bản SVN
Công cụ trao đổi giữa các thành viên trong dự án:
Chúng em trao đổi với nhau qua các hình thức:
Chat thông qua Yahoo Messenger: thông báo, trao đổi …
Email: Các tài liệu, phần mềm, báo cáo …
TeamViewer: hổ trợ sửa lỗi thông qua mạng internet
Gặp mặt trực tiếp: trao đổi, thảo luận
Kế hoạch tiến hành dự án
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. Khi phâ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 được kế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 đó :
1 tuần nghiên cứu yêu cầu, chuẩn bị kế hoạch
2 tuần, xây dựng tài liệu đặc tả, thiết kế
6 tuần viết mã nguồn
1 tuần test tổng quát
1 tuần xây dựng tài liệu, viết báo cáo
Đâ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.
Kế hoạch chi tiết
STT
Bắt đầu
Kết thúc
Công việc
Thực hiện
Ghi chú
1
8/3/2010
8/3/2010
Họp nhóm
Cả nhóm
Lên kế hoạch
2
9/3/2010
14/3/2010
Nghiên cứu yêu cầu
Cả nhóm
3
14/3/2010
14/3/2010
Họp nhóm
Cả nhóm
Tổng hợp nghiên cứu, phân chia công việc
4
15/3/2010
21/3/2010
Viết tài liệu đặc tả
Sỹ
5
21/3/2010
27/3/2010
Thiết kế User Case
Long
6
21/3/2010
27/3/2010
Thiết kế, phân tích Database
Lượng
7
21/3/2010
27/3/2010
Thiết kế giao diện
Sỹ
8
28/3/2010
28/3/2010
Họp nhóm
Cả nhóm
Tổng hợp phân tích, phân chia công việc
9
29/3/2010
4/4/2010
Module: Quản lý danh mục + unit test
Sỹ
10
29/3/2010
4/4/2010
Module: quản lý đơn hàng + unit test
Long
11
5/4/2010
11/4/2010
Module: Quản lý nội dung + unit test
Long
12
12/4/2010
18/4/2010
Module: Quản lý sản phẩm + unit test
Sỹ
13
12/4/2010
18/4/2010
Module: Quản lý nhãn hiệu + unit test
Long
14
19/4/2010
3/5/2010
Module: trình bày sản phẩm + unit test
Sỹ
15
19/4/2010
3/5/2010
Module: mua hàng, giỏ hàng + unit test
Long
16
4/5/2010
4/5/2010
Họp nhóm
Cả nhóm
Kiểm tra các module, chuẩn bị ghép hệ thống
17
5/5/2010
10/5/2010
Tích hợp hệ thống, test tích hợp
Cả nhóm
18
5/5/2010
10/5/2010
Thực hiện unit test cho từng chức năng
Lượng
19
11/5/2010
20/5/2010
Sửa lỗi
Sỹ + Long
20
21/5/2010
31/5/2010
Viết hướng dẫn cài đặt + triển khai ứng dụng
Cả nhóm
21
31/5/2010
31/5/2010
Họp nhóm
Cả nhóm
Chuẩn bị báo cáo
CHƯƠNG 2
PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU
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.
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 ( 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óa đơn bán hàng
Báo cáo bán hàng
Phân tích yêu cầu
Yêu cầu phi chức năng
Giao diện người dùng:
Giao diện thân thiện với người dùng: dễ sử dụng, hiển thị rõ ràng, trình bày đẹp
Tính năng đa giao diện, cho phép thay đổi giao diện
Yê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 thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Thêm danh mục (hổ trợ thêm danh mục con)
Thêm danh mục “tổng hợp”
Fail
Chưa tạo được danh mục. sau khi bấm lưu mà danh mục không được tạo
1/5/2010
2
Chỉnh sửa danh mục
Chỉnh danh mục “basketball” thành “volleyball”
pass
Basketball được sửa thành volleyball
1/5/2010
3
Xóa danh mục
Xóa danh mục “volleyball”
pass
Danh mục volleyball đã được xóa
1/5/2010
4
Quản lý các sản phẩm trong danh mục
Đổi giá trị của các sản phẩm trong bảng,xem các sản phẩm.
Fail
Cập nhật thành công nhưng lổi: Undefined index: Subproduct [APP\views\elements\admin_table.ctp, line 83]
1/5/2010
Quản lí sản phẩm
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Thêm sản phẩm
Thêm sản phẩm “giày đẹp”, giá 500000, weight 1kg, quantity 2
pass
Thêm vào sản phẩm thành công
1/5/2010
2
Chỉnh sửa sản phẩm
Chỉnh tên “giay đẹp” và giá 490000. Weight 0.5kg, quantity 5
pass
Đã cập nhật các giá trị mới thành công
1/5/2010
3
Xóa sản phẩm
Xóa sản phẩm “giày đẹp” tick chọn vào ô xóa và update
fail
Không xóa được, sản phẩm vẫn còn sau khi update và lổi: Undefined index: Subproduct [APP\views\elements\admin_table.ctp, line 83]
1/5/2010
Quản lí đơn đặt hàng
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Tìm đơn hàng
Tìm đơn hàng “customer1” và click vào link “search”
Not run
Trang web không chạy, không trả về kết quả. Notice (8): Undefined index: total [APP\views\orders\admin_index.ctp, line 49]
1/5/2010
2
Chỉnh sửa đơn hàng
Đơn đặt hàng “customer1”thành “customer2”
pass
Đơn đặt hàng được chỉnh sửa thành công
1/5/2010
3
Xem đơn hàng
Xem đơn hàng “customer1”
pass
Chạy bình thường
1/5/2010
4
Xóa đơn hàng
Xóa đơn hàng Xem đơn hàng “customer1”
pass
Đơn hàng “customer1” đã được xóa
1/5/2010
Quản lí nội dung trang web
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Thêm nội dung
Thêm một nội dung mới “thông báo” , “sắp có hàng khuyến mãi”
pass
Cập nhât nội dung mới thành công
1/5/2010
2
Chỉnh sửa nội dung
Chỉnh sửa thông báo mục 1 thành “hết đợt khuyến mãi”
pass
Sửa nội dung thành công
1/5/2010
3
Xóa nội dung
Xóa thông báo trên
pass
Nội dung thông báo được xóa
1/5/2010
Báo cáo doanh số
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Báo cáo doanh số bán theo năm, quý , tháng , tuần
Chọn weekly, monthly,quarterly , yearly rồi click “go”
fail
ThethaoController could not be found. Trước đó có hiện biểu đồ.
1/5/2010
2
Báo cáo số lượng hàng bán theo năm, quý , tháng, tuần
Chọn weekly, monthly,quarterly , yearly rồi click “go”
fail
ThethaoController could not be found. Trước đó có hiện biểu đồ.
1/5/2010
Kiểm thử User module (front end)
Trình diễn hàng hóa
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Xem thông tin hàng hóa
Click chuột vào các sản phẩm để xem
Pass
Xem bình thường, và có phóng to ảnh
9/5/2010
2
Thay đổi danh mục đang xem
Click sang một sản phẩm khác
pass
Xem bình thường, và có phóng to ảnh
9/5/2010
3
Xem hàng hóa giảm giá
Click vào link “Khuyến Mãi”
pass
Kết quả show ra các sản phẩm giảm giá
9/5/2010
4
Xem hàng hóa mới nhất
Click vào “Hàng Mới”
Not run
Parse error: parse error in E:\wamp\www\thethao\controllers\products_controller.php on line 148
9/5/2010
Xem thông tin chi tiết
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Xem giới thiệu sản phẩm, giá
Click vào một sản phẩm bất kì
pass
Thấy giới thiệu sản phẩm, giá cả, tình trạng sản phẩm
9/5/2010
2
Xem hình ảnh sản phẩm
Rê chuột vào một sản phẩm và click
pass
xem được hình ảnh vừa và phóng to của sản phẩm.
9/5/2010
Quản lí giỏ hàng
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Xem các sản phẩm hiện có trong giỏ hàng
Click chột vào link Item in cart
fail
Có 1 sản phẩm mà trong giỏ hàng không hiển thị.
9/5/2010
2
Xóa các sản phẩm ra khỏi giỏ hàng
Click delete một sản phẩm trong cart
pass
Sản phẩm được xóa khỏi giỏ hàng
9/5/2010
3
Thay đổi số lượng một sản phẩm trong giỏ
Ta thay đổi số lượng sản phẩm đã mua từ 1 lên 2
pass
Số lượng tăng và tiền thanh toán tăng.
9/5/2010
Mua hàng
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Nhập thông tin người mua
Click vào một sản phẩm bất kì rồi click vào giỏ hàng
pass
Sản phẩm được đưa vào giỏ hàng
9/5/2010
2
Chọn phương thức thanh toán vận chuyển
Chọn phương thức thanh toán trong list
pass
Lựa chọn được phương thức thanh toán.
9/5/2010
Liên hệ giúp đỡ
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Liên hệ với quản trị hệ thống
Click vào link “Liên Hệ”
pass
Thấy được thông tin cần liên lạc của nhóm thực hiện
9/5/2010
2
Xem các hướng dẫn giúp đỡ, quy định của website
Vào mục hướng dẫn
pass
Thấy được các thông tin về giúp đỡ và quy định của website
9/5/2010
Sau khi phát hiện các lổi ở phần trên. Ta gửi báo cáo đến các lập trình viên để họ sửa lại sau khi đã ổn thỏa ta đi vào kiểm thử tích hợp.
Kiểm thử tích hợp
Module admin
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Cấu hình hệ thống
Chạy lại module hệ thống với các dữ liệu unit test
pass
Phần cấu hình chạy tốt
10/5/2010
2
Quản lí danh mục
Chạy lại module hệ thống với các dữ liệu unit test
pass
Quản lí chạy tốt
10/5/2010
3
Quản lí sản phẩm
Chạy lại module hệ thống với các dữ liệu unit test
pass
Quản lý sản phẩm được
10/5/2010
4
Quản lí đơn đặt hàng
Chạy lại module hệ thống với các dữ liệu unit test
pass
Quản lí được đơn đặt hàng
10/5/2010
5
Quản lí nội dung trang web
Chạy lại module hệ thống với các dữ liệu unit test
pass
Quản lí được nội dung trang web
10/5/2010
6
Báo cáo doanh số
Chạy lại module hệ thống với các dữ liệu unit test
pass
Báo cáo được doanh số và vẽ được biểu đồ
10/5/2010
Module user
STT
Tên ca kiểm thử
Dữ liệu vào
Kết quả
Mô tả
Last Run
1
Trình diễn hàng hóa
Chạy lại module user với các dữ liệu unit tests lúc đầu
pass
Hàng hóa trình diễn được
11/5/2010
2
Xem thông tin chi tiết
Chạy lại module user với các dữ liệu unit tests lúc đầu
pass
Xem được thông tin chi tiết sản phẩm
11/5/2010
3
Quản lí gio hàng
Chạy lại module user với các dữ liệu unit tests lúc đầu
fail
Có vấn đề
11/5/2010
4
Đặt mua hàng
Chạy lại module user với các dữ liệu unit tests lúc đầu
fail
Có vấn đề
11/5/2010
5
Liên hệ , giúp đỡ
Chạy lại module user với các dữ liệu unit tests lúc đầu
pass
Liên hệ, giúp đỡ được
11/5/2010
Test Hệ thống
STT
Name
Object
Test Type
Current Status
Run by
Last Run
1
Test với hệ thống lần 1
Test hệ thống
Standard
pass
Lê Bá Lượng
11/5/2010
2
Test với hệ thống lần 2
Test hệ thống
Standard
Pass
Lê Bá Lượng
19/5/2010
3
Test với hệ thống lần 3
Test hệ thống
Standard
Pass
Lê Bá Lượng
26/5/2010
Kiểm thử các trình duyệt
STT
Name
Object
Current status
Mô tả
Run by
Last Run
1
Test với Firefox
Test trình duyệt
pass
ok
Lê Bá Lượng
26/5/2010
2
Test với IE7
Test trình duyệt
fail
Bị vỡ giao điện
Lê Bá Lượng
26/5/2010
3
Test với IE8
Test trình duyệt
fail
Bị vỡ giao diện
Lê Bá Lượng
26/5/2010
4
Test với Opera
Test trình duyệt
Pass
Pass
Lê Bá Lượng
26/5/2010
5
Google chrome
Test trình duyệt
Pass
Pass
Lê Bá Lượng
26/5/2010
CHƯƠNG 6
TRIỂN KHAI
Hướng dẫn cài đặt
Sau khi hoàn thành quá trình kiểm thử sẻ đến phần triển khai. Và đây là phần cài đặt và triển khai sử dụng
Yêu cầu hệ thống
Apche (enable module rewrite)
Mysql
Cài đặt
Đầu tiên ta copy mã nguồn vào thư mục của server
Tạo một database trống và import database kèm theo vào
Tạo database trống
Import database
Chỉnh sửa file app/config/database.php với các thông số database của bạn
Chỉnh config của file database.php
Login vào admin để cấu hình
Acc: admin
Pass: demo
Đăng nhập với tài khoản admin
Cấu hình các thông số của phần mềm
Cấu hình website
Sau khi cài đặt các bước hoàn thành ta có thể chạy trang web và có được kết quả như sau:
Hoàn thành quá trình cài đặt
Hướng dẫn sử dụng
Các chức năng của admin
Quản lý sản phẩm
Quản lý sản phẩm
Thêm sản phẩm
Thêm danh mục
Quản lý đơn hàng
Quản lý đơn hàng
Báo cáo
Biểu đồ doanh số bán hàng
Bảng thống kê doanh số bán hàng
Các chức năng của người sử dụng
Xem sản phẩm
Xem thông tin hàng hóa
Quản lý giỏ hàng
Quản lý giỏ hàng
Mua hàng
Điền thông tin để mua hàng
Click vào xác nhận đặt hàng để mua hàng
CHƯƠNG 7
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết quả đạt được
Sau thời gian phân tích, thiết kế và viết mã nguồn cho dự án này dưới sự hướng dẫn tận tình của PGS-Tiến Sĩ Phan Huy Khánh, chúng em đã đạt được những kết quả cụ thể như sau:
Nắm vững quy trình phân tích và thiết kế một dự án phần mềm
Tinh thần làm việc theo nhóm được phát huy tối đa nhờ sự hỗ trợ của công cụ quản lý phiên bản Subversion, và công cụ quản lý dự án Redmine tại địa chỉ dưới sự hướng dẫn của anh Lê Sĩ Quý quản lý công ty phần mềm hợp chính (Fiisoft co. ltd).
Đã nắm và hiểu rõ về cách tổ chức xây dựng một ứng dụng thương mại điện tử, shopping cart hoàn chỉnh.
Phân quyền người dùng.
Hệ thống báo cáo doanh số bán hàng chạy ổn định
Ưu điểm
Giao diện đa ngữ, thân thiện với người dùng.
Chương trình hoạt động nhanh, chế độ bảo mật tốt.
Tính khả mở cao, dễ dàng mở rộng theo yêu cầu.
Hoạt động ổn định trên cả Ubuntu và Windows.
Khuyết điểm
Hệ thống báo cáo còn hạn chế.
Chưa phát triển đầy đủ các tính năng dự kiến ban đầu.
Hướng phát triển
Trong thời gian đến chúng em sẽ:
Phát triển tiếp các chức năng còn lại: quản lý thời gian làm việc, quản lý tuyển dụng.
Kiểm thử chương trình, loại bỏ các lỗi phát sinh
Bổ sung thêm phần báo cáo
TÀI LIỆU THAM KHẢO
Trang web :
Trang web :
Trang web :
Trang web :
Trang web : ương_mại_điện_tử
Các file đính kèm theo tài liệu này:
- BaoCao.doc