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

đồ án môn học xây dựng website bán hàng tích hợp chống tấn công sql injection

56 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

Nội dung

Ưu, nhược điểm của JavaScriptƯu điểm của JavaScript:- Dễ hiểu, dễ học hơn so với các ngôn ngữ lập trình khác- Dễ dàng phát hiện và khắc phục, sửa chữa lỗi- Hoạt động được trên nhiều nền

Trang 1

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

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN MÔN HỌC

THỰC TẬP CƠ SỞĐề tài:

XÂY DỰNG WEBSITE BÁN HÀNG TÍCH HỢPCHỐNG TẤN CÔNG SQL INJECTION

Sinh viên thực hiện: Nguyễn Tuấn Sơn – CT040239Nguyễn Đức Tuấn Anh – CT040203Phạm Huy Hiếu – CT040220

(Nhóm 44)

Giảng viên hướng dẫn: ThS LÊ THỊ HỒNG VÂN

Hà Nội, 11-2022

Trang 2

MỤC LỤC

DANH SÁCH BẢNG BIỂU 5

DANH MỤC HÌNH ẢNH 6

LỜI MỞ ĐẦU 8

CHƯƠNG 1 GIỚI THIỆU CHUNG VÀ KHẢO SÁT HỆ THỐNG 9

1.1.Giới thiệu chung về các ngôn ngữ 9

1.1.1 Tổng quan về HTML 9

1.1.2 Tổng quan về CSS 10

1.1.3 Tìm hiểu về ngôn ngữ Javascript 11

1.1.4 Cơ sở dữ liệu MYSQL 14

1.2.Tổng quát bài toán 16

1.2.1 Đặt vấn đề 16

1.2.2 Mô tả hoạt động của cửa hàng 16

1.2.3 Yêu cầu của hệ thống bán hàng qua mạng 17

CHƯƠNG 2 XÂY DỰNG HỆ THỐNG 19

2.1.Xác định các tác nhân 19

2.2.Biểu đồ Use Case tổng quát 20

Biểu đồ Use Case tổng quát 20

2.3.Đặc tả Use case 20

Đặc tả use case Tìm kiếm thông tin sản phẩm 20

Đặc tả use case Xem thông tin sản phẩm 21

Đặc tả use case Xem giỏ hàng 21

Đặc tả use case Thêm sản phẩm vào giỏ hàng 22

Đặc tả use case Đăng ký thành viên 22

Đặc tả use case Đặt hàng 23

Đặc tả use case Đăng nhập 23

Đặc tả use case Đăng xuất 24

Đặc tả use case Đổi mật khẩu 24

Đặc tả use case Thêm sản phẩm 25

Đặc tả use case Sửa thông tin sản phẩm 25

Đặc tả use case Xóa sản phẩm 26

Đặc tả use case Xóa thành viên 26

2.4.Biểu đồ hoạt động 27

Trang 3

Biểu đồ hoạt động Đăng nhập 27

Biểu đồ hoạt động Đăng xuất 27

Biểu đồ hoạt động Đăng ký thành viên 28

Biểu đồ hoạt động Xem thông tin sản phẩm 28

Biểu đồ hoạt động Thêm sản phẩm vào giỏ hàng 29

Biểu đồ hoạt động Đặt hàng 29

Biểu đồ hoạt động Đổi mật khẩu 30

Biểu đồ hoạt động Thêm sản phẩm 31

Biểu đồ hoạt động Sửa thông tin sản phẩm 31

Biểu đồ hoạt động Xoá sản phẩm 32

Biểu đồ hoạt động xoá thành viên 32

2.5.Biểu đồ tuần tự 33

Biểu đồ tuần tự chức năng Đăng ký 33

Biểu đồ tuần tự chức năng Đăng nhập 33

Biểu đồ tuần tự chức năng Đổi mật khẩu 34

Biểu đồ tuần tự chức năng Tìm kiếm sản phẩm 34

Biểu đồ tuần tự chức năng Thêm mới sản phẩm 35

Biểu đồ tuần tự chức năng Sửa thông tin sản phẩm 35

Biểu đồ tuần tự chức năng Xóa sản phẩm 36

2.7.Lược đồ chi tiết giữa các bảng 40

CHƯƠNG 3.TRIỂN KHAI GIẢI PHÁP CHỐNG SQL INJECTION TRÊN WEBSITE413.1.Tổng quan về SQL INJECTION 41

3.1.1 Tổng quan SQL Injection 41

3.1.2 Tác hại của SQL Injection 41

3.2.Cách tấn công và phòng tránh SQL Injection 42

Trang 4

