1. Trang chủ
  2. » Giáo Dục - Đào Tạo

xây dựng website bán phụ kiện trang sức trên nền tảng laravel framework

68 885 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

Định dạng
Số trang 68
Dung lượng 3,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sản phẩm mua bán thôngthường là các sản phẩm điện tử dân dụng hoặc các thiết bị tin họcnhư điện thoại, máy vi tính, các phụ kiện, trang sức,… Do phải sửdụng mạng để đăng kí mua và bán nê

Trang 1

DANH MỤC HÌNH III DANH MỤC BẢNG V DANH MỤC KÝ HIỆU VÀ VIẾT TẮT VI TÓM TẮT VII ABSTRACT VIII

CHƯƠNG 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1

1.3 PHẠM VI ĐỀ TÀI 2

1.4 MỤC ĐÍCH ĐỀ TÀI 2

1.5 PHƯƠNG PHÁP NGHIÊN CỨU 2

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

2.1 PHP 3

2.2 MYSQL 4

2.3 MÔ HÌNH MVC 5

2.4 FRAMEWORK LARAVEL 8

CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 13

3.1 PHÂN TÍCH HỆ THỐNG 13

3.2 GIẢI PHÁP PHÂN TÍCH, THIẾT KẾ CÁC MÔ HÌNH 14

3.2.1 Sơ đồ Use case 14

3.3 THIẾT KẾ CƠ SỞ DỮ LIỆU 22

3.3.1 Mô hình dữ liệu mức quan niệm ER 22

3.3.2 Mô hình vật lý 23

3.3.3 Mô hình cơ sở dữ liệu quan hệ 24

3.3.4 Mô tả dữ liệu 25

3.3.5 Ràng buộc toàn vẹn 31

Trang 2

3.3.8 Mô hình tuần tự 36

3.4 KẾT QUẢ XÂY DỰNG HỆ THỐNG 40

3.4.1 Giao diện khách hàng 40

3.4.2 Trang quản lý admin 44

3.5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN……… 46

PHỤ LỤC 48

TÀI LIỆU THAM KHẢO 51

Trang 3

Hình 2.1 Mô hình MVC 6

Hình 2.2 Quy trình hoạt động mô hình MVC 7

Hình 2.3 So sánh Laravel và các framework khác 8

Hình 2.4 Thư mục tổng quan của laravel 11

Hình 3.1 Use case chức năng hệ thống 15

Hình 3.2 Use case chức năng quản lý phiếu nhập 16

Hình 3.3 Use case chức năng báo cáo thống kê 16

Hình 3.4 Use case chức năng quản lý nhân viên 17

Hình 3.5 Use case chức năng quản lý khách hàng 18

Hình 3.6 Use case chức năng quản lý hóa đơn 19

Hình 3.7 Use case chức năng quản lý sản phẩm 20

Hình 3.8 Use case chức năng quản lý nhà cung cấp 21

Hình 3.9 Use case phân rã chức năng quản lý khuyến mãi 21

Hình 3.11 Mô hình dữ liệu mức quan niệm ER 22

Hình 3.12 Mô hình vật lý 23

Hình 3.13 Mô hình cơ sở dữ liệu quan hệ 24

Hình 3.14 Sơ đồ phân rã chức năng BFD mức độ người thiết kế 35

Hình 3.15 Sơ đồ tuần tự đăng nhập khách hàng 36

Hình 3.16 Sơ đồ tuần tự mua hàng 37

Hình 3.17 Sơ đồ tuần tự phiếu nhập 38

Hình 3.18 Sơ đồ tuần tự chức năng tìm kiếm 39

Hình 3.19 Trang chủ 41

Hình 3.20 Trang giỏ hàng 42

Hình 3.21 Trang chi tiết sản phẩm 42

Hình 3.22 Trang thông tin khách hàng 43

Hình 3.23 Trang tìm kiếm 43

Hình 3.24 Trang tin tức 44

Trang 4

Hình 3.26 Trang sản phẩm 45 Hình 3.27 Trang quản lý đơn hàng 45 Hình 3.28 Trang thống kê 46

Trang 5

Bảng 3.1 Bảng nhacungcap 25

Bảng 3.2 Bảng phieunhap 25

Bảng 3.3 Bảng loaisanpham 25

Bảng 3.4 Bảng sanpham 26

Bảng 3.5 Bảng khuyenmai 26

Bảng 3.6 Bảng hinhanh 27

Bảng 3.7 Bảng nhanvien 27

Bảng 3.8 Bảng phieunhapchitiet 27

Bảng 3.9 Bảng hoadon 28

Bảng 3.10 Bảng hoadonchitiet 28

Bảng 3.11 Bảng tintuc 29

Bảng 3.12 Bảng shop 29

Bảng 3.13 Bảng luong 29

Bảng 3.14 Bảng chucvu 30

Bảng 3.15 slider 30

Bảng 3.16 Bảng nhasanxuat 30

Bảng 3.17 Bảng khachhang 31

Bảng 3.18 Bảng tầm ảnh hưởng của thuộc tính ngaydh và ngaygh trên hoadon 31

