1. Trang chủ
  2. » Luận Văn - Báo Cáo

môn chuyên đề thực tế 2 đề tài website kinh doanh thiết bị công nghệ tech hub

81 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP.HỒ CHÍ MINHVIỆN ĐÀO TẠO CHẤT LƯỢNG CAO

Trang 2

PHẦN MỞ ĐẦU 1

1 Tính cấp thiết của đề tài 1

2 Tình hình nghiên cứu 1

3 Mục đích nghiên cứu 2

4 Nhiệm vụ nghiên cứu 2

5 Đối tượng và phạm vi nghiên cứu 2

6 Phương pháp nghiên cứu 3

7 Kết quả nghiên cứu đề tài 3

CHƯƠNG I: CƠ SỞ LÍ THUYẾT VÀ LÍ DO CHỌN ĐỀ TÀI 4

CHƯƠNG II: ĐẶC TẢ ĐỀ TÀI 17

2.1 Phát biểu bài toán 17

2.2 Yêu cầu hệ thống 17

CHƯƠNG III: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 19

3.1 Các yêu cầu của hệ thống 19

3.1.1 Các yêu cầu chức năng của hệ thống 19

3.1.2 Các yêu cầu phi chức năng của hệ thống 19

3.2 Biểu đồ Use case 21

3.2.1.Biểu đồ Use case tổng quát 21

3.2.2 Biểu đồ Use case của khách 22

Trang 3

3.2.3 Biểu đồ Use case của thành viên 23

3.2.4 Biểu đồ Use case của người quản lý 24

3.2.5 Danh sách các Use case và mô tả 24

3.2.6 Đặc tả Use case 30

3.3 Biểu đồ activity 37

3.3.1 Biểu đồ chức năng đăng nhập 37

3.3.2 Biểu đồ chức năng đăng ký 38

3.3.3 Biểu đồ chức năng quên mật khẩu 39

3.3.4 Biểu đồ chức năng thanh toán 40

3.3.5 Biểu đồ chức năng giỏ hàng 41

3.3.6 Biểu đồ chức năng sản phẩm yêu thích 41

3.3.7 Biểu đồ chức năng lọc sản phẩm 42

3.4 Biểu đồ sequence 43

3.4.1 Biểu đồ đăng nhập 43

3.4.2 Biểu đồ đăng ký 44

3.4.3 Biểu đồ quên mật khẩu 44

3.4.4 Biểu đồ thanh toán 45

3.4.5 Biểu đồ giỏ hàng 46

3.4.6 Biểu đồ yêu thích sản phẩm 47

3.4.7 Biểu đồ lọc sản phẩm 47

3.5 Biểu đồ class diagram 48

3.6 Thiết kế cơ sở dữ liệu 49

CHƯƠNG IV: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 68

4.1 Kết quả đạt được 68

4.2 Hướng phát tiển 76

CHƯƠNG V: ĐÁNH GIÁ VÀ KẾT LUẬN 77

Trang 4

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc lập – Tự do – Hạnh phúc

-*** -PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên sinh viên: Đỗ Kim Lâm MSSV: 21H1120042Họ và tên sinh viên: Nguyễn Đức Thiệp MSSV: 21H1120054Họ và tên sinh viên: Đinh Thanh Tân MSSV: 21H1120053Họ và tên sinh viên: Nguyễn Minh Tiến MSSV: 21H1120055

Ngành: Công nghệ thông tin

Tên đề tài: Xây dựng website kinh doanh thiết bị công nghệ - TECH HUBHọ và tên Giáo viên hướng dẫn: Trần Đức Doanh

NHẬN XÉT

1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

Trang 5

4 Đề nghị cho bảo vệ hay không

5 Đánh giá loại:

6 Điểm: (Bằng chữ: )

Tp Hồ Chí Minh, ngày 12 tháng 05 năm 2024 Giáo viên hướng dẫn

(Ký & ghi rõ họ tên)

Trang 6

PHẦN MỞ ĐẦU1 Tính cấp thiết của đề tài

Nhu cầu thị trường: Thị trường thương mại điện tử đang phát triển mạnh mẽ,đặc biệt là trong bối cảnh mua sắm trực tuyến trở nên phổ biến hơn bao giờ hết.Người tiêu dùng ngày càng chuyển sang mua hàng trực tuyến, do đó, việc xâydựng một trang web thương mại điện tử mang lại cơ hội kinh doanh lớn.

Thời đại số hóa: Sự phát triển của công nghệ thông tin và việc số hóa cáchoạt động kinh doanh là xu hướng không thể phủ nhận Việc có một trang webthương mại điện tử không chỉ giúp bạn tiếp cận được khách hàng trực tuyến màcòn tạo điều kiện thuận lợi cho quản lý, marketing và bán hàng.

Tiện lợi và nhanh chóng: Mua sắm trực tuyến mang lại sự tiện lợi và tốc độcho người tiêu dùng Với một trang web thương mại điện tử như TECH HUB,khách hàng có thể dễ dàng tìm kiếm và mua sản phẩm một cách nhanh chóng từbất kỳ đâu chỉ cần kết nối internet.

Tiềm năng lớn: Có một trang web thương mại điện tử hiệu quả không chỉgiúp bạn thu hút được nhiều khách hàng hơn mà còn tạo ra tiềm năng tăng trưởnglớn cho doanh nghiệp Với sự phát triển của công nghệ và thị trường, việc này càngtrở nên quan trọng và có tiềm năng phát triển rất lớn.