4.2.Đăng nhập, đăng ký tài khoản người dùng 48

4.2.1 Giao diện form đăng nhập 48

4.2.2 Giao diện form đăng ký 48

Trang 5

DANH SÁCH BẢNG BIỂU

Bảng 1.1 So sánh Java và JavaScript 13

Bảng 1.2 Phân biệt giữa các ngôn ngữ 13

Bảng 2.1 Đặc tả usecase Tìm kiếm thông tin sản phẩm 21

Bảng 2.2 Đặc tả use case Xem thông tin sản phẩm 21

Bảng 2.3 Đặc tả use case Xem giỏ hàng 22

Bảng 2.4 Đặc tả use case Thêm sản phẩm vào giỏ hàng 22

Bảng 2.5 Đặc tả usecase Đăng ký thành viên 23

Bảng 2.6 Đặc tả use case Đặt hàng 23

Bảng 2.7 Đặc tả use case Đăng nhập 24

Bảng 2.8 Đặc tả use case Đăng xuất 24

Bảng 2.9 Đặc tả use case Đổi mật khẩu 25

Bảng 2.10 Đặc tả use case Thêm sản phẩm 25

Bảng 2.11 Đặc tả use case Sửa thông tin sản phẩm 26

Bảng 2.12 Đặc tả use case Xoá sản phẩm 26

Bảng 2.13 Đặc tả use case Xoá thành viên 27

Trang 6

DANH MỤC HÌNH ẢNH

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

Hình 2.2 Biểu đồ hoạt động Đăng nhập 27

Hình 2.3 Biểu đồ hoạt động Đăng xuất 28

Hình 2.4 Biểu đồ hoạt động Đăng ký thành viên 28

Hình 2.5 Biểu đồ hoạt động Xem thông tin sản phẩm 29

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

Hình 2.7 Biểu đồ hoạt động Đặt hàng 30

Hình 2.8 Biểu đồ hoạt động Đổi mật khẩu 30

Hình 2.9 Biểu đồ hoạt động Thêm sản phẩm 31

Hình 2.10 Biểu đồ hoạt động Sửa thông tin sản phẩm 31

Hình 2.11 Biểu đồ hoạt động Xoá sản phẩm 32

Hình 2.12 Biểu đồ hoạt động xoá thành viên 32

Hình 2.13 Biểu đồ tuần tự chức năng Đăng ký 33

Hình 2.14 Biểu đồ tuần tự chức năng Đăng nhập 33

Hình 2.15 Biểu đồ tuần tự chức năng Đổi mật khẩu 34

Hình 2.16 Biểu đồ tuần tự chức năng Tìm kiếm sản hẩm 34

Hình 2.17 Biểu đồ tuần tự chức năng Thêm mới sản phẩm 35

Hình 2.18 Biểu đồ tuần tự chức năng Sửa thông tin sản phẩm 35

Hình 2.19 Biểu đồ tuần tự chức năng Xoá sản phẩm 36

Hình 2.20 Lược đồ chi tiết giữa các bảng 40

Hình 3.1 Top 10 lỗ hổng phổ biến nhất theo OWASP (theo % ứng dụng web) năm 2019 42

Hình 3.2 SQL Injection vượt qua đăng nhập 43

Hình 4.1 Giao diện trang chủ 47

Trang 7

Hình 4.2 Giao diện form đăng nhập 48

Hình 4.3 Giao diện form đăng ký 48

Hình 4.4 Giao diện giỏ hàng 49

Hình 4.5 Giao diện trang chi tiết sản phẩm 49

Hình 4.6 Giao diện form đăng nhập admin 50

Hình 4.7 Giao diện trang quản lý sản phẩm 50

Hình 4.8 Giao diện trang quản lý đơn hàng 51

Hình 4.9 Giao diện trang quản lý khách hàng 51

Hình 4.10 Giao diện trang thống kê sản phẩm bán ra 52

Trang 8

LỜI MỞ ĐẦU

Với sự phát triển nhảy vọt của công nghệ thông tin, Internet ngày càng giữ vai

trò quan trọng trong các lĩnh vực khoa học kỹ thuật và đời sống, kéo theo đó, việc kinhdoanh và bán hàng online chưa bao giờ diễn ra sôi nổi và mạnh mẽ như hiện nay Khi mà rất nhiều người trên thế giới đều sử dụng Internet và xem đây là nơi lý tưởng để tìm kiếm thông tin, mua sắm hàng hóa, dịch vụ thì Website được xem là chiến lược mang lại hiệu quả cao bên cạnh các trang mạng xã hội Các Website phục vụ từ việc trưng bày, cung cấp thông tin, giới thiệu hàng hóa, cung ứng dịch vụ, thanh toán cũng như dịch vụ sau khi bán hàng Việc trao đổi thông tin thương mại đều được thực hiện trên các phương tiện công nghệ điện tử mà không phải in ra giấy trong bất cứ quá trìnhgiao dịch nào Việc sử dụng Website kinh doanh mang lại rất nhiều lợi ích như tăng doanh thu, tiết kiệm chi phí, giúp quảng bá thương hiệu, tăng khả năng cạnh tranh,

