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

Xây dựng website bán hàng sử dụng framework codeigniter

58 703 2

Đ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 58
Dung lượng 3,35 MB

Nội dung

✓ Nhược điểm của hệ thống kinh doanh truyền thống: ● Thống kê khó khăn:Khó liệt kê một cách chính xác ,nhanh chóng số lượng sản phẩm đã bán ra và còn tồn kho;khó nắm bắt một cách đầy đủ

Trang 1

VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TIN

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Đề tài: Xây dựng website bán hàng sử dụng framework CodeIgniter

Giảng viên hướng dẫn : TS.ĐặNG HảI ĐĂNG Sinh viên thực hiện: NGUYễN THị THU PHƯƠNG

Lớp : K16A Khoá : 2013-2017

Hệ : Đại học chính quy

Hà Nội, tháng 2 /2017

Trang 2

VIỆN ĐẠI HỌC MỞ HÀ NỘI CỘNG HOÀ XÃ HỘI CHỦ NGHĨA

VIỆT NAM

Độc lập - Tự do – Hạnh phúc

KHOA CN ĐIỆN TỬ - THÔNG TIN

ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Họ và tên sinh viên: Nguyễn Thị Thu Phương

Ngành đào tạo: Công nghệ Kỹ thuật điện tử, Truyền thông Hệ đào tạo:

ĐHCQ

1/ Tên đề tài TTTN:

Xây dựng website thương mại điện tử sử dụng framework CodeIgniter

2/ Nội dung chính:

Phần 1:Cơ sở lí thuyết và công nghệ gồm 2 chương

Chương 1: Đặt vấn đề bài toán và cách giải quyết bài toán

Chương 2: Giới thiệu nền tảng xây dựng website:FrameworkCodeIgniter

Phần 2:Xây dựng website gồm 2 chương

Chương 3: Mô tả các chức năng và phân tích thiết kế hệ thống

Chương 4: Xây dựng website dựa trên Framework CodeIgniter

3/ Cơ sở dữ liệu ban đầu

……… ……… ……….………

……… ……….………

……… ……….………

……… ……….………

4/ Ngày giao :06 /02/2017

5/ Ngày nộp:15/05/2017

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

Trang 3

Mở ĐầU

Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ cả về chất

và về lượng.Cùng với đó, đã đưa việc bán hàng trực tuyến lên một tầm cao mới, phát triển hơn cả về chiều rộng và chiều sâu Website bán hàng đã trở thành một phần không thể thiếu với bất cứ công ty, tổ chức hay nhà bán lẻ nào Nó giúp đưa sản phẩm tới gần khách hàng hơn theo cách nhanh nhất, thuận tiện nhất, và hiệu quả hơn bao giờ hết cho cả người bán và người mua.Chưa bao giờ việc mua hàng lại sễ dàng như hiện nay, khách hàng chỉ cần một thao tác trên máy tính hay điện thoại thông minh có kết nối internet là có thể mua mọi thứ mình muốn

Từ những lý do trên, em quyết định chọn đề tài “Xây dựng website bán hàng dựa trên framework CodeIgniter” –xây dựng một website bán các sản phẩm liên qua đến GYM, gồm 3 loại sản phẩm.Sử dụng một trong những framework phổ biến nhất của ngôn ngữ PHP đó là CodeIgniter Thông qua đó em nắm rõ hơn về lĩnh vực thương mại điện tử và các kỹ năng ứng dụng lập trình cho website bán hàng trên một framework một cách hiệu quả

Báo cáo tốt nghiệp của em bố cục gồm bốn chương:

✓ Chương 1:Đặt vấn đề và định hướng giải pháp

✓ Chương 2:Giới thiệu nền tảng công nghệ Framework CodeIgniter

✓ Chương 3:Mô tả các chức năng và phân tích thiết kế hệ thống

✓ Chương 4:Xây dựng website dựa trên framework CodeIgniter

Bằng sự cố gắng nỗ lực của bản thân và đặc biệt là sự giúp đỡ tận tình, chu đáo của giảng viên TS Đặng Hải Đăng, em đã hoàn thành đồ án đúng thời hạn Do thời gian làm đồ án có hạn và trình độ còn nhiều hạn chế nên em không thể tránh khỏi những thiếu sót Em rất mong nhận được sự đóng góp ý kiến của các thầy cô cũng như

là của các bạn sinh viên để đồ án này hoàn thiện hơn nữa Em xin chân thành cảm ơn giảng viênTS Đặng Hải Đăng đã tạo điều kiện và giúp đỡ em trong thời gian qua

Trang 4

NHậN XÉT

Trang 5

MụC LụC

PHẦN 1:CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 9

CHƯƠNG 1:ĐẶT VẤN ĐỀ BÀI TOÁN VÀ ĐỊNH HƯỚNG GIẢI PHÁP 9

1.1 Đặt vấn đề bài toán 9

