Quy trình tạo khảo sát

Một phần của tài liệu Xây dựng hệ thống điều tra, khảo sát trực tuyến theo chuẩn QTI dựa trên sản phẩm mã nguồn mở LimeSurvey (Trang 54)

Hình 3.1: Quy trình tạo mới khảo sát trên LimeSurvey.

Trước hết, người được phân công tạo mới một khảo sát, sau đó tạo các nhóm câu hỏi, một khảo sát bắt buộc phải có một nhóm câu hỏi, một khảo sát có thể có nhiều nhóm. Tiếp theo, cần tạo câu hỏi thuộc vào nhóm câu hỏi đó. Việc tạo câu hỏi khảo sát sẽ lặp đi lặp lại từ phần tạo nhóm/tạo câu hỏi cho đến khi hoàn thành toàn bộ câu hỏi cho khảo sát.

Việc tạo bộ câu hỏi cho khảo sát trên LimeSurvey hiện tại phải qua nhiều thao tác, bắt buộc người dùng phải làm việc trực tuyến trên hệ thống với máy tính kết nối mạng Internet. Điều này đôi khi gây tốn thời gian và công sức của người tạo/quản lý khảo sát.

Bên ca ̣nh viê ̣c nhâ ̣p câu hỏi trực tiếp vào hê ̣ thống , LimeSurvey cho phép import/export bộ câu hỏi của khảo sát theo các định dạng:

- *.lss (LimeSurvey Structure): Chỉ export ra cấu trúc của khảo sát gồm thông tin

chung của khảo sát, các thiết lập chung, các nhóm, các câu hỏi và không bao gồm các câu trả lời của người tham gia khảo sát.

- *.lsa (LimeSurvey Archive): Việc export này tương đương với việc tạo một bản

sao lưu (backup) của một khảo sát đang kích hoạt với mục đích lưu trữ. Dữ liệu export ra được gói trong một tệp ZIP bao gồm:

 Cấu trúc khảo sát (Survey structure): là một tệp *.lss.  Dữ liệu phản hồi (Response data)

 Dữ liệu về token (nếu khảo sát có dùng token)

 Thời gian trả lời (nếu khảo sát có dùng thuộc tính lưu thời gian trả lời câu hỏi)

Mục đích của việc export ra định dạng *.lsa là để có thể kiểm tra kết quả của

- *.xml: Định dạng queXML. là một mô tả XML của câu hỏi, không sử dụng để

sao lưu dữ liệu trong LimeSurvey vì nó không chứa các thông tin về điều kiện sử dụng trong các câu hỏi. Việc export câu hỏi ra queXML cho phép sử dụng phần mềm queXF để tạo tài liệu PDF để in, scan.

- *.txt (tab-separated-values format): Hỗ trợ từ phiên bản 2.0. Thuộc tính này

được thiết kế nhằm giúp người dùng chỉnh sửa khảo sát trên Excel, các câu hỏi trong tệp *.txt độc lập với mã SGQA (Survey-Group-Question-Answer). Tuy nhiên định dạng này chưa hỗ trợ import/export điều kiện (Condition), đánh giá (Assessment), Quota của câu hỏi.

Khi sử du ̣ng công cu ̣ ta ̣o bô ̣ câu hỏi trên Microsoft Word , quy trình được biểu diễn như hình Hình 3.2:

Quy tr nh nh p câu h i s ng công c t o câu h i trên Microsoft Wor

N g i qu n t r h th n g ( h o c q u n h o s t) S ng template c Macro nh p câu h i v export ra XML B t u K t th c 1. o b câu h i trên Wor 2. Export ra file XML 3. i tên fi e th nh *.lss 4. Import v o h th ng

Quy trình được mô tả cu ̣ thể như sau:

Bƣớc 1: Sử dụng một tệp Microsoft Word đã có sẵn macro (template - sẽ được mô tả chi tiết hơn trong mục 3.1.4) để tạo bộ câu hỏi cho khảo sát . Trong quá trình ta ̣o câu hỏi, người dùng cần sử du ̣ng macro t uân theo đúng thứ tự: Tạo khảo sát -> Tạo nhóm câu hỏi -> Tạo câu hỏi.

