Tải bản đầy đủ (.doc) (48 trang)

BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG BÁN SÁCH CHẠY TRÊN NỀN TẢNG WEB VÀ MOBILE. ThS. HÀ THỊ MINH PHƯƠNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.08 MB, 48 trang )

ĐẠI HỌC ĐÀ NẴNG
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VIỆT - HÀN

BÁO CÁO ĐỒ ÁN CHUYÊN
NGÀNH
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG BÁN SÁCH
CHẠY TRÊN NỀN TẢNG WEB VÀ MOBILE
Giảng viên hướng dẫn:
Sinh viên thực hiện:

ThS. HÀ THỊ MINH PHƯƠNG

1. Nguyễn Nguyên Ngọc Phú

17IT

2. Mai Trúc Lân

17IT152

ĐÀ NẴNG, THÁNG 12 NĂM 2020


ĐẠI HỌC ĐÀ NẴNG

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VIỆT - HÀN

BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG BÁN SÁCH CHẠY TRÊN NỀN TẢNG


WEB VÀ MOBILE

Đà Nẵng, tháng 12 năm 2020

Trang 2


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

MỞ ĐẦU
Trong những năm gần đây, cùng với sự phát triển của nhân loại thì khoa học
cơng nghệ cũng có những bước tiến vượt trội, điển hình là ngành cơng nghiệp 4.0. Với
những sự phát triển vượt bậc của công nghệ việc triển khai công nghệ vào đời sống
mỗi người cũng ngày càng hoàn thiện. Điển hình là việc nhu cầu tìm tiếm thơng tin
trên sách vở của con người ngày càng nhiều nhằm thay thế việc tìm kiếm truyền thống
giúp cải thiện cuộc sống hơn.
Trong nhiều năm trở lại đây, với nhu cầu về hội nhập ngày càng cao giữa các
quốc gia cả về kinh tế lẫn văn hóa, khiến nhu cầu về thương mại ngày càng tăng cao.
Nhưng đối với nhiều người không có thời gian để mua sắm thì việc nâng cao trong
thương mại diễn ra khá khó khăn. Chính vì vậy cần có những phần mềm, trang web và
di động để hỗ trợ việc thương mại bất cứ đâu hay bất cứ thời gian nào.
Nhờ sự tiên tiến của khoa học công nghệ và sự vượt trội từ công nghệ web và di
động, để tạo ra ứng dụng trang web chạy trên nền tảng web và mobile giúp việc tương
tác giữa người và máy một cách dễ dàng phổ biến hiện nay có thể kể đến là ứng dụng
shopee, Tiki, Sendo,…
Đọc sách là thú vui của nhiều người tuy nhiên với nhịp sống cơng nghiệp hiện
nay khơng phải ai cũng có điều kiện dạo qua các hiệu sách để tìm mua quyển sách
mình mong muốn
Hiện nay có khá nhiều trang web bán sách hoặc sự nâng cấp là tính tương tác
giữa người và máy có trên thị trường hiện nay do các ông lớn trong ngành công nghệ

tạo ra. Bên cạnh họ cũng cung cấp nhiều tư liệu về nó. Điều đó giúp ta có thể tiếp cận
việc xây dựng một trang web trở nên đơn giản hơn.


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

LỜI CẢM ƠN
Để thực hiện và hoàn thành tốt đồ án này, em đã nhận được sự giúp đỡ và hướng
dẫn rất tận tình của các thầy cô thuộc Đại Học Công Nghệ Thông Tin Và Truyền Thông
Việt Hàn – Đại Học Đà Nẵng. Em xin cảm ơn các thầy cô thuộc bộ môn chuyên ngành
đã cung cấp cho chúng em các thông tin, kiến thức vô cùng quý báu và cần thiết trong
suốt thời gian q để em có thể thực hiện và hồn thành đồ án của mình. Đặc biệt em
xin chân thành cảm ơn cô Hà Thị Minh Phương, người đã trực tiếp hướng dẫn chúng em
trong thời gian thực hiện đồ án này.
Cuối cùng, xin chân thành cảm ơn các bạn trong ngành công nghệ thông tin đã
ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được giúp chúng tơi trong
q trình nghiên cứu và thực hiện đề tài.
Do giới hạn về mặt thời gian và kiến thức cũng như kinh nghiệm thực tiễn nên đề
tài khơng tránh khỏi những sai sót. Em rất mong nhận được sự thơng cảm của q thầy
cơ và mong đón nhận những góp ý của thầy cơ và các bạn.
Em xin chân thành cảm ơn!


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

