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

xây dựng website quản lý cửa hàng văn phòng phẩm

104 1K 7

Đ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

Thông tin cơ bản

Định dạng
Số trang 104
Dung lượng 7,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống được xây dựng dựa trên ngôn ngữ CodeIgniter Framework và các công nghệ web khác như: jQuery, PHP, HTML, Javascripts, … ngoài ra còn sử dụng hệ quản trị cơ sở dữ liệu MySQL và má

Trang 1

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE QUẢN LÝ CỬA HÀNG VĂN PHÒNG PHẨM

Cần Thơ, 2015

TRƯỜNG ĐẠI HỌC CẦN THƠ

KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

BỘ MÔN TIN HỌC ỨNG DỤNG

Trang 2

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE QUẢN LÝ

CỬA HÀNG VĂN PHÒNG PHẨM

Cán bộ phản biện:

Ths Vũ Duy Linh Ths Lê Thị Diễm

Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học Ứng dụng, Khoa CNTT & TT, Trường Đại học Cần Thơ vào ngày 14 tháng 05 năm 2015

Mã số đề tài:

Có thể tìm hiểu luận văn tại:

-Trung tâm Học liệu, Trường Đại học Cần Thơ

-Website: http://www.lrc.ctu.edu.vn/

Cần Thơ, 2015

TRƯỜNG ĐẠI HỌC CẦN THƠ

KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

BỘ MÔN TIN HỌC ỨNG DỤNG

Trang 3

LỜI CẢM ƠN

Trong quá trình thực hiện đề tài của mình, ngoài sự nổ lực của bản thân, tôi còn nhận được sự giúp đỡ từ các quý thầy, cô trong bộ môn, gia đình và bạn bè Với những sự giúp đỡ đó tôi xin gửi lời cám ơn đến:

Cha, Mẹ và người thân trong gia đình đã động viên và quan tâm đến tôi trong quá trình thực hiện đề tài luận văn này

Em xin chân thành cảm ơn các thầy, cô trong Bộ môn Tin học Ứng dụng, Khoa Công Nghệ Thông Tin và Truyền Thông, Trường Đại học Cần Thơ đã truyền đạt cho tôi những kiến thức để thực hiện đề tài này Đặc biệt, trong quá trình làm bài em đã nhận được rất nhiều sự quan tâm, giúp đỡ từ cô Lê Minh Lý là người hướng dẫn luận văn của em, người đã tận tình hướng dẫn và đóng góp ý kiến cho

em trong suốt thời gian thực hiện đề tài

Mặc dù đã cố gắng hoàn thiện đề tài với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những sai sót và hạn chế

Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý báu của thầy, cô và các bạn

Xin chân thành cảm ơn!

Hàng Khma Rinh

Trang 4

MỤC LỤC

Trang

LỜI CẢM ƠN i

MỤC LỤC ii

DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT iv

DANH MỤC BẢNG v

DANH MỤC HÌNH vii

TÓM TẮT x

ABSTRACT xi

CHƯƠNG 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1

1.3 PHẠM VI ĐỀ TÀI 2

1.3.1 Phạm vi chức năng 2

1.3.2 Phạm vi yêu cầu kỹ thuật 3

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

1.5 HƯỚNG GIẢI QUYẾT 4

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5

2.1 TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHPMYADMIN VÀ MYSQL 5

2.1.1 Giới thiệu 5

2.1.2 Mục đích sử dụng 6

2.2 TỔNG QUAN VỀ PHP FRAMEWORK 6

2.3 MÔ HÌNH MVC 7

2.3.1 Lịch sử hình thành mô hình MVC 7

2.3.2 Các thành phần trong mô hình 7

2.3.3 Quy trình hoạt động cơ bản của mô hình MVC 9

2.3.4 Ưu và Nhược điểm của mô hình MVC 9

2.4 TỔNG QUAN VỀ CODEIGNITER FRAMEWORK 10

2.4.1 Giới thiệu 10

2.4.2 Những điểm nổi bật 10

Trang 5

2.4.3 Những điểm hạn chế 11

2.4.4 Mô hình MVC trong CodeIgniter Framewok 12

2.4.5 Cấu trúc Codeigniter Framework 13

2.4.6 Dòng chảy dữ liệu trong Codeigniter Framework 14

2.5 MÔ HÌNH THỰC THỂ KẾT HỢP – ER 15

CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 16

3.1 TỔNG QUAN HỆ THỐNG 16

3.1.1 Mô tả bài toán 16

3.1.2 Mô tả các ràng buộc toàn vẹn 17

3.1.3 Xây dựng bảng tầm ảnh hưởng 18

3.2 THIẾT KẾ 19

3.2.1 Sơ đồ use case 19

3.2.2 Biểu diễn các use case bởi kịch bản (scenaro) 20

3.2.3 Xây dựng các lớp thực thể 25

3.2.4 Mối quan hệ giữa các thực thể 32

3.2.5 Sơ đồ chức năng 39

3.2.6 Sơ đồ lớp 41

3.2.7 Sơ đồ thực thể quan hệ - ER 42

3.2.8 Sơ đồ tuần tự 43

3.2.9 Mô hình cơ sở dữ liệu quan hệ 48

3.3 GIAO DIỆN 56

3.3.1 Phần dành cho người quản trị 56

3.3.2 Phần dành cho người dùng 65

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73

TÀI LIỆU THAM KHẢO 75

PHỤ LỤC 76

Trang 6

DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT

Trang 7

DANH MỤC BẢNG

Trang

Bảng 3.1 Mô tả kịch bản Use case Đăng nhập 21

Bảng 3.2 Mô tả Use case Đăng kí thành viên 21

Bảng 3.3 Mô tả kịch bản Use case Đăt hàng 22

Bảng 3.4 Mô tả kịch bản Use case Tìm kiếm 23

Bảng 3.5 Mô tả kịch bản Use case Cập nhật sản phẩm 24

Bảng 3.6 Phương thức lớp khách hàng 25

Bảng 3.7 Phương thức lớp nhân viên 26

Bảng 3.8 Phương thức lớp nhóm sản phẩm 27

Bảng 3.9 Phương thức lớp sản phẩm 27

Bảng 3.10 Phương thức lớp sản phẩm 28

Bảng 3.11 Phương thức lớp kho hàng 29

Bảng 3.12 Phương thức lớp phiếu nhập 29

Bảng 3.13 Phương thức lớp Phiếu xuất 30

Bảng 3.14 Phương thức lớp hóa đơn 30

Bảng 3.15 Phương thức lớp đại lý 31

Bảng 3.16 Phương thức lớp tin tức – sự kiện 32

Bảng 3.17 Phương thức lớp quyền sử dụng 32

Bảng 3.18 Bảng khách hàng 49

Bảng 3.19 Bảng hóa đơn 49

Bảng 3.20 Bảng nhân viên 50

Bảng 3.21 Bảng sản phẩm 50

Bảng 3.22 Bảng nhóm sản phẩm 51

Bảng 3.23 Bảng giỏ hàng 51

Bảng 3.24 Bảng kho hàng 51

Bảng 3.25 Bảng nhà cung cấp 52

Bảng 3.26 Bảng phiếu nhập 52

Bảng 3.27 Bảng chi tiết phiếu nhập 53

Bảng 3.28 Bảng phiếu xuất 53

Bảng 3.29 Bảng chi tiết phiếu xuất 54