Bảng 3.19 Bảng tầm ảnh hưởng của thuộc tính ngaybd và ngaykt trên khuyenmai 32

Bảng 3.20 Bảng tầm ảnh hưởng của thuộc tính mahoadon trên hoadon 32

Bảng 3.21 Bảng tầm ảnh hưởng của thuộc tính mapn trên phieunhap 32

Bảng 3.22 Bảng tầm ảnh hưởng của thuộc tính soluong trên hoadonchitiet và sanpham 33

Trang 6

Bảng 3.24 Bảng tầm ảnh hưởng của thuộc tính masp trên

hoadonchitiet và sanpham 33

DANH MỤC KÝ HIỆU VÀ VIẾT TẮT

Ký hiệu, chữ

API Viết tắt của Application Programming

InterfaceCSDL Viết tắt của Cơ Sở Dữ Liệu

HTML

Viết tắt của HyperText Markup Language Là ngôn ngữ được sử dụng rộng rãi nhất để viết các trang Web

MVC

Viết tắt của Model – View – Controler Là mộtkiến trúc phần mềm hay mô hình thiết kế được sử dụngtrong kỹ thuật phần mềm

ORM Viết tắt của Oject Relation Mapping

PHP Viết tắt của HyperText Preprocessor

SQL Viết tắt của Structured Query Language

Trang 7

Ngày nay, công nghệ thông tin phát triển mạnh mẽ, ứng dụngtrong rất nhiều lĩnh vực và đời sống xã hội Đặc biệt trong lĩnh vựcquản lý nói chung và quản lý bán hàng nói riêng.

Hoạt động mua bán trực tuyến rất phổ biến với mọi người đượccác công ty và các cửa hàng lớn trong và ngoài nước sử dụng nhằmđem lại hiệu quả trong việc mua bán Sản phẩm mua bán thôngthường là các sản phẩm điện tử dân dụng hoặc các thiết bị tin họcnhư điện thoại, máy vi tính, các phụ kiện, trang sức,… Do phải sửdụng mạng để đăng kí mua và bán nên cần phải có một hệ thốngwebsite dùng để quản cáo và bán hàng

Chính vì vậy việc tạo lập một website bán phụ kiện trang sức vớinhững mặt hàng và những thông tin liên quan đến mặt hàng đầy đủ

là việc cần thiết đối với các cửa hàng, nhằm đáp ứng được yêu cầu

mua sắm của khách hàng Vì vậy tôi chọn đề tài “Xây dựng

website quản lý bán phụ kiện trang sức dựa trên nền tảng Laravel Framework” để làm đề tài luận văn này.

 Mục tiêu của đề tài nhằm đáp ứng các yêu cầu:

- Khách hàng mua hàng trực tuyến

- Quản lý thông tin sản phẩm

- Quản lý thông tin phiếu nhập, phiếu xuất, nhà cung cấp,khách hàng

 Nội dung gồm 3 chương:

Chương 1: Tổng quan giới thiệu đề tài và mục tiêu, lý do

chọn đề tài

Chương 2: Cơ sở lý thuyết giới thiệu mô hình MVC, PHP và

Laravel framework

Chương 3: Nội dung và kết quả nghiên cứu thu thập thông

tin, xây dựng các sơ đồ Use case, mô hình tuần tự, cơ sở dữ liệuquan hệ,…

Website được xây dựng trên nền tảng Laravel framework vớicông nghệ Weblg và các công nghệ khác PHP, HTML5, Javascript, ngoài ra còn sử dụng cơ sở dữ liệu MySQL và máy chủ Apache

Trang 8

thời có thể phát triển trên nền di động để tương tác với người dùng

dể dàng hơn với điện thoại thông minh

TỪ KHÓA: Quản lý bán hàng, Laravel framwork, web quản lý, phụ

kiện trang sức

ABSTRACT

Today, information technology flourished, applications in manyfields and social life Especially in the field of general managementand sales management in particular

Online trading activities are very popular with people are thecompanies and the big stores at home and abroad to use in order tobring efficiency in the sale Products typically purchase products orother consumer electronics information technology equipment such

as telephones, computers, accessories, jewelry… Due to networkusers to register to buy and sell should have a system used tomanage websites and advertising sales

Therefore creating a website selling jewelry accessories forthose items and the information related to the complete item isnecessary for the store, in order to meet the procurement

requirements of our customers So I chose the topic "Building

management website selling jewelry accessories based technology Laravel Framework" to this thesis.

 The objective of the topic in order to meet the requirements:

- Customers shopping online

- Product Information Management

- Information Management import bill, bills, suppliers,customers

 The content includes 3 chapters:

Chapter 1: Overview introduces themes and goals, why they

chose the topic

Chapter 2: Theoretical Foundations introduces MVC, PHP and

Laravel framework

Trang 9

Website built on Laravel framework with platform technologyand other technologies Weblg PHP, HTML5, Javascript… in addition tousing the database server MySQL and Apache

With the subject can scale up larger databases to meet the fullrange of business functions in the business At the same time candevelop a mobile platform to interact with users easier with smartphones