Đề tài website thương mại điện tử không chỉ là một chủ đề phù hợp với nhucầu thị trường và xu hướng số hóa hiện nay, mà còn có tiềm năng kinh doanh lớnnếu được triển khai một cách hiệu quả.

2 Tình hình nghiên cứu

Sau khi chọn đề tài nhóm đã cùng nhau tiến hành nghiên cứu chuyên sâu vềcông nghệ cũng như lĩnh vực thương mại điển tử để thực hiện đề tài: Xây dựngwebsite thương mại điện tử TECH HUB Nhóm phát triển đề tài này nhằm mục

Trang 7

đích tạo ra 1 website thương mại điện tử với các công nghệ mới, khả năng quản lýtốt đồng thời được tối ưu với mục tiêu đưa vào ứng dụng thực tiễn.

3 Mục đích nghiên cứu

Mục đích của đề tài là tập trung vào việc phân tích thị trường, thiết kế sảnphẩm, phát triển công nghệ, đánh giá hiệu suất và nghiên cứu về kinh doanh Mụctiêu cuối cùng là xây dựng một nền tảng thương mại điện tử trong lĩnh vực côngnghệ, cung cấp trải nghiệm mua sắm tốt nhất cho khách hàng và đóng góp vào sựphát triển bền vững của doanh nghiệp trong môi trường kinh doanh trực tuyến ngàycàng cạnh tranh.

4 Nhiệm vụ nghiên cứu

Phát triển một website thương mại điện tử nhằm cho phép doanh nghiệpkinh doanh trong môi trường trực tuyến và khách hàng có thể đặt, mua các thiết bịđiện tử, công nghệ một cách nhanh chóng, tiện lợi.

5.Đối tượng và phạm vi nghiên cứu

 Đối tượng nghiên cứu

 Doanh nghiệp: Nghiên cứu các chiến lược kinh doanh trực tuyến, thiết kếwebsite, quản lý sản phẩm, …

 Người tiêu dùng: Nghiên cứu hành vi mua sắm trực tuyến và trải nghiệmngười dùng.

 Công nghệ: Nghiên cứu về các công nghệ và phương pháp thiết kế, pháttriển và duy trì trang web thương mại điện tử hiệu quả.

 Phạm vi nghiên cứu

Phạm vi nghiên cứu của đề tài tập trung vào nhu cầu của doanh nghiệp có

Trang 8

6.Phương pháp nghiên cứu

 Phân tích dữ liệu website: Lượt truy cập, tỷ lệ chuyển đổi, doanh thu,

7 Kết quả nghiên cứu đề tài

Xây dựng website thương mại điện tử giúp doanh nghiệp có thể kinh doanhtrực tuyến, dễ dàng trong việc quản lý sản phẩm.

Tạo ra một trang mua sắm trực tuyến giúp cho người tiêu dùng có thể lựachọn, đặt mua các sản phẩm công nghệ một cách dễ dàng, đảm bảo một trảinghiệm tốt.

Trang 9

CHƯƠNG I: CƠ SỞ LÍ THUYẾT VÀ LÍ DO CHỌN ĐỀ TÀI1.1 Cơ sở thực tế và lí do chọn đề tài

Nhu cầu thị trường

Sự phát triển mạnh mẽ của công nghệ thông tin và hội nhập internet dẫn đếnnhu cầu sử dụng các thiết bị di động, máy tính, máy tính bảng, ngày càng tăngcao trong mọi lĩnh vực của đời sống Nhu cầu mua sắm đồ công nghệ cũng tăngcao theo, đặc biệt là đối với các sản phẩm mới và có tính năng hiện đại.

Theo số liệu của Statista, doanh thu thị trường bán lẻ đồ điện tử và máy tínhtại Việt Nam dự kiến đạt 15 tỷ USD vào năm 2025, với mức tăng trưởng trungbình hàng năm 7,2% trong giai đoạn 2020-2025 Điều này cho thấy tiềm năng tolớn của thị trường kinh doanh đồ công nghệ tại Việt Nam.

Nhu cầu mua sắm trực tuyến ngày càng tăng cao do sự tiện lợi, nhanh chóngvà đa dạng sản phẩm Mua sắm trực tuyến giúp tiết kiệm thời gian và chi phí dichuyển, so sánh giá cả dễ dàng, có nhiều chương trình khuyến mãi hấp dẫn Xuhướng mua sắm trực tuyến ngày càng phổ biến, đặc biệt là trong giới trẻ.

Theo báo cáo của Criteo, 72% người tiêu dùng Việt Nam mua sắm trựctuyến ít nhất một lần trong 6 tháng qua Số lượng người mua sắm trực tuyến tạiViệt Nam dự kiến đạt 80 triệu vào năm 2025 Điều này cho thấy tiềm năng to lớncủa thương mại điện tử trong lĩnh vực kinh doanh đồ công nghệ.

Thị trường kinh doanh thiết bị công nghệ đang tiềm năng và đầy hứa hẹn vớinhiều dư địa phát triển Quy mô thị trường ngày càng tăng, số lượng người muasắm trực tuyến ngày càng nhiều Nhu cầu về các sản phẩm công nghệ đa dạng và

Trang 10

là cơ hội lớn cho các doanh nghiệp kinh doanh thiết bị công nghệ tham gia thịtrường và gặt hái thành công.

Sự phát triển của thương mại điện tử

