1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÂY DỰNG WEBSITE BÁN QUẦN ÁO

69 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Bán Quần Áo
Tác giả Trần Thị Phượng
Người hướng dẫn Th.S. Hồ Tuấn Anh
Trường học Trường Đại Học Quảng Nam
Chuyên ngành Công Nghệ Thông Tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2019
Thành phố Quảng Nam
Định dạng
Số trang 69
Dung lượng 2,39 MB

Nội dung

Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin UBND TỈNH QUẢNG NAM TRỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN ---------- TRẦN THỊ PHỢNG XÂY DỰNG WEBSITE BÁN QUẦN ÁO KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 5 năm 2019 UBND TỈNH QUẢNG NAM TRỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN ---------- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC TÊN ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN QUẦN ÁO SINH VIÊN THỰC HIỆN TRẦN THỊ PHỢNG MSSV: 2115031025 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHOÁ: 2015 – 2019 CÁN BỘ HỚNG DẪN TH.S HỒ TUẤN ANH Quảng Nam, tháng 5 năm 2019 LỜI CẢM ƠN Để hoàn thành khóa luận này, em xin tỏ lòng biết ơn sâu sắc đến Thầy giáo Th.S Hồ Tuấn Anh , đã tận tình hƣớng dẫn trong suốt quá trình làm khóa luận tốt nghiệp. Em chân thành cảm ơn quý Thầy, Cô trong khoa Công Nghệ Thông Tin, Trƣờng Đại học Quảng Nam đã tận tình truyền đạt kiến thức trong những năm em học tập. Với vốn kiến thức đƣợc tiếp thu trong quá trình học không chỉ là nền tảng cho quá trình nghiên cứu khóa luận mà còn là hành trang qúy báu để em bƣớc vào đời một cách vững chắc và tự tin. Trong quá trình làm khóa luận tốt nghiệp, do trình độ còn hạn hẹp, đề tài rộng, thời gian có hạn, nên không tránh khỏi những thiếu sót, mong quý Thầy Cô góp ý kiến để em học hỏi thêm đƣợc nhiều kinh nghiệm. Em xin chân thành cảm ơn Tam kỳ, Ngày 10 tháng 5 năm 2019 Sinh viên thực hiện Trần Thị Phƣợng MỤC LỤC PHẦN 1. MỞ ĐẦU ................................................................................................ 1 1.1. Lý do chọn đề tài ............................................................................................. 1 1.2. Mục tiêu của đề tài .......................................................................................... 1 1.3. Đối tƣợng và phạm vi nghiên cứu ................................................................... 2 1.4. Phƣơng pháp nghiên cứu ................................................................................. 2 1.5. Cấu trúc đề tài ................................................................................................. 2 PHẦN 2. NỘI DUNG NGHIÊN CỨU .................................................................. 3 CHƠNG 1: CƠ SỞ LÝ THUYẾT ...................................................................... 3 1.1. Giới thiệu về đề tài .......................................................................................... 3 1.2. Giới thiệu các ngôn ngữ lập trình.................................................................... 3 1.2.1. Giới thiệu về MySQL ................................................................................... 3 1.2.1.1. Tổng quan về MySQL ..............................................................................................3 1.2.1.2. Các ƣu điểm và nhƣợc điểm của MySQL ...........................................................4 1.2.2. Giới thiệu về PHP ........................................................................................ 4 1.2.3. Giới thiệu về Xampp .................................................................................... 7 1.3. Laravel framework .......................................................................................... 7 1.3.1. Giới thiệu về Laravel.................................................................................... 7 1.3.2. Các tính năng của Laravel ............................................................................ 8 1.3.3. Biểu đồ các php framework sử dụng trong hai năm gần đây ....................... 9 1.3.4. Tại sao nên chọn Laravel ............................................................................. 9 1.3.5. Các chặn đƣờng phát triển ........................................................................... 9 1.3.6. Yêu cầu máy chủ để chạy Laravel ............................................................. 11 1.3.7. u và nhƣợc điểm của Laravel .................................................................. 11 1.3.8. Một số lệnh console phổ biến đƣợc cung cấp của Laravel ........................ 11 1.3.9. Cấu trúc thƣ mục của laravel ..................................................................... 13 CHƠNG 2 : MÔ TẢ HỆ THỐNG .................................................................... 15 2.1. Khảo sát hiện trạng........................................................................................ 15 2.2. Môi trƣờng hệ thống ..................................................................................... 16 2.3. Mô tả hệ thống bán quần áo .......................................................................... 16 2.4. Đặc tính ngƣời dùng ...................................................................................... 18 2.5. Yêu cầu về chức năng ................................................................................... 18 2.6. Yêu cầu phi chức năng .................................................................................. 19 2.7. Kế hoạch thực hiện ........................................................................................ 19 CHƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG .......................................... 21 3.1. Xác định Actor và vai trò của Actor ............................................................. 21 3.2. Sơ đồ Use Case ............................................................................................. 21 3.2.1. Use Case ..................................................................................................... 21 3.2.2. Đặc tả Use Case ......................................................................................... 22 3.2.3. Sơ đồ Use Case .......................................................................................... 27 3.3. Biểu đồ tuần tự .............................................................................................. 28 3.3.1. Biểu đồ tuần tự đăng nhập ......................................................................... 28 3.3.2. Biểu đồ tuần tự đăng ký ............................................................................. 28 3.3.3. Biểu đồ tuần tự tìm kiếm ............................................................................ 29 3.3.4. Biểu đồ tuần tự xem thông tin sản phẩm ................................................... 29 3.3.5. Biểu đồ tuần tự quản lý khách hàng ........................................................... 30 3.3.6. Biểu đồ tuần tự thanh toán ......................................................................... 30 3.3.7. Biểu đồ tuần tự quản lý sản phẩm .............................................................. 31 3.3.8. Biểu đồ tuần tự quản lý nhân viên ............................................................. 31 3.3.9. Biểu đồ tuần tự quản lý đơn hàng .............................................................. 32 3.3.10. Biểu đồ tuần tự thống kê .......................................................................... 32 3.4. Biểu đồ hoạt động ......................................................................................... 33 3.4.1. Biểu đồ hoạt động đăng ký......................................................................... 33 3.4.2. Biểu đồ hoạt động đăng nhập ..................................................................... 33 3.4.3. Biểu đồ hoạt động quản lý nhân viên ......................................................... 33 3.4.4. Biểu đồ hoạt động tìm kiếm ....................................................................... 34 3.4.5. Biểu đồ hoạt động quản lý sản phẩm ......................................................... 34 3.4.6. Biểu đồ hoạt động đặt hàng ........................................................................ 35 3.4.7. Biểu đồ hoạt động quản lý thống kê .......................................................... 35 3.4.8. Biểu đồ hoạt động quản lý đơn hàng ......................................................... 36 3.4.9. Biểu đồ hoạt động thanh toán .................................................................... 36 3.5. Biểu đồ lớp .................................................................................................... 37 3.5.1. Xác định các lớp và đặc tả dữ liệu ............................................................ 37 3.5.1.1. Bảng user....................................................................................................................37 3.5.1.2. Bảng typeproduct...................................................................................................37 3.5.1.3. Bảng size ....................................................................................................................38 3.5.1.4. Bảng role ....................................................................................................................38 3.5.1.5. Bảng productimages .............................................................................................38 3.5.1.6. Bảng productdetail ................................................................................................38 3.5.1.7. Bảng products ...........................................................................................................39 3.5.1.8. Bảng manufacturer ..................................................................................................39 3.5.1.9. Bảng gender ...............................................................................................................40 3.5.1.10. Bảng color ...............................................................................................................40 3.5.1.11. Bảng categoryproduct ........................................................................................40 3.5.1.12. Bảng billdetail ......................................................................................................40 3.5.1.13. Bảng bill ..................................................................................................................41 3.5.1.14. Bảng silde ................................................................................................................42 3.5.2. Class Diagram ............................................................................................ 42 3.6. Biểu đồ trạng thái .......................................................................................... 43 3.6.1. Biểu đồ trạng thái quản lý nhân viên ......................................................... 43 3.6.2. Biểu đồ trạng thái quản lý sản phẩm .......................................................... 44 3.6.3. Biểu đồ trạng thái quản lý đơn hàng .......................................................... 45 3.6.4. Biểu đồ trạng thái đăng nhập ..................................................................... 46 3.6.5. Biểu đồ trạng thái giỏ hàng ........................................................................ 46 3.6.6. Biểu đồ trạng thái loại sản phẩm ................................................................ 46 3.7. Cơ sở dữ liệu hệ thống .................................................................................. 48 CHƠNG 4: DEMO CHƠNG TRÌNH ............................................................ 49 4.1. Một số giao diện chính từ trang ngƣời dùng ................................................. 49 4.1.1. Giao diện trang chủ .................................................................................... 49 4.1.2. Giao diện trang chi tiết ............................................................................... 49 4.1.3. Giao diện trang giỏ hàng ............................................................................ 50 4.1.4. Giao diện trang đăng ký ............................................................................. 51 4.1.5. Giao diện trang tìm kiếm sản phẩm ........................................................... 51 4.1.6. Giao diện trang thanh toán ......................................................................... 52 4.1.7. Giao diện trang loại sản phẩm .................................................................... 52 4.2. Một số giao diện trang quản trị ..................................................................... 53 4.2.1. Giao diện trang chủ quản trị ....................................................................... 53 4.2.2. Giao diện trang danh sách sản phẩm .......................................................... 53 4.2.3. Giao diện trang thêm sản phẩm.................................................................. 54 4.2.4. Giao diện trang đơn hàng ........................................................................... 55 4.2.5. Giao diện trang chi tiết đơn hàng ............................................................... 55 4.2.6. Giao diện trang thống kê đơn hàng ............................................................ 56 4.2.7. Giao diện hóa đơn thanh toán .................................................................... 56 PHẦN 3. KẾT LUẬN .......................................................................................... 57 3.1. Về mặt kiến thức ........................................................................................... 57 3.2. Về kinh nghiệm thực tiễn .............................................................................. 57 3.3. u điểm và hạn chế của đề tài ...................................................................... 57 3.4. Hƣớng phát triển ........................................................................................... 57 PHẦN 4. TÀI LIỆU THAM KHẢO .................................................................... 58 DANH MỤC HÌNH ẢNH Hình 1: Biểu đồ các framework sử dụng qua các năm .......................................... 9 Hình 2: Cấu trúc thƣ mục của Laravel ................................................................. 13 Hình 3: Sơ đồ hệ thống ........................................................................................ 16 Hình 4: Sơ đồ Use Case ....................................................................................... 27 Hình 5: Biểu đồ tuần tự đăng nhập ...................................................................... 28 Hình 6: Biểu đồ tuần tự đăng ký .......................................................................... 28 Hình 7: Biểu đồ tuần tự tìm kiếm......................................................................... 29 Hình 8 : Biểu đồ tuần tự xem thông tin sản phẩm ............................................... 29 Hình 9: Biểu đồ tuần tự quản lý khách hàng ........................................................ 30 Hình 10: Biểu đồ tuần tự thanh toán .................................................................... 30 Hình 11: Biểu đồ tuần tự quản lý sản phẩm ......................................................... 31 Hình 12: Biểu đồ tuần tự quản lý thông tin nhân viên ......................................... 31 Hình 13: Biểu đồ tuần tự quản lý đơn hàng ......................................................... 32 Hình 14: Biểu đồ tuần tự thống kê ....................................................................... 32 Hình 15: Biểu đồ hoạt động đăng ký ................................................................... 33 Hình 16: Biểu đồ hoạt động đăng nhập ................................................................ 33 Hình 17: Biểu đồ hoạt động quản lý nhân viên.................................................... 33 Hình 18: Biểu đồ hoạt động tìm kiếm .................................................................. 34 Hình 19: Biểu đồ hoạt động quản lý sản phẩm .................................................... 34 Hình 20: Biểu đồ hoạt động đặt hàng .................................................................. 35 Hình 21: Biểu đồ hoạt động thống kê .................................................................. 35 Hình 22: Biểu đồ hoạt động quản lý đơn hàng .................................................... 36 Hình 23: Biểu đồ hoạt động thanh toán ............................................................... 36 Hình 24: Class Diagram ....................................................................................... 42 Hình 25: Biểu đồ trạng thái thêm nhân viên ........................................................ 43 Hình 26: Biểu đồ trạng thái sửa nhân viên ........................................................... 43 Hình 27: Biểu đồ trạng thái xóa nhân viên .......................................................... 43 Hình 28: Biểu đồ trạng thái thêm sản phẩm......................................................... 44 Hình 29: Biểu đồ trạng thái sửa sản phẩm ........................................................... 44 Hình 30: Biểu đồ trạng thái xóa sản phẩm ........................................................... 44 Hình 31: Biểu đồ trạng thái thêm đơn hàng ......................................................... 45 Hình 32: Biểu đồ trạng thái sửa đơn hàng ........................................................... 45 Hình 33: Biểu đồ trạng thái xóa đơn hàng ........................................................... 45 Hình 34: Biểu đồ trạng thái đăng nhập ................................................................ 46 Hình 35: Biểu đồ trạng thái giỏ hàng ................................................................... 46 Hình 36: Biểu đồ trạng thái thêm loại sản phẩm.................................................. 46 Hình 37: Biểu đồ trạng thái sửa loại sản phẩm .................................................... 47 Hình 38: Biểu đồ trạng thái xóa loại sản phẩm .................................................... 47 Hình 39: Cơ sở dữ liệu hệ thống .......................................................................... 48 Hình 40: Giao diện trang chủ ............................................................................... 49 Hình 41: Giao diện trang chi tiết .......................................................................... 50 Hình 42: Giao diện trang giỏ hàng ....................................................................... 50 Hình 43: Giao diện trang đăng ký ........................................................................ 51 Hình 44: Giao diện trang tìm kiếm sản phẩm ...................................................... 51 Hình 45: Giao diện trang thanh toán .................................................................... 52 Hình 46: Giao diện trang loại sản phẩm .............................................................. 52 Hình 47: Giao diện trang chủ quản trị .................................................................. 53 Hình 48: Giao diện trang danh sách sản phẩm..................................................... 53 Hình 49: Giao diện trang thêm sản phẩm ............................................................ 54 Hình 50: Giao diện trang đơn hàng ...................................................................... 55 Hình 51: Giao diện trang chi tiết đơn hàng .......................................................... 55 Hình 52: Giao diện trang thống kê đơn hàng ....................................................... 56 Hình 53: Giao diện hóa đơn thanh toán ............................................................... 56 DANH MỤC BẢNG Bảng 1:Một số lệnh console phổ biển đƣợc cung cấp của Laravel ...................... 13 Bảng 2: Bảng user ................................................................................................ 37 Bảng 3: Bảng typeproduct .................................................................................. 38 Bảng 4: Bảng size................................................................................................. 38 Bảng 5: Bảng role................................................................................................. 38 Bảng 6: Bảng productimages ............................................................................. 38 Bảng 7: Bảng productdetail ................................................................................ 39 Bảng 8: Bảng products ......................................................................................... 39 Bảng 9: Bảng manufacturer ................................................................................. 40 Bảng 10: Bảng giới tính ....................................................................................... 40 Bảng 11: Bảng color............................................................................................. 40 Bảng 12: Bảng categoryproduct ......................................................................... 40 Bảng 13: Bảng billdetail..................................................................................... 41 Bảng 14: Bảng bill ............................................................................................... 42 Bảng 15: Bảng slide ............................................................................................. 42 1 PHẦN 1. MỞ ĐẦU 1.1. Lý do chọn đề tài Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không ngừng, bằng việc chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng internet đang trở thành mạng truyền thông có sức ảnh hƣởng lớn nhất, không thể thiếu trong tất cả các hoạt động của con ngƣời trong việc truyền tải và trao đổi dữ liệu. Không nhƣ ngày xƣa, ngày nay mọi việc liên quan đến thông tin ngày càng dễ dàng hơn cho ngƣời sử dụng, bằng việc kết nối internet và một dòng dữ liệu truy tìm, thì ngay lập tức cả kho tài nguyên không chỉ trong nƣớc mà ngoài nƣớc hiện ra không chỉ bằng ngôn ngữ mà cả bằng hình ảnh, âm thanh. Chính vì lợi ích từ internet đã thúc đẩy sự ra đời và phát triển của thƣơng mại điện tử, làm biến đổi bộ mặt văn hoá cũng nhƣ nâng cao chất lƣợng cuộc sống của con ngƣời, các hoạt động thông thƣờng nhƣ sản xuất, kinh doanh và các doanh nghiệp cũng phát triển. Cuộc sống con ngƣời ngày càng phát triển thì nhu cầu sống của con ngƣời cũng đƣợc nâng cao và những nhu cầu đơn giản nhƣng cũng rất thiết thực. Đó là nhu cầu ăn, ở và mặc, đây là vấn đề cũng đang là một bài toán của các nhà kinh doanh, làm sao để đáp ứng nhu cầu của con ngƣời để cải thiện đời sống ngày càng cao. Chính lẽ đó để đáp ứng những nhu cầu đó của con ngƣời trên cơ sở kế thừa những trang web bán hàng khác, em xây dựng nên một website bán quần áo để đáp ứng nhu cầu mua sắm của mọi ngƣời, giúp họ tiết kiếm kiệm đƣợc thời gian, chi phí trong việc phải đi ra các shop, các cửa hàng hay các chợ truyền thống để mua và tìm kiếm sản phẩm. Thay vào đó chỉ việc ngồi ở nhà với chiếc máy tính đã kết nối internet, mọi ngƣời có thể thỏa sức tìm kiếm, lựa chọn sản phẩm áo quần mà mình yêu thích mọi lúc mọi nơi. Giúp cho ngƣời quản trị dễ dàng trong việc phân quyền quản lý, quản lý khách hàng và các đơn đặt hàng của họ. Vì vậy, đó là lý do em chọn đề tài “Xây dựng website bán quần áo”. 1.2. Mục tiêu của đề tài Xây dựng Website bán quần áo để quảng cáo và bán hàng quần áo trên mạng nhằm tăng thêm hiệu quả kinh doanh của cửa hàng. Đồng thời, thu hút ngƣời tiêu dùng đến cửa hàng, từ đó có thể mở rộng quy mô cửa hàng. 2 1.3. Đối tƣợng và phạm vi nghiên cứu - Quy trình quản lý bán các mặt hàng quần áo. - Các vấn đề cần giải quyết trong quá trình quản lý số lƣợng quần áo trong cửa hàng, tra cứu tìm kiếm các mặt hàng quần áo. Từ đó tiến hành xây dựng cơ sở dữ liệu và khai thác dữ liệu phục vụ công tác quản lý. - Theo dõi và thống kê các mặt hàng quần áo đã bán, đáp ứng yêu cầu phát triển của cửa hàng trong tƣơng lai. 1.4. Phƣơng pháp nghiên cứu - Sử dụng những phƣơng pháp nghiên cứu cụ thể nhƣ: logic, phân tích, tổng hợp, thống kê. - Phƣơng pháp lý luận thông qua việc tìm hiểu tài liệu từ sách, giáo trình, internet. 1.5. Cấu trúc đề tài Gồm 4 chƣơng: Chƣơng 1: Cơ sở lý thuyết Chƣơng 2: Mô tả hệ thống Chƣơng 3: Phân tích và thiết kế hệ thống Chƣơng 4: Demo chƣơng trình 3 PHẦN 2. NỘI DUNG NGHIÊN CỨU CHƠNG 1: CƠ SỞ LÝ THUYẾT 1.1. Giới thiệu về đề tài Việc kinh doanh mua bán là nhu cầu không thể thiếu đối với mọ i chúng ta. Trong thời đại cạnh tranh hiện nay việc giới thiệu sản phẩm kinh doanh đến từ ng cá nhân với chi phí thấp, hiệu quả cao là một vấn đề nan giải của ngƣờ i kinh doanh cùng với nhu cầu mua sắm với những sản phẩm đa chủng loại, đạt chất lƣợng, và hợp túi tiền của ngƣời tiêu dùng vì vậy thƣơng mại điện tử đã đƣợc ra đời và dần dần phát triển trên toàn thế giới. Việc phổ biến các sản phẩm của cửa hàng kinh doanh đến khách hàng thông qua các bả ng báo giá tuy nhiên chi phí khá cao vì số lƣợng sản phẩm ngày một đa dạng và giá cả thay đổi liên tụ c và tính phổ biến không cao chƣa đáp ứng đƣợc nhu cầu ngƣời dùng. Mặt khác cử a hàng còn gặp nhiều khó khăn nhƣ chƣa quản lý đƣợc ngƣờ i dùng, thông tin nhà sản xuất, cập nhật giá sản phẩm, quản lý sản phẩm… Nắm bắt đƣợ c tình hình trên em tiến hành thiết kế trang web mua bán hàng online để mong sao giúp cho các cửa hàng phát triển nhanh hơn, giúp cho chủ cửa hàng có thể quản lý cử a hàng của mình một cách tốt hơn. 1.2. Giới thiệu các ngôn ngữ lập trình 1.2.1. Giới thiệu về MySQL 1.2.1.1. Tổng quan về MySQL MySQL là một phần mềm quản trị cơ sở dữ liệu mã nguồn mở, miễn phí nằm trong nhóm LAMP (Linux-Apache-MySQL- PHP). MySQL rất phổ biến đƣợc các nhà phát triển ƣa chuộng trong quá trình phát triển ứng dụng. MySQL là cơ sở dữ liệu cao, ổn định và dễ sử dụng, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên Internet. Vì MySQL miễn phí hoàn toàn cho nên có thể tải MySQL từ trang chủ . MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: Phiên bản Win32 cho các hệ điều hành dòng Window, Linux, MacOS X, Unix, FreeBSD, NetBSD, Novell, NetWa re, SGI, Irix… MySQL là một trong những ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc 4 (SQL). MySQL đƣợc sử dụng hỗ trợ cho việc bổ trợ PHP và nhiều ngôn ngữ khác, nó làm nơi lƣu trữ những thông tin trên các trang web viết bằng PHP. 1.2.1.2. Các ƣu điểm và nhƣợc điểm của MySQL a. Các ưu điểm của MySQL MySQL là một hệ quản trị cơ sở dữ liệu nhanh nhỏ gọn, bảo mật và dễ sử dụng, thƣờng đƣợc sử dụng cho các ứng dụng nhỏ và trung bình. Đƣợc sử dụng cho các ứng dụng clientserver với máy chủ mạnh nhƣ UNIX, window NT, windows Server đƣợc biết trên máy chủ UNIX. MySQL hỗ trợ các điểm vào là ANSI SQL92 và ODBC mức 0- 2. MySQL hỗ trợ nhiều ngôn ngữ cho việc thông báo lỗi nhƣ Czec, Dutc, English, Estonia, French, German, Hungarian, Italian, Norwegian Nynorsk… Ngôn ngữ mặc định cho liệu là ISO-8859-1 (Latin 1) muốn thay đổi phải sửa trong mã nguồn. Ngôn ngữ lập trình sử dụng viết các hàm API để thâm nhập cơ sở dữ liệu MySQL có thể là C, Perl, PHP…Các bảng (table) trong cơ sở dữ liệu MySQL có kích thƣớc rất lớn. Kích thƣớc lớn nhất tro ng một bảng tối thiểu là 4Gb và còn phụ thuộc vào kích thƣớc lớn nhất của một file do hệ điều hành quy định. Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc độ xử lý cao hơn ba bốn lần so với các hệ quản trị cơ sở dữ liệu khác. MySQL là một hệ quản trị cơ sở dữ liệu mô hình quan hệ, có mã nguồn mở. Cung cấp miễn phí trên các máy chủ UNIX, OS2 và cả trên windows. b. Các nhược điểm của MySQL - Không có môi trƣờng đồ họa. - MySQL không cho phép thục hiện các câu lệnh SQL select truy vấn con. Không hỗ trợ Stored Procedures, Trigger, transactions, Foreignkeys và View nhƣ các hệ quản trị cơ sở dữ liệu khác. 1.2.2. Giới thiệu về PHP PHP (Hypertext Preprocessor ) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu đƣợc dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do đƣợc tối ƣu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm 5 tƣơng đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Lịch sử ra đời của PHP - PHP 3.0: Là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta đƣợc biết ngày nay. PHP 3.0 đã đƣợc Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trƣớc đó. Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHPFI trƣớc hết sức yếu kém trong việc phát triển các ứng dụng thƣơng mại điện tử mà họ đang xúc tiến trong một dự án cửa trƣờng đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở ngƣời dùng đã có của PHPFI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 nhƣ là phiên bản thế hệ kế tiếp của PHPFI 2.0, và chấm dứt phát triển PHPFI 2.0. Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung cấp cho ngƣời dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nh iều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận đƣợc rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính năng khác đƣợc giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hƣớng đối tƣợng và nhiều cú pháp ngôn ngữ nhất quán khác. - PHP 4.0 : Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức đƣợc công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng nhƣ vậy đã chạy đƣợc trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ nhiều các cơ sở dữ liệu và API của bên thứ ba, nhƣng PHP 3.0 đã không đƣợc thiết kế để xử lý các ứng dụng phức tạp nhƣ thế này một cách có hiệu quả. Với PHP 4.0 , số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20 số tên miền trên mạng Internet. - PHP 5.0: Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn. Cộng đồng php đã nhanh chóng giúp họ nhận ra 6 những yếu kém của PHP 4 đƣợc biết với khả năng hỗ trợ lập trình hƣớng đối tƣợng (OOP), xử lý XML không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhƣng những bài phỏng vấn Zeev liên quan đến bản này thì đã có mặt trên mảng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP 5.0 Beta 1 đã chính thức đƣợc công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất đƣợc chờ đợi: Iterators, Reflection nhƣng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5.0 Beta 3 đã đƣợc công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5.0 bản chính thức đã ra mặt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhƣng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. - PHP 6: Hiện nay phiên bản tiếp theo của PHP đang đƣợc phát triển, PHP 6 bản sử dụng thử đã có thể đƣợc tham khảo tại địa chỉ http:snaps.php.net. Phiên bản PHP 6 đƣợc kỳ vọng sẽ lấp đầy những lỗi của PHP phiên bản hiện tại ví dụ : hỗ trợ Unicode, sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đƣa ra thành thƣ viện PECL... - PHP 7: PHP7 là một phiên bản của ngôn ngữ PHP đƣợc giới thiệu vào ngày 3 tháng 9 năm 2015, đây là phiên bản mới nhất và đƣợc trông đợi nhất bởi c ó nhiều sự thay đổi về cú pháp, bổ sung các thƣ viện hiện đại giúp ngôn ngữ PHP trở nên đa dạng hơn. Để tránh sự nhầm lẫn giữa các version thì sau này chúng ta hay gọi PHP version 7 là PHP 7, còn các version trƣớc đó là PHP. PHP 7 ra đời với nhiều tính năng nổi bật nhƣ: - Tốc độ PHP 7 nhanh gấp hai lần 7 - Chỉ rõ kiểu dữ liệu cho biến - Xác định kiểu trả về cho hàm - Có nhiều toán tử mới - Bổ sung Anonymous Class - Xóa đi một số extension 1.2.3. Giới thiệu về Xampp Xampp là chƣơng trình tạo máy chủ Web (Web Server) đƣợc tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ nhƣ phpMyAdmin. Không nhƣ Appserv, Xampp có chƣơng trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào. Xampp là một mã nguồn mở máy chủ web đa nền đƣợc phát triển bởi Apache Friends, bao gồm chủ yếu là Apache HTTP Server, MariaDB database, và interpreters dành cho nh ững đối tƣợng sử dụng ngôn ngữ PHP. Xampp là viết tắt của Cross-Platform (đa nền tảng -X), Apache (A), MariaDB (M), PHP (P) và Perl (P). Xampp phân bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ra máy chủ web local để kiểm tra và triển khai trang web của mình. Tất cả mọi thứ cần cho phát triển một trang web - Ap ache (ứng dụng máy chủ), cơ sở dữ liệu (MariaDB) và ngôn ngữ lập trình (PHP) đƣợc gói gọn trong một tệp. Xampp cũng là một đa nền tảng vì có thể chạy tốt trên cả Linux , Windows và Mac. Hầu hết việc triển khai máy chủ web thực tế đều sử dụng cùng thành phần nhƣ Xampp nên rất dễ dàng để chuyển từ máy chủ local sang máy chủ online. Nhìn chung Xampp đƣợc xem là một bộ công cụ hoàn chỉnh dành cho lập trình viên PHP trong việc thiết lập và phát triển các website, nó tích hợp các thành phần quan trọng và tƣơng thích lẫn nhau nhƣ: + Apache + PHP (tạo môi trƣờng chạy các tập script .php) + MySQL (hệ quản trị dữ liệu mysql) 1.3. Laravel framework 1.3.1. Giới thiệu về Laravel Laravel là một PHP framework mã nguồn mở và miễn phí, đƣợc phát triển bởi Taylor Otwell và nhằm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo 8 kiến trúc MVC. Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu, rõ ràng, một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng. Laravel là một framework khá mới mẻ cho lập trình viên, phiên bản đầu tiên đƣợc phát hành vào tháng 62011. Ngay từ khi ra mắt, Laravel đã đƣợc chú ý bởi nhiều đặc điểm hay nhƣ Eloquent ORM, model and relationships, routing, caching, session, blade template. 1.3.2. Các tính năng của Laravel - Route trong Laravel thật sự khác biệt, mới và đầy mạnh mẽ. Mọi url điều hƣớng đều có thể quản lý trong route của laravel. - Master layout đƣợc tích hợp sẵn cùng Blade template giúp code củ a chúng ta trở nên gọn gàng và tiện dụng. Các file layout có thể dễ dàng extends củ a nhau giúp code ngắn gọn và dễ dàng quản lý. - Migration quản lý database thật dễ dàng khi làm việc với đội nhóm. - Eloquent class đầy mạnh mẽ nổi bật khi xử lý cơ sở dữ liệu quan hệ 1- n và n - n, 1-1 tối ƣu tất cả các câu truy vấn cơ sở dữ liệu. - Composer quản lý và tích hợp các thƣ viện khác thậ t nhanh và không lo lắng khi thƣ viện đó bị thay đổi, laravel có đầy đủ các thƣ viện cơ bản đủ để thự c hiện mọi yêu cầu của chúng ta. - Document dễ đọc, dễ hiểu và có đầy đủ các ví dụ. Tuy ra đời mu ộn hơn các framework khác nhƣng laravel lại có hƣớng dẫn chi tiết và đầy đủ ví dụ ngay tại trang chủ, các ví vụ dễ đọc dễ hiểu, cộng đồng phát triển rộng lớn và luôn luôn đƣợc update kịp thời khi có lỗi. - Eloquent ORM: đây là một ORM tuyệt vời với khả năng migration data và làm việc tốt với MySQL, SQL Server, SQLite, các câu truy vấn database dễ hiể u, lấy dữ liệu nhanh chóng. - Package - Library phong phú, đa dạng, đáp ứng đƣợc hầu hết các nhu cầu cơ bản của chúng ta. 9 - User authentication đƣợc tích hợp sẵn, lập trình viên chỉ cần gọ i class là có thể sử dụng theo ý muốn. - Và một số tính năng khác. 1.3.3. Biểu đồ các php framework sử dụng trong hai năm gần đây Hình 1: Biểu đồ các framework sử dụng qua các năm 1.3.4. Tại sao nên chọn Laravel - Với những ƣu điểm vƣợt trội và thừa hƣởng ƣu điểm và thế mạnh từ những framework đi trƣớc, có cộng đồng sử dụng rộng lớn, sử dụng ORM để thao tác với database dễ dàng, tích hợp composer làm công cụ quản lý code. - Có số lƣợng ngƣời sử dụng nhiều tại thời điểm hiện tại. - Hỗ trợ autoload theo namespace. - Document đƣợc laravel hỗ trợ khá dễ dàng tìm hiểu cho ngƣời mới bắt đầu. - Các kênh tƣơng tác với cơ sỡ dữ liệu ngắn gọn và thân thiện. - Quản lý layout thật sự đơn giản với Blade Template. - Dễ dàng tích hợp các thƣ viện khác vào dự án, và đƣợc quản lý dễ dàng với Composer. - Bộ điều khiển định tuyến (routers) khá mạnh mẽ. 1.3.5. Các chặn đƣờng phát triển Vào tháng 62011 Laravel 7 đƣợc phát hành phiên bản beta nhằm tạo nên một lựa chọn mới thay thế cho Codeiginter. Phiên bản 1.0 đƣợc phát hành vào cùng tháng với phiên bản beta này, Laravel cung cấp hàng tá các tính năng mà Codeiginter đang thiếu nhƣ: xác thực ngƣời dùng, đa ngôn ngữ, MVC. Tuy nhiên 10 tại phiên bản 1.0 Laravel vẫn chƣa đƣa vào controllers điều này khiến nó chƣa thực sự chuẩn MVC. Lar avel 2.0 đƣợc phát hành vào tháng 92011 với việc chuẩn hóa mô hình MVC, controllers đƣợc đƣa vào, hỗ trợ thiết kế IOC, và giới thiệu một tính năng mới là template engine Blade. Mộ...

