Nhờ vậy, bạn sẽ không bị giới hạn và có thể chọn cơ sở dữ liệu tối ưu nhất cho ứng dụng của mình. Thư viện phong phú: Nhiều sách hướng dẫn và các tài liệu tham khảo có sẵn, cung cấp các
Trang 1ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN MÔN: CÔNG NGHỆ WEB
ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN GIÀY
Sinh Viên: Nguyễn Trương Minh Đăng (Nhóm Trưởng)
Trịnh Ngọc Bình Nguyễn Việt Hảo
Giảng Viên: Nguyễn Hồng Thanh
Trang 2ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN MÔN: CÔNG NGHỆ WEB
ĐỀ TÀI: XÂY DỰNG WEBSITE BÁN GIÀY
Sinh Viên: Nguyễn Trương Minh Đăng (Nhóm Trưởng)
Trịnh Ngọc Bình Nguyễn Việt Hảo
Giảng Viên: Nguyễn Hồng Thanh
Hà Nội, 9/2023
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 5
CHƯƠNG 1 TỔNG QUAN 6
1.Ngôn ngữ lập trình php 6
1.1.Giới thiệu về ngôn ngữ php 6
1.2.Ưu nhược điểm của php 6
1.1.HTML 8
1.2.CSS 9
1.3.MySQL 11
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 12
2.Phân tích yêu cầu 12
2.1.Mô tả nghiệp vụ 12
2.2.Yêu cầu chức năng 12
2.3.Yêu cầu phi chức năng 13
3.Phân tích hệ thống 14
3.1.Xác định tác nhân 14
3.2.Các chức năng của tác nhân 14
3.3.Biểu đồ Use-case tổng quát 14
3.4.Biểu đồ chức năng 15
4.Sơ đồ Use case chi tiết các chức năng 15
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH 32
3.Thiết kế cơ sở dữ liệu 32
3.1.Thiết kế giao diện 32
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42
PHÂN CHIA CÔNG VIỆC 43
Trang 4Chúng em xin trân trọng cảm ơn!
Hà Nội, tháng 11 năm 2023
Sinh viên thực hiệnNhóm 4
Trang 5LỜI MỞ ĐẦU
Ngành Công nghệ thông tin phát triển một cách nhanh chóng cũng góp phần thay đổi mọi mặt trong đời sống thường ngày Các hệ thống Website cũng vậy, từ việc giải trí, quảng cáo, thương mại đến quản lý,… Website thương mại sẽ dần thay thế các phương thức quản lý cũ bởi tính chất nhanh, rẻ, tiện dụng, hiệu quả và không
bị giới hạn không gian và thời gian
Với tầm quan trọng đó, nhóm chúng em cũng muốn trang bị cho mình những kiến thức về nền tảng Web Xuất phát từ nhu cầu thực tế, nhóm chúng em quyết định
“Xây dựng Website bán giày” nhằm tạo ra hệ thống quản lý bán hàng có tính thiết
thực và ứng dụng vào thực tế
Trang 6CHƯƠNG 1 TỔNG QUAN 1.Ngôn ngữ lập trình php.
1.1.Giới thiệu về ngôn ngữ php.
Ngôn ngữ PHP là từ viết tắt của Personal Home Page (hiện nay là HypertextPreprocessor) Thuật ngữ này chỉ chuỗi ngôn ngữ kịch bản hay mã lệnh, phù hợp để pháttriển cho các ứng dụng nằm trên máy chủ
Khi viết phần mềm bằng ngôn ngữ PHP, chuỗi lệnh sẽ được xử lý trên server để từ
đó sinh ra mã HTML trên client Và dựa vào đó, các ứng dụng trên website của bạn sẽhoạt động một cách dễ dàng
Người ta thường sử dụng PHP trong việc xây dựng và phát triển các ứng dụngwebsite chạy trên máy chủ Mã lệnh PHP có thể nhúng được vào trang HTML bằng cách
Đa phần các trang website bạn đang sử dụng hàng ngày để học tập, làm việc và
giải trí đều sử dụng ngôn ngữ lập trình PHP Chẳng hạn như Facebook, Pinterest,
WordPress, v.v
Ngôn ngữ lập trình PHP được đánh giá là dễ đọc Do vậy, cũng dễ hiểu tại sao nólại trở thành ngôn ngữ được nhiều bạn trẻ ưu tiên lựa chọn học trước khi bắt đầu vàonghề
1.2.Ưu nhược điểm của php.
- Ưu điểm:
PHP là một trong những ngôn ngữ lập trình phổ biến nhất vì những lợi ích mà
nó đem lại Về cơ bản, có 4 ưu điểm chính:
Tính đơn giản và linh động: PHP sử dụng mã nguồn mở nên việc cài đặt và sử
Trang 7với nghề lập trình viên Bạn chỉ cần học chăm chỉ trong 3 – 6 tháng để thuần thục nó.
Cộng đồng hỗ trợ lớn: PHP là một ngôn ngữ phổ biến nên các diễn đàn, đội nhóm chuyên sâu của PHP thuộc hàng ngũ đầu của ngành Bên cạnh đó, thị trường tuyển dụng cho công việc này cũng chưa bao giờ giảm nhiệt
Cơ sở dữ liệu đa dạng: PHP cho phép kết nối với hầu hết các loại cơ sở dữ liệu như MySQL, mSQL, MS-SQL, SQLite, PostgreSQL, v.v Nhờ vậy, bạn sẽ không bị giới hạn và có thể chọn cơ sở dữ liệu tối ưu nhất cho ứng dụng của mình
Thư viện phong phú: Nhiều sách hướng dẫn và các tài liệu tham khảo có sẵn, cung cấp các kiến thức hữu ích cho các lập trình viên mới làm quen dần
Nhược điểm:
Mặc dù ngôn ngữ lập trình PHP hữu ích cho việc phát triển web, nhưng nócũng có một số nhược điểm nhất định Trong đó, hạn chế lớn nhất có thể kể đếnchính là lỗi bảo mật đến từ hai nguyên do chính:
Bản chất mã nguồn PHP: Ngôn ngữ PHP có mã nguồn mở Điều này có nghĩa
là các lỗ hổng của mã nguồn sẽ bị công khai ngay sau khi chúng được tìm thấy
Do đó, trước khi kịp sửa chữa, các lỗ hổng có thể bị khai thác cho các mục đíchxấu
Một số ứng dụng bằng ngôn ngữ PHP được thiết kế bởi người thiếu kinh
nghiệm: Bởi PHP phù hợp với lập trình viên mới vào nghề Cho nên một số trang web và ứng dụng được phát triển bởi những người còn thiếu kinh nghiệm cũng sẽ đem đến hiệu suất và bảo mật kém hơn
1.1.HTML.
Trang 8- Ưu điểm của HTML:
Dễ học và sử dụng: HTML có cú pháp đơn giản và dễ hiểu, cho phép người dùng nhanh chóng học và bắt đầu xây dựng các trang web cơ bản
Tương thích và tiêu chuẩn: HTML là một ngôn ngữ tiêu chuẩn được công nhận và hỗ trợ rộng rãi trên hầu hết các trình duyệt web hiện đại Điều này đảm bảo tính tương thích và khả năng hiển thị nhất quán trên các nền tảng và trình duyệt khác nhau
Khả năng tích hợp: HTML hỗ trợ tích hợp các phần tử đa phương tiện như hình ảnh, âm thanh, video và các tài liệu tài liệu khác nhau vào trang web
SEO tốt: HTML cho phép người phát triển tạo các siêu dữ liệu (metadata) và định dạng nội dung một cách tốt để tối ưu hóa công cụ tìm kiếm (SEO) Điều này giúp các trang web được tìm thấy dễ dàng và có thứ hạng cao trên các công cụ tìm kiếm
Khả năng mở rộng: HTML có thể kết hợp với các ngôn ngữ và công nghệ khác như CSS (Cascading Style Sheets) và JavaScript để tạo ra các trang web đa dạng và tương tác
- Nhược điểm của HTML:
Hạn chế về cấu trúc: HTML chỉ mô tả cấu trúc và nội dung của một trang web mà không có khả năng xử lý logic phức tạp Điều này có nghĩa là HTML không thể tự thực hiện các tác vụ phức tạp như xử lý dữ liệu, kiểm tra hợp lệ, hay tương tác người dùng phức tạp
Thiếu khả năng tạo giao diện phức tạp: Mặc dù HTML cung cấp các yếu tố
cơ bản để tạo giao diện trang web, nhưng nó có hạn chế trong việc tạo ra các giao diện phức tạp với hiệu ứng đồ họa đa dạng và tương tác người dùng phức tạp
Phụ thuộc vào CSS và JavaScript: Mặc dù HTML có thể tạo cấu trúc nội dung, nhưng để tạo giao diện và tương tác phức tạp, thường cần phải sử dụng CSS và JavaScript Điều này đòi hỏi người phát triển phải có kiến
Trang 9thức về các ngôn ngữ và công nghệ khác để tận dụng hết tiềm năng của HTML.
Khả năng bảo mật hạn chế: HTML không cung cấp nhiều tính năng bảo mậttích hợp Điều này có nghĩa là các biện pháp bảo mật phải được thực hiện thông qua các công nghệ bổ sung như mã hóa và xác thực máy chủ
Tuy HTML có một số hạn chế, nhưng nó vẫn là ngôn ngữ cơ bản và quantrọng trong việc xây dựng các trang web Kết hợp với CSS và JavaScript,HTML có thể tạo ra các trang web đa dạng và tương tác
1.2.CSS
- CSS (Cascading Style Sheets) là một ngôn ngữ định dạng được sử dụng để kiểm soát kiểu dáng và giao diện của các trang web Nó cung cấp các phương thức và thuộc tính để tạo ra các hiệu ứng hình ảnh, chỉnh sửa màu sắc, phông chữ, kích thước và vị trí của các phần tử trên trang web
- Ưu điểm của CSS
Tách biệt giữa nội dung và kiểu dáng: CSS cho phép tách biệt hoàn toàn giữa nội dung HTML và kiểu dáng Điều này giúp cải thiện tính tổ chức, bảo trì và quản lý của mã nguồn, vì bạn có thể chỉnh sửa kiểu dáng
mà không làm thay đổi cấu trúc HTML
Kiểm soát kiểu dáng toàn diện: CSS cho phép bạn áp dụng kiểu dáng cho nhiều trang web cùng một lúc Bằng cách liên kết các tệp CSS bên ngoài, bạn có thể áp dụng các kiểu dáng chung cho toàn bộ trang web, giúp duy trì tính nhất quán và tiết kiệm thời gian
Đa dạng hóa kiểu dáng: CSS cung cấp nhiều tùy chọn và tính linh hoạt cho kiểu dáng trang web Bạn có thể điều chỉnh màu sắc, phông chữ, kích thước,khoảng cách, hiệu ứng di chuyển và nhiều thuộc tính khác để tạo ra giao diện độc đáo và hấp dẫn
Trang 10dáng trực tiếp trong mã HTML, bạn có thể tạo các tệp CSS riêng biệt và tận dụng lại chúng cho nhiều trang web.
Độ linh hoạt và mở rộng: CSS có khả năng mở rộng và mở rộng khá tốt Bạn có thể sử dụng CSS để tạo kiểu cho các loại phần tử HTML khác nhau, nhúng kiểu dáng trong các phần tử HTML và thậm chí tạo ra các hiệu ứng động sử dụng CSS3 và các thuộc tính tương tác
- Nhược điểm của CSS:
Học và sử dụng đòi hỏi thời gian: CSS có cú pháp riêng và một số khái niệm phức tạp, đòi hỏi người dùng phải tìm hiểu và làm quen với nó Đôi khi việc xử lý và gỡ lỗi kiểu dáng cũng có thể phức tạp
Giao diện trình duyệt khác nhau: Một số trình duyệt có thể hiển thị CSS khác nhau hoặc không hỗ trợ một số thuộc tính CSS mới nhất Điều này có thể dẫn đến sự không nhất quán trong kiểu dáng giữa các trình duyệt khác nhau
Quản lý kiểu dáng phức tạp: Trong các dự án lớn với nhiều trang và kiểu dáng phức tạp, việc quản lý CSS có thể trở nên khó khăn Nếu không có sự
tổ chức tốt và quy tắc rõ ràng, mã CSS có thể trở nên khó hiểu và khó bảo trì
Khả năng ảnh hưởng đến hiệu năng: Nếu sử dụng CSS không tối ưu, đặc biệt là khi áp dụng nhiều hiệu ứng động và chuyển đổi phức tạp, có thể làm giảm hiệu năng của trang web và tốc độ tải trang
Khó khăn trong việc kiểm soát kiểu dáng thừa: Khi xây dựng và phát triển trang web lớn, có thể xảy ra tình trạng kiểu dáng thừa hoặc không cần thiết Điều này có thể gây ra sự rối loạn và khó khăn trong việc bảo trì và chỉnh sửa kiểu dáng
Hạn chế trong việc xử lý bố cục phức tạp: Trong một số trường hợp, CSS cóthể gặp hạn chế trong việc xử lý kiểu dáng cho bố cục phức tạp hoặc định vịcác phần tử trong trang web
Trang 11- Tóm lại, CSS có nhiều ưu điểm vượt trội trong việc điều chỉnh kiểu dáng và giaodiện của trang web Tuy nhiên, nó cũng có một số nhược điểm như khả năng tươngthích trình duyệt, quản lý kiểu dáng phức tạp và tốc độ hiệu năng Việc sử dụngCSS hiệu quả và tổ chức mã nguồn tốt có thể giúp vượt qua nhược điểm này và tậndụng tối đa lợi ích của CSS.
1.3.MySQL.
- MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến hàng đầu trên thế giới(gọi tắt là RDBMS) và đặc biệt MySQL được ưa chuộng trong quá trình xây dựng,phát triển ứng dụng MySQL được đánh giá là hệ quản trị cơ sở dữ liệu tốc độ cao,
ổn định và dễ sử dụng, có khả năng thay đổi mô hình sử dụng phù hợp với điều kiệncông việc MySQL hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớncác hàm tiện ích rất mạnh
- MySQL thích hợp với các ứng dụng có truy cập cơ sở dữ liệu trên Internet nhờ vàotốc độ cũng như tính bảo mật cao MySQL có thể tải miễn phí từ trang chủ vớinhiều phiên bản cho các hệ điều hành khác nhau như phiên bản Win32 cho các hệđiều hành dòng Windows,
Trang 12CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.Phân tích yêu cầu.
2.1.Mô tả nghiệp vụ.
Tên đề tải: “Website bán giày”
Là một website dành cho các cơ cửa hàng bán đồ thời trang với quy mô trung bình, vừa
và lớn Chuyên dùng cho việc kinh doanh các sản phẩm thời trang Hệ thống tập trung cung cấp các chức năng quản lý,bán hàng, qui trình xử lý nghiệp vụ giúp cho việc quản lýthông tin và tiếp cận sản phẩm trở nên dễ dàng, gọn nhẹ và ít sai xót hơn
Hệ thống sẽ phân ra những đối tượng cụ thể như sau:
Admin: là người quản trị hệ thống, có quyền hạn cao nhất
User: là những khách hàng có thể trực tiếp mua hàng trên website
2.2.Yêu cầu chức năng.
2.2.1.Đăng nhập/Đăng xuất.
- Đăng nhập hệ thống: quản trị viên có thể thực hiện đăng nhập để xác minh danhtính trong hệ thống Hệ thống cần quản trị viên đăng nhập thông qua tài khoản đãđược cung cấp
- Đăng xuất khỏi hệ thống: trong quá trình dùng, quản trị viên có thể muốn thoátkhỏi trạng thái xác minh danh tính để sử dụng một danh tính khác hay đơn thuần vìkhông muốn sử dụng hệ thống nữa
Trang 13 Thống kê đơn hàng
Xóa đơn hàng
- Quản lý tin tức
Đăng tin mới
Xóa bài viết
Chỉnh sửa bài viết
2.2.3.Chức năng của khách hàng.
- Xem chi tiết sản phẩm
- Thêm vào giỏ hàng
- Gửi đặt hàng
- Tìm kiếm
- Gửi phản hồi
2.3.Yêu cầu phi chức năng.
- Hiệu suất: Thời gian phản hồi nhanh: website cần xử lý các yêu cầu từ người dùngmột cách nhanh chóng và không gây chờ đợi lâu
- Xử lý lượng dữ liệu lớn: website cần xử lý được lượng dữ liệu lớn mà không gâytrễ hoặc giảm hiệu suất hoạt động
- Quản lý quyền truy cập: website cần có chức năng quản lý quyền truy cập để đảmbảo chỉ những người dùng được phép mới có thể truy cập và thực hiện các chứcnăng cụ thể
- Bảo vệ dữ liệu: Dữ liệu khách hàng, sản phẩm và đơn hàng phải được bảo vệ antoàn và không được truy cập trái phép hoặc thay đổi
- Giao diện người dùng: Giao diện người dùng cần được thiết kế sao cho người dùng
dễ sử dụng, dễ hiểu và có trải nghiệm tốt khi sử dụng hệ thống
- Đáp ứng: Giao diện người dùng cần tương thích và hiển thị tốt trên các thiết bị vàkích thước màn hình khác nhau
Trang 14- Dễ dàng mở rộng: website cần được thiết kế sao cho dễ dàng mở rộng để có thểthêm mới các chức năng, tính năng hoặc mở rộng quy mô hệ thống theo nhu cầutương lai.
- Độ tin cậy cao: website cần hoạt động ổn định, đảm bảo không xảy ra sự cố hoặcmất dữ liệu quan trọng
3.2.Các chức năng của tác nhân.
- Quản trị viên (Admin): Đăng nhập, đăng xuất, quản lí sản phẩm, quản lý đơn đặthàng, quản lí tin tức, trả lời phản hồi
- Người dùng (User): Xem thông tin sản phẩm, xem lại giỏ hàng, tìm kiếm, gửi phảnhồi
3.3.Biểu đồ Use-case tổng quát.
Trang 15Hình 1 Biểu đồ Usecase tổng quát.
3.4.Biểu đồ chức năng.
Hình 2 Biểu đồ phân cấp chức năng.
4 Sơ đồ Use case chi tiết các chức năng.
4.1 Chức năng đăng nhập, đăng xuất.
Use Case này cho phép Admin thực hiện chức năng đăng nhập/đăng xuất
Trang 16Hình 3.Biểu đồ use case đăng nhập
Tóm tắt: Use case này cho phép quản trị viên đăng nhập vào hệ thống bằng tài khoản và mật khẩu
Tiền điều kiện: Không có
Luồng sự kiện chính:
1 Quản trị viên truy cập vào trang web và chọn chức năng đăng nhập
2 Hệ thống hiển thị giao diện đăng nhập
3 Quản trị viên nhập tài khoản và mật khẩu
4 Hệ thống kiểm tra tài khoản và mật khẩu của quản trị viên
5 Nếu tài khoản và mật khẩu hợp lệ, hệ thống đăng nhập quản trị viên vào hệ thống
6 Hệ thống hiển thị giao diện chính của hệ thống cho quản trị viên
Trang 17 Luồng 3:
1 Hệ thống kết nối CSDL để kiểm tra thông tin, quá trình kết nối không thànhcông
2 Hệ thống hiển thị thông báo lỗi và kết thúc use case
Hậu điều kiện:
Quản trị viên được đăng nhập vào hệ thống
Thay đổi:
Thêm các định nghĩa rõ ràng cho các thuật ngữ được sử dụng
Giải thích chi tiết các bước trong luồng sự kiện chính và luồng sự kiện rẽ nhánh
Thêm các trường hợp đặc biệt và sự kiện ngoại lệ
4.1.1 Biểu đồ hoạt động.
Trang 19Tóm tắt: Use case này cho phép cán bộ quản lý có thể cập nhật trạng thái đơn hàng từ
"Đang chờ" sang "Đã giao" hoặc ngược lại
Tiền điều kiện: Quản trị viên đã đăng nhập vào hệ thống
Luồng sự kiện chính:
1 Quản trị viên chọn chức năng "Quản lý đơn hàng" trên giao diện chính của hệ thống
2 Hệ thống hiển thị giao diện quản lý đơn hàng
3 Quản trị viên chọn đơn hàng cần cập nhật trạng thái
4 Quản trị viên chọn trạng thái cần cập nhật cho đơn hàng
5 Hệ thống kiểm tra thông tin của quản trị viên nhập vào
6 Nếu thông tin hợp lệ, hệ thống cập nhật trạng thái đơn hàng trong cơ sở dữ liệu
7 Hệ thống hiển thị thông báo thành công
2 Hệ thống hiển thị thông báo lỗi
Hậu điều kiện:
Trạng thái đơn hàng được cập nhật thành công
Trang 20o "Đang chờ": Đơn hàng chưa được giao đến khách hàng.
o "Đã giao": Đơn hàng đã được giao đến khách hàng
Các trường hợp đặc biệt:
Đơn hàng không tồn tại:
o Hệ thống hiển thị thông báo lỗi
Sự kiện ngoại lệ:
Hệ thống gặp lỗi:
o Hệ thống hiển thị thông báo lỗi và kết thúc use case
4.2.1.Biểu đồ hoạt động.
Trang 214.2.2.Biểu đồ trình tự.
Hình 8 Biểu đồ trình tự chức năng quản lý sản phẩm.
4.3.Chức năng quản lý tin tức.
Trang 22Tóm tắt: Use case này cho phép quản trị viên có thể thêm, sửa, xóa tin tức trên trang web.Tiền sự kiện: Quản trị viên đã đăng nhập vào hệ thống.
Luồng sự kiện chính:
1 Quản trị viên chọn chức năng "Quản lý tin tức" trên giao diện chính của hệ thống
2 Hệ thống hiển thị giao diện quản lý tin tức
3 Quản trị viên chọn chức năng "Thêm tin tức", "Sửa tin tức" hoặc "Xóa tin tức"
4 Quản trị viên nhập thông tin cần thêm, sửa hoặc chọn tin tức cần xóa
5 Hệ thống kiểm tra thông tin của quản trị viên nhập vào
6 Nếu thông tin hợp lệ, hệ thống thực hiện chức năng tương ứng
7 Hệ thống hiển thị thông báo thành công hoặc lỗi
1 Hệ thống kiểm tra thông tin quản trị viên cung cấp không chính xác
2 Hệ thống hiển thị thông báo lỗi
1 Hệ thống kết nối CSDL để kiểm tra thông tin, quá trình kết nối không thànhcông
2 Hệ thống hiển thị thông báo lỗi
Hậu điều kiện:
Danh sách tin tức được cập nhật thành công
Trang 23o Hệ thống kiểm tra tính hợp lệ của các thông tin nhập vào.
o Nếu thông tin hợp lệ, hệ thống thêm tin tức mới vào cơ sở dữ liệu
o Hệ thống hiển thị thông báo thành công và danh sách tin tức được cập nhật
Sửa tin tức:
o Quản trị viên chọn tin tức cần sửa
o Quản trị viên nhập các thông tin cần sửa đổi, bao gồm:
o Hệ thống kiểm tra tính hợp lệ của các thông tin nhập vào
o Nếu thông tin hợp lệ, hệ thống cập nhật thông tin tin tức trong cơ sở dữ liệu
o Hệ thống hiển thị thông báo thành công và danh sách tin tức được cập nhật
Xóa tin tức:
o Quản trị viên chọn tin tức cần xóa
o Hệ thống kiểm tra xem tin tức đã được đăng hay chưa