Bên cạnh sự phát triển của hình thức thương mại trực tuyến, có rất nhiều kẻ xấumuốn lợi dụng các lỗ hổng vì các mục đích xấu Đặc biệt là trong thời gian qua xảy ra rất nhiều vụ việc tấn công, đánh cắp dữ liệu, gây nhiều ảnh hưởng xấu đến cả nhà cungcấp và khách hàng Các nhóm tội phạm sử dụng nhiều hình thức tấn công như DDoS, DoS, CSRF, và đặc biệt là SQL Injection, gây ra nhiều thiệt hại cho nền kinh tế.

Hiểu được các vấn đề đó cũng như mong muốn đưa thương mại điện tử đến với

nhiều người hơn chúng em thực hiện đề tài: Xây dựng website bán hàng tích hợp chống tấn công SQL Injection Với mục đích xây dựng một hệ thống bán hàng qua

mạng uy tín, đơn giản, thân thiện, cũng như đem lại cho khách hàng những lựa chọn tối ưu để ngay cả những người không có kiến thức về tin học cũng có thể tham gia mua hàng qua mạng chỉ với một số thao tác đơn giản.

Do còn nhiều hạn chế về kiến thức, thời gian nên chúng em chỉ giới hạn phạm vi đề tài ở việc phát triển website, nghiên cứu về cách tấn công và phòng thủ SQL Injection

Chúng em xin chân thành cảm ơn cô ThS Lê Thị Hồng Vân đã giúp đỡ chúng em thực hiện đề tài này!

Trang 9

CHƯƠNG 1.GIỚI THIỆU CHUNG VÀKHẢO SÁT HỆ THỐNG

1.1.Giới thiệu chung về các ngôn ngữ

1.1.1 Tổng quan về HTMLKhái niệm HTML

HTML là viết tắc của cụm từ HyperText Markup Language, tạm dịch là ngôn ngữ đánh dấu siêu văn bản Phiên bản đầu tiên được ra đời vào năm 1991 Một tập tin HTML chẳng qua là một tập tin bình thường, có đuôi html hoặc htm Trải qua nhiều phiên bản đến 2014 đã được nâng cấp lên thành HTML với nhiều thẻ mới được bổ sung

HTML đóng vai trò tạo dựng nên bộ khung xương cho trang web Khi viết các trình duyệt như Chrome, Firefox, Opera sẽ hiểu được và hiển thị để cho người dùng dễdàng nhìn thấy hơn Tuy nhiên cần có sự góp mặt của ngôn ngữ CSS, sẽ định dạng hiển thị trở nên đẹp mắt hơn.

Cấu trúc chung của một trang HTML

<title> Tiêu đề của trang Web </title></head>

1 Thẻ <head> </head>: Tạo đầu mục trang

2 Thẻ <title> </title>: Tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt buộc

Thẻ title cho phép bạn trình bày chuỗi trên thanh tựa đề của trang Web mỗi khi trang Web đó được duyệt trên trình duyệt Web.

3 Thẻ <body> </body>: Tất cả các thông tin khai báo trong thẻ <body> đều có

thể xuất hiện trên trang Web Những thông tin này có thể nhìn thấy trên trang Web.

4 Thẻ hình ảnh <img>: Cho phép bạn chèn hình ảnh vào trang Web Thẻ này

thuộc loại thẻ không có thẻ đóng.

5 Thẻ liên kết <a> </a>: Là loại thẻ dùng để liên kết giữa các trang Web hoặc

liên kết đến địa chỉ Internet, Mail hay Intranet(URL) và địa chỉ trong tập tin trong mạng cục bộ (UNC).

Trang 10

1.1.2 Tổng quan về CSSKhái niệm CSS

CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML) Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc…

CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, vì HTML không được thiết kế để gắn tag để giúp định dạng trang web.

Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn có thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó là nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó.

Mối tương quan giữa HTML và CSS rất mật thiết HTML là ngôn ngữ markup (nền tảng của site) và CSS định hình phong cách (tất cả những gì tạo nên giao diện website), chúng là không thể tách rời.