1.2 Định hướng giải pháp 9

CHƯƠNG 2:GIỚI THIỆU FRAMEWORK CODEIGNITER 11

2.1 Giới thiệu tổng quan về PHP framework 11

2.2 Lý do chọn framework CodeIgniter 12

2.3 Cấu trúc thư mục của CodeIgniter 14

2.4 Hoạt động của framework CodeIgniter 16

PHẦN 2:XÂY DỰNG WEBSITE SỬ DỤNG FRAMEWORK CODEIGNITER 18 CHƯƠNG 3:MÔ TẢ CHỨC NĂNG HỆ THỐNG VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 18

3.1 Mô tả chức năng hệ thống 18

3.1.1 Đối với khách hàng truy cập đến website 18

3.1.2 Đối với người quản trị website 19

3.2 Phân tích và thiết kế hệ thống 19

3.2.1 Phân tích yêu cầu người dùng 19

3.2.2 Thiết kế hệ thống 20

3.2.2.1:Xác định các Actor và Usecase của hệ thống 20

3.2.2.2 Biểu đồ phân cấp chức năng 21

3.2.2.3 Biểu đồ luồng dữ liệu mức bối cảnh 22

3.2.2.4 Biểu đồ luồng dữ liệu ở mức đỉnh 23

3.2.2.5 Biểu đồ Usecase 24

3.2.2.6 Lược đồ cơ sở dữ liệu 28

3.2.2.7 Đặc tả Use-case,biểu đồ lớp tham gia ca sử dụng và biểu đồ trình tự 28 3.2.3.Thiết kế cơ sở dữ liệu 41

CHƯƠNG 4 XÂY DỰNG WEBSITE DỰA TRÊN FRAMEWORK CODEIGNITER 45

4.1 Các kĩ thuật áp dụng để xây dựng ứng dụng 45

4.2 Giao diện các chức năng của website 50

TÀI LIỆU THAM KHẢO 58

Trang 6

DANH MỤC HÌNH ảNH

Hình 1 1 Mô hình MVC 11

Hình 1 2 Cấu trúc thư mục framework CodeIgniter 14

Hình 1 3 Dòng chảy dữ liệu của CodeIgniter 16

Hình 3 1 Biểu đồ phân cấp chức năng 21

Hình 3 2 Biểu đồ luồng dữ liệu mức bối cảnh 22

Hình 3 3 Biểu đồ luồng ở mức đỉnh 23

Hình 3 4 Sơ đồ Usecase của người dùng và thành viên 24

Hình 3 5 Sơ đồ Usecase tra cứu thông tin của khách hàng 25

Hình 3 6 Sơ đồ Usecase của ban quản trị 26

Hình 3 7 Sơ đồ Usecase quản lí bán hàng 27

Hình 3 8 Sơ đồ Usecase thanh toán 28

Hình 3 9 Lược đồ cơ sở dữ liệu 28

Hình 4 1 Sơ đồ hoạt động quá trình đăng nhập của người dùng 45

Hình 4 2 Quá trình thêm sản phẩm vào giỏ hàng 47

Hình 4 3 Mô tả phân trang 48

Hình 4.4 Trang chủ 50

Hình 4.5 Danh sách các danh mục sản phẩm và loại sản phẩm tương ứng 51

Hình 4.6 Danh sách sản phẩm mới 51

Hình 4.7 Chi tiết sản phẩm 52

Hình 4.8 Tìm kiếm theo text có chức năng tự gợi ý sản phẩm 52

Hình 4.9 Thông tin giỏ hàng 53

Hình 4.10 Đăng kí thành viên 53

Hình 4.11 Chỉnh sửa thông tin thành viên 54

Hình 4.12 Quản lý sản phẩm 54

Hình 4.13 Thêm sản phẩm mới 54

Hình 4.14 Quản lý danh mục sản phẩm 55

Hình 4.15 Quản lý danh sách admin 55

Hình 4.16 Quản lí tin tức 55

Hình 4.17 Quản lý giao dịch 56

Hình 3.18 Chi tiết đơn hàng 56

Trang 7

DANH MỤC CÁC BẢNG

Bảng 1 1 Danh sách thư viện của CodeIgniter 16

Bảng 3 1 Cấu trúc dữ liệu bảng sản phẩm(Product) 41

Bảng 3 2 Cấu trúc dữ liệu bảng tin tức(News) 42

Bảng 3 3 Cấu trúc dữ liệu bảng danh mục sản phẩm(Catalog) 42

Bảng 3 4 Cấu trúc dữ liệu bảng Liên hệ và Support(Contact) 42

Bảng 3.5 Cấu trúc dữ liệu bảng chi tiết đơn hàng(Order) 43

Bảng 3.6 Cấu trúc dữ liệu bảng Slide(Slide) 43

Bảng 3.7 Cấu trúc dữ liệu bảng Support 43