Thương mại điện tử đang bùng nổ mạnh mẽ tại Việt Nam với tốc độ tăngtrưởng cao Doanh thu thương mại điện tử tăng trưởng liên tục trong những nămqua, dự kiến sẽ tiếp tục tăng trưởng trong những năm tới Các hình thức mua sắmtrực tuyến ngày càng đa dạng, phong phú, thu hút nhiều người tham gia.

Theo số liệu của Bộ Công Thương, doanh thu thương mại điện tử Việt Nam đạt 40tỷ USD vào năm 2022, tăng 15,3% so với năm 2021 Dự kiến, doanh thu thươngmại điện tử Việt Nam sẽ đạt 52 tỷ USD vào năm 2025.

Các sàn thương mại điện tử lớn như Shopee, Lazada, Tiki, ngày càng phổbiến và thu hút nhiều người mua sắm Người tiêu dùng có thể dễ dàng tìm kiếm vàmua sắm các sản phẩm mong muốn trên các sàn này Các sàn thương mại điện tửcung cấp nhiều dịch vụ tiện ích như thanh toán trực tuyến, giao hàng tận nơi, đổitrả hàng hóa,

Sự phát triển của các sàn thương mại điện tử đã tạo điều kiện thuận lợi chocác doanh nghiệp kinh doanh thiết bị công nghệ (Tech Hub) tham gia thị trườngtrực tuyến Doanh nghiệp có thể dễ dàng mở gian hàng trên các sàn này để tiếp cậnkhách hàng tiềm năng và tăng doanh thu.

Website kinh doanh thiết bị công nghệ (Tech Hub) là kênh bán hàng hiệuquả để tiếp cận khách hàng tiềm năng và tăng doanh thu Doanh nghiệp có thể dễdàng tham gia thị trường thương mại điện tử thông qua việc xây dựng website bánhàng riêng Website kinh doanh cần có chiến lược marketing phù hợp để thu hútkhách hàng và cạnh tranh hiệu quả.

Website kinh doanh thiết bị công nghệ (Tech Hub) cần cung cấp đầy đủthông tin về sản phẩm, giá cả, chính sách mua hàng, thanh toán và vận chuyển.

Trang 11

Doanh nghiệp cũng cần xây dựng hình ảnh thương hiệu chuyên nghiệp và uy tín đểtạo dựng lòng tin với khách hàng.

Sự cạnh tranh:

Ngành kinh doanh đồ công nghệ online có tính cạnh tranh cao do có nhiềudoanh nghiệp tham gia Các doanh nghiệp cần có chiến lược kinh doanh hiệu quảđể thu hút khách hàng và cạnh tranh trên thị trường Cần chú trọng đến chất lượngsản phẩm, giá cả hợp lý, dịch vụ khách hàng tốt để tạo dựng uy tín thương hiệu.

Tuy nhiên, vẫn còn nhiều cơ hội cho các doanh nghiệp mới tham gia thịtrường nếu có chiến lược kinh doanh phù hợp Cần nghiên cứu thị trường kỹlưỡng, xác định phân khúc khách hàng mục tiêu và xây dựng sản phẩm, dịch vụphù hợp Áp dụng các chiến lược marketing hiệu quả để thu hút khách hàng và tạodựng thương hiệu.

Với những yếu tố trên, việc thiết kế website kinh doanh đồ công nghệ(Tech Hub) là một đề tài tiềm năng và đầy hứa hẹn Nhóm có đủ kiến thức, kỹnăng và niềm đam mê để thực hiện tốt đề tài này

1.2 Công nghệ sử dụng1.2.1 React – Typescript

Trang 12

ReactJS được phát triển bởi Facebook và được giới thiệu lần đầu tiên vào

năm 2011 Ban đầu, ReactJS được phát triển để xây dựng giao diện người dùngtrên trang web Facebook, nhằm cải thiện tốc độ và hiệu suất của ứng dụng web.Hiện nay, ReactJS đã trở thành một trong những thư viện phát triển web phổ biếnnhất, được sử dụng rộng rãi bởi các công ty lớn và nhỏ trên toàn thế giới Facebookcũng tiếp tục đầu tư phát triển và nâng cấp ReactJS để đáp ứng nhu cầu của cộngđồng phát triển.

Typescript do Microsoft phát triển, nó là 1 mã nguồn mở cho lập trình viên

phát triển Là sản phẩm của ông lớn, nên chắc chắn nó phải xịn và được nhiều lậptrình viên đón nhận.

Những điểm mạnh của typescript:

 Kế thừa các cú pháp từ javascript nên rất dễ sử dụng hơn các mã nguồntương tự

 Ngoài kế thừa từ các phiên bản javascript, nó càng hỗ trợ các cú pháp đặctrưng của hướng đối tượng như interface, class,vv nên rất mạnh mẽ khiapply các design pattern.

 Được các lib/framework khuyến khích sử dụng(vì bản thân nó cũng đượcdần chuyển qua viết bằng typescript)

 Những dự án lớn thành công cũng đã áp dụng typescript

 Một điều nữa là nó hỗ trợ rất tốt khi dùng 1 công cụ là visual code (sảnphẩm của microsoft) được nhiều lập trình viên frontend sử dụng, hỗ trợsuggest code và báo lỗi cực mạnh khi dùng typescirpt trong công cụ nàyLợi ích của việc sử dụng Typescript với React:

Gợi ý mã: Loại chỉ định cung cấp các đề xuất và tùy chọn trong khi bạn

nhập Điều này giúp tiết kiệm rất nhiều công sức và giúp một nhà phát triểnmới sử dụng mã nguồn của bạn dễ dàng hơn Các đề xuất mã này ngăn chặn

