1. Trang chủ
  2. » Tài Chính - Ngân Hàng

đề tài nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam

91 1,1K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu và ứng dụng DotNetNuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh Quảng Nam
Tác giả Lê Thị Diệu Hiền
Người hướng dẫn TS. Nguyễn Văn Hiệu
Trường học Trường Đại học Bách Khoa, Đại học Đà Nẵng
Chuyên ngành Kỹ thuật phần mềm, Công nghệ Thông Tin
Thể loại Luận văn tốt nghiệp kỹ sư
Năm xuất bản 2012
Thành phố Đà Nẵng
Định dạng
Số trang 91
Dung lượng 1,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sở Giáo dục và Đào tạo là cơ quan chuyên môn thuộc Ủy ban nhân tỉnh, tham mưu giúp Ủy ban nhân tỉnh thực hiện chức năng quản lý nhà nước về Giáo dục và Đào tạo, chịu trách nhiệm trước Ủy

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 3736 949, Fax (84-511) 3842 771 Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ

NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : NGHIÊN CỨU VÀ ỨNG DỤNG DOTNETNUKE ĐỂ XÂY DỰNG

HỆ THỐNG QUẢN LÝ CÔNG CHỨC VÀ VIÊN CHỨC TẠI SỞ

GIÁO DỤC VÀ ĐÀO TẠO TỈNH QUẢNG NAM

Mã số : 30TTK-016 Ngày bảo vệ : 05/01/2012

SINH VIÊN : LÊ THỊ DIỆU HIỀN

ĐÀ NẴNG, 12/2011

Trang 2

Tôi xin chân thành cảm ơn các giảng viên khoa Công nghệ Thông tin, trường Đại học Bách khoa, Đại học Đà Nẵng, đã truyền đạt những kiến thức quý báu cho tôi trong những năm học vừa qua

Đặc biệt, tôi xin gửi lời biết ơn chân thành đến thầy TS Nguyễn Văn Hiệu đã tận tình hướng dẫn, động viên và giúp đỡ tôi trong suốt thời gian thực hiện đề tài này Nếu không có những lời chỉ dẫn, tài liệu thầy gợi ý, những lời động viên khích lệ của thầy, thì luận văn khó lòng hoàn thiện được

Tôi cũng xin chân thành cám ơn Anh, chi, em lớp 30TTK, đã động viên, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu cho tôi trong suốt quá trình nghiên cứu và thực hiện đề tài

Một lần nữa tôi xin chân thành cám ơn!

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy TS Nguyễn Văn Hiệu

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Sinh viên,

LÊ THỊ DIỆU HIỀN

Trang 4

Đà Nẵng, ngày 05 tháng 01 năm 2012 CÁN BỘ HƯỚNG DẪN

Trang 5

Đà Nẵng, ngày 05 tháng 01 năm 2012

CÁN BỘ PHẢN BIỆN

Trang 6

MỞ ĐẦU 1

I Đặt vấn đề 1

II Mục đích và ý nghĩa của đề tài 2

III Đối tượng và phạm vi nghiên cứu 2

IV Phương pháp nghiên cứu 2

V Ý nghĩa khoa học và thực tiển của đề tài 2

VI Cấu trúc luận văn 3

CƠ SỞ LÝ THUYẾT 4

I DOTNETNUKE 4

I.1 Giới thiệu về DotNetNuke 4

I.2 Trang và cách tạo trang 5

I.2.1 Tổng quan về trang 5

I.2.2 Tạo một trang web mới 5

I.3 Module 7

I.3.1 Tổng quan về Module 7

I.3.2 Một số Module của hệ thống 7

I.4 Skin 9

II Tổng quan về ASP.NET 9

II.1 Tìm hiểu về ASP.Net 9

II.2 Những ưu điểm của ASP.Net 10

II.3 Quá trình xử lý tệp tin ASP.Net 12

III Ajax 12

III.1 Tổng quan về AJAX 12

III.2 Các công nghệ trong AJAX 16

III.2.1 Javascript 16

III.2.2 Cascading Style Sheets (CSS) 17

III.2.3 XML 19

III.2.4 Đối tượng XMLHttpRequest 23

IV SQL Server 26

IV.1 Giới thiệu về SQL Server 2005 26

IV.2 Ngôn ngữ truy vấn cấu trúc(SQL) 26

IV.2.1 SQL là ngôn ngữ của cơ sở dữ liệu quan hệ 26

IV.2.2 Vai trò của SQL 27

IV.2.3 Giới thiệu sơ lược về Transact-SQL 28

ĐẶC TẢ, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 30

I Khảo sát hiện trạng tại sở Giáo Dục và Đào Tạo tỉnh Quảng Nam 30

I.1 Vị trí và chức năng 30

I.2 Cơ cấu tổ chức 30

II Phân tích và thiết kế hệ thống 31

II.1 Xây dựng use case 31

Trang 7

II.1.2 Sơ đồ use case phân rã 33

II.1.3 Sơ đồ use case viên chức 34

II.2 Sơ đồ hoạt động 60

II.2.1 Sơ đồ hoạt động nhập hồ sơ công chức viên chức 60

II.2.2 Sơ đồ hoạt động cập nhập hồ sơ công chức viên chức 61

II.2.3 Sơ đồ hoạt động Xóa hồ sơ công chức viên chức 62

II.3 Sơ đồ tuần tự 63

II.3.1 Sơ đồ tuần tự thêm mới hồ sơ công chức 63

II.3.2 Sơ đồ tuần tự cập nhập hồ sơ công chức 64

II.3.3 Sơ đồ tuần tự xóa hồ sơ công chức 65

II.4 Sơ đồ lớp 66

II.5 Lược đồ cơ sở dữ liệu quan hệ 68

XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ MINH HỌA 70

I Trang sơ lược lý lịch 70

II Trang đặt điểm lịch sử bản thân 71

III Trang quan hệ gia đình 71

IV Trang báo cáo danh sách công chức 72

V Trang danh sách người đứng đầu 72

VI Trang báo cáo tổng hợp viên chức 73

VII Trang báo cáo viên chức 73

KẾT LUẬN 74

I Kết quả đạt được 74

I.1 Ưu điểm 74

I.2 Nhược điểm 74

II Hướng phát triển trong tương lai 74

Trang 8

Bảng 2.1 Bảng mô tả use case 36

Trang 9

Hình 1.1 Quá trình xử lý tệp tin ASP.NET 12

Hình 2.1 Mô hình cổ điển của một ứng dụng Web 14

Hình 2.2 Mô hình ứng dụng Web sử dụng AJAX 15

Hình 2.3 Sơ đồ use case công chức 32

Hình 2.4 Sơ đồ use case phân rã 33

Hình 2.5 Sơ đồ use case viên chức 34

Hình 2.6 Sơ đồ hoạt động nhập hồ sơ công chức viên chức 60

Hình 2.7 Sơ đồ hoạt động cập nhật hồ sơ công chức viên chức 61

Hình 2.8 Sơ đồ hoạt động xóa hồ sơ công chức viên chức 62

Hình 2.9 Sơ đồ tuần tự thêm mới hồ sơ công chức 63

Hình 2.10 Sơ đồ tuần tự cập nhật hồ sơ công chức 64

Hình 2.11 Sơ đồ tuần tự xóa hồ sơ công chức 65

Hình 2.12 Sơ đồ lớp công chức viên chức 66

