lOMoARcPSD| 60820047
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG
KỲ THI KẾT THÚC HỌC PHẦN HỌC KỲ
NĂM HỌC 20232024
ĐỀ TÀI BÀI TẬP LỚN: “XÂY DỰNG HỆ
THỐNG QUẢN LÝ BÁN GIÀY ONLINE”
Họ và tên sinh viên : Nguyễn Bảo Khánh
Nguyễn Đức Anh
Nguyễn Tuấn Phong
Thanh Liêm
Vũ Đức Duy
Cao Lê Nhật Minh
Lớp: DH11C13
Tên học phần: Phát triển ứng dụng trên nền Web
Giảng viên hướng dẫn: Văn Huân
Hà Nội - 2023
lOMoARcPSD| 60820047
MỤC LỤC
DANH MỤC HÌNH...................................................................................................4
DANH MỤC BẢNG..................................................................................................6
LỜI CẢM ƠN............................................................................................................7
CHƯƠNG 1: TỔNG QUAN BÁO CÁO...................................................................8
1.1 Giới thiệu dự án................................................................................................8
1.2. Mục đích và mục tiêu báo cáo.........................................................................8
1.2.1. Mục đích báo cáo.....................................................................................8
1.2.2. Mục tiêu báo cáo......................................................................................8
1.3. Lĩnh vực..........................................................................................................8
1.4. Yếu tố công nghệ.............................................................................................8
1.5. Xác định các yêu cầu chức năng của hệ thống................................................8
1.6. Cơ sở lý thuyết................................................................................................9
1.6.1. Ngôn nglp trình PHP....................................................................9
1.6.2. HTML, CSS và JavaScript.....................................................................16
1.6.3 Môi trường phát trin ng dng......................................................17
1.6.4 Thanh toán điện tử VNPAY...................................................................18
1.7 Mô hình xây dựng dự án................................................................................19
1.7.1 Mô hình xoắn ốc là gì ?...........................................................................19
1.7.2 Khi nào nên sử dụng mô hình xoắn ốc....................................................21
1.7.3 Ưu điểm...................................................................................................21
1.7.4 Nhược điểm.............................................................................................21
1.7.5 Kết luận...................................................................................................22
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ...................................................................22
2.1. Xác định usecase của các tác nhân................................................................22
2.1.1. Đăng kí...................................................................................................22
2.1.2. Đăng nhập..............................................................................................22
2.1.3. Đơn hàng................................................................................................22
2.1.4. Quản lý giỏ hàng....................................................................................22
2.1.5. Tìm kiếm giày theo tên, giá...................................................................23
lOMoARcPSD| 60820047
2.1.6. Quản lý danh mục..................................................................................23
2.1.7. Quản lý sản phẩm giày...........................................................................23
2.1.8. Quản lý tài khoản...................................................................................23
2.2. Xác định các tác nhân...................................................................................23
2.2.1 Khách hàng, người truy cập website.......................................................23
2.2.2 Người Quản trị........................................................................................23
2.3. Xác định các trường hợp sử dụng (use-case)................................................23
2.3.1 Khách hàng..............................................................................................23
2.3.2 Người quản trị.........................................................................................23
2.4. Biểu đồ Usecasse tổng quát..........................................................................24
2.4.1 Đăng kí...................................................................................................25
2.4.2 Đăng nhập..............................................................................................25
2.4.3 Tra cứu sản phẩm giày...........................................................................26
2.4.4 Đặt hàng (thanh toán)..............................................................................27
2.4.5 Quản lý danh mục...................................................................................27
2.4.6 Quản lý sản phẩm....................................................................................28
2.4.7 Quản lý đơn đặt hàng..............................................................................29
2.4.8 Quản lý thông tin tài khoản quản trị........................................................30
2.5. Biểu đồ hoạt động.........................................................................................31
2.5.1. Biểu đồ hoạt động chức năng đăng kí....................................................31
2.5.2. Biểu đồ hoạt động chức năng đăng nhập...............................................33
2.5.3. Biểu đồ hoạt động chức năng tìm kiếm sản phẩm.................................35
2.5.4 Biểu đồ hoạt động chức năng đặt hàng...................................................37
2.5.5. Biểu đồ hoạt động chức năng quản lý danh mục...................................39
2.5.6 Biểu đồ hoạt động chức năng đặt hàng (thanh toán)...............................41
2.5.8. Biểu đồ hoạt động chức năng quản lý tài khoản quản trị.......................43
2.6. Giao diện người dùng....................................................................................45
2.6.1. Giao diện đăng nhập...............................................................................45
2.6.2. Giao diện trang chủ................................................................................45
2.6.3. Giao diện sản phẩm................................................................................46
lOMoARcPSD| 60820047
2.6.4. Giao diện sản phẩm chi tiết....................................................................46
2.6.5. Giao diện giỏ hàng và đặt hàng..............................................................47
2.7. Giao diện quản lý..........................................................................................47
2.7.1. Giao diện quản lí đơn hàng....................................................................48
2.7.2. Giao diện quản lí danh mục...................................................................48
2.7.3. Giao diện quản lí sản phẩm....................................................................49
2.7.2. Giao diện quản lí thành viên..................................................................49
CHƯƠNG 3: ĐÁNH GIÁ........................................................................................50
3.1. Những điểm đạt được....................................................................................50
3.1.1. Về website:.............................................................................................50
3.1.2. Về kinh nghiệm làm việc:......................................................................50
3.2. Hạn chế..........................................................................................................50
KẾT LUẬN..............................................................................................................50
TÀI LIỆU THAM KHẢO........................................................................................51
DANH MỤC HÌNH
Hình 2.1 Biểu đồ Usecase tổng quát
Hình 2.2. Sơ đồ phân rã chức năng đăng ký
Hình 2.3. Biểu đồ Usecase chức năng đăng nhập
Hình 2.4 Biểu đồ Usecase phân rã chức năng tra cứu giày
Hình 2.5 Biểu đồ Usecase phân rã chức năng đặt mua
Hình 2.6 Biểu đồ Usecase phân rã chức năng quản lý danh mục
Hình 2.7 Biểu đồ Usecase phân rã chức năng quản lý sản phẩm
Hình 2.8 Biểu đồ Usecase phân rã chức năng quản lý đơn hàng
Hình 2.9 Biểu đồ Usecase phân rã chức năng quản lý tài khoản quản trị viên
Hình 2.10 Biểu đồ hoạt dộng chức năng đăng kí
Hình 2.11 Biểu đồ tuần tự chức năng đăng kí
lOMoARcPSD| 60820047
Hình 2.12 Biểu đồ hoạt dộng chức năng đăng nhập
Hình 2.13 Biểu đồ tuần tự chức năng đăng nhập
Hình 2.14 Biểu đồ hoạt dộng chức năng tìm kiếm sản phẩm
Hình 2.15 Biểu đồ tuần tự chức năng tìm kiếm sản phẩm
Hình 2.16 Biểu đồ hoạt động chức năng quản lý đơn đặt hàng
Hình 2.17 Biểu đồ tuần tự chức năng quản lý đơn đặt hàng
Hình 2.18 Biểu đồ hoạt động chức năng quản lý danh mục
Hình 2.19 Biểu đồ tuần tự chức năng quản lý danh mục
Hình 2.20 Biểu đồ hoạt động chức năng đặt hàng
Hình 2.21 Biểu đồ tuần tự chức năng đặt hàng
Hình 2.22 Biểu đồ hoạt động chức năng quản lý tài khoản quản trị
Hình 2.23 Biểu đồ tuần tự chức năng quản lý tài khoản quản trị
Hình 2.24 Giao diện đăng nhập và đăng ký
Hình 2.25 Giao diện trang chủ
Hình 2.26 Giao diện trang sản phẩm
Hình 2.27 Giao diện trang sản phẩm chi tiết
Hình 2.28 Giao diện trang đặt hàng
Hình 2.29 Giao diện quản lí đơn hàng
Hình 2.30 Giao diện quản lí danh mục
Hình 2.31 Giao diện quản lí sản phẩm
Hình 2.32 Giao diện quản lí thành viên
DANH MỤC BẢNG
Bảng 1: Mô tả usecase đăng kí
Bảng 2: Mô tả usecase đăng nhập
Bảng 3 : Mô tả usecase tra cứu đầu sách
Bảng 4: Mô tả usecase quản lý đặt mua
Bảng 5: Mô tả usecase quản lý danh mục
Bảng 6 : Mô tả usecase quản lý sản phẩm giày
Bảng 7 : Mô tả usecase quản lý đơn hàng
lOMoARcPSD| 60820047
Bảng 8 Mô tả usecase quản lý tài khoản quản trị viên
lOMoARcPSD| 60820047
LỜI CẢM ƠN
Để hoàn thành được báo cáo kết thúc môn học này, trước hết em xin gửi lời cảm ơn
chân thành nhất đến Cán bộ Giảng viên Khoa Công nghệ Thông tin, Đồng thời em xin gửi
lời cảm ơn đặc biệt về sự chỉ dạy, hướng dẫn tận tình của Giảng viên Dương Thị Thuý đã
luôn tận tình hướng dẫn, giúp đỡ trong suốt thời gian thực hiện báo cáo kết thúc môn.
Nhóm em cũng xin gửi lời cảm ơn tới Khoa Công nghệ Thông tin – Trường Đại Tài
Nguyên và Môi Trường đã luôn quan tâm và tạo điều kiện giúp em hoàn thành báo cáo kết
thúc môn này. Ngoài ra, nhóm em xin cảm ơn những người bạn đã giúp đỡ trao đổi thêm
nhiều thông tin về đề tài trong quá trình thực hiện đề tài này.
Do kiến thức còn hạn chế, bài báo cáo của em không tránh khỏi những sai sót.Rất
mong nhận được những lời góp ý từ quý Thầy để báo cáo kết thúc môn học củaem được
hoàn thiện và giúp em có thêm những kinh nghiệm quý báu.
Cuối cùng, em xin kính chúc các thầy cô giảng viên trường Đại học Tài Nguyên
Môi Trường nói chung, các thầy cô khoa công nghệ thông tin nói riêng dồi dào sức khỏe
thành công trong sự nghiệp cao quý.
lOMoARcPSD| 60820047
CHƯƠNG 1: TỔNG QUAN BÁO CÁO
1.1 Giới thiệu dự án
Ứng dụng công nghệ thông tin trong việc quản lí bán hàng dường như không còn xa
lạ với các doanh nghiệp, công ty hiện nay. Lợi ích các chương trình phần mềm quản lí
bán hàng đem lại khiến ta không thể không thừa nhận tính hiệu quả của nó. Hiện nay, việc
bán hàng online đang rất phổ biến. Các doanh nghiệp công ty lớn, nhỏ đều rót vốn đầu
tư vào thị trường online.
Do đó dự án xây dựng phát triển một chương trình hoàn chỉnh ứng dụng những
kỹ thuật công nghệ mới nhất để giúp cho việc quảng sản phẩm củadoanh nghiệp được
mọi người biết đến rộng rãi trên toàn quốc. Để quản lý việc bán hàng online một cách hiệu
quả nâng cao. Chính thế chúng em đã chọn đề tài “Xây dựng hệ thống quản bán
giày online”.
1.2. Mục đích và mục tiêu báo cáo
1.2.1. Mục đích báo cáo
Dùng công nghệ PHP, MYSQL để xây dựng lên hệ thống website n giày online
thuận tiện cho việc mua bán online và tiết kiệm thời gian hơn.
1.2.2. Mục tiêu báo cáo
Đáp ứng được tiêu chuẩn của một website
Cấu trúc khoa học, chặt chẽ, rõ ràng, dễ dàng điều hướng, khai thác, chỉnh sửa.
Thân thiện với người sử dụng.
Tương thích với các trình duyệt web khác nhau, nội dung được tối ưu, tốc độtải/nạp
trang web nhanh.
Hoạt động ổn định và bảo mật.
Đáp ứng các chức năng khách hàng yêu cầu (quảng bá sản phẩm và bánhàng trực tiếp
qua mạng).
1.3. Lĩnh vực
Chuyên ngành: Công nghệ phần mềm.
Chuyên môn: lập trình web. Sử dụng ngôn ngữ HTML, CSS, PHP, MYSQL,
Javascript, để xây dựng trang web.
Lĩnh vực liên quan: thương mại điện tử.
1.4. Yếu tố công nghệ
Hệ điều hành window
Phần mềm Visual studio code
Website sẽ chạy được trên các trình duyệt web
lOMoARcPSD| 60820047
1.5. Xác định các yêu cầu chức năng của hệ thống
Chức năng đăng nhập,đăng xuất
Chức năng tìm kiếm giày
Chức năng quản lý danh mục
Chức năng quản lý đơn đặt hàng
Chức năng tài khoản quản trị viên
1.6. Cơ sở lý thuyết
1.6.1. Ngôn nglp trình PHP
1.6.1.1. Giới thiệu
PHP là viết tt ca từ “PHP: Hypertext Preprocessor”, đây là một ngôn nglp trình
kch bn hay mt loi mã lnh chyếu được dùng để phát trin các ng dng viết cho máy
ch, mã ngun m, mc êu chính ca ngôn nglà cho phép các nhà phát trin viết ra các
trang web động mt cách nhanh chóng. Nó rt phù hợp để phát trin web thddàng
nhúng vào các trang HTML. Do được ti ưu hóa cho các ng dng web, tốc độ nhanh, nh
gn, cú pháp ging C và Java, dhc và thi gian xây dng sn phẩm tương đối ngắn hơn so
với các ngôn ngkhác nên PHP đã nhanh chóng trở thành mt ngôn nglp trình web ph
biến nht thế gii.
1.6.1.2. Lịch sử hình thành và phát triển
PHP đưc phát trin tmt sn phm tên PHP/FI do Rasmus Lerdorf tạo ra
năm 1994, ban đầu được xem như một tập con đơn giản ca các kch bản Perl để theo
dõi nh hình truy cập đến bản yếu lch ca ông trên mng. o tháng 11 năm 1997,
PHP/FI 2.0 được chính thc công b, sau mt thi gian khá dài chỉ được công bdưới dng
các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bi các bản alpha đầu ên ca
PHP 3.0 phiên bản đu ên cho chúng ta thy mt hình nh gần gũi với các phiên bản
PHP mà chúng ta được biết ngày nay.
PHP 3.0 đã chính thức được công bvào tháng 6 năm 1998, sau thời gian 9 tháng
được cộng đồng kim nghiệm. PHP 3.0 đã được Andi Gutmans Zeev Suraski to ra sau
khi viết li hoàn toàn bmã nguồn trước đó. Lý do chính hđã tạo ra phiên bn này là
do hnhn thy PHP/FI 2.0 hết sc yếu kém trong vic phát trin các ng dụng thương mại
điện thđang xúc tiến trong mt dán của trường đại hc. Mt trong nhng sc
mnh ln nht ca PHP 3.0 là các nh năng mở rng mnh mca nó. Ngoài khnăng cung
cấp cho ngưi dùng cui một sở htng cht chdùng cho nhiều sở dliu, giao thc
API khác nhau, các tính năng mở rng ca PHP 3.0 đã thu hút rất nhiu nhà phát trin
tham gia và đề xuất các mô đun mở rng mi.
Tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời, phiên bn PHP 4.0 chính
thức được công b. Ngoài tốc độ xđược ci thin rt nhiu, PHP 4.0 đem đến các tính
năng chyếu khác gm có shtrnhiu máy chủ Web hơn, hỗ trphiên làm vic HTTP,
to bđệm thông tin đầu ra, nhiu cách xthông n người sdng nhp vào bo mật
lOMoARcPSD| 60820047
hơn và cung cấp mt vài các cu trúc ngôn ngmi. Vi PHP 4, snhà phát trin dùng PHP
đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khong 20% s
tên min trên mng Internet.
Sau sthành công của PHP 4.0, ngày 13 tháng 7 năm 2004 PHP 5.0 chính thc ra
mt sau mt thi gian khá dài tung ra các bn kim tra thbao gm Beta, RC. Mặccoi
đây phiên bản sn xuất đầu tiên nhưng PHP 5.0 vn còn mt slỗi trong đó đáng kể
li xác thc HTTP. Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 đưc PHP Team công b
đánh dấu schín mui mi ca PHP vi smt ca PDO, mt nlc trong vic to ra
mt hthng API nht quán trong vic truy cập cơ sở dliu và thc hin các câu truy vn.
Ngoài ra, trong PHP 5.1, các nhà phát trin PHP ếp tc có nhng ci ến trong nhân Zend
Engine 2, ng cp đun PCRE lên bản PCRE 5.0 cùng những tính năng cải ến mi
trong SOAP, streams và SPL.
Hin nay phiên bn ếp theo của PHP đang được phát trin, Phiên bn PHP 6 được
k vng s lấp đầy nhng khiếm khuyết ca PHP phiên bn hin tại, như là: h tr
namespace, htrUnicode, sdng PDO m API chun cho vic truy cập sở dliệu,
các API cũ sẽ bị đưa ra thành thư viện PECL... Phiên bn 6 này chng vic nghiên cu
và thnghim. PHP 7 vi vic sdng bnhân Zend Engine mi PHPNG cho tốc độ nhanh
gp 2 ln. Ngoài ra phiên bn này còn thêm vào rt nhiều pháp, tính năng mới giúp cho
PHP trnên mnh mhơn. Những tính năng mới quan trng thkđến như: khai báo
kiểu dliu cho biến, xác định kiu dliu strvcho 1 hàm, thêm các toán tmi...
1.6.1.3. Ưu điểm của PHP
PHP là ngôn ngngun m, có thchạy được trên cApache và IIS do đó so với
ASP.NET thì phbiến nhiều hơn, điều đó được minh chng bng slượng các website
được thiết kế bng ngôn ngPHP hin nay. Cu trúc PHP cc kđơn giản, vy nên bn s
không mt nhiu thời gian để thhọc được. Mt khi đã m ch được HTML C, bn
hoàn toàn có thlàm chủ được ngôn nglp trình này.
Thư viện ca PHP ng phong phú, hthng CMS miễn phí dùng tương đối nhiều,
cũng như được cộng đồng htrmt cách vô cùng mnh m. Vy nên bn thddàng
m ngun tài liu mình cần cũng như có thể nhận được shtrmt cách nhanh nht.
Do chạy được trên máy chApache và thường đi cp cùng vi hqun
trsdliu MySQL nên việc cài đặt môi trường phát triển ng đơn giản, thông
qua mt bcài đặt duy nhất như là: XAMPP trên windows linux, MAMP trên MacOS...
lOMoARcPSD| 60820047
Hình 1.2 Top các ngôn ngữ phổ biến 01/2018 chỉ số PYPL
1.6.1.4. PHP Framework
Framework là mt bmã nguồn được xây dng, phát triển và đóng gói phân phi
bi các chuyên gia lp trình hoc bi các công ty lp trình. scung cp mt cu trúc
phát trin chuẩn để các developer dựa vào đó xây dựng phát trin các dán. Đi kèm
theo nó một kho thư viện gm nhiu lp/hàm x được đặt trong các packages hoc
namespace riêng. Các chuyên gia lp trình s dng nhiu k thut lp trình gii
thut/thuật toán để xây dng các lp xmt cách tối ưu nhất, gii quyết các bài toán
lp trình nhanh chóng và chính xác. Các lp trong mt framework slàm vic tt nht vi
cu trúc chuẩn mà framework đó cung cp.
Nhắc đến shtrmnh mca cộng đồng cho ngôn nglp trình
PHP thì chc chn phi k ti s đa dạng ca các PHP Framework: Laravel, Symfony,
Codeigniter, CakePHP... Các PHP Framework đều được xây dng theo chun mô hình MVC
(Model View Controller) và cung cp rt nhiu lp htrxlý vbo mt, phân quyền,
lOMoARcPSD| 60820047
captcha, view helper, module manager, database, service… khi đó các lp trình viên sy
dng, phát trin website mt cách ddàng và nhanh chóng.
PHP framework làm cho sphát trin ca nhng ng dng web viết bng ngôn ng
PHP trnên trôi chảy hơn, bằng cách cung cp 1 cấu trúc cơ bản để y dng nhng ng
dụng đó. Hay nói cách khác, PHP framework giúp đỡ các bn thúc đẩy nhanh chóng quá
trình phát trin ng dng, giúp bn ết kiệm được thi gian, tăng sự ổn định cho ng
dng, gim thiu sln phi viết li cho lp trình viên. Ngoài ra Framework còn giúp
những người mi bắt đu thy dng các ng dng ổn định hơn nhờ việc tương tác
chính xác giữa các Database, (PHP) giao din (HTML) mt cách riêng biệt. Điều này
cho phép bn dành nhiu thời gian để to ra các ng dụng web, n phí thời gian để
viết các đoạn mã lp li trong mt project.
Ý tưởng chung đằng sau cách thc làm vic ca một PHP framework được kể đến là
Model View Controller (MVC). MVC 1 nh (kiến trúc) trong lp trình, cho phép tách
bit các nghip v(business logic) và giao din (UI) thành các phn riêng biệt, điều này
đồng nghĩa với vic ta thchnh sa chúng 1 cách riêng l. Trong cm tMVC thì:
Model (M) thhiu phn xcác thao tác vnghip v(business logic), View (V)
được hiu là phn xlý lp giao din (presentaon layer), và Controller (C) làm nhim v
lọc các request đc gọi tuser, chức năng như 1 route: điều chnh, phân lung các yêu
cầu để gọi đúng Model & View thích hp. Vbản, MVC chia nhquá trình x ca 1
ng dng, thế n bn thlàm vic trên tng thành phn riêng l, trong khi nhng
thành phn khác skhông bảnh ng ti. Thc chất, điều này giúp đỡ bn lp trình
PHP nhanh hơn và ít phức tạp hơn.
Trong vài năm qua, PHP đã tiến trin thành 1 ngôn ngữ script được la chn bi hu
hết các nhà phát triển website, đã có 1 sự ng nvcác PHP framework,
lOMoARcPSD| 60820047
Hình 1.3 Top các PHP framework phbiến
Dẫn đến các cuc tranh lun ln v đề tài: PHP framework nào tt nht, bi
thc tế không phi tt ccác framework đều được y dng trên khuôn khdành cho
nhiều người sdụng. Dưới đây 3 framework được đánh giá tốt phbiến nht
hin nay:
Laravel
Laravel ra mt vào cui tháng 04-2011 nhưng đã gây đưc schú ý lớn đối vi cộng
đồng PHP framework. Laravel được to ra bi Taylor Otwell. Nó là 1 framework khá mi
mẻ nhưng bù lại nó có “hướng dn sdụng” ( Document ) khá đầy đủ, rõ ràng và dhiu
nhiều ưu điểm hp dn. Chính ra đời sau, khc phục được nhng thiếu xót của
các framework đàn anh, nên đang nắm givtrí smt vđộ phbiến hin nay vi
nhiều tính năng mạnh m:
- Route trong Laravel tht skhác bit, mi mđầy mnh m. Mọi url đều
có thqun lý trong le route.
- Master layout được ch hp sn cùng Blade template giúp code ca chúng ta
trên nên gn gàng và n dng. Các le layout có thddàng extend ca nhau giúp code
ngn gn, dqun lý.
- Migraon qun lý database tht ddàng khi làm việc đội nhóm.
- Eloquent class đầy mnh mni bt khi x sở dliu quan h1N
NN, tối ưu tất ccác câu truy vn.
lOMoARcPSD| 60820047
- Composer qun ch hợp các thư viện khác tht hay và không lo lng khi
thư viện đó bị thay đổi, laravel có đầy đủ các thư viện cơ bản đủ để thc hin mi yêu cu
ca chúng ta.
- Document dđọc, dhiểu đầy đủ các dụ. Tuy ra đi muộn hơn các
framework khác nhưng laravel lại có hướng dn chi ết đầy đủ dngay ti trang ch,
các ví vđể đọc đễ hiu, cộng đồng phát trin rng ln và luôn luôn được update kp thi.
- Eloquent ORM: đây một ORM tuyt vi vi khnăng migration data
làm vic tt vi MySQL, Postgres, SQL Server SQLite, MongoDB. Các câu truy vn
database dhiu, nhanh chóng.
- Package-libery phong phú, đa dạng, đáp ng được hu hết các nhu cu bn
ca chúng ta.
- User authentication đưc ch hp sn, lp trình viên chcn gi class
thsdng theo ý mun.
Symfony
Ra mắt năm 2005, là một framework mnh m, Symfony là skết hp gia nh
vng bn ca PHP, stdo ca Open Soure với đặc nh dbo trì ca mt lập trình
được thiết kế theo hình MVC (Model-ViewController). Symfony mt framework
Open Source viết bng ngôn nglp trình PHP5. Symfony giúp phát trin ng dng web
thiết kế theo yêu cu. Mt cộng đồng rng ln các lập trình viên đảm bo vkhnăng phát
triển, tính linh động, tdo và ết kim chi phí cho các dán được phát trin với Symfony,
đây cũng những đặc nh Sutunam luôn chú trọng đưa vào các gii pháp Open
Source ca mình. Trên hết, cùng vi Drupal, phpBB ezPublish, Symfony2 hiện đang
một trong nhng phiên bn hthng qun trni dung (CMS) mi nhất được viết bng
PHP. Symfony có những ưu điểm như:
- Dcài đặt cu hình trên hu hết các hđiều hành được bảo đảm làm
vic tt trên các hệ điều hành chun *nix(Linux và Unix) và Windows
- Độc lp vi hệ cơ sdliu
- Ddùng trong hu hết các trường hợp nhưng vẫn đủ mm dẻo để thích nghi
vi những trường hp phc tp.
- Hoạt động theo cấu hình định trước lp trình viên chcn cu hình trong
những trường hp riêng biệt không theo quy ước.
- Tuân theo nhng hoạt động và mu thiết kế tt nht
- Sẵn sàng cho môi trường xí nghip thích nghi vi nhng chính sách và kiến
trúc công nghthông tin và đủ ổn định cho nhng dán dài hn.
- Mã rt dễ đọc, vi nhng chú thích kiu phpDocumentor, ddàng bo trì
- Ddàng mrng, cho phép ch hp vi những thư viện khác
lOMoARcPSD| 60820047
CodeIgniter
CodeIgniter là mt nn tng ng dng web ngun mđược viết bng ngôn ngPHP
bi Rick Ellis (CEO ca EllisLab, Inc). Phiên bản đầu tiên được phát hành ngày 28.02.2006,
phiên bn hin ti: 3.1.4 (phát nh ngày 2017.03.20). Ý tưởng y dng CodeIgniter được
da trên Ruby on Rails, mt nn tng ng dng web được viết bng ngôn ngRuby. Hin
tại, CodeIgniter đang được phát trin bi ExpressionEngine Development Team thuc
EllisLab, Inc. CodeIgniter có những điểm ni bật như:
- Được thiết kế theo mô hình Model-View-Controller: Mô hình MVC giúp tách
thành phn hin thgiao din (presentaon) và xlý (business logic) ca mt phn mm
thành nhng thành phần độc lp, t đó giúp cho việc thiết kế, xvà bo trì ngun
dễ dàng, đồng thời tăng khả năng mở rng ca phn mm. CodeIgniter vn dng mô hình
này trong thiết kế, giúp tách bit các tp n giao din vi các tp n xdliu, nâng
cao khả năng quản lý và dbo trì.
- Nhgọn: Gói cài đặt ch404KB (không bao gm phn User Guide). So vi
các PHP framework khác như CakePHP (1.3MB), Symfony (5.08MB) hay Zend
Framework (5.66MB)…kích thước ca CodeIgniter giúp gim thiểu đáng kể không gian
lưu trữ.
- Tốc độ nhanh: CodeIgniter được đánh giá PHP framework tốc độ nhanh
nht hin nay. Bằng chế lưu nội dung vào bđệm (cache), kim tra bđệm trước khi
ến hành thc hin yêu cu, CodeIgniter gim sln truy cp và xdliu, từ đó tối ưu
hóa tốc độ ti trang.
- Miễn phí: CodeIgniter được phátt hành dưới giy phép Apache/BSD mrộng,
cho phép người dùng tự do thay đổi, phát trin và phân phi mã ngun.
- HtrSearch Engine Opmizaon: Cu trúc URL ca CodeIgniter rt thân
thin vi các robot m kiếm
- Hthống thư viện phong phú: CodeIgniter cung cấp các thư viện phc vcho
nhng tác vthường gp nht trong lp trình web, chng hạn như truy cập sdliu,
gi email, kim tra dliu, qun session, xảnh…đến nhng chc năng nâng cao
như XML-RPC, mã hóa, bo mật…
- Bo mt hthống: Cơ chế kim tra dliu cht chẽ, ngăn ngừa XSS và
SQL Injecon ca CodeIgniter giúp gim thiểu các nguy cơ bảo mt cho hthng.
Trên đây lit kê mt số tính năng, đặc điểm ni bt ca 3 php framework phbiến hin
nay, mi Framework có một tính năng đặc điểm riêng, tùy theo tng đặc điểm ca d
án, khách ng ta thchn mt framework phù hp. Trong khuôn khđồ án tt
nghiệp này, nhóm chúng em đã lựa chọn Laravel để phát triển đồ án.
1.6.2. HTML, CSS và JavaScript
1.6.2.1. HTML
lOMoARcPSD| 60820047
HTML chviết tắt cho “HyperText Markup Language”, hay "Ngôn ngữ Đánh
dấu Siêu văn bản" là mt ngôn ngữ đánh dấu được thiết kế ra để to nên các trang web vi
các mẩu thông tin được trình bày trên World Wide Web. Cùng vi CSS và JavaScript, HTML
to ra bba nn tng kthut cho World Wide Web. HTML được định nghĩa như một
ng dụng đơn giản ca SGML được sdng trong các tchc cần đến các yêu cu xut
bn phc tạp. HTML đã trở thành mt chun Internet do t chc World Wide Web
Consorum (W3C) duy trì.
HTML được sáng to bi Tim Berners-Lee, nhà vt lý hc ca trung tâm nghiên cu
CERN Thụy Sĩ. Anh ta đã nghĩ ra được ý tưởng cho hthng hypertext trên nn Internet.
Anh xut bn phiên bản đầu ên của HTML trong năm 1991 bao gm 18 tag HTML. Từ đó,
mỗi phiên bn mi của HTML đều thêm tag mi và aributes mi. Nâng cp mi nht
gần đây là vào năm 2014, khi ra mắt chun HTML5.
1.6.2.1. CSS
CSS chviết tắt cho “Cascading Style Sheets”, được sdụng để tgiao diện
và định dng ca mt tài liu viết bng ngôn ngữ đánh dấu (markup). Nó cung cp một tính
năng bổ sung cho HTML. thường được sdng vi HTML để thay đổi style ca trang
web và giao diện người dùng. Nó cũng có thể được sdng vi bt kloi tài liu XML nào
bao gm cả XML đơn giản, SVG và XUL.
CSS được phát trin bởi W3C (World Wide Web Consortium) vào năm 1996, nhm
mục đích: Hạn chế ti thiu vic m ri HTML ca trang Web bng các thquy định
kiu dáng khiến mã ngun của trang Web được gọn gàng hơn, tách ni dung của trang Web
định dng hin th, ddàng cho vic cp nht ni dung; To ra các kiu dáng tháp
dng cho nhiu trang Web, giúp tránh phi lp li việc định dng cho các trang Web ging
nhau.
Giống như HTML, CSS không thực smt ngôn nglp trình mt ngôn
ngđịnh kiu style. Điều này nghĩa cho phép bạn áp dng kiu có chn lc cho
các phn ttrong tài liu HTML.
1.6.2.1. JavaScript
JavaScript là mt ngôn nglp trình kch bản đa nền tng (cross-plaorm), hướng đối
tượng. chyếu đưc sdụng để ng ng cung cp tri nghim thân thiện hơn với
người dùng website như bao gồm các trang web cp nht tđộng, ci ến giao diện
người dùng như menu hộp thoại, hình động, đồ ha 2D 3D, bn đồ tương tác, trình
phát video... JavaScript một ngôn ngnhnh, chạy trong môi trường máy chlưu
trữ (trình duyt web). Nó có thđược kết ni với các đối tượng của môi trường để cung cp
kiểm soát chương trình đối vi chúng.
JavaScript được phát trin bi Brendan Eich ti Hãng truyn thông Netscape với cái
tên đầu ên Mocha, rồi sau đó đổi tên thành LiveScript, cui cùng thành JavaScript.
lOMoARcPSD| 60820047
Giống Java, JavaScript pháp tương tự C, nhưng gần vi Self hơn Java. Hiện nay
phiên bn mi nht ca JavaScript là ECMAScript 7 vi nhiu ci ến vượt bc so vi phiên
bn n nhim.
JavaScript ngôn ngkch bn phía máy khách (client-side) duy nht. Do đó, được
sdng trên hu hết các trang web mà bn nhìn thy trên internet. Tuy nhiên cú pháp ca
cùng ln xn khó làm chủ, do đó Jquery – một thư viện của JavaScript ra đời nhm
giúp lp trình viên y dng nhng chức năng sử dng Javascript trn ddàng n
như: đơn giản hóa vic duyt tài liu HTML, xskin, hot ảnh tương tác Ajax để
phát trin web nhanh chóng... jQuery mt bcông cJavaScript gn nhnhưng đầy
mnh mẽ, được chng minh qua hơn 90% các website trên thế gii sdng (trcác website
chy bng JavaScript Framework).
1.6.3 Môi trường phát trin ng dng
1.6.3.1. Apache WebServer
Apache là mt phn mm mã ngun mmiễn phí được cài đặt trên các máy chweb
server (phn cứng) để xcác yêu cu gi ti y chdưới giao thc HTTP. Tên chính thc
của Apache là Apache HTTP Server, được điu hành phát trin bi Apache Soware
Foundaon. Apache là mt trong snhng web server lâu đời và đáng tin cậy nht, phiên
bản đầu tiên đã được ra mt từ hơn 20 năm trước, tn những năm 1995.
Apache WebServer phân ch các yêu cu ttrình duyệt, sau đó xử yêu cu vi các
le ngôn nglập trình như PHP, Python, Java,... thành file HTML trvcho người
dùng web trên trình duyệt để hin th.
1.6.3.1. MySQL
MySQL hqun trsdliu tdo ngun mphbiến nht thế gii được
các nhà phát trin rất ưa chuộng trong quá trình phát trin ng dụng, đặc bit là các ng
dng website và nó thường đi kết hp vi ngôn nglp trình PHP để xây dng các ng dng
website. MySQL được các hthống web ưa chuộng là vì tốc độ xlý cao, dsdng, ổn
định, và tương thích vi các hđiều hành thông dng hin nay như Linux, Window, Mac
OS X, Unix, FreeBSD
1.6.3.1. XAMPP
Apache MySQL hai yếu tcn thiết cấu thành nên môi trường phát trin ng
dng web bng ngôn ngPHP. Do đó XAMPP ra đời nhm mục đích kết hp tt ccác yếu
tcu thành WebServer trong một chương trình.
XAMPP chương trình tạo máy chủ Web (Web Server) được ch hp sn Apache,
PHP, MySQL, FTP Server, Mail Server các công cnhư phpMyAdmin. XAMPP chương
trình quản lý khá n li, cho phép chủ động bt tt hoc khởi động li các dch vmáy ch
lOMoARcPSD| 60820047
bt klúc nào. Nhìn chung XAMPP được xem mt bcông choàn chnh dành cho lp
trình viên PHP trong vic thiết lp và phát trin các website.
1.6.4 Thanh toán điện tử VNPAY
VNPAY-QR giải pháp thanh toán cho phép khách hàng sử dụng tính năng VNPAY-
QR được tích hợp sẵn trên ứng dụng ví điện tử VNPAY để quét mã QR thanh toán các hóa
đơn dịch vụ. Với tính năng VNPAY-QR, khách hàng có thể thanh toán dễ dàng, tiện lợi, mà
không cần phải mang theo tiền mặt.
Gii pháp ch hp dùng cho các website bán hàng online, sàn thương mại điện t
cn ch hp chức năng thanh toán trực tuyến, cho phép người mua thanh toán trên c kênh
Online như ATM, Internet Banking, ThQuc tế (visa, maste), QRCode, Chuyn khon ngân
hàng... Các phương thức thanh toán htrbao gm:
- Thquc tế( VISA, Master)
- ThATM nội địa
- Internet Banking
- QR-Code Mobile Banking
- Ví điện tử trong và ngoài nước
- Chuyn khon ngân hàng
- Tin mt ti quy
- Thtrả trước
1.7 Mô hình xây dựng dự án
1.7.1 Mô hình xoắn ốc là gì ?
lOMoARcPSD| 60820047
hình xoắn ốc (Spiral-Model) hình có sự kết hợp giữa hình thác ớc
(Waterfall-Model) hình tiếp cận lặp (Iterative-Model) nhiều điểm giống
nhau với mô hình gia tăng (Incremental-Model).
Chú trọng vào phân tích rủi ro dự án. Mỗi giai đoạn trong mô hình được bắt đầu với
yêu cầu/mục tiêu thiết kế kết thúc với việc khách hàng kiểm tra tiến độ của từng giai
đoạn. hình xoắn ốc lần đầu tiên được Barry Boehm đề cập trong bài báo của ông vào
năm 1986.
Các giai đoạn của mô hình xoắn ốc:
Lập kế hoạch - Planning phase.
Phân tích rủi ro - Risk analysis phase.
lOMoARcPSD| 60820047
Thực thi kỹ thuật - Engineering phase.
Đánh giá - Evaluation phase.
Lập kế hoạch - Planning phase:
Thu thập, phân tích yêu cầu từ của dự án từ phía khách hàng. Bao gồm các công
việc:
Ước lượng chi phí (estimating cost)
Lên lịch trình thực hiện dự án (shedule-master)
Xác định số lượng nhân lực
Môi trường làm việc (identifying necessary resources and work environment)
Tìm hiểu yêu cầu hệ thống (requirements) từ đó đưa ra các tài liệu đặc tả
(Bussiness Requirement Specifications System Requirement
specifications) để phục vụ cho việc trao đổi giữa khách hàng và phân tích hệ
thống sau này.
Phân tích rủi ro – Risk analysis phase :
Một quá trình phân tích sẽ được thực hiện để xác định rủi ro đưa ra các
giải pháp thay thế. Một prototype sẽ được tạo ra cuối giai đoạn phân tích rủi ro.
Nếu có bất kỳ rủi ro nào được tìm thấy trong quá trình này thì c giải pháp thay thế
sẽ được đề xuất và thực hiện.
Thực thi kỹ thuật – Engineering phase :
Đây là giai đoạn dự án được các dev tiến hành code, các tester tiến hành
test và deploying software trên các trang web của khách hàng.
Đánh giá Evaluation phase :
Khách hàng sẽ tham gia vào giai đoạn này để đánh giá công việc, sản phẩm
và đảm bảo rằng sản phẩm đáp ứng tất cả các yêu cầu đã đặt ra trước đó. Nếu có bất
kỳ yêu cầu thay đổi nào từ khách hàng, các giai đoạn sẽ được lặp lại. Đây giai
đoạn quan trọng cần sự phản hồi của khách hàng về sản phẩm trước khi sản
phẩm được release.
1.7.2 Khi nào nên sử dụng mô hình xoắn ốc
Khi dự án có quy mô lớn.