Trang 13

thời gian lãng phí, dễ dàng giao tiếp nhóm và làm cho cơ sở mã của bạn nhấtquán hơn.

Khả năng đọc và xác thực: Vì Typescript là một hệ thống được định kiểu

tĩnh, bạn có thể thêm các kiểu vào các biến, hàm và thuộc tính, làm cho mãcủa bạn dễ đọc hơn rất nhiều Typescript cũng dùng để loại bỏ PropTypescủa React, điều này giúp cho việc phát triển React dễ dàng hơn.

Bắt lỗi sớm hơn và IntelliSense: Một trong những tính năng được yêu thích

nhất của Typescript là khả năng đánh dấu lỗi ngay khi chúng xuất hiện.Typescript hiển thị cho bạn các lỗi trước khi bạn chạy mã, tiết kiệm hàng giờđồng hồ để sửa lỗi hoặc nhầm lẫn sớm.

Duy trì và tái cấu trúc mã chính xác: Khi cơ sở mã của một ứng dụng

React phát triển, nó có thể trở nên quá khó khăn để đọc, chia sẻ hoặc duy trì.Việc điều hướng các cơ sở mã này có thể tẻ nhạt và việc cấu trúc lại mã rấtrủi ro Typescript thực sự giúp bạn cấu trúc lại mã và ngăn lỗi chính tả, giúpviệc duy trì và cập nhật dễ dàng hơn nhiều mà không thay đổi bất kỳ hành vinào của nó.

Cải thiện việc sử dụng JavaScript: Typescript tích hợp hoàn toàn với

JavaScript và sử dụng các tính năng mới nhất có sẵn cho nhà phát triểnJavaScript Các dự án React được xây dựng bằng biên dịch Typecript thànhmột phiên bản JavaScript chạy trên bất kỳ trình duyệt nào

1.2.2 Java

Java là ngôn ngữ lập trình đa nền tảng (cross-platform), được phát triển bởi

Trang 14

Java sử dụng cấu trúc lập trình hướng đối tượng (object-orientedprogramming - OOP) và được xây dựng trên cơ sở của ngôn ngữ lập trình C++ Nócung cấp một môi trường chạy ảo (virtual machine) gọi là Java Virtual Machine(JVM), giúp các chương trình Java có thể chạy trên nhiều nền tảng khác nhau màkhông cần phải biên dịch lại.

Các tính năng của Java bao gồm: đa nền tảng, quản lí bộ nhớ tự động, hỗ trợđa luồng, tính bảo mật cao, hỗ trợ các thư viện và công cụ phát triển mạnh mẽ, tínhdi động, tính độc lập với nền tảng, tính kế thừa và đa hình, tính mở rộng…

1.2.3 SpringSpring là gì?

Spring là một Framework phát triển các ứng dụng Java được sử dụng bởihàng triệu lập trình viên Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử,sử dụng lại code…

Kiến trúc, các module của Spring Framework Spring được chia làm nhiềumodule khác nhau, tùy theo mục đích phát triển ứng dụng mà ta dùng 1 trong cácmodule đó.

Trang 15

Tầng này cung cấp khả năng hỗ trợ kiểm thử với JUnit và TestNG.

Spring Core Container

Bao gồm các module spring core, beans, context và expression languate(EL) Spring core, bean cung cấp tính năng IOC và Dependency Injection SpringContext hỗ trợ đa ngôn ngữ (internationalization), các tính năng Java EE như EJB,JMX.

Expression Language được mở rộng từ Expresion Language trong JSP Nócung cấp hỗ trợ việc setting/getting giá trị, các method cải tiến cho phép truy cậpcollections, index, các toán tử logic…

AOP, Aspects and Instrumentation

Những module này hỗ trợ cài đặt lập trình hướng khía cạnh (AspectOriented Programming), hỗ trợ tích hợp với AspectJ.

Data Access / Integration

Nhóm này bao gồm JDBC, ORM, OXM, JMS và module Transaction.Những module này cung cấp khả năng giao tiếp với database

Hay còn gọi là Spring MVC Nhóm này gồm Web, Web-Servlet… hỗ trợviệc tạo ứng dụng web.

Các lợi ích của Spring Framework

Spring cho phép lập trình viên sử dụng POJOs Việc sử dụng POJOs giúpbạn không phải làm việc với EJB, ứng dụng, các luồng chạy, cấu hình… đơn giảnhơn rất nhiều.

Trang 16

Spring hỗ trợ sử dụng khá nhiều công nghệ như ORM Framework, cáclogging framework, JEE, các thư viện tạo lịch trình (Quartz và JDK timer)…

Module Web của Spring được thiết kế theo mô hình MVC nên nó cung cấp đầy đủcác tính năng giúp thay thế các web framework khác như Struts.

1.2.4 Hibernate

Hibernate framework là một giải pháp ORM (Object Relational Mapping)mã nguồn mở, gọn nhẹ Hibernate giúp đơn giản hoá sự phát triển của ứng dụngjava để tương tác với cơ sở dữ liệu.

Tool ORM giúp đơn giản hoá việc tạo ra dữ liệu, thao tác dữ liệu và truy cậpdữ liệu Đó là một kỹ thuật lập trình để ánh xạ đối tượng vào dữ liệu được lưu trữtrong cơ sở dữ liệu.

Hibernate Framework có các lợi ích như dưới đây:

1 Mã nguồn mở và nhẹ: Hibernate Framework là mã nguồn mở có giấy