Trang 8

Bảng 3.30 Bảng tin tức sự kiện 54 Bảng 3.31 Bảng quyền sử dụng 55 Bảng 3.32 Bảng đại lý 55

Trang 9

DANH MỤC HÌNH

Trang

Hình 2.1 Các thành phần trong mô hình MVC 8

Hình 2.2 Quy trình hoạt động cơ bản của mô hình MVC 9

Hình 2.3 Logo CodeIgniter Framework 10

Hình 2.4: Mô hình MVC trong CodeIgniter 12

Hình 2.5 Cấu trúc thư mục của CodeIgniter Framework 13

Hình 2.6 Cấu trúc thư mục application trong CodeIgniter 14

Hình 2.7 Luồng xử lý dữ liệu trong CodeIgniter Framework 14

Hình 3.1 Sơ đồ Use Case Khách hàng 19

Hình 3.2 Sơ đồ Use Case Admin 20

Hình 3.3 Lớp khách hàng 25

Hình 3.4 Lớp nhân viên 26

Hình 3.5 Lớp nhóm sản phẩm 26

Hình 3.6 Lớp sản phẩm 27

Hình 3.7 Lớp nhà cung cấp 28

Hình 3.8 Lớp kho hàng 28

Hình 3.9 Lớp phiếu nhập 29

Hình 3.10 Lớp Phiếu xuất 29

Hình 3.11 Lớp hóa đơn 30

Hình 3.12 Lớp đại lý 31

Hình 3.13 Lớp Tin tức – Sự kiện 31

Hình 3.14 Lớp Quyền sử dụng 32

Hình 3.15 Quan hệ Nhóm sản phẩm- Sản phẩm 33

Hình 3.16 Quan hệ Phiếu nhập - Kho hàng 33

Hình 3.17 Quan hệ Phiếu xuất – Kho hàng 33

Hình 3.18 Quan hệ Phiếu xuất – Đại lý 34

Hình 3.19 Quan hệ Sản phẩm- Hóa đơn 34

Hình 3.20 Quan hệ Nhà cung cấp- Phiếu nhập 35

Hình 3.21 Quan hệ Phiếu nhập- Nhân viên 35

Hình 3.22 Quan hệ Sản phẩm – Phiếu xuất 35

Trang 10

Hình 3.23 Quan hệ Nhân viên- Hóa đơn 36

Hình 3.24 Quan hệ Khách hàng- Hóa đơn 36

Hình 3.25 Quan hệ Nhân viên – Quyền sử dụng 37

Hình 3.26 Quan hệ Nhân viên – Tin tức-sự kiện 37

Hình 3.27 Quan hệ Sản phẩm – Phiếu xuất 38

Hình 3.28 Quan hệ Phiếu nhập- Sản phẩm 38

Hình 3.29 Sơ đồ lớp 41

Hình 3.30 Mô hình ER 42

Hình 3.31 Mô hình cơ sở dữ liệu quan hệ 48

Hình 3.32 Sơ đồ tuần tự đăng nhập 43

Hình 3.33 Sơ đồ tuần tự đăng kí thành viên 44

Hình 3.34 Sơ đồ tuần tự Thêm sản phầm 45

Hình 3.35 Sơ đồ tuần tự Đặt hàng 46

Hình 3.36 Sơ đồ tuần tự Tìm kiếm 47

Hình 3.37 Trang đăng nhập của nhân viên 56

Hình 3.38 Quản lý nhóm sản phẩm 56

Hình 3.39 Quản lý sản phẩm 57

Hình 3.40 Thêm sản phẩm 58

Hình 3.41 Sửa thông tin sản phẩm 59

Hình 3.42 Hộp thoại xác nhận xóa sản phẩm 60

Hình 3.43 Quản lý hóa đơn chưa duyệt 60

Hình 3.44 Quản lý hóa đơn đã duyệt 61

Hình 3.45 Quản lý phiếu nhập 62

Hình 3.46 Quản lý phiếu xuất 63

Hình 3.47 Thống kê số lượng sản phẩm đã bán 64

Hình 3.48 Trang chủ 65

Hình 3.49 Giao diện tin tức – sự kiện 66

Hình 3.50 Sản phẩm mới 67

Hình 3.51 Hướng dẫn mua hàng 68

Hình 3.52 Đăng kí thành viên 69

Hình 3.53 Đăng nhập 70

Hình 3.54 Thông tin tài khoản 70

Trang 11

Hình 3.55 Mô tả chi tiết sản phẩm 71

Hình 3.56 Giao diện giỏ hàng 71

Hình 3.57 Thông tin hóa đơn đặt hàng 72

Hình 1 Các thư mục sau khi giải nén 76

Hình 2 Các thư mục và file cần để tạo ứng dụng đầu tiên 76

Hình 3 Cấu trúc thư mục trong thư mục application 77

Hình 4 Quản lý nhân viên 83

Hình 5 Quản lý khách hàng 84

Hình 6 Quản lý các đại lý 84

Hình 7 Quản lý nhà cung cấp 85

Hình 8 Quản lý tin tức – sự kiện 86

Hình 9 Thống kê doanh thu theo tháng của từng năm 87

Hình 10 Quản lý quyền sử dụng 87

Hình 11 Tồn kho 88

Hình 12 Hóa đơn phiếu nhập 89

Hình 13 Hóa đơn phiếu xuất 90

Hình 14 Hóa đơn của khách hàng 91

Trang 12

TÓM TẮT

Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ về chiều rộng lẫn chiều sâu Công nghệ thông tin đã và đang trở thành một phần không thể thiếu trong nhiều lĩnh vực của cuộc sống Trong đó có thể giúp chúng ta kinh doanh qua Internet Nó đã mở ra một hướng tiếp cận mới thông qua các hệ thống website điện tử cung cấp những thông tin cho khách hàng về các sản phẩm mới, về các tin tức và các khuyến mãi dành cho khách hàng về những sản phẩm mới Giúp người dùng có thể xem một cách nhanh chóng, tiện lợi và không mất nhiều thời gian cho việc đặt mua sản phẩm

Mục tiêu của đề tài “Xây dựng website quản lý cửa hàng văn phòng phẩm”

đáp ứng các yêu cầu:

- Khách hàng mua hàng trực tuyến

- Quản lý thông tin của nhân viên, khách hàng, các nhà cung cấp, các đại

lý và tin tức - sự kiện của cửa hàng

- Quản lý thông tin của sản phẩm và các nhóm sản phẩm

- Quản lý thông tin các hóa đơn mua hàng của khách hàng

- Quản lý phiếu nhập, phiếu xuất, kho hàng và thống kê sản phẩm bán được

Hệ thống được xây dựng dựa trên ngôn ngữ CodeIgniter Framework và các công nghệ web khác như: jQuery, PHP, HTML, Javascripts, … ngoài ra còn sử dụng hệ quản trị cơ sở dữ liệu MySQL và máy chủ Apache

Nội dung của luận văn gồm 3 chương:

Chương 1: Tổng quan về đề tài: Giới thiệu đề tài và lý do thực hiện đề tài,

nêu lên phạm vi đề tài và mục tiêu phải đạt được

Chương 2: Cơ sở lý thuyết: Giới thiệu về PHPMyAdmin và ngôn ngữ lập

trình CodeIgniter Framework

Chương 3: Nội dung và kết quả nghiên cứu: Đặc tả hệ thống và xây dựng

