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

báo cáo môn project 1 ngành công nghệ thông tin website bán linh kiện máy tính

22 1 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

Nội dung

Cơ sở dữ liệuCơ sở dữ liệu database là một hệ thống các thông tin có cấu trúc được lưu trữ trên bộ nhớ ngoài, nhằm thoả mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN ĐÀO TẠO LIÊN TỤC

──────── * ───────

BÁO CÁO

MÔN PROJECT 1

NGÀNH CÔNG NGHỆ THÔNG TIN

WEBSITE BÁN LINH KIỆN MÁY TÍNH

Nhóm sinh viên thực hiện : Trần Thanh Sơn

Lớp CNTTVB2 - K67

Giáo viên hướng dẫn: Ths Trần Thị Dung

HÀ NỘI 5-2023

Trang 2

Mục Lục

Mục Lục 2

Mở đầu: Mục tiêu và nội dung của project 3

Phần 1: Cơ sở lý thuyết chọn đề tài 3

1.1 Các cơ sở lý thuyết liên quan đến nội dung mà đồ án cần giải quyết 3

1.1.1 Cơ sở dữ liệu 3

1.1.2 Lập trình hướng đối tượng 4

1.2 Phân tích các hướng tiếp cận khác nhau 5

1.2.1.Mô hình MVC 5

1.2.2.Mô hình MVP 5

1.2.3.Mô hình MVVM 6

1.3 Phương pháp sử dụng trong dự án 6

1.4 Mô tả yêu cầu 7

Phần 2: Công nghệ và thuật toán sử dụng 8

2.1 Công cụ: 8

2.2 Công nghệ 8

Phần 3: Phân tích thiết kế bài toán 8

3.1 Thiết kế cơ sở dữ liệu: 8

3.1.1Mô tả nghiệp vụ 8

3.1.2.Biểu đồ Use-Case 10

a Biểu đồ Use-case tổng quát 10

b Biểu đồ Use-case phân rã mức 2 10

3.1.3.Mô hình thực thể liên kết – ER 14

a.Phân tích mô hình 15

b.Vẽ mô hình thực thể liên kết (ER) 16

3.2 Biểu đồ trình tự 17

3.2.1.Biểu đồ trình tự chức năng login 17

3.2.2.Biểu đồ trình tự chức năng thêm sản phẩm 17

Trang 3

Mở đầu: Mục tiêu và nội dung của project

1 Mục tiêu:

Xây dựng website bán linh kiện máy tính trực tuyến có tên là “SG-Shop” đểcung cấp cho người dùng lựa chọn và mua sắm các sản phẩm các linh kiện máytính hoặc có thể mua luôn những bộ máy tính mà cửa hàng đã lắp đặt sẵn vớichất lượng và giá cả phù hợp.

2 Nội dung:

Chức năng của website:

Cho phép người dùng đăng nhập, đăng ký tài khoản để thực hiện cácthao tác thêm đồ vào giỏ hàng, thanh toán

Hiển thị danh sách các sản phẩm các thành phần của máy tính (nhưCPU, Mainboard, Ram, SSD, …), cho phép tìm kiếm và lọc sản phẩmtheo các tiêu chí khác nhau như giá, thương hiệu, tên,

Cho phép người dùng đặt hàng và thanh toán khi nhận hàng Chức năng xây dựng cấu hình PC cho phép người dùng tự tạo một bộPC và xem trước giá của nó

Tính năng của website:

Phần 1: Cơ sở lý thuyết chọn đề tài

1.1 Các cơ sở lý thuyết liên quan đến nội dung mà đồ án cần giải quyết1.1.1 Cơ sở dữ liệu

Cơ sở dữ liệu (database) là một hệ thống các thông tin có cấu trúc được lưu trữ trên bộ nhớ ngoài, nhằm thoả mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau CSDL bao gồm các loại dữ liệu: âm thanh, văn bản, hình ảnh,… được mã hóa và lưu trữ dưới dạng file cụ thể

Phân Loại:

Cơ sở dữ liệu dạng file: dữ liệu được lưu trữ dưới dạng các file có thể

là text, ascii, dbf Tiêu biểu cho cơ sở dữ liệu dạng file là.mdb Foxpro

Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ trong các bảng dữ liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đốitượng.

Trang 4

Cơ sở dữ liệu bán cấu trúc: dữ liệu được lưu dưới dạng XML.

