Báo cáo phân tích thiết kế hệ thống xây dựng hệ thống bán thiết bị di động (đầy đủ)

87 1 0
Báo cáo phân tích thiết kế hệ thống xây dựng hệ thống bán thiết bị di động (đầy đủ)

Đ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

Báo cáo phân tích thiết kế hệ thống bán thiết bị di động, Báo cáo thiết kế hệ thống hướng đối tượng xây dựng hệ thống bán thiết bị di động, xây dựng hệ thống bán thiết bị di dộng có đầy đủ tính năng quản lý sản phẩm, quản lý danh mục sản phẩm, quản lý người dùng, quản lý đơn hàng, quản lý thanh toán, quản lý hóa đơn, quản lý doanh thu ...

Trang 1

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN VÀ AN TOÀN THÔNG TIN

BÁO CÁO MÔN HỌC

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN THIẾT BỊ DI ĐỘNG TRỰC TUYẾN

GIẢNG VIÊN HƯỚNG DẪN: NGUYỄN MINH ĐẾ SINH VIÊN THỰC HIỆN:

TRẦN NGUYỄN ĐẮC LÃM – CT06N0130 ĐOÀN ANH KIỆT – CT06N0128

TP HCM, tháng 4/2024

Trang 2

2 PHÁT BIỂU BÀI TOÁN 8

3 PHƯƠNG PHÁP NGHIÊN CỨU 9

CHƯƠNG 2: KIẾN THỨC CƠ SỞ 10

1 CÁC BIỂU ĐỒ UML 10

1.1 Sơ đồ Use Case (Use Case Diagram) 10

1.2 Sơ đồ lớp (Class Diagram) 10

1.3 Biểu đồ tuần tự (Sequence Diagram) 10

1.4 Biểu đồ trạng thái (State Chart Diagram) 10

1.5 Biểu đồ cộng tác (Collaboration Diagram) 11

1.6 Biểu đồ hoạt động (Activity Diagram) 11

1.7 Biểu đồ thành phần (Component Diagram) 11

1.8 Biểu đồ triển khai (Deployment Diagram) 11

2 THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG 12

2.1 Sơ đồ ERD của hệ thống 12

2.2 Các bảng thuộc tính của hệ thống 12

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 19

1 YÊU CẦU PHẦN MỀM 19

1.1 Yêu cầu chức năng 19

1.2 Yêu cầu phi chức năng 19

2 BIỂU ĐỒ USE CASE & ĐẶC TẢ (USE CASE DIAGRAM) 20

2.1 BIỂU ĐỒ USE CASE 20

2.2 MÔ TẢ ACTORS & USE CASE 23

2.3 ĐẶC TẢ USE CASE 24

3 BIỂU ĐỒ LỚP (CLASS DIAGRAM) 35

3.1 BIỂU ĐỒ CLASS TỔNG QUÁT 35

Trang 3

3.2 PHÂN TÍCH 36

3.3 TRIỂN KHAI LỚP CHỨC NĂNG 41

4 BIỂU ĐỒ TUẦN TỰ (SEQUENCE DIAGRAM) 48

4.1 BIỂU ĐỒ TUẦN TỰ CHO CÁC CHỨC NĂNG CỦA NGƯỜI DÙNG 48

4.2 BIỂU ĐỒ TUẦN TỰ CHO CHỨC NĂNG CỦA NGƯỜI QUẢN TRỊ 56

5 BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) 60

5.1 BIỂU ĐỒ CỘNG TÁC CHO CÁC CHỨC NĂNG CỦA NGƯỜI DÙNG 60

5.2 BIỂU ĐỒ CỘNG TÁC CHO CÁC CHỨC NĂNG CỦA NGƯỜI QUẢN TRỊ 64

6 BIỂU ĐỒ TRẠNG THÁI (STATE MACHINE DIAGRAM) 68

6.1 BIỂU ĐỒ STATE TỔNG QUÁT 68

6.2 BIỂU ĐỒ TRẠNG THÁI PHÂN RÃ 69

7 BIỂU ĐỒ HOẠT ĐỘNG (ACTIVITY DIAGRAM) 72

7.1 BIỂU ĐỒ HOẠT ĐỘNG CHO CÁC CHỨC NĂNG CỦA KHÁCH HÀNG 72

7.2 BIỂU ĐỒ HOẠT ĐỘNG CHO CÁC CHỨC NĂNG CỦA QUẢN TRỊ VIÊN 79

8 BIỂU ĐỒ THÀNH PHẦN (COMPONENT DIAGRAM) 85

8.1 BIỂU ĐỒ THÀNH PHẦN TỔNG QUÁT 85

8.2 BIỂU ĐỒ THÀNH PHẦN PHÂN RÃ 85

9 BIỂU ĐỒ TRIỂN KHAI (DEPLOYMENT DIAGRAM) 86

9.1 BIỂU ĐỒ TRIỂN KHAI TỔNG THỂ 86

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 87

1 KẾT QUẢ ĐẠT ĐƯỢC 87

2 HẠN CHẾ CỦA ĐỀ TÀI 87

3 HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 87

Trang 4

LỜI CẢM ƠN

Nhóm đề tài xin chân thành cảm ơn khoa Công nghệ thông tin và An toàn thông tin Học viện Kỹ thuật Mật mã đã tạo điều kiện tốt cho nhóm đề tài thực hiện tốt đề tài báo cáo này Nhóm đề tài xin chân thành cảm ơn quý thầy cô trong khoa Công nghệ thông tin và An toàn thông tin đã tận tình giảng dạy, trang bị cho nhóm những kiến thức quý báu trong những năm học qua, giúp nhóm có một nền tảng kiến thức vững chắc để hoàn thành đề tài này Đặc biệt nhóm đề tài xin chân thành cám ơn sự nhiệt tình hướng dẫn và đóng góp ý kiến của thầy