Hình 2.13 Sơ đồ lớp công chức viên chức tiếp theo 67

Hình 2.14 Lược đồ cơ sở dữ liệu công chức viên chức 68

Hình 2.15 Lược đồ cơ sở dữ liệu công chức viên chức tiếp theo 69

Hình 3.1 Giao diện sơ lược lý lịch 70

Hình 3.2 Giao diện đặc điểm lịch sử bản thân 71

Hình 3.3 Giao diện quan hệ gia đình 71

Hình 3.4 Giao diện danh sách công chức 72

Hình 3.5 Giao diện danh sách người đứng đầu 72

Hình 3.6 Giao diện báo cáo tổng hợp viên chức 73

Hình 3.7 Giao diện báo cáo danh sách viên chức 73

Trang 10

I Đặt vấn đề

Ngày nay, công nghệ thông tin đang có những bước phát triển tuyệt vời và nhảy vọt Đặc biệt là khả năng áp dụng công nghệ thông tin để xây dựng nên những hệ thống quản lý hiệu quả, hoạt động đáng tin cậy

Một thành quả lớn của các hệ thống quản lý ứng dụng công nghệ thông tin là khẳ năng hoạt động vững chắc, bền bỉ Những hệ thống quản lý thường ít xảy ra hỏng hóc, đồng thời các qui tắc quản lý được những hệ thống này tuân thủ chặt chẽ và tiết kiệm sức lao động của con người Nhận thức được ý nghĩa và tầm quan trọng trong công cuộc thực hiện tin học hóa đời sống, những hệ thống tin học quản lý ra đời và được ứng dụng ngày càng phổ biến

Sở Giáo dục và Đào tạo là cơ quan chuyên môn thuộc Ủy ban nhân tỉnh, tham mưu giúp Ủy ban nhân tỉnh thực hiện chức năng quản lý nhà nước về Giáo dục và Đào tạo, chịu trách nhiệm trước Ủy ban nhân tỉnh, Bộ Giáo dục và Đào tạo trong phạm vi toàn tỉnh về lĩnh vực: Giáo dục mầm non; giáo dục phổ thông; giáo dục chuyên nghiệp; giáo dục chính quy, giáo dục không chính quy; công tác phổ cập và các loại hình trường, lớp đào tạo: Công lập, ngoài công lập trong hệ thống giáo dục quốc dân; thực hiện một số nhiệm vụ, quyền hạn theo sự ủy quyền của Ủy ban nhân dân tỉnh Sở Giáo dục và Đào tạo chịu sự quản lý về tổ chức, biên chế và công tác của Ủy ban nhân dân tỉnh; đồng thời chịu sự chỉ đạo, hướng dẫn, kiểm tra về chuyên môn, nghiệp vụ của Bộ Giáo dục và Đào tạo

Với nhiệm vụ đó thì Sở Giáo dục và Đào tạo tỉnh Quảng Nam quản lý một số lượng lớn về nguồn lực bao gồm công chức, viên chức và hợp đồng lao động mà chủ yếu là nguồn lực về công chức và viên chức Mà hai nguồn lực này lại được quản lý của Sở Nội vụ nên việc báo cáo theo định kỳ về số lượng công chức, viên chức và người đứng đầu trong các đơn vị sự nghiệp công lập cũng gặp rất nhiều khó khăn, tốn kém về thời gian và công sức của con người Xuất phát từ nhu cầu thực tế đó em chọn đề tài

Trang 11

“Nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam”

II Mục đích và ý nghĩa của đề tài

- Thống nhất và tin học hóa quy trình quản lý CCVC

- Nâng cao hiệu quả ứng dụng CNTT

- Quản lý chặt chẽ, kịp thời các biến động về nhân sự

- Cung cấp đầy đủ tổng hợp, chi tiết thông tin về công chức và viên chức

- Đáp ứng nhanh chóng nhu cầu báo cáo, thống kê theo các biểu mẫu, báo cáo về quản lý CCVC theo các quy định của Bộ Nội vụ, Sơ Nội Vụ tỉnh Quảng Nam

- Tổ chức quản lý lưu trữ thông tin trên hệ thống vi tính

III Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu: Công chức và viên chức

Phạm vi nghiên cứu: Tại Sở Giáo Dục và Đào Tạo tỉnh Quảng Nam và Trung tâm Giáo Dục Thường xuyên Huyện Tiên Phước

IV Phương pháp nghiên cứu

Thu thập thông tin về công chức và viên chức trong Sở Giáo Dục và Đào Tạo tỉnh Quảng Nam và Trung tâm Giáo Dục Thường xuyên Huyện Tiên Phước bao gồm thông tin về phần lý lịch, các biểu mẫu báo cáo và tìm hiểu về quy trình quản lý công chức

và viên chức

V Ý nghĩa khoa học và thực tiển của đề tài

Việc Xây dựng thành công đề tài này có ý nghĩa rất quan trọng đó là: Quản lý công chức và viên chức một cách chặt chẽ và khoa học hơn Bên cạnh đó còn giúp cho lãnh đạo sở Giáo Dục và Đào tạo, lãnh đạo sở Nội vụ, lãnh đạo UBND tỉnh Nắm bắt được tình hình thực tế về công chức, viên chức từng trường, từng trung tâm, vv thông qua việc báo cáo thống kê

Trang 12

VI Cấu trúc luận văn

Luận văn tốt nghiệp được chia làm 3 chương:

Mở đầu: Giới thiệu sơ lược về tên đề tài, mục đích và ý nghĩa của đề tài

Chương 1 Cơ sở lý thuyết: giới thiệu về Dotnetnuke, aps.net, ajax, UML và Rational Rose

Chương 2 Đặc tả, phân tích và thiết kế hệ thống: Tìm hiểu về quy trình quản lý công chức và viên chức, từ đó xây dựng các chức năng của hệ thống

Chương 3 Xây dựng chương trình và kết quả minh họa: Cài đặt các module tiêu biểu và kết quả minh họa

Kết luận: Kết quả đạt được và hướng phát triển trong tương lai

Trang 13

CƠ SỞ LÝ THU YẾT

I.1 Giới thiệu về DotNetNuke

DotNetNuke là một hệ thống quản lý nội dung mã nguồn mở viết bằng ngôn ngữ lập trình VB.NET trên nền tảng ASP.NET Đây là một hệ thống mở, tùy biến dựa trên Skin và Module DotNetNuke có thể được sử dụng để tạo các trang web cộng đồng một cách dễ dàng và nhanh chóng DNN được đánh giá là sản phẩm viết bằng VB.NET hay nhất năm 2003 do tạp chí VB magazine bình chọn Dotnetnuke được xây dựng trên nền công nghệ NET, hệ quản trị cơ sở dữ liệu có thể là MS SQL server hoặc Oracle .Net là công nghệ phát triển Web do Microsoft xây dựng, và là công nghệ phát triển các ứng dụng Web thương mại phổ biến nhất hiện nay Đây là công nghệ mũi nhọn của Microsoft và có nhiều ưu điểm nổi bật Ngoài ra, việc phát triển Web theo công nghệ này giúp bạn tránh được những rủi ro về nhân lực trong phát triển tiếp theo và chỉnh sửa hệ thống vì lập trình với NET là rất phổ biến hiện nay Dưới đấy là một số các tính năng ưu việt của Công nghệ NET: Một trong những công nghệ mới, đang thịnh hành, rất phát triển và có nhiều ưu điểm