phép LGPL và nhẹ.

2 Hiệu suất nhanh: Hiệu suất của Hibernate Framework là nhanh bởi vì bộ

nhớ cache được sử dụng trong nội bộ Hibernate Framework Có hai loại bộ nhớcache trong Hibernate Framework, gồm bộ nhớ cache cấp một và bộ nhớ cache cấphai Bộ nhớ cache cấp một được bật bằng lệnh mặc định.

3 Truy vấn cơ sở dữ liệu độc lập: HQL (Hibernate Query Language) là

phiên bản hướng đối tượng của SQL Nó tạo ra các truy vấn cơ sở dữ liệu độc lập.Vì vậy, bạn không cần phải viết các truy vấn cơ sở dữ liệu cụ thể Trước Hibernate,nếu dự án có cơ sở dữ liệu bị thay đổi, chúng ta cần phải thay đổi truy vấn SQLdẫn đến sự cố bảo trì.

4 Tạo bảng tự động: Hibernate framework cung cấp phương tiện để tạo ra

các bảng cơ sở dữ liệu tự động Vì vậy, không cần phải tạo ra các bảng trong cơ sởdữ liệu bằng tay.

Trang 17

5 Đơn giản lệnh join phức tạp: Có thể lấy dữ liệu từ nhiều bảng một cách

dễ dàng với Hibernate framework.

6 Cung cấp thống kê truy vấn và trạng thái cơ sở dữ liệu: Hibernate hỗ

trợ bộ nhớ cache truy vấn và cung cấp số liệu thống kê về truy vấn và trạng thái cơsở dữ liệu.

1.2.5 Mysql

CSDL là 1 phần quan trọng không thể thể thiếu được trong các ứng dụngweb chuyên nghiệp MySQL từ lâu đã là hệ CSDL được dùng phổ biến nhất vớiPHP vì tính gọn nhẹ, nhanh, miễn phí và được PHP hỗ trợ sẵn.

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh.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ủ.Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các

Trang 18

MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác,nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,

Một số đặc điểm của MySQL

 MySQL là một phần mềm quản trị cơ sở dữ liệu dạng server-based(gần tương đương với SQL Server của Microsoft).

 MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệucó thể có nhiều bảng quan hệ chứa dữ liệu.

 MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùngcó thể được quản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗingười dùng có một tên truy cập (username) và mật khẩu(password)tương ứng để truy xuất đến cơ sở dữ liệu.

Khi ta truy vấn tới CSDL MySQL, phải cung cấp tên truy cập và mật khẩucủa tài khỏan có quyền sử dụng CSDL đó.

1.2.6 Restful API

RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng

dụng web (thiết kế Web services) để tiện cho việc quản lý các resource Nó chútrọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệuđộng…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải quaHTTP.

Trang 19

API (Application Programming Interface) là một tập các quy tắc và cơ chế

mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng haythành phần khác API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ởnhững kiểu dữ liệu phổ biến như JSON hay XML.

REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ

liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản đểtạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lýmột số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST,DELETE, vv đến một URL để xử lý dữ liệu.

REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trênsẽ sử dụng những phương thức HTTP riêng.

 GET (SELECT): Trả về một Resource hoặc một danh sách Resource. POST (CREATE): Tạo mới một Resource.

 PUT (UPDATE): Cập nhật thông tin cho Resource. DELETE (DELETE): Xoá một Resource.

Những phương thức hay hoạt động này thường được gọi là CRUD tương

ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa.

Trang 20

thân chúng dựa trên dữ liệu mẫu (training data) hoặc dựa vào kinh nghiệm (nhữnggì đã được học) Machine learning có thể tự dự đoán hoặc đưa ra quyết định màkhông cần được lập trình cụ thể.

Có rất nhiều cách phân loại machine learning, thông thường thì machinelearning sẽ được phân làm hai loại chính sau:

 Supervised learning: học có giám sát

 Unsupervised learning: học không giám sát

Ngoài ra, machine learning còn có thể phân làm các loại sau: Semi-supervised learning: học bán giám sát

 Deep learning: học sâu (về một vấn đề nào đó) Reinforce learning: học củng cố/tăng cường

1.3 Công cụ phát triển

1.3.1 Visual Studio Code

Visual Studio Code là một trình soạn thảo mã nguồn được phát triển bởiMicrosoft dành cho Windows, Linux và macOS Nó hỗ trợ chức năng debug, đikèm với Git, có chức năng nổi bật cú pháp (syntax highlighting), tự hoàn thành mãthông minh, snippets, và cải tiến mã nguồn Nó cũng cho phép tùy chỉnh, ngườidùng có thể thay đổi theme, phím tắt, và các tùy chọn khác Nó miễn phí và là phầnmềm mã nguồn mở theo giấy phép MIT, mặc dù bản phát hành của Microsoft làtheo giấy phép phần mềm miễn phí.

Trong dự án này, nhóm em sử dụng Visual Studio Code làm công cụ để pháttriển phần Front-end cho dự án.

1.3.2 Intellij IDEA

IntelliJ IDEA là một môi trường phát triển tích hợp (IDE) mạnh mẽ đượcthiết kế đặc biệt cho lập trình Java, và cũng có khả năng hỗ trợ một số ngôn ngữ

Trang 21

khác như Node.js, Python hay nhiều ngôn ngữ khác Phiên bản đầu tiên của IntelliJIDEA được phát hành vào tháng 1/2001, từ đó đến nãy nó đã trở thành một trongnhững IDE hàng đầu trong cộng đồng phát triển phần mềm.