Bảng 3.8Cấu trúc dữ liệu bảng Giao dịch(Transaction) 44

Bảng 3.9 Cấu trúc dữ liệu bảng Người dùng(User) 44

Trang 8

KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT

PHP: (viết tắt của cụm từ Personal Home Page) là ngôn ngữ lập trình kịch

bản (scripting language) mã nguồn mở được dùng phổ biến để ra tạo các ứng dụng

web chạy trên máy chủ

MVC: (viết tắt của Model – View – Controller) là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Nói cho dễ hiểu, nó là

mô hình phân bố source code thành 3 phần, mỗi thành phần có một nhiệm vụ riêng

biệt và độc lập với các thành phần khác

XSS: (viết tắt của Cross-site Scripting) là lỗ hổng cho phép hacker có thể

chèn những đoạn mã client-script (thường là Javascript hoặc HTML) vào trang web, khi người dùng vào những trên web này, mã độc sẽ được thực thi trên máy của người

dùng

SQL Injection:là một kỹ thuật tấn công vào câu lệnh cơ sở dữ liệu thông qua

chèn các đoạn mã độc vào SQL để đánh lạc hướng xử lý với mục đích phá hủy dữ liệu

hoặc ăn cắp

URL:( viết tắt của Uniform Resource Locator) được sử dụng để tham chiếu tới tài nguyên trên mạng Internet URL tạo nên khả năng siêu liên kết cho các website Mỗi tài nguyên khác nhau lưu trữ trên Internet được gán bằng một địa chỉ chính xác, địa chỉ đó chính là URL

FTP: ( viết tắt của File Transfer Protocol:Giao thức chuyển nhượng tập tin)

là một giao thức giúp bạn dễ dàng trao đổi các dữ liệu giữa máy tính của bạn với host

và ngược lại

HTML: (viết tắt củaHyperText Markup Language:Ngôn ngữ đánh dấu siêu văn bản) Nó dùng để định dạng bố cục, các thuộc tính liên quan đến cách hiển thị của một đoạn text và được hiển thị trên một chương trình đặc biệc ta gọi là Browser

URI: (viết tắt của Uniform Resource Identifier ) là một chuỗi kí tự được sử

dụng để định danh tên, hoặc tài nguyên trên Internet Việc định danh này cho phép

tương tác với các tài nguyên trên mạng sử dụng một giao thức xác định

HTTP: (viết tắt của HyperText Transfer Protocol: giao thức truyền tải siêu

văn bản) là một giao thức ứng dụng trong bộ các giao thức TCP/IP (gồm một nhóm các giao thức nền tảng cho internet) HTTPhoạt động dựa trên mô hình Client – Server

Trang 9

Báo cáo thực tập tốt nghiệp Đại học Chương 1 Đặt vấn đề bài toán

và định hướng giải pháp

PHẦN 1:CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

CHƯƠNG 1:ĐẶT VẤN ĐỀ BÀI TOÁN

VÀ ĐỊNH HƯỚNG GIẢI PHÁP 1.1.Đặt vấn đề bài toán

✓ Hiện nay khi đời sống con người càng ngày càng được cải thiện, thì họ lại càng quan tâm hơn tới việc luyện tập thể dục thể thao nói chung và tập thể hình nói riêng để tăng cường sức khỏe Cùng với đó việc chi tiêu cho các sản phẩm như thực phẩm hỗ trợ hay đồ tập, dụng cụ tập thể hình lại càng tăng cao Để đáp ứng nhu cầu đó,không chỉ đòi hỏi các nhà kinh doanh phải có mặt hàng phong phú, chất lượng mà còn phải đưa sản phẩm đến với người tiêu dùng một cách nhanh nhất, trực quan nhất

✓ Nhược điểm của hệ thống kinh doanh truyền thống:

● Thống kê khó khăn:Khó liệt kê một cách chính xác ,nhanh chóng số lượng sản phẩm đã bán ra và còn tồn kho;khó nắm bắt một cách đầy đủ những thông tin,sởthích,yêu cầu của khách hàng(khó thu thập thông tin người dùng)

Ưu điểm:

* Thống kê dễ dàng,nhanhchóng:Thống kê nhanh,một cách chính xác số lượng sản phẩm đã bán ra và tồn kho.Dễ dàng thu thập thông tin từ người dùng để nắm bắt một cách đầy đủ những thông tin,sởthích,thói quen mua sắm,yêu cầu và ý kiến của khách hàng

* Chi phí mặt bằng thấp

* Chi phí quảng cáo và marketing giảm:Chúng ta có thể áp dụng những hình thức marketing online hoặc SEO để quảng cáo cho sản phẩm của chúng ta

* Cập nhật thông tin sản phẩm ngay lập tức

* Bán hàng chủ động:Cửa hàng không bao giờ đóng cửa,phục vụ 24h/24h,khách hàng không tốn thời gian đi lại và có thể mua hàng bất cứ lúc nào