Bƣớc 2: Sử dụng macro Export để chuyển đi ̣nh da ̣ng bô ̣ câu hỏi sang mô ̣t tê ̣p XML.

Bƣớc 3: Đổi tên tệp xml vừa được tạo ra thành *.lss.

Bƣớc 4: Import tệp *.lss vào hệ thống LimeSurvey.

Định dạng XML xuất ra cần tuân theo đúng cấu trúc của khảo sát, nhóm khảo sát và cấu trúc của từng loại câu hỏi trong LimeSurvey.

3.1.3 Cấu trúc XML của khảo sát trong LimeSurvey

Khi xuất ra định dạng XML, toàn bộ các thành phần của khảo sát được đặt trong một tài liệu (Document) có với các thẻ (tag) được sắp xếp theo thứ tự sau (tùy theo loa ̣i câu hỏi và các thuô ̣c tính của nó mà các thẻ này có thể xuất hiê ̣n hoă ̣c không xuất hiê ̣n trong tê ̣p XML):

Hình trên biểu diễn cấu trúc XML của một khảo sát, cụ thể:

- answers: là thành phần biểu diễn câu trả lời cho từng câu hỏi trong khảo sát. - assessments: đánh giá/tính điểm theo câu hỏi (hiện tại LimeSurvey chỉ hỗ trợ

tính điểm cho các loại câu hỏi 1 lựa chọn, nếu muốn tính điểm cho các câu hỏi dạng mảng/ma trận thì phải tách nhỏ câu hỏi đó ra thành dạng các câu hỏi có 1 lựa chọn...)..

- defaultvalues: là giá trị trả lời mặc định của từng câu hỏi.

- conditions: là các điều kiện của từng câu hỏi (nếu câu hỏi đó có đặt điều kiện). - groups: nhóm câu hỏi.

- questions: câu hỏi khảo sát.

- subquestions: là câu hỏi con của mỗi câu hỏi, được sử dụng trong các câu hỏi dạng mảng/ma trận.

- question_attributes: các thuộc tính của mỗi câu hỏi (hidden, time_limit, time_limit_action...).

- surveys: các thuộc tính chung của khảo sát.

- surveys_languagesettings: các thiết lập ban đầu của theo ngôn ngữ được chọn của khảo sát (tiêu đề khảo sát, mô tả, thông báo chào mừng/kết thúc khảo sát...). LimeSurvey cũng cho phép người dùng import/export từng nhóm câu hỏi hoặc từng câu hỏi riêng vào các survey đã tồn tại trong hệ thống. Các loại câu hỏi khác nhau có định dạng XML khác nhau. Việc xây dựng công cụ tạo bộ câu hỏi trên Word cần tuân theo đúng định dạng của các loại câu hỏi được quy định trong LimeSurvey.

Sau khi người dùng import tệp câu hỏi khảo sát *.lss vào hệ thống, LimeSurvey sẽ kiểm tra định dạng XML trong tệp và tiến hành đọc tệp để cập nhật dữ liệu vào các bảng tương ứng.

Ví dụ: Một tệp XML của một khảo sát, khảo sát này chỉ có một nhóm câu hỏi và trong nhóm đó chỉ có một câu hỏi (Y/N question) được biểu diễn trên hệ thống và xuất ra

định dạng XML có cấu trúc như sau (chi tiết xem trong Phụ lục 4):

Hình 3.4: Khảo sát với môt nhóm và một câu hỏi.

<document> <LimeSurveyDocType>Survey</LimeSurveyDocType> <DBVersion>174</DBVersion> <languages> <language>en</language> </languages> <groups>

<!-- Đi ̣nh nghĩa các nhóm câu hỏi>

</groups> <questions>

<!-- Đi ̣nh nghĩa các câu hỏi> </questions>

<surveys>

<!-- Đi ̣nh nghĩa các thiết lập chung cho khảo sát>

</surveys>

<surveys_languagesettings>

<!-- Khai bá o các thiết lâ ̣p về ngôn ngƣ̃ dùng trong khảo sát>