Mặc dù ban đầu được biết đến chủ yếu là một IDE Java, IntelliJ IDEA đãmở rộng sự hỗ trợ của mình cho nhiều ngôn ngữ và framework khác nhau Nócung cấp một loạt các tính năng thông minh như trình soạn thảo mã thông minh,công cụ phân tích mã và bộ công cụ refactorings giúp tối ưu hóa quy trình pháttriển phần mềm.

IntelliJ IDEA có hai phiên bản chính: phiên bản miễn phí (community) vàphiên bản trả phí (ultimate) Phiên bản trả phí cung cấp nhiều tính năng mở rộnghơn như hỗ trợ JavaScript, TypeScript, các plugin GWT, Vaadin, kiểm tra đoạn mãtrùng lặp cùng các tính năng nổi trội khác Ngoài ra, IntelliJ IDEA cũng là nền tảngcho nhiều sản phẩm IDE khác của JetBrains như PyCharm, PhpStorm, RubyMine,… giúp đáp ứng nhu cầu phát triển phần mềm đa dạng của các nhà phát triển

Trong dự án này, nhóm em sử dụng IntelliJ IDEA làm công cụ để phát triểnphần Back-end cho dự án.

1.3.3 Một số công cụ và phần mềm khác

- XAMPP- HeidiSQL

Trang 22

CHƯƠNG II: ĐẶC TẢ ĐỀ TÀI2.1 Phát biểu bài toán

Dựa trên nhu cầu thực tiễn, nhóm đã nhận thấy việc phát triển một trang webthương mại điện tử là cần thiết Mục tiêu của đề tài là xây dựng và triển khai mộttrang web thương mại điện tử để quản lý và bán các sản phẩm điện tử trực tuyếnthông qua phần mềm và hệ thống website.

 Trang chi tiết sản phẩm cung cấp bộ lọc giúp khách hàng chọn lựa màusắc, kích thước, và tính năng của sản phẩm.

 Thông tin chi tiết của từng sản phẩm bao gồm hình ảnh, mô tả, giá tiền,thông số kỹ thuật, và trạng thái còn hàng.

 Sắp xếp sản phẩm theo giá tăng dần, giảm dần và nổi bật.

 Khi mua sản phẩm, khách hàng cung cấp thông tin như Họ tên, Địa chỉ,Số điện thoại, Email để nhận thông tin đơn hàng và vận chuyển sảnphẩm.

 Phần quản trị (Admin):

 Quản lý thông tin sản phẩm, đơn hàng, và người dùng.

 Theo dõi và xử lý các đơn đặt hàng, cập nhật trạng thái đơn hàng. Phần quản lý cửa hàng:

 Quản lý thông tin hàng hóa, nhập hàng từ nhà cung cấp, cập nhật sốlượng tồn kho.

Trang 23

 Tạo và quản lý các chương trình khuyến mãi, giảm giá sản phẩm. Thống kê doanh số bán hàng, lợi nhuận, và hàng tồn kho.

 Yêu cầu phi chức năng:

 Giao diện thân thiện, dễ sử dụng, hoạt động mượt mà trên mọi thiết bị. Đảm bảo tính bảo mật thông tin cá nhân của khách hàng.

 Tốc độ tải trang nhanh để cải thiện trải nghiệm người dùng.

 Hỗ trợ nhiều phương thức thanh toán an toàn và tiện lợi cho khách hàng.

Trang 24

CHƯƠNG III: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG3.1 Các yêu cầu của hệ thống

3.1.1 Các yêu cầu chức năng của hệ thống

- Khách vãng lai - Đăng nhập, đăng ký, quên mật khẩu,

tìm kiếm sản phẩm, xem chi tiết sảnphẩm, quản lý giỏ hàng

- Thành viên - Quản lý sản phẩm yêu thích, cập

nhật thông tin, đăng xuất, đổi mậtkhẩu, xem lịch sử đơn hàng, thanhtoán, đánh giá sản phẩm, nhận xét vềwebsite, (gồm các chức năng của

khách vãng lai)

- Người quản lý (admin) - Xem thống kê, quản lý đơn hàng,

quản lý loại sản phẩm, quản lý sảnphẩm, quản lý người dùng, …

Bảng 3.1 Các yêu cầu chức năng của hệ thống

3.1.2 Các yêu cầu phi chức năng của hệ thống

Trang 25

Bảo mật

- Hệ thống sử dụng xác thực người dùng để đảm bảo tínhan toàn và truy cập dữ liệu chỉ dành cho người dùng đượcphép.

- Các dữ liệu về tài khoản người dùng được mã hóa vàbảo mật để đảm bảo tính riêng tư.

- Mật khẩu được mã hóa bằng thuật toán Bcrypt để đảmbảo an toàn thông tin.

Trang 26

3.2 Biểu đồ Use case

3.2.1.Biểu đồ Use case tổng quát

Hình 3.3 Biểu đồ Use case tổng quát

Trang 27

3.2.2 Biểu đồ Use case của khách

Hình 3.4 Biểu đồ Use case của khách

Trang 28

3.2.3 Biểu đồ Use case của thành viên

Hình 3.5 Biểu đồ Use case của thành viên

Trang 29

3.2.4 Biểu đồ Use case của người quản lý

Hình 3.6 Biểu đồ Use case của người quản lý

3.2.5 Danh sách các Use case và mô tả