* Không bị giới hạn không gian địa lí giữa người bán và người mua

Trang 10

Báo cáo thực tập tốt nghiệp Đại học Chương 1 Đặt vấn đề bài toán

và định hướng giải pháp

Phạm vi của hệ thống:

* Phạm vi áp dụng:Trên môi trường web,mọi thiết bị có kết nối internet

* Đối tượng sử dụng:Mọi đối tượng,tất cả mọi đối tượng đều có thể giao dịch mua bán và tham khảo mọi thông tin tại website thay vì đến trực tiếp cửa hàng

Công cụ và công nghệ phát triển website:

* Sử dụng công cụ xampp để tạo môi trường server ảo sử dụng cơ sở dữ liệu mysql

* Sử dụng phần mềm Sublime Text 3 để lập trình

* Sử dụng phần mềm Photoshop để chỉnh sửa ảnh thiết kế

* Sử dụng công nghệ framework CodeIgniter

* Các ngôn ngữ sử dụng:HTML,CSS,Javascript,Jquery,Json,PHP

Trang 11

Báo cáo thực tập tốt nghiệp Đại học Chương 2 Giới thiệu Framework Codeigniter

CHƯƠNG 2:GIỚI THIỆU FRAMEWORK CODEIGNITER 2.1.Giới thiệu tổng quan về PHP framework

Như chúng ta đã biết, PHP (viết tắt hồi quy của PHP Hypertext Preprocessor) là một ngôn ngữ script rất phổ biến hiện nay bởi những lý do: mã nguồn mở, linh hoạt, công cụ mạnh mẽ, dễ học, dễ sử dụng và hoàn toàn miễn phí Lập trình viên có thể sử dụng PHP để tạo ra các trang web tin tức, giải trí, giáo dục, thương mai điện tử…Tuy nhiên mã PHP mà lập trình viên tạo ra sẽ trở nên đơn điệu, lủng củng, trùng lặp, đôi khi còn tạo ra các lỗ hổng cho website Đó là lúc lập trình viên cần đến PHP Framework Nói một cách dễ hiểu Framework là một thư viện, bộ khung chứa sẵn các

“vật liệu” ở nhiều lĩnh vực khác nhau, lập trình viên chỉ việc gọi ra sử dụng mà không cần mất nhiều thời gian để tự thiết kế trước khi dùng

PHP framework làm cho sự phát triển của các ứng dụng web viết bằng PHP trở nên trôi chảy, ngắn gọn, mạnh mẽ và bảo mật hơn bằng cách cung cấp một cấu trúc cơ bản để xây dựng những ứng dụng đó Hay nói cách khác PHP framework cung cấp các tiện ích, thư viện, các đoạn mã dựng sẵn giúp lập trình viên tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng, tối ưu và giảm thiểu sự lặp đi lặp lại các đoạn mã Ngoài ra PHP framework có thể tương tác chính xác với cơ sở dữ liệu (Database) và tách phần mã PHP ra khỏi giao diện giúp ứng dụng ổn định hơn và dễ quản lý hơn Điều này cho phép lập trình viên dành nhiều thời gian để tạo ra các ứng dụng web hơn

là phí thời gian để viết các đoạn mã lặp lại trong một ứng dụng viết bằng PHP thuần PHP framework được thiết kế theo một mô hình chuẩn để lập trình viên có thể

dễ dàng sử dụng, quản lý và bảo trì ứng dụng Đa số các frameword hiện nay đều chọn MVC làm mô hình thiết kế ứng dụng MVC là viết tắt của Model View Controller cho phép tách biệt các mã nghiệp vụ (bussiness logic) và giao diện thành các phần riêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng một cách riêng lẻ Mô hình MVC gồm ba thành phần: Model, View và Controller

Hình 1 1 Mô hình MVC

Trang 12

Báo cáo thực tập tốt nghiệp Đại học Chương 2 Giới thiệu Framework Codeigniter

Trong đó:

● Model (Tầng dữ liệu): là một đối tượng hoặc một tập hợp đối tượng biểu

diễn cho phần dữ liệu của ứng dụng Model có nhiệm vụ tương tác đến dữ liệu trong

cơ sở dữ liệu, thường là các thao tác thay đổi dữ liệu như thêm, xóa, sửa, truy vấn dữ liệu… Nếu dữ liệu trong Model thay đổi thì ngoài View sẽ được cập nhật lại

● View (Tầng giao diện): là thành phần thể hiện dữ liệu trong Model thành các

giao diện tương tác với người dùng View cung cấp các menu, nút bấm, hộp đối thoại,chọn lựa, các checkbox… để người dùng có thể thêm, xóa, sửa, truy xuất hay tìm kiếm dữ liệu trong hệ thống Thông thường các thông tin hiển thị trên View được lấy từ Model

● Controller (Tầng điều khiển): đóng vai trò trung gian giữa Model và View,