Nguyễn Minh Đế đã giúp nhóm đề tài hoàn thành tốt báo cáo này

Mặc dù nhóm đề tài đã cố gắng hoàn thành báo cáo trong phạm vi và khả năng cho phép nhưng chắc chắn vẫn không tránh khỏi những thiếu sót Nhóm đề tài kính mong nhận được sự thông cảm và tận tình đóng góp ý kiến của quý thầy cô và các bạn

Nhóm đề tài xin chân thành cảm ơn!

Trang 5

DANH SÁCH HÌNH

Hình 1 Sơ đồ ERD của hệ thống 12

Hình 2 Biểu đồ Use Case tổng quát 20

Hình 3 Biểu đồ Use Case đăng ký tài khoản 20

Hình 4 Biểu đồ Use Case đăng nhập 21

Hình 5.Biểu đồ Use Case thanh toán 21

Hình 6 Biểu đồ Use Case quản lý doanh thu 22

Hình 7 Biểu đồ class tổng quát 35

Hình 8 Biểu đồ class Product 36

Hình 9 Biểu đồ class OTP 36

Hình 10 Biểu đồ class User 37

Hình 11 Biểu đồ class Order 38

Hình 12 Biểu đồ class Oauth 38

Hình 13 Biểu đồ class Category 39

Hình 14 Biểu đồ class Cart 39

Hình 15 Biểu đồ PayPal class 40

Hình 16 Biểu đồ class Payment 40

Hình 17 Biểu đồ lớp đăng ký tài khoản khách hàng 41

Hình 18 Biểu đồ lớp đăng nhập tài khoản 41

Hình 19 Biểu đồ lớp khôi phục mật khẩu 42

Hình 20 Biểu đồ lớp tìm kiếm sản phẩm 42

Hình 21 Biểu đồ lớp thêm sản phẩm vào giỏ hàng 43

Hình 22 Biểu đồ lớp tạo đơn hàng 43

Hình 23 Biểu đồ lớp thanh toán đơn hàng 44

Hình 24 Biểu đồ lớp quản lý sản phẩm 44

Hình 25 Biểu đồ lớp quản lý danh mục sản phẩm 45

Hình 26 Biểu đồ lớp quản lý thông tin khách hàng 45

Hình 27 Biểu đồ lớp quản lý đơn hàng 46

Hình 28 Biểu đồ lớp quản lý doanh thu 46

Hình 29 Biểu đồ lớp quản lý hóa đơn 47

Hình 30 Biểu đồ Sequence chức năng đăng ký tài khoản khách hàng 48

Hình 31 Biểu đồ Sequence cho chức năng đăng nhập 49

Hình 32 Biểu đồ Sequence cho chức năng xác thực bằng Google 50

Hình 33 Biểu đồ Sequence cho chức năng khôi phục mật khẩu 51

Hình 34 Biểu đồ Sequence cho chức năng tìm kiếm sản phẩm 52

Hình 35 Biểu đồ Sequence cho chức năng thêm sản phẩm vào giỏ hàng 53

Hình 36 Biểu đồ Sequence cho chức năng tạo đơn hàng 54

Hình 37 Biểu đồ Sequence cho chức năng thanh toán online với Paypal 55

Hình 38 Biểu đồ Sequence cho chức năng tạo sản phẩm 56

Hình 39 Biểu đồ Sequence cho chức năng sửa sản phẩm 56

Hình 40 Biểu đồ Sequence cho chức năng xóa sản phẩm 57

Hình 41 Biểu đồ Sequence cho chức năng thêm danh mục sản phẩm 57

Hình 42 Biểu đồ Sequence cho chức năng cập nhật danh mục sản phẩm 58

Trang 6

Hình 43 Biểu đồ Sequence cho chức năng xóa danh mục sản phẩm 58

Hình 44 Biểu đồ Sequence cho chức năng cập nhật thông tin khách hàng 59

Hình 45 Biểu đồ cộng tác cho chức năng đăng ký user 60

Hình 46 Biểu đồ cộng tác chức năng đăng nhập 60

Hình 47 Biểu đồ cộng tác chức năng xác thực với Google 61

Hình 48 Biểu đồ cộng tác chức năng khôi phục mật khẩu 61

Hình 49 Biểu đồ cộng tác chức năng tìm kiếm sản phẩm 62

Hình 50 Biểu đồ cộng tác chức năng thêm sản phẩm vào giỏ hàng 62

Hình 51 Biểu đồ cộng tác chức năng tạo đơn hàng 63

Hình 52 Biểu đồ cộng tác chức năng tạo thanh toán 63

Hình 58 Biểu đồ cộng tác xóa danh mục sản phẩm 66

Hình 59 Biểu đồ cộng tác cập nhật thông tin khách hàng 67

Hình 60 Biểu đồ trạng thái tổng quát cho khách hàng 68

Hình 61 Biểu đồ trạng thái tổng quát cho quản trị viên 69

Hình 62 Biểu đồ trạng thái cho chức năng đăng ký khách hàng 69

Hình 63 Biểu đồ trạng thái cho chức năng đăng nhập 70

Hình 64 Biểu đồ trạng thái cho chức năng xác thực với Google 70

Hình 65 Biểu đồ trạng thái cho chức năng khôi phục mật khẩu 70

Hình 66 Biểu đồ trạng thái thêm sản phẩm vào giỏ hàng 71

Hình 67 Biểu đồ trạng thái thủ tục mua hàng 71

Hình 68 Biểu đồ hoạt động đăng ký tài khoản 72