</surveys_languagesettings> </document>

3.1.4 Cài đặt

Việc phát triển và cài đặt công cụ được tiến hành như sau:

a. Tạo một thư mục "xml-question". Trong thư mục này, tạo các XML template bao gồm các nội dung:

 Thông tin khảo sát  Thiết lập của khảo sát  Nhóm câu hỏi

 Câu hỏi  Câu hỏi con

 Thuô ̣c tính câu hỏi (mỗi loại câu hỏi có các thuộc tính khác nhau nên sẽ có một template riêng)

 Câu trả lời

 Điều kiện của các câu hỏi

Hình 3.5: Các XML template trong thư mục "xml-question"

Trong đó, các thành phần:

- main.xml: Mô tả c ấu trúc XML của toàn khảo sát (đã được mô tả trong Hình

3.3), định nghĩa chi tiết các phần tử XML sử du ̣ng trong khảo sát , thiết lâ ̣p ngôn ngữ, nhóm câu hỏi, câu hỏi con, các thuộc tính của câu hỏi, câu trả lời.

- survey.xml: Quy định cấu trúc các phần tử , dữ liê ̣u mă ̣c đi ̣nh cho các thiết lâ ̣p chung của khảo sát.

- survey_setting.xml: Quy định các thiết lâ ̣p về ngôn ngữ , các thông điệp , nô ̣i dung sẽ sử du ̣ng để gửi thư điê ̣n tử đến người tham gia khảo sát.

- group.xml: Quy định cấu trúc các phần tử, dữ liê ̣u mă ̣c đi ̣nh cho nhóm câu hỏi. - question.xml: Quy định cấu trúc các phần tử, dữ liê ̣u mă ̣c đi ̣nh cho câu hỏi. - subquestion.xml: Quy định cấu trúc các phần tử , dữ liê ̣u mă ̣c đi ̣nh cho câu hỏi

con.

- answer.xml: Quy định cấu trúc các phần tử, dữ liê ̣u mă ̣c đi ̣nh cho câu trả lời.

- question_attribute_xx: Quy định các thuô ̣c tính cho từng loa ̣i câu hỏi do mỗi

loại câu hỏi sẽ có một thuộc tính riêng . Ví dụ: Loại câu hỏi Mảng gồm nhiều văn bản, có thể quy định thuộc tính Số câu trả lời tối đa/Số câu trả lời tối thiểu, nhưng trong loại câu hỏi Giới tính thì không có các thuộc tính này.

Tên các tệp cho thuô ̣c tính của từng loại câu hỏi được đặt theo ký hiệu của loại câu hỏi đó trong LimeSurvey. Bảng 3.1 liệt kê ký hiệu của các loại câu hỏi:

Bảng 3.1: Ký hiệu các loại câu hỏi

STT Ký hiệu

Loại câu hỏi Ghi chú

1 1 Array (Flexible Labels) Dual Scale Mảng tăng 2 chiều (nhãn động)

2 5 5 Point Choice 5 lựa cho ̣n

3 A Array (5 Point Choice) Mảng (5 lựa cho ̣n)

4 B Array (10 Point Choice) Mảng (10 lựa cho ̣n)