là tầng chịu trách nhiệm xử lý các tác động từ giao diện View Sau khi xử lý các yêu cầu được gửi từ người dùng Controller sẽ tương tác đến Model để lấy các dữ liệu cần thiết để đáp ứng các yêu cầu vừa được gửi Cuối cùng Controller trả dữ liệu này về cho View

2.2.Lý do chọn framework CodeIgniter

CodeIgniter là một nền tảng ứng dụng web mã 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 vào ngày 28/02/2006,CodeIgniter đã được nâng cấp lên phiên bản 2.2.6 phát hành vào ngày 10/2015 và hiện tại đang là bản 3.0.6 đang được phát triển bởi ExpressionEngine Development Team thuộc EllisLab, Inc

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

Được thiết kế theo mô hình MVC (Model – View – Controller)

✓ Mô hình MVC giúp tách thành phần hiển thị giao diện và phần xử lý của một ứng dụng thành các phần riêng biệt, từ đó dễ quản lý, bảo trì và nâng cấp ứng dụng.CodeIgniter đã sử dụng mô hình này để tách các tập tin giao diện ra khỏi các tập tin xử lý dữ liệu để người thiết kế dễ dàng thay đổi giao diện, nâng cấp và bảo trì website

Tốc độ

✓ CodeIgniter là một trong những framework có tốc độ xử lý nhanh nhất Với

cơ chế lưu nội dung người dùng truy xuất vào bộ đệm (cache), kiểm tra bộ đệm trước khi thực hiện, nếu tồn tại sẽ lấy ra ngược lại sẽ thực hiện gửi yêu cầu người dùng Như

vậy sẽ làm giảm lượt truy cập đến cơ sở dữ liệu, tối ưu hóa tốc độ

Trang 13

Báo cáo thực tập tốt nghiệp Đại học Chương 2 Giới thiệu Framework Codeigniter

✓ CodeIgniter khá thân thiện với người dùng, trong file download về có kèm theo một bản hướng dẫn khá đầy đủ và ví dụ minh họa về từng phần, giải thích chi tiết CodeIgniter rất phù hợp với người mới làm quen với lập trình

Thư viện phong phú

CodeIgniter hỗ trợ khá đầy đủ các tiện ích thông dụng cho phép phát triển các ứng dụng phổ biến nhất như gửi thư, quản lý session, giỏ hàng, truy cập cơ sở dữ liệu,

xử lý ảnh … đến các chức năng bảo mật, mã hóa…

Search Engine Optimization

Cấu trúc URL được tạo bởi CodeIgniter rất đơn giản và thân thiện Thay vì sử dụng các chuỗi truy vấn tiêu chuẩn tiếp cận đến các URL thì CodeIgniter sử dụng một cách tiếp cận dựa vào các phân khúc (segment)

Trang 14

Báo cáo thực tập tốt nghiệp

tin ngôn ngữ, helpers, font…

gọi thư viện hay helper cần thi

Hình 1 2 Cấu trúc thư mục framework CodeIgniter

p tin index.php (hàng thứ 2 từ dưới lên của hình 2) được xem l

ừ từ phía người dùng và gửi về hệ thống xử lý d

c user_guide: chứa các tập tin web hướng dẫn các s

m các hướng dẫn cài đặt,cấuhình,cập nhật phiên bản m

ột lập trình viên mới bắt đầu thì đây là cuốn sách thích h

c system: là thành phần cốt lõi của hệ thống, chứa các th, helpers, font…đã được dựng sẵn của CodeIgniter Lập trình viên ch

ần thiết ra sử dụng mà không cần phải định nghĩ

c application: là nơi chứa các tập tin được lập trình cho

ó có một số thư mục, tập tin quan trọng như:

à bộ đệm của hệ thống,chứa các trang đã đưùng nhằm giảm lượt truy cập đến cơ sở dữ liệ

được xử lý trước

ữ liệu và tăng tốc

Trang 15

Báo cáo thực tập tốt nghiệp Đại học Chương 2 Giới thiệu Framework Codeigniter

✓ Thư mục config: chứa các tập tin cấu hình hệ thống như: autoload.php, config.php, database.php, routes.php…

✓ Thư mục errors: chứa các tập tin lỗi, các tập tin này sẽ được gọi khi ứng dụng xảy ra lỗi, như lỗi không tìm thấy là tập tin error_404.php…

✓ Thư mục helpers: chứa các tập tin do lập trình viên tự định nghĩa, trong các tập tin này chứa các hàm hỗ trợ khi viết ứng dụng

✓ Thư mục libraries: chứa các tập tin tự định nghĩa giống helper, nhưng thư mục này chứa các tập tin thư viện

✓ Thư mục controllers: chứa các lớp controller để nhận các yêu cầu từ người dùng và truyền đến model

✓ Thư mục models: chứa các lớp model để tương tác với cơ sở dữ liệu