Hình 69 Biểu đồ hoạt động đăng nhập 73

Hình 70 Biểu đồ hoạt động xác thực tài khoản thông qua Google 74

Hình 71 Biểu đồ hoạt động khôi phục mật khẩu 75

Hình 72 Biểu đồ hoạt động tìm kiếm sản phẩm 76

Hình 73 Biểu đồ hoạt động thêm sản phẩm vào giỏ hàng 77

Hình 74 Biểu đồ hoạt động đặt hàng và thanh toán 78

Hình 75 Biểu đồ hoạt động quản lý sản phẩm 79

Hình 76 Biểu đồ hoạt động quản lý danh mục sản phẩm 80

Hình 77 Biểu đồ hoạt động quản lý khách hàng 81

Hình 78 Biểu đồ hoạt động quản lý đơn hàng 82

Hình 79 Biểu đồ hoạt động quản lý doanh thu 83

Hình 80 Biểu đồ hoạt động quản lý hóa đơn 84

Hình 81 Biểu đồ thành phần tổng quát 85

Hình 82 Biểu đồ thành phần triển khai chức năng của khách hàng 85

Hình 83 Biểu đồ thành phần triển khai chức năng quản trị viên 86

Hình 84 Biểu đồ triển khai tổng thể 86

Trang 7

DANH SÁCH BẢNG

Bảng 1 Role - Vai trò của người dùng, để phân quyền người dùng 12

Bảng 2 User - Người dùng có tài khoản trong hệ thống 13

Bảng 3 Product - Sản phẩm được bán hệ thống 14

Bảng 4 Payment - Lưu trữ thông tin giao dịch trên hệ thống 15

Bảng 5 OTP - Mã OTP xác thực người dùng 16

Bảng 6 OrderStatus - Trạng thái đơn hàng 16

Bảng 7 OrderDetail - Chi tiết đơn hàng, chứa thông tin về từng sản phẩm đặt hàng 16

Bảng 8 Order - Đơn hàng 17

Bảng 9 Oauth - Open Authentication 17

Bảng 10 Category - Danh mục sản phẩm 17

Bảng 11 CartDetail: Thông tin về sản phẩm có trong giỏ hàng 18

Bảng 12 Cart: Giỏ hàng của khách hàng 18

Bảng 13 Mô tả các Actors 23

Bảng 14 Mô tả các Use Case 23

Bảng 15 Đặc tả Use Case UC01 – Đăng ký 24

Bảng 16 Đặc tả Use Case UC02 - Login 25

Bảng 17 Đặc tả Use Case UC03 – Đặt lại mật khẩu 26

Bảng 18 Đặc tả Use Case UC04 – Tìm kiếm sản phẩm 27

Bảng 19 Đặc tả Use Case UC05 – Xem sản phẩm 27

Bảng 20 Đặc tả Use Case UC06 – Quản lý tài khoản 28

Bảng 21 Đặc tả Use Case UC07 – Quản lý sản phẩm trong giỏ hàng 28

Bảng 22 Đặc tả Use Case UC08 – Đặt hàng 29

Bảng 23 Đặc tả Use Case UC09 – Quản lý sản phẩm 30

Bảng 24 Đặc tả Use Case UC10 – Quản lý danh mục sản phẩm 31

Bảng 25 Đặc tả Use Case UC11 – Quản lý người sử dụng 32

Bảng 26 Đặc tả Use Case UC12 – Quản lý đơn hàng 33

Bảng 27 Đặc tả Use Case UC13 – Quản lý doanh số 33

Bảng 28 Đặc tả Use Case UC14 – Quản lý hóa đơn 34

Trang 8

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG 1 LÝ DO CHỌN ĐỀ TÀI

Hiện nay, các công nghệ tiên tiến phát triển ngày càng mạnh mẽ và được ứng dụng ngày càng nhiều vào các lĩnh vực kinh tế, sản xuất cũng như đời sống thường nhật của con người Một điểm tiêu biểu trong việc phát triển các công nghệ đó phải kể đến việc ứng dụng công nghệ thông tin vào hầu khắp các hoạt động Nhờ đó, các công việc được thực hiện nhanh, chính xác và đạt kết quả cao hơn rất nhiều

Khi xã hội ngày càng phát triển, mức sống của người dân được nâng cao thu nhập kinh tế ngày càng được cải thiện thì các thiết bị di động không còn trở nên xa lạ với mọi người nữa mà ngược lại nó là một vật dụng không thể thiếu đối với người dân hiện nay Hầu hết mỗi người đều trang bị cho mình một chiếc điện thoại phù hợp với nhu cầu và túi tiền của mình Tuy nhiên, với cuộc sống ngày càng bận rộn như hiện nay thì việc muốn mua một chiếc điện thoại mình ưa thích thì người tiêu dùng phải đến tận cửa hàng để chọn lựa vì thế sẽ mất khá nhiều thời gian và công sức Cùng với các lý do nêu trên, qua tìm hiểu nhóm đồ án được biết việc ứng dụng bán thiết bị di động trực tuyến sẽ giúp cho khách hàng giảm bớt được thời gian và công sức phải đến tận cửa hàng để mua

Muốn lựa chọn cho mình thiết bị di động ưng ý phù hợp với túi tiền thì khách hàng chỉ cần ngồi bên chiếc máy tính có nối mạng internet là có thế mua được mặt hàng di động mình cần Do đó nhóm đề tài chọn thực hiện đề tài “ Xây dựng hệ thống bán thiết bị di động trực tuyến”

2 PHÁT BIỂU BÀI TOÁN

Bài toán đặt ra : Xây dựng hệ thống bán thiết bị di động đáp ứng được nhu cầu mua bán online, các chức năng cơ bản cần đáp ứng: – Quản lý thông tin khách hàng – Quản lý doanh thu

