HỆ THỐNG CHỈ TIÊU NGÀNH THÔNG TIN VÀ TRUYỀN THÔNG TỈNH BẮC GIANG TRÊN NỀN TẢNG MÃ NGUỒN MỞ DRUPAL
Trang 2Hà Nội 2010
MỤC LỤC
Trang
MỤC LỤC 2
LỜI CẢM ƠN 4
LỜI NÓI ĐẦU 5
DANH MỤC HÌNH VẼ 7
DANH MỤC BẢNG BIỂU 8
CHƯƠNG 1 – MỞ ĐẦU 9
1.1.Giới thiệu 9
1.1.1.Lựa chọn đề tài
1.1.2 Báo cáo tính khả thi của đề tài
1.1.3 Mục tiêu và phạm vi của đồ án
1.2 Phạm vi của đề tài 15
CHƯƠNG 2 – GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG 17
2.1 Đánh giá công nghệ 17
2.2 Giới thiệu chung về Drupal 21
2.2.1 Nền tảng Drupal
2.2.2 Một số khái niệm trong drupal
2.3 Giới thiệu Apache 24
CHƯƠNG 3 – PHÂN TÍCH HỆ THỐNG 26
3.1.Yêu cầu chung 26
3.2 Chức năng nghiệp vụ của hệ thống 27
3.2.1 Sơ đồ chức năng nghiệp vụ của hệ thống
38
CHƯƠNG 4 – THIẾT KẾ HỆ THỐNG 39
4.1.Thiết kế cơ sở dữ liệu 39
4.1.1.Lược đồ quan hệ các thực thể
4.2.1 Chi tiết các bảng dữ liệu
4.2.1 Trang chủ
Trang 34.2.2 Trang đăng ký/đăng nhập
4.2.3 Trang thông tin chỉ tiêu khi tìm kiếm
4.2.4 Trang tạo thông tin chỉ tiêu
4.2.5 Trang quản lý danh sách chỉ tiêu
4.2.6 Trang sửa thông tin chỉ tiêu
4.2.7 Trang quản lý người dùng
4.2.8 Trang quản lý thông tin người dùng
4.2.9 Trang quản lý thông tin block
CHƯƠNG 5 – HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG 55
5.1.Hướng dẫn cài đặt 55
5.1.1.Cài đặt môi trường giả lập xampp 1.6.7
5.1.2 Cài đặt Drupal drupal-6.16
5.1.3 Cài đặt module cho Drupal
5.2 Hướng dẫn sử dụng 62
5.2.1 Hướng dẫn cho người dùng website
62 5.2.2 Hướng dẫn quản trị
66 KẾT LUẬN 68
DANH MỤC TÀI LIỆU THAM KHẢO 70
Trang 4LỜI CẢM ƠN
Em xin chân thành cảm ơn thầy Thái Thanh Tùng đã tận tình hướng dẫn trongsuốt quá trình làm đồ án Em cũng gửi lời cảm ơn chân thành tới toàn thể thầy côgiáo trong khoa đã truyền đạt những kiến thức quý báu, nền tảng quan trọng cho emtrong suốt 4 năm học
Xin chân thành cảm ơn Ban Giám đốc và các anh, chị thuộc Trung tâm Côngnghệ Thông tin và Truyền thông- Sở Thông tin và Truyền thông tỉnh Bắc Giang đãtận tình hướng dẫn, chỉ bảo, tạo điều kiện thuận lợi cho em hoàn thành đề tài này
Sinh viên thực hiện
NGUYỄN THỊ THU HƯƠNG
Trang 5LỜI NÓI ĐẦU
Hiện nay việc phát triển một ngành, hoặc một lĩnh vực nào về Kinh tế Xã hộicủa mọi cấp độ hành chính (từ Trung ương tới Tỉnh, huyện, xã) chúng ta đều cần cómột hệ thống chỉ tiêu Việc xây dựng thông tin về các chỉ tiêu này là rất quan trọng,
vì nó giúp cho việc lập kế hoạch, đánh giá hệ thống và công tác chỉ đạo điều hành.Ngoài ra nó còn trợ giúp đắc lực việc thống kê, dự báo cũng như xác định chiến lượcphát triển của tổ chức Với sự phát triển và ứng dụng của Công nghệ thông tin ngàycàng mạnh thì việc quản lý, khai thác dữ liệu chỉ tiêu kinh tế xã hội trở lên quan trọng
và thiết yếu
Ở các nước phát triển thì việc chuẩn hóa và thu thập thông tin cho hệ thốngchỉ tiêu được làm khá bài bản và đầy đủ và lợi ích của nó đem lại là vô cùng to lớnđối với bất cứ chính sách hay hoạch định gì của quốc gia Tại Việt Nam sự phát triển
hệ thống cơ sở dữ liệu quốc gia này còn nhiều hạn chế Chính vì vậy trong đề tài tốtnghiệp tôi mong muốn được tham gia xây dựng một hệ thống cơ sở dữ liệu về chỉtiêu của một ngành hoặc một lĩnh vực nào đó Trong thời gian thực tập tốt nghiệp tại
Sở Thông tin và Truyền thông tỉnh Bắc Giang tôi đã được sự đồng ý của Trung tâmCông nghệ thông tin và Truyền thông tỉnh cho phép tham gia cùng dự án xây dựng
Hệ thống chỉ tiêu ngành Thông tin và Truyền thông với tư cách là một lập trình viên
Hệ thống này sẽ quản lý các chỉ tiêu của ngành Thông tin và Truyền thông cấpTỉnh Hệ thống chỉ tiêu này gồm các chuyên ngành nhỏ như Báo chí, Viễn thông,CNTT Các chỉ tiêu này sẽ được báo cáo từ các đơn vị trực thuộc như các huyện, sởban ngành của tỉnh, hoặc từ doanh nghiệp Sau đó được tổng hợp thành chỉ tiêu cấptỉnh
Song song với việc tìm một đề tài hữu ích tôi cũng nhận thấy việc định hướngcông nghệ cũng rất quan trọng Hiện nay mã nguồn mở ngày càng phát triển rộng rãi,
và mang lại những lợi ích vô cùng to lớn cho những nước đang phát triển như ViệtNam, bao gồm cả lợi ích kinh tế cũng như lợi ích chính trị Trong hệ thống mã nguồn
mở về cơ sở dữ liệu và quản lý nội dung hiện nay có hai sản phẩm nổi bật là Joomla
Trang 6và Drupal Sau khi tìm hiểu và phân tích kỹ tôi nhận thấy Drupal rất linh hoạt vàthích hợp cho việc phát triển các ứng dụng phức tạp, vì vậy tôi lựa chọn công nghệnày.
Đề tài này sẽ được xây dựng trên hệ thống mã nguồn mở Drupal và sản phẩm
sẽ được hosting trên Internet và sử dụng chính thức là trang Chỉ tiêu ngành Thông tinTruyền thông của tỉnh Bắc Giang
Sinh viên thực hiện
NGUYỄN THỊ THU HƯƠNG
Trang 7DANH MỤC HÌNH VẼ
STT Số thứ tự Nội dung Trang
1 Hình 1.1 Mô tả hệ thống 10
2 Hình 3.1 Chức năng mức đỉnh 27
3 Hình 3.2 Sơ đồ phân rã chức năng quản trị hệ thống 27
4 Hình 3.3 Sơ đồ phân rã chức năng Quản lý người dùng 28
5 Hình 3.4 Sơ đồ phân rã chức năng Quản lý tài khoản quản trị 28
6 Hình 3.5 Sơ đồ phân rã chức năng Quản lý phân quyền 29
7 Hình 3.6 Sơ đồ phân rã chức năng Quản lý danh mục 30
8 Hình 3.7 Sơ đồ phân rã chức năng Quản lý thông tin chỉ tiêu 30
9 Hình 3.8 Sơ đồ phân rã chức năng quản lý báo cáo 30
10 Hình 3.9 Sơ đồ phân rã chức năng tra cứu, tìm kiếm thông tin 31
11 Hình 3.10 Sơ đồ dòngdữ liệu mức ngữ cảnh 32
12 Hình 3.11 Sơ đồ dòng dữ liệu mức đỉnh của hệ thống 33
13 Hình 3.12 Sơ đồ dòng dữ liệu mức 1 chức năng Quản trị hệ thống 34
14 Hình 3.13 Sơ đồ dòng dữ liệu chức năng quản lý người dùng 34
15 Hình 3.14 Sơ đồ dòng dữ liệu chức năng quản lý tài khoản quản trị 35
16 Hình 3.15 Sơ đồ dòng dữ liệu chức năng quản lý danh mục 35
17 Hình 3.16 Sơ đồ dòng dữ liệu chức năng quản lý thông tin chỉ tiêu 36
18 Hình 3.17 Sơ đồ dòng dữ liệu chức năng quản lý tìm kiếm 36
19 Hình 3.18 Sơ đồ dòng dữ liệu chức năng quản lý báo cáo 37
20 Hình 4.1 Sơ đồ liên kết thực thể của hệ thống 38
21 Hình 4.2 Sơ đồ liên kết thực thể của hệ thống 39
22 Hình 4.3 Trang chủ/Trang tìm kiếm thông tin chỉ tiêu 48
23 Hình 4.4 Trang đăng ký 49
24 Hình 4.5 Trang đăng nhập 49
25 Hình 4.6 Trang thông tin chỉ tiêu khi tìm kiếm 50
26 Hình 4.7 Trang tạo thông tin chỉ tiêu 50
27 Hình 4.8 Trang quản lý danh sách chỉ tiêu 51
28 Hình 4.9 Trang sửa thông tin chỉ tiêu 51
29 Hình 4.10 Trang quản lý người dùng 52
30 Hình 4.11 Trang quản lý thông tin người dùng 52
31 Hình 4.12 Trang quản lý thông tin block 53
32 Hình 4.13 Trang quản lý thông tin block 53
33 Hình 5.1 Bảng Choose Install Location 54
34 Hình 5.2 Bảng Installing 55
35 Hình 5.3 Bảng Xampp Control Panel 56
36 Hình 5.4 Bảng tạo cơ sở dữ liệu 57
37 Hình 5.5 Bảng cài đặt ngôn ngữ cho website 57
38 Hình 5.6 Bảng cấu hình database 59
Trang 839 Hình 5.7 Bảng thông tin của website 60
40 Hình 5.8 Bảng tạo tài khoản 61
48 Hình 5.16 Thanh điều hướng User management 66
49 Hình 5.17 Thanh điều hướng Site building 66
50 Hình 5.18 Thanh điều hướng Content managements 67
DANH MỤC BẢNG BIỂU
STT Số thứ tự Nội dung Trang
1 Bảng 1.1 Bảng dự kiến tiến độ thực hiện dự án 13
2 Bảng 1.2 Bảng phân công công việc 13
3 Bảng 2.1 Bảng so sánh và phân tích các giải pháp sử dụng 16
Trang 9.Net, Java, Joomla, Drupal
4 Bảng 2.2 Bảng đánh giá các CMS theo tính năng 17
5 Bảng 3.1 Chức năng nghiệp vụ của hệ thống 26
Trang 10thống, làm chủ công nghệ nên rất an toàn và bảo mật, vì vậy nên các hệ thống mãnguồn mở còn được ứng dụng nhiều trong Chính phủ và cơ quan nhà nước.
Vì vậy trong nội dung đề tài tốt nghiệp tôi lựa chọn nghiên cứu phát triển ứngdụng theo hướng mã nguồn mở Trong hệ thống mã nguồn mở về hệ quản lý nộidung hiện nay (CMS) có hai sản phẩm nổi bật là Joomla và Drupal Sau khi tìm hiểu
và phân tích kỹ yêu cầu của ứng dụng nơi thực tập, tôi nhận thấy Drupal rất linh hoạt
và thích hợp cho việc phát triển nhanh các ứng dụng phức tạp Chính vì vậy tôi lựachọn công nghệ này nghiên cứu và trong đồ án của mình
Ứng dụng Xây dựng Hệ thống chỉ tiêu ngành Thông tin truyền thông là một
đề tài cấp Cơ sở của của Sở Thông tin & Truyền thông Bắc Giang vì vậy nó có tínhkhoa học và thực tiễn cao
Mô tả hệ thống:
Ngành Thông tin và Truyền thông có bộ chủ quản là Bộ Thông tin và Truyềnthông, quản lý nhà nước các lĩnh vực: Bưu chính, Viễn thông, CNTT, Báo chí xuấtbản
Ở cấp tỉnh Sở thông tin Truyền thông là đơn vị quản lý chuyên ngành và làđơn vị tham mưu cho UBND tỉnh về các lĩnh vực chuyên ngành trên
Trang 11Hình 1.1 Mô tả hệ thống
Để quản lý nhà nước trong ngành các đơn vị phải báo cáo thông tin về cáchoạt động quy mô, sự phát triển của mình Các thông tin này được thể hiện trên cácchỉ tiêu của ngành như số lượng máy điện thoại, số lượng tờ báo phát hành …
Sở thông tin và Truyền thông cần tập hợp các thông tin này và tiếp tục tổnghợp để báo cáo lên các cấp trên Vì vậy việc xây dựng một hệ thống báo cáo các chỉtiêu chuyên ngành là rất cần thiết
Lợi ích của hệ thống:
- Khi có một hệ thống chỉ tiêu của ngành thống nhất trong toàn tỉnh thì việccập nhật thông tin và báo cáo các chỉ tiêu sẽ thuận lợi và nhanh chóng
Sở Thông tin và Truyền thông tỉnh
Phòng Văn hóa
thông tin các huyện
Các sở ban ngành ngang cấp
Doanh nghiệp trong lĩnh vực Thông tin và Truyền thông trên địa bàn tỉnh
Báo
cáo
UBND tỉnh Bộ Thông tin và
Truyền thông Báo
cáo
Báo cáo
Chính phủ
Trang 12- So với các phương pháp truyền thông thì hệ thống này sẽ nhanh hơn và tiếtkiệm được rất nhiều công sức và tiền của.
- Là hệ thống cơ sở dữ liệu thống nhất phục vụ cho việc báo cáo, tổng hợp,thống kê phục vụ tốt cho công tác quản lý nhà nước cũng như hoạch định chiến lượccho cấp tỉnh
- Cơ sở dữ liệu của tỉnh cũng là một phần của cơ sở dữ liệu quốc gia về Thôngtin và truyền thông, nó sẽ phục vụ đắc lực cho Bộ thông Tin và truyền thông chocông tác quản lý nhà nước trên toàn quốc trong lĩnh vực
Tình hình ứng dụng trên thế giới:
Hiện nay tại các nước đang phát triển, các hệ thống chỉ tiêu KTXH được cậpnhật thường xuyên và có hệ thống, nó đã phục vụ rất tót cho công cuộc phát triểncũng như quản lý xã hội
Ví dụ một hệ thống phân tích dữ liệu: http://www.oseda.missouri.edu/
www.stat- usa .gov :
STAT-USA/Internet là nguồn đáng tin cậy cho các thống kê kinh tế, nghiêncứu thị trường quốc tế, và thương mại dẫn từ khắp chính phủ liên bang mỹ
Tình hình ứng dụng tại Việt Nam:
Tổng cục thống kê www.gso.gov.vn : Tổng cục Thống kê là tổ chức thuộc Bộ
Kế hoạch và Đầu tư, chịu trách nhiệm giúp Bộ trưởng Bộ Kế hoạch và Đầu tư thựchiện quản lý nhà nước về thống kê; tổ chức thực hiện hoạt động thống kê và cung cấpthông tin thống kê kinh tế - xã hội cho các cơ quan, tổ chức và cá nhân theo quy địnhcủa pháp luật Cung cấp các thông tin thống kê theo các lĩnh vực như:
- Đơn vị hành chính, Đất đai và Khí hậu
- Dân số và Lao động
- Tài khoản Quốc gia
- Ngân sách Nhà nước
Trang 13- Nông nghiệp, Lâm nghiệp và Thủy sản
- Công nghiệp
- Đầu tư
- Thương mại và Giá cả
- Vận tải và Bưu điện
- Giáo dục, Y tế, Văn hóa và đời sống
- Thống kê nước ngoài
Ngành thông tin Truyền thông là ngành mới nên chưa có nhiều các chỉ tiêu cho ngànhtrong hệ thống thông tin thống kê của quốc gia
- Kinh phí chi trả triển khai dự án: Nguồn kinh phí đề tài khoa học của Sở
- Hạ tầng máy tính, kết nối Internet, hosting của Trung tâm CNTT đủ để triểnkhai dự án
Trang 14c) Nguồn nhân lực thực hiện:
Nhân lực thực hiện đảm bảo bởi:
- 2 Kỹ sư CNTT: Nguyễn Đức Nam, Nguyễn Thành Kiên
- 1 Thực tập viên: Nguyễn Thị Thu Hương
d) Quản lý và triển khai hệ thống:
Sau khi đề tài thực hiện thành công Sở Thông tin và Truyền thông sẽ ban hànhvăn bản yêu cầu các đơn vị cấp dưới, các doanh nghiệp cập nhật thông tin theo yêucầu Các đơn vị sẽ được cấp tài khoản truy cập vào ứng dụng qua Internet để cập nhậtthông tin
e) Phân công và dự kiến tiến độ thực hiện dự án
Bảng 1.1 Bảng dự kiến tiến độ thực hiện dự án
Tháng 5 Tháng 6 Tháng 7 T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4
f) Phân công việc:
Bảng 1.2 Bảng phân công công việc
Công việc Nam Kiên Hương
Trang 15Xây dựng được các chức năng chính của ứng dụng:
- Ứng dụng được xây dựng trên Internet, cung cấp cho người truy cập theo tàikhoản
- Xây dựng hệ thống chỉ tiêu của ngành Có khả năng khai báo mới các chỉ tiêu,cập nhật, thay đổi các chỉ tiêu
- Hệ thống có khả năng khai báo, cập nhật cấp của chỉ tiêu theo yêu cầu với sốmức tùy ý
- Quản lý nhóm người sử dụng và quyền có thể xem, cập nhật một số chỉ tiêunào đó trong hệ thống chỉ tiêu Ứng dụng web có thể giúp người người sử dụng cóthể cập nhật và tra cứu thông tin rộng rãi qua môi trường Internet, cung cấp thông tincho Chính phủ, doanh nghiệp cũng như người dân về tình hình hoạt động của ngànhThông tin truyền thông của Tỉnh một cách nhanh chóng và đầy đủ nhất
- Thiết lập hệ thống, giao diện cập nhật dữ liệu thuận tiện cho các nhóm người
sử dụng
- Cung cấp ứng dụng và giao diện trên Web để người sử dụng có thể phân loại
và tìm kiếm thông tin chỉ tiêu
1.2 Phạm vi của đề tài
Phạm vi chức năng :
- Tạo tài khoản cho người dùng các đơn vị, phân quyền cập nhật số liệu
- Quản trị hệ thống danh mục, hệ thống dữ liệu
- Người dùng có thể cập nhật thông tin chỉ tiêu theo quyền được cấp
- Hiển thi số liệu và các chức năng thống kê tìm kiếm
Phạm vi dữ liệu: Dữ liệu do các đơn vị cung cấp
- Dữ liệu được báo cáo theo định kỳ từ khác đơn vị
- Số liệu gồm có: Chỉ tiêu, đơn vị báo cáo, kỳ báo cáo, năm báo cáo, giá trị củachỉ tiêu
Phạm vi phần cứng:
- Máy chủ: Có hỗ trợ kết nối Internet
- Máy trạm: kết nối vói Internet hoặc kết nối với máy chủ trong LAN
Trang 16o Cơ sở dữ liệu: MySql, Postgred
o Webserver: Apache, IIS … (có hỗ trợ php)
o Ngôn ngữ phát triển ứng dụng : PHP
o Nền ứng dụng: Drupal
Nhân lực:
- Quản trị hệ thống: Cán bộ Trung tâm CNTT và truyền thông
- Các đơn vị báo cáo: mỗi đơn vị 1 cán bộ cập nhật chỉ tiêu
o 10 huyện
o 4 Doanh nghiệp
Trang 17CHƯƠNG 2 – GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG
2.1 Đánh giá công nghệ
Để phát triển ứng dụng Web hiện nay có rất nhiều giải pháp thực hiện Chúng
ta xem xét các giải pháp tiêu biểu như sau:
Bảng 2.1 Bảng so sánh và phân tích các giải pháp sử dụng Net, Java, Joomla,
Drupal
.NET Java Joomla Drupal
Khả năng xây dựng hệ quản trị nội
dung (CMS) Tốt Tốt Tốt Tốt
Khả năng xây dựng ứng dụng web Rất tốt Rất tốt Kém Rất tốt
Khả năng phát triển nhanh ứng dụng
Cần môi trường IDE
Cần môi trường IDE
Các modul
Dễ dàng bảo trì phát triển hệ thống Khá Khá Khá Tốt
Yêu cầu trình độ lập trình Cao Cao Trung
bình KháTốc độ xử lý Tốt TB Tốt Tốt
Yêu cầu cấu hình máy chủ Cao TB TB TB
An ninh bảo mật Tốt Rất tốt tốt Rất tốt
Bảng 2.2 Bảng đánh giá các CMS theo tính năng (theo http://www.cmsmatrix.org)
Trang 181.5.10
Drupal 6.10
SharePoint
2007 2007
Oracle Portal 10.1.4
40.000
$10k per processor
Source
Closed Source
Closed Source
Operating System Platform
Independent
Platform Independent
Windows Only
Platform Independent
LDAP Authentication Yes Free Add
NTLM Authentication No Free Add
Pluggable
Trang 19Versioning Free Add On Yes Yes Yes
Ease of Use Joomla!
1.5.10 Drupal 6.10
SharePoint
2007 2007
Oracle Portal 10.1.4
Drag-N-Drop Content No Free Add
Email To Discussion Free Add On Free Add
Subscriptions Costs Extra Free Add
Management Joomla! Drupal 6.10 SharePoint Oracle Portal
Trang 20Content Syndication
Multi-lingual Content
Free Add
Trang 21Multi-Site Deployment Free Add On Yes Yes Limited
Dựa trên các so sánh ta có thể thấy triển khai một ứng dụng phức tạp với chiphí thấp thời gian triển khai nhanh thì dùng Drupal là hợp lý nhất
2.2 Giới thiệu chung về Drupal
Drupal là một khung sườn phát triển phần mềm hướng mô-đun, một hệ quảntrị nội dung miễn phí và mã nguồn mở Cũng giống như các hệ quản trị nội dung hiệnđại khác, Drupal cho phép người quản trị hệ thống tạo và tổ chức dữ liệu, tùy chỉnhcách trình bày, tự động hóa các tác vụ điều hành và quản lý hệ thống những Drupal
có cấu trúc lập trình rất tinh vi, dựa trên đó, hầu hết các tác vụ phức tạp có thể đượcgiải quyết với rất ít đoạn mã được viết, thậm chí không cần Đôi khi, Drupal cũngđược gọi là "khung sườn phát triển ứng dụng web", vì kiến trúc thông minh và uyểnchuyển của nó
Drupal được chạy trên rất nhiều môi trường khác nhau, bao gồm Windows, Mac
OS X, Linux, FreeBSD, OpenBSD và các môi trường hỗ trợ máy phục vụ web Apache Drupal kết nối với cơ sở dữ liệu MySQL hoặc PostgreSQL để lưu nội dung và cácthiết lập
Đầu tiên, nó được Dries Buytaert và Hans Snijder (đến từ đại học Antwerp),tạo ra theo dạng một “hệ thống bảng tin” (Tiếng Anh: bulletin board system) Đếnnăm 2001, Drupal trở thành một công trình nguồn mở Drupal, trong tiếng Anh, đượcchuyển ngữ từ chữ "druppel" của tiếng Hà Lan, nghĩa là "giọt nước"
Từ tháng 7 năm 2007 đến tháng sáu năm 2008, mã nguồn Drupal đã được tải
về từ website http://drupal.org hơn 1,4 triệu lần.Hiện nay, có một cộng đồng rộng lớnđang giúp đỡ phát triển Drupal Tháng giêng năm 2009, Drupal 6.9, phiên bản mớinhất, đã được công bố
Giải thưởng Drupal đạt được:
Trang 22- CMS nguồn mở danh giá nhất năm 2009 do nhà xuất bản Packt bình chọn,cùng với giải CMS nguồn mở PHP tốt nhất.
- CMS nguồn mở danh giá nhất năm 2008 do nhà xuất bản Packt bình chọn
- CMS nguồn mở danh giá nhất năm 2007 do nhà xuất bản Packt bình chọn.Qua tìm hiểu và nghiên cứu em thấy Drupal rất mềm dẻo và linh hoạt trongviệc phát triển các ứng dụng theo đặc thù
2.2.1 Nền tảng Drupal
Drupal được xây dựng từ khá lâu, cách đây hơn 9 năm, nhưng có một nền tảngrất tốt Khả năng mở rộng của Drupal là vô hạn với cơ chế hook vô cùng phong phú(khoảng 90 hook trong bản 6, và gần 250 hook trong Drupal 7) Cơ chế form, menu của Drupal giúp người phát triển dễ dàng làm việc họ muốn theo một cách rất đơn
giản, sáng sủa Drupal có nền tảng là ngôn ngữ PHP và hệ quản trị cơ sở dữ liệu
MySQL, chạy trong môi trường webserver apache
2.2.2 Một số khái niệm trong drupal
- Hook:
» Hook được xem như là các event trong bộ nhân Drupal
» Chúng được gọi là các hàm callbacks.Ví dụ khi 1 user login vào Drupal,Drupal sẽ phát ra các hook user, nghĩa là lúc này tất cả các hàm hook user
có trong tất cả các module đều được gọi
» Đây là cách phổ biến nhất để tương tác với nhân Drupal
Trang 23» Blocks là các khối nội dung có thể enable hoặc disable và được đặt vào vịtrí cụ thể trên trang web Ví dụ user login là 1 khối thường được đặt ởleft_side bar
» Block thường được đặt ở left_side bar, right_side bar, header hoặc footer
- Module: Module trong Drupal là một nhóm các những chức năng nhất định,
thường có các thông tin cơ bản sau:
» Name: Tên chính thức của module, ảnh hưởng tới những hàm kết nối với hệthống
» Display name: Tên gợi nhớ, thường được trình bày ở trang điều hànhmodule
» Description: Giới thiệu ngắn gọn các chức năng của module, được trình bày
ở trang điều hành module
» Version: Mã số phiên bản của module
» Dependencies: Tên của module mà module đang thiết kế yêu cầu tới(Ttrong trường hợp sử dụng hàm từ module khác), nếu có nhiều module thìcác module này cách nhau bởi dấu phẩy Module không thể được kích hoạtnếu module yêu cầu không tồn tại hoặc chưa được kích hoạt
» Package: Phân nhóm chức năng chứa đựng module
- Giới thiệu một số modules
» CCK: Như đã giới thiệu ở trên, node là kiểu dữ liệu với 2 trường là title và
body để lưu thông tin Tuy nhiên thực tế cần lưu nhiều thông tin hơn node
và vì thế có khái niệm mới đó là kiểu nội dung Kiểu nội dung là nodenhưng có bổ sung thêm trường để lưu thông tin Việc bổ sung thêm trườngthông tin khác gọi là mở rộng kiểu nội dung CCK là module có vai trò mởrộng kiểu nội dung
Trang 24» View: Module có chức năng lọc nội dung và trình bày nội dung.
2.3 Giới thiệu Apache
Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máychủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự nhưUnix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóngmột vai trò quan trọng trong quá trình phát triển của mạng web thế giới (tiếng Anh:World Wide Web)
Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mởduy nhất có khả năng cạnh tranh với chương trình máy chủ tương tự của NetscapeCommunications Corporation mà ngày nay được biết đến qua tên thương mại SunJava System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trởthành một phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác
về mặt hiệu suất và tính năng phong phú Từ tháng 4 nãm 1996, Apache trở thànhmột chương trình máy chủ HTTP thông dụng nhất
2.4 Giới thiệu ngôn ngữ PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lậptrì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ụngviế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 vớiweb và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụngweb, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựngsả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
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
Trang 25lậ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.
PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triểnPHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém củaPHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML,không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ webyếu Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõicủa PHP 5.0 PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau mộtchuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3 Mặc dù coi đây
là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể làlỗi xác thực HTTP
Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánhdấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ramột hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câutruy vấn Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiếntrong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng nhữngtính năng và cải tiến mới trong SOAP, streams và SP
PHP 6
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sửdụng thử đã có thể được download tại địa chỉ http://snaps.php.net Phiên bản PHP 6được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗtrợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này);
hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, cácAPI cũ sẽ bị đưa ra thành thư viện PECL
2.5 Giới thiệu hệ quản trị cơ sở dữ liệu MySql
Trang 26MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là 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ấtmạ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ó truycậ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ênbản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD,NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệuquan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nólàm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
CHƯƠNG 3 – PHÂN TÍCH HỆ THỐNG
3.1.Yêu cầu chung
Hệ thống chỉ tiêu được xây dựng và triển khai trên mạng Internet dưới hìnhthức 1 website có tính linh hoạt cao, dễ sử dụng và an toàn Được xây dựng trênframework có cấu trúc mạch lạc, linh hoạt và mềm dẻo, thuận tiện cho việc bảo trì vànâng cấp.Ngoài ra giao diện trang web thân thiện và dễ sử dụng, giúp người dùng cóthể tra cứu thông tin một cách nhanh chóng
Trang 273.2 Chức năng nghiệp vụ của hệ thống
3.2.1 Sơ đồ chức năng nghiệp vụ của hệ thống
Bảng 3.1: Chức năng nghiệp vụ của hệ thống
1 Quản trị hệ thống - Quản lý người dùng
- Quản lý tài khoản quản trị
- Quản lý phân quyền
- Quản lý các kiểu dữ liệu
- Thoát chương trình
- Hướng dẫn sử dụng chương trình
2 Quản lý danh mục - Quản lý các đơn vị cung cấp báo cáo
- Quản lý cấu trúc danh mục chỉ tiêu
- Quản lý năm báo cáo chỉ tiêu
- Quản lý loại báo cáo
3 Quản lý thông tin chỉ
tiêu
- Cập nhật,tạo mới,thêm,sửa xóa thông tin chỉ tiêu
- Hiển thị thông tin chỉ tiêu
4 Tổng hợp báo cáo - Cập nhật báo cáo
- Hiển thị báo cáo
5 Tra cứu,tìm kiếm thông
tin chỉ tiêu
- Tra cứu tìm kiếm theo từ khóa
- Tìm kiếm tổng hợp + Tìm kiếm theo kỳ + Tìm kiếm theo đơn vị báo cáo + Tìm kiếm theo chỉ tiêu
+ Tìm kiếm theo năm báo cáo
- Sơ đồ chức năng nghiệp vụ mức đỉnh của hệ thống:
Trang 28Hình 3.1 Sơ đồ phân rã chức năng mức đỉnh của hệ thống chỉ tiêu
a) Chức năng quản trị hệ thống: Là chức năng dành cho người quản trị hệ
thống, giúp hệ thống hoạt động.Chức năng mà người quản trị hệ thống có thể thựchiện là:
- Đăng nhập/đăng xuất khỏi hệ thống quản trị
- Quản lý người dùng: Giúp người quản trị có thể quản lý những người sử dụngwebsite
- Quản lý tài khoản quản trị: Chức năng này chỉ dành cho người quản trị hệthống ở mức cao nhất, giúp họ có thể quản lý được các tài khoản quản trị cấp dưới
- Quản lý các kiểu dữ liệu: Chỉ có người quản trị ở cấp cao nhất mới có quyềntạo mới, cập nhật và xóa các kiểu dữ liệu của hệ thống
Hình 3.2 Sơ đồ phân rã chức năng quản trị hệ thống
Sau đây là mô tả chức năng con của chức năng Quản lý hệ thống:
Hình 3.3 Sơ đồ phân rã chức năng quản lý người dùng
Chức năng quản lý người dùng bao gồm các chức năng con:
Trang 29- Mở/ khóa tài khoản người dùng: Trong trường hợp người dùng vi phạm cácđiều khoản của hệ thống, trong thời gian xử lý người quản trị có thể tạm thời khóa tàikhoản của người dùng đó và người dùng đó không thể đăng nhập vào tài khoản đó và
sử dụng website.Người quản trị có thể mở khóa cho tài khoản này nếu chứng minhngười dùng này không vi phạm điều khoản gì
- Xóa tài khoản người dùng: Chức năng này chỉ có người quản trị có quyền caonhất mới được sử dụng
- Phân quyền cho người dùng: Là chức năng cho phép cấp quyền, sửa quyềnhay hủy quyền đối với thành viên trong hệ thống
Hình 3.4 Sơ đồ phân rã chức năng quản lý tài khoản quản trị
Chức năng con của chức năng quản lý tài khoản quản trị:
- Tạo tài khoản quản trị: Chỉ người quản trị có quyền cao nhất mới sử dụngđược chức năng này để tạo các tài khoản quản trị cấp dưới
- Sửa thông tin tài khoản quản trị: Người quản trị có quyền cao nhất mới sửathông tin của các tài khoản quản trị cấp dưới.Các thông tin thay đổi được bao gồmcác thông tin mà tài khoản quản trị cấp dưới sửa được
- Xóa tài khoản quản trị: Chỉ người quản trị có quyền cao nhất mới sử dụngđược chức năng này để xóa các tài khoản quản trị cấp dưới
Trang 30Hình 3.5 Sơ đồ phân rã chức năng quản lý phân quyền
Chức năng quản lý phân quyền gồm các chức năng con:
- Tạo mới, sửa, xóa roles: Chức năng này chp phép người quản trị cấp cao nhất
sẽ có quyền tạo mới hay sửa, xóa 1 vai trò cho từng nhóm người có quyền như nhau
- Cập nhật quyền cho roles: Người quản trị cấp cao nhất có quyền cập nhậtquyền hạn cho từng vai trò
b) Sơ đồ chức năng quản lý danh mục: Là chức năng mà người quản trị có thể
cập nhật, tạo mới và xóa các danh mục cấp 1, cấp 2… của hệ thống như danh mụcchỉ tiêu,danh mục năm báo cáo, đơn vị báo cáo…
Hình 3.6 Sơ đồ phân rã chức năng quản lý danh mục
c) Sơ đồ chức năng quản lý thông tin chỉ tiêu: Là chức năng giúp người quản
trị cập nhật số liệu của các chỉ tiêu và hiển thị lên trang web
Trang 31Hình 3.7 Sơ đồ phân rã chức năng quản lý thông tin chỉ tiêu
d) Sơ đồ chức năng quản lý báo cáo: Là chức năng mà chỉ người quản trị hệ
thống mới được cập nhật các báo cáo
Hình 3.8 Sơ đồ phân rã chức năng quản lý báo cáo
e) Sơ đồ chức năng quản lý tìm kiếm chỉ tiêu: Là chức năng phục vụ người
dùng tra cứu, tìm kiếm thông tin chỉ tiêu theo các tiêu chí:
- Tìm kiếm thông tin theo từ khóa
- Tìm kiếm tổng hợp: Tìm kiếm theo chỉ tiêu,tìm kiếm theo năm báo cáo,theo
kỳ báo cáo và tìm kiếm theo đơn vị báo cáo.Người dùng bắt buộc phải lựa chọn tất cảcác mục trên
Trang 32Hình 3.9 Sơ đồ phân rã chức năng tra cứu, tìm kiếm thông tin
3.2.2 Các sơ đồ dòng dữ liệu
Qui ước:
Chức năng: là một tiến trình có nhiệm vụ biến đổi thông
tin ( thay đồi giá trị, cấu trúc, vị trí của một dữ liệu) để đưa
ra những thông tin đáp ứng nhu cầu của hệ thống
Tên luồng dữ liệu: là một tuyến truyền dẫn thông tin vào
hay ra một chức năng nào đó
Kho dữ liệu: là một dữ liệu đơn hay có cấu trúc được lưu
lại để có thể truy cập nhiều lần về sau
Đối tác: là một thực thể ngoài hệ thống, có trao đổi thông
tin với hệ thống
3.2.2.1 Sơ đồ dòng dữ liệu mức ngữ cảnh:
Trang 33- Kho dữ liệu chỉ tiêu: Chứa số liệu các chỉ tiêu
- Kho danh mục chỉ tiêu: hệ thống các cấp chỉ tiêu của ngành
- Kho danh sách đơn vị cung cấp báo cáo: Danh sách các doanh nghiệp, huyện,tỉnh ,thành phố… cung cấp báo cáo chỉ tiêu
- Kho năm báo cáo chỉ tiêu: Danh mục các năm báo cáo chỉ tiêu
- Kho kỳ báo cáo chỉ tiêu: Chứa danh mục các kỳ báo cáo như: tháng, quý,năm…
- Kho loại báo cáo: Chứa các danh mục loại báo cáo như: báo cáo định kỳ, báocáo đột xuất
Trang 34Hình 3.11 Sơ đồ dòng dữ liệu mức đỉnh của hệ thống
Trang 35Hình 3.12 Sơ đồ dòng dữ liệu mức 1 chức năng Quản trị hệ thống
Hình 3.13 Sơ đồ dòng dữ liệu chức năng quản lý người dùng