JAVA在線調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
JAVA在線調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
JAVA在線調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
JAVA在線調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
JAVA在線調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

JAVA大作業(yè)題目:在線調(diào)查系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓名:蘇怡舟班級(jí):B13082051學(xué)院:數(shù)計(jì)學(xué)院一、該調(diào)查問卷具有如下特點(diǎn):(1)能對(duì)調(diào)查問卷的結(jié)果進(jìn)行分析匯總,并使需求者能及時(shí)了解最新最及時(shí)的調(diào)查結(jié)果。(2)使用簡單,如果需求者不滿意我們提供的問卷,需求者還可以根據(jù)自己的想法設(shè)計(jì)問卷。(3)支持多種題型,如單選題、多選題等等。(4)具有靈活性,可以應(yīng)用于不同的調(diào)查場合。此外,該系統(tǒng)主要有人性化設(shè)計(jì)、系統(tǒng)的安全設(shè)置、簡單的系統(tǒng)維護(hù)方法、使用的高效性、具有錯(cuò)誤識(shí)別能力等創(chuàng)新點(diǎn)。系統(tǒng)需求分析及規(guī)劃用戶及其功能分析圖1.1系統(tǒng)的規(guī)劃通過對(duì)本系統(tǒng)使用對(duì)象的調(diào)查,了解了各層對(duì)象的功能需求,分析得出了本系統(tǒng)規(guī)劃圖,如圖1.1所示。業(yè)務(wù)流程分析隨著問卷調(diào)查水平的提高,業(yè)務(wù)范圍也逐步擴(kuò)大,發(fā)現(xiàn)原先的流程中存在一些問題。目前的問卷調(diào)查流程采用的是傳統(tǒng)人工的方式管理,這種管理方式存在著許多缺點(diǎn),如效率低等;另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)數(shù)據(jù)都帶來了不少的困難。本階段遵循用戶參與的原則,對(duì)現(xiàn)行的工作流程進(jìn)行了詳細(xì)調(diào)查,根據(jù)調(diào)查的資料對(duì)業(yè)務(wù)流程做了具體分析,并給出了系統(tǒng)的選課流程。根據(jù)使用者的機(jī)構(gòu)圖,下面具體分析各層次的業(yè)務(wù)流程。1.1.1用戶的業(yè)務(wù)流程用戶對(duì)問卷模板的信息進(jìn)行設(shè)計(jì)和管理,并錄入計(jì)算機(jī)中存儲(chǔ),具體操作流程如圖2.2所示。圖1.2問卷模板的設(shè)計(jì)和管理流程圖用戶對(duì)參加網(wǎng)站的熱門測評(píng),并錄入計(jì)算機(jī)中存儲(chǔ),具體操作流程如圖2.3所示。圖1.3問卷熱門測評(píng)流程圖用戶對(duì)問卷信息進(jìn)行統(tǒng)計(jì)和分析,并錄入計(jì)算機(jī)中存儲(chǔ),具體操作流程如圖2.4所示。圖1.4問卷統(tǒng)計(jì)分析流程圖1.1.2管理員的業(yè)務(wù)流程管理員對(duì)問卷信息的管理,具體操作流程如圖1.5所示。圖2.5問卷信息管理流程管理員對(duì)用戶信息進(jìn)行管理,具體操作流程如圖1.6所示。圖1.6用戶管理流程與問卷調(diào)查人員就系統(tǒng)的流程進(jìn)行了探討,該流程盡量減少了手工操作,把用戶統(tǒng)一集中在互聯(lián)網(wǎng)上,為他們提供全面的信息需求和操作功能。前面分析了組織結(jié)構(gòu)和業(yè)務(wù)流程,下面我們就各種用戶及其功能性需求進(jìn)行分析,詳細(xì)如下:(1)管理員:管理員作為系統(tǒng)的管理者,擁有所有權(quán)限,權(quán)限設(shè)置也只有管理員擁有;(2)普通用戶:普通用戶具有設(shè)計(jì)問卷、公開問卷、熱門測評(píng)、常見問題、問卷投票和查看統(tǒng)計(jì)分析等功能;(3)游客:游客具有注冊、常見問題、問卷投票和查看統(tǒng)計(jì)分析等功能;將系統(tǒng)需求加以總結(jié),得出系統(tǒng)需求如下:(1)系統(tǒng)可以運(yùn)行在Windows操作系統(tǒng)平臺(tái)上,并具有友好的用戶界面。(2)系統(tǒng)用戶類型為:管理員、用戶、游客。(3)系統(tǒng)對(duì)于一個(gè)用戶只允許以一種身份登錄。分析了具體的業(yè)務(wù)流程和功能需求之后,下面進(jìn)行可行性分析。2系統(tǒng)數(shù)據(jù)分析在業(yè)務(wù)流程分析的基礎(chǔ)上,對(duì)數(shù)據(jù)流進(jìn)行了分析,從數(shù)據(jù)流動(dòng)過程考察了實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式[9]。存在數(shù)據(jù)流程不暢等問題?,F(xiàn)行的頂層數(shù)據(jù)流圖如圖3.1所示。圖3.1數(shù)據(jù)流圖具體分析第一層數(shù)據(jù)流圖,主要包括三部分:問卷信息、基本信息、用戶信息的錄入。方便人員統(tǒng)計(jì)和查詢信息,都有系統(tǒng)統(tǒng)一管理存儲(chǔ)。該層數(shù)據(jù)流圖如圖3.2所示。圖3.2第一層數(shù)據(jù)流圖分析問卷信息錄入。詳細(xì)介紹如下。管理員登錄系統(tǒng)后,系統(tǒng)對(duì)問卷信息進(jìn)行管理。一次錄入詳細(xì)數(shù)據(jù)流圖如圖3.3所示。圖3.3收費(fèi)信息數(shù)據(jù)流圖系統(tǒng)的實(shí)施會(huì)簡短數(shù)據(jù)的流程,并把信息集中統(tǒng)一于系統(tǒng),方便用戶查詢和統(tǒng)計(jì),給操作人員帶了很大的工作便利。由于論文的篇幅限制不能一一列舉數(shù)據(jù)流圖,只給出了一部分比較重要的,其他都是按照此方法繪制的。3系統(tǒng)設(shè)計(jì)3.1系統(tǒng)功能模塊劃分功能模塊劃分是描述系統(tǒng)的一個(gè)過程,需要將需求分析中的感性描述進(jìn)行抽象,提取出要實(shí)現(xiàn)的功能,這是整個(gè)系統(tǒng)開發(fā)的一個(gè)關(guān)鍵過程[10]。在系統(tǒng)分析的基礎(chǔ)上,確定了系統(tǒng)的功能結(jié)構(gòu)圖,如圖3.1所示。圖3.1系統(tǒng)功能結(jié)構(gòu)圖根據(jù)以上的用戶操作需求,將系統(tǒng)劃分為如下三大功能,并對(duì)其模塊的劃分和功能進(jìn)行描述。3.1.1管理員功能管理員主要功能包括:(1)登錄(2)用戶管理(3)系統(tǒng)處理(4)權(quán)限管理(5)問卷調(diào)查(6)基本資料管理3.1.2用戶功能(1)登錄(2)問卷中心、模板設(shè)計(jì)、統(tǒng)計(jì)分析(3)信息查看(4)密碼修改模塊劃分后,具體清楚了系統(tǒng)所要實(shí)現(xiàn)的功能,接下來要選擇系統(tǒng)的運(yùn)行環(huán)境和開發(fā)模式3.2系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中非常重要的一個(gè)環(huán)節(jié)。數(shù)據(jù)是一切系統(tǒng)設(shè)計(jì)的基礎(chǔ),通俗地說,數(shù)據(jù)庫設(shè)計(jì)就像高樓大廈的根基一樣,如果設(shè)計(jì)的不合理、不完善,將在系統(tǒng)開發(fā)過程中,甚至到后期的系統(tǒng)維護(hù)、功能變更和功能擴(kuò)充時(shí),引起較多問題,嚴(yán)重時(shí)甚至要重新設(shè)計(jì),重做大量已完成工作[11]。3.2.1概念結(jié)構(gòu)設(shè)計(jì)通過功能模塊的劃分得到的系統(tǒng)實(shí)體分類并遵循三范式原則[12],對(duì)實(shí)體之間的依賴關(guān)系進(jìn)行了整合,可以得到如圖4.4所示的系統(tǒng)E-R圖。圖3.2系統(tǒng)E-R圖3.2.2邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)是概念結(jié)構(gòu)設(shè)計(jì)的下一階段,設(shè)計(jì)根據(jù)概念階段的E-R圖轉(zhuǎn)化成系統(tǒng)支持的數(shù)據(jù)模型,本選課系統(tǒng)采用關(guān)系模型。關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式(二維表)的集合。E-R圖是由實(shí)體,實(shí)體屬性和實(shí)體之間的聯(lián)系三個(gè)要素組成的。所以將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上是要將實(shí)體,實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模型。根據(jù)以上原則將問卷調(diào)查系統(tǒng)中的E-R圖轉(zhuǎn)換為關(guān)系模型如下:(1)問卷模板管理(問卷模板編號(hào),問卷模板名稱)(2)用戶(用戶編號(hào),用戶名稱)(3)問卷管理(問卷編號(hào),問卷名稱)(4)問卷分類(分類編號(hào),用戶編號(hào))(5)時(shí)間(時(shí)間編號(hào),時(shí)間名稱)3.2.3數(shù)據(jù)庫表設(shè)計(jì)本系統(tǒng)的數(shù)據(jù)庫中包括10張數(shù)據(jù)表,記錄系統(tǒng)中的數(shù)據(jù)。部分?jǐn)?shù)據(jù)表的字段說明如下所示。根據(jù)需求分析以及系統(tǒng)功能的需要,系統(tǒng)信息數(shù)據(jù)存放在數(shù)據(jù)表中。下面給出重要數(shù)據(jù)表的簡單描述。(1)zinfo(網(wǎng)站信息表)該表存儲(chǔ)了網(wǎng)站的基本信息,主要用于網(wǎng)站信息記錄。字段屬性描述如表1。表1網(wǎng)站信息表字段名字段類型字段長度是否主鍵描述IdVarchar50是編號(hào)contentVarchar50否內(nèi)容(2)wjtype(問卷分類信息表)該表存儲(chǔ)了問卷分類的基本信息,主要用于問卷分類基本信息記錄。字段屬性描述如表2。表2問卷分類信息表字段名字段類型字段長度是否主鍵描述Idint4是編號(hào)TnameVarchar50否分類名稱TbeiVarchar50否備注TcontentVarchar50否內(nèi)容hotmenVarchar50否熱度(3)wjmbts(問卷模板設(shè)置信息表)該表存儲(chǔ)了問卷模板設(shè)置的基本信息,主要是問卷模板設(shè)置的信息的記錄,該表的字段屬性如表3。表3問卷模板信息表字段名字段類型字段長度是否主鍵描述IdVarchar50是編號(hào)WjidVarchar50否問卷編號(hào)TitleVarchar50否標(biāo)題XuanxiangVarchar70否選項(xiàng)danduoVarchar50否單多