– Đặt hàng và thanh toán đơn hàng

Trang 9

3 PHƯƠNG PHÁP NGHIÊN CỨU

Phương pháp phân tích hướng đối tượng là thuật ngữ thông dụng hiện thời của ngành

công nghiệp phần mềm Các công ty đang nhanh chóng tim cách áp dụng và tích hợp công nghệ mới này vào các ứng dụng của họ Thật sự là đa phần các ứng dụng hiện thời đều mang tính hướng đối tượng Lối tiếp cận hướng đối tượng là một lối tư duy về vấn đề theo lối ánh xạ các thành phần trong bài toán vào các đối tượng ngoài đời thực Với lối tiếp cận này, chúng ta chia ứng dụng thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với nhau Sau đó ta có thể xây dựng ứng dụng bằng cách chắp các đối tượng đó lại với nhau Hãy nghĩ đến trò chơi xây lâu đài bằng các mẫu gỗ Bước đầu tiên là tạo hay mua một vài loại mẫu gỗ căn bản, từ đó tạo nên các khối xây dựng căn bản của mình Một khi đã có các khối xây dựng đó, bạn có thể chắp ráp chúng lại với nhau để tạo lâu đài Tương tự như vậy một khi đã xây dựng một số đối tượng căn bản trong thế giới máy tính, bạn có thể chấp chúng lại với nhau để tạo ứng dụng của mình

Các ưu điểm của phương pháp phân tích hướng đối tượng:

– Tập trung vào dữ liệu hơn là các thủ tục như trong Phân tích có cấu trúc

– Các nguyên tắc đóng gói và ẩn dữ liệu giúp nhà phát triển phát triển các hệ thống không thể bị can thiệp bởi các phần khác của hệ thống

– Cho phép quản lý hiệu quả sự phức tạp của phần mềm nhờ vào tính mô đun

– Có thể được nâng cấp từ các hệ thống nhỏ đến lớn một cách dễ dàng hơn so với các hệ thống theo phân tích có cấu trúc

Phân tích hướng đối tượng :

Là giai đoạn phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là các đối tượng và khái niệm đời thực, dễ hiểu đối với người sử dụng vấn đề được trình bày bằng các thuật ngữ tương ứng với các đối tượng có thực Thêm vào đó, hệ thống cần phải được định nghĩa sao cho người không chuyên Tin học có thể dễ dàng hiểu được

Thiết kế hướng đối tượng :

Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác, mỗi đối tượng trong đó là thực thể của một lớp Các lớp là thành viên của một cây cầu trúc với mối quan hệ thừa kế tập trung vào việc cải thiện kết quả của , tối ưu hóa giải pháp đã được cung cấp trong khi vẫn đảm bảo thoả mãn tất cả các yêu cầu đã được xác lập Trong giai đoạn nhà thiết kể định nghĩa các chức năng, thủ tục (operations), thuộc tỉnh (attributes) cũng như mối quan hệ của một hay nhiều lớp (class) và quyết định chung cần phải được điều chỉnh sao cho phù hợp với môi trường phát triển Đây cũng là giai đoạn để thiết kế ngân hàng dữ liệu và áp dụng các kỹ thuật tiêu chuẩn hóa

Trang 10

CHƯƠNG 2: KIẾN THỨC CƠ SỞ 1 CÁC BIỂU ĐỒ UML

1.1 Sơ đồ Use Case (Use Case Diagram)

Use Case được mô tả trong ngôn ngữ UML qua biểu đồ Use Case Một Use Case cần phải được mô tả sao cho dễ hiểu và dễ giao tiếp đối với người sử dụng, mà những cấu trúc phức tạp như một biểu đồ hoạt động có thể gây cảm giác xa lạ đối với những người không

quen sử dụng

Một biểu đồ UseCase gồm các thành phần: Hệ thống, Tác nhân, UseCase

1.2 Sơ đồ lớp (Class Diagram)

Class là thành phần chính của bản vẽ Class Diagram Class mô tả về một nhóm đối tượng có cùng tính chất, hành động trong hệ thống Class được mô tả gồm tên Class, thuộc tính và phương thức:

– Class Name: là tên của lớp

– Attributes (thuộc tính): mô tả tính chất của các đối tượng

– Method / Operation (Phương thức): chỉ các hành động mà đối tượng này có thể

thực hiện trong hệ thống Nó thể hiện hành vi của các đối tượng do lớp này tạo ra 1.3 Biểu đồ tuần tự (Sequence Diagram)

Biểu đồ tuần tự mô tả sự trao đổi thông điệp giữa các đối tượng tuần tự theo thời gian, thông điệp được gửi và nhận bởi các đối tượng đang hoạt động trong hệ thống Biểu đồ tuần tự được thể hiện theo hai trục:

– Trục dọc trên xuống chỉ thời gian xảy ra các sự kiện, hay sự truyền thông điệp, được biểu diễn bằng các đường thẳng đứng đứt nét bắt đầu từ đỉnh đến đáy của biểu đồ

– Trục ngang từ trái qua phải là dãy các đối tượng tham gia vào việc trao đổi các thông điệp với nhau theo chiều ngang, có thể có cả các tác nhân

1.4 Biểu đồ trạng thái (State Chart Diagram)

Biểu đồ trạng thái mô tả chu kỳ tồn tại của đối tượng từ khi nó sinh ra đến khi nó bị phá hủy Sử dụng để mô hình hóa khía cạnh động của lớp Biểu đồ trạng thái bao gồm các thông tin sau:

– Các trạng thái của đối tượng – Hành vi của đối tượng

– Sự kiện tác động làm thay đổi trạng thái