NHẬN XÉT
(Của giảng viên hướng dẫn)
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………

…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………

Đà Nẵng, ngày ….. tháng ….. năm 20…..
Giảng viên hướng dẫn

ThS.Hà Thị Minh Phương


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

MỤC LỤC
Chương 1:..................................................................................................................... 1
TỔNG QUAN VỀ ỨNG DỤNG..................................................................................1
1.1 Lý do chọn đề tài........................................................................................................................1
1.2 Mục tiêu và nhiệm vụ nghiên cứu.............................................................................................1
1.2.1 Mục tiêu....................................................................................................................................1

1.2.2 Nhiệm vụ nhiên cứu................................................................................................................1
1.3 Đối tượng và khách thể nghiên cứu:.........................................................................................2
1.3.1 Đối tượng nghiên cứu................................................................................................................2
1.3.2 Khách thể nghiên cứu...............................................................................................................2
1.4

Giới hạn đề tài..........................................................................................................................2

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

Chương 2:..................................................................................................................... 3
CƠ SỞ LÝ THUYẾT...................................................................................................3
2.1 Giới thiệu ngơn ngữ PHP...........................................................................................................3
2.1.2 PHP là gì ?................................................................................................................................3
2.1.3 Ưu điểm ngơn ngữ PHP.............................................................................................................4
2.2 Laravel là gì ?.............................................................................................................................6
2.2.1 Framework là gì? PHP Framework là gì ?...............................................................................6
2.2.2 Mơ hình MVC là gì ?..................................................................................................................7
2.2.3 Lịch sử phát triển của Laravel...................................................................................................8
2.2.4 Ưu điểm và nhược điểm của Laravel.......................................................................................8
2.2.4.1 Ưu điểm của Laravel...............................................................................................................9
2.2.4.2 Nhược điểm của Laravel.......................................................................................................10
2.2.5 Những tính năng hữu ích của Laravel.....................................................................................10
2.3 Composer và lợi ích của Composer.........................................................................................10
2.3.1 Composer là gì ?......................................................................................................................10
2.3.2 Lợi ích của Composer..............................................................................................................11
2.4 MySQL và phpMyAdmin.........................................................................................................12
2.4.1 MySQL là gì ?...........................................................................................................................12
2.4.2 Lịch sử hình thành và phát triển của MySQL..........................................................................12
2.4.3 Ưu điểm và nhược điểm của MySQL......................................................................................13

2.4.3.1 Ưu điểm của MySQL............................................................................................................13
2.4.3.2 Nhược điểm của MySQL.......................................................................................................14
2.4.4 PhpAdmin là gì ?......................................................................................................................15


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

2.4.4.1 Tính năng chung của phpMyAdmin.....................................................................................15
2.4.4.2 Ưu điểm của PhpAdmin......................................................................................................16
2.4.4.3 Nhược điểm của PhpAdmin.................................................................................................16
2.5 Android là gì ?...........................................................................................................................17
2.5.1 Tổng quan................................................................................................................................17
2.5.2 Các ứng dụng Android............................................................................................................18

Chương 3:................................................................................................................... 19
PHÂN TÍCH THIẾT KẾ HỆ THỐNG.........................................................................................19

3.1 Tổng quan về UML..............................................................................................19
3.2 Vai trò của UML...................................................................................................19
3.3 Các biểu đồ trong UML.......................................................................................19
3.3 Thiết kế hệ thống..................................................................................................21
3.3.1 Mơ tả các chức năng vai trị tác nhân trong hệ thống.........................................................21
3.3.2 Các Sơ đồ hệ thống................................................................................................................22
3.3.2.1 Sơ đồ Use-case.....................................................................................................................22
3.3.2.2 Sơ đồ tuần tự.......................................................................................................................23
3.3.2.3 Biểu đồ hoạt động...............................................................................................................24