Trang 30

để mua sản phẩm hàng

đăng xuất tàikhoản khỏi hệthống

Thoát khỏi hệthống

mật khẩu và muốnthiết lập lại đểkhôi phục quyềntruy cập vào tàikhoản của mình

Cho phép kháchhàng thiết lập lạimật khẩu khi họquên mật khẩu

UC5 Tìm kiếm và lọc sản phẩm Khách hàng muốntìm kiếm và lọcsản phẩm để dễdàng chọn một sảnphẩm phù hợp vớiyêu cầu của mình

Thu hẹp kết quảtìm kiếm, hiển thịthông tin chi tiếtsản phẩm đúngvới yêu cầu củakhách hàng

UC6 Xem chi tiết sản phẩm Khách hàng muốnxem chi tiết về sảnphẩm như hìnhảnh, giá cả và cácthông tin liên quankhác

Hiển thị thông tinchi tiết về sảnphẩm như : tênsản phẩm, giácả, và các đánhgiá

quản lý giỏ hàngđể kiểm tra, thêm,

Hiển thị sản

xóa ,sửa sản

Trang 31

sửa hoặc xóa sảnphẩm

phẩm, cập nhậttổng giá trị đơnhàng

UC8 Quản lý sản phẩm yêu thích Khách hàng muốnquản lý danh sáchsản phẩm yêuthích để theo dõivà lưu trữ các sảnphẩm mà họ quantâm.

Hiển thị sảnphẩm yêu thích,có thể thêm, sửa,xoá sản phẩm yêuthích

UC9 Cập nhật thông tin cá nhân Khách hàng muốncập nhật thông tincá nhân của mìnhđể đảm bảo rằngthông tin là chínhxác

Cho phép kháchhàng truy cập vàchỉnh sửa thôngtin cá nhân trêntrang web bán sảnphẩm Kháchhàng có thể nhậphoặc chỉnh sửađịa chỉ, số điệnthoại, và mậtkhẩu.

Trang 32

tiến hành thanhtoán để muanhững sản phẩmtrong giỏ hàng

hoàn tất quá trìnhmua sắm bằng

phương thứcthanh toán vànhập thông tincần thiết Kháchhàng sau đó xácnhận và hoàn tấtthanh toán để đặthàng, và hệ thốnghiển thị xác nhậnđơn hàng

UC12 Đánh giá sản phẩm Khách hàng muốnđánh giá về mộtsản phẩm sau khiđã sử dụng

Cho phép kháchhàng đánh giá vàchia sẻ ý kiến vềcác sản phẩm.Khách hàng cóthể chọn số saovà nhập ý kiếnchi tiết, sau đóxác nhận và gửiđánh giá của

Trang 33

mìnhUC13 Xem lịch sử mua hàng Khách hàng muốn

xem lịch sử muahàng để kiểm tracác đơn hàng đãđặt và chi tiết vềgiao dịch.

Khách hàng cóthể xem danhsách các đơnhàng, và chọn đểxem chi tiết vềgiao dịch, sảnphẩm, và thôngtin vận chuyểncủa từng đơnhàng

UC14 Quản lý người dùng Admin muốn quảnlý thông tin ngườidùng, bao gồmthêm mới, sửa đổi,và xóa người dùng

Cho phép Adminquản lý thông tin

Admin có thểxem danh sáchkhách hàng, thêmmới khách hàng,sửa đổi thông tin,và xóa kháchhàng khi cần thiếtUC15 Quản lý sản phẩm Admin muốn quản Cho phép Admin

Trang 34

khỏi hệ thống sản phẩm, thêmsản phẩm mới,sửa đổi thông tinsản phẩm, và xóasản phẩm khỏi hệthống

UC16 Quản lý loại sản phẩm Admin muốn quảnlý thông tin về cácloại sản phẩm, baogồm thêm mới,sửa đổi, và xóacác loại sản phẩm

Cho phép Adminquản lý thông tinvề các loại sảnphẩm Admin cóthể xem danhsách loại sảnphẩm, thêm loạisản phẩm mới,sửa đổi thông tinloại sản phẩm, vàxóa loại sản phẩmkhỏi hệ thống

lý thông tin về cácđơn hàng, baogồm xem chi tiết,cập nhật trạngthái, và hỗ trợkhách hàng

Cho phép Adminquản lý thông tinvề các đơn hàng.Admin có thểxem danh sáchđơn hàng, xemchi tiết từng đơn,cập nhật trạng

Trang 35

thái và hỗ trợkhách hàng liênquan đến đơnhàng

3.2.6 Đặc tả Use case

3.2.6.1 Đặc tả UC1 “Đăng nhập”Use Case: Đăng nhập

Mã Use Case UC1

Tên Use Case Đăng nhập

Tác nhân Khách hàng, người quản lý

Mô tả

Nếu muốn sử dụng những chức năng đặc thù của hệ thống, ngườidùng phải đăng nhập thành công để có thể thực hiện được các chứcnăng

Tiền Điều kiện Cần phải đã đăng ký trước đó rồi và nhớ tài khoản và mật khẩu

3.2.6.2 Đặc tả UC2 “Đăng ký”Use Case: Đăng ký

Mã Use Case UC2

Tên Use Case Đăng ký

Tác nhân Khách hàng

Trang 36

3.2.6.3 Đặc tả UC3 “Đăng xuất”Use Case: Đăng xuất

Mã Use Case UC3

Tên Use Case Đăng xuất

Tác nhân Khách hàng, người quản lý

