某學(xué)院畢業(yè)設(shè)計(jì)在線調(diào)查問卷系統(tǒng)分析、設(shè)計(jì)與開發(fā)_第1頁
某學(xué)院畢業(yè)設(shè)計(jì)在線調(diào)查問卷系統(tǒng)分析、設(shè)計(jì)與開發(fā)_第2頁
某學(xué)院畢業(yè)設(shè)計(jì)在線調(diào)查問卷系統(tǒng)分析、設(shè)計(jì)與開發(fā)_第3頁
某學(xué)院畢業(yè)設(shè)計(jì)在線調(diào)查問卷系統(tǒng)分析、設(shè)計(jì)與開發(fā)_第4頁
某學(xué)院畢業(yè)設(shè)計(jì)在線調(diào)查問卷系統(tǒng)分析、設(shè)計(jì)與開發(fā)_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

在線調(diào)查問卷系統(tǒng)的分析、設(shè)計(jì)與開發(fā)摘要:在校園、政府機(jī)關(guān)或者企業(yè)里,由于許多調(diào)查研究的需要,經(jīng)常會(huì)出現(xiàn)各種各樣的調(diào)查問卷,在傳統(tǒng)的模式下,人們不僅要花費(fèi)不少的費(fèi)用來印刷問卷,而且還要耗費(fèi)大量時(shí)間和精力去發(fā)放問卷,回收問卷,統(tǒng)計(jì)問卷,并且問卷的可控性也比較差,容易產(chǎn)生漏卷、廢卷等一系列問題。隨著Internet的發(fā)展和人們社會(huì)生活水平的不斷提高,傳統(tǒng)的市場(chǎng)分析、民意調(diào)查越來越不能滿足社會(huì)的需要,網(wǎng)上問卷調(diào)查已經(jīng)在很多領(lǐng)域的很多方面使用,通過網(wǎng)上在線調(diào)查問卷收集信息已經(jīng)逐漸成為了一種不可或缺的調(diào)查方式,在網(wǎng)絡(luò)經(jīng)濟(jì)進(jìn)一步發(fā)展的今天,建設(shè)一個(gè)高效、便利、安全的在線調(diào)查問卷系統(tǒng)是十分必要的,以達(dá)到實(shí)現(xiàn)在市場(chǎng)研究、民意調(diào)查以及學(xué)術(shù)研究等方面的科學(xué)應(yīng)用的目標(biāo)。而如今網(wǎng)上調(diào)查問卷的生成與分析統(tǒng)計(jì)的系統(tǒng)已經(jīng)有很多種。本系統(tǒng)是建立在信息技術(shù)基礎(chǔ)上,構(gòu)建出一個(gè)在線的問卷設(shè)計(jì)、分發(fā)、調(diào)查、回收、統(tǒng)計(jì)的系統(tǒng),以提高調(diào)查的效率和安全性,基本解決傳統(tǒng)調(diào)查問卷的各種弊端。本論文通過對(duì)這一需求的詳細(xì)分析和對(duì)現(xiàn)實(shí)生活中突出問題的研究,以及對(duì)各種技術(shù)的考慮,其中前臺(tái)技術(shù)采用基于B/S模式的ASP.NET,開發(fā)工具是VISUALSTUDIO.NET2005,后臺(tái)數(shù)據(jù)庫采用SQLSERVER2000,數(shù)據(jù)訪問技術(shù)采用ADO.NET。本文首先介紹了問題的背景、相關(guān)技術(shù)背景,接著提出問題,并針對(duì)具體項(xiàng)目展開需求調(diào)查分析;再基于需求設(shè)計(jì)出具體的方案;然后對(duì)整個(gè)系統(tǒng)進(jìn)行了詳細(xì)的分析和設(shè)計(jì),在設(shè)計(jì)與實(shí)現(xiàn)過程中,結(jié)合源代碼具體的描述出整個(gè)項(xiàng)目的開發(fā)過程;最后對(duì)整個(gè)系統(tǒng)進(jìn)行測(cè)試得出測(cè)試結(jié)論。關(guān)鍵詞:調(diào)查問卷、ASP.NET、SQLServerTheAnalysis,DesignandDevelopmentofOnlineQuestionnaireSystemAbstract:Oncampus,authoritiesorenterprisesinChina,duetoavarietyofresearchneeds,oftentherewillbeavarietyofquestionnaires,inthetraditionalmodel,peoplenotonlyhavetospendalotofthecostofprintingthequestionnaires,butalsospendalotoftimeandenergyIssuedonthequestionnaire,therecoveryofthequestionnaire,statisticalsurvey,questionnairesandcontrolpoor,pronetoleakagevolume,thevolumeofwaste.AlongwiththedevelopmentofInternetandsocialstandardoflivingpeopleunceasingenhancement,thetraditionalmarket,pollsincreasinglyunabletomeettheneedofthesociety,andquestionnairessurveythroughthenetworkhasbeaninmanyareasofuse.throughmanyaspectsofonlinequestionnairetocollectinformationhasbecomeaindispensableway,intheinvestigationoffurtherdeepeningofnetworkeconomytoday,buildaefficient,convenientandsafeonlinequestionnairewebsiteisverynecessarytoachieveinmarketresearch,opinionpollsandacademicresearchofscientificapplications.Andnowthenumberoftheonlinequestionnairestatisticalanalysisandgeneratethesystemisgreat.Thesystembuiltonthebasisofinformationtechnology,tobuildanonlinequestionnairedesign,distribution,investigation,recovery,statisticalsystems,improvetheefficiencyandsecurity,thetraditionalsolutiontothebasicappealofthequestionnairechronicproblem.Thereinto,thetechnologyoffrontendadoptsASP.NETbased-B/SmodeandVISUALSTUDIO.NET2006asthedevelopmenttool,databaseofbackendadoptsSQLSERVER2000andADO.NETasdataaccesstechnology.ThistextintroducesbackgroundofthisissuefirstlyandRelatedtechnicalbackground,thenputforwardsissue,andaimsattheactualprojecttostarttheresearchanalysisofrequirements;Thendesignsdetailedprojectbasedonrequirements;Andthenanalyzesindetailanddesignthewholesystem,inthecourseofdesignandrealization,describesthedevelopmentprocessofthewholeprojectaccordingtosourcecodes;Atlastteststhewholesystemanddrawstestingconclusion.Keywords:questionnaires,ASP.NET,VS.NET2005,SQLServer目錄第一章緒論 11.1課題的研究背景 11.2課題的研究范圍、技術(shù)要求和目的 21.2.1研究范圍 21.2.2技術(shù)要求 21.2.3研究目的 2第二章相關(guān)技術(shù)背景 42.1ASP.NET概述 42.2后臺(tái)數(shù)據(jù)庫——SQLServer2000 42.3ADO技術(shù)簡介 52.4B/S模式簡介 5第三章系統(tǒng)分析 73.1任務(wù)概述 73.1.1系統(tǒng)的目標(biāo) 73.1.2系統(tǒng)的開發(fā)環(huán)境 73.2系統(tǒng)需求分析 73.2.1系統(tǒng)功能需求 83.2.2系統(tǒng)性能需求 103.3系統(tǒng)可行性分析 103.3.1經(jīng)濟(jì)可行性 113.3.2技術(shù)可行性 113.3.3方案優(yōu)點(diǎn)與不足 113.3.4此方案與C/S結(jié)構(gòu)的比較 123.4業(yè)務(wù)流程分析 133.4數(shù)據(jù)流程分析 14第四章系統(tǒng)設(shè)計(jì) 174.1系統(tǒng)功能模塊設(shè)計(jì) 174.2網(wǎng)絡(luò)結(jié)構(gòu) 184.3數(shù)據(jù)庫設(shè)計(jì) 194.3.1數(shù)據(jù)庫設(shè)計(jì)原則 194.3.2概念結(jié)構(gòu)設(shè)計(jì) 194.3.3邏輯結(jié)構(gòu)設(shè)計(jì) 214.3.4數(shù)據(jù)庫實(shí)體表的實(shí)現(xiàn) 22第五章系統(tǒng)實(shí)現(xiàn) 265.1登陸界面 265.2系統(tǒng)主要功能模塊 285.3數(shù)據(jù)庫連接的實(shí)現(xiàn) 36第六章總結(jié) 38參考文獻(xiàn) 39致謝 40附錄 41附錄1:英文文獻(xiàn) 41附錄2:中文譯文 41第一章緒論1.1課題的研究背景進(jìn)入21世紀(jì)以來,互聯(lián)網(wǎng)進(jìn)入了高速發(fā)展的新時(shí)期?;ヂ?lián)網(wǎng)已成為人們快速獲取、發(fā)布和傳遞信息的主要渠道,它在人們的政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。在Internet上發(fā)布信息主要是通過網(wǎng)站實(shí)現(xiàn)的,獲取信息也得在Internet“海洋”中根據(jù)一定的檢索方式把所需要的信息從網(wǎng)站上下載下來。由此可見,網(wǎng)站建設(shè)在Internet應(yīng)用上的地位是顯而易見的,它已成為政府、企事業(yè)單位等信息化建設(shè)中的重要組成部分,因而備受人們的重視。調(diào)查研究是社會(huì)學(xué)經(jīng)常用的研究方法,可以用于描述性、解釋性或探索性的研究。隨著互聯(lián)網(wǎng)在全球范圍內(nèi)的迅速普及,網(wǎng)上調(diào)查開始興起。它的出現(xiàn)并不是取締傳統(tǒng)調(diào)查方式,而是與之相輔相成,以達(dá)成最佳的調(diào)查效果。網(wǎng)上市場(chǎng)調(diào)查即在線市場(chǎng)調(diào)查,泛指利用互聯(lián)網(wǎng)手段所進(jìn)行的各種以市場(chǎng)調(diào)研為目的的活動(dòng),比如收集市場(chǎng)信息、了解競(jìng)爭(zhēng)者的情報(bào)、調(diào)查顧客對(duì)產(chǎn)品或服務(wù)的意見等,其中利用網(wǎng)上的在線調(diào)查問卷獲得用戶反饋信息是最常用的手段之一,網(wǎng)上市場(chǎng)調(diào)查也是網(wǎng)絡(luò)營銷的而基本職能之一,網(wǎng)上調(diào)查又是網(wǎng)站的基本功能之一,這種高效的調(diào)查手段也被許多調(diào)查咨詢公司廣泛應(yīng)用,中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)每年兩次(1月和7月中旬)所發(fā)布的《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》中的大部分信息也都是通過在線調(diào)查的方式獲得的,調(diào)查的內(nèi)容包括用戶的上網(wǎng)習(xí)慣、個(gè)人資料和對(duì)互聯(lián)網(wǎng)領(lǐng)域的一些熱點(diǎn)問題的看法等等,然后通過對(duì)這些調(diào)查數(shù)據(jù)的整理,形成了內(nèi)容豐富的調(diào)查報(bào)告,CNNIC的在線調(diào)查已成為最有影響力的網(wǎng)上調(diào)查之一,由此可見網(wǎng)上調(diào)查的重要價(jià)值[1]。到目前為止,我國已經(jīng)有一部分企業(yè)網(wǎng)站具備在線調(diào)查功能,也出現(xiàn)了很多專業(yè)的在線調(diào)查問卷系統(tǒng)。網(wǎng)上調(diào)查的優(yōu)勢(shì)在于,這是一種更快更簡便,而且更低價(jià)更高效的方法。傳統(tǒng)調(diào)查方式的成本是不斷上升的。當(dāng)調(diào)查達(dá)到一定規(guī)模的時(shí)侯,網(wǎng)上調(diào)查的成本相對(duì)而言比較低廉,在成本曲線上基本沒有任何上升的趨勢(shì)。而且它不受時(shí)空的限制,可以24小時(shí)接受被調(diào)查者提交的問卷,并且能自動(dòng)進(jìn)行檢驗(yàn)與處理,顯示并能夠生成直觀生動(dòng)的統(tǒng)計(jì)圖形。對(duì)于敏感性的問題,網(wǎng)上調(diào)查方法可以使被調(diào)查者不受影響地以內(nèi)心真實(shí)的態(tài)度回答,保證了問卷答案的真實(shí)性等等。它還可以在更為廣泛的范圍內(nèi),對(duì)更多的用戶進(jìn)行數(shù)據(jù)收集的工作。迄今為止,已經(jīng)出現(xiàn)了各種各樣的網(wǎng)上調(diào)查軟件,作為調(diào)查工具,至少要具備以下幾個(gè)不可或缺的功能:簡單易用,使用者無需了解程序代碼;可以選擇多種問題形式(比如列表、多選等等);提供分析工具,可以將數(shù)據(jù)導(dǎo)人、導(dǎo)出,并作處理;人們可以根據(jù)當(dāng)前調(diào)查研究的需要自由選擇參與調(diào)查。當(dāng)然,也要考慮到研究的預(yù)算、研究人員的能力以及所要做的結(jié)果分析工作等等。雖然人們正在致力于這種正在蓬勃發(fā)展中的調(diào)查方式的研究與應(yīng)用,同時(shí)也意識(shí)到在其不可比擬的優(yōu)勢(shì)之外,也有其不足的方面。這種方式的局限性的一面的主要表現(xiàn)是:網(wǎng)絡(luò)普及率還比較低、專業(yè)人員缺乏、研究時(shí)對(duì)社會(huì)倫理道德的考慮不周等問題;另一方面,對(duì)這種調(diào)查研究方式的理論研究還不夠全面和深入,如樣本的內(nèi)在偏差性等等。1.2課題的研究范圍、技術(shù)要求和目的1.2.1研究范圍1)設(shè)計(jì)該系統(tǒng)的功能模塊劃分,使用SQLSERVER2000設(shè)計(jì)出該系統(tǒng)的數(shù)據(jù)庫。2)參考實(shí)際在線調(diào)查問卷WEB站點(diǎn)管理情況,完成對(duì)系統(tǒng)的需求分析及設(shè)計(jì)文檔。3)根據(jù)需求分析及設(shè)計(jì)文檔完成代碼編制。1.2.2技術(shù)要求1)功能模塊劃分合理。2)數(shù)據(jù)庫設(shè)計(jì)滿足功能要求。3)數(shù)據(jù)庫冗余度小,盡量滿足三范式要求。4)繪制數(shù)據(jù)庫各數(shù)據(jù)表之間的關(guān)系圖。5)建立數(shù)據(jù)庫訪問接口類,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問。6)完成功能模塊中的一個(gè)較小的功能,以測(cè)試數(shù)據(jù)庫接口的正確性。1.2.3研究目的本課題設(shè)計(jì)的目的是造就一個(gè)能夠提高調(diào)查效率,節(jié)約調(diào)查費(fèi)用,使調(diào)查數(shù)據(jù)的處理分析更方便、具有以下功能特點(diǎn)的調(diào)查問卷系統(tǒng):1)向Internet用戶提供交互式、個(gè)性化的問卷調(diào)查服務(wù),具有問卷搜索等功能。2)智能的后臺(tái)管理,能夠在線生成調(diào)查問卷,能夠?qū)φ{(diào)查問卷的結(jié)果進(jìn)行分析匯總。3)使用比較簡單,不需要IT專業(yè)技能,問卷的生成、投放、調(diào)查結(jié)果分析簡單易用。4)具有靈活性,能夠應(yīng)用于不同的調(diào)查場(chǎng)合。第二章相關(guān)技術(shù)背景2.1ASP.NET概述ASP.NET是在原有ASP基礎(chǔ)上開發(fā)出來的一個(gè)新的版本,它不但提供最先進(jìn)的網(wǎng)絡(luò)發(fā)展平臺(tái)而且為網(wǎng)絡(luò)開發(fā)者提供了新的靈活、簡單的體系結(jié)構(gòu)。ASP.NET被確定為.NETFramework的基礎(chǔ),它所提供的"網(wǎng)絡(luò)應(yīng)用程序模型"為網(wǎng)絡(luò)應(yīng)用程序AML、網(wǎng)絡(luò)服務(wù)帶來了更多的方便。ASP.NET包含web表單和服務(wù)器控件,WEB表單能帶給使用者基于表單的強(qiáng)大功能和美觀的頁面,但是網(wǎng)絡(luò)服務(wù)器應(yīng)用程序要通過使用HTTP,XML,SOAP,WSDL技術(shù)在不同的網(wǎng)絡(luò)環(huán)境和連接遠(yuǎn)程設(shè)備的情況下來訪問遠(yuǎn)程服務(wù)器[2]。ASP.NET應(yīng)用程序的運(yùn)行環(huán)境如下圖2-1所示:圖2-1ASP.NET應(yīng)用程序的運(yùn)行環(huán)境2.2后臺(tái)數(shù)據(jù)庫——SQLServer2000SQLServer是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng),現(xiàn)如今的商業(yè)環(huán)境要求不同類型的數(shù)據(jù)庫解決方案。性能、可伸縮性及可靠性是基本的要求,而進(jìn)入市場(chǎng)的時(shí)間也非常關(guān)鍵。除具備這些核心企業(yè)品質(zhì)外,SQLServer2000