5 C Array (Yes/No/Uncertain) Mảng (Có/Không/Không chắc

chắn

6 D Date Ngày tháng

7 E Array (Increase, Same, Decrease) Mảng (Tăng, Đồng thời, Giảm)

8 F Array (Flexible Labels) Mảng (cá nhãn động)

9 G Gender Giới tính

10 H Array (Flexible Labels) by Column Mảng có nhãn các cột là động

11 I Language Switch Chuyển đổi ngôn ngữ

12 K Multiple Numerical Input Đầu vào nhiều số

13 L List (Radio) Danh sách (Radio)

14 M Multiple choice Nhiều lựa cho ̣n

15 N Numerical Input Đầu vào dạng số

16 O List With Comment Danh sách với chú thích

17 P Multiple choice with comments Nhiều lựa cho ̣n với chú thích

18 Q Multiple Short Text Nhiều văn bản ngắn

19 R Ranking Xếp ha ̣ng

20 S Short Free Text Văn bản ngắn

21 T Long Free Text Văn bản dài

22 U Huge Free Text Văn bản lớn

23 X Boilerplate Question

24 Y Yes/No Có/Không

25 ! List (Dropdown) Danh sách (thả xuống)

26 : Array (Flexible Labels) multiple drop down

Mảng (nhãn động ) gồm nhiều danh sách thả xuống

27 ; Array (Flexible Labels) multiple texts

Mảng (nhãn động ) gồm nhiều văn bản

b. Tạo Macro

Sau khi tạo xong các XML template cho khảo sát, nhóm và các loại câu hỏi, ta tiến hành tạo Macro và đưa vào Microsoft Word để tạo thành tệp template . Nhiệm vu ̣ của macro là hỗ trợ người dùng nhập câu hỏi theo đúng thứ tự , đọc thông tin nhập từ Word, kiểm tra xem người dùng nhập thông tin đúng định dạng chưa, sau đó ghép dữ liệu nhập ở Microsoft Word với định dạng XML trong các tệp XML template ứng với từng câu hỏi và ghi lần lượt nội dung vào một tệp XML duy nhất. Như vậy macro vừa đóng vai trò là công cu ̣ trợ giúp nhâ ̣p các câu hỏi trên Microsoft Word, vừa là công cu ̣ chuyển đổi bô ̣ câu hỏi sang đi ̣nh da ̣ng XML.

Cách xây dựng template có chứa macro

- Tạo một tài liệu mới trong Microsoft Word

- Lần lượt tạo các định dạng văn bản (Styles) mới cho tài liệu bao gồm:  Answer  ArrayQuestion  ArrayTextQuestion  DateQuestion  GenderQuestion  Group  ListDropdownQuestion  ListRadioQuestion  ListRadioQuestion_C  LongTextQuestion  MultipleChoiceQuestion  MultiShortTextQuestion  RankingQuestion  ShortTextQuestion  Subquestion  SurveyTitle  YesNoQuestion

Các định dạng này sẽ được sử dụng làm cơ sở để phân biệt tiêu đề, nhóm, câu hỏi khảo sát và gọi các loại câu hỏi trong macro.

- Mở cửa sổ Microsoft Visual Basic (Alt+F11) để viết mã nguồn cho macro. - Lưu lại tài liệu dạng *.dotm (Word macro-enable template).

Hình 3.6: Giao diện công cụ tạo bộ câu hỏi trong Microsoft Word.

Khi người dùng hoàn tất việc nhập câu hỏi, sử dụng Macro Export để chuyển đổi bộ câu hỏi từ Microsoft Word sang định dạng XML. Tệp xuất ra có định dạng:

Survey_20141015.xml, ta đổi tên tệp thành Survey_20141015.lss và tiến hành import

tệp này vào LimeSurvey.

Như vâ ̣y, viê ̣c ta ̣o câu hỏi được thực hiên bên ngoài hê ̣ thống , trên môi trường Word thuâ ̣n tiê ̣n cho người sử du ̣ng, nhất là khi phải nhâ ̣p các khảo sát có số lượng câu hỏi lớn. Khi đã tạo xong câu hỏi , chỉ cần một vài thao tác nhỏ để import khảo sát vào hê ̣ thống.

3.2 Xây dƣ̣ng mô-đun tích điểm thƣởng 3.2.1 Bài toán

Viê ̣c khảo sát tâm lý người dùng/khách hàng hiện nay rất quan trọng đối với các tổ chức, các doanh nghiê ̣p. Tuy nhiên, không phải khi nào người dùng cũng trung thực và có trách nhiệm trong việc trả lời các câu hỏi khảo sát . LimeSurvey hiện hỗ trợ rất tốt việc tạo khảo sát, cho phép số lượng lớn người tham gia khảo sát nhưng chưa chỉ quan tâm đến kết quả khảo sát , chưa quan tâm đến viê ̣c quản lý người trả lời khảo sát , chưa có cơ chế để quản lý, tính điểm cho người tham gia khảo sát. Do đó, mô-đun tích điểm thưởng được xây dựng nhằm mu ̣c tiêu khuyến khích người dù ng trung thực khi tham gia trả lời, tăng đô ̣ tin câ ̣y của kết quả các cuô ̣c khảo sát .

Hiện tại, hệ thống cho phép tạo/import hàng loạt người tham gia khảo sát. Sau khi người quản trị tạo mới câu hỏi, kích hoạt khảo sát thì có thể ghép danh sách người tham gia này vào khảo sát để hệ thống tự động sinh ra token cho khảo sát. Mỗi khảo sát, hệ thống sẽ tự động sinh ra một bảng lưu token riêng, do đó việc quản lý người tham gia nào đã tham gia những khảo sát nào trở nên khó khăn. Người quản trị hệ

thống sẽ rất vất vả khi cần lọc ra những người đã thực hiện bao nhiêu khảo sát để trao thưởng, đổi quà.

Do đó, việc xây dựng thêm mô-đun tích điểm thưởng nhằm mục đích quản lý tốt hơn danh sách người tham gia khảo sát, tích điểm để trao thưởng/đổi quà nhằm khuyến khích người dùng tham gia khảo sát thường xuyên. Để trả lời các khảo sát đươ ̣c tích điểm , người dùng cần đăng ký thành viên và đăng nhâ ̣p vào hê ̣ thống . Dựa vào mô-đun, có thể dễ dàng xác định được một người đã tham gia bao nhiêu khảo sát, mô-đun cũng định nghĩa một tiêu chí đánh giá tích điểm điển hình để cộng dồn điểm cho người tham gia (các tiêu chí này có thể linh động thay đổi trên hệ thống theo yêu cầu của người quản trị). Như vậy người quản trị sẽ tiết kiệm được thời gian, công sức và không cần phải rà soát từng khảo sát để lọc ra những thông tin tổng hợp cần cho các báo cáo sau này. Ngoài ra hệ thống cũng cho phép người dùng xem danh sách các khảo sát chưa trả lời, điểm tích lũy đến thời điểm hiê ̣n ta ̣i , điểm này sẽ là cơ sở để quy đổi ra phần thưởng sau này (thẻ điện thoại, thẻ game hoặc chuyển vào tài khoản ngân hàng, Paypal, Ngân Lươ ̣ng, Bảo Kim...). (Từ sau phần này , ta sẽ go ̣i người tham gia trả lời khảo sát là thành viên hệ thống hoặc thành viên).

Hiện tại hệ thống chỉ quan tâm đến việc xử lý các câu trả lời thu được, tạo danh sách người tham gia, tạo token để gửi email nhắc người tham gia trả lời khảo sát mà chưa quan tâm xem ai trả lời, người dùng đã hoàn thành tất cả các câu hỏi khảo sát hay chưa. Bên cạnh đó, hệ thống cũng không lưu thông tin lịch sử tham gia trả lời khảo sát của người tham gia do cơ chế tổ chức mỗi khảo sát lưu câu trả lời ở một bảng riêng.

Như vậy, để xây dựng được mô-đun tích điểm, cần có cơ chế qu ản lý được danh sách người dùng , ai đăng nhâ ̣p hê ̣ thống , lịch sử trả lời khảo sát của người dùng, ghép nối được thông tin người tham gia và khảo sát đã trả lời.

3.2.2 Xây dƣ̣ng, triển khai mô-đun tích điểm 3.2.2.1 Quy trình nghiệp vụ

Trong phần này, tôi tiến hành xem xét các quy trình nghiệp vụ của việc tích lũy điểm cho thành viên hệ thống (Phần này chỉ giới hạn các nội dung liên quan đến mô- đun tích điểm, các nội dung khác hệ thống đã hỗ trợ sẽ chỉ giới thiệu qua hoặc không được nhắc đến). Mô-đun có hai đối tượng sử dụng là Quản trị hệ thống và Thành viên hệ thống.

Một phần của tài liệu Xây dựng hệ thống điều tra, khảo sát trực tuyến theo chuẩn QTI dựa trên sản phẩm mã nguồn mở LimeSurvey (Trang 54)

Tải bản đầy đủ (PDF)

(98 trang)