các sơ đồ thực thể, thực thể kết hợp, lược đồ cơ sở dữ liệu, sơ đồ chức năng và sơ

đồ Use case Trình bày kết quả nghiên cứu, nêu lên những phần đã đạt được và những phần còn hạn chế

Từ khóa: CodeIgniter Framework, sản phẩm, giỏ hàng, đặt hàng, …

Trang 13

ABSTRACT

Today, information technology has achieved strong growth in width and depth Information technology has become an indispensable part in many areas of life Which may help us to business over the Internet It has opened up a new approach through the electronic system website provides information to customers about new products, about the news and promotions for customers on new products Helps users can see a quick, convenient and does not take much time for buying the product

The objective of the project "Building management website stationery stores" to meet the following requirements:

- Customers buy online

- Manage the information of employees, customers, suppliers, dealers and news - events of the store

- Management of product information and product groups

- Information management bills of customer purchases

- Manage import bill, bills, warehouse and statistical products sold The system is built on CodeIgniter Framework language and other web technologies such as jQuery, PHP, HTML, Javascripts, in addition to use management system MySQL database and Apache server

The content of the thesis consists of three chapters:

Chapter 1: Overview of topics: Introduction to the subject and the reason to

implement the project, raised the range of themes and objectives to be achieved

Chapter 2: Theoretical Foundations: Introduction to PHPMyAdmin and

CodeIgniter Framework programming language

Chapter 3: The content and results of the study: the system specification

and build the entity diagram, entity matching, database schema, function diagrams and Use Case diagrams Presenting research findings, raise share achieved and the parts are limited

Keywords: CodeIgniter Framework, products, shopping cart, orders,

Trang 14

CHƯƠNG 1 TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ

Ngày nay, công nghệ thông tin có những bước phát triển mạnh mẽ, trong đó phải kể đến sự phát triển của mạng Internet Với sự phát triển đó, ngày càng có nhiều người sử dụng mạng Internet vào các mục đích giao tiếp, trò chuyện, tìm kiếm thông tin, thực hiện giao dịch mua bán, quản lý, … mà không bị giới hạn thời gian và không gian

Với sự phát triển mạnh mẽ của Internet như hiện nay nhiều cửa hàng hay các doanh nghiệp đã ứng dụng Internet vào công việc quản lý hay mua bán Trong đó, một số cửa hàng văn phòng phẩm đã ứng dụng công nghệ thông tin vào việc quản lý bán hàng nhằm tăng hiểu quả quản lý và tăng doanh thu cho cửa hàng Đồng thời nhờ có việc ứng dụng tin học đã tiết kiệm được rất nhiều thời gian, công sức của con người, nó làm giảm nhẹ bộ máy quản lý vốn cồng kềnh từ trước tới nay

Hiên nay, việc mua bán hàng trên mạng không còn xa lạ đối với mọi người Mua hàng qua mạng đem lại nhiều tiện ích cho mọi người, giúp tiết kiệm thời gian

và công sức Đối với mọi người có rất nhiều mặt hàng không thể thiếu trong cuộc sống trong đó có văn phòng phẩm là một trong những sản phẩm gắn liền với cuộc sống của mỗi người hầu hết đều cần sử dụng văn phòng phẩm Muốn mua sản phẩm thì mọi người phải phải đến cửa hàng để mua Tuy nhiên có một số người có ít thời gian để đến cửa hàng để mua sản phẩm phù hợp với mình Vì vậy tốn rất nhiều thời gian và công sức Đó là đối với khách hàng, còn đối với cửa hàng khi khách hàng đến mua sản phẩm thì nhân viên phải ghi hóa đơn cho khách hàng, điều đó tốn nhiều thời gian và nhân lực mà doanh thu thì không được cao Vấn đề của cửa hàng

là tìm cách tăng doanh thu, tiết kiệm chi phí đồng thời giúp việc quản lý sản phẩm ngày càng tốt hơn

Chính vì vậy, việc xây dựng một ứng dụng web để giải quyết những tồn tại trên là hết sức cần thiết, giúp cho cửa hàng tiết kiệm thời gian, chí phí trong việc quản lý và tăng doanh thu cho cửa hàng Do đó xây dựng website quản lý cửa hàng văn phòng phẩm là mục tiêu của đề tài này

Đề tài luận văn: “Xây dựng website quản lý cửa hàng văn phòng phẩm” 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin đã thúc đẩy hầu hết các công ty kinh doanh văn phòng phẩm như Thiên Long, Hồng Hà, Vĩnh

Trang 15

Tiến,… đều có các trang web riêng cho công ty của mình để giới thiệu các sản phẩm và cũng như các thông tin khác về công ty của chính họ Hiện nay, có một số

đề tài xây dựng website quản lý cửa hàng văn phòng phẩm, những đề tài đó chủ yếu được viết bằng những ngôn ngữ khác nhau như PHP thuần, ASP.NET

Vì vậy, với đề tài “Xây dựng website quản lý cửa hàng văn phòng phẩm”

này sẽ được viết bằng một ngôn ngữ PHP Framework đó là CodeIgniter Framework

là một trong những PHP Framework cơ bản và dễ tìm hiểu nhất

1.3 PHẠM VI ĐỀ TÀI

Đề tài xây dựng ứng dụng được triển khai cụ thể ở các cửa hàng văn phòng phẩm Ngoài ra hệ thống còn hỗ trợ cho việc bán hàng trực tuyến qua mạng, có thể ứng dụng và triển khai tại các cửa hàng văn phòng phẩm khác nhằm tạo hiệu quả cho quá trình quản lý các sản phẩm, các hóa đơn của khách hàng, phiếu nhập, phiếu xuất và thống kê doanh thu của công ty

Các đối tượng mà website hướng đến bao gồm: Người quản trị, thành viên và khách hàng

1.3.1 Phạm vi chức năng

Đề tài xây dựng kinh doanh văn phòng phẩm phải đảm bảo các chức năng sau:

 Đối với trang quản trị:

 Cập nhật sản phẩm

 Cập nhật các danh mục

 Cập nhật các thông tin của các thành viên và khách hàng

 Phân quyền nâng cấp người dùng

 Cập nhật các đại lý của công ty

 Đối với trang người dùng:

 Đăng ký tài khoản

Trang 16

1.3.2 Phạm vi yêu cầu kỹ thuật

Trong quá trình sử dụng hệ thống phải đảm bảo các yêu cầu sau:

- Đảm bào được tính chính xác và ràng buộc toàn vẹn dữ liệu

- An toàn và bảo mật thông tin hệ thống cũng như thông tin cá nhân người dùng

- Giao diện thân thiện, trực quan, giúp cho người dùng thao tác dễ dàng

- Tốc độ truy xuất nhanh, linh hoạt

- Hệ thống mềm dẻo, dễ mở rộng và phát triển

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

Về lý thuyết:

- Tìm hiểu và phân tích hệ thống thông tin

- Tìm hiểu về mô hình ứng dụng web

- Tham khảo một số website để hiểu thêm quá trình mua hàng và đặt hàng trực tuyến

Trang 17

- Dùng Xampp làm máy chủ web

Về hệ quản trị cơ sở dữ liệu:

- Sử dụng cơ sở dữ liệu miễn phí nguồn mở PhpMyAdmin và MySQL để

nhập dữ liệu ban đầu

1.5 HƯỚNG GIẢI QUYẾT