Hiệu quả của CSDL:

Phản ánh trung thực thực tế.Tính an toàn - bảo mật.Tính không dư thừa.Hiệu suất sử dụng cao.

1.1.2 Lập trình hướng đối tượng

Lập trình hướng đối tượng (Object-oriented programming - OOP) làmột phương pháp lập trình phổ biến trong việc phát triển phần mềm,trong đó chương trình được thiết kế và triển khai dựa trên các đốitượng Mỗi đối tượng có thể bao gồm các thuộc tính (properties) vàphương thức (methods), và có thể tương tác với các đối tượng khácthông qua việc gọi phương thức của chúng

Các đối tượng được tạo ra bằng cách định nghĩa các lớp (classes),trong đó mỗi lớp đại diện cho một loại đối tượng cụ thể Mỗi lớp cóthể định nghĩa các thuộc tính và phương thức của đối tượng tươngứng, và các đối tượng được tạo ra bằng cách khởi tạo các lớp

Lập trình hướng đối tượng giúp giảm độ phức tạp của các chươngtrình lớn bằng cách phân chia chúng thành các đối tượng nhỏ hơn vàdễ quản lý hơn Nó cũng giúp tăng tính tái sử dụng của mã nguồn, vìcác đối tượng có thể được sử dụng lại trong nhiều chương trình khácnhau

Các ngôn ngữ lập trình phổ biến sử dụng lập trình hướng đối tượngbao gồm Java, C++, Python, C#, Ruby, và Swift.

Trang 5

1.2 Phân tích các hướng tiếp cận khác nhau

1.2.1 Mô hình MVC

MVC là viết tắt của Model-View-Controller, là một mô hình phát triểnphần mềm được sử dụng rộng rãi trong việc phát triển các ứng dụngweb Mô hình này chia ứng dụng thành 3 phần chính:

Model: Đây là phần dữ liệu của ứng dụng Nó chịu trách nhiệmcho việc lấy và lưu trữ dữ liệu, và cung cấp các phương thức đểtruy xuất và cập nhật dữ liệu

View: Đây là phần giao diện người dùng của ứng dụng Nóhiển thị dữ liệu cho người dùng dưới dạng các trang web, biểumẫu và các thành phần giao diện khác

Controller: Đây là phần xử lý logic của ứng dụng Nó nhậnthông tin từ người dùng qua giao diện View, sau đó điều chỉnhdữ liệu trong Model và cập nhật lại View để hiển thị kết quảcho người dùng

Mô hình MVC cho phép phát triển ứng dụng web một cách dễ dàngvà đơn giản hơn, vì nó chia ứng dụng thành các phần độc lập và dễdàng quản lý Nó cũng cho phép tái sử dụng các thành phần của ứngdụng và dễ dàng thay đổi giao diện người dùng mà không ảnh hưởngđến phần xử lý logic của ứng dụng.

1.2.2 Mô hình MVP

MVP (Model-View-Presenter) là một trong những mô hình phát triểnphần mềm được sử dụng trong lập trình ứng dụng Mô hình này tươngtự như mô hình MVC (Model-View-Controller) với việc chia ứngdụng thành 3 phần chính: Model (mô hình), View (giao diện) vàPresenter (bộ trình chiếu).

Model: Là phần dữ liệu và logic của ứng dụng

View: Là phần hiển thị dữ liệu, tương tác với người dùng Presenter: Là bộ điều khiển, xử lý logic, nhận các sự kiện từView và tương tác với Model

Tuy nhiên, trong MVP, Presenter có nhiệm vụ trung gian giữa View vàModel Presenter nhận các tương tác từ người dùng thông qua View,xử lý các yêu cầu, truy xuất dữ liệu từ Model và cập nhật lại View

Điểm khác biệt lớn nhất giữa MVP và MVC là quan hệ giữa View vàModel Trong MVC, View và Model giao tiếp trực tiếp, trong khi đótrong MVP, Presenter làm trung gian giữa hai phần này Presenter

Trang 6

giúp cho View không cần biết Model và làm cho việc kiểm thử, bảo trìvà mở rộng ứng dụng trở nên dễ dàng hơn

MVP được sử dụng rộng rãi trong các dự án phần mềm đòi hỏi tínhtương tác cao với người dùng, ví dụ như các ứng dụng di động, ứngdụng web, và các dự án về game.