Border: Là đường liền nằm ngay bên ngoài phần đệm.

Margin: Là khoảng cách xung quanh bên ngoài của phần tử.

vùng chọn { thuộc tính : giá trị; thuộc tính: giá trị; }

CSS sẽ được khai báo bằng vùng chọn, sau đó các thuộc tính và giá trị sẽ nằm bên trong cặp dấu ngoặc nhọn {} Mỗi thuộc tính sẽ luôn có một giá trị riêng, giá trị cóthể là dạng số, hoặc các tên giá trị trong danh sách có sẵn của CSS Phần giá trị và thuộc tính phải được cách nhau bằng dấu hai chấm, và mỗi một dòng khai báo thuộc tính sẽ luôn có dấu chấm phẩy ở cuối Một vùng chọn có thể sử dụng không giới hạn thuộc tính.

Trang 11

Cách nhúng CSS vào website

Để CSS có thể thực thi trên website hoặc HTML Documents thì phải tiến hành nhúng CSS vào website Nếu không, các định dạng CSS sẽ không thực thi trên HTML.Có 3 cách nhúng CSS vào website:

● Inline CSS – Nhúng trực tiếp vào tài liệu HTML thông qua cặp thẻ <style> </style>.

● Internal CSS – dùng thẻ <style> bên trong thẻ <head> của HTML để tạo ra nơi viết mã CSS.

● External CSS – Tạo một tập tin css riêng và nhúng vào tài liệu HTML thôngqua cặp thẻ <link>.

Inline CSS

Đặt thuộc tính style vào thẻ mở của phần tử HTML, giá trị của thuộc tính style là các cặp thuộc tính định dạng CSS Mã CSS chỉ tác động nên chính phần tử đó.

Internal CSS

Đặt các cặp thuộc tính định dạng CSS vào bên trong cặp thẻ <style

type=”text/css”> </style> Cặp thẻ <style type=”text/css”></style> thì được đặt bên trong cặp thẻ <head></head>

External CSS

Với External CSS: Ta đặt các thuộc tính định dạng vào bên trong tập tin CSS Đây là một tập tin hoàn toàn độc lập so với file (File này thường được đặt phần mở rộng là css) sau đó dùng thẻ link <link rel=”stylesheet” type=”text/css” href=”đường dẫn đến tập tin CSS”> đặt ở phần head (cặp thẻ <head></head> của các tập tin HTML) để có thể thực hiện nhúng tập tin CSS vào trang web.

1.1.3 Tìm hiểu về ngôn ngữ JavascriptKhái niệm Javascript

JavaScript là một trong số các ngôn ngữ lập trình chính trong thiết kế website bên cạnh HTML và CSS Chúng được tích hợp, nhúng vào HTML để tạo web động, tăng tính tương tác và phát triển những ứng dụng mạng chạy trên máy chủ/ client.

Một số thư viện, khung viết từ JavaScript:

- js: Ứng dụng thời gian thực- jQuery: Chuyên hiệu ứng

- ReactJS: Chuyên xây dựng ứng dụng di động- AngularJS: Chuyên viết ứng dụng cá nhân.

Trang 12

Ưu, nhược điểm của JavaScript

Ưu điểm của JavaScript:

- Dễ hiểu, dễ học hơn so với các ngôn ngữ lập trình khác- Dễ dàng phát hiện và khắc phục, sửa chữa lỗi- Hoạt động được trên nhiều nền tảng trình duyệt- Hỗ trợ web tương tác hiệu quả với người truy cập.

- Tiết kiệm lưu lượng tải dữ liệu cho máy chủ (server) do người dùng sẽ xác nhậninput (đầu vào) rồi mới gửi web đến máy chủ.

- Ngôn ngữ lập trình JavaScript cho phép tạo nhiều giao diện khác nhau.- Phản hồi tức thời đến người truy cập.

Nhược điểm của JavaScript:

- Chỉ chạy được trong trình duyệt web- Bị khai thác dễ dàng

- Không đồng nhất do mỗi thiết bị sẽ được triển khai khác nhau- Dễ bị sử dụng để thực thi mã độc trên máy người sử dụng.

Cách thức hoạt động và ứng dụng của Javascript

Cách thức JavaScript hoạt động: Ngôn ngữ JavaScript được nhúng trực tiếp

vào website hay được tham chiếu qua thư mục js riêng biệt, Script sau khi đượctải về máy sẽ được xử lý tại chỗ

Sự khác biệt giữa các ngôn ngữ lập trình với JavaScript

Java và JavaScript có phải là một?