Một website giới thiệu các loại văn phòng phẩm được sử dụng phổ biến hiện nay Cung cấp thông tin một cách đầy đủ và nhanh chóng về tất cả sản phẩm có trong công ty

Về phân tích hệ thống: Khảo sát để đưa ra được các yêu cầu quản lý cũng như các chức năng cần có của hệ thống

Về thiết kế hệ thống: Thiết kế cơ sở dữ liệu, thiết kế giao diện cho người dùng, viết báo cáo kết quả làm được

Thử nghiệm: Chạy thử hệ thống, chỉnh sửa các lỗi phát sinh và hoàn thiện hệ thống, viết tài liệu hướng dẫn sử dụng

Trang 18

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHPMYADMIN VÀ MYSQL

2.1.1 Giới thiệu

PhpMyAdmin là một công cụ nguồn mỡ miễn phí được viết bằng PHP dự định

để xử lý quản trị của MySQL thông qua một trình duyệt web Nó có thể thực hiện nhiều tác vụ như tạo, sửa đổi hoặc xóa bỏ cơ sở dữ liệu, bảng, các trường hợp hoặc bản ghi, thực hiện báo cáo SQL, hoặc quản lý người dùng và cấp phép

Các tính năng được cung cấp bởi chương trình bao gồm:

- Giao diện web

- Quản lý CSDL MySQL

- Nhập dữ liệu từ CSV và SQL

- Xuất dữ liệu sang các định dạng khác nhau: CSV, SQL, XMLPDF (Thông qua thư viện TCPDF), ISO/EC 26300 – OpenDocument văn bản và bảng tính, Word, Excel, LateX và các định đạng khác

- Quản lý nhiều máy chủ

- Tạo PDF đồ họa của của bố trí CSDL

- Tạo truy vấn phức tạp bằng cách sử dụng Query-by-example (QBE)

- Tìm kiếm tổng quan trong CSDL hoặc tập hợp con của nó

- Chuyển đổi dữ liệu được lưu trữ thành các định dạng bằng cách sử dụng một tập hợp các chức năng được xác định trước, như hiển thị dữ liệu BLOB như hình ảnh hoặc tải về liên kết

- Giám sát các truy vấn (quy trình)

MySQL là hệ quản trị CSDL 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à CSDL 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ất mạ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

Trang 19

các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irx, Solaris, SunOS, …

MySQL là một trong những ví dụ rất cơ bản về Hệ quản trị CSDL quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL)

MySQL được sử dụng cho việc bổ trợ 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, …

… Nếu ứng dụng có quy mô lớn, bạn có thể chọn CSDl có quy mô lớn như: Oracle, SQK Server, …

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

ở mức độ mang tính cục bộ, truy cập CSDL ngay trong CSDL 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 CSDL, nên bạn cần phải có các phương thức truy cập dữ liệu giữa các CSDL với nhau như: Micrsoft Access với SQK Server hay SQL Server và CSDL Oracle,…

- Tổ chức: Tổ chức CSDL phụ thuộc vào mô hình CSDL, phân tích và thiết kế CSDL tức là tổ chức CSDL phụ thuộc vào đặc điểm riêng của từng ứng dụng Tuy nhiên khi tổ chức CSDL cần phải tuân theo một số tiêu chuẩn của hệ thống CSDL nhằ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 CSDL 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 CSDL để xuất ra kết quả như yêu cầu Để thao tác hay xử lý dữ liệu bên trong CSDL ta sử dụng các ngôn ngữ lập trình như: PHP, C++, Java, Visual Basic, …

2.2 TỔNG QUAN VỀ PHP FRAMEWORK

PHP là một ngôn ngữ lập trình mạnh mẽ và được sử dụng rộng rãi cho phép chúng ta phát triển các ứng dụng web lớn Nhiều ngôn ngữ lập trình khác có thể được sử dụng ngang với ngôn ngữ PHP như ASP.NET và Ruby Tuy nhiên, PHP

Trang 20

vẫn được phát triển mạnh mẽ Sự phổ biến của PHP là do dễ dàng tìm hiểu và sử dụng, trái ngược với các ngôn ngữ lập trình khác

PHP Framework là một nền tảng cơ bản giúp chúng ta phát triển các ứng dụng web

PHP Framework cung cấp một cấu trúc xây dựng ứng dụng Khi sử dụng PHP Framework, người dùng có thể thúc đẩy nhanh chóng quá trình phát triển ứng dụng, tiết kiệm thời gian, tăng tính ổn định, ngăn chặn việc lặp đi lặp lại khi tạo mã Hiện tại nếu không có PHP Framework, việc xây dựng các ứng dụng sẽ gặp nhiều khó khăn vì các mã PHP sẽ lặp đi lặp lại rất khá nhiều Người dùng phải thực hiện kết nối giữa cơ sở dữ liệu với bất cứ ứng dụng web được phát triển từ đầu Trong khi

đó, sử dụng PHP Framework đảm bảo cho kết nối này trở nên dễ dàng hơn

Hiện tại có rất nhiều PHP Framework được cung cấp, nhưng có khoảng 20 Framework có thể đáp ứng yêu cầu sử dụng của người dùng thông qua các tiêu chí đánh giá như số lượng người dùng, tốc độ, mức độ hỗ trợ, sự ổn định, quy mô, … Các PHP Framework phổ biến nhất hiện nay như Zend Framework 2, CakePHP, Symfon, CodeIgniter Framework, Seagull, Lavarel Framework, Yii Framework, …

2.3 MÔ HÌNH MVC

2.3.1 Lịch sử hình thành mô hình MVC

Mô hình MVC (Model – View – Controller) được Trygve Reenskaug giới thiệu vào năm 1979, trong một lần ông đến thăm trung tâm Xerox PARC ở Palo Alto

Mô hình MVC sau đó nhanh chóng phát triển rộng rãi và hoàn thiện, từ đó sinh ra các biến thể như HMVC, MVA, MVP, MVVM, … những người dùng khác nhau có thể chuyển hóa mô hình MVC theo từng trường hợp sử dụng khác nhau

2.3.2 Các thành phần trong mô hình

Trang 21

Hình 2.1 Các thành phần trong mô hình MVC

PHP Framework hoạt động dựa trên nguyên tắc cơ bản là Model – View – Controller (MVC) MVC là một kiểu kiến trúc đặc trưng phổ biến trong các ngôn ngữ lập trình, cho phép tách rời tầng xử lý (business logic) và tầng giao diện (UI) thành các thành phần riêng biệt Tầng xử lý có chức năng chính là xử lý, trao đổi thông tin giữa CSDL và giao diện, vì vậy ta có thể chỉnh sửa các thành phần đó theo một cách riêng biệt từ đó loại bỏ được rất nhiều nhầm lẫn và đơn giản hóa toàn bộ quá trình phát triển

Nhiệm vụ cụ thể của từng thành phần trong mô hình MVC:

 Model (Tầng dữ liệu): Bao gồm các đối tượng thể hiện cho phần xử lý

dữ liệu của chương trình Nói cách khác nó chịu trách nhiệm cung cấp

và lưu trữ dữ liệu vào kho dữ liệu Các dữ liệu người dùng sẽ được gửi qua View và Controller và được kiểm tra tại Model trước khi lưu vào