Trang 1

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN

- -

TRẦN THỊ PHƯỢNG

XÂY DỰNG WEBSITE BÁN QUẦN ÁO

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Quảng Nam, tháng 5 năm 2019

Trang 2

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN

KHOÁ: 2015 – 2019 CÁN BỘ HƯỚNG DẪN TH.S HỒ TUẤN ANH

Quảng Nam, tháng 5 năm 2019

Trang 3

LỜI CẢM ƠN

Để hoàn thành khóa luận này, em xin tỏ lòng biết ơn sâu sắc đến Thầy giáo

Th.S Hồ Tuấn Anh, đã tận tình hướng dẫn trong suốt quá trình làm khóa luận

Trong quá trình làm khóa luận tốt nghiệp, do trình độ còn hạn hẹp, đề tài rộng, thời gian có hạn, nên không tránh khỏi những thiếu sót, mong quý Thầy Cô góp ý kiến để em học hỏi thêm được nhiều kinh nghiệm

Em xin chân thành cảm ơn!

Tam kỳ, Ngày 10 tháng 5 năm 2019 Sinh viên thực hiện

Trần Thị Phượng

Trang 4

MỤC LỤC

PHẦN 1 MỞ ĐẦU 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu của đề tài 1

1.3 Đối tượng và phạm vi nghiên cứu 2

