Thực trạng của quá trình bán hàng trực tuyến, các yêu cầu đặt ra, thực hiện và ứng dụng trong thực tế - Phân tích và xác định yêu cầu của hệ thống website - Xây dựng website bán đồ handm
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
VŨ VĂN TIẾN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
HÀ NỘI – Năm 2016
Chuyên ngành: Công nghệ thông tin
XÂY DỰNG WEBSITE BÁN ĐỒ HANDMADE TRỰC TUYẾN
CHO SHOP HANDYONE
Trang 2KHOA CÔNG NGHỆ THÔNG TIN
VŨ VĂN TIẾN
Giảng viên hướng dẫn: ThS Mai Thị Thúy Hà
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
HÀ NỘI – Năm 2016
Chuyên ngành: Công nghệ thông tin
XÂY DỰNG WEBSITE BÁN ĐỒ HANDMADE TRỰC TUYẾN
CHO SHOP HANDYONE
Trang 3
VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc
Hà Nội, ngày… tháng… năm 2016
NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP
Họ và tên: Vũ Văn Tiến Lớp: 1210A06
Tên đề tài: Xây dựng website bán đồ handmade trực tuyến cho shop
HandyOne
Giảng viên hướng dẫn: ThS Mai Thị Thúy Hà
1 NHIỆM VỤ VÀ NỘI DUNG
Nhiệm vụ cụ thể của đồ án tốt nghiệp:
- Khảo sát về website bán hàng trực tuyến và sản phẩm handmade Thực trạng của quá trình bán hàng trực tuyến, các yêu cầu đặt ra, thực hiện và ứng dụng trong thực tế
- Phân tích và xác định yêu cầu của hệ thống website
- Xây dựng website bán đồ handmade trực tuyến cho shop HandyOne bao gồm các chức năng:
Xây dựng trang giao diện cho phép khách hàng xem, tìm kiếm và đặt hàng các sản phẩm của cửa hàng
Xây dựng trang quản lý với các chức năng:
Quản lý sản phẩm
Quản lý bán hàng
Quản lý tin tức
Trang 4Quản lý khách hàng
Quản lý thống kê
2 NGÀY GIAO NHIỆM VỤ: ……./……./………
3 NGÀY HOÀN THÀNH NHIỆM VỤ:……/…… /………
Nội dung và đề cương Đồ án đã được Hội đồng chuyên ngành thông qua
GIẢNG VIÊN HƯỚNG DẪN
Ngày……tháng……năm 2016
KHOA CÔNG NGHỆ THÔNG TIN
Trang 5LỜI NÓI ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin và những ứng dụng của nó trong đời sống, máy tính điện tử không còn là một thứ phương tiện
lạ lẫm đối với mọi người mà nó dần trở thành một công cụ làm việc và giải trí thông dụng và hữu ích của chúng ta, không chỉ ở công sở mà còn ngay cả trong gia đình
Trong nền kinh tế hiện nay, với xu thế toàn cầu hoá nền kinh tế thế giới, mọi mặt của đời sống xã hội ngày càng được nâng cao, đặc biệt là nhu cầu trao đổi hàng hoá của con người ngày càng tăng cả về số lượng và chất lượng.Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành thương mại hóa trên Internet Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng và tính tất yếu của thương mại điện tử Với những thao tác đơn giản trên máy có nối mạng Internet bạn sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian Bạn chỉ cần vào các trang dịch vụ thương mại điện tử, làm theo hướng dẫn và click vào những gì bạn cần Các nhà dịch vụ sẽ mang đến tận nhà cho bạn
Để tiếp cận và góp phần đẩy mạnh sự phổ biến của thương mại điện tử ở Việt
Nam, Em đã tìm hiểu và xây dựng “Website bán đồ handmade trực tuyến cho shop Handy-one” với mặt hàng là: Đồ Handmade
Qua khảo sát thực tế, ở Việt Nam cũng như các nước trên thế giới thì những món
đồ Handmade đang rất được ưa chuộng Máy móc hiện đại mang đến những sản phẩm mang tính dập khuôn tràn lan trên thị trường, rất nhiều người cảm thấy nhàm chán và muốn trở lại những thứ gần gũi thiên nhiên hơn hay đơn giản là tìm kiếm sự mới lạ và độc đáo Đồ Handmade được làm hoàn toàn bằng tay, mỗi
Trang 6sản phẩm đòi hỏi thể hiện cá tính và phong cách riêng Vì những lý do đó đồ Handmade đang rất được nhiều bạn trẻ ưa chuộng tại Việt Nam
Do thời gian có hạn, kiến thực và kinh nghiệm bản thân còn hạn chế, đồ án còn nhiều thiếu sót, em mong nhận được ý kiến đóng góp quý báu từ quy thầy cô để
đồ án được hoàn thiện hơn Em xin cảm ơn!
Qua đây, em cũng xin gửi lời cảm ơn đến các thầy cô trong Khoa Công nghệ thông tin - Viện Đại học Mở Hà Nội Các thầy cô đã theo sát em trong quá trình học tập, khảo sát hệ thống, giải đáp những thắc mắc trong quá trình làm đồ án vừa qua Đặc biệt em xin gửi lời cảm ơn đến bác chủ cửa hàng HandyOne, cô ThS Mai Thị Thúy Hàđã giúp đỡ em trong quá trình phân tích thiết kế hệ thống
và đưa ra những lời khuyên quý báu khi em làm đồ án
Trang 7MỤC LỤC
CHƯƠNG 1 MỞ ĐẦU 6
1.1 GIỚITHIỆUCHUNGVỀCỬAHÀNGHANDYONE 6
1.1.1 Vị trí địa lý 6
1.1.2 Cơ cấu tổ chức 6
1.2 MỘTSỐMẪUBIỂUTRONGCỬAHÀNG 7
CHƯƠNG 2 KHẢO SÁT HỆ THỐNG 10
2.1 MÔTẢBÀITOÁN 10
2.2 KHẢOSÁTHIỆNTRẠNG 10
2.3 CÔNGNGHỆSỬDỤNG 12
2.3.1 Ngôn ngữ PHP 12
2.3.2 MySQL 13
2.3.3 Ngôn ngữ đánh dấu siêu văn bản HTML 14
2.3.4 Codeigniter framework 15
CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG 18
3.1 SƠĐỒPHÂNRÃCHỨCNĂNG 18
3.1.1 Xác định chức năng chi tiết 18
3.1.2 Sơ đồ phân rã chức năng 19
3.2 SƠĐỒLUỒNGDỮLIỆU 21
3.2.1 DFD mức ngữ cảnh 21
3.2.2 DFD mức đỉnh 22
3.2.3 DFD mức dưới đỉnh 23
3.3 ĐẶCTẢCHITIẾTCHỨCNĂNG 26
CHƯƠNG 4 THIẾT KẾ HỆ THỐNG 30
Trang 84.1.THIẾTKẾCƠSỞDỮLIỆU 30
4.1.1 ER mở rộng 30
4.1.2 Mô hình quan hệ 38
4.1.3 Đặc tả dữ liệu 39
4.2.THIẾT KẾ GIAODIỆN 49
CHƯƠNG 5 CÀI ĐẶT CHƯƠNG TRÌNH 58
TÀILIỆUTHAMKHẢO 61
Trang 9TÓM TẮT ĐỒ ÁN Tên đề tài: Xây dựng website bán đồ handmade trực tuyến cho shop
HandyOne
Sinh viên thực hiện: Vũ Văn Tiến Lớp: 12B6
Giảng viên hướng dẫn: ThS Mai Thị Thuý Hà
Tóm tắt đồ án:
Nội dung của đồ án tốt nghiệp là xây dựng website bán đồ handmade trực tuyến cho shop HandyOne Trình bày về nghiệp vụ bán hàng của cửa hàng bán đồ trực tuyến, từ đó xây dựng website quản lý và bán hàng cho cửa hàng HandyOne dựa trên các kiến thức đã tìm hiểu được
Trang 10DANH MỤC CHỮ VIẾT TẮT
STT Tên viết tắt Tên đầy đủ Dịch nghĩa tiếng Việt
1 DFD Data Flow Diagram Sơ đồ luồng dữ liệu
Trang 11DANH MỤC BẢNG
Bảng 3 1Danh mục các chức năng hệ thống 19
Bảng 4 1 Danh sách cách bảng trong cơ sở dữ liệu 39
Bảng 4 2 Bảng tbl_user 40
Bảng 4 3 Bảng tbl_role_user 40
Bảng 4 4 Bảng tbl_customer 41
Bảng 4 5 Bảng tbl_product 42
Bảng 4 6 Bảng tbl_product_type 43
Bảng 4 7 Bảng tbl_orders 43
Bảng 4 8 Bảng tbl_orders_status 44
Bảng 4 9 Bảng tbl_orders_detail 44
Bảng 4 10 Bảng tbl_comment 45
Bảng 4 11 Bảng tbl_comment_status 46
Bảng 4 12 Bảng tbl_tutorial 46
Bảng 4 13 Bảng tbl_providers 47
Bảng 4 14 Bảng tbl_payment_type 47
Trang 12DANH MỤC HÌNH VẼ
Hình 2 1 Lược đồ tổng quan về hoạt động của khách hàng 11
Hình 3 1 Sơ đồ phân rã chức năng 20
Hình 3 2 Sơ đồ luồng dữ liệu ngữ cảnh 21
Hình 3 3 Sơ đồ luồng dữ liệu mức đỉnh 22
Hình 3 4 Sơ đồ luồng dữ liệu chi tiết đơn hàng 23
Hình 3 5 Sơ đồ phân rã tiến trình quản lý sản phẩm 24
Hình 3 6 Sơ đồ phân rã tiến trình quản lý khách hàng 24
Hình 4 1 Mô hình quan hệ 38
Hình 4 2 Giao diện trang đăng nhập 49
Hình 4 3 Giao diện trang quản trị 49
Hình 4 4 Giao diện thêm mới sản phẩm 50
Hình 4 5 Giao diện chi tiết đơn hàng……… 49
Hình 4 6 Giao diện trang quản lý khách hàng……… … 50
Hình 4 7 Giao diện trang xoá một loại sản phẩm……… …50
Hình 4 8 Giao diện trang thêm một loại sản phẩm……….51
Hình 4 9 Giao diện trang thay đổi mật khẩu quản trị……….51
Hình 4 10 Giao diện trang thêm mới bài hướng dẫn……… 52
Hình 4 11 Giao diện trang chủ frontend……….53
Hình 4 12 Giao diện trang giới thiệu cửa hàng……… 54
Hình 4 13 Giao diện trang bài hướng dẫn……….55
Trang 13Hình 4 14 Giao diện giỏ hàng……… 56
Hình 4 15 Giao diện xác nhận thanh toán……….………56
Hình 4 16 Giao diện đăng kí tài khoản của khách hàng……….57
Hình 4 17 Giao diện đăng nhập của khách hàng……….57
Trang 14Chương 1
MỞ ĐẦU 1.1 Giới thiệu chung về cửa hàng HandyOne
1.1.1 Vị trí địa lý
Cửa hàng HandyOne có địa chỉ số 450, đường Kim Mã, quận Ba Đình, thành phố Hà Nội Cửa hàng có mặt tiền nằm trên đường Kim Mã là con đường giao thông quan trọng và huyết mạch trong quận Ba Đình cũng như thành phố Hà Nội Cửa hàng HandyOne có vị trí thuận lợi trong trung tâm
thành phố Hà Nội, với số lượng các bạn trẻ qua lại mỗi ngày rất lớn
Trang 151.2 Một số mẫu biểu trong cửa hàng
CỬA HÀNG HANDYONE Mã HĐ:………
-o0o -
Đ/C: 450 Kim Mã – Ba Đình - HN Fax: 0123456789 – 046 245 245
HÓA ĐƠN MUA HÀNG (Ngày lập: …/…/20…)
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
Hoá đơn mua hàng
Trang 16CỬA HÀNG HANDYONE
-o0o - BÁO CÁO TỔNG THU THÁNG…….NĂM……
Ngày… Tháng … Năm… STT Mã hóa đơn Ngày lập Người lập Số tiền
Trang 17CỬA HÀNG HANDYONE
Mã HĐ:……….
-o0o -
Đ/C: 450 Kim Mã – Ba Đình - HN Fax: 0123456789 – 046 245 245
Trang 18Chương 2 KHẢO SÁT HỆ THỐNG 2.1 Mô tả bài toán
Website được xây dựng là một website bán đồ Handmade trực tuyến qua mạng nhằm đáp ứng nhu cầu mua sắm của khách hàng Vì vậy em đưa ra đặc tả bài toán như sau:
Khách hàng muốn mua hoặc xem các sản phẩm Handmade thì vào trang web để tham khảo mặt hàng và giá của tất cả các sản phẩm Handmade đã được đưa lên trang web Khi khách muốn mua bất kì một sản phẩm nào đó thì bấm vào biểu tượng thêm vào giỏ hàng của sản phẩm mình muốn mua Sản phẩm sẽ được thêm vào giỏ hàng, khi nào muốn thanh toán khách hàng sẽ bấm vào giỏ hàng và bấm vào ô thanh toán Sau khi điền các thông tin cần thiết, hệ thống sẽ đưa ra
thông báo cho khách hàng
2.2 Khảo sát hiện trạng
Đây là một website bán hàng và giới thiệu rộng rãi các sản phẩm của cửa hàng đến người tiêu dùng với các thông tin chi tiết cho từng sản phẩm cũng như giá
cả một cách chính xác nhất
Khách hàng: Là những người có nhu cầu mua sắm hàng hoá và có thể xem
trước thông tin, giá cả của sản phẩm cũng như thao tác đặt hàng trên mạng(khác với việc đạt hàng trực tiếp tại công ty, khách hàng hoàn toàn tự thao tác thông qua các bước cụ thể để có thể mua hàng) Trên website các sản phẩm được sắp xếp và phân theotừng loại sản phẩm giúp cho khách hàng dễ dàng tìm kiếm Nếu khách hàng muốn biết nhiều thông tin hơn về một sản phẩm bất kì trên danh mục sản phẩm, thì cần chọn sản phẩm đó, các thông tin về sản phẩm như:
Trang 19đơn giá, hình ảnh, mô t
lượng sản phẩm muốn mua v
sản phẩm khách hàng p
quá trình thanh toán N
được chuyển sang trang thanh toán
nh, mô tả chi tiết, lựa chọn màu sắc…, bên c
m muốn mua và hình ảnh của nút giỏ hàng Sau khi chàng phải chọn vào giỏ hàng của mình để xem vquá trình thanh toán Nếu đồng ý bấm vào nút thanh toán thì khách hàng s
n sang trang thanh toán Ở đây khách hàng phải điề
ng sẽ kiểm tra và xác lập đơn đặt hàng Cuối c
ột lần nữa
ể tham khảo về giá cả sản phẩm, xem tin tứ handmade hay các dịch vụ từ website của cửa hàng
à mô hình hoạt động sơ lược của khách hàng trong h
1Lược đồ tổng quan về hoạt động của khách h
ên cạnh là ô chọn số àng Sau khi chọn xong
ể xem và thực hiện
ào nút thanh toán thì khách hàng sẽ
ải điền các thông tin
Trang 20Nhân viên bán hàng: Là người trực tiếp trông coi cửa hàng, tiếp nhận các
đơn đặt hàng của khách hàng để xử lý Nhà quản lý sẽ cung cấp cho nhân viên bán hàng một username và password để đăng nhập vào hệ thống và thực hiện các chức năng chính của mình
Nếu như quá trình đăng nhập thành công thì nhân viên đó có thể thực hiện các công việc: Xem các mặt hàng trên hệ thống, cập nhật thông tin các sản phẩm, tiếp nhận đơn đặt hàng, kiểm tra đơn đặt hàng và xử lý đơn đặt hàng, tiếp nhận
và xử lý các ý kiến phản hồi của khách hàng Mục tiêu:
• Quản lý xử lý các đơn đặt hàng một cách dễ dàng
• Thêm, sửa, xoá thông tin sản phẩm vào cơ sở dữ liệu
Nhân viên giao hàng: Là người có thể truy câp vào hệ thống xem thông tin các
đơn hàng, trạng thái, tên người xử lý các đơn hàng đó Nhân viên giao hàng sẽ tiếp nhận các đơn hàng có tên của mình và xử lý đơn hàng đó Sau khi nhân viên
đó giao hàng cho khách, có thể cập nhật lại tình trạng đơn hàng trên hệ thống
Nhà quản trị: Là người có toàn quyển sử dụng các chức năng trên hệ thống Sau
khi đăng nhập vào hệ thống bằng tải khoản admin có thể xem và thực hiện tất cả các chức năng trên website Ngoài ra chỉ có nhà quản trị mới có thể tạo tài khoản
và phân quyền cho nhân viên trên hệ thống, xem được các báo cáo thống kê về tình hình thu, chi, thống kê doanh thu của cửa hàng
2.3 Công nghệ sử dụng
2.3.1 Ngôn ngữ PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp
Trang 21với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP
đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perlđể theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn
2.3.2 MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do 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à cơ sở dữ liệu 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 các hệ điều hành dòng Windows, Linux, Mac OS X, Unix MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
Trang 22hệ 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
2.3.3 Ngôn ngữ đánh dấu siêu văn bản HTML
HTML là viết tắt 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 được sử dụng để tạo một trang web, trên một website
có thể sẽ chứa nhiều trang và mỗi trang được quy ra là một tài liệu HTML
Về cơ bản HTML được xây dựng trên cách tổ chức của XML.Một tài liệu HTML được hình thành bởi các phần tử HTML (HTML Elements) được quy định bằng các cặp thẻ (tag), các cặp thẻ này được bao bọc bởi một dấu ngoặc nhọn (ví dụ <html>) và thường là sẽ được khai báo thành một cặp, bao gồm thẻ
mở và thẻ đóng (ví dụ <strong> và </strong>) Các văn bản muốn được đánh dấu bằng HTML sẽ được khai báo bên trong một cặp thẻ Nhưng một số thẻ đặc biệt lại không có thẻ đóng và dữ liệu được khai báo sẽ nằm trong các thuộc tính (ví
dụ như thẻ <img>)
Vì HTML chỉ đơn giản là những chiếc thẻ như trên (tất nhiên còn rất nhiều thẻ khác mấy thẻ trên), mà không hề có những cú pháp logic như trong lập trình, kiểu như HTML không thể giúp bạn giải một bài toán hay giúp bạn tính toán xem tháng vừa rồi bạn đã xài bao nhiêu tiền giấy vệ sinh Đã trả lời xong câu hỏi
Vì sao HTML không gọi là ngôn ngữ lập trình
HTML có số lượng thẻ không nhiều như đếm sao trên trời, nó là hữu hạn và bạn
có thẻ nhớ được 10% trong số đó, số còn lại có thể google ra bằng từ khoá
“HTML tag b” để xem thẻ b nó như thế nào, các thẻ khác tương tự Vì là có rất nhiều thẻ khác nhau, thẻ a tạo ra link, thẻ p tạo ra đoạn văn, thẻ table tạo ra bảng,
Trang 23thẻ div tạo ra vùng, thẻ input cho phép nhập liệu … (tra cứu tại W3Schools) nên
nó tạo ra nhiều kiểu văn bản khác nhau (gọi là siêu văn bản) Với tất cả những gì
mà từ bé đến giờ bạn nhìn thấy trên trình duyệt thì chúng có nguồn gốc từ HTML
2.3.4 Codeigniter framework
Hiện nay có khá nhiều Frameworks được xây dựng từ PHP như Zend, Laravel, CakePHP, Codeigniter và mỗi framework có những ưu và nhược điểm khác
nhau Có một câu hỏi đặt ra là tại sao chúng ta cần dùng PHP Framework?
Thông thường nếu ban làm dự án bằng PHP thuần thì đòi hỏi bạn phải có kiến thức về bảo mật PHP và PHP nâng cao thì mới quản lý source tốt được Nhưng khi bạn sử dụng Framework thì bạn sẽ bớt đi thời gian để xử lý hai vấn đề đó bởi
vì các Frameworks đã tạo cho chúng ta cái sường để có thể tạo ra những dự án khác nhau
Frameworks đơn giản và dễ học nhất mà ai cũng biết đó là Codeigniter, đây là một framework được xây dựng từ mô hình MVC có ưu điểm là chạy nhanh, dễ học cho người mới tìm hiểu MVC Framework Codeigniter Framework còn viết tắt là CI Framework CodeIgniter cho phép tạo các trang web của bạn để có kịch bản tối thiểu kể từ khi trình bày và tách biệt với kịch bản PHP, nói đơn giản nếu bạn Code thuần theo PHP bạn phải tự tổ chức cấu trúc giữa giao diện, xử lý code
và cơ sở dữ liệu việc làm này không khả dụng nếu dự án của bạn là một tập hợp các Module cần có nhiều người xử lý
Phiên bản chính thức đầu tiên của CodeIgniter được công bố vào 28/2/2006 Ứng dụng này đang sử dụng phiên bản mới nhất là CodeIgniter 2.1.3 được phát hành vào ngày 08/10/2012
Trang 24Cấu trúc thành phần của Codeigniter Framework
Tập tin index.php được xem như controller đầu vào, tiếp nhận các yêu cầu từ phía client và chuyển các yêu cầu này cho hệ thống xử lý
Thư mục system chứa phần lõi của CodeIgniter, bao gồm các thư viện xây dựng sẵn, các tập tin ngôn ngữ, ghi chú hệ thống, Trong đó các thư mục sau khá quan trọng :
- Thư mục application : dành cho lập trình viên, các tập tin được lập trình cho ứng dụng sẽ được lưu trong thư mục này
- Thư mục cache : bộ đệm của hệ thống, chứa các trang đã xử lý trước đó
- Thư mục helpers : chứa các hàm hỗ trợ cho lập trình viên khi viết ứng dụng
- Thư mục libraries : chứa thư viện dựng sẵn của CodeIgniter
Đối với lập trình viên, các tập tin lập trình sẽ được lưu vào thư mục system/application Trong đó :
- Thư mục config : chứa các tập tin cấu hình hệ thống
- Thư mục controllers : chứa các lớp controllers
- Thư mục errors : chứa các tập tin lỗi
- Thư mục helpers : chứa các hàm tiện ích do người dùng định nghĩa
- Thư mục hooks : chứa các tập tin để mở rộng mã nguồn CodeIgniter
- Thư mục language : chứa các tập tin ngôn ngữ
- Thư mục libraries : chứa các thư viện cho người dùng định nghĩa
- Thư mục models : chứa các lớp model
- Thư mục views : chứa các lớp view
Ta cũng có thể đổi tên thư mục application thành tên tuỳ ý Sau khi đổi tên, cần thiết lập tên mới cho biến$application_folder trong tập tin index.php Ngoài ra ta cũng có thể tạo nhiều ứng dụng trong cùng một bộ cài đặt
Trang 25CodeIgniter bằng cách tạo ra các thư mục con bên trong system/application Các thư mục này có cùng cấu trúc giống như thư mục gốc application.
Các tính năng đặc trưng của CodeIgniter
+ CodeIgniter khuyến khích các lập trình viên sử dụng mô hình (MVC) model-view-controller cho các ứng dụng web của mình
+ Hỗ trợ kết nối và tương tác đa nền tảng cơ sở dữ liệu
+ Tương tác với cơ sở dữ liệu thông qua active records
+ Session Management (quản lí Session)
+ Định dạng và chuẩn hóa form và dữ liệu đầu vào
+ Hỗ trợ Caching để tăng tốc độ thực thi và giảm tải tối thiểu cho máy chủ + Scaffolding
+ Hỗ trợ Template Engine hoặc chính PHP tags để điều hướng trong Views + Hỗ trợ Hooks, các lớp ngoại (Class Extensions), và các Plugins
Các ưu điểm của CodeIgniter so với các mô hình framework MVC khác
+ Tương thích hoàn toàn với PHP 4 Nếu sử dụng PHP 5 sẽ dùng được các tính năng hữu ích khác như khả năng gọi phương thức dây chuyền (method chaining ability)
+ Mô hình code nhẹ cho hệ thống, cải thiện tốc độ thực thi
+ Đơn giản trong việc cài đặt, cấu hình và cấu trúc thư mục
+ Error Logging
+ Mêm dẻo trong việc định tuyến URI (URI Routing)
CodeIgniter còn tích hợp thêm vào một số lớp thư viện khác mà các framework khác chưa mặc định tích hợp
+
+ Bảo mật và XSS Filtering
Trang 263.1.1 Xác định chức năng chi tiết
Các chức năng chính
STT Chức năng Mô tả
1 Hệ thống Admin hoặc user đăng nhập vào hệ thống, có thể
đổi mật khẩu, khẩu sửa thông tin người dùng Nếu
là admin có thể tạo tài khoản và cấp quyền
Trang 28Hình 3
Hình 3 1Sơ đồ phân rã chức năng
Trang 303.2.2 DFD mức ức đỉnh
Hình 3 3Sơ đồ luồng dữ liệu mức đỉỉnh
Trang 313.2.3 DFD mức d c dưới đỉnh
Hình 3 4Sơ đồ luồng dữ liệu chi tiết đơn hàngđơn hàng
Trang 32Hình 3
Hình 3
Hình 3 5Sơ đồ phân rã tiến trình quản lý s
Hình 3 6Sơ đồ phân rã tiến trình quản lý khách hàng
sản phẩm
khách hàng
Trang 33Hình 3.7 S
Hình 3.8 S
Hình 3.7 Sơ đồ phân rã tiến trình quản lý bài hướng d
Hình 3.8 Sơ đồ phân rã tiến trình thống kê
ớng dẫn
Trang 34Hình 3.9 S
3.3 ĐẶC TẢ CHI TI
3.3.1 Hệ thống
Admin hoặc user đăng nh
Đầu vào: Tên đăng nhập v
Xử lý: Hệ thống sẽ tiếp nh
thành công sẽ chuyển đế
Hệ thống sẽ kiểm tra quy
đương
Đầu ra: Thông báo đăng nh
trị nếu đăng nhập thành công
Hình 3.9 Sơ đồ phân rã tiến trình quản trị hệ thố
CHI TIẾT CHỨC NĂNG ống
đăng nhập vào hệ thống để thực hiện các hành đ
ập và mật khẩu của người dùng
ếp nhận thông tin tài khoản và so sánh với c
ển đến trang quản trị, nếu không đúng sẽ đ
m tra quyền người dùng để hiện thị và phân quyề
đăng nhập thất bại hoặc chuyển người dùng ành công
n lý sản phẩm
ản phẩm bao gồm: Tên sản phẩm, loại sản ph
c, kích thước cùng với các chức năng quản lý
ản phẩm: Tên sản phẩm, loại sản phẩm, số
ệ thống
ành động của mình
ới cơ sở dữ liệu, nếu
ẽ đưa ra thông báo
ền truy cập tương
ùng đến trang quản
ản phẩm, số lượng,
ẩm, số lượng, giá cả,
Trang 35Xử lý: Thêm sản phẩm: Khi người quản trị website chọn chức năng thêm sản phẩm, hệ thống sẽ chuyển đến trang thêm sản phẩm, ở trang này người quản trị
sẽ nhập thông tin sản phẩm sau đó submit để hệ thống lưu vào cơ sở dữ liệu
Sửa sản phẩm: Khi quản trị bấm sửa sản phẩm, hệ thống sẽ chuyển đến trang sửa chữa sản phẩm, người quản trị sẽ chỉnh sửa các thông tin sản phẩm, sau đó bấm lưu để lưu vào cơ sở dữ liệu
Xoá sản phẩm: Người dùng chọn nút xoá sản phẩm, hệ thống sẽ yêu cầu xác nhận, nếu đồng ý xoá sản phẩm sẽ bị xoá khỏi cơ sở dữ liệu
Đầu ra: Thông tin danh sách sản phẩm sau khi chỉnh sửa
3.3.3 Quản lý đặt hàng
Liệt kê danh sách các đơn đặt hàng, hiển thị tình trạng của đơn hàng
Đầu vào: Thông tin đơn hàng bao gồm: Tên khách hàng, nơi nhận hàng, thời
gian đặt hàng, giá trị đơn hàng, tình trạng đơn hàng
Xử lý: Hệ thống lấy dữ liệu từ cơ sở dữ liệu hiển thị lên trang đơn đặt hàng, khi người quản trị chọn huỷ đơn hàng thi đơn hàng sẽ bị huỷ trong cơ sở dữ liệu, hoặc chọn vào mục xem chi tiết sẽ chuyển đến trang chi tiết đơn hàng
Đầu ra: Thông tin, tình trạng đơn hàng
3.3.4 Chi tiết đơn hàng
Khi người quản trị xem thông tin về đơn hàng, họ muốn biết chi tiết về đơn hàng
đó vì vậy cần hiển thị thông tin chi tiết đơn đặt hàng đó, thông tin khách hàng, cũng như những ghi chú cần thiết
Đầu vào: Thông tin khách hàng gồm: họ tên, số điện thoại, email, địa chỉ nhận
hàng Thông tin sản phẩm gồm: Tên sản phẩm, số lượng sản phẩm, đơn giá, thành tiền, giá trị hoá đơn
Trang 36Xử lý: Người quản trị xem chi tiết và chọn nhân viên giao hàng, thêm ghi chú cần thiết như thời gian mà có thể giao sản phẩm đến cho khách hàng Ngoài ra nếu nhân viên giao hàng không liên lạc được với khách hàng thi có thể huỷ đơn hàng, hệ thống sẽ xoá đơn hàng ra khỏi hệ thống
Đầu ra: Tên nhân viên giao hàng, thông tin chi tiết hoá đơn, tình trạng đơn hàng:
Đã chuyển, đang chuyển, chưa chuyển
3.3.5 Thống kê
Quản trị viên có thể vào trang quản trị và lọc các thông tin sản phẩm theo nhu cầu để thống kê sản phẩm hay doanh thu
Đầu vào: Nhu cầu thống kê của quản trị viên
Xử lý: Hệ thống sẽ tiếp nhận các yêu cầu của quản trị viên, sau đó so sánh với cơ
sở dữ liệu để đưa ra các thông tin cần thiết
Đầu ra: Thông tin mà quản trị viên cần thống kê
3.3.6 Phản hồi
Lưu các thông tin phản hồi của khách hàng Hệ thống sẽ lấy các thông tin mà khách hàng đã phản hồi bao gồm: Tên khách hàng, thời gian, nội dung Quản trị viên có thể xoá các phẩn hồi không hợp lệ Sau đó người quản trị sẽ xử lý các thông tin phản hồi
Đầu vào: Ý kiến phản hồi của khách hàng
Xử lý: Hệ thống sẽ tiếp nhận các yêu cầu của khách hàng và lưu thông tin phẩn hồi vào cơ sở dữ liệu, nhân viên sẽ tiếp nhận và xử lý các yêu cầu bằng cách trả lời khách hàng qua email hoặc gọi điện, nhắn tin cho khách hàng
Đầu ra:Trang thái phản hồi gồm: Đã xử lý, chưa xử lý, đang xử lý
3.3.7 Quản lý hướng dẫn làm sản phẩm trên website