Chương 4:................................................................................................................... 27
XÂY DỰNG TRANG WEB.......................................................................................27
4.1 Thiết kế cơ sở dữ liệu................................................................................................................27

4.1.1 Mơ hình dữ liệu......................................................................................................................27
4.2 Thiết kế giao diện trang web....................................................................................................27
4.2.1 Phần user................................................................................................................................27
4.2.1.1 Trang chủ............................................................................................................................27
4.2.1.2 Trang sách theo danh mục...................................................................................................28
4.2.1.3 Trang giới thiệu.....................................................................................................................29
4.2.1.6 Trang giỏ hàng.......................................................................................................................30
4.2.2 Phần Admin............................................................................................................................31
4.2.2.3 Trang sản phẩm.....................................................................................................................32

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.................................................................34
1 Kết luận:.......................................................................................................................................34
2 Hướng phát triển:........................................................................................................................34

DANH MỤC THAM KHẢO.......................................................................................35


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

DANH MỤC HÌNH
Hình 1 Mua bán trên mạng............................................................................................1
Hình 2 Ngơn ngữ PHP...................................................................................................4
Hình 3 PHP phát triển mạnh mẽ....................................................................................5
Hình 4 Đa số người dung chọn PHP để thiết kế web.....................................................5
Hình 5 Laravel Framework...........................................................................................6
Hình 6 Framework – thư viện với các tài ngun..........................................................7
Hình 7 Mơ hình MVC....................................................................................................8

Hình 8 Laravel 5.8 – Phiên bản nhiều cải tiến..............................................................8
Hình 9 Laravel – Ưu điểm nhưng tồn tại ít khuyết điểm................................................9
Hình 10 Laravel khơng khó khăn đối với những người đã có kiến thức cơ bản về lập
trình............................................................................................................................. 10
Hình 11 Composer - Dependency Management for PHP.............................................11
Hình 12 MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở........................12
Hình 13 MySQL là một hệ quản trị cơ sở dữ liệu quan hệ rất phổ biến hiện nay........13
Hình 14 MySQL tối ưu với nhiều ưu điểm...................................................................14
Hình 15 MySQL cũng vướng phải một số nhược điểm và đang dần hồn thiện..........15
Hình 16 Giao diện PhpAdmin trên nền web................................................................16
Hình 17 Android..........................................................................................................17
Hình 18 Lập trình Android...........................................................................................18
Hình 19 Biểu đồ Use-case............................................................................................22
Hình 20 Biểu đồ tuần tự “Đăng nhập”........................................................................23
Hình 21 Biểu đồ tuần tự “thêm vào giỏ hàng”............................................................24
Hình 22 Biểu đồ hoạt động “Thêm vào giỏ hàng”......................................................25
Hình 23 Biểu đồ hoạt động “Xem giỏ hàng”...............................................................26
Hình 24 Mơ hình dữ liệu..............................................................................................27
Hình 25 Trang chủ.......................................................................................................28
Hình 26 Sách theo danh mục.......................................................................................28
Hình 27 Trang giới thiệu..............................................................................................29
Hình 28 Trang đăng ký và đăng nhập tài khoản..........................................................29
Hình 29 Trang liên hệ..................................................................................................30
Hình 30 Trang giỏ hàng...............................................................................................30
Hình 31 Trang thanh tốn............................................................................................31
Hình 32 Trang đăng nhập của Admin..........................................................................31
Hình 33 Trang thêm danh mục sản phẩm....................................................................32
Hình 34 Trang liệt kê danh mục sản phẩm...................................................................32
Hình 35 Trang thêm sản phẩm.....................................................................................33
Hình 36 Trang liệt kê sản phẩm...................................................................................33



Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Chương 1:
TỔNG QUAN VỀ ỨNG DỤNG
1.1 Lý do chọn đề tài
Xã hội ngày càng tiến bộ, nhu cầu tiếp cận thông tin của mọi người ngày càng lớn,
nhưng thơng tin có chọn lọc lại càng là nhu cầu lớn hơn, cũng xuất phát từ nhu cầu đó
và cũng nhằm mục đích tạo một kênh mua bán sách trên mạng, phục vụ cho tất cả mọi
người, để họ có thể thuận tiện hơn trong việc tiếp cận nguồn tri thức nhân loại, trang
web sẽ phục vụ bán sách trong cả nước, giao hàng và thu tiền tận nơi.