cơ sở dữ liệu Trong Model bao gồm các công việc như truy vấn, thêm, xóa, cập nhật dữ liệu

 View (Tầng giao diện): Là thành phần lớp xử lý lớp giao diện người dùng, bao gồm việc hiển thị dữ liệu ra màn hình, cung cấp các nút bấm, hộp thoại, các lựa chọn, … để người dùng có thể thực hiện các công việc thêm, xóa, chỉnh sửa, tìm kiếm, … Các thông tin hiển thị trong View thường được lấy từ thành phần Model

 Controller (Tầng điều khiển): Làm nhiệm vụ lọc các yêu cầu xử lý từ người dùng, có chức năng như một router để điều chỉnh, phân luồng các yêu cầu để gọi đúng các Model và View thích hợp

MVC chia nhỏ quá trình xử lý của một ứng dụng, điều này làm cho ứng dụng làm việc trên từng thành phần riêng biệt và không ảnh hưởng đến các thành phần

Trang 22

khác Với mô hình MVC, PHP framework trở nên rõ ràng hơn nhiều, dễ quản lý và

dễ dàng sử dụng

2.3.3 Quy trình hoạt động cơ bản của mô hình MVC

Hình 2.2 Quy trình hoạt động cơ bản của mô hình MVC

Mô hình trên là thể hiện mô hình MVC trong các dự án website và sẽ hoạt động theo quy trình sau:

 Controller tiếp nhận các yêu cầu từ người dùng và điều hướng các yêu cầu đến đúng các phương thức xử lý đã được xây dựng trong Model

 Model nhận thông tin được từ Controller và tiến hành xử lý các yêu cầu

 Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị kết quả đó cho người dùng

2.3.4 Ưu và Nhược điểm của mô hình MVC

Ưu điểm:

 Có tính chuyên nghiệp hóa cao trong lập trình, phân tích thiết kế

Trang 23

 Do được chia thành nhiều thành phần riêng lẽ nên giúp phát triển các ứng dụng nhanh chóng, đơn giản, dễ nâng cấp, dễ bảo trì, …

2.4 TỔNG QUAN VỀ CODEIGNITER FRAMEWORK

Hình 2.3 Logo CodeIgniter Framework

2.4.1 Giới thiệu

CodeIgniter Framework (viết tắt là CI) là một nền tảng ứng dụng web nguồn

mở được viết bằng ngôn ngữ PHP bởi Rick Ellis (CEO của EllisLab, Inc) Phiên bản đầu tiên được phát hành ngày 28/02/2006 Ý tưởng xây dựng CI dựa trên Ruby

on Rails, một nền tảng ứng dụng web được viết bằng ngôn ngữ Ruby Hiện tại, CI đang được phát triển bởi Expression Engine Development Team thuộc EllisLab, Inc Nó là một trong những PHP Framework được xem là phổ biến và dễ dàng tiếp cận nhất so với các PHP Framework hiện hành và phổ biến như Zend Framework, Cake PHP Framework, Yii Framework, … Tuy là một Framework dễ tiếp cận, nhưng CI cùng có đầy đủ sức mạnh như các Framework phổ khác và được xem là PHP Framework nhanh nhất hiện nay

2.4.2 Những điểm nổi bật

Trang 24

CI có các ưu điểm nổi bật hơn so với các Framework khác như:

 Cực kỳ nhỏ gọn: gói cài đặt CI mới nhất hiện nay (version 2.2) khoảng 3.95 MB dung lượng để tải về và miễn phí hoàn toàn 100%

 Tốc độ nhanh: CI sử dụng cơ chế lưu nội dung trang web vào bộ nhớ đệm (cache), kiểm tra bộ đệm trước khi thực hiện các yêu cầu từ người dùng CI có thể giàm số lượt truy cập dữ liệu và xử lý dữ liệu, tối ưu hóa tốc độ tải trang đến mức tối đa có thể

 Hệ thống thư viện phong phú: CI cung cấp các thư viện phục vụ cho những tác vụ thường gặp trong lập trình web, chẳng hạn như truy xuất CSDL, gửi email, kiểm tra dữ liệu, quản lý session, xử lý ảnh,… đến những chức năng nâng cao như XML-RPC, mã hóa, bảo mật,…

 Bảo mật hệ thống: cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS

và SQL Injection của CI giúp giảm thiểu các nguy cơ bảo mật cho hệ thống

 Tối ưu hóa SEO: cấu trúc URL của CI rất thân thiện với các công cụ tìm kiếm tốt cho SEO

 Thiết kế theo mô hình MVC: giúp cho việc thiết kế, nâng cấp bảo trì

mã nguồn một cách dễ dàng vì thành phần hiển thị (presentation) và thành phần xử lý (business logic) dữ liệu được tách biệt thành các phần độc lập

2.4.3 Những điểm hạn chế

Tuy CI có khá nhiều ưu điểm nhưng bên cạnh đó cũng có một số hạn chế như:

 Chưa hỗ trợ Object Relational Mapping: Object Relation Mapping (ORM) là một số kỹ thuật lập trình, trong đó các bảng của CSDL được ánh xạ thành các đối tượng trong chương trình Kỹ thuật này giúp cho việc thực hiện các thao tác trong CSDL (Create Read Update Delete - CRUD) một cách dễ dàng, mã nguồn trở nên ngắn gọn hơn Hiện tại thì CI vẫn chưa hỗ trợ ORM

 Chưa hỗ trợ AJAX: Hiện tại, CI vẫn chưa có thư viện dựng sẵn nào để

hỗ trợ xây dựng AJAX ở các phiên bản cũ Lập trình viên phải sử dụng các thư viện bên ngoài như jQuery, Script.aculo.us, Prototype hay Mootools, …

 Chưa hỗ trợ một số module thông dụng: So sánh với framework khác,

Trang 25

xây dựng ứng dụng web như Chứng thực người dùng (User Authorization), trình phân tích RSS (RSS Parses) hay trình xử lý PDF,…

 Chưa hỗ trợ Event Driven Programming: Event-Driven Programming (EDP) là một nguyên lý lập trình, trong đó các luồng xử lý của hệ thống sẽ dựa vào các sự kiện, chẳng hạn như click chuột, gõ bàn phím không phải là một khuyết điểm to lớn của CI vì hiện tại, chỉ có một số

ít framework hỗ trợ EDP, bao gồm Prado, QPHP và Yii

2.4.4 Mô hình MVC trong CodeIgniter Framewok

Hình 2.4: Mô hình MVC trong CodeIgniter

Giống như hầu hết các PHP Framework, CI là một MVC Framework và có cấu trúc tuần tự cho mỗi phần của Model – View - Controller điều này giúp tăng khả năng tái sử dụng code, dễ dàng bảo trì cũng như nâng cấp sau này mà không ảnh hưởng nhiều đến hệ thông hiện tại Trước khi bắt đầu xây dựng CI đầu tiên, chúng ta cần phải xác định cấu trúc chính của CI và xem là thế nào thực hiện và thực thi kiến trúc MVC

MVC là một mô hình kiến trúc phần mềm được sử dụng phổ biến trong phát triển ứng dụng web Mục đích chính của MVC là:

 Tách riêng các thành phần logic với giao diện người dùng

 Giúp cho việc thay đổi các thành phần dễ dàng mà không làm ảnh hưởng đến các thành phần khác

 Dễ dàng phát triển và bảo trì ứng dụng