1.4 Phương pháp nghiên cứu 2

1.5 Cấu trúc đề tài 2

PHẦN 2 NỘI DUNG NGHIÊN CỨU 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3

1.1 Giới thiệu về đề tài 3

1.2 Giới thiệu các ngôn ngữ lập trình 3

1.2.1 Giới thiệu về MySQL 3

1.2.1.1.Tổng quan về MySQL 3

1.2.1.2.Các ưu điểm và nhược điểm của MySQL 4

1.2.2 Giới thiệu về PHP 4

1.2.3 Giới thiệu về Xampp 7

1.3 Laravel framework 7

1.3.1 Giới thiệu về Laravel 7

1.3.2 Các tính năng của Laravel 8

1.3.3 Biểu đồ các php framework sử dụng trong hai năm gần đây 9

1.3.4 Tại sao nên chọn Laravel 9

1.3.5 Các chặn đường phát triển 9

1.3.6 Yêu cầu máy chủ để chạy Laravel 11

1.3.7 Ưu và nhược điểm của Laravel 11

1.3.8 Một số lệnh console phổ biến được cung cấp của Laravel 11

1.3.9 Cấu trúc thư mục của laravel 13

CHƯƠNG 2 : MÔ TẢ HỆ THỐNG 15

2.1 Khảo sát hiện trạng 15