1.2.3 Mô hình MVVM

MVVM (Model-View-ViewModel) là một mô hình kiến trúcphần mềm được sử dụng trong lập trình ứng dụng Mô hìnhnày tương tự như mô hình MVC và MVP với việc chia ứngdụng thành 3 phần chính: Model (mô hình), View (giao diện)và ViewModel

Model: Là phần dữ liệu và logic của ứng dụng

View: Là phần hiển thị dữ liệu, tương tác với người dùng ViewModel: Là phần trung gian giữa View và Model, chịutrách nhiệm xử lý dữ liệu, thực hiện các nghiệp vụ, truyền dữliệu giữa View và Model

Điểm khác biệt lớn nhất của MVVM so với MVC và MVP làViewModel được thiết kế để làm cho việc liên kết dữ liệu giữa Viewvà Model trở nên dễ dàng hơn ViewModel có thể kết hợp nhiềuModel để cung cấp dữ liệu cho View và đồng thời xử lý các yêu cầutừ View, chuyển đổi dữ liệu để hiển thị trên View

MVVM được sử dụng rộng rãi trong các dự án phần mềm yêu cầutính tương tác cao với người dùng, ví dụ như các ứng dụng di động,ứng dụng web, và các dự án về game MVVM giúp cho việc phát triểnứng dụng trở nên dễ dàng, dễ quản lý hơn và giúp cho quá trình kiểmthử, bảo trì và mở rộng ứng dụng trở nên đơn giản hơn.

Business Layer: Tầng xử lý logic kinh doanh, nơi xử lý các nghiệp vụ,quy định logic, xử lý dữ liệu Tầng này là nơi thực hiện các tính toán,kiểm tra dữ liệu và xác thực người dùng trước khi truy cập vào dữ liệu

Data Layer: Tầng dữ liệu, nơi lưu trữ dữ liệu của ứng dụng Tầng nàychứa cơ sở dữ liệu, các truy vấn và thao tác trên dữ liệu Tầng này cũngcó thể bao gồm các thư viện dữ liệu để truy xuất dữ liệu từ cơ sở dữ liệu.

Trang 7

1.4 Mô tả yêu cầu

Tạo một website bán linh kiện máy tính có các tính năng:

Danh mục sản phẩm: Hiển thị tất cả các sản phẩm linh kiện máy tínhđang được bán trên website, bao gồm tên sản phẩm, hình ảnh, giá cảvà mô tả sản phẩm.

Tìm kiếm sản phẩm: Cho phép khách hàng tìm kiếm sản phẩm mộtcách nhanh chóng và dễ dàng bằng cách nhập từ khóa hoặc chọn cáctiêu chí như loại sản phẩm, hãng sản xuất, giá cả,

Giỏ hàng: Cho phép khách hàng thêm sản phẩm vào giỏ hàng và xemthông tin chi tiết của giỏ hàng, bao gồm tên sản phẩm, số lượng, giácả và tổng số tiền

Thanh toán: Cung cấp nhiều phương thức thanh toán cho khách hàng,bao gồm thanh toán qua thẻ tín dụng, chuyển khoản ngân hàng, thanhtoán khi nhận hàng

Đăng ký tài khoản: Cho phép khách hàng đăng ký tài khoản để có thểđặt hàng, quản lý thông tin cá nhân, đăng ký nhận thông tin khuyếnmãi và các chương trình ưu đãi khác

Chính sách giao hàng: Cung cấp thông tin chi tiết về các chính sáchgiao hàng, bao gồm địa chỉ giao hàng, thời gian giao hàng, phí vậnchuyển,

Đánh giá sản phẩm: Cho phép khách hàng đánh giá và nhận xét về sảnphẩm đã mua, giúp người dùng khác có thêm thông tin để quyết địnhmua sản phẩm

Hỗ trợ khách hàng: Cung cấp kênh hỗ trợ khách hàng để giải đáp cácthắc mắc và hỗ trợ khi gặp sự cố khi mua hàng

Thông tin liên hệ: Cung cấp thông tin liên hệ của cửa hàng, bao gồmđịa chỉ, số điện thoại, email, để khách hàng có thể liên hệ khi cần

Quản lý đơn hàng: Cho phép chủ sở hữu website quản lý các đơnhàng, theo dõi trạng thái đơn hàng và xử lý các yêu cầu của kháchhàng.