Preview text:

lOMoAR cPSD| 60820047
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG
KỲ THI KẾT THÚC HỌC PHẦN HỌC KỲ
NĂM HỌC 2023 – 2024
ĐỀ TÀI BÀI TẬP LỚN: “XÂY DỰNG HỆ
THỐNG QUẢN LÝ BÁN GIÀY ONLINE” Họ và tên sinh viên : Nguyễn Bảo Khánh Nguyễn Đức Anh Nguyễn Tuấn Phong Lê Thanh Liêm Vũ Đức Duy Cao Lê Nhật Minh Lớp: DH11C13 Tên học phần:
Phát triển ứng dụng trên nền Web Giảng viên hướng dẫn: Vũ Văn Huân Hà Nội - 2023 lOMoAR cPSD| 60820047 MỤC LỤC
DANH MỤC HÌNH...................................................................................................4
DANH MỤC BẢNG..................................................................................................6
LỜI CẢM ƠN............................................................................................................7
CHƯƠNG 1: TỔNG QUAN BÁO CÁO...................................................................8
1.1 Giới thiệu dự án................................................................................................8
1.2. Mục đích và mục tiêu báo cáo.........................................................................8
1.2.1. Mục đích báo cáo.....................................................................................8
1.2.2. Mục tiêu báo cáo......................................................................................8
1.3. Lĩnh vực..........................................................................................................8
1.4. Yếu tố công nghệ.............................................................................................8
1.5. Xác định các yêu cầu chức năng của hệ thống................................................8
1.6. Cơ sở lý thuyết................................................................................................9
1.6.1. Ngôn ngữ lập trình PHP....................................................................9
1.6.2. HTML, CSS và JavaScript.....................................................................16
1.6.3 Môi trường phát triển ứng dụng......................................................17
1.6.4 Thanh toán điện tử VNPAY...................................................................18
1.7 Mô hình xây dựng dự án................................................................................19
1.7.1 Mô hình xoắn ốc là gì ?...........................................................................19
1.7.2 Khi nào nên sử dụng mô hình xoắn ốc....................................................21
1.7.3 Ưu điểm...................................................................................................21
1.7.4 Nhược điểm.............................................................................................21
1.7.5 Kết luận...................................................................................................22
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ...................................................................22
2.1. Xác định usecase của các tác nhân................................................................22
2.1.1. Đăng kí...................................................................................................22
2.1.2. Đăng nhập..............................................................................................22
2.1.3. Đơn hàng................................................................................................22
2.1.4. Quản lý giỏ hàng....................................................................................22
2.1.5. Tìm kiếm giày theo tên, giá...................................................................23 lOMoAR cPSD| 60820047
2.1.6. Quản lý danh mục..................................................................................23
2.1.7. Quản lý sản phẩm giày...........................................................................23
2.1.8. Quản lý tài khoản...................................................................................23
2.2. Xác định các tác nhân...................................................................................23
2.2.1 Khách hàng, người truy cập website.......................................................23
2.2.2 Người Quản trị........................................................................................23
2.3. Xác định các trường hợp sử dụng (use-case)................................................23
2.3.1 Khách hàng..............................................................................................23
2.3.2 Người quản trị.........................................................................................23
2.4. Biểu đồ Usecasse tổng quát..........................................................................24
2.4.1 Đăng kí...................................................................................................25
2.4.2 Đăng nhập..............................................................................................25
2.4.3 Tra cứu sản phẩm giày...........................................................................26
2.4.4 Đặt hàng (thanh toán)..............................................................................27
2.4.5 Quản lý danh mục...................................................................................27
2.4.6 Quản lý sản phẩm....................................................................................28
2.4.7 Quản lý đơn đặt hàng..............................................................................29
2.4.8 Quản lý thông tin tài khoản quản trị........................................................30
2.5. Biểu đồ hoạt động.........................................................................................31
2.5.1. Biểu đồ hoạt động chức năng đăng kí....................................................31
2.5.2. Biểu đồ hoạt động chức năng đăng nhập...............................................33
2.5.3. Biểu đồ hoạt động chức năng tìm kiếm sản phẩm.................................35
2.5.4 Biểu đồ hoạt động chức năng đặt hàng...................................................37
2.5.5. Biểu đồ hoạt động chức năng quản lý danh mục...................................39
2.5.6 Biểu đồ hoạt động chức năng đặt hàng (thanh toán)...............................41
2.5.8. Biểu đồ hoạt động chức năng quản lý tài khoản quản trị.......................43
2.6. Giao diện người dùng....................................................................................45
2.6.1. Giao diện đăng nhập...............................................................................45
2.6.2. Giao diện trang chủ................................................................................45
2.6.3. Giao diện sản phẩm................................................................................46 lOMoAR cPSD| 60820047
2.6.4. Giao diện sản phẩm chi tiết....................................................................46
2.6.5. Giao diện giỏ hàng và đặt hàng..............................................................47
2.7. Giao diện quản lý..........................................................................................47
2.7.1. Giao diện quản lí đơn hàng....................................................................48
2.7.2. Giao diện quản lí danh mục...................................................................48
2.7.3. Giao diện quản lí sản phẩm....................................................................49
2.7.2. Giao diện quản lí thành viên..................................................................49
CHƯƠNG 3: ĐÁNH GIÁ........................................................................................50
3.1. Những điểm đạt được....................................................................................50
3.1.1. Về website:.............................................................................................50
3.1.2. Về kinh nghiệm làm việc:......................................................................50
3.2. Hạn chế..........................................................................................................50
KẾT LUẬN..............................................................................................................50
TÀI LIỆU THAM KHẢO........................................................................................51 DANH MỤC HÌNH
Hình 2.1 Biểu đồ Usecase tổng quát
Hình 2.2. Sơ đồ phân rã chức năng đăng ký
Hình 2.3. Biểu đồ Usecase chức năng đăng nhập
Hình 2.4 Biểu đồ Usecase phân rã chức năng tra cứu giày
Hình 2.5 Biểu đồ Usecase phân rã chức năng đặt mua
Hình 2.6 Biểu đồ Usecase phân rã chức năng quản lý danh mục
Hình 2.7 Biểu đồ Usecase phân rã chức năng quản lý sản phẩm
Hình 2.8 Biểu đồ Usecase phân rã chức năng quản lý đơn hàng
Hình 2.9 Biểu đồ Usecase phân rã chức năng quản lý tài khoản quản trị viên
Hình 2.10 Biểu đồ hoạt dộng chức năng đăng kí
Hình 2.11 Biểu đồ tuần tự chức năng đăng kí lOMoAR cPSD| 60820047
Hình 2.12 Biểu đồ hoạt dộng chức năng đăng nhập
Hình 2.13 Biểu đồ tuần tự chức năng đăng nhập
Hình 2.14 Biểu đồ hoạt dộng chức năng tìm kiếm sản phẩm
Hình 2.15 Biểu đồ tuần tự chức năng tìm kiếm sản phẩm
Hình 2.16 Biểu đồ hoạt động chức năng quản lý đơn đặt hàng
Hình 2.17 Biểu đồ tuần tự chức năng quản lý đơn đặt hàng
Hình 2.18 Biểu đồ hoạt động chức năng quản lý danh mục
Hình 2.19 Biểu đồ tuần tự chức năng quản lý danh mục
Hình 2.20 Biểu đồ hoạt động chức năng đặt hàng
Hình 2.21 Biểu đồ tuần tự chức năng đặt hàng
Hình 2.22 Biểu đồ hoạt động chức năng quản lý tài khoản quản trị
Hình 2.23 Biểu đồ tuần tự chức năng quản lý tài khoản quản trị
Hình 2.24 Giao diện đăng nhập và đăng ký
Hình 2.25 Giao diện trang chủ
Hình 2.26 Giao diện trang sản phẩm
Hình 2.27 Giao diện trang sản phẩm chi tiết
Hình 2.28 Giao diện trang đặt hàng
Hình 2.29 Giao diện quản lí đơn hàng
Hình 2.30 Giao diện quản lí danh mục
Hình 2.31 Giao diện quản lí sản phẩm
Hình 2.32 Giao diện quản lí thành viên DANH MỤC BẢNG
Bảng 1: Mô tả usecase đăng kí
Bảng 2: Mô tả usecase đăng nhập
Bảng 3 : Mô tả usecase tra cứu đầu sách
Bảng 4: Mô tả usecase quản lý đặt mua
Bảng 5: Mô tả usecase quản lý danh mục
Bảng 6 : Mô tả usecase quản lý sản phẩm giày
Bảng 7 : Mô tả usecase quản lý đơn hàng lOMoAR cPSD| 60820047
Bảng 8 Mô tả usecase quản lý tài khoản quản trị viên lOMoAR cPSD| 60820047 LỜI CẢM ƠN
Để hoàn thành được báo cáo kết thúc môn học này, trước hết em xin gửi lời cảm ơn
chân thành nhất đến Cán bộ Giảng viên Khoa Công nghệ Thông tin, Đồng thời em xin gửi
lời cảm ơn đặc biệt về sự chỉ dạy, hướng dẫn tận tình của Giảng viên Dương Thị Thuý đã
luôn tận tình hướng dẫn, giúp đỡ trong suốt thời gian thực hiện báo cáo kết thúc môn.
Nhóm em cũng xin gửi lời cảm ơn tới Khoa Công nghệ Thông tin – Trường Đại Tài
Nguyên và Môi Trường đã luôn quan tâm và tạo điều kiện giúp em hoàn thành báo cáo kết
thúc môn này. Ngoài ra, nhóm em xin cảm ơn những người bạn đã giúp đỡ và trao đổi thêm
nhiều thông tin về đề tài trong quá trình thực hiện đề tài này.
Do kiến thức còn hạn chế, bài báo cáo của em không tránh khỏi những sai sót.Rất
mong nhận được những lời góp ý từ quý Thầy cô để báo cáo kết thúc môn học củaem được
hoàn thiện và giúp em có thêm những kinh nghiệm quý báu.
Cuối cùng, em xin kính chúc các thầy cô giảng viên trường Đại học Tài Nguyên và
Môi Trường nói chung, các thầy cô khoa công nghệ thông tin nói riêng dồi dào sức khỏe và
thành công trong sự nghiệp cao quý. lOMoAR cPSD| 60820047
CHƯƠNG 1: TỔNG QUAN BÁO CÁO
1.1 Giới thiệu dự án
Ứng dụng công nghệ thông tin trong việc quản lí bán hàng dường như không còn xa
lạ với các doanh nghiệp, công ty hiện nay. Lợi ích mà các chương trình phần mềm quản lí
bán hàng đem lại khiến ta không thể không thừa nhận tính hiệu quả của nó. Hiện nay, việc
bán hàng online đang rất phổ biến. Các doanh nghiệp và công ty lớn, nhỏ đều rót vốn đầu
tư vào thị trường online.
Do đó dự án xây dựng và phát triển một chương trình hoàn chỉnh ứng dụng những
kỹ thuật và công nghệ mới nhất để giúp cho việc quảng bá sản phẩm củadoanh nghiệp được
mọi người biết đến rộng rãi trên toàn quốc. Để quản lý việc bán hàng online một cách hiệu
quả và nâng cao. Chính vì thế chúng em đã chọn đề tài “Xây dựng hệ thống quản lý bán giày online”.
1.2. Mục đích và mục tiêu báo cáo
1.2.1. Mục đích báo cáo
Dùng công nghệ PHP, MYSQL để xây dựng lên hệ thống website bán giày online
thuận tiện cho việc mua bán online và tiết kiệm thời gian hơn.
1.2.2. Mục tiêu báo cáo
⁻ Đáp ứng được tiêu chuẩn của một website
⁻ Cấu trúc khoa học, chặt chẽ, rõ ràng, dễ dàng điều hướng, khai thác, chỉnh sửa.
⁻ Thân thiện với người sử dụng.
⁻ Tương thích với các trình duyệt web khác nhau, nội dung được tối ưu, tốc độtải/nạp trang web nhanh.
⁻ Hoạt động ổn định và bảo mật.
⁻ Đáp ứng các chức năng khách hàng yêu cầu (quảng bá sản phẩm và bánhàng trực tiếp qua mạng). 1.3. Lĩnh vực
Chuyên ngành: Công nghệ phần mềm.
Chuyên môn: lập trình web. Sử dụng ngôn ngữ HTML, CSS, PHP, MYSQL,
Javascript, để xây dựng trang web.
Lĩnh vực liên quan: thương mại điện tử.
1.4. Yếu tố công nghệ
⁻ Hệ điều hành window
⁻ Phần mềm Visual studio code
Website sẽ chạy được trên các trình duyệt web lOMoAR cPSD| 60820047
1.5. Xác định các yêu cầu chức năng của hệ thống
⁻ Chức năng đăng nhập,đăng xuất ⁻
Chức năng tìm kiếm giày
⁻ Chức năng quản lý danh mục
⁻ Chức năng quản lý đơn đặt hàng
⁻ Chức năng tài khoản quản trị viên
1.6. Cơ sở lý thuyết
1.6.1. Ngôn ngữ lập trình PHP
1.6.1.1. Giới thiệu
PHP là viết tắt của từ “PHP: Hypertext Preprocessor”, đây 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ở, mục tiêu chính của ngôn ngữ là cho phép các nhà phát triển viết ra các
trang web động một cách nhanh chóng. Nó rất phù hợp để phát triển web và có thể dễ dàng
nhúng vào các 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.
1.6.1.2. Lịch sử hình thành và phát triển
PHP được phát triển từ một sản phẩm có tên là 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. Vào tháng 11 năm 1997,
PHP/FI 2.0 được chính thức công bố, sau một thời gian khá dài chỉ được công bố dưới dạng
các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của
PHP 3.0 – phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản
PHP mà chúng ta được biết ngày nay.
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng
được cộng đồng kiểm nghiệm. PHP 3.0 đã được Andi Gutmans và Zeev Suraski tạo ra sau
khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là
do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại
điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Một trong những sức
mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung
cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức
và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển
tham gia và đề xuất các mô đun mở rộng mới.
Tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời, phiên bản PHP 4.0 chính
thức được công bố. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính
năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP,
tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật lOMoAR cPSD| 60820047
hơn và cung cấp một vài các cấu trúc ngôn ngữ mới. Với PHP 4, số nhà phát triển dùng PHP
đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số
tên miền trên mạng Internet.
Sau sự thành công của PHP 4.0, ngày 13 tháng 7 năm 2004 PHP 5.0 chính thức ra
mắt sau một thời gian khá dài tung ra các bản kiểm tra thử bao gồm Beta, RC. Mặc dù coi
đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là
lỗi xác thực HTTP. Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố
đánh dấu sự chín muồi mớ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ện các câu truy vấn.
Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend
Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, streams và SPL.
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, Phiên bản PHP 6 được
kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, như là: hỗ trợ
namespace, hỗ trợ Unicode, sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu,
các API cũ sẽ bị đưa ra thành thư viện PECL... Phiên bản 6 này chỉ dùng ở việc nghiên cứu
và thử nghiệm. PHP 7 với việc sử dụng bộ nhân Zend Engine mới PHPNG cho tốc độ nhanh
gấp 2 lần. Ngoài ra ở phiên bản này còn thêm vào rất nhiều cú pháp, tính năng mới giúp cho
PHP trở nên mạnh mẽ hơn. Những tính năng mới quan trọng có thể kể đến như: khai báo
kiểu dữ liệu cho biến, xác định kiểu dữ liệu sẽ trả về cho 1 hàm, thêm các toán tử mới...
1.6.1.3. Ưu điểm của PHP
PHP là ngôn ngữ mã nguồn mỡ, có thể chạy được trên cả Apache và IIS do đó so với
ASP.NET thì nó phổ biến nhiều hơn, điều đó được minh chứng bằng số lượng các website
được thiết kế bằng ngôn ngữ PHP hiện nay. Cấu trúc PHP cực kỳ đơn giản, vậy nên bạn sẽ
không mất nhiều thời gian để có thể học được. Một khi đã làm chủ được HTML và C, bạn
hoàn toàn có thể làm chủ được ngôn ngữ lập trình này.
Thư viện của PHP vô cùng phong phú, hệ thống CMS miễn phí dùng tương đối nhiều,
cũng như được cộng đồng hỗ trợ một cách vô cùng mạnh mẽ. Vậy nên bạn có thể dễ dàng
tìm nguồn tài liệu mình cần cũng như có thể nhận được sự hỗ trợ một cách nhanh nhất.
Do chạy được trên máy chủ Apache và thường đi cặp cùng với hệ quản
trị cơ sở dữ liệu MySQL nên việc cài đặt môi trường phát triển vô cùng đơn giản, thông
qua một bộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên MacOS... lOMoAR cPSD| 60820047
Hình 1.2 Top các ngôn ngữ phổ biến 01/2018 – chỉ số PYPL 1.6.1.4. PHP Framework
Framework là một bộ mã nguồn được xây dựng, phát triển và đóng gói – phân phối
bởi các chuyên gia lập trình hoặc bởi các công ty lập trình. Nó sẽ cung cấp một cấu trúc
phát triển chuẩn để các developer dựa vào đó xây dựng và phát triển các dự án. Đi kèm
theo nó là một kho thư viện gồm nhiều lớp/hàm xử lý được đặt trong các packages hoặc
namespace riêng. Các chuyên gia lập trình sử dụng nhiều kỹ thuật lập trình và giải
thuật/thuật toán để xây dựng các lớp xử lý một cách tối ưu nhất, giải quyết các bài toán
lập trình nhanh chóng và chính xác. Các lớp trong một framework sẽ làm việc tốt nhất với
cấu trúc chuẩn mà framework đó cung cấp.
Nhắc đến sự hỗ trợ mạnh mẽ của cộng đồng cho ngôn ngữ lập trình
PHP thì chắc chắn phải kể tới sự đa dạng của các PHP Framework: Laravel, Symfony,
Codeigniter, CakePHP... Các PHP Framework đều được xây dựng theo chuẩn mô hình MVC
(Model – View – Controller) và cung cấp rất nhiều lớp hỗ trợ xử lý về bảo mật, phân quyền, lOMoAR cPSD| 60820047
captcha, view helper, module manager, database, service… khi đó các lập trình viên sẽ xây
dựng, phát triển website một cách dễ dàng và nhanh chóng.
PHP framework 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 đỡ các bạn thúc đẩy nhanh chóng quá
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, và giảm thiểu số lần phải viết lại mã cho lập trình viên. Ngoài ra Framework còn giúp
những người mới bắt đầu có thể xây dựng các ứng dụng ổn định hơn nhờ việc tương tác
chính xác giữa các Database, mã (PHP) và giao diện (HTML) một cách riêng biệt. Điều này
cho phép bạn dành nhiều thời gian để tạo ra các ứng dụng web, hơn là phí thời gian để
viết các đoạn mã lặp lại trong một project.
Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được kể đến là
Model View Controller (MVC). MVC là 1 mô hình (kiến trúc) trong lập trình, cho phép tách
biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành các phần riêng biệt, điều này
đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng lẻ. Trong cụm từ MVC thì:
Model (M) có thể hiểu là phần xử lý các thao tác về nghiệp vụ (business logic), View (V)
được hiểu là phần xử lý lớp giao diện (presentation layer), và Controller (C) làm nhiệm vụ
lọc các request đc gọi từ user, có chức năng như 1 route: điều chỉnh, phân luồng các yêu
cầu để gọi đúng Model & View thích hợp. Về cơ bản, MVC chia nhỏ quá trình xử lý của 1
ứng dụng, vì thế nên bạn có thể làm việc trên từng thành phần riêng lẻ, trong khi những
thành phần khác sẽ không bị ảnh hưởng tới. Thực chất, điều này giúp đỡ bạn lập trình
PHP nhanh hơn và ít phức tạp hơn.
Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựa chọn bời hầu
hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHP framework, lOMoAR cPSD| 60820047
Hình 1.3 Top các PHP framework phổ biến
Dẫn đến các cuộc tranh luận lớn về đề tài: PHP framework nào là tốt nhất, bởi vì
thực tế không phải tất cả các framework đều được xây dựng trên khuôn khổ dành cho
nhiều người sử dụng. Dưới đây là 3 framework được đánh giá là tốt và phổ biến nhất hiện nay:  Laravel
Laravel ra mắt vào cuối tháng 04-2011 nhưng đã gây được sự chú ý lớn đối với cộng
đồng PHP framework. Laravel được tạo ra bởi Taylor Otwell. Nó là 1 framework khá mới
mẻ nhưng bù lại nó có “hướng dẫn sử dụng” ( Document ) khá đầy đủ, rõ ràng và dễ hiểu
và nhiều ưu điểm hấp dẫn. Chính vì nó ra đời sau, khắc phục được những thiếu xót của
các framework đàn anh, nên nó đang nắm giữ vị trí số một về độ phổ biến hiện nay với
nhiều tính năng mạnh mẽ: -
Route trong Laravel thật sự khác biệt, mới mẻ và đầy mạnh mẻ. Mọi url đều
có thể quản lý trong file route. -
Master layout được tích hợp sẵn cùng Blade template giúp code của chúng ta
trên nên gọn gàng và tiện dụng. Các file layout có thể dẽ dàng extend của nhau giúp code
ngắn gọn, dễ quản lý. -
Migration quản lý database thật dễ dàng khi làm việc đội nhóm. -
Eloquent class đầy mạnh mẽ nổi bật khi xử lý cơ sở dữ liệu quan hệ 1–N và
N–N, tối ưu tất cả các câu truy vấn. lOMoAR cPSD| 60820047 -
Composer quản lý và tích hợp các thư viện khác thật hay và không lo lắng khi
thư viện đó bị thay đổi, laravel có đầy đủ các thư viện cơ bản đủ để thực hiện mọi yêu cầu của chúng ta. -
Document dễ đọc, dễ hiểu và có đầy đủ các ví dụ. Tuy ra đời muộn hơn các
framework khác nhưng laravel lại có hướng dẫn chi tiết và đầy đủ ví dụ ngay tại trang chủ,
các ví vụ để đọc đễ hiểu, cộng đồng phát triển rộng lớn và luôn luôn được update kịp thời. -
Eloquent ORM: đây là một ORM tuyệt vời với khả năng migration data và
làm việc tốt với MySQL, Postgres, SQL Server và SQLite, MongoDB. Các câu truy vấn
database dễ hiểu, nhanh chóng. -
Package-libery phong phú, đa dạng, đáp ứng được hầu hết các nhu cầu cơ bản của chúng ta. -
User authentication được tích hợp sẵn, lập trình viên chỉ cần gọi class là có
thể sử dụng theo ý muốn.  Symfony
Ra mắt và năm 2005, là một framework mạnh mẽ, Symfony là sự kết hợp giữa tính
vững bền của PHP, sự tự do của Open Soure với đặc tính dễ bảo trì của một mã lập trình
được thiết kế theo mô hình MVC (Model-ViewController). Symfony là một framework
Open Source viết bằng ngôn ngữ lập trình PHP5. Symfony giúp phát triển ứng dụng web
thiết kế theo yêu cầu. Một cộng đồng rộng lớn các lập trình viên đảm bảo về khả năng phát
triển, tính linh động, tự do và tiết kiệm chi phí cho các dự án được phát triển với Symfony,
đây cũng là những đặc tính mà Sutunam luôn chú trọng đưa vào các giải pháp Open
Source của mình. Trên hết, cùng với Drupal, phpBB và ezPublish, Symfony2 hiện đang là
một trong những phiên bản hệ thống quản trị nội dung (CMS) mới nhất được viết bằng
PHP. Symfony có những ưu điểm như: -
Dễ cài đặt và cấu hình trên hầu hết các hệ điều hành và được bảo đảm làm
việc tốt trên các hệ điều hành chuẩn *nix(Linux và Unix) và Windows -
Độc lập với hệ cơ sở dữ liệu -
Dễ dùng trong hầu hết các trường hợp nhưng vẫn đủ mềm dẻo để thích nghi
với những trường hợp phức tạp. -
Hoạt động theo cấu hình định trước – lập trình viên chỉ cần cấu hình trong
những trường hợp riêng biệt không theo quy ước. -
Tuân theo những hoạt động và mẫu thiết kế tốt nhất -
Sẵn sàng cho môi trường xí nghiệp – thích nghi với những chính sách và kiến
trúc công nghệ thông tin và đủ ổn định cho những dự án dài hạn. -
Mã rất dễ đọc, với những chú thích kiểu phpDocumentor, dễ dàng bảo trì -
Dễ dàng mở rộng, cho phép tích hợp với những thư viện khác lOMoAR cPSD| 60820047  CodeIgniter
CodeIgniter là một nền tảng ứng dụng web nguồn mở được viết bằng ngôn ngữ PHP
bởi Rick Ellis (CEO của EllisLab, Inc). Phiên bản đầu tiên được phát hành ngày 28.02.2006,
phiên bản hiện tại: 3.1.4 (phát hành ngày 2017.03.20). Ý tưởng xây dựng CodeIgniter được
dựa trên Ruby on Rails, một nền tảng ứng dụng web được viết bằng ngôn ngữ Ruby. Hiện
tại, CodeIgniter đang được phát triển bởi ExpressionEngine Development Team thuộc
EllisLab, Inc. CodeIgniter có những điểm nổi bật như: -
Được thiết kế theo mô hình Model-View-Controller: Mô hình MVC giúp tách
thành phần hiển thị giao diện (presentation) và xử lý (business logic) của một phần mềm
thành những thành phần độc lập, từ đó giúp cho việc thiết kế, xử lý và bảo trì mã nguồn
dễ dàng, đồng thời tăng khả năng mở rộng của phần mềm. CodeIgniter vận dụng mô hình
này trong thiết kế, giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng
cao khả năng quản lý và dễ bảo trì. -
Nhỏ gọn: Gói cài đặt chỉ 404KB (không bao gồm phần User Guide). So với
các PHP framework khác như CakePHP (1.3MB), Symfony (5.08MB) hay Zend
Framework (5.66MB)…kích thước của CodeIgniter giúp giảm thiểu đáng kể không gian lưu trữ. -
Tốc độ nhanh: CodeIgniter được đánh giá là PHP framework có tốc độ nhanh
nhất hiện nay. Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ đệm trước khi
tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử lý dữ liệu, từ đó tối ưu hóa tốc độ tải trang. -
Miễn phí: CodeIgniter được phátt hành dưới giấy phép Apache/BSD mở rộng,
cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn. -
Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất thân
thiện với các robot tìm kiếm -
Hệ thống thư viện phong phú: CodeIgniter cung cấp các thư viện phục vụ cho
những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ sở dữ liệu,
gửi email, kiểm tra dữ liệu, quản lý session, xử lý ảnh…đến những chức năng nâng cao
như XML-RPC, mã hóa, bảo mật… -
Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và
SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống.
 Trên đây liệt kê một số tính năng, đặc điểm nổi bật của 3 php framework phổ biến hiện