2.2 Môi trường hệ thống 16

2.3 Mô tả hệ thống bán quần áo 16

Trang 5

2.5 Yêu cầu về chức năng 18

2.6 Yêu cầu phi chức năng 19

2.7 Kế hoạch thực hiện 19

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 21

3.1 Xác định Actor và vai trò của Actor 21

3.2 Sơ đồ Use Case 21

3.2.1 Use Case 21

3.2.2 Đặc tả Use Case 22

3.2.3 Sơ đồ Use Case 27

3.3 Biểu đồ tuần tự 28

3.3.1 Biểu đồ tuần tự đăng nhập 28

3.3.2 Biểu đồ tuần tự đăng ký 28

3.3.3 Biểu đồ tuần tự tìm kiếm 29

3.3.4 Biểu đồ tuần tự xem thông tin sản phẩm 29

3.3.5 Biểu đồ tuần tự quản lý khách hàng 30

3.3.6 Biểu đồ tuần tự thanh toán 30

3.3.7 Biểu đồ tuần tự quản lý sản phẩm 31

3.3.8 Biểu đồ tuần tự quản lý nhân viên 31

3.3.9 Biểu đồ tuần tự quản lý đơn hàng 32

3.3.10 Biểu đồ tuần tự thống kê 32

3.4 Biểu đồ hoạt động 33

3.4.1 Biểu đồ hoạt động đăng ký 33

3.4.2 Biểu đồ hoạt động đăng nhập 33

3.4.3 Biểu đồ hoạt động quản lý nhân viên 33

3.4.4 Biểu đồ hoạt động tìm kiếm 34

3.4.5 Biểu đồ hoạt động quản lý sản phẩm 34

3.4.6 Biểu đồ hoạt động đặt hàng 35

3.4.7 Biểu đồ hoạt động quản lý thống kê 35

3.4.8 Biểu đồ hoạt động quản lý đơn hàng 36

3.4.9 Biểu đồ hoạt động thanh toán 36

3.5 Biểu đồ lớp 37

Trang 6

3.5.1 Xác định các lớp và đặc tả dữ liệu 37

3.5.1.1.Bảng user 37

3.5.1.2.Bảng type_product 37

3.5.1.3.Bảng size 38

3.5.1.4.Bảng role 38

3.5.1.5.Bảng product_images 38

3.5.1.6.Bảng product_detail 38

3.5.1.7.Bảng products 39

3.5.1.8.Bảng manufacturer 39

3.5.1.9.Bảng gender 40

3.5.1.10 Bảng color 40

3.5.1.11 Bảng category_product 40

3.5.1.12 Bảng bill_detail 40

3.5.1.13 Bảng bill 41

3.5.1.14.Bảng silde 42

3.5.2 Class Diagram 42

3.6 Biểu đồ trạng thái 43

3.6.1 Biểu đồ trạng thái quản lý nhân viên 43

3.6.2 Biểu đồ trạng thái quản lý sản phẩm 44

3.6.3 Biểu đồ trạng thái quản lý đơn hàng 45

3.6.4 Biểu đồ trạng thái đăng nhập 46

3.6.5 Biểu đồ trạng thái giỏ hàng 46

3.6.6 Biểu đồ trạng thái loại sản phẩm 46

3.7 Cơ sở dữ liệu hệ thống 48

CHƯƠNG 4: DEMO CHƯƠNG TRÌNH 49

4.1 Một số giao diện chính từ trang người dùng 49

4.1.1 Giao diện trang chủ 49

4.1.2 Giao diện trang chi tiết 49

4.1.3 Giao diện trang giỏ hàng 50

4.1.4 Giao diện trang đăng ký 51

Trang 7

4.1.6 Giao diện trang thanh toán 52

4.1.7 Giao diện trang loại sản phẩm 52

4.2 Một số giao diện trang quản trị 53

4.2.1 Giao diện trang chủ quản trị 53

4.2.2 Giao diện trang danh sách sản phẩm 53

4.2.3 Giao diện trang thêm sản phẩm 54

4.2.4 Giao diện trang đơn hàng 55

4.2.5 Giao diện trang chi tiết đơn hàng 55

4.2.6 Giao diện trang thống kê đơn hàng 56

4.2.7 Giao diện hóa đơn thanh toán 56

PHẦN 3 KẾT LUẬN 57

3.1 Về mặt kiến thức 57

3.2 Về kinh nghiệm thực tiễn 57

3.3 Ưu điểm và hạn chế của đề tài 57

3.4 Hướng phát triển 57

PHẦN 4 TÀI LIỆU THAM KHẢO 58

Trang 8

DANH MỤC HÌNH ẢNH

Hình 1: Biểu đồ các framework sử dụng qua các năm 9

Hình 2: Cấu trúc thƣ mục của Laravel 13

Hình 3: Sơ đồ hệ thống 16

Hình 4: Sơ đồ Use Case 27

Hình 5: Biểu đồ tuần tự đăng nhập 28

Hình 6: Biểu đồ tuần tự đăng ký 28

Hình 7: Biểu đồ tuần tự tìm kiếm 29

Hình 8 : Biểu đồ tuần tự xem thông tin sản phẩm 29

Hình 9: Biểu đồ tuần tự quản lý khách hàng 30

Hình 10: Biểu đồ tuần tự thanh toán 30

Hình 11: Biểu đồ tuần tự quản lý sản phẩm 31

Hình 12: Biểu đồ tuần tự quản lý thông tin nhân viên 31

Hình 13: Biểu đồ tuần tự quản lý đơn hàng 32

Hình 14: Biểu đồ tuần tự thống kê 32

Hình 15: Biểu đồ hoạt động đăng ký 33

Hình 16: Biểu đồ hoạt động đăng nhập 33

Hình 17: Biểu đồ hoạt động quản lý nhân viên 33

Hình 18: Biểu đồ hoạt động tìm kiếm 34

Hình 19: Biểu đồ hoạt động quản lý sản phẩm 34

Hình 20: Biểu đồ hoạt động đặt hàng 35

Hình 21: Biểu đồ hoạt động thống kê 35

Hình 22: Biểu đồ hoạt động quản lý đơn hàng 36

Hình 23: Biểu đồ hoạt động thanh toán 36

Hình 24: Class Diagram 42

Hình 25: Biểu đồ trạng thái thêm nhân viên 43

Hình 26: Biểu đồ trạng thái sửa nhân viên 43

Hình 27: Biểu đồ trạng thái xóa nhân viên 43

Hình 28: Biểu đồ trạng thái thêm sản phẩm 44

Hình 29: Biểu đồ trạng thái sửa sản phẩm 44

Trang 9

Hình 31: Biểu đồ trạng thái thêm đơn hàng 45

Hình 32: Biểu đồ trạng thái sửa đơn hàng 45

Hình 33: Biểu đồ trạng thái xóa đơn hàng 45

Hình 34: Biểu đồ trạng thái đăng nhập 46

Hình 35: Biểu đồ trạng thái giỏ hàng 46

