
摘 要:本文結合實際應用,介紹基于Web環境下問卷調查系統的設計與開發,詳細地論述了系統數據庫的設計,動態問卷的生成與編輯、問卷調查結果的顯示及導出等主要功能的實現。
關鍵詞:問卷調查;Web應用;ASP.NET
1 引言
問卷調查是通過調查獲取數據、從中分析并挖掘有用信息加以利用的一種科學研究與調查的重要方法。隨著互聯網的發展,在互聯網上實現問卷調查不受時間和空間限制,大量的問卷調系統迎運而生,有的極其簡單,有的過于復雜而且還要收費,數據保密性及安全性也會受到影響,所以很多時候用戶還是希望開發自已的問卷調查系統。本文是基于作者參與石油部課題《中國石油職業教育現狀調查及對策研究》的問卷調查部分,討論網絡問卷調查系統的設計與實現。
2 課題背景及系統功能
2012年3月我校申請此課題獲石油部批準,課題的研究要進行大量的調查,涉及全國各油田及下屬十幾所職業院校,調查的內容概括起來說包括各油田企業操作人員隊伍現狀及培訓需求、油氣田企業職業院校教育現狀、煉化企業技能人員培訓現狀等,要設計完成的調查問卷幾十個甚至上百個。這些問卷要動態生成,每個問卷中的問題類型可以是單選、多選、簡答、信息,多選題選項個數也是變化的。各職業院校只能操作自己的問卷,普通用戶只能回答問卷,,系統管理員可以管理用戶及所有問卷、查看調查結果。調查結果要以表格、餅狀圖、柱狀圖三種方式顯示,并根據需要可以將部分結果導出到Excel中。
根據上面的分析,本系統用戶分為三類:系統管理員、問卷創建者、普通用戶。普通用戶:不用登錄,只能選擇問卷進行問卷答題并提交;問卷創建者:問卷信息管理、問卷設計與生成;系統管理員:可進行問卷信息管理、、問卷設計與生成、用戶管理、查看調查結果、導出數據。
各模塊功能如下:
⑴問卷信息管理功能:創建問卷、編輯問卷、發布問卷、取消發布、刪除問卷、查看問卷調查結果、結果導出。
⑵問卷設計與生成功能:錄入問卷問題、編輯問題、修改問題類型、修改題序、刪除問題。
⑶用戶管理功能包括:添加用戶、設置密碼、設置用戶類型。
3 系統數據庫設計
根據如上的需求分析,可將數據設計成如下5個數據表:
⑴問卷表t_questionnaire(問卷ID,問卷標題,問卷說明,創建時間,創建人ID,發布時間,結止時間,答題人次,發布狀態)
⑵問題表t_question(問題ID,問題,選項,問題類型,所屬問卷ID,題序)
⑶問題類型表t_type(類型ID,類型名,類型編碼)
⑷答案表t_answer(答案ID,問題ID,答案,問卷ID)
⑸用戶表t_user(用戶ID,登錄名,密碼,用戶類型,真名,電話,單位)
各表關系如圖所示:
4 系統的實現
本系統是一個B/S架構的應用程序,使用ASP.NET/C#+SQL Server 2005技術實現,ASP.NET是微軟公司推出的專門用來開發Web應用程序的技術,簡單易學,功能強大,開發效率高。開發時使用的工具是Vsiual Studio 2008。在問卷管理、問卷中問題的錄入及編輯、問卷顯示、調查結果的顯示等功能都是利用ASP.NET功能強大的GridView、Repeater、DataList等各種數據控件實現的,其中最關鍵的是使用好數據源控件及數據控件的各種事件處理過程。熟練地使用這些控件可以達到事半功倍的效果,有些功能的實現不用編寫任何代碼只設置好數據源控件及數據控件即可完成。
調查結果的柱狀圖、餅圖顯示是借助外部組件Office Web Components(OWC)來實現的。OWC是一種很好的創建統計圖的工具,它是包括在Microsoft Office2000及以后版本中的一套組件。不同Office版本所帶的OWC版本不同,使用時,注意OWC的版本要匹配。利用這些組件可以很方便地在瀏覽器中進行數據分析。在編程時需在網站中以“添加引用”的方式將其引用到程序中,然后在欲顯示圖形的網頁中添加using OWC10;在程序中引用如下:
OWC10.ChartSpace objCSpace = new OWC10.ChartSpaceClass();
OWC10.ChChart objChart = objCSpace.Charts.Add(0);
接下來為該圖形控件提供數據即可。
5 結束語
本文介紹了一個網絡環境下運行的問卷調查系統的設計和實現。問卷可以動態生成,問卷中的試題數量、選項數量、題型、題序都可以根據需要自由選擇。本系統雖是為石油職業教育調查開發的,但其功能完全適應其他各方面的問卷調查,只需輸入相應的問卷即可,系統不用做任何的修改。