- Quản lý nội dung trực quan: Với ADMIN ACCOUNT, người quản trị có thể

chỉnh sửa bất cứ thông tin nào của hệ thống Website từ một kết nối Internet Công cụ Richtext Editor mới nhất, nhiều tính năng, cho phép người quản trị, biên tập có thể dễ dàng tạo ra các trang thông tin sống động, linh hoạt

- Hệ thống MENU động hoàn chỉnh, tự động cập nhật theo cấu trúc Website, có

khả năng thêm bớt, điều chỉnh bất kỳ trang WEB nào Có thể thay đổi cấu trúc website (Sitemap) ngay trên web

- Quản lý nhiều giao diện: Giao diện độc lập, được phát triển riêng, được cung

cấp công cụ quản lý nên hệ thống có thể thay đổi giao diện dễ dàng, và sử dụng đồng thời nhiều giao diện

Trang 14

- Phân quyền chặt chẽ: Phân quyền truy xuất trên từng trang, từng module

cho từng nhóm thành viên Có thể tạo ra nhiều nhóm thành viên khác nhau, mỗi nhóm

có mỗi quyền truy xuất riêng

- Quản lý Files/Folder mạnh mẽ: Có công cụ quản lý việc Upload files, Quản lý,

phân quyền truy xuất các file, tài nguyên trên hệ thống qua giao diện Web của Portal

- Dung lượng nhỏ gọn, dễ vận hành và cài đặt: Chỉ cần khoảng 50MB đĩa cứng là

đã có thể chạy được Portal này cho một doanh nghiệp vừa và nhỏ Được phát triển trên môi trường Windows nên người quản trị dễ dàng thao tác trong quá trình cài đặt

và vận hành

- Hỗ trợ cơ chế Plug and Play (PNP) đối với các module Chỉ cần phát triển mới

một module theo chuẩn của Portal, đóng gói, upload lên server là hệ thống tự nhận và đã có thể chạy được ngay, không cần phải tạm dừng website trong thời gian cập nhật

- Dễ dàng nâng cấp và cập nhật thêm các chức năng mới: Khi muốn thêm hay

chỉnh sửa các chức năng trên Portal, chỉ cần chỉnh sửa hoặc phát triển các chức năng theo chuẩn của Portal, sau đó upload lên Portal và chạy (không phải xây dựng lại hoàn toàn từ đầu -> giảm được thời gian và chi phí)

I.2 Trang và cách tạo trang

I.2.1 Tổng quan về trang

Trang web của bạn được tạo bởi các Trang có hiển thị thông tin cho những người vào đó xem Hầu hết những trang này thì đều có thể click những mục trên Menu giúp cho người xem dễ dàng tìm kiếm

I.2.2 Tạo một trang web mới

Cách đơn giản nhất để tạo một trang mới trên website của bạn là dùng nút New ở những phần chức năng trang của Control Panel (nằm ở đầu trang)

Trang 15

Các bước tạo trang

1 Click chuột vào nút New trên Control Panel Trang tiếp theo nó sẽ chỉ rõ cho

bạn thấy cách thiết lập một trang mới mà bạn muốn tạo

2 Đặt con trỏ chuột vào phần Tên Trang và đánh tên trang của bạn vào Nó sẽ cho người truy cập thấy trên Menu của website

page

3 Đặt con trỏ ở phần Tiêu đề trang và đánh tiêu đề cho trang của bạn Nó sẽ cho người truy cập thấy trên thanh tiêu đề của phần duyệt web khi mà họ xem trang của bạn

Trang 16

4 Chọn người có thể nhìn thấy trang của bạn và người có thể thay đổi phần settings Quản trị viên là người có thể nhìn thấy trang của bạn và có thể thay đổi Settings Nhưng bạn có thể chọn thêm người có thể thấy và thay đổi

chúng Nếu như trang mới của bạn có những thông tin riêng, bạn chỉ muốn những người truy cập đã đăng nhập vào website của bạn mới có thể nhìn thấy được Bạn

check vào những phần chi danh cho những người xem hoặc sửa chữa (thay đổi

setting) cho trang mới của bạn.(Những người sử dụng không xác thực là những người truy cập vào mà không đăng nhập)

5 Chọn nơi mà phần menu của trang web có thể liệt kê ra Theo mặc định, trang

mới của bạn sẽ xuất hiện trên menu như trang “Home” Nếu như bạn thích nó xuất

hiện ở hộp menu rơi xuống, bạn có thể chọn trang mà bạn muốn cho nó xuất hiện ở dưới

6 Khi bạn hoàn thành xong những bước trên, bạn di chuyển đến phần dưới trang

và nhấp vào Cập nhật để lưu lại những thay đổi của bạn!

I.3 Module

I.3.1 Tổng quan về Module

Website được tạo từ 1 hoặc nhiều trang Nhưng những trang đó không hiển thị thông tin để người truy cập vào xem Đó chính là vai trò của Modules Modulescung cấp những một vài thông tin hoặc chức năng của website mà đó là cách kết hợp duy nhất để làm trang web đặc biệt Modules có thể đơn giản là một đoạn văn bản hoặc hình ảnh, hoặc có thể phức tạp như để tính phí bảo hiểm hoặc thiết thực là nói chuyện trực tuyến

I.3.2 Một số Module của hệ thống

Tài khoản đăng nhập cho phép người sử dụng đăng nhập vào portal của bạn Announcements của nhà sản xuất là danh sách của các đoạn văn bản thông báo

bao gồm tiêu đề và hướng dẫn ngắn gọn

Banner cung cấp cho website những quảng cáo lặt vặt Bạn có thể chọn số

Trang 17

Blog weblog cho quyền người truy cập sử dụng blog

Contacts hiển thị nội dung thông tin cho một nhóm người như là một nhóm đề án Discussion danh sách một nhóm thông điệp được gửi lên cho một chủ đề cụ thể Document hiển thị danh sách các tài liệu, bao gồm các đường liên kết được duyệt

qua hay tải về

Events hiển thị danh sách các sự kiện được đưa lên, bao gồm thời gian và vị trí

Danh sách các sự kiện này có thể được thiết lập để thay phiên nhau hoàn trả trong định dạng lịch biểu

FAQs cho phép bạn quản lý danh sách các câu hỏi thường xuyên và những câu trả

lời của họ

Feedback cho phép những người truy cập gởi những thông điệp đến quản trị viên

của website Nếu như người truy cấp đã đăng nhập vào, tên bạn sẽ tự động

Forum là nơi một nhóm người tạo ra và quản lý thảo luận và đáp lạ của các chủ

đề Điều tiết người sử dụng, các avatar, biều tượng mặt cười và những email thông báo đều được ủng hộ

Gallery hiển thị các album đồ họa và các tập tin đa phương tiện

IFrame là nét đặc biệt của phần duyệt internet Explorer nó cho phép hiển thị nội

dung từ trang web khác trong module của bạn

Image hiển thỉ những image chỉ định Đơn giản là module sẽ đề cập tới những

image có liên quan hoặc URL tuyệt đối, để cho những file image không cần phải trú ngự trong trang web của bạn

Links hiển thị danh sách của các đường siêu liên kết đến bất cứ trang nào, image

hoặc là một file nào trên website của bạn, hoặc đến một tập tin, image hoặc là một trang của website khác

New Feed (RSS) hiển thị những thông tin mới được cung cấp trên trang của bạn