Nhiều người thường lầm tưởng Java và JavaScript là một nhưng thực chất về mặtkỹ thuật, chúng lại không có mối liên hệ gì với nhau, hoàn toàn khác nhau về cách thức hoạt động cũng như ứng dụng.

Trang 13

- Cả hai đều dùng cú pháp C

- Được sử dụng nhiều trong ứng dụng phía máy người dùng.

- Là ngôn ngữ lập trình tĩnh- Hoạt động độc lập, dựa trên class (lớp) và trên nhiều nền tảng.

- Phải sử dụng bộ nhớ nhiều.- Chủ yếu sử dụng cho các ứng dụng bên máy chủ.

- Cần có máy ảo Java để chạy và phải biên dịch thành mã bytemới có thể sử dụng.

- Phù hợp với các ứng dụng chạy trên nền tảng di động.- Khó đọc, khó học, khó viết mã.

- Là ngôn ngữ lập trình động- Hoạt động phụ thuộc với HTML, CSS để tạo các nội dung động trên website.

- Sử dụng ít bộ nhớ hơn.- Chủ yếu sử dụng trong lập trìnhở phía khách hàng.

Ngôn ngữ đánhdấu, có vai tròchính trong việc

định dạng/ xâydựng bố cục

Hỗ trợ GGWebmaster trong

việc định nghĩacác loại nội dung

và tạo style choweb.

Dạng ngôn ngữserver (máy chủ),

được sử dụngtrong hệ thốngquản trị nội dung

nền PHP nhưWP.Bảng 1.2 Phân biệt giữa các ngôn ngữ

Trang 14

1.1.4 Cơ sở dữ liệu MYSQLGiới thiệu cơ sở dữ liệu

MySQL là một trong những ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay (theo www mysql com) và được sử dụng phối hợp với PHP Trước khi làm việc với MySQL cần xác định các nhu cầu cho ứng dụng

MySQL là cơ sở dữ có trình giao diện trên Windows hay Linux, cho phép người sử dụng có thể thao tác các hành động liên quan đến nó Việc tìm hiểu từng công nghệ trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích hợp hai công nghệ PHP và MySQL là một công việc cần thiết và rất quan trọng

Mục đích sử dụng

Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ (storage), truy cập (accessibility), tổ chức (organization) và xử lí (manipulation).

❖ Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ liệu này

sang cơ sở dữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể chọn cơ sở dữ liệu nhỏ như: Microsoft Exel, Microsoft Access, MySQL, Microsoft Visual FoxPro… Nếu ứng dụng có quy mô lớn, bạn có thể chọn cơ sở dữ liệu có quy mô lớn như: Oracle, SQL Server…

❖ Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người sử

dụng, ở mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong cơ sở dữ liệu với nhau, nhằm trao đổi hay xử lí dữ liệu ngay bên trong chính nó, nhưng do mục đích và yêu cầu người dùng vượt ra ngoài cơ sở dữ liệu, nên bạn cần có các phương thức truy cập dữ liệu giữa các cơ sở dử liệu với nhau như: Microsoft Access với SQL Server, hay SQL Server và cơ sở dữ liệu Oracle

❖ Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình cơ sở dữ liệu, phân tích

và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng ứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải tuân theomột số tiêu chuẩn của hệ thống cơ sở dữ liệu nnhằm tăng tính tối ưu khi truy cập và xử lí.

❖ Xử lí: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích

khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của cơ sở dữ liệu để xuất ra kết quả như yêu cầu Để thao tác hay xử lí dữ liệu bên trong chính cơ sở dữ liệu ta sử dụng các ngôn ngữ lập trình như: PHP, C++, Java, Visual Basic…

Trang 15

Các thao tác cập nhật dữ liệu

SELECT( Truy vấn mẫu tin): Select dùng để truy vấn từ một hay nhiều bảng

khác nhau, kết quả trả về là một tập mẫu tin thỏa mãn các điều kiện cho trước nếu có, cú pháp của phát biểu SQL dạng SELECT như sau:

SELECT<danh sách các cột>[FROM<danh sách bảng>][WHERE<các điều kiện ràng buộc>]

[GROUP BY<tên cột/biểu thức trong SELECT>][HAVING<điều kiện bắt buộc của GROUP BY>][ORDER BY<danh sách các cột>]

[LIMIT FromNumber |ToNumber]

❖ INSERT( Thêm mẫu tin):

Trang 16