CI được dựa trên mô hình phát triển Model – View – Controller Mô hình MVC tách biệt xử lý dữ liệu ra khỏi phần giao diện, đây được xem là chuẩn thiết kế trong công nghệ phần mềm

 Model: Mô hình đại diện cho cấu trúc dữ liệu Thông thường các lớp mô hình sẽ chứa các chức năng giúp truy vấn, thêm, sửa, xóa và cập nhật thông

Controller

Trang 26

tin trong cơ sở dữ liệu Nếu các dữ liệu trong Model thay đổi thì các thành phần torng View được thay đổi và ngược lại

 View: Chức năng chính là hiển thị thông tin cho người dùng Một View có thể toàn bộ là một trang web, nhưng trong CI, một View cũng có thể là mảng nhỏ trên như header, footer, một trang RSS hay một thể loại của trang Mỗi một Model có thể có nhiều View tùy thuộc vào mục đích sử dụng của người dùng

 Controller: Thành phần trung gian để kết nối View và Model Các yêu cầu của người dùng từ View sẽ gửi tới Controller xử lý, sau đó các Controller sẽ gọi tới các Model để thao tác với cơ sở dữ liệu, cuối cùng Controller trả dữ liệu này về cho View

2.4.5 Cấu trúc Codeigniter Framework

Hình 2.5 Cấu trúc thư mục của CodeIgniter Framework

Ý nghĩa của thư mục và file trong cấu trúc CodeIgniter như sau:

- Application: đây là thư mục rất quan trọng, thư mục chứa ứng dụng, nơi đây

sẽ là nơi chúng ta viết code cho dự án

- System: đây là thư mục chứa toàn bộ thư viện của CodeIgniter, các bạn không

nên chỉnh sửa hay can thiệp gì vào đây, nếu muốn thì có thể mở ra xem thôi

- User_guide: đây là thư mục chứa toàn bộ hướng dẫn sử dụng, các bạn có thể

xóa thư mục này còn các hướng dẫn có thể truy trên internet để xem

- Index: các bạn giữ nguyên file này

Sau khi download về và cài đặt thành công CodeIgniter Framework, ta sẽ có được một thư mục có cấu trúc như sau:

Trang 27

Hình 2.6 Cấu trúc thư mục application trong CodeIgniter

Ý nghĩa các thư mục trong thư mục application:

- Config: Thư mục config chứa các tập tin cấu hình hệ thống

- Core: đây là thư mục viết các core của hệ thống, có thể viết các main

controller, model, … để kế thừa

- Controllers: đây là thư mục chứa toàn bộ các file controller (điều hướng và

xử lý các dữ liệu)

- Models: đây là nơi chứa các file thực hiện việc truy xuất dữ liệu đáp ứng yêu

cầu từ controller của hệ thống (làm việc với cơ sở dữ liệu)

- Views: là nơi chứa các file hiển thị thông tin cho người sử dụng hay còn gọi là

lớp giao diện (hiển thị dữ liệu)

- Helpers: chứa các helpers (các hàm tự xây dựng)

- Library: chứa các thư viện mà chúng ta tự phát triển

- Language: chứa các file ngôn ngữ, nếu bạn làm website đa ngôn ngữ thì chỉ

cần sử dụng tới mục này

Và ngoài ra còn một vài thư mục khác, nhưng ít được sử dụng hơn, các bạn có thể tìm hiểu thêm

2.4.6 Dòng chảy dữ liệu trong Codeigniter Framework

Hình 2.7 Luồng xử lý dữ liệu trong CodeIgniter Framework

Trang 28

Index.php: đóng vai trò như bộ điều khiển phía trước, khởi tạo các tài nguyên

cơ sở, cần thiết cho hệ thống CodeIgniter

Routing: Điều hướng giúp kiểm tra các yêu cầu HTTP để xác định những gì

cần phải thực hiện với nó

Caching: Nếu một dữ liệu được yêu cầu đã tồn tại trong bộ nhớ đệm, nó sẽ

được gửi trực tiếp về cho trình duyệt (client) Quá trình xử lý kết thúc

Security: Các yêu cầu HTTP hay bất kỳ dữ liệu người dùng trước khi được

gửi đến Controller để xử lý đều được lọc qua nhằm phòng chóng XXS hoặc SQL Injection

Application Controller: Controller gọi đến các Models, Libraries, Helpers,

Plugins… cần thiết để xử lý các yêu cầu cụ thể được gửi đến

View: Dữ liệu được chuyển đến View để hiện thi cho người dùng nhìn thấy

Nếu bộ nhớ đệm (Caching) được kích hoạt, dữ liệu sẽ được lưu vào bộ nhớ đệm để phục vụ cho các yêu cầu tiếp theo

2.5 MÔ HÌNH THỰC THỂ KẾT HỢP – ER

Mô hình thực thể kết hợp – ER được dùng để thiết kế cơ sở dữ liệu mức quan niệm, biểu diễn trừu tượng cấu trúc của cơ sở dữ liệu Sơ đồ thực thể kết hợp gồm có:

 Tập thực thể (Entity Sets) / thực thể (Entity)

 Thuộc tính (Attributes)

 Mối quan hệ (Relationship)

Trang 29

CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 3.1 TỔNG QUAN HỆ THỐNG

3.1.1 Mô tả bài toán

Trang web được xây dựng nhằm phục vụ cho việc chọn mua và đặt hàng trực tiếp trên mạng dành cho những khách hàng của cửa hàng văn phòng phẩm:

 Quản lý nhân viên bao gồm: mã nhân viên, họ tên, số điện thoại, giới tính, địa chỉ, mật khẩu, …

 Đối với nhân viên được phân quyền admin thì có quyền cao nhất trong

hệ thống, có toàn quyền quyết định đối với trang web: truy xuất dữ liệu trang web, thao tác tất cả chức năng, được phân quyền, thay đổi quyền truy cập của các thành viên khác

 Mỗi nhân viên có quyền truy cập khác nhau

 Quản lý khách hàng bao gồm: mã khách hàng, họ tên, địa chỉ, số điện thoại, mật khẩu,

 Quản lý sản phẩm bao gồm: mã sản phẩm, tên sản phẩm, thông tin, hình ảnh,…, mỗi sản phẩm được cung cấp bởi nhà cung cấp nào, thuộc nhóm sản phẩm nào

 Thông tin nhà cung cấp: mã nhà cung cấp, tên nhà cung cấp, địa chỉ,

số điện thoại,…

 Thông tin nhóm sản phẩm: mã nhóm sản phẩm, tên nhóm sản phẩm

 Cho phép nhân viên của công ty thêm mới, cập nhật, xóa sản phẩm nào đó Khi cập nhật hay xóa sản phẩm, nhân viên có thể thực hiện chức năng tra cứu sản phẩm

 Quản lý bán hàng:

đến các đại lý để trực tiếp mua hoặc có thể mua hàng trực tuyến thông qua trang web Khách hàng truy cập vào trang web, tạo một tài khoản

cá nhân, sau đó có thể vào hệ thống trang web để mua hàng

 Nếu khách hàng muốn đặt mua sản phẩm trực tuyến thì khách hàng chỉ cần lưu lại thông tin cá nhân vào trang đặt mua, nhân viên sẽ dựa trên thông tin đó giao hàng trực tiếp đến địa chỉ khách hàng đó