Trang 11

1.5 Biểu đồ cộng tác (Collaboration Diagram)

Một biểu đồ cộng tác miêu tả tương tác giữa các đối tượng cũng giống như biểu đồ tuần tự, nhưng nó tập trung trước hết vào các sự kiện, tức là tập trung chủ yếu vào sự tương tác giữa các đối tượng

Trong một biểu đồ cộng tác, các đối tượng được biểu diễn bằng kí hiệu lớp Thứ tự trong biểu đồ cộng tác được thể hiện bằng cách đánh số các thông điệp Kỹ thuật đánh số được coi là hơi có phần khó hiểu hơn so với kỹ thuật mũi tên sử dụng trong biểu đồ tuần tự Nhưng ưu điểm của biểu đồ cộng tác là nó có thể chỉ ra các chi tiết về các lệnh gọi hàm (thủ tục), yếu tố được né tránh trong biểu đồ tuần tự

1.6 Biểu đồ hoạt động (Activity Diagram)

Biểu đồ hoạt động nắm bắt hành động và các kết quả của chúng Biểu đồ hoạt động tập trung vào công việc được thực hiện trong khi thực thi một thủ tục (hàm), các hoạt động trong một lần thực thi một trường hợp sử dụng hoặc trong một đối tượng Biểu đồ hoạt động là một biến thể của biểu đồ trạng thái và có một mục tiêu tương đối khác, đó là nắm bắt hành động (công việc và những hoạt động phải được thực hiện) cũng như kết quả của chúng theo sự biến đổi trạng thái Các trạng thái trong biểu đồ hoạt động (được gọi là các trạng thái hành động) sẽ chuyển sang giai đoạn kế tiếp khi hành động trong trạng thái này đã được thực hiện xong (mà không xác định bất kỳ một sự kiện nào theo như nội dung của biểu đồ trạng thái)

1.7 Biểu đồ thành phần (Component Diagram)

Biểu đồ thành phần (Component Diagram) là biểu đồ mô tả các thành phần và sự phụ thuộc của chúng trong hệ thống Các thành phần của hệ thống có thể là Thành phần mã nguồn, có ý nghĩa vào thời điểm dịch chương trình Thông thường nó là tập các chương trình cài đặt các lớp Trước khi phát sinh mã chương trình, phải thực hiện ánh xạ từng tệp vào thành phần tương ứng Thành phần thực thi là tệp chương trình có thể thực thi được (các tệp exe) Nó là kết quả của chương trình liên kết các thành phần nhị phân

Với biểu đồ thành phần, người phát triển hệ thống thực hiện dịch, triển khai hệ thống sẽ biết thư viện mã trình nào tồn tại và những tệp có thể thực thi (.exe) khi dịch và liên kết thành công

1.8 Biểu đồ triển khai (Deployment Diagram)