management, jewelery accessories

Trang 10

CHƯƠNG 1 TỔNG QUAN

1.1 ĐẶT VẤN ĐỀ

Ngày nay ngành Công nghệ Thông tin đã có những bước pháttriển vượt bậc trên thế giới, được ứng dụng rộng rãi trong tất cả cáclĩnh vực của cuộc sống Trong khi đó, công nghệ thông tin nước tađược xác định là một ngành mũi nhọn, với tốc độ phát triển nhanh vàmạnh, chiếm một vị trí quan trọng Đặc biệt trong lĩnh vực kinhdoanh, thương mại điện tử, nó góp phần đáng kể cho sự phát triểnkinh tế của nước ta trong quá trình hội nhập

Việc ứng dụng công nghệ thông tin đã mang lại bước đột phámới cho công tác quản lý bán hàng, giúp doanh nghiệp nắm bắtthông tin về hàng hóa, vật tư, thiết bị, thông tin khách hàng, trạngthái đơn đặt hàng… một cách chính xác và kịp thời Từ đó ngườiquản lý có thể đưa ra các kế hoạch và quyết định đúng đắn, giảm chiphí và tăng khả năng cạnh tranh, nâng cao hoạt động sản xuất kinhdoanh

Nhu cầu sử dụng của con người trong xã hội ngày càng cao, việcthiếu thông tin sẽ gây khó khăn trong việc đưa sản phẩm đến vớingười tiêu dùng Vì vậy, để hạn chế việc đến tận cửa hàng để xemsản phẩm, tiết kiệm được thời gian tìm kiếm sản phẩm Sự ra đời củaphần mềm trực tuyến trên web sẽ giúp cho việc quản lý bán hàng trởnên dễ dàng và tiện lợi hơn Bán hàng qua mạng là một giải pháp tối

ưu để tiếp cận đến người tiêu dùng

Do đó, “Xây dựng website quản lý bán phụ kiện trang sức

dựa trên nền tảng Laravel Framework” là một vấn đề thực tế,

ứng dụng được và có tìm năng để phát triển

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Trong thực tế việc quản lý mua bán phụ kiện trang sức bằngphương pháp thủ công như ghi chép thông tin bằng giấy, sổ, thôngqua excel, world… gặp nhiều khó khăn, bất tiện trong việc tính toán,thống kê và lưu trữ thông tin khách hàng

Vì vậy, việc xây dựng một website để quản lý việc bán hàng làrất cần thiết nhằm giúp cho người quản lý dễ dàng quản lý sản phẩm

ít tốn thời gian và công sức, đem lại hiệu quả cao trong việc kinh

Trang 11

doanh Giải quyết được các vấn đề mà quản lý theo cách truyềnthống mắc phải.

Một số website về đề tài bán phụ kiện trang sức, nhìn chungcũng giải quyết được vấn đề công tác quản lý, thanh toán, …Đề tài

“Xây dựng website quản lý bán phụ kiện trang sức dựa trên nền tảng Laravel Framework” sẽ mở rộng thêm các chức năng

cần thiết khác, báo cáo, thống kê và hoàn chỉnh những phần mà các

đề tài đã có chưa hoàn thiện

1.3 PHẠM VI ĐỀ TÀI

- Đề tài thực hiện để giải quyết việc bán hàng phụ kiện trang sứctrực tuyến, quản lý khách hàng, nhân viên trên một cửa hàngphụ kiện trang sức nhỏ

- Ứng dụng của đề tài được thực hiện nhằm phục vụ trong lĩnhvực kinh doanh, nhằm tạo điều kiện cho người quản lý dễ dàngquản lý việc nhập, xuất hàng, thống kê và tìm kiếm thông tinkhách hàng một cách nhanh chóng và hiệu quả Có thể ứngdụng và mở rộng ra các của hàng vừa và lớn

1.4 MỤC ĐÍCH ĐỀ TÀI

- Đây là website nhằm bán và giới thiệu rộng rãi các mặt hàngđến người tiêu dùng với các chi tiết mặt hàng và giá cả mộtcách nhanh chóng và chính xác nhất

- Giúp cho khách hàng: tìm kiếm và lựa chọn từ xa sản phẩmmình cần, đặt mua hàng, theo dõi đơn hàng của mình, gửi đónggóp ý kiến

- Giúp nhà quản lý: quản lý các sản phẩm một cách dễ dàng,kiểm tra và xử lý đơn đặt hàng, thống kê và báo cáo doanh thu

1.5 PHƯƠNG PHÁP NGHIÊN CỨU

- Nắm vững kỹ thuật thiết kế hệ thống thông tin

- Nắm vững kỹ thuật lập trình theo mô hình MVC

Trang 12

- Nắm vững các phương pháp tổ chức, phân tích và thiết kế cơ sở

dữ liệu

- Tham khảo một số website bán linh kiện máy tính để hiểu rõviệc mua bán

- Dùng Power Designer để thiết kế các mô hình ứng dụng

