Mạng Internet là một trong những sản phẩmcó giá trị hết sức lớn lao và ngày càng trở nênmột công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
Trang 3Đà Nẵng, tháng 1105 năm 2024
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
3
Trang 4LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏlòng biết ơn đến nhà trường và tất cả các thầy cô đã tạo điều kiện hỗ trợ, giúp đỡ emtrong suốt quá trình học tập và thực hiện Đồ án cơ sở 2 lần này Trong suốt thời gian
từ khi bắt đầu học tập tại trường đến nay, em đã nhận được rất nhiều sự quan tâm, giúp
đỡ của quý Thầy Cô và bạn bè
Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở Khoa Khoa HọcMáy Tính đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian họctập tại trường Nhờ có sự hướng dẫn, dạy bảo của các Thầy Cô nên Đồ án cơ sở 2 của
em mới có thể hoàn thành thuận lợi
Một lần nữa, em xin chân thành cảm ơn thầy Ts.Nguyễn Văn Bình và Ts.LêMinh Thái người đã trực tiếp giúp đỡ, quan tâm, hướng dẫn em hoàn thành tốt Đồ án
cơ sở 2 trong thời gian qua
Bài báo cáo được thực hiện trong khoảng thời gian ngắn Bước đầu đi vào thực
tế của nhóm em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếusót, chúng em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô
để kiến thức của chúng em trong lĩnh vực này được hoàn thiện hơn đồng thời có điềukiện bổ sung, nâng cao ý thức của mình
Sinh viên,
TRƯƠNG THỊ MỸ HOA
4
Trang 5LÊ THỊ NHẬT VY
5
Trang 6MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN iii
LỜI CẢM ƠN iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT vii
DANH MỤC HÌNH VẼ viii
No table of figures entries found viii
MỞ ĐẦU 1
1 Giới thiệu 1
2 Mục tiêu của đề tài 1
3 Nội dung và kế hoạch thực hiện 1
4 Bố cục báo cáo 1
Chương 1 TỔNG QUAN VỀ … 2
1 AAAAAAA 2
1.1 aaaaaaaa111 2
2 BBBBBBBBBBB 2
1.1 bbbbbbbbbb111 2
1.2 bbbbbbbbbb22222 2
3 Kết chương 1 2
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3
1.Biểu đồ ca sử dụng 3
2.BBBBBBB 3
3.Kết chương 2 3
Chương 3 XÂY DỰNG … 4
1.AAAAA 4
2.BBBBBBB 4
6
Trang 73.Kết chương 3 4
KẾT LUẬN 5
1 Kết quả đạt được 5
2 Hướng nghiên cứu 5
TÀI LIỆU THAM KHẢO i
PHỤ LỤC i
ABC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC HÌNH VẼ
MỞ ĐẦU
1 Giới thiệu
2 Mục tiêu của đề tài
3 Nội dung và kế hoạch thực hiện
4 Bố cục báo cáo
Chương 1 TỔNG QUAN VỀ …
1 AAAAAAA
1.1 aaaaaaaa111
1.2 aaaaaaa222
2 BBBBBBBBBBB
1.1 bbbbbbbbbb111
1.2 bbbbbbbbbb22222
3 Kết chương 1
Chương 2 PHÂN TÍCH …
1
2
3
Chương 2 XÂY DỰNG …
1
2
3
KẾT LUẬN 1.
2.
7
Trang 8Với những hạn chế và tồn tại nêu trên, hướng nghiên cứu …dự kiến như sau:
PHỤ LỤC
ABCDANH MỤC CÁC TỪ VIẾT TẮTDANH MỤC HÌNH VẼ
Error! Hyperlink reference not valid 1.1 aaaaaaaa111
Error! Hyperlink reference not valid 1.2 aaaaaaa222
2 BBBBBBBBBBB
Error! Hyperlink reference not valid 1.1 bbbbbbbbbb111
Error! Hyperlink reference not valid 1.2 bbbbbbbbbb22222
3 Kết chương 1
Chương 2 PHÂN TÍCH …1
2
3
Chương 2 XÂY DỰNG …1
2
3
KẾT LUẬN1
2
Với những hạn chế và tồn tại nêu trên, hướng nghiên cứu …dự kiến như sau:
TÀI LIỆU THAM KHẢOPHỤ LỤC
Danh mục các từ viết tắt
8
Trang 9Danh mục hình vẽ
MỞ ĐẦU
1
2 Mục tiêu, nhiệm vụ của đề tài
3 Đối tượng, phạm vi và phương pháp tiếp cận
Trang 10DANH MỤC CÁC TỪ VIẾT TẮT
Elaboration, Evaluation
Mathematics
10
Trang 11DANH MỤC HÌNH VẼ
Hình 1 Biểu đồ ca sử dụng mấyTM 4
Hình 2 BĐ ca sử dung opetartor 4
Hình 1.1 aaaaaaa 11
Hình 1.2 bbbbbbbbbbbb 12
Hình 1.3 ccccccccccccccccc 17
Hình 2.1.ddddddd 24
Hình 2.2 eeeeeeeeeee 28
11
Trang 12MỞ ĐẦU
1 Giới thiệu
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong nhữngyếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức,cũng như của các công ty,
nó đóng vai trò hết sức quan trọng, có thể tạo ra nhữngbước đột phá mạnh mẽ
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử,công nghệ thôngtin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnhcao khác Mạng Internet là một trong những sản phẩmcó giá trị hết sức lớn lao và ngày càng trở nênmột công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu.Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng: chỉ cần cómột máy tính kết nối internet và một dòng dữ liệu truy tìm thì gần như lập tức… cả thế giới về vấn
đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ thôngtin, hình ảnh và thậm chí đôi lúc có cả những
âm thanh nếu bạn cần… Bằng internet,chúng ta đã thực hiện được nhiều công việc với tốc độ nhanhhơn và chi phí thấp hơn nhiều so với cách thức truyền thống Chính điều này, đã thúc đẩy sự khaisinh và phát triển của thương mại điện tử và chính phủ điện tử trên khắp thế giới, làm biến đổi đáng
kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con người
Trong hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đã khẳng định được vaitrò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp Đối với một cửa hàng hay shop, việc quảng
bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng được nhu cầu của khách hàng sẽ là cầnthiết Vậy phải quảng bá thế nào đó là xây dựng được một Website cho cửa hàng của mình quảng bátất cả các sản phẩm của mình bán
Vì vậy, chúng em đã thực hiện đồ án “XÂY DỰNG ỨNG DỤNG WEB BÁN HÀNGOGANI”
2 Mục tiêu , nhiệm vụ của đề tài
Mục tiêu của đề tài nhằm tìm :
1
Trang 13-Tạo ra một website thương mại điện tử dễ dàng sử dụng, cho phép khách hàng duyệt vàmua sắm sản phẩm một cách thuận tiện.
-Thiết kế giao diện thân thiện và hấp dẫn, giúp người dùng dễ dàng tìm kiếm và lựa chọn sảnphẩm, đồng thời tối ưu hóa quy trình thanh toán
-Xây dựng hệ thống quản lý sản phẩm, cho phép người quản lý cập nhật, xóa, và theo dõitình trạng hàng hóa một cách nhanh chóng
-Cung cấp các tính năng như giỏ hàng, tìm kiếm nâng cao, đánh giá sản phẩm và chươngtrình khuyến mãi để thu hút khách hàng
- Xây dựng một hệ thống bảo mật vững chắc để bảo vệ thông tin khách hàng và giao dịchtrực tuyến
3 Nội dung và kế hoạch thực hiện
-Khảo sát hệ thống
- Tham khảo các trang Web tương tự
- Từ quá trình khảo sát, phân tích và đưa ra bảng các chức năng chính của hệ thống và phântích chi tiết từng chức năng xây dựng Website
- Sử dụng biểu đồ UML để mô tả các chức năng sản phẩm:
+Biểu đồ giao tiếp
- Xây dựng cơ sở dữ liệu
- Phân tích thiết kế chương trình
2
Trang 143 Đối tượng, phạm vi và phương pháp tiếp cận
Dựa trên hướng tiếp cận
4 Đóng góp của đề tài
Trên cơ sở tìm hiểu, phân tích, tổng hợp và áp dụng, đề tài đạt được một số kết quả như sau:aaaa
bbbbb
54 Bố cục của đề tàibáo cáo
Sau phần Mở đầu, báo cáo được trình bày trong ba chương, cụ thể như sau:
Chương 1 Tổng quan
Trong chương này, báo cáo trình bày các khái niệm, đặc điểm về trang Web
Chương 2 Phân tích thiết kế hệ thống
Trong chương này hệ thống được phân tích thiết kế theo hướng đối tượng bằng các biểu đồnhư biểu đồ ca sử dụng, biểu đồ tuần tự, biểu đồ công tác, v.v.v
Chương 3 Xây dựng Website
Chương này trình bày hệ thống thử nghiệm được lập trình bằng ngôn ngữ PHP và xây dựng
hệ thống bằng mô hình MVC
Cuối cùng là Kết luận Tài liệu tham khảo, và Phụ lục liên quan đến đề tài
3
Trang 151.1.1 Mục tiêu của website ogani
Mục tiêu chính của website ogani là cung cấp một nền tảng trực tuyến để người dùng có thểtìm kiếm, đặt hàng và tận hưởng các sản phẩm rau củ quả và đồ uống tươi ngon Trang webcần đảm bảo tính thân thiện và dễ sử dụng, giúp người tiêu dùng dễ dàng tìm kiếm và lựachọn các sản phẩm phù hợp với nhu cầu dinh dưỡng và sở thích cá nhân của họ Giao diệntrực quan, bố cục hợp lý và hệ thống điều hướng rõ ràng sẽ giúp người dùng dễ dàng tìm thấythông tin và khám phá các sản phẩm mới
1.1.2 Quản lý đơn hàng và thông tin khách hàng
Một yếu tố quan trọng khác là tính năng quản lý đơn hàng và thông tin khách hàng Trangweb ogani cần có một hệ thống quản lý đơn hàng hiệu quả, ghi nhận lịch sử mua sắm và đánhgiá chất lượng sản phẩm Điều này giúp người dùng theo dõi và đánh giá kết quả mua sắmcủa mình, cũng như nhận được sự hỗ trợ từ đội ngũ chăm sóc khách hàng chuyên nghiệp.1.1.3 Cung cấp nội dung giáo dục và tư vấn
Ngoài ra, trang web ogani cũng cần cung cấp nội dung giáo dục và tư vấn về dinh dưỡng, lốisống lành mạnh và công thức chế biến Bằng cách cung cấp các bài viết, video hướng dẫn vàtài liệu tham khảo, người dùng có thể tìm hiểu và áp dụng những kiến thức cần thiết để có mộtchế độ ăn uống cân bằng và tốt cho sức khỏe
1.1.4 Nghiên cứu thị trường và công nghệ
Cuối cùng, để đạt được thành công trong lĩnh vực này, việc nghiên cứu về thị trường thựcphẩm trực tuyến, các xu hướng thiết kế web mới nhất và các công nghệ phát triển web là điều
4
Trang 16cần thiết Các yếu tố an ninh thông tin và quản lý dữ liệu cũng không thể bỏ qua để đảm bảotính bảo mật và sự tin tưởng của khách hàng.
Trên cơ sở nhận thức về tầm quan trọng và tiềm năng phát triển của việc thiết kế một trang web
ogani chất lượng, nghiên cứu này tập trung vào việc phân tích và thiết kế một trang web bán hàng
trực tuyến với mục tiêu mang đến trải nghiệm tốt nhất cho người dùng và đáp ứng các yêu cầu kỹthuật và chức năng cần thiết để quản lý đơn hàng và giao dịch một cách hiệu quả Bằng cách nắmvững lĩnh vực này, chúng em sẽ có cơ sở để xây dựng một trang web ogani thành công và thu hút sựquan tâm của người tiêu dùng
1.2 Lý Do Chọn Đề Tài
Trong thời đại hiện đại, việc chăm sóc sức khỏe và lối sống lành mạnh đang trở thành xuhướng ngày càng phổ biến Ngành công nghiệp thực phẩm sạch, rau củ quả và thức uống tự nhiêncũng đang phát triển mạnh mẽ Thiết kế một trang web cho OGANI có thể đáp ứng nhu cầu ngàycàng tăng về thực phẩm tốt cho sức khỏe và giúp khách hàng tiềm năng tìm hiểu cũng như lựa chọnsản phẩm phù hợp
Một trang web chuyên nghiệp và tối ưu hóa cho OGANI có thể cung cấp thông tin chi tiết vềcác sản phẩm rau củ quả và thức uống, giúp khách hàng hiểu rõ hơn về lợi ích dinh dưỡng củachúng Trang web cũng có thể cung cấp thông tin về quy trình sản xuất, nguồn gốc sản phẩm, giá cả
và các chương trình khuyến mãi, tạo điều kiện thuận lợi cho khách hàng tìm hiểu và mua sắm.Thiết kế một trang web hấp dẫn và dễ sử dụng giúp khách hàng có trải nghiệm mua sắmthuận tiện và dễ dàng Khách hàng có thể tìm kiếm thông tin về các sản phẩm, đặt hàng và theo dõiđơn hàng ngay trên trang web Giao diện người dùng thân thiện và tối ưu hóa trải nghiệm sẽ đápứng nhu cầu của khách hàng, giúp họ tìm kiếm và mua sắm sản phẩm một cách nhanh chóng vàthuận lợi
Một trang web chuyên nghiệp cho OGANI không chỉ thu hút khách hàng hiện tại mà còn mở
ra cơ hội tiếp cận và quảng bá đến khách hàng tiềm năng Việc tạo ra một trang web tốt có thể cảithiện hiệu quả tiếp cận và tạo sự nhận diện thương hiệu cho OGANI Các chiến dịch tiếp thị kỹthuật số và tối ưu hóa SEO có thể giúp trang web của OGANI xuất hiện cao hơn trên các công cụtìm kiếm, thu hút khách hàng tiềm năng tìm kiếm các sản phẩm dinh dưỡng và thực phẩm sạch.Thiết kế một trang web cho OGANI đòi hỏi các kỹ năng thiết kế web và quản lý dự án Thựchiện đề tài này sẽ giúp bạn phát triển và nâng cao kỹ năng về thiết kế giao diện người dùng, tạo ratrải nghiệm tốt cho người dùng và tối ưu hóa công cụ tìm kiếm Đồng thời, bạn cũng có cơ hội thực
5
Trang 17hành quản lý dự án và làm việc với khách hàng thực tế, từ việc thu thập yêu cầu đến triển khai vàduy trì trang web.
Bằng cách tập trung vào những lý do này, bạn sẽ có một cơ sở vững chắc để phát triểnwebsite OGANI, đáp ứng nhu cầu của thị trường và mang lại giá trị cho người tiêu dùng
1.3 Thông Tin Về Các Công Cụ Thực Hiện.
- Tìm hiểu về các ngôn ngữ và công nghệ lập trình web: HTMT, CSS, Javascript, Ajax, Bootstrap 5,PHP
- Tìm hiểu về hệ quản trị cơ sở dữ liệu MySQL
- Sử dụng các công cụ hỗ trợ trong quá trình xây dựng sản phẩm như: Xampp, Visual Studio Code
- Nền tảng quản lý mã nguồn và hợp tác : GitHub
1.3.1 Hypertext Markup Language (HTML)
⮚ HTML là gì?
HTML (viết tắt của từ Hypertext Markup Language, hay là ”Ngôn ngữ Đánh dấu Siêu vănbản” ) là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên World Wide Web.Cùng với CSS và JavaScript, HTML là một trong những ngôn ngữquan trọng trong lĩnh vực thiết kếWebsite HTML là xương sống của một trang web Nó giúp cấu thành các cấu trúc cơ bản của mộtWebsite, làm cho trang web trở thành một hệ thống hoàn chỉnh Ngôn ngữ đánh dấu siêu văn bảnnày giúp bố cục, chia khung sườn các thành phần trang web Đồng thời nó còn hỗ trợ khai báo cácfile kỹ thuật số như nhạc, video, hình ảnh,…
⮚ HTML hoạt động như thế nào ?
Khi chúng ta gõ ra 1 tên miền, trình duyệt mà chúng ta đang sử dụng (chẳng hạn nhưChrome) sẽ kết nối tới 1 máy chủ web, bằng cách dùng 1 địa chỉ IP, vốn được thấy bằng cách phângiải tên miền đó (DNS) Máy chủ web chính là một máy tính được kết nối tới Internet và nhận cácyêu cầu tới trang web từ trình duyệt của chúng ta Máy chủ sau đó sẽgửi trả thông tin về trình duyệt,
là 1 tài liệu HTML, để hiển thị trang web
Một tập tin HTML sẽ bao gồm các phần tử HTML và được lưu lại dưới đuôi mở rộng
là html hoặc htm Khi một tập tin HTML được hình thành, việc xử lý nó sẽ do trình duyệt web đảmnhận Trình duyệt sẽ đóng vai trò đọc hiểu nội dung HTML từ các thẻ bên trong và sẽ chuyển sangdạng văn bản đã được đánh dấu để đọc, nghe hoặc hiểu
6
Trang 18Chúng ta có thể xem chúng bằng cách sử dụng bất kỳ trình duyệt web nào (như GoogleChrome, Safari, hay Mozilla Firefox) Trình duyệt đọc các files HTML này và xuất bản nội dunglên Internet sao cho người đọc có thể xem được nó Thông thường, trung bình một web chứa nhiềutrang web HTML, ví dụ như: trang home, trang product,trang blog…
1.3.2 Cascading Style Sheets (CSS).
CSS là các tập tin định kiểu theo tầng (Cascading Style Sheets (CSS)) được dùng để miêu tảcách trình bày các tài liệu viết bằng ngôn ngữ HTML và XHTML Ngoài ra ngôn ngữ định kiểutheo tầng cũng có thể dùng cho XML, SVG, XUL Các đặc điểm kỹ thuậtcủa CSS được duy trì bởiWorld Wide Web Consortium (W3C) Thay vì đặt các thẻ quy định kiểu dáng cho văn bản HTMLngay trong nội dung của nó, bạn nên sử dụng CSS.Tác dụng của CSS: 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 (chữ đậm, chữ in nghiêng, chữ có gạchchân, chữ màu), 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 chonhiề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
Có 3 cách để sử dụng CSS:
- “Inline CSS”: Áp dụng trực tiếp trên một đối tượng nhất định bằng thuộc tính style
- “Internal CSS”: Đặt CSS ở đầu trang web để áp dụng kiểu dáng cho toàn bộ trang web, khi
đó chỉ cần đặt đoạn CSS vào trong cặp thẻ <style> rồi đặt vào trong phần header của Web (giữa
là phần mở rộng thường được dùng cho tập tin mà nguồn JavaScript
JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C Giốngnhư C, JavaScript có khái niệm từ khoá, do đó JavaScript gần như không thể được mở rộng
1.3.4 Ajax.
AJAX là chữ viết tắt của cụm từ Asynchronous Javascript and XML AJAX làphương thứctrao đổi dữ liệu với máy chủ và cập nhật một hay nhiều phần của web trang,hoàn toàn không reload
7
Trang 19lại toàn bộ trang.Ajax được viết bằng Javascript chạy trên client, tức là mỗi browser sẽ chạy độclậphoàn toàn không ảnh hưởng lẫn nhau Về mặt kỹ thuật, nó đề cập đến việc sử dụng cácđối tượngXmlHttpRequest để tương tác với một máy chủ web thông qua Javascript.Những lợi ích mà AJAXmang lại:16 -AJAX được sử dụng để thực hiện một callback Được dùng để thực hiện việc truyxuất
dữ liệu hoặc lưu trữ dữ liệu mà không cần phải reload lại toàn bộ trang web Vớinhững server nhỏthì việc này cũng tiết kiệm được băng thông cho chúng ta hơn.-Cần gì thì chỉ gửi dữ liệu phần đó,load lại 1 phần nhỏ để cập nhật thông tin chứkhông load cả trang Bằng cách này thì có thể giảmthiểu được tốc độ tải trang giúpngười dùng có trải nghiệm tốt hơn.-Trang web bạn tạo ra cũng sẽ đadạng và động hơn
Ưu điểm khi sử dụng Boostrap là:-Dễ sử dụng: Bất cứ ai chỉ cần có kiến thức cơ bản vềHTML và CSS đều có thể sửdụng Bootstrap.Tính năng Responsive: CSS Responsive của Bootstrap
có thể giúp website điều chỉnhphù hợp với các kích cỡ màn hình khác nhau như điện thoại, máy tínhbảng và máytính.-Phương pháp ưu tiên thiết bị di động: Trong Bootstrap, các style ưu tiên thiết bịdiđộng (mobile-first) là một phần framework cốt lõi
Tương thích trình duyệt: Bootstrap 5 tương thích với tất cả các trình duyệt phổ biếnhiện nay:Chrome, Firefox, Edge, Safari và Opera Lưu ý rằng nếu bạn cần hỗ trợ cóthể xem trên IE11 thì hãy
sử dụng BS4 hoặc BS3
1.3.6 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ụngnằ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 độngmộ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ủ
8
Trang 20Mã lệnh PHP có thể nhúng được vào trang HTML bằng cáchsử dụng cặp thẻ PHP.Nhờ đó,website bạn phát triển dễ dàng kết nối được với các website khác trên hệ thống mạng internet PHPcũng là ngôn ngữ lập trình mã nguồn mở và miễn phí PHP tương thích với nhiều nền tảng khácnhau như Windows, MacOS và Linux, v.v.Đ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, Wikipedia, WordPress, v.v.17 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ọctrước khi bắt đầu vào nghề
1.3.7 Hệ quản trị cơ sở dữ liệu MySQL
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) MySQL được sử dụng cho việc bổ trợNodeJs, PHP,Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên cáctrang web viết bằng NodeJs,PHP hay Perl,
⮚ Tại sao lại chọn sử dụng MySQL?
Linh hoạt: Sự linh hoạt về flatform là một đặc tính nổi bật của MySQL với cácphiên bản
đang được hỗ trợ của Linux, Unix, Windows, MySQL cho phép tùy biến hoàntoàn theo ý muốn,thêm vào các yêu cầu thích hợp cho database server Thực thi cao: Các chuyên gia cơ sỡ dữ liệu cóthể cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù thông qua kiến trúcstorage-engine MySQL có thể đáp ứng khả năng xử lý những yêu cầu khắt khe nhất của từng hệthống, MySQL còn đưa ra các “công cụ” cần thiết cho các hệ thống doanh nghiệp khó tính bằng tiệních tải tốc độ cao, bộ nhớcache và các cơ chế xử lý nâng cao khác
9
Trang 21Sử dụng ngay: Các tiêu chuẩn đảm bảo của MySQL giúp cho người dùng vữngtin và chọn
sử dụng ngay, MySQL đưa ra nhiều tùy chọn và các giải pháp để người sửdụng dùng ngay choserver cơ sở dữ liệu MySQL
Hỗ trợ giao dịch: MySQL hỗ trợ giao dịch mạnh một cách tự động, thống nhất,độc lập và
bền vững, ngoài ra khả năng giao dịch cũng được phân loại và hỗ trợ giao dịchđa dạng mà ngườiviết không gây trở ngại cho người đọc và ngược lại Các dữ liệu đượcđảm bảo toàn vẹn trong suốtquá trình server có hiệu lực và các mức giao dịch độc lậpđược chuyên môn hóa cao
Nơi tin cậy để lưu trữ web và dữ liệu: Do MySQL có engine xử lý tốc độ cao vàkhả năng
chèn dữ liệu nhanh, hỗ trợ tốt cho các chức năng chuyên dùng cho web, … nên MySQL là lựa chọntốt nhất cho các ứng dụng web và các ứng dụng web doanh nghiệp
Bảo mật tốt: Doanh nghiệp nào cũng cần tính năng bảo mật dữ liệu tuyệt đối vìđó chính là
lợi ích quan trọng hàng đầu, và đó cũng là lý do mà các chuyên gia về cơ sởdữ liệu chọn dùngMySQL MySQL có các kỹ thuật mạnh trong việc xác nhận truy cậpcơ sở dữ liệu và chỉ có ngườidùng đã được xác nhận mới có thể truy cập vào server cơ sở dữ liệu Bên cạnh đó, tiện ích backup
và recovery cho phép backup logic và recovery toàn bộ hoặc tại 1 thời điểm nào đó
Phát triển ứng dụng hỗn hợp: MySQL cung cấp hỗ trợ hỗn hợp cho bất kỳ sựphát triển ứng
dụng nào nên MySQL được xem là cơ sở dữ liệu mã nguồn mở phổ biếnnhất thế giới Thư việnplugin có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ trợ trong bấtkỳ ứng dụng nào MySQL còncung cấp các bộ kết nối cho phép tất cả các form của ứngdụng ưu tiên sử dụng MySQL như mộtserver quản lý dữ liệu
Dễ quản lý: Quá trình cài đặt MySQL diễn ra khá nhanh chóng trên MicrosoftWindows,
Linux, Macintosh hoặc Unix Sau khi cài đặt, các tính năng tự động mở rộngkhông gian, tự khởiđộng lại và cấu hình động được thiết lập sẵn sàng cho người quản trịcơ sở dữ liệu làm việc MySQLcòn có các công cụ quản lý đồ họa mà một DBA có thểquản lý, sửa chữa và điều khiển hoạt độngcủa nhiều server, điều khiển tác vụ thiết kế dữliệu và ETL, quản trị cơ sỡ dữ liệu hoàn thiện cũngnhư quản lý công việc và thực hiệnkiểm tra
Mã nguồn mở tự do và hỗ trợ xuyên suốt: Nhiều doanh nghiệp lo lắng việc sửdụng mã
nguồn mở là không an toàn và không được hỗ trợ tốt vì đa số tin vào các phầnmềm có bản quyền,nhưng đối với MySQL, các nhà doanh nghiệp hoàn toàn có thể yêntâm về điều này, MySQL cóchính sách bồi thường hẳn hoi và luôn hỗ trợ tối đa cho quý doanh nghiệp
Chi phí thấp: Đối với các dự án phát triển mới, nếu các doanh nghiệp sử dụng MySQL thì
đó là một chọn lựa đúng đắn vừa tiết kiệm chi phí vừa đáng tin cậy Mức duy trì của MySQL không
10
Trang 22chiếm nhiều thời gian sửa chữa của người quản trị cơ sở dữ liệu và các doanh nghiệp thật sự hàilòng về khả năng xử lý thông qua việc sử dụng server cơ sở dữ liệu MySQL và kiến trúc scale-out[1-6].
3 Kết chương 1
Trong chương này, chúng em đã trình bày về vấn đề được đặt ra, lý do chọn đề tài cũng như thông tin về các công cụ hỗ trợ trong quá trình làm ra sản phẩm Thông qua những kiến thức đã tìm hiểu được từ đó, làm cơ sở để đề xuất quy trình phân tích và thiết kế hệ thống sẽ được trình bày trong chương tiếp theo.
11
Trang 23Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG …
Chương này trình bày các yêu cầu, các bước thiết kế…để thực hiện nhằm giải quyết vấn đề…
2.1 Mô hình hóa yêu cầu
Chức năng chính:
o Đăng ký tài khoản: Khách có thể tạo tài khoản mới nếu muốn mua hàng.
o Xem sản phẩm: Khách có thể xem các sản phẩm có sẵn trên hệ thống.
o Xem Blog: khách có thể xem các bài viết có sẵn trên hệ thống
o Tìm kiếm sản phẩm: Tìm kiếm các sản phẩm mà mình quan tâm.
Quản Trị Viên (Admin)
Vai trò:
o Quản lý toàn bộ hệ thống, bao gồm các chức năng quản lý sản phẩm, đơn hàng, tài khoản người dùng, mã giảm giá, và tương tác với blog
Chức năng chính:
o Đăng nhập: Admin phải đăng nhập để quản lý hệ thống.
o Quản lý sản phẩm: Thêm, sửa, xóa sản phẩm và danh mục sản phẩm.
o
o Quản lý đơn hàng: Duyệt đơn, hủy đơn, theo dõi trạng thái đơn hàng.
o Quản lý tài khoản: Quản lý tài khoản khách hàng, bao gồm tạo tài khoản mới
cho người dùng và quản trị viên
o Liên hệ: Quản lý thông tin liên hệ, hỗ trợ khách hàng.
o Quản lý danh mục: Quản lý các danh mục sản phẩm.
o Quản lý mã giảm giá: Tạo và quản lý các mã giảm giá cho hệ thống.
Thành Viên (User)
12
Trang 24 Vai trò:
o Thành viên đã đăng nhập, có quyền mua sắm, quản lý giỏ hàng, thanh toán, và tương tác với blog
Chức năng chính:
o Đăng nhập: Tạo tài khoản mới và cập nhật thông tin cá nhân.
o Tìm kiếm sản phẩm: Tìm kiếm sản phẩm mình quan tâm.
o Xem sản phẩm: Xem chi tiết các sản phẩm.
o Quản lý giỏ hàng: Thêm, xóa, và sửa giỏ hàng.
o Xem blog: Đọc bài viết trên blog.
o Quản lý đơn hàng: Theo dõi và quản lý các đơn hàng đã đặt.
o Mua hàng: Chọn sản phẩm để mua và tiến hành thanh toán.
o Thanh toán: Thực hiện các bước thanh toán cho đơn hàng.
o Đánh giá sản phẩm: Để lại nhận xét và đánh giá sao cho sản phẩm đã mua.
o Liên hệ: Gửi câu hỏi hoặc yêu cầu hỗ trợ qua form liên hệ.
o Tương tác với Blog: Bình luận, thích, hoặc chia sẻ bài viết trên blog.
o Quản lý danh mục yêu thích: Lưu trữ và quản lý danh sách sản phẩm yêu
thích
13
Trang 252.1.2 Biểu đồ ca sử dụng
2.1.2.1 Biểu đồ ca tổng quát
14
Trang 262.1.2.2 Đặc tả chi tiết các ca sử dụng
Biểu đồ ca sử dụng chức năng Đăng ký:
Use Case Name: Đăng kí tài khoản ID: UC01 Importance level:
High
Primary Actor:Khách, thành viên,
quản trị viên
Use Case Type: Detail, essential
Stakeholders & Interests:
· Khách hàng: Muốn tạo tài khoản để mua sắm và quản lý thông tin cá nhân
Hệ thống: Cần đảm bảo tính bảo mật thông tin và tạo tài khoản thành
công
Brief Description: Khách hàng nhập thông tin đăng ký như tên, email và mật khẩu để
tạo tài khoản mới trên hệ thống
Trigger: Khách hàng nhấn nút "Đăng ký" trên giao diện trang chủ.·
Trang 27 Include: Kiểm tra tính hợp lệ của thông tin.
Extend: Nếu email đã được sử dụng, hệ thống yêu cầu người dùng
nhập lại
·
Normal Flow of Events:
· Khách hàng mở trang đăng ký
· Khách hàng nhập thông tin đăng ký (tên, email, mật khẩu)
· Hệ thống kiểm tra tính hợp lệ của thông tin nhập vào
· Nếu thông tin hợp lệ, hệ thống tạo tài khoản và hiển thị thông báo thành công
Alternate/Exceptional flows:
o Nếu thông tin không hợp lệ (ví dụ: email đã tồn tại), hệ thống hiển thị thông báo lỗi và yêu cầu người dùng sửa đổi
Bảng 1 : Đặc tả use case đăg kí
Biểu đồ ca sử dụng chức năng Đăng nhập:
-Biểu đồ:
16
Trang 28-Bảng đặc tả chi tiết use case
Use Case Name: Đăng Nhập ID: UC02 Importance level:
High
Primary Actor:thành viên, quản trị viên Use Case Type: Detail, essential
Stakeholders & Interests:
· thành viên/quản trị viên: Muốn đăng nhập để truy cập các chức năng cá nhân hoặc quản trị
· Hệ thống: Cần xác thực thông tin đăng nhập để đảm bảo an toàn
Brief Description: Cho phép người dùng hoặc quản trị viên đăng nhập vào hệ thống Trigger: Người dùng chọn tùy chọn "Đăng Nhập".
Type: Internal
Relationship:
quản trị viên, thành viên
· Association:
· Include: Xác thực tài khoản
Normal Flow of Events:
1.· Người dùng nhập tên đăng nhập và mật khẩu
Trang 29o Nếu thông tin không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu nhập lại.
Bảng 1 : Đặc tả use case đăng nhập
Biểu đồ ca sử dụng chức năng quản lí tài khoản:
- Biểu đồ
-Bảng đặc tả chi tiết use case
Use Case Name: Quản Lý Tài Khoản ID: UC03 Importance level:
High
Primary Actor:quản trị viên Use Case Type: Detail, essential
Stakeholders & Interests:
· quản trị viên: Muốn quản lý tài khoản của người dùng khác để kiểm soát
Trang 30Normal Flow of Events:
· Quản trị viên truy cập vào trang quản lý tài khoản
· Quản trị viên chọn thao tác mong muốn: thêm tài khoản mới, chỉnh sửa tài khoản hiện tại, xóa tài khoản, hoặc tìm kiếm thông tin tài khoản
· Quản trị viên nhập các thay đổi hoặc cập nhật thông tin tài khoản (như email, mật khẩu, quyền truy cập)
· Hệ thống thực hiện hành động và lưu lại các thay đổi
· Hệ thống hiển thị thông báo thành công cho quản trị viên
Alternate/Exceptional flows:
A1: Nếu quản trị viên muốn vô hiệu hóa tài khoản, hệ thống thực hiện
hành động vô hiệu hóa tài khoản và hiển thị thông báo thành công
A2: Nếu tài khoản đã tồn tại trong hệ thống, hệ thống thông báo lỗi và
yêu cầu quản trị viên chọn tên người dùng khác
Bảng 2 : Đặc tả use case quản lí tài khoản
Biểu đồ ca sử dụng chức năng quản lí Thông tin cá nhân:
- Biểu đồ
19
Trang 31-Bảng đặc tả chi tiết use case
Use Case Name: Quản lí thông tin cá
nhân
ID: UC03 Importance level:
High
Primary Actor: Thành Viên Use Case Type: Detail, essential
Stakeholders & Interests:
Muốn cập nhật thông tin cá nhân để đảm bảo thông tin của họ luôn chính xác và bảo mật
Brief Description: Cho phép thành viên cập nhật các thông tin cá nhân như tên, email,
số điện thoại, địa chỉ,ảnh đại diện và mật khẩu để đảm bảo tính chính xác và an toàn của thông tin trong hệ thống
Trigger:Thành viên chọn "Quản Lý Thông Tin Cá Nhân" trên trang cá nhân.
Trang 32·
Normal Flow of Events:
· Thành viên truy cập vào mục "Quản Lý Thông Tin Cá Nhân" sau khi đăng nhập
· Thành viên chọn thông tin cá nhân muốn cập nhật, chẳng hạn như tên, email, số điện thoại, hoặc mật khẩu
· Thành viên nhập thông tin mới và nhấn "Lưu Thay Đổi."
· Hệ thống kiểm tra tính hợp lệ của thông tin mới (ví dụ: định dạng email, độ mạnh của mật khẩu)
· Nếu thông tin hợp lệ, hệ thống lưu thay đổi và hiển thị thông báo cập nhật thành công
Alternate/Exceptional flows:
· A1: Nếu thông tin mới không hợp lệ (ví dụ: email không đúng định dạng, mật khẩu quá yếu), hệ thống hiển thị thông báo lỗi và yêu cầu thành viên chỉnh sửa lại
· A2: Nếu có lỗi hệ thống hoặc sự cố kết nối khi lưu thông tin, hệ thống hiển thị thông báo lỗi và yêu cầu thành viên thử lại sau
Bảng 2 : Đặc tả use case quản lí Thông tin cá nhân
-Biểu đồ ca sử dụng chức năng Quản lí đơn hàng
- Biểu đồ:
21
Trang 33Use Case Name: Quản Lý Đơn Hàng ID: UC04 Importance level:
High
Primary Actor:quản trị viên Use Case Type: Detail, essential
Stakeholders & Interests:
· · quản trị viên: Muốn xem chi tiết đơn hàng, duyệt đơn và cập nhật trạng thái để đảm bảo quản lý đơn hàng hiệu quả
Brief Description:Cho phép quản trị viên quản lý thông tin đơn hàng.
Trigger: Người dùng chọn "Quản Lý Đơn Hàng".
Type: Internal
Relationship:
· Association: quản trị viên
· Include: Đăng Nhập (để đảm bảo quyền truy cập của Actor)
·
22