Hình 36: Biểu đồ trạng thái thêm loại sản phẩm 46

Hình 37: Biểu đồ trạng thái sửa loại sản phẩm 47

Hình 38: Biểu đồ trạng thái xóa loại sản phẩm 47

Hình 39: Cơ sở dữ liệu hệ thống 48

Hình 40: Giao diện trang chủ 49

Hình 41: Giao diện trang chi tiết 50

Hình 42: Giao diện trang giỏ hàng 50

Hình 43: Giao diện trang đăng ký 51

Hình 44: Giao diện trang tìm kiếm sản phẩm 51

Hình 45: Giao diện trang thanh toán 52

Hình 46: Giao diện trang loại sản phẩm 52

Hình 47: Giao diện trang chủ quản trị 53

Hình 48: Giao diện trang danh sách sản phẩm 53

Hình 49: Giao diện trang thêm sản phẩm 54

Hình 50: Giao diện trang đơn hàng 55

Hình 51: Giao diện trang chi tiết đơn hàng 55

Hình 52: Giao diện trang thống kê đơn hàng 56

Hình 53: Giao diện hóa đơn thanh toán 56

Trang 10

DANH MỤC BẢNG

Bảng 1:Một số lệnh console phổ biển đƣợc cung cấp của Laravel 13

Bảng 2: Bảng user 37

Bảng 3: Bảng type_product 38

Bảng 4: Bảng size 38

Bảng 5: Bảng role 38

Bảng 6: Bảng product_images 38

Bảng 7: Bảng product_detail 39

Bảng 8: Bảng products 39

Bảng 9: Bảng manufacturer 40

Bảng 10: Bảng giới tính 40

Bảng 11: Bảng color 40

Bảng 12: Bảng category_product 40

Bảng 13: Bảng bill_detail 41

Bảng 14: Bảng bill 42

Bảng 15: Bảng slide 42

Trang 11

PHẦN 1 MỞ ĐẦU

1.1 Lý do chọn đề tài

Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không ngừng, bằng việc chinh phục hết đỉnh cao này đến đỉnh cao khác Mạng internet đang trở thành mạng truyền thông có sức ảnh hưởng lớn nhất, không thể thiếu trong tất cả các hoạt động của con người trong việc truyền tải và trao đổi dữ liệu Không như ngày xưa, ngày nay mọi việc liên quan đến thông tin ngày càng dễ dàng hơn cho người sử dụng, bằng việc kết nối internet và một dòng dữ liệu truy tìm, thì ngay lập tức cả kho tài nguyên không chỉ trong nước mà ngoài nước hiện ra không chỉ bằng ngôn ngữ mà cả bằng hình ảnh, âm thanh Chính vì lợi ích từ internet đã thúc đẩy sự ra đời và phát triển của thương mại điện tử, làm biến đổi bộ mặt văn hoá cũng như nâng cao chất lượng cuộc sống của con người, các hoạt động thông thường như sản xuất, kinh doanh và các doanh nghiệp cũng phát triển Cuộc sống con người ngày càng phát triển thì nhu cầu sống của con người cũng được nâng cao và những nhu cầu đơn giản nhưng cũng rất thiết thực Đó là nhu cầu ăn, ở và mặc, đây là vấn đề cũng đang là một bài toán của các nhà kinh doanh, làm sao để đáp ứng nhu cầu của con người để cải thiện đời sống ngày càng cao Chính lẽ đó

để đáp ứng những nhu cầu đó của con người trên cơ sở kế thừa những trang web bán hàng khác, em xây dựng nên một website bán quần áo để đáp ứng nhu cầu mua sắm của mọi người, giúp họ tiết kiếm kiệm được thời gian, chi phí trong việc phải đi ra các shop, các cửa hàng hay các chợ truyền thống để mua và tìm kiếm sản phẩm Thay vào đó chỉ việc ngồi ở nhà với chiếc máy tính đã kết nối internet, mọi người có thể thỏa sức tìm kiếm, lựa chọn sản phẩm áo quần mà mình yêu thích mọi lúc mọi nơi Giúp cho người quản trị dễ dàng trong việc phân quyền quản lý, quản lý khách hàng và các đơn đặt hàng của họ Vì vậy, đó là lý

do em chọn đề tài “Xây dựng website bán quần áo”

1.2 Mục tiêu của đề tài

Xây dựng Website bán quần áo để quảng cáo và bán hàng quần áo trên mạng nhằm tăng thêm hiệu quả kinh doanh của cửa hàng Đồng thời, thu hút người tiêu dùng đến cửa hàng, từ đó có thể mở rộng quy mô cửa hàng

Trang 12

1.3 Đối tượng và phạm vi nghiên cứu

- Quy trình quản lý bán các mặt hàng quần áo

- Các vấn đề cần giải quyết trong quá trình quản lý số lượng quần áo trong cửa hàng, tra cứu tìm kiếm các mặt hàng quần áo Từ đó tiến hành xây dựng cơ

sở dữ liệu và khai thác dữ liệu phục vụ công tác quản lý

- Theo dõi và thống kê các mặt hàng quần áo đã bán, đáp ứng yêu cầu phát

triển của cửa hàng trong tương lai

1.4 Phương pháp nghiên cứu

- Sử dụng những phương pháp nghiên cứu cụ thể như: logic, phân tích, tổng hợp, thống kê

- Phương pháp lý luận thông qua việc tìm hiểu tài liệu từ sách, giáo trình, internet

1.5 Cấu trúc đề tài

Gồm 4 chương:

Chương 1: Cơ sở lý thuyết

Chương 2: Mô tả hệ thống

Chương 3: Phân tích và thiết kế hệ thống

Chương 4: Demo chương trình

Trang 13

PHẦN 2 NỘI DUNG NGHIÊN CỨU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Giới thiệu về đề tài

Việc kinh doanh mua bán là nhu cầu không thể thiếu đối với mọi chúng ta Trong thời đại cạnh tranh hiện nay việc giới thiệu sản phẩm kinh doanh đến từng

cá nhân với chi phí thấp, hiệu quả cao là một vấn đề nan giải của người kinh doanh cùng với nhu cầu mua sắm với những sản phẩm đa chủng loại, đạt chất lượng, và hợp túi tiền của người tiêu dùng vì vậy thương mại điện tử đã được ra đời và dần dần phát triển trên toàn thế giới Việc phổ biến các sản phẩm của cửa hàng kinh doanh đến khách hàng thông qua các bảng báo giá tuy nhiên chi phí khá cao vì số lượng sản phẩm ngày một đa dạng và giá cả thay đổi liên tục và tính phổ biến không cao chưa đáp ứng được nhu cầu người dùng Mặt khác cửa hàng còn gặp nhiều khó khăn như chưa quản lý được người dùng, thông tin nhà sản xuất, cập nhật giá sản phẩm, quản lý sản phẩm… Nắm bắt được tình hình trên em tiến hành thiết kế trang web mua bán hàng online để mong sao giúp cho các cửa hàng phát triển nhanh hơn, giúp cho chủ cửa hàng có thể quản lý cửa hàng của mình một cách tốt hơn

1.2 Giới thiệu các ngôn ngữ lập trình

1.2.1 Giới thiệu về MySQL

1.2.1.1 Tổng quan về MySQL

MySQL là một phần mềm quản trị cơ sở dữ liệu mã nguồn mở, miễn phí nằm trong nhóm LAMP (Linux-Apache-MySQL-PHP) MySQL rất phổ biến được các nhà phát triển ưa chuộng trong quá trình phát triển ứng dụng MySQL

là cơ sở dữ liệu cao, ổn định và dễ sử dụng, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên Internet Vì MySQL miễn phí hoàn toàn cho nên có thể tải MySQL từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: Phiên bản Win32 cho các hệ điều hành dòng Window, Linux, MacOS X, Unix, FreeBSD, NetBSD, Novell, NetWare, SGI, Irix… MySQL là một trong những ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc

Trang 14

(SQL) MySQL được sử dụng hỗ trợ cho việc bổ trợ PHP và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP

1.2.1.2 Các ưu điểm và nhược điểm của MySQL

a Các ưu điểm của MySQL

MySQL là một hệ quản trị cơ sở dữ liệu nhanh nhỏ gọn, bảo mật và dễ sử dụng, thường được sử dụng cho các ứng dụng nhỏ và trung bình Được sử dụng cho các ứng dụng client/server với máy chủ mạnh như UNIX, window NT, windows Server được biết trên máy chủ UNIX MySQL hỗ trợ các điểm vào là ANSI SQL92 và ODBC mức 0-2 MySQL hỗ trợ nhiều ngôn ngữ cho việc thông báo lỗi như Czec, Dutc, English, Estonia, French, German, Hungarian, Italian, Norwegian Nynorsk… Ngôn ngữ mặc định cho liệu là ISO-8859-1 (Latin 1) muốn thay đổi phải sửa trong mã nguồn Ngôn ngữ lập trình sử dụng viết các hàm API để thâm nhập cơ sở dữ liệu MySQL có thể là C, Perl, PHP…Các bảng (table) trong cơ sở dữ liệu MySQL có kích thước rất lớn Kích thước lớn nhất trong một bảng tối thiểu là 4Gb và còn phụ thuộc vào kích thước lớn nhất của một file do hệ điều hành quy định Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc

độ xử lý cao hơn ba bốn lần so với các hệ quản trị cơ sở dữ liệu khác MySQL là một hệ quản trị cơ sở dữ liệu mô hình quan hệ, có mã nguồn mở Cung cấp miễn phí trên các máy chủ UNIX, OS/2 và cả trên windows

b Các nhược điểm của MySQL

- Không có môi trường đồ họa

- MySQL không cho phép thục hiện các câu lệnh SQL select truy vấn con Không hỗ trợ Stored Procedures, Trigger, transactions, Foreignkeys và View như các hệ quản trị cơ sở dữ liệu khác

1.2.2 Giới thiệu về PHP

PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm

Trang 15

tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới

Lịch sử ra đời của PHP

- PHP 3.0: Là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay PHP 3.0 đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI trước hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án cửa trường đại học Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0 Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0 Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất

quán khác

- PHP 4.0: Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả Với PHP 4.0, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet

- PHP 5.0: Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho

nhóm phát triển PHP tự mãn Cộng đồng php đã nhanh chóng giúp họ nhận ra

Trang 16

những yếu kém của PHP 4 được biết với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu Những điểm này chính là mục đích để Zeev

và Andi viết Zend Engine 2.0, lõi của PHP 5.0 Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm

2002 nhưng những bài phỏng vấn Zeev liên quan đến bản này thì đã có mặt trên mảng Internet vào khoảng tháng 7 năm 2002 Ngày 29 tháng 6 năm 2003, PHP 5.0 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm Đó cũng là phiên bản đầu tiên của Zend Engine 2.0 Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi

mã nguồn Ngày 21 tháng 12 năm 2003: PHP 5.0 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới PHP 5.0 bản chính thức đã ra mặt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC1, RC2, RC3 Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể

là lỗi xác thực HTTP

- PHP 6: Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP

6 bản sử dụng thử đã có thể được tham khảo tại địa chỉ http://snaps.php.net Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những lỗi của PHP phiên bản hiện tại

ví dụ : hỗ trợ Unicode, sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL

- PHP 7: PHP7 là một phiên bản của ngôn ngữ PHP được giới thiệu vào

ngày 3 tháng 9 năm 2015, đây là phiên bản mới nhất và được trông đợi nhất bởi

có nhiều sự thay đổi về cú pháp, bổ sung các thư viện hiện đại giúp ngôn ngữ PHP trở nên đa dạng hơn

Để tránh sự nhầm lẫn giữa các version thì sau này chúng ta hay gọi PHP version 7 là PHP 7, còn các version trước đó là PHP PHP 7 ra đời với nhiều tính năng nổi bật như:

Trang 17

- Chỉ rõ kiểu dữ liệu cho biến

- Xác định kiểu trả về cho hàm

- Có nhiều toán tử mới

- Bổ sung Anonymous Class

- Xóa đi một số extension

1.2.3 Giới thiệu về Xampp

Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào Xampp là một mã nguồn mở máy chủ web đa nền được phát triển bởi Apache Friends, bao gồm chủ yếu là Apache HTTP Server, MariaDB database, và interpreters dành cho những đối tượng sử dụng ngôn ngữ PHP Xampp là viết tắt của Cross-Platform (đa nền tảng-X), Apache (A), MariaDB (M), PHP (P) và Perl (P) Xampp phân bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ra máy chủ web local để kiểm tra và triển khai trang web của mình Tất cả mọi thứ cần cho phát triển một trang web - Apache (ứng dụng máy chủ), cơ sở dữ liệu (MariaDB) và ngôn ngữ lập trình (PHP) được gói gọn trong một tệp Xampp cũng là một đa nền tảng vì có thể chạy tốt trên

cả Linux, Windows và Mac Hầu hết việc triển khai máy chủ web thực tế đều sử dụng cùng thành phần như Xampp nên rất dễ dàng để chuyển từ máy chủ local sang máy chủ online Nhìn chung Xampp được xem là một bộ công cụ hoàn chỉnh dành cho lập trình viên PHP trong việc thiết lập và phát triển các website,

nó tích hợp các thành phần quan trọng và tương thích lẫn nhau như:

+ Apache

+ PHP (tạo môi trường chạy các tập script *.php)

+ MySQL (hệ quản trị dữ liệu mysql)

1.3 Laravel framework

1.3.1 Giới thiệu về Laravel

Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhằm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo

Trang 18

kiến trúc MVC Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu,

rõ ràng, một hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng Laravel là một framework khá mới mẻ cho lập trình viên, phiên bản đầu tiên được phát hành vào tháng 6/2011

Ngay từ khi ra mắt, Laravel đã được chú ý bởi nhiều đặc điểm hay như Eloquent ORM, model and relationships, routing, caching, session, blade template

1.3.2 Các tính năng của Laravel

- Route trong Laravel thật sự khác biệt, mới và đầy mạnh mẽ Mọi url điều hướng đều có thể quản lý trong route của laravel

- Master layout được tích hợp sẵn cùng Blade template giúp code của chúng

ta trở nên gọn gàng và tiện dụng Các file layout có thể dễ dàng extends của nhau giúp code ngắn gọn và dễ dàng quản lý

- Migration quản lý database thật dễ dàng khi làm việc với đội nhóm

- Eloquent class đầy mạnh mẽ nổi bật khi xử lý cơ sở dữ liệu quan hệ 1- n

n - n, 1-1 tối ưu tất cả các câu truy vấn cơ sở dữ liệu

- Composer quản lý và tích hợp các thư viện khác thật nhanh và không lo lắng khi thư viện đó bị thay đổi, laravel có đầy đủ các thư viện cơ bản đủ để thực hiện mọi yêu cầu của chúng ta

- Document dễ đọc, dễ hiểu và có đầy đủ các ví dụ Tuy ra đời muộn hơn các framework khác nhưng laravel lại có hướng dẫn chi tiết và đầy đủ ví dụ ngay tại trang chủ, các ví vụ dễ đọc dễ hiểu, cộng đồng phát triển rộng lớn và luôn luôn được update kịp thời khi có lỗi

- Eloquent ORM: đây là một ORM tuyệt vời với khả năng migration data và làm việc tốt với MySQL, SQL Server, SQLite, các câu truy vấn database dễ hiểu, lấy dữ liệu nhanh chóng

- Package - Library phong phú, đa dạng, đáp ứng được hầu hết các nhu cầu

cơ bản của chúng ta

Trang 19

- User authentication được tích hợp sẵn, lập trình viên chỉ cần gọi class là

có thể sử dụng theo ý muốn

- Và một số tính năng khác

1.3.3 Biểu đồ các php framework sử dụng trong hai năm gần đây

Hình 1: Biểu đồ các framework sử dụng qua các năm

1.3.4 Tại sao nên chọn Laravel

- Với những ưu điểm vượt trội và thừa hưởng ưu điểm và thế mạnh từ những framework đi trước, có cộng đồng sử dụng rộng lớn, sử dụng ORM để thao tác với database dễ dàng, tích hợp composer làm công cụ quản lý code

- Có số lượng người sử dụng nhiều tại thời điểm hiện tại

- Hỗ trợ autoload theo namespace

- Document được laravel hỗ trợ khá dễ dàng tìm hiểu cho người mới bắt

đầu

- Các kênh tương tác với cơ sỡ dữ liệu ngắn gọn và thân thiện

- Quản lý layout thật sự đơn giản với Blade Template

- Dễ dàng tích hợp các thư viện khác vào dự án, và được quản lý dễ dàng

Trang 20

tại phiên bản 1.0 Laravel vẫn chưa đưa vào controllers điều này khiến nó chưa thực sự chuẩn MVC

Laravel 2.0 được phát hành vào tháng 9/2011 với việc chuẩn hóa mô hình MVC, controllers được đưa vào, hỗ trợ thiết kế IOC, và giới thiệu một tính năng mới là template engine Blade Một thiếu sót và nhược điểm của phiên bản này là loại bỏ các thư viện bên ngoài, điều này khiến Laravel 2.0 chưa thực sự hấp dẫn lắm so với CodeIginer

Laravel 3.0 được ra mắt vào tháng 2/2012 với một loạt tính năng hấp dẫn như việc thêm vào môi trường code dòng lệnh CLI với tên artisan Bổ sung tính năng kết nối với các hệ quản trị cơ sở dữ liệu khác Tạo xóa sửa tổ chức dữ liệu bằng các phiên bản trong hệ thống migrate Tại phiên bản này tính năng hấp dẫn Events (tạo sự kiện) cũng là một điểm mạnh khiến Laravel phát triển được một cộng đồng người dùng

Laravel 4.0 với tên mã lluminate được phát hành vào tháng 5/2013 đây là một cải tiến vượt bậc, loại bỏ toàn bộ những khuyết điểm của các phiên bản trước Được viết lại hoàn toàn theo chuẩn MVC chặt chẽ, Laravel 4.0 cung cấp một dàn khung cơ bản mạnh mẽ cho các ứng dụng được viết trên đó Có thể nói đây là phiên bản mới hoàn toàn, tất cả các thành phần tổ chức thư viện đều được đóng gói và hỗ trợ qua composer, chính điều này khiến cho áp dụng các thư viện bên ngoài dễ dàng hơn bao giờ khác, tách biệt rõ ràng từng phần thư viện Hỗ trợ hàng đợi, nâng cao tính năng Migrate, hỗ trợ nhiều phương thức gửi mail… Laravel 5.0 phát hành tháng 2/2015 và đã lọt vào top các framework được lựa chọn ưu tiên khi phát triển các ứng dụng doanh nghiệp bằng PHP Các tính năng mới trong bản phát hành Laravel 5.0 bao gồm hỗ trợ lập kế hoạch các tác

vụ được thực hiện định kỳ thông qua gói có tên Scheduler, một lớp trừu tượng có tên Flysystem cho phép lưu trữ từ xa theo cách tương tự như các hệ thống tệp cục

bộ, cải thiện việc xử lý assets thông qua Elixir Xác thực được xử lý bên ngoài đơn giản thông qua gói Socialite tùy chọn Laravel 5.0 cũng giới thiệu cấu trúc cây thư mục nội bộ mới cho các ứng dụng đã phát triển Vào tháng 3 năm 2015, một khảo sát SitePoint đã liệt kê Laravel là khung công tác PHP phổ biến nhất

Trang 21

Laravel 5.3, được phát hành vào ngày 23 tháng 8 năm 2016 Các tính năng mới trong 5.3 tập trung vào việc cải thiện tốc độ phát triển bằng cách bổ sung thêm các cải tiến cho các tác vụ phổ biến Phiên bản này có nhiều tính năng mới, như Laravel Dusk, Laravel Mix, Blade Components và Slots, Markdown Emails, Automatic Facades, Route Improvements, Higher Order Messaging cho Collections, và nhiều thứ khác nữa

Phiên bản mới nhất hiện nay là Laravel 5.8

1.3.6 Yêu cầu máy chủ để chạy Laravel

- Autoload theo namespace

- Hỗ trợ Template Engine nên việc thiết kế giao diện rất đơn giản

- Hỗ trợ Eloquent, Fluent Query Builder trong việc truy xuất dữ liệu từ

Database một cách dễ dàng và nhanh chóng

- Hỗ trợ Route mạnh mẽ

- Tài liệu từ trang chủ của Laravel dễ đọc và dễ hiểu

- Migration quản lý Database dễ dàng khi làm việc với nhóm

- Được đông đảo cộng đồng sử dụng và được hỗ trợ lâu dài

 Nhược điểm:

- Tài liệu tiếng việt chưa được nhiều để tìm hiểu

- Khó khăn cho người mới bắt đầu tìm hiểu nếu như chưa nắm bắt được mô

hình MVC và hướng đối tượng

1.3.8 Một số lệnh console phổ biến được cung cấp của Laravel

Laravel có chức năng tự động tạo file và sinh cấu trúc cơ bản cực kỳ hữu ích đối với lập trình viên, giúp chúng ta có thể tạo nhanh chóng cấu trúc của một

Trang 22

controller, model, middelware… Dưới đây là các lệnh phổ biến thường được sử dụng Chúng ta sử dụng lệnh bằng cách truy cập vào thư mục chứa code của ứng dụng nhấn phím shift trên bàn phím đồng thời click chuột phải ta sẽ thấy mục

“Open command window here” và chúng ta chọn nó và thực hiện một số lệnh được laravel cung cấp bên dưới

