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

- 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.

doc127 trang | Chia sẻ: oanh_nt | Lượt xem: 1257 | Lượt tải: 0download
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à "&#xH;", 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:

  • doc37000.doc
Tài liệu liên quan