Trang 8

Phần 2: Công nghệ và thuật toán sử dụng

2.1 Công cụ:IntelliJ IDEA

Apache Tomcat

2.2 Công nghệ

- Frontend

ReactJSRedux toolkitHTMLTailwindCSS

- Backend

Java Spring bootMavenSpring Data JPA

- Database

MySQL

Trang 9

Phần 3: Phân tích thiết kế bài toán

3.1 Thiết kế cơ sở dữ liệu:

+ Khách hàng có thể thực hiện tìm kiếm một sản phẩm thôngqua tên món hàng, tìm kiếm nhà sản xuất

+ Khách hàng có thể chọn xem chi tiết một sản phẩm :Tên đầy đủ, loại, nhà sản xuất, thông số kỹ thuật,giá, số lượng còn, số sao đánh giá và bình luận sản phẩm đó

+ Khi đã muốn mua một sản phẩm, khách hàng có thể chọn sản phẩm kèm với số lượng cần lấy vào “giỏ hàng” Giỏ hàng là một bản chi tiết hóa đơn tạm thời lưu thông tin về các sản phẩm khác hàng đã chọn cùng với số lượng và tổng tiền cho mỗi chi tiết ấy, giỏ hàng có thể được thêm, bớt, chỉnh sửa như : thêm một sản phẩm (bằng cách quay lại trang chính chọn món hàng và “thêm vào giỏ hàng”),loại đi một món hàng (khi khách xem giỏ hàng và không còn muốn mua món hàng đó nữa),chỉnh sửa tăng,giảm số lượng của một sản phẩm (khi khác hàng muốn mua thêm hoặc không một lượng sản phẩm đó ).

+ Khi đã muốn hoàn thành quá trình mua hàng khách hàng có thể kiểm tra lại giỏ hàng, xem lại các thông tin về giá cả,số lượng, khi đã ưng ý, khác hàng có thể chốt lại hóa đơn và thực hiện mua hàng.

+ Lúc này khách hàng được yêu cầu đăng nhập vào tài khoản giao dịch để thực hiện xác nhận thanh toán Ở đây ta giả sử cửa hàng của ta có cho thanh toán COD ( nhận hàng rồi mới thanh toán tiền).

+ Tài khoản của khánh hàng bao gồm tên tài khoản, mật khẩu đăng nhập tài khoản, tên chủ tài khoản, thời điểm tạo tài khoản,thời điểm thực hiện giao dịch cuối cùng, email, số điện thoại chủ tài khoản.

Trang 10

+ Tiếp tục,khách hàng đăng nhập thành công sẽ được kiểm tra đơn hàng,nếu đã được khách hàng sẽ phải điền địa điểm thực hiện vận chuyển hàng,nếu không khách hàng khách hàng có thể chỉnh lại giỏ hàng hoặc hủy giao dịch.Khách hàng đồng ý thực hiện giao dịch, hóa đơn sẽ được lưu lại.

+Khách hàng có thể xem trạng thái đơn hàng của mình Cuối cùng khi nhận được hàng, khách hàng sẽ xác nhận việc đã nhận đầy đủ hàng và thanh toán cho shipper.

- Thứ hai là tài khoản của admin:

+ Admin có một trang riêng để quản lý tất cả khách hàng và cácsản phẩm ở trên webite

+ Admin có quyền thêm, sửa, xóa, cập nhật các sản phẩm trênwebsite,

+ Admin có thể xem thống kế lượng hàng bán ra, mặt hàng đượcbán nhiều nhất, tổng doanh thu, …

3.1.2 Biểu đồ Use-Case

a Biểu đồ Use-case tổng quát

Trang 11

b Biểu đồ Use-case phân rã mức 2Use-case đăng ký tài khoản

Trang 12

Use-case đăng nhập

Trang 13

Use-case tìm kiếm sản phẩm

Use-case quản lý sản phẩm

c Đặc tả Use-case

Trang 14

Use-case đăng ký tài khoảnTên của Use-case Đăng ký tài khoản

Mô tả Khách hàng chưa có tài khoản có thể đăngký trở thành user để hưởng một số ưu đãiLuồng sự kiện Use-case bắt đầu khi tác nhân click

vào nút đăng ký tại trang chủTác nhân sẽ phải điền tất cả thôngtin vào các form như (email, mậtkhẩu, tên, số điện thoại, …)

