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
HỆ THỐNG THỐNG KÊ SỐ LIỆU
TRÊN NHIỀU LĨNH VỰC
Ngành
Niên khoá
Lớp
Sinh viên thực hiện
: Công nghệ thông tin
:2008-2012
:DH08DT
:Hồ Thị Cẩm Nhung
Phạm Phương Kiều
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
HỆ THỐNG THỐNG KÊ SỐ LIỆU
TRÊN NHIỀU LĨNH VỰC
Giáo viên hướng dẫn:
Sinh viên thực hiện:
Ths. Phan Võ Minh Thắng
Hồ Thị Cẩm Nhung
Phạm Phương Kiều
CÔNG TRÌNH HOÀN TẤT TẠI
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HỒ CHÍ MINH
Cán bộ hướng dẫn: Thạc sỹ Phan Võ Minh Thắng
Cán bộ phản biện: Thạc sỹ Lê Phi Hùng
Luận văn kỹ sư đượ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 HỒ CHÍ MINH ngày 12 tháng 03 năm 2013
Bộ Giáo Dục và Đào Tạo
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Trường Đại học Nông Lâm TP HCM
Độc Lập - Tự Do - Hạnh Phúc
NHIỆM VỤ LUẬN VĂN KỸ SƯ
Họ tên sinh viên: HỒ THỊ CẨM NHUNG
Giới tính: Nữ - Nơi sinh: ĐăkLăk
Ngày sinh: 02-10-1990
PHẠM PHƯƠNG KIỀU
Giới tinh: Nữ - Nơi sinh: Bình Định
Ngày sinh: 25-04-1990
I.
II.
TÊN ĐỀ TÀI: Hệ thống thống kê số liệu trên nhiều lĩnh vực
NHIỆM VỤ VÀ NỘI DUNG
Từ những dữ liệu số thu thập được, xử lý, trích lọc để tạo ra các thông tin có ích, kèm
theo đó là dữ liệu thống kê và chi tiết. Xây dựng trang web có thể bán các thông tin có
được và khách hàng sẽ thanh toán bằng điểm mà khách hàng đã có. Trang web cung cấp
các chức năng mua bán điểm, thông tin, quản lý thông tin cá nhân,..cho khách hàng, đồng
thời cung cấp các chức năng quản trị hệ thống cho người quản trị. Trang web tương tác
nhanh, tiện dụng cho người dùng
Nội dung nghiên cứu: nghiên cứu bộ công cụ SSIS để xử lý dữ liệu, tìm hiểu ngôn ngữ
lập trình web PHP và Yii framework để xây dựng trang web. Tìm hiểu script để tạo mã
nhúng cung cấp thông tin từ xa.
III. NGÀY GIAO NHIỆM VỤ: 01–09-2012
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 12-03-2012
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Thạc sỹ Phan Võ Minh Thắng
Ngày / /
Ngày
/ /
CÁN BỘ HƯỚNG DẪN
CHỦ NHIỆM CHUYÊN NGÀNH
Ngày / /
KHOA CNTT
LỜI CẢM ƠN
Lời cảm ơn đầu tiên, 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.
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.
Đặ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.
DANH SÁCH CHỮ VIẾT TẮT
Yii
SSIS
ELT
BIDS
OOP
MVC
DAO
RPS
CRUD
CSDL
DBMS
GVHD:Ths. Phan Võ Minh Thắng
Yes It Is
SQL Server Intergration Services
Extract Load Transform
Business Intelligence Development Studio
Object Oriented Programing
Model View Controller
Data Access Object
Request PerSecond
CreatingReadingUpdatingDeleting
Cơ Sở Dữ Liệu
Database Manager System
i
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
TÓM TẮT
Một số liệu thống kê chính xác có thể hỗ trợ đưa ra quyết định quan trọng
giúp ích cho nhiều cá nhân và tập thể.Vì vậy việc tập hợp số liệu, tạo ra số liệu
tổng hợp, thống kê rất hữu ích đối với nhiều người.Trên thực tế, số liệu tồn tại
ở mọi nơi nhưng vẫn chưa được sử dụng tối đa lợi ích, các số liệu còn tồn tại
riêng lẻ, chưa được tập hợp lại để tạo thành một thể thống nhất. Đó là lý do vì
sao cần ra đời một hệ thống có thể tập hợp nhiều con số riêng lẻ để có thể tạo
ra một thông tin số liệu có tính thống kê, đáp ứng được nhu cầu của nhiều cá
nhân, tập thể, và tận dụng được hết lợi ích của những con số riêng lẻ.
Chúng em đã được học và biết rất nhiều về Java trên ghế nhà trường.Luận
văn tốt nghiệp là một cơ hội tốt để chúng em có thể thử thách bản thân mình
bước vào một hướng mới, đó là lập trình web với ngôn ngữ PHP.Việc lập trình
một hệ thống hoàn thiện bằng PHP thuần mất rất nhiều thời gian, vì vậy chúng
em đã chọn lựa xây dựng hệ thống bằng một framework của PHP. Sau thời
gian tìm hiểu về đặc điểm, ưu nhược điểm của một số PHP theo nhiều ý kiến
khác nhau, chúng em nhận thấy Yii framework là sự lựa chọn hợp lý để chúng
em hoàn thành luận văn tốt nghiệp của mình.
Cùng với sự giúp đỡ tận tình của giảng viên hướng dẫn-thầy Phan Võ Minh
Thắng, sau thời gian thực hiện luận văn, chúng em đã có thể hiểu rõ hơn về
kiến thức một số môn học đã được học trước đó, biết cách làm việc với
PHP,Yii framework và rút ra được nhiều bài học quý bàu cho bản than.
GVHD:Ths. Phan Võ Minh Thắng
ii
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
MỤC LỤC
DANH SÁCH CHỮ VIẾT TẮT.................................................................................. i
TÓM TẮT .................................................................................................................. ii
MỤC LỤC..................................................................................................................iii
DANH MỤC CÁC HÌNH ........................................................................................ vi
DANH MỤC CÁC BẢNG .....................................................................................viii
1 Chương 1 ............................................................................................................. 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 Mục đích nghiên cứu ..................................................................................... 2
1.4 Bố cục luận văn ............................................................................................. 2
2 Chương 2 ............................................................................................................. 4
TỔNG QUAN ............................................................................................................. 4
2.1 Khảo sát các hệ thống tương tự ..................................................................... 4
2.1.1 Khảo sát hệ thống ....................................................... 4
2.1.2 Khảo sát hệ thống .............................................. 6
2.1.3 Kết luận khảo sát ..................................................................................... 6
2.2 Tổng quan về Yii framework ........................................................................ 7
2.2.1 PHP Framework là gì? ........................................................................... 7
2.2.2 Tại sao phải sử dụng framework? ........................................................... 7
2.2.3 Nguyên nhân chọn yii framework để xây dựng hệ thống ....................... 8
3 Chương 3 ............................................................................................................. 9
NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU ................................................... 9
3.1 Phương pháp nghiên cứu ............................................................................... 9
3.2 Giới thiệu về PHP .......................................................................................... 9
3.3 Giới thiệu Yii Framework ........................................................................... 10
3.3.1 Lịch sử phát triển ................................................................................... 11
3.3.2 Ưu điểm của Yii framework .................................................................. 11
3.3.3 Nhược điểm của Yii Framework ........................................................... 13
3.3.4 Làm việc với Yii .................................................................................... 13
3.3.5 Yii code generator-gii ............................................................................ 21
3.3.6 Mô hình MVC trong Yii........................................................................ 25
3.3.7 Wiget trong Yii ...................................................................................... 27
3.3.8 Module................................................................................................... 27
3.4 Công cụ thao tác dữ liệu SSIS ..................................................................... 28
4 Chương 4 ........................................................................................................... 38
PHÂN TÍCH VÀ THIẾT KẾ .................................................................................... 38
4.1 Phát biểu bài toán ........................................................................................ 38
4.2 Yêu cầu chức năng ...................................................................................... 38
4.2.1 Người dùng chung ................................................................................. 38
4.2.2 Super Admin.......................................................................................... 40
4.2.3 Admin .................................................................................................... 42
4.2.4 Khách hàng ............................................................................................ 45
GVHD:Ths. Phan Võ Minh Thắng
iii
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
4.3 Yêu cầu phi chức năng ................................................................................ 48
4.3.1 Giao diện ............................................................................................... 48
4.3.2 Bảo mật.................................................................................................. 49
4.3.3 Hiệu suất làm việc ................................................................................. 49
4.4 Use case ....................................................................................................... 50
4.4.1 Xác định actor, use-case ........................................................................ 50
4.4.2 Mô hình use-case ................................................................................... 53
4.4.3 Đặc tả use-case ...................................................................................... 54
4.4.4 Đăng kí .................................................................................................. 54
4.4.5 Đăng nhập.............................................................................................. 56
4.4.6 Đăng xuất .............................................................................................. 58
4.4.7 Quản lý thông tin cá nhân...................................................................... 60
4.4.8 Lấy lại mật khẩu .................................................................................... 62
4.4.9 Tìm kiếm ............................................................................................... 64
4.4.10 Mua điểm ............................................................................................... 67
4.4.11 Liên hệ ................................................................................................... 69
4.4.12 Mua thông tin ........................................................................................ 71
4.4.13 Xem thông tin đã mua ........................................................................... 73
4.4.14 Lấy mã nhúng ........................................................................................ 75
4.4.15 Xem lịch sử giao dịch ............................................................................ 77
4.4.16 Thêm admin ........................................................................................... 79
4.4.17 Quản lý người dùng ............................................................................... 81
4.4.18 Quản lý hóa đơn mua điểm ................................................................... 84
4.4.19 Quản lý mua thông tin ........................................................................... 87
4.4.20 Quản lý liên hệ ...................................................................................... 90
4.4.21 Thêm thông tin ...................................................................................... 92
4.4.22 Quản lý thông tin ................................................................................... 94
4.4.23 Báo cáo .................................................................................................. 97
4.5 Thiết kế hệ thống ....................................................................................... 100
4.5.1 Lược đồ lớp miền ................................................................................ 100
4.5.2 Kiến trúc hệ thống ............................................................................... 100
4.5.3 Kiến trúc phần mềm ............................................................................ 102
4.5.4 Kiến trúc server ................................................................................... 103
4.5.5 Một số giao diện hệ thống ................................................................... 103
4.6 Vấn đề và phương pháp giải quyết ............................................................ 107
4.6.1 Sử dụng javascript tạo mã nhúng ........................................................ 107
4.6.2 Load dữ liệu từ cơ sở dữ liệu............................................................... 109
4.6.3 Tự động load bảng dữ liệu không thông qua model ........................... 111
4.6.4 Wiget và hiển thị nội dung .................................................................. 112
4.6.5 Generate code bằng Yii code generator-gii ......................................... 114
4.6.6 Phân quyền hệ thống ........................................................................... 115
5 Chương 5 ......................................................................................................... 117
KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN ........................................... 117
5.1 Kết quả đạt được........................................................................................ 117
5.2 Những điều chưa làm được ....................................................................... 119
GVHD:Ths. Phan Võ Minh Thắng
iv
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
5.3 Hướng phát triển ........................................................................................ 119
TÀI LIỆU THAM KHẢO....................................................................................... 120
PHỤ LỤC A ............................................................................................................ 121
Đối với khách hàng .......................................................................................... 121
Đối với admin .................................................................................................. 124
GVHD:Ths. Phan Võ Minh Thắng
v
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
DANH MỤC CÁC HÌNH
Hình 3-1 So sánh hiệu suất làm việc của các PHP framework ..................................13
Hình 3-2 Kiểm tra tương thích Yii với máy chủ ........................................................14
Hình 3-3 Giao diện trang chủ ứng dụng demo ..........................................................15
Hình 3-4 Các cấu trúc tĩnh của 1 ứng dụng Yii .........................................................17
Hình 3-5 Nhập mật khẩu để vào trang Yii Code Generator ......................................22
Hình 3-6 Màn hình trang Yii Code Generator ...........................................................22
Hình 3-7 Màn hình tạo lớp model ..............................................................................23
Hình 3-8 Màn hình tạo controller ..............................................................................24
Hình 3-9 Công việc cụ thể của 1 ứng dụng Yii khi nó được xử lý bởi yêu cầu người
dùng ............................................................................................................................25
Hình 3-10 Tạo project SSIS mới................................................................................29
Hình 3-11 Một project SSIS rỗng ..............................................................................30
Hình 3-12 Thiết lập kết nối trong SSIS .....................................................................32
Hình 4-1 Các actor của hệ thống................................................................................50
Hình 4-2 Các usecase của actor Người dùng .............................................................51
Hình 4-3 Các usecase của actor Khách hàng .............................................................52
Hình 4-4 Các usecase của actor Admin .....................................................................53
Hình 4-5 Các usecase của actor Super Admin ...........................................................53
Hình 4-6 Mô hình usecase .........................................................................................54
Hình 4-7 Activity Đăng Kí.........................................................................................55
Hình 4-8 Activity Đăng nhập .....................................................................................57
Hình 4-9 Activity Đăng xuất......................................................................................59
Hình 4-10 Activity Quản lý thông tin cá nhân ...........................................................60
Hình 4-11 Activity Lấy lại mật khẩu .........................................................................63
Hình 4-12 Activity Tìm kiếm ....................................................................................65
Hình 4-13 Activity Mua điểm ....................................................................................67
Hình 4-14 Activity Liên hệ ........................................................................................70
Hình 4-15 Activity Mua thông tin .............................................................................72
Hình 4-16 Activity Xem thông tin đã mua ................................................................74
Hình 4-17 Activity Lấy mã nhúng .............................................................................76
Hình 4-18 Activity Xem lịch sử giao dịch .................................................................77
Hình 4-19 Activity Thêm admin ................................................................................79
Hình 4-20 Activity Quản lý người dùng ....................................................................81
Hình 4-21 Activity Quản lý hóa đơn mua điểm.........................................................85
Hình 4-22 Activity Quản lý thông tin ........................................................................88
Hình 4-23 Activity Quản lý liên hệ............................................................................91
Hình 4-24 Activity Thêm thông tin ...........................................................................93
Hình 4-25 Activity Quản lý thông tin ........................................................................95
Hình 4-26 Activity Báo cáo .......................................................................................98
Hình 4-27 Mô hình lớp miền ...................................................................................100
Hình 4-28 Kiến trúc hệ thống ..................................................................................101
Hình 4-29 Kiến trúc phần mềm ...............................................................................102
Hình 4-30: Kiến trúc server .....................................................................................103
GVHD:Ths. Phan Võ Minh Thắng
vi
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hình 4-31 Màn hình trang chủ .................................................................................104
Hình 4-32 Màn hình trang admin.............................................................................104
Hình 4-33 Màn hình trang xem thông tin ................................................................105
Hình 4-34 Màn hình trang xem dữ liệu thông tin đã mua .......................................105
Hình 4-35 Màn hình trang lấy mã nhúng .................................................................106
Hình 4-36 Màn hình trang quản lý thông tin ...........................................................106
Hình 4-37 Màn hình trang tạo thông tin mới ...........................................................107
Hình 4-38 Chọn cột hiển thị trong bảng dữ liệu ......................................................113
Hình 4-39 Back to top ..............................................................................................114
Hình 4-40 Tool tip cho nút mua thông tin ...............................................................114
Hình 4-41 Chọn định dạng file tải về.......................................................................114
GVHD:Ths. Phan Võ Minh Thắng
vii
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
DANH MỤC CÁC BẢNG
Bảng 1 Các quản lý kết nối trong SSIS......................................................................... 31
Bảng 2 SSIS Control Flow Task ................................................................................... 34
Bảng 3 SSIS maintenance plan tasks ............................................................................ 34
Bảng 4 SSIS containers ................................................................................................. 35
Bảng 5 Data Flow source .............................................................................................. 35
Bảng 6 Chuyển đổi dữ liệu ........................................................................................... 37
Bảng 7 Dữ liệu đích ...................................................................................................... 37
GVHD:Ths. Phan Võ Minh Thắng
viii
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
1
Chương 1
MỞ ĐẦU
1.1 Lý do chọn đề tài
Thực trạng
Quyết định của một cá nhân, một nhà lãnh đạo có ảnh hưởng rất lớn và có thể
ảnh hưởng đến sự sống còn của tổ chức, doanh nghiệp. Một quyết định cần có căn
cứ chính xác và đầy đủ, những thông tin đó cần có tính khách quan cao và phải được
thống kê trên số lượng lớn.
Vì vậy những con số thống kê rất quan trọng, có ý nghĩa rất lớn đối với nhiều
người, nhiều tổ chức. Nhưng hiện nay trên thực tế lại chưa có nhiều nơi thực hiện
việc thống kê các con số chính xác.
Nhu cầu
Cần ra đời một hệ thống đáp ứng được nhu cầu về số liệu thống kê hiện nay.Hệ
thống có thể có thể lưu trữ một lượng dữ liệu cực lớn và cần có tính chính xác cao,
cung cấp đầy đủ thông tin thống kê và chi tiết để đáp ứng được nhu cầu về cách nhìn
tổng quan cũng như cụ thể của người dùng.
Cần ra đời một hệ thốngcó thể lưu trữ một lượng dữ liệu cực lớn, và chi tiết được
tập hợp, tổng hợp từ các trang nguồn khác, nguồn dữ liệu được bảo đảm.Cung cấp
thông tin chính xác, dễ dàng truy xuất, tìm kiếm dữ liệu nhanh.Hỗ trợ plugin cập
nhật thông tin liên tục đến từng thành viên.Giao diện dễ tương tác, sử dụng. Hỗ trợ
xuất ra các file PDF, excel…
Bài toán đặt ra
Nhận thấy được nhu cầu đó, chúng em quyết định xây dựng một hệ thống có thể
cung cấp cho người dùng nhiều nhất có thể những thông tin số liệu thống kê cũng
như cụ thể nhằm hỗ trợ ra quyết định cho người dùng.Hệ thống sẽ cập nhật thông tin
nhanh nhất và kịp thời nhất để có thể nắm bắt tình hình trước thời đại công nghệ
thông tin này. Người dùng sẽ có thể mua điểm của hệ thống qua các hình thức thanh
GVHD:Ths. Phan Võ Minh Thắng
1
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
toán tiện lợi nhất và dùng điểm đó để mua thông tin dữ liệu từ hệ thống
1.2 Phạm vi nghiên cứu
Thu thập dữ liệu thật trên nhiều lĩnh vực
Thiết kế & tổ chức lưu trữ dữ liệu với quy mô lớn.
Tìm hiểu ngôn ngữ PHP và Yii Framework
Các bộ thư viện PHP & JavaScript hỗ trợ.
Kỹ thuật tìm kiếm, truy xuất & trích lọc dữ liệu linh hoạt.
Tạo đối tượng nhúng cập nhật thông tin từ xa
Tìm hiểu tạo trang web đa ngôn ngữ
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.
Triển khai hệ thống chạy online
1.3 Mục đích nghiên cứu
Xử lý dữ liệu, làm sạch dữ liệu sau khi thu thập được
Trích lọc, xử lý dữ liệu để lấy ra được những thông tin có ích, trả lời được
những câu hỏi đã đặt ra
Sử dụng PHP Yii framework để xây dựng trang web, bán thông tin dữ liệu đã
có
Tạo đối tượng nhúng cung cấp cho người dùng để người dùng có thể truy cập
thông tin từ xa
1.4 Bố cục luận văn
CHƯƠNG 1: MỞ ĐẦU
Trình bày sự cần thiết của đề tài, lý do chọn đề tài, mục tiêu nghiên cứu, nội
dung nghiên cứu và cấu trúc của khóa luận.
CHƯƠNG 2: TỔNG QUAN
Trình bày kết quả khảo sát các hệ thống tương tự, từ đó rút ra được kết luận cho
bài toán. Giới thiệu tổng quan về Yii framework
CHƯƠNG 3: NỘI DUNG NGHIÊN CỨU
GVHD:Ths. Phan Võ Minh Thắng
2
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
Giới thiệu, phân tích và hướng dẫn sử dụng PHP, Yii framework và bộ công cụ
SSIS
CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KỂ
Trình bày phát biểu bài toán, nghiệp vụ hệ thống, yêu cầu chức năng, phi chức
năng, mô hình usecacse, đặc tả usecase, kiến trúc hệ thống, kiến trúc phần mềm,
lược đồ lớp miền, và một số hình ảnh của hệ thống
CHƯƠNG 5: KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN
Trình bày kết quả đạt đượcvề mặt cá nhân và hệ thống sau quá trình thực hiện đề
tài, kết luận về công nghệ sử dụng. Nêu ra những điều chưa làm được, từ đó đưa ra
hướng phát triền cho hệ thống
GVHD:Ths. Phan Võ Minh Thắng
3
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
2 Chương 2
TỔNG QUAN
2.1 Khảo sát các hệ thống tương tự
2.1.1
Khảo sát hệ thống
Đây là trang web của cục thống kê quốc tế, bao gồm các thống kê trên nhiều lĩnh
vực, dữ liệu thống kê của nhiều nước trên thế giới. Trang web liên kết với các trang
web thống kê của các nước
2.1.1.1
Đối trượng các hệ thống quản lý
Hệ thống chứa hơn 60 triệu dữ liệu
Nguồn dữ liệu:
-
Các dữ liệu thống kê từ các khu vực, các nước
-
Tập hợp dữ liệu từ các tổ chức của Liên Hiệp Quốc như: Tổ Chức Nông
Nghiệp Và Lương Thực, Tổ Chức Lao Động Quốc Tế, Quỹ Tiền Tệ Quốc Tế, Liên
Minh Viễn Thông Quốc Tế, Chương Trình Phối Hợp Của Liên Hiệp Quốc Về
HIV/AIDS, Ngân Hàng Quốc Tế, Viện Thống Kê Quốc Tế UNESCO, Quỹ Nhi
Đồng Quốc Tế, Chương Trình Phát Triển Liên Hiệp Quốc, …
Hiển thị dữ liệu:
-
Bảng dữ liệu
-
Tải về với các định đạng khác nhau( PDF, EXCEL …)
Quản lý dữ liệu trên view
-
Quản lý dữ liệu hiểu thị theo dạng cây phân loại theo từng lĩnh vực
-
Dữ liệu là tĩnh được kết xuất sẵn
Người dùng: cộng đồng người dùng toàn cầu như
-
Các nhà phân tích, nhà sản xuất
GVHD:Ths. Phan Võ Minh Thắng
4
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
-
Các nhà báo, sinh viên, và cộng đồng người dùng
2.1.1.2
Chức năng mà hệ thống hỗ trợ
-
Tìm kiếm thông tin theo từ khóa.
-
Tìm kiếm nâng cao
-
Tìm kiếm theo lĩnh vực
-
Hiển thị thông tin theo yêu cầu hiển thị
-
Tìm thông tin theo bảng thông tin có sẵn được gom theo nhóm
-
Hệ thống hiểu thị các thông tin dưới dạng bảng
-
Hỗ trợ Plugin cho firefox
-
Đưa vào iGoogle dưới dạng Gadget
2.1.1.3
Công nghệ mà hệ thống đó dùng
Sử dụng ASP để phát triển web
Sử dụng công nghệ điện toán đám mây của Microsoft trên nền tảng Windown
Azure
2.1.1.4
Đánh giá điểm mạnh điểm yếu( hỗ trợ biểu đồ, hỗ trợ bộ lọc, dữ
liệu chết dưới dạng PDF, dữ liệu sống kết xuất dưới dạng PDF)
Điểm yếu của hệ thống
-
Hệ thống có chức năng tìm kiếm nhưng bị hạn chế bởi từ khóa khi người
dùng nhập vào. Các từ khóa này chỉ được chấp nhận khi nhập vào các từ khóa như
trong bảng thuật ngữ mà hệ thống cung cấp( có thể kết hợp nhiều thuật ngữ).
-
Khi tìm kiếm nâng cao thì thể hệ thống sẽ đưa người dùng đến với các trang
của các tổ chức trực tiếp quản lý thông tin mà người tìm kiếm yêu cầu.
-
Biểu đồ, đưa dữ liệu vào GIS không được thể hiện trực tiếp trên trang
mà sử dụng từ các trang ,
o và các trang này sử dụng dữ liệu từ để tạo lập
bản đồ…
Điểm mạnh của hệ thống
GVHD:Ths. Phan Võ Minh Thắng
5
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
-
Việc tìm kiếm được hỗ trợ khá nhiều từ tìm kiếm thông thường đến tìm kiếm
nâng cao. Và còn hỗ trợ các thông tin đã được lọc sẵn( chức năng “explorer”).
-
Biểu diễn dữ liệu: dữ liệu được gom theo nhóm: theo năm, theo quốc
gia…khi hiển thị
-
Truy cập: hỗ trợ cho phép người dùng truy cập một lượng lớn lên đến 50000
dữ liệu cùng một lúc
-
Cách thức hiểu thị bản dự liệu đa dạng tùy chỉnh theo mục đích người xem
2.1.2
Khảo sát hệ thống
Hệ thống thông kê số liệu tổng cục thống kê Việt Nam
-
Dữ liệu tĩnh, chỉ tìm kiếm theo đơn vị thời gian
-
Lượng dữ liệu ít, đa số dữ liệu đã được tổng hợp được từ các địa phương và
dữ liệu khá tổng quát, không chi tiết
-
Dữ liệu được quản lý theo đơn vị thời gian
2.1.3
Kết luận khảo sát
Các hệ thống đã cung cấp được nhiều chức năng có ích cho người dùng.Cung
cấp được một lượng lớn dữ liệu. Nhưng còn một số hạn chế đã nêu ở phần điểm yếu
của hệ thống, và hệ thống thống kê số liệu của tổng cụ Việt Nam cũng có một số hạn
chế tương tự
Hệ thống chưa cung cấp được mã nhúng giúp người dùng xem thông tin từ xa
Từ đó cần xây dựng một hệ thống có thể cung cấp các chức năng tương tự, tổng
hợp được các thông tin dữ liệu thống kê có tính khả dụng cao.Xây dựng hệ thống
trang web có thể đưa thông tin tổng hợp được đến với người dùng, cho phép người
dùng có thể thao tác trực tiếp được với dữ liệu dạng bảng. Trang web còn cung cấp
chức năng quản trị cho người dùng là người quản trị để quản trị hệ thống và tài
khoản khách hàng. Hệ thống cung cấp cho khách hàng đoạn mã nhúng để khách
hàng có thể truy cập thông tin từ xa.
GVHD:Ths. Phan Võ Minh Thắng
6
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
2.2 Tổng quan về Yii framework
2.2.1
PHPFramework là gì?
PHP frameworks làm cho sự phát triển của những ứng dụng web viết bằng ngôn
ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp 1 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 giúp đỡ lập trình viên thúc
đẩy nhanh chóng quá trình phát triển ứng dụng, giúp tiết kiệm được thời gian, tăng
sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình
viên.Ngoài ra Framework còn giúp những người mới bắt đầu có thể xây dựng các
ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và
giao diện (HTML) 1 cách riêng biệt.Điều này cho phép 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 1 project.
2.2.2
Tại sao phải sử dụng framework?
Có rất nhiều lý do khác nhau để các lập trình viên sử dụng PHP framework,
nhưng 1 trong những lý do chính vẫn là khả năng giúp các lập trình viền tăng tốc
quá trình phát triển ứng dụng. Việc sử dụng lại các mã lệnh giống nhau trong nhiều
project sẽ giúp tiết kiệm được thời gian và công sức 1 cách đáng kể. Một framework
sẽ cung cấp sẵn các module nền tảng cần thiết để xây dựng 1 project, vì thế, các lập
trình viên có thể tận dụng được thời gian để phát triển các ứng dụng thực tế, hơn là
mất thời gian để xây dựng lại nền tảng trên mỗi project.
Sự ổn định là 1 lý do lớn đối với các lập trình viên đang sử dụng Framework.
Tính đơn giản là 1 điểm mạnh của PHP, đó là lý do tại sao lại có nhiều người thích
sử dụng nó, nhưng đồng thời đó cũng là điểm yếu của nó. PHP thì khá dễ học và sử
dụng, đặc biệt là đối với những người mới làm quen với lập trình, tuy nhiên, họ có
thể thường xuyên viết mã 1 cách không khoa học và thậm chí không hề nhận thức
được điều này, với PHP, trong nhiều trường hợp các ứng dụng vẫn sẽ làm việc được,
nhưng vô tình họ có thể tạo ra các lỗ hổng bảo mật lớn trong mã lệnh của mình, và
bị hacker khai thác.
GVHD:Ths. Phan Võ Minh Thắng
7
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
Hầu hết các PHP framework đều có sẵn rất nhiều thành phần mở rộng
(extensive), và cũng có rất nhiều framework khác nhau để lựa chọn.Thậm chí còn có
thể tự viết riêng cho mình 1 framework. Tuy nhiên, nên cân nhắc kỹ trước khi quyết
định sử dụng 1 framework nào cho mình hay không, nên tự đặt câu hỏi cho chính
mình là: Nó có tiết kiệm được cho chúng ta thời gian và công sức hay không ? Có
giúp ứng dụng hoạt động tốt hơn không ? Có cải thiện được sự ổn định cho ứng
dụng không?...
2.2.3
Nguyên nhân chọn yii framework để xây dựng hệ thống
Hiện nay trên thị trường phát triển ứng dụng web, PHP là ngôn ngữ phổ biến,
được nhiều tổ chức sử dụng, mà trong đó nổi bật nhất là Yii framework và Zend
framework.
Yii framework có một số điểm đặc biệt và nổi trội phù hợp với hệ yêu cầu của hệ
thống, đáp ứng được các chức năng mà hệ thống đưa ra
Hệ thống của chúng em làm việc với đối tượng chính là thông tin, làm việc với
một lượng dữ liệu lớn, và nếu có thể sẽ còn lớn hơn nữa trong tương lai. Vì vậy cần
có một framework có thể làm việc nhanh và nhẹ, không phải cài đặt quá nhiều nhằm
nâng cao hiệu quả của hệ thống
Hệ thống làm việc với cơ sở dữ liệu lớn, và được đặt tại hệ quản trị cơ sở dữ liệu
SQL Server nhằm tương tác với bộ công cụ SSIS để xử lý dữ liệu.Sau đó cần phải
được đưa lên host để chạy online, thử nghiệm triển khai trên thực tế, mà host lại hỗ
trợ hệ quản trị cơ sở dữ liệu MySQL, nên sẽ có sự thay đổi hệ quản trị cơ sở dữ liệu
của hệ thống. Vì vậy cần có một framework hỗ trợ dễ dàng thay đổihệ quản trị cơ sở
dữ liệu mà không phải cấu hình nhiều
Từ những lý do trên và tìm hiểu một số ưu điểm của Yii, chúng em quyết định
chọn Yii framework để phát triển hệ thống
GVHD:Ths. Phan Võ Minh Thắng
8
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
3 Chương 3
NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1 Phương pháp nghiên cứu
Để tiến hành nghiên cứu và xây dựng hệ thống, chúng em đã sử dụng một số
phương pháp nghiên cứu:
Phương pháp quan sát khoa học
Khảo sát hệ trang web của tổng cục thống Kê Việt Nam và trang web của thống
kê của thế giới để có thể học hỏi một số chức năng cần thiết cho hệ thống ví dụ cho
phép người dùng chọn cột dữ liệu để xem, tải dữ liệu về máy,…Và xây dựng thêm
một số chức năng mà hệ thống chưa có.
Phương pháp phân tích và tổng hợp lý thuyết
Từ những chức năng và yêu cầu đã được đặt ra, đọc và phần tích các điểm nổi
bật của các kiến thức, công nghệ có liên quan đến những mặt của hệ thống, sau đó
rút ra những điểm ưu và nhược của công nghệ đó. Tổng hợp các ưu nhược điểm để
quyết định sẽ sử dụng công nghệ nào để giải quyết các vấn đề trong đề tài.
Phương pháp phân loại lý thuyết
Nghiên cứu và sắp xếp các kiến thức lý thuyết đã có và các công cụ thực hiện
thành các nhóm để sử dụng trong quá trình thực hiện hệ thống.
Phương pháp mô hình hóa
Xác định các đối tượng thực tế được nghiên cứu trong công trình, mô hình hóa
các đối tượng này dưới dạng tri thức máy để thao tác và tạo cơ sở dữ liệu
3.2 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
GVHD:Ths. Phan Võ Minh Thắng
9
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
dựng phần giao diện ứng dụng HTTP.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và
có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP
lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy
mô doanh nghiệp.
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.
-
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.
3.3 Giới thiệu Yii Framework
Trang chủ:
Diễn đàn: />Yêu cầu:
-
PHP : 5.1.x
-
Web Server: Apache httpd 2.0.40
-
CPU: Dual Intel Xeon 3.2GHz
GVHD:Ths. Phan Võ Minh Thắng
10
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
-
Ổ đĩa cứng: 73GB 15K RPM SCSI/SAS HDD
Yii là từ viết tắt của từ Yes, it is! Hoặc cũng có thể là viết ngắn gọn 3 chữ cái đầu
của Easy (dễ dàng), Efficient (hiệu suất) và Extensible (khả năng mở rộng).
Yii là 1 PHP Framework mã nguồn mở và hoàn toàn miễn phí, có hiệu năng cao,
giúp bạn phát triển tốt nhất các ứng dụng Web 2.0.Yii được xây dựng để phát triển
các ứng dụng Web quy 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.
3.3.1
Lịch sử phát triển
Tiền thân của Yii chính là PRADO framework.Tác giả của Yii là Qiang Xue,
một người Trung Quốc.Qiang Xue bắt đầu xây dựng Yii vào khoảng 1/1/2008.Có
nghĩa là tính tới nay mới được 3 năm. Qiang Xue cũng chính là người đã từng phát
triển PRADO framework, tuy nhiên, nhận thấy PRADO có nhiều hạn chế và bản
thân Qiang Xue muốn phát triển 1 framework mang những đặc điểm như dễ sử
dụng, dễ tiếp cận, bảo mật cao và chuyên nghiệp hơn nên là Qiang Xueđã sử dụng
kinh nghiệm của mình trong thời gian phát triển PRADO để viết ra Yii. Sau gần 1
năm phát triển, tới 3/12/20008, bản Yii đầu tiên đó là Yii framework 1.0đãđược phát
hành và nhanh chóng được mọi người đón nhận. Phiên bản mới nhất hiện nay là Yii
framework 1.1.11
3.3.2
-
Ưu điểm của Yii framework
Là framework MVC nhưng có kiến trúc OOP rất tốt và lại hướng component
nên mức độ tái sử dụng giữa các project rất cao. Yii đặc biệt chạy nhanh hơn Zend
và Symfony
-
Hỗ trợ trên tất cả các DBMS bởi PDO (PHP Data Object)
-
Yii được đóng gói với các tính năng giúp đáp ứng những nhu cầu cao trên
ứng dụng web hiện nay. AJAX cho phép web tích hợp các widgets, thực thi của một
GVHD:Ths. Phan Võ Minh Thắng
11
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều
Hệ thống thống kê số liệu trên nhiều lĩnh vực 2013
kiến trúc MVC, DAO và quan hệ lớp ActiveRecord, kiểm soát truy cập, xem video
chuyên nghiệp, quốc tế (I18N),và nội địa hoá
-
Cung cấp sẵn phương thức xác thực/phân quyền giúp người dùng có thể cấp
phát và quản lý tài khoản người dùng một cách dễ dàng nhất
-
Hỗ trợ thay đổi giao diện theo chủ đề một cách đơn giản
-
Kết nối webservice để giao tiếp với các hệ thống khác một cách dễ dàng
-
Lập trình đa ngôn ngữ(I18N)
-
Sử dụng bộ nhớ cache giúp cải thiện hiệu suất của ứng dụng web
-
Tự động phát sinh code giúp tiết kiệm thời gian và tăng sự tiện lợi cho lập
trình viên
-
Yii đơn giản trong cách viết kết hợp với thế mạnh "scripting" của PHP và cơ
chế mảng index (associative array)
-
Yii rất nhẹ và được trang bị giải pháp cache tối ưu 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.
-
Có tài liệu đầy đủ trên trang chủ và có nhiều diễn đàn, trang web, nhiều cộng
đồng mạng hỗ trợ, trả lời thắc mắc,..
-
Tốc độ xử lý nhanh nhờ sử dụng kỹ thuật lazy loading
-
Hiệu suất xử lý của Yii rất cao. Biểu đồ dưới đây cho thấy hiệu quả hơn hẳn
so với các Framework PHP khác. RPS là viết tắt của “Request per second” nhằm mô
tả việc làm mới ứng dụng có thể xử lý trong mỗi giây. Số càng cao thì tính hiệu quả
càng lớn của Framework. Sự thuận lợi này của Yii rất cần thiết cho người sử dụng
khi tương tác với ứng dụng.
GVHD:Ths. Phan Võ Minh Thắng
12
SVTH: Hồ Thị Cẩm Nhung
Phạm Phương Kiều