✓ Thư mục views: chứa các lớp view để hiển thị giao diện cho người sử dụng tương tác với ứng dụng

Để tăng khả năng bảo mật cho ứng dụng lập trình viên có thể đưa thư mục application vào trong system mà không cần cấu hình lại Và thay đổi tên của thư mục application thành tên tùy ý Sau khi đổi tên,cần thiết lập lại tên mới cho biến

$application_folder trong tập tin index.php Thư mục system cũng có thể đổi tên tùy ý

và cũng phải thiết lập lại tên mới cho biến $system_path trong tập tin index.php

Một số thư viện của CodeIgniter Ở phiên bản 3.0.6 CodeIgniter có 29 thư viện:

Benchmarking Class Hỗ trợ đánh giá hiệu năng hệ thống

Calendar Hỗ trợ tạo lịch tự động

Cart Hỗ trợ chức năng giỏ hàng

Caching Hỗ trợ chức năng bộ đệm cache

Config Hỗ trợ cho phép lập trình viên cấu hình lại hệ thống

Database Hỗ trợ các chức năng tác động đến cơ sở dữ liệu

Encryption Hỗ trợ mã hóa và giải mã thông tin

File Uploading Hỗ trợ tải các tập tin từ máy tính lên server

Form Validation Hỗ trợ chức năng kiểm tra dữ liệu người dung

HTML Table Hỗ trợ xây dựng các bảng table tự động

Image Manipulation Hỗ trợ xử lý ảnh

Trang 16

Báo cáo thực tập tốt nghiệp Đại học Chương 2 Giới thiệu Framework Codeigniter

Input Hỗ trợ xử lý đầu vào

Javascript Hỗ trợ sử dụng javascript

Loader Hỗ trợ tải các thành phần của CodeIgniter

Language Hỗ trợ hiển thị đa ngôn ngữ

Output Hỗ trợ xuất thông tin về phía trình duyệt của người dung Pagination Hỗ trợ chức năng phân trang

Security Hỗ trợ tính năng bảo mật của hệ thống

Session Hỗ trợ xử lý session

Trackback Cho phép và nhận thông tin trackback

Template Parser Hỗ trợ xử lý mã giả trong tập tin view

Typography Hỗ trợ chức năng định dạng văn bản

Unit Testing Hỗ trợ chức năng unit testing

URI Hỗ trợ chức năng URI,cho phép lấy thông tin từ URI

User Agent Cho phép xác định thông tin trình duyệt của người

dùng,thiết bị di động hoặc robot đang truy cập website XML – RPC Cho phép gửi yêu cầu đến một XML – RPC hoặc tự xây

dựng một XML – RPC cho hệ thống Zip Encoding Hỗ trợ chức năng tạo các file dạng zip

Bảng 1 1 Danh sách thư viện của CodeIgniter

2.4.Hoạt động của framework CodeIgniter

Hình 1 3 Dòng chảy dữ liệu của CodeIgniter

Tập tin index.php được xem là controller đầu vào, thiết lập các tài nguyên

cần thiết để chạy ứng dụng CodeIgniter

Trang 17

Báo cáo thực tập tốt nghiệp Đại học Chương 2 Giới thiệu Framework Codeigniter

Routing: Routing có nhiệm vụ xem xét các yêu cầu HTTP và xác định

hướng xử lý với yêu cầu đó

Caching: Nếu dữ liệu mà người dùng yêu cầu đã có lưu trong bộ đệm

Caching thì CodeIgniter sẽ lấy dữ liệu này trả về cho người dùng mà không cần gửi yêu cầu nền về hệ thống và quá trình xử lý kết thúc

Security: Nếu trong Caching không lưu dữ liệu mà người dùng yêu cầu thì

dòng chảy sẽ chuyển đến Security Tại đây CodeIgniter sẽ lọc dữ liệu để phòng chống XXS hoặc SQL Injection Sau khi lọc, dữ liệu sẽ được chuyển đến Application Controller

Application Controller: Tại đây Controller sẽ gọi các Models, Libraries,

Helpers, Plugins, Scripts… có liên quan để xử lý dữ liệu đã nhận được

View: Dữ liệu sau khi được xử lý sẽ được trả về View dưới dạng html để

hiển thị cho người dùng Nếu chức năng Caching được bật lên thì dữ liệu này sẽ được lưu vào cache và sử dụng cho những yêu cầu tiếp theo

Trang 18

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

phân tích thiết kế hệ thống

PHẦN 2:XÂY DỰNG WEBSITE SỬ DỤNG FRAMEWORK

CODEIGNITER

CHƯƠNG 3:MÔ TẢ CHỨC NĂNG HỆ THỐNG VÀ PHÂN TÍCH

THIẾT KẾ HỆ THỐNG

3.1.Mô tả chức năng hệ thống

3.1.1 Đối với khách hàng truy cập đến website

● Chức năng xem thông tin sản phẩm và loại sản phẩm

