Tải bản đầy đủ (.pdf) (127 trang)

NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG ĐẤU GIÁ TRỰC TUYẾN TRÊN Yii FRAMEWORK

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.99 MB, 127 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN

LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU VÀ XÂY DỰNG HỆ
THỐNG ĐẤU GIÁ TRỰC TUYẾN
TRÊN Yii FRAMEWORK
Ngành
Niên khoá
Lớp
Sinh viên thực hiện

: Công nghệ thông tin
: 2008-2012
: DH08DT
: Lê Vũ Trang Đài

TP.HỒ CHÍ MINH, tháng 3 năm 2013


BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM
KHOA CÔNG NGHỆ THÔNG TIN

LUẬN VĂN TỐT NGHIỆP
NGHIÊN CỨU VÀ XÂY DỰNG HỆ
THỐNG ĐẤU GIÁ TRỰC TUYẾN
TRÊN Yii FRAMEWORK


Giáo viên hướng dẫn:

Sinh viên thực hiện:

Ths. Phan Võ Minh Thắng

Lê Vũ Trang Đài

TP.HỒ CHÍ MINH, tháng 3 năm 2013


CÔNG TRÌNH HOÀN TẤT TẠI
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM

Cán bộ hướng dẫn: ThS. Phan Võ Minh Thắng

Cán bộ phản biện: ThS. Nguyễn Thanh Phước

Luận văn cử nhân được bảo vệ tại HỘI ĐỒNG CHẤM LUẬN VĂN KỸ SƯ
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM ngày 12 tháng 03 năm 2013


Bộ Giáo Dục và Đào Tạo
Trường ĐH NÔNG LÂM

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập-Tự Do-Hạnh Phúc

NHIỆM VỤ LUẬN VĂN CỬ NHÂN


Họ tên sinh viên: Lê Vũ Trang Đài

Phái: Nữ

Ngày tháng năm sinh: 17/09/1990

Nơi sinh: Đồng Nai

Chuyên ngành: Công nghệ thông tin

Ngành: Công nghệ thông tin

I. TÊN ĐỀ TÀI: Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến trên
công nghệ Yii Framework.
II. NHIỆM VỤ VÀ NỘI DUNG
 Nhiệm vụ: Nghiên cứu công nghệ Yii Framework để xây dựng hệ thống đấu
giá trực tuyến.
 Nội dung: Tìm hiểu nghiệp vụ đấu giá trực tuyến và xây dựng website đấu giá
trực tuyến.
III. NGÀY GIAO NHIỆM VỤ: 01/06/2012
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 04/03/2013
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Ths. Phan Võ Minh Thắng

Ngày
/
/
CÁN BỘ HƯỚNG DẪN

Ngày
/

/
CHỦ NHIỆM CHUYÊN NGÀNH

Ngày
/
KHOA CNTT

/


LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn các thầy cô khoa Công nghệ thông
tin trường Đại học Nông lâm TP. HCM, với những kiến thức quý báu và
sự nhiệt huyết, tận tụy mà thầy cô đã truyền đạt cho chúng em trong
suốt 4 năm học.
Chúng con xin gởi đến cha mẹ lời ghi ơn sâu sắc, những người đã
sinh ra và dạy bảo chúng con trưởng thành đến ngày hôm nay.
Đặc biệt, chúng em xin cảm ơn thầy Phan Võ Minh Thắng đã tận
tình hướng dẫn chúng em suốt thời gian qua để chúng em hoàn thành
luận văn này.
Mặc dù chúng em đã cố gắng hoàn thành tốt luận văn trong phạm
vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những
thiếu sót nhất định. Chúng em kính mong nhận được sự cảm thông và
tận tình chỉ bảo của quý thầy cô và các bạn.


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework

DANH SÁCH CHỮ VIẾT TẮT

DGTT
TMDT
CSDL
MVC
JSON
URL
DOM

GVHD: Ths. Phan Võ Minh Thắng

Đấu Giá Trực Tuyến
Thương Mại Điện Tử
Cơ sở dữ liệu
Model-View-Controller
Javascript Object Notation
Uniform Resource Locator
Document Object Mode

I

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework

DANH MỤC CÁC HÌNH
Hình 2.1 Mô hình MVC trong Yii Framework ............................................................5
Hình 2.2 Cơ chế hoạt động của Yii Framework ..........................................................6
Hình 2.3 Cấu trúc thư mục trong một ứng dụng Yii Framework ................................7
Hình 2.4 Cấu hình Gii ................................................................................................10