Mô tả Muốn thoát tài khoản ra khỏi hệ thống

Tiền Điều kiện Đã đăng nhập trước đó

3.2.6.4 Đặc tả UC4 “Quên mật khẩu”Use Case: Quên mật khẩu

Mã Use Case UC4

Tên Use Case Quên mật khẩu

Tác nhân Khách hàng

Mô tả Khi khách hàng quên mật khẩu và muốn lấy lại mật khẩu

Tiền Điều kiện Đã có tài khoản trước đóCần phải nhớ email

3.2.6.5 Đặc tả UC5 “Tìm kiếm và lọc sản phẩm”Use Case: Tìm kiếm và lọc sản phẩm

Mã Use Case UC5

Tên Use Case Tìm kiếm và lọc sản phẩm

Tác nhân Khách hàng

Mô tả Muốn tìm kiếm sản phẩm theo tên, loại hay lọc sản phẩm theo giágiảm dần, tăng dần

Tiền Điều kiện Không

3.2.6.6 Đặc tả UC6 “Xem chi tiết sản phẩm”

Trang 37

Use Case: Xem chi tiết sản phẩmMã Use Case UC6

Tên Use Case Xem chi tiết sản phẩm

Tác nhân Khách hàng

Mô tả Muốn xem chi tiết sản phẩm nào đó

Tiền Điều kiện Không

3.2.6.7 Đặc tả UC7 “Quản lý giỏ hàng”Use Case: Quản lý giỏ hàng

Mã Use Case UC7

Tên Use Case Quản lý giỏ hàng

Tác nhân Khách hàng

Mô tả Muốn thêm, sửa, xoá 1 sản phẩm nào đó trong giỏ hàng

Tiền Điều kiện Không

3.2.6.8 Đặc tả UC8 “Quản lý sản phẩm yêu thích”Use Case: Quản lý sản phẩm yêu thích

Mã Use Case UC8

Tên Use Case Quản lý sản phẩm yêu thích

Tác nhân Khách hàng

Mô tả Muốn thêm, sửa, xóa 1 sản phẩm nào đó mà khách yêu thích

Tiền Điều kiện Cần phải đăng nhập

Trang 38

Mô tả Muốn thay đổi thông tin như avatar, tên, địa chỉ, sđt, …

Tiền Điều kiện Cần phải đăng nhập

3.2.6.10 Đặc tả UC10 “Nhận xét”Use Case: Nhận xét

Mã Use Case UC10

Tên Use Case Nhận xét

Tác nhân Khách hàng

Mô tả Khi khách hàng thấy website có chỗ bất hợp lý hay chưa hài lòngthì khách hàng sử dụng chức năng “nhận xét” để phản hồi lại chongười quản lý

Tiền Điều kiện Cần phải đăng nhập

3.2.6.11 Đặc tả UC11 “Thanh toán”Use Case: Thanh toán

Mã Use Case UC11

Tên Use Case Thanh toán

Tác nhân Khách hàng

Mô tả Khi khách hàng muốn thanh toán 1 hay nhiều sản phẩm

Tiền Điều kiện Cần phải đăng nhập

Trong giỏ hàng phải có sản phẩm

3.2.6.12 Đặc tả UC12 “Đánh giá sản phẩm”Use Case: Đánh giá sản phẩm

Mã Use Case UC12

Tên Use Case Đánh giá sản phẩm

Tác nhân Khách hàng

Trang 39

Mô tả Khách hàng muốn đánh giá 1 sản phẩm

Tiền Điều kiện Cần phải đăng nhập

Đã mua sản phẩm đó rồi và trạng thái của sản phẩm đó là thành công

3.2.6.13 Đặc tả UC13 “Xem lịch sử mua hàng”Use Case: Xem lịch sử mua hàng

Mã Use Case UC13

Tên Use Case Đăng ký

Tác nhân Khách hàng

Mô tả Khách hàng muốn xem lại các đơn hàng trước đó đã mua

Tiền Điều kiện Cần phải đăng nhập

3.2.6.14 Đặc tả UC14 “Quản lý người dùng”Use Case: Quản lý người dùng

Mã Use Case UC14

Tên Use Case Quản lý người dùng

Tác nhân Người quản lý

Mô tả Người quản lý muốn thêm, sửa, xoá người dùng

Tiền Điều kiện Cần phải đăng nhâp và có quyển admin

3.2.6.15 Đặc tả UC15 “Quản lý sản phẩm”Use Case: Quản lý sản phẩm

Trang 40

Mô tả Người quản lý muốn thêm, sửa, xoá sản phẩm

Tiền Điều kiện Cần phải đăng nhâp và có quyển admin

3.2.6.16 Đặc tả UC16 “Quản lý loại sản phẩm”Use Case: Quản lý loại sản phẩm

Mã Use Case UC16

Tên Use Case Quản lý loại sản phẩm

Tác nhân Người quản lý

Mô tả Người quản lý muốn thêm, sửa, xoá loại sản phẩm

Tiền Điều kiện Cần phải đăng nhâp và có quyển admin

3.2.6.17 Đặc tả UC17 “Quản lý đơn hàng”Use Case: Quản lý đơn hàng

Mã Use Case UC17

Tên Use Case Quản lý đơn hàng

Tác nhân Người quản lý

Mô tả Người quản lý muốn thêm, sửa, xoá đơn

Tiền Điều kiện Cần phải đăng nhâp và có quyển admin

Ngày đăng: 29/06/2024, 15:08

Xem thêm:

w