Nó cung cấp cho người truy cập cập nhật được những thông tin mới nhất, những thông tin của đề tài trên bất cứ lãnh vực nào của chủ đề

Search Input có thể hiển thị trên bất cứ trang nào

Tìm kiếm kết quả có thể hiển thị trên bất cứ trang nào

Trang 18

Text/HTML cho phép bạn thiết kế nội dung của một đoạn văn bản, hoặc thêm

html Bao gồm hình ành của tất cả image bạn tải lên

Tải khỏan của người sử dụng module cho phép người đăng ký sử dụng thêm, sửa

chữa và cập nhật thêm những thông tin chi tiết vào User Account Các dịch vụ của hội viên sẽ được quản lý tại đây

User Defined Table cho phép bạn tạo bảng dữ liệu tùy thích cho việc quản lý

danh sách các thông tin Những dữ liệu được sắp xếp theo thứ tự A-Z hoặc Z-A khi click vào tiêu đề từng cột

XML/XSL hiển thị kết quả của sự chuyển đổi XML/XSL Các tập tin XML và

XSL được nhận dạng bởi đường dẫn UNC trong đặc tính xmlsrc và xslsrc của module

I.4 Skin

Skin là phương thức dùng để mô tả cách hiển thị và cách bố trí các trang trên website của bạn Và bạn có thể thay đổi chúng với một vài nhấp chuột đơn giản! Một Skin có thể rất đơn giản hoặc phức tạp Nó có thể cung cấp Menu nằm dọc hay nằm ngang, cung cấp những dạng khác nhau của Container ( như skin cho Module), cung cấp các cách bố trí khác nhau, v v Đó là tùy theo sự thu thập skin của người thiết kế

Skin mặc định của website bạn được quản lý ở trên trang chỉ bị ảnh hường bởi quản trị viên Thiết lập này cung cấp cho bạn toàn bộ website và tất cả các trang

mà bạn tạo ra

II Tổng quan về ASP.NET

II.1 Tìm hiểu về ASP.Net

Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO

Trang 19

(ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả năng sử dụng lại code Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất source code, hạn chế về mặt tốc độ thực hiện Quá trình xử lý Postback khó khăn, …

Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.Net Với ASP.Net, không những không cần đòi hỏi bạn phải biết các tag HTML, thiết kế web, mà nó còn hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây dựng và phát triển ứng dụng Web ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trên nền tảng của Microsoft Net Framework

Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets) Khi Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau đó gởi về cho Client Client nhận kết quả trả về từ Server và hiển thị lên màn hình

ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server (ví dụ: mã lệnh trong trang ASP, ASP.NET) sẽ được biên dịch và thi hành tại Web

Server Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/ JavaScript/ CSS và trả về cho Client Tất cả các xử lý lệnh ASP, ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật lập trình ở phía server

II.2 Những ưu điểm của ASP.Net

ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình mà bạn yêu thích: Visual Basic.Net, J#, C#,…

Trang 20

Trang ASP.Net được biên dịch trước thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP

ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …

ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng

ASP.Net sử dụng phong cách lập trình mới: Code behide Tách code riêng, giao diện riêng  Dễ đọc, dễ quản lý và bảo trì

Kiến trúc lập trình giống ứng dụng trên Windows

Hỗ trợ quản lý trạng thái của các control

Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser

Triển khai cài đặt

o Không cần lock, không cần đăng ký DLL

o Cho phép nhiều hình thức cấu hình ứng dụng

Hỗ trợ quản lý ứng dụng ở mức toàn cục

o Global.aspx có nhiều sự kiện hơn

o Quản lý session trên nhiều Server, không cần Cookies

Trang 21

II.3 Quá trình xử lý tệp tin ASP.Net

Khi Web server nhận được yêu cầu từ phía client, nó sẽ tìm kiếm tập tin được yêu cầu thông qua chuỗi URL được gởi về, sau đó, tiến hành xử lý theo sơ đồ sau:

Hình 1.1 Quá trình xử lý tệp tin ASP.NET

III Ajax

III.1 Tổng quan về AJAX

Vào những năm 90, trên thế giới, khi mà công nghệ “Web động” cho phép các lập trình viên nhanh chóng phát triển các ứng dụng trên nền Web với khả năng tương tác 2 chiều với người sử dụng, nhiều người đã có thể hy vọng rằng đến một lúc nào đó tất cả các ứng dụng mà chúng ta sử dụng sẽ là các ứng dụng Web thay vì các phần mềm chạy độc lập trên các máy tính đơn lẻ (ứng dụng desktop) Quả thật, với sự phát triển chóng mặt của mạng Internet cùng với những ưu điểm của các ứng dụng Web (truy cập tại mọi nơi, không cần nâng cấp nhiều về phía máy sử dụng,…), tương lai của các phần mềm chắc chắn sẽ gắn chặt với các ứng dụng Web, nếu không muốn nói là có thể

Trang 22

sẽ bị thay thế Tuy nhiên, cho đến giờ, hy vọng đó vẫn chưa được đáp ứng một cách triệt để bởi một số điểm đặc trưng của ứng dụng Web lại chính là những giới hạn tưởng chừng như không thể vượt qua nổi Đó chính là cách thức mà người dùng và ứng dụng Web tương tác với nhau

Khác với các phần mềm chạy độc lập ở máy khách (có khả năng tương tác gần như tức thời với người dùng), các ứng dụng Web bị giới hạn bởi chính nguyên lý hoạt động của nó: tất cả các giao dịch phải thực hiện thông qua phương thức giao dịch HTTP (HyperText Transport Protocol - Giao thức truyền tải qua các siêu liên kết) trong một mô hình có tên Client/Server Bất kỳ một tác động nào của người dùng lên ứng dụng Web thông qua trình duyệt đều cần thời gian gửi về Server và sau khi xử lý, Server sẽ trả về những thông tin người dùng mong đợi Như vậy, độ trễ trong trường hợp này chính là điều mà các ứng dụng Web khó có thể sánh với như các phần mềm chạy trên máy tính đơn lẻ (đặc biệt là trong các ứng dụng như Bản đồ trực tuyến, soạn thảo văn bản trực tuyến, sát hạch trực tuyến có tính thời gian làm bài…)

Thuật ngữ AJAX được xuất hiện vào ngày 18/2/2005 trong một bài báo có tên AJAX : A New Approach to Web Applications của tác giả Jesse James Garrett, công

ty AdapativePath Ông định nghĩa và tóm gọn lại từ cụm từ “Asynchronous JavaScript+CSS+DOM+XMLHttpRequest” Ngay sau đó thuật ngữ AJAX được phổ biến cực kỳ nhanh chóng trong cộng đồng phát triển Web và cho đến nay nó là một trong những từ khóa được tìm kiếm nhiều nhất trên Internet

Nội dung định nghĩa của Garrett về AJAX như sau:

AJAX không phải là một công nghệ Nó là tập hợp của nhiều công nghệ với thế mạnh của riêng mình để tạo thành một sức mạnh mới AJAX bao gồm:

- Thể hiện Web theo tiêu chuẩn XHTML và CSS;

- Nâng cao tính năng động và tương tác bằng DOM (Document Object Model);

- Trao đổi và xử lý dữ liệu bằng XML và XSLT;

- Truy cập dữ liệu theo kiểu không đồng bộ (asynchronous) bằng XMLHttpRequest

- Tất cả các kỹ thuật trên được liên kết lại với nhau bằng JavaScript

Trang 23