Hình 2.5 Trang đăng nhập Gii ...................................................................................10
Hình 2.6 Trang chủ Gii ..............................................................................................10
Hình 3.1 Quy trình nghiệp vụ ....................................................................................13
Hình 3.2 Lược đồ use case .........................................................................................22
Hình 3.3 Activity Xem thông tin sản phẩm ...............................................................83
Hình 3.4 Activity Đăng sản phẩm..............................................................................84
Hình 3.5 Activity Quản lý sản phẩm .........................................................................85
Hình 3.6 Activity Đặt giá ...........................................................................................86
Hình 3.7 Activity Đặt giá ...........................................................................................87
Hình 3.8 Activity Xem lịch sử đấu giá ......................................................................88
Hình 3.9 Activity Quản lý gian hàng .........................................................................89
Hình 3.10 Activity Xem hóa đơn ...............................................................................90
Hình 3.11 Activity Chuyển giao thanh toán ..............................................................90
Hình 3.12 Activity Đánh giá Người mua ...................................................................91
Hình 3.13 Activity Đánh giá Người Bán ...................................................................92
Hình 3.14 Activity Đăng nhập ...................................................................................93
Hình 3.15 Activity Tạo tài khoản ..............................................................................94
Hình 3.16 Activity Khôi phục tài khoản ...................................................................95
Hình 3.17 Activity Thay đổi thông tin cá nhân ........................................................96
Hình 3.18 Activity Quản lý danh sách bạn bè ..........................................................97
Hình 3.19 Activity Yêu thích sản phẩm....................................................................98
Hình 3.20 Activity Báo cáo vi phạm ........................................................................98
Hình 3.21 Activity Quản lý danh mục sản phẩm ......................................................99
Hình 3.22 Activity Quản lý Người Dùng ...............................................................100
Hình 3.23 Activity Quản lý sản phẩm ....................................................................102
Hình 3.24 Activity Thống kê hóa đơn ....................................................................102
Hình 3.25 Class diagram ..........................................................................................103
Hình 3.26 Kiến trúc hệ thống ...................................................................................104
Hình 3.27 Kiến trúc phần mềm ................................................................................105
Hình 4.1 Các usecase đã triển khai ..........................................................................107


GVHD: Ths. Phan Võ Minh Thắng

II

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework

TÓM TẮT
TÊN ĐỀ TÀI:
Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến trên công nghệ Yii
Framework.
MỤC TIÊU ĐỀ TÀI:
- Tìm hiểu Yii framework.
- Nghiên cứu nghiệp vụ Đấu giá trực tuyến.
- Áp dụng các kiến thức trên triển khai xây dựng website Đấu Giá Trực Tuyến.
NỘI DUNG:
- Tìm hiểu PHP, Yii framework, cách sử dụng jQuery trong Yii.
- Tìm hiểu thị trường Thương Mại Điện Tử.
- Tìm hiểu các loại hình thanh toán trực tuyến ở Việt Nam.
- Tìm hiểu nghiệp vụ đấu giá trực tuyến.
- Xây dựng website Đấu Giá Trực Tuyến.
HƯỚNG TIẾP CẬN VÀ GIẢI QUYẾT VẤN ĐỀ:
- Đọc tài liệu hướng dẫn của Yii.
- Tham khảo tài liệu trên Internet. Học hỏi sử dụng Yii, jQuery từ cộng đồng
Internet.
- Tìm hiểu TMDT, các loại hình thanh toán trực tuyến từ các website thương
mại điện tử Việt Nam như: nava, chodientu, 123mua…

- Tìm hiểu nghiệp vụ DGTT từ ebay, chodientu.

GVHD: Ths. Phan Võ Minh Thắng

III

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework

MỤC LỤC
Chương 1 MỞ ĐẦU....................................................................................................1
1.1. Lý do chọn đề tài ............................................................................................1
1.2. Phạm vi nghiên cứu ........................................................................................2
1.3. Cấu trúc khóa luận ..........................................................................................2
Chương 2 TỔNG QUAN ............................................................................................3
2.1. PHP và Yii Framework ..................................................................................3
2.1.1. Giới thiệu về PHP ..................................................................................... 3
2.1.2. Giới thiệu Yii Framework ........................................................................ 4
Chương 3 BÀI TOÁN VÀ PHƯƠNG PHÁP ...........................................................11
3.1. Phát biểu bài toán .........................................................................................11
3.1.1. Khái niệm Đấu Giá Trực Tuyến ............................................................. 11
3.1.2. Khảo sát thị trường ................................................................................. 11
3.1.3. Mô tả bài toán ......................................................................................... 11
3.1.4. Một số loại hình thanh toán .................................................................... 12
a.
Thanh toán trả sau COD (Cash On Delivery) ..............................................12
b.
Chuyển khoản ngân hàng .............................................................................12

