Về bản chấtMySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hànhcủa website nhưng hầu hết có thể giải quyết các bài toán trong PHP.MySQL là cơ sở dữ liệu tốc độ cao, ổn định
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Đề tài: Xây dựng website bán đồ điện tử sử dụng PHP Framework
Giảng viên hướng dẫn : Ths Nguyễn Trung Phú
Sinh viên thực hiện : Nguyễn Đức Việt
Hà Nội, năm 2019
Trang 2LỜI NÓI ĐẦU
Ngày nay, khoa học công nghệ ngày càng phát triển và sự phát triểnmạnh mẽ của ngành Công nghệ thông tin Công nghệ thông tin đã và đangthay đổi thế giới một cách nhanh chóng và từng bước kéo nền tri thức củanhân loại xích gần với nhau hơn Đó là nhờ việc phát triển hệ thống websitetrên toàn thế giới Ngày nay, Website đã đóng vai trò quan trọng đối với conngười chúng ta từ giải trí cho đến quảng cáo,thương mại, quản lý, Website(thương mại điện tử) sẽ dần dần thay thế phương thức kinh doan cũtrong các doanh nghiệp bởi tính ưu việt mà Website mang lại như: nhanh hơn,
rẻ hơn, tiện dụng hơn, hiệu quả hơn và không bị giới hạn không gian và thờigian
Với tầm quan trọng đó, mỗi người chúng ta cần trang bị cho mình mộtkiến thức nền tảng về Web Nếu bạn sở hữu một lượng kiến thức rộng lớn vềnền tảng Web thì bạn sẽ cơ hội tìm kiếm việc làm rất dễ dàng Bởi vè, bạn cóthể đảm nhận các công việt về IT tại công ty không chuyên về IT nhưng công
ty này đều có ứng dụng CNTT vào quản lý nhất là website trong các tổ chứcnhư Ngân hàng, công ty sản xuất, dịch vụ, nhà hàng, công ty kinh doanh vềthương mại điện tử, trường học , đặc biệt là tham gia vào các công ty sảnxuất phần mềm(website, các ứng dụng Web trên moblie) Xuất phát từ những
nhu cầu thực tế đó em quyết định chọn đề tài “ Xây dựng Website bán đồ
điện tử” nhàm tạo ra hệ thống quản lý bán hàng có tính thiết thực và ứng
dụng vào thực tế
Hiện nay, các website được thiết kế bằng rất nhiều ngôn ngữ mã nguồn
mỡ như: CSS, JavaScript,PHP, Python Qua quá trình học tập và tìm hiểu ởtrường nhóm chúng em đã sử dụng PHP-LARAVEL để xây dựng nên trang
Web bán đồ điện tử.
Qua đây em cũng xin chân thành cảm ơn tới thầy Nguyễn Trung phú đã
tận tình giúp đỡ chúng em hoàn thành đề tài này Chân thành cảm ơn thầy!
Trang 3CHƯƠNG 1: MỞ ĐẦU
1 Phân tích yêu cầu đề tài.
1.1 Phân tích nhu cầu website:
- Trong thời đại công nghệ thông tin như hiện nay, khi mà Internettrở nên thân quen và dần trở thành một công cụ không thể thiếutrong cuộc sống thì lợi ích của website đối với việc quảng bá sảnphẩm và thương hiệu của một công ty thật là to lớn
- Tùy từng lĩnh vực kinh doanh của từng doanh nghiệp mà websitemang lại những lợi ích khác nhau Trang web trở thành một cửangõ để doanh nghiệp tiếp thị sản phẩm của mình đến khách hàngkhắp nơi trên toàn thế giới
1.2 Tầm ảnh hưởng của website:
- Website là nơi doanh nghiệp và khách hàng gặp nhau Khi họ truycập vào website của bạn và tìm thấy những thông tin về sản phẩmcủa bạn cung cấp, khi đó, website trở thành một kênh tư vấn kháchhàng trực tuyến hữu hiệu
- Website là một phương tiện để giới thiệu doanh nghiệp, quảng bá,marketing và PR
1.3 Tên đề tài
Xây dựng Website bán đồ điện tử sử dụng PHP Framework
1.4 Mục tiêu của đề tài
- Xây dựng được website bán đồ điện tử
- Nghiên cứu về công cụ phần mềm mã nguồn mở laravelFramework
- Giải quyết tối ưu hóa quá trình quản lý bán hàng và bán hàng
- Website được xây dựng phải đáp ứng những nhu cầu cần thiết củacửa hàng:
+ Quản lý sản phẩm
+ Quản lý thông tin nhà sản xuất
+ Cập nhật giá, thông tin sản phẩm
+ Quản lý người dùng
+ Có chức năng giỏ hàng
+ Quản lý đơn đặt hàng của khách hàng
- Đưa ra các báo cáo của đề tài
1.5 Nội dung thực hiện đề tài
- Tìm hiểu, ứng dụng các ngôn ngữ lập trình vào thiết kế website(php, mysql)
- Xây dựng được cơ sở dữ liệu trên phpmyadmin
- Xây dựng các module quản lý
Trang 4- Tìm hiểu về PHP,Mysql,laravel, phục vụ trong quá trình xây dựngtrang web.
- Website nhanh và hiệu quả hơn trong quá trình quản lý bán hàng1.6 Ý nghĩa của đề tài
- Có thể tra cứu, cập nhật, thống kê báo cáo sản phẩm, nhà sản xuất, thông tin khách hàng, hóa đơn, thuế,
- Mua sản phẩm dễ dang, ít tốn kém hàng hóa chất lượng, hỗ trợ ,giải đáp thắc mắc khách hàng nhanh chóng
- Tạo ra một website thân thiện, nhanh và hiệu quả hơn trong việcquản lý,hay bán sản phẩm bằng thủ công Hoàn thành tốt luận văn tốt nghiệp đồng thời qua đó nâng cao trình độ của mình
Trang 5CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG CỤ VÀ CÔNG NGHỆ PHÁT
TRIỂN PHẦN MỀM
1 Giới thiệu về công cụ và công nghệ phát triển web
1.1 Lập trình tương tác cơ sở dữ liệu
a Ngôn ngữ php
PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn
ngữ lập trình kịch bản được chạy ở phía server nhằm sinh ra mã htmltrên client PHP đã trải qua rất nhiều phiên bản và được tối ưu hóacho các ứng dụng web, với cách viết mã rõ rãng, tốc độ nhanh, dễ họcnên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến vàđược ưa chuộng
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệquản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL
và hệ điều hành Linux (LAMP)
Apache là một phần mềm web server có nhiệm vụ tiếp nhậnrequest từ trình duyệt người dùng sau đó chuyển giao cho PHP xử
lý và gửi trả lại cho trình duyệt
MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác(Postgress, Oracle, SQL server ) đóng vai trò là nơi lưu trữ vàtruy vấn dữ liệu
Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi chocác webserver Thông thường các phiên bản được sử dụng nhiềunhất là RedHat Enterprise Linux, Ubuntu
b Cơ sở dữ liệu Mysql
MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụngchung với Apache, PHP Chính yếu tố phát triển trong cộng đồng mãnguồn mở nên MySQL đã qua rất nhiều sự hỗ trợ của những lập trìnhviên yêu thích mã nguồn mở MySQL cũng có cùng một cách truyxuất và mã lệnh tương tự với ngôn ngữ SQL Nhưng MySQL khôngbao quát toàn bộ những câu truy vấn cao cấp như SQL Về bản chấtMySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hànhcủa website nhưng hầu hết có thể giải quyết các bài toán trong PHP.MySQL là cơ sở dữ liệu tốc độ 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ợpcho các ứng dụng có truy cập CSDL trên internet MySQL miễn phíhoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ 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
Trang 6hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) MySQL đang được
sử dụng cho nhiều công việc kinh doanh từ nhỏ tới lớn:
MySQL làm việc nhanh với các tập dữ liệu lớn
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à 4GB( Gigabyte ), nhưng bạn có thể tăng kích
cỡ này (nếu hệ điều hành của bạn có thể xử lý nó) để đạt tới giớihạn lý thuyết là 8 TB ( Terabyte )
MySQL là có thể điều chỉnh Giấy phép GPL mã nguồn mở chophép lập trình viên sửa đổi phần mềm MySQL để phù hợp với môitrường cụ thể của họ
Xóa cơ sở dữ liệu MySQL Sử dụng PHP: phần này giải thích làmthế nào để xóa cơ sở dữ liệu và bảng MySQL bằng cách sử dụngPHP
Chèn dữ liệu Cơ sở dữ liệu MySQL: một khi bạn đã tạo ra cơ sở
dữ liệu và các bảng của bạn sau đó bạn muốn chèn dữ liệu vàobảng được tạo ra Phiên họp này sẽ đưa bạn qua ví dụ thực tế về
dữ liệu chèn
Lấy dữ liệu từ cơ sở dữ liệu MySQL: tìm hiểu làm thế nào để lấy
hồ sơ từ cơ sở dữ liệu MySQL bằng cách sử dụng PHP
Sử dụng Paging qua PHP: điều này giải thích làm thế nào để hiểnthị kết quả truy vấn của bạn thành nhiều trang và làm thế nào đểtạo ra các liên kết điều hướng
Đang cập nhật dữ liệu vào cơ sở dữ liệu MySQL: phần này giảithích làm thế nào để cập nhật hồ sơ hiện có vào cơ sở dữ liệuMySQL bằng cách sử dụng PHP
Xóa dữ liệu từ cơ sở dữ liệu MySQL: phần này giải thích làm thếnào để xóa hoặc tẩy hồ sơ hiện từ cơ sở dữ liệu MySQL bằng cách
sử dụng PHP
Sử dụng PHP Để sao lưu cơ sở dữ liệu MySQL: tìm hiểu nhữngcách khác nhau để sao lưu cơ sở dữ liệu
Trang 72 Tìm hiểu về XAMPP
2.1 Xampp là gì?
Phần mềm XAMPP là một loại ứng dụng phần mềm khá phổ biến và
thường hay được các lập trình viên sử dụng để xây dựng và phát triển cácdựa án website theo ngôn ngữ PHP XAMPP thường được dùng để tạomáy chủ web (web s erver)được tích hợp sẵn Apache, PHP, MySQL, FTPServer, Mail Server và các công cụ như phpMyAdmin
2.2 Xampp được dùng để làm gì?
- XAMPP là một phần mềm cho phép giả lập môi trường server hostingngay trên máy tính của bạn, cho phép bạn chạy demo website màkhông cần phải mua hostings hay vps Chính vì vậy, XAMPP hay đượcphục vụ cho hoạt động học tập giảng dạy thực hành và phát triển web
- Các bạn thông tin rất hay dùng XAMPP để hỗ trợ các project cuối kỳliên quan đến lập trình web Vì không cần tốn kém để mua hostings hayvps trước khi họ hoàn thành xong website của mình
- Những loại code được XAMPP hỗ trợ cũng rất đa dạng: Joomla,WordPress, PHP, Nuke, opencat Khi nào bạn cần chạy những loạicode này thì hãy bật XAMPP lên nhé
2.3 Tìm hiểu về laravel
Laravel được Taylor Otwell tạo ra như một giải pháp thay thế choCodeIgniter, cung cấp nhiều tính năng quan trọng hơn như xác thực vàphân quyền Tôi cũng không chắc về điều này, nhưng có thể Taylor vốn
là một NET developer khi bắt đầu có nhu cầu làm việc với PHP khoảngvào những năm 2010-2011, đã chọn CodeIgniter khi đó đang là mộtngôi sao mới nổi, thậm chí lấn át cả Symfony gạo cội Và Taylor nhanhchóng nhận ra những điểm khiếm khuyết ở CodeIgniter, với tài năng vàkiến thức xuất sắc về design-pattern của mình, Taylor quyết định tựmình tạo ra một framework sao cho thật đơn giản, dễ hiểu, hỗ trợ lậptrình viên hiện thực ý tưởng một cách nhanh nhất bằng nhiều tính năng
hỗ trợ như Eloquent ORM mạnh mẽ, xác thực đơn giản, phân trang hiệuquả, và hơn thế nữa
2.3.1 Laravel là gì
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ển cácứng dụng web theo kiếm trúc model-view-controller (MVC) Nhữngtính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng , một
Trang 8hệ thống đóng gói modular và quản lý gói phụ thuộc, nhiều cách khácnhau để 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
2.3.2 Các phiên bản 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ồm các tính
năng như xác thực, bản địa hóa, model, view, session, định tuyến và các
cơ cấu khác, nhưng vẫn còn thiếu controller, điều này làm nó chưa thật
sự là một MVC framework đúng nghĩa
Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiề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 MVC frameworkhoàn chỉnh, hỗ trợ Inversion of Control (IoC), hệ thống template Blade.Bên cạnh đó, có một nhược điểm là hỗ trợ cho các gói của nhà phát triểnbê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ấn tính
năng mới bao gồm giao diện dòng lệnh (CLI) tên “Artisan”, hỗ trợ nhiềuhơn cho hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệuMigration, hỗ trợ “bắt sự kiện” trong ứng dụng, và hệ thống quản lý góigọi là “Bundles” Lượng người dùng và sự phổ biến tă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ập củaPHP Bố trí mới như vậy giúp khả năng mở rộng của Laravel 4 tốt hơnnhiều so với các phiên bản trước Ra mắt lịch phát hành chính thức mỗisáu tháng một phiên bản nâng cấp nhỏ Các tính năng khác trongLaravel 4 bao gồm tạo và thêm dữ liệu mẫu (database seeding), 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ông thực sự xóa hẳn khỏi DB)
Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả
thay đổi đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lê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 5cũ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
Trang 9mớ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ớptrừu tượng gọi là “Flysystem” cho phép điều khiển việc lưu trữ từ xađơn giản như lưu trữ trên máy local – dễ thấy nhất là mặc định hỗ trợdịch vụ Amazone S3, cải tiến quản lý assets thông qua “Elixir”, cũngnhư đơn giản hóa quản lý xác thực với các dị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 bug lên tới 2năm vào hỗ trợ vá lỗi bảo mật lên tới 3 năm Các bản phát hành LTS củaLaravel được lên kế hoạch theo mỗi 2 năm
2.3.3 Lý do chọn phần mềm mã nguồn mở laravel
Dễ bắt đầu
Lý do đầu tiên khiến mọi người bắt đầu với Laravel là thật dễ dàng đểbắt đầu Ngay cả khi bạn chỉ biết cơ bản của PHP, bạn vẫn có thể dễdàng phát triển một website 5 trang chỉ trong vài giờ Và không chỉ có lí
do đó mà còn nhiều lí do hơn nữa mà bạn nên chọn Laravel
Nguồn mở
Laravel là một phần mềm miễn phí, Framework mã nguồn mở này chophép bạn xây dựng các ứng dụng web lớn và phức tạp một cách dễdàng Tất cả những gì bạn cần là một trình soạn thảo văn bản và cài đặtPHP để bắt đầu
Xuất hiện nhanh chóng
Laravel là framework tốt nhất và được sử dụng nhiều nhất theo GoogleTrends Nó có thể xử lý các dự án cực kỳ lớn một cách dễ dàng và đó là
lý do tại sao nhiều công ty đã thông qua Framework này
và độc lập với các thành phần khác
Trang 10- Model: Chính là dự liệu ( cụ thể hơn trong ZF sẽ là các class làm nhiệm
vụ thao tác trực tiếp xuống DBMS)
- Mô hình Views có nhiệm vụ liên kết với Mô hình Model và xuất các dữliệu ra trình duyệt theo nhu cầu đòi hỏi của người tiêu dùng( user).Điển hình là các văn bản HTML
- View : Làm nhiệm vụ render trang web từ các action do Controllertruyền sang + dữ liệu từ model ( có thể hiểu nó như template render)
- Controller: chính là phần cốt lõi, điều hành trang web của bạn, 1 trangweb có thể có nhiều module ( có thể hiểu như compoment củaJoomla), một module có thể có nhiều controller Một controller sẽ gồmnhiều action
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
Hình 2.1 Mô hình MVC
Với tiêu chuẩn này, các cấu trúc và cách tổ chức code trong dự án của bạn
sẽ được sắp xếp một cách hợp lý dễ dàng cho việc duy trì cũng như pháttriển về lâu dài
Hỗ trợ Cộng đồng
Nếu là một Deverloper, và bạn bị mắc kẹt bởi những bug khó hiểu nhưng
có một người đã trải qua nó và người đó có thể hướng dẫn bạn thì côngviệc của bạn sẽ ít khó khăn hơn Laravel có một cộng đồng rộng lớn,
Trang 11khiến nó mạnh hơn hẳn những Framework khác Nếu bạn báo cáo bất kỳlỗi hoặc vi phạm bảo mật trong Framework thì phản hồi của cộng đồng lànhanh chóng.
Bảo mật trong Tự nhiên, bảo mật cao
Laravel cung cấp cho bạn một số điều thiết yếu làm cho ứng dụng của bạn
an toàn ORM của Laravel sử dụng PDO, ngăn ngừa việc chèn SQL Tínhnăng bảo vệ csrf của Laravel ngăn việc giả mạo yêu cầu trang chéo Đó là
cú pháp tự động thoát bất kỳ thực thể html nào đang được truyền qua cáctham số xem, ngăn chặn các kịch bản chéo trang web Tất cả bạn phải làm
là, sử dụng các thành phần thích hợp của khuôn khổ
Theo ý kiến của nhiều chuyên gia, Laravek Framework được đánh giá là
có độ bảo mật cao hơn nền tảng WordPress Để giúp lập trình viên có thểtối đa thời gian tập trung vào việc phát triển các tính năng mìnhcần, Laravel đã cung cấp sẵn cho người dùng các tính năng bảo mật cơbản như:
- ORM của Laravel sử dụng PDO thay vì mysqli để chống lại tấncông SQL Injection
- Laravel sử dụng một field token ẩn để chống lại tấn công kiểuCSRF
- Các biến được đưa ra view mặc định đều được Laravel escape đểtránh tấn công XSS
Do đó, khi thiết kế web với Laravel, bạn không cần quá lo lắng về khảnăng bảo mật hay mất nhiều thời gian để cài đặt hay tối ưu thêm cho tínhnăng này Tất cả đã có sẵn với Laravel
Được xây dựng dựa trên Framework tốt nhất
Laravel sử dụng một số thành phần tốt nhất của symfony
Trang 12bạn khôi phục lại những thay đổi gần đây nhất bạn thực hiện vớiDatabase.
Thử nghiệm rất dễ dàng với laravel
Thử nghiệm là điều quan trọng đối với bất kỳ ứng dụng nào trước khi nó
có sẵn cho người dùng cuối Laravel cung cấp cơ sở để kiểm tra đơn vịnhưng Đôi khi những thay đổi mới có thể làm hỏng hệ thống bấtngờ Laravel chạy nhiều bài kiểm tra để đảm bảo tính ổn định của ứngdụng
Thông qua 10 lý do trên có thể thấy Laravel là Framework tốt nhất trongngành công nghiệp ít được biết đến vì thất bại Nhiều hơn thế, Laravelvẫn chạy bất kể bạn đang chạy trên nền tảng nào Từ đó thấy đượcLaravel là có hiệu quả và hứa hẹn sẽ tạo ra nhiều cơ hội hơn nữa
Module đa dạng
Laravel được xây dựng dựa trên hơn 20 thư viện khác nhau Hiểu đượccách thiết kế framework khiến các lập trình hoàn toàn có thể đóng gópcho framework cũng như mở rộng chúng một cách dễ dàng
Cộng đồng người dùng rộng lớn
Như nhiều nền tảng mã nguồn mở khác, Laravel Framwork cũng có cộngđồng người dùng rộng rãi và sẵn sàng hỗ trợ bạn trong quá trình thiết lập
và vận hành dự án Đặc biệt việc fix bug hay tìm lỗi trở nên nhanh chóng,
dễ dàng và tiết kiệm thời gian hơn rất nhiều
2.3.4 Thư viện BOOTSTRAP
Bootstrap là một Framework có chứa HTML, CSS, JAVASCRIPT,
Framework trong tiếng việt có nghĩa là “khuôn khổ” giúp tiết kiệm đượcthời gian, công sức hơn nữa việc xây dựng hai teamplate cho giao diệnDesktop và Mobile đã lỗi thời thay vào đó là Responsive Responsive sẽ
Trang 13giúp website của bạn hiển thị tương thích với mọi kích thước màn hìnhnhờ đó bạn sẽ tùy chỉnh hiện thị được nhiều hơn trên các loại màn hìnhkhác nhau.
Ưu điểm của Bootstrap
- Tiết kiệm thời gian: Boostrap giúp người thiết kế giao diện websitetiết kiệm rất nhiều thời gian Các thư viện Bootstrap có những đoạn
mã sẵn sàng cho bạn áp dùng vào website của mình Bạn khôngphải tốn quá nhiều thời gian để tự viết code cho giao diện của mình
- Tùy biến cao: Bạn hoàn toàn có thể dựa vào Bootstrap và phát triểnnền tảng giao diện của chính mình Bootstrap cung cấp cho bạn hệthống Grid System mặc định bao gồm 12 Cột và độ rộng 940px.Bạn có thể thay đổi, nâng cấp và phát triển dựa trên nền tảng này
- Responsive Web Design: Với Bootstrap, việc phát triển giao diệnwebsite để phù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết.Đây là xu hướng phát triển giao diện website đang rất được ưuchuộng trên thế giới
2.3.5 Thư viện JQUERY
- JQuery là một thư viện kiểu mới của JavaScript, được tạo bởi JohnResig vào năm 2006 với một phương châm tuyệt vời: Write less, domore - Viết ít hơn, làm nhiều hơn
- JQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạohiệu ứng động và tương tác Ajax Với jQuery, khái niệm Rapid WebDevelopment đã không còn quá xa lạ
- JQuery là một bộ công cụ tiện ích JavaScript làm đơn giản hóa cáctác vụ đa dạng với việc viết ít code hơn Dưới đây liệt kê một số tínhnăng tối quan trọng được hỗ trợ bởi jQuery:
Thao tác DOM − jQuery giúp dễ dàng lựa chọn các phần tử DOM
để traverse (duyệt) một cách dễ dàng như sử dụng CSS, và chỉnhsửa nội dung của chúng bởi sử dụng phương tiện Selector mã nguồn
mở, mà được gọi là Sizzle
Xử lý sự kiện − jQuery giúp tương tác với người dùng tốt hơn bằngviệc xử lý các sự kiện đa dạng mà không làm cho HTML code rốitung lên với các Event Handler
Hỗ trợ AJAX − jQuery giúp bạn rất nhiều để phát triển một site giàutính năng và phản hồi tốt bởi sử dụng công nghệ AJAX
Trang 14 Hiệu ứng − jQuery đi kèm với rất nhiều các hiệu ứng đa dạng vàđẹp mắt mà bạn có thể sử dụng trong các Website của mình Gọnnhẹ − jQuery là thư viện gọn nhẹ - nó chỉ có kích cỡ khoảng 19KB(gzipped).
Được hỗ trợ hầu hết bởi các trình duyệt hiện đại − jQuery được hỗtrợ hầu hết bởi các trình duyệt hiện đại, và làm việc tốt trên IE 6.0+,
FF 2.0+, Safari 3.0+,Chrome và Opera 9.0+
Cập nhật và hỗ trợ các công nghệ mới nhất − jQuery hỗ trợ CSS3Selector và cú pháp XPath cơ bản
CHƯƠNG 3:KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 MÔ TẢ BÀI TOÁN
Trang 15b Yêu cầu trang web.
* Nhận và kiểm tra các đơn đặt hàng của khách hàng
* Kiểm soát các thành viên và các liên hệ của khách hàng
1.2 Chức năng:
Đây là một website bán hàng và giới thiệu sản phẩm của cửa hàng,công ty đến người tiêu dùng với các chiêu tiết mặt hàng giá cả chínhxác Có các chức năng chính sau:
- Quản trị website(Admin):
Quản lý danh sách sản phẩm
Quản lý danh sách khách hàng
Quản lý thành viên
Quản lý các bài bình luận
Quản lý các hóa đơn đặt hàng
Quản lý liên hệ
- Khách hàng tự do:Bất kỳ ai truy cập website
Có thể truy cập website tự do xem sản phẩm của cửa hàng, côngty
Thêm giỏ hàng, đặt hàng
Đăng nhập, đăng ký
Tìm kiếm sản phẩm
Bình luận các sản phẩm
Liên hệ tới cửa hàng
- Thành viên: Những người đã đăng ký thành viên.
Có thể truy cập website tự do xem sản phẩm của cửa hàng, côngty
Thêm giỏ hàng, đặt hàng
Trang 16 Đăng nhập, đăng ký.
Tìm kiếm sản phẩm
Bình luận các sản phẩm
Liên hệ tới cửa hàng
Sửa đổi thông tin cá nhân
1.2.1 Quản lý hệ thống
- Khi quản trị viên muốn thêm người quản lý website, quản trị viên sẽ
thêm admin vào trong bảng users:
+ Vào trang quản trị ->Người dùng->Thêm người dùng
1.2.2 Quản lý sản phẩm
- Đăng nhập vào hệ thống quản trị.
+ Vào sản phẩm-> Thêm sản phẩm:Nhập sản phẩm muốn thêm.+ Vào sản phẩm-> Danh sách sản phẩm-> Xóa sản phẩm
+Vào sản phẩm-> Danh sách sản phẩm->Sửa sản phẩm
1.2.3 Quản lý đơn đặt hàng
- Khi khách hàng gửi đơn đặt hàng trên website, hệ thống sẽ lưu đơn
hàng của quý khách vào cơ sở dữ liệu
- Quản trị viên sẽ xem đơn hàng của khách hàng và giao hàng cho
khách theo đơn đặt hàng
1.2.4 Quản lý khách hàng
- Khi khách hàng đăng ký trên hệ thống website, hệ thống sẽ lưu
thông tin khách hàng trong cơ sở dữ liệu
- Khi khách hàng đặt hàng, quản trị viên sẽ xem thông tin khách hàng
đã đăng ký để liên hệ và chuyển hàng đúng địa điêm
1.2.5 Quản lý thành viên.
- Khi quản trị viên muốn thêm,sửa xóa,người quản lý website:
+ Vào trang quản trị ->Người dùng->Thêm người dùng
+ Vào trang quản trị ->Người dùng->Danh sách người dùng->Sửa + Vào trang quản trị ->Người dùng-> Danh sách người dùng->Xóa
1.2.6 Quản lý liên hệ
- Khi khách hàng liên hệ với cửa hàng về hàng hóa hay hỗ trợ,hệ
thống sẽ lưu liên hệ của khách hàng vào cơ sở dữ liệu
- Khi quản trị viên xem liên hệ và xử lý yêu cầu của khách hàng và
trả lời khách hàng qua email
- Sau khi xử lý xong yêu cầu liên hệ của khách hàng,quản trị viên sẽ
xóa thông tin liên hệ đó đi
1.2.7 Quản lý bình luận
- Khi khách hàng đăng nhập hệ thống sẽ cho khách hàng bình luận
các sản phẩm của cửa hang
- Quản trị viên có thể xem nội dung bình luận vào trả lời khách hàng
2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Trang 17Trong quá trình phân tích thiết kế hệ thống sẽ xây dựng các biểu đồ:
2.1 Biểu đồ ca sử dụng.
Hình 3.1: use case hệ thống
- Từ biểu đồ ca sử dụng chính trên ta lần lượt mô tả ý nghĩa các ca sử
dụng trong đó như sau:
Tìm kiếm: Người dùng sẽ tìm kiếm sản phẩm trên web mà không
cần phải đăng nhập
Xem thông tin cá nhân: Người dùng có thể xem thông tin cá nhân
của mình sau khi đăng nhập
Liên hệ: Người dùng có thể liên hệ với cửa hàng về sản phẩm và
cần hỗ trợ mà không cần đăng nhập
Giỏ hàng: Người dùng thêm các sản phẩm muốn mua và tiến hành
thanh toán
Trang 18Xem thông tin sản phẩm: Người dùng có thể xem các thông tin
của sản phẩm trong hệ thống sau khi truy cập vào hệ thống
Đăng kí: Người dùng sẽ đăng kí tài khoản để có thể đăng nhập vào
hệ thống
Đăng nhập: Người dùng sẽ đăng nhập vào hệ thống để có thể xem
sản phẩm và đặt hàng
Quản lí sản phẩm: Admin sẽ đăng nhập vào hệ thống để có thể
thêm, sửa, xóa tài sản phẩm
Quản lí loại sản phẩm: Admin sẽ đăng nhập vào hệ thống để có thể
thêm, sửa, xóa loại sản phẩm
Quản lí khách hàng: Admin sẽ đăng nhập vào hệ thống để có thể
thêm, sửa, xóa khách hàng
Quản lý liên hệ: Admin sẽ đăng nhập vào hệ thống để có thể thêm,
sửa, xóa liên hệ
Quản lý hóa đơn: Admin sẽ đăng nhập vào hệ thống để có thể
thêm, sửa, xóa hóa đơn
2.2 Mô tả use case đăng nhập
Đặc tả use case đăng nhập
- Mô tả vắn tắt.
+ use case: Dang nhap
+ Mục đích: Cho phép người dùng đăng nhập vào hệ thống
2 Người dùng nhập lại tài khoản hoặc mật khẩu
3 Người dùng chọn kết thúc để thoát khỏi UC
Trang 19Các yêu cầu đặc biệt:
Hình 3.4: Biểu đồ trình tự use case đăng nhập
Biểu đồ lớp tham gia ca sử dụng
Trang 20Hình 3.3:Biểu đồ lớp tham gia ca sử dụng
2.3 Mô tả use case quản lý thông tin cá nhân
a Đặc tả use case quản lý thông tin cá nhân
Các luồng sự kiện:
Luồng cơ bản:
1 Khách hàng sẽ truy cập vào thông tin cá nhân trên website saukhi đã đăng nhập
2 Hệ thống sẽ hiển thị form thông tin của khách hàng
3 Khách hàng sẽ điền vào đúng, đủ thông tin khách hàng muốnsửa, sau đó ấn chọn “sửa”
4 Hệ thống sẽ kiểm tra thông tin và hiển thị thông báo lên mànhình “sửa thành công”
5 Hệ thống sẽ lưu thông tin vào trong CSDL
Luồng rẽ nhánh:
1 Tại bước 4 luồng cơ bản nếu xảy ra lỗi hệ thống sẽ hiển thịlên màn hình thông báo lỗi “đã có lỗi, vui lòng nhập đúng
Trang 21thông tin” Khách hàng sẽ nhập lại thông tin Use case kếtthúc
Các yêu cầu đặc biệt: Không
Tiền điều kiện: Đăng Nhập
Hậu điều kiện:Không
b Biểu đồ trình tự
hình 3.6: biểu đồ trình tự use quản lý thông tin khách hàng
c Biểu đồ lớp tham gia ca sửa dụng
Trang 22Hình 3.7: Biểu đồ lớp ca sử dụng use case quản lý thông tin khách
hàng
2.4 Mô tả use case tìm kiếm
a Đặc tả use case tìm kiếm
- Use case: tim kiem
- Actor: Khach hang
- Mô tả: User case này bắt đầu khi khách hàng truy cập vào trang web
và tìm kiếm sản phẩm mình cần tìm trong trang web
Các yêu cầu đặc biệt: Không
Tiền điều kiện: Không
Hậu điều kiện:Không
Trang 23b Biều đồ trình tự
Hình 3.9: biểu đồ trình tự use case tìm kiếm
c Biểu đồ lớp tham gia ca sử dụng
Hình 3.10: biểu đồ lớp tìm kiếm
2.5 Mô tả use case liên hệ
a Đặc tả use case liên hệ
- Mô tả vắn tắt.