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