c.
Cổng thanh toán (Ngân Lượng, Bảo Kim, Payoo). ......................................12
3.1.5. Khách hàng mục tiêu .............................................................................. 12
3.2. Quy trình nghiệp vụ đấu giá trực tuyến ........................................................13
3.3. Yêu cầu chức năng .......................................................................................13
3.3.1. Người Dùng ............................................................................................ 13
3.3.2. Người Bán .............................................................................................. 16
3.3.3. Người Mua ............................................................................................. 18
3.3.4. Người Quản Trị ...................................................................................... 18
3.4. Yêu cầu phi chức năng .................................................................................20
3.4.1. Security ................................................................................................... 20
3.4.2. Performance............................................................................................ 21
3.5. Use case ........................................................................................................22
3.5.1. Lược đồ use case .................................................................................... 22
3.5.2. Giải thích từ ngữ..................................................................................... 22
3.5.3. Đặc tả use case ....................................................................................... 25
3.5.4. Lược đồ Activity .................................................................................... 83
3.6. Class diagram .............................................................................................103
3.7. Kiến trúc hệ thống ......................................................................................104
3.8. Kiến trúc phần mềm ...................................................................................105
Chương 4 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN ..........................106
4.1. Kết quả đạt được.........................................................................................106
4.2. Hướng phát triển .........................................................................................107
PHỤ LỤC A: XÂY DỰNG ỨNG DỤNG VỚI Yii FRAMEWORK .................110
PHỤ LỤC B: TỰ ĐỘNG THỰC THI FILE PHP BẰNG TASK SCHEDULER
TRÊN WINDOW 7 ................................................................................................113

GVHD: Ths. Phan Võ Minh Thắng

IV


SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework

Chương 1
MỞ ĐẦU
1.1. Lý do chọn đề tài
Thị trường TMDT không còn xa lạ với người Việt, nhất là giới trẻ. Mặc dù vậy,
TMDT Việt Nam còn nhiều mặt yếu kém, chưa phát triển xứng với tiềm năng, chưa
bắt kịp thế giới, chưa có một website nào thực sự chiếm lĩnh được thị trường rộng
lớn này.
Xu hướng phát triển TMDT hiện nay là xây dựng cộng đồng mua bán. Đó là nơi
các doanh nghiệp, nhà bán lẻ, người dùng có thể đăng bán sản phẩm, nên các mặt
hàng rất phong phú, đa đạng chủng loại. Và cũng là nơi mua sắm trực tuyến của mọi
người. Các website tiên phong phát triển theo xu hướng này phải kể đến
chodientu.vn, vatgia.com, nava.vn, 123mua.vn… và nhiều dự án đang âm thầm xây
dựng.
Trong xu hướng này, có một loại hình TMDT chưa được quan tâm phát triển là
DGTT. Trên thế giới, DGTT không phải là loại hình mới. Nhắc đến DGTT phải nhắc
tới eBay – website thương mại hàng đầu thế giới. Ở Việt Nam, các website phát triển
theo xu hướng mới có thể chưa nắm được thị trường nên chưa dám triển khai loại
hình này (trừ chodientu.vn đang xây dựng và phát triển).
PHP là ngôn ngữ lập trình web phổ biến nhất hiện nay, đang có một chỗ đứng
vững chắc trong thế giới các ngôn ngữ lập trình. PHP được tối ưu hóa cho các ứng
dụng web, tốc độ nhanh, nhỏ gọn. Yii là framework PHP mới được cộng đồng lập
trình web ủng hộ mạnh mẽ. Nó được xây dựng bởi nhà phát triển giàu kinh nghiệm Qiang Xue. Yii ra đời không phải để làm nên một framework cao siêu gì cả, chỉ là kế
thừa những điểm mạnh của các framework trước và thống nhất thành một framwork
dễ dùng nhất cho người sử dụng, hiệu suất cao, mở rộng tốt.

Vì những điều trên, em quyết định tìm hiểu Yii, nghiên cứu nghiệp vụ DGTT để
xây dựng hệ thống Đấu Giá Trực Tuyến.

GVHD: Ths. Phan Võ Minh Thắng

1

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
1.2. Phạm vi nghiên cứu
 Tìm hiểu ngôn ngữ PHP và Yii Framework.
 Tìm hiểu và phân tích nghiệp vụ Đấu giá trực tuyến từ các website eBay,
chodientu.vn.
 Phân tích lược đồ usecase hệ thống, phân tích kiến trúc phần mềm và kiến trúc
hệ thống từ đó tiến hành phát triển phần mềm.
1.3. Cấu trúc khóa luận
Chương 1: Mở đầu.
Giới thiệu lý do chọn đề tài và phạm vi nghiên cứu.
Chương 2: Tổng quan
Chương này giới thiệu về PHP và Yii framework.
Chương 3: Bài toán và phương pháp
Chương này trình bày về quy trình nghiệp vụ của DGTT, các yêu cầu
chức năng, phi chức năng của hệ thống, đặc tả usecase, kiến trúc hệ
thống, kiến trúc phần mềm, class diagram…
Chương 4: Kết quả đạt được và hướng phát triển.