1 clear-compiled Hủy bỏ các tập tin lớp đã biên dịch

2 down Đặt ứng dụng vào chế độ bảo trì

3 Env Hiện thị chi tiết file cấu hình

4 app:name Đặt namespace cho ứng dụng

5 auth: clear-resets Xóa token khôi phục mật khẩu hết hạn

6 cache: clear Xóa toàn bộ cache ứng dụng

7 cache: table Tạo bảng cache trong cơ sở dữ liệu

8 config: cache Tạo tập tin cấu hình dạng cache

9 config: clear Xóa bỏ tập tin cấu hình

10 key: generate Tạo khóa ngẫu nhiên cho ứng dụng

11 make: auth Tạo cơ chế xác thực người dùng đăng ký, đăng

nhập

12 make: controller Tạo một lớp controller mới

13 make: event Tạo một lớp sự kiện

14 make: job Tạo một lớp công việc

15 make: listener Tạo một lớp lắng nghe

16 make: mail Tạo một lớp quản lý mail

17 make: middleware Tạo một lớp bộ lọc xác thực

18 make: migration Tạo một trình quản lý phiên bản dữ liệu database

19 make: model Tạo một lớp model

20 make: notification Tạo một lớp thông báo cho ứng dụng

21 make: policy Tạo một lớp chính sách cho ứng dụng

22 make: provider Tạo một lớp cung cấp dịch vụ

Trang 23

người dùng

24 migrate: install Cài đặt một migration

25 migrate: refresh Làm mới lại migration

26 migrate: reset Khôi phục lại migration

27 migrate: rollback Quay lại migration trước đó

28 migrate: status Xem trạng thái migration hiện tại

29 route: cache Tạo cache đường dẫn liên kết ứng dụng

30 route: clear Xóa cache đường dẫn ứng dụng

31 route: list Danh sách đường dẫn ứng dụng đã tạo

32 schedule: run Chạy một lịch trình đã lên sẵn

Bảng 1:Một số lệnh console phổ biển được cung cấp của Laravel 1.3.9 Cấu trúc thư mục của laravel

Hình 2: Cấu trúc thư mục của Laravel

 app là thư mục chứa các file cấu hình, lưu trữ, tập lệnh của laravel, trong

đó gồm có:

- Console là thư mục chứa các lệnh console cần thực thi

Trang 24

- Exceptions là thư mục chứa các ngoại lệ trong ứng dụng

- Http là thư mục chứa các điều khiển của ứng dụng bao gồm các phần

quan trọng như controllers, middleware, request

- Providers là thư mục chứa các dịch vụ cần tạo

 bootstrap là thư mục chứa các tập tin khởi động và thực thi ứng dụng

 config là thư mục chứa các file cấu hình ứng dụng: mail, app, auth,…

 database là thư mục chứa các file xây dựng và khởi tạo dữ liệu

 resource là thư mục chứa các file giao diện, ngôn ngữ cho ứng dụng

 routes là thư mục chứa các file cấu hình đường dẫn định tuyến cho ứng dụng

 storare là thư mục chứa các file logs và cache của ứng dụng

 public là thư mục chứa các file css, js, hình ảnh, file chạy ứng dụng

index.php…

 tests là thư mục chứa các trình kiểm thử tự động

 vendor là thư mục chứa bộ mã nguồn và thư viện đi kèm của laravel

 composer.json là file cấu hình việc thao tác với composer như install hay

update Laravel, thêm và xóa các thư viện hỗ trợ

 artisan là file mà laravel tạo ra để hỗ trợ chạy lệnh: php artisan

 server.php cần có để chạy lệnh: php artisan serve

 env là file cấu hình ứng dụng

 Và một số file khác như: gitattributes, gitignore, composer.lock,

gulpfile.js, phpunit.xml, readme.md

Trang 25

CHƯƠNG 2 : MÔ TẢ HỆ THỐNG

2.1 Khảo sát hiện trạng

Hiện nay trào lưu kinh doanh qua mạng ngày càng trở nên phổ biến Internet phát triển kéo theo nhiều dịch vụ phát triển theo Internet hiện nay không còn mấy xa lạ với con người được trở thành phương tiện truyền thông được nhiều người sử dụng nhất trên thế giới

Không chỉ dùng internet làm phương tiện truyền thông tin trao đổi, giải trí, xem tin tức, tìm kiếm thông tin mọi người còn dùng internet để kinh doanh các mặt hàng bình thường đến đặc biệt của mình

Ở Việt Nam cũng có một số trang web kinh doanh bán hàng qua mạng như

là www.123mua.com, www.thegioididong.com.vn Và nhiều trang web nổi tiếng khác Các mặt hàng thời trang cũng được bán khá nhiều trên nhiều website Tuy nhiên không phải việc kinh doanh qua mạng trở thành một trào lưu phát triển mạnh mẽ và thu hút các nhà kinh doanh, mọi lứa tuổi mà vì một số lý do như không mất chi phí thuê mặt bằng kinh doanh, phí nhân công bán hàng Kinh doanh trực tuyến không phải có một nguồn vốn lớn mới có thể kinh doanh mà chỉ cần nguồn vốn đủ để tích luỹ hàng hay một số dịch vụ khác là có thể bắt tay vào việc kinh doanh của mình, bên cạnh đó nhiều người có thể sử dụng blog cá nhân của mình để tiến hành kinh doanh các mặt hàng thời trang của mình

Mặt hàng kinh doanh qua mạng hiện nay thì thời trang được coi là đang phổ biến, với các shop online như thế này các chủ cửa hàng chỉ cần thường xuyên lên mạng quảng cáo các mặt hàng của mình với mục đích tìm kiếm và thu hút khách hàng Khách hàng chỉ cần mấy thao tác “click chuột vào sản phẩm mà mình yêu thích và liên hệ với chủ cửa hàng là có thể chờ đơn hàng chuyển tới nhà của mình

Việc kinh doanh qua mạng giúp nhiều công ty có nhiều cơ hội và thách thức hơn trong việc mở rộng thị trường không chỉ thời gian mà cả không gian, trong nước cũng như ngoài nước Ví dụ như một người nước ngoài muốn mua một bộ áo dài của Việt Nam hay bất cứ một cái gì đó… Bên những thuận lợi thì việc kinh doanh qua mạng vẫn có những vấn đề nảy sinh Đòi hỏi phải có hiểu biết về công nghệ thông tin để thiết kế và tạo một trang web để thực hiện hoạt

Trang 26

động bán hàng và quảng bá sản phẩm của mình Một thực tế cho thấy Việt Nam cho dù Internet và việc mua bán hàng trực tuyến phát triển khá nhanh chóng nhưng rất nhiều người dùng vẫn đang lo sợ với phương thức kinh doanh khá mới

mẽ này

Khách hàng có tâm lí lo ngại khi mua các mặt hàng nói chung và các mẫu thời trang nói riêng vì họ không chắc chắn rằng các mẫu sản phẩm có tốt như quảng cáo của các nhà kinh doanh vì họ không tiếp xúc các hàng trực tiếp được tiền chuyển đi hàng hoá sẽ đến chậm hoặc không chuyển đến Còn phía bên bán hàng cũng phải tốn một chi phí không như trong việc mua hàng hay sản xuất ra một sản phẩm nào đó mà không thể biết được phản ứng của khách hàng, hay giao hàng mà không có người nhận, hay địa chỉ không chính xác…

Hình thức kinh doanh nào cũng có những ưu điểm và nhược điểm của nó tuy nhiên sự thành công của một hình thức kinh doanh nó còn phụ thuộc vào ý tưởng và cách kinh doanh của người quản lí

Đối với ngành kinh doanh thời trang qua mạng giúp cho ngành thời trang nói chung và quần áo nói riêng ngày càng đa dạng hơn và phù hợp với xu hướng tất yếu của thời đại hiện nay, thời đại công nghệ thông tin

2.2 Môi trường hệ thống

Hình 3: Sơ đồ hệ thống

2.3 Mô tả hệ thống bán quần áo

Trang 27

Khi khách đã quyết định tham gia vào hoạt động mua hàng của cửa hàng thì mọi khách hàng được cung cấp một giỏ hàng tương ứng Khách hàng tự do lựa chọn loại hàng hóa nào mà mình thích vào giỏ hàng của mình

Thông qua chức năng tìm kiếm của website giúp khách hàng có thể nhanh chóng tìm được loại hàng mà mình muốn mua một cách nhanh nhất

Khách hàng có thể cập nhật các mặt hàng hay thêm mặt hàng vào giỏ hàng của mình nếu muốn mua, có thể xóa mặt hàng trong giỏ hàng mà mình không muốn mua nữa

Nếu khách hàng chấp nhận thanh toán thì hệ thống yêu cầu nhập thông tin chi tiết của khách hàng như họ tên, địa chỉ, email, username, pasword… nếu khách hàng chưa đăng ký đăng nhập, ngược lại nếu khách hàng nào đã đăng ký rồi thì họ chỉ cần đăng nhập bảng username và password của mình

Khi khách hàng đã hoàn thành quá trình đặt hàng với hệ thống thì khách hàng tiến hành thanh toán, khách hàng có thể lựa chọn các hình thức thanh toán trên website Sau khi hoàn thành quá trình thanh toán khách hàng có thể thực hiện lại quá trình mua hàng của mình nếu khách hàng muốn mua thêm hàng hóa Khi đã đặt hàng rồi, khách hàng có thể theo dõi trực tiếp tình trạng đơn đặt hàng của mình qua website nếu họ có băn khoăn, nếu họ có những gì không đồng ý thì

có thể gửi đơn khiếu nại và thông tin phản hồi hệ thống qua chức năng liên hệ khác hàng

• Hoạt động của nhà quản trị

Cung cấp các giỏ hàng cho khách hàng giúp khách hàng cảm thấy an tâm khi mua hàng mà không bị một số lỗi làm gián đoạn quá trình mua hàng của khách hàng, giúp hiệu quả mua hàng của họ nhiều hơn cho đến khi kết thúc việc mua hàng cũng như ấn định số lượng hàng mua

Theo dõi khách hàng: cần phải biết khách hàng tham gia mua là ai và họ cần mua mặt hàng gì trong số khách hàng tham gia vào việc mua hàng Thống

kê đơn hàng mua của họ, doanh thu với từng mặt hàng của đơn hàng và mặt hàng bán nhiều nhất hiện tại

Trang 28

Sau khi kết thúc phiên giao dịch của khách hàng, các đơn hàng khách hàng mua sẽ được tổng kết lại và chuyển sang các bộ phận khác để xử lý như các bộ phận kế toán, kinh doanh, và bộ phận chuyển giao hàng cho khách

Để thu hút khách hàng thường xuyên tham gia vào trang web, nhà quản trị cần phải có các biện pháp để xúc tiến đăng tải các chương trình khuyến mãi, giảm giá trong những dịp cần thiết để lôi kéo khách hàng về phía mình, và có các