Trang 30

 Khi việc đăng kí mua được xác lập thì một hóa đơn được lập ra bởi nhân viên bán hàng Thông tin của mỗi hóa đơn có mã số, mã khách hàng, mã sản phẩm, số lượng, đơn giá, ngày đặt hàng,

 Quản lý nhập kho và xuất kho:

 Hằng ngày nhân viên sẽ kiểm tra sản phẩm trong kho, nếu số sản phẩm không đủ để cung cấp cho khách hàng, thì nhân viên lập một phiếu nhập đề gởi qua nhà cung cấp để nhập hàng

 Thông tin của mỗi phiếu nhập bao gồm mã phiếu nhập, mã sản phẩm, ngày nhập, nhân viên lập phiếu, số lượng, đơn giá,…

 Khi các đại lý muốn nhập sản phẩm từ công ty, nhân viên đại lý lập một phiếu nhập gửi cho công ty và kèm theo đó thì một phiếu xuất được lập ra

 Thông tin của một phiếu xuất gồm mã phiếu xuất, mã sản phẩm, ngày xuất, nhân viên lập phiếu, số lượng, đơn giá, …

3.1.2 Mô tả các ràng buộc toàn vẹn

1 R1 Thuộc tính Giới tính trong bảng Nhân viên có giá trị là True (Nam) hoặc False (Nữ)

2 R2 Mỗi khách hàng đều có mã khách hàng khác nhau để phân biệt khách hàng khác

5 R5 Số lượng sản phẩm giao cho khách hàng phải nhỏ hơn hay tối đa là bằng số lượng đặt

9 R9 Số lượng nhập phải lớn hơn 0, tổng tiền nhập phải lơn hơn 0, đơn giá nhập lớn hơn 0

10 R10 Tập giá trị ma_nhomsp được tìm thấy trong quan hệ SANPHAM phải được tìm thấy trong tập các giá trị

ma_nhomsp trong quan hệ NHOMSANPHAM

Trang 31

-

-

+(SOLUONG) +(DONGIA)

Trang 32

Quan hệ Thêm Xóa Sửa

-

-

+ (MA_NHOMSP) +(MA_NHOMSP)

3.2 THIẾT KẾ

3.2.1 Sơ đồ use case

Khach hang

Quan ly tai khoan

Xem chi tiet san pham

Tim kiem san pham

Xem san pham theo loai

Trang 33

Nhan vien quan ly

Quan ly User

Quan ly san pham

Quan ly don hang

Them tai khoan

Xoa tai khoan

Sua tai khoan

Xem DS san pham

Them san pham

Xoa san pham

Sua san pham

Xem DS don hang

Xem chi tiet don hang

Dang nhap <<extend>>

Tiêu đề: Đăng nhập vào hệ thống

Tóm tắt: Usecase này cho phép người dùng đăng nhập vào hệ thống, để thực hiện các quá trình đặt hàng

Actor: Người dùng

Mô tả kịch bản:

Trang 34

Bảng 3.1 Mô tả kịch bản Use case Đăng nhập

Mức:

Đảm bảo thành công: Hiển thị giao diện người đăng nhập vào, thông tin đăng nhập thành công

Chuỗi sự kiện chính:

1 Hệ thống hiển thị form đăng nhập và yêu cầu người dùng nhập thông tin đăng nhập vào

2 Người dùng nhập thông tin đăng nhập và nhấn đăng nhập

3 Hệ thống kiểm tra thông tin đăng nhập và xác nhận thông tin đăng nhập hợp lệ

4 Hệ thống thông báo đã đăng nhập thành công

5 Người dùng thao tác trên trang web

Ngoại lệ:

3a Hệ thống thông báo thông tin đăng nhập không hợp lệ

3a1 Hệ thống thông báo tên người dùng hoặc mật khẩu không hợp lệ

3a2 Người dùng chỉnh sửa thông tin đăng nhập

3a3 Hệ thống thông báo đăng nhập thành công

 Đăng kí thành viên:

Tóm tắt định danh:

Tiêu đề: Đăng kí thành viên

Tóm tắt: Usecase đăng ký thành viên cho phép khách hàng mới đăng ký làm thành viên của công ty để đặt mua sản phẩm của công ty

Actor: Người dùng

Mô tả kịch bản:

Bảng 3.2 Mô tả Use case Đăng kí thành viên

Mức:

Trang 35

Người chịu trách nhiệm: Khách hàng

Đảm bảo tối thiểu: Khách hàng đăng kí thành viên thành công, đăng nhập hệ thống thành công

Chuỗi sự kiện chính:

1 Hệ thống hiển thị form đăng kí và yêu cầu khách hàng nhập thông tin đăng kí vào

2 Khách hàng nhập đầy đủ thông tin đăng kí và nhấn đăng kí thành viên

3 Hệ thống kiểm tra thông tin đăng kí và xác nhận thông tin đăng kí hợp lệ

4 Hệ thống thông báo đã đăng kí thành công

5 Khách hàng thao tác trên trang web

Ngoại lệ:

3a Hệ thống thông báo khách hàng này đã có trong CSDL

3a1 Khách hàng thêm thông tin vào

3a2 Hệ thống thông báo đã thêm thông tin thành công

3b Hệ thống thông báo thông tin đăng ký không hợp lệ

3b1 Hệ thống yêu cầu khách hàng nhập lại thông tin

3b2 Khách hàng nhập lại thông tin đăng ký

Bảng 3.3 Mô tả kịch bản Use case Đăt hàng

Mức:

Trang 36

Đảm bảo tối thiểu: Xóa bỏ hóa đơn

Đảm bảo thành công: Hiển thị giỏ hàng để đặt hàng và lưu thành công thông tin đặt hàng

Chuỗi sự kiện chính:

1 Hệ thống hiển thị form đặt hàng và yêu cầu người sử dụng điền vào thông tin đặt hàng

2 Người dùng điền đầy đủ thông tin yêu cầu và nhấn đặt hàng

3 Hệ thống kiểm tra thông tin đặt hàng và xác nhận hợp lệ của thông tin

4 Hệ thống lưu thông tin đặt hàng vào giỏ hàng của người dùng

Bảng 3.4 Mô tả kịch bản Use case Tìm kiếm

Mức:

Đảm bảo tối thiểu:

Chuỗi sự kiện chính:

1.Hệ thống hiển thị form tìm kiếm và yêu cầu người sử dụng nhập thông tin cần tìm 2.Người dùng nhập thông tin cần tìm

3.Hệ thống xác nhận thông tin cần tìm

Trang 37

Bảng 3.5 Mô tả kịch bản Use case Cập nhật sản phẩm

Mức:

trên trang web Chuỗi sự kiện chính:

1.Người quản lý chọn chức năng cập nhật của hệ thống

2.Hệ thống yêu cầu nhập thông tin thuốc cần cập nhật

3.Hệ thống kiểm tra tính hợp lệ của thông tin cần cập nhật

4.Cập nhật lại thông tin trong CSDL

Ngoại lệ:

3a Thông tin đúng cập nhật vào CSDL

3b Thông tin sai yêu cầu nhập lại

Trang 38

3.2.3 Xây dựng các lớp thực thể

 Các lớp quan trọng:

 Lớp KHACHHANG:

KHACHHANG +

+ + + + + +

MA_KH HOTEN_KH DIACHI_KH SODT_KH EMAIL_KH TENDANGNHAP_KH MATKHAU_KH

: String : String : String : String : String : String : String +

+ + + + + +