GVHD: Ths. Phan Võ Minh Thắng


2

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework

Chương 2
TỔNG QUAN
2.1. PHP và Yii Framework
2.1.1. Giới thiệu về PHP
PHP (viết tắt của "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ở. Nó rất thích hợp vớ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.
Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua
đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP
giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng
phần giao diện ứng dụng HTTP.
Dưới đây là một số ưu điểm của PHP:
-

PHP có tốc độ xử lý nhanh, hiệu quả cao hơn các ngôn ngữ server
script khác.

-


PHP là mã nguồn mở, nên chi phí để phát triển hệ thống rất thấp thích hợp cho
các doanh nghiệp vừa và nhỏ.

-

Thời gian triển khai ứng dụng nhanh chóng, đơn giản và dễ cài đặt.

-

Số lượng nhà cung cấp hosting PHP khá nhiều.

-

PHP có sự hỗ trợ của cộng đồng phát triển mã nguồn mở rất lớn.

-

Tính linh động vì nó có thể chạy trên nhiều hệ điều hành khác nhau
như Unix, Windows và nhiều biến thể khác nhau của chúng.

-

Lập trình theo hướng đối tượng.

GVHD: Ths. Phan Võ Minh Thắng

3

SVTH: Lê Vũ Trang Đài



Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
-

PHP sử dụng nhiều hệ quản trị cơ sở dữ liệu khác nhau, trong đó có MySQL.

-

Dễ dàng cho việc học và sử dụng.

2.1.2. Giới thiệu Yii Framework
Yii là framework viết trên nền PHP cho phép phát triển nhanh chóng các ứng dụng
Web qui mô lớn dựa trên nền tảng component (thành phần sử dụng lại). Yii cho phép
tái sử dụng tối đa các thành phần của hệ thống để tăng tốc độ viết ứng dụng.
Yii viết tắt của cụm từ “Yes It Is!” – là câu trả lời chính xác nhất khi có ai đó thắc
mắc: liệu framework này có nhanh, có an toàn, có chuyên nghiệp… và có phù hợp
cho dự án của mình?
2.1.2.1. Ưu điểm của Yii Framework
-

Yii là một framework phát triển ứng dụng Web nên có thể dùng để viết mọi loại
ứng dụng Web. Yii rất nhẹ và được trang bị giải pháp cache tối ưu nên nó đặc
biệt hữu dụng cho ứng dụng web có dung lượng dữ liệu trên đường truyền lớn
như web portal, forum, CMS, e-commerce, v.v.

-

Tài liệu hướng dẫn của Yii Framework rất đầy đủ và chi tiết. Ngoài ra còn có
một cộng đồng lập trình viên thế giới chia sẻ góp phần phát triển Yii.


-

Yii đã được thiết kế cẩn thận để cho phép gần như tất cả đoạn code được phát
triển và chỉnh sửa để đáp ứng bất kỳ yêu cầu nào. Nếu bạn muốn phát triển
code mở rộng hơn thành các công cụ hữu ích cho các nhà phát triển khác sử
dụng, Yii cung cấp theo các bước và hướng dẫn để giúp bạn dễ dàng phát triển.
Điều này cho phép bạn đóng góp vào danh sách ngày càng tăng các tính năng
của Yii và tích cực tham gia trong việc mở rộng. Điều gì đáng chú ý về Yii ? là
dễ sử dụng, hiệu suất cao, và chiều sâu mở rộng không tốn kém. Yii được đóng
gói với các tính năng giúp bạn đáp ứng những nhu cầu cao trên ứng dụng web
hiện nay.

-

Yii được thiết kế cẩn thận từ ban đầu để đáp ứng nhu cầu phát triển ứng dụng
Web nghiêm ngặt. Nó là kết quả của kinh nghiệm phát triển ứng dụng Web lâu

GVHD: Ths. Phan Võ Minh Thắng

4

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
năm của các tác giả và sự phân tích kỹ lưỡng, tận dụng những điểm mạnh của
các framework khác.
-

Khả năng tái sử dụng và mở rộng của Yii rất cao. Yii là một framework hoàn

toàn hướng đối tượng. Mọi thứ trong Yii đều có thể tái sử dụng và mở rộng rất
dễ dàng.

2.1.2.2. Mô hình MVC trong Yii Framework

Hình 2.11 Mô hình MVC trong Yii Framework
Model:
- Yii có 2 loại model: form model là lớp ( CFormModel ) và active record
model là lớp ( CActiveRecord ). Cả hai được mở rộng từ lớp ( CModel ).
CFormModel đại diện cho mô hình dữ liệu do người dùng nhập vào ở dạng
HTML. Sau đó lưu dữ liệu này vào bộ nhớ và thông qua CActiveRecord dữ
liệu được lưu vào CSDL.
-

ActiveRecord (AR) là một mô hình được sử dụng để truy cập cơ sở dữ liệu
theo hướng đối tượng. Mỗi đối tượng AR trong Yii là một thể hiện của
CActiveRecord là kết quả của một dòng dữ liệu của bảng được tạo trong
CSDL.

View: là giao diện của người dùng, dựa trên các dữ liệu trong Model.
-

Layout: là bố cục chung cho các trang web. Ở đây, ta định nghĩa các thành
phần như header, footer, và các thành phần khác mà ta muốn các trang web
hiển thị giống nhau.

GVHD: Ths. Phan Võ Minh Thắng

5


SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
-

Widget: là một thể hiện của CWidget. Nó là một thành phần chủ yếu cho
giao diện của trang Web. Widget thường được nhúng vào nhằm tạo ra một
số giao diện người dùng phong phú hơn. Widget có thể tái sử dụng nhiều
lần trong website.
Đáng chú ý là bộ widget zii.widgets.jui, Yii tích hợp từ bộ giao diện jQuery
UI hỗ trợ, giúp phát triển nhanh các giao diện đẹp.
Controller: có nhiệm vụ điều hướng trang, tương tác với Model và chỉ đạo View
hiển thị sao cho phù hợp.
2.1.2.3. Cơ chế hoạt động của Yii Framework

Hình 2.12 Cơ chế hoạt động của Yii Framework
-

Khi người sử dụng (user) có một yêu cầu (request), máy chủ Web (Web
server) xử lý tạo một ứng dụng (application) chứa thông tin chi tiết người
dùng yêu cầu.

-

Ứng dụng này sẽ xác định controller và action (một hành động được định

GVHD: Ths. Phan Võ Minh Thắng

6


SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
nghĩa trong controller để xử lý vấn đề nào đó) với sự giúp đỡ của
urlManager.
-

Action đọc dữ liệu từ model

-

Action gọi (render) đến view để hiển thị dữ liệu từ model

-

View đọc và hiển thị dữ liệu nhận được

-

View thực thi một vài widget và gửi kết quả đã nhúng vào layout

-

Action hoàn tất khi view hiển thị kết quả cho người dùng xem.

2.1.2.4. Cấu trúc của một ứng dụng Yii Framework

Hình 2.13 Cấu trúc thư mục trong một ứng dụng Yii Framework

Thư mục components: chứa các components.
Thư mục extensions: chứa các ứng dụng mở rộng.
Thư mục framework: chứa toàn bộ framework sẽ hỗ trợ project.
Thư mục controllers: chứa các lớp controller.
Thư mục views: chứa các lớp view.
GVHD: Ths. Phan Võ Minh Thắng

7

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
Thư mục models: chứa các lớp model.
Thư mục config: là thư mục chứa các file cấu hình.
File main.php trong thư mục protected/config là file chứa các thông tin cấu hình
website: tên website, ngôn ngữ, thông tin cấu hình kết nối database, timezone, ngoại
lệ… Các cấu hình này sẽ được triệu gọi bởi file index.php ở lần chạy đầu tiên của
ứng dụng.
File index.php: đây là file chạy mặc định trong 1 ứng dụng của Yii Frameword. Nó
được đặt ở thư mục gốc. File này sẽ chỉ định đường dẫn đến thư mục protected, khởi
tạo biến môi trường cho ứng dụng, chỉ định đường dẫn đến file main.php, đường dẫn
đến các thư viện….
2.1.2.5. Một số lớp phổ biến trong Yii
2.1.2.5.1. zii.widgets.jui
Đây là gói widget phát triển dựa trên jQuery UI, hỗ trợ tạo nhanh các giao diện
đẹp và tiện dụng.
-

CJuiAccordion: tạo accordion panel (các panel đóng/mở)


-

CJuiButton: tạo các nút và các sự kiện cho nút

-

CJuiDatePicker: hỗ trợ người dùng chọn ngày tháng năm

-

CJuiDialog: tạo các dialog và các sự kiện cho dialog

-

CJuiDraggable: giúp ta kéo thả bất kỳ một phần tử DOM nào đó trên vùng
nhìn

-

CJuiDroppable: cho phép nhận các phần tử DOM được kéo thả (thường sử
dụng với CJuiDraggable)

-

CJuiResizable: cho phép thay đổi kích thước phần tử DOM bất kỳ.

-

CJuiProgressBar: tạo thanh tiến trình


-

CJuiSlider: tạo thanh trượt cho phép di chuyển bằng chuột hay các phím mũi
tên

-

CJuiTabs: tạo các tab để hiển thị dữ liệu (tiết kiệm không gian trên trang web)

2.1.2.5.2. zii.widgets
CBreadcrumbs: hiển thị chi tiết tập hợp đường link phân cấp, giúp ta dễ dàng định
hình vị trí trang web mình đang dừng trên website và di chuyển giữa các trang dễ dàng
CDetailView: hiển chi tiết các thuộc tính dựa trên một model nào đó.
GVHD: Ths. Phan Võ Minh Thắng

8

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
CListView: hiển thị danh sách dữ liệu.
CMenu: hỗ trợ tạo menu
2.1.2.6. Tích hợp thư viện bên ngoài vào Yii Framework
2.1.2.6.1. Yii Mail
Yii mail hỗ trợ người phát triển có thể gửi nhận mail thông qua máy chủ mail
server. Điều mà chúng ta cần làm là cung cấp cho yii mail 1 tài khoản và mật khẩu
của địa chỉ mail, thông tin về server như cổng kết nối, đia chỉ của server…
Yii mail được tích hợp vào project dưới dạng extension và khai báo thông tin

trong file config/main.php.
Mã nguồn: />Yii mail hỗ trợ:
-

Gửi mail bằng và SMTP

-

Hỗ trợ mã hóa bằng SSL

-

Gửi E-mail dạng text.

-

Giửi E-mail dạng HTML.

-

Sử dụng tất cả các function mà E-mail hỗ trợ như : thêm tiêu đề, CC, BCC..

2.1.2.6.2. Timepicker
Là một widget được viết dựa trên jquery-ui-timepicker-addon
( và jQuery UI để hỗ trợ nhập thời
gian trên giao diện.
Mã nguồn: />2.1.2.7. Gii
Là một module sử dụng trong ứng dụng Yii, là công cụ hỗ trợ người lập trình tạo
nhanh các controller, form, crud, model, module mà không cần viết code.
Trước tiên, ta phải cấu hình trong file protected/config/main.php:


GVHD: Ths. Phan Võ Minh Thắng

9

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework

Hình 2.14 Cấu hình Gii
Sau đó ta gõ đường link: http://hostname/path/to/index.php?r=gii ,sẽ hiển thị trang
đăng nhập:

Hình 2.15 Trang đăng nhập Gii
Nhập mật khẩu ta vừa cấu hình trong file protected/config/main.php:

Hình 2.16 Trang chủ Gii
2.1.2.7.1. CRUD
CRUD (viết tắt của 4 từ: create, read, update, delete). Gii hỗ trợ 4 chức năng tạo
mới, đọc, cập nhật và xóa một bảng.
Nó thực sự cần thiết giúp admin quản lý các bảng, và người lập trình không cần
viết code.

GVHD: Ths. Phan Võ Minh Thắng

10

SVTH: Lê Vũ Trang Đài



Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework

Chương 3
BÀI TOÁN VÀ PHƯƠNG PHÁP
3.1.

Phát biểu bài toán

Xây dựng website TMDT cho phép khách hàng có thể mua sắm hoặc rao bán sản
phẩm theo hình thức DGTT.
3.1.1. Khái niệm Đấu Giá Trực Tuyến
Đấu giá là một quá trình mua và bán bằng cách người bán đưa ra món hàng cần
đấu giá và giá khởi điểm, người mua ra giá, kết thúc phiên đấu giá người bán bán
món hàng cho người mua có giá cao nhất hoặc hợp lý nhất.
Đấu giá trực tuyến là hình thức cho phép mọi người tham gia đấu giá các sản
phẩm hoặc các dịch vụ thông qua Internet.
3.1.2. Khảo sát thị trường
Thị trường thương mại điện tử ở Việt Nam bắt đầu sôi động và dần quen thuộc
với mọi người. Khá nhiều website cho phép người dùng thực hiện mua bán như
Vatgia.com, chodientu.vn, 124Mua.vn, nava.vn...
Trên thế giới, eBay là website đấu giá trực tuyến lớn nhất hiện nay. EBay đã xâm
nhập vào thị trường Việt Nam, tuy nhiên eBay vẫn gặp một số trở ngại như
khoảng cách địa lý, chính sách xuất nhập khẩu Việt Nam, nền văn hóa, nhu cầu,
thị hiếu của người Việt… Các trở ngại đó chính là cơ hội cho Website thương
mại điện tử Việt Nam phát triển theo mô hình này.
Tuy nhiên, thương mại điện tử Việt Nam vẫn chưa khai thác hết tiềm năng của
mình, chưa có website nào chiếm lĩnh được thị trường rộng lớn này, mô hình
mua bán theo hình thức đấu giá chưa được phổ biến.
3.1.3. Mô tả bài toán

Website ĐẤU GIÁ TRỰC TUYẾN tạo môi trường cho mọi người mua sắm,
tham gia đấu giá hoặc mang sản phẩm của mình rao bán đấu giá.
- Hệ thống xây dựng tổ chức sàn đấu giá.
- Người bán đăng ký đặt sản phẩm của mình lên sàn đấu giá, cung cấp thông
tin sản phẩm, giá sàn, thời gian đấu giá... và trả phí cho hệ thống. Mỗi sản
phẩm của người bán sẽ được đặt trong gian hàng riêng của họ, người bán có
thể trang trí gian hàng: thay đổi banner, logo, tên cửa hàng, danh mục sản
phẩm của cửa hàng…
GVHD: Ths. Phan Võ Minh Thắng

11

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
- Người mua tham gia đấu giá sản phẩm.
- Kết thúc phiên đấu giá, hệ thống cung cấp thông tin liên lạc của người bán
cho người mua, thông tin liên lạc của người mua cho người bán. Hai bên tự
liên lạc với nhau để thanh toán, giao hàng.
- Người mua, người bán sau khi giao dịch thành công sẽ đánh giá lẫn nhau để
tạo uy tín cho những lần giao dịch sau.
3.1.4. Một số loại hình thanh toán
a. Thanh toán trả sau COD (Cash On Delivery)
- Là kiểu thanh toán “Giao hàng, nhận tiền tận tay Người Mua”.
- Kiểu thanh toán này, Người Bán có thể cho nhân viên (hoặc đích thân) giao
hàng, nhận tiền, hoặc nhờ nhân viên bưu điện giao hàng thông qua dịch vụ
“Phát hàng thu tiền” của bưu điện.
b. Chuyển khoản ngân hàng
- Sau khi Người Bán và Người Mua liên hệ thỏa thuận đồng ý giao dịch mua

bán, Người Bán đưa tài khoản của ngân hàng nào đó (có thể 2 bên thỏa thuận
sẽ sử dụng ngân hàng nào) cho Người Mua. Người Mua ra chi nhánh ngân
hàng gần nhất hoặc máy ATM chuyển khoản, sau đó thông báo cho Người
Bán. Người Bán sẽ thực hiện giao hàng.
c. Cổng thanh toán (Ngân Lượng, Bảo Kim, Payoo).
- Người Bán đăng ký một tài khoản trên hệ thống Cổng thanh toán. Người Bán
có thể yêu cầu Người Mua chuyển tiền hoặc nhờ hệ thống tích hợp nút thanh
toán.
3.1.5. Khách hàng mục tiêu
- Tất cả mọi người có nhu cầu mua sắm trực tuyến, tiết kiệm thời gian, tiền
bạc vẫn mua được sản phẩm như ý.
- Khách hàng có nhu cầu mua sản phẩm độc-đẹp-lạ, sản phẩm công nghệ.
- Khách hàng có nhu cầu rao bán bất kỳ sản phẩm mình có.
- Công ty, doanh nghiệp, cá nhân có nhu cầu xây dựng gian hàng trực tuyến
ngay trên website ĐẤU GIÁ TRỰC TUYẾN để bày bán, quảng bá sản phẩm
của họ.
GVHD: Ths. Phan Võ Minh Thắng

12

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
3.2. Quy trình nghiệp vụ đấu giá trực tuyến

Hình 3.1 Quy trình nghiệp vụ
3.3. Yêu cầu chức năng
3.3.1. Người Dùng
Xem sản phẩm

«Functional»

Status: approved

Priority: Hight

Difficulty: Medium

Người dùng xem danh sách sản phẩm, chi tiết sản phẩm, tìm

GVHD: Ths. Phan Võ Minh Thắng

13

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
kiếm sản phẩm, vào từng gian hàng.
Xem danh sách sản phẩm
«Functional»

Status: approved

Priority: Hight

Difficulty: Medium

Người dùng xem danh sách sản phẩm theo các mục:
 Sản phẩm theo từng danh mục.

 Top đấu giá
 Sản phẩm sắp hết giờ
 Sản phẩm chuẩn bị lên sàn.
 Sản phẩm tương tự
 Sản phẩm theo từng Gian hàng
Xem chi tiết sản phẩm
«Functional»

Status: approved

Priority:High

Difficulty: Medium

Người dùng xem chi tiết thông tin về sản phẩm, thời gian đấu
giá, giá hiện tại, thông tin người bán.
Tìm kiếm sản phẩm
«Functional»

Status: approved

Priority:High

Difficulty: Medium

Chức năng cho phép người dùng tìm kiếm sản phẩm.
Xem gian hàng
«Functional»

Status: approved


Priority:High

Difficulty: Medium

Chức năng cho phép người dùng xem gian hàng, bao gồm: logo,
tên gian hàng, banner, danh sách sản phẩm của gian hàng, thông
tin chủ gian hàng.
Xem thông tin người dùng
«Functional»

Status: approved

Priority:High

Difficulty: Medium

Chức năng cho phép người dùng xem thông tin người dùng khác.
Quản lý hồ sơ cá nhân
«Functional»

Status: approved

Priority:High

Difficulty:Low

Chức năng cho phép người dùng tạo tài khoản, đăng nhập vào hệ
thống, thay đổi thông tin cá nhân, khôi phục tài khoản.
Tạo tài khoản

«Functional»

Status: approved

Priority:High

Difficulty:Low

Người dùng tạo tài khoản, sau đó dùng email và số điện thoại để
kích hoạt tài khoản.
Đăng nhập
GVHD: Ths. Phan Võ Minh Thắng

14

SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
«Functional»

Status: approved

Priority:High

Difficulty:Low

Chức năng cho phép người dùng đăng nhập vào hệ thống. Sau
đó, người dùng có thể tham gia đấu giá sản phẩm hoặc rao bán
sản phẩm của mình.

Đăng xuất
«Functional»

Status: approved

Priority:High

Difficulty:Low

Chức năng cho phép người dùng thoát khỏi hệ thống.
Khôi phục tài khoản
«Functional»

Status: approved

Priority:High

Difficulty:Low

Người dùng nhập email và số điện thoại để khôi phục tài khoản.
Thay đổi thông tin cá nhân
«Functional»

Status: approved

Priority:High

Difficulty:Low

Người dùng có thể xem, sửa thông tin cá nhân của mình.

Quản lý “danh sách bạn bè”
«Functional»

Status: approved

Priority:High

Difficulty: Low

Chức năng cho phép người dùng thêm người dùng khác vào
“danh sách bạn bè”, xem danh sách bạn bè, xóa bạn bè khỏi danh
sách.
Thêm người dùng vào danh sách “bạn bè”
«Functional»

Status: approved

Priority:Low

Difficulty: Medium

Chức năng cho phép người dùng thêm người dùng khác vào
“danh sách bạn bè”
Xem danh sách bạn bè
«Functional»

Status: approved

Priority:Low


Difficulty: Medium

Chức năng cho phép người dùng xem danh sách bạn bè của
mình.
Xóa người dùng khỏi danh sách “bạn bè”
«Functional»

Status: approved

Priority:Low

Difficulty: Medium

Chức năng cho phép người dùng xóa bạn bè ra khỏi danh sách.
Thêm người dùng vào danh sách “Người dùng bị chặn”
«Functional»

Status: approved

Priority: Medium

Difficulty: Medium

Chức năng cho phép người bán chặn, không cho một số người
dùng tham gia đấu giá sản phẩm của mình.
Xóa người dùng khỏi danh sách “Người dùng bị chặn”
GVHD: Ths. Phan Võ Minh Thắng

15


SVTH: Lê Vũ Trang Đài


Nghiên cứu và xây dựng hệ thống đấu giá trực tuyến dựa trên công nghệ Yii Framework
«Functional»

Status: approved

Priority: Medium

Difficulty: Medium

Chức năng cho phép người bán xóa người dùng khỏi danh sách
chặn.
Báo cáo vi phạm
«Functional»

Status: approved

Priority:High

Difficulty:Medium

Chức năng cho phép người dùng thông báo với hệ thống các sản
phẩm vi phạm qui định hệ thống, người mua hay người bán gian
lận…
Yêu thích sản phẩm
«Functional»

Status: approved


Priority:High

Difficulty:Medium

Chức năng cho phép người dùng chọn sản phẩm vào danh sách
sản phẩm yêu thích, chia sẻ với bạn bè qua mạng xã hội, email.

3.3.2. Người Bán
Quản lý sản phẩm
«Functional»

Status: approved

Priority: High

Difficulty:High

Chức năng cho phép người bán đăng sản phẩm cho người khác
tham gia đấu giá, thay đổi thông tin sản phẩm, xóa sản phẩm
,chọn lọc người tham gia đấu giá, đánh giá người mua sản phẩm
của mình.
Đăng sản phẩm
«Functional»

Status: approved

Priority: High

Difficulty: Medium


Chức năng cho phép người bán đăng sản phẩm của mình lên sàn
đấu giá. Khi đăng sản phẩm, người dùng phải điền đầy đủ thông
tin mô tả sản phẩm, thông tin đấu giá.
Quản lý sản phẩm chưa đấu giá
«Functional»

Status: approved

Priority: High

Difficulty: Medium

Chức năng cho phép người bán thay đổi chi tiết sản phẩm, thông
tin đấu giá trước khi sản phẩm lên sàn. Người bán có thể xóa sản
phẩm.
Quản lý sản phẩm đang đấu giá
«Functional»

Status: approved

Priority: High

Difficulty: Medium

Người bán có thể xem thông tin cuộc đấu giá, bao gồm: giá cao
nhất hiện tại, người ra giá cao nhất hiện tại, danh sách người
GVHD: Ths. Phan Võ Minh Thắng

16


SVTH: Lê Vũ Trang Đài


×