Hệ thống sẽ trả về người dùng cóđăng ký thành công hay khôngLuồng thay thế và

Điều kiện bắt buộc Không có

Trang 15

Điều kiện mở rộng Không cóUse-case thêm sản phẩmTên của Use-case Thêm sản phẩm

Admin điền các thông tin sản phẩmvà bấm lưu

Hệ thống sẽ trả về thông báo cóthêm sản phẩm thành công haykhông

Luồng thay thế vàcác ngoại lệ

Điều kiện bắt buộc Không cóĐiều kiện mở rộng Không có

3.1.3 Mô hình thực thể liên kết – ERa Phân tích mô hình.

- Các thực thể gồm có:

+) Thực thể 1: LoaiSP ( Loại sản phẩm )

Thuộc tính :maLoaiSPtenLoaiSP

+) Thực thể 2: BinhLuan ( Bình Luận )

Trang 16

Thuộc tính :maBinhLuanbinhLuan

+) Thực thể 3: SanPham ( Sản Phẩm )

Thuộc tính :maSanPhamtenSanPhamgiasoLuongsaomoTabinhLuan

+) Thực thể 4: TaiKhoan ( Tài Khoản )

Thuộc tính :maTaiKhoantenTaiKhoanemailsoDienThoaidiaChimatKhau

+) Thực thể 5: ChiTietDonHang ( Chi Tiết Đơn Hàng )

Thuộc tính :maCTDHgiasoLuongtongTien

+) Thực thể 6: DonHang ( Đơn Hàng )

Trang 17

Thuộc tính :maDonHangghiChungayTaoDontrangThaitongTien

+) Thực thể 7: NhaSanXuat ( Nhà Sản Xuất )

Thuộc tính :maNSXtenNSXdiaChiNSXemailNSXwebsiteNSX

b Vẽ mô hình thực thể liên kết (ER)

Trang 19

3.2 Biểu đồ trình tự

3.2.1 Biểu đồ trình tự chức năng login

3.2.2 Biểu đồ trình tự chức năng thêm sản phẩm

Trang 20

3.2.3 Biểu đồ trình tự chức năng đặt hàng

3.3 Biểu đồ lớp

Trang 21

3.4 Thiết kế chi tiết một số lớp

3.4.1 Lớp SanPham

Bảng sản phẩm

Tên thuộc tính Kiểu dữ liệu Mô tả

maLoaiSanPham int Mã loại sản phẩm

tenSanPham VARCHAR(100) Tên sản phẩm

moTa VARCHAR(100), Mô tả

soLuong INT Số lượng

maNhaSanxuat INT Mã nhà sản xuất

CREATE TABLE SanPham (

maSanPham INT PRIMARY KEY AUTO_INCREMENT, maLoaiSanPham INT ,

tenSanPham VARCHAR(100), moTa VARCHAR(100), gia DECIMAL(15,2) , sao DOUBLE , soLuong INT, maNhaSanxuat INT ,

FOREIGN KEY (maLoaiSanPham) REFERENCESLoaiSanPham(maLoaiSanPham),

FOREIGN KEY (maNhaSanxuat) REFERENCES NhaSanXuat(maNhaSanXuat));

3.4.2 Lớp LoaiSanPham

Tên thuộc tính Kiểu dữ liệu Mô tả

maLoaiSanPham INT Mã loại sản phẩm

tenLoaiSanPham VARCHAR(20) Tên loại sản phẩm

CREATE TABLE LoaiSanPham(

maLoaiSanPham INT PRIMARY KEY AUTO_INCREMENT,tenLoaiSanPham VARCHAR(20)

) ;

3.4.3 Lớp NhaSanXuat

Tên thuộc tính Kiểu dữ liệu Mô tả

maNhaSanxuat INT Mã nhà sản xuất

tenNhaSanXuat VARCHAR(100) Mã nhà sản xuất

Trang 22

diaChi VARCHAR(200) Địa chỉ

email VARCHAR(100), Email

CREATE TABLE NhaSanXuat(

maNhaSanXuat INT PRIMARY KEY AUTO_INCREMENT,tenNhaSanXuat VARCHAR(100) ,

diaChi VARCHAR(200) , email VARCHAR(100) );

TÀI LIỆU THAM KHẢO

Ngày đăng: 13/06/2024, 16:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN