Về phía các cơ sở đào tạo luôn sẵnsàng để hỗ trợ đào tạo trực tuyến và ngoại tuyến người khuyết tật, tuy nhiên, vẫnchưa có 1 cách thức nào để liên kết các cơ sở đào tạo lại để tạo ra 1 m
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2HÀ NỘI 27-5-2011
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Phan Văn Hùng
Điện thoại liên lạc: 0988188836 Email: hungpv1988@gmail.com
Lớp: Công Nghệ Phần Mềm K51 Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: Viện công nghệ và truyền thông
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 và chuẩn hóa dịch vụ hỗ trợ đào tạo nghề theo chuẩn WCAG 2.0
3 Các nhiệm vụ cụ thể của ĐATN
Công việc 1:
o Tìm hiểu mô hình kiến trúc hướng dịch vụ - SOA
o Tìm hiểu về công nghệ Web Service
Công việc 2:
o Tìm hiểu tổng quan về chuẩn truy cập WCAG 2.0
o Xác định rõ sẽ áp dụng những khuyến cáo nào trong chuẩn để xây dựngWebsite phía khách hàng tích hợp dịch vụ
o Tìm hiểu về hệ quản trị nội dung mã nguồn mở DotNetNuke
Công việc 3:
o Phân tích và thiết kế các chức năng dịch vụ hỗ trợ đào tạo nghề
o Thiết kế cơ sở dữ liệu
Công việc 4:
o Xây dựng các chức năng dịch vụ hỗ trợ đào tạo nghề
o Xây dựng Website tích hợp dịch vụ hỗ trợ đào tạo nghề
Công việc 5:
o Tìm hiểu các công cụ đánh giá tính truy cập Website
o Xây dựng dịch vụ chuẩn hóa giao diện Web theo chuẩn WCAG 2.0
o Xây dựng Website tích hợp dịch vụ chuẩn hóa
Công việc 6:
o Tổng kết quá trình thực hiện đồ án, nộp báo cáo theo thời hạn được Việnquy định
Trang 34 Lời cam đoan của sinh viên:
Tôi – Phan Văn Hùng - cam kết ĐATN là công trình nghiên cứu của bản thân tôidưới sự hướng dẫn của TS Vũ Thị Hương Giang
Cá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
Trang 4TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Hiện tại nước ta có khoảng 5.1 triệu người khuyết tật, chiếm 7% dân số cả nước
Họ không có nhiều cơ hội để tiếp cận với giáo dục đào tạo nghề do các vấn đề liênquan đến sức khỏe và điều kiện kinh tế khó khăn Hiện nay, đã xuất hiện nhiềuWebsite đào tạo nghề, tuy nhiên tính truy cập và nội dung đào tạo các trang webnày đều không đáp ứng được mong đợi của người khuyết tật
Đề tài: “Xây dựng và chuẩn hóa dịch vụ hỗ trợ đào tạo nghề theo chuẩn
WCAG 2.0” nhằm 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ợ đào tạo nghề trực tuyến các đối tượng người khuyết tật
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, tôi 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[1]) với chuẩn WCAG 2.0[2] để 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ứng dụng là hệ quản trị nội dung mã nguồn mở DotNetNuke[3], hỗ trợ lập trình viênxây dự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 tinnghiệ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.Thành phần của dịch vụ bao gồm dịch vụ Web (web service) và giao diện Webđược xây dựng theo chuẩn WCAG 2.0 phía khách hàng sẽ tích hợp và sử dụng dịch
vụ đó
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ọcnghề cho người dùng, chức năng quản lý giáo trình cho cơ sở đào tạo, chức năngquản lý người dùng cho quản trị Ngoài ra, dịch vụ còn cung cấp chức năng chuẩnhóa giao diện web theo chuẩn WCAG 2.0 để giúp quản trị nâng cao tính truy cậpcủa Website Chức năng này sẽ phát hiện ra các lỗi về tính truy cập của từng trangweb và đưa ra gợi ý chi tiết cách khắc phục để hỗ trợ quản trị sửa chữa các lỗi đó
Trang 5Abstract of thesis
At present, our country has about 5.1 million people with disabilities, accountingfor 7% of the national population They do not have chances to access vocationaltraining education due to problems related to health and difficult economicconditions Currently, there emerged many vocational training sites, but those sites’training content and accessibility can’t satisfy the expectations of people withdisabilities
My thesis: "Building and standardize vocational training service according toWCAG 2.0 standards" aimed at creating a computer application that not only is easy
to use but also has high accessibility to support online training for the disabled
After the process of studying the theories about service-oriented architecturemodel[1], accessibility standard WCAG 2.0[2], I found the solution that combiningtwo theories to build application is suitable to requirements set forth I chosecontent management system DotNetNuke [3] as Programming tool for buildingapplications DotNetNuke can support developers to build Web interfaces andintegrate services, which creates a flow of information integrally
After the period of development and testing, service is deployed athttp://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 toperform businesses and is integrated into the website "cungkhoinghiep.net."Services also provide functions related to vocational training for the user,curriculum management for the training institutions, and user management foradministrators In addition, the service also provides function standardizing Webinterface according to WCAG 2.0 standard to help administrators improveaccessibility of the Website This function will detect the accessibility error of eachpage and suggests ways to fix it
Trang 6LỜI CẢM ƠN
Em 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 tôi 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 đỡ tôi trong quá trình thực hiện đề tài
Mặc dù tôi đã cố gắng hết mình để hoàn thành tốt đề tài của mình nhưng dùsao nhữ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 72 Yêu cầu đặt ra với dịch vụ hỗ trợ đào tạo nghề 17
II Định hướng thực hiện đề tài 19
1 Phương hướng giải quyết các vấn đề đặt ra 19
1.1 Hướng giải quyết yêu cầu về mặt chức năng 19
1.2 Hướng giải quyết yêu cầu về mặt nội dung 19
1.3 Hướng giải quyết yêu cầu về mặt khả năng tiếp cận 191.4 Khả năng kiểm soát tính truy cập Website 20
1.5 Khả năng tích hợp với các dịch vụ khác 20
2 Giải pháp đề xuất 21
2.1 Kiến trúc dịch vụ 21
2.2 Qui trình công việc thực hiện 22
3 Cơ sở lý thuyết và công cụ sử dụng trong đề tài 23
1 Phân tích và thiết kế dịch vụ hỗ trợ đào tạo nghề 29
1.1 Các tác nhân tham gia vào dịch vụ 29
Trang 81.2 Các chức năng của dịch vụ 30
1.3 Thiết kế qui trình nghiệp vụ 35
1.4 Thiết kế cơ sở dữ liệu 37
2 Phân tích và thiết kế dịch vụ chuẩn hóa giao diện Website 482.1 Các chức năng của dịch vụ 48
2.2 Thiết kế qui trình nghiệp vụ 48
3 Thiết kế giao diện chung: 50
II Cài đặt 52
1 Kiến trúc cài đặt dịch vụ 52
2 Cài đặt giao diện WebSite 53
3 Cài đặt tầng nghiệp vụ Website 54
4 Cài đặt tầng dịch vụ 54
III Triển khai thử nghiệm và đánh giá kết quả 58
1 Triển khai thử nghiệm 58
1.1 Đối tượng thử nghiệm 59
1.2 Môi trường thử nghiệm 59
Trang 9Danh mục bảng
Bảng 1: Bảng tblNganhNghe 39
Bảng 2: Bảng tblCongViec 40
Bảng 3: Bảng tblCosoDaotao 40
Bảng 4: Bảng tblCosoDaotaoNghe 41
Bảng 5: Bảng tblLichHoc 41
Bảng 6: Bảng tblBaiKiemTra 42
Bảng 7: Bảng tblBaiGiang 42
Bảng 8: Bảng tblCauHoi 43
Bảng 9: Bảng tblTrongSo 43
Bảng 10: Bảng tblLuaChon 44
Bảng 11: Bảng tblKetQuaBaiKiemTra 44
Bảng 12: Bảng Roles 45
Bảng 13: Bảng RoleGroup 46
Bảng 14: Bảng Users 47
Bảng 15: Bảng UserProfile 47
Bảng 16: Bảng UserRoles 48
Bảng 17: Các phương thức tầng dịch vụ 57
Bảng 18: Đặc tả yêu cầu kiểm thử 60
Bảng 19: Kiểm thử với chức năng tạo giáo trình 61
Bảng 20: Kiểm thử chức năng chọn câu hỏi cho bài kiểm tra 61
Bảng 21: Kiểm thử chức năng kiểm tra tính truy cập 62
Bảng 22: Kiểm thử chức năng thay đổi trạng thái cơ sở 62
Trang 10Bảng 23: Kiểm thử chức năng làm bài kiểm tra 62 Bảng 24: Kiểm thử chức năng đăng nhập 63 Bảng 25: So sánh nghiệp vụ Website với các Website khác 69
Trang 11Danh mục hình vẽ
Hình 1: Kiến trúc ứng dụng 21Hình 2: Các tác nhân trong một hệ thống SOA 24Hình 3: Mô hình ứng dụng phân tán 24Hình 4: Cấu trúc một thông điệp SOAP 26Hình 5: Các tác nhân sử dụng dịch vụ 29Hình 6: Các chức năng của dịch vụ 30Hình 7: Các bước tạo bài kiểm tra 36Hình 8: Các bước tạo ra 1 giáo trình mới 36Hình 9: Các bước thực hiện chức năng tìm kiếm giáo trình 37Hình 10: Các bước thực hiện chức năng tìm kiếm lịch học 37Hình 11: Liên kết giữa các bảng ứng dụng 39Hình 12: Các bảng liên quan đến chức năng phân quyền 45Hình 13: Các chức năng dịch vụ chuẩn hóa giao diện Web 48Hình 14: Các bước thực hiện chức năng kiểm tra tính truy cập Web 49Hình 15: Các bước thực hiện chức năng sửa lỗi mã nguồn 49Hình 16: Bố cục Website theo WCAG 2.0 50
Hình 18: Phần đầu thân trang giao diện 51Hình 19: Phần giữa thân trang giao diện 51Hình 20: Phần cuối trang giao diện 52Hình 21: Cấu trúc tổng thể dịch vụ 53Hình 22: Cài đặt tầng giao diện 54Hình 23: Cài đặt tầng nghiệp vụ 54
Trang 12Hình 24: Class diagram 57Hình 25: Giao diện trang chủ 64Hình 26: Giao diện trang chủ cione.com.vn 64Hình 27: Chức năng tìm kiếm giáo trình 65Hình 30: Chức năng kiểm tra và sửa lỗi mã nguồn 67
Trang 13Danh mục từ viết tắt và thuật ngữ
3 SOA Service Oriented Architecture
6 SOAP Simple Object Access Protocol – Giao thức truy nhập đối
tượng đơn giản.
7 WSDL Web Service Definition Language - Ngôn ngữ đặc tả Web
Service.
8 WCAG Web content accessibility guidelinces
Trang 14Phần 0: Mở đầu luận văn
Hiện nay ở Việt Nam có trên 5.1 triệu người tàn tật [4], chiếm 7% dân số Trong
đó, người tàn tật về cơ quan vận động chiếm tỉ lệ cao nhất: 35,46% sau đó là thịgiác: 15,70% và thần kinh chiếm 13,93% Những đối tượng người khuyết tật nàyphải chịu nhiều thiệt thòi trong cuộc sống, họ không có nhiều cơ hội để đến trường
và tiếp cận với thông tin của xã hội hiện đại nên đa phần gặp rất nhiều khó khăntrong việc tìm kiếm được công việc phù hợp để cải thiện thu nhập đời sống Ngườikhuyết tật luôn mong muốn được đào tạo bài bản về một ngành nghề nào đó để cóthể tìm kiếm được một công việc phù hợp với bản thân
Đào tạo trực tuyến trên Internet là một phương pháp hữu hiệu giúp người khuyếttật dễ dàng tiếp cận với kiến thức về các ngành nghề thiết thực trong cuộc sống.Hiện tại đã có 1 số website đào tạo trực tuyến như http://www.cione.com.vn/ hay
http://www.fithou.edu.vn Tuy nhiên, nội dung giảng dạy tại các trang này chưađược sắp xếp và tổ chức hợp lý, thiếu sự kết hợp giữa các dạng thông tin như hìnhảnh, văn bản, video phụ đề để tạo ra một nội dung dễ hiểu và dễ tiếp cận Ngoài ra,việc truy cập internet đối với người khuyết tật là một điều rất khó khăn do bản thânngười khuyết tật bị hạn chế rất nhiều về khả năng thao tác cũng như nhận thức khi
sử dụng các thiết bị truy cập Nguyên nhân chính dẫn tới vấn đề trên là do cácwebsite được xây dựng chỉ tập trung khai thác đối tượng người dùng bình thường
mà không thực sự chú ý tới người khuyết tật Giao diện Web rất đẹp và bắt mắtnhưng lại khó truy cập
Trong khuôn khổ đồ án tốt nghiệp em mong muốn xây dựng một dịch vụ hỗ trợđào tạo nghề dành hướng tới đối tượng người khuyết tật Giao diện Web của dịch
vụ sẽ được xây dựng theo chuẩn WCAG 2.0[2] nhằm đảm bảo tính truy cập cao chongười dùng trong các bối cảnh sử dụng và tình trạng sức khỏe khác nhau Ngoài ra,
để hỗ trợ lập trình viên tạo ra những giao diện web chuẩn, em sẽ xây dựng dịch vụchuẩn hóa giao diện web theo khuyến cáo của wcag 2.0 để phát hiện và sửa chữanhững lỗi truy cập trong giao diện web của dịch vụ hỗ trợ đào tạo nghề do lập trìnhviên gây ra
Dịch vụ được xây dựng theo mô hình hướng dịch vụ (Service Oriented
Architechture –SOA [1]) là một mô hình rất phổ biến và được ưa chuộng trong xâydựng ứng dụng Web Mô hình SOA cho phép các bên phát triển sử dụng các dịch
vụ của nhau mà không chịu rằng buộc gì liên quan đến môi trường hệ điều hành haycác nền tảng mà ứng dụng được tạo ra Khi muốn sử dụng dịch vụ của 1 tổ chức nào
đó (đóng vai trò nhà cung cấp provider) để xây dựng các module ứng dụng, bên sửdụng (đóng vai trò client) sẽ gửi các yêu cầu đến dịch vụ của provider thông quagiao thức soap, bên provider sẽ gửi trả các kết quả yêu cầu về phía client Ở đây,
Trang 15client chỉ cần đăng kí sử dụng dịch vụ và thực hiện các lời gọi để lấy về kết quảmong muốn mà không cần phải biết và quan tâm đến các công việc được thực hiệnbên trong dịch vụ
Đồ án là sự phát triển tiếp từ một phần trong dự án mã số 04-NCCD-2010 - Xâydựng thử nghiệm mô hình trang thông tin điện tử có tích hợp dịch vụ hỗ trợ ngườikhuyết tật khởi nghiệp do viện CNTT & TT-ĐHBKHN thực hiện dưới sự hướngdẫn trực tiếp của TS Vũ Thị Hương Giang và các thầy cô trong viện
Bố cục đồ án tốt nghiệp như sau
Phần 1: Mở đầu
o Giới thiệu ĐATN
o Tóm tắt nội dung, giải pháp thực hiện và bố cục đồ án
Phần 2: Đặt vấn đề và định hướng giải pháp
o Mô tả chi tiết bài toán xây dựng và chuẩn hóa dịch vụ “Hỗ trợ đào tạonghề”
o Mô tả phương hướng giải quyết bài toán
o Tóm tắt cơ sở lý thuyết và công cụ phục vụ cho việc xây dựng, triển khaithử nghiệm dịch vụ
o Trình bày chi tiết các nhiệm vụ cần thực hiện trong quá trình xây dựngdịch vụ
Phân 3: Các kết quả đạt dược
o Chương 1: Phân tích và thiết kế ứng dụng
o Chương 2: Cài đặt ứng dụng
o Chương 3: Triển khai thử nghiệm và đánh giá kết quả
Phần 4: Kết luận
Trang 16Phần 1: Đặt vấn đề và định hướng giải pháp
Trong phần 1 của báo cáo, tôi xin trình bày các luận điểm sau:
- Lý do lựa chọn đề tài
- Những yêu cầu đặt ra với đề tài
- Định hướng thực hiện đề tài gồm các phần: phương hướng giải quyết các yêucầu đặt ra, giải pháp đề xuất để thực hiện đề tài và những cơ sở lí thuyết tìm hiểucũng như các công cụ liên quan đến giải pháp
I Tổng quan đề tài
1 Đặt vấn đề
Nhu cầu học nghề của người khuyêt tật
Theo phân loại của tổ chức sức khỏe con người thế giới (WHO), người khuyếttật được phân thành các nhóm chính như sau: khuyết tật thân thể (physicaldisabilities), khuyết tật các giác quan (sensory disabilities), khuyết tật trí tuệ(intellectual disabilities) và khuyết tật tâm thần (psyatric disabilities) Các khuyết tậtnày cũng có thể quan sát được hoặc không quan sát được Mức độ nghiêm trọng củacác khuyết tật này được phân thành 3 mức: nặng, vừa và nhẹ Thời điểm mắc phảicác khuyết tật cũng khác nhau: lúc mới sinh, lúc còn nhỏ hoặc lúc đã trưởng thành.Nguyên nhân gây ra các khuyết tật rất đa dạng: dị tật bẩm sinh, tai nạn, ốm yếu Theo ước tính của tổ chức này, trên thế giới có khoảng 600 triệu người khuyết tậttrong đó số người khuyết tật ở châu Á chiếm khoảng 370 triệu người Chỉ 10% sốtrẻ em khuyết tật được đến trường
Đa phần người khuyết tật sinh sống ở các vùng nghèo khổ, và 20% số ngườinghèo trên thế giới là người khuyết tật Do điều kiện kinh tế khó khăn cùng vớinhững thiệt thòi gặp phải trong cuộc sống, người khuyết tật không có nhiều cơ hội
để được đến trường học và tiếp cận với thông tin của xã hội hiện đại nên phần lớntrong số họ gặp rất nhiều khó khăn trong quá trình tìm kiếm việc làm để nâng caochất lượng cuộc sống
Hiện tại, đã có những trang web có mục đích đào tạo nghề xuất hiện như http://www.cione.com.vn/ hay http://www.fithou.edu.vn Tuy nhiên, vẫn còn đó rất nhiềuhạn chế
Về mặt giao diện: giao diện các Website này chỉ có thể đáp ứng được yêu cầucủa người dùng bình thường hoặc với một phần rất nhỏ trong số những đốitượng khuyết tật Đại đa số người khuyết tật gặp rất nhiều khó khăn khi sử dụngcác Website này do cách tổ chức thông tin, luồng nghiệp vụ phức tạp và thiếucác kỹ thuật trợ giúp họ khắc phục những khó khăn gặp phải như: bối cảnh sửdụng, hiện trạng sức khỏe
Trang 17 Về mặt nội dung: chương trình đào tạo các website nói trên cũng chủ yếu hướngđến đối tượng người dùng bình thường, chưa phù hợp với người khuyết tật Nộidung đào tạo thiếu sự kết hợp giữa các dạng thông tin(ảnh, video, văn bản) đểtạo ra những bài học dễ hiểu, dễ hình dung Về phía các cơ sở đào tạo luôn sẵnsàng để hỗ trợ đào tạo trực tuyến và ngoại tuyến người khuyết tật, tuy nhiên, vẫnchưa có 1 cách thức nào để liên kết các cơ sở đào tạo lại để tạo ra 1 môi trườnghọc tập thuận lợi cho người khuyết tật.
Về mặt nghiệp vụ: các Website trên chỉ tập trung chủ yếu đến việc đưa nội dunggiảng dạy lên Web mà vẫn chưa chú ý đến quá trình học của người dùng, dẫnđến việc thiếu sót nhiều chức năng quan trọng có thể hỗ trợ người dùng theo dõiquá trình học và củng cố kiến thức
Người khuyết tật cần 1 Website đào tạo nghề được xây dựng theo chuẩn truy cập
để tạo ra những trang Web có tính truy cập cao và nội dung thông tin phù hợp
Kể cả khi giao diện được xây dựng theo chuẩn, Website cần phải có 1 thời gianhoạt động thử nghiệm để có thể đánh giá được hiệu quả bởi lẽ những thiếu sót gây
ra bởi lập trình viên là khó tránh khỏi Chẳng hạn như lập trình viên có thể quên ápdụng kĩ thuật trợ giúp người khiếm thính hay không cung cấp đủ thông tin cần thiếtcho các trình đọc màn hình để hỗ trợ người mù Điều này sẽ ảnh hưởng lớn đếnquá trình sử dụng Web của người khuyết tật Từ thực tại đó, có thể thấy rằng việckiểm soát tính truy cập giao diện Web để cải tiến giao diện nhằm đáp ứng tốt hơnyêu cầu về tính sử dụng của người dùng là 1 vấn đề mang tính cấp bách Cần phải
có 1 công cụ giúp lập trình viên hay quản trị phát hiện những lỗi truy cập trang web
để có thể khắc phục kịp thời
2 Yêu cầu đặt ra với dịch vụ hỗ trợ đào tạo nghề
- Về mặt chức năng: thiết kế của dịch vụ cần phải đề cao tính thực tiễn, có khảnăng áp dụng và triển khai được trong thực tế lâu dài Mục tiêu lớn nhất của dịch
vụ là đào tạo nghề cho người khuyết tật; qua đó, giúp họ tìm kiếm được nhữngcông việc phù hợp với bản thân để cải thiện chất lượng cuộc sống Các chứcnăng không chỉ tập trung vào việc tạo ra chương trình giảng dạy mà còn phải hỗtrợ quá trình học của người khuyết tật Yêu cầu này đòi hỏi giai đoạn khảo sátthực tế và phân tích yêu cầu phải được thực hiện nghiêm túc
- Về mặt nội dung:
o Nội dung các giáo trình giảng dạy:
Dạng văn bản tiếng Việt dành cho tất cả các đối tượng người dùng
Có các miêu tả sơ lược rõ ràng về giáo trình để người dùng hiểu rõđược mục đích giáo trình trước khi học
Trang 18 Nội dung giáo trình phải được chia ra thành các mức nhỏ nhất cóthể Giáo trình sẽ gồm các mức con là bài giảng, bài giảng có cácmức con là mục, mỗi mục sẽ có mức nhỏ hơn là mục con Cấu trúcgiáo trình sẽ có dạng cây, giúp người khuyết tật dễ hình dung vàtheo dỏi Với mỗi bài giảng/ mục, nên có video phụ đề, hình ảnhminh họa đi kèm theo để giúp người khuyết tật dễ tiếp thu kiếnthức hơn Điều này đặc biệt có ý nghĩa với đối tượng người khuyếttật về mặt nhận thức
o Nội dung, bố cục trang Web phải được tổ chức theo 1 cấu trúc dễ hiểu và
dễ sử dụng nhất Ngoài ra, phải có hướng dẫn chi tiết cho người khuyếttật về các chức năng mà dịch vụ cung cấp và cách sử dụng các chức năng
- Về khả năng dễ tiếp cận:
Người dùng tiếp cận Internet theo những bối cảnh sử dụng và năng lực hành vikhác nhau Do đó, giao diện web của dịch vụ phải cung cấp những kĩ thuật trợ giúpcần thiết có khả năng giải quyết những bất tiện người dùng gặp phải Chẳng hạn vớiđối tượng người sử dụng khuyết tật vận động, kỹ năng thao tác với bàn phím, haychuột bị hạn chế rất nhiều, do đó việc sử dụng bàn phím ảo hỗ trợ trong thao tác sẽgiúp sử dụng website dễ dàng hơn Từ những luận điểm trên có thể thấy rằng, giaodiện web cần tuân theo 1 chuẩn về tính truy cập đã được chấp nhận và sử dụng rộngrãi
- Vềkhả năng kiểm soát tính truy cập giao diện Web của dịch vụ:
Cần thiết phải có 1 công cụ có khả năng chuẩn hóa giao diện Web để đảm bảotính dễ truy cập với người khuyết tật Khái niệm chuẩn truy cập vẫn còn mới ở ViệtNam, không phải ai cũng có kiến thức về chuẩn truy cập để có thể phát hiện và sửalỗi do những lập trình viên trước đây đã mắc phải lúc xây dựng Web, việc sửa chữalỗi là rất khó khăn Do đó, công cụ này phải chỉ rõ cụ thể lỗi ở đoạn mã phía client,sau đó tìm ra những đoạn mã nguồn phát sinh và đưa ra những gợi ý sửa chữa để hỗtrợ những quản trị và lập trình viên có kiến thức về chuẩn truy cập hạn chế có thểsửa chữa những lỗi đó
- Về khả năng tích hợp với các dịch vụ khác:
Dịch vụ phải có khả năng tích hợp với các dịch vụ khác (dịch vụ định hướngnghề nghiệp, giới thiệu việc làm và quảng bá sản phẩm) trong trang thông tin điện
tử hỗ trợ người khuyết tật khởi nghiệp, tại wesite http://cungkhoinghiep.net
II Định hướng thực hiện đề tài
Trang 191 Phương hướng giải quyết các vấn đề đặt ra
Sau khi tham khảo các trang web hiện có về đào tạo nghề, cơ sở lý thuyết vềchuẩn truy cập WCAG 2.0[2] và các công cụ kiểm tra tính truy cập Website, phươnghướng giải xây dựng dịch vụ hỗ trợ đào tạo nghề có khả năng đáp ứng được yêu cầuđặt ra như sau:
Dịch vụ được xây dựng theo mô hình kiến trúc hướng dịch vụ (Service
Oriented Archirecture-SOA [1]) để đáp ứng yêu cầu về khả năng tích hợp củadịch vụ với các dịch vụ khác
Giao diện Website tích hợp dịch vụ tuân theo chuẩn WCAG 2.0
Website phía khách hàng cần phải có công cụ cho phép quản trị viên chuẩn hóagiao diện Web theo chuẩn WCAG 2.0[2]
1.1 Hướng giải quyết yêu cầu về mặt chức năng
Trong khuôn khổ đồ án tốt nghiệp, dịch vụ sẽ kế thừa các chức năng hiện có củacác website đào tạo nghề đã nêu ở trên và bổ sung thêm những chức năng mới, tạonên điểm nhấn cho dịch vụ như: hỗ trợ người dùng củng cố kiến thức đã học quacác bài kiểm tra, lưu lại kết quả các bài kiểm tra để người dùng theo dõi, tìm kiếmnâng cao
1.2 Hướng giải quyết yêu cầu về mặt nội dung
Để đáp ứng yêu cầu về mặt nội dung giáo trình, dịch vụ sẽ phải cung cấp các
kĩ thuật cho phép cơ sở kết hợp các dạng dữ liệu khác nhau (hình ảnh, video, text)lại để tạo ra nội dung giáo trình Ngoài ra, với sự hỗ trợ của các control hãng pháttriển telerik [17], cơ sở có thể tổ chức giáo trình theo cấu trúc theo dạng cây: mức caonhất sẽ là giáo trình, giáo trình sẽ bao gồm bài giảng là các mức con, bài giảng sẽ cócác mức dưới là các mục, tiếp theo các mục sẽ là các mục con Với cấu trúc dạngcây, cơ sở đào tạo có thể chia nhỏ giáo trình ra, giúp cho nội dung học trở nên đơngiản, dễ tiếp cận hơn (điều này đặc biệt có ý nghĩa với đối tượng người khuyết tậtnhận thức)
1.3 Hướng giải quyết yêu cầu về mặt khả năng tiếp cận
Để phù hợp với người khuyết tật và người bình thường, việc xây dựng giao diệnweb cho dịch vụ cần tuân theo các khuyến cáo về tính truy cập được nêu trong
chuẩn WCAG 2.0 (Web Content accessibility Guidelines [2]) Chuẩn có hướng dẫnchi tiết về cách thức áp dụng các kỹ thuật để xây dựng nên những Website có tínhtruy cập cao Ngoài ra, phía cơ sở đào tạo có thể bao gồm chính những ngườikhuyết tật, họ tham gia vào các cơ sở đào tạo với mong muốn chia sẻ kiến thức giúpnhững người đồng cảnh ngộ có thể vượt qua những khó khăn, thiệt thòi trong cuộcsống Do đó, các control phía giao diện cơ sở đào tạo và chức năng phải thật tiện
Trang 20lợi, dễ sử dụng và thao tác hơn so với các control thông thường sẵn có (vì chứcnăng phức tạp, nhiều thao tác mà người dùng bị hạn chế nhiều mặt) Các Controlphía third party (control thao tác dữ liệu của telerik [17], bàn phím ảo ) sẽ được ápdụng để xây dựng giao diện Web dịch vụ Người dùng sẽ được cung cấp những kĩthuật trợ giúp cần thiết nhất để thao tác dễ dàng với giao diện Web
1.4 Khả năng kiểm soát tính truy cập Website
WebSite tích hợp dịch vụ sẽ được xây dựng theo chuẩn WCAG 2.0[2] Để giaodiện Web thực sự có tính truy cập cao cần đảm bảo những lỗi gây ra bởi lập trìnhviên phải được khắc phục, dẫn đến nhu cầu cần phải xây dựng dịch vụ chuẩn hóagiao diện Web theo chuẩn WCAG 2.0 Khi tích hợp dịch vụ này vào Website, quảntrị có thể kiểm tra lỗi truy cập của từng trang web cụ thể để phát hiện lỗi về tínhtruy cập mà lập trình viên mắc phải và sửa trực tiếp từ giao diện web những lỗi đó.Dịch vụ chuẩn hóa sẽ được xây dựng nhờ các bộ phân tích cấu trúc HTML Các bộphân tích này cho phép xét duyệt từng thẻ html của trang web để kiểm tra các thẻ
đó Từ các thẻ html vi phạm chuẩn phía client, có thể suy ra được nguồn gốc lỗiphát sinh từ phía mã nguồn và chỉnh sửa lại cho đúng
1.5 Khả năng tích hợp với các dịch vụ khác
Hiện nay kiến trúc hướng dịch vụ (Service Oriented Architecture – SOA[1])đang thể hiện ưu thế vượt trội so với các kiến trúc khác trong khả năng tái sử dụng,tính độc lập với nền tảng phát triển và khả năng tích hợp với các dịch vụ khác Có 3tác nhân tham gia vào quá trình hoạt động của một ứng dụng được xây dựng theokiến trúc này Bên lưu trữ dịch vụ(Registry) sẽ lưu giữ thông tin về các dịch vụ, bêncung cấp dịch vụ tạo ra dịch vụ và đăng ký với bên lưu trữ dịch vụ, bên sử dụngdịch vụ sẽ sử dụng các dịch vụ được tạo ra bởi phía nhà cung cấp Phía bên sử dụng
sẽ phải thực diện các giao dịch, thỏa thuận với phía nhà cung cấp để được sử dụngdị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ữ
Ba tác nhân tạo nên một thể thống nhất trong kiến trúc SOA Ứng dụng kháchhàng chỉ cần đăng ký và sử dụng dịch vụ Bên cung cấp chịu trách nhiệm về chấtlượng và thực hiện các công việc duy trì, cải tiến, nâng cấp dịch vụ Điểm nổi bậtcủa kiến trúc hướng dịch vụ là một dịch vụ có thể cung cấp cho nhiều khách hàng.Khi có yêu cầu sử dụng một dịch vụ, thay vì phải đầu tư cho việc xây dựng mới vàbảo trì dịch vụ, khách hàng có thể sử dụng dịch vụ của bên cung cấp Điều này có ýnghĩa lớn trong việc tiết kiệm thời gian và chi phí cho quá trình xây dựng sản phẩmcủa bên sử dụng
Với những ưu điểm được kể ra ở trên, mô hình kiến trúc hướng dịch vụ SOA sẽđược chọn để đáp ứng yêu cầu về khả năng tích hợp của dịch vụ hỗ trợ đào tạo nghề
Trang 21với các dịch vụ còn lại của trang thông tin điện tử hỗ trợ người khuyết tật khởinghiệp
2 Giải pháp đề xuất
2.1 Kiến trúc dịch vụ.
Hinh 1 miêu tả kiến trúc dịch vụ được áp dụng để giải quyết những vấn đề đã đượcmiêu tả ở trên Kiến trúc bao gồm: tầng giao diện tương tác với người dùng, tầngnghiệp vụ thực hiện yêu cầu người dùng và tầng dịch vụ cung cấp API cho lập trìnhviên
Hình 1: Kiến trúc ứng dụng
Trang 22Tầng Presentation 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ệc hiể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 thao tác nghiệp vụ Các Web Control nhưDataGridView, TreeView, hay Control phía third party như RadGridView hoặc cáchtml control như TextArea sẽ được áp dụng để xây dựng tầng này
Do được xây dựng dựa trên các khuyến cáo trong chuẩn WCAG 2.0, tầng giaodiện của Web có khả năng cung cấp nhiều kỹ thuật trợ giúp người khuyết tật thaotác trong quá trình học nghề và đào tạo nghề(nếu người khuyết tật tham gia hoạtđộng của cơ sở đào tạo) Ví dụ với đối tượng người khuyết tật thị giác, giao diệncung cấp đầy đủ thông tin cần thiết cho các trình trợ giúp (jaws…) hay với ngườikhuyết tật về tay thì giao diện cung cấp các bàn phím ảo để hỗ trợ Ngoài ra, nộidung, bố cục trang Web cũng được tổ chức, bố trí theo trình tự hợp lý, di chuyểngiữa các thành phần quan trọng trong trang Web để lấy thông tin dễ dàng
Tầng Business Logic thực hiện các nghiệp vụ chính của ứng dụng Dữ liệu vàyêu cầu của client mà tầng presentation thu thập được sẽ được chuyển đến tầng này
để xử lý Tầng Business Logic sẽ sử dụng các dịch vụ của tầng Service để lấy dữliệu trả về tầng presentation đáp ứng yêu cầu của client Sự ra đời của mô hình SOA
đã cho phép tầng Business Logic có thể giao tiếp với các dịch vụ khác của nhàcung cấp thứ 3 để thực hiện công việc của mình cần thiết mà không cần phải tự triểnkhai lại từ đầu
Tầng business logic của Website có áp dụng các kỹ thuật chịu lỗi của chuẩnWCAG 2.0, giúp tránh được những xử lý trả về lỗi hoặc thông tin nhầm lẫn về phíaclient, gây gián đoạn quá trình truy cập của người dùng
Service Layer
Tầng Service 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, phục vụ cho tầng Business Ngoài ra, các ứngdụng của những nhà phát triển khác cũng có thể sử dụng các chức năng có sẵn màdịch vụ cung cấp (đặc biệt là dịch vụ chuẩn hóa giao diện Web) để giảm thiểu chiphí và thời gian xây dựng
Nhờ tầng Service, việc xây dựng ứng dụng trên các nền tảng khác nhau(Android, Iphone, ) để mang lại nhiều cách tiếp cận Web cho người khuyết tật trởnên dễ dàng hơn do có thể sử dụng lại hoàn toàn những chức năng được tầngservice cung cấp Người khuyết tật có thể có nhiều lựa chọn hơn trong việc sử dụngtrang Web
Trang 232.2 Qui trình công việc thực hiện
Xây dựng dịch vụ Web hỗ trợ đào tạo nghề(giao diện API cho lập trình viên)
Xây dựng Website phía client tích hợp dịch vụ này
Xây dựng dịch vụ chuẩn hóa giao diện Website theo chuẩn WCAG 2.0
Xây dựng chức năng kiểm soát tính truy cập cho Website phía client có tích hợpdịch vụ chuẩn hóa
Tích hợp với các dịch vụ khác trên trang cungkhoinghiep.net
Sau đây tôi sẽ trình bày các cơ sở lý thuyết và các công cụ được sử dụng trong
đề tài
3 Cơ sở lý thuyết và công cụ sử dụng trong đề tài
Tại phần này em sẽ trình bày về: kiến trúc hướng dịch vụ[1] , chuẩn truy cập WCAG
3.1 Kiến trúc hướng dịch vụ
Những luận điểm quan trọng về kiến trúc hướng dịch vụ gồm có khái niệm, cáctác nhân tham gia vào kiến trúc và các kĩ thuật để xây dựng ứng dụng theo kiếntrúc
3.1.1 Khái niệm
Dịch vụ là yếu tố then chốt và là khái niệm quan trọng nhất trong mô hình SOA
Có thể hiểu một dịch vụ như là một hàm chức năng (mô-đun phần mềm) thực hiệnqui trình nghiệp vụ nào đó Một dịch vụ có khả năng nhận một hay nhiều yêu cầu
xử lý và sau đó đáp ứng lại bằng cách trả về một hay nhiều kết quả Quá trình nhậnyêu cầu và trả kết quả về được thực hiện thông qua các interface đã được định nghĩatrước đó Thông thường việc giao tiếp này được thực hiện trên các interface đã đượcchuẩn hóa và sử dụng rộng rãi
Một cách cơ bản, Kiến trúc hướng dịch vụ (Service-oriented architecture)[1] 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 ứng dụ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ìnhnghiệ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
3.1.2 Các tác nhân trong SOA
Hình 2 miêu tả các tác nhân tham gia trong một hệ thống xây dựng theo SOA Có 3tác nhân bao gồm bên cung cấp dịch vụ, bên lưu trữ và bên sử dụng dịch vụ
Trang 24Hình 2: Các tác nhân trong một hệ thống SOA
Bên đăng ký và lưu trữ dịch vụ (Service Registry): Nơi lưu trữ thông tin về dịch
vụ của các Service Provider khác nhau, Service Requester dựa trên những thôngtin này để tìm kiếm và lựa chọn Service Provider phù hợp
Bên cung cấp dịch vụ (Service Provider): Cung cấp dịch vụ đáp ứng nhu cầu nào
đó trong cuộc sống
Bên sử dụng dịch vụ (Service Consumer): Chính là những đối tượng khách hàng
sử dụng các dịch vụ được tạo ra và triển khai bởi phía nhà cung cấp
3.1.3 Kĩ thuật xây dựng SOA
Kiến trúc hướng dịch vụ SOA không phải khái niệm mới Hình 3 miêu tả một số
kĩ thuật có thể được sử dụng ứng dụng theo kiến trúc SOA: Web service, CORBA,DCOM, J2EE…
Hình 3: Mô hình ứng dụng phân tán
Trong đó phổ biến là kỹ thuật sử dụng dịch vụ web (Web service) Dịch vụ web
sử dụng các phương thức giao tiếp đã được chuẩn hóa Do đó ứng dụng phía kháchhàng, dù phát triển trên nền tảng nào, đều có thể sử dụng các dịch vụ được cung cấp
Trang 25Trong khuôn khổ đề tài đồ án tốt nghiệp, em lựa chọn xây dựng kiến trúc SOAbằng kĩ thuật Web Service trên nền asp.net 3.5 Phần dưới báo cáo em xin trình bày
1 số khái niệm cơ bản trong Web Service và vai trò hoạt động các tác nhân trongWeb Service( các tác nhân đã được trình bày ở phần trên báo cáo)
Web Services Description language(WSDL) [18]
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ữa bêncung 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 tin cầnthiế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ên liênquan, các callback operation mà bên sử dụng phải cung cấp cho web service
Simple Object Access Protocol (SOAP) [19]
SOAP là một giao thức giao tiếp dùng trong Web service, được xây dựng dựatrên XML SOAP được sử dụng để đặc tả và trao đổi thông tin về các cấu trúc dữliệu cũng như các kiểu dữ liệu giữa các thành phần trong ứng dụng Sử dụng SOAP,ứng dụ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đến chi 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
‘Simple Object Access Protocol’), SOAP 1.2(năm 2003) SOAP gồm 1 số đặc điểmchính sau
o Khả năng mở rộng (extensible): Cung cấp khả năng mở rộng phục vụ chonhu cầu đặc thù của ứng dụng và nhà cung cấp Các chức năng về bảomật, tăng độ tin cậy có thể đưa vào phần mở rộng của SOAP Các nhàcung cấp dịch vụ khác nhau, tùy vào đặc điểm ứng dụng của mình có thểđịnh nghĩa thêm các chức năng mở rộng nhằm tăng thêm lợi thế cạnhtranh cũng như cung cấp thêm tiện ích cho người sử dụng
o Có thể hoạt động trên các network protocol đã được chuẩn hóa (HTTP,SMTP, FTP, TCP, )
o Tính độc lập (independence): SOA độc lập với platform, ngôn ngữ lậptrình Bên sử dụng dịch vụ có thể xây dựng ứng dụng, ứng dụng của họtrên bất kì nền tảng nào và bằng bất kì ngôn ngữ gì Điều này không ảnhhưởng đến khả năng sử dụng dịch vụ
Cấu trúc chung một thông điệp SOAP
o Protocol Header: Cho biết thông tin về các chuẩn giao thức được sử dụng
o SOAP Envelop: Thông tin chính của message bao gồm:
o SOAP Header: Chứa các SOAP header
o 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
Trang 26Hình 4 miêu tả cấu trúc một thông điệp SOAP bao gồm các thành phần ProtocolHeader, SOAP Envelope, SOAP Header, SOAP Body.
Hình 4: Cấu trúc một thông điệp SOAP
Quá trình tham gia vào hoạt động web service của các tác nhân
o Bên cung cấp dịch vụ (Service Provider): Dùng Web ServicesDescription Language (WSDL) để mô tả dịch vụ mà mình có thể cungcấp cho Service Registry
o 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ăngtìm kiếm hỗ trợ Service Requester (Service Consumer) trong việc xácđịnh Service Provider phù hợp Thành phần chính của Service Broker làUniversal Discovery, Description, and Integration (UDDI) repositories
o 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 cho Service Registry Bằng việc sử dụng UDDI và chức năng tìmkiếm của Service Registry, Service Consumer có thể tìm thấy ServiceProvider thích hợp Ngay sau đó, giữa Service Consumer và ServiceProvider 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ụng service
WCAG gồm 5 nhóm kĩ thuật:
Trang 27 Các kỹ thuật chung (General technique): liên quan tới liên kết trang, màu sắc,thời gian truy cập, form, bàn phím, nội dung… Ký hiệu đầu là G, bao gồm 144khuyến cáo
Các kỹ thuật HTML: liên quan tới văn bản mô tả, label, title, bảng, tiêu đề, thứ
tự tab… Ký hiệu đầu là H bao gồm 57 khuyến cáo
Các kỹ thuật liên quan đến CSS: liên quan đến trang trí, định dạng, phông chữ,hình ảnh Ký hiệu đầu là C bao gồm 22 khuyến cáo
Các kỹ thuật chịu lỗi : liên quan đến lỗi khi người thiết kế không tuân theo các
kỹ thuật nêu trên Ký hiệu đầu là F bao gồm 74 khuyến cáo
3.3 Hệ quản trị nội dung mã nguồn mở DotNetNuke [3]
3.3.1 Định nghĩa hệ quản trị nội dung mã nguồn mở
Hệ quản trị nội dung mã nguồn mở hay ứng dụng quản lý nội dung (ContentManagement System viết tắt là CMS) là một ứng dụ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
o ứng dụ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
Trang 28 Hỗ trợ lập trình viên
o Tạo mới các module từ giao diện dễ dàng
o Tái sử dụng lại các module
o Tích hợp các dịch vụ web lại với nhau
Kết chương:
Trong phần 1-Đặt vấn đề định hướng và giải pháp, tôi đã nêu rõ các vấn đề hiệntại đối với người khuyết tật và những điểm nhấn trong mô hình tôi sẽ áp dụng mà cóthể giải quyết vấn đề đạt ra Kết quả của việc áp dụng giải pháp đó xây dựng đề tài
sẽ được trình bày cụ thể tại phần 2-Các kết quả đạt được.
Phần 2: Các kết quả đạt được
Trong phần 2 của báo cáo đồ án, đầu tiên tôi sẽ trình bày về phân tích và thiết kếchức năng của dịch vụ hỗ trợ đào tạo nghề và chuẩn hóa giao diện Web theo chuẩn
Trang 29WCAG 2.0[2] Sau đó, tôi sẽ giới thiệu mẫu thiết kế chung cho giao diện Web của 2dịch vụ và cuối cùng, tôi sẽ giới thiệu cac kết quả cài đặt và thử nghiệm của từngdịch vụ.
I Phân tích và thiết kế dịch vụ
1 Phân tích và thiết kế dịch vụ hỗ trợ đào tạo nghề
1.1 Các tác nhân tham gia vào dịch vụ
Hình 5 miêu tả các tác nhân sử dụng giao diện web của dịch vụ bao gồm: khách,người dùng đăng ký, cơ sở đào tạo và quản trị Tác nhân cha có thể thể thực hiệncác chức năng nào thì tác nhân con sẽ cũng có quyền sử dụng các chức năng đó
Hình 5: Các tác nhân sử dụng dịch vụ
Khách: Chỉ có thể dùng những chức năng liên quan đến học nghề
Người dùng đăng nhập: Có tất cà các quyền mà khách có và thêm quyền để sửdụng các chức năng đăng ký làm cơ sở đào tạo và lưu lại kết quả bài kiểm tra
Cơ sở đào tạo: Có toàn quyền mà người dùng đăng nhập và có thêm quyền đểthực hiện những chức năng phía cơ sở đào tạo
Quản trị: Chịu trách nhiệm quản trị người dùng và kiểm soát tính truy cập củagiao diện Web
1.2 Các chức năng của dịch vụ
Trang 30Hình 6 minh họa 32 chức năng được thiết kế để đáp ứng yêu cầu về mặt chức năngđược đặt ra với dịch vụ.
Hình 6: Các chức năng của dịch vụ
1.2.1 Các chức năng cho người dùng thông thường
Dịch vụ cung cấp cho người dùng thông thường 8 chức năng sau đây:
Tìm kiếm giáo trình: Chức năng này cho phép người dùng tìm kiếm các giáotrình theo các tiêu chí mà người dùng muốn Một khi tìm thấy, người dùng cóthể xem chi tiết các giáo trình này Nếu người dùng không chọn ra tiêu chí nàothì ứng dụng sẽ đưa ra danh sách tất cả giáo trình theo thứ tự mới nhất đến cũ
o Đầu vào: các tiêu chí chọn lựa giáo trình gồm lĩnh vực đào tạo, cơ sở đàotạo, tên giáo trình
Trang 31o Đầu ra: thông tin chỉnh các các giáo trình thỏa mãn tiêu chí của ngườidùng
Xem nội dung giáo trình: chức năng này cho phép người dùng xem nội dungmột giáo trình đào tạo cụ thể mà người dùng chọn
o Đầu vào: mã giáo trình mà người dùng chọn
o Đầu ra: Nội dung giáo trình
Xem danh sách các bài test của 1 giáo trình hay bài giảng : chức năng này chophép người dùng xem thông số bài test như: thời gian, tổng số câu hỏi, điểm cácbài test của 1 chương/ giáo trình
o Đầu vào: mã Giáo trình mà người dùng chọn
o Đầu ra: danh sách các bài kiểm tra của bài giảng đó
Làm bài test: chức năng này cho phép người dùng làm 1 bài test để ôn tập lạikiến thức đã học trong chương Qua kết quả sau khi làm, người dùng có thể biếtđược mình nắm được kiến thức đến đâu
o Đầu vào: mã bài test mà người dùng chọn
o Đầu ra: Nội dung bài test
Tìm kiếm lịch học ngoại tuyến: chức năng này cho phép người dùng tìm kiếmlịch học ngoại tuyến của các cơ sở đào tạo theo các tiêu chí khác nhau Một khitìm thấy lịch học phù hợp, người dùng có thể xem chi tiết lịch học Nếu ngườidùng không đưa ra tiêu chí nào, chức năng sẽ tự động hiển thị các lịch học từmới đến cũ
o Đầu vào: các tiêu chí liên quan đến lịch học như ngày bắt đầu, ngày kếtthúc, tên cơ sở đào tạo, lĩnh vực, ngành nghề
o Đầu ra: thông tin các lịch học thỏa mãn tiêu chí người dùng đưa ra
Xem chi tiết lịch học: chức năng này cho phép người dùng xem chi tiết thông tinmột lịch học ngoại tuyến cụ thể
o Đầu vào: mã của lịch học
o Đầu ra: thông tin chi tiết lịch học
Tìm kiếm cơ sở đào tạo: chức năng này cho phép người dùng tìm kiếm các cơ sởđào tạo theo các tiêu chí mong muốn Một khi tìm thấy cơ sở đào tạo phù hợp,người dùng có thể xem thông tin chi tiết cơ sở đó Nếu người dùng không đưa ratiêu chí nào, chức năng sẽ tự động hiển thị các lịch học từ mới đến cũ
Trang 32o Đầu vào: Thông tin các tiêu chí tìm kiếm gồm tên cơ sở đào tạo, ngànhnghề, mã cơ sở đào tạo.
o Thông tin các cơ sở đào tạo thỏa mãn tiêu chí tìm kiếm
Xem thông tin chi tiết cơ sở đào tạo: chức năng này cho phép người dùng xemthông tin chi tiết cơ sở đào tạo
o Đầu vào: mã cơ sở đào tạo
o Đầu ra: thông tin chi tiết cơ sở đào tạo
1.2.2 Các chức năng cho người dùng đăng nhập ứng dụng
Dịch vụ cung cấp cho người dùng đăng nhập 3 chức năng sau đây
Xem kết quả bài test của bài giảng: chức năng này cho phép người dùng xem lạikết quả các bài kiểm tra đã được làm của một bài giảng
o Đầu vào: mã bài giảng mà người dùng chọn
o Đầu ra: kết quả các bài kiểm tra trong bài giảng mà người dùng đã làm
Làm lại bài test đã làm rồi: chức năng này cho phép người dùng làm lại một bàikiểm tra mà họ đã làm để củng cố kiến thứ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
Đăng ký làm cơ sở đào tạo: chức năng này cho phép người dùng đăng ký làm cơ
sở đào tạo để đưa giáo trình và lịch học lên ứng dụng
o Đầu vào: thông tin của cơ sở đào tạo như tên đăng nhập(phải sử dụng tên
đã đăng ký làm người dùng thông thường của ứng dụng), tên cơ sở đàotạo, miêu tả sơ lược về cơ sở đào tạo, miêu tả chi tiết về cơ sở đào tạo,email, điện thoại, logo( Upload ảnh)
o Đầu ra: thông báo thông tin đã được đưa vào dữ liệu hay chưa
1.2.3 Các chức năng cho cơ sở đào tạo
Dịch vụ cung cấp cho người dùng thông thường 12 chức năng sau đây
Sửa thông tin cơ sở đào tạo: chức năng này cho phép cơ sở sửa thông tin đãđược lưu hiện thời với ứng dụng
o Đầu vào: các thông tin mà cơ sở đào tạo muốn sửa như Tên đăng nhậpứng dụng, tên cơ sở đào tạo, miêu tả sơ lược và chi tiết về cơ sở đào tạo,email, điện thoại, logo
o Đầu ra: cập nhật lại thông tin của cơ sở trong cơ sở dữ liệu
Trang 33 Tạo giáo trình: chức năng này cho phép các cơ sở tạo ra các giáo trình về cáclĩnh vực khác nhau.
o Đầu vào: thông tin Tên giáo trình, miêu tả sơ lược giáo trình, miêu tả chitiết giáo trình, video giáo trình, ngành nghề, nội dung của giáo trình/bàigiảng/mục con (bắt buộc)
o Đầu ra: Thông tin được đưa vào cơ sở dữ liệu và cơ sở sẽ nhìn thấy giáotrình/bài giảng/mục mới được tạo ra trên cây biểu diễn cấu trúc giáo trình
Tạo bài giảng/mục con cho nội dung giáo trình: chức năng này cho phép các cơ
sở tạo ra các giáo trình về các lĩnh vực khác nhau
o Đầu vào: Thông tin về bài giảng/mục/mục con bao gồm tên bàigiảng/mục/mục con, miêu tả sơ lược và chi tiết bài giảng/mục/mục con,video bài giảng/mục/mục con, nội dung của bài giảng/mục con
o Đầu ra: thông tin được đưa vào cơ sở dữ liệu và cơ sở sẽ nhìn thấy bàigiảng/mục mới được tạo ra trên cây biểu diễn cấu trúc giáo trình
Tạo câu hỏi cho bài giảng: chức năng này cho phép các cơ sở tạo ra các câu hỏicho bài giảng, qua đó có thể tạo các bài test cho bài giảng từ những câu hỏi này
o Đầu vào: Thông tin về câu hỏi bao gồm nội dung câu hỏi, mức độ khócâu hỏi (khó, trung bình, dễ), nội dung các câu trả lời tương ứng, chọnđáp án
o Đầu ra: thông tin câu hỏi được đưa vào cơ sở dữ liệu và cơ sở sẽ nhìnthấy câu hỏi mới được tạo ra trên cây biểu diễn các câu hỏi của bài giảng
Chọn câu hỏi cho bài test của bài giảng: chức năng này sẽ tự động lựa chọn racác câu hỏi cho bài test từ tập các câu hỏi của bài giảng theo các thông số ngườidùng đưa vào
o Đầu vào: người dùng đưa vào các thông tin tổng điểm cho bài kiểm tra,thời gian, điểm cho câu hỏi khó, điểm cho câu hỏi dễ, điểm cho câu hỏimức độ trung bình
o Đầu ra: đưa ra số các câu hỏi khó, dễ, trung bình trong bài kiểm tra dựatheo thông tin người dùng
Duyệt bài test: chức năng này sẽ đưa ra 1 bài test thật sự từ số các câu hỏi đượclựa chọn trong chức năng tạo số câu hỏi cho bài test Cơ sở sau khi xem xét nộidung bài test nếu thấy phù hợp thì có thể lưu lại nội dung bài test vào cơ sở dữliệu
Trang 34o Đầu vào: Thông tin yêu cầu với chức năng, số các câu hỏi khó của bàitest, số câu hỏi trung bình của bài test, số câu hỏi dễ của bài test.
o Đầu ra: nội dung bài kiểm tra
Tìm kiếm giáo trình do cơ sở tạo ra: chức năng này cho phép cơ sở tìm kiếmgiáo trình đào tạo do cơ sở tạo ra theo các tiêu chí Một khi tìm thấy, cơ sở đàotạo có thể lựa chọn các thao tác chỉnh sửa, cập nhật, xóa giáo trình đó Nếu cơ sởkhông chọn tiêu chí nào thì chức năng sẽ đưa ra danh sách tất cả giáo trình theothứ tự mới nhất đến cũ
o Đầu vào: cơ sở đưa các tiêu chí chọn lựa giáo trình bao gồm lĩnh vực đàotạo, tên giáo trình
o Đầu ra: thông tin các giáo trình thỏa mãn tiêu chí của cơ sở
Sửa nội dung giáo trình/ bài giảng/ mục/ mục con: chức năng này cho phép cơ
sở sửa nội dung giáo trình/ bài giảng/ mục/ mục con
o Đầu vào: Thông tin mới về giáo trình/ bài giảng/ mục/ mục con bao gồm:tên giáo trình/ bài giảng/ mục/ mục con, miêu tả sơ lược giáo trình/ bàigiảng/ mục/ mục con, miêu tả chi tiết giáo trình/ bài giảng/ mục/ mụccon,video, nội dung chính giáo trình/ bài giảng/ mục/ mục con
o Đầu ra: thông báo thông tin được cập nhật vào cơ sở dữ liệu hay chưa
Xóa giáo trình/ bài giảng/ mục/ mục con: chức năng này cho phép cơ sở xóagiáo trình/ bài giảng/ mục/ mục con
o Đầu vào: mã của giáo trình/ bài giảng/ mục/ mục con cần xóa
o Đầu ra: thông tin được cập nhật vào cơ sở dữ liệu
Cập nhật nội dung câu hỏi: chức năng này cho phép các cơ sở cập nhật lại nộidung các các câu hỏi cho bài giảng
o Đầu vào: Thông tin về câu hỏi bao gồm nội dung câu hỏi, mức độ khócâu hỏi (khó, trung bình, dễ), nội dung các câu trả lời tương ứng, đáp áncâu hỏi
o Đầu ra: Thông báo thông tin câu hỏi được cập nhật trong cơ sở dữ liệu
Thêm mới câu hỏi vào tập câu hỏi: chức năng này cho phép cơ sở thêm mới cáccác câu hỏi vào tập câu hỏi của bài giảng
Trang 35o Đầu vào: thông tin về câu hỏi bao gồm nội dung câu hỏi, mức độ khó câuhỏi (khó, trung bình, dễ), nội dung các câu trả lời tương ứng, đáp án câuhỏi
o Đầu ra: thông tin câu hỏi được cập nhật trong cơ sở dữ liệu
Chỉnh sửa nội dung bài kiểm tra: chức năng này cho phép cơ sở chỉnh sửa lại nộidung các bài kiểm tra đã được tạo ra, cơ sở có thể thêm, bớt các câu hỏi vào bàikiểm tra
o Đầu vào: mã bài kiểm tra
o Đầu ra: nội dung bài kiểm tra được cập nhật
1.2.4 Các chức năng cho quản trị
Dịch vụ cung cấp cho quản trị thông thường 3 chức năng sau đây
Tìm kiếm cơ sở đào tạo đã đăng ký: chức năng này cho phép quản trị tìm kiếmcác cơ sở đào tạo theo các tiêu chí mong muốn Một khi tìm thấy, cơ sở có thểxem chi tiết thông tin cơ sở và thay đổi các trạng thái hoạt động của cơ sở
o Đầu vào: Thông tin các tiêu chí tìm kiếm có thể cung cấp cho chức năngtên cơ sở đào tạo, mã cơ sở đào tạo, ngành nghề, trạng thái hoạt động
o Đầu ra: Các cơ sở đào tạo thỏa mãn các tiêu chí tìm kiếm
Xem chi tiết thông tin cơ sở đào tạo: chức năng này cho phép quản trị xem thôngtin chi tiết của cơ sở đào tạo
o Đầu vào: mã cơ sở đào tạo
o Đầu ra: các cơ sở đào tạo thỏa mãn các tiêu chí tìm kiếm
Quản lí trạng thái hoạt động cơ sở đào tạo: chức năng này cho phép quản trị thayđổi trạng thái hoạt động của cơ sở đào tạo Với những cơ sở mới đăng ký, saukhi kiểm tra thấy thông tin cơ sở là hợp lệ thì quản trị có thể cấp quyền hoạtđộng cho cơ sở Trong quá trình hoạt động, nếu cơ sở vi phạm nội qui thì cơ sở
có thể bị cấm quyền hoạt động Nếu cơ sở sửa chữa lỗi vi phạm thì có thể đượccấp quyền trở lại
o Đầu vào: thông tin quyền mới của cơ sở đào tạo
o Đầu ra: thông báo cơ sở đào tạo đã được cập nhật quyền hay chưa
1.3 Thiết kế qui trình nghiệp vụ
Ở phần này em sẽ giới thiệu 1 số qui trình nghiệp vụ chính của các chức năng họcnghề, quản lý giáo trình và kiểm soát tính truy cập Website
1.3.1 Tạo bài kiểm tra:
Trang 36Hình 7 minh họa các bước của quy trình tạo bài kiểm tra.
Hình 7: Các bước tạo bài kiểm tra
Ở qui trình này, người dùng chỉ cần nhập thông tin về tổng điểm và thời gian (cáctham số còn lại không bắt buộc, hệ thống sẽ lấy các giá trị mặc định) Sau đó, hệthống sẽ tự động tính toán số lượng các câu hỏi dễ, trung bình, từ các thông sốngười dùng đưa vào và gửi kết quả đến người dùng Điều này giúp cho đối tượngngười khuyết tật sử dụng chức năng dễ dàng hơn, không tốn công sức để tính toán
1.3.2 Tạo mới giáo trình
Hình 8 minh họa các bước để tạo mới giáo trình
Hình 8: Các bước tạo ra 1 giáo trình mới
Qui trình này nhấn mạnh đến thao tác của người dùng Người dùng sẽ phải nhậphết các thông tin yêu cầu, các thông tin này sau khi được kiểm tra sẽ được gửi đếntầng dịch vụ để đưa vào cơ sở dữ liệu
1.3.3 Tìm kiếm giáo trình
Hình 9 minh họa các bước qui trình tìm kiếm giáo trình