(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院軟件教研室,陜西西安,710300)
基于WEB網(wǎng)上問卷調(diào)查系統(tǒng)研究
魏曉艷
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院軟件教研室,陜西西安,710300)
研究了基于WEB網(wǎng)上問卷調(diào)查系統(tǒng),它采用Rational Rose2003工具進(jìn)行系統(tǒng)UML建模,采用SQL Server 2008數(shù)據(jù)庫進(jìn)行后臺數(shù)據(jù)庫的設(shè)計(jì)與開發(fā),采用TomCat進(jìn)行系統(tǒng)運(yùn)行服務(wù)器的搭建。本系統(tǒng)采用B/W/D的3層體系結(jié)構(gòu)、使用Java Web開發(fā)框架中的Struts和Hibernate技術(shù)實(shí)現(xiàn)開發(fā),實(shí)現(xiàn)了問卷創(chuàng)建、編輯、發(fā)布、統(tǒng)計(jì),題目添加、刪除、修改,友情連接管理等功能。本系統(tǒng)在實(shí)際中有一定的應(yīng)用價值。
問卷調(diào)查;設(shè)計(jì);數(shù)據(jù)庫;J2EE
21世紀(jì)是一個以網(wǎng)絡(luò)為核心的信息時代,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、軟件技術(shù)已經(jīng)滲透到各行各業(yè)的日常工作中,經(jīng)常會有各種調(diào)查問卷。傳統(tǒng)方式組織大量的人力物力對用戶散發(fā)調(diào)查表,要花費(fèi)不少的費(fèi)用印刷問卷,而且消耗大量時間和精力發(fā)放、回收、統(tǒng)計(jì)問卷;問卷可控性差,容易產(chǎn)生漏卷,廢卷等問題。為了解決這些問題, 利用現(xiàn)代計(jì)算機(jī)軟件技術(shù)進(jìn)行基于Web的在線問卷調(diào)查系統(tǒng)的研究,極大程度上提高了生產(chǎn)效率,也為解決出現(xiàn)的難題提供了良好的解決方案。
本文研究的系統(tǒng)采用模塊化面向?qū)ο笤O(shè)計(jì)思想,采用當(dāng)前比較成熟的web開發(fā)框架Struts、Hibernate技術(shù)實(shí)現(xiàn)的設(shè)計(jì)與開發(fā)。主要實(shí)現(xiàn)了開始調(diào)查、填寫調(diào)查、填寫進(jìn)展、結(jié)束調(diào)查、審核調(diào)查、查看調(diào)查等功能,大大提高了調(diào)查的效率,通過數(shù)據(jù)庫可以永久的保存調(diào)查的結(jié)果,為以后調(diào)查提供參考。系統(tǒng)采用B/W/D 3層體系結(jié)構(gòu)。用戶可以通過瀏覽器向分布在網(wǎng)絡(luò)上的服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。
2.1Java技術(shù)
隨著J2EE技術(shù)的發(fā)展,Java在功能和工具都得到極大擴(kuò)充、豐富和發(fā)展,能用于復(fù)雜的、多層次的、分布式等的企業(yè)級應(yīng)用。J2EE構(gòu)架為組件開發(fā)提供廣泛的支持,能夠開發(fā)模塊化的、可重用的、平臺獨(dú)立的各種組件技術(shù)的業(yè)務(wù)邏輯。J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制。事實(shí)的標(biāo)準(zhǔn)、可保存現(xiàn)有的IT資產(chǎn)、高效的開發(fā)、支持異構(gòu)環(huán)境、可伸縮性、穩(wěn)定的可用性。J2EE程序只能在服務(wù)器端執(zhí)行,當(dāng)客戶端瀏覽器向服務(wù)器請求打開程序或頁面時,服務(wù)器會從硬盤中讀取該程序代碼,然后加以執(zhí)行,并將執(zhí)行的結(jié)果轉(zhuǎn)化為瀏覽器能識別的HTML文件,將文件發(fā)送給瀏覽器,瀏覽器把收到的HTML文件轉(zhuǎn)化為網(wǎng)頁呈現(xiàn)給訪問者。
2.2JSP運(yùn)行環(huán)境
支持Jsp的服務(wù)器:一種是自身就支持Jsp的服務(wù)器,如Jrun、Weblogic等;一種則是安裝Jsp引擎的插件,如在IIS,Apache等服務(wù)器上安裝WebSphere、tomcat等插件。本系統(tǒng)采用主流服務(wù)器Tomcat。
2.3數(shù)據(jù)庫技術(shù)
數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理的核心技術(shù)在社會各個領(lǐng)域發(fā)揮著強(qiáng)大的功能。SQL Server 2008將提供對整個數(shù)據(jù)庫、數(shù)據(jù)表與Log的加密機(jī)制,并且在程式存取加密數(shù)據(jù)庫時,不需要修改任何程序。它采用Policy Based管理來取代了Script管理,減少了花費(fèi)在例行性管理和操作上的時間。而且通過Policy Based的統(tǒng)一策略,可以同時進(jìn)行管理上千部SQL Server,達(dá)到企業(yè)一致性管理工作。
3.1總體構(gòu)架
網(wǎng)上問卷調(diào)查系統(tǒng)總體構(gòu)架圖如圖1所示??蛻舳送ㄟ^瀏覽器向Web服務(wù)器發(fā)出請求,Web應(yīng)用程序從數(shù)據(jù)庫服務(wù)器上獲取用戶所需要的信息,然后Web服務(wù)器又把得到的結(jié)果返回給瀏覽器。這就完成了一次請求->響應(yīng)->接受的過程。
圖1 B/W/D三層體系結(jié)構(gòu)圖
整個系統(tǒng)采用Browser/Web/DataBase的3層體系結(jié)構(gòu)。Browser/Server的系統(tǒng)中,用戶可以通過瀏覽器向網(wǎng)絡(luò)上的服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機(jī)的工作,客戶機(jī)上只需配置WEB瀏覽器即可。服務(wù)器將擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由Web Server完成。
3.2功能設(shè)計(jì)
在系統(tǒng)分析的基礎(chǔ)上,確定了系統(tǒng)的功能結(jié)構(gòu)。系統(tǒng)分為前臺用戶操作(主要包括修改密碼、統(tǒng)計(jì)分析、模板設(shè)計(jì)、問卷中心、用戶注冊)和后臺管理員操作(主要包括問卷管理、系統(tǒng)管理、用戶管理、系統(tǒng)設(shè)置)。問卷調(diào)查的角色是管理員、用戶,管理員對基礎(chǔ)信息和系統(tǒng)信息進(jìn)行維護(hù),用戶參與問卷中心,模板設(shè)計(jì),統(tǒng)計(jì)分析。
3.3開發(fā)模式設(shè)計(jì)
本系統(tǒng)的功能目標(biāo)是實(shí)現(xiàn)傳統(tǒng)人工管理到利用計(jì)算機(jī)管理的轉(zhuǎn)變,所以它必須實(shí)現(xiàn)整個問卷過程的進(jìn)行,實(shí)現(xiàn)對系統(tǒng)用戶的不同管理。
3.4數(shù)據(jù)庫設(shè)計(jì)
良好的數(shù)據(jù)庫設(shè)計(jì)對于一個高性能的應(yīng)用程序非常重要。數(shù)據(jù)是一切應(yīng)用程序設(shè)計(jì)的基礎(chǔ),關(guān)系沒有經(jīng)過優(yōu)化,數(shù)據(jù)庫無法高效運(yùn)行。數(shù)據(jù)庫設(shè)計(jì)是應(yīng)用系統(tǒng)設(shè)計(jì)過程中非常重要的一步,數(shù)據(jù)庫設(shè)計(jì)的不合理或不完善,會導(dǎo)致在系統(tǒng)開發(fā)過程和后期的維護(hù)、完善及功能擴(kuò)展時,引起較多的問題。
3.4.1 關(guān)系模型設(shè)計(jì)
作為一個網(wǎng)上問卷調(diào)查系統(tǒng),用戶應(yīng)該可以根據(jù)管理員給出的題目進(jìn)行網(wǎng)上問卷答題,并提交問卷后,便可進(jìn)行問卷查詢,管理員作為后臺管理者,可以根據(jù)需要出題,生成問卷,供用戶問卷,此外,管理員還可對用戶問卷進(jìn)行修改。
3.4.2 概念結(jié)構(gòu)設(shè)計(jì)
根據(jù)功能模塊劃分,具體分析了系統(tǒng)具有的實(shí)體,實(shí)體屬性圖如圖2所示。繼而遵循三范式規(guī)則,對實(shí)體之間的依賴關(guān)系進(jìn)行整合,進(jìn)而形成系統(tǒng)E-R模型。
3.4.3 邏輯結(jié)構(gòu)設(shè)計(jì)
根據(jù)E-R模型可以轉(zhuǎn)化成系統(tǒng)數(shù)據(jù)模型,關(guān)系模型是一組關(guān)系模式(二維表)的集合。系統(tǒng)
圖2 實(shí)體屬性圖
E-R模型是由實(shí)體、實(shí)體屬性及實(shí)體之間的關(guān)聯(lián)三要素組成。根據(jù)以上原則轉(zhuǎn)換成關(guān)系模型:問卷模板管理(問卷模板編號,問卷模板名稱);用戶(用戶編號,用戶名稱);問卷管理(問卷編號,問卷名稱);問卷分類(分類編號,用戶編號);時間(時間編號,時間名稱)。
3.4.4 數(shù)據(jù)庫表設(shè)計(jì)
根據(jù)需求分析以及系統(tǒng)功能的需要,系統(tǒng)信息數(shù)據(jù)存放在數(shù)據(jù)表中。下面給出系統(tǒng)幾個主要數(shù)據(jù)表的簡單描述。
wjtype(問卷分類信息表):存儲了問卷分類的基本信息,主要用于問卷分類基本信息記錄。wjmbts(問卷模板設(shè)置信息表):存儲了問卷模板設(shè)置的基本信息,主要是問卷模板設(shè)置的信息的記錄。wjmb(問卷模板信息表):存儲了問卷模板的基本信息,主要是問卷模板信息的記錄。wenj(問卷信息表):存儲了問卷的基本信息,主要是問卷信息的記錄。sysuser(用戶信息表):存儲了用戶的基本信息,主要是用戶信息的記錄。answers(答案信息表):存儲了答案的基本信息,主要是答案信息的記錄。
經(jīng)過系統(tǒng)設(shè)計(jì)后,實(shí)現(xiàn)時要盡量按照用戶工作習(xí)慣,同時要做到界面友好,讓用戶操作簡單方便。
4.1功能實(shí)現(xiàn)
4.1.1 登錄模塊
在登錄頁面中選擇用戶類型,輸入用戶名和密碼,然后單擊登錄按鈕,主頁面將負(fù)責(zé)處理登錄請求,驗(yàn)證用戶身份和信息,完成登錄。用戶登錄時要選擇身份,本系統(tǒng)有二種身份的用戶,分別是管理員、用戶。
4.1.2 前臺功能模塊
在首頁界面用戶登錄系統(tǒng)后,主要的功能包括公開問卷、熱門測評、常見問題、聯(lián)系我們等。在會員登陸界面,選擇用戶類型,輸入用戶名和密碼,然后單擊登錄按鈕,進(jìn)入的頁面將負(fù)責(zé)處理登錄請求,驗(yàn)證用戶身份和信息,完成登錄。用戶注冊界面,用戶通過注冊頁面,注冊為系統(tǒng)的用戶。
4.1.3 管理員功能模塊
問卷管理是這個問卷調(diào)查系統(tǒng)的重點(diǎn),主要包括:問卷信息管理、問卷模板管理、問卷分類管理等。注冊用戶管理模塊,管理員對用戶的信息進(jìn)行編輯、修改、刪除等管理。系統(tǒng)管理界面,管理員對系統(tǒng)信息進(jìn)行管理,其中修改登錄密碼界面。
4.2主要功能代碼
其中問卷信息管理模塊,管理員對問卷信息進(jìn)行查詢、添加、修改等管理。下面給出修改問卷分類功能代碼。
if(ac.equals("upwjtype"))
{ String id = request.getParameter("id");
String tname = request.getParameter("tname");
String tbei = request.getParameter("tbei");
String hotmen = request.getParameter("hotmen");
String tcontent = request. getParameter("tcontent");
String sql = "update wjtype set tname='"+tname+"', tbei='"+tbei+"',tcontent='"+tcontent+"',hotmen='"+hotm en+"' where id= "+id;
dao.commOper(sql);
request.setAttribute("suc", "");
go("/admin/addwjtype.jsp", request, response);
}
本文從系統(tǒng)概述、關(guān)鍵技術(shù)、系統(tǒng)設(shè)計(jì)及系統(tǒng)實(shí)現(xiàn)等方面介紹了基于WEB網(wǎng)上問卷調(diào)查系統(tǒng)研究過程。通過使用MVC開發(fā)模式,使系統(tǒng)在擴(kuò)展性、維護(hù)性、移植性等方面功能大大增強(qiáng),達(dá)到靈活性、安全性的設(shè)計(jì)目標(biāo)。系統(tǒng)模塊間獨(dú)立性、可重用性很高,該系統(tǒng)具有很強(qiáng)實(shí)用性。
[1] 孫曉悅.精通Java、JDK、數(shù)據(jù)庫系統(tǒng)開發(fā)、Web開發(fā).人民郵電出版社.2007年
[2] 葉健毅.精通javaee—eclipse struts2 hibernate spring整合應(yīng)用案例,第2版. 人民郵電出版社,2010年
[3] 楊少波.j2ee項(xiàng)目實(shí)訓(xùn)/struts框架技術(shù).清華大學(xué)出版社.2010年
魏曉艷,女,陜西國防工業(yè)職業(yè)技術(shù)學(xué)院,碩士,軟件教研室主任。主要從事Web軟件開發(fā)技術(shù)、數(shù)據(jù)庫技術(shù)及微控制器技術(shù)方面研究和教學(xué);
Research based on WEB online survey system
Wei Xiaoyan
(Electronic Information College of Shaanxi Vocational College of National Defense Industry,Xi'an City, 710300)
WEB-based research online survey system,which uses Rational Rose2003 UML modeling tool for system,using SQL Server 2008 database back-end database design and development,using TomCat server set up to run the system.The system uses B/W/D of the three-tier architecture using Java Web development framework Struts and Hibernate technology development,to achieve a questionnaire to create edit published statistics, the title add delete modify,Link Management other functions.In practice,this system has a certain application value.
questionnaire survey;Design; Database;J2EE
本文主要根據(jù)院級科研項(xiàng)目——基于WEB網(wǎng)上問卷調(diào)查系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)來寫,項(xiàng)目編號:Gfy11-14 。