ưu đãi với các khách hàng thường xuyên và mua hàng với số lượng lớn Có các hoạt động quản lý và xử lý đơn hàng như: thông tin, hiển thị các mặt hàng đã giao hay chưa giao

Kiểm tra tình trạng đơn hàng và đánh dấu tương ứng với mặt hàng đã giao hay chưa giao Lập các hóa đơn giao cho khách hàng

2.4 Đặc tính người dùng

- Người dùng phải đăng ký tài khoản thành viên để có tài khoản truy cập vào hệ thống để có thể tiến hành thanh toán sản phẩm trong giỏ hàng và quản lý giỏ hàng của mình

- Quản lý hệ thống hay nhân viên của cửa hàng đều cũng cần có tài khoản riêng để có thể quản lý hệ thống cũng như muốn thực hiện các thao tác mua bán với khách hàng và sử dụng các chức năng của hệ thống để làm việc

- Cửa hàng đó cũng phải có đủ điều kiện để sử dụng được trang web đó

2.5 Yêu cầu về chức năng

- Đối với người quản trị

+ Để đảm bảo an toàn cho hệ thống, hệ thống còn cung cấp password để người quản trị có thể truy cập vào hệ thống thao tác với cơ sở dữ liệu của website

+ Giúp người quản trị có thể xem, theo dõi quản lý các đơn đặt hàng mua sản phẩm áo quần của khách hàng và quản lý khách hàng Thuận lợi trong việc thêm, sửa hàng hóa và kiểm tra dữ liệu nhập vào để đáp ứng kịp thời các nhu cầu của khách hàng các yêu cầu của khách hàng

+ Thống kê tình hình các đơn đặt mua áo quần và xem danh sách khách hàng tham gia vào việc đặt mua các sản phẩm và thông tin hàng bán nhiều nhất

Trang 29

+ Có thể xem thông tin các mẫu thời trang áo quần mới, tìm kiếm sản phẩm một cách nhanh chóng và chính xác, có thể đóng góp ý kiến, các thắc mắc của mình

+ Khách hàng có thể đặt mua sản phẩm và thanh toán đơn hàng của mình

2.6 Yêu cầu phi chức năng

- Hỗ trợ khách hàng an toàn khi mua sản phẩm như các thông tin cá nhân liên quan đến khách hàng được đảm bảo an toàn Giao diện thân thiện dễ dùng, hấp dẫn, dễ tìm kiếm thông tin các sẩn phẩm

- Website có dung lượng không quá lớn, tốc độ xử lý nhanh

- Việc tính toán đảm bảo chính xác và không chấp nhận sai sót

- Đảm bảo an toàn dữ liệu khi chạy

- Có khả năng lưu trữ nhiều dữ liệu

20/2/2019

Thu thập thông tin từ một số cá nhân (gọi là một mẫu) để tìm hiểu về sự phổ biến lớn hơn mà mẫu đó đưa ra

2 Giai đoạn

phân tích

21/2/2019 đến

30/2/1019

Phân tích các luồng thông tin, các mối quan hệ, xác định các biểu mẫu, phần tử trong hệ thống, phát họa quy trình

xử lý thông tin cần có đối với hệ thống mới

3 Giai đoạn

thiết kế

1/3/2019 đến 20/3/1019

Xác định các đối tượng và cấu trúc dữ liệu được sử dụng trong hệ thống, định

ra các modun xử lý,thiết kế giao diện, thiết kế an toàn hệ thống, tính toán các yêu cầu kỹ thuật cho hệ thống

4 Giai đoạn

triển khai

21/3/2019 đến

31/3/2019

Kiểm tra thử nghiệm hệ thống, xác định đúng đắn các chức năng của hệ thống, các hệ thống con và sự hoạt động của

Trang 30

hệ thống

5 Vận hành,

bảo trì

1/4/2019 đến 10/42019

Đánh giá xem hệ thống đáp ứng đƣợc các mục tiêu đã đặt ra ban đầu nhƣ thế nào, đề xuất những sửa đổi, cải tiến, bổ sung nhằm khắc phục những thiếu sót, làm cho hệ thống thích nghi hơn

Trang 31

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1 Xác định Actor và vai trò của Actor

Khách hàng: Tìm kiếm sản phẩm, xem thông tin sản phẩm, đặt hàng, thanh toán

- Khách hàng vào xem thông tin, tìm kiếm sản phẩm và đặt hàng thì không cần tài khoản

- Khách hàng cần phải đăng nhập trước khi tiến hành thanh toán

- Nếu khách hàng chưa có tài khoản thì phải đăng ký để tiến hành đăng nhập và thực hiện thanh toán trong giỏ hàng của mình

Nhà quản lý: Quản lý tất cả các thông tin sản phẩm, thông tin đơn hàng, thông tin khách hàng, thống kê các đơn hàng và xuất hóa đơn

- Nhà quản lý phải đăng nhập trước khi thực hiện quản lý các thông tin trên

3.2 Sơ đồ Use Case

3.2.1 Use Case

1 UC_Đăng nhập Cho phép người dùng đăng nhập vào để truy

cập hệ thống

2 UC_dangky Khách hàng đăng ký tài khoản để tiến hành

thanh toán sản phẩm trong giỏ hàng của mình

3 UC_timkiemsanpham Cho phép khách hàng tìm kiếm sản phẩm

4 UC_xemTTsanpham Cho phép khách hàng xem thông tin sản phẩm

5 UC_dathang Người quản lý có thể quản lý tất cả thông tin

hàng hóa: thêm, sửa, xóa

6 UC_thanhtoan Khách hàng thanh toán tiền khi đã đặt mua sản

phẩm

7 UC_Qlsanpham Quản lý tất cả thông tin về sản phẩm

8 UC_Qlkhachhang Quản lý tất cả thông tin về khách hàng

9 UC_Qldonhang Quản lý thông tin về đơn hàng mà khách hàng

đã đặt

10 UC_Qlnhanvien Quản lý thông tin của nhân viên

Trang 32

11 UC_thongke Người dùng thống kê lại tất cả đơn hàng đã

thanh toán hoặc còn chưa thanh toán

12 UC_hoadon Xuất hóa đơn của khách hàng

3.2.2 Đặc tả Use Case

Use Case đăng nhập

Tác nhân: Nhà quản lý, khách hàng

Mô tả: UC cho phép thành viên đăng nhập vào hệ thống

- B1: Thành viên chọn chức năng đăng nhập

- B2: Form đăng nhập hiển thị

- B3: Nhập username và passs vào form đăng nhập

- B4: Hệ thống sẽ kiểm tra thông tin mà thành viên đã nhập

+ Nếu thông tin nhập chính xác thì thực hiện B5

+Nếu thông tin nhập không chính xác thì trở về B3

B5: Hiển thị thông báo đăng nhập thành công

Ri:

- R1.1: Khởi động hệ thống

- R1.2: Chọn chức năng đăng nhập trong hệ thống

- R1.3: Nhập username và password vào các khung đăng nhập

- R1.4: Hệ thống sẽ kiểm tra cơ sở dữ liệu thông tin đăng nhập có của người dùng có đúng hay không

R1.4.1: Nếu thông tin đăng nhập sai thì hệ thống sẽ báo lỗi và yêu cầu người đăng nhập sẽ nhập lại

- R1.4.2: Nếu thông tin đăng nhập đúng thì thông báo đăng nhập thành công

- R1.5: Thực hiện làm việc với hệ thống

Use Case đăng ký tài khoản thành viên

Tác nhân: khách hàng

Mô tả: UC cho phép đăng ký để trở thành viên của cửa hàng website quần

áo

- B1: Khách xem chọn mục đăng ký thành viên

- B2: Form đăng ký hiển thị

Trang 33

- B4: Hệ thống sẽ kiểm tra thông tin mà khách xem đã nhập

+ Nếu thông tin nhập chính xác thì thực hiện B5

+Nếu thông tin nhập không chính xác thì trở về B3

- B5: Hiển thị thông báo đăng ký thành công

Ri:

- R2.1: Khởi động hệ thống

- R2.2: Khách hàng chọn đăng kí ở trên trang web

- R2.3: Nhập thông tin cá nhân cần thiết vào form đăng ký

- R2.4: Hệ thống sẽ kiểm tra cơ sở dữ liệu thông tin đăng ký của người dùng có đúng hay không

R2.4.1: Nếu thông tin đăng ký sai thì hệ thống sẽ báo lỗi và yêu cầu người dùng đăng ký sẽ nhập lại

- R2.4.2: Nếu thông tin đăng ký đúng thì thông báo đăng ký thành công

- R2.5: Người dùng làm việc với hệ thống

Use Case Tìm kiếm sản phẩm

Tác nhân: khách hàng, quản lý

Mô tả:

- B1: Khi khách hàng hay nhân viên hoặc quản lý truy cập vào hệ thống

- B2: Nhấp vào form tìm kiếm trên trang web hay hệ thống quản lý

- B3: Tiếp theo sẽ nhập thông tin có liên quan đến thông tin hoặc sản phẩm cần tìm

- B4: Sau đó thì nhấn nút tìm kiếm của chức năng tìm kiếm

-B5: Sản phẩm cần tìm hiển thị

Ri:

- R3.1: Khởi động hệ thống

- R3.2: Nhấp vào form tìm kiếm

- R3.3: Chọn thông tin hay sản phẩm cần tìm

- R3.4: Nhấn nút tìm kiếm

- R3.5: Sản phẩm cần tìm được hiển thị

Use Case xem thông tin sản phẩm

Tác nhân: khách hàng

Trang 34

Mô tả:

- B1: Khách hàng truy cập vào hệ thống

- B2: Khách hàng chọn vào sản phẩm cần xem

- B3: Khách hàng click vào thông tin của sản phẩm đó

- B4: Thông tin sản phẩm hiển thị

Ri

- R4.1: Làm việc với hệ thống

- R4.2: Chọn sản phẩm cần xem

- R4.3: Chọn thông tin của sản phẩm vừa chọn

- R4.4: Thông tin của sản phẩm đƣợc hiển thị

- R5.4: Sản phẩm đƣợc cập nhật trong giỏ hàng của bạn

Use case thanh toán

Tác nhân: khách hàng, quản lý

Mô tả:

- B1: Khi khách hàng đã chọn xong sản phẩm để mua vào giỏ hàng của họ

- B2: Khi họ muốn yêu cầu thanh toán giỏ hàng của họ thì họ sẽ ấn vào nút thanh toán bên cạnh giỏ hàng

- B3: Sau khi nhận đƣợc yêu cầu thanh toán của khách hàng thì nhân viên

sẽ thực hiện việc thanh toán cho khách

Ri:

Ngày đăng: 10/03/2024, 17:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w