Tải bản đầy đủ (.pdf) (34 trang)

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

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 (1.88 MB, 34 trang )

TRƯỜ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
Ngành

: CÔNG NGHỆ THÔNG TIN

Chuyên ngành

: CÔNG NGHỆ PHẦN MỀM

Lớp

: D13CNPM4

Khóa

: 2018 - 2023

Hà Nội, tháng 2 năm 2022



PHIẾU CHẤM ĐIỂM
STT

Họ và tên

1

Nguyễn Văn Long
(18810310339)

2

Lê Việt Lâm
(18810310675)

Họ và tên giảng viên
Giảng viên chấm 1:

Giảng viên chấm 2:

Nội dung thực hiện

Chữ ký

Điểm

Chữ ký

Ghi chú



MỤ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



CHƯƠ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


DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt

Viết đầy đủ

Giải nghĩa

API

Application Programming Interface Giao diện lập trình ứng
dụng

RDBMS

Relational Database Management Hệ quản trị cơ sỏ dữ liệu
System
quan hệ

ACID

Atomicity, Consistency, Isolation Tính ngun tớ, Tính

and Durability
nhất qn, Tính đợc lập
và Tính bền vững

NPM

Node package manager

Trình quản lý gói


LỜ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í th 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 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”.

1


CHƯƠ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ơn
ngữ lập trình – ngon ngu lap trinh cho web được sử dụng và biết đến vô cùng phổ biến
trê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ên
cá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ới
cá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 PHP
và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ốt
lõ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ính
bao 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 cho
nhữ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ỏ ra
mộ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 ln đón nhận được sự quan
tâ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ắc
chắ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
2




bạ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ịn
phát triển mạnh mẽ hơn nữa để khẳng định được vị trí của mình ln 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ập
trì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ững
nhượ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 th hosting
hay tên miền. XAMPP hồn tồ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:
/>

1.2 NodeJS và MySQL
1.2.1 Định nghĩa
Nodejs là một nền tảng máy chủ được xây dựng trên công cụ JavaScript của
Google Chrome (V8 Engine). Nodejs được phát triển Ryan Dahl trong năm 2009. Định
nghĩa của Nodejs được cung cấp bởi :
3


- 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 ứng
dụ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 JavaScript
khá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ụng
Nodejs đế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ên
Nodejs không bao giờ chờ đợi một API để trả về dữ liệu. Máy chủ chuyển sang API tiếp
theo 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 đơn

vớ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 ra
cá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ơn
cá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.

4


1.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ông
nghệ 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ều
kết nối chỉ với một l̀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 ứng
dụng di động và HTML5 nên Nodejs rất hiệu quả khi xây dựng những ứng dụng thời
gian 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ịnh
vụ 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ại
trang, 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
5


- Các máy chủ quảng cáo
- Các ứng dụng dữ liệu thời gian thực khác.
1.2.5. Tổng quan về MySQL
-

Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trị CSDL
dạng server based, hệ gần giống với SQL server of Microsoft.

-

MySQL là phần mềm quản lý dữ liệu thơng qua CSDL. Và mỗi một CSDL đều có bảng
quan hệ chứa dữ liệu riêng biệt.

-

MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thể quản lý
cùng lúc một hay nhiều CSDL khác nhau. Và mỗi người dùng đều có 1 username và
password để truy nhập và truy xuất đến CSDL. Khi truy vấn đến CSDL của MySQL,
bạn phải cung cấp tài khoản và mật khẩu có quyền sử dụng cơ sở dữ liệu đó.


-

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  />
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ất
mạ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ê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.
6


- 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.
 Nhược điểm:
- Giới hạn: Theo thiết kế, MySQL khơng có ý định làm tất cả và nó khơng đi kèm
các hạn chế về chức năng mà một vài ứ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.
- 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ức
chứa để xử lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các
kho 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ệu
cấ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ấu
hì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áp
có 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 xun vì nó có engine xử lý tốc độ cao, khả năng chèn
7


dữ liệu nhanh ghê gớm, và hỗ trợ mạnh cho các chức năng chuyên dụng của web
như 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 đặc
biệ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ới
khả 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ảo
mậ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 cho
bấ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ất
chư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ình
soạ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ồn
của chương trình, thường được đặt tên với phần mở rộng “.js”
8


+ 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ừ
/>Cài đặt MySQL
- Truy cập trang web : tải xuống phiên
bản mới nhất của MySQL

9


CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỒNG
2.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ăng
có trong phần mềm như: Login, Order,
Payment…

2

Admin

Quản lý tồ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êm
mới, thay đổi thơng tin, xố thơng tin của
người dùng và sản phẩm

2.2 Các chức năng của hệ thống.
STT

Tên chức năng

Mô tả


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 tin
user 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
10


5

Đặt hàng online


6

Thống kê báo cáo
người dùng sản phẩm

7

Đổi mật khẩu

2.3 Đặc tả các ca sử dụng
UseCase tổng quát.

Uc2.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

11


12


2.3.1.2 Biểu đồ hoạt động

2.3.1.3 Biểu đồ trình tự

13


2.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

14


2.3.2.3 Biểu đồ trình tự

2.3.3 Chức năng quản lý sản phẩm
2.3.3.1 Biểu đồ Use Case

15


2.3.3.2 Biểu đồ hoạt động

2.3.3.3 Biểu đồ trình tự

16


2.3.4 Chức năng đặt hang online
2.3.4.1 Biểu đồ Use Case

2.3.4.2 Biểu đồ hoạt động

17



2.3.4.3 Biểu đồ trình tự

2.3.5 Chức năng Thống kê- Báo cáo người dùng và sản phẩm
2.3.5.1 Biểu đồ Use Case

18


2.3.5.2 Biểu đồ hoạt động

2.3.5.3 Biểu đồ trình tự

19


2.3.6. Biểu đồ lớp chi tiết hệ thống.

Hình : Biểu đồ Lớp chi tiết hệ thống

20


×