Dangnhap () Timkiem () Dathang () Themkh () Suakh () Xoakh () Hienthikh ()

: int : int : int : String : String : String : String

Hình 3.3 Lớp khách hàng

Diễn giải: Thể hiện các thông tin của Khách Hàng, bao gồm Mã khách hàng,

Họ tên khách hàng, Địa chỉ, Số điện thoại, Email, Tên đăng nhập và Mật khẩu Trong đó MA_KH (Mã khách hàng) làm khóa chính

Danh sách các phương thức lớp KHACHHANG:

Đăng nhập Tìm kiếm Đặt hàng Sửa thông tin khách hàng Thêm khách hàng mới Xóa khách hàng Hiển thị khách hàng

 Lớp NHANVIEN:

Trang 39

NHANVIEN +

+ + + + +

MA_NV HOTEN_NV GIOITINH_NV DIACHI_NV SODT_NV MATKHAU_NV

: String : String : boolean : String : String : String +

+ + + + + + +

Dangnhap () Capnhatdanhmuc () Capnhatsp () Timkiem () Lapphieunhap () Lapphieuxuat () Kiemtradathang () Thongke ()

: int : int : int : int : int : int : int : int

Hình 3.4 Lớp nhân viên

Diễn giải: Thể hiện các thông tin của nhân viên bao gồm Mã nhân vên, Họ tên nhân viên, Số điện thoại, Địa chỉ, Giới tính và Mật khẩu Trong đó MA_NV (Mã nhân viên) làm khóa chính

Danh sách các phương thức lớp NHANVIEN:

Bảng 3.7 Phương thức lớp nhân viên

Lapphieunhap Lapphieuxuat Kiemtradathang Thongke

Đăng nhập Cập nhật sản phẩm Cập nhật danh mục Tìm kiếm

Lập phiếu nhập Lập phiếu xuất Kiểm tra đơn đặt hàng Thống kê

 Lớp NHOMSANPHAM:

NHOMSANPHAM +

+

MA_NHOMSP TEN_NHOMSP

: double : String +

+ + +

Themnsp () Suansp () Xoansp () Hienthinsp ()

: String : String : String : String

Hình 3.5 Lớp nhóm sản phẩm

Trang 40

Diễn giải: Thể hiện thông tin của nhóm sản phẩm bao gồm Mã nhóm sản phẩm, Tên nhóm sản phẩm Trong đó MA_NHOMSP (Mã nhóm sản phẩm) làm khóa chính

Danh sách các phương thức lớp NHOMSANPHAM:

Thêm nhóm sản phẩm mới Sửa thông tin nhóm sản phẩm Xóa nhóm sản phẩm

Hiển thị nhóm sản phẩm

 Lớp SANPHAM:

SANPHAM +

+ + + + + +

MA_SP TEN_SP THONGTIN_SP HINHANH_SP GIA_SP LUOTXEM GHICHU_SP

: double : String : String : String : double : int : String +

+ + +

Themsp () Suasp () Xoasp () Hienthisp ()

: String : String : String : String

Hình 3.6 Lớp sản phẩm

Diễn giải: Thể hiện thông tin của lớp sản phẩm bao gồm Mã sản phẩm, Tên sản phẩm, Thông tin sản phẩm, Hình ảnh sản phẩm, Giá và Ghi chú Trong đó MA_SP (Mã sản phẩm) làm khóa chính

Danh sách các phương thức lớp SANPHAM:

Thêm sản phẩm mới Sửa thông tin sản phẩm Xóa sản phẩm

Hiển thị nhóm sản phẩm

Ngày đăng: 22/12/2015, 13:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Võ Hải Đăng. Bìa giảng Xây dựng ứng dụng Web với PHP &amp; MySQL. Khoa Khoa Học Tự Nhiên, Đại Học Cần Thơ, 2013 Sách, tạp chí
Tiêu đề: Bìa giảng Xây dựng ứng dụng Web với PHP & MySQL
[2]. Nguyễn Đức Khoa, Giáo trình Hệ Quản Trị Cơ Sở Dữ Liệu Căn Bản, Bộ môn Tin Học Ứng Dụng, Khoa Khoa Học Tự Nhiên, Trường Đại Học Cần Thơ Sách, tạp chí
Tiêu đề: Giáo trình Hệ Quản Trị Cơ Sở Dữ Liệu Căn Bản
[3]. Nguyễn Đức Khoa, Giáo trình Thiết Kế Hệ Thống Thông Tin, Bộ môn Tin Học Ứng Dụng, Khoa Khoa Học Tự Nhiên, Trường Đại Học Cần Thơ Sách, tạp chí
Tiêu đề: Giáo trình Thiết Kế Hệ Thống Thông Tin
[4]. Phạm Thị Xuân Lộc, “Phân tích và thiết kế hệ thống thông tin”, Cần Thơ, 2012 Sách, tạp chí
Tiêu đề: Phân tích và thiết kế hệ thống thông tin
[5]. Nguyễn Minh Trung, Giáo trình Hệ Quản Trị Cơ Sở Dữ Liệu Nâng Cao, Bộ môn Tin Học Ứng Dụng, Khoa Khoa Học Tự Nhiên, Trường Đại Học Cần Thơ Sách, tạp chí
Tiêu đề: Giáo trình Hệ Quản Trị Cơ Sở Dữ Liệu Nâng Cao
[7]. User guide CodeIgniter: http://ellislab.com/codeigniter/user-guide/index.html Link

HÌNH ẢNH LIÊN QUAN

Hình 3.29 Sơ đồ lớp - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.29 Sơ đồ lớp (Trang 54)
Hình 3.30 Mô hình ER - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.30 Mô hình ER (Trang 55)
Hình 3.32 Sơ đồ tuần tự đăng nhập - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.32 Sơ đồ tuần tự đăng nhập (Trang 56)
Hình 3.33 Sơ đồ tuần tự đăng kí thành viên - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.33 Sơ đồ tuần tự đăng kí thành viên (Trang 57)
Hình 3.34 Sơ đồ tuần tự Thêm sản phầm - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.34 Sơ đồ tuần tự Thêm sản phầm (Trang 58)
Hình 3.35 Sơ đồ tuần tự Đặt hàng - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.35 Sơ đồ tuần tự Đặt hàng (Trang 59)
Hình 3.36 Sơ đồ tuần tự Tìm kiếm - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.36 Sơ đồ tuần tự Tìm kiếm (Trang 60)
Hình 3.39 Quản lý sản phẩm - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.39 Quản lý sản phẩm (Trang 70)
Hình 3.48 Trang chủ - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.48 Trang chủ (Trang 78)
Hình 3.49 Giao diện tin tức – sự kiện - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.49 Giao diện tin tức – sự kiện (Trang 79)
Hình 3.50 Sản phẩm mới - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.50 Sản phẩm mới (Trang 80)
Hình 3.51 Hướng dẫn mua hàng - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.51 Hướng dẫn mua hàng (Trang 81)
Hình 3.52 Đăng kí thành viên - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.52 Đăng kí thành viên (Trang 82)
Hình 3.57 Thông tin hóa đơn đặt hàng - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 3.57 Thông tin hóa đơn đặt hàng (Trang 85)
Hình 9. Thống kê doanh thu theo tháng của từng năm - xây dựng website quản lý cửa hàng văn phòng phẩm
Hình 9. Thống kê doanh thu theo tháng của từng năm (Trang 100)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w