- Chuẩn hoá mức 1 (1NF)
Chuẩn hoá mức 1 (1NF) quy định rằng, trong mỗi danh sách không được phép chứa những thuộc tính lặp. Nếu có các thuộc tính lặp thì phải tách các thuộc tính lặp đó ra thành các danh sách con, có một ý nghĩa dưới góc độ quản lý.Gắn thêm cho nó một tên, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc.
- Chuẩn hoá mức 2 (2NF)
Chuẩn hoá mức 2 (2NF) quy định rằng, trong một danh sách mỗi thuộc tính phải phụ thuộc hàm vào toàn bộ khoá chứ không chỉ phụ thuộc vào một phần của khoá. Nếu có sự phụ thuộc như vậy thì phải tách những thuộc tính phụ thuộc hàm vào bộ phận của khoá thành một danh sách con mới.
Lấy bộ phận khoá đó làm khoá cho danh sách mới. Đặt cho danh sách mới này một tên riêng cho phù hợp với nội dung các thuộc tính trong danh sách
- Chuẩn hoá mức 3 (3NF)
Chuẩn hoá mức 3 quy định rằng, trong một danh sách không được phép có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính Z phụ thuộc hàm vào thuộc tính Y và Y phụ thuộc hàm vào X thì phải tách chúng vào 2 danh sách chứa quan hệ Z, Y và danh sách chứa quan hệ Y với X.
Xác định khoá và tên cho mỗi danh sách mới.
127 trang |
Chia sẻ: oanh_nt | Lượt xem: 1246 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Phát triển và mở rộng trang thông tin điện tử kho bạc nhà nước, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
0
Tin tức
Lịch CT, báo cáo, tin tức, thông báo
câu hỏi, thắc mắc
Thông tin trong và ngoài ngành
Tin tức
công văn, chỉ thị
1.0
Cập nhật tin tức
2.0
Duyệt tin tức
Bộ tài chính
Hệ thống ngành Kho bạc
Khách hàng
3.0
Hiển thị tin tức
Tin, bài, hình ảnh
Tin, bài, câu hỏi
Hệ thống ngành Kho bạc
Các đơn vị ngành Thuế, Hải quan
Khách hàng
Báo cáo
Cơ sở dữ liệu nghiệp vụ
III.2.5. thiết kế cơ sở dữ liệu
Các thông tin đầu ra của trang thông tin điện tử KBNN bao gồm:
Tin, bài, hình ảnh trong và ngoài ngành Kho bạc
User truy cập vào mục soạn tin
Nguồn cung cấp tin
Các chuyên mục khác như: Diễn đàn, Thư điện tử, danh bạ điện thoại, liên kết các site khác…
III.2.5.1 Từ đây ta xác định các thông tin đầu ra cơ bản sau:
Tin tức trong và ngoài ngành
Chuyên đề (R)
Chuyên mục (R)
Chủ đề (R)
Tiêu đề
Trích yếu
Nội dung
Hình ảnh
Ngày đưa tin
Ngày nhập tin
Ngày hết hạn
Người đưa tin (R)
Nguồn tin (R)
File đính kèm
User truy nhập vào mục soạn tin
Mã User
Nhóm (R)
Họ và tên
UserName
Password
Trình độ
Cơ quan
Chức vụ
Điện thoại
Địa chỉ
Mobi
Fax
Email
Nguồn cung cấp tin
Mã tác giả
Họ tên
UserName
Password
Cơ quan
Chức vụ
Địa chỉ
Điện thoại
Email
Fax
Diễn đàn giải đáp thắc mắc
Mã câu hỏi
Người hỏi
Cơ quan
Chức vụ
Tiêu đề
Ngày hỏi
Nội dung
Chuyên đề
Trả lời
Người trả lời
Cơ quan
Chức vụ
Ngày trả lời
Điện thoại
Email
2.5.2 Thực hiện chuẩn hoá
Chuẩn hoá mức 1 (1NF)
Chuẩn hoá mức 1 (1NF) quy định rằng, trong mỗi danh sách không được phép chứa những thuộc tính lặp. Nếu có các thuộc tính lặp thì phải tách các thuộc tính lặp đó ra thành các danh sách con, có một ý nghĩa dưới góc độ quản lý.Gắn thêm cho nó một tên, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc.
Chuẩn hoá mức 2 (2NF)
Chuẩn hoá mức 2 (2NF) quy định rằng, trong một danh sách mỗi thuộc tính phải phụ thuộc hàm vào toàn bộ khoá chứ không chỉ phụ thuộc vào một phần của khoá. Nếu có sự phụ thuộc như vậy thì phải tách những thuộc tính phụ thuộc hàm vào bộ phận của khoá thành một danh sách con mới.
Lấy bộ phận khoá đó làm khoá cho danh sách mới. Đặt cho danh sách mới này một tên riêng cho phù hợp với nội dung các thuộc tính trong danh sách
Chuẩn hoá mức 3 (3NF)
Chuẩn hoá mức 3 quy định rằng, trong một danh sách không được phép có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính Z phụ thuộc hàm vào thuộc tính Y và Y phụ thuộc hàm vào X thì phải tách chúng vào 2 danh sách chứa quan hệ Z, Y và danh sách chứa quan hệ Y với X.
Xác định khoá và tên cho mỗi danh sách mới.
Chuẩn hoá tin tức trong và ngoài ngành
Trước khi chuẩn hoá
Chuẩn hoá 1NF
Chuẩn hoá 2NF
Chuẩn hoá 3NF
Tin tức trong & ngoài ngành
Tin tức
Tin tức
Tin tức
- Chuyên đề (R)
- Mã tin tức
- Mã tin tức
- Mã tin tức
- Chuyên mục (R)
- Tiêu đề
- Tiêu đề
- Mã chuyên đề
- Chủ đề (R)
- Trích yếu
- Trích yếu
- Mã chuyên mục
- Tiêu đề
- Nội dung
- Nội dung
- Mã chủ đề
- Trích yếu
- Hình ảnh
- Hình ảnh
- Tiêu đề
- Nội dung
- Ngày đưa tin
- Ngày đưa tin
- Trích yếu
- Hình ảnh
- Ngày nhập tin
- Ngày nhập tin
- Nội dung
- Ngày đưa tin
- Ngày hết hạn
- Ngày hết hạn
- Hình ảnh
- Ngày nhập tin
- File đính kèm
- File đính kèm
- Ngày đưa tin
- Ngày hết hạn
Chuyên đề
Chuyên đề
- Ngày nhập tin
- Người đưa tin (R)
- Tên chuyên đề
- Mã chuyên đề
- Ngày hết hạn
- Nguồn tin (R)
- Chuyên mục thuộc chuyên đề
- Tên chuyên đề
- File đính kèm
- File đính kèm
Chủ đề
- Miêu tả
- Mã người duyệt
- Tên chủ đề
- Chuyêm mục
- Mã người cung cấp
Nguồn tin
Chủ đề
Chuyên đề
- Nơi cung cấp tin
- Mã chủ đề
- Mã chuyên đề
Nguời đưa tin
- Tên chủ đề
- Tên chuyên đề
- Người duyệt tin
- Miêu tả
- Miêu tả
Nguồn tin
- Mã chuyên mục
- Mã tác giả
Chuyên mục
- Tên tác giả
- Mã chuyên mục
- Đơn vị
- Tên chuyên mục
- Chức vụ
- Miêu tả
Người đưa tin
Chủ đề
- Mã Người duyệt
- Mã chủ đề
- Họ tên
- Tên chủ đề
- Đơn vị
- Miêu tả
- Chức vụ
Nguồn tin
- Mã tác giả
- Tên tác giả
- UserName
- Password
- Cơ quan
- Địa chỉ
- Chức vụ
- Trình độ
Người đưa tin
- Mã User
- UserName
- Password
- Họ tên
- Cơ quan
- Chức vụ
- Trình độ
Chuẩn hoá các thông tin User truy nhập
Trước khi chuẩn hoá
Chuẩn hoá 1NF
Chuẩn hoá 2NF
Chuẩn hoá 3NF
User truy cập
User truy cập
User truy cập
User truy cập
- UserName
- Mã User
- Mã User
- Mã User
- Password
- UserName
- UserName
- Mã nhóm
- Nhóm (R)
- Password
- Password
- UserName
- Họ và tên
- Họ tên
- Họ tên
- Password
- Trình độ
- Trình độ
- Trình độ
- Họ tên
- Cơ quan
- Cơ quan
- Cơ quan
- Trình độ
- Chức vụ
- Chức vụ
- Chức vụ
- Cơ quan
- Điện thoại
- Điện thoại
- Điện thoại
- Chức vụ
- Địa chỉ
- Địa chỉ
- Địa chỉ
- Điện thoại
- Mobi
- Mobi
- Mobi
- Địa chỉ
- Fax
- Fax
- Fax
- Mobi
Nhóm
Nhóm
- Fax
- Tên nhóm
- Mã nhóm
Nhóm
- Quyền
- Tên nhóm
- Mã nhóm
- Miêu tả
- Tên nhóm
Users Right
- Miêu tả
- Phân quền
Users Right
- ID
- Thêm
- Sửa
- Xóa
- Xem
Chuẩn hoá thông tin diễn đàn thắc mắc
Trước khi chuẩn hoá
Chuẩn hoá 1NF
Chuẩn hoá 1NF
Chuẩn hoá 3NF
Câu hỏi
Câu hỏi
Câu hỏi
Câu hỏi
- Người hỏi
- Mã câu hỏi
- Mã câu hỏi
- Mã câu hỏi
- Cơ quan
- Người hỏi
- Người hỏi
- Người hỏi
- Chức vụ
- Cơ quan
- Cơ quan
- Cơ quan
- Tiêu đề
- Chức vụ
- Chức vụ
- Chức vụ
- Ngày hỏi
- Tiêu đề
- Tiêu đề
- Tiêu đề
- Nội dung
- Nội dung
- Nội dung
- Nội dung
- Chuyên đề
- Ngày hỏi
- Ngày hỏi
- Ngày hỏi
- Trả lời (R)
- Chuyên đề
- Chuyên đề
- Mã chuyên đề
- Điện thoại
- Điện thoại
- Điện thoại
- Email
- Email
- Email
Trả lời
Trả lời
Trả lời
- Trả lời
- Mã câu trả lời
- Mã câu trả lời
- Mã câu hỏi
- Người trả lời
- Nội dung
- Nội dung
- Người trả lời
- Ngày
- Người trả lời
- Email
- Điện thoại
- Chức vụ
- Đơn vị
Sơ đồ cấu trúc dữ liệu (DSD)
TRA_LOI
CAU_HOI
AUTHOR
CHUYEN_MUC
CHUYEN_DE
NEWS
DONG_SUKIEN
USERS
ROLE
ID_TL
ID_CH
...
ID_CH
ID_CD
...
ID_Author
...
ID_CM
ID_CD
...
ID_CD
...
ID_News
ID_CD
ID_Topic
...
ID_User
ID_Author
ATTACH_FILE
ID
ID_News
ID_Topic
...
ID_User
ID_Group
ID_Group
...
Danh sách các bảng
STT
Tên bảng
ý nghĩa
1
NEWS
Lưu trữ các tin, bài, hình ảnh
2
CHUYEN_DE
Chứa các chuyên đề của trang Web
3
CHUYEN_MUC
Danh sách các chuyên mục thuộc từng chuyên đề
4
DONG_SUKIEN
Bao gồm các sự kiện của từng chuyên đề
5
USERS
Chứa các thành viên có quền soạn và duyệt tin, bài
6
AUTHOR
Danh sách các tác giả cung cấp tin bài
7
ATTACH_FILE
Các File đính kèm theo các tin, bài
8
ROLE
Chứa quyền của các nhóm
9
USER_RIGHT
Danh sách các quền của từng USER
10
CAU_HOI
Bao gồm các câu hỏi của các cán bộ ngành Kho bạc
11
TRA_LOI
Danh sách các câu trả lời cho các câu hỏi
Mô tả các bảng
Bảng NEWS
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_News#
Mã tin tức
nvarchar
15
ID_CD
Mã chuyên đề
nvarchar
15
ID_CM
Mã chuyên mục
nvarchar
15
Tieude
Tiêu đề tiếng Việt
nvarchar
1000
TieudeFG
Tiêu đề tiếng khác
nvarchar
1000
ID_topic
Mã Topic
nvarchar
15
Trichyeu
Trích yếu
ntext
16
Noidung
Nội dung
ntext
16
Ngayviet
Ngày viết
Datetime
8
Anhto
ảnh to
image
16
Ngayxb
Ngày xuất bản
datetime
8
Ngayhethan
Ngày hết hạn
datetime
8
Duyet
Duyệt
varchar
1
ID_User
Mã người nhập
int
4
ID_Author
Mã cung cấp tin
int
4
Bảng CHUYEN_DE
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_CD#
Mã chuyên đề
nvarchar
15
Ten
Tên chuyên đề tiếng việt
nvarchar
400
Mieuta
Miêu tả
nvarchar
1000
Bảng CHUYEN_MUC
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_CM#
Mã chuyên mục
nvarchar
15
ID_CD
Mã chuyên đề
nvarchar
15
Ten
Tên chuyên mục
nvarchar
400
Mieuta
Mêu tả
nvarchar
1000
Bảng DONG_SUKIEN
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_Topic#
Mã chủ đề
nvarchar
4
Ten
Tên topic
nvarchar
400
Mieuta
Diễn tả
nvarchar
1000
Bảng AUTHOR
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_Author #
Mã Tác giả
int
4
ID_News
Mã tin tức
int
4
Username
Username
nvarchar
100
Password
Password
nvarchar
400
Hoten
Họ tên
nvarchar
800
Tieude
Tiêu đề
nvarchar
60
Coquan
Tên cơ quan
nvarchar
400
Chucvu
Chức vụ
nvarchar
400
Diachi
Địa chỉ
nvarchar
400
Dienthoai
Điện thoại
nvarchar
60
Didong
Điện thoại di động
nvarchar
60
Fax
Fax
nvarchar
60
Email
Email
nvarchar
510
Bảng ATTACH_FILE
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID#
Mã file attach
int
4
ID_News
Mã tin tức
nvarchar
15
Path
Đường dẫn
nvarchar
400
TenFile
Tên file
nvarchar
100
Kichthuoc
Độ rộng file
nvarchar
100
Mieuta
Miêu tả
ntext
16
Bảng USERS
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_User#
Mã User
int
4
ID_Group
Mã nhóm
int
4
ID_News
Mã Tin tức
nvarchar
15
Ten
Họ tên
nvarchar
800
UserName
nvarchar
100
Password
nvarchar
400
Trinhdo
Trình độ
nvarchar
400
Coquan
Tên cơ quan
nvarchar
400
Chucvu
Chức vụ
nvarchar
400
Diachi
Địa chỉ
nvarchar
400
Dienthoai
Điện thoại
nvarchar
60
Didong
Điện thoại di động
nvarchar
60
Fax
Fax
nvarchar
60
Email
Email
nvarchar
510
Bảng ROLE
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_Group#
int
4
Ten
Tên quyền
nvarchar
100
Mieuta
Miêu tả
nvarchar
500
Bảng USER_RIGHT
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_USER#
Mã User
int
4
View
Xem
varchar
1
Modify
Sửa
varchar
1
AddNew
Thêm
varchar
1
Delete
Xóa
varchar
1
Publish
varchar
1
Bảng CONG_VAN (Công văn)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_CV
int
4
MA_CV#
Mã công văn
nvarchar
15
Ngaynhap
Ngày nhập
datetime
8
Ngaybh
Ngày ban hành
datetime
8
loaicv
Loại công văn
nvarchar
20
socv
Số công văn
nvarchar
20
Nghiepvu
Nghiệp vụ
nvarchar
500
Veviec
Về việc
nvarchar
1000
Tinhtrang
Tình trạng
varchar
1
path
Đường dẫn
nvarchar
400
Bảng BAI_VIET (Bài viết)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_BV
int
4
MA_BV#
Mã bài viết
nvarchar
15
Ngaydang
Ngày đăng
datetime
8
Tieude
Tiêu đề
nvarchar
100
Trichyeu
Trích yếu
nvarchar
500
Noidung
Nội dung
ntext
16
Chuyenmuc
Chuyên mục
nvarchar
100
Loai
Loại
nvarchar
200
Tinhtrang
Tình trạng
varchar
1
Bảng Lich_CT (Lịch công tác)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_LCT#
int
4
Lanhdao
Lãnh đạo
nvarchar
200
Ngay
Ngày
Datetime
8
Gio
Giờ công tác
nvarchar
20
Congviec
Công việc
nvarchar
200
Ghichu
Ghi chú
nvarchar
500
Bảng UNG_DUNG (ứng dụng)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_UD
int
4
MA_UD#
Mã ứng dụng
nvarchar
15
Tieude
Tiêu đề
nvarchar
200
Huongdan
Hướng dẫn
nvarchar
1000
Loai
Loại ứng dụng
nvarchar
100
Path
Đường dẫn
nvarchar
100
Bảng CAU_HOI (Câu hỏi)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_CH#
Mã câu hỏi
int
4
ID_CD
Mã chuyên đề
int
4
Email
Địa chỉ email
nvarchar
200
Donvi
Đơn vị
nvarchar
100
Chucvu
Chức vụ
nvarchar
50
Tieude
Tiêu đề câu hỏi
nvarchar
400
Cauhoi
Câu hỏi
nvarchar
500
Ten
Tên người hỏi
nvarchar
50
Ngayhoi
Ngày hỏi
Datetime
8
Bảng TRA_LOI (Trả lời)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_TL#
Mã câu trả lời
int
4
ID_CH
Mã câu hỏi
int
4
Email
Địa chỉ email người trả lời
nvarchar
200
Donvi
Đơn vị
nvarchar
100
Chucvu
Chức vụ
nvarchar
50
Tieude
Tiêu đề câu trả lời
nvarchar
400
Traloi
Câu trả lời
nvarchar
1000
Ten
Tên người trả lời
nvarchar
50
Ngay
Ngày trả lời
Datetime
8
Bảng GIAI_TRI (Giải trí)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_GT
int
4
MA_GT#
Mã giải trí
nvarchar
15
ID_CM
Mã chuyen muc
nvarchar
15
Tieude
Tiêu đề
nvarchar
200
Ngaynhap
Ngày đăng
Datetime
8
Trichyeu
Trích yếu
nvarchar
200
Noidung
Nội dung
nvarchar
2000
Bảng BAO_CAO (Báo cáo)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_BC
int
4
MA_BC#
Mã báo cáo
nvarchar
15
Ngaylap
Ngày lập
DateTime
8
Tieude
Tiêu đề
nvarchar
200
Nghiepvu
Nghiệp vụ
nvarchar
100
LoaiBC
Loại báo cáo
nvarchar
200
Noidung
Nội dung
ntext
16
Filegui
File Gửi
nvarchar
100
Bảng KHOBAC (Kho bạc)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_DV#
Mã Kho bạc
nvarchar
15
Ten
Tên Kho bạc
nvarchar
25
Lichsu
Lịch sử phát triển
ntext
16
Cap
Cấp 1, 2, 3
nvarchar
1
Malk
Mã liên kho
nvarchar
15
Diachi
Địa chỉ
nvarchar
200
Socb
Số cán bộ
nvarchar
200
Namxd
Năm xây dựng
DateTime
8
Qm
Quy mô
nvarchar
200
Pc
Phòng cháy
nvarchar
200
Bd
Báo động
nvarchar
200
DT
Điện thoại
nvarchar
100
Bảng NHANVIEN (Nhân viên)
Tên trường
Mô tả
Kiểu dữ liệu
Độ rộng
ID_NV#
Mã nhân viên
nvarchar
15
MaKB
Mã Kho Bạc
nvarchar
15
Ten
Họ và tên cán bộ
nvarchar
25
Donvi
Đơn vị
nvarchar
400
Chucvu
Chức vụ
nvarchar
200
Dienthoai
Điện thoại
nvarchar
100
Trinhdo
Trình độ
nvarchar
200
Chuyenmon
Chuyên môn
nvarchar
200
NS
Năm sinh
Datetime
8
QQ
Quê quán
nvarchar
400
QD
Quyết định
nvarchar
50
GD
Gia đình
nvarchar
1
ML
Mức lương
nvarchar
10
GT
Giới tính
nvarchar
1
NN
Ngoại ngữ
nvarchar
400
NCN
Nước ngoài
nvarchar
400
Dang
Đảng
nvarchar
1
KT
Khen thưởng
nvarchar
200
UserName
nvarchar
50
Password
nvarchar
50
Email
Địa chỉ Email
nvarchar
50
Tinhtrang
Tình trạng
nvarchar
1
Sơ đồ quan hệ thực thể (ERD)
III.2.6. Một số thuật toán của chương trình
Thuật toán Login vào phần quản trị tin bài
Begin
Chọn chức năng soạn tin
Kiểm tra
Cookies
Y
N
Đăng nhập
Kiểm tra
- Username
- Password
Thông báo sai Username hoặc password
N
Y
Trang soạn tin tương ứng với quyền của user
End
Thuật toán duyệt tin bài
Y
Begin
Trang tin, bài đã nhập
Đánh dấu được phép đưa tin, bài
Kiểm tra nội dung
N
Chọn sửa tin, bài hoặc huỷ
End
Trang thông tin điện tử KBNN
MODUL Quản trị thông tin
Quản trị các chuyên mục
Hiển thị danh sách các chuyên mục
Thêm, sửa một chuyên mục
Xóa các chuyên mục
Quản trị các sự kiện
Hiển thị danh mục các sự kiện
Thêm, sửa, xóa một sự kiện
Quản lý các tin bài thuộc một sự kiện
Quản trị các liên kết
Hiển thị danh mục các liên kết
Thêm, sửa một liên kết
Xóa các liên kết
Quản trị các chủ đề thảo luận
Hiển thị danh mục các ý kiến, câu hỏi
Thêm, sửa một ý kiến, câu hỏi
Xóa các câu hỏi, ý kiến
Quản trị tác giả
Hiển thị danh sách các tác giả
Hiển thị tin bài theo tác giả
Thêm, Sửa, Xóa tác giả
Quản trị Người sử dụng
Hiển thị danh sách người sử dụng
Thêm, sửa một người sử dụng
Xóa người sử dụng
Quản trị các công văn
Hiển thị danh sách các loại công văn
Thêm một công văn
MODUL hiển thị thông tin
Hiển thị chuyên mục
Quản trị các tin bài
Hiển thị danh sách các tin bài
Thêm, sửa, xóa một tin bài
Duyệt một tin bài
Hiển thị hình ảnh
Hiển thị tin bài
Hiển thị liên kết
Hiển thị các biểu trưng
Hiển thị các sự kiện
Sơ đồ chức năng Trang thông tin điện tử KBNN
III.3. Giải pháp phát triển, mở rộng trang thông tin điện tử KBNN
III.3.1. Cấu trúc nội dung thông tin của trang thông tin điện tử KBNN
III.3.1.1. Mô hình tổng quan
Hình 9: Mô hình tổng quan trang thông tin điện tử KBNN tại một đơn vị KBNN
Chú giải:
- KTKB/ORA: Chương trình Kế toán Kho bạc phát triển trên nền ORACLE.
QLTP: Chương trình quản lý trái phiếu
QLCV: Chương trình quản lý công văn
Theo mô hình trên, trang thông tin điện tử KBNN tại một đơn vị KBNN bao gồm các thành phần (logic) sau:
Trang thông tin hiển thị các tin tức, bài viết, hình ảnh về KBNN: ví dụ tin tức hoạt động của ngành KBNN; các thông báo nội bộ; các văn bản hoạt động ngành KBNN; các bài viết về chuyên môn; … và đóng vai trò tương tự như một bản tin điện tử.
Trang hiển thị các báo cáo tổng hợp về hoạt động nghiệp vụ KBNN: ví dụ báo cáo tổng hợp về tình hình thu/chi NSNN ; báo cáo về tình hình bán, thanh toán trái phiếu; … Cáo báo cáo này được kết xuất trực tiếp từ CSDL của các phần mềm tương ứng như chương trình kế toán KBNN, chương trình quản lý trái phiếu, … Các báo cáo tổng hợp về hoạt động nghiệp vụ KBNN được tích hợp vào trang thông tin điện tử nhằm hệ thống hoá các báo cáo và tạo điều kiện dễ dàng cho các đồng chí lãnh đạo có thể xem trực tiếp các báo cáo này phục vụ cho công tác chỉ đạo, điều hành.
Trang thông tin điện tử KBNN trên mạng Internet chỉ bao gồm phần hiển thị các tin tức, bài viết, hình ảnh về KBNN.
3.1.2. Cấu trúc trang thông tin hiển thị tin tức, bài viết, hình ảnh về KBNN
Các thông tin này được tổ chức thành các chuyên mục – là một nhóm các thông tin cùng loại để giúp người xem có thể dễ dàng tìm thấy các thông tin cần thiết. Dự kiến sẽ có chuyên mục sau:
Giới thiệu hệ thống KBNN : bao gồm
- Cơ cấu tổ chức
- Chức năng nhiệm vụ
- Các đơn vị trực thuộc
- Thành tựu xây dựng và phát triển
Tin tức-sự kiện
- Tin trong ngành
- Tin tức quốc tế
Thông báo nội bộ
Chuyên mục này dành để hiển thị các thông báo nội bộ (ví dụ: thông báo mời họp). Mỗi khi có thông báo mới được ban hành, mọi cán bộ công chức đều có thể nhận được ngay lập tức.
Lịch công tác
Chuyên mục này cung cấp cho các cán bộ, công chức một công cụ để lập và theo dõi lịch công tác. Lịch công tác được trình bày trực quan và chi tiết đến từng giờ trong ngày, từng ngày trong tuần.
Tra cứu văn bản
Chuyên mục này cho phép người sử dụng tra cứu CSDL văn bản quy phạm pháp luật lấy từ nguồn Công báo của Chính phủ và các văn bản về hoạt động KBNN do Bộ tài chính, KBNN các cấp ban hành.
Nghiên cứu, trao đổi kinh nghiệm
Chuyên mục này dành cho các cán bộ, công chức trao đổi các kinh nghiệm, đăng tải các bài viết tổng quan hoặc chuyên sâu về các vấn đề thuộc lĩnh vực quản lý của ngành KBNN. Chuyên mục này có thể có nhiều chuyên mục con tương ứng với các lĩnh vực quản lý khác nhau.
Người tốt, việc tốt
Chuyên mục này đăng tải các bài viết về gương người tốt, việc tốt trong toàn hệ thống KBNN hoặc tại một đơn vị KBNN.
Diễn đàn thảo luận
Chuyên mục này đăng tải các ý kiến của người truy cập trang thông tin điện tử (có thể là cán bộ, công chức trong ngành hoặc bên ngoài) thảo luận về các vấn đề thuộc lĩnh vực quản lý Nhà nước, các vấn đề chính trị, xã hội, các vấn đề thuộc ngành KBNN ... Các ý kiến được xâu chuỗi theo từng vấn đề và trình tự thời gian.
Hướng dẫn thủ tục
Chuyên mục này đăng tải các hướng dẫn về quy trình, thủ tục về một số hoạt động giao dịch của KBNN nhằm giúp các cơ quan, cá nhân bên ngoài có điều kiện thuận lợi hơn để tìm hiểu, nắm bắt.
- Thủ tục mở tài khoản giao dịch
- Quy định về kiểm soát chi NSNN
- Quy định về lập dự án, cấp phát, thu hồi vốn vay thuộc chương trình 120
- Quy định về cấp phát vốn đầu tư XDCB
- Các thủ tục khác
Công nghệ thông tin
- Trao đổi kinh nghiệm
- Hướng dẫn và download phần mềm mới
Thông tin trợ giúp
- Hỏi đáp
- Nạp Fonts
- Gửi mail
- Sơ đồ trang thông tin điện tử và hướng dẫn sử dụng
Cấu trúc trang hiển thị các báo cáo tổng hợp về hoạt động nghiệp vụ KBNN
- Báo cáo tổng hợp tình hình thu-chi NSNN trên địa bàn
- Báo cáo tổng hợp tình hình phát hành-thanh toán trái phiếu
- Báo cáo tổng hợp tình hình cấp phát-thanh toán vốn đầu tư XDCB
- Báo cáo tồn quỹ tiền mặt, ngân phiếu
- Báo cáo tổng hợp tình hình cho vay, thu nợ các dự án thuộc chương trình 120
- Các báo cáo khác
3.2. Tổ chức cập nhật thông tin
3.2.1. Phân công thu thập và cập nhật thông tin
Trang thông tin điện tử tại KBNN Trung ương
Nguồn thông tin: các Vụ, Trung tâm tin học, Trung tâm đào tạo, Văn phòng; công tác viên trong và ngoài ngành; tin tức, bài viết, hình ảnh lấy từ Tạp chí Ngân quỹ quốc gia; báo chí trong và ngoài nước; tin tức, bài viết, hình ảnh lấy từ trang thông tin điện tử của KBNN cấp tỉnh.
Đơn vị quản lý, biên tập, cập nhật thông tin: Tạp chí Ngân quỹ quốc gia
Trang thông tin điện tử trên Internet
Nguồn thông tin: các tin tức, bài viết, hình ảnh đã cập nhật vào trang thông tin điện tử trên mạng nội bộ của KBNN Trung ương (không phải cập nhật lại, chỉ cần biên tập, chọn lựa để cho hiển thị trên mạng Internet).
Đơn vị quản lý, biên tập, cập nhật thông tin: Tạp chí Ngân quỹ quốc gia
Trang thông tin điện tử tại KBNN cấp tỉnh
Nguồn thông tin: các phòng nghiệp vụ; KBNN cấp huyện trực thuộc; tin tức, bài viết, hình ảnh lấy từ trang thông tin điện tử tại KBNN Trung ương; báo chí trong và ngoài tỉnh.
Đơn vị quản lý, cập nhật thông tin: Phòng (bộ phận) tin học
III.3.2.2. Qui trình cập nhật thông tin
Quy trình cập nhật tin, bài, hình ảnh
Hình 10: Qui trình cập nhật tin, bài, hình ảnh
Qui trình cập nhật, hiển thị tin tức, bài viết, hình ảnh trên trang thông tin điện tử KBNN được thực hiện qua 3 bước:
Bước 1: Nhập thông tin - do các cán bộ thuộc tổ thu thập và cập nhật thông tin thực hiện. Thông tin được nhập trực tiếp hoặc được chọn lọc từ trang thông tin điện tử liên quan (KBNN Trung ương có thể lấy thông tin từ trang thông tin điện tử của KBNN tỉnh và ngược lại).
Bước 2: Kiểm duyệt thông tin – do Ban biên tập trang thông tin điện tử KBNN thực hiện. Việc kiểm duyệt thông tin nhằm đảm bảo nội dung thông tin được đưa lên là chính xác, không vi phạm các qui định về các thông tin hạn chế phổ biến
Bước 3: Hiển thị thông tin
Như vậy theo qui trình trên thì thông tin chỉ được hiển thị trên trang thông tin điện tử KBNN khi đã được chấp thuận bởi người có trách nhiệm.
III.3.3. Lựa chọn công nghệ
III.3.3.1. Phương thức kết nối và truy nhập trang thông tin điện tử KBNN
Đối với trang thông tin điện tử trên mạng nội bộ
Hình 10: Mô hình kết nối và truy nhập trang thông tin điện tử tại một đơn vị KBNN
Diễn giải mô hình:
Cán bộ, công chức thuộc KBNN sở tại truy nhập trang thông tin điện tử qua mạng LAN.
Cán bộ, công chức thuộc KBNN cấp dưới truy nhập trang thông tin điện tử của KBNN cấp trên qua hạ tầng truyền thông Bộ Tài chính hoặc qua kết nối điện thoại công cộng.
Khách hàng tại KBNN Trung ương và KBNN cấp tỉnh có thể tự truy nhập trang thông tin điện tử qua một (hoặc một vài) máy tính đặt tại quầy giao dịch.
Đối với trang thông tin điện tử trên mạng Internet
Hình 11: Mô hình kết nối và truy nhập trang thông tin điện tử KBNN trên Internet
Diễn giải mô hình:
Toàn bộ ngành KBNN chỉ có duy nhất một trang thông tin điện tử trên mạng Internet.
Cán bộ, công chức ngành KBNN và khách hàng truy nhập trang thông tin điện tử trên Internet qua kết nối điện thoại công cộng.
Về phương thức hosting cho trang thông tin điện tử KBNN trên Internet, có ba giải pháp chính sau đây:
Sử dụng máy chủ đặt tại KBNN Trung ương để quản trị toàn bộ hệ thống (bao gồm: các phần mềm hệ thống, phần mềm bảo mật, phần mềm quản trị và hiển thị thông tin trên Website, các cơ sở dữ liệu, …). Giải pháp này có ưu điểm là việc tổ chức hệ thống chủ động, dễ dàng trong bảo trì, phát triển. Giải pháp này chỉ khả thi khi sử dụng phương thức kết nối Internet trực tiếp bằng đường truyền thuê riêng Leased line.
Lưu ký máy chủ tại nhà cung cấp dịch vụ truy nhập Internet: nội dung của giải pháp này là thuê một vị trí đặt máy chủ chứa toàn bộ trang thông tin điện tử KBNN tại một nhà cung cấp dịch vụ truy nhập Internet (ISP). Giải pháp lưu ký máy chủ không đòi hỏi phải có đường truyền leased line từ KBNN Trung ương tới cổng Internet và có thể sử dụng một số dịch vụ hạ tầng sẵn có của ISP, nhưng việc quản trị không chủ động, hơn nữa chi phí thuê vị trí đặt máy chủ, đường truyền từ máy chủ đến cổng INTERNET, phí bảo trì máy chủ hàng tháng cũng không nhỏ.
Thuê chỗ trên máy chủ của ISP (Web hosting): nội dung của giải pháp này là thuê một không gian tài nguyên tại một ISP nào đó để đặt trang thông tin điện tử trên máy chủ của nhà cung cấp dịch vụ Internet. Ưu điểm của giải pháp này tốc độ truy nhập cao, giá thành rẻ.
III.3.3.2. Lựa chọn máy chủ
Máy chủ làm nhiệm vụ quản lý, vận hành trang thông tin điện tử KBNN sẽ là các máy chủ hiện có tại các đơn vị KBNN.
III.3.3.3. Lựa chọn hệ điều hành
Về hệ điều hành mạng cho máy chủ làm nhiệm vụ Web Server, có thể chọn lựa một trong hai giải pháp sau:
- MS Windows 2000 Server : Hệ điều hành MS Windows NT/2000 tuy so sánh về tính bảo mật và độ ổn định có thể chưa bằng UNIX, nhưng với sự cập nhật và phát triển liên tục trong thời gian gần đây MS Windows 2000 phiên bản Advanced Server đã tiếp cận đến những tính năng chuyên nghiệp, đáp ứng được các yêu cầu của một hệ thống lớn. Mặt khác MS Windows NT/2000 Server tương đối dễ trong vấn đề quản trị, việc sử dụng và khai thác là phù hợp với trình độ cán bộ tin học tại các KBNN cấp tỉnh.
- UNIX : Hệ điều hành UNIX có ưu điểm về tiết kiệm chi phí bản quyền (đặc biệt nếu dùng Linux), có năng lực xử lý, khả năng bảo mật và tính ổn định cao. Nhược điểm lớn nhất đối với UNIX là rất khó trong vấn đề quản trị hệ thống.
Lựa chọn MS Windows NT/2000 Advanced Server là hệ điều hành dành cho máy chủ làm nhiệm vụ Web Server.
III.3.3.4. Lựa chọn Web Server
Với giải pháp lựa chọn MS Windows NT/2000 Server là hệ điều hành dành cho máy chủ thì sẽ là hợp lý nếu chọn MicroSoft Internet Information Service (IIS) làm Web Server. IIS là dịch vụ có sẵn của Windows 2000 Advanced Server do vậy không phải mất thêm chi phí bản quyền, IIS có khả năng đáp ứng số lượng truy cập lớn và khá dễ dàng trong việc quản trị.
III.3.3.5. Hệ quản trị cơ sở dữ liệu
Hệ quản trị CSDL để quản lý nội dung thông tin được nên lựa chọn là ORACLE hoặc MS SQL Server 2000. Đây là những hệ quản trị CSDL chuyên nghiệp, được sử dụng khá phổ biến tại Việt Nam hiện nay, phù hợp với các yêu cầu kỹ thuật và tăng trưởng về độ lớn của thông tin trên trang thông tin điện tử KBNN trong tương lai.
III.3.3.6. Các ngôn ngữ lập trình trên WEB
Với lựa chọn MS Windows NT/2000 Advanced Server là hệ điều hành cho máy chủ, thì sẽ là hợp lý nếu chọn công cụ phát triển ứng dụng của hãng MicroSoft. Tính hợp lý thể hiện qua khả năng tích hợp hệ thống; giảm thiểu chi phí bản quyền.
Lựa chọn về công cụ và môi trường phát triển cho trang thông tin điện tử KBNN gồm:
- Ngôn ngữ lập trình: ASP, ASP.NET, XML, HTML. JavaScript
- Môi trường phát triển: Visual InterDev, Visual Studio.NET
III.3.3.7. Trình soạn thảo trang Web và biên tập ảnh
- Trình soạn thảo trang Web: FrontPage, DreamWave
- Trình biên tập ảnh: PhotoShop
III.3.3.8. Bộ mã tiếng Việt và Font chữ
Thủ tướng Chính phủ đã ban hành quyết định số 72/2002/QĐ-TTg về việc thống nhất dùng bộ mã kí tự chữ Việt theo tiêu chuẩn TCVN 6909:2001 trong trao đổi thông tin điện tử giữa các tổ chức của Đảng và Nhà nước kể từ ngày 01/01/2003. Bộ mã TCVN 6909:2001 được xây dựng dựa trên bộ mã Unicode chuẩn hiện được sử dụng rộng rãi trên thế giới. Sử dụng Unicode mang lại hiệu quả về tính thẩm mỹ và khả năng phổ biến cao, đặc biệt là ở nước ngoài. Vì vậy, bộ mã tiếngViệt được lựa chọn để xây dựng trang thông tin điện tử KBNN là Unicode dựng sẵn; Font chữ chuẩn được chọn là: Time New Roman, Arial ; bộ gõ tiếng Việt là VietKey hoặc UniKey.
Phần quản trị, hiển thị các báo cáo tổng hợp về hoạt động nghiệp vụ KBNN
Các file cấu hình báo cáo: chứa tất cả các thông số cấu hình một báo cáo như: tên báo cáo, cách thức kết nối CSDL chứa số liệu, các tiêu thức lập báo cáo, khuôn dạng báo cáo (các cột), tiêu thức sắp xếp, câu lệnh Query (hoặc tên thủ tục) kết xuất dữ liệu từ các CSDL nghiệp vụ, … File cấu hình báo cáo được lưu trữ dưới dạng XML. Mỗi báo cáo sẽ phải có một File cấu hình.
Form quản trị báo cáo: có chức năng hiển thị giao diện cho phép NSD định nghĩa một báo cáo như: tên báo cáo, cách thức kết nối CSDL chứa số liệu, các tiêu thức lập báo cáo, khuôn dạng báo cáo (các cột), tiêu thức sắp xếp, câu lệnh Query (hoặc tên thủ tục) kết xuất dữ liệu từ các CSDL nghiệp vụ, …
Form hiển thị báo cáo: có chức năng hiển thị danh sách báo cáo; chọn báo cáo cần xem; cho phép NSD xác định các tiêu thức lập báo cáo; hiển thị báo cáo dưới dạng một file HTML.
III.3.4. Bảo mật
III.3.4.1. Bảo mật mức hệ thống
Sử dụng các giải pháp của hệ điều hành, hệ quản trị cơ sở dữ liệu (như kiểm soát đăng nhập hệ thống qua tên và mật khẩu; phân quyền sử dụng các tài nguyên).
III.3.4.2. Bảo mật mức ứng dụng
Phân loại người sử dụng
Người quản trị:
Là một (hoặc một số) cán bộ được phân công làm nhiệm vụ quản trị trang thông tin điện tử KBNN. Người quản trị thường là cán bộ chuyên trách về CNTT, nhiệm vụ của người quản trị gồm:
- Quản trị cấu trúc của trang thông tin điện tử KBNN (khai báo các chuyên mục)
- Quản trị các sự kiện nổi bật, xác định danh sách các tin bài thuộc sự kiện
- Quản trị các hình ảnh nổi bật
- Quản trị các liên kết
- Quản trị các biểu trưng
- Quản trị người sử dụng khác
Người nhập tin:
Là các cán bộ, công chức được phân công làm nhiệm vụ cập nhật thông tin cho trang thông tin điện tử KBNN. Nhiệm vụ của người nhập tin gồm:
Thu thập các thông tin liên quan đến lĩnh vực (chuyên mục) được phân công. Thông tin có thể được thu thập từ báo chí, các văn bản hành chính, từ các cộng tác viên hoặc từ trang thông tin điện tử của KBNN cấp dưới (hoặc cấp trên).
Nhập các tin bài , hình ảnh
Người kiểm duyệt tin:
Là các cán bộ công chức được phân công làm nhiệm vụ kiểm duyệt thông tin trước khi được phép hiển thị trên trang thông tin điện tử. Nhiệm vụ của người kiểm duyệt tin gồm:
- Kiểm tra lại nội dung các tin bài do người nhập tin đã đưa vào trước đó.
- Trực tiếp chỉnh sửa nội dung các tin bài hoặc yêu cầu người nhập tin sửa lại nội dung của tin bài
- Cho phép tin bài được hiển thị trên trang thông tin điện tử.
Người xem thông tin:
Là bất kỳ cá nhân nào có quan tâm tới trang thông tin điện tử KBNN (có thể thuộc ngành KBNN hoặc không)
Phân quyền theo nhóm người sử dụng
Để đảm bảo thông tin đưa lên trang thông tin điện tử KBNN là những thông tin chính xác, việc phân quyền cho người nhập tin và người kiểm duyệt tin được thực hiện đến từng chuyên mục (theo đó với mỗi chuyên mục, chỉ người sử dụng có đủ thẩm quyền mới được phép nhập hoặc kiểm duyệt thông tin).
Với người xem thông tin: cũng phải xác định tên, mật khẩu đã đăng ký nếu như chuyên mục hoặc tin bài có chứa những thông tin hạn chế phổ biến (chỉ dành cho một số người xem nhất định).
III.3.5. Đào tạo
III.3.5.1. Đối tượng đào tạo
Các đối tượng được đào tạo để tiếp nhận, vận hành hệ thống trang thông tin điện tử KBNN bao gồm:
- Người cập nhật và kiểm duyệt thông tin
- Người truy cập trang thông tin điện tử KBNN để khai thác thông tin (chỉ bao gồm người truy cập nội bộ)
- Cán bộ chuyên trách CNTT
III.3.5.2. Nội dung đào tạo
Với người cập nhật và kiểm duyệt thông tin
Nội dung đào tạo như sau:
- Cách sử dụng trình duyệt Internet
- Cơ bản về cách sử dụng phần mềm biên tập ảnh PhotoShop
- Cơ bản về cách sử dụng trình biên tập các trang Web tĩnh FrontPage, Dreamwave
Sử dụng và khai thác các chức năng của phần mềm quản trị và hiển thị thông tin:
- Quản trị chuyên mục thông tin
- Quản trị các hình ảnh nổi bật
- Quản trị các liên kết
- Quản trị các biểu trưng
- Quản trị các tin bài (nhập tin bài, kiểm duyệt tin bài)
- Quản trị các câu hỏi thăm dò dư luận
- Quản trị các diễn đàn thảo luận
- Trả lời câu hỏi của người truy cập
- Quản trị người sử dụng
- Thời gian đào tạo: 03 ngày
Với người truy cập nội bộ
Nội dung đào tạo như sau:
- Cách sử dụng trình duyệt Internet
- Cách khai thác, tìm kiếm thông tin trên trang thông tin điện tử KBNN
- Thời gian đào tạo: 01 ngày
Với cán bộ chuyên trách CNTT
Nội dung đào tạo như sau:
- Quản trị IIS
- Quản trị CSDL
- Sao lưu dữ liệu
- Chuyển giao các modul của phần mềm
III.3.5.3. Hình thức đào tạo
Đào tạo tập trung theo lớp, thực hành ngay trên máy: áp dụng cho các đối tượng là người nhập/ kiểm duyệt thông tin và người truy cập trang thông tin điện tử KBNN để khai thác thông tin.
Đào tạo theo hình thức truyền tay và trao đổi trực tiếp: áp dụng cho các đối tượng là cán bộ chuyên trách CNTT.
III.3.6. Bảo trì
Các phương thức bảo trì:
Điện thoại: áp dụng trong trường hợp giải đáp các thắc mắc về cách sử dụng chương trình.
Tại chỗ: áp dụng trong trường hợp có các sự cố kỹ thuật liên quan đến hệ thống (IIS, CSDL, các lỗi phần mềm)
Kết nối từ xa qua Modem và điện thoại: áp dụng trong trường hợp có các sự cố kỹ thuật liên quan đến hệ thống (IIS, CSDL, các lỗi phần mềm).
III.4. Một số giao diện chương trình
Trang chủ của trang thông tin Kho bạc Nhà nước
Chọn Thành viên -->Ban biên tập cho ra màn hình Login như sau
Trang cập nhập tin tức
Trang các tin đã nhập
Trang sửa tin tức
Trang hiển thị các tin tức chưa Duyệt
Trang thực hiện việc Duyệt tin, bài
Trang thực hiện việc nhập báo cáo
Ngoài ra ở đây tôi cũng hỗ trợ một chức năng tìm kiếm theo Unicode, khi biên tập viên muốn tra cứu về một bài viết nào đó đã nhập theo các chuyên đề khác nhau. Khi đó bạn chỉ cần đánh chữ có trong tiêu đề của bài viết đó là có thể tìm kiếm được tất cả các bài viết theo ý muốn của bạn
Nội dung tìm kiếm sẽ được đưa ra sau khi bạn tìm kiếm như sau:
Các báo cáo của các vụ sẽ được gửi tới những người có quyền xem báo cáo. Sau khi xem song báo cáo đó có thể là đồng ý hoặc góp ý thêm. Ví dụ sau khi Vụ trưởng vụ Huy động vốn muốn xem báo cáo về vụ mình, sẽ vào Nghiệp vụ--> Huy động vốn. Các báo cáo sẽ hiện ra như sau:
Sau khi xem song nếu cần sửa đổi, người này chỉ cần chọn Góp ý và sẽ ghi các góp ý ở trang sau:
Và để xem thông tin góp ý bạn di chuột đến tiêu đề của báo cáo, các ý kiến góp ý về báo cáo đó
kết luận
Đánh giá kết quả thực hiện
Ưu điểm của đề tài
- Chương trình cho phép bạn cập nhật tin bài một cách nhanh nhất mà không cần có sự trợ giúp của một phần mềm hỗ trợ nào khác.
- Cho phép Web master quản trị tin bài một cách dễ dàng và tiện lợi.
- Sử dụng hoàn toàn Unicode.
- Giao diện thân thiện với người sử dụng.
- Bảo trì dễ dàng thông qua các class và Store Procedure
Hạn chế của đề tài
Trong khuôn khổ của đề tài, do hạn chế về mặt thời gian thực hiện chương trình cũng như kiến thức của bản thân nên chương trình này vẫn còn rất nhiều những thiếu sót. Chỉ áp dụng được một phần nhu cầu cần thiết của người dùng
Hướng phát triển
- Tiếp tục hoàn thiện hơn nữa những chức năng tìm kiếm, sắp xếp.
- Tích hợp một số phần mềm ứng dụng trong ngành Kho bạc được phát triển bằng Web.
- Xây dựng trang Web có đầy đủ các dịch vụ hỗ trợ nghiệp vụ trong ngành Kho bạc.
Kết luận
Để đạt kết quả tốt những mục tiêu đề ra, em biết rằng phải cố gắng nhiều hơn nữa cùng với sự giúp đỡ nhiệt tình của thầy cô và bạn bè. Em tin rằng với những điều ấy sẽ giúp em hoàn thành tốt các yêu cầu đặt ravà hạn chế được những nhược điểm của chương trình.
tài liệu tham khảo
TS. Trương Văn Tú, TS. Trần Thị Song Minh
Giáo trình Hệ thống thông tin quản lý (ĐHKTQD), NXB Thống Kê, Hà Nội, 2000
- TS. Trần Công Uẩn
Giáo trình Cơ sở dữ liệu SQL, Access (ĐHKTQD), NXB Thống Kê, Hà Nội, 2000
KS. Bùi Thế Ngũ
Internet và thương mại điện tử
- SaigonBook
ASP Database, NXB trẻ, TP Hồ Chí Minh, 2001
Đỗ Xuân Lôi
Cấu trúc dữ liệu và giải thuật, NXB Thống Kê, TP Hồ Chí Minh, 2000
Microsoft Visual Studio 6.0
MSDN Help file
- Một số trang Web như Vnexpress, vnn.vn, fpt...
- PGS -TS. Hàn Viết Thuận
Giáo trình cấu trúc dữ liệu, NXB Thống Kê, Hà Nội, 1999
Phụ lục
A. Lập trình Web ASP với tiếng Việt Unicode
1. Bảng mã Unicode
Về bản chất, máy tính chỉ làm việc với các con số, do đó để biểu diễn các ký tự trên máy tính cần phải có một qui ước nhất quán giữa các ký tự cần biểu diễn và các con số tương ứng mà máy tính xử lý. Quy ước này được thể hiện qua các bước sau:
Chọn tập các ký tự cần mã hoá (characterset).
Gắn cho mỗ ký tự cần mã hoá một giá trị nguyên không âm, gọi là điểm mã (code point).
Chuyển các điểm mã thành dẫy các đơn vị mã (code units) để chỗ phục vụ cho việc lưu trữ và mã hoá. Một đơn vị mã là một đơn vị của bộ nhớ, có thể là 8, 16 hay 32 bit. Các điểm mã không nhất thiết phải có cùng số đơn vị mã.
Tập hợp những điểm mã của một tập các kí tự được gọi là một trang mã (code page) hay còn gọi là bảng mã hay bộ mã. Như vậy khi nói về một bảng mã, chúng ta quan tâm đến hai điều chỉnh : số lượng các kí tự được mã hoá, và cách mã hoá chúng thành các đơn vị mã.
Với bảng mã 8-bit, mỗi điểm mã được mã hoá bằng đúng một đơn vị mã 8-bit, số lượng các kí tự được mã chỉ là 256. Số lượng ký tự mà không đủ để hiển thị cùng lúc nhiều kí tự của các ngôn ngữ khác nhau. Unicode ra đời nhằm thống nhất chung các kí tự của mọi ngôn ngữ trong một bảng mã duy nhất. Unicode dung 16 bit để biểu diễn các điểm mã, do đó nó có thể biểu diễn được đến 65,536 kí tự.
Cách đơn giản nhất để mã hoá các kí tự Unicode là biểu diễn mỗi điểm mã bàng đụng một đơn vị mã 16-bit. Đay chính là cách mã hoá nguyên thuỷ của Unicode trong phiên bản 2.0 được ISO/IEC chuẩn hoá thành ISO/IEC 10646 hay còn gọi là UCS-2. Tuy nhiên, để tương thích với các hệ thống xử lý trước khi Unicode ra đời cũng như tối ưu hoá trong quá trình lưu trữ và truyền dữ liệu, người ta dùng các cách khác nhau để mã hoá các điểm mã thành các đơn vị mã. Mỗi cách mã hoá như vậy được gọi là một dạng biến đổi của Unicode (UTF - Unicode Transformation Format). Thông dụng nhất hiện nay là UTF-8 và UTF-16 dùng dãy các đơn vị mã có độ dài khác nhau để mã hoá các điểm mã. UTF-8 dùng 1 đến 4 đơn vị mã 8-bit trong khi UTF-16 dùng 1 đến 2 đơn vị mã 16-bit để mã hoá. Ví dụ sau minh hoạ cách mã hoá của UTF-8:
128 kí tự đầu tiên của Unicode, từ điểm mã U+0000 đến U+007F, được mã hoá thành 1 byte.
Từ điểm mã U+0080 đến U+07FF, được mã hoá thành 2 byte.
Từ điểm mã U+0800 đến U+FFFF, được mã hoá thành 3 byte.
Như vậy, khi đề cập đến Unicode trong lập trình cần phải xác định rõ chúng ta dùng bảng mã Unicode theo dạng biến đổi nào UCS-2, UTF-8 hay UTF-16,…UCS-2 được dụng trong các hệ quản trị cơ sở dữ liệu nư SQL Server 7.0/2000, Microsoft Access 2000, UTF-8 thường dùng trong các ứng dụng web, trong khi UTF-16 lại được dùng trong các hệ thống như Windows 2000/XP, Java,…
2. Lập trình Web với tiếng Việt Unicode
Chỉ địn bảng mã dùng trong trang Web
Khi một trang web được server chuyển xuống cho client, trình duyệt sẽ dụng thông tìn về bảng mã mà trang web đó sử dụng để chuyển dãy các byte trong tài liệu đó thành các kí tự tương ứng để hiển thị lên màn hình. Ngoài ra, một khi dữ liệu trong các Form được gửi đi sau khi người dùng submit, trình duyệt cũng sẽ căn cứ vào bảng mã này để chuyển đổi dữ liệu khi truyền đi. Ví dụ, nếu trang web được chỉ định dùng bảng mã windows-1252 thì khi FORM được submit, dữ liệu sẽ được mã hoá theo bảng mã này cho dù trước đó trong các hộp điều khiển của FORM dữ liệu đợc gõ dưới dạng Unicode.
Việc chỉ định bảng mã có vai trò rất quan trọng trong việc hiển thị đúng nội dung mã người thiết kế mong muốn, nếu không chỉ định bảng mã được dùng trong trang web hiện hành một cách rõ ràng, trình duyệt sẽ sử dụng bảng mã mặc định. Ví dụ nếu dữ liệu chuyển đến cho trang web là E1BB81, bảng mã chỉ định là UTF-8 thì 3 byte này chính là biểu diễn mã của kí tự "ề" trong khi nếu hệ thống dùng bảng mã mặc định, ví dụ như windows-1252, thì 3 byte này lại đợc xem như là biểu diễn 3 kí tự khác nhau và sẽ được hiển thị là "á".
Để chỉ định bảng mã mà trang web sử dụng, ta dùng tag META với thuộc tính HTTP-EQUIV được gắn là Content-Type, và chỉ định tên của bảng mã được dùng trong thuộc tính CONTENT. Trong ví dụ sau, tag META được dùng để chỉ định bảng mã windows 1252 cho một trang web :
Để yêu cầu trình duyệt sử dụng một bảng mã cho toàn bộ trang web, ta phải đặt tag META này trước tag BODY. Thông thường là đặt tag META này trong tag HEAD như ví dụ sau:
New Page 1
…….
Trong trường hợp bảng mã được chỉ định có khả năng biểu diễn được tất cả các kí tự của trang web, người ta phải dùng đến số tham chiếu của kí tự (NCR : numẻncal character references). So sánh tham chiếu kí tự là điểm mã của kí tự Unicode tương ứng mà nó biểu diễn. Số tham chiếu kí tự có hai dạng thập phân và thập lục phân. Dạng thập phân có kí pháp là "D;", với D là số thập phân. Dạng thập lục phân có cú pháp là "H;", với H là số thập lục phân, Ví dụ "å" với "å" là các số tham chiếu của kí tự "ả" trong bảng mã Unicode. Mỗi khi gặp số tham chiếu của kí tự, trình duyệt sẽ tham chiếu của kí tự, trình duyệt sẽ tham chiếu trực tiếp đến kí tự có điểm mã tương ứng trong bảng mã Unicode mà không sử dụng đến bảng mã được chỉ định hiện hành.
Lấy ví dụ trang web được mã hoá với bảng mã windows-1252, lúc đó để hiển thị chuỗi kí tự : "Tiếng Việt", dữ liệu cho trang web phải là "Tiếng Việt" trong đó "ế" và "ệ" lần lượt là các số tham chiếu của kí tự "ế" và "ệ" trong bảng mã Unicode.
Điều này cho phép giải thích tại sao, các trang web không dùng bảng mã UTF-8 vẫn có thể hiển thị được các kí tự Unicode không thuộc bảng mã đó hay khi chuyển đổi mã UTF-8 sang windows-1252, MS FrontPage 2000 lại tự động thêm vào các số tham chiếu kí tự theo cách trên.
Hoạt động của webserver
Khi trình duyệt yêu cầu mỗi trang .asp trình xử lí trang asp tại webserver sẽ thông dịch các mã lệnh ở trong trang web này và gửi kết quả về cho trình duyệt. Thông thường, lện Response.Write được dùng cho các kết xuất từ các hằng chuỗi hày từ các biết ra màn hình. Ví dụ như :
…..
<%
response.Write "Chào mừng bạn đến với trang web này" 'in một hằng chuỗi
response.Write rs("TEN_NV") 'in dữ liệu của một biến, ví dụ như là một trường của recordset
%>
…..
Để yêu cầu webserver mã hoá các dữ liệu trong các hằng chuỗi và biến theo bảng mã sẽ được dùng để hiển thị tại client, ta cần phải đặt thuộc tính CodePage về bảng mã tương ứng. Các lện trong ví dụ sau sẽ yêu cầu webserver mã hoá các chuỗi dữ liệu theo bảng mã UTF-8.
//Dùng cho toàn bộ các trang trong session hiện hành
//Dùng cho trang hiện hành
Lấy ví dụ trong trường hợp dùng cơ sở dữ liệu SQL Server 7.0, dữ liệu được trả về từ các câu truy vần theo bảng mã UCS-2. Nếu ta chỉ định CodePage là 65001, webserver sẽ tự động chuyển dữ liệu từ UCS-2 sang UTF-8, ngược lại nếu không chỉ định thuộc tính CodePage, webserver sẽ chuyển dữ liệu đó đến client theo bảng mã mặc định (ví dụ nư windows-1252). Điều này giải thích cho trường hợp một số trang web asp hiển thị không dúng dữ liệu Unicode được lưu trữ trong các cơ sở dữ liệu như SQL Server 7.0/2000, MS Access 2000.
Ngoài ra, các trang asp có sử dụng đoạn mã lệnh thiết lập CodePage là 65001 phải được lưu theo định dạng tương ứng là UTF-8.
Như vậy, việc thiết lập thuộc tính CodePage trong trang asp sẽ giúp cho webserver hiểu được các dữ liệu được lưu trong các cơ sở dữ liệu, hằng chuỗi kí tự,… theo bảng mã nào để mã hoá (encode) nó trước khi chuyển đến cho trình duyệt. Việc chỉ định bảng mã dùng trong trang web bằng tag META sẽ giúp cho trình duyệt diễn dịch (decode) dữ liệu được chuyển đến từ webserver đúng nhất khi hiển thị.
Các bước cơ bản của lập trình web asp sử dụng tiếng Việt Unicode
Soạn và lưu trữ tập tin .asp dưới dạng mã hoá UTF-8.
Trong các tập tin asp, chèn các đoạn mã chỉ định cho web server và trình duyệt xử lí dữ liệu trong trang web như là UTF-8. Các đoạn mã này phải đặt ở đầu trang asp. Sử dụng ví dụ mẫu sau:
Sử dụng các hệ quản trị CSDL hỗ trợ Unicode như SQL Server 7.0/2000. Nếu dùng SQL Server thì phải khai báo kiểu dữ liệu cho các trường lưu dữ liệu Unicode là NCHAR, NVARCHAR, NTEXT,… Các kiểu dữ liệu như TEXT, MEMO, HYPERLINK trong MS Access 2000 mặc định hỗ trợ lưu dữ liệu Unicode.
Truy xuất cơ sở dữ liệu thông qua JScript/VBScript/ODBC.
Khi làm việc trên hệ quản trị CSDL SQL Server 7.0/2000, nếu dùng các hằng chuỗi trong các câu lệnh SQL, phải thêm vào tiếp đầu ngữ N (bắt buộc là chữ in hoa). Nếu không sử dụng tiệp đầu ngữ này SQL Server sẽ tự động chuyển chuỗi dữ liệu sàng bảng mã mặc định hiện hành trước khi sử dụng nó trong các thao tác cập nhật CSDL. Ví dụ, nếu bạn dùng câu lệnh sau : INSERT INTO SINHVIEN(TEN_SV) VALUES("Trần Nam Hải") thì hằng chuỗi dữ liệu "Trần Nam Hải" sẽ được SQL Server xem như là chuỗi kí tự thường chứ không phải là chuỗi Unicode. Điều này sẽ dẫn đến hậu quả là dữ liệu sẽ được lưu trữ không chính xác. Ví dụ như dữ liệu của kí tự "ầ" trong chuỗi trên là E1BAA7, sẽ được lưu thành 3 kí tự khác nhau. Trong khi đó nếu dùng câu lệnh INSERT INTO SINHVIEN(TEN_SV) VALUES(N"Trần Nam Hải") thì 3 byte E1BAA7 sẽ được lưu thành một kí tự.
3. Hỗ trợ Unicode của các phần mềm
Các phần mềm hỗ trợ soạn thảo trang web
Visual Studio.NET, Notepad, MS FrontPage2002 : Hỗ trợ lưu tập tin dưới dạng UTF-8
Visual InterDev 6.0 : Nếu trong trang asp ta sử dụng các hằng chuỗi được gõ vào dưới dạng Unicode, ví dụ như : Response.Write " Chào mừng bạn", thì lúc lưu tập tin chương trình sẽ phát hiện ra trong trang asp này có xuất hiện kí tự Unicode và yêu câu lưu xuoongs dưới dạng Unicode, nếu không các kí tự Unicode sẽ bị mất. Tuynhiên, nếu chộn lưu dưới dạng Unicode thì chương trình sẽ lưu tập tin này dưới dạng mã hoá UCS-2. Hiện nay Web server IIS không thể xử lí được trang asp này.
Các phần mèm thông dụng hỗ trợ gõ tiếng Việt Unicode: Unikey, VietKey.
Các phần mềm hỗ trợ khác
SQL Server 7.0/2000 và MS Access 2000 hỗ trợ Unicode. Với mỗi kí tự Unicode hệ thống sẽ sử dụng bảng mã UCS-2 để lưu trữ, nghĩa là dùng cố định 2 byte cho một kí tự. SQL 6.5 và MS Access 97 không hỗ trợ Unicode.
IIS 5.0 không thể đọc được các tập tin lưu dưới dạng UCS-2, không hỗ trợ CodePage của bản mã UTF-16 là 1200. IIS 4.0 không hỗ trợ CodePage của bảng mã UTF-8 là 65001.
B. Một số Code của chương trình
Trang xử lý đăng nhập vào mục Ban biên tập (ProcessLogin.asp)
<%
user=Request.Form("name")
pass=Request.Form("pass")
set rs = server.CreateObject("ADODB.recordset")
rs.Open "USERS",con,adOpenDynamic,adLockOptimistic
'Ghi lại cookies
Response.Cookies("IDNumber")=user
Response.Cookies("IDNumber").expires=Date+366
timthay=false
RS.moveFirst
Do while not RS.eof and (not timthay)
if RS("password") = pass and rs("Username")=user then
timthay=true
end if
rs.movenext
loop
'Kiểm tra giá trị của biến TìmThấy
if timthay=true then
response.redirect("WebNew.asp")
else
response.redirect("errorlogin.asp")
end if
rs.Close
set rs=nothing
%>
Trang cập nhập Tin tức
Nhap tin tuc moi
Các tin đã có
<%
dim rschude
dim rschuyende
dim rs
dim sql
'set rs=server.CreateObject("ADODB.recordset")
%>
NHẬP TIN TỨC MỚI
Chuyên đề
........Lựa chọn........
<%
set rsChuyenDe=server.CreateObject("ADODB.recordset")
sql="select ID_CD,ten from CHUYEN_DE"
rschuyende.Open sql,con,2,3
do while not rschuyende.EOF
Response.Write ""
Response.Write rschuyende.Fields("ten")
Response.Write ""
rschuyende.MoveNext
loop
%>
Chuyên mục
........Lựa chọn........
<%
set RS=server.CreateObject("ADODB.recordset")
sql="select ID_CD,ID_CM,ten from CHUYEN_MUC where ID_CD='" & Trim(Request.QueryString("CD"))& "'"
rs.Open sql,con,2,3
Do While not Rs.EOF
%>
">
<%
Rs.MoveNext
Loop
Response.Write "" & vbCrLf
Response.Write "var TkRelId;" & vbCrLf
Response.Write "TkRelId='" & Trim(Request.QueryString("cd")) & "';" & vbCrLf
Response.Write "" & vbCrLf%>
//Tim tai khoan tuong ung voi Id
var i;
for (i=0; i<=document.frmTT.CD.length; i++){
if (document.frmTT.CD.options[i].value == TkRelId)
{
document.frmTT.CD.options[i].selected = true;
break;
}
}
Chủ đề
..............................Lựa chọn................................
<%
set rsChude=server.CreateObject("ADODB.recordset")
sql="select ID_Topic,ten from DONG_SUKIEN"
rschude.Open sql,con,2,3
do while not rschude.EOF
Response.Write ""
Response.Write rschude.Fields("ten")
rschude.MoveNext
loop
rschude.Close
set rschude=nothing
%>
function LayIDSK(){
var f;
f=document.frmTT
f.cbosukien.options[f.cbosukien.selectedIndex].value==TkRelId
}
Ngày viết
">
Tiêu đề
Trích yếu
Nội dung
Ảnh to
Ảnh nhỏ
function showDate(){
dt = new Date(); //Gets today's date right now (to the millisecond).
document.frmTT.txtThang.value = dt.getMonth()+1;
document.frmTT.txtNgay.value = dt.getDate();
document.frmTT.txtnam.value = dt.getFullYear();
}
function chkFrm(){
if (document.frmTT.CD.value == ''){
alert('Bạn cần phải chọn chuyên đề!');
document.frmTT.CD.focus();
return false;
}//if
if (document.frmTT.CboIDCM.value == ''){
alert('Bạn phải chọn chuyên mục!');
document.frmTT.CboIDCM.focus();
return false;
}//if
if (document.frmTT.txtTitle.value == ''){
alert('Tiêu đề không được để trống!');
document.frmTT.txtTitle.focus();
return false;
}//if
if (document.frmTT.txtNoiDung.value == ''){
alert('Nội dung không được để trống!');
document.frmTT.txtNoiDung.focus();
return false;
}//if
if (document.frmTT.txtNgay.value <10){
document.frmTT.txtNgay.value="0" +document.frmTT.txtNgay.value;
}
if (document.frmTT.txtThang.value <10){
document.frmTT.txtThang.value="0" +document.frmTT.txtThang.value;
}
return true;
}//funtion
function CboIDCDactionPerformed()
{
location.href='TintucNhap.asp?CD='+document.frmTT.CD.options[document.frmTT.CD.selectedIndex].value;
}
Trang ghi Tin tức
<% Dim CD,CM,Topic,Tieude,Trichyeu,Noidung,Myngay,Anhto,anhnho
dim sql
set Cmd=server.CreateObject("ADODB.command")
cmd.ActiveConnection=con
cmd.CommandType=adcmdstoredproc
CD = Trim(Request.Form("CD"))
CM = Trim(Request.Form("cboIDCM"))
Topic = Trim(Request.Form("cbosukien"))
Tieude = Trim(Request.Form("TxtTitle"))
Trichyeu = Trim(Request.Form("TxtTrichyeu"))
noidung = Trim(Request.Form("TxtNoidung"))
MyNgay = Request.Form("txtNgay")
Anhto = Trim(Request.Form("TxtAnhto"))
Anhnho = Trim(Request.Form("TxtAnhnho"))
test = ""
'Lay ID_User
dim rs, varIDNumber,sql1
varIDNumber=Request.Cookies("IDNumber")
set rs=server.CreateObject("ADODB.recordset")
sql1="select Id_User,UserName,ID_Group From Users where UserName='" & varIDNumber & "';"
rs.Open sql1,con,2,3
'Them mot tin tuc vao bang News
cmd.CommandText = "INSERT_NEWS(N'" & GenerateId() & "',N'" & cd & "',N'" & CM & "',N'" & Topic & "',N'" & Tieude & "',N'" & Trichyeu & "',N'"&noidung & "','N','" & MyNgay & "',N'" & Anhto & "',N'" & Anhnho & "',N'" & varIDNumber & "')"
cmd.Execute
Response.Redirect("TintucNhap.asp")
Các file đính kèm theo tài liệu này:
- 37000.doc