Hiện nay với sự phát triển không ngừng của công nghệ thì nhu cầu của con ngườingày càng tăng Trên thị trường hiện nay một phương tiện thông tin đã trở nên quen thuộc với chúng ta đó là điện thoại Chỉ với một vài thao tác bạn đã có thể kết nối tới bạn bè, người thân của mình trên khắp đất nước Không những nó là một phương tiện liên lạc mà còn đóng góp quan trọng trong các công việc làm ăn của các doanh nhân Còn đối với giới trẻ thì điện thoại di động đã dần trở thành một thứ đồ trang sức.

Thegioididong.com là một trong những website đặc thù áp dụng công nghệ thông

tin vào hoạt động bán điện thoại qua mạng và sau này sẽ có xu hướng mở rộng.Và là một cửa hàng chuyên nhập điện thoại di động từ các công ty phân phối nổi tiếng như Nokia, Samsung, Motorola, Sony,… để bán lẻ lại cho người tiêu dùng Việc giao dịch với khách hàng chủ yếu diễn ra trên website.

Mục tiêu xây dựng trang web này nhằm giúp cho khách hàng có thể mua hàng trực tiếp từ xa thông qua mạng internet Khách hàng ở nhà hay tại cửa hàng vẫn có thể dễ dàng tham khảo thông tin sản phẩm mình tìm, so sánh giá cả các mặt hàng và lựa chọn cho mình loại sản phẩm phù hợp nhu cầu của mình, giúp công việc mua sắm một cách nhanh chóng, tiện lợi, tiết kiệm thời gian, đáp ứng được nhu cầu thực tế Hệ thống tìm kiếm dễ dàng, giao diện thân thiện Chỉ cần đăng nhập vào hệ thống với tài khoản đã có hay chỉ cần vài thao tác đăng ký đơn giản là khách hàng có thể tự do chọnmua và tạo đơn đặt hàng tại hệ thống.

1.1.2 Mô tả hoạt động của cửa hàng Ban điều hành

- Quản lý và phân phối hoạt động của cửa hàng.- Quyết định giá chính thức cho từng mặt hàng.

Trang 17

những thông tin về loại sản phẩm đó sẽ hiện lên theo tên hàng hóa, hình ảnh, giá bán và nhưng mô tả ngắn về loại thiết bị đó, bên cạnh là trang liên kết để thêm sản phẩm vào trong giỏ mua hàng.

- Giỏ hàng chứa các thông tin lẫn số lượng hàng hóa người dùng mua và có thể được cập nhật vào trong giỏ.

- Khi khách hành muốn đặt hàng thì hệ thống hiển thị trang xác lập đơn đặt hàng cùng với thông tin về khách hàng và hàng hóa.

Bộ phận quản trị

- Công việc của bộ phận này là thực hiện các nhiệm vụ quản trị mạng, quản lý thông tin của khách hàng, cập nhật thông tin của sản phẩm,… đảm bảo cơ sở dữliệu luôn được cập nhật nhanh chóng.

1.1.3 Yêu cầu của hệ thống bán hàng qua mạng

Nhu cầu người sử dụng

- Nhu cầu của khách hàng khi truy cập vào trang web là tìm kiếm các sản phẩm Do đó yêu cầu của chương trình là phải đáp ứng được những nhu cầu đó, sao cho khách hàng có thể tìm kiếm nhanh chóng và hiệu quả các loại sản phẩm màhọ muốn và cần mua.

- Chương trình phải có tính đa dạng và hấp dẫn nhằm thu hút sự quan tâm của nhiều người về công ty mình.

- Trang web phải dễ hiểu, giao diện phải dễ dùng, hấp dẫn và quan trọng là làm sao cho khách thấy những thông tin cần tìm cũng như thông tin liên quan.- Điều quan trọng trong mua bán qua mạng là phải đảm bảo an toàn tuyệt đối

những thông tin liên quan đến người dùng trong quá trình đặt mua hay thanh toán cũng được đảm bảo hàng được chuyển giao đúng nơi, đúng lúc.

Với người quản trị

Trang web đòi hỏi người quản trị phải thường xuyên theo dõi các thông tin về hàng hóa, xử lý đúng yêu cầu, đúng chức năng do mình nhập vào và thao tác dễ dàng với công việc quản lý dữ liệu:

- Được phép chỉnh sửa, xóa những thông tin sai, không phù hợp.

Trang 18

- Theo dõi quá trình mua bán.

- Theo dõi thông tin khách hàng nhập vào khi mua hàng, phải đảm bảo tính an toàn, bảo mật, chính xác.

- Theo dõi, xử lý các đơn đặt hàng và cập nhật các thông tin liên quan đến đơn đặt hàng của khách.

Trang 19

CHƯƠNG 2.XÂY DỰNG HỆ THỐNG2.1.Xác định các tác nhân