- Sử dụng ngôn ngữ PHP, framework Laravel để lập trình và càiđặt chương trình ứng dụng

- Dùng hệ quản trị cơ sở dữ liệu MySQL để tạo và quản lý cơ sở

dữ liệu

- Dùng Sublime Text để hổ trợ lập trình, kiểm tra lỗi

- Phần mềm hổ trợ XAMPP

Trang 13

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 PHP

PHP (viết tắt "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áttriể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 Thích hợp với web và có thể dễ dàng nhúng vào trangHTML 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ảnphẩm 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ấtthế giới

PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nó đượcphát triển từ một sản phẩm có tên là PHP/FI PHP/FI do RasmusLerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơngiản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản

sơ yếu lý lịch của ông trên mạng Ông đã đặt tên cho bộ mã kịch bảnnày là "Personal Home Page Tools" Khi cần đến các chức năng rộnghơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truyvấn tới Database và giúp cho người sử dụng phát triển các ứng dụngweb đơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FIcho mọi người xem, sử dụng cũng như sửa các lỗi, đồng thời cải tiến

mã nguồn

 PHP là ngôn ngữ lập trình kịch bản viết cho máy chủ mà đượcnhúng trong HTML, được sử dụng để quản lý nội dụng động,Database, Session tracking, …

 Được tích hợp với một số Database thông dụng như MySQL,PostgreSQL, Oracle, Sybase, Informix, và Microsoft SQL Server

 PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như làmột Apache Module trên Unix side MySQL Server, khi đượckhởi động, thực thi các truy vấn phức tạp với các tập hợp kếtquả khổng lồ trong thời gian Record-setting

 PHP hỗ trợ một số lượng rộng rãi các giao thức lớn như POP3,IMAP, và LDAP PHP4 bổ sung sự hỗ trợ cho Java và các cấutrúc đối tượng phân phối (COM và CORBA)

Trang 14

 Có thể thêm, sửa, xóa các phần tử bên trong database thôngqua PHP.

 Có thể mật mã hóa dữ liệu

Lịch sử phát triển của PHP:

PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997,sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta.Không lâu sau đã được thay thế bởi các bản alpha đầu tiên của PHP3.0

PHP 3.0 là phiên bản đầu tiên cho thấy một hình ảnh gần gũivới các phiên bản PHP mà chúng ta được biết ngày nay Nó đãđược Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lạihoàn toàn bộ mã nguồn trước đó Lý do tạo ra phiên bản này là donhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứngdụng thương mại điện tử Trong một nỗ lực hợp tác và bắt đầu xâydự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ínhnăng mở rộng mạnh mẽ của nó Ngoài khả năng cung cấp cho ngườidù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

Phiên bản PHP 4.0 được công bố tháng 5 năm 2000, tốc độ xử

lý được cải thiện, hỗ trợ nhiều máy chủ web hơn, tạo bộ đệm thôngtin đầu ra, xử lý thông tin người dùng nhập vào bảo mật hơn và cungcấp cấu trúc ngôn ngữ mới

PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 saumộ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.0vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP

PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồimới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một

hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiệncác câu truy vấn

Trang 15

PHP 7 Hiện nay phiên bản tiếp theo của PHP đang được pháttriển

2.2 MYSQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhấtthế giới và được các nhà phát triển rất ưa chuộng trong quá trìnhphát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và

dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hànhcung 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ậpCSDL trên internet MySQL hoàn toàn miễn phí và có nhiều phiên bảncho các hệ điều hành khác nhau: phiên bản Win32 cho Windows,Linux, Mac OS X, Unix, NetBSD …

MySQL đang được sử dụng cho nhiều công việc kinh doanh từ lớn tớinhỏ, trở nên khá phổ biến vì:

 MySQL làm việc nhanh ngay cả với các tập dữ liệu lớn

 MySQL rất thân thiện với PHP, một ngôn ngữ rất đáng giá đểtìm hiểu để phát triển Web

 MySQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặcnhiều hơn nữa trong một bảng Kích cỡ file mặc định được giớihạn cho một bảng là 4 GB, nhưng bạn có thể tăng kích cỡ đểđạt tới giới hạn lý thuyết là 8 TB

2.3 MÔ HÌNH MVC

2.3.1 Giới thiệu

MVC là viết tắt của Model – View – Controller Là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Là một chuẩn mô hình và đóng vai trò quan trọng trong quá trình xây dựng – phát triển – vận hành và bảo trì một hệ thống hay

Trang 16

một ứng dụng – phần mềm Nó tạo ra một mô hình 3 lớp Model – View – Controller tách biệt và tương tác nhau, giúp các chuyên gia cóthể dễ dàng dựa vào mô hình để trao đổi và xử lý những nghiệp vụ một cách nhanh chóng Đây là một mô hình đã xuất hiện từ những năm 70 của thế kỷ 20 tại phòng thí nghiệm Xerox PARC ở Palo Alto,

nó không phụ thuộc vào môi trường, nền tảng xây dựng hay ngôn ngữ phát triển Chúng ta có thể áp dụng mô hình MVC vào các dự án trong môi trường Windows, Linux… và sử dụng bất kỳ ngôn ngữ nào như PHP, ASP, JSP…

Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View –Controller:

- Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người

dùng và gọi đúng những phương thức xử lý chúng

hệ quản trị cơ sở dữ liệu (mysql, mssql…), nó sẽ bao gồm cácclass/function xử lý nhiều nghiệp vụ như kết nối database, truyvấn dữ liệu, thêm – xóa – sửa dữ liệu…

- View: Đảm nhận việc hiển thị thông tin, tương tác với người

dùng, nơi chứa tất cả các đối tượng GUI như textbox, images…tập hợp các form hoặc các file HTML

Mô tả luồng sự kiện trong mô hình MVC

- User tương tác với View để gửi yêu cầu đi

- Controller nhận và điều hướng chúng đến phương thức xử lý ởModel

- Model nhận thông tin và thực thi các yêu cầu

- Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model vàhiển thị lại cho người dùng thông qua Controller

Trang 17

Hình2.1 Mô hình MVC

2.3.2 Sự tương tác giữa các lớp trong mô hình MVC

Controller – View sẽ lấy những hình ảnh, nút bấm…hoặc hiển

thị dữ liệu được trả ra từ Controller để người dùng có thể quan sát vàthao tác Trong sự tương tác này cũng có thể không có dữ liệu đượclấy từ Model và khi đó nó chỉ chịu trách nhiệm hiển thị đơn thuầnnhư hình ảnh, nút bấm…

Controller – Model là luồng xử lý khi controller tiếp nhận yêu

cầu và các tham số đầu vào từ người dùng, controller sẽ sử dụng cáclớp/hàm trong model cần thiết để lấy ra những dữ liệu chính xác

View – Model có thể tương tác với nhau mà không qua

controller, nó chỉ đảm nhận hiển thị dữ liệu chứ không phải qua bất

kỳ xử lý nghiệp vụ logics nào Nó giống như các vùng dữ liệu hiển thịtĩnh trên các website như block slidebar…

2.3.3 Quy trình hoạt động mô hình MVC trong dự án website

Người dùng sử dụng một browser trình duyệt web bất kỳ (firefox,chrome, IE…) để có thể gửi những yêu cầu (http request) có thể kèmtheo những dữ liệu nhập tới những controller xử lý tương ứng Việcxác định controller xử lý sẽ dựa vào một bộ routing điều hướng

Trang 18

Hình 2.2 Quy trình hoạt động mô hình MVC Khi controller nhận được yêu cầu gửi tới, nó sẽ chịu trách nhiệmkiểm tra yêu cầu đó có cần dữ liệu từ model hay không? Nếu có, nó

sẽ sử dụng các class/function cần thiết trong model và nó sẽ trả rakết quả, khi đó controller sẽ xử lý giá trị đó và trả ra view để hiển thị,controller sẽ xác định các view tương ứng để hiển thị đúng với yêucầu

Khi nhận được dữ liệu từ controller, view sẽ chịu trách nhiệm xâydựng các thành phẩn hiển thị như hình ảnh, thông tin dữ liệu… và trả

về GUI Content để controller đưa ra kết quả lên màn hình browser.Browser sẽ nhận giá trị trả về (http response) và sẽ hiển thị vớingười dùng Kết thúc một quy trình hoạt động

2.3.4 Ưu điểm của mô hình MVC

Các dự án có thể áp dụng ngay mô hình MVC mà không phụthuộc môi trường, nền tảng xây dựng hay ngôn ngữ lập trình pháttriển;

Quy hoạch các class/function vào các thành phần riêng biệtcontroller – model – view, khi đó sẽ dễ dàng xây dựng – phát triển –quản lý – vận hành và bảo trì một dự án, tạo sự rõ ràng, trong sángtrong quá trình phát triển dự án, kiểm soát được các luồng xử lý vàtạo ra các thành phần xử lý nghiệp vụ chuyên biệt hóa

Trang 19

Tạo thành mô hình chuẩn cho nhiều dự án, nếu bạn nắm rõ môhình MVC của một dự án nào đó, thì khi tiếp cận với một dự án khác

mà bạn chưa từng biết hoặc tiếp xúc, nhưng nó lại được xây dựng với

mô hình MVC thì sẽ không khó khăn gì mà cực kỳ dễ dàng

Giúp các chuyên gia lập trình, nhà quản lý, nhà đầu tư,… có thểhiểu được dự án hoạt động ra sao hoặc giúp các lập trình viên dễdàng quản lý, phát triển dự án Đây là một mô hình chuẩn, nó tối ưunhất hiện nay so với nhiều mô hình khác và được sử dụng trongnhiều dự án và nhiều lĩnh vực, đặc biệt trong công nghệ sản xuấtứng dụng, phần mềm Các lập trình viên sử dụng mô hình chuẩnMVC để có thể dễ dàng phân phối và chuyển giao công nghệ

Đây là mô hình đơn giản, xử lý những nghiệp vụ đơn giản, và dễ dàng triển khai với các dự án nhỏ

2.4 FRAMEWORK LARAVEL

2.4.1 Giới thiệu Laravel

Laravel là một PHP framework mã nguồn mở và miễn phí, đượcphát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triểncác ứng dụng web theo kiếm trúc model - view - controller (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à bảo trì ứng dụng

Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có mộtcuộc bình chọn PHP framework phổ biến nhất, Laravel đã giành vị tríquán quân cho PHP framework phổ biến nhất năm 2015, theo saulần lượt là Symfony2, Nette, CodeIgniter, Yii2 và một số khác Trước

đó, Tháng 8 2014, Laravel đã trở thành project PHP phổ biến nhất vàđược theo dõi nhiều nhất trên Github Laravel được phát hành theogiấy phép MIT, với source code được lưu trữ tại Github

Trang 20

Hình 2.3 So sánh Laravel và các framework khác

2.4.2 Lịch sử phát triển của Laravel

Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011,tiếp đó là Laravel 1 phát hành trong cùng tháng Laravel 1 bao gồmcác tính năng như xác thực, bản địa hóa, model, view, session, địnhtuyến và các cơ cấu khác, nhưng vẫn còn thiếu controller

Laravel 2 được phát hành vào tháng 9 năm 2011, mang đếnnhiều cài tiến từ tác giả và cộng đồng Tính năng đáng kể bao gồm

hỗ trợ controller, điều này thực sự biến Laravel 2 thành một MVCframework hoàn chỉnh, hỗ trợ Inversion of Control (IoC), hệ thốngtemplate Blade Bên cạnh đó, có một nhược điểm là hỗ trợ cho cácgói của nhà phát triển bên thứ 3 bị gỡ bỏ

Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấntính năng mới bao gồm giao diện dòng lệnh (CLI) tên “Artisan”, hỗtrợ nhiều hơn cho hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ

cơ sở dữ liệu Migration, hỗ trợ “bắt sự kiện” trong ứng dụng, và hệthống quản lý gói gọi là “Bundles” Lượng người dùng và sự phổ biếntăng trưởng mạnh kể từ phiên bản Laravel 3

Laravel 4, tên mã “Illuminate”, được phát hành vào tháng 5 năm

2013 Lần này thực sự là sự lột xác của Laravel framework, di chuyển

và tái cấu trúc các gói hỗ trợ vào một tập được phân phối thông quaComposer, một chương trình quản lý gói thư viện phụ thuộc độc lậpcủa PHP Bố trí mới như vậy giúp khả năng mở rộng của Laravel 4 tốthơn nhiều so với các phiên bản trước Ra mắt lịch phát hành chínhthức mỗi sáu tháng một phiên bản nâng cấp nhỏ Các tính năng kháctrong Laravel 4 bao gồm tạo và thêm dữ liệu mẫu (databaseseeding), hỗ trợ hàng đợi, các kiểu gởi mail, và hỗ trợ “xóa mềm” (soft-delete: record bị lọc khỏi các truy vấn từ Eloquent mà khôngthực sự xóa hẳn khỏi DB)

Trang 21

Laravel 5 được phát hành trong tháng 2 năm 2015, như một kếtquả thay đổi đáng kể cho việc kết thúc vòng đời nâng cấp Laravellên 4.3 Bên cạnh một loạt tính năng mới và các cải tiến như hiện tại,Laravel 5 cũng giới thiệu cấu trúc cây thư mục nội bộ cho phát triểnứng dụng mới Những tính năng mới của Laravel 5 bao gồm hộ trợlập lịch định kỳ thực hiện nhiệm vụ thông qua một gói tên là

“Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho phép điềukhiển việc lưu trữ từ xa đơn giản như lưu trữ trên máy local – dễ thấynhất là mặc định hỗ trợ dịch vụ Amazone S3, cải tiến quản lý assetsthông qua “Elixir”, cũng như đơn giản hóa quản lý xác thực với cácdịch vụ bên ngoài bằng gói “Socialite”

Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hànhđầu tiên nhận được hỗ trợ dài hạng (LTS) với một kết hoạch fix buglên tới 2 năm vào hỗ trợ vá lỗi bảo mật lên tới 3 năm Các bản pháthành LTS của Laravel được lên kế hoạch theo mỗi 2 năm Laravelphiên bản hiện tại là laravel 5.4

2.4.3 Yêu cầu hệ thống và điều kiện tiên quyết sử dụng Laravel

Yêu cầu hệ thống của Laravel là máy chủ web hổ trợ PHP 5.4.0hoặc cao hơn Mỗi bản phát hành sẽ có yêu cầu chi tiết hơn và chúng

ta có thể yêu cầu cập nhật cho các tính năng riêng

Sử dụng Laravel đồi hỏi kiến thức cơ bản về lập trình hướng đốitượng (OOP), vì Laravel là framework hướng đối tượng

2.4.4 Cấu trúc ứng dụng của Laravel

class php, thư viện, models để xây dựng project của bạn

thực thi trên Artisan

hướng lỗi

tin controllers

Trang 22

Middleware: là thư mục chứa các tập tin lọc

và ngăn chặn các requests

Middleware hoặc nhóm Middleware

thống

o migrations: chứa các tập tin định nghĩa khởi tạo và sử

bảng

o seeds: chứa các tập tin định nghĩa dữ liệu insert vào

database

o factories: chứa các tập tin định nghĩa các cột bảng dữ

liệu để tạo ra các dữ liệu ảo phục vụ cho tests

nơi chứa các tập tin css, js, image

coffeescript, ), views, ngôn ngữ

cookie, log

xử lý router hoặc điều hướng router (là URL, laravel không tựđặt url theo kiểu example.com/controller/action/value màchúng ta phải tự định nghĩa chúng) bao gồm 3 loại là web, api

và console

như key app, tên app, url app, email, env mode, CSDL hay bậttắt debug

Trang 23

package.js tập tin cấu hình của nodejs chứa các package cần

thiết cho projects

2.4.5 Ưu điểm của framework Laravel

 Được thừa hưởng những ưu điểm và thế mạnh của nhữn

framework khác:

- Laravel hỗ trợ tương tác với Database như tạo database, tạobảng, chỉnh sửa bảng, insert dữ liệu thông qua Schema Builder

- Document rõ dàng, dễ học

- Autoload theo namespace

- Sử dụng mô hình ORM rất đơn giản khi thao tác với DB

- Các lệnh tương tác với cơ sở dữ liệu cực kỳ ngắn gọn và thânthiện

- Việc quản lý layout đơn giản với Balade Templating

Trang 24

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

Trang 25

CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

sản phẩm vừa ý khách hàng click nút “mua ngay” để cập nhật sản

phẩm trong giỏ hàng Khách hàng vẫn có thể mua tiếp tục các sảnphẩm khác

Sau khi chọn được những sản phẩm cần mua, khách hàng click

vào nút “thanh toán” để hoàn thành việc mua hàng hoặc hủy bỏ đơn

hàng Nếu là khách hàng quen thuộc, có thể đăng nhập để thanhtoán, nếu là khách hàng mới có thể đăng kí tài khoản hoặc mua ngay

mà không cần tài khoản, chỉ cần nhập số điện thoại để liên hệ và địachỉ để giao hàng Mỗi khách hàng được quản lý bởi các thông tin: mãkhách hàng, họ tên, địa chỉ, số điện thoại, email và mật khẩu

Mỗi sản phẩm thuộc một loại sản phẩm, một nhà cung cấp đượcquản lý bởi các thông tin gồm: mã sản phẩm, tên sản phẩm, sốlượng, đơn giá, mô tả cho sản phẩm và hình ảnh để hiển thị, có thể

có hoặc không có khuyến mãi, một sản phẩm có thể có nhiều ảnhkèm theo

- Loại sản phẩm gồm các thông tin: mã loại và tên loại

- Nhà cung cấp gồm các thông tin: mã nhà cung cấp, tên nhàcung cấp, địa chỉ, số điện thoại và email Có thể có nhiều sảnphẩm khác nhau

- Khuyến mãi gồm các thông tin: mã khuyến mãi, tên khuyếnmãi, ngày bắt đầu, ngày kết thúc, phần trăm giảm giá và ghichú

- Ảnh kèm theo gồm mã hình và tên hình, một ảnh kèm theo chỉthuộc một sản phẩm

Trang 26

Sản phẩm được nhập từ nhà cung cấp được quản lý bởi phiếunhập Thông tin phiếu nhập gồm mã phiếu nhập, mã nhà cung cấp,

mã nhân viên, ngày nhập, tổng tiền, ghi chú Thông tin về sản phẩmnhập được lưu trong phiếu nhập chi tiết gồm mã sản phẩm, số lượngnhập và đơn giá nhập

Thông tin về đơn hàng mà khách hàng đã mua sẽ được lưu tronghóa đơn và hóa đơn chi tiết Thông tin hóa đơn gồm: mã hóa đơn, mãkhách hàng, tổng tiền, ngày đặt hàng, ngày giao hàng, ghi chú củađơn hàng, trạng thái và do một nhân viên duyệt đơn hàng Hóa đơnchi tiết lưu thông tin gồm mã sản phẩm, số lượng bán, đơn giá bán

Về nhân viên, mỗi nhân viên được quản lý bởi thông tin gồm mãnhân viên, họ tên, địa chỉ, số điện thoại, giới tính, ngày sinh, email,mật khẩu Mỗi nhân viên có quyền và chức năng khác nhau

Một nhu cầu khác không thể thiếu là chương trình khuyến mãi.Thông tin gồm tên chương trình, ngày bắt đầu, ngày kết thúc khuyếnmãi sản phẩm, sản phẩm được khuyến mãi.Cuối tháng, chủ shop sẽthực hiện việc thống kê lại các mặt hàng để tổng hợp hàng nhập,hàng bán, doanh thu và kiểm tra tình hình kinh doanh của cửa hàng

Trang 27

3.2 GIẢI PHÁP PHÂN TÍCH, THIẾT KẾ CÁC MÔ HÌNH

3.2.1 Sơ đồ Use case

3.2.1.1 Sơ đồ Use case mức 0

Trang 28

Hình 3.1 Use case chức năng hệ thống

3.2.1.2 Use case chức năng quản lý phiếu nhập

 Mô tả: Use case quản lý phiếu nhập cho phép nhân viên (tácnhân) trong hệ thống có nhu thêm phiếu nhập khi cần nhậphàng và tìm danh sách phiếu nhập trong hệ thống khi cần

Trang 29

Hình 3.2 Use case chức năng quản lý phiếu nhập

3.2.1.3 Use case chức năng báo cáo thống kê

<<extend>>

<<extend>>

<<extend>>

Chủ shop

Báo cáo, thống kê

Báo cáo doanh thu theo thời gian

Trang 30

3.2.1.4 Use case chức năng quản lý nhân viên

 Mô tả: Use case quản lý nhân viên cho phép nhân viên (tácnhân) trong hệ thống có nhu cầu tìm xem danh sách nhân viêncủa cửa hàng và chức năng thêm, sửa, xóa nhân viên dựa vàochức vụ và quyền của nhân viên đó

Đăng nhập Quản lý nhân viên

Xem nhân viên

Sửa nhân viên Thêm nhân viên

Xóa nhân viên

Tìm kiếm

Nhập thông tin nhân viên

Lưu thông tin

Hình 3.4 Use case chức năng quản lý nhân viên

3.2.1.5 Use case chức năng quản lý khách hàng

 Use case quản lý Khách hàng cho phép nhân viên (tác nhân) trong hệ thống có thể xem danh sách thông tin của khách

Trang 31

- Sau khi xóa thành công thì dữ liệu sẽ được cập nhật lại và lưuvào CSDL.

Hình 3.5 Use case chức năng quản lý khách hàng

3.2.1.6 Use case chức năng quản lý hóa đơn

 Mô tả: Use Case quản lý hóa đơn cho phép nhân viên (tácnhân) trong hệ thống có nhu cầu tìm xem danh sách hóa đơncủa cửa hàng và chức năng này cũng cho nhân viên được phépthêm, sửa, xóa dữ liệu hóa đơn trong hệ thống khi được chủcửa hàng yêu cầu

- Chức năng sửa, xóa được thực hiện khi chủ của hàng yêu cầu.Nhân viên sẽ thực hiện chức năng tìm kiếm hóa đơn để sửa,xóa theo yêu cầu Sau khi sửa, xóa thành công thì dữ liệu sẽđược cập nhật lại và lưu vào CSDL

Trang 32

Quản lý hóa đơn

Sửa hóa đơn Xem hóa đơn Xóa hóa đơn Thêm hóa đơn

Tìm số hóa đơn

Tự động tăng số phiếu nhập Đặt đúng NV đăng nhập

Chọn sản phẩm

Chọn khách hàng

Nhập số lượng

Lấy ngày hiện hành

Hình 3.6 Use case chức năng quản lý hóa đơn

3.2.1.7 Use case chức năng quản lý sản phẩm

Use Case quản lý sản phẩm cho phép nhân viên (tác nhân)trong hệ thống có nhu cầu tìm xem danh sách sản phẩm củacửa hàng và chức năng này cũng cho nhân viên được phépthêm, sửa, xóa dữ liệu sản phẩm trong hệ thống khi được chủcửa hàng yêu cầu

Trang 33

Xóa sản phẩm

Tìm kiếm

Nhập thông tin sản phẩm

Lưu thông tin

Nhập giá hiện tại

<<include>>

Xác nhận xóa

Hình 3.7 Use case chức năng quản lý sản phẩm

3.2.1.8 Use case chức năng quản lý nhà cung cấp

 Mô tả: Use Case quản lý nhà cung cấp cho phép nhân viên (tácnhân) trong hệ thống có nhu cầu tìm xem danh sách nhà cungcấp của cửa hàng và chức năng này cũng cho nhân viên đượcphép thêm, sửa, xóa dữ liệu nhà cung cấp trong hệ thống khiđược chủ cửa hàng yêu cầu

- Chức năng sửa, xóa được thực hiện khi chủ của hàng yêu cầu.Nhân viên sẽ thực hiện chức năng tìm kiếm nhà cung cấp đểsửa, xóa theo yêu cầu Sau khi sửa, xóa thành công thì dữ liệu

sẽ được cập nhật lại và lưu vào CSDL

Trang 34

Xóa nhà cung cấp

Tìm kiếm

Nhập thông tin nhà cung

cấp

Lưu thông tin

Hình 3.8 Use case chức năng quản lý nhà cung cấp

3.2.1.9 Use case phân rã chức năng quản lý khuyến mãi

Quản lý khuyến mãi

Xem khuyến mãi

Sửa khuyến mãi Thêm khuyến mãi

Xóa khuyến mãi

Tìm kiếm

Cung cấp thông tin

Lưu thông tin

Hình 3.9 Use case phân rã chức năng quản lý khuyến mãi

Ngày đăng: 14/05/2017, 11:35

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w