還為數(shù)據(jù)管理與分析帶來了靈活性,允許單位在快速變化的環(huán)境中從容響應(yīng),從而獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。從數(shù)據(jù)管理和分析角度看,將原始數(shù)據(jù)轉(zhuǎn)化為商業(yè)智能和充分利用

Web

帶來的機(jī)會(huì)非常重要。SQLServer2000

是一個(gè)具備完全

Web

支持的數(shù)據(jù)庫產(chǎn)品,提供了對(duì)可擴(kuò)展標(biāo)記語言

(XML)

的核心支持以及在

Internet

上和防火墻外進(jìn)行查詢的能力,SQLServer2000

提供了以

Web

標(biāo)準(zhǔn)為基礎(chǔ)的擴(kuò)展數(shù)據(jù)庫編程功能。豐富的

XML

Internet

標(biāo)準(zhǔn)支持允許您使用內(nèi)置的存儲(chǔ)過程以

XML

格式輕松存儲(chǔ)和檢索數(shù)據(jù),還可以使用

XML

更新程序容易地插入、更新和刪除數(shù)據(jù)[3]。SQLServer2000的常見版本有下述幾種:1)企業(yè)版(EnterpriseEdition):支持所有的SQLServer2000特性,可作為大型Web站點(diǎn)、企業(yè)OLTP(聯(lián)機(jī)事務(wù)處理)以及數(shù)據(jù)倉庫系統(tǒng)等的產(chǎn)品數(shù)據(jù)庫服務(wù)器。2)標(biāo)準(zhǔn)版(StandardEdition):用于小型的工作組或部門。3)個(gè)人版(PersonalEdition):用于單機(jī)系統(tǒng)或客戶機(jī)。4)開發(fā)者版(DeveloperEdition):用于程序員開發(fā)應(yīng)用程序,這些程序需要SQLServer2000作為數(shù)據(jù)存儲(chǔ)設(shè)備。2.3ADO技術(shù)簡介ASP訪問數(shù)據(jù)庫是通過ADO(ActiveXDataObjects(ActiveX數(shù)據(jù)對(duì)象))技術(shù)實(shí)現(xiàn)的,ADO是Microsoft推出的一種數(shù)據(jù)訪問技術(shù)。這是一種面向?qū)ο蟮模c語言無關(guān)的通用的數(shù)據(jù)訪問接口,ASP強(qiáng)大的數(shù)據(jù)庫訪問功能正是由ADO來完成的。通過ADO與ODBC(開放式數(shù)據(jù)庫連接性(OpenDatabaseConnectivity))源的接口,程序員可以用很少而且很簡單的腳本程序?qū)崿F(xiàn)對(duì)網(wǎng)站數(shù)據(jù)庫的讀、寫和修改等操作功能[4]。ADO.NET基于XML,能夠保證不管使用者是否安裝了XML語法分析器,它都能在不同的平臺(tái)上操作任何的數(shù)據(jù)對(duì)象,ADO.NET的原理見下圖2所示。圖2-2ASP.NET的原理2.4B/S模式簡介B/S(Browser/Server即瀏覽器和服務(wù)器)模式結(jié)構(gòu),是20世紀(jì)90年代隨著Internet/Web技術(shù)的產(chǎn)生并開始盛行,已經(jīng)成為當(dāng)今最先進(jìn)的一種網(wǎng)絡(luò)結(jié)構(gòu)體系,從數(shù)據(jù)庫服務(wù)器的角度來看,它是從C/S(Client/Server即客戶端/服務(wù)器)模式發(fā)展而來[5],但也具有自己的特點(diǎn):(1)B/S屬于一種瘦客戶機(jī)模式,客戶端軟件不需要開發(fā),只需安裝瀏覽器,應(yīng)用界面比較單一,硬件配置要求也比較低。對(duì)已經(jīng)安裝Windows系列的用戶,使用內(nèi)置的TCP/IP協(xié)議和IE瀏覽器就能夠?qū)崿F(xiàn)客戶機(jī)的功能。(2)由于B/S的功能都是在Web服務(wù)器上實(shí)現(xiàn),開發(fā)人員就可以集中精力解決應(yīng)用層和數(shù)據(jù)層之間存在的問題,這樣就大大減輕了系統(tǒng)開發(fā)和維護(hù)的工作量,系統(tǒng)管理和升級(jí)也比較方便。(3)因?yàn)榭蛻舳耸褂玫氖菫g覽器,所以開發(fā)者不需要為不同的用戶設(shè)計(jì)不同的客戶程序。更重要的是瀏覽器簡單易用,特別適合于非計(jì)算機(jī)專業(yè)人員學(xué)習(xí)使用。(4)平臺(tái)無關(guān)性是B/S模式最大的優(yōu)點(diǎn)之一,開放型的網(wǎng)絡(luò)通信協(xié)議瀏覽器技術(shù),不僅能夠免費(fèi)下載,而且還可以選擇不同的廠商產(chǎn)品。B/S模式的工作方式如下圖所示:圖2-3B/S工作方式圖由此可以看出B/S模式的網(wǎng)絡(luò)具有三層結(jié)構(gòu):(1)瀏覽器屬于用戶界面層,用于實(shí)現(xiàn)用戶的接口功能。在客戶端,統(tǒng)一資源定位器(UniformResourceLocation,URL)向指定的Web服務(wù)器提出服務(wù)器請(qǐng)求,Web服務(wù)器用HTTP(HyperTextTransmissionProtocol,超文件傳輸協(xié)定)把所需文件資料傳送給客戶端用戶,客戶端接受并在WWW瀏覽器上顯示。(2)Web服務(wù)器屬于業(yè)務(wù)邏輯層,主要完成客戶的應(yīng)用功能,即Web服務(wù)器接受客戶的請(qǐng)求,以ASP與數(shù)據(jù)庫連接,并進(jìn)行申請(qǐng)?zhí)幚?,而后?shù)據(jù)庫結(jié)果返回Web服務(wù)器,并傳至客戶端。(3)數(shù)據(jù)庫服務(wù)器即數(shù)據(jù)層,數(shù)據(jù)庫服務(wù)器接受客戶端用戶的請(qǐng)求獨(dú)立地進(jìn)行數(shù)據(jù)處理。第三章系統(tǒng)分析系統(tǒng)分析是指應(yīng)用系統(tǒng)的思想和方法,解決系統(tǒng)要“做什么”這一關(guān)鍵性的問題,是系統(tǒng)開發(fā)過程中最重要也是最困難的階段。在這個(gè)階段,我們的主要任務(wù)是定義系統(tǒng)的邏輯模型,首先要針對(duì)用戶的需求進(jìn)行系統(tǒng)需求分析,并根據(jù)需求分析用系統(tǒng)說明書表達(dá)出來,以此作為系統(tǒng)設(shè)計(jì)的依據(jù)。3.1任務(wù)概述3.1.1系統(tǒng)的目標(biāo)開發(fā)出的系統(tǒng)應(yīng)具備很強(qiáng)的開放性和擴(kuò)展性等特性。本系統(tǒng)實(shí)現(xiàn)一個(gè)在線調(diào)查問卷WEB站點(diǎn),能夠方便、靈活地對(duì)調(diào)查問卷資料進(jìn)行查詢、統(tǒng)計(jì)等操作。所有這些對(duì)數(shù)據(jù)庫進(jìn)行的操作都受到管理級(jí)別的限制。本項(xiàng)目可有效快捷地管理調(diào)查問卷,提供必需的統(tǒng)計(jì)、管理信息,使信息更為準(zhǔn)確、快捷、易查。3.1.2系統(tǒng)的開發(fā)環(huán)境硬件平臺(tái):硬盤空間: 5G以上;內(nèi)存: 256M以上;CPU: PIII500以上;操作系統(tǒng):windowsXP/windowsvista其它軟件:瀏覽器:IE瀏覽器5.0以上數(shù)據(jù)庫:SQLSever2000開發(fā)工具:VisualS20053.2系統(tǒng)需求分析在線調(diào)查問卷系統(tǒng)說起來比較簡單,被調(diào)查者填寫或者選擇一些選項(xiàng),然后點(diǎn)擊“提交”按鈕,一個(gè)在線調(diào)查問卷就完成了,但是在實(shí)際上從事網(wǎng)上調(diào)研的工作并不是那么輕松的,有時(shí)甚至不能順利完成在線調(diào)查的任務(wù),或者所得到的調(diào)查數(shù)據(jù)與實(shí)際狀況有比較大的差別,因此調(diào)查結(jié)果的可信度也就大打折扣了。利用在線調(diào)查問卷系統(tǒng)獲取信息也是最常用的網(wǎng)絡(luò)營銷功能之一,因此設(shè)計(jì)出一個(gè)功能完善的在線調(diào)查問卷網(wǎng)站是很迫切的。在線調(diào)查問卷系統(tǒng)是一個(gè)基于網(wǎng)絡(luò)的數(shù)據(jù)采集系統(tǒng),這個(gè)系統(tǒng)的主要目的就是通過在線問卷調(diào)查來獲取大眾的信息,這些信息要經(jīng)過處理并且及時(shí)的存儲(chǔ)起來。本系統(tǒng)支持將數(shù)據(jù)庫文件導(dǎo)入至相關(guān)的統(tǒng)計(jì)分析軟件進(jìn)行統(tǒng)計(jì)分析,同時(shí)系統(tǒng)還要求用戶能夠在線編輯問卷,同時(shí)也能夠跟蹤問卷當(dāng)前發(fā)布的情況等,在被訪者訪問問卷時(shí),系統(tǒng)能夠根據(jù)被訪者所做的當(dāng)前題目的答案和管理員編制問卷時(shí)所定制的邏輯跳轉(zhuǎn)來動(dòng)態(tài)生成下一個(gè)題目,以使被訪者繼續(xù)順利做答。3.2.1系統(tǒng)功能需求1)系統(tǒng)用戶系統(tǒng)用戶主要有一般用戶和管理員兩種。詳見圖2.1所示:圖2.1系統(tǒng)用戶關(guān)系圖注:在以下的論述中,所提到的“用戶”,若沒有具體說明均指一般用戶。所提到的“管理員”均為一般管理員和高級(jí)管理員的統(tǒng)稱。2)具體功能劃分用戶組是用戶里面權(quán)限最低的。只可以參與填寫問卷調(diào)查和查詢問卷,無法進(jìn)行其他操作。但是仍然有登錄所需的用戶名和密碼,所以他們需要注冊(cè)。盡管權(quán)限很低,他們還可以對(duì)自己的個(gè)人資料進(jìn)行修改(無法修改其他用戶的資料)。用戶組的用例圖如圖2.2所示。圖2.2用戶組的用例圖一般管理員組:一般管理員權(quán)限比用戶高。他們可以分別對(duì)問卷和用戶進(jìn)行管理。問卷管理包括增加問卷、修改問卷、刪除問卷、查詢問卷和統(tǒng)計(jì)問卷五個(gè)部分。用戶管理包括對(duì)用戶資料的管理和刪除個(gè)別用戶。當(dāng)然,他們也可以像一般用戶那樣填寫問卷和修改個(gè)人資料。以上各種操作也必須經(jīng)過登錄驗(yàn)證以后。一般管理員組的用例圖如圖2.3所示。圖2.3一般管理員組的用例圖超級(jí)管理員組:超級(jí)管理員的權(quán)限是所有用戶中權(quán)限級(jí)別最高的。他們不僅可以完成一般管理員的功能,還比一般管理員多了一項(xiàng)權(quán)限,那就是給用戶授權(quán)和撤銷用戶權(quán)限。超級(jí)管理員組的用例圖如圖2.4所示。圖2.4高級(jí)管理員組的用例圖3.2.2系統(tǒng)性能需求1)數(shù)據(jù)精確度在面向用戶的部分中,考慮到可能會(huì)出現(xiàn)用戶短時(shí)間內(nèi)重復(fù)提交選擇結(jié)果的情況,為了保證數(shù)據(jù)的有效性,找出了以下數(shù)據(jù)精確度控制方法:第一:同一未刷新頁面不能提交兩次調(diào)查結(jié)果,即用戶在同一個(gè)頁面提交數(shù)據(jù)以后,若此頁面未被重新載入或未被刷新,用戶再次提交無效。第二:同一IP在2分鐘內(nèi)不允許提交兩次,即使用戶刷新過頁面,在2分鐘以內(nèi),仍然不允許提交第二次。之所以不執(zhí)行每一個(gè)IP地址只提交一次的標(biāo)準(zhǔn),主要是考慮到那些通過LAN(局域網(wǎng))上網(wǎng)的用戶和撥號(hào)上網(wǎng)的用戶。2)時(shí)間特性響應(yīng)時(shí)間:用戶應(yīng)該在1s-1min時(shí)間內(nèi)得到服務(wù)器的響應(yīng)。更新處理時(shí)間:2s,可能受到網(wǎng)絡(luò)狀況影響運(yùn)行時(shí)間:依據(jù)網(wǎng)絡(luò)狀況決定3)適應(yīng)性要求系統(tǒng)界面友好,菜單清楚,便于操作,并且可以在windows的任何版本的操作系統(tǒng)下運(yùn)行,軟件接口主要通過用戶瀏覽器實(shí)現(xiàn)。3.3系統(tǒng)可行性分析可行性分析,就是根據(jù)初步調(diào)查的系統(tǒng)需求和系統(tǒng)方案的總體設(shè)想,從技術(shù)上、經(jīng)濟(jì)上和社會(huì)環(huán)境上考察本系統(tǒng)是否有必要、有沒有條件、值不值得開發(fā)的問題[6]。3.3.1經(jīng)濟(jì)可行性隨著互聯(lián)網(wǎng)的迅速普及,計(jì)算機(jī)、網(wǎng)絡(luò)已經(jīng)深入到我們生活的各個(gè)方面,在線問卷調(diào)查也將逐步取代傳統(tǒng)的通過紙筆填寫的調(diào)查問卷。首先,在網(wǎng)上進(jìn)行調(diào)查,網(wǎng)絡(luò)上沒有時(shí)空和地域的限制,這是在線問卷調(diào)查與傳統(tǒng)市場(chǎng)調(diào)查的方式相比所獨(dú)有的優(yōu)勢(shì)。再次,傳統(tǒng)方式的市場(chǎng)調(diào)查活動(dòng)需要消耗大量的人力、物力才能進(jìn)行,周期也比較長,Internet用Web或者其他手段就可以覆蓋全球的優(yōu)勢(shì)正好彌補(bǔ)了這一不足。最后,與傳統(tǒng)方式不同,網(wǎng)民可以在不直接面對(duì)調(diào)查者的情況下,以一種相對(duì)輕松和從容的方式填寫問卷,達(dá)到面對(duì)面提問所無法比擬的效果。并且在線調(diào)查問卷系統(tǒng)的運(yùn)行維護(hù)比較簡便,能夠?qū)崿F(xiàn)不同的人員從不同的地點(diǎn)以不同的接入方式訪問和操作共同的數(shù)據(jù)。從諸多的投資和收益的比較中可以看出,此方案的經(jīng)濟(jì)可行性很大。3.3.2技術(shù)可行性ASP.NET是微軟公司繼ASP之后推出的新一代ActiveServerPages,它不是ASP的簡單升級(jí),是微軟發(fā)展的新的體系.NET的一部分[7]。同以前的Web開發(fā)模型相比,ASP.NET具有增強(qiáng)的性能、VisualStudio世界級(jí)的工具支持、靈活性、簡易性、可管理性、可縮放性、自定義性、擴(kuò)展性,以及完全性等數(shù)個(gè)重要的優(yōu)點(diǎn)[7]。同時(shí),代碼分離、ADO.NET技術(shù),以及全新的開發(fā)語言C#更是給作者帶來了更快捷、更方便的操作。SQLSERVER是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),數(shù)據(jù)庫處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫模式,但是在SQLSERVER的數(shù)據(jù)庫處理中,則是使用了面向?qū)ο蟮牟僮鞣绞絒8]。作者根據(jù)它的這個(gè)特點(diǎn),配合數(shù)據(jù)設(shè)計(jì)的基本原則及數(shù)據(jù)庫的范式要求對(duì)數(shù)據(jù)庫進(jìn)行設(shè)計(jì)。所以,此方案具有技術(shù)可行性。3.3.3方案優(yōu)點(diǎn)與不足此方案將系統(tǒng)分為用戶和管理員兩大模塊,通過權(quán)限的設(shè)定來明確用戶角色所使用的功能及所進(jìn)入的頁面,使系統(tǒng)能夠清晰明了地呈現(xiàn)在用戶面前。同時(shí)對(duì)兩大基本模塊又進(jìn)行細(xì)致劃分,進(jìn)一步加強(qiáng)了系統(tǒng)的可操作性和友好性。建立數(shù)據(jù)表的級(jí)聯(lián)關(guān)系,保障了數(shù)據(jù)的一致性。當(dāng)然,此方案也存在不足之處。比如,方案將問卷調(diào)查以系統(tǒng)形式展現(xiàn)在用戶面前,用戶需注冊(cè)才能使用,這將大大減少參與調(diào)查的人數(shù)。但是,需注冊(cè)后才能使用系統(tǒng),一方面可以便于管理員對(duì)系統(tǒng)的管理,另一方面可以避免惡意的調(diào)查樣本。所以,在幾個(gè)問題不能同時(shí)得到滿足的情況下,仍然采用了原方案。3.3.4此方案與C/S結(jié)構(gòu)的比較本次設(shè)計(jì)采用的技術(shù)是基于B/S的兩層開發(fā)模式,即主要業(yè)務(wù)都在服務(wù)器端完成。C/S結(jié)構(gòu)軟件(即客戶機(jī)/服務(wù)器模式)分為客戶機(jī)和服務(wù)器兩層,客戶機(jī)不是毫無運(yùn)算能力的輸入、輸出設(shè)備,而是據(jù)有了一定的數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ)能力,通過把應(yīng)用軟件的計(jì)算和數(shù)據(jù)合理地分配在客戶機(jī)和服務(wù)器兩端,可以有效地降低網(wǎng)絡(luò)通信量和服務(wù)器運(yùn)算量。由于服務(wù)器連接個(gè)數(shù)和數(shù)據(jù)通信量的限制,這種結(jié)構(gòu)的軟件適于在用戶數(shù)目不多的局域網(wǎng)內(nèi)使用。國內(nèi)目前的大部分ERP(財(cái)務(wù))軟件產(chǎn)品即屬于此類結(jié)構(gòu)。B/S(瀏覽器/服務(wù)器模式)是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種改進(jìn)。在這種結(jié)構(gòu)下,軟件應(yīng)用的業(yè)務(wù)邏輯完全在應(yīng)用服務(wù)器端實(shí)現(xiàn),用戶表現(xiàn)完全在Web服務(wù)器實(shí)現(xiàn),客戶端只需要瀏覽器即可進(jìn)行業(yè)務(wù)處理,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。1.數(shù)據(jù)安全性比較對(duì)于集團(tuán)級(jí)的異地軟件應(yīng)用,C/S結(jié)構(gòu)的軟件必須在各地安裝多個(gè)服務(wù)器,并在多個(gè)服務(wù)器之間進(jìn)行數(shù)據(jù)同步。如此一來,每個(gè)數(shù)據(jù)點(diǎn)上的數(shù)據(jù)安全都影響了整個(gè)應(yīng)用的數(shù)據(jù)安全。所以,對(duì)于集團(tuán)級(jí)的大型應(yīng)用來講,C/S結(jié)構(gòu)軟件的安全性是令人無法接受的。對(duì)于B/S結(jié)構(gòu)的軟件來講,由于其數(shù)據(jù)集中存放于總部的數(shù)據(jù)庫服務(wù)器,客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫連接信息,也無需進(jìn)行什么數(shù)據(jù)同步,所以這些安全問題也就自然不存在了。2.數(shù)據(jù)一致性比較在C/S結(jié)構(gòu)軟件的解決方案里,對(duì)于異地經(jīng)營的大型集團(tuán)都采用各地安裝區(qū)域級(jí)服務(wù)器,然后再進(jìn)行數(shù)據(jù)同步的模式。這些服務(wù)器每天必須在同步完畢之后,總部才可得到最終的數(shù)據(jù)。由于局部網(wǎng)絡(luò)故障造成個(gè)別數(shù)據(jù)庫不能同步不說,即使同步上來,各服務(wù)器也不能得到一個(gè)時(shí)點(diǎn)上的數(shù)據(jù),數(shù)據(jù)永遠(yuǎn)無法一致,不能用于決策。對(duì)于B/S結(jié)構(gòu)的軟件來講,其數(shù)據(jù)是集中存放的,客戶端發(fā)生的每一筆業(yè)務(wù)單據(jù)都直接進(jìn)入到中央數(shù)據(jù)庫,不存在數(shù)據(jù)一致性的問題。3.數(shù)據(jù)實(shí)時(shí)性比較在集團(tuán)級(jí)應(yīng)用里,C/S結(jié)構(gòu)不可能隨時(shí)隨地看到當(dāng)前業(yè)務(wù)的發(fā)生情況,看到的都是事后數(shù)據(jù);而B/S結(jié)構(gòu)則不同,它可以實(shí)時(shí)看到當(dāng)前發(fā)生的所有業(yè)務(wù),方便了快速?zèng)Q策,有效地避免了企業(yè)損失。4.數(shù)據(jù)溯源性比較由于B/S結(jié)構(gòu)的數(shù)據(jù)是集中存放的,所以總公司可以直接追溯到各級(jí)分支機(jī)構(gòu)(分公司、門店)的原始業(yè)務(wù)單據(jù),也就是說看到的結(jié)果可溯源。大部分C/S結(jié)構(gòu)的軟件則不同,為了減少數(shù)據(jù)通信量,僅僅上傳中間報(bào)表數(shù)據(jù),在總部不可能查到各分支機(jī)構(gòu)(分公司、門店)的原始單據(jù)。從以上的分析可以看出,B/S結(jié)構(gòu)的大型管理軟件有著C/S結(jié)構(gòu)軟件無法比擬的優(yōu)勢(shì)。而從國外的發(fā)展趨勢(shì)來看,也驗(yàn)證了這一點(diǎn)。目前,國外大型企業(yè)管理軟件要么已經(jīng)是B/S結(jié)構(gòu)的,要么正在經(jīng)歷從C/S到B/S結(jié)構(gòu)的轉(zhuǎn)變。從國內(nèi)諸多軟件廠商積極投入開發(fā)B/S結(jié)構(gòu)軟件的趨勢(shì)來看,B/S結(jié)構(gòu)的大型管理軟件勢(shì)必在將來的幾年內(nèi)占據(jù)管理軟件領(lǐng)域的主導(dǎo)地位[9]。3.4業(yè)務(wù)流程分析業(yè)務(wù)流程分析階段要調(diào)查系統(tǒng)所涉及每個(gè)環(huán)節(jié)的管理業(yè)務(wù)活動(dòng),掌握所有管理業(yè)務(wù)的內(nèi)容、作用和信息的輸入、輸出、數(shù)據(jù)存儲(chǔ)以及信息處理方法和過程,并根據(jù)業(yè)務(wù)的實(shí)際處理步驟和過程,繪制出業(yè)務(wù)流程圖。業(yè)務(wù)流程圖(TransactionFlowDiagram,TFD),它是用一些規(guī)定的符號(hào)及連線來表示某個(gè)具體業(yè)務(wù)處理過程的圖表,即描述系統(tǒng)內(nèi)各單位、人員之間的業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流向的圖[10]。業(yè)務(wù)流程圖的符號(hào)說明圖3-1所示:實(shí)體實(shí)體信息流文檔判斷操作處理圖3-1業(yè)務(wù)流程圖符號(hào)說明圖圖3-2系統(tǒng)業(yè)務(wù)流程分析圖超級(jí)管理員登錄系統(tǒng)后,錄入相關(guān)管理人員、調(diào)查問卷等信息,對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行管理,并分配各管理人員的權(quán)限,以及對(duì)系統(tǒng)進(jìn)行設(shè)置。普通管理人員注冊(cè)獲得賬號(hào)和密碼,登陸后可以查看修改個(gè)人信息,在自己的權(quán)限內(nèi)管理問卷信息、查看統(tǒng)計(jì)結(jié)果等情況。用戶注冊(cè)獲得賬號(hào)和密碼,參與調(diào)查并能夠查看結(jié)果等。3.4數(shù)據(jù)流程分析數(shù)據(jù)流程分析是指通過數(shù)據(jù)流程圖(DateFlowDiagram,DFD),描述系統(tǒng)的數(shù)據(jù)流動(dòng)、存儲(chǔ)和處理的邏輯關(guān)系,將數(shù)據(jù)抽象的獨(dú)立出來,通過圖形方式描述信息的實(shí)際流程。本系統(tǒng)的數(shù)據(jù)流程圖是在調(diào)研的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性、實(shí)際運(yùn)行的可行性角度出發(fā),將信息處理的功能和彼此之間的聯(lián)系自頂向下逐層分解,采用分層的DFD來描述,從邏輯上精確的描述系統(tǒng)應(yīng)該具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)來源和去向(外部實(shí)體)等項(xiàng)目[10]。數(shù)據(jù)流圖用到4個(gè)基本符號(hào),即外部實(shí)體、數(shù)據(jù)處理、數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)流圖的符號(hào)說明如圖3-3所示:圖3-3數(shù)據(jù)流程圖符號(hào)說明圖通過對(duì)在線調(diào)查問卷系統(tǒng)的功能需求及業(yè)務(wù)流程的分析,并將在線調(diào)查問卷系統(tǒng)的整體功能整合出來,便可得系統(tǒng)頂層數(shù)據(jù)流程圖如圖3-4所示:圖3-4在線調(diào)查問卷系統(tǒng)頂層數(shù)據(jù)流程圖圖3-5第一層數(shù)據(jù)流程圖其中,在頂層數(shù)據(jù)流程圖中,用戶提交問卷結(jié)果至系統(tǒng),系統(tǒng)自動(dòng)生成分析結(jié)果或者經(jīng)管理員統(tǒng)計(jì)分析后將結(jié)果反饋給用戶。系統(tǒng)管理員登錄系統(tǒng),除了進(jìn)行基本的系統(tǒng)管理工作外,還可以更新本地問卷數(shù)據(jù)庫和管理人員數(shù)據(jù)庫,并將更新結(jié)果分別存儲(chǔ)在問卷表和管理人員表中。普通管理員登陸系統(tǒng)后,可在自己的權(quán)限范圍內(nèi)進(jìn)行問卷管理等。并且所有用戶都可以查看統(tǒng)計(jì)分析結(jié)果。根據(jù)系統(tǒng)頂層數(shù)據(jù)流程圖進(jìn)行詳細(xì)分析,將“在線調(diào)查問卷系統(tǒng)”處理模塊進(jìn)一步細(xì)分為在線調(diào)查、問卷管理、人員管理等處理模塊。用戶在完成注冊(cè)后登錄在線調(diào)查問卷系統(tǒng),可在線參與調(diào)查,管理員登錄系統(tǒng)后可進(jìn)行數(shù)據(jù)更新、人員管理等操作,得到系統(tǒng)第一層數(shù)據(jù)流程圖如上頁圖3-5所示。第四章系統(tǒng)設(shè)計(jì)系統(tǒng)分析階段要解決的核心問題是系統(tǒng)“做什么”的問題,即明確系統(tǒng)功能,而系統(tǒng)設(shè)計(jì)階段則主要負(fù)責(zé)解決系統(tǒng)“怎么做”的問題,即解決如何實(shí)現(xiàn)在系統(tǒng)分析階段所提出的各種系統(tǒng)功能的問題。本章是在系統(tǒng)分析階段的基礎(chǔ)上,對(duì)系統(tǒng)的功能進(jìn)行設(shè)計(jì),同時(shí)完成數(shù)據(jù)庫的選擇設(shè)計(jì),為下一步的系統(tǒng)實(shí)現(xiàn)做好準(zhǔn)備工作。4.1系統(tǒng)功能模塊設(shè)計(jì)在系統(tǒng)分析階段,綜合各方面的需求,對(duì)系統(tǒng)預(yù)期實(shí)現(xiàn)的功能已經(jīng)明確的提出來了。用戶角色的權(quán)限不同,可使用的功能也有所不同。根據(jù)用戶的不同權(quán)限,將整個(gè)系統(tǒng)劃分為兩個(gè)大模塊,即用戶系統(tǒng)模塊和管理員系統(tǒng)模塊。(1)用戶系統(tǒng)模塊包括填寫問卷、查詢問卷和個(gè)人資料管理三個(gè)功能。eq\o\ac(○,1)填寫問卷功能:填寫問卷是用戶使用本系統(tǒng)的主要功能,采用用戶通過登錄進(jìn)入問卷調(diào)查頁面、填寫問卷調(diào)查內(nèi)容、提交的步驟來完成在線問卷調(diào)查。此功能在用戶系統(tǒng)模塊和管理員系統(tǒng)模塊中均有體現(xiàn)。eq\o\ac(○,2)用戶查詢問卷:用戶對(duì)問卷的查詢只限于查詢一張問卷的總體調(diào)查情況。采用用戶登錄進(jìn)入問卷查詢頁面,通過選擇問卷名對(duì)問卷進(jìn)行查詢的形式eq\o\ac(○,3)用戶個(gè)人資料修改:用戶若需要對(duì)個(gè)人資料進(jìn)行修改,則使用到該功能。用戶進(jìn)入用戶個(gè)人資料修改頁面,填寫需要修改的信息,提交后系統(tǒng)將修改后的信息存入數(shù)據(jù)庫覆蓋原有信息,達(dá)到個(gè)人資料修改的目的。(2)管理員系統(tǒng)模塊分為包括:eq\o\ac(○,1)問卷管理功能:問卷管理功能分為增加問卷、修改問卷、刪除問卷、統(tǒng)計(jì)問卷和查詢問卷五個(gè)功能。管理員通過增加、修改、刪除這三種功能對(duì)問卷進(jìn)行更新管理;統(tǒng)計(jì)則可以幫助管理員對(duì)問卷的調(diào)查情況加以了解和掌握;查詢功能是對(duì)問卷統(tǒng)計(jì)情況的查詢。eq\o\ac(○,2)用戶管理功能:管理員對(duì)用戶的管理包括用戶資料的管理和用戶權(quán)限的管理用戶資料的管理主要實(shí)現(xiàn)刪除用戶、修改用戶密碼和查詢用戶資料功能。而用戶權(quán)限的管理只有高級(jí)管理員可以使用,所以首先要判斷管理員權(quán)限,在存在高級(jí)管理員權(quán)限的情況下才能使用此功能對(duì)用戶進(jìn)行授權(quán)及撤消權(quán)限。管理員權(quán)限分為一般管理員和高級(jí)管理員,雖然高級(jí)管理員的權(quán)限高于一般管理員,但是他所能使用的功能只比一般管理員多了一項(xiàng)權(quán)限管理功能。所以并不需要將一般管理員和高級(jí)管理員的功能分為兩個(gè)模塊,只需要在使用權(quán)限管理這個(gè)功能時(shí)來判斷管理員的權(quán)限即可。eq\o\ac(○,3)基本功能模塊:包括填寫問卷和個(gè)人資料管理,這個(gè)模塊和用戶模塊功能基本相同。eq\o\ac(○,4)其他功能除了上述模塊的功能以外,此系統(tǒng)還應(yīng)該實(shí)現(xiàn)用戶注冊(cè)、登錄功能。由于功能簡單,此處不作具體說明。圖4-1在線調(diào)查問卷系統(tǒng)功能模塊圖4.2網(wǎng)絡(luò)結(jié)構(gòu)本系統(tǒng)采用的是瀏覽器/服務(wù)器(Browser/Server)模式。它以訪問數(shù)據(jù)服務(wù)器為中心,以HTTP協(xié)議為傳輸協(xié)議,客戶端通過瀏覽器(Browser)訪問WEB服務(wù)器和數(shù)據(jù)服務(wù)器。本系統(tǒng)采用ASP.NET+SQLSERVER對(duì)此系統(tǒng)進(jìn)行開發(fā),前臺(tái)技術(shù)采用基于B/S模式的ASP.NET,開發(fā)工具是VISUALSTUDIO.NET2005,后臺(tái)數(shù)據(jù)庫采用SQLSERVER2000,數(shù)據(jù)訪問技術(shù)采用ADO.NET,開發(fā)本系統(tǒng)的操作系統(tǒng)是WindowsXP,開發(fā)語言是C#。4.3數(shù)據(jù)庫設(shè)計(jì)根據(jù)已確定的系統(tǒng)總體的功能結(jié)構(gòu),全面分析所需要的所有數(shù)據(jù)對(duì)象及其存取方案和結(jié)構(gòu),進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。數(shù)據(jù)庫的設(shè)計(jì)是指對(duì)一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),滿足各種用戶需求。數(shù)據(jù)庫設(shè)計(jì)是在線調(diào)查問卷系統(tǒng)設(shè)計(jì)中的一個(gè)重要組成部分,而數(shù)據(jù)庫表的設(shè)計(jì)在遵循數(shù)據(jù)庫理論的同時(shí),必須能用開發(fā)工具來實(shí)現(xiàn)用戶在各方面提出的功能要求[11]。4.3.1數(shù)據(jù)庫設(shè)計(jì)原則(1)進(jìn)行規(guī)范化設(shè)計(jì),盡可能的減少數(shù)據(jù)冗余和重復(fù)合理的數(shù)據(jù)庫表的設(shè)計(jì)應(yīng)該是在滿足系統(tǒng)需求的前提下,使數(shù)據(jù)的重復(fù)量盡量最小,按照關(guān)系數(shù)據(jù)庫系統(tǒng)理論方法去設(shè)計(jì)數(shù)據(jù)庫,減少數(shù)據(jù)的冗余。(2)結(jié)構(gòu)設(shè)計(jì)和操作設(shè)計(jì)相結(jié)合在設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)時(shí),有時(shí)為了實(shí)現(xiàn)編程的簡捷和思路的清晰,往往會(huì)故意增加一些冗余數(shù)據(jù)。這雖然有違傳統(tǒng)的關(guān)系數(shù)據(jù)庫理論,但是考慮到如果增加的冗余不會(huì)明顯增加存儲(chǔ)空間和降低處理效率,并且對(duì)編程實(shí)現(xiàn)有很大幫助,往往可以采用這種方法。(3)數(shù)據(jù)結(jié)構(gòu)具有相對(duì)的穩(wěn)定性無論采用哪種方法或手段處理日常事務(wù),都能完夠成相應(yīng)的功能,決不能因?yàn)椴捎昧四撤N方法而丟失了必要的功能,或者徹底改變?cè)械墓ぷ髁鞒毯湍J絒12]。4.3.2概念結(jié)構(gòu)設(shè)計(jì)把系統(tǒng)的應(yīng)用需求抽象化為信息結(jié)構(gòu)的過程就是概念結(jié)構(gòu)設(shè)計(jì),這是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵環(huán)節(jié),通過對(duì)系統(tǒng)需求進(jìn)行綜合、歸納和抽象,構(gòu)成一個(gè)獨(dú)立于具體的DBMS的概念模型。這即是從現(xiàn)實(shí)世界到信息世界的第一層抽象,是對(duì)現(xiàn)實(shí)世界的抽象和概括,也是數(shù)據(jù)庫設(shè)計(jì)人員用以和用戶交流的語言,同時(shí)也為向關(guān)系、層次、網(wǎng)絡(luò)等邏輯數(shù)據(jù)模型的轉(zhuǎn)化奠定了基礎(chǔ)。對(duì)于概念結(jié)構(gòu)的設(shè)計(jì),系統(tǒng)采用最為著名也最為常用的實(shí)體—聯(lián)系方法,即E-R模型,E-R模型是一個(gè)面向問題型的概念模型,用簡單的圖形方式來描述現(xiàn)實(shí)世界的數(shù)據(jù),它不涉及數(shù)據(jù)在數(shù)據(jù)庫中的表示和存取方法,而非常接近人的思維方式[13]。E-R模型由實(shí)體、實(shí)體屬性、實(shí)體間聯(lián)系三部分組成,各部分代表符號(hào)如下圖4-2所示:圖4-2E-R圖符號(hào)說明圖(1)系統(tǒng)中各實(shí)體的E-R圖如下所示:圖4-3管理員E-R圖圖4-4問卷E-R圖圖4-3用戶E-R圖4-3權(quán)限分配表E-R圖圖4-3問卷具體題目E-R圖圖4-3問卷題目選項(xiàng)E-R圖圖4-3調(diào)查表E-R圖圖4-3統(tǒng)計(jì)結(jié)果E-R圖圖4-3在線調(diào)查問卷系統(tǒng)的總E-R圖4.3.3邏輯結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)即將系統(tǒng)的應(yīng)用需求抽象化為概念結(jié)構(gòu),邏輯結(jié)構(gòu)設(shè)計(jì)是在概念結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,把概念結(jié)構(gòu)轉(zhuǎn)化為邏輯結(jié)構(gòu),也就是把概念結(jié)構(gòu)設(shè)計(jì)階段已經(jīng)設(shè)計(jì)好的E-R模型轉(zhuǎn)化為與所選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),這種轉(zhuǎn)化遵循“一個(gè)實(shí)體型轉(zhuǎn)化為一個(gè)關(guān)系模式”的原則,實(shí)體的屬性也就是關(guān)系的屬性,實(shí)體表的碼也就是關(guān)系的碼,在實(shí)體的聯(lián)系中,一個(gè)1:1聯(lián)系、1:n聯(lián)系可轉(zhuǎn)化為一個(gè)獨(dú)立的關(guān)系模式,一個(gè)m:n聯(lián)系轉(zhuǎn)化為一個(gè)關(guān)系模式[13]。把系統(tǒng)的E-R圖轉(zhuǎn)換為關(guān)系模型,并把關(guān)系的碼用下橫線標(biāo)出,得出系統(tǒng)邏輯的模型為:管理員表(管理員ID用戶ID用戶名密碼管理員權(quán)限)用戶表(用戶ID用戶名密碼性別E-mail聯(lián)系電話地址權(quán)限)權(quán)限分配表(權(quán)限ID權(quán)限類型)問卷總表(問卷ID問卷名稱題數(shù)類型備注)問卷題表(題目ID題號(hào)問卷ID內(nèi)容備注)問卷選項(xiàng)表(選項(xiàng)ID題目ID選項(xiàng)名稱票數(shù))調(diào)查表(用戶ID問卷ID題目ID所填內(nèi)容填寫時(shí)間)統(tǒng)計(jì)結(jié)果表(統(tǒng)計(jì)ID統(tǒng)計(jì)時(shí)間統(tǒng)計(jì)條件統(tǒng)計(jì)結(jié)果問卷ID管理員ID)4.3.4數(shù)據(jù)庫實(shí)體表的實(shí)現(xiàn)在SQLServer數(shù)據(jù)庫中建立名為wenjuan的數(shù)據(jù)庫。為了防止應(yīng)用過程中數(shù)據(jù)的更新異常并保證減少數(shù)據(jù)冗余以及避免插入和刪除異常等情況,在數(shù)據(jù)庫的設(shè)計(jì)過程中要對(duì)數(shù)據(jù)庫中的各個(gè)表進(jìn)行規(guī)范化,本系統(tǒng)的數(shù)據(jù)庫表符合第三范式的要求[13]。其中包括以下主要數(shù)據(jù)表(只給出了部分主要的表的結(jié)構(gòu)):(1)用戶表(person):使用本系統(tǒng)的用戶信息存入此表中,用戶編號(hào)存放的是對(duì)用戶的一個(gè)不重復(fù)的編號(hào),是唯一的,這個(gè)鍵被設(shè)為主鍵;用戶名稱存放的是用戶注冊(cè)時(shí)所用名稱;用戶密碼存放的是用戶注冊(cè)時(shí)所填寫的密碼;性別是存放用戶注冊(cè)時(shí)所選擇的性別;E-mail、聯(lián)系電話、地址分別存放用戶注冊(cè)時(shí)所填寫的相對(duì)應(yīng)內(nèi)容;權(quán)限的默認(rèn)值為0,即用戶,當(dāng)授權(quán)為管理員時(shí),權(quán)限為1,它與權(quán)限表發(fā)生聯(lián)系。詳細(xì)設(shè)計(jì)見表4-1。序號(hào)列名(中文)列名(西文)類型字段長度主鍵允許為空默認(rèn)值1用戶編號(hào)Y#int4Y2用戶名稱userNamevarchar503用戶密碼userPwdvarchar504性別sexvarchar10Y5E-mailemailchar506聯(lián)系電話telephonechar207地址addresschar100Y8權(quán)限purviewchar100表4-1數(shù)據(jù)庫用戶表(2)權(quán)限分配表(purview):超級(jí)管理員為普通管理員分配合理的權(quán)限,這些信息也將被記錄下來,權(quán)限表存放的是用戶權(quán)限,它有0和1兩個(gè)鍵,這個(gè)鍵被設(shè)為主鍵。權(quán)限名稱是權(quán)限所對(duì)應(yīng)的名稱。詳細(xì)設(shè)計(jì)見表4-2。序號(hào)列名(中文)列名(西文)類型字段長度主鍵允許為空默認(rèn)值1權(quán)限purviewchar10Y2權(quán)限名稱p_namechar25表4-2數(shù)據(jù)庫權(quán)限分配表(3)問卷總表(wenjuan):收錄相關(guān)管理員錄入的問卷信息,問卷的題目信息填入此表中。題目編號(hào)存放的是對(duì)問卷題目的一個(gè)編號(hào),是唯一的,被設(shè)為主鍵;題號(hào)存放的是問卷中題目的題號(hào);問卷編號(hào)存放的是題目所在的問卷的編號(hào),它與問卷表發(fā)生聯(lián)系;內(nèi)容存放的是題目的具體內(nèi)容;備注存放一些說明等。詳細(xì)設(shè)計(jì)見表4-3。序號(hào)列名(中文)列名(西文)類型字段長度主鍵允許為空默認(rèn)值1題目編號(hào)T#int4Y2題號(hào)Tnoint43問卷編號(hào)W#int44內(nèi)容Tleirongchar5005備注Tbeizhuchar100Y表4-3問卷總表(4)問卷題表(wenjti):問卷的題目信息填入此表中。題目編號(hào)存放的是對(duì)問卷題目的一個(gè)編號(hào),是唯一的,這個(gè)鍵被設(shè)為主鍵;題號(hào)存放的是問卷中題目的題號(hào);問卷編號(hào)存放的是題目所在的問卷的編號(hào),它與問卷表發(fā)生聯(lián)系;內(nèi)容存放的是題目的具體內(nèi)容;備注存放一些說明等。詳細(xì)設(shè)計(jì)見表4-4。.序號(hào)列名(中文)列名(西文)類型字段長度主鍵允許為空默認(rèn)值1題目編號(hào)T#int4Y2題號(hào)Tnoint43問卷編號(hào)W#int44內(nèi)容Tleirongchar5005備注Tbeizhuchar100Y表4-4數(shù)據(jù)庫問卷題表(5)問卷選項(xiàng)表(wenjuanxx):存儲(chǔ)調(diào)查問卷中具體題目的信息,選項(xiàng)編號(hào)存放的是題目的選項(xiàng),題目編號(hào)存放的是選項(xiàng)對(duì)應(yīng)題目的題目編號(hào),這兩項(xiàng)共同組成此表的主鍵;選項(xiàng)名稱存放的是題目選項(xiàng)的內(nèi)容;票數(shù)存放的是此選項(xiàng)的已選的票數(shù),詳細(xì)設(shè)計(jì)見表4-5。序號(hào)列名(中文)列名(西文)類型字段長度主鍵允許為空默認(rèn)值1選項(xiàng)編號(hào)X#int4Y2題目編號(hào)T#int4Y3選項(xiàng)名稱Xnamechar1004票數(shù)Xpiaoshuint40表4-5數(shù)據(jù)庫問卷選項(xiàng)表(6)調(diào)查表(diaocha):調(diào)查表存放是用戶填寫調(diào)查問卷時(shí)的所有信息,其中,用戶編號(hào)存放填寫調(diào)查問卷的用戶的編號(hào),它與用戶表發(fā)生聯(lián)系;問卷編號(hào)是被填寫的問卷的編號(hào);題目編號(hào)是被填寫問卷所對(duì)應(yīng)的題目編號(hào),它與問卷題表存在著聯(lián)系;所填內(nèi)容存放的是填寫問卷的具體內(nèi)容;填寫時(shí)間存放的是填表的具體時(shí)間。詳細(xì)設(shè)計(jì)見表4-6。序號(hào)列名(中文)列名(西文)類型字段長度主鍵允許為空默認(rèn)值1用戶編號(hào)Y#int4Y2問卷編號(hào)W#int4Y3題目編號(hào)T#int4Y4所填內(nèi)容Dleirongchar1005填寫時(shí)間Ddatedatetime8Y表4-6數(shù)據(jù)庫調(diào)查表(7)管理員表(caretaker):管理員表所存放的是管理員信息,管理員編號(hào)存放的是對(duì)管理員的編號(hào),是唯一的,這個(gè)鍵被設(shè)為主鍵;用戶編號(hào)是管理員在用戶表中對(duì)應(yīng)的用戶編號(hào),它與用戶表發(fā)生聯(lián)系;用戶名稱存放的是管理員的用戶名稱;管理員權(quán)限存放的是管理員的權(quán)限,分為一般管理員(0)和高級(jí)管理員(1)。詳細(xì)設(shè)計(jì)見表4-7。序號(hào)列名(中文)列名(西文)類型字段長度主鍵允許為空默認(rèn)值1管理員編號(hào)C#int4Y2用戶編號(hào)Y#int43用戶名稱userNamechar104管理員權(quán)限Cpurviewchar100表4-7數(shù)據(jù)庫管理員表(8)統(tǒng)計(jì)表(tongji):統(tǒng)計(jì)表是管理員對(duì)問卷進(jìn)行統(tǒng)計(jì)的信息表,其中,統(tǒng)計(jì)編號(hào)存放的是為每次統(tǒng)計(jì)所編的編號(hào);統(tǒng)計(jì)時(shí)間存放的是管理員進(jìn)行統(tǒng)計(jì)問卷的時(shí)間;統(tǒng)計(jì)條件存放的是統(tǒng)計(jì)問卷所依據(jù)的條件;統(tǒng)計(jì)結(jié)果存放的是管理員對(duì)問卷進(jìn)行統(tǒng)計(jì)的最終結(jié)果;問卷編號(hào)是被統(tǒng)計(jì)問卷的編號(hào),它與問卷總表發(fā)生聯(lián)系;管理員編號(hào)是對(duì)問卷做出統(tǒng)計(jì)的管理員的編號(hào),它與管理員表發(fā)生聯(lián)系,統(tǒng)計(jì)編號(hào)設(shè)為主鍵。詳細(xì)設(shè)計(jì)見表4-8。序號(hào)列名(中文)列名(西文)類型字段長度主鍵允許為空默認(rèn)值1統(tǒng)計(jì)編號(hào)J#int4Y2統(tǒng)計(jì)時(shí)間Jdatedatetime8Y3統(tǒng)計(jì)條件Jtiaojianchar1004統(tǒng)計(jì)結(jié)果Jjieguochar1005問卷編號(hào)W#int46管理員編號(hào)G#int4表4-8數(shù)據(jù)庫統(tǒng)計(jì)表數(shù)據(jù)庫的全局實(shí)體關(guān)系圖如下所示:圖2.10數(shù)據(jù)庫的全局實(shí)體關(guān)系圖第五章系統(tǒng)實(shí)現(xiàn)系統(tǒng)的最終實(shí)現(xiàn)是結(jié)構(gòu)化開發(fā)方法的最后一個(gè)階段,在系統(tǒng)實(shí)現(xiàn)階段所做的工作對(duì)系統(tǒng)的質(zhì)量有著十分重要的影響。本章的內(nèi)容是在完成系統(tǒng)分析、系統(tǒng)設(shè)計(jì)等工作之后,介紹系統(tǒng)具體功能的實(shí)現(xiàn),主要介紹了系統(tǒng)登錄界面、問卷管理、在線調(diào)查、在線問卷編輯、問卷樣本管理、批量問卷操作、用戶管理、系統(tǒng)管理等功能模塊的實(shí)現(xiàn)過程。5.1登陸界面這個(gè)模塊主要是判斷用戶是否具有登錄的權(quán)限以及登錄哪個(gè)模塊的權(quán)限,通過權(quán)限的不同而進(jìn)入不同的用戶界面。在這個(gè)模塊中,Session傳值技術(shù)是很關(guān)鍵的。Session變量的存在主要是保存用戶的用戶名、密碼和權(quán)限值,用于登錄不同模塊時(shí)的權(quán)限判斷和修改個(gè)人密碼。此外,這個(gè)部分還使用了JavaScript技術(shù),主要是美化界面,生成動(dòng)態(tài)頁面。系統(tǒng)登陸界面運(yùn)行效果如圖5-1所示:圖5-1登錄界面privatevoidPage_Load(objectsender,System.EventArgse) { stringusername; stringps; stringpur; username=Request.Form.Get("userName");當(dāng)用戶及管理員登錄驗(yàn)證成功后,系統(tǒng)將自動(dòng)由登錄首頁跳轉(zhuǎn)至相應(yīng)的操作頁面,供用戶進(jìn)行后續(xù)操作。其部分代碼如下: ps=Request.Form.Get("userPwd"); pur=Request.Form.Get("purview"); /*將用戶輸入的用戶名、密碼和權(quán)限保存在Session變量中*/ Session["UserName"]=username; Session["UserPwd"]=ps; Session["Purview"]=pur; SqlConnectioncon=DB.createConnection(); con.Open();SqlCommandcmd=newSqlCommand("selectcount(*)frompersonwhereuserName='"+username+"'anduserPwd='"+ps+"'andpurview='"+pur+"'",con);//查找用戶名、密碼和權(quán)限與輸入一致的用戶個(gè)數(shù) intcount=Convert.ToInt32(cmd.ExecuteScalar()); con.Close(); con.Dispose(); if(count>0){if(pur=="0") { Response.Redirect("u_main.aspx",true);//如果用戶存在,并且他的權(quán)限為0,則進(jìn)入用戶系統(tǒng)頁面 } else { Response.Redirect("c_main.aspx",true);//如果用戶存在,并且他的權(quán)限為1,則進(jìn)入管理員系統(tǒng)頁面 } } else { Response.Write("<scriptlanguage=javascript>"); Response.Write("alert('用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入!');"); Response.Write("</script>"); //如果用戶不存在,則彈出警告對(duì)話框 } }系統(tǒng)對(duì)用戶提交數(shù)據(jù)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),當(dāng)用戶輸入信息出現(xiàn)錯(cuò)誤時(shí),系統(tǒng)會(huì)根據(jù)不同的錯(cuò)誤類型給予相應(yīng)的錯(cuò)誤提示:當(dāng)選擇用戶身份登錄系統(tǒng),若出現(xiàn)驗(yàn)證錯(cuò)誤,則彈出如圖5-2所示對(duì)話框:圖5-2錯(cuò)誤提示對(duì)話框5.2系統(tǒng)主要功能模塊5.2.1參與問卷調(diào)查模塊的實(shí)現(xiàn)用戶在用戶主界面通過選擇進(jìn)入?yún)⑴c問卷調(diào)查模塊。此模塊是此調(diào)查系統(tǒng)關(guān)鍵的模塊之一,用戶通過選擇問卷名對(duì)問卷進(jìn)行參與調(diào)查,點(diǎn)擊提交按鈕,系統(tǒng)將用戶調(diào)查結(jié)果同時(shí)存入數(shù)據(jù)庫的問卷選項(xiàng)表和調(diào)查表。這里主要使用了Label、RadioButtonList、Button等控件實(shí)現(xiàn)顯示問卷名、問卷內(nèi)容以及提交問卷結(jié)果和顯示下一題等。通過設(shè)全局變量,點(diǎn)擊按鈕改變?nèi)肿兞縼磉_(dá)到顯示下一題的目的。這里還使用上面所講的ADO.NET進(jìn)行數(shù)據(jù)庫鏈接,同時(shí)對(duì)RadioButtonList進(jìn)行了數(shù)據(jù)綁定,數(shù)據(jù)源為SQLSEVER中的wenjxx表。系統(tǒng)效果如圖5-3所示:圖5-3用戶參與調(diào)查界面主要代碼如下所示:/*“提交,下一題”按鈕的單擊事件*/privateintBtnClick() { stringXno=this.xuanxiang.SelectedValue.ToString(); intWno=Convert.ToInt32(this.Wname.SelectedValue);intt=Convert.ToInt32(Session["t"]);//取出全局變量,附值給t SqlConnectioncon1=DB.createConnection(); con1.Open(); SqlCommandYcmd=newSqlCommand("selectY#frompersonwhereuserName='"+Convert.ToString(Session["userName"])+"'",con1); intYno=Convert.ToInt32(Ycmd.ExecuteScalar()); SqlCommandCcmd=newSqlCommand("selectcount(*)fromdiaochawhereY#='"+Yno+"'andW#='"+Wno+"'andT#='"+t+"'",con1);//在數(shù)據(jù)庫中查找是否此用戶已參與過此問卷的調(diào)查intcount=Convert.ToInt32(Ccmd.ExecuteScalar()); con1.Close(); if(count>=1) { Response.Write("<script>alert('您已經(jīng)參與過此問卷的調(diào)查,請(qǐng)選擇其它問卷??!')</script>"); returnt; } else { if(Xno=="") { Response.Write("<script>alert('請(qǐng)選擇一項(xiàng)內(nèi)容??!')</script>"); returnt; } else{ SqlConnectioncon=DB.createConnection(); con.Open(); SqlCommandcmd=newSqlCommand(); cmd.Connection=con; cmd.CommandText="updatewenjuanxxsetXpiaoshu=Xpiaoshu+1whereT#="+t+"andX#="+this.xuanxiang.SelectedValue.ToString(); cmd.ExecuteNonQuery();//將用戶的選擇存入wenjuanxx表 SqlCommandDcmd=newSqlCommand("selectconvert(char(10),getdate(),20)",con); stringdate=Convert.ToString(Dcmd.ExecuteScalar()); SqlCommandcmd1=newSqlCommand(); cmd1.Connection=con; cmd1.CommandText="insertintodiaochavalues('"+Yno+"','"+Wno+"','"+t+"','"+this.xuanxiang.SelectedValue.ToString()+"','"+date+"')"; cmd1.ExecuteNonQuery();//將用戶的選擇存入diaocha表 SqlCommandcmd2=newSqlCommand("selecttop1T#fromwenjtiwhereW#='"+Wno+"'orderbyT#desc",con); intt_max=Convert.ToInt32(cmd2.ExecuteScalar()); con.Close(); Session["t"]=t+1;//改變?nèi)肿兞康闹? if(t>=t_max)//當(dāng)顯示的題目是問卷中最后一題時(shí),做出提示 {Response.Write("<script>alert('問卷已全部提交!!')</script>");} else {BindPaperData(Wno,++t);}//否則顯示問卷的下一題 returnt; } } }5.2.2查詢問卷模塊的實(shí)現(xiàn)此模塊主要是對(duì)系統(tǒng)中存在的問卷進(jìn)行查詢,此查詢只能查詢對(duì)每份問卷中每個(gè)調(diào)查題目選項(xiàng)票數(shù)的統(tǒng)計(jì)結(jié)果。用戶進(jìn)入此模塊后對(duì)顯示出來的所有問卷和題目進(jìn)行選擇,顯示調(diào)查結(jié)果。這里使用了DataGird控件綁定問卷選項(xiàng)和其對(duì)應(yīng)的票數(shù),數(shù)據(jù)源是wenjuanxx表。DataGrid可以被綁定到如下幾個(gè)不同的數(shù)據(jù)源:(1)DataTable和DataSet中的DataTable,也可以使用強(qiáng)類型DataSet中的表。(2)DataView對(duì)DataTable數(shù)據(jù)進(jìn)行排序和過濾,而不需要實(shí)際地改變基本數(shù)據(jù)。(3)一維數(shù)組。(4)實(shí)現(xiàn)IlistSource的類,允許使用數(shù)據(jù)綁定的實(shí)際接口。(5)實(shí)現(xiàn)Ilist借口的類,如ArrayList,ComboBox,Obj-ectCollection和ListBox,ListItem,ListView類中的集合,MenuItems,StringColle-ctions和TreeNodeCollections[14]。系統(tǒng)實(shí)現(xiàn)效果如圖5-4:5.2.3個(gè)人資料管理模塊的實(shí)現(xiàn)此模塊主要是實(shí)現(xiàn)用戶對(duì)個(gè)人資料進(jìn)行修改的功能,包括修改個(gè)人密碼及修改除用戶名、用戶密碼以外的其它信息。首先用戶通過統(tǒng)一登錄窗口登錄后,進(jìn)入用戶主界面,再選擇進(jìn)入個(gè)人資料管理界面。這時(shí)系統(tǒng)會(huì)通過用戶輸入原密碼保證用戶資料的安全性,提交正確后顯示個(gè)人基本資料才能進(jìn)行修改,然后輸入兩次新密碼確保用戶輸入的是自己的新密碼。這里使用了panel控件,當(dāng)用戶輸入正確用戶密碼panel可見,才能進(jìn)行修改操作。修改成功后,彈出對(duì)話框提示修改成功,并將數(shù)據(jù)保存到數(shù)據(jù)庫。對(duì)于此功能,其核心是Session變量的使用,Session變量保留用戶登錄時(shí)使用的用戶名和密碼,它的保存期是用戶登錄到關(guān)閉頁面的這一段時(shí)間。主要代碼如下:/*按鈕的單擊事件。輸入用戶密碼后單擊按鈕,判斷用戶密碼是否正確*/privatevoidBtn_Click(objectsender,System.EventArgse) { stringuserPwd=this.userPwd.Text.Trim().ToString();stringuserName=Convert.ToString(Session["UserName"]); SqlConnectioncon=DB.createConnection(); con.Open(); SqlCommandcmd=newSqlCommand("selectcount(*)frompersonwhereuserName='"+userName+"'anduserPwd='"+userPwd+"'",con); intcount=Convert.ToInt32(cmd.ExecuteScalar()); con.Close();if(count>0) { this.Panel1.Visible=true; return;//用戶密碼正確,Panel1可見,可以進(jìn)行下步操作。 } else { Response.Write("<scriptlanguage=javascript>"); Response.Write("alert('用戶密碼錯(cuò)誤,請(qǐng)重新輸入??!');");Response.Write("</script>"); return;//用戶密碼錯(cuò)誤,彈出警告對(duì)話框。 } }5.2.4問卷管理模塊的實(shí)現(xiàn)此模塊包括增加問卷、修改問卷、刪除問卷、查詢問卷和統(tǒng)計(jì)問卷五個(gè)部分。1、增加問卷管理員通過登錄進(jìn)入管理員系統(tǒng)首頁,再通過選擇,進(jìn)入增加問卷頁面。首先選擇問卷名,問卷名被綁定在DropDownList上,數(shù)據(jù)源是SQLSERVER中的wenjuan表,函數(shù)BindWnameDate()實(shí)現(xiàn)問卷名的綁定。若需要增加的是整張問卷,則先輸入問卷名,再選中,再選擇問卷題目,問卷題目綁定在ListBox上,數(shù)據(jù)源是SQLSERVER中的wenjti表,函數(shù)BindTleirongDate(intWho)實(shí)現(xiàn)問卷題目的綁定。選擇題目后通過Get傳值進(jìn)入添加問卷選項(xiàng)頁面。同時(shí),新增操作時(shí),系統(tǒng)也將進(jìn)行判斷是否有重名,以保護(hù)數(shù)據(jù)一致性。代碼略。2、修改問卷管理員通過登錄進(jìn)入管理員系統(tǒng)首頁,再通過選擇,進(jìn)入修改問卷頁面。通過選擇問卷名和問卷題目對(duì)問卷進(jìn)行修改。在DropDownList和ListBox上進(jìn)行數(shù)據(jù)綁定,分別顯示問卷名和問卷題目。函數(shù)BindWnameDate()和函數(shù)BindTleirongDate(intWno)分別實(shí)現(xiàn)數(shù)據(jù)綁定。代碼與增加問卷模塊代碼類似,這里就不特別列出。3、刪除問卷管理員通過登錄進(jìn)入管理員系統(tǒng)頁面后,通過選擇進(jìn)入刪除問卷頁面。刪除問卷只涉及刪除整張問卷的情況。在刪除操作中,刪除問卷,系統(tǒng)會(huì)通過觸發(fā)器對(duì)統(tǒng)計(jì)表進(jìn)行相應(yīng)的修改,這是保護(hù)數(shù)據(jù)一致性的有效措施。此功能只涉及一個(gè)ListBox和一個(gè)Button控件,非常簡單,代碼略。4、統(tǒng)計(jì)問卷管理員進(jìn)入統(tǒng)計(jì)問卷頁面后,可通過統(tǒng)計(jì)條件(參于問卷調(diào)查人數(shù),問卷調(diào)查的具體情況等)對(duì)問卷進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果存入數(shù)據(jù)庫的統(tǒng)計(jì)表中。這里使用了幾個(gè)Panel控件,通過對(duì)統(tǒng)計(jì)條件的選擇不同,而讓不同的Panel可見,而達(dá)到顯示不同的統(tǒng)計(jì)結(jié)果的目的。這里還使用了上面所講的DataGird控件來綁定數(shù)據(jù)顯示統(tǒng)計(jì)結(jié)果。查詢按鈕的單擊事件代碼如下,其它代碼略。privatevoidok_Click(objectsender,System.EventArgse) { stringWno=this.Wname.Sele

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論