Trong các thành phần cấu thành trên, điểm mấu chốt của AJAX nằm ở XMLHttpRequest Đây là một kỹ thuật do Microsoft khởi xướng và tích hợp lần đầu tiên vào IE5 dưới dạng một ActiveX Mozilla tích hợp công nghệ này vào Mozilla 1.0/Netscape 6 sau đó (đương nhiên toàn bộ các version sau này của Firefox đều có XMLHttpRequest) và hiện nay đã có trong trình duyệt Safari 1.2 (Apple) và Opera 7 trở lên

Một số nét khác biệt cơ bản giữa các ứng dụng Web truyền thống và ứng dụng Web

sử dụng AJAX:

Trong các ứng dụng Web truyền thống, khi người dùng có một cần thay đổi dữ liệu trên trang Web, yêu cầu thay đổi được gửi về server dưới dạng HTTP request (hay còn gọi postback), server sẽ xử lý yêu cầu này và gửi trả lại trang HTML khác thay thế trang cũ Qui trình này được mô tả là nhấp-chờ và tải lại (click-wait-and-refresh): ví

dụ người dùng sau khi nhấn một nút “Submit” trên trang Web phải chờ cho đến khi server xử lý xong mới có thể tiếp tục công việc Ngược lại, trong các ứng dụng AJAX, người dùng có thể nhấn chuột, gõ phím liên tục mà không cần chờ đợi Nội dung tương ứng với từng hành động của người dùng sẽ gần như ngay lập tức được hiển thị vào vị trí cần thiết (đáp ứng gần như tức thời) trong khi trang Web không cần phải làm tươi lại toàn bộ nội dụng Để tìm hiểu kỹ hơn điều này, ta sẽ xem xét 2 mô hình ứng dụng, Mô hình cổ điển và Mô hình AJAX-based:

Mô hình cổ điển của một ứng dụng Web

Hình 2.1 Mô hình cổ điển của một ứng dụng Web

Trang 24

Mô hình ứng dụng Web sử dụng AJAX

Hình 2.2 Mô hình ứng dụng Web sử dụng AJAX

Rõ ràng điểm khác biệt là thay vì phải tải cả trang Web thì với AJAX trình duyệt phía người dùng chỉ cần tải về phần của trang Web mà người dùng muốn thay đổi Điều này giúp cho ứng dụng Web phản hồi nhanh hơn, thông minh hơn Ngoài ra, điểm đặc biệt quan trọng trong công nghệ AJAX nằm ở chữ A (Asynchronous) – không đồng bộ – tức là người dùng cứ gửi yêu cầu của mình tới server và quay lại với công việc của mình mà không cần chờ trả lời Khi nào server xử lý xong yêu cầu của phía người dùng, nó sẽ báo hiệu và người dùng có thể “thu nhận lấy” để thể hiện những thay đổi cần thiết Vậy tất cả cơ chế này hoạt động thực sự thế nào? AJAX cho phép tạo ra một AJAX Engine nằm giữa giao tiếp này Khi đó, các yêu cầu gửi (resquest) và nhận (response) do AJAX

Engine thực hiện Thay vì trả dữ liệu dưới dạng HTML và CSS trực tiếp cho trình duyệt, Web server có thể gửi trả dữ liệu dạng XML và AJAX Engine sẽ tiếp nhận, phân tách và chuyển hóa thành XHTML + CSS cho trình duyệt hiển thị Việc này được thực hiện trên client nên giảm tải rất nhiều cho server, đồng thời người sử dụng cảm thấy kết quả xử lý được hiển thị tức thì mà không cần nạp lại trang Mặt khác, sự kết hợp của các công nghệ Web như CSS và XHTML làm cho việc trình bày giao diện

Trang 25

trang Web tốt hơn nhiều và giảm đáng kể dung lượng trang phải nạp Đây là những lợi ích hết sức thiết thực mà AJAX đem lại

III.2 Các công nghệ trong AJAX

III.2.1 Javascript

Javascript là một ngôn ngữ thông dịch, chương trình nguồn của nó được nhúng hoặc tích hợp vào tập tin HTML chuẩn Khi file được load trong Browser, Browser sẽ thông dịch các Script và thực hiện các công việc xác định Chương trình nguồn JavaScript được thông dịch trong trang HTML sau khi toàn bộ trang được load nhưng trước khi trang được hiển thị

Javascript là một ngôn ngữ có đặc tính:

- Đơn giản

- Động

- Hướng đối tượng

Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động

và một số hiệu ứng hình ảnh thông qua DOM JavaScript được dùng để thực hiện một

số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi hình ảnh, Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ tiếng Việt giống như bộ gõ hiện đang sử dụng trên trang Wikipedia tiếng Việt Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt

Các thành phần cú pháp chính:

Biến: Trước khi sử dụng biến trong JavaScript, lập trình viên không nhất thiết phải

khai báo biến Có hai cách để định nghĩa biến trong JavaScript Một là sử dụng cú pháp var để khai báo biến:

var tên_biến;

Hoặc chỉ việc gán cho biến một gía trị để sử dụng biến đó:

tên_biến =giá_trị;

Trang 26

Biến được định nghĩa ngoài tất cả các hàm hoặc được sử dụng mà không khai báo với cú pháp var sẽ được coi là biến toàn cục, những biến này có thể sử dụng trên toàn trang web Biến được khai báo với var bên trong một hàm là biến cục bộ của hàm đó

và chỉ có thể sử dụng được bên trong hàm đó

đối tượng đại số Bool (Boolean), đối tượng ngày tháng (Date), đối tượng hàm (Function), đối tượng toán học (Math), đối tượng số (Number), đối tượng đối tượng (Object), đối tượng biểu thức tìm kiếm (RegExp) và đối tượng chuỗi ký tự (String) Các đối tượng khác là đối tượng thuộc phần mềm chủ (phần mềm áp dụng JavaScript - thường là trình duyệt)

Mảng: JavaScript cũng cho phép làm việc với mảng giống như trong C

Một số ví dụ về mảng:

<script language="JavaScript">

var test = new Array(10); // Tạo một mảng 10 chỉ mục var test2 = new Array(0,1,2,,3); // Tạo một mảng với bốn giá trị và 5 chỉ mục

var test3 = new Array();

test3["1"] = 123; // Hoàn toàn đúng cú pháp

</script>

Các cấu trúc điều khiển, các vòng lặp: Giống như các ngôn ngữ lập trình

khác, ví dụ ngôn ngữ C,…

Ngoài ra JavaScript còn cho phép làm việc với các sự kiện chuột, bàn phím

III.2.2 Cascading Style Sheets (CSS)

CSSlà một ngôn ngữ quy định cách trình bày cho các tài liệu viết bằng HTML, XHTML, XML, SVG, hay UML,…

CSS cung cấp hàng trăm thuộc tính trình bày dành cho các đối tượng với sự sáng tạo cao trong kết hợp các thuộc tính giúp mang lại hiệu quả Sử dụng các mã định

Trang 27

dạng trực tiếp trong HTML tốn hao nhiều thời gian thiết kế cũng như dung lượng lưu trữ trên đĩa cứng Trong khi đó CSS đưa ra phương thức “tờ mẫu ngoại” giúp áp dụng một khuôn mẫu chuẩn từ một file CSS ở ngoài Nó thật sự có hiệu quả đồng bộ khi tạo một website có hàng trăm trang và thực sự thuận tiện khi muốn thay đổi một thuộc tính trình bày nào đó

Chèn ngay trong mã thẻ của HTML:

<p style="color: sienna; margin-left: 20px">Text</p>

Sử dụng file CSS được định nghĩa trong file riêng:

Trang 28

Property là thuộc tính của Selector ví dụ như: color, font-size, background,… Value là các giá trị cho thuộc tính

III.2.3 XML

XML là chữ viết tắt của eXtensible Markup Language (Ngôn ngữ đánh dấu mở rộng) XML cũng là một ngôn ngữ đánh dấu giống như HTML Cú pháp của XML thì cũng gần giống với cú pháp của HTML, nghĩa là cũng dùng tag mở (<tagname>) và tag đóng (</tagname>) để đánh dấu một đoạn thông tin Ngôn ngữ đánh dấu không phải là ngôn ngữ lập trình, nó được dùng để thêm chức năng/tính chất cho một số thông tin nào đó để cho thông tin đó được thể hiện hay có vai trò một cách khác với những thông tin không được đánh dấu

Ví dụ trong HTML: Xin chào tôi tên là <b>Maika</b>

Thì khi in ra sẽ là: Xin chào tôi tên là Maika

Ở đây ta thấy là chữ Maika đã được đánh dấu bằng cặp tag <b>, </b> để được hiển thị đậm lên so với các ký tự khác Tuy nhiên, XML khác với các ngôn ngữ khác ở chỗ XML không đơn thuần chỉ là một ngôn ngữ đánh dấu mà nói cho chính xác, XML là một ngôn ngữ dùng để định nghĩa ngôn ngữ Bởi vì XML cho phép ta tự định nghĩa cách thể hiện văn bản bằng các tag do người dùng quy định Chính nhờ những tag này

mà chúng ta có thể tự định nghĩa bất kỳ một thông tin nào trên thế giới, không nhất thiết phải liên quan đến IT mà nó có thể là Toán học, Kinh tế, Âm nhạc,

XML được sinh ra nhằm những mục đích chính sau:

- Tạo ra một tiêu chuẩn thống nhất để truyền và trao đổi thông tin với nhau qua Internet bởi các web services

- Thông tin XML được truyền qua Internet bằng các protocol như HTTP hay SOAP

- XML hỗ trợ hầu hết các ứng dụng Trong khi HTML chỉ được dùng hạn chế trên trang web mà thôi, không dùng được

bởi các ứng dụng

Trang 29

- Tạo thuận lợi cho các trình ứng dụng đọc và xử lý thông tin dưới dạng XML, bởi vì thật chất XML chỉ là một file text đơn thuần XML có thể được soạn thảo bằng bất kỳ text-editor nào như Notepad chẳng hạn

Cấu trúc của một file xml

Ví dụ một file xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<!DOCTYPE books SYSTEM="books.dtd">

Trang 30

</books>

Một file xml thông thường sẽ bao gồm các phần như sau:

Dòng khai báo XML

<?xml version=" " encoding=" " standalone="yes|no"?>

Trong ví dụ trên, chúng ta dùng version 1.0 vì đây là phiên bản hiện hành của xml Encoding để chỉ ra cái character encoding của file xml, tương tự như tag meta của HTML standalone để cho các XML parser (chương trình đọc và phân tích file xml) biết rằng file xml này là tự nó tồn tại một mình hay là cần phải đi kèm với một file dtd nào khác Trong 3 thuộc tính trên thì chỉ có version là bắt buộc

Dòng khai báo loại văn bản

<!DOCTYPE root-tag SYSTEM "file.dtd" (PUBLIC "name" "URI")>

DOCTYPE phải viết Sau chữ DOCTYPE sẽ là root-tag, đây cũng chính là cái tag đầu tiên của file xml Trong ví dụ trên, root-tag books trong phần khai báo DOCTYPE là trùng với tag <books> ở dòng thứ 3, là tag đầu tiên của file xml Tiếp theo, ta có thể chọn SYSTEM hoặc PUBLIC Trước tiên, cần hiểu một file dtd (Document Type Declaration) đóng vai trò như là một template của file xml Trong file dtd này, chúng ta sẽ quy định cấu trúc của file xml đang xét, chẳng hạn như là có những tag nào? mỗi tag sẽ có những thuộc tính nào? các tag sẽ lồng nhau ra sao? v.v… Nếu chọn SYSTEM thì có nghĩa là chỉ dùng file.dtd cho riêng file xml này thôi Còn nếu dùng PUBLIC thì nghĩa là dùng một cái file dtd của người khác chia sẻ Khi đó phải khai báo tên của tổ chức sở hữu file.dtd này và địa chỉ URI trỏ tới cái file.dtd Lưu ý: Nếu không khai báo dòng <!DOCTYPE > thì XML parser sẽ hiểu là file xml này không có template, tự định nghĩa

Các nhân tố

Một nhân tố được định nghĩa bao gồm một cặp tag (đóng và mở) và tất cả những gì nằm trong cặp tag đó Vì dụ như trên, <books> là một nhân tố vì nó có tag mở

<books>, tag đóng </books> Tương tự <book> cũng là một nhân tố, <price>,

<author>, cũng vậy trường hợp của <blank/> được gọi là nhân tố rỗng vì nó không

có nội dung gì cả Đối với một nhân tố rỗng, có 2 cách thể hiện: hoặc dùng một cặp

Trang 31

nhân tố nào trong XML đều phải được đóng lại Cho nên nếu ta ghi <blank> không là sai cú pháp

Thuộc tính:

Thuộc tính được lồng trong tag mở đầu của một nhân tố, có vai trò bổ sung thông tin cho nhân tố đó Trong ví dụ trên, id là thuộc tính của nhân tố <book>, giúp phân biệt các cuốn sách khác nhau Lưu ý: không giống như HTML, các giá trị của thuộc tính trong XML phải được bao bởi cặp nháy kép (“”)

Thực thể:

Thực thể cho phép chèn những đoạn văn bản hay lặp lại trong file xml bằng cách thay thế chúng bằng những thực thể Ví dụ nếu ta khai báo (đặt dòng khai báo này sau dòng <!DOCTYPE > nhưng trước cái tag đầu tiên của file xml)

<!ENTITY &copyright; "Copyright by Haiau">

Thì mỗi khi ta ghi &copyright; thì trình biên dịch sẽ thay thế nó bằng câu

"Copyright by Haiau" Lưu ý là tên của ENTITY phải bắt đầu bằng dấu & và kết thúc bằng dấu chấm phẩy ; Có 5 cái entity được định nghĩa sẵn trong XML là:

&apos; : ' (dấu nháy đơn)

&amp; : & (dấu và)

&gt; : > (dấu lớn hơn)

&lt; : < (dấu nhỏ hơn)

&quot; : " (dấu nhấy kép)

Như ví dụ trên ghi "HTML &amp; XML how to" thì khi biên dịch ra sẽ thành " HTML & XML how to "

Một cái khác nữa là CDATA Đôi khi, trong phần text chúng ta có những cái tag nhưng chúng ta không muốn trình biên dịch XML hiểu rằng nó là một tag thuộc file

Trang 32

.xml mà chỉ là văn bản đơn thuần Khi đó, ta phải để phần text của chúng ta trong tag CDATA, cú pháp như sau:

<![CDATA[ text ]]>

ví dụ ta có thể có đoạn text như sau:

<![CDATA[ <script> document.write("hello world") </script> ]]>

Các ràng buộc trong XML

- Các nhân tố phải được lồng vào nhau một cách hợp lý, không chồng chất lên nhau Một nhân tố con phải hoàn toàn nằm trong nhân tố cha

- Các giá trị của thuộc tính phải được bao bọc bởi cặp ngoặc kép

- Bất kỳ nhân tố nào cũng có tag mở và tag đóng Nếu nhân tố đó rỗng (không

có text) thì phải dùng dạng rút gọn (<emptytag/>)

- Chỉ có duy nhất một nhân tố là cha của tất cả các nhân tố khác và nhân tố này gọi là nhân tố văn bản

- Trong mỗi nhân tố, một thuộc tính nếu có chỉ được xuất hiện một lần duy nhất

- XML phân biệt chữ hoa với chữ thường đối với tên của các nhân tố, thuộc tính, Do đó, nên hoặc dùng chữ in hết, hoặc dùng chữ thường hết đối với các nhân

tố, thuộc tính, trong file xml (trừ các câu lệnh khai báo như ENTITY, DOCTYPE, CDATA)

III.2.4 Đối tượng XMLHttpRequest

XMLHttpRequest là yếu tố trọng tâm trong AJAX Đối tượng này cung cấp các chức năng trao đổi dữ liệu bất đồng bộ giữa client và server

Cần tạo một đối tượng XMLHttpRequest bằng JavaScript trước khi sử dụng đối tượng này để gửi yêu cầu và nhận các trả lời từ server XMLHttpRequest chưa là chuẩn của W3C, vì thế phải dùng JavaScript theo nhiều cách khác nhau đối với các trình duyệt khác nhau để tạo một thể hiện của của XMLHttpRequest Internet Explorer thực thi XMLHttpRequest như một đối tượng ActiveX, và các trình duyệt khác như Firefox, Safari, và Opera thực thi nó như một đối tượng JavaScript nguyên thủy Các tạo đối tượng XMLHttpRequest:

Trang 33

ra các thể hiện của đối tượng XMLHttpRequest mà không quan tâm tới trình duyệt

Ba thuộc tính quan trọng của XMLHttpRequest

- Thuộc tính onreadystatechange: Sau khi gửi yêu cầu tới server ta cần một một

hàm nào đó để nhận dữ liệu trả về từ server Thuộc tính onreadystatechange trỏ tới một hàm mà sẽ thực hiện việc xử lý dữ liệu trả về từ server Hàm này sẽ được gọi một cách tự động

xmlhttp.onreadystatechange=function() {

// Các câu lệnh để xử lý dữ liệu trả về }

- Thuộc tính readyState: Lưu trữ trạng thái của dữ liệu trả về từ server, mỗi lần

thuộc tính này thay đổi giá trị thì hàm onreadystatechange sẽ được thực thi Các giá trị của readyState:

0: Yêu cầu chưa được khởi tạo

1: Yêu cầu đã được thiết lập

2: Yêu cầu đã được gửi đi

3: Yêu cầu đang được xử lý

4: Yêu cầu đã hoàn thành

Trang 34

Thêm câu lệnh if vào hàm onreadystatechange để kiểm tra xem server đã xử lý xong và gửi trả lời về chưa:

Các bước cơ bản để gửi request dùng đối tượng XMLHttpRequest là:

1 Dùng một tham chiếu tới một thể hiện của XMLHttpRequest, có thể bằng cách tạo mới hay truy cập vào một biến có thể hiện của XMLHttpRequest

2 Khai báo cho đối tượng XMLHttpRequest về hàm sẽ xử lí các trạng thái của XMLHttpRequest Ta hoàn thành việc này bằng cách thiết lập thuộc tính onreadystatechange của đối tượng với một con trỏ về một hàm JavaScript

3 Gán các thuộc tính cho request sử dụng phương thức open() của đối tượng XMLHttpRequest Phương thức open() có ba tham số: một biến string cho biết phương thức dùng là GET hay POST, một biến string biểu diễn địa chỉ URL của tài nguyên, một biến boolean chỉ báo request sẽ là bất đồng bộ

4 Gửi request tới server sử dụng phương thức send()

Ví dụ:

xmlhttp.open("GET","sample.php?text=testtesttest",true);

Trang 35

xmlhttp.send(null);

IV SQL Server

IV.1 Giới thiệu về SQL Server 2005

SQL Server 2005 là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi

dữ liệu giữa Client computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS

SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server 2005 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server

Các phiên bản của SQL Server 2005:

- Enterprise: Hỗ trợ không giới hạn số lượng CPU và kích thước Database Hỗ trợ không giới hạn RAM (nhưng tùy thuộc vào kích thước RAM tối đa mà HĐH hỗ trợ) và các hệ thống 64bit

Standard: Tương tự như bản Enterprise nhưng chỉ hỗ trợ 4 CPU Ngoài ra phiên bản này cũng không được trang bị một số tính năng cao cấp khác

Workgroup: Tương tự bản Standard nhưng chỉ hỗ trợ 2 CPU và tối đa 3GB RAM Express: Bản miễn phí, hỗ trợ tối đa 1CPU, 1GB RAM và kích thước Database giới hạn trong 4GB

IV.2 Ngôn ngữ truy vấn cấu trúc(SQL)

IV.2.1 SQL là ngôn ngữ của cơ sở dữ liệu quan hệ

SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc), là công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trong các cơ sở

Trang 36

dữ liệu SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ

Khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trong những chức năng quan trọng của nó SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:

trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu

Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện

các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu

tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu

Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ

liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống

Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị

cơ sở dữ liệu

Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java, song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu

Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java, SQL là ngôn ngữ

có tính khai báo Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế nào Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng

IV.2.2 Vai trò của SQL

Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không thể tồn tại độc lập SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ

Trang 37

quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng

và hệ quản trị cơ sở dữ liệu

Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò như sau:

SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng

thông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở

dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu

SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các câu

lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng dụng giao tiếp với cơ sở dữ liệu

SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ sở dữ

liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ liệu, điều khiển truy cập cơ sở dữ liệu,

SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server): Trong các hệ thống

cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữa các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu

SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các máy

chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu

SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ liệu

phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng, gởi và nhận các yêu cầu truy xuất dữ liệu với nhau

SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong một

hệ thống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác nhau, SQL thường được sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữ liệu

IV.2.3 Giới thiệu sơ lược về Transact-SQL

Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) và ANSI (American National Standards Institute) được sử dụng trong SQL Server khác với P-SQL (Procedural-

Trang 38

SQL) dùng trong Oracle SQL chuẩn bao gồm khoảng 40 câu lệnh Trong các hệ quản trị cơ sở dữ liệu khác nhau, mặc dù các câu lệnh đều có cùng dạng và cùng mục đích

sử dụng song mỗi một hệ quản trị cơ sở dữ liệu có thể có một số thay đổi nào đó Điều này đôi khi dẫn đến cú pháp chi tiết của các câu lệnh có thể sẽ khác nhau trong các hệ quản trị cơ cơ sở dữ liệu khác nhau

T-SQL được chia làm 3 nhóm:

Ngôn ngữ định nghĩa dữ liệu: Đây là những lệnh dùng để tạo (create), thay

đổi (alter) hay xóa (drop) các đối tượng trong CSDL Các câu lệnh DDL thường

có dạng:

Create object

Alter object

Drop object

Trong đó object có thể là: table, view, storedprocedure, function, trigger…