Hình 1 Mua bán trên mạng

1.2

Mục tiêu và nhiệm vụ nghiên cứu

1.2.1 Mục tiêu
Tạo cho mọi người một trang mua bán sách mọi lúc, mọi nơi
1.2.2

Nhiệm vụ nhiên cứu

Nghiên cứu cơ sở lý thuyết về PHP, FRAMEWORK LARAVEL,MYSQL,
ANDROID.
Xây dựng chức năng hiển thị sách.
Xây dựng chức năng thêm, xóa, sửa vào các mục như sách, nhà xuất bản, chủ
đề sách…

Xây dựng chức năng upload hình ảnh đại diện cho sách.
Xây dựng chức năng thêm, sửa và xóa tài khoản đăng nhập.
Trang 1


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Xây dựng chức năng lọc các kết quả sách theo chủ đề sách, nhà xuất bản, tác
giả.
Xây dựng chức năng thanh toán.
Xây dựng chức năng tìm kiếm sách
Xây dựng chức năng tạo giỏ hàng.

1.3

Đối tượng và khách thể nghiên cứu:

1.3.1 Đối tượng nghiên cứu
Website bán hàng qua mạng.
1.3.2 Khách thể nghiên cứu
Website bằng công nghệ web (php, laravel) và Android
1.4 Giới hạn đề tài
Trang web có chức năng sau:
o Chức năng thêm xóa, sửa sách, nhà xuất bản, tác giả, chủ đề sách
o Chức năng hiển thị sách mới nhập
o Chức năng Hiển các sách cùng nhà xuất bản, tác giả, chủ đề sách.
o Chức năng Upload hình ảnh đại diện.
o Chức năng Đổi mật khẩu đăng nhập.
o Chức năng Ghi nhớ mật khẩu đăng nhập.
o Chức năng Thanh toán.

o Chức năng Tạo giỏ hàng
1.5 Phương pháp nghiên cứu
Tìm hiểu sách báo.
Tìm hiểu ở Mạng xã hội.
Tìm hiểu tại các Diễn đàn về Cơng Nghệ Thông Tin

Trang 2


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Chương 2:
CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu ngơn ngữ PHP
2.1.2 PHP là gì ?
PHP: Hypertext Preprocessor, thường được viết tắt thành PHP 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 qt. Nó 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 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.
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus
Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giả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ản này là 'Personal Home Page Tools'. Khi cần đến
các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể
truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web
đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem,
sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn.

PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số
các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu
như Perl, thơng dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này
giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán.
PHP là ngơn ngữ lập trình kịch bản viết cho máy chủ mà được nhúng trong
HTML. Nó được sử dụng để quản lý nội dụng động, Database, Session tracking, …
Nó đượ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 được khởi động, thực thi các truy vấn phức
tạp với các tập hợp kết quả 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ấu trúc đối tượng phân phối (COM và
CORBA).
Cú pháp PHP là giống C.
Trang 3


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Hình 2 Ngơn ngữ PHP
2.1.3 Ưu điểm ngôn ngữ PHP

PHP hoạt động với tốc độ rất nhanh và hiệu quả. Một server bình thường có thể
đáp ứng được hàng triệu truy cập / ngày.
PHP hỗ trợ kết nối đến hàng triệu hệ quản trị cơ sở dữ liệu khác nhau.
PHP cung cấp một hệ thống dữ liệu phong phú. Do từ đầu, PHP được xây dựng
để xây dựng và phát triển các ứng dụng trên web nên nó cung cấp rất nhiều hàm xây
dựng sẵn giúp dễ dàng thực hiện các công việc như: Gửi, nhận mail, làm việc với
Cookie…

