SlideShare a Scribd company logo
1 of 91
Download to read offline
ĐẠI HỌC ĐÀ NẴNG
          TRƯỜNG ĐẠI HỌC BÁCH KHOA
      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
            LỚP       : 30TTK
            CBHD      : TS. NGUYỄN VĂN HIỆU



                     ĐÀ NẴNG, 12/2011
LỜI CẢM ƠN
    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!
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
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................


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

                                                                                             CÁN BỘ HƯỚNG DẪN




                                                                                             TS. NGUYỄN VĂN HIỆU
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................
.............................................................................................................................................................


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

                                                                                                   CÁN BỘ PHẢN BIỆN
MỤC LỤC
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
       II.1.1.   Sơ đồ use case công chức...................................................................... 32


                                                                                                                                       i
Mục lục                                                                                                                              ii


         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
DANH MỤC BẢNG BIỂU

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




                                                                                                                      i
DANH MỤC HÌNH VẼ

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




                                                                                                                         i
MỞ ĐẦU

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



Lê Thị Diệu Hiền, LỚP 30TTK                                                      1
Nguyê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

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


Lê Thị Diệu Hiền, LỚP 30TTK                                                             2
Nguyê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

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.




Lê Thị Diệu Hiền, LỚP 30TTK                                                             3
CHƯƠNG 1

CƠ SỞ LÝ THUYẾT

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


Lê Thị Diệu Hiền, LỚP 30TTK                                                        4
Nguyê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

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




Lê Thị Diệu Hiền, LỚP 30TTK                                                             5
Nguyê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




  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.


Lê Thị Diệu Hiền, LỚP 30TTK                                                             6
Nguyê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

   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ố
lượng banner hiển thị cũng như là dạng banner.


Lê Thị Diệu Hiền, LỚP 30TTK                                                             7
Nguyê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

  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.



Lê Thị Diệu Hiền, LỚP 30TTK                                                             8
Nguyê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

  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




Lê Thị Diệu Hiền, LỚP 30TTK                                                             9
Nguyê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

(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#,…


Lê Thị Diệu Hiền, LỚP 30TTK                                                         10
Nguyê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

  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.




Lê Thị Diệu Hiền, LỚP 30TTK                                                         11
Nguyê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.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ể


Lê Thị Diệu Hiền, LỚP 30TTK                                                         12
Nguyê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

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.




Lê Thị Diệu Hiền, LỚP 30TTK                                                         13
Nguyê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

   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



Lê Thị Diệu Hiền, LỚP 30TTK                                                         14
Nguyê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ô 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




Lê Thị Diệu Hiền, LỚP 30TTK                                                         15
Nguyê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

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ị;



Lê Thị Diệu Hiền, LỚP 30TTK                                                         16
Nguyê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

   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: JavaScript có một số đối tượng định nghĩa sẵn, bao gồm mảng (Array),
đố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



Lê Thị Diệu Hiền, LỚP 30TTK                                                         17
Nguyê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

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 đó.
  Cú pháp của CSS gồm ba thành phần:
           - Thành phần lựa chọn (thường là một thẻ HTML) (Selecto).
           - Thuộc tính (Property).
           - Giá trị (Value).
  Cú pháp như sau:
       Selector {
            Property1: Value1;
            Property2: Value2;
       }
  Selector có thể là các thẻ/nhóm thẻ HTML, các lớp khai báo, hay bằng định danh
duy nhất của phần tử. Khi chèn các đoạn mã CSS vào trang web, trình duyệt sẽ hiển
thị trang web theo cách CSS đã qui định cho nó, có ba cách để chèn CSS vào trang
web:
  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:
  <head>
           <link                 rel="stylesheet"                 type="text/css"
href="mystyle.css"/>
  </head>
  Định nghĩa các style sheet ngay trong trang web:
  <head>
       <style type="text/css">
                hr {color: sienna;}
                p {margin-left: 20px;}
                body {background-image: url("images/back40.gif");}
       </style>
  </head>



Lê Thị Diệu Hiền, LỚP 30TTK                                                         18
Nguyê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

   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.




Lê Thị Diệu Hiền, LỚP 30TTK                                                         19
Nguyê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ạ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">

      <books>

             <book id="1">

                    <title>HTML &amp; XML How to</title>

                    <author>Coltech</author>

                    <price>$50</price>

             </book>

             <book id="2">

                    <title>C programming - How to</title>

                    <author>XML</author>

                    <price>$23.5</price>

             </book>

             <book id="3">

                    <title>Teach yourself cooking</title>

                    <author>Maika</author>

                    <price>$10</price>

             </book>

             <!-- đây là một tag trống --->

             <blank/>




Lê Thị Diệu Hiền, LỚP 30TTK                                                         20
Nguyê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

       </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
tag đóng và mở (<blank></blank>) hay có thể dùng dạng rút gọn <blank/>. Bất kỳ


Lê Thị Diệu Hiền, LỚP 30TTK                                                         21
Nguyê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

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 ".
  Text:
  Text là những nội dung thuộc nhân tố, cung cấp thông tin về nhân tố đó. Vì dụ như
trên Coltech là một text thuộc vào nhân tố author vì nó nằm giữa 2 tag <author> và
</author>.
  Ngoài những cái trên thì còn những cái không quan trọng như là ghi chú
(comment). Những câu ghi chú không thuộc vào nội dung của file .xml. Cũng giống
như HTML, ghi chú trong XML được bao bởi cặp <!-- và -->
  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


Lê Thị Diệu Hiền, LỚP 30TTK                                                         22
Nguyê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

.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:
        var xmlHttp;


Lê Thị Diệu Hiền, LỚP 30TTK                                                         23
Nguyê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

     function createXMLHttpRequest() {
     if (window.ActiveXObject) {
             xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
     }
     else if (window.XMLHttpRequest) {
             xmlHttp = new XMLHttpRequest();
     }
     }
  Đoạn mã trên kiểm tra sự hỗ trợ đối tượng ActiveX của trình duyệt. Nếu hỗ trợ
ActiveX, thì tạo một đối tượng XMLHttpRequest dùng ActiveX. Trường hợp khác, tạo
đối tượng này bằng kỹ thuật tạo đối tượng JavaScript nguyên thủy. Do đó dễ dàng tạo
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




Lê Thị Diệu Hiền, LỚP 30TTK                                                         24
Nguyê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

  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:

       xmlhttp.onreadystatechange=function(){

              if(xmlhttp.readyState==4){

                     // Lấy dữ liệu từ trả lời của server

              }

       }

  - Thuộc tính responseText: Nhận dữ liệu trả về từ server:

       xmlhttp.onreadystatechange=function(){

              if(xmlhttp.readyState==4){

                  document.myForm.text.value = xmlhttp.responseText;

              }

       }
  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);




Lê Thị Diệu Hiền, LỚP 30TTK                                                         25
Nguyê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

  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ở




Lê Thị Diệu Hiền, LỚP 30TTK                                                         26
Nguyê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

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:
  Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu
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.
  Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao
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ệ




Lê Thị Diệu Hiền, LỚP 30TTK                                                             27
Nguyê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

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-


Lê Thị Diệu Hiền, LỚP 30TTK                                                         28
Nguyê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

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.




Lê Thị Diệu Hiền, LỚP 30TTK                                                          29
CHƯƠNG 2

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

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
I.1.    Vị trí và chức năng
   Sở Giáo dục và Đào tạo là cơ quan chuyên môn thuộc Uỷ ban nhân dân tỉnh có
chức năng tham mưu, giúp Uỷ ban nhân dâ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, bao gồm: Mục tiêu, chương trình, nội dung giáo dục và
đào tạo, tiêu chuẩn nhà giáo và tiêu chuẩn cán bộ quản lý giáo dục; tiêu chuẩn cơ sở
vật chất, thiết bị trường học và đồ chơi trẻ em; quy chế thi cử và cấp văn bằng, chứng
chỉ; các dịch vụ công thuộc phạm vi quản lý nhà nước của Sở theo quy định của pháp
luật.
   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:
   - Văn phòng.
   - Thanh tra.
   - Phòng Kế hoạch - Tài chính.
   - Phòng Tổ chức Cán bộ.
   - Phòng Giáo dục Mầm non.
   - Phòng Giáo dục Tiểu học.
   - Phòng Giáo dục Trung học.

Lê Thị Diệu Hiền, LỚP 30TTK                                                       30
Nguyê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

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




Lê Thị Diệu Hiền, LỚP 30TTK                                                         31
Nguyê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.1.1.   Sơ đồ use case công chức



                                                      Quan ly tai khoan




                         CC_So luoc ly lich CC_Dac diem lich su ban than

                                                                                           Quan tri he thong


             Danh muc                          CC_Quan he gia dinh



                                                                                    BC_Danh sach cong chuc
                                         CC_Chuyen, nang ngach va nang
                                                  bac luong
                                                                             <<extend>>

                                                                                  BC_Danh sach nguoi dung dau
             Cong chuc                    CC_Bo nhiem, bo nhiem lai, tu
                                              chuc va mien nhiem                 <<extend>>

                                                                                   BC_Danh sach vien chuc

                                                                             <<extend>>
                                         CC_Dieu dong, luan chuyen va biet
                                                       phai
                                                                                    BC_Tong hop vien chuc
                                                                      <<extend>>                                Lanh dao so




          CC_Dang vien                                    Bao cao
                                                                                    TK_Danh sach cong chuc
                                                                    <<extend>>

                                                                       <<extend>>
                                                                    <<extend>> TK_Danh sach nguoi dung dau
                                                     Thong ke
                 CC_Huu tri, thoi viec
                                                                     <<extend>>

                                                                                TK_Danh sach vien chuc
                                                                      <<extend>>



                                                                                   TK_Quan ly cong chuc




                                                                                    TK_Quan ly vien chuc




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




Lê Thị Diệu Hiền, LỚP 30TTK                                                                                                   32
Nguyê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.1.2.   Sơ đồ use case phân rã




                                             DM_Trinh do giao duc
                    DM_Ngach luong DM_Bac luong
                                                            DM_Trinh do chuyen mon
                                                       <<extend>>
                                <<extend>>                                             DM_Ly luan chinh tri
          DM_Nhom ngach                                         <<extend>>

                                             <<extend>>
                          <<extend>>                                      <<extend>>
                                                                                       DM_Quan ly nha nuoc

                                                                      <<extend>>
                                                                          <<extend>>
                                                                                           DM_Ngoai ngu

                                                                           <<extend>>
                                                                           <<extend>>
                                                     Danh muc                                  DM_Tin hoc
             Cong chuc

                                                 <<extend>>
                                                                   <<extend>>
                                                                                  <<extend>>
                                                                                                 DM_Don vi

                                                                   <<extend>>
                                                DM_Nhom mau

                                                                                DM_Chuc vu DM_Don vi su nghiep


                                                                    DM_ Dan toc

                                                                           <<extend>>

                                                CC_Quan he gia dinh       <<extend>>    QKGD_Quan he gia dinh




                                                      <<extend>>
                             CC_Dac diem lich su ban than         DDLSBT_Khen thuong        QKGD_Tu nhan xet

                   <<extend>>                                          <<extend>>
                                  <<extend>>
                                                     <<extend>>

           DDLSBT_Tuyen dung
                                                                                    DDLSBT_Ky luat

                           DDLSBT_Chinh tri xa hoi
                                                       DDLSBT_Qua trinh dao tao




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




Lê Thị Diệu Hiền, LỚP 30TTK                                                                                      33
Nguyê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.1.3.      Sơ đồ use case viên chức




                                                                VC_So luoc ly lich
                               BC_Danh sach vien chuc


                                                          VC_Dac diem lich su ban than




                                                               VC_Quan he gia dinh




                                                           VC_Bo nhiem, bo nhiem lai, tu
                                                               chuc va mien nhiem
                       Vien chuc



                                                         VC_Chuyen, nang ngach va nang
                                                                  bac luong




           TK_Danh sach vien chuc                        VC_Dieu dong, luan chuyen va biet
                                                                       phai




                                                                VC_Huu tri, thoi viec


                                        TK_Quan ly vien chuc

                                                                   VC_Dang vien




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

    Bảng mô tả use case

STT           Tên use case              Tác nhân                        Đặc tả

1         DM_Nhom ngach             Cong chuc           Quản lý thông tin về nhóm ngạch



Lê Thị Diệu Hiền, LỚP 30TTK                                                                  34
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien
Luan van   le thi dieu hien

More Related Content

What's hot

Tổng hợp, nghiên cứu cấu trúc và thử hoạt tính sinh học của phức mn(ii), pb(i...
Tổng hợp, nghiên cứu cấu trúc và thử hoạt tính sinh học của phức mn(ii), pb(i...Tổng hợp, nghiên cứu cấu trúc và thử hoạt tính sinh học của phức mn(ii), pb(i...
Tổng hợp, nghiên cứu cấu trúc và thử hoạt tính sinh học của phức mn(ii), pb(i...https://www.facebook.com/garmentspace
 
Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trường Tiểu học...
Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trường Tiểu học...Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trường Tiểu học...
Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trường Tiểu học...Nhận Viết Đề Tài Trọn Gói ZALO 0932091562
 
Luận văn: Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trườn...
Luận văn: Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trườn...Luận văn: Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trườn...
Luận văn: Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trườn...Viết thuê trọn gói ZALO 0934573149
 
Luận án tiến sĩ kỹ thuật nghiên cứu phản ứng hòa tan điện hóa tại dương cực (...
Luận án tiến sĩ kỹ thuật nghiên cứu phản ứng hòa tan điện hóa tại dương cực (...Luận án tiến sĩ kỹ thuật nghiên cứu phản ứng hòa tan điện hóa tại dương cực (...
Luận án tiến sĩ kỹ thuật nghiên cứu phản ứng hòa tan điện hóa tại dương cực (...https://www.facebook.com/garmentspace
 
Tổ chức hoạt động trải nghiệm sáng tạo trong dạy học môn Tự nhiên và Xã hội l...
Tổ chức hoạt động trải nghiệm sáng tạo trong dạy học môn Tự nhiên và Xã hội l...Tổ chức hoạt động trải nghiệm sáng tạo trong dạy học môn Tự nhiên và Xã hội l...
Tổ chức hoạt động trải nghiệm sáng tạo trong dạy học môn Tự nhiên và Xã hội l...Nhận Viết Đề Tài Trọn Gói ZALO 0932091562
 
Một số biện pháp nâng cao hiệu quả dạy học hóa học chương oxi lưu huỳnh lớp...
Một số biện pháp nâng cao hiệu quả dạy học hóa học chương oxi   lưu huỳnh lớp...Một số biện pháp nâng cao hiệu quả dạy học hóa học chương oxi   lưu huỳnh lớp...
Một số biện pháp nâng cao hiệu quả dạy học hóa học chương oxi lưu huỳnh lớp...https://www.facebook.com/garmentspace
 
Luận án: Đặc điểm sinh thái của loài Voọc bạc tại khu vực núi đá vôi - Gửi mi...
Luận án: Đặc điểm sinh thái của loài Voọc bạc tại khu vực núi đá vôi - Gửi mi...Luận án: Đặc điểm sinh thái của loài Voọc bạc tại khu vực núi đá vôi - Gửi mi...
Luận án: Đặc điểm sinh thái của loài Voọc bạc tại khu vực núi đá vôi - Gửi mi...Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Luận án: Nghiên cứu điều kiện nuôi sinh khối vi tảo Thalassiosira pseudonana ...
Luận án: Nghiên cứu điều kiện nuôi sinh khối vi tảo Thalassiosira pseudonana ...Luận án: Nghiên cứu điều kiện nuôi sinh khối vi tảo Thalassiosira pseudonana ...
Luận án: Nghiên cứu điều kiện nuôi sinh khối vi tảo Thalassiosira pseudonana ...Viết thuê trọn gói ZALO 0934573149
 
Thực trạng bệnh và kiến thức, thái độ, thực hành của bà mẹ có con dưới 5 tuổi...
Thực trạng bệnh và kiến thức, thái độ, thực hành của bà mẹ có con dưới 5 tuổi...Thực trạng bệnh và kiến thức, thái độ, thực hành của bà mẹ có con dưới 5 tuổi...
Thực trạng bệnh và kiến thức, thái độ, thực hành của bà mẹ có con dưới 5 tuổi...https://www.facebook.com/garmentspace
 

What's hot (15)

Luận văn: Quản lý hoạt động tự học của học sinh THCS huyện Đakrông
Luận văn: Quản lý hoạt động tự học của học sinh THCS huyện ĐakrôngLuận văn: Quản lý hoạt động tự học của học sinh THCS huyện Đakrông
Luận văn: Quản lý hoạt động tự học của học sinh THCS huyện Đakrông
 
Tổng hợp, nghiên cứu cấu trúc và thử hoạt tính sinh học của phức mn(ii), pb(i...
Tổng hợp, nghiên cứu cấu trúc và thử hoạt tính sinh học của phức mn(ii), pb(i...Tổng hợp, nghiên cứu cấu trúc và thử hoạt tính sinh học của phức mn(ii), pb(i...
Tổng hợp, nghiên cứu cấu trúc và thử hoạt tính sinh học của phức mn(ii), pb(i...
 
Luận văn: Bồi dưỡng năng lực hợp tác của học sinh trong dạy học Vật lí
Luận văn: Bồi dưỡng năng lực hợp tác của học sinh trong dạy học Vật líLuận văn: Bồi dưỡng năng lực hợp tác của học sinh trong dạy học Vật lí
Luận văn: Bồi dưỡng năng lực hợp tác của học sinh trong dạy học Vật lí
 
Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trường Tiểu học...
Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trường Tiểu học...Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trường Tiểu học...
Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trường Tiểu học...
 
Luận văn: Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trườn...
Luận văn: Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trườn...Luận văn: Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trườn...
Luận văn: Quản lý hoạt động trải nghiệm sáng tạo cho học sinh trong các trườn...
 
Luận án tiến sĩ kỹ thuật nghiên cứu phản ứng hòa tan điện hóa tại dương cực (...
Luận án tiến sĩ kỹ thuật nghiên cứu phản ứng hòa tan điện hóa tại dương cực (...Luận án tiến sĩ kỹ thuật nghiên cứu phản ứng hòa tan điện hóa tại dương cực (...
Luận án tiến sĩ kỹ thuật nghiên cứu phản ứng hòa tan điện hóa tại dương cực (...
 
Tổ chức hoạt động trải nghiệm sáng tạo trong dạy học môn Tự nhiên và Xã hội l...
Tổ chức hoạt động trải nghiệm sáng tạo trong dạy học môn Tự nhiên và Xã hội l...Tổ chức hoạt động trải nghiệm sáng tạo trong dạy học môn Tự nhiên và Xã hội l...
Tổ chức hoạt động trải nghiệm sáng tạo trong dạy học môn Tự nhiên và Xã hội l...
 
Luận văn: Thái độ của cha mẹ đối với con có chứng tự kỷ, HAY
Luận văn: Thái độ của cha mẹ đối với con có chứng tự kỷ, HAYLuận văn: Thái độ của cha mẹ đối với con có chứng tự kỷ, HAY
Luận văn: Thái độ của cha mẹ đối với con có chứng tự kỷ, HAY
 
Luận văn: Quản lý giáo dục pháp luật cho học sinh ở các trường THPT
Luận văn: Quản lý giáo dục pháp luật cho học sinh ở các trường THPTLuận văn: Quản lý giáo dục pháp luật cho học sinh ở các trường THPT
Luận văn: Quản lý giáo dục pháp luật cho học sinh ở các trường THPT
 
Luận văn: Quản lý hoạt động dạy họcTiếng Việt cho sinh viên ĐH
Luận văn: Quản lý hoạt động dạy họcTiếng Việt cho sinh viên ĐHLuận văn: Quản lý hoạt động dạy họcTiếng Việt cho sinh viên ĐH
Luận văn: Quản lý hoạt động dạy họcTiếng Việt cho sinh viên ĐH
 
Một số biện pháp nâng cao hiệu quả dạy học hóa học chương oxi lưu huỳnh lớp...
Một số biện pháp nâng cao hiệu quả dạy học hóa học chương oxi   lưu huỳnh lớp...Một số biện pháp nâng cao hiệu quả dạy học hóa học chương oxi   lưu huỳnh lớp...
Một số biện pháp nâng cao hiệu quả dạy học hóa học chương oxi lưu huỳnh lớp...
 
Luận án: Đặc điểm sinh thái của loài Voọc bạc tại khu vực núi đá vôi - Gửi mi...
Luận án: Đặc điểm sinh thái của loài Voọc bạc tại khu vực núi đá vôi - Gửi mi...Luận án: Đặc điểm sinh thái của loài Voọc bạc tại khu vực núi đá vôi - Gửi mi...
Luận án: Đặc điểm sinh thái của loài Voọc bạc tại khu vực núi đá vôi - Gửi mi...
 
Luận án: Nghiên cứu điều kiện nuôi sinh khối vi tảo Thalassiosira pseudonana ...
Luận án: Nghiên cứu điều kiện nuôi sinh khối vi tảo Thalassiosira pseudonana ...Luận án: Nghiên cứu điều kiện nuôi sinh khối vi tảo Thalassiosira pseudonana ...
Luận án: Nghiên cứu điều kiện nuôi sinh khối vi tảo Thalassiosira pseudonana ...
 
Phát triển năng lực đánh giá lịch sử của học sinh trong dạy học lịch sử
Phát triển năng lực đánh giá lịch sử của học sinh trong dạy học lịch sửPhát triển năng lực đánh giá lịch sử của học sinh trong dạy học lịch sử
Phát triển năng lực đánh giá lịch sử của học sinh trong dạy học lịch sử
 
Thực trạng bệnh và kiến thức, thái độ, thực hành của bà mẹ có con dưới 5 tuổi...
Thực trạng bệnh và kiến thức, thái độ, thực hành của bà mẹ có con dưới 5 tuổi...Thực trạng bệnh và kiến thức, thái độ, thực hành của bà mẹ có con dưới 5 tuổi...
Thực trạng bệnh và kiến thức, thái độ, thực hành của bà mẹ có con dưới 5 tuổi...
 

Similar to Luan van le thi dieu hien

TÌM HIỂU CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM VÀ ỨNG DỤNG CÔNG CỤ KIỂM TRA TỰ ĐỘ...
TÌM HIỂU CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM VÀ ỨNG DỤNG CÔNG CỤ KIỂM TRA TỰ ĐỘ...TÌM HIỂU CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM VÀ ỨNG DỤNG CÔNG CỤ KIỂM TRA TỰ ĐỘ...
TÌM HIỂU CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM VÀ ỨNG DỤNG CÔNG CỤ KIỂM TRA TỰ ĐỘ...TieuNgocLy
 
Tổng hợp và nghiên cứu ứng dụng của vật liệu nano perovskite y0.8 sr0.2feo3
Tổng hợp và nghiên cứu ứng dụng của vật liệu nano perovskite y0.8 sr0.2feo3Tổng hợp và nghiên cứu ứng dụng của vật liệu nano perovskite y0.8 sr0.2feo3
Tổng hợp và nghiên cứu ứng dụng của vật liệu nano perovskite y0.8 sr0.2feo3https://www.facebook.com/garmentspace
 
Công Tác Phục Vụ Người Dùng Tin Tại Thư Viện Trường Đại Học Hà Nội
Công Tác Phục Vụ Người Dùng Tin Tại Thư Viện Trường Đại Học Hà Nội Công Tác Phục Vụ Người Dùng Tin Tại Thư Viện Trường Đại Học Hà Nội
Công Tác Phục Vụ Người Dùng Tin Tại Thư Viện Trường Đại Học Hà Nội nataliej4
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tậptuankiet123
 
Quản lý cửa hàng vật liệu xây dựng
 Quản lý cửa hàng vật liệu xây dựng Quản lý cửa hàng vật liệu xây dựng
Quản lý cửa hàng vật liệu xây dựnghieu anh
 
luận văn Quản lý cửa hàng vật liệu xây dựng
luận văn  Quản lý cửa hàng vật liệu xây dựngluận văn  Quản lý cửa hàng vật liệu xây dựng
luận văn Quản lý cửa hàng vật liệu xây dựnganh hieu
 
Tỷ lệ và ảnh hưởng của tật khúc xạ đến sức khỏe và học tập của học sinh trung...
Tỷ lệ và ảnh hưởng của tật khúc xạ đến sức khỏe và học tập của học sinh trung...Tỷ lệ và ảnh hưởng của tật khúc xạ đến sức khỏe và học tập của học sinh trung...
Tỷ lệ và ảnh hưởng của tật khúc xạ đến sức khỏe và học tập của học sinh trung...https://www.facebook.com/garmentspace
 
Báo cáo thực tập cuối kỳ Nguyễn Minh Chương
Báo cáo thực tập cuối kỳ   Nguyễn Minh ChươngBáo cáo thực tập cuối kỳ   Nguyễn Minh Chương
Báo cáo thực tập cuối kỳ Nguyễn Minh Chươngmasternokizep
 
Báo Cáo Thực Tập Cuối Kỳ Athena - Nguyễn Minh Chương
Báo Cáo Thực Tập Cuối Kỳ Athena - Nguyễn Minh ChươngBáo Cáo Thực Tập Cuối Kỳ Athena - Nguyễn Minh Chương
Báo Cáo Thực Tập Cuối Kỳ Athena - Nguyễn Minh Chươngmasternokizep
 
TÍCH HỢP WEB SKETCHPAD VÀO MÔI TRƯỜNG HỌC TẬP ĐIỆN TỬ TRONG HỖ TRỢ HỌC SINH K...
TÍCH HỢP WEB SKETCHPAD VÀO MÔI TRƯỜNG HỌC TẬP ĐIỆN TỬ TRONG HỖ TRỢ HỌC SINH K...TÍCH HỢP WEB SKETCHPAD VÀO MÔI TRƯỜNG HỌC TẬP ĐIỆN TỬ TRONG HỖ TRỢ HỌC SINH K...
TÍCH HỢP WEB SKETCHPAD VÀO MÔI TRƯỜNG HỌC TẬP ĐIỆN TỬ TRONG HỖ TRỢ HỌC SINH K...Nguyen Thanh Tu Collection
 
DẠY HỌC THÍ NGHIỆM HÓA HỌC PHẦN NITROGEN NHẰM PHÁT TRIỂN NĂNG LỰC VẬN DỤNG KI...
DẠY HỌC THÍ NGHIỆM HÓA HỌC PHẦN NITROGEN NHẰM PHÁT TRIỂN NĂNG LỰC VẬN DỤNG KI...DẠY HỌC THÍ NGHIỆM HÓA HỌC PHẦN NITROGEN NHẰM PHÁT TRIỂN NĂNG LỰC VẬN DỤNG KI...
DẠY HỌC THÍ NGHIỆM HÓA HỌC PHẦN NITROGEN NHẰM PHÁT TRIỂN NĂNG LỰC VẬN DỤNG KI...Nguyen Thanh Tu Collection
 
Nghiên cứu các nhân tố ảnh hưởng đến việc lựa chọn dịch vụ truyền hình MyTV c...
Nghiên cứu các nhân tố ảnh hưởng đến việc lựa chọn dịch vụ truyền hình MyTV c...Nghiên cứu các nhân tố ảnh hưởng đến việc lựa chọn dịch vụ truyền hình MyTV c...
Nghiên cứu các nhân tố ảnh hưởng đến việc lựa chọn dịch vụ truyền hình MyTV c...anh hieu
 
Mô hình đếm và phân loại sản phẩm theo chiều cao.pdf
Mô hình đếm và phân loại sản phẩm theo chiều cao.pdfMô hình đếm và phân loại sản phẩm theo chiều cao.pdf
Mô hình đếm và phân loại sản phẩm theo chiều cao.pdfMan_Ebook
 

Similar to Luan van le thi dieu hien (20)

TÌM HIỂU CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM VÀ ỨNG DỤNG CÔNG CỤ KIỂM TRA TỰ ĐỘ...
TÌM HIỂU CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM VÀ ỨNG DỤNG CÔNG CỤ KIỂM TRA TỰ ĐỘ...TÌM HIỂU CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM VÀ ỨNG DỤNG CÔNG CỤ KIỂM TRA TỰ ĐỘ...
TÌM HIỂU CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM VÀ ỨNG DỤNG CÔNG CỤ KIỂM TRA TỰ ĐỘ...
 
Tổng hợp và nghiên cứu ứng dụng của vật liệu nano perovskite y0.8 sr0.2feo3
Tổng hợp và nghiên cứu ứng dụng của vật liệu nano perovskite y0.8 sr0.2feo3Tổng hợp và nghiên cứu ứng dụng của vật liệu nano perovskite y0.8 sr0.2feo3
Tổng hợp và nghiên cứu ứng dụng của vật liệu nano perovskite y0.8 sr0.2feo3
 
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đĐề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY, 9đ
 
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAYĐề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY
Đề tài: Phần mềm Quản Lý Siêu Thị Mini, HAY
 
Luận văn: Nghiên cứu họ hệ mật WG trong mật mã hạng nhẹ
Luận văn: Nghiên cứu họ hệ mật WG trong mật mã hạng nhẹLuận văn: Nghiên cứu họ hệ mật WG trong mật mã hạng nhẹ
Luận văn: Nghiên cứu họ hệ mật WG trong mật mã hạng nhẹ
 
Bao cao + bia
Bao cao + biaBao cao + bia
Bao cao + bia
 
Công Tác Phục Vụ Người Dùng Tin Tại Thư Viện Trường Đại Học Hà Nội
Công Tác Phục Vụ Người Dùng Tin Tại Thư Viện Trường Đại Học Hà Nội Công Tác Phục Vụ Người Dùng Tin Tại Thư Viện Trường Đại Học Hà Nội
Công Tác Phục Vụ Người Dùng Tin Tại Thư Viện Trường Đại Học Hà Nội
 
Báo cáo thực tập
Báo cáo thực tậpBáo cáo thực tập
Báo cáo thực tập
 
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đĐề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
 
Quản lý cửa hàng vật liệu xây dựng
 Quản lý cửa hàng vật liệu xây dựng Quản lý cửa hàng vật liệu xây dựng
Quản lý cửa hàng vật liệu xây dựng
 
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HOT, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HOT, 9đĐề tài: Quản lý cửa hàng vật liệu xây dựng, HOT, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HOT, 9đ
 
luận văn Quản lý cửa hàng vật liệu xây dựng
luận văn  Quản lý cửa hàng vật liệu xây dựngluận văn  Quản lý cửa hàng vật liệu xây dựng
luận văn Quản lý cửa hàng vật liệu xây dựng
 
Tỷ lệ và ảnh hưởng của tật khúc xạ đến sức khỏe và học tập của học sinh trung...
Tỷ lệ và ảnh hưởng của tật khúc xạ đến sức khỏe và học tập của học sinh trung...Tỷ lệ và ảnh hưởng của tật khúc xạ đến sức khỏe và học tập của học sinh trung...
Tỷ lệ và ảnh hưởng của tật khúc xạ đến sức khỏe và học tập của học sinh trung...
 
Báo cáo thực tập cuối kỳ Nguyễn Minh Chương
Báo cáo thực tập cuối kỳ   Nguyễn Minh ChươngBáo cáo thực tập cuối kỳ   Nguyễn Minh Chương
Báo cáo thực tập cuối kỳ Nguyễn Minh Chương
 
Báo Cáo Thực Tập Cuối Kỳ Athena - Nguyễn Minh Chương
Báo Cáo Thực Tập Cuối Kỳ Athena - Nguyễn Minh ChươngBáo Cáo Thực Tập Cuối Kỳ Athena - Nguyễn Minh Chương
Báo Cáo Thực Tập Cuối Kỳ Athena - Nguyễn Minh Chương
 
Đề tài nâng cao năng lực cạnh tranh sản phẩm, HAY, 2018
Đề tài nâng cao năng lực cạnh tranh sản phẩm, HAY, 2018Đề tài nâng cao năng lực cạnh tranh sản phẩm, HAY, 2018
Đề tài nâng cao năng lực cạnh tranh sản phẩm, HAY, 2018
 
TÍCH HỢP WEB SKETCHPAD VÀO MÔI TRƯỜNG HỌC TẬP ĐIỆN TỬ TRONG HỖ TRỢ HỌC SINH K...
TÍCH HỢP WEB SKETCHPAD VÀO MÔI TRƯỜNG HỌC TẬP ĐIỆN TỬ TRONG HỖ TRỢ HỌC SINH K...TÍCH HỢP WEB SKETCHPAD VÀO MÔI TRƯỜNG HỌC TẬP ĐIỆN TỬ TRONG HỖ TRỢ HỌC SINH K...
TÍCH HỢP WEB SKETCHPAD VÀO MÔI TRƯỜNG HỌC TẬP ĐIỆN TỬ TRONG HỖ TRỢ HỌC SINH K...
 
DẠY HỌC THÍ NGHIỆM HÓA HỌC PHẦN NITROGEN NHẰM PHÁT TRIỂN NĂNG LỰC VẬN DỤNG KI...
DẠY HỌC THÍ NGHIỆM HÓA HỌC PHẦN NITROGEN NHẰM PHÁT TRIỂN NĂNG LỰC VẬN DỤNG KI...DẠY HỌC THÍ NGHIỆM HÓA HỌC PHẦN NITROGEN NHẰM PHÁT TRIỂN NĂNG LỰC VẬN DỤNG KI...
DẠY HỌC THÍ NGHIỆM HÓA HỌC PHẦN NITROGEN NHẰM PHÁT TRIỂN NĂNG LỰC VẬN DỤNG KI...
 
Nghiên cứu các nhân tố ảnh hưởng đến việc lựa chọn dịch vụ truyền hình MyTV c...
Nghiên cứu các nhân tố ảnh hưởng đến việc lựa chọn dịch vụ truyền hình MyTV c...Nghiên cứu các nhân tố ảnh hưởng đến việc lựa chọn dịch vụ truyền hình MyTV c...
Nghiên cứu các nhân tố ảnh hưởng đến việc lựa chọn dịch vụ truyền hình MyTV c...
 
Mô hình đếm và phân loại sản phẩm theo chiều cao.pdf
Mô hình đếm và phân loại sản phẩm theo chiều cao.pdfMô hình đếm và phân loại sản phẩm theo chiều cao.pdf
Mô hình đếm và phân loại sản phẩm theo chiều cao.pdf
 

Luan van le thi dieu hien

  • 1. ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA 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 LỚP : 30TTK CBHD : TS. NGUYỄN VĂN HIỆU ĐÀ NẴNG, 12/2011
  • 2. LỜI CẢM ƠN 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!
  • 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
  • 4. NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. Đà Nẵng, ngày 05 tháng 01 năm 2012 CÁN BỘ HƯỚNG DẪN TS. NGUYỄN VĂN HIỆU
  • 5. NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. ............................................................................................................................................................. Đà Nẵng, ngày 05 tháng 01 năm 2012 CÁN BỘ PHẢN BIỆN
  • 6. MỤC LỤC 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 II.1.1. Sơ đồ use case công chức...................................................................... 32 i
  • 7. Mục lục ii 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
  • 8. DANH MỤC BẢNG BIỂU Bảng 2.1. Bảng mô tả use case .................................................................................. 36 i
  • 9. DANH MỤC HÌNH VẼ 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 i
  • 10. MỞ ĐẦU 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 Lê Thị Diệu Hiền, LỚP 30TTK 1
  • 11. Nguyê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 “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ê. Lê Thị Diệu Hiền, LỚP 30TTK 2
  • 12. Nguyê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 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. Lê Thị Diệu Hiền, LỚP 30TTK 3
  • 13. CHƯƠNG 1 CƠ SỞ LÝ THUYẾT I. DOTNETNUKE 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. Lê Thị Diệu Hiền, LỚP 30TTK 4
  • 14. Nguyê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 - 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). Lê Thị Diệu Hiền, LỚP 30TTK 5
  • 15. Nguyê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 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. Lê Thị Diệu Hiền, LỚP 30TTK 6
  • 16. Nguyê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 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ố lượng banner hiển thị cũng như là dạng banner. Lê Thị Diệu Hiền, LỚP 30TTK 7
  • 17. Nguyê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 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. Lê Thị Diệu Hiền, LỚP 30TTK 8
  • 18. Nguyê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 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 Lê Thị Diệu Hiền, LỚP 30TTK 9
  • 19. Nguyê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 (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#,… Lê Thị Diệu Hiền, LỚP 30TTK 10
  • 20. Nguyê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 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. Lê Thị Diệu Hiền, LỚP 30TTK 11
  • 21. Nguyê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.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ể Lê Thị Diệu Hiền, LỚP 30TTK 12
  • 22. Nguyê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 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. Lê Thị Diệu Hiền, LỚP 30TTK 13
  • 23. Nguyê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 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 Lê Thị Diệu Hiền, LỚP 30TTK 14
  • 24. Nguyê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ô 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 Lê Thị Diệu Hiền, LỚP 30TTK 15
  • 25. Nguyê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 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ị; Lê Thị Diệu Hiền, LỚP 30TTK 16
  • 26. Nguyê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 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: JavaScript có một số đối tượng định nghĩa sẵn, bao gồm mảng (Array), đố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 Lê Thị Diệu Hiền, LỚP 30TTK 17
  • 27. Nguyê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 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 đó. Cú pháp của CSS gồm ba thành phần: - Thành phần lựa chọn (thường là một thẻ HTML) (Selecto). - Thuộc tính (Property). - Giá trị (Value). Cú pháp như sau: Selector { Property1: Value1; Property2: Value2; } Selector có thể là các thẻ/nhóm thẻ HTML, các lớp khai báo, hay bằng định danh duy nhất của phần tử. Khi chèn các đoạn mã CSS vào trang web, trình duyệt sẽ hiển thị trang web theo cách CSS đã qui định cho nó, có ba cách để chèn CSS vào trang web: 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: <head> <link rel="stylesheet" type="text/css" href="mystyle.css"/> </head> Định nghĩa các style sheet ngay trong trang web: <head> <style type="text/css"> hr {color: sienna;} p {margin-left: 20px;} body {background-image: url("images/back40.gif");} </style> </head> Lê Thị Diệu Hiền, LỚP 30TTK 18
  • 28. Nguyê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 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. Lê Thị Diệu Hiền, LỚP 30TTK 19
  • 29. Nguyê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ạ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"> <books> <book id="1"> <title>HTML &amp; XML How to</title> <author>Coltech</author> <price>$50</price> </book> <book id="2"> <title>C programming - How to</title> <author>XML</author> <price>$23.5</price> </book> <book id="3"> <title>Teach yourself cooking</title> <author>Maika</author> <price>$10</price> </book> <!-- đây là một tag trống ---> <blank/> Lê Thị Diệu Hiền, LỚP 30TTK 20
  • 30. Nguyê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 </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 tag đóng và mở (<blank></blank>) hay có thể dùng dạng rút gọn <blank/>. Bất kỳ Lê Thị Diệu Hiền, LỚP 30TTK 21
  • 31. Nguyê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 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 ". Text: Text là những nội dung thuộc nhân tố, cung cấp thông tin về nhân tố đó. Vì dụ như trên Coltech là một text thuộc vào nhân tố author vì nó nằm giữa 2 tag <author> và </author>. Ngoài những cái trên thì còn những cái không quan trọng như là ghi chú (comment). Những câu ghi chú không thuộc vào nội dung của file .xml. Cũng giống như HTML, ghi chú trong XML được bao bởi cặp <!-- và --> 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 Lê Thị Diệu Hiền, LỚP 30TTK 22
  • 32. Nguyê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 .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: var xmlHttp; Lê Thị Diệu Hiền, LỚP 30TTK 23
  • 33. Nguyê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 function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } Đoạn mã trên kiểm tra sự hỗ trợ đối tượng ActiveX của trình duyệt. Nếu hỗ trợ ActiveX, thì tạo một đối tượng XMLHttpRequest dùng ActiveX. Trường hợp khác, tạo đối tượng này bằng kỹ thuật tạo đối tượng JavaScript nguyên thủy. Do đó dễ dàng tạo 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 Lê Thị Diệu Hiền, LỚP 30TTK 24
  • 34. Nguyê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 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: xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4){ // Lấy dữ liệu từ trả lời của server } } - Thuộc tính responseText: Nhận dữ liệu trả về từ server: xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4){ document.myForm.text.value = xmlhttp.responseText; } } 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); Lê Thị Diệu Hiền, LỚP 30TTK 25
  • 35. Nguyê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 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ở Lê Thị Diệu Hiền, LỚP 30TTK 26
  • 36. Nguyê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 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: Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu 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. Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao 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ệ Lê Thị Diệu Hiền, LỚP 30TTK 27
  • 37. Nguyê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 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- Lê Thị Diệu Hiền, LỚP 30TTK 28
  • 38. Nguyê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 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. Lê Thị Diệu Hiền, LỚP 30TTK 29
  • 39. CHƯƠNG 2 ĐẶC TẢ, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 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 I.1. Vị trí và chức năng Sở Giáo dục và Đào tạo là cơ quan chuyên môn thuộc Uỷ ban nhân dân tỉnh có chức năng tham mưu, giúp Uỷ ban nhân dâ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, bao gồm: Mục tiêu, chương trình, nội dung giáo dục và đào tạo, tiêu chuẩn nhà giáo và tiêu chuẩn cán bộ quản lý giáo dục; tiêu chuẩn cơ sở vật chất, thiết bị trường học và đồ chơi trẻ em; quy chế thi cử và cấp văn bằng, chứng chỉ; các dịch vụ công thuộc phạm vi quản lý nhà nước của Sở theo quy định của pháp luật. 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: - Văn phòng. - Thanh tra. - Phòng Kế hoạch - Tài chính. - Phòng Tổ chức Cán bộ. - Phòng Giáo dục Mầm non. - Phòng Giáo dục Tiểu học. - Phòng Giáo dục Trung học. Lê Thị Diệu Hiền, LỚP 30TTK 30
  • 40. Nguyê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 - 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. Lê Thị Diệu Hiền, LỚP 30TTK 31
  • 41. Nguyê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.1.1. Sơ đồ use case công chức Quan ly tai khoan CC_So luoc ly lich CC_Dac diem lich su ban than Quan tri he thong Danh muc CC_Quan he gia dinh BC_Danh sach cong chuc CC_Chuyen, nang ngach va nang bac luong <<extend>> BC_Danh sach nguoi dung dau Cong chuc CC_Bo nhiem, bo nhiem lai, tu chuc va mien nhiem <<extend>> BC_Danh sach vien chuc <<extend>> CC_Dieu dong, luan chuyen va biet phai BC_Tong hop vien chuc <<extend>> Lanh dao so CC_Dang vien Bao cao TK_Danh sach cong chuc <<extend>> <<extend>> <<extend>> TK_Danh sach nguoi dung dau Thong ke CC_Huu tri, thoi viec <<extend>> TK_Danh sach vien chuc <<extend>> TK_Quan ly cong chuc TK_Quan ly vien chuc Hình 2.3. Sơ đồ use case công chức Lê Thị Diệu Hiền, LỚP 30TTK 32
  • 42. Nguyê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.1.2. Sơ đồ use case phân rã DM_Trinh do giao duc DM_Ngach luong DM_Bac luong DM_Trinh do chuyen mon <<extend>> <<extend>> DM_Ly luan chinh tri DM_Nhom ngach <<extend>> <<extend>> <<extend>> <<extend>> DM_Quan ly nha nuoc <<extend>> <<extend>> DM_Ngoai ngu <<extend>> <<extend>> Danh muc DM_Tin hoc Cong chuc <<extend>> <<extend>> <<extend>> DM_Don vi <<extend>> DM_Nhom mau DM_Chuc vu DM_Don vi su nghiep DM_ Dan toc <<extend>> CC_Quan he gia dinh <<extend>> QKGD_Quan he gia dinh <<extend>> CC_Dac diem lich su ban than DDLSBT_Khen thuong QKGD_Tu nhan xet <<extend>> <<extend>> <<extend>> <<extend>> DDLSBT_Tuyen dung DDLSBT_Ky luat DDLSBT_Chinh tri xa hoi DDLSBT_Qua trinh dao tao Hình 2.4. Sơ đồ use case phân rã Lê Thị Diệu Hiền, LỚP 30TTK 33
  • 43. Nguyê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.1.3. Sơ đồ use case viên chức VC_So luoc ly lich BC_Danh sach vien chuc VC_Dac diem lich su ban than VC_Quan he gia dinh VC_Bo nhiem, bo nhiem lai, tu chuc va mien nhiem Vien chuc VC_Chuyen, nang ngach va nang bac luong TK_Danh sach vien chuc VC_Dieu dong, luan chuyen va biet phai VC_Huu tri, thoi viec TK_Quan ly vien chuc VC_Dang vien Hình 2.5. Sơ đồ use case viên chức Bảng mô tả use case STT Tên use case Tác nhân Đặc tả 1 DM_Nhom ngach Cong chuc Quản lý thông tin về nhóm ngạch Lê Thị Diệu Hiền, LỚP 30TTK 34