Ngôn ngữ điều khiển dữ liệu: Đây là các lệnh quản lý quyền truy cập lên các

object (table, view, storedprocedure…) Bao gồm: Grant, Deny, Revoke

Ngôn ngữ thao tác dữ liệu: Đây là các lệnh phổ biến dùng để xử lý dữ liệu Bao

gồm: Select, Insert, Update, Delete

Trang 39

Sở Giáo dục và Đào tạo có tư cách pháp nhân, có con dấu và tài khoản riêng; chịu

sự chỉ đạo, quản lý về tổ chức, biên chế và công tác của Uỷ ban nhân dân tỉnh, đồng thời chịu sự chỉ đạo, hướng dẫn kiểm tra, thanh tra về chuyên môn, nghiệp vụ của Bộ Giáo dục và Đào tạo

I.2 Cơ cấu tổ chức

a) Các tổ chức tham mưu, tổng hợp và chuyên môn, nghiệp vụ (gọi tắt là Phòng chuyên môn, nghiệp vụ) thuộc Sở Giáo dục và Đào tạo tỉnh:

Trang 40

- Phòng Giáo dục Dân tộc

- Phòng Giáo dục Thường xuyên - Chuyên nghiệp

- Phòng Khảo thí và Kiểm định chất lượng giáo dục

b) Đơn vị sự nghiệp:

- Trường Trung học phổ thông công lập: Huỳnh Ngọc Huệ, Chu Văn An, Đỗ Đăng Tuyển, Nguyễn Duy Hiệu, Hoàng Diệu, Phạm Phú Thứ, Lương Thế Vinh, Trần Quý Cáp, Sào Nam, Lê Hồng Phong, Quế Sơn, Nguyễn Văn Cừ, Tiểu La, Nguyễn Thái Bình, Lý Tự Trọng, Trần Cao Vân, Lê Quý Đôn, Trần Văn Dư, Nguyễn Dục, Núi Thành, Cao Bá Quát, Huỳnh Thúc Kháng, Phan Châu Trinh, Năm Trà My, Bắc Trà

My, Hiệp Đức, Nông Sơn, Khâm Đức, Nam Giang, Quang Trung, Tây Giang, chuyên Nguyễn Bỉnh Khiêm và Trường Phổ thông Dân tộc Nội trú

- Trường Trung học phổ thông bán công: Đại Lộc, Nguyễn Khuyến, Nguyễn Trãi, Nguyễn Hiền, Quế Sơn, Thái Phiên, Phan Bội Châu, Núi Thành

- Trung tâm Giáo dục thường xuyên Quảng Nam

- Trung tâm Giáo dục thường xuyên-Hướng nghiệp các huyện, thành phố: Đại Lộc, Điện Bàn, Hội An, Duy Xuyên, Quế Sơn, Thăng Bình, Phú Ninh, Núi Thành, Tiên Phước, Nam Trà My, Bắc Trà My, Hiệp Đức

II Phân tích và thiết kế hệ thống

II.1 Xây dựng use case

Qua quá trình tìm hiểu phân tích hệ thống quản lý công chức và viên chức tại Sở Giáo Dục và Đào tạo tỉnh Quảng Nam, em nhận thấy có tất cả 4 tác nhân (actor) tác động đến hệ thống và mỗi actor có những yêu cầu và chức năng khác nhau Đó là quản trị hệ thống, Công chức, Viên chức và Lãnh đạo

Ngày đăng: 27/05/2014, 02:27

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Thanh Bình. Giáo trình phân tích thiết kế hướng đối tượng. Đại học Bách Khoa Đà Nẵng Sách, tạp chí
Tiêu đề: Giáo trình phân tích thiết kế hướng đối tượng
[2] Phạm Hữu Khang. Kỹ thuật lập trình C# .Net. Nhà xuất bản thống kê Sách, tạp chí
Tiêu đề: Kỹ thuật lập trình C# .Net
Tác giả: Phạm Hữu Khang
Nhà XB: Nhà xuất bản thống kê
[3] Phạm Hữu Khang. Quản trị SQL Server 2005. Nhà xuất bản thống kê Sách, tạp chí
Tiêu đề: Quản trị SQL Server 2005
Nhà XB: Nhà xuất bản thống kê
[6] Đặng Văn Đức. Phân tích thiết kế hướng đối tượng bằng UML. Nhà xuất bản giáo dục, Hà Nội 2002, 281 tr Sách, tạp chí
Tiêu đề: Phân tích thiết kế hướng đối tượng bằng UML
Nhà XB: Nhà xuất bản giáo dục
[7] Trang Web: http://www.dotnetnuke.com [8] … Sách, tạp chí
Tiêu đề: Content Management System - .NET CMS Software from DNN Products
Nhà XB: ESW Operations, LLC
Năm: 2025

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Quá trình xử lý tệp tin ASP.NET - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 1.1. Quá trình xử lý tệp tin ASP.NET (Trang 21)
Hình 2.1.  Mô hình cổ điển của một ứng dụng Web - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.1. Mô hình cổ điển của một ứng dụng Web (Trang 23)
Hình 2.2.  Mô hình ứng dụng Web sử dụng AJAX - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.2. Mô hình ứng dụng Web sử dụng AJAX (Trang 24)
Hình 2.3.  Sơ đồ use case công chức - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.3. Sơ đồ use case công chức (Trang 41)
Hình 2.4.  Sơ đồ use case phân rã - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.4. Sơ đồ use case phân rã (Trang 42)
Hình 2.5.  Sơ đồ use case viên chức  Bảng mô tả use case - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.5. Sơ đồ use case viên chức Bảng mô tả use case (Trang 43)
Hình 2.6.  Sơ đồ hoạt động nhập hồ sơ công chức viên chức. - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.6. Sơ đồ hoạt động nhập hồ sơ công chức viên chức (Trang 69)
Hình 2.7.  Sơ đồ hoạt động cập nhật hồ sơ công chức viên chức. - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.7. Sơ đồ hoạt động cập nhật hồ sơ công chức viên chức (Trang 70)
Hình 2.10.  Sơ đồ tuần tự cập nhật hồ sơ công chức. - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.10. Sơ đồ tuần tự cập nhật hồ sơ công chức (Trang 73)
Hình 2.11.  Sơ đồ tuần tự xóa hồ sơ công chức. - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.11. Sơ đồ tuần tự xóa hồ sơ công chức (Trang 74)
Hình 2.12.  Sơ đồ lớp công chức viên chức. - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.12. Sơ đồ lớp công chức viên chức (Trang 75)
Hình 2.14.  Lược đồ cơ sở dữ liệu công chức viên chức. - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.14. Lược đồ cơ sở dữ liệu công chức viên chức (Trang 77)
Hình 2.15.  Lược đồ cơ sở dữ liệu công chức viên chức tiếp theo. - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 2.15. Lược đồ cơ sở dữ liệu công chức viên chức tiếp theo (Trang 78)
Hình 3.1.  Giao diện sơ lược lý lịch - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 3.1. Giao diện sơ lược lý lịch (Trang 79)
Hình 3.5.  Giao diện danh sách người đứng đầu - đề tài  nghiên cứu và ứng dụng dotnetnuke để xây dựng hệ thống quản lý công chức và viên chức tại sở giáo dục và đào tạo tỉnh quảng nam
Hình 3.5. Giao diện danh sách người đứng đầu (Trang 81)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w