nay, mỗi Framework có một tính năng và đặc điểm riêng, tùy theo từng đặc điểm của dự
án, khách hàng mà ta có thể chọn một framework phù hợp. Trong khuôn khổ đồ án tốt
nghiệp này, nhóm chúng em đã lựa chọn Laravel để phát triển đồ án.
1.6.2. HTML, CSS và JavaScript 1.6.2.1. HTML lOMoAR cPSD| 60820047
HTML là chữ viết tắt cho “HyperText Markup Language”, hay là "Ngôn ngữ Đánh
dấu Siêu văn bản" là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với
các mẩu thông tin được trình bày trên World Wide Web. Cùng với CSS và JavaScript, HTML
tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web. HTML được định nghĩa như là một
ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất
bản phức tạp. HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì.
HTML được sáng tạo bởi Tim Berners-Lee, nhà vật lý học của trung tâm nghiên cứu
CERN ở Thụy Sĩ. Anh ta đã nghĩ ra được ý tưởng cho hệ thống hypertext trên nền Internet.
Anh xuất bản phiên bản đầu tiên của HTML trong năm 1991 bao gồm 18 tag HTML. Từ đó,
mỗi phiên bản mới của HTML đều có thêm tag mới và attributes mới. Nâng cấp mới nhất
gần đây là vào năm 2014, khi ra mắt chuẩn HTML5. 1.6.2.1. CSS
CSS là chữ viết tắt cho “Cascading Style Sheets”, được sử dụng để mô tả giao diện
và định dạng của một tài liệu viết bằng ngôn ngữ đánh dấu (markup). Nó cung cấp một tính
năng bổ sung cho HTML. Nó thường được sử dụng với HTML để thay đổi style của trang
web và giao diện người dùng. Nó cũng có thể được sử dụng với bất kỳ loại tài liệu XML nào
bao gồm cả XML đơn giản, SVG và XUL.
CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, nhằm
mục đích: Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng các thẻ quy định
kiểu dáng khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung của trang Web
và định dạng hiển thị, dễ dàng cho việc cập nhật nội dung; Tạo ra các kiểu dáng có thể áp
dụng cho nhiều trang Web, giúp tránh phải lặp lại việc định dạng cho các trang Web giống nhau.
Giống như HTML, CSS không thực sự là một ngôn ngữ lập trình mà là một ngôn
ngữ định kiểu – style. Điều này có nghĩa là nó cho phép bạn áp dụng kiểu có chọn lọc cho
các phần tử trong tài liệu HTML. 1.6.2.1. JavaScript
JavaScript là một ngôn ngữ lập trình kịch bản đa nền tảng (cross-platform), hướng đối
tượng. Nó chủ yếu được sử dụng để tăng cường cung cấp trải nghiệm thân thiện hơn với
người dùng website như là bao gồm các trang web cập nhật tự động, cải tiến giao diện
người dùng như menu và hộp thoại, hình động, đồ họa 2D và 3D, bản đồ tương tác, trình
phát video... JavaScript là một ngôn ngữ nhỏ và nhẹ, chạy trong môi trường máy chủ lưu
trữ (trình duyệt web). Nó có thể được kết nối với các đối tượng của môi trường để cung cấp
kiểm soát chương trình đối với chúng.
JavaScript được phát triển bởi Brendan Eich tại Hãng truyền thông Netscape với cái
tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành JavaScript. lOMoAR cPSD| 60820047
Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java. Hiện nay
phiên bản mới nhất của JavaScript là ECMAScript 7 với nhiều cải tiến vượt bậc so với phiên bản tiền nhiệm.
JavaScript là ngôn ngữ kịch bản phía máy khách (client-side) duy nhất. Do đó, nó được
sử dụng trên hầu hết các trang web mà bạn nhìn thấy trên internet. Tuy nhiên cú pháp của
nó vô cùng lộn xộn và khó làm chủ, do đó Jquery – một thư viện của JavaScript ra đời nhằm
giúp lập trình viên xây dựng những chức năng có sử dụng Javascript trở nên dễ dàng hơn
như: đơn giản hóa việc duyệt tài liệu HTML, xử lý sự kiện, hoạt ảnh và tương tác Ajax để
phát triển web nhanh chóng... jQuery là một bộ công cụ JavaScript gọn nhẹ nhưng đầy
mạnh mẽ, được chứng minh qua hơn 90% các website trên thế giới sử dụng (trừ các website
chạy bằng JavaScript Framework).
1.6.3 Môi trường phát triển ứng dụng
1.6.3.1. Apache WebServer
Apache là một phần mềm mã nguồn mở miễn phí được cài đặt trên các máy chủ web
server (phần cứng) để xử lý các yêu cầu gửi tới máy chủ dưới giao thức HTTP. Tên chính thức
của Apache là Apache HTTP Server, được điều hành và phát triển bởi Apache Software
Foundation. Apache là một trong số những web server lâu đời và đáng tin cậy nhất, phiên
bản đầu tiên đã được ra mắt từ hơn 20 năm trước, tận những năm 1995.
Apache WebServer phân tích các yêu cầu từ trình duyệt, sau đó xử lý yêu cầu với các
file ngôn ngữ lập trình như là PHP, Python, Java,... thành file HTML và trả về cho người
dùng web trên trình duyệt để hiển thị. 1.6.3.1. MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được
các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng, đặc biệt là các ứng
dụng website và nó thường đi kết hợp với ngôn ngữ lập trình PHP để xây dựng các ứng dụng
website. MySQL được các hệ thống web ưa chuộng là vì tốc độ xử lý cao, dễ sử dụng, ổn
định, và tương thích với các hệ điều hành thông dụng hiện nay như Linux, Window, Mac OS X, Unix, FreeBSD… 1.6.3.1. XAMPP
Apache và MySQL là hai yếu tố cần thiết cấu thành nên môi trường phát triển ứng
dụng web bằng ngôn ngữ PHP. Do đó XAMPP ra đời nhằm mục đích kết hợp tất cả các yếu
tố cấu thành WebServer trong một chương trình.
XAMPP là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn Apache,
PHP, MySQL, FTP Server, Mail Server và các công cụ như phpMyAdmin. XAMPP có chương
trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ lOMoAR cPSD| 60820047
bất kỳ lúc nào. Nhìn chung XAMPP được xem là một bộ công cụ hoàn chỉnh dành cho lập
trình viên PHP trong việc thiết lập và phát triển các website.
1.6.4 Thanh toán điện tử VNPAY
VNPAY-QR là giải pháp thanh toán cho phép khách hàng sử dụng tính năng VNPAY-
QR được tích hợp sẵn trên ứng dụng ví điện tử VNPAY để quét mã QR thanh toán các hóa
đơn dịch vụ. Với tính năng VNPAY-QR, khách hàng có thể thanh toán dễ dàng, tiện lợi, mà
không cần phải mang theo tiền mặt.
Giải pháp tích hợp dùng cho các website bán hàng online, sàn thương mại điện tử
cần tích hợp chức năng thanh toán trực tuyến, cho phép người mua thanh toán trên các kênh
Online như ATM, Internet Banking, Thẻ Quốc tế (visa, maste), QRCode, Chuyển khoản ngân
hàng... Các phương thức thanh toán hỗ trợ bao gồm:
- Thẻ quốc tế( VISA, Master)
- Thẻ ATM nội địa - Internet Banking
- QR-Code Mobile Banking
- Ví điện tử trong và ngoài nước
- Chuyển khoản ngân hàng
- Tiền mặt tại quầy - Thẻ trả trước
1.7 Mô hình xây dựng dự án
1.7.1 Mô hình xoắn ốc là gì ? lOMoAR cPSD| 60820047
Mô hình xoắn ốc (Spiral-Model) là mô hình có sự kết hợp giữa mô hình thác nước
(Waterfall-Model) và mô hình tiếp cận lặp (Iterative-Model) và nó có nhiều điểm giống
nhau với mô hình gia tăng (Incremental-Model).
Chú trọng vào phân tích rủi ro dự án. Mỗi giai đoạn trong mô hình được bắt đầu với
yêu cầu/mục tiêu thiết kế và kết thúc với việc khách hàng kiểm tra tiến độ của từng giai
đoạn. Mô hình xoắn ốc lần đầu tiên được Barry Boehm đề cập trong bài báo của ông vào năm 1986.
 Các giai đoạn của mô hình xoắn ốc:
• Lập kế hoạch - Planning phase.
• Phân tích rủi ro - Risk analysis phase. lOMoAR cPSD| 60820047
• Thực thi kỹ thuật - Engineering phase.
• Đánh giá - Evaluation phase.
 Lập kế hoạch - Planning phase:
Thu thập, phân tích yêu cầu từ của dự án từ phía khách hàng. Bao gồm các công việc:
• Ước lượng chi phí (estimating cost)
• Lên lịch trình thực hiện dự án (shedule-master)
• Xác định số lượng nhân lực
• Môi trường làm việc (identifying necessary resources and work environment)
• Tìm hiểu yêu cầu hệ thống (requirements) từ đó đưa ra các tài liệu đặc tả
(Bussiness Requirement Specifications và System Requirement
specifications) để phục vụ cho việc trao đổi giữa khách hàng và phân tích hệ thống sau này.
 Phân tích rủi ro – Risk analysis phase :
Một quá trình phân tích sẽ được thực hiện để xác định rủi ro và đưa ra các
giải pháp thay thế. Một prototype sẽ được tạo ra ở cuối giai đoạn phân tích rủi ro.
Nếu có bất kỳ rủi ro nào được tìm thấy trong quá trình này thì các giải pháp thay thế
sẽ được đề xuất và thực hiện.
 Thực thi kỹ thuật – Engineering phase :
Đây là giai đoạn mà dự án được các dev tiến hành code, các tester tiến hành
test và deploying software trên các trang web của khách hàng.
 Đánh giá – Evaluation phase :
Khách hàng sẽ tham gia vào giai đoạn này để đánh giá công việc, sản phẩm
và đảm bảo rằng sản phẩm đáp ứng tất cả các yêu cầu đã đặt ra trước đó. Nếu có bất
kỳ yêu cầu thay đổi nào từ khách hàng, các giai đoạn sẽ được lặp lại. Đây là giai
đoạn quan trọng vì cần có sự phản hồi của khách hàng về sản phẩm trước khi sản phẩm được release.
1.7.2 Khi nào nên sử dụng mô hình xoắn ốc
• Khi dự án có quy mô lớn.