PHP là ngôn ngữ đơn giản, dễ sử dụng cho nhiều người mới bắt đầu nhập mơn
lập trình web.
PHP có thể sử dụng được trên nhiều hệ điều hành. Thậm chí, các lập trình viên
có thể đem mã PHP này chạy trên các hệ điều hành khác mà không phải sửa đổi lại
mã.
PHP sử dụng mã nguồn mở, mang lại sự linh hoạt cho các lập trình viên trong
quá trình chỉnh sửa, sáng tạo riêng của mình.

Trang 4


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Một lợi thế rất lớn của ngơn ngữ PHP là tính cộng đồng. PHP được phát triển và
tối ưu liên tục từ các nhà phát triển trên tồn thế giới khiến cho nó vơ cùng thân thiện
với mọi người và ngày càng hoàn thiện hơn.
Phù hợp cho các doanh nghiệp vừa và nhỏ.

Hình 3 PHP phát triển mạnh mẽ

Hình 4 Đa số người dung chọn PHP để thiết kế web
Trang 5


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

2.2 Laravel là gì ?
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng
nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC. Hiện nay,
Laravel đang là PHP framework phổ biến nhất và tốt nhất.


Hình 5 Laravel Framework

Những lý do khiến Laravel trở nên rộng rãi:
o
o
o
o

Cú pháp dễ hiểu – rõ ràng
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.

2.2.1 Framework là gì? PHP Framework là gì ?
Framework chính là một thư viện với các tài ngun có sẵn cho từng lĩnh vực
để lập trình viên sử dụng thay vì phải tự thiết kế. Có Framework, lập trình viên chỉ tìm
hiểu và khai thác những tài ngun đó, gắn kết chúng lại với nhau và hoàn chỉnh sản
Trang 6


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

phẩm của mình. Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng
các lớp chương trình để xây dựng nên những phần mềm, ứng dụng thành phẩm.
PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viết
bằng ngôn ngữ PHP trở nên trôi chảy hơn. Bằng cách cung cấp 1 cấu trúc cơ bản để
xây dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp bạn thúc đẩy

nhanh chóng q trình phát triển ứng dụng. Giúp bạn tiết kiệm được thời gian, tăng sự
ổn định cho ứng dụng. Giảm thiểu số lần phải viết lại code cho lập trình viên.

Hình 6 Framework – thư viện với các tài ngun

2.2.2 Mơ hình MVC là gì ?
MVC (Model-View-Controller) là mẫu kiến trúc phần mềm trên máy tính nhằm
mục đích tạo lập giao diện cho người dùng. Theo đó, hệ thống MVC được chia thành
ba phần có khả năng tương tác với nhau và tách biệt các nguyên tắc nghiệp vụ với giao
diện người dùng.
Ba thánh phần ấy bao gồm:
o
o
o

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.
Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý,
truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…
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…
Trang 7


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Bằng cách này, thông tin nội hàm được xử lý tách biệt với phần
thông tin xuất hiện trong giao diện người dùng. Bảo đảm các ngun
tắc nghề nghiệp của lập trình viên.


Hình 7 Mơ hình MVC

2.2.3 Lịch sử phát triển của Laravel
Phiên bản đầu tiên của Laravel được Taylor Otwell tạo ra vào tháng 6 năm
2011 như một giải pháp thay thế cho CodeIgniter. Với framework này, lập trình viên
được hỗ trợ nhiều tính năng mới mẻ, hiệu quả và dễ thực hiện hơn. Cho đến nay,
Laravel đã được phát triển đến phiên bản 5.8 với nhiều cải tiến mới mẻ hơn.

Trang 8


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Hình 8 Laravel 5.8 – Phiên bản nhiều cải tiến

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

Hình 9 Laravel – Ưu điểm nhưng tồn tại ít khuyết điểm

2.2.4.1 Ưu điểm của Laravel
a. Sử dụng các tính năng mới nhất của PHP
Trang 9


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Sử dụng Laravel 5 giúp các lập trình viên tiếp cận những tính năng mới nhất mà
PHP cung cấp, nhất là đối với Namespaces, Interfaces, Overloading, Anonymous
functions và Shorter array syntax.
b. Nguồn tài nguyên vô cùng lớn và sẵn có

Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên với đa dạng
tài liệu khác nhau để tham khảo. Các phiên bản được phát hành đều có nguồn tài liệu
phù hợp với ứng dụng của mình.
c. Tích hợp với dịch vụ mail
Lavarel là framework được trang bị API sạch trên thư viện SwiftMailer, do đó,
bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local.
d. Tốc độ xử lý nhanh
Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự án lớn trong thời
gian ngắn. Vì vậy, nó được các cơng ty cơng nghệ và lập trình viên sử dụng rộng rãi để
phát triển các sản phẩm của họ.
e. Dễ sử dụng
Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất d sử dụng.
Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ với vốn kiến
thức cơ bản nhất về lập trình với PHP.
f. Tính bảo mật cao
Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ để người
dùng hồn tồn tập trung vào việc phát triển sản phẩm của mình:
o Sử dụng PDO để chống lại tấn công SQL Injection.
o Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF.
Mặc định đều được Laravel escape các biến được đưa ra view mặc định, do đó
có thể tránh được tấn công XSS.
2.2.4.2 Nhược điểm của Laravel
So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm. Vấn đề lớn
nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố
cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ.
Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang
trở nên chậm chạp.
2.2.5 Những tính năng hữu ích của Laravel
Những tính năng tuyệt vời có thể kể đến của Laravel là:
o

o
o
o
o

Composer: sử dụng để nâng cấp, cài đặt…
Eloquent ORM: thao tác với cú pháp đẹp mắt và đơn giản.
Restful API: hỗ trợ biến Laravel thành một web service API.
Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng.
View: giúp code sạch sẽ hơn rất nhiều.
Trang 10


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng
o
o
o

Migrations: hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong
bảng, tạo mối quan hệ giữa các bảng, hỗ trợ quản lý cơ sở dữ liệu.
Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật
khẩu…
Unit Testing: hỗ trợ test lỗi để sửa chữa.

Hình 10 Laravel khơng khó khăn đối với những người đã có kiến thức cơ bản về lập
trình

2.3 Composer và lợi ích của Composer
2.3.1 Composer là gì ?
Composer là một Dependency Management trong PHP, cơng cụ quản lý các thư

viện mà project Php của bạn sử dụng. Một cách chính xác hơn Composer quản lý sự
phụ thuộc các tài nguyên trong dự án. Nó cho phép khai báo các thư viện mà dự án của
bạn sử dụng, composer sẽ tự động tải code của các thư viện. Nó tạo ra các file cần thiết
vào project của bạn, và cập nhật các thư viện khi có phiên bản mới.

Trang 11


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

Hình 11 Composer - Dependency Management for PHP

2.3.2 Lợi ích của Composer
Ý tưởng của composer khơng phải là mới, nó được lấy cảm hứng từ các công cụ
như npm của Node. Phần hoạt động của nó cũng rất giống APT (có trên Ubuntu)
hay Yum (có trên CentOS), tuy nhiên composer chỉ ở phạm vi dự án Php chứ khơng
phải trên tồn bộ OS như 2 thằng trên.
Trước đây khi bạn triển khai các dự án dựa trên các, bạn sẽ phải đối mặt một số
việc sau:
o

Dự án của bạn có sử dụng một số thư viện ở ngoài. Bạn phải tải chúng
rồi cho vào folder của project rồi mới sử dụng được.

o

Một số các thư viện đó lại sử dụng (phụ thuộc) các thư viện khác.
Bạn sẽ gặp những khó khăn trong việc cập nhật phiên bản của các thư
viện. Nếu thư viện A, có sử dụng thư viện B, thư viện B sử dụng thư
viện C. Thì nếu một trong các thư viện này có update, bạn sẽ phải tự

mình lần mị về phần gốc của nó để update.

o

Tuy nhiên, cơng việc sẽ thật dễ dàng với Composer, bạn sẽ làm được:
o

Khai báo các thư viện mà dự án sử dụng. Quản lý tập trung các thư viện
đang sử dụng cho project và cả phiên bản của chúng dễ dàng qua
file composer.json.

o

Tìm các phiên bản của package có thể cài đặt và cần thiết cho dự án, sau
đó cài đặt chúng vào dự án tức là tải chúng về project.
Trang 12


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng

2.4 MySQL và phpMyAdmin
2.4.1 MySQL là gì ?
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS)
dựa trên ngơn ngữ truy vấn có cấu trúc ( SQL) được phát triển, phân phối và hỗ trợ bởi
tập đoàn Oracle. MySQL chạy trên hầu hết tất cả các nền tảng, bao gồm cả Linux ,
UNIX và Windows. MySQL thường được kết hợp với các ứng dụng web.
Với RDBMS là viết tắt của Relational Database Management
System. MySQL được tích hợp apache, PHP. MySQL quản lý dữ liệu thông qua các
cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ
liệu. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngơn ngữ SQL.

MySQL được phát hành từ thập niên 90s.

Hình 12 MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở

2.4.2 Lịch sử hình thành và phát triển của MySQL
Quá trình hình thành và phát triển của MySQL được tóm tắt như sau:
o
o
o
o

o

Cơng ty Thuy Điển MySQL AB phát triển MySQL vào năm 1994.
Phiên bản đầu tiên của MySQL phát hành năm 1995
Công ty Sun Microsystems mua lại MySQL AB trong năm 2008
Năm 2010 tập đoàn Oracle thâu tóm Sun Microsystems. Ngay lúc đó,
đội ngũ phát triển của MySQL tách MySQL ra thành 1 nhánh riêng gọi
là MariaDB. Oracle tiếp tục phát triển MySQL lên phiên bản 5.5.
2013 MySQL phát hành phiên bản 5.6
Trang 13


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng
o
o

2015 MySQL phát hành phiên bản 5.7
MySQL đang được phát triển lên phiên bản 8.0


MySQL hiện nay có 2 phiên bản miễn phí (MySQL Community Server) và có
phí (Enterprise Server).

Hình 13 MySQL là một hệ quản trị cơ sở dữ liệu quan hệ rất phổ biến hiện nay

2.4.3 Ưu điểm và nhược điểm của MySQL
2.4.3.1 Ưu điểm của MySQL
o

Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và
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.
Trang 14


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng
o

o
o
o

Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập
CSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở
cấp cao.
Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ
một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và
hơn thế nữa nó có thể được mở rộng nếu cần thiết.
Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc

rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.

Hình 14 MySQL tối ưu với nhiều ưu điểm

2.4.3.2 Nhược điểm của MySQL
o
o

Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm
với các hạn chế về chức năng mà một vào ứng dụng có thể cần.
Độ tin cậy: Cách các chức năng cụ thể được xử lý với MySQL (ví dụ tài
liệu tham khảo, các giao dịch, kiểm tốn,…) làm cho nó kém tin cậy hơn so
với một số hệ quản trị cơ sở dữ liệu quan hệ khác.
Trang 15


Đại học Công nghệ thông tin và Truyền thông Việt Hàn – Đại học Đà Nẵng
o

Dung lượng hạn chế: Nếu số bản ghi của bạn lớn dần lên thì việc truy xuất
dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện
pháp để tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều
server, hoặc tạo cache MySQL

Hình 15 MySQL cũng vướng phải một số nhược điểm và đang dần hồn thiện

2.4.4 PhpAdmin là gì ?
PhpMyAdmin là một cơng cụ nguồn mở được viết bằng ngôn ngữ PHP để giúp
người dùng quản lý cơ sở dữ liệu của MySQL thơng qua một trình duyệt web. Đây là
cơng cụ quản trị MySQL phổ biến nhất được sử dụng bởi hàng triệu người dùng trên

toàn thế giới, đặc biệt là các nhà quản trị cơ sở dữ liệu hay database administrator.
Trang 16


×