-Sản phẩm hiển thị lên website sẽ được hiển thị đầy đủ thông tin về sản phẩm như:Hình ảnh sản phẩm,tên sản phẩm,giá,số lượt xem,mức độ đánh giá,

-Khách hàng có thể click vào từng sản phẩm để xem chi tiết hơn nữa về sản phẩm

-Các sản phẩm sẽ được phân loại theo chủng loại,nhà sản xuất.Sự phân loại này

sẽ được người dùng lựa chọn khi tham quan website

-Trên trang chủ của website,thành phần chính sẽ hiển thị một số sản phẩm mới nhất,bán chạy nhất của một trong ba danh mục sản phẩm là thực phẩm hỗ trợ, Accessories-Phụ kiện, Clothing-Sport shoes

● Chức năng xem tin tức các sản phẩm

-Khách hàng có thể xem trang tin tức cung cấp những tin tức mới nhất về sản phẩm mới được cập nhật hoặc những tin tức khuyến mãi mới nhất của website

● Chức năng giỏ hàng và thanh toán giỏ hàng

-Khi tham khảo đầy đủ thông tin về sản phẩm khách hàng có thể đặt mua sản phẩm ngay tại website thông qua chức năng giỏ hàng mà không cần phải đến địa điểm giao dịch

-Giỏ hàng được mô phỏng như giỏ hàng thực tế có thể thêm bớt và cập nhật số lượng sản phẩm hay xóa một sản phẩm nào đó hoặc xóa toàn bộ sản phẩm trong giỏ hàng

-Sau khi khách hàng thôi không mua hàng nữa và chấp nhận thanh toán thì người dùng sẽ điền các thông tin cá nhân cần thiết để có thể thanh toán

● Chức năng đăng kí thành viên và đăng nhập hệ thống

-Mỗi khách hàng có thể đăng kí làm thành viên trong hệ thống Mỗi thành viên

sẽ được lưu thông tin cá nhân của mình trong cơ sở dữ liệu của website để thuận tiện cho lần giao dịch lần sau của khách hàng

● Chức năng xem và cập nhật thông tin các nhân

-Khách hàng có thể xem lại các thông tin của mình sau khi đã có tài khoản

Trang 19

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

phân tích thiết kế hệ thống

● Chức năng liên hệ phản hồi

-Khách hàng có thể đóng góp ý kiến hoặc gửi những thắc mắc hay yêu cầu đối với các sản phẩm của webstie qua trang liên hệ

● Chức năng tìm kiếm sản phẩm

-Khách hàng có thể tìm kiếm nhanh một sản phẩm nào đó.Có 2 loại tìm kiếm

mà khách hàng có thể sử dụng ở đây đó là tìm kiếm qua tên sản phẩm có chức năng tự gợi ý, hoặc tìm kiếm qua giá sản phẩm trong khoảng từ nhỏ nhất đến lớn nhất

3.1.2 Đối với người quản trị website

Người được cấp quyền Admin sẽ được quản lí trang quản trị,sau khi thực hiện quá trình đăng nhập bằng tài khoản quyền Admin,người quản trị sẽ có các quyền sử dụng các chức năng sau:

• Quản lí tài khoản khách hàng:Người quản trị có quyền thêm,cậpnhật,xóa

bất kì một tài khoản thành viên nào đã đăng kí

● Quản lí tài khoản Admin:Người quản trị có quyền thêm,cậpnhật,xóa tài

khoản của người quản trị

● Quản lí sản phẩm:Người quản trị có quyền thêm,cập nhật hoặc xóa một sản

phẩm bất kì thuộc danh mục nào đó

● Quản lí danh mục sản phẩm:Người quản trị có quyền thêm,xóa một danh

mục sản phẩm nào đó

● Quản lí trang giới thiệu:Người quản trị có quyền thay đổi nội dung trang

giới thiệu của công ty

• Quản lí thông tin liên hệ:Người quản trị có thể xem được danh sách những

nội dung mà khách hàng liên hệ phản ánh đối với website để từ đó phản hồi qua email lại khách hàng

● Quản lí tin tức:Người quản trị có thể thêm,cập nhật hay xóa một tin tức nào

đó

● Quản lí đơn hàng:Các đơn hàng sẽ được lưu lại và thống kê với đầy đủ

thông tin giúp người quản trị dễ dàng quản lí hơn

● Quản lí ảnh slide:Người quản trị có thể thay đổi những hình ảnh slide chạy

trên trang chủ

3.2.Phân tích và thiết kế hệ thống

3.2.1 Phân tích yêu cầu người dùng

Yêu cầu của khách hàng

Trang 20

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

Thông tin sản phẩm phong phú,đa dạng

➢ Giới thiệu bày bán nhiều loại hàng,nhiều mặt hàng để khách hàng có nhiều