Biểu đồ triển khai (chỉ ra cấu hình các phần tử xử lý lúc chương trình chạy, các nút trên mạng và các tiến trình phần mềm thực hiện trên những phần tử đó Nó chỉ ra mối quan hệ giữa các phần cứng và phần mềm của hệ thống Biểu đồ triển khai chỉ ra toàn bộ các nút trên mạng, kết nối giữa chúng và các tiến trình chạy trên chúng

Trang 12

2 THIẾT KẾ CƠ SỞ DỮ LIỆU CHO HỆ THỐNG 2.1 Sơ đồ ERD của hệ thống

Hình 1 Sơ đồ ERD của hệ thống

2.2 Các bảng thuộc tính của hệ thống

Bảng 1 Role - Vai trò của người dùng, để phân quyền người dùng

createdAt timestamp CURRENT_TIMESTAMP Thời gian được tạo updatedAt timestamp CURRENT_TIMESTAMP Thời gian cập nhật

Trang 13

Bảng 2 User - Người dùng có tài khoản trong hệ thống

diện của người dùng

createdAt timestamp CURRENT_TIMESTAMP Thời gian được tạo updatedAt timestamp CURRENT_TIMESTAMP Thời gian cập nhật

Trang 14

color

phẩm

stockQuantity int(UNSIGNED) NOT_NULL Số lượng tồn createdAt timestamp CURRENT_TIMESTAMP Thời gian được

tạo

updatedAt timestamp CURRENT_TIMESTAMP Thời gian cập nhật lần cuối

Trang 15

Bảng 4 Payment - Lưu trữ thông tin giao dịch trên hệ thống paid_amount_currency varchar(10) NOT_NULL Đơn vị tiền tệ payment_source varchar(50) NULL

Trang 16

Bảng 5 OTP - Mã OTP xác thực người dùng

code

createdAt timestamp CURRENT_TIMESTAMP Thời gian được tạo

Bảng 6 OrderStatus - Trạng thái đơn hàng

Bảng 7 OrderDetail - Chi tiết đơn hàng, chứa thông tin về từng sản phẩm đặt hàng

createdAt timestamp CURRENT_TIMESTAMP Thời gian được tạo

updatedAt timestamp CURRENT_TIMESTAMP Thời gian cập nhật lần cuối

Trang 17

Bảng 8 Order - Đơn hàng

orderStatusId tinyint FK

phoneNumber

varchar(11) NULL

Số điện thoại người nhận hàng

createdAt timestamp CURRENT_TIMESTAMP Thời gian được tạo updatedAt timestamp CURRENT_TIMESTAMP Thời gian cập nhật

lần cuối

Bảng 9 Oauth - Open Authentication

createdAt timestamp CURRENT_TIMESTAMP Thời gian được tạo updatedAt timestamp CURRENT_TIMESTAMP Thời gian cập nhật

lần cuối

Bảng 10 Category - Danh mục sản phẩm

Trang 18

Bảng 11 CartDetail: Thông tin về sản phẩm có trong giỏ hàng

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

mua trong giỏ hàng createdAt timestamp CURRENT_TIMESTAMP Thời gian được tạo updatedAt timestamp CURRENT_TIMESTAMP Thời gian cập nhật lần

cuối

Bảng 12 Cart: Giỏ hàng của khách hàng

createdAt timestamp CURRENT_TIMESTAMP Thời gian được tạo updatedAt timestamp CURRENT_TIMESTAMP Thời gian cập nhật lần

cuối

Trang 19

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

– Hệ thống sẽ hiển thị danh sách các mặt hàng, các mặt hàng mà người dùng tìm kiếm và thông tin của các mặt hàng đó

– Khách hàng có thể thêm sản phẩm vào giỏ hàng và thanh toán từ giỏ hàng hoặc trực tiếp từ trang hiển thị sản phẩm

– Sau khi khách hàng đặt hàng sẽ hệ thống sẽ hiển thị các đơn hàng đã đặt như thông tin mặt hàng, số lượng hàng, tổng tiền, địa chỉ nhận hàng, số điện thoại – Khách hàng thanh toán online trực tiếp từ trang web với dịch vụ thanh toán Paypal

hoặc sử dụng credit card hoặc debit card

– Hệ thống cho phép người dùng thay đổi thông tin của mình như mật khẩu, ảnh đại diện, địa chỉ

Quản trị: Người quản trị có tài khoản riêng để kiểm soát các hoạt động của ứng dụng

Phần này đáp ứng các chức năng chính như: – Quản lý sản phẩm

– Quản lý loại sản phẩm

– Tiếp nhận đơn hàng của khách hàng và xử lý đơn hàng – Quản lý thông tin khách hàng

– Quản lý doanh thu

1.2 Yêu cầu phi chức năng

– Tốc độ tải trang nhanh chóng và cho phép số lượng người dùng truy cập đồng thời lớn

– Khả năng mở rộng, tính an toàn bảo mật thông tin – dữ liệu của khách hàng

– Khả năng tương thích hiệu quả trên đa dạng thiết bị, nền tảng và trình duyệt khác nhau

– Đảm bảo trải nghiệm của người dùng thuận tiện và dễ dàng

Trang 20

2 BIỂU ĐỒ USE CASE & ĐẶC TẢ (USE CASE DIAGRAM) 2.1 BIỂU ĐỒ USE CASE

2.1.1 Use Case tổng quát

Hình 2 Biểu đồ Use Case tổng quát

2.1.2 Use Case đăng ký tài khoản

Hình 3 Biểu đồ Use Case đăng ký tài khoản

Trang 21

2.1.3 Use Case đăng nhập

Hình 4 Biểu đồ Use Case đăng nhập

2.1.4 Use Case thanh toán

Hình 5.Biểu đồ Use Case thanh toán

Trang 22

2.1.5 Use Case quản lý doanh thu

Hình 6 Biểu đồ Use Case quản lý doanh thu

Trang 23

2.2 MÔ TẢ ACTORS & USE CASE

2.2.1 Mô tả Actors

1 Admin Toàn quyền trong hệ thống

2 Customer Các quyền cơ bản của người mua hàng

Bảng 13 Mô tả các Actors

2.2.2 Mô tả Use Case

1 UC01 Register Cho phép actor đăng ký vào hệ thống 2 UC02 Login Cho phép actor đăng nhập vào hệ thống 3 UC03 Forgot password Cho phép actor reset password

4 UC04 Search products Cho phép actor tìm kiếm sản phẩm 5 UC05 View products Cho phép actor xem chi tiết sản phẩm 6 UC06 Manage account Cho phép actor quản lý tài khoản

7 UC07 Manage cart Cho phép actor quản lý sản phẩm trong giỏ hàng 8 UC08 Place order Cho phép actor đặt hàng và thanh toán

9 UC09 Manage product Cho phép actor quản lý sản phẩm bán ra 10 UC10 Manage category Cho phép actor quản lý danh mục sản phẩm 11 UC11 Manage user Cho phép actor quản lý người dùng

12 UC12 Manage order Cho phép actor quản lý đơn hàng 13 UC13 Manage revenue Cho phép actor quản lý doanh thu 14 UC14 Manage invoice Cho phép actor quản lý hóa đơn

Bảng 14 Mô tả các Use Case

Trang 24

2.3 ĐẶC TẢ USE CASE

2.3.1 UC01: Register

ứng dụng

Basic Flow

1 Người dùng truy cập vào trang web thương mại 2 Người dùng chọn đăng ký tài khoản

3 Hệ thống xác thực thông tin đăng ký (gửi OTP) thành công và cho phép người dùng truy cập vào ứng dụng

4 Hệ thống ghi nhận hoạt động đăng ký thành công và Activity Logs

Alternative Flow

2a Người dùng chọn phương thức đăng ký với Google

3a Hệ thống chuyển sang màn hình đăng nhập tài khoản Google 3a1 Người dùng nhập tài khoản Google và tiến hành ủy quyền cho web thương mại

3a2 Google xác thực thông tin, cho phép người dùng truy cập ứng dụng

Use Case tiếp tục bước 4

Use Case dừng lại

đăng ký của email đăng ký tài khoản 15 phút

Bảng 15 Đặc tả Use Case UC01 – Đăng ký

Trang 25

2.3.2 UC02: Login

vụ của ứng dụng

Basic Flow

1 Người dùng truy cập ứng dụng web

2 Người dùng chọn phương thức đăng nhập bằng tài khoản đã đăng ký của trang thương mại

3 Người dùng nhập tài khoản đó và chọn lệnh đăng nhập 4 Hệ thống xác thực thông tin đăng nhập thành công và cho phép

2a1 Hệ thống chuyển sang màn hình đăng nhập của Google 3a Người dùng nhập tài khoản Google và chọn lệnh đăng nhập 4a Google xác thực thông tin đăng nhập thành công và cho phép người dùng truy cập ứng dụng

Use Case tiếp tục bước 5

Exception Flow

4c Hệ thống xác thực thông tin đăng nhập không thành công và hiển thị thông báo

4c1 Người dùng chọn lệnh hủy đăng nhập

Use Case dừng lại

4c2 Người dùng chọn lệnh lấy lại mật khẩu

Use Case tiếp tục Use Case UC03

năng đăng nhập 15 phút

Bảng 16 Đặc tả Use Case UC02 - Login

Trang 26

2.3.3 UC03: Forgot Password

Post-Condition(s): Người dùng thay đổi mật khẩu thành công

Basic Flow

1 Người dùng truy cập ứng dụng web

2 Người dùng chọn phương thức đăng nhập bằng tài khoản đã đăng ký của trang thương mại

3 Người dùng chọn quên mật khẩu

4 Hệ thống chuyển đến trang khôi phục mật khẩu, người dùng nhập địa chỉ email để lấy mã khôi phục

5 Hệ thống kiểm tra tính hợp lệ của mã OTP và cho phép người dùng cập nhật mật khẩu mới

6 Cập nhật mật khẩu thành công, người dùng trở lại trang đăng nhập

5c1 Cho phép gửi lại mã OTP

Use Case tiếp tục bước 5

gửi OTP

Bảng 17 Đặc tả Use Case UC03 – Đặt lại mật khẩu

Trang 27

2.3.4 UC04: Search products

Post-Condition(s): Hiển thị danh sách sản phẩm

Basic Flow

1 Người dùng truy cập ứng dụng web 2 Người dùng nhập ký tự cần tìm kiếm 2 Hệ thống hiển thị sản phẩm cần tìm kiếm

Bảng 18 Đặc tả Use Case UC04 – Tìm kiếm sản phẩm

2.3.5 UC05: View products

Post-Condition(s): Hiển thị danh sách sản phẩm

2 Hệ thống hiển thị sản phẩm

Bảng 19 Đặc tả Use Case UC05 – Xem sản phẩm

Trang 28

2.3.6 UC06: Manage account

– Đăng nhập tài khoản thành công

Post-Condition(s): Người dùng xem, sửa đổi thông tin cá nhân thành công

Basic Flow

1 Người dùng đăng nhập vào hệ thống

2 Người dùng truy cập vào trang quản lý tài khoản 3 Người dùng xem, chỉnh sửa thông tin cá nhân

Bảng 20 Đặc tả Use Case UC06 – Quản lý tài khoản

2.3.7 UC07: Manage cart

– Đăng nhập tài khoản thành công

Post-Condition(s): Người dùng xem, sửa đổi thông tin cá nhân thành công

Basic Flow

1 Người dùng đăng nhập vào hệ thống 2 Người dùng truy cập vào giỏ hàng

3 Người dùng xem, thêm, xóa, sửa sản phẩm trong giỏ hàng

Bảng 21 Đặc tả Use Case UC07 – Quản lý sản phẩm trong giỏ hàng

Trang 29

2.3.8 UC08: Place order

– Đăng nhập tài khoản thành công

Post-Condition(s): Người dùng đặt hàng thành công, hệ thống ghi nhận đơn hàng

Basic Flow

1 Người dùng chọn sản phẩm, click chọn mua hàng 2 Người dùng nhập thông tin mua hàng

3 Hệ thống xác thực thông tin, tạo đơn hàng 4 Người dùng chọn phương thức thanh toán 5 Người dùng đăng nhập tài khoản thanh toán

6 Thực hiện thanh toán với khoảng tiền của đơn hàng

Exception Flow

5a Hệ thống xác thực thông tin đăng nhập thanh toán không thành công và hiển thị thông báo

5a1 Người dùng chọn lệnh hủy đăng nhập

Use Case dừng lại

Bảng 22 Đặc tả Use Case UC08 – Đặt hàng

Trang 30

2.3.9 UC09: Manage product

Pre-Condition(s): Đăng nhập bằng tài khoản quản trị viên

Basic Flow

1 Quản trị viên nhấn nút để hiển thị form 2 Quản trị viên nhập thông tin sản phẩm 3 Hệ thống xác thực thông tin sản phẩm 4 Sản phẩm được thêm, xóa, sửa thành công

3a1 Hiển thị thông điệp để quản trị viên biết

Use Case dừng lại

Bảng 23 Đặc tả Use Case UC09 – Quản lý sản phẩm

Trang 31

2.3.10 UC10: Manage category

Pre-Condition(s): Đăng nhập bằng tài khoản quản trị viên

Post-Condition(s): Thêm, xóa, sửa danh mục thành công

Basic Flow

1 Quản trị viên nhấn nút để hiển thị form 2 Quản trị viên nhập thông tin danh mục 3 Hệ thống xác thực thông tin danh mục 4 Danh mục được thêm, xóa, sửa thành công

3a1 Hiển thị thông điệp để quản trị viên biết

Use Case dừng lại

Bảng 24 Đặc tả Use Case UC10 – Quản lý danh mục sản phẩm

Trang 32

2.3.11 UC11: Manage user

trong hệ thống

Pre-Condition(s): Đăng nhập bằng tài khoản quản trị viên

Post-Condition(s): Thêm, xóa, sửa, chặn người dùng thành công

Basic Flow

1 Quản trị viên nhấn nút để hiển thị form

2 Quản trị viên nhập thông tin người dùng, hoặc thực hiện nhấn nút chặn, xóa người dùng

3 Hệ thống xác thực thông tin người dùng

4 Người dùng được thêm, xóa, sửa, chặn thành công

Exception Flow 3a Hệ thống xác thực thông tin người dùng thất bại 3a1 Hiển thị thông điệp để quản trị viên biết

Use Case dừng lại

Bảng 25 Đặc tả Use Case UC11 – Quản lý người sử dụng

Trang 33

2.3.12 UC12: Manage order

tiết đơn hàng

Pre-Condition(s): Đăng nhập bằng tài khoản quản trị viên

Post-Condition(s): Duyệt, hủy, xem chi tiết đơn hàng thành công

Basic Flow

1 Quản trị viên nhấn duyệt, hủy, xem chi tiết đơn hàng 2 Quản trị viên xác nhận duyệt, hủy, xem chi tiết đơn hàng 3 Quản trị viên duyệt, hủy, xem chi tiết đơn hàng thành công

Exception Flow 3a Hệ thống duyệt, hủy, xem chi tiết đơn hàng thất bại 3a1 Hiển thị thông điệp để quản trị viên biết

Use Case dừng lại

Bảng 26 Đặc tả Use Case UC12 – Quản lý đơn hàng

2.3.13 UC13: Manage revenue

thời gian, và theo loại sản phẩm

Pre-Condition(s): Đăng nhập bằng tài khoản quản trị viên

Bảng 27 Đặc tả Use Case UC13 – Quản lý doanh số

Trang 34

2.3.14 UC14: Manage invoice

đơn theo đơn hàng, hóa đơn theo khách hàng

Pre-Condition(s): Đăng nhập bằng tài khoản quản trị viên

Bảng 28 Đặc tả Use Case UC14 – Quản lý hóa đơn

Trang 35

3 BIỂU ĐỒ LỚP (CLASS DIAGRAM) 3.1 BIỂU ĐỒ CLASS TỔNG QUÁT

Hình 7 Biểu đồ class tổng quát

Trang 36

3.2 PHÂN TÍCH

3.2.1 Product class

Product class biểu diễn các thuộc tính và operations Product class chứa các thông tin liên quan đến sản phẩm cần bán, thí dụ name, categoryId, description và các thông số kỹ thuật khác

Hình 8 Biểu đồ class Product

3.2.2 OTP class

OTP class biểu diễn các thuộc tính và operations OTP class sử dụng cho việc quản lý việc tạo và lưu trữ cũng như xác minh mã OTP, đảm bảo rằng thông tin user là hợp lệ OTP class chứa các thuộc tính và phương thức như sau:

Hình 9 Biểu đồ class OTP

Trang 37

3.2.3 User class

User class biểu diễn các thuộc tính và operations User class chứa các thông tin quan trọng liên quan đến khách hàng như email, password, phone, ngoài ra còn có roleId để phân quyền giữa admin và user

Các property như active đại diện cho user đó có bị khóa hay không, verified cho biết user đó đã xác minh tài khoản qua OTP hay chưa

User class chứa các thuộc tính và phương thức như sau:

Hình 10 Biểu đồ class User

3.2.4 Order class

Order class biểu diễn các thuộc tính và operations Order class chứa các thông tin liên quan đến đơn hàng cần đặt, bao gồm: mã đơn hàng – orderId, mã sản phẩm – productId, số lượng của sản phẩm – quantity, giá sản phẩm – price

Order class chứa các thuộc tính và phương thức như sau:

Trang 38

Hình 11 Biểu đồ class Order

3.2.5 Oauth class

Oauth class được sử dụng để lưu mã authentication của nhà cung cấp dịch vụ

Ví dụ: sử dụng google authentication cho tài khoản example@gmail.com, google service sẽ trả về một mã oauth_uid duy nhất cho một tài khoản google

Hàm register() có chức năng lưu trữ thông tin của oauth table về userId, oauth_id và oauth_provider

Hàm getOauth() lấy một record trong CSDL, có thể sử dụng để xác định user đó có sử dụng Oauth hay không

Hình 12 Biểu đồ class Oauth

Trang 39

Cart class chứa các thông tin liên quan đến giỏ hàng của user, một user sẽ có thể có một hoặc nhiều cart product, nhưng chỉ có duy nhất một cart duy nhất, chứa toàn bộ cart product bên trong

Hình 14 Biểu đồ class Cart

Trang 40

3.2.8 PayPal class

Paypal class chứa các thông số cấu hình sử dụng dịch vụ thanh toán, bao gồm: paypalAuthAPI – lấy access token, paypalAPI, paypalClientID, paypalSecret

Hàm validate() sẽ get access token từ paypal server, sử dụng paypalAPI để lấy thông tin thanh toán dựa trên orderId được trả về từ Paypal Server sau call api POST/v2/checkout/orders

Hình 15 Biểu đồ PayPal class

3.2.9 Payment class

Payment class chứa các thông tin về thanh toán được Paypal Payment trả về sau khi thanh toán thành công, chứa các thông tin quan trọng như order_id, invoice_id, transaction_id – có thể dùng để tra soát giao dịch và hoàn tiền cho khách hàng, paid_amount – khoảng tiền đã thanh toán, paid_amount_currency – đơn vị tiền tệ thanh toán, payment_source – nhà cung cấp dịch vụ thanh toán, payment_status: trạng thái thanh toán Phương thức getPayment(), lấy ra thông tin thanh toán của đơn hàng

Phương thức createPayment(), tạo một thanh toán mới cho đơn hàng

Hình 16 Biểu đồ class Payment

Ngày đăng: 06/04/2024, 08:35

Tài liệu cùng người dùng

Tài liệu liên quan