Mục đích nội dung của ĐATN Xây dựng dịch vụ phổ dụng “tư vấn chọn trường và định hướng nghề nghiệp” với mục đích tạo ra 1 ứng dụng tin học dễ sử dụng, có tính truy cập cao để hỗ trợ ngư
Trang 1VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2Họ và tên sinh viên: Vũ Mạnh Hùng
Điện thoại liên lạc: 01692640187 Email:
hungvubk06@gmail.com
Lớp: CNPM-K51 Hệ đào tạo: Chính qui
Đồ án tốt nghiệp được thực hiện tại:
Thời gian làm ĐATN: Từ ngày 28 / 02 /2011 đến 28 / 05 /2011
2 Mục đích nội dung của ĐATN
Xây dựng dịch vụ phổ dụng “tư vấn chọn trường và định hướng nghề nghiệp” với mục đích tạo ra 1 ứng dụng tin học dễ sử dụng, có tính truy cập cao để
hỗ trợ người dùng chọn trường và định hướng nghề nghiệp phù hợp cho tương lai
3 Các nhiệm vụ cụ thể của ĐATN
- Công việc 1 : Xây dựng chức năng hướng nghiệp
Hỗ trợ người dùng làm bài trắc nghiệm hướng nghiệp
Hỗ trợ người dùng làm bài trắc nghiệm theo tính cách
Hỗ trợ cơ sở đào tạo quản lý bài trắc nghiệm của mình
Hỗ trợ người dùng tải các tài liệu,tìm kiếm tài liệu hướng nghiệp
Hỗ trợ cơ sở đào tạo quản lý tài liệu hướng nghiệp của mình
Hỗ trợ người dùng đọc tài liệu trực tiếp trên web
- Công việc 2 : xây dựng chức năng tư vấn chọn trường
Hỗ trợ người dùng tham khảo các bài viết về tư vấn chọn trường
Hỗ trợ người dùng trao đổi trực tuyến với người hỗ trợ qua yahoomsg
Hỗ trợ admin quản lý thông tin tuyển sinh của các trường đại học,caođẳng, học viện trên toàn quốc
Hỗ trợ admin quản lý các bài viết tư vấn chọn trường
Hỗ trợ người dùng tra thông tin các trường đại học ,cao đẳng,học việntrên toàn quốc
- Công việc 3 :Tạo nguồn dữ liệu
Thêm dữ liệu cho bài trắc nghiệm,tài liệu hướng nghiệp, bài viết tưvấn
Crawl dữ liệu về thông tin của các trường đại học,cao đẳng, học viện
Trang 3Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác.
Hà Nội, ngày tháng nămTác giả ĐATN
Trang 4Mục đích của đề tài nhằm xây dựng dịch vụ phổ dụng “ tư vấn chọn trường vàđịnh hướng nghề nghiệp”, cung cấp cho đối tượng người sử dụng có các hành vikhác nhau có nhu cầu tìm trường phù hợp và định hướng nghề nghiệp tương lai, baogồm cả người bình thường và người mắc các loại khuyết tật khác nhau.
Qua tìm hiểu các lý thuyết về các mô hình hướng dịch vụ, mô hình phân tán,chuẩn truy cập, em nhận thấy giải pháp kết hợp mô hình kiến trúc hướng dịch
vụ(Service Oriented Architecture – SOA) với chuẩn WCAG 2.0 để xây dựng ứng
dụng phù hợp với yêu cầu đặt ra Công cụ lập trình được lựa chọn để xây dựng ứngdụng là hệ quản trị nội dung mã nguồn mở DotNetNuke, hỗ trợ lập trình viên xâydựng giao diện Web và tích hợp các dịch vụ lại, tạo ra một luồng thông tin nghiệp
vụ thống nhất
Sau quá trình phát triển và thử nghiệm, dịch vụ được xây dựng theo mô hìnhkiến trúc hướng dịch vụ và được triển khai tại trang http://cungkhoinghiep.net Dịch
vụ bao gồm các chức năng làm nhiệm vụ tính toán hay tương tác với cơ sở dữ liệu
để thực hiện các nghiệp vụ và được tích hợp vào website “cungkhoinghiep.net”.Các chức năng dịch vụ cung cấp bao gồm: chức năng hỗ trợ người dùng làm bàitrắc nghiệm định hướng nghề nghiệp, tải tài liệu hướng nghiệp, tra cứu thông tintuyển sinh các trường đại học ,cao đẳng và học viện trên toàn quốc và đọc các bàiviết tham khảo về vấn đề chọn trường ; chức năng hỗ trợ cơ sở đào tạo quản lý bàitrắc nghiệm hướng nghiệp và tài liệu hướng nghiệp, chức năng cho quản trị quản lýbài viết tham khảo tư vấn chọn trường
Trang 5The aim of this topic is to build up an online service, in form of “adviseuniversity selecting and support orienting about future career ” It provides userswith various behaviours who have demand of finding an appropriate university andorienting future job,including normal users and disabilities
After the process of studying the theories about service-oriented architecturemodel, accessibility standard WCAG 2.0, I found the solution that combining twotheories to build application is suitable to requirements set forth I chose contentmanagement system DotNetNuke as Programming tool for building applications.DotNetNuke can support developers to build Web interfaces and integrate services,which creates a flow of information integrally
After the period of development and testing, service is deployed at
http://cungkhoinghiep.net The composition of service includes 2 parts: WebService and service integrated Website whose interface is built according to theWCAG Service includes functions used to calculate or interact with the database
to perform businesses and is integrated into the website "cungkhoinghiep.net."Services also provide functions to allow users do career orientation tests,download document related to various career fields, search enrollementinformation of all universities, colleges or academies nation-wide and read articles
in selecting university Moreover,it allows training organizations to manage theirsown tests and documents.Finally, it gives adminitrators the function of managingadvisory aricles
Trang 6Em xin chân thành cảm ơn khoa Công Nghệ Thông Tin, Trường Đại họcBách Khoa Hà Nội đã hỗ trợ tạo nhiều điều kiện thuân lợi cho chúng em trong quátrình học tập cũng như quá trình thực hiện đề tài tốt nghiệp.
Em xin bày tỏ lòng biết ơn sâu sắc đến TS Vũ Thị Hương Giang đã tận tình
hướng dẫn, định hướng và truyền đạt cho em những kiến thức quý báu cùng vớinhững lời động viên khuyến khích của Cô trong những lúc khó khăn, gặp trở ngạikhi thực hiện đề tài
Em cũng xin chân thành cảm ơn các thầy cô trong bộ môn Công Nghệ PhầnMềm đã tận tình giảng dạy, trang bị cho chúng em những kiến thức cần thiết trongsuốt quá trình học tập và nghiên cứu
Cuối cùng em xin gửi lời cám ơn đến bạn bè đã hỏi thăm động viên khuyếnkhích và giúp đỡ em trong quá trình thực hiện đề tài
Mặc dù em đã cố gắng hết mình để hoàn thành tốt đề tài của mình nhưng dù saonhững điều sai sót trong đề tài là không thể tránh khỏi, kính mong các Thầy Côthông cảm và tận tình chỉ bảo cho em, mong các bạn đóng góp ý kiến để em có thểhoàn thiện đề tài của mình hơn
Trang 71 Giới thiệu 1
2 Nhiệm vụ được giao trong đề tài 2
3 Bố cục đồ án tốt nghiệp 2
Phần 1: Đặt vấn đề và định hướng giải pháp 2
I Bài toán “tư vấn chọn trường và định hướng nghề nghiệp” 3
1.1 Mô tả bài toán 3
1.2 Các vấn đề cần giải quyết 3
1.2.1 Yêu cầu về mặt chức năng 3
1.2.2 Yêu cầu về mặt nguồn dữ liệu 4
1.2.3 Yêu cầu về khả năng truy cập thuận tiện cho người dùng 4
II Định hướng giải quyết 4
2.1 Phương pháp tiếp cận 4
2.1.1 Vấn đề về chức năng của dịch vụ 4
2.1.2 Vấn đề về nguồn dữ liệu 4
2.1.3 Vấn đề về đáp ứng tính truy cập thuận tiện5
2.2 Cơ sở lý thuyết và công cụ để giải quyết bài toán 5
2.2.1 Kiến trúc hướng dịch vụ SOA 5
2.2.2 Khả năng sử dụng phổ quát của dịch vụ (universal usability) 11
2.2.3 Xây dựng ứng dụng Web với DotNetNuke 11
1.2.1 Chức năng cho người dùng thông thường 19
1.2.2 Chức năng cho người dùng đăng ký 20
1.2.3 Chức năng cho cơ sở đào tạo 20
1.2.4 Chức năng cho admin23
1.3 Thiết kế giải thuật 23
1.4 Thiết kế cơ sở dữ liệu 25
1.4.1 Các bảng lưu trữ dữ liệu của dịch vụ 25
Trang 8II Cài đặt 38
2.1 Cài đặt giao diện 38
2.2 Cài đặt tầng nghiệp vụ 40
2.3 Cài đặt tầng dịch vụ 40
III Triển khai và thử nghiệm 44
3.1 Triển khai thử nghiệm 44
Trang 9Hình 1:Mô hình dịch vụ 5
Hình 2: Cơ sở hạ tầng truyền thông 6
Hình 3: Các đối tượng trong mô hình SOA 8
Hình 4: Mô hình hệ thống phân tán 9
Hình 5: Cấu trúc một thông điệp SOAP 10
Hình 6: Giao diện thêm module vào trang web 12
Hình 7: Giao diện tạo mới module 13
Hình 8: Giao diện liệt kê các module hiện có trong DotNetNuke 13
Hình 9: Kiến trúc DotNetNuke 14
Hình 10: Các đối tượng tham gia dịch vụ 17
Hình 11:Các chức năng chính của dịch vụ 18
Hình 12: Miêu tả các bước trích rút thông tin 24
Hình 13:Sơ đồ liên kết giữa các bảng 25
Hình 14:Mô hình dữ liệu của DotNetNuke Framework về phân quyền 34
Hình 15:Cấu trúc cài đặt dịch vụ 38
Hình 16:Cài đặt tầng giao diện 39
Hình 17: Cài đặt tầng nghiệp vụ 40
Hình 18: Quản lý bài trắc nghiệm hướng nghiệp 48
Hình 19:Sửa chức năng bài trắc nghiệm hướng nghiệp 49
Hình 20:Làm bài trắc nghiệm hướng nghiệp 50
Hình 21:Chuẩn theo Mã G21 51
Hình 22:Chuẩn theo mã G57 51
Hình 23:Chuẩn theo mã G59 51
Hình 24:Chuẩn theo mã G83 52
Hình 25:Chuẩn theo mã G128 52
Hình 26:Chuẩn theo mã H43 53
Trang 10Hình 28:Trắc nghiệm John Holland của cungkhoinghiep.net 53
Hình 29:Trắc nghiệm John Holland của nans.com.vn 54
Hình 30:Biểu đồ điểm chuẩn của cungkhoinghiep.vn 55
Hình 31:Tra cứu trường của tuvanhuongnghiep.vn 55
Trang 11Bảng 1: Bảng tblNganhNghe 27
Bảng 2: Bảng tblCosoDaotao 28
Bảng 3: Bảng tblKiemTraDinhHuong 28
Bảng 4: Bảng tblCauHoiDinhHuong 29
Bảng 5: Bảng tblKetQuaDinhHuong 29
Bảng 6: Bảng tblCauTraLoiDinhHuong 29
Bảng 7: Bảng tblTaiLieuHuongNghiep 30
Bảng 8: BảngtblPhanHoiKiemTraDinhHuong 30
Bảng 9: Bảng tblMatranDiem 31
Bảng 10: Bảng tblloaiKhuyetTat 31
Bảng 11: Bảng tblTinhThanh 31
Bảng 12: Bảng tblTruong 32
Bảng 13: Bảng tblNganh 33
Bảng 14: bảng tblTuvan 33
Bảng 15: Bảng người dùng(DNN) 35
Bảng 16: Bảng thông tin người dùng (DNN) 36
Bảng 17: Bảng thông tin về quyền (DNN) 36
Bảng 18: Bảng thông tin nhóm quyền (DNN) 36
Bảng 19: Bảng thông tin các quyền người dùng(DNN) 37
Bảng 20: Các phương thức tầng dịch vụ 43
Bảng 21: Đặc tả yêu cầu kiểm thử 46
Bảng 22: Trường hợp kiểm thử với chức năng tạo bài trắc nghiệm 46
Bảng 23: Trường hợp kiểm thử với chức năng tạo câu hỏi trắc nghiệm 47
Bảng 24: Trường hợp kiểm thử với chức năng làm bài trắc nghiệm 47
Bảng 25: Trường hợp kiểm thử với chức năng tra cứu thông tin tuyển sinh 47
Trang 13Bảng 1: Danh mục từ viết tắt và thuật ngữ
1 SOA Service-oriented architecture – Kiến trúc
hướng dịch vụ
2 WCAG Web Content Accessibility Guidelines –
khuyến cáo của W3C
6 XML Extensible markup language – Ngôn ngữ
đánh dấu mở rộng
8 UDDI Universal Discovery, Description, and
Integration
Trang 14Mở đầu
1 Giới thiệu
Đối với các thí sinh đang đứng trước ngưỡng cửa trường đại học, phải lựa chọncho mình một trường để học thì không ít người chọn trường không phải vì sự quantâm hay niềm đam mê cá nhân mà là do sự tác động của người thân, vì địa vị xã hội,
vì trào lưu chung.Với một thực trạng thư vậy, thiết nghĩ cần phải có một cái gọi là
“Tư vấn chọn trường”.”Tư vấn chọn trường” là dựa vào sở thích, tính cách, nănglực học tập hiện tại của mỗi cá nhân nhằm đưa ra những góp ý về những trường mà
cá nhân đó nên theo học để có thể tận dụng được tối đa năng lực bản thân
Đi đôi với việc chọn trường là vấn đề về việc xác định nghề nghiệp,công việc trongtương lai sẽ làm, chúng ta cần một cái gọi là “Định hướng nghề nghiệp” Nói mộtcách ngắn gọn “Định hướng nghề nghiệp” là dựa vào những đặc điểm cá nhân vềmặt sở thích, tính cách, năng lực,trình độ học vấn …để đưa ra những nghành nghềphù hợp nhất cho cá nhân đó trong tương lai Do đó, “Định hướng nghề nghiệp” làmột điều tối cần thiết với những người đang băn khoăn không biết lựa chọn conđường nào để phát triển bản thân.Trong khi có rất nhiều các dịch vụ hỗ trợ tìm kiếmviệc làm, đào tạo nghề thì lại không hề có nhiều những dịch vụ hỗ trợ định hướngnghề nghiệp Định hướng nghề nghiệp có thể coi như là nền tảng của sự thành côngcủa mỗi cá nhân trong tương lai vì có sự định hướng tốt thì cá nhân mới phát triểnđược tối đa thế mạnh bản thân
Với mong muốn xây dựng một dịch vụ có thể đáp ứng được những yêu cầu về tưvấn chọn trường và định hướng nghề nghiệp vấn đề là kiến trúc phần mềm nào hỗtrợ tốt nhất việc xây dựng và tích hợp dịch vụ “tư vấn chọn trường và định hướngnghề nghiệp “ với các dịch vụ hiện có.Có thể thấy rằng SOA là kiến trúc phần mềmđang được tin tưởng hiện nay để giải quyết vấn đề đó
SOA(Service Oriented Architecture) ,theo định nghĩa của DotNetGuru, là “kháiniệm về hệ thống trong đó mỗi ứng dụng được xem như một nguồn cung cấp dịchvụ” Dịch vụ là yếu tố then chốt trong SOA.Có thể hiểu như là hàm chứcnăng(modun phần mềm) thực hiện một qui trình nghiệp vụ nào đó Một cách cơ bản,SOA là một tập hợp các dịch vụ kết nối mềm dẻo với nhau( nghĩa là một ứng dụng
có thể nói chuyện với ứng dụng khác mà không cần biết chi tiết kỹ thuật bên trong),
có giao tiếp(dùng để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nềntảng hệ thống , và có thể tái sử dụng.SOA là cấp độ cao hơn của sự phát triển ứngdụng, chú trọng đến qui trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sựphức tạp của chi tiết kỹ thuật bên dưới
Với những mong muốn đó, em đã chọn và thực hiện đề tài :
Xây dựng dịch vụ phổ dụng “Tư vấn chọn trường và định hướng nghề nghiệp”.
Trang 152 Nhiệm vụ được giao trong đề tài
1.2.1 Tìm hiểu về mô hình SOA
1.2.2 Xây dựng dịch vụ “Định hướng nghề nghiệp và tư vấn chọn trường” :
Hỗ trợ người dùng qua làm các trắc nghiệm để có thể biết nghànhnghề phù hợp cho tương lai
Hỗ trợ người dùng đọc hoặc tải về các tài liệu về các bài giảng liênquan đến các nghành nghề, các bài viết về việc tư vấn chọntrường
Hỗ trợ người dùng tra cứu thông tin tuyển sinh của các trường đạihọc , cao đẳng, học viện
Tư vấn trực tuyến qua yahoomsg: giúp người dùng có cơ hội nóichuyện trực tiếp với các chuyên gia về tư vấn chọn trường
1.2.3 Ứng dụng trong website http://cungkhoinghiep.net có tích hợp dịch
vụ “định hướng nghề nghiệp và tư vấn chọn trường”
3 Bố cục đồ án tốt nghiệp
Đồ án bao gồm có 4 phần chính Trong đó, phần 1 là phần mở đầu, giới thiệutổng quan về đồ án và công nghệ sử dụng Phần 2 là đặt vấn đề và định hướnggiải pháp, nêu các phương hướng phát triển cho đồ án Phần 3 là các kết quả đạtđược trong đồ án bao gồm kết quả phân tích thiết kế dịch vụ, kết quả thực hiệncài đặt và thử nghiệm dịch vụ, đánh giá ưu nhược điểm và khả năng sử dụng củadịch vụ Cuối cùng là phần 4, phần kết luận
Phần 1: Đặt vấn đề và định hướng giải pháp
Phần thứ nhất nêu vấn đề và định hướng giải pháp của bài toán “Tư VấnChọn Trường Và Định Hướng Nghề Nghiệp” và những công việc cần thực hiện vàcác công cụ sử dụng để hoàn thành yêu cầu đồ án đặt ra
Trang 16I Bài toán “tư vấn chọn trường và định hướng nghề nghiệp”
1.1 Mô tả bài toán
Xây dựng dịch vụ phổ dụng “ tư vấn chọn trường và định hướng nghề nghiệp”,cung cấp cho đối tượng người sử dụng có các hành vi khác nhau có nhu cầu tìmtrường phù hợp và định hướng nghề nghiệp tương lai, bao gồm cả người bìnhthường và người mắc các loại khuyết tật khác nhau
- Mục tiêu đề tài với mỗi lớp người dùng:
o Người dùng nói chung: Dịch vụ cho phép người dùng tìm kiếm thông tintuyển sinh của các trường đại học,học viện trên toàn quốc,tham khảo các bàiviết tư vấn chọn trường nhằm tìm trường phù hợp ; làm các bài trắc nghiệmhướng nghiệp để tìm lĩnh vực ngành nghề phù hợp, download các tài liệuhướng nghiệp của lĩnh vực ngành nghề mà người đó có nhu cầu học tập nângcao kiến thức
o Các cơ sở đào tạo: Dịch vụ cho phép cơ sở đào tạo quản lý các bài trắcnghiệm hướng nghiệp và tài liệu hướng nghiệp của mình
o Người quản trị: cho phép quản trị xét duyệt các bài trắc nghiệm hướngnghiệp,tài liệu hướng nghiệp, quản lý bài viết tham khảo tư vấn chọn trường
- Phạm vi ứng dụng: dịch vụ được sử dụng như một dịch vụ tích hợp trong dự ántổng thể - dự án hỗ trợ người khuyết tật khởi nghiệp
1.2 Các vấn đề cần giải quyết
1.2.1 Yêu cầu về mặt chức năng
Dịch vụ phải cung cấp các chức năng cần thiết cho người dùng với nhu cầu
tư vấn chọn trường và định hướng nghề nghiệp.Cụ thể là dịch vụ sẽ phải hỗ trợ cácchức năng sau:
A. Người dùng:
1 Đăng nhập
2 Làm bài trắc nghiệm:
Làm bài trắc nghiệm hướng nghiệp
Làm bài trắc nghiệm theo tính cách (chia làm 6 thiên hướnggồm: nghệ thuật,văn phòng,mạo hiểm,nghiên cứu, xã hội,kỹthuật)
3 Tư vấn trực tuyến với chuyên gia qua yahoomsg
4 Tham khảo tài liệu : Tài liệu hướng nghiệp:
Đọc tài liệu trực tiếp trên web
Tìm kiếm tài liệu theo lĩnh vực nghành nghề ( Công nghệthông tin, Điện, Tài chính kế toán…)
Download tài liệu hướng nghiệp Tài liệu tư vấn chọn trường:
Trang 175 Lưu các bài viết về tư vấn chọn trường
6 Tra cứu thông tin tuyển sinh của các trường đại học,cao đẳng,họcviện
B Cơ sở đào tạo nghề
1 Quản lý bài trắc nghiệm định hướng
2 Quản lý tài liệu hướng nghiệp
3 Quản lý bài trắc nghiệm hướng nghiệp
C Quản trị
1 Xét duyệt bài trắc nghiệm định hướng
2 Xét duyệt tài liệu hướng nghiệp
3 Quản lý bài viết tư vấn chọn trường
4 Quản lý thông tin tuyển sinh của trường
1.2.2 Yêu cầu về mặt nguồn dữ liệu
Dịch vụ phải cung cấp nguồn dữ liệu phong phú cho:
Bài trắc nghiệm định hướng nghề nghiệp
Tài liệu hướng nghiệp
Thông tin tuyển sinh của các trường đại học, cao đẳng, học viện trêntoàn quốc
Bài viết tư vấn chọn trường
1.2.3 Yêu cầu về khả năng truy cập thuận tiện cho người dùng
Giao diện của dịch vụ phải được thiết kế thuận tiện cho người dùng tiện thaotác ,tạo cảm giác thoái mái cho người dùng khi truy cập và sử dụng các chức năngcủa dịch vụ
Hỗ trợ phím tắt để người dùng có thể thao tác nhanh với nút lệnh
Hỗ trợ người dùng có thể dùng phím “tab” di chuyển đến các mục trongtrang
Có các nút “back” giúp người dùng quay lại trang trước ,để khỏi bị mắc kẹtkhi sử dụng dịch vụ
Bố cục giao diện bố trí đơn giản, dễ hiểu giúp người dùng có thể nhanhchóng tìm được chức năng mong muốn
II Định hướng giải quyết
2.1 Phương pháp tiếp cận
2.1.1 Vấn đề về chức năng của dịch vụ
Các chức năng trong dịch vụ phải có mối liên kết chặt chẽ về mặt nghiệp vụ,
và dịch vụ phải có khả năng tích hợp với các dịch vụ khác trong hệ thống Trong khi
đó, kiến trúc SOA ( kiến trúc hướng dịch vụ) là nền tảng hỗ trợ rất tốt những đòi hỏitrên.Do đó em lựa chọn kiến trúc SOA để xây dựng dịch vụ
Trang 182.1.2 Vấn đề về nguồn dữ liệu
Để đối phó với vấn đề nguồn dữ liệu, em chọn giải pháp crawl dữ liệu từtrang khác về.Có thể nói đây là giải pháp phổ biến hiện nay.Bằng việc gửi cácrequest lên server của website đang cần lấy giữ liệu và phân tích mã html trả về,ta
có thể thu được khối lượng dữ liệu rất lớn làm giàu cho nguồn dữ liệu của dịch vụ
2.1.3 Vấn đề về đáp ứng tính truy cập thuận tiện
Giải quyết vấn đề này thực chất là tìm cách thiết kế giao diện của dịch vụ saocho người dùng cảm giác thoải mái, thuận tiện khi truy cập và sử dụng các chứcnăng của dịch vụ Do đó, giao diện được thiết kế tuân theo chuẩn WCAG 2.0
2.2 Cơ sở lý thuyết và công cụ để giải quyết bài toán
Phần này em sẽ trình bày lý thuyết về SOA, Universal Usability và DotNetNuke
- Tên: cho phép định danh dịch vụ
- Giao diện (API): chỉ rõ các chức năng có thể cung cấp
Trang 19- Hướng dẫn sử dụng: chỉ rõ các ràng buộc và các đặc tính liên quan đếncác chức năng có thể cung cấp
Khai thác dịch vụ đơn giản là gọi đến các chức năng được chỉ ra trong giaodiện lập trình dịch vụ theo đúng hướng dẫn sử dụng dịch vụ
Việc thực hiện các lời gọi dịch vụ cũng cần đến sự góp mặt của một cơ sở hạtầng truyền thông cho phép các dịch vụ ứng dụng (applicative service) tương tác vớinhau Cơ sở hạ tầng truyền thông này cũng có thể được coi như một chuỗi dịch vụtương tác (interactive service) và dịch vụ mạng (network service), phụ trách việctrao đổi thông điệp giữa các máy nối mạng (Error: Reference source not found) Cácdịch vụ hạ tầng truyền thông này cung cấp một số tiêu chí cho phép tích phối cácdịch vụ ứng dụng, như là tiêu chí tương thao tác Chúng được thiết kế dựa trên mộttrong hai nguyên lý sau: nguyên lý chia sẻ dữ liệu (tạo ra cấu trúc dữ liệu chung chophép các dịch vụ ứng dụng truy cập và xử lý dữ liệu) và nguyên lý trao đổi thôngđiệp (kiểm soát việc trao đổi thông tin giữa các dịch vụ ứng dụng
Hình 2: Cơ sở hạ tầng truyền thông
Một cách cơ bản, Kiến trúc hướng dịch vụ (Service-oriented architecture) làmột hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng Kiếntrúc bao gồm một tập các dịch vụ thực hiện các qui trình được kết nối ‘mềm dẻo’với nhau (nghĩa là một ứng dụng có thể ‘nói chuyện’ với một ứng dụng khác màkhông cần biết các chi tiết kỹ thuật bên trong), có giao tiếp (dùng để gọi hàm dịchvụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng.SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến qui trình nghiệp vụ
và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật bên dưới
Có nhiều cách tiếp cận để phân loại dịch vụ Trong khuôn khổ đề tài này emquan tâm đến 3 cách phân loại chính:
Trang 20 Phân loại các dịch vụ dựa trên mục đích sử dụng hay đối tượng sử dụng Theo cách phân loại này sẽ có:
- Các dịch vụ tiện ích (utility service): cung cấp một số chức năng cơ bản cóthể được sử dụng trong nhiều quy trình nghiệp vụ khác nhau Ví dụ: một sốchức năng thao tác với cơ sở dữ liệu có thể được sử dụng trong các dịch vụ
hỗ trợ đào tạo nghề, định hướng nghề nghiệp Các dịch vụ nghiệp vụ(business services): cung cấp các chức năng nghiệp vụ cụ thể, ví dụ như chứcnăng sinh bài trắc nghiệm của dịch vụ hỗ trợ NKT định hướng nghề nghiệp
- Các dịch vụ tích phối (coordination or process services): cung cấp các tiếntrình nghiệp vụ tổng quát có sự tham gia của nhiều tác nhân khác nhau vớinhiều lớp hoạt động khác nhau, ví dụ như việc phối hợp các dịch vụ hỗ trợđào tạo nghề và định hướng nghề nghiệp
Phân loại các dịch vụ dựa trên nhiệm vụ hay đối tượng nghiệp vụ
Theo cách phân loại này sẽ có:
- Các dịch vụ hướng nhiệm vụ (task-oriented services): thực hiện các nhiệm
vụ cụ thể, ví dụ như dịch vụ giới thiệu sản phẩm do người khuyết tật làm ra
- Các dịch vụ hướng đối tượng nghiệp vụ: gắn với các đối tượng nghiệp vụ cụthể, ví dụ như dịch vụ diễn đàn thông tin dành cho người khuyết tật
Phân loại các dịch vụ dựa trên công nghệ phát triển
Công nghệ phát triển ở đây được hiểu là kiến trúc vật lý, các chuẩn và các kỹthuật liên quan đến việc phát triển phần mềm dưới dạng dịch vụ Theo cáchphân loại này sẽ có: dịch vụ dựa web (web-based service), dịch vụ web (webservice), dịch vụ dựa module, dịch vụ dựa thành phần phần mềm(component-based service), dịch vụ dựa tác tử (agent-based service), v.v Tađặc biệt quan tâm đến 2 lớp dịch vụ sau:
- Dịch vụ dựa web (web-based service): dịch vụ được phát triển bằng các côngnghệ web, cụ thể như sau:
Trang 21o Đặc tính, ràng buộc: đặc tả bằng lớp ngôn ngữ WS-*
Kết nối: giao thức SOAP
Hình 3: Các đối tượng trong mô hình SOA
Trong SOA có 3 đối tượng chính:
Bên đăng ký và lưu trữ dịch vụ (Service Registry): Chứa thông tin về các dịchvụ
Bên cung cấp dịch vụ (Service Provider): Chính là phía tạo ra dịch vụ và muốnđưa dịch vụ đến xã hội Nhà cung cấp cần cung cấp các thông tin về dịch vụ củamình và đăng ký tại bên lưu trữ dịch vụ(Service Registry)
Bên sử dụng dịch vụ (Service Consumer): Chính là những đối tượng sử dụng cácdịch vụ được tạo ra và triển khai bởi phía nhà cung cấp Phía bên sử dụng sẽ phảithực diện các giao dịch, thỏa thuận với phía nhà cung cấp để được sử dụng dịch vụ.Bên sử dụng có thể tìm kiếm các thông tin về dịch vụ tại nơi lưu trữ( ServiceRegistry )
Kiến trúc hướng dịch vụ SOA không phải khái niệm mới Một số kỹ thuật cóthể được sử dụng hệ thống theo kiến trúc SOA: Web service, CORBA, DCOM,J2EE…
Trang 22Hình 4: Mô hình hệ thống phân tán
Trong khuôn khỏ đề tài đồ án tốt nghiệp, em lựa chọn xây dựng kiến trúcSOA bằng kĩ thuật Web Service trên nền asp.net 3.5 Phần dưới báo cáo em xintrình bày 1 số khái niệm cơ bản trong Web Service và nguyên lý hoạt động các đốitượng trong Web Service( các đối tượng đã được trình bày ở phần trên báo cáo)
WSDL là một ngôn ngữ được định nghĩa dựa trên XML, được sử dụng để
mô tả một web service Ở mức cao, một văn bản WSDL là một bản hợp đồng giữabên cung cấp dịch vụ và bên sử dụng dịch vụ Nó cho biết tất cả những thông tincần thiết để bên web service và bên sử dụng tương tác với nhau, như các operation
mà một web service cung cấp, các kiểu thông điệp trao đổi giữa web service và bênliên quan, các callback operation mà bên sử dụng phải cung cấp cho web service
SOAP là một giao thức giao tiếp dùng trong Web service, được xây dựng dựa trênXML SOAP được sử dụng để đặc tả và trao đổi thông tin về các cấu trúc dữ liệucũng như các kiểu dữ liệu giữa các thành phần trong hệ thống Sử dụng SOAP, ứngdụng có thể yêu cầu thực thi method trên máy tính ở xa mà không cần quan tâm đếnchi tiết về platform cũng như các phần mềm trên máy tính đó
SOAP có 2 phiên bản: SOAP 1.1(năm 2000, trong đó, SOAP là viết tắt của ‘SimpleObject Access Protocol’), SOAP 1.2(năm 2003)
Các đặc điểm của SOAP:
Khả năng mở rộng: Cung cấp khả năng mở rộng phục vụ cho nhu cầu đặcthù của ứng dụng và nhà cung cấp Các chức năng về bảo mật, tăng độ tincậy có thể đưa vào phần mở rộng của SOAP Các nhà cung cấp dịch vụ khácnhau, tùy vào đặc điểm hệ thống của mình có thể định nghĩa thêm các chứcnăng mở rộng nhằm tăng thêm lợi thế cạnh tranh cũng như cung cấp thêmtiện ích cho người sử dụng
Trang 23 Có thể hoạt động trên các network protocol đã được chuẩn hóa (HTTP,SMTP, FTP, TCP, )
Độc lập với platform, ngôn ngữ lập trình hay programming model được sửdụng
Cấu trúc chung một thông điệp SOAP:
Protocol Header: Cho biết thông tin về các chuẩn giao thức được sử dụng
SOAP Envelop: Thông tin chính của message bao gồm:
SOAP Header: Chứa các SOAP header
SOAP body: Thông tin về name và data được đặc tả dưới dạng XML Ngoài
ra còn có trường lỗi được dùng để gửi các web service exception
Hình 5: Cấu trúc một thông điệp SOAP
service
Bên cung cấp dịch vụ(Service Provider): Dùng Web Services DescriptionLanguage (WSDL) để mô tả dịch vụ mà mình có thể cung cấp cho ServiceRegistry Bên đăng ký và lưu trữ dịch vụ(Service Registry): Lưu trữ thông tin vềcác service được cung cấp bởi các Service Provider Cung cấp chức năng tìmkiếm hỗ trợ Service Requester (Service Consumer) trong việc xác định ServiceProvider phù hợp Thành phần chính của Service Broker là Universal Discovery,Description, and Integration (UDDI) repositories
Bên sử dụng dịch vụ(Service Consumer): Dùng WSDL để đặc tả nhu cầu sửdụng (loại service, thời gian sử dụng, resource cần thiết, mức giá ) và gửi choService Registry Bằng việc sử dụng UDDI và chức năng tìm kiếm của ServiceRegistry, Service Consumer có thể tìm thấy Service Provider thích hợp Ngay
Trang 24sau đó, giữa Service Consumer và Service Provider thiết lập kênh giao tiếp sửdụng SOAP để thương lượng giá cả và các yếu tố khác trong việc sử dụngservice
Dịch vụ được gọi là có khả năng sử dụng phổ quát nếu nó được thiết kế theohướng tất cả mọi lớp người dùng đều sử dụng được các chức năng mà nó cung cấp.Khái niệm universal usability (được sử dụng bởi tất cả: usable by all) là tương đốigần với khái niệm universal accessibility (truy cập tới bởi tất cả: accessible by all)
và khái niệm universal design (thiết kế cho tất cả: design for all) Ba khái niệm nàycùng nhau bao phủ 3 lĩnh vực nghiên cứu quan trọng của công nghệ xây dựng phầnmềm hướng dịch vụ.Để xây dựng được một dịch vụ có khả năng sử dụng phổ quát,cần quan tâm đến 3 vấn đề chính sau:
Hỗ trợ trên phạm vi rộng các loại phần cứng, phần mềm, truy cập mạng Với
sự phát triển của công nghệ thông tin và truyền thông, 3 thành phần trên liêntục thay đổi, và có nhiều dạng kết hợp, dạng lai khác nhau
Thỏa mãn được các đối tượng người dùng khác nhau về tuổi tác, giới tính,văn hóa, thu nhập, khuyết tật, … Sự khác biệt được phân làm 3 loại chính:vật lý, nhận thức và văn hóa xã hội
Nối liền được khoảng cách tri thức giữa những người dùng biết và những gì
họ muốn biết về một hệ thống cụ thể
Vấn đề mấu chốt nhất của việc thiết kế theo định hướng phổ quát là nhận ra
sự đa dạng về loại người dùng cũng như các yêu cầu của họ Không có những userchung chung trong những dịch vụ có khả năng sử dụng phổ quát Có 2 cách tiếp cận
để thiết kế dịch vụ theo định hướng phổ quát : Cách thứ nhất là thiết kế một giaodiện dịch vụ duy nhất, có khả năng thỏa mãn sự đa dạng về công nghệ và sự đadạng về các loại người dùng của dịch vụ đó Cách thứ 2 là áp dụng mô hình thiết kế
đa tầng (multi-layer designs): khi một thiết kế đơn chưa thỏa mãn được sự khác biệtgiữa các đối tượng người dùng, các phiên bản khác nhau, hay các sự điều chỉnh vềcác điều khiển phải được cung cấp cho từng loại đối tượng Ví dụ như, với ngườimới bắt đầu, các lựa chọn sẽ được đưa ra ít, chủ yếu là các lựa chọn cơ bản nhất.Sau đó, khi người dùng đã tích lũy đủ kinh nghiệm, cảm thấy tự tin, có thể chọn cácmức cao hơn, và giao diện khi đó sẽ có sự điều chỉnh cho phù hợp
2.2.3.1 Định nghĩa hệ quản trị nội dung mã nguồn mở
Trang 25Hệ quản trị nội dung mã nguồn mở hay hệ thống quản lý nội dung ( ContentManagement System viết tắt là CMS) là một hệ thống quản lý phần mềm ứng dụngđược sử dụng để quản lý luồng công việc liên quan đến nhau như tạo mới, chỉnhsửa, xét duyệt, đánh giá chỉ mục, tìm kiếm, xuất bản và lưu trữ các thông tin điện tử,các tệp tin truyền thông đa phương tiện.
2.2.3.2 DotNetNuke
DotNetNuke là một hệ thống quản lí nội dung mã nguồn mở viết bằngVB.Net trên nền tảng asp.net Đây là một hệ thống mở, tùy biến giao diện dựa trêncác skin và tùy biến chức năng dựa trên module chức năng DotNetNuke có thểđược sử dụng để tạo các trang web một cách dễ dàng và nhanh chóng
2.2.3.3 Ưu điểm chính của DotNetNuke
Hỗ trợ quản lí người dùng
o Phân quyền đa dạng, có thể theo hình thức phân quyền cá nhân hoặc phânquyền theo nhóm thành viên
o Hệ thống không giới hạn số thành viên, nhóm thành viên
o Tổng hợp, phân tích và thống kê các truy cập một cách chi tiết
Hỗ trợ bảo mật cao
o Cung cấp các cơ chế mã hóa đảm bảo an toàn thông tin cho khách
o Cung cấp cơ chế chống tấn công qua URL
Hỗ trợ lập trình viên
o Tạo mới các module từ giao diện dễ dàng
Hình 6: Giao diện thêm module vào trang web
Trang 26Hình 7: Giao diện tạo mới module
o Tái sử dụng lại các module: Chọn lại các module đã được tạo ra cho trangweb
Hình 8: Giao diện liệt kê các module hiện có trong DotNetNuke
2.2.3.4 Kiến trúc DotNetNuke
Hiện nay, trong quá trình phát triển ứng dụng, để thuận tiên trong việc quản
lý các thành phần của hệ thống cũng như dễ dàng trong việc nâng cấp , sửa chữa cácthành phần đó mà không ảnh hưởng tới phần còn lại, người ta thường phân tách hệ
Trang 27thống thành nhiều tầng khác nhau, mỗi tầng đảm nhiệm một chức năng, nhiêm vụriêng biêt, từ đó hình thành nên kiến trúc đa tầng.Số tầng được phân ra phụ thuộcvào độ phức tạp của hệ thống , nhưng trong đó mô hình 3 tầng là phổ biến nhất Hệquản trị DotNetNuke cũng tuân theo cấu trúc này
Hình 9: Kiến trúc DotNetNuke
Lớp này làm nhiệm vụ tương tác với người dùng cuối Tầng này sẽ phụ trách việchiển thị nội dung dữ liệu mà người dùng yêu cầu và sẽ thu thập dữ liệu người dùng
để thực hiện các nghiệp vụ người dùng mong muốn Lớp này sẽ sử dụng các dịch vụ
do lớp Business Logic cung cấp Trong ASP.NET thì có thể dùng
Trong lớp này có 2 thành phần chính :
thông tin cho người dùng cuối Trong ASP.NET thì những thành phần này cóthể là các Web Control như DataGridView, TreeView , Control phía thirdparty như RadGridView hoặc các html control như TextArea
trình chuyển đổi giữa các UI Components
Trang 28Lớp này thực hiện các nghiệp vụ chính của hệ thống Dữ liệu và yêu cầu của clien
mà tầng presentation thu thập được sẽ được chuyển đến tầng này để xử lý Tầngnày sẽ cung cấp các dịch vụ cho tầng presentation và sử dụng các dịch vụ do lớp
Data Access cung cấp thực hiện các yêu cầu người dùng hoặc để lấy dữ liệu trả về
tầng presentation hiển thị cho client Sự ra đời của mô hình SOA đã cho phép tầngnày có thể giao tiếp với các dịch vụ khác của nhà cung cấp thứ 3 (3rd parties) đểthực hiện công việc của mình mà không cần phải tự triển khai lại từ đầu (ví dụ như
sử dụng dịch vụ thanh toán điện tử, lấy thông tin cổ phiếu chứng khoán, thông tinthời tiết ) Điều này giúp giảm tải đáng kể chi phí và thời gian cho doanh nghiệp Trong lớp này có các thành phần chính :
Service Interface là giao diện lập trình ma lớp này cung cấp cho lớp Presentation sử dụng Lớp Presentation chỉ cần biết các dịch vụ thông qua
giao diện này mà không cần phải quan tâm đến bên trong lớp này được hiệnthực như thế nào
tả bởi những thực thể Các business entities này cũng đóng vai trò trung giantrong trao đổi thông tin giữa tầng Presentation và tầng Data Access
Service Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc
logic(constraints), các qui tắc nghiệp vụ(business rules), sử dụng các dịch vụbên ngoài khác để thực hiện các yêu cầu của ứng dụng
Lớp này sẽ tương tác trực tiếp với cơ sở dữ liệu, thực hiện các tác vụ liênquan đến lưu trữ và truy xuất dữ liệu Thường lớp này sẽ sử dụng các dịch vụ củacác hệ quản trị cơ sở dữ liệu như SQL Server, Oracle,… để thực hiện nhiệm vụ củamình
Trong lớp này có các thành phần chính :
nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu – Data Sourcesnhư RDMBS, XML, File systems… Trong NET Các DALC này thườngđược hiện thực bằng cách sử dụng thư viện ADO.NET để giao tiếp với các
hệ cơ sở dữ liệu hoặc sử dụng các O/R Mapping Frameworks để thực hiệnviệc ánh xạ các đối tượng trong bộ nhớ thành dữ liệu lưu trữ trong CSDL.Chúng ta sẽ tìm hiểu các thư viện O/R Mapping này trong một bài viết khác
Service Agents: là những thành phần trợ giúp việc truy xuất các dịch vụ bênngòai một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại
Qua câu trúc được miêu tả ở trên, ưu điểm của mô hình 3 lớp có thể được thấyrõ:
Trang 29Công việc trong quá trình xây dựng ứng dụng được chia rẽ riêng biệt và độclập với nhau Điều này giúp các tầng không bị phụ thuộc và phải chời đợi nhautrong quá trình làm việc, một tầng chỉnh sửa thay đổi trong nội dung từng dịch vụkhông ảnh hưởng đến những tầng khác, dẫn đến việc đẩy nhanh tốc độ hoàn thànhứng dụng và tạo thuận lợi cho lập trình viên trong quá trình bảo trì sản phẩm Ngoài
ra, do tính độc lập của các tầng, khi các tầng được mã hóa xong bởi lập trình viên,quá trình ghép cũng trở nên linh hoạt và dễ dàng hơn Mô hình này khiến cho 2 tầngphía dưới sẽ trở nên ảo hoá đuối với người dùng cuối, qua đó giúp họ sử dụng hệthống dễ dàng hơn
Kết phần 2:
Trong phần 2 - Đặt vấn đề định hướng và giải pháp, em đã tập trung trình bày chitiết về các yêu cầu đặt ra với đề tài và giải pháp mà em sẽ áp dụng để giải quyết cácvấn đề đó Đồng thời trình bày chi tiết về cơ sở lý thuyết của kiến trúc hướng dịch
vụ (SOA) – là kiến trúc được sử dụng để xây dựng dịch vụ , tính phổ quát (universalusability) – là định hướng xây dựng dịch vụ và hệ quản trị nội dung mã nguồn mởDotNetNuke - là hệ quản trị nội dung hỗ trợ xây dựng dịch vụ các lý thuyết cơ bản
để xây dựng dịch vụ.Kết quả của việc áp dụng giải pháp đó xây dựng đề tài sẽ đượctrình bày cụ thể tại phần 3-Các kết quả đạt được
Trang 30Phần 2: Các kết quả đạt được
Phần hai nêu chi tiết các kết quả đã đạt được trong đồ án, bao gồm có phân tích vàthiết kế dịch vụ , miêu tả quá trình, các công việc trong lúc cài đặt và môi trườngtriển khai của dịch vụ
Phân tích và thiết kế dịch vụ
Hình 10: Các đối tượng tham gia dịch vụ
Hình 10 minh họa các đối tượng tham gia sử dụng dịch vụ bao gồm :
duyệt bài trắc nghiệm hướng nghiệp, xét duyệt tài liệu hướng nghiệp
nghiệp,tài liệu hướng nghiệp
Trang 321.2.1 Chức năng cho người dùng thông thường
Người dùng thông thường có các chức năng được miêu tả chi tiết như cácbảng sau đây:
Tra cứu thông tin trường: chức năng này cho phép người dùng tra cứu thông tinmột trường (đại học,cao đẳng hoặc trung cấp) bao gồm: thông tin chung vàthông tin tuyển sinh
o Đầu vào: Địa điểm ( Tỉnh/thành phố ),Hệ đào tạo ( Đại học,cao đẳng haytrung cấp),Tên trường
o Đầu ra: Thông tin chung ,Thông tin tuyển sinh các ngành nghề đào tạo
Xem bài viết tư vấn : chức năng này cho phép người dùng xem nội dung các bàiviết tư vấn chọn trường
o Đầu vào: Mã bài viết
o Đầu ra: Nội dung bài viết
Làm bài trắc nghiệm theo tính cách: chức năng này cho phép người dùng làmbài trắc nghiệm theo tính cách (dựa vào sự phân loại tính cách và môi trườnglàm việc theo 6 thiên hướng:
Realistic – kỹ thuật: xây dựng, sửa chữa, thích làm việc ngoài trời, công
social – xã hội:hỗ trợ , giúp đỡ, chỉ dẫn, chăm sóc
enterprising – mạnh bạo :bán hàng , quản lý , thuyết phục
conventional - tổ chức :ngăn nắp, tổ chức, xử lý dữ liệu, tính toán
o Đầu vào: Mã bài test mà người dùng chọn
o Đầu ra: Nội dung bài test bao gồm
Các câu hỏi
Các đáp án cho từng câu hỏi
Làm bài trắc nghiệm định hướng nghề nghiệp: chức năng này cho phép ngườidùng làm bài trắc nghiệm định hướng nghề nghiệp.Hỗ trợ 2 loại bài trắcnghiệm :
Trang 33 Trắc nghiệm định hướng tổng quát: tìm ra ngành nghề phù hợp với ngườidùng.
Trắc nghiệm định hướng chi tiết: đo mức độ phù hợp của người dùng vớimột ngành nghề cụ thể ( tính ra %)
o Đầu vào: Mã bài trắc nghiệm
o Đầu ra: Nội dung bài trắc nghiệm bao gồm
Các câu hỏi
Các đáp án cho từng câu hỏi
Phản hồi: chức năng này cho phép khách và người dùng sau khi đã làm bài trắcnghiệm có thể đóng góp ý kiến về nội dung của bài trắc nghiệm cho cơ sở đàotạo đã tạo bài trắc nghiệm đó
o Đầu vào: Ý kiến đóng góp (bắt buộc)
o Đầu ra: Phản hồi cho cơ sở đào tạo.
1.2.2 Chức năng cho người dùng đăng ký
Người dùng đăng ký có đầy đủ các chức năng như người dùng thông thường
và cộng thêm các chức năng được miêu tả chi tiết như các bảng sau đây:
Xem kết quả làm bài trắc nghiệm định hướng nghề nghiệp : chức năng này chophép người dùng đăng kí làm lại một bài kiểm tra mà họ đã làm để củng cố kiếnthức
o Đầu vào: Mã của bài kiểm tra và người dùng
o Đầu ra: Nội dung bài kiểm tra đã làm rồi
Download tài liệu hướng nghiệp: chức năng này cho phép khách và người dùngtải các tài liệu, văn vản hướng nghiệp
o Đầu vào: Link tải xuống của tài liệu hoặc trên Server của chính Websitehoặc Server của Website khác (bắt buộc)
o Đầu ra: Tài liệu được yêu cầu
Cơ sở đào tạo có đầy đủ chức năng của người dùng đăng ký và cộng thêmcác chức năng sau:
Xem danh sách bài trắc nghiệm hướng nghiệp: dịch vụ này cho phép cơ sở đàotạo xem các bài trắc nghiệm theo các tiêu chí mong muốn: loại bài trắc nghiệm,loại khuyết tật, lĩnh vực (nếu có) Nếu người dùng không có tiêu chí nào thì hệthống sẽ đưa ra danh sách tất cả bài trắc nghiệm
o Đầu vào: loại bài trắc nghiệm,loại khuyết tật,lĩnh vực (nếu có)
o Đầu ra: Các bài trắc nghiệm thỏa mãn tiêu chí của người dùng
Trang 34 Tạo bài trắc nghiệm hướng nghiệp: chức năng này cho phép cơ sở đào tạo tạo
mới bài trắc nghiệm tổng quát
o Đầu ra: Bài trắc nghiệm được thêm vào trong DB Hiển thị thông báothêm mới thành công
Sửa bài trắc nghiệm hướng nghiệp: chức năng này cho phép cơ sở đào tạo sửabài trắc nghiệm tổng quát
mà bài trắc nghiệm hướng tới
o Đầu ra: Bài trắc nghiệm được thêm vào trong DB Hiển thị thông báo cậpnhật thành công.
Xem danh sách câu hỏi hướng nghiệp: chức năng cho phép cơ sở đào tạo xemdanh sách các câu hỏi hướng nghiệp của một bài trắc nghiệm
o Đầu vào: Mã bài trắc nghiệm (bắt buộc)
o Đầu ra: Đưa ra danh sách các câu hỏi hướng nghiệp
Tạo câu hỏi hướng nghiệp: chức năng này cho phép cơ sở đào tạo thêm câu hỏivào DB
o Đầu vào: Mã câu hỏi hướng nghiệp
o Đầu ra: Danh sách câu trả lời hướng nghiệp
Trang 35 Tạo câu trả lời: chức năng này cho phép cơ sở đào tạo thêm câu trả lời cho mộtcâu hỏi của bài trắc nghiệm.
o Đầu vào: Lĩnh vực,Tên tài liệu
o Đầu ra: Danh sách tài liệu hướng nghiệp
Upload tài liệu hướng nghiệp: chức năng này cho phép các cơ sở đào tạo uploadtài liệu hướng nghiệp của mình
o Đầu vào: Tên tài liệu,Miêu tả sơ lược,Miêu tả chi tiết,Đường dẫn
o Đầu ra: Tài liệu được thêm vào DB, hiển thị thông báo thêm mới thànhcông
Sửa tài liệu : chức năng này cho phép các cơ sở chỉnh sửa lại nội dung các tàiliệu hướng nghiệp của mình
Trang 36o Đầu vào: Mã tài liệu ,Tên tài liệu,Miêu tả sơ lược,Miêu tả chi tiết,Đườngdẫn
o Đầu ra: Nội dung tài liệu được được cập nhật
Xem danh sách phản hồi: chức năng này cho phép cơ sở đào tạo xem nhữngphản hồi của người dùng về bài trắc nghiệm của mình
o Đầu vào: Mã bài trắc nghiệm
o Đầu ra: Danh sách những phản hồi của người dùng về bài trắc nghiệm
1.2.4 Chức năng cho admin
Admin (Người Quản trị) là tác nhân có vai trò quan trọng, gồm đẩy đủ cácchức năng với dịch vụ như người dùng đăng ký và các chức năng:
Xem danh sách bài viết tư vấn: chức năng này cho phép quản trị xem danh sáchcác bài viết tư vấn chọn trường
o Đầu vào: không có
o Đầu ra: Các bài viết tư vấn chọn trường
Thêm mới bài viết: chức năng này cho phép quản trị thêm mới bài viết tư vấn
o Đầu vào: Ngày tạo, nội dung bài viết, tác giả
o Đầu ra: Bài viết được thêm vào DB, hiển thị thông báo thêm mới thànhcông
Sửa bài viết: chức năng này cho phép quản trị sửa bài viết tư vấn
o Đầu vào: Mã bài viết, Ngày sửa,Nội dung, Tác giả
o Đầu ra: Cập nhật thông tin bài viết trong DB, hiển thị thông báo cập nhậtthành công
Duyệt tài liệu hướng nghiệp: chức năng này cho phép quản trị duyệt tài liệuhướng nghiệp của cơ sở đào tạo
o Đầu vào: Mã tài liệu
o Đầu ra: Cập nhật trạng thái mới cho tài liệu trong DB ( trạng thái cấm hayđược hiển thị)
Duyệt bài trắc nghiệm định hướng nghề nghiệp: chức năng này cho phép quảntrị duyệt bài trắc nghiệm định hướng nghề nghiệp của cơ sở đào tạo
o Đầu vào: Mã bài trắc nghiệm
o Đầu ra: Cập nhật trạng thái mới cho bài trắc nghiệm trong DB( trạng tháicấm hay được hiển thị)
Sau đây, em sẽ xin trình bày giải thuật trích rút thông tin tuyển sinh đã sửdụng để tạo ứng dụng crawler thu thập thông tin tuyển sinh của các trường đạihọc,cao đẳng, học viện trên toàn quốc
Hình 15 Miêu tả các bước trích rút thông tin tuyển sinh của các trường trên trang
http://diemthi.24h.com.vn/index.php/diemchuan Bộ crawler là một ứng dụngConsole Appication (.Net Framework 4.0) do em tự xây dựng cho phép