- Về mặt chức năng: Xây dựng đầy chức năng quản lý đầy đủ các thông tin sản phẩm, khách hàng, nhân viên, giỏ hàng, đơn hàng, … - Về công nghệ: Ứng dụng các framework vào xây dựng trang w
Trang 1ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU ĐẠI HỌC ĐÀ NẴNG TẠI KON TUM
-
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN HÀNG THỜI TRANG
Kon Tum, tháng 5 năm 2021
Trang 2ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU ĐẠI HỌC ĐÀ NẴNG TẠI KON TUM
-
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN HÀNG THỜI TRANG
SVTH : LÊ ĐỨC HẬU
MSSV : 16152480201004
LỚP : K10TT
GVHD : ThS LÊ THỊ BẢO YẾN
Kon Tum, tháng 5 năm 2021
Trang 3LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn chân thành sâu sắc tới các thầy cô giáo trong trường Phân hiệu Đại học Đà Nẵng tại Kon Tum nói chung và các thầy cô giáo trong khoa Kĩ Thuật – Nông nghiệp nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian bốn năm học vừa qua
Đặc biệt em xin gửi lời cảm ơn đến cô giáo Lê Thị Bảo Yến đã tận tình giúp đỡ,
trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình thực hiện học phần đồ án tốt nghiệp Trong thời gian làm việc, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần học tập và làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học tập và công tác sau này
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng góp ý kiến và giúp đỡ em trong quá trình học tập, nghiên cứu và hoàn thành đồ án tốt nghiệp
Một lần nữa, em xin chân thành cảm ơn!
Sinh viên thực hiện
Lê Đức Hậu
Trang 4i
MỤC LỤC DANH MỤC HÌNH ẢNH III DANH MỤC BẢNG V DANH MỤC CÁC CỤM TỪ VIẾT TẮT VI
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1
1.1 LÝ DO CHỌN ĐỀ TÀI 1
1.2 MỤC TIÊU NGHIÊN CỨU 1
1.3 PHẠM VI NGHIÊN CỨU 1
1.4 PHƯƠNG PHÁP NGHIÊN CỨU 1
CHƯƠNG 2: CƠ SỞ LÝ LUẬN 3
2.1 THƯƠNG MẠI ĐIỆN TỬ 3
2.1.1 Khái niệm 3
2.1.2 Lợi ích của thương mại điện tử 3
2.1.3 Các yêu cầu trong thương mai điện tử 4
2.1.4 Các mô hình trong thương mại điện tử 5
2.3 HTML 5
2.4 CSS 6
2.5 JAVASCRIPT 6
2.6 BOOTSTRAP 6
2.7 PHP 7
2.8 CƠ SỞ DỮ LIỆU MYSQL 8
2.8.1 Tổng quan về MySQL 8
2.8.2 Các thành phần của MySQL 9
2.9 PHẦN MỀM SỬ DỤNG 9
2.9.1 Visual Studio Code 9
2.9.2 XAMPP 10
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 12
3.1 CHỨC NĂNG CỦA CHƯƠNG TRÌNH 12
3.1.1 Khách hàng 12
3.1.2 Quản trị viên 12
3.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 14
3.2.1 Sơ đồ tổng quát 14
3.2.2 Sơ đồ tuần tự 15
3.2.3 Sơ đồ lớp 29
3.2.4 Lược đồ quan hệ cơ sở dữ liệu 32
3.4 CƠ SỞ DỮ LIỆU 32
3.4.1 Bảng admin 33
3.4.2 Bảng category 33
3.4.3 Bảng product 34
3.4.4 Bảng transaction 34
Trang 5ii
3.4.5 Bảng users 35
3.4.6 Bảng page 35
3.4.7 Bảng comment 35
3.5 KẾT QUẢ DEMO 36
3.5.1 Front-end 36
3.5.2 Back-end 39
CHƯƠNG 4: KẾT LUẬN 47
4.1 KẾT QUẢ ĐẠT ĐƯỢC 47
4.2 HẠN CHẾ 47
4.3 HƯỚNG PHÁT TRIỂN 47 TÀI LIỆU THAM KHẢOX
Trang 6iii
DANH MỤC HÌNH ẢNH
Hình 3.1: Sơ đồ use case tổng quát 15
Hình 3.2: Biểu đồ tuần tự chức năng đăng kí 16
Hình 3.3: Biểu đồ tuần tự chức năng đăng nhập 17
Hình 3.4: Biểu đồ tuần tự chức năng mua hàng 18
Hình 3.5: Biểu đồ tuần tự chức năng xóa sản phẩm giỏ hàng 19
Hình 3.6: Sơ đồ tuần tự chức năng thêm mới sản phẩm 20
Hình 3.7: Biểu đồ tuần tự chức năng chỉnh sửa sản phẩm 21
Hình 3.8: Biểu đồ tuần tự chức năng xóa sản phẩm 22
Hình 3.9: Biểu đồ tuần tự chức năng tìm kiếm 23
Hình 3.10: Biểu đồ tuần tự chức năng thêm danh mục 24
Hình 3.11: Biểu đồ tuần tự chức năng xóa danh mục 25
Hình 3.12: Biểu đồ tuần tự chức năng chỉnh sửa danh mục 26
Hình 3.13: Biểu đồ tuần tự chức năng xóa khách hàng 27
Hình 3.14: Biểu đồ tuần tự chức năng chỉnh sửa thông tin khách hàng 28
Hình 3.15: Biểu đồ tuần tự chức năng thống kê 29
Hình 3.16: Sơ đồ lớp 31
Hình 3.17: Lượt đồ quan hệ cơ sở dữ liệu 32
Hình 3.18: Bảng cơ sở dữ liệu 32
Hình 3.19: Bảng admin 33
Hình 3.20: Bảng category 33
Hình 3.21: Bảng orders 34
Hình 3.22: Bảng product 34
Hình 3.23: Bảng transaction 34
Hình 3.24: Bảng users 35
Hình 3.25: Bảng page 35
Hình 3.26: Bảng comment 35
Hình 3.27: Giao diện trang chủ 36
Hình 3.28: Giao diện đăng nhập 36
Hình 3.29: Giao diện đăng kí 37
Hình 3.30: Giao diện sản phẩm 38
Hình 3.31: Giao diện chi tiết sản phẩm 38
Hình 3.32: Giao diện giỏ hàng 39
Hình 3.33: Giao diện đăng nhập admin 39
Hình 3.34: Giao diện chính của trang quản trị admin 40
Hình 3.35: Giao diện quản lý danh mục 40
Hình 3.36: Giao diện quản lý sản phẩm 41
Hình 3.37: Giao diện quản lý admin 41
Hình 3.38: Giao diện quản lý user 42
Hình 3.39: Giao diện quản lý tổng các đơn hàng 42
Trang 7iv
Hình 3.40: Giao diện quản lý đơn hàng chưa xử lí 43
Hình 3.41: Giao diện quản lý đơn hàng đã xử lý 43
Hình 3.42: Giao diện quản lý đơn hàng đã hủy 44
Hình 3.43: Quản lý thống kê thanh toán 44
Hình 3.44: Giao diện Quản lý sản phẩm sắp hết 45
Hình 3.45: Giao diện quản lý sản phẩm bán chạy 45
Hình 3.46: Giao diện quản lý nhiều lượt xem nhất 46
Trang 8v
DANH MỤC BẢNG
Bảng 3 1 Bảng chi tiết product 29
Bảng 3 2 Bảng chi tiết admin 29
Bảng 3 3 Bảng chi tiết users 30
Bảng 3 4 Bảng chi tiết page 30
Bảng 3 5 Bảng chi tiết category 30
Bảng 3 6 Bảng chi tiết transaction 30
Bảng 3 7 Bảng chi tiết orders 30
Bảng 3 8 Bảng chi tiết comment 31
Trang 9vi
DANH MỤC CÁC CỤM TỪ VIẾT TẮT
3 WTO The World Trade Organization (Tổ chức thương
mại thế giới)
4 APEC Asia-Pacific Economic Cooperation (Diễn đàn Hợp
tác Kinh tế châu Á - Thái Bình Dương)
5 SQL Structured Query Language (Ngôn ngữ truy vấn có
cấu trúc)
9 CMS Content Management System (Hệ thống quản lý
nội dung)
10 UML Unified Modeling Language ( là ngôn ngữ dành
cho việc đặc tả, hình dung, xây dựng và làm tài liệu của các hệ thống phần mềm)
Trang 101
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 LÝ DO CHỌN ĐỀ TÀI
Ngày nay việc sở hữu một Website bán hàng không còn là điều xa lạ với chúng
ta, thậm chí trong một số trường hợp còn là tiêu chuẩn bắt buộc đối với các doanh nghiệp – công ty trong thời điểm cạnh tranh mang tính toán toàn cầu như hiện nay Với sự bùng nổ của Internet, mỗi ngày có hàng trăm triệu người truy cập internet với nhu cầu tìm tin tức, nhu cầu mua bán sản phẩm một cách thuận tiện và nhanh
chóng Nhận được tính thiết thực của điều đó em đã chọn đề tài “Xây dựng Website bán hàng thời trang” có thể tương tác với khách hàng mọi lúc, mọi nơi, không còn
giới hạn về không gian hay thời gian Thông qua các tiện ích trên website, khách hàng
có thể tương tác trực tiếp hoặc có tìm hiểu các sản phẩm thông qua website
Dựa trên nhu cầu mua (của khách hàng), bán (của người bán) ngày càng tăng, nên việc quảng bá thương hiệu, đưa sản phẩm tiếp cận gần hơn với khách hàng dễ dàn
và thuận tiện hơn
1.2 MỤC TIÊU NGHIÊN CỨU
- Về lý thuyết: Nắm bắt vững được các ngôn ngữ thiết kế web PHP, MySQL, HTML, jQuery, JavaScript, CSS,Bootstrap
- Về giao diện: Website hiển thị sản phẩm đẹp, thu hút người dùng, giao diện đẹp, đơn giản, thân thiện, cung cấp đầy đủ thông tin về các mặt hàng sản phẩm
- Về mặt chức năng: Xây dựng đầy chức năng quản lý đầy đủ các thông tin sản phẩm, khách hàng, nhân viên, giỏ hàng, đơn hàng, …
- Về công nghệ: Ứng dụng các framework vào xây dựng trang web Website có
khả năng tự tương thích, hiển thị được trên tất cả các thiết bị hiện tại và có thể nâng cấp trong tương lai
1.3 PHẠM VI NGHIÊN CỨU
- Vấn đề nghiên cứu: Nghiên cứu những công nghệ và kĩ thuật để xây dựng một website với đầy đủ các tính năng, đáp ứng các nhu cầu của website bán hàng trực tuyến
- Về không gian: Đề tài nghiên cứu trên lĩnh vực bán hàng trực tuyến trên toàn quốc
- Thời gian nghiên cứu: 5 tháng
1.4 PHƯƠNG PHÁP NGHIÊN CỨU
- Tiếp cận nghiệp vụ: Tìm hiểu các quy trình và cách xử lý nghiệp vụ cho các quy trình đó trong thực tế để đảm bảo tính đúng đắn Khảo sát thực tế những yêu cầu của khách hàng về hệ thống để đưa ra những giải pháp, những ý tưởng mới cho việc xây dựng, thiết kế hệ thống website sau này
- Về mặt lí thuyết: Nắm vững các lí thuyết xây bố cục của một website, sử dụng các công cụ và công nghệ để tạo ra website hoàn chỉnh đầy đủ các tính năng thân thiện với người dùng
Trang 112
- Về mặt kĩ thuật: Tìm hiểu các tài liệu chuyên ngành, nghiên cứu những công nghệ và kĩ thuật cần thiết để xây dựng một website với đầy đủ các tính năng Học hỏi các kinh nghiệm và xử lý logic từ những người có chuyên môn
Trang 12Theo Uỷ ban Thương mại điện tử của Tổ chức hợp tác kinh tế châu Á Thái Bình Dương (APEC): "Thương mại điện tử là công việc kinh doanh được tiến hành thông qua truyền thông số liệu và công nghệ tin học kỹ thuật số" (1)
Nhưng hiểu một cách tổng quát, TMĐT là việc tiến hành một phần hay toàn bộ hoạt động thương mại bằng những phương tiện điện tử TMĐT vẫn mang bản chất như các hoạt động thương mại truyền thống Tuy nhiên, thông qua các phương tiện điện tử mới, các hoạt động thương mại được thực hiện nhanh hơn, hiệu quả hơn, giúp tiết kiệm chi phí và mở rộng không gian kinh doanh (1)
TMĐT càng được biết tới như một phương thức kinh doanh hiệu quả từ khi Internet hình thành và phát triển Chính vì vậy, nhiều người hiểu TMĐT theo nghĩa cụ thể hơn là giao dịch thương mại, mua sắm qua Internet và mạng (ví dụ mạng Intranet của doanh nghiệp) (1)
2.1.2 Lợi ích của thương mại điện tử
Có thể hiểu được rằng bằng cách sử dụng phương tiện này sẽ giúp ích cho người
sử dụng môi trường mạng trong việc tìm kiếm đối tác, nắm bắt được thông tin trên thị trường, giảm chi phí tiếp thị và giao dịch nhằm mở rộng qui mô sản xuất hoạt động kinh doanh trong thương trường (2)
a Cơ hội đạt lợi nhuận
Nắm bắt được nhiều thông tin phong phú, giúp cho các doanh nghiệp nhờ đó mà
có thể đề ra các chiến lược sản suất và kinh doanh thích hợp với xu thế phát triển trong
b Giảm thiểu các hoạt động kinh doanh
Giảm chi phí sản xuất, chi phí văn phòng, chi phí thuê mặt bằng Bên cạnh đó không cần tốn nhiều nhân viên để quản lý và mua bán giao dịch
Thương mại điện tử giúp giảm chi phí bán hàng và tiếp thị mà chỉ thông qua môi trường Web một nhân viên vẫn có thể giao dịch với nhiều đối tác, khách hàng đồng
Trang 13c Chiến lược kinh doanh
Qua thương mại điện tử giúp các doanh nghiệp có thể củng cố quan hệ hợp tác, thiết lập các quan hệ tốt hơn với bạn hàng, người dùng Đồng thời ngày càng có điều kiện nâng cao uy tín trên thị trường (2)
2.1.3 Các yêu cầu trong thương mai điện tử
Thương mại điện tử không đơn thuần là phương tiện để thực hiện công việc mua bán trên mạng mà còn bao gồm các yêu cầu phức tạp đan xen nhau có liên quan đến các vấn đề khác như: văn bằng pháp lý, luật quốc gia, tập quán xã hội (3)
a Cơ sở hạ tầng
Trong việc phát triển thương mại dựa trên hệ thống thông tin thì trước hết phải có một kĩ thuật máy tính điện tử hiện đại, server, phần mềm hỗ trợ vững chắc những trang thiết bị tương đối hoàn thiện và đảm bảo thông tin bảo mật chống Virusvà cách phòng chống những nguy cơ bị xâm nhập ảnh hưởng quốc gia phù hợp với từng doanh nghiệp và theo đúng chuẩn mực do doanh nghiệp đề ra (3)
b Nhân lực
Để có thể theo kịp và nắm bắt thông tin kịp thời trong thời đại thông tin thì phải xây dựng một đội ngũ cán bộ, nhân viên có trình độ tin học, kỹ thuật điện tử, khả năng tiếp cận nhanh chóng các phần mềm mới Bên cạnh đó ngoài khả năng giao tiếp ngôn ngữ trong nước, nhân viên còn phải trang bị vốn tiếng Anh (ngôn ngữ giao tiếp toàn cầu) để có thể tiến xa hơn Đây là cách cũng sẽ dẫn đến sự thay đổi trong hệ thống và giáo dục ngày nay (3)
c Tạo mối quan hệ bằng sự tin cậy
Tin cậy là trọng tâm của bất kỳ giao tiếp thương mại nào, không những thể hiện giữa các phòng ban, thực hiện đúng luật pháp của các doanh nghiệp mà còn với khách hàng bằng sự tin tưởng về vấn đề sản phẩm hay phàn nàn, khiếu nại Đó là yếu tố tất yếu của nhà doanh nghiệp muốn kinh doanh lâu dài (3)
d Bảo mật và an toàn
Trong thương trường giao dịch bằng Internet là yếu tố không mấy đảm bảo rằng vấn đề bảo mật và an toàn là cao Với sự mạnh mẽ của Internet thì việc xâm nhập tài liệu cá nhân, các hợp đồng, tín dụng, dữ liệu sẽ bị lộ và tin chắc rằng sẽ không có người nào sẽ tham gia vào công việc mua bán qua mạng nữa (3)
Một vấn đề đáng lo ngại nữa là mất dữ liệu, một hệ thống được xem là an toàn nhất vấn đề hàng đầu là trọng tâm để có thể cho mọi người, nhất là các doanh nghiệp
có khả năng mua bán mà không thể đổ lỗi lẫn nhau (3)
Trang 145
e Bảo vệ quyền lợi khách hàng và bản quyền kinh doanh
Trong môi trường Internet là nơi các doanh nghiệp đầu tư sử dụng, trình bày sản phẩm, mua bán trao đổi thông tin hàng hóa thì vấn đề bản quyền là cần thiết giúp cho các doanh nghiệp an tâm, đảm bảo trong công việc phát triển và đồng thời ngăn chặn việc xâm phạm bản quyền, phiên dịch trái phép hay ăn cắp ”chất xám” Do vấn đề mua bán trên mạng, việc xem hàng hóa thông qua sử dụng hình ảnh thì chất lượng và vấn
đề thực tế bên trong sản phẩm đó là như thế nào thì không ai biết được do đó phải đề
ra luật lệ và qui định đối với những người mua bán qua mạng (3)
f Hệ thống thanh toán điện tử tự động
Thương mại điện tử chỉ có thể thực hiện một cách trọn vẹn nếu có một hệ thống thanh toán điện tử tự động Nếu không có hệ thống này thì tính cách thương mại sẽ bị giảm thấp và chỉ mang tính ứng dụng trao đổi thông tin Theo tiêu chuẩn và mẫu của quốc tế thì việc mã hóa các hàng hóa theo mã vạch là 13 và mỗi công ty có một địa chỉ riêng của mình bằng một mã có số từ 100 đến 100.000 Nếu việc hội nhập và thiết lập
hệ thống mã sản phẩm và mã công ty (mã thương mại) cho một công ty nói riêng và cho một nền kinh tế nói chung là không đơn giản (3)
2.1.4 Các mô hình trong thương mại điện tử
B2B (Business to Business): Hình thức trao đổi mua bán giữa các nhà kinh
doanh với nhau hay khác hơn là giữa các nhà cung cấp và công ty (Không thanh toán bằng credit card mà phải bằng việc xác nhận mua sắm bằng mail) Điểm chính yếu của
mô hình này là thường dùng cho các tổ chức muốn tìm kiếm đối tác Điểm quan trọng khác của mô hình này là có thể liên lạc giữa các nhà cung cấp và khách hàng Trong việc kinh doanh mô hình này cho phép giữa hai nhà cung cấp và công ty có xảy ra thương lượng (4)
B2C (Business to Customer): Hình thức trao đổi mua bán giữa nhà kinh doanh
với khách hàng Điểm chính yếu của mô hình này là kinh doanh lợi nhuận Đây là hình thức thông dụng và được thanh toán thông qua bằng credit card hay bằng các loại phương thức thanh toán khác Tuy nhiên trong việc kinh doanh thì khách hàng không thể thương lượng với nhà kinh doanh (4)
C3C (Customer to Customer): Hình thức trao đổi mua bán giữa khách hàng với
khách hàng hay còn gọi là môi giới Điểm chính yếu của mô hình này là cung cấp nhu cầu tìm kiếm thông tin của khách hàng Hình thức này có thể thanh toán bằng credit card Từ các mô hình trên, luận văn chúng em được thực hiện việc phân tích và cài đặt theo mô hình B2C (4)
2.3 HTML
Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được quy định bằng các thẻ tag Bạn có thể phân biệt một trang web được viết bằng ngôn ngữ HTML hay PHP thông qua đường link của nó Ở cuối các trang HTML thường hay có đuôi là HTML hoặc HTM (6)
Trang 156
HTML là ngôn ngữ lập trình web được đánh giá là đơn giản Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML Hiện nay, phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản TML cũ Một tập tin HTML bao gồm trong đó là các đoạn văn bản HTML, được tạo lên bởi các thẻ HTML HTML5 nói chung mạnh mẽ hơn nhiều không chỉ về tốc độ và
độ thích ứng cao mà chính là khả năng hỗ trợ API (Application Programming Interface
- giao diện lập trình ứng dụng) và DOM (Document Object Model – các đối tượng thao tác văn bản) (6)
2.4 CSS
CSS (Cascading Style Sheets) là một ngôn ngữ quy định cách trình bày cho các tài liệu viết bằng HTML, XHTML, XML, SVG, hay UML CSS quy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộc tính của các thẻ đó (font chữ, kích thước, màu sắc ) (7)
CSS có cấu trúc đơn giản và sử dụng các từ tiếng anh để đặt tên cho các thuộc tính CSS khi sử dụng có thể viết trực tiếp xen lẫn vào mã HTML hoặc tham chiếu từ một file css riêng biệt Hiện nay CSS thường được viết riêng thành một tập tin với mở rộng là “.css” Chính vì vậy mà các trang web có sử dụng CSS thì mã HTML sẽ trở nên ngắn gọn hơn Ngoài ra có thể sử dụng một tập tin CSS đó cho nhiều website tiết kiệm rất nhiều thời gian và công sức Một đặc điểm quan trọng đó là tính kế thừa của CSS do đó sẽ giảm được số lượng dòng code mà vẫn đạt được yêu cầu (7)
Tuy nhiên, đối với CSS thì các trình duyệt hiểu theo kiểu riêng của nó Do vậy, việc trình bày một nội dung trên các trình duyệt khác nhau là không thống nhất CSS cung cấp hàng trăm thuộc tính trình bày dành cho các đối tượng với sự sáng tạo cao trong kết hợp các thuộc tính giúp mang lại hiệu quả (7)
2.5 JAVASCRIPT
JavaScript là một ngôn ngữ dạng script thường được sử dụng cho việc lập trình web ở phía client, nó tuân theo chuẩn ECMAScript Là một ngôn ngữ linh động, cú pháp dễ sử dụng như các ngôn ngữ khác và dễ dàng lập trình JavaScript không hề liên quan tới ngôn ngữ lập trình java, được hầu hết các trình duyệt ngày nay hỗ trợ Với JavaScript, ứng dụng web của bạn sẽ trở nên vô cùng sinh động, mang tính trực quan
và tương tác cao JavaScript theo phiên bản hiện hành là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ này được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng Giống Java, JavaScript có cú pháp tương tự ngôn ngữ lập trình C “.js” là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript (8)
2.6 BOOTSTRAP
Bootstrap là một Framework có chứa HTML, CSS, JavaScript, Framework trong tiếng việt có nghĩa là “khuôn khổ” giúp tiết kiệm được thời gian, công sức hơn nữa việc xây dựng hai template cho giao diện Desktop và Mobile đã lỗi thời thay vào đó là
Trang 167
Responsive Responsive sẽ giúp website của bạn hiển thị tương thích với mọi kích thước màn hình nhờ đó bạn sẽ tùy chỉnh hiện thị được nhiều hơn trên các loại màn hình khác nhau (9)
Ưu điểm của Bootstrap:
- Tiết kiệm thời gian: Bootstrap giúp người thiết kế giao diện website tiết kiệm rất nhiều thời gian Các thư viện Bootstrap có những đoạn mã sẵn sàng cho bạn áp dùng vào website của mình Bạn không phải tốn quá nhiều thời gian để tự viết code cho giao diện của mình
- Tùy biến cao: Bạn hoàn toàn có thể dựa vào Bootstrap và phát triển nền tảng giao diện của chính mình Bootstrap cung cấp cho bạn hệ thống Grid System mặc định bao gồm 12 bột và độ rộng 940px Bạn có thể thay đổi, nâng cấp và phát triển dựa trên nền tảng này (9)
- Responsive Web Design: Với Bootstrap, việc phát triển giao diện website để phù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết Đây là xu hướng phát triển giao diện website đang rất được ưu chuộng trên thế giới (9)
2.7 PHP
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại
mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn
mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn,
cú pháp giống ngôn ngữ lập trình C và ngôn ngữ lập trình 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 Một tập tin PHP có phần mở rộng *.php, nó có thể chứa các văn bản, mã nguồn HTML, CSS, JavaScript, jQuery và đương nhiên có thể chứa mã nguồn PHP (10)
Đối với các trang PHP khi có yêu cầu xem trang web thì Server sẽ tiến hành phát sinh trang web đó từ mã nguồn PHP sang mã nguồn HTML, sau đó mới chuyển mã nguồn đó về trình duyệt web để người dùng xem Vì các trình duyệt web không thể đọc được các mã nguồn PHP mà chỉ đọc được các mã nguồn HTML (10)
Hiện nay, đất nước đang trên đà hướng tới công nghệ 4.0, vì vậy tất cả mọi việc đều trên điện thoại hoặc máy tính Cuộc sống con người lôn gắn liền với 2 thiết
bị thông minh đấy vì vậy Website đã được tạo ra để đáp ứng các nhu cầu khác nhau của con người Ngôn ngữ lập trình PHP là ngôn ngữ quan trọng nhất để tạo ra các Website đó Với việc sử dụng PHP bạn có thể tạo ra nhiều website với các chức năng khác nhau một cách đơn giản Bởi ngôn ngữ lập trình PHP đơn giản, tốc độ xử
lý cao và được công đồng ưa chuộng Vì vậy, nếu bạn muốn trở thành một Developer Web thì lựa chọn hoàn hảo nhất dành cho bạn là ngôn ngữ lập trình PHP (10)
Trang 178
- Ưa điểm
Phải kể đến đầu tiên đó chính là PHP là một mã nguồn mở Việc cài đặt và sử dụng PHP rất dễ dàng và hoàn toàn miễn phí Chính vì vậy PHP luôn được cài đặt phổ biến trên các Web Sever như: Apache, Nginx, IIS (10)
Có tính cộng đồng cao: là một mã nguồn mở và dễ sử dụng nên PHP luôn được cộng đồng ưu chuộng Cộng đồng PHP được coi là khá rộng và chất lượng trên toàn thế giới Đã có nhiều blog, diễn đàn trong và ngoài nước nói về PHP nên khả năng tiếp cận của mọi người nhanh chóng, dễ dàng hơn (10)
Thư viện phong phú: Với tính chất được nhiều người sử dụng nên thư viện về ngôn ngữ lập trình PHP ngày càng được mở rộng Với thư viện code phong phú, việc học tập và ứng dụng PHP trở nên rất dễ dàng và nhanh chóng Đây cũng chính là đặc điểm khiến PHP trở nên khá nổi bật và cũng là nguyên nhân vì sao ngày càng có nhiều người sử dụng PHP để phát triển web Không những vậy mà PHP còn có thể kết hợp được với những cơ sở dữ liệu lớn: MySQL, Oracle, Cassandra (10)
Tính bảo mật cao: Bản thân PHP là mã nguồn mở và cộng đồng phát triển khá mạnh nên PHP được coi là khá an toàn khi sử dụng Khi sử dụng PHP kết hợp các kỹ thuật bảo mật ở các tầng khác thì PHP sẽ trở lên chắc chắn hơn và đảm bảo hoạt động cho website (10)
Nhược điểm đầu tiên phải nói đến của PHP là cấu trúc ngữ pháp của nó không được gọn gàng, đẹp mắt như các ngôn ngữ lập trình khác Và PHP chỉ hoạt động được trên các ứng dụng website (10)
2.8 CƠ SỞ DỮ LIỆU MYSQL
2.8.1 Tổng quan về MySQL
MySQL là hệ quản trị dữ liệu miễn phí, được tích hợp sử dụng chung với Apache, PHP Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên MySQL đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở MySQL cũng
có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL Nhưng MySQL không bao quát toàn bộ những câu truy vấn cao cấp như SQL Về bản chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website nhưng hầu hết
có thể giải quyết các bài toán trong PHP (11)
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, hoạt động trên nhiều
hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) MySQL đang được sử dụng cho nhiều công việc kinh doanh từ nhỏ tới lớn: (11)
- MySQL là mã ngồn mở vì thế sử dụng không mất phí
- MySQL sử dụng một Form chuẩn của ngôn ngữ dữ liệu nổi tiếng là SQL
Trang 189
- MySQL làm việc trên nhiều Hệ điều hành và với nhiều ngôn ngữ như PHP, PERL, C, C++, Java, …
- MySQL làm việc nhanh với các tập dữ liệu lớn
- MySQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn nữa trong một bảng Kích cỡ file mặc định được giới hạn cho một bảng là 4 GB (Gigabyte), nhưng bạn có thể tăng kích cỡ này (nếu hệ điều hành của bạn có thể xử lý nó) để đạt tới giới hạn lý thuyết là 8 TB (Terabyte) (11)
- MySQL là có thể điều chỉnh Giấy phép GPL mã nguồn mở cho phép lập trình viên sửa đổi phần mềm MySQL để phù hợp với môi trường cụ thể của họ (11)
2.8.2 Các thành phần của MySQL
Kết nối đến cơ sở dữ liệu MySQL: tìm hiểu làm thế nào để sử dụng PHP để mở
và đóng một kết nối cơ sở dữ liệu MySQL (11)
Tạo cơ sở dữ liệu MySQL Sử dụng PHP: phần này giải thích làm thế nào để tạo
ra cơ sở dữ liệu và bảng MySQL bằng cách sử dụng PHP (11)
Xóa cơ sở dữ liệu MySQL Sử dụng PHP: phần này giải thích làm thế nào để xóa
cơ sở dữ liệu và bảng MySQL bằng cách sử dụng PHP (11)
Chèn dữ liệu Cơ sở dữ liệu MySQL: một khi bạn đã tạo ra cơ sở dữ liệu và các bảng của bạn sau đó bạn muốn chèn dữ liệu vào bảng được tạo ra Phiên họp này sẽ đưa bạn qua ví dụ thực tế về dữ liệu chèn (11)
Lấy dữ liệu từ cơ sở dữ liệu MySQL: tìm hiểu làm thế nào để lấy hồ sơ từ cơ sở
dữ liệu MySQL bằng cách sử dụng PHP (12)
Sử dụng Paging qua PHP: điều này giải thích làm thế nào để hiển thị kết quả truy vấn của bạn thành nhiều trang và làm thế nào để tạo ra các liên kết điều hướng Đang cập nhật dữ liệu vào cơ sở dữ liệu MySQL: phần này giải thích làm thế nào để cập nhật hồ sơ hiện có vào cơ sở dữ liệu MySQL bằng cách sử dụng PHP (11)
Xóa dữ liệu từ cơ sở dữ liệu MySQL: phần này giải thích làm thế nào để xóa hoặc tẩy hồ sơ hiện từ cơ sở dữ liệu MySQL bằng cách sử dụng PHP Sử dụng PHP
Để sao lưu cơ sở dữ liệu MySQL: tìm hiểu những cách khác nhau để sao lưu cơ sở dữ liệu (11)
2.9 PHẦN MỀM SỬ DỤNG
2.9.1 Visual Studio Code
Visual Studio Code Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor (12)
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác (12)
Trang 19phpMyAdmin (13)
Đặc biệt, XAMPP có giao diện quản lý khá tiện lợi, cho phép người dùng chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào Phần mềm này cũng được thiết lập và phát triển dựa trên mã nguồn mở
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, nó tích hợp các thành phần quan trọng và tương thích lẫn nhau như: Apache, PHP (tạo môi trường chạy các tập tin script *.php), MySQL (hệ quản trị dữ liệu mysql) (13)
Trang 2011
Hình 2.2 Giao diện XAMPP
Trang 21- Chức năng này cho phép khách hàng đăng ký làm thành viên của website
- Thông tin gồm: Tên đăng nhập, mật khẩu, họ tên, điện thoại, địa chỉ, email
- Xử lý: Khách hàng phải nhập đầy đủ các thông tin yêu cầu Sau khi nhấn nút đăng ký, trang web sẽ kiểm tra tài khoản có hợp lệ hay không Nếu không hợp lệ thì yêu cầu đăng ký lại, nếu hợp lệ thì khách hàng sẽ trở thành viên của website Thông tin
khách hàng được lưu lại trong database
b Đăng nhập
- Chức năng này cho phép khách hàng đăng nhập vào website với điều kiện khách hàng đã là thành viên của website
- Các thông tin yêu cầu: Tên đăng nhập và mật khẩu
- Xử lý: Nếu khách hàng nhập đúng tên đăng nhập và mật khẩu thì sẽ login thành công vào website Nếu khách hàng nhập sai thì yêu cầu nhập lại
c Tìm kiếm
- Chức năng này cho phép khách hàng tìm ra sản phẩm mà mình muốn mua
- Thông tin yêu cầu: Tên sản phẩm
- Xử lý: Khi nhập vào tên sản phẩm và bấm tìm kiếm, website sẽ tìm trong database xem sản phẩm có tồn tại hay không Nếu có thì thông tin sản phẩm sẽ được hiển thị lên cho khách hàng, nếu không có thì thông báo sản phẩm không tồn tại
d Mua
- Chức năng này cho phép khách hàng đặt mua sản phẩm thông qua website
- Điều kiện yêu cầu: Khách hàng đã là thành viên của website Nếu không phải là thành viên thì phải cung cấp đầy đủ các thông tin như họ tên, số điện thoại, địa chỉ, email
- Xử lý: Khách hàng muốn mua sản phẩm nào chỉ cần chọn sản phẩm và bấm nút đặt mua Website sẽ kiểm tra xem sản phẩm đó có còn hay không Nếu không thì thông báo cho khách hàng Nếu còn thì website lấy thông tin của khách hàng và tạo ra một đơn hàng Khách hàng chọn xác nhận, website thông báo đặt hàng thành công
- Ngoài các chức năng trên, khách hàng khi trở thành viên còn có các chức năng: thay đổi thông tin, thay đổi mật khẩu, liên hệ
Trang 2213
- Chức năng này cho phép người quản trị tạo ra một sản phẩm mới
- Các thông tin của sản phẩm phải tương ứng với các thông tin yêu cầu trong cơ
sở dữ liệu
- Xử lý: Khi nhập thông tin của sản phẩm Website sẽ kiểm tra thông tin đó có hợp lệ hay không, nếu không thì thông báo không hợp lệ và yêu cầu nhập lại Nếu có thì xác nhận thêm thành công Sản phẩm sau khi thêm sẽ được gắn cho một id Mỗi sản phẩm có một id riêng biệt
Sửa thông tin
- Chức năng này cho phép người quản trị thay đổi thông tin của một sản phẩm
- Xử lý: Sau khi chọn một sản phẩm để sửa và bấm chỉnh sửa, website sẽ hiển thị các trường thông tin của sản phẩm lên Người quản trị sẽ sửa thông tin của sản phẩm trực tiếp lên đó và bấm nút cập nhật Website sẽ kiểm tra xem sản phẩm cập nhật có hợp lệ không Nếu không thì thông báo và yêu cầu cập nhật lại Nếu đã hợp lệ thì thông tin của sản phẩm trong database sẽ được cập nhật và thông báo cho khách hàng
đã cập nhật thành công
Xóa sản phẩm
- Chức năng này cho phép người quản trị xóa bỏ một sản phẩm ra khỏi website
- Xử lý: Người quản trị chọn sản phẩm và bấm xóa sản phẩm Website sẽ truy cập đến database và xóa sản phẩm đó ra khỏi database
c Quản lý khách hàng
Xem thông tin khách hàng
- Chức năng này cho phép người quản trị xem thông tin của khách hàng
- Xử lý: Sau khi bấm chọn quản lý khách hàng Website sẽ hiển thị một danh sách tất cả khách hàng có trong hệ thống Người quản trị có thể click chọn từng người
cụ thể để xem thông tin của họ (trừ mật khẩu)
Sau khi khách hàng đã đặt mua sản phẩm, thông tin về đơn hàng đó sẽ được tạo
ra Người quản trị sau khi liên lạc với khách hàng đặt mua để xác nhận thông tin Sau khi xác nhận với người đặt hàng, người quản trị có thể bấm chọn xác nhận đơn hàng Khi đó đơn hàng mới được thực hiện
Hủy đơn hàng
Trong trường hợp xác minh với khách hàng mà khách hàng muốn hủy đơn hàng, người quản trị cũng có thể chọn hủy đơn hàng
Trang 23a Phân tích tổng quan về đề tài
Giai đoạn này tìm hiểu về những vấn đề tổng quan của đề tài như lí do thực hiện, mục tiêu đề tài, giới hạn và phạm vi của đề tài
b Phân tích thiết kế hệ thống
Khảo sát, tìm hiểu các quy trình, các nghiệp vụ cần phải xử lý trong trang web
và phải xử lý như thế nào
Xác định các tác nhân và các chức năng của website Dùng công cụ Draw.io để
vẽ sơ đồ UML tương ứng với những tác nhân, các chức năng, các trạng thái đã xác định được
c Thiết kế cơ sở dữ liệu
Giai đoạn này sử dụng công cụ Draw.io để xây dựng được các bảng dữ liệu có trong website và các ràng buộc giữa chúng
d Xây dựng giao diện trang web (Frontend)
Áp dụng ngôn ngữ Html, CSS, JavaScript, Bootstrap để xây dựng ra giao diện trang web phía người dùng và giao diện trang quản trị viên của admin
e Xây dựng các module của trang web (Backend)
Giai đoạn này dựa vào phần giao diện đã thực hiện Áp dụng ngôn ngữ PHP và
cơ sở dữ liệu MySQL để xây dựng phần xử lí chức năng, nghiệp vụ cho trang web
3.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.2.1 Sơ đồ tổng quát
Website gồm 2 tác nhân tương tác gồm:
- Khách hàng: Là người có nhu cầu mua sản phẩm, xem thông tin sản phẩm Sử dụng những chức năng của mình để tương tác với hệ thống
- Quản trị viên: Là người điều hành website có các chức năng như quản lý sản phẩm, đơn hàng, tài khoản Quản trị viên còn có chức năng xem những bảng thống kê doanh thu, hóa đơn, …
Trang 24 B1: Mở giao diện đăng ký
B2: Nhập đầy đủ thông tin
B3: Click “đăng ký”
B4: Hệ thống sẽ lấy thông tin từ giao diện
B5: Hệ thống kiểm tra thấy tài khoản đã tồn tại, trả về thông báo
B6: Hiển thị thông báo, người dùng nhập lại thông tin
B7: Hệ thống kiểm tra thấy tài khoản chưa tồn tại, lưu thông tin lên database
B8: Hệ thống trả về thông báo đăng ký thành công
B9: Hiển thị thông báo
Trang 2516
Hình 3.2: Biểu đồ tuần tự chức năng đăng kí
b Chức năng đăng nhập
Tác nhân: khách hàng, quản trị viên
Mô tả: Cho phép khách hàng và quản trị viên sử dụng tài khoản đã đăng ký để đăng nhập vào hệ thống
Luồng sự kiện:
B1: Mở giao diện đăng nhập
B2: Nhập thông tin
B3: click “đăng nhập”
B4: Hệ thống sẽ lấy thông tin từ giao diện
B5: Hệ thống kiểm tra thông tin vừa lấy được trên database
B6: Hệ thống kiểm tra thấy thông tin tài khoản sai, trả về thông báo
B7: Hiển thị thông báo, người dùng nhập lại thông tin
B8: Hệ thống kiểm tra thấy thông tin tài khoản đúng, cấp quyền truy cập cho người dùng
B9: Đăng nhập thành công
Trang 2617
Hình 3.3: Biểu đồ tuần tự chức năng đăng nhập
c Chức năng thêm sản phẩm vào giỏ hàng
B5: Thêm thông tin sản phẩm vừa lấy được vào giỏ hàng
B6: Lưu dữ liệu giỏ hàng vào database
B7: Trả về kết quả
B8: Hiển thị giỏ hàng sau khi thêm sản phẩm
Trang 2718
Hình 3.4: Biểu đồ tuần tự chức năng mua hàng
d Chức năng xóa sản phẩm giỏ hàng
Tác nhân: Khách hàng
Mô tả: Cho phép khách hàng xóa sản phẩm khỏi giỏ hàng
Luồng sự kiện:
B1: Mở giao diện giỏ hàng
B2: Chọn sản phẩm cần xóa, click “xóa”
B3: Hệ thống kiểm tra thông tin giỏ hàng
B4: Hệ thống kiểm tra thấy giỏ hàng còn hàng
B5: Lưu dữ liệu thay đổi lên CSDL
B6: Hệ thống kiểm tra thấy giỏ hàng rỗng
B7: Xóa giỏ hàng
B8: Trả về thông báo
B9: Hiển thị kết quả sau khi xóa sản phẩm ra khỏi giỏ hàng
Trang 2819
Hình 3.5: Biểu đồ tuần tự chức năng xóa sản phẩm giỏ hàng
e Chức năng thêm mới sản phẩm
B4: Hệ thống lấy dữ liệu từ giao diện và kiểm tra
B5: Hệ thống phát hiện thiếu thông tin, trả về thông báo
B6: Hiển thị thông báo, nhập lại thông tin
B7: Hệ thống kiểm tra thấy thông tin đầy đủ, lưu dữ liệu lên database
B8: Trả về thông báo
B9: Hiển thị kết quả