cơ hội lựa chọn về một loại mặt hàng.Thông tin về một sản phẩm phải chi tiết để khách hàng có thể nắm bắt rõ thông tin về sản phẩm mà mình lựa chọn.Đặc biệt là những mặt hàng được nhiều khách hàng,quan tâm lựa chọn

➢ Luôn cập nhật những sản phẩm mới nhất

● Thông tin về bảo hành sản phẩm phải rõ rang

● Cho phép khách hàng tìm kiếm nhanh chóng,chính xác và gợi ý những sản phẩm mà khách hàng định tìm kiếm

Yêu cầu của người quản trị

Ngoài những yêu cầu như của khách hàng thì hệ thống phải đảm bảo những yêu cầu sau của ban quản trị:

● Quản lí chung:Liên quan đến các thông tin khách hàng,ban quản trị,

● Cập nhật thông tin hàng hóa trực tuyến

● Dễ dàng cập nhật và thay đổi hình ảnh,thông tin chi tiết và giá của các sản phẩm

● Quản lí các đơn hàng một cách hiệu quả

● Quản lí ,lưu trữ và báo cáo thông tin về đặt hàng và trạng thái giao hàng như

đã giao hàng chưa,đã thanh toán chưa,…

✓ Tìm kiếm theo tên sản phẩm có tự động gợi ý

✓ Tìm kiếm theo mức giá từ nhỏ nhất đến lớn nhất

Trang 21

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

3.2.2.2 Biểu đồ phân cấp chức năng

Hình 3 1Biểu đồ phân cấp chức năng

Trang 22

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

phân tích thiết kế hệ thống

3.2.2.3 Biểu đồ luồng dữ liệu mức bối cảnh

Hình 3 2Biểu đồ luồng dữ liệu mức bối cảnh

Trang 23

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

phân tích thiết kế hệ thống 3.2.2.4 Biểu đồ luồng dữ liệu ở mức đỉnh

Hình 3 3Biểu đồ luồng ở mức đỉnh

Trang 24

Báo cáo thực tập tốt nghiệp

Usecase của thành viên và người dùng

4 Sơ đồ Usecase của người dùng và thành viên

c năng hệ thống và thiết kế hệ thống

ùng và thành viên

Trang 25

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

phân tích thiết kế hệ thống

Sơ đồ usecase tra cứu thông tin và sản phẩm của khách hàng

Hình 3 5 Sơ đồ Usecase tra cứu thông tin của khách hàng

Sơ đồ Usecase của người quản trị Admin

Trang 26

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

phân tích thiết kế hệ thống

Hình 3 6 Sơ đồ Usecase của ban quản trị

Trang 27

Báo cáo thực tập tốt nghiệp

Sơ đồ Usecase quả

Hình 3

Sơ đồ Usecase thanh toán

phân tích thi

Usecase quản lí bán hàng

Hình 3 7 Sơ đồ Usecase quản lí bán hàng

Usecase thanh toán

c năng hệ thống và thiết kế hệ thống

Trang 28

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

phân tích thiết kế hệ thống

Hình 3 8 Sơ đồ Usecase thanh toán 3.2.2.6 Lược đồ cơ sở dữ liệu

Hình 3 9 Lược đồ cơ sở dữ liệu 3.2.2.7 Đặc tả Use-case,biểu đồ lớp tham gia ca sử dụng và biểu đồ trình tự

A.Use-case đăng ký

Đặc tả Use-case

✓ Mô tả tóm tắt

-Tên ca sử dụng:Đăng kí

-Mục đích:Giúp khách hàng đăng kí tài khoản trên trang web

-Tóm lược:Khách hàng có nhu cầu mua các mặt hàng có trên website

-Đối tác:Khách hàng

✓ Mô tả các kịch bản:

-Tiền điều kiện:Không có

-Kịch bản chính:

1.Load Form giao diện chính

2.Khách hàng click vào menu “Đăng kí”

3.Hệ thống yêu cầu hiển thị các thông tin yêu cầu để đăng kí:tên đăng

nhập,mậtkhẩu,email,… các thông tin cá nhân liên quan khác

4.Khách hàng cung cấp các thông tin và tạo tài khoản cho khách hàng

5.Hệ thống xác nhận thông tin và tạo tài khoản cho khách hàng

6.Lấy thông tin khách hàng

7.Hệ thống trả về kết quả

8.Hiển thị

Trang 29

Báo cáo thực tập tốt nghiệp Đại học Chương 3 Mô tả chức năng hệ thống và

phân tích thiết kế hệ thống

Các kịch bản khả dĩ:Người dùng không nhập đầy đủ hoặc không tuân theo

những quy định của các trường.Người dùng cần cung cấp lại thông tin hoặc ca sử dụng kết thúc

Biểu đồ lớp tham gia ca sử dụng

Hình 3.10

Biểu đồ trình tự

Hình 3.11

Ngày đăng: 22/03/2018, 19:46

TỪ KHÓA LIÊN QUAN

w