Administrator( Quản trị viên): là thành viên quản trị của hệ thống, có các

quyền và chức năng như: tạo các tài khoản, quản lý sản phẩm, quản trị người dùng,…

Customer ( Thành viên): là hệ thống thành viên có chức năng: đăng ký, đăng

nhập, tìm kiếm, xem, sửa thông tin cá nhân, xem giỏ hàng, đặt hàng,

Guess( Khách vãng lai): là Khách hàng chưa đăng ký, có chức năng: đăng ký,

tìm kiếm, xem thông tin sản phẩm, thêm sản phẩm vào giỏ hàng và xem giỏ hàng.

Trang 20

2.2.Biểu đồ Use Case tổng quát

Biểu đồ Use Case tổng quát

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

2.3.Đặc tả Use case

Đặc tả use case Tìm kiếm thông tin sản phẩm

Mô tả quá trình người dùng tìm kiếm sản phẩm

Ca sử dụng Tìm kiếm thông tin sản phẩm

Tác nhân Administrator hoặc Customer hoặc Guess

Trang 21

Mô tả Người dùng tìm kiếm sản phẩmĐiều kiện trước Người dùng đang ở trang chủ

Luồng sự kiện chính 1 Người dùng nhập hoặc lựa chọn thông tin tìm kiếm theo giá, hãng,

2 Hệ thống tìm kiếm trong CSDL và hiển thị sản phẩm trùng khớp với tiêu chí tìm kiếm

Bảng 2.3 Đặc tả usecase Tìm kiếm thông tin sản phẩm

Đặc tả use case Xem thông tin sản phẩm

Mô tả quá trình người dùng xem thông tin sản phẩm

Tác nhân Administrator hoặc Customer hoặc Guess

Điều kiện trước Sản phẩm đang được hiển thị

Luồng sự kiện chính 1 Người dùng click vào sản phẩm muốn xem2 Hệ thống lấy thông tin sản phẩm từ CSDL và

hiển thị chi tiết

Bảng 2.4 Đặc tả use case Xem thông tin sản phẩm

Đặc tả use case Xem giỏ hàng

Mô tả quá trình tương tác giữa người dùng và hệ thống để xem giỏ hàng

Điều kiện trước Biểu tượng giỏ hàng được hiển thị

Trang 22

Luồng sự kiện chính 1 Người dùng click vào giỏ hàng

2 Hệ thống lấy thông tin của giỏ hàng và hiển thị,bao gồm sản phẩm, số lượng, tổng số tiền,

Bảng 2.5 Đặc tả use case Xem giỏ hàng

Đặc tả use case Thêm sản phẩm vào giỏ hàng

Mô tả hoạt động để người dùng thêm sản phẩm vào giỏ hàng

Điều kiện trước Sản phẩm đang hiển thị

Luồng sự kiện chính 1 Người dùng click vào giỏ hàng

2 Hệ thống lấy thông tin của giỏ hàng và hiển thị,bao gồm sản phẩm, số lượng, tổng số tiền,

Bảng 2.6 Đặc tả use case Thêm sản phẩm vào giỏ hàng

Đặc tả use case Đăng ký thành viên

Mô tả quá trình đăng ký thành viên mới

Điều kiện trước Người dùng đang ở trang chủ

Trang 23

Luồng sự kiện chính 1 Người dùng bấm đăng ký và nhập các thông tintheo form.

2 Hệ thống kiểm tra thông tin nhập vào, nếu thông tin hợp lệ thì tài khoản thành viên sẽ được thêm vào CSDL

Luồng sự kiện phụ Nếu thông tin không hợp lệ, hiển thị thông báo yêucầu nhập lại

Bảng 2.7 Đặc tả usecase Đăng ký thành viên

Đặc tả use case Đặt hàng

Mô tả quá trình đặt hàng qua mạng

Điều kiện trước Sản phẩm đang được hiển thị

Luồng sự kiện chính 1 Người dùng click vào nút đặt hàng và điền các thông tin cần thiết như địa chỉ, số điện thoại, chọn phương thức thanh toán,

2 Hệ thống lưu thông tin khách hàng và hoá đơn, thông báo đặt hàng thành công hay không thànhcông.

Bảng 2.8 Đặc tả use case Đặt hàng

Đặc tả use case Đăng nhập

Mô tả quá trình người dùng đăng nhập

Điều kiện trước Người dùng đã có tài khoản

Trang 24

Luồng sự kiện chính 1 Người dùng click vào đăng nhập và điền tên đăng nhập, mật khẩu.

2 Hệ thống so sánh thông tin với tên đăng nhập, mật khẩu trong CSDL