(4)wjmb(問卷模板信息表)該表存儲(chǔ)了問卷模板的基本信息,主要是問卷模板信息的記錄,該表的字段屬性如表4。表4問卷模板信息表字段名字段類型字段長度是否主鍵描述Idint11是編號(hào)MbnameVarchar160否模板名稱MbtypeVarchar160否模板類型ContentVarchar80否內(nèi)容AuthorVarchar80否作者publictypeVarchar80否公布類型(5)wenj(問卷信息表)該表存儲(chǔ)了問卷的基本信息,主要是問卷信息的記錄,該表的字段屬性如表5。表5問卷信息表字段名字段類型字段長度是否主鍵描述Idint11是編號(hào)FquserVarchar160否參與MbidVarchar160否模板類型SavetimeVarchar80否時(shí)間stateVarchar80否狀態(tài)(6)sysuser(用戶信息表)該表存儲(chǔ)了用戶的基本信息,主要是用戶信息的記錄,該表的字段屬性如表6。表6用戶信息表字段名字段類型字段長度是否主鍵描述Idint11是編號(hào)UnameVarchar80否用戶名UpassVarchar80否密碼BeiVarchar80否備注SexVarchar80否性別ageVarchar80否年紀(jì)UpositionVarchar80否職業(yè)AddressVarchar80否地址EmailVarchar80否郵箱stateVarchar80否狀態(tài)(7)answers(答案信息表)該表存儲(chǔ)了答案的基本信息,主要是答案信息的記錄,該表的字段屬性如表7。表7答案信息表字段名字段類型字段長度是否主鍵描述Idint11是編號(hào)WjidVarchar80否問卷編號(hào)TsidVarchar80否分類編號(hào)TanswerVarchar80否答題人SexVarchar80否性別AgeVarchar80否年齡UpositionVarchar80否職業(yè)AddressVarchar80否地址savetimeVarchar80否時(shí)間3.3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)經(jīng)過數(shù)據(jù)庫設(shè)計(jì)后,本階段要進(jìn)行系統(tǒng)界面設(shè)計(jì)。設(shè)計(jì)時(shí)要盡量按照用戶工作習(xí)慣,同時(shí)要做到界面友好,讓用戶操作簡單方便。下面將對(duì)各個(gè)模塊進(jìn)行詳細(xì)設(shè)計(jì)。3.3.1登錄模塊在登錄頁面中選擇用戶類型,輸入用戶名和密碼,然后單擊登錄按鈕,login.jsp頁面將負(fù)責(zé)處理登錄請求,驗(yàn)證用戶身份和信息,完成登錄。用戶登錄時(shí)要選擇身份,本系統(tǒng)有二種身份的用戶,分別是管理員、用戶。問卷結(jié)果統(tǒng)計(jì)圖是整個(gè)網(wǎng)絡(luò)問卷分析的關(guān)鍵,其關(guān)系到整個(gè)問卷調(diào)查的直觀,其主要代碼如下:Stringzx=request.getParameter("zx");if(zx!=null){session.removeAttribute("user");}%><%CommDAOdao=newCommDAO();Stringid=request.getParameter("id");HashMapm=dao.select("selecta.*,b.tnamefromwjmba,wjtypebwherea.mbtype=b.idanda.id="+id).get(0);%>…//中間部分代碼略去List<HashMap>tslist=dao.select("select*fromwjmbtswherewjid='"+m.get("id")+"'orderbyid");inti=0;for(HashMaph:tslist){i++;%><%Stringxmlcode="<graphbaseFontSize='12'yAxisName=''decimalPrecision='1'formatNumberScale='1'>";String[]colors={"AFD8F8","F6BD0F","8BBA00","FF8E46","008E8E","D64646","8E468E","588526","B3AA00","008ED6","9D080D","A186BE"};String[]xs=h.get("xuanxiang").toString().split("-");for(intj=0;j<xs.length;j++){Stringcsql="selectcount(*)sumfromanswerswheresexlike'%"+sex+"%'andupositionlike'%"+uposition+"%'andaddrslike'%"+addrs+"%'andagelike'%"+age+"%'andwjid='"+wjid+"'andtsid='"+h.get("id")+"'andtanswerlike'%"+xs[j]+"%'";Stringsum=dao.select(csql).get(0).get("sum").toString();xmlcode+="<setname='"+xs[j]+"'value='"+sum+"'color='"+colors[j]+"'/>";Stringtype="radio";if(h.get("danduo").equals("多"))type="checkbox";%><inputtype=<%=type%>name="ti<%=h.get("id")%>"value="<%=xs[j]%>"/><%=xs[j]%>  (選擇數(shù):<%=sum%>)<%}xmlcode+="</graph>";%><scripttype="text/javascript"> varchart=newFusionCharts("/wenjx/FusionChartsFree/Charts/FCF_Column3D.swf","ChartId","400","240"); chart.setDataXML("<%=xmlcode%>"); chart.render("chartdiv<%=i%>"); </script></TD></TR><TR><TDheight=1background=front_files/line.gifbgColor=#eaeaea></TD></TR><%}%><TR><TDheight=30align="center"><label><%HashMapuser=(HashMap)session.getAttribute("user");if(user!=null){%>   <%}%>4.3.3管理員功能模塊(1)問卷管理問卷管理是這個(gè)問卷調(diào)查系統(tǒng)的重點(diǎn),主要包括:問卷信息管理、問卷模板管理、問卷分類管理。其中問卷信息管理界面,管理員對(duì)問卷信息進(jìn)行查詢、添加、編輯、設(shè)置等管理。問卷模板管理界面,管理員對(duì)問卷模板進(jìn)行添加、編輯、設(shè)置等管理。(2)注冊用戶管理注冊用戶管理模塊,管理員對(duì)用戶的信息進(jìn)行編輯、修改、刪除等管理。3.3.4系統(tǒng)數(shù)據(jù)管理SQL2000數(shù)據(jù)庫的最大特點(diǎn)就是提供了很多便于直接使用的操作函數(shù),可以輕松的將復(fù)雜的數(shù)據(jù)庫操作由清晰的函數(shù)實(shí)現(xiàn)。在系統(tǒng)數(shù)據(jù)管理這個(gè)模塊,主要實(shí)現(xiàn)了數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)(即數(shù)據(jù)庫導(dǎo)入)。以上是系統(tǒng)界面的設(shè)計(jì),界面不太美觀,還需要進(jìn)一步美化,同時(shí)功能也有待進(jìn)一步完善。到此,同于科技公司無論中心體育場地預(yù)約管理系統(tǒng)已基本完成系統(tǒng)設(shè)計(jì)。從系統(tǒng)規(guī)劃、系統(tǒng)分析到系統(tǒng)設(shè)計(jì),完成了系統(tǒng)開發(fā)流程,實(shí)現(xiàn)了系統(tǒng)的預(yù)期功能。Hibernate封裝通用數(shù)據(jù)操作基類DAO是整個(gè)網(wǎng)絡(luò)問卷調(diào)查數(shù)據(jù)錄入的關(guān)鍵,其關(guān)系到整個(gè)系統(tǒng)的順利運(yùn)行,其主要代碼如下:publicclassCommDAO{ Connectionconn=null; publicCommDAO() { conn=this.getConn(); } privatestaticPropertiesconfig=null; static{ try{ config=newProperties(); InputStreamin=CommDAO.class.getClassLoader().getResourceAsStream("perties"); config.load(in); System.out.println(config.get("dburl")); in.close(); }catch(Exceptione){ e.printStackTrace(); } } publicConnectiongetConn() { try { Stringd=newDate().toLocaleString().substring(0,9); Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Stringdburl="jdbc:sqlserver://localhost\\SQLEXPRESS:1433;DatabaseName=wenjx"; conn=DriverManager.getConnection(dburl,"sa","123456"); } catch(Exceptione) { e.printStackTrace(); } returnconn; } publicintgetInt(Stringsql) { inti=0; try{ Statementst=conn.createStatement(); ResultSetrs=st.executeQuery(sql); if(rs.next()) { i=rs.getInt(1); } st.close(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returni; } publicdoublegetDouble(Stringsql) { doublei=0; try{ Statementst=conn.createStatement(); ResultSetrs=st.executeQuery(sql); if(rs.next()) { i=rs.getDouble(1); } st.close(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returni; } publicvoidcommOper(Stringsql) { try{ Statementst=conn.createStatement(); st.execute(sql); st.close(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } publicvoidcommOperSqls(ArrayList<String>sql) { try{ conn.setAutoCommit(false); for(inti=0;i<sql.size();i++) { Statementst=conn.createStatement(); System.out.println(sql.get(i)); st.execute(sql.get(i)); st.close(); } mit(); }catch(SQLExceptione){ try{ conn.rollback(); }catch(SQLExceptione1){ e1.printStackTrace(); } e.printStackTrace(); }finally{ try{ conn.setAutoCommit(true); }catch(SQLExceptione){ e.printStackTrace(); } } } publicList<HashMap>select(Stringsql) { List<HashMap>list=newArrayList(); try{ Statementst=conn.createStatement(); ResultSetrs=st.executeQuery(sql); ResultSetMetaDatarsmd=rs.getMetaData();while(rs.next()) { HashMapmap=newHashMap(); inti=rsmd.getColumnCount(); for(intj=1;j<=i;j++) { if(!rsmd.getColumnName(j).equals("ID")) map.put(rsmd.getColumnName(j),rs.getString(j)); else map.put("id",rs.getString(j)); } list.add(map); } rs.close(); st.close(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnlist; } publicvoidclose() { try{ conn.close(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } /***執(zhí)行一條查詢sql,以List<hashmap>的形式返回查詢的記錄,記錄條數(shù),和從第幾條開始,由參數(shù)決定,主要用于翻頁 *pageno頁碼rowsize每頁的條數(shù) */ publicListselect(Stringsql,intpageno,introwsize){ List<HashMap>list=newArrayList<HashMap>(); List<HashMap>mlist=newArrayList<HashMap>(); try{ list=this.select(sql); intmin=(pageno-1)*rowsize; intmax=pageno*rowsize; for(inti=0;i<list.size();i++) { if(!(i<min||i>(max-1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論