BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADEBÁO CÁO CHUYÊN ĐỀ HỌC PHẦN NGÔN NGỮ KỊCH BẢN ĐỀ TÀI XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADE
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
NGÔN NGỮ KỊCH BẢN
ĐỀ TÀI: XÂY DỰNG WEB BÁN ĐỒ DECOR VÀ HANDMADE
Sinh viên thực hiện : NGUYỄN VĂN LONG
LÊ VIỆT LÂM Giảng viên hướng dẫn : PHƯƠNG VĂN CẢNH
Hà Nội, tháng 2 năm 2022
Trang 2PHIẾU CHẤM ĐIỂM
1 Nguyễn Văn Long
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ CÔNG NGHỆ SỬ DỤNG 2
1.1 Tổng quan về PHP 2
1.1.1 Định nghĩa 2
1.1.2 Ưu nhược điểm của PHP 2
1.1.3 Cài đặt chạy PHP 3
1.2 NodeJS và MySQL 3
1.2.1 Định nghĩa 3
1.2.2 Các tính năng của Nodejs 4
1.2.3 Ưu nhược điểm của Nodejs 5
1.2.4 Ứng dụng của Nodejs 5
1.2.5 Tổng quan về MySQL 6
1.2.6 Ưu nhược điểm của MySQL 6
1.2.7 Lý do nên sử dụng MYSQL 7
1.2.8 Cài đặt Nodejs và MySQL 8
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỒNG 10
2.1 Tài khoản sử dụng ứng dụng 10
2.2 Các chức năng của hệ thống 10
2.3 Đặc tả các ca sử dụng 11
2.3.1 Chức năng Đăng nhập/ Đăng kí 12
2.3.2 Chức năng quản lý khách hàng 14
2.3.3 Chức năng quản lý sản phẩm 16
2.3.4 Chức năng đặt hang online 18
2.3.5 Chức năng Thống kê- Báo cáo người dùng và sản phẩm 19
2.3.6 Biểu đồ lớp chi tiết hệ thống 21
2.4 Cơ sở dữ liệu 22
Trang 4CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH 23
3.1 Cấu trúc project 23
3.2 Kết quả thực nghiệm 24
KẾT LUẬN 28
TÀI LIỆU THAM KHẢO 29
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT
API Application Programming Interface Giao diện lập trình ứng
dụng
RDBMS Relational Database Management
System Hệ quản trị cơ sỏ dữ liệuquan hệ
ACID Atomicity, Consistency, Isolation
and Durability Tính nguyên tố, Tínhnhất quán, Tính độc lập
và Tính bền vữngNPM Node package manager Trình quản lý gói
Trang 6LỜI MỞ ĐẦU
Ngày nay thế giới đang phát triển công nghệ 4.0 , trào lưu kinh doanh qua
mạng ngày càng trở lên phổ biến, internet phát triển kéo theo nhiều dịch vụ phát
triển theo đi cùng Và việc tiếp cận với internet hiện nay không còn mấy xa lạ
với con người được trở thành phương tiện truyền thông được nhiều người sử
dụng nhất trên thế giới Không chỉ dùng internet để trao đổi thông tin, đọc báo,
giải trí….mọi người còn dùng internet để kinh doanh các mặt hàng bình thường
đến đạc biệt cuả mình
Kinh doanh qua mạng đang có bước phát triển trong thời hiện tại, hoạt
động kinh doanh này có nhiều ưu điểm như: không mất chi phí thuê trụ sở,
không cần một nguồn vốn lớn, bạn có thể bắt đầu kinh doanh khi có đủ nguồn
vốn tích lũy hàng và một số dịch vụ khác Khách hàng chỉ cần “click chuột vào
sản phẩm mà mình yêu thích và liên hệ với chủ cửa hàng là có thể chờ hàng
chuyển đến tận tay”
Hình thức kinh doanh nào cũng có ưu điểm và nhược điểm của nó tuy
nhiên sự thành công của một hình thức kinh doanh nó còn phụ thuộc vào ý
tưởng và cách kinh doanh của người quản lý Đối với kinh doanh online đồ điện
tử qua mạng giúp cho việc tìm kiếm ngày càng đa dạng hơn và phù hợp với xu
hướng tất yếu của thời đại hiện nay – thời đại công nghệ thông tin
Đề tài này chúng em xin được trình bày về 1 website: “XÂY DỰNG
WEBSITE BÁN HÀNG CHO CỬA HÀNG CRAFT&MORE”.
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ CÔNG NGHỆ SỬ DỤNG
1.1 Tổng quan về PHP
1.1.1 Định nghĩa
PHP rất thích hợp với việc viết cho web, bên cạnh đó khi sử dụng chúng cũng cóthể nhúng được vào trang HTML một cách dễ dàng Hiện nay, PHP đang là một ngônngữ lập trình – ngon ngu lap trinh cho web được sử dụng và biết đến vô cùng phổ biếntrên thế giới Lý do là bởi việc tối ưu hóa các ứng dụng của web, việc có tốc độ nhanh
và nhỏ gọn Bên cạnh đó, các cú pháp của PHP la gi- nó cũng giống với là C và Java nêncác lập trình viên có thể học và xây dựng được một sản phẩm là tương đối nhanh so vớicác ngôn ngữ khác
Nhằm tạo ra được một môi trường làm việc chuyên nghiệp, có thể đưa được PHPvào quy mô phát triển của doanh nghiệp thì các công ty do nhà phát triển PHP tính cốtlõi đã vô cùng quan tâm, cũng như đầu tư nguồn nhân lực cho công việc này
1.1.2 Ưu nhược điểm của PHP
Ưu điểm của PHP có rất nhiều, trong đó chúng tôi sẽ kể ra cho bạn đọc 5 nội dung chínhbao gồm:
Việc PHP được sử dụng miễn phí, vì thế nó là yếu tố vô cùng tuyệt vời chonhững ai muốn học về ngôn ngữ lập trình – ngon ngu lap trinh này Các bạn cóthể tự học được PHP theo dạng online, mà không cần phải lo đến việc sẽ bỏ ramột khoản tiền lớn để chi trả cho học
Cấu trúc của PHP la gi cực đơn giản, thế nên đối với các bạn lập trình viên khi
tìm hiểu và theo họ nó sẽ không bị mất quá nhiều thời gian mới có thể họcđược Đây chính là một ưu điểm, khiến cho PHP luôn đón nhận được sự quantâm hàng đầu từ những người yêu thích về công nghệ thông tin
thư viện mà PHP tạo ra thì có sự phong phú, cũng như được cộng đồng hỗ trợmột cách mạnh mẽ Vậy nên, nếu như các bạn có nhu cầu tìm nguồn tài liệu thìcó thể dễ dàng, cũng như gặp khó khăn thì được hỗ trợ một cách đắc lực nhất
khi học về PHP la gi thì các bạn sẽ có được cơ hội về việc làm là rất lớn, mức
lương của nó cũng khá cao nếu như chúng tôi không muốn nói là khủng, chắcchắn là các bạn chưa khi nào nghĩ tới Bên cạnh đó, ưu điểm này còn giúp cho
Trang 8bạn có thể làm được lượng công việc lớn khác nhau, cũng như tại nhiều công ty
và thu nhập từ đó sẽ được tăng lên đáng kể
PHP không chỉ dừng lại ở những tính năng hiện tại, trong tương lai thì nó cònphát triển mạnh mẽ hơn nữa để khẳng định được vị trí của mình luôn là cao ởtrong bảng danh sách thực hiện điều tra, khảo sát mỗi năm về ngôn ngữ lậptrình trong công nghệ thông tin
Nhược điểm
Với những ưu điểm tiện dụng, người học lập trình có thể dễ học thì PHP cũng có nhữngnhược điểm cơ bản Trong đó, nó được thể hiện qua:
Thứ nhất, PHP có hạn chế về cấu trúc của ngữ pháp, bởi nó không được thiết
kế gọn gàng và có phần đẹp mắt như những ngôn ngữ trong lập trình khác
Thứ hai, PHP chỉ có thể hoạt động và sử dụng được trên các ứng
dụng trong web Đó chính là lý do khiến cho ngôn ngữ này khó có
thể cạnh tranh được với những ngôn ngữ lập trình khác, nếu như
muốn phát triển và nhân rộng hơn nữa trong lập trình – lap trinh web
1.1.3 Cài đặt chạy PHP
XAMPP là một công cụ lap trinh web tuyệt vời giúp bạn tạo ra một máy
chủ ( Web – server) ngay trên máy tính cá nhân Nó được tích hợp sẵn Apache,
PHP, MySQL, FPT, Mail Server và các công cụ khác như phpMyAdmi
Nếu bạn chưa am hiểu về Website thì không nên mất tiền thuê hosting
hay tên miền XAMPP hoàn toàn có thể giúp bạn trong việc học PHP
Link tải XAMPP phiên bản mới nhất:
Trang 9- Nodejs là môi trường thời gian chạy đa nền tảng nguồn mở để phát triển các ứngdụng mạng và phía máy chủ Các ứng dụng Nodejs được viết bằng JavaScript và có thểchạy trên OS X, Microsoft Windows và Linux.
- Nodejs cũng cung cấp một thư viện phong phú gồm nhiều mô-đun JavaScriptkhác nhau giúp đơn giản hóa việc phát triển các ứng dụng web bằng cách sử dụngNodejs đến một mức độ lớn
Nodejs = Runtime Environment + JavaScript Library
1.2.2 Các tính năng của Nodejs
- Không đồng bộ và điều khiển sự kiện: Tất cả các API của thư viện Nodejs làkhông đồng bộ, nghĩa là, không bị chặn Về cơ bản nó có nghĩa là một máy chủ dựa trênNodejs không bao giờ chờ đợi một API để trả về dữ liệu Máy chủ chuyển sang API tiếptheo sau khi gọi nó và cơ chế thông báo của Sự kiện của Nodejs giúp máy chủ nhậnđược phản hồi từ cuộc gọi API trước đó
- Rất nhanh: Được xây dựng trên Công cụ JavaScript V8 của Google Chrome, thưviện Nodejs rất nhanh trong việc thực thi mã
- Single Threaded nhưng Highly Scalable: Nodejs sử dụng một mô hình luồng đơnvới vòng lặp sự kiện Cơ chế sự kiện giúp máy chủ phản hồi theo cách không chặn vàlàm cho máy chủ có khả năng mở rộng cao hơn so với các máy chủ truyền thống tạo racác chuỗi giới hạn để xử lý các yêu cầu Nodejs sử dụng một chương trình luồng đơn vàcùng một chương trình có thể cung cấp dịch vụ cho một số lượng lớn các yêu cầu hơncác máy chủ truyền thống như Apache HTTP Server
- Không đệm: Các ứng dụng Nodejs không bao giờ đệm bất kỳ dữ liệu nào Cácứng dụng này đơn giản xuất dữ liệu theo khối
- Giấy phép: Nodejs được phát hành theo giấy phép MIT.
Trang 101.2.3 Ưu nhược điểm của Nodejs
Ưu điểm:
Sau đây là các lĩnh vực và Nodejs đang chứng tỏ mình là một đối tác côngnghệ hoàn hảo
- Ứng dụng nhập/xuất
- Ứng dụng truyền dữ liệu: Đặc điểm nổi bật của Nodejs là nó nhận và xử lý nhiềukết nối chỉ với một luồng đơn (single-thread) Điều này giúp hệ thống tốn ít RAM nhất
và chạy nhanh nhất khi không phải tạo luồng (thread) mới
- Ứng dụng thời gian thực dữ liệu chuyên sâu (DIRT): Với sự ra đời của các ứngdụng di động và HTML5 nên Nodejs rất hiệu quả khi xây dựng những ứng dụng thờigian thực (real-time application), Twitter,
- Các ứng dụng dựa trên API JSON: Với cơ chế event-driven, non-blocking I/O(Input/Output) và mô hình kết hợp với JavaScript là sự lựa chọn tuyệt vời cho các dịnhvụ Web làm bằng JSON
- Ứng dụng trang đơn (Single Page Applications): Khả năng xử lý nhiều Request/sđồng thời thời gian phản hồi nhanh Các ứng dụng bạn định viết không muốn nó tải lạitrang, gồm rất nhiều request từ người dùng cần sự hoạt động nhanh để thể hiện sựchuyên nghiệp thì NodeJS sẽ là sự lựa chọn của bạn
Nhược điểm
- Không nên sử dụng Nodejs cho các ứng dụng chuyên sâu của CPU Do NodeJSđược viết bằng C++ & Javascript, nên phải thông qua thêm 1 trình biên dịch của NodeJS
sẽ lâu hơn
1.2.4 Ứng dụng của Nodejs
- Xây dựng websocket server (Chat server)
- Hệ thống Notification (Giống như facebook hay Twitter)
- Ứng dụng upload file trên client
Trang 11- Các máy chủ quảng cáo
- Các ứng dụng dữ liệu thời gian thực khác
- MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt động mạnh mẽ Bạn có thể viết hoặc chỉnh sửa code MySQL trên các IDE dành cho PHP, một số công cụ hỗ trợ
mà bạn có thể tham khảo thêm tại http://free-php-editor.com/
1.2.6 Ưu nhược điểm của MySQL.
Ưu điểm:
- 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ấtmạnh
- Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trênInternet 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ơnthế nữa nó có thể được mở rộng nếu cần thiết
Trang 12- Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rấthiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi.
số hệ quản trị cơ sở dữ liệu quan hệ khác
- 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
1.2.7 Lý do nên sử dụng MYSQL
- Tính linh hoạt: Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sứcchứa để xử lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy cáckho dữ liệu đồ sộ lên đến hàng terabytes thông tin
- Tính thực thi cao: Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệucấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù
- Có thể sử dụng ngay: Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩnđảm bảo của MySQL MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấuhình tái tạo chủ/tớ tốc độ cao, để các nhà phân phối thứ 3 đưa ra những giải phápcó thể dùng ngay duy nhất cho server cơ sở dữ liệu MySQL
- Hỗ trợ giao dịch mạnh: MySQL đưa ra một trong số những engine giao dịch cơ sở
dữ liệu mạnh nhất trên thị trường
- Nơi lưu trữ Web và Data đáng tin cậy: MySQL là nhà máy chuẩn cho các web
sites phải trao đổi thường xuyên vì nó có engine xử lý tốc độ cao, khả năng chèn
Trang 13dữ liệu nhanh ghê gớm, và hỗ trợ mạnh cho các chức năng chuyên dụng của webnhư tìm kiếm văn bản nhanh.
- Chế độ bảo mật dữ liệu mạnh: Vì bảo mật dữ liệu cho một công ty là công việc số
một của các chuyên gia về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặcbiệt chắc chắn dữ liệu sẽ được bảo mật tuyệt đối Trong việc xác nhận truy cập cơ
sở dữ liệu, MySQL cung cấp các kĩ thuật mạnh mà chắc chắn chỉ có người sửdụng đã được xác nhận mới có thể truy nhập được vào server cơ sở dữ liệu, vớikhả năng này để chặn người dùng ngay từ mức máy khách là điều có thể làmđược SSH và SSL cũng được hỗ trợ để chắc chắn các kết nối được an toàn và bảomật
- Sự phát triển ứng dụng hỗn hợp: Một trong số các lý do khiến cho MySQL là cơ
sở dữ liệu mã nguồn mở phổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp chobất kì sự phát triển ứng dụng nào cần
- Dễ dàng quản lý: MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian
ở mức trung bình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mấtchưa đầy 15 phút
- Mã nguồn mở tự do và hỗ trợ 24/7
- Tổng chi phí thấp
1.2.8 Cài đặt Nodejs và MySQL
Thiết lập môi trường Node.js
- Thiết lập môi trường cục bộ: Cần hai phần mềm có sẵn trên máy tính là Trìnhsoạn thảo văn bản và File cài đặt nhị phân Node.js
+ Trình chỉnh sửa văn bản: Ví dụ như Atom, Sublime, Visual Studio Code
+ Các tệp tạo bằng trình chỉnh sửa trên được gọi là tệp nguồn và chứa mã nguồncủa chương trình, thường được đặt tên với phần mở rộng “.js”
Trang 14+ Tải xuống kho lưu trữ Node.js: Tải xuống phiên bản mới nhất của Node.js từhttps://nodejs.org/en/download/
Cài đặt MySQL
- Truy cập trang web : https://dev.mysql.com/downloads/mysql/ tải xuống phiênbản mới nhất của MySQL
Trang 15CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỒNG2.1 Tài khoản sử dụng ứng dụng.
STT Tên tài khoản Ý nghĩa và nhiệm vụ
1 User (Người sử dụng) User là người giữ vai trò chính của hệ
thống, là user, quản lý và theo dõi mọi hoạtđộng trên ứng dụng
User có thể thực hiện tất cả các chức năngcó trong phần mềm như: Login, Order,Payment…
2 Admin Quản lý toàn bộ thông tin của hệ thống như
thông tin khách hàng, thông tin sản phẩm,thông tin các đơn đặt hàng Có thể thêmmới, thay đổi thông tin, xoá thông tin củangười dùng và sản phẩm
2.2 Các chức năng của hệ thống.
1 Login Giúp user vào được app để sử dụng,
thao tác trên app Đảm bảo xác thực thông tinuser và an toàn bảo mật
2 Sign up Chức năng đăng ký này giúp cho user
tạo riêng một tài khoản sử dụng
3 Quản lí khách hàng
4 Quản lí sản phẩm
Trang 16Uc2.3: UseCase tổng quát
2.3.1 Chức năng Đăng nhập/ Đăng kí
2.3.1.1 Biểu đồ Use case
Trang 182.3.1.2 Biểu đồ hoạt động
2.3.1.3 Biểu đồ trình tự
Trang 192.3.2 Chức năng quản lý khách hàng
2.3.2.1 Biểu đồ Use Case
2.3.2.2 Biểu đồ hoạt động