3 Nếu đúng, cho phép đăng nhập và hiển thị các chức năng của Customer

Luồng sự kiện 4 Nếu sai, hiển thị thông báo sai thông tin đăng nhập và yêu cầu nhập lại.

Bảng 2.9 Đặc tả use case Đăng nhập

Đặc tả use case Đăng xuất

Mô tả quá trình người dùng đăng xuất

Điều kiện trước Người dùng đã đăng nhập vào hệ thốngLuồng sự kiện chính 1 Người dùng click vào đăng xuất

2 Hệ thống tiến hành xóa session lưu thông tin đăng nhập để dừng phiên làm việc của Customer

Bảng 2.10 Đặc tả use case Đăng xuất

Đặc tả use case Đổi mật khẩu

Mô tả quá trình người dùng đổi mật khẩu

Điều kiện trước Người dùng đã đăng nhập vào hệ thống

Trang 25

Luồng sự kiện chính 1 Người dùng click vào đổi mật khẩu, nhập mật khẩu cũ và mật khẩu mới

2 Hệ thống kiểm tra mật khẩu cũ và mới, nếu hợplệ thì cập nhật mật khẩu mới vào CSDLLuồng sự kiện phụ 3 Nếu mật khẩu cũ không đúng thì không cho

phép đổi mật khẩu, thông báo sai mật khẩu cũ4 Nếu mật khẩu mới không hợp lệ thì không lưu

và thông báo nhập lại mật khẩu mới

Bảng 2.11 Đặc tả use case Đổi mật khẩu

Đặc tả use case Thêm sản phẩm

Mô tả quá trình quản trị viên thêm sản phẩm mới

Điều kiện trước Administrator đã đăng nhập vào tài khoản của mìnhLuồng sự kiện chính 1 Administrator click vào thêm sản phẩm và điền

các thông tin cần thiết

2 Hệ thống kiểm tra thông tin sản phẩm được nhập vào, nếu hợp lệ thì thêm vào CSDLLuồng sự kiện phụ 3 Nếu thiếu thông tin hoặc thông tin không hợp lệ

thì không lưu vào CSDL và thông báo thông tinkhông hợp lệ

Bảng 2.12 Đặc tả use case Thêm sản phẩm

Đặc tả use case Sửa thông tin sản phẩm

Mô tả hoạt động diễn ra khi Quản trị viên sửa thông tin sản phẩm

Trang 26

Điều kiện trước Administrator đã đăng nhập vào tài khoản của mìnhLuồng sự kiện chính 1 Administrator click vào thêm sản phẩm và điền

các thông tin cần thiết

2 Hệ thống kiểm tra thông tin sản phẩm được nhập vào, nếu hợp lệ thì thêm vào CSDLLuồng sự kiện phụ 3 Nếu thiếu thông tin hoặc thông tin không hợp lệ

thì không lưu vào CSDL và thông báo thông tinkhông hợp lệ

Bảng 2.13 Đặc tả use case Sửa thông tin sản phẩm

Đặc tả use case Xóa sản phẩm

Mô tả hoạt động diễn ra khi Quản trị viên xoá sản phẩm

Điều kiện trước Administrator đã đăng nhập vào tài khoản của mìnhLuồng sự kiện chính 1 Administrator chọn sản phẩm cần xóa và xác

nhận xóa

2 Hệ thống xoá sản phẩm khỏi CSDL

Bảng 2.14 Đặc tả use case Xoá sản phẩm

Đặc tả use case Xóa thành viên

Mô tả hoạt động khi Quản trị viên xoá tài khoản thành viên

Trang 27

Điều kiện trước Administrator đã đăng nhập vào tài khoản của mìnhLuồng sự kiện chính 1 Administrator chọn tài khoản Customer cần

xóa, click xóa và xác nhận xoá2 Hệ thống xoá Customer khỏi CSDL

Bảng 2.15 Đặc tả use case Xoá thành viên

2.4.Biểu đồ hoạt động

Biểu đồ hoạt động Đăng nhập

Mô tả hoạt động của hệ thống khi người dùng đăng nhập

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

Biểu đồ hoạt động Đăng xuất

Mô tả hoạt động của hệ thống khi người dùng đăng xuất

Trang 28

Hình 2.3 Biểu đồ hoạt động Đăng xuất

Biểu đồ hoạt động Đăng ký thành viên

Mô tả hoạt động của hệ thống khi người dùng đăng ký thành viên mới

Hình 2.4 Biểu đồ hoạt động Đăng ký thành viên

Ngày đăng: 11/06/2024, 22:18

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

TÀI LIỆU LIÊN QUAN

w