




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
..機電高等??茖W校畢業(yè)設計論文論文題目:系部專業(yè)班級學生學號指導教師年月日..摘要21世紀是一個以網(wǎng)絡為核心的信息時代,計算機技術、網(wǎng)絡技術已經(jīng)滲透到政府、學校,企事業(yè)單位的日常工作中。隨著社會的開展,很多行業(yè)需要掌握大量的信息來了解特定的用戶需求,傳統(tǒng)的做法是組織大量的人力物力對用戶散發(fā)調(diào)查表,然后對收集的信息進展統(tǒng)計并得到想要的結果.但這種傳統(tǒng)的做法浪費大,效率低,周期長.為了改變這一現(xiàn)象,必須用一種現(xiàn)代化的技術來改變這種現(xiàn)狀,它應該能夠方便的獲取大量的數(shù)據(jù),并且能對數(shù)據(jù)進展分析,因此最近幾年基于Web的網(wǎng)上調(diào)查系統(tǒng)開場占據(jù)問卷調(diào)查的主導地位。對于學校來說也存在這樣的現(xiàn)狀,隨著大學人數(shù)的增多,教師與同學相互溝通很難,因而我設計了一個關于教學管理的網(wǎng)上問卷調(diào)查系統(tǒng),希望能夠給大家?guī)矸奖恪1驹诰€調(diào)查系統(tǒng)采用模塊化面向?qū)ο笤O計思想,采用Java與Jsp技術。具體采用J2EE編程思想,用到了Hibernate等框架具有以下的功能:開場調(diào)查、填寫調(diào)查、查看調(diào)查填寫進展、完畢調(diào)查、審核調(diào)查、查看調(diào)查等功能,大大提高了教學的效率通過數(shù)據(jù)庫可以永久的保存調(diào)查的結果,為以后調(diào)查提供參考。通過這樣一個調(diào)查系統(tǒng),它不受時間的限制,可以采取匿名的方式承受調(diào)查,學生更能反映真實的想法和意見。可以有針對性的對問卷容做適當?shù)奶幚?,總結學生容易遇到的問題。利用計算機的運算能力,可以為我們進展大量的數(shù)據(jù)分析,并且能及時的將學生反映的問題提供給教師和教學部門,教學部門針對學生的要求而將教學方式進一步改良,大大提高了教學質(zhì)量和教學效率。同時使無紙化辦公離我們不在遙遠。關鍵詞:問卷調(diào)查系統(tǒng)數(shù)據(jù)處理hibernate持久化JavaAbstractThe21stwasonetakethenetworkastheinformationage,theputertechnology,thenetworkingalreadyseepedtothegovernment,theschool,inEnterprisesandinstitution’sroutinework.Alongwithsociety'sdevelopment,manyprofessionsneedtohavethemassiveinformationtounderstandthatthespecificuser'sneeds,thetraditionmakesthelawistheorganizationmassivemanpowerandresourcestotheusersendingoutsurveyform,thencarriesontothecollectioninformationcountsandobtainsthewishresult.Butthistraditionmakesthelawtowasteinabigway,theefficiencyislow,thecycleislong.Inordertochangethisphenomenon,alsohassuchpresentsituationregardingtheschool,alongwithuniversitypopulation'sincrease,teacherandschoolmatemunicatesmutuallyisverydifficult,thusIhavedesignedoneabouttheteachingmanagementon-linequestionnairesurveysystem,hopedthatcangiveeverybodytobringconveniently.Thisonlineinvestigationsystemusesthemodulationobject-orienteddesignconcept,usesJavaandtheJsptechnology.UsestheJ2EEprogrammingthoughtspecifically,withframesandsoonHibernatehadthefollowingfunction:Startedtoinvestigate,thefillingininvestigation,examinationinvestigationfillingtoprogress,functionsandsoonconclusioninvestigation,verificationinvestigation,examinationinvestigation,raisedtheteachingefficiencygreatly.Throughthedatabasemaythepermanentpreservedinvestigationresult,providethereferenceforthelaterinvestigation.Throughthiskindofinvestigationsystem,itthetimelimit,maynotadopttheanonymouswaytoaccepttheinvestigation,thestudentcanreflecttherealideaandtheopinion.Maytarget-orientedmakesuitableingouttothequestionnairecontent,summarizesquestionwhichthestudenteasytomeet.Usingputer'soperationalcapability,maycarryonthemassivedataanalysisforus,andcanpromptreflectthestudentthequestionprovidestoteacherandtheteachingdepartment,theteachingdepartmentinviewofstudent'srequest,butfurtherimprovestheteachingway,improvedthequalityofteachingandtheteachingefficiencygreatly.Simultaneouslycausesthepaperlessworktoleaveusremotelynot.Keywords:Questionnairesurveysystem;Dataprocessing;hibernatelasting;java..目錄TOC\o"1-3"\h\u1緒論11.1系統(tǒng)開發(fā)背景11.2系統(tǒng)開發(fā)意義11.3論文組織構造22系統(tǒng)概述32.1問卷調(diào)查的特點32.2網(wǎng)上問卷調(diào)查的特點32.3網(wǎng)上問卷的根本解決方案33系統(tǒng)分析53.1功能需求描述53.2目標系統(tǒng)要求63.3可行性分析63.4總體設計84系統(tǒng)的總體設計104.1平臺選擇104.2開發(fā)技術的選擇124.3系統(tǒng)開發(fā)工具與環(huán)境124.3.1開發(fā)語言—JSP124.3.2數(shù)據(jù)庫—MySQL134.3.3系統(tǒng)開發(fā)環(huán)境134.4工程規(guī)劃144.4.1系統(tǒng)功能構造圖144.5系統(tǒng)設計144.6數(shù)據(jù)庫設計155系統(tǒng)實現(xiàn)195.1系統(tǒng)各局部的實現(xiàn)方法195.1.1使用持久層框架實現(xiàn)對數(shù)據(jù)庫的操作195.1.2業(yè)務邏輯層的實現(xiàn)205.2系統(tǒng)界面設計及實現(xiàn)215.2.1前臺首頁設計及實現(xiàn)215.2.2登錄模塊設計及實現(xiàn)215.2.3參與調(diào)查模塊設計及實現(xiàn)225.2.4答題模塊設計及實現(xiàn)23我的調(diào)查模塊設計及實現(xiàn)255.2.6用戶注冊模塊設計及實現(xiàn)266系統(tǒng)測試與使用286.1測試環(huán)境簡介286.2環(huán)境要求286.3系統(tǒng)安裝與運行286.4測試286.4.1普通用戶身份測試296.4.2管理員功能測試307系統(tǒng)的缺乏及改良337.1系統(tǒng)的缺乏及修改方法337.2系統(tǒng)的評價分析337.2.1實用性337.2.2可維護性34可擴展性348結論35致36參考文獻37..1緒論隨著計算機技術的飛速開展,利用計算機來獲取和處理信息是當今信息管理的一大特點?;趙eb系統(tǒng)作為最普遍最實用的系統(tǒng),其管理現(xiàn)代化、信息化,對整個社會起著巨大的推動作用。早期的問卷調(diào)查很不方便,需要大量的人力和財力,而卻只能在相對局部的的區(qū)域里,對于不同的調(diào)查相對的人群也會有變化,針對性不強,因為數(shù)據(jù)量很大,信息的提取比擬復雜,所以以前的問卷調(diào)查很少,只有發(fā)現(xiàn)了問題之后,才能知道問題的原因。當今的社會已經(jīng)是一個信息時代,只有在第一時間獲得有效的信息,才能在社會上立足。網(wǎng)上問卷調(diào)查系統(tǒng)正好彌補了這個缺陷,網(wǎng)上問卷調(diào)查現(xiàn)在已經(jīng)成為了解社會狀況的一種有效的方式,你只要在網(wǎng)上搜索調(diào)查,會有成萬的相關記錄,企業(yè)能及時的了解客戶的需求,也能得到產(chǎn)品的優(yōu)點和缺點,及時的了解信息,及時的處理問題是現(xiàn)在社會競爭中勝出的條件。1.1系統(tǒng)開發(fā)背景在當前的各類企業(yè)中,通常都需要提供有相應的網(wǎng)絡調(diào)查功能,以便收集廣闊客戶的意見或看法。類似的,在企業(yè)對有關問題〔如客戶的意見、售后效勞的滿意程度、產(chǎn)品改良要求等〕進展調(diào)查研究時,也可通過網(wǎng)絡調(diào)查的方式實時高效地獲取客戶反響信息,作為決策制定的參考依據(jù)。1.2系統(tǒng)開發(fā)意義隨著Internet的開展,世界網(wǎng)民的數(shù)量急劇增加,社會的信息化強度增強,企業(yè)競爭越發(fā)劇烈,故對市場信息的掌握圍不僅僅是周邊的一些信息,而應把圍擴展到全國,甚至全世界,Internet恰恰是實現(xiàn)這目標的有利工具。對于新產(chǎn)品,新觀點的調(diào)查圍應該更廣泛,消息應該及時反響給企業(yè)單位,故一個網(wǎng)上在線調(diào)查問卷系統(tǒng)應運而生,它正好充分滿足客戶的需求,信息反響的圍擴大,人力資源的節(jié)省,從而使得企業(yè)在競爭劇烈的市場中擁有更強大的資本。開發(fā)此調(diào)查問卷系統(tǒng)是為了更好的把市場的信息更準確更快速的反響給客戶,使信息的來源更廣泛,從而提高信息的準確性。運用此系統(tǒng)可以降低企業(yè)為市場調(diào)查而消耗的人力和物力,利用節(jié)省的資源提高產(chǎn)品的質(zhì)量,增強競爭力。1.3論文組織構造本文介紹的是基于J2EE的通用網(wǎng)絡調(diào)查問卷系統(tǒng),全文共分5章,分別如下:
第一章:對此系統(tǒng)的功能進展了總體的概述,并對論文構造以及開發(fā)背景和意義作了簡要的介紹。
第二章:根本原理及技術介紹局部。簡單介紹了與該工程有關的技術知識:J2EE概念,JavaScript語言,以及MVC框架模式。
第三章:系統(tǒng)分析與概要設計,介紹了本系統(tǒng)框架設計的具體實施流程,以及數(shù)據(jù)庫設計。
第四章:描述了系統(tǒng)的具體設計,包括關鍵功能的實現(xiàn)及分析,防刷票技術討論研究,以及重點疑難問題的解決。
第五章:總結本系統(tǒng)的設計,并討論了系統(tǒng)缺乏及改良之處。2系統(tǒng)概述2.1問卷調(diào)查的特點問卷調(diào)查對象是經(jīng)過思考之后才對問卷做出反響的。這有助于獲得真實、準確的資料。但是,往往由于受試者發(fā)現(xiàn)了某些屬于敏感性的問題而加以回避,從而拒答或答復不真實。這就會造成問卷回收率下降,或者資料可靠性下降,而研究者又無法作進一步的追索,單從回收的答卷上又無法判斷答案的真?zhèn)危够厥盏膯柧硎チ藘r值。因此,設計好問題,合理地安排問題順序是問卷設計的重要任務。
問卷調(diào)查適應于大樣本或小樣本的情況。問卷調(diào)查與訪問調(diào)查情況不同,訪問調(diào)查必須面對面地提出問題,收集口述材料。由于人力、財力的原因,調(diào)查的樣本數(shù)不可能太多,調(diào)查的地域不可能太廣。而問卷調(diào)查是依賴調(diào)查對象自我填答,問卷可以通過郵寄分發(fā),也可以面對面分發(fā)。因此樣本數(shù)可多可少,有時僅選數(shù)十人作問卷調(diào)查,有些課題,樣本那么多達數(shù)千以至過萬人。
有利于獲得定量資料。問卷調(diào)查不僅能取得數(shù)量標志的數(shù)量資料,還可以獲得有關屬性、品質(zhì)、態(tài)度為標志的計數(shù)資料。這些資料都能通過統(tǒng)計處理的方法進展量化分析,使結果更為客觀、真實、系統(tǒng)、科學化,提高了研究結果的水平。隨著計算機網(wǎng)絡的開展,網(wǎng)上問卷調(diào)查慢慢占據(jù)了主導地位。他解決了人工問卷的很多問題。是問卷調(diào)查更加容易和便利。2.2網(wǎng)上問卷調(diào)查的特點問卷法調(diào)查結果容易量化調(diào)查的問題可以固定的形式,防止主觀偏見問卷調(diào)查結果便于統(tǒng)計與分析,節(jié)省了處理結果的時間問卷調(diào)查可以進展大規(guī)模的調(diào)查,使結果更有參考價值問卷調(diào)查以政府、企業(yè)等為主體,具有普遍性。問卷的結果可以持久的保存,作為將來的參考2.3網(wǎng)上問卷的根本解決方案盡量消除被調(diào)查者的戒備心理,拉近與被調(diào)查者距離的原那么。防御心是人性最自然的一面,在被調(diào)查者接觸到問卷調(diào)查時,第一個反映就是考慮填寫問卷對自己有什么害處或者好處;對于銷售網(wǎng)絡狀況調(diào)查來說,被調(diào)查的零售商更是有這一層的顧慮,害怕問卷的填寫不當直接會影響到后期的生意開展,因此如果不能消除被調(diào)查者的戒備心理,拉近與被調(diào)查者的距離是很難得到真實、可靠的信息反響。防止鋒利性的問題,以免引發(fā)被調(diào)查者的情緒過度波動而造成不利影響。容盡量做到精簡,防止重復和過分煩瑣。從被調(diào)查者填寫問卷的心理變化分析來看,被調(diào)查者剛開場填寫問卷應該是以好奇和仔細為主,隨著填寫時間的延長,好奇心逐步衰減,而煩躁的心情卻逐漸滋生出來,所以為了保持問卷填寫的高質(zhì)量,問卷的容應精簡、有力。問卷答復格式應適合信息的匯總和分析。答復格式應適合信息的匯總和分析可能對于很多調(diào)查者來說是比擬陌生的,從統(tǒng)計和分析的角度來看,假設采取雜亂無章的答復設計方法,調(diào)查結果所收集的問卷成千上萬,對問卷的容進展歸類、分析就比擬困難了,所以在設計問卷答復格式的時候,就要考慮到對于問卷的問題采取什么樣的方法進展分析。3系統(tǒng)分析首先,在開發(fā)本系統(tǒng)之前需要了解本系統(tǒng)需要完成那些功能,確定開發(fā)使用語言和工具,下面本論文通過網(wǎng)上購物系統(tǒng)的現(xiàn)狀及可行性來確定本系統(tǒng)的實現(xiàn)目標,從而完成系統(tǒng)的需求分析。3.1功能需求描述隨著計算機技術的飛速開展,利用計算機來獲取和處理信息是當今信息管理的一大特點。基于Web的系統(tǒng)作為最普遍最實用的系統(tǒng),其管理現(xiàn)代化、信息化,對整個社會起著巨大的推動作用。早期的問卷調(diào)查很不方便,需要大量的人力和財力,而卻只能在相對局部的的區(qū)域里,對于不同的調(diào)查相對的人群也會有變化,針對性不強,因為數(shù)據(jù)量很大,信息的提取比擬復雜,所以以前的問卷調(diào)查很少,只有發(fā)現(xiàn)了問題之后,才能知道問題的原因。當今的社會已經(jīng)是一個信息時代,只有在第一時間獲得有效的信息,才能在社會上立足。網(wǎng)上問卷調(diào)查系統(tǒng)正好彌補了這個缺陷,網(wǎng)上問卷調(diào)查現(xiàn)在已經(jīng)成為了解社會狀況的一種有效的方式,你只要在網(wǎng)上搜索調(diào)查,會有成萬的相關記錄,他能為企業(yè)了解客戶的需求,也能得到產(chǎn)品的優(yōu)點和缺點,及時的了解信息,能過給企業(yè)很多建議,及時的做出相應的調(diào)整。傳統(tǒng)的學校對教師人工問卷考核中,進展一次調(diào)查,需要提前出題、印試卷、安排調(diào)查、收集試卷、然后檢查管理試卷和分析試卷,這是一個繁雜的過程,需要大量人力、物力與時間的投入,已經(jīng)越來越不適應學校信息化建立與現(xiàn)代教學的需要。尤其在遠程網(wǎng)絡教學中,學生分布廣,不易統(tǒng)一集中調(diào)查,給校方和學生帶來了眾多的不便。在網(wǎng)絡技術逐漸滲入社會生活各個層面的今天,學校傳統(tǒng)的問卷調(diào)查方式也面臨著變革,而網(wǎng)絡問卷調(diào)查那么是一個很重要的方向?;赪eb技術的網(wǎng)絡問卷系統(tǒng)可以借助于遍布全球的因特網(wǎng)。因此問卷既可以在本地進展,也可以在異地進展,大大拓展了問卷的靈活性。而且可以采用大量標準化試題,從而使用計算機能處理結果,大大提高結果的分析。網(wǎng)絡考試系統(tǒng)采用Web技術實現(xiàn)。Web技術超越了傳統(tǒng)的"客戶機/效勞器"兩層構造,采用了三層體系構造:用戶界面層/事務層/數(shù)據(jù)庫層,因此Web構造有著更好的平安性,在用戶機上不需要安裝任何應用程序。3.2目標系統(tǒng)要求系統(tǒng)的主要目標要求容:調(diào)查問卷主題的管理:調(diào)查問卷主題的管理包括對調(diào)查主題的查看、添加、刪除和修改功能的實現(xiàn)。
調(diào)查問卷答復:此功能在調(diào)查界面中實現(xiàn),受調(diào)查者對于其感性趣的主題答復問卷,沒有選擇任何選項時回做出"您沒有選擇選項〞的提示。除了這個功能外還有一個功能就記錄下每個對主題進展投票調(diào)查者的IP地址,從而可以使調(diào)查的公平性得到保證,不給那些想根據(jù)實際需要搞假者以可乘之機。在問卷答復完成后點擊"確定〞,系統(tǒng)會根據(jù)實際情況將選票加到相應的工程上。
查看問卷的調(diào)查情況:這個功能的實現(xiàn)頁面是調(diào)查結果顯示頁面,在這個頁面中列出了關于某個調(diào)查的主題信息、該主題所包含的所有調(diào)查工程的名稱及每個工程的總投票數(shù),最重要的一個功能是加了明顯的進度條,這個進度條是經(jīng)過將該工程的總票數(shù)/各工程投票總數(shù)之和后得到的百分比。
管理員的登陸:在管理員的登陸中只有數(shù)據(jù)庫中存在的管理員才能進入后臺進展后臺的管理。3.3可行性分析在系統(tǒng)調(diào)查和業(yè)務流程分析的根底上針對新系統(tǒng)的開發(fā)是否具備必要性和可能性對新系統(tǒng)的開發(fā)從技術、經(jīng)濟、社會的方面進展分析和研究[7]以防止投資失誤保證新系統(tǒng)的開發(fā)成功。可行性研究的目的就是用最小的代價在盡可能短的時間確定問題是否能夠解決。并且可行性研究主要集中在以下三個方面:〔1〕技術可行性本系統(tǒng)的數(shù)據(jù)庫較小所以程序在響應時間數(shù)據(jù)更新處理時間上性能是比擬突出的。而且也正由于數(shù)據(jù)量相對較少故在數(shù)據(jù)傳輸時間和系統(tǒng)運行時間上表現(xiàn)的較讓人滿意。由于采用數(shù)據(jù)庫技術并且用戶的應用領域?qū)?shù)據(jù)準確度的要求不是太高所以這點在系統(tǒng)中表現(xiàn)得比擬少但是用戶數(shù)據(jù)的平安性與正確性是完全保證的所以對用戶的使用沒有多大的障礙。隨著問卷調(diào)查業(yè)務量的增加問卷調(diào)查者所需要處理的信息量大副上升因此往往很難及時準確掌握整個物業(yè)的運作狀態(tài)。針對這一情況本系統(tǒng)在滿足物業(yè)信息的管理功能根底上注意發(fā)揮信息系統(tǒng)的智能化以減輕問卷調(diào)查人員和操作人員的工作負擔。根據(jù)本系統(tǒng)的功能需求采用JSP與開源的MySQL5.5數(shù)據(jù)庫引擎進展開發(fā)。由于JSP技術使用Java編程語言編寫類XML的tags和scriptlets來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于效勞端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示別離支持可重用的基于組件的設計使基于Web的應用程序的開發(fā)變得迅速和容易。而MySQL5.5作為一種快速的、多線程、多用戶和強健的數(shù)據(jù)庫效勞器根據(jù)第三方測試結果在千萬級的數(shù)據(jù)環(huán)境中依然保持較高的執(zhí)行速度。因此在技術層面上是完全可行的。而且SQL是一個非過程化的語言可用于所有用戶的數(shù)據(jù)庫活動模型包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應用程序員、決策支持系統(tǒng)人員及許多其他類型的終端用戶。根本的SQL命令只需要很少時間就能學會最高級的命令在幾天便可掌握。MySQL5.5功能強大而且很多信息管理系統(tǒng)都是用MySQL5.5,對問卷調(diào)查系統(tǒng)的開發(fā)是可行的。〔2〕經(jīng)濟可行性本環(huán)節(jié)通過分析新系統(tǒng)的本錢效益[8]其中包括估計工程開發(fā)的本錢開發(fā)費用和今后的運行、維護費用以及新系統(tǒng)將獲得的效益估算開發(fā)本錢是否高于工程預期的全部經(jīng)費。下面具體列出了本錢和效益的分析本系統(tǒng)的效益可以從經(jīng)濟效益和社會效益兩方面考慮。其社會效益包括系統(tǒng)投入運行后可以使問卷調(diào)查實現(xiàn)科學化、規(guī)化增強用戶對問卷信息的管理能力從而提高工作效率從長遠來看網(wǎng)上管理也是管理信息化的必經(jīng)之路這一系統(tǒng)的實施實現(xiàn)了"無紙化〞辦公帶動企業(yè)的其他信息化建立推動企業(yè)的信息化水平更上一層樓。其經(jīng)濟效益包括系統(tǒng)的正常運行替代了以前的手工操作這將大量減少員工開支和辦公用品的開支等。由以上可知本系統(tǒng)在經(jīng)濟上是可行的?!?〕操作可行性本系統(tǒng)的順利實施將改變傳統(tǒng)的操作流程和方式由于計算機應用的普及企業(yè)大多數(shù)員工對計算機管理模式和具體操作都很熟悉。在進展系統(tǒng)設計時將會充分考慮管理人員的習慣使得操作簡單數(shù)據(jù)錄入迅速、規(guī)、可靠統(tǒng)計準確適應力強容易擴大。盡量把工作人員的操作量降低使其在界面友好的環(huán)境中工作。所以本系統(tǒng)的使用對工作人員來說具有操作可行性。綜上所述系統(tǒng)開發(fā)具有可行性。一種軟件開發(fā)是否能夠取得成功一是市場的需求二是軟件開發(fā)所需要軟件開發(fā)工具以及開發(fā)技術和當時硬件的開展水平。從這兩個方面而言基于web的問卷調(diào)查系統(tǒng)的開發(fā)是可行的。3.4總體設計軟件模式是軟件開發(fā)期間對重復問題的可復用解決方案,是經(jīng)歷的總結。掌握這些設計模式后,當遇到類似的問題時,就可以快速利用已有的解決方案分析問題,然后采取適當?shù)牟呗裕瑥亩行Эs短軟件開發(fā)周期并提高軟件質(zhì)量。因此,使用設計模式是進展軟件設計開發(fā)的有效途徑。在企業(yè)級應用開發(fā)中,通過使用設計模式,可以大大提高應用程序的性能和增加軟件的復用性。
因此,在本工程中,采用經(jīng)過實踐檢驗的、成熟的面向?qū)ο蟮脑O計模式來對本應用系統(tǒng)進展建模,以期到達效勞質(zhì)量〔QoS〕較好〔可擴展性強、性能優(yōu)良、平安可靠,有一定的靈活性〕的目的,并在此根底上實現(xiàn)整個系統(tǒng)。本系統(tǒng)采用MVC的設計模式,用戶輸入輸出界面均為JSP頁面,即展示層〔VIEW〕,用戶的請求〔REQUEST〕將會被發(fā)送到控制層〔CONTROL〕的一個SERVLET集中處理,根據(jù)請求調(diào)用模型層〔MODEL〕的JAVABEAN對請求進展實際處理,并把結果返回給控制層,控制層根據(jù)請求的執(zhí)行結果將響應〔RESPONSE〕派發(fā)到相應的JSP頁面。
模型-視圖-控制器〔MVC〕是XeroxPARC在八十年代為編程語言Smalltalk-80創(chuàng)造的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2EE平臺的設計模式。MVC構造提供了一種按功能對各種對象進展分割的方法,它強制性地使應用程序的輸入、處理和輸出分開,所以依據(jù)這種設計思想能夠構造良好的松耦合的構件。使用MVC的應用程序被分成三個核心構件:模型、視圖、控制器。它們各自處理自己的任務。
視圖:視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括AdobeFlash和象XHTML,XML/XSL,WML等一些標識語言和Webservices.
如何處理應用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。
模型:模型表示企業(yè)數(shù)據(jù)和業(yè)務規(guī)那么。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象這樣的構件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關,這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。
控制器:控制器承受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超和發(fā)送HTML表單時,控制器(例如:servlet)本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構件去處理請求,然后確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。
MVC的處理過程,首先控制器接收用戶的請求,并決定應該調(diào)用哪個模型來進展處理,然后模型用業(yè)務邏輯來處理用戶的請求并返回數(shù)據(jù),最后控制器用相應的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。
例如,一個數(shù)據(jù)提交〔操作請求〕的標準流程:在問卷管理模塊中的添加問卷頁面〔SurveyAdd.jsp〕,用戶在這個頁面中輸入數(shù)據(jù),提交之后,請求被派發(fā)到一個名為SurveyManage的servlet中集中處理,在這個servlet中,調(diào)用了持久層的名為SurveyDAO的javabean的addSurvey方法對數(shù)據(jù)進展持久化,然后把處理結果返回給SurveyMange這個控制器,控制器根據(jù)返回的結果斷定將相應的頁面展現(xiàn)給客戶端瀏覽器。
又如,一個數(shù)據(jù)查詢〔數(shù)據(jù)請求〕的標準流程:在問卷設計頁面中〔SurveyAdmin.jsp〕,用戶翻開頁面后,頁面即調(diào)用SurveyDAO的listAllSurvey方法查詢出所有問卷信息返回給頁面,即頁面進展數(shù)據(jù)查詢時不再經(jīng)過CONTROLLER層。如圖3-1所示。圖3-1MVC設計模式4系統(tǒng)的總體設計完成了系統(tǒng)的需求分析確定了目標,下一步就是選擇開發(fā)環(huán)境問題,本章就對各種開發(fā)語言和開發(fā)環(huán)境及平臺進展了比擬4.1平臺選擇隨著Internet的迅速開展,作為一門新興的語言,Java以其完全面向?qū)ο蟮脑O計風格和良好的平臺無關性,已經(jīng)超越了語言本身的功能,成為了開發(fā)Web應用的理想平臺。Java平臺包括了一種用于實現(xiàn)Java對象的語言和這些Java對象的運行環(huán)境——Java虛擬機JVM(JavaVirtualMachine)。Java語言的主要特點是平臺無關性:在一個操作系統(tǒng)下開發(fā)的Java對象可以不做修改的運行在另外一個操作系統(tǒng)的JVM上。JVM封裝了各種底層操作系統(tǒng)在體系構造和語義上的差異,在此根底上為Java對象提供了一個統(tǒng)一的運行環(huán)境。Java對象的源代碼被編譯為平臺無關的中性代碼——字節(jié)碼。在運行時刻,字節(jié)碼由JVM進展解釋,被映射為真正的相關的操作系統(tǒng)調(diào)用而得以執(zhí)行功能。因此,只要是100%純Java語言實現(xiàn)的對象可以被各種具有相應JVM的操作系統(tǒng)所支持。
Sun公司的J2EE架構是在1997年的JavaOne大會上宣布的,J2EE定義了開發(fā)和運行企業(yè)級Web應用的標準。它是一組規(guī),旨在為支持Java語言效勞器端部署而提供平臺無關的、可移植的、多用戶的、平安的和標準的企業(yè)級平臺。伴隨J2EE的出現(xiàn),Java語言的功能和工具得到了極大的擴大、豐富和開展,可以用于復雜的、多層次的以及分布式的電子商務和企業(yè)級應用。J2EE構架與技術為組件開發(fā)模型提供廣泛的支持,同時也提供一組開發(fā)工具和效勞,以便開發(fā)模塊化的、可重用的和平臺獨立的各種組件技術的業(yè)務邏輯。
J2EE為搭建具有可伸縮性、靈活性、易維護性的商務系統(tǒng)提供了良好的機制,它具有以下突出的優(yōu)點:
〔1〕事實的標準:J2EE是由SUN引導,各廠商共同發(fā)起的,并得到廣泛認可的工業(yè)標準,業(yè)的大企業(yè)〔如IBM,BEA,ORACLE等〕都積極參與,很多應用軟件開發(fā)商也把自己的產(chǎn)品轉(zhuǎn)移到J2EE平臺上來,使之成為事實的工業(yè)標準。因此,J2EE擁有良好的市場和旺盛的生命力?!?〕可保存現(xiàn)有的IT資產(chǎn):使用J2EE能夠充分利用客戶原有的投資,保存已有的信息資源;同時,由于基于J2EE平臺的產(chǎn)品幾乎在任何操作系統(tǒng)和硬件配置上都可以運行,現(xiàn)有的操作系統(tǒng)和硬件也能夠被保存使用。
〔3〕高效的開發(fā):J2EE允許公司把一些通用的、很繁瑣的效勞端任務交給中間件供給商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)立業(yè)務邏輯上,相應地縮短了開發(fā)時間。
〔4〕支持異構環(huán)境:J2EE能夠開發(fā)部署在異構環(huán)境中的可移植程序。基于J2EE的程序不依賴于任何特定操作系統(tǒng)、中間件、硬件。因此設計合理的基于J2EE的應用程序只需開發(fā)一次就可被部署到各種平臺。這在典型的異構企業(yè)計算環(huán)境中是十分重要的。J2EE標準也允許客戶定購與J2EE兼容的第三方的現(xiàn)成的組件,把它們部署到異構環(huán)境中,節(jié)省了由自己制定整個方案所需的費用。
〔5〕可伸縮性:企業(yè)必須選擇一種效勞器端平臺,這種平臺應能提供極佳的可伸縮性去滿足那些在它們的系統(tǒng)上進展商業(yè)運作的大批新客戶?;贘2EE平臺的應用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端UNIX和大型機系統(tǒng),這種系統(tǒng)單機可支持64至256個處理器?!策@是NT效勞器所望塵莫及的〕J2EE領域的供給商提供了更為廣泛的負載平衡策略,能消除系統(tǒng)中的瓶頸,允許多臺效勞器集成部署。這種部署可達數(shù)千個處理器,實現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應用的需要。
〔6〕穩(wěn)定的可用性:一個效勞器端平臺必須能夠全天候運轉(zhuǎn)以滿足公司客戶和合作伙伴的需要。因為Internet是全球化的、無處不在的,即使在夜間按方案停機也可能造成嚴重損失。意外停機有可能造成災難性后果??梢园袹2EE部署到可靠的操作環(huán)境中,它們支持長期的可用性。最強健的操作系統(tǒng)可到達99.999%的可用性或每年只需5分鐘的停機時間,這是實時性很強商業(yè)系統(tǒng)理想的選擇。我們選用的平臺是基于Java平臺的S2SH框架技術,它適應于Windows操作系統(tǒng),Linux系統(tǒng)并能很好的與其應用程序結合,而且使用的MySQL數(shù)據(jù)庫也易操作,從而大大降低了編程難度。具體如下:采用了Internet架構,Bowser/Server模式。Web效勞器采用Tomcat6.0效勞器,數(shù)據(jù)庫管理系統(tǒng)為MySQL。開發(fā)工具使用Dreamweaver搭建系統(tǒng)頁面框架,再用Eclipse編寫業(yè)務邏輯代碼。4.2開發(fā)技術的選擇合理的選擇開發(fā)技術,對于開發(fā)的完成情況有著非常重要的影響。要開發(fā)一個,首先要選擇一個動態(tài)網(wǎng)頁開發(fā)技術。當前比擬流行的動態(tài)網(wǎng)頁開發(fā)技術有JSP、ASP、PHP。它們的特性比擬如表4-1所示。表4-1asp/jsp/php比擬表技術名稱ASPJSPPHP對數(shù)據(jù)庫的支持好好好開發(fā)難易度容易容易較難使用平臺Windows9X/NTWindows/UNIXUNIX平安性不好好不好對組件的支持支持支持不支持執(zhí)行方式解釋執(zhí)行編譯之后執(zhí)行解釋執(zhí)行跨平臺不好好好這三種都是在傳統(tǒng)的HTML代碼中,利用HTML標簽的擴展,構成頁面。不難看出,JSP的綜合實力是最強的,尤其是在平安性和跨平臺性兩個方面,比其他的兩種技術都要好,因此,最后我們選擇JSP技術作為動態(tài)網(wǎng)頁的開發(fā)技術。4.3系統(tǒng)開發(fā)工具與環(huán)境本系統(tǒng)是基于JSP+MySQL5.5數(shù)據(jù)庫技術實現(xiàn)的,現(xiàn)對JSP技術和MySQL5.5數(shù)據(jù)庫作簡要的介紹。開發(fā)語言—JSPJSP頁面由HTML代碼和嵌入其中的Java代碼所組成。JavaBean是JSP的技術根底,而且大型的Web應用程序的開發(fā)需要JavaBean和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向?qū)ο?,具有平臺無關性且平安可靠,主要面向因特網(wǎng)等特點。JSP的技術的優(yōu)勢:一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統(tǒng)之外,代碼不需要做任何更改。系統(tǒng)的多平臺支持。根本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進展系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。JSP技術是用Java語言作為腳本語言的。Java語言是成熟的、強大的、易擴大的編程語言。高效性與平安性。JSP在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由Java虛擬機解釋執(zhí)行,比源碼解釋效率高。可維護性。由于JSP技術是一種開放的、跨平臺的構造,因此Web效勞器、平臺及其他組件能很容易升級或切換,且不會影響JSP根本的應用程序。多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。數(shù)據(jù)庫—MySQLMySQL是一個關系數(shù)據(jù)庫管理系統(tǒng)。MySQL5.5是Oracle公司推出的數(shù)據(jù)庫管理系統(tǒng)的版本。MySQL5.5數(shù)據(jù)庫引擎提供完整的XML支持。它還具備構成最大的Web站點的數(shù)據(jù)存儲組件所需的可伸縮性、可用性和平安功能。MySQL5.5關系數(shù)據(jù)庫引擎支持當今苛刻的數(shù)據(jù)處理所需的功能。數(shù)據(jù)庫引擎充分保護數(shù)據(jù)完整性,同時將管理眾多并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。MySQL5.5分布式查詢使得以引用來自不同數(shù)據(jù)源的數(shù)據(jù),就好似這些數(shù)據(jù)是MySQL5.5數(shù)據(jù)庫的一局部,同時分布式事務支持充分保護分布式數(shù)據(jù)更新的完整性。系統(tǒng)開發(fā)環(huán)境CPU: 保證系統(tǒng)及數(shù)據(jù)庫和效勞器軟件運行流暢; 推薦2.0GHz以上存: 推薦2G或以上。軟件平臺:MyEclipse6.5操作系統(tǒng):Windowsxp專業(yè)版,或WindowsServer2003;數(shù)據(jù)庫:MySQL5.5;開發(fā)工具包:JDK1.6;JSP效勞器:Tomcat5.0以上;瀏覽器:IE6以上版本;分辨率:最正確效果1024×768。4.4工程規(guī)劃在線問卷調(diào)查系統(tǒng)是一個典型的JSP數(shù)據(jù)庫開發(fā)應用程序,由權限管理、角色管理、用戶管理、發(fā)起調(diào)查、參與調(diào)查等多個模塊組成。權限管理模塊:該模塊負責系統(tǒng)各局部功能權限的管理。角色管理模塊:該模塊負責對系統(tǒng)的各個系統(tǒng)角色進展管理,通過對不同的角色分配不同的權限來實現(xiàn)對角色的控制,還可以把角色指定給特定的用戶。用戶管理模塊:該模塊負責對系統(tǒng)中注冊的用戶進展管理。發(fā)起調(diào)查模塊:該模塊負責對用戶發(fā)起的調(diào)查進展管理,對調(diào)查進展設計,增加調(diào)查頁面,添加調(diào)查問題等功能。系統(tǒng)功能構造圖在線問卷調(diào)查系統(tǒng)構造如圖4-2所示。圖4-2系統(tǒng)功能構造圖4.5系統(tǒng)設計本系統(tǒng)在設計時應該滿足以下幾個目標:〔1〕采用人機對話的操作方式,界面設計美觀友好、信息查詢靈活、方便、快捷、準確、數(shù)據(jù)存儲平安可靠?!?〕提供全面的問題設計方案?!?〕提供一個方便、快捷的功能。〔4〕會員可以隨時修改自己的會員資料?!?〕實現(xiàn)權限的管理?!?〕對收集的信息進展全面的分析。〔7〕查看商系統(tǒng)日志信息?!?〕用戶隨時都可以查看自己的問卷調(diào)查。〔9〕對用戶輸入的數(shù)據(jù),系統(tǒng)進展嚴格的數(shù)據(jù)檢驗,盡可能排除人為的錯誤?!?0〕系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性?!?1〕系統(tǒng)運行穩(wěn)定、平安可靠。4.6數(shù)據(jù)庫設計本系統(tǒng)數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為lsn_surveypark61,共包含10+N(N為動態(tài)表,隨系統(tǒng)的信息增長生成)表。〔1〕tb_users〔用戶表〕用戶表主要用來保存系統(tǒng)中用戶的信息。表tb_users的構造如表4-3所示。表4-3用戶表字段名數(shù)據(jù)類型長度是否主鍵描述idint4是類別IDemailvarchar50用戶名passwordvarchar50密碼nicknamevarchar50昵稱Regdatedatetime50注冊時間〔2〕tb_rights〔權限表〕權限表主要用來保存系統(tǒng)中的權限信息。表tb_rights的構造如表4-3所示。表4-3權限表字段名數(shù)據(jù)類型長度是否主鍵描述IDint11是類別IDrighturlvarchar4權限urlrightnamevarchar50權限名稱rightdescvarchar50權限描述rightcodevarchar50權限碼righttopsint11權限位monbit1權限標識〔3〕tb_roles〔角色表〕角色表用來保存系統(tǒng)中角色的信息。表tb_roles的構造如表4-4所示。表4-4角色表字段名數(shù)據(jù)類型長度是否主鍵描述idint11是角色標識rolenamevarchar200角色rolevaluevarchar200角色碼roledescvarchar200角色值〔4〕tb_role_right_link〔角色權限表〕角色權限表用來保存角色的權限信息。表tb_role_right_link的構造如表4-4所示。表4-4角色權限表字段名數(shù)據(jù)類型長度主鍵描述roleidint11是角色IDrightidint11tb_right表的id字段關聯(lián)〔5〕tb_user_role_link〔用戶角色表〕用戶角色表用來保存用戶所屬角色信息。表tb_user_role_link的構造如表4-5所示。表4-5用戶角色表字段名數(shù)據(jù)類型長度是否主鍵描述useridint11是用戶idroleidint11角色id〔6〕tb_surveys〔問卷表〕問卷表主要用來存儲系統(tǒng)中的問卷信息。表tb_suryveys的構造如表4-6所示。表4-6會員信息表字段名數(shù)據(jù)類型長度是否主鍵描述IDint11是問卷idtitlevarchar200問卷標題pretextvarchar50首頁顯示文字nexttextvarchar50下一頁文字exittextvarchar50退出文字donetextvarchar50完成顯示文字createtimeDatetime0創(chuàng)立時間Logophotopathvarchar200問卷logo路徑ClosedBit1問卷狀態(tài)Useridint11用戶id〔7〕tb_page〔問卷頁面信息表〕問卷頁面信息表用來保存問卷頁面信息。表tb_page的構造如表4-7所示。表4-7管理員信息表字段名數(shù)據(jù)類型長度是否主鍵描述IDInt11是ID號Titlevarchar200頁面標題Descrptionvarchar200頁面描述信息OrdernoVarchar10順序標識SurveyidInt11所屬調(diào)查id〔8〕tb_questions〔問題表〕問題表主要用來保存問卷的問題信息。表tb_questions的構造如表4-8所示。表4-8公告信息表字段名數(shù)據(jù)類型長度是否主鍵描述IDInt11是ID號TitleVarchar200問題標題QuestiontypeInt11問題類型OptionsVarchar200問題選項OtherBit1其他選項OtherstyleInt11其他選項風格OtherselectoptionsVarchar200其他下拉選MatrixrowtitlesVarchar200矩陣行MatrixcoltitlesVarchar200矩陣列MatrixselectoptionsVarhcar200矩陣下拉選PageidInt11頁面id〔9〕tb_logs〔日志表〕日志表主要用來保存系統(tǒng)的日志信息。表tb_logs的構造如表4-9所示。表4-9日志表字段名數(shù)據(jù)類型長度是否主鍵描述IDVarchar100是商品IDOperatorVarchar100操作人opervarchar100執(zhí)行方法OperparamVarchar500操作參數(shù)OperresultVarchar200操作結果OpertimeDatetime0操作時間5系統(tǒng)實現(xiàn)本系統(tǒng)所采用的是Internet架構,三層B/S模式,采用S2SH+MySQL技術實現(xiàn),同時利用了JQuery、JavaScript等技術。5.1系統(tǒng)各局部的實現(xiàn)方法從系統(tǒng)功能劃分為多個模塊。包括有參與調(diào)查、發(fā)起調(diào)查、用戶注冊、角色管理、權限管理、用戶權限管理等。各模塊雖然是獨立的,但又統(tǒng)一于同一數(shù)據(jù)庫中,便于管理員管理維護數(shù)據(jù)庫,同時也便于用戶的操作。使用持久層框架實現(xiàn)對數(shù)據(jù)庫的操作持久性框架是一組軟件效勞,將應用程序同其使用和操縱的數(shù)據(jù)源別離。它位于機構的數(shù)據(jù)源之上,隱藏訪問這些數(shù)據(jù)源的數(shù)據(jù)查詢存取API〔如JDBC、實體E等〕,它提供的效勞應完全抽象,并且隱藏使用及操縱數(shù)據(jù)源數(shù)據(jù)的細節(jié)。
本系統(tǒng)在持久層主要使用了3種設計模式:DAO模式、VO模式、簡單工廠模式。 DAO〔數(shù)據(jù)訪問對象〕模式:
數(shù)據(jù)訪問對象〔DAO〕模式使用數(shù)據(jù)訪問對象來封裝和抽象對所有數(shù)據(jù)源的訪問,它管理著與數(shù)據(jù)源的連接以便于檢索和存儲數(shù)據(jù),為業(yè)務對象提供了透明的底層數(shù)據(jù)訪問實現(xiàn)。DAO模式完全包裝數(shù)據(jù)的讀取和操縱,并包裝與數(shù)據(jù)庫交互的數(shù)據(jù)訪問API,它用數(shù)值對象包裝從數(shù)據(jù)庫讀取和發(fā)送到數(shù)據(jù)庫的數(shù)據(jù),與業(yè)務層進展通信。DAO模式提供的靈活性是由于應用程序并不直接訪問數(shù)據(jù)源,而是創(chuàng)立DAO對象,用其訪問數(shù)據(jù)源。讀取數(shù)據(jù)時,可以用數(shù)值對象保存取得的數(shù)據(jù)。
VO〔值對象〕模式:
使用值對象能夠減少使用實體bean時需要的遠程調(diào)用的次數(shù)。本系統(tǒng)使用值對象來封裝業(yè)務數(shù)據(jù),用相應的方法調(diào)用來設置和檢索值對象。當客戶端向?qū)嶓wbean請求業(yè)務數(shù)據(jù)時,該實體bean可以構造值對象,用屬性值來填充,并且將值對象傳送給客戶端。同樣道理,客戶端向?qū)嶓wbean提交數(shù)據(jù)時,也采用值對象這一方法。 系統(tǒng)中所有的數(shù)據(jù)庫實體,都被封裝成了這樣的VO。如頁面上要數(shù)據(jù)庫中添加一個問卷,那么首先頁面把數(shù)據(jù)發(fā)送到控制層的SERVLET,在該SERVLET過頁面?zhèn)鬟^來的參數(shù)構造一個VO,然后把這個VO傳遞給DAO對象,DAO對象最后完成對數(shù)據(jù)庫的控制操作。
簡單工廠模式:
專門定義一個類來負責創(chuàng)立其他類的實例,被創(chuàng)立的實例通常都具有共同的父類。它又稱為靜態(tài)工廠方法模式,屬于類的創(chuàng)立型模式。簡單工廠模式的實質(zhì)是由一個工廠類根據(jù)傳入的參數(shù),動態(tài)決定應該創(chuàng)立哪一個產(chǎn)品類〔這些產(chǎn)品類繼承自一個父類或接口〕的實例。
工廠類使用了多方法工廠,隔離上層與數(shù)據(jù)庫底層,使上層方法不用關心底層采用何種數(shù)據(jù)庫實現(xiàn),系統(tǒng)如果要遷移到其他數(shù)據(jù)庫上,也只需實現(xiàn)相應的DAO接口,然后在DAOFactroy類中修改返回的實現(xiàn)類即可。業(yè)務邏輯層的實現(xiàn)JavaBean是一種Java語言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數(shù)的構造器。JavaBean通過提供符合一致性設計模式的公共方法將部域暴露成為屬性。眾所周知,屬性名稱符合這種模式,其他Java類可以通過自省機制發(fā)現(xiàn)和操作這些JavaBean屬性。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用Java代碼創(chuàng)造的對象進展打包,并且其他的開發(fā)者可以通過部的JSP頁面、Servlet、其他JavaBean、Applet程序或應用來使用這些對象。用戶可以認為JavaBean提供了一種隨時隨地的復制和粘貼的功能,而不用關心任何改變。JSP的一個重要特性就是可以用JavaBean實現(xiàn)功能的擴展。將大局部功能放在JavaBean中完成,以使JSP頁面程序更干凈簡潔、利于維護。JavaBean可以很方便的用來捕獲頁面表單的輸入并完成各種業(yè)務邏輯的處理。
隨著軟件構造的日益龐大,軟件模塊化趨勢出現(xiàn),軟件開發(fā)也需要多人合作,隨即分工出現(xiàn)。如何劃分模塊,如何定義接口方便分工成為軟件工程設計中越來越關注的問題。良好的模塊化具有以下優(yōu)勢:可擴展、易驗證、易維護、易分工、易理解、代碼復用。優(yōu)良的模塊設計往往遵守"低耦合高聚〞的原那么。而"框架〞是對開發(fā)中良好設計的總結,把設計中經(jīng)常使用的代碼獨立出來,所形成的一種軟件工具。用戶遵守它的開發(fā)規(guī)那么,就可以實現(xiàn)良好的模塊化,防止軟件開發(fā)中潛在的問題。廣義上的框架無處不再,一個常見的例子就是PC硬件體系構造,人們只要按照各自需要的主板、顯卡、存等器件就可以任意組裝成自己想要的電腦。而做主板的廠商不用關心做顯卡廠商的怎么實現(xiàn)它的功能。軟件框架也是如此,只要在Spring框架中填充自己的業(yè)務邏輯就能完成一個模塊劃分清晰紛的系統(tǒng)。5.2系統(tǒng)界面設計及實現(xiàn)本節(jié)將展示本系統(tǒng)的界面設計和實現(xiàn)方法,及其運行效果。前臺首頁設計及實現(xiàn)在問卷調(diào)查系統(tǒng)的首頁中,任何用戶可以針對不同的問卷進展答題,輸入調(diào)查信息,以完成調(diào)查信息的收集工作。此外,還具有用戶注冊、登錄、退出等功能。通過用戶注冊功能注冊的用戶,具有更多的權限,例如:發(fā)起問卷調(diào)查,查看問卷調(diào)查信息等。注冊后的用戶通過主頁的登錄功能登錄系統(tǒng)時,會根據(jù)自己的身份所具有的權限可以執(zhí)行不同的功能。問卷調(diào)查系統(tǒng)前臺首頁的運行結果如圖5-1所示?!惨蚓W(wǎng)頁較大,圖片中只展示商品列表的局部〕圖5-1前臺首頁下面以列表形式給出前臺頁面各局部的說明信息,如表5-2所示。表5-2前臺頁面說明區(qū)域名稱說明對應文件1首頁系統(tǒng)的首頁index.jsp2登錄會員登錄和提供會員注冊的入口login.jsp3參與調(diào)查顯示所有的問卷調(diào)查主題enageSurveyList.jsp4退出退出系統(tǒng)返回到首頁index.jsp5.2.2登錄模塊設計及實現(xiàn)登錄模塊通過首頁導航條中的"登錄〞導航按鈕來實現(xiàn)跳轉(zhuǎn),跳轉(zhuǎn)后用戶可以在用戶名后面文本框中輸入登錄用戶名,在密碼文本框中輸入自己的用戶名密碼,即可登錄系統(tǒng)。登錄模塊在首頁的設計效果如圖5-3所示。圖5-3登錄頁面用戶從輸入用戶名和密碼登錄系統(tǒng)時,系統(tǒng)會對登錄用戶的權限身份進展識別,根據(jù)識別出來的不同身份為用戶準備不同的功能模塊。判斷功能由LoginAction、和權限幫助ValidateUtile類來完成。局部實現(xiàn)代碼如下:hasRight(Stringnamespace,StringationName,HttpServletRequestreq,BaseActionaction){if(!ValidateUtil.isValid(namespace)||"/".equals(namespace)){namespace="";}.........if(url.contains(""")){url=url.substring(0,url.indexOf("""));}.........if(r==null||r.ismon()){returntrue;}else{.........if(user==null){returnfalse;}else{ ......}}}參與調(diào)查模塊設計及實現(xiàn)用戶可以通過首頁的"參與調(diào)查〞按鈕查看系統(tǒng)的所有問卷,選中其中的問卷調(diào)查主題,可以查看問卷的詳細容,對問卷提出的問題進展答題。參與調(diào)查模塊在中的設計效果如圖5-4所示。圖5-4參與調(diào)查頁面參與調(diào)查頁面顯示所有調(diào)查,用戶可以點擊相應的調(diào)查主題,參與到相應的調(diào)查中來。局部實現(xiàn)代碼如下:<s:iftest="surveys.isEmpty()">目前沒有可用的調(diào)查!</s:if><s:else><s:setvar="cells"value="5"/><table><tr><tdcolspan='<s:propertyvalue="#cells"/>'style="height:5px"></tr><tr><tdcolspan='<s:propertyvalue="#cells"/>'class="tdHeader">參與調(diào)查:請選擇要參與的調(diào)查</td></tr><tr><tdcolspan='<s:propertyvalue="#cells"/>'style="height:5px"></td></tr><tr><tdclass="tdListHeader"colspan='<s:propertyvalue="#cells"/>'>請選擇要參與的調(diào)查</td></tr><s:iteratorvar="i"begin="0"end="%{surveys.size-1}"step="#cells"><s:setvar="sId"value="id"/><tr><s:iteratorvar="j"begin="0"end="%{#cells-1}"step="1"><s:setvar="idx"value="#i+#j"/><td><s:iftest="#idx<surveys.size"><br></td></tr></s:iterator></table></s:else>答題模塊設計及實現(xiàn)用戶根據(jù)不同的問卷主題進展答復,在相應的問題的答題頁面進展答題。根據(jù)不同問題設置的不同提問容,不同題型中設置的不同答復進展答復,答復的方式根據(jù)問題的表現(xiàn)形式來回復。答題模塊的頁面設計效果如圖5-5所示。圖5-5答題頁面在答題頁面中首先顯示問卷的題目,即用戶選擇答復的問卷。根據(jù)不同問卷設置問題的差異以及問題頁數(shù)的不同,進展答題。每一頁答完后,可以通過下一頁按鈕,進入下一個答題頁面。假設是最后一頁,那么會顯示完成按鈕,即完成答題的操作。局部實現(xiàn)代碼如下:<tr><!--輸出調(diào)查標題--><tdcolspan="2"class="tdHeader"><s:propertyvalue="#session.current_survey.title" /></td></tr><tr><tdcolspan="2"class="tdWhiteLine"></td></tr><tr><tdcolspan="2"class="tdPHeaderL"><s:propertyvalue="currPage.title"/></td></tr>我的調(diào)查模塊設計及實現(xiàn)用戶登錄后,系統(tǒng)會根據(jù)用戶的身份提供相應的系統(tǒng)權限。假設用戶具有發(fā)起調(diào)查的權限,就可以自行設計具有多種題型的問卷調(diào)查頁面,用來收集相應的數(shù)據(jù)信息。用戶發(fā)起問卷調(diào)查后,系統(tǒng)會將用戶發(fā)起的記錄保存下來,用戶登錄后可以通過我的調(diào)查功能進展查看。
在我的調(diào)查模塊,用戶可以對自己發(fā)起的問卷調(diào)查進展管理和相應的操作。例如,查看問卷創(chuàng)立時間、切換問卷狀態(tài)、重新設計問卷調(diào)查、收集問卷信息、對問卷獲得的信息進展分析、刪除問卷等功能。該頁面的設計效果如圖5-6所示。圖5-6我的調(diào)查頁面局部實現(xiàn)代碼如下:<table> <tr><tdcolspan="10"style="height:5px"></td></tr> <tr><tdcolspan="10"class="tdHeader">我的調(diào)查:</td></tr> <tr><tdcolspan="10"style="height:5px"></td></tr> <tr> <tdclass="tdListHeader">ID</td> <tdclass="tdListHeader">調(diào)查標題</td> <tdclass="tdListHeader">創(chuàng)立時間</td> <tdclass="tdListHeader">狀態(tài)</td> <tdclass="tdListHeader">設計</td> <tdclass="tdListHeader">收集信息</td> <tdclass="tdListHeader">分析</td> <tdclass="tdListHeader">翻開/關閉</td> <tdclass="tdListHeader">去除調(diào)查</td> <tdclass="tdListHeader">刪除</td> </tr> <s:iteratorvalue="mySurveys"> <s:setvar="sId"value="id"/> </s:iterator></table>
用戶注冊模塊設計及實現(xiàn)用戶注冊模塊用來幫助用戶實現(xiàn)注冊會員的功能,注冊后的會員擁有更多的系統(tǒng)權限。例如:新建調(diào)查、查看我的調(diào)查等功能。而未注冊的用戶只能參與調(diào)查,不能對調(diào)查的結果進展查看與分析等。可以通過首頁中的"用戶注冊〞功能進入,用戶注冊頁面。在用戶注冊頁面中,用戶需要輸入一個唯一的用戶名,用來標示自己的身份,用來登錄系統(tǒng)。此外還要輸入一個密碼,與自己的用戶名相互關聯(lián)。當用戶需要登錄時,即可通過該用戶名和密碼進展登錄操作。用戶注冊頁面運行結果如圖5-7所示。圖5-7用戶注冊頁面局部實現(xiàn)代碼如下:<tr><tdcolspan="2"class="tdHeader">注冊新用戶</td></tr><tr><tdcolspan="2"class="tdWhiteLine"></td></tr><tr><tdclass="tdFormLabel">:</td><tdclass="tdFormControl"><s:textfieldname="email"cssClass="text"/><fontclass="fonterror"><s:fielderror><s:param>email</s:param></s:fielderror></font></td></tr><tr><tdclass="tdFormLabel">密 碼:</td><tdclass="tdFormControl"><s:passwordname="password"cssClass="text"/><fontclass="fonterror"><s:fielderror><s:param>password</s:param></s:fielderror></font></td></tr>6系統(tǒng)測試與使用在本系統(tǒng)的實現(xiàn)局部已經(jīng)演示了系統(tǒng)的運行效果,這里再簡單介紹一下系統(tǒng)的測試和運行環(huán)境。6.1測試環(huán)境簡介硬件平臺:InterPentium(R)Dual-CoreE5400,存4GB,硬盤160GB軟件平臺:WindowsServer2003操作系統(tǒng),MySQL5.5數(shù)據(jù)庫,IE6.0瀏覽器,Tomcat6.0,基于Java平臺的在線問卷調(diào)查系統(tǒng)。Everestultimate是一個測試軟硬件系統(tǒng)信息的工具,它可以詳細的顯示出PC每一個方面的信息。支持上千種(3400+)主板,支持上百種(360+)顯卡,支持對并口/串口/USB這些PNP設備的檢測,支持對各式各樣的處理器的偵測。目前EverestHome已經(jīng)能支持包括中文在的30種語言,讓你輕松使用。而且經(jīng)過幾次大的更新,現(xiàn)在的Everest已經(jīng)具備了一定的硬件測試能力,讓您對自己電腦的性能有個更加清晰的認識。6.2環(huán)境要求硬件環(huán)境:硬盤:10G+,存:512M+。軟件環(huán)境:windowsXp/2000+;jdk1.5+;Tomcat5.X+;MySQL5.5;IE6.0+。6.3系統(tǒng)安裝與運行〔1〕將整個工程發(fā)布到Tomcat中,〔2〕將lsn_surveypar61數(shù)據(jù)庫附加到MySQL5.5中.〔3〕啟動Tomcat和MySQL效勞〔4〕訪問首頁:localhost:8080/lsn_surveypark618080為效勞器端口6.4測試本小節(jié)從普通用戶和管理員兩種不同的身份測試系統(tǒng),普通用戶使用系統(tǒng)時,只具有使用局部系統(tǒng)功能的權限,例如:參與調(diào)查、用戶注冊等。以管理員身份進展測試時容包括會員登錄、新建調(diào)查、我的調(diào)查、用戶授權管理、角色管理、權限管理、日志管理、退出等功能;普通用戶身份測試用戶進入系統(tǒng)首頁可以查看已有的問卷調(diào)查,并且可以根據(jù)已有的問卷調(diào)查進展回復。參與調(diào)查效果如圖6-1所示。圖6-1普通用戶在點擊問卷調(diào)查主題后,即可參與到調(diào)查中。如圖6-2所示。圖6-2答題頁面普通用戶可以在用戶注冊頁面,注冊成為系統(tǒng)用戶。如圖6-3和圖6-4所示。圖6-3注
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZGXK 024-2024 青儲玉米品種試驗規(guī)范
- 二零二五年度企業(yè)代為管理員工社保繳費及報銷流程合同
- 二零二五年度購房按揭貸款利率調(diào)整合同
- 2025年度酒店入住智能家居體驗合同
- 2025年度汽車零部件訂車合同違約賠償標準及責任界定
- 二零二五年度公寓樓出租合同樣本(含精裝修、家具家電及物業(yè)費)
- 二零二五年度醫(yī)院藥劑科藥品配送與勞務合作合同
- 二零二五年度臨時項目經(jīng)理聘用與項目風險預警協(xié)議
- 二零二五年度租賃型住房委托管理服務合同
- 二零二五年度旅游產(chǎn)業(yè)投資合作框架協(xié)議
- 新能源汽車動力電池技術:各類動力電池的工作原理及應用課件
- 高中歷史世界史 試題
- 2023年山東城市建設職業(yè)學院單招綜合素質(zhì)考試筆試模擬試題及答案解析
- 中組部2015年版干部履歷表-(空表格)
- 昆醫(yī)大康復治療技術課件12運動再學習療法
- 醫(yī)院入院通知書格式
- 中建三局薪酬管理暫行規(guī)定
- 履帶式起重機負荷試驗及調(diào)試報告報審表
- 《黑龍江省住房和城鄉(xiāng)建設系統(tǒng)行政處罰裁量基準》
- 發(fā)育生物學1-9章全
- 基于單片機的交通信號燈模擬控制系統(tǒng)設計 答辯PPT
評論
0/150
提交評論