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

ĐỒ Á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.

doc61 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3177 | Lượt tải: 1download
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/2010 LỜ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ú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 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:

  • docBaoCao.doc