投票系統(tǒng)課程設(shè)計(jì)_第1頁
投票系統(tǒng)課程設(shè)計(jì)_第2頁
投票系統(tǒng)課程設(shè)計(jì)_第3頁
投票系統(tǒng)課程設(shè)計(jì)_第4頁
投票系統(tǒng)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)課程設(shè)計(jì)報(bào)告電子投票系統(tǒng)電子投票系統(tǒng)學(xué)院:信息科學(xué)與技術(shù)學(xué)院班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)08班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)08級(jí)2班r=學(xué)號(hào):2008082290姓名:陳朝中指導(dǎo)老師:高新奇2010年12月5日1課程設(shè)計(jì)題目錯(cuò)誤!未定義書簽。TOC\o"1-5"\h\z\o"CurrentDocument"2課程設(shè)計(jì)內(nèi)容1\o"CurrentDocument"3課程設(shè)計(jì)目的1\o"CurrentDocument"4系統(tǒng)需求分析1\o"CurrentDocument"4.1系統(tǒng)概述1\o"CurrentDocument"4.2系統(tǒng)運(yùn)行環(huán)境2\o"CurrentDocument"4.3功能需求分析2\o"CurrentDocument"5系統(tǒng)總體設(shè)計(jì)3\o"CurrentDocument"5.1開發(fā)與設(shè)計(jì)的總體思想3\o"CurrentDocument"5.2系統(tǒng)模塊結(jié)構(gòu)圖3\o"CurrentDocument"5.3系統(tǒng)流程圖4\o"CurrentDocument"5.4系統(tǒng)界面設(shè)計(jì)5\o"CurrentDocument"5.5數(shù)據(jù)庫設(shè)計(jì)8\o"CurrentDocument"6系統(tǒng)詳細(xì)設(shè)計(jì)8\o"CurrentDocument"6.1應(yīng)用部署圖9\o"CurrentDocument"6.2系統(tǒng)關(guān)鍵類設(shè)計(jì)9\o"CurrentDocument"6.3系統(tǒng)關(guān)鍵頁面設(shè)計(jì)117總結(jié)14\o"CurrentDocument"8參考文獻(xiàn)151課程設(shè)計(jì)內(nèi)容本設(shè)計(jì)開發(fā)一個(gè)投票管理系統(tǒng),主要涉及JSP技術(shù)和數(shù)據(jù)庫系統(tǒng)兩方面的知識(shí)的綜合運(yùn)用,并應(yīng)用PowerDesigner進(jìn)行數(shù)據(jù)庫建模。2課程設(shè)計(jì)目的在已經(jīng)掌握相關(guān)的專業(yè)理論知識(shí)的基礎(chǔ)上,鞏固所學(xué)知識(shí)、增強(qiáng)開發(fā)能力、提高專業(yè)素質(zhì),促進(jìn)全面發(fā)展。通過計(jì)算機(jī)應(yīng)用大型作業(yè)這一實(shí)踐環(huán)節(jié),培養(yǎng)系統(tǒng)綜合應(yīng)用所學(xué)系列課程基本理論、基本知識(shí)的能力,使所學(xué)的理論知識(shí)系統(tǒng)化,培養(yǎng)獨(dú)立思考、獨(dú)立分析、獨(dú)立解決問題的能力。通過作業(yè)小組成員的集體合作,培養(yǎng)合作共事、協(xié)同工作的能力,為今后更好地勝任計(jì)算機(jī)應(yīng)用的開發(fā)打好扎實(shí)的基礎(chǔ)。3系統(tǒng)需求分析本系統(tǒng)實(shí)現(xiàn)了網(wǎng)絡(luò)上較為常用的投票、評論功能,為調(diào)查、收集、統(tǒng)計(jì)各類用戶的意見反饋提供了一個(gè)方便易用的網(wǎng)上平臺(tái)。本系統(tǒng)遵循軟件工程標(biāo)準(zhǔn),并按照軟件工程規(guī)定的流程進(jìn)行項(xiàng)目的開發(fā)。3.1系統(tǒng)概述本系統(tǒng)功能比較簡單,主要有以下功能:顯示頁面需要從數(shù)據(jù)源取出所有數(shù)據(jù)顯示,供使用者瀏覽,當(dāng)用戶選擇某個(gè)選項(xiàng)單擊提交按鈕時(shí),將完成一次投票功能。當(dāng)用戶完成一次投票后,不允許再反復(fù)投票,如果用戶再提交,則提示“您以投過票,請不要反復(fù)投票”。當(dāng)用戶訪問時(shí)單擊查看選項(xiàng)時(shí),可以看到所有選項(xiàng)的得票數(shù)。同時(shí)在首頁可以查看用戶對這次投票的評論,如果訪問者想評論時(shí),可根據(jù)系統(tǒng)首頁的提示進(jìn)行注冊、對投票進(jìn)行評論等。管理員用戶可以通過登錄進(jìn)入投票管理系統(tǒng)的管理頁面進(jìn)行修改、刪除、增加投票項(xiàng),以及注冊用戶、評論管理等。3.2系統(tǒng)運(yùn)行環(huán)境硬件環(huán)境?處理器:500MHz或更快處理器內(nèi)存:512MB(推薦1GB或更高)硬盤:1GB或更高?顯卡:VGA或更高分辨率顯示器軟件環(huán)境?操作系統(tǒng):Windows2000/xp/2003Web服務(wù)器:Tomcat5.5或以上版本數(shù)據(jù)庫:Sqlserver2005客戶端:IE6.0或以上版本3.3功能需求分析投票管理系統(tǒng)主要需要實(shí)現(xiàn)以下一些基本功能。投票:用戶在投票系統(tǒng)的首頁上,可以通過選中每個(gè)投票項(xiàng)前面的單選按鈕并單擊提交按鈕來進(jìn)行投票。查看投票情況:用戶在投票系統(tǒng)首頁上可以通過單擊“查看”按鈕進(jìn)行查看當(dāng)前最新的投票情況,包括投票項(xiàng)的得票數(shù)、得票率等。查看評論:用戶可以通過首頁的現(xiàn)實(shí)查看最新評論或者通過首頁的鏈接到評論頁面進(jìn)行查看。注冊用戶:用戶可以通過首頁的鏈接進(jìn)行注冊。評論當(dāng)前投票:已注冊的用戶可以進(jìn)行當(dāng)前投票的評論。未注冊的用戶只能查看評論,不能評論。管理員登陸:用戶根據(jù)合法的用戶名和密碼即可登陸到后臺(tái)管理頁面進(jìn)行修改、刪除、增加投票項(xiàng),以及注冊用戶、評論管理等。4系統(tǒng)總體設(shè)計(jì)在前面對用戶需求的分析和研究的過程中,對于本系統(tǒng)中的幾個(gè)主要的功能模塊大致有了一個(gè)抽象的認(rèn)識(shí)。下面通過總體設(shè)計(jì),給出投票管理系統(tǒng)的模塊結(jié)構(gòu)、流程描述和用戶界面布局。4.1開發(fā)與設(shè)計(jì)的總體思想本系統(tǒng)采用了J2EE三層架構(gòu),分別為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)模型層。MVC三層體系結(jié)構(gòu)業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問等操作放在中間層處理,客戶端不直接與數(shù)據(jù)庫交互,而是通過控制器與中間層建立連接再由中間層與數(shù)據(jù)庫交互。表現(xiàn)層采用了JSP,中間層采用了JDBC封裝了對底層數(shù)據(jù)庫的相關(guān)操作。數(shù)據(jù)庫采用Sqlserver2005數(shù)據(jù)庫存放數(shù)據(jù),4.2系統(tǒng)模塊結(jié)構(gòu)圖投票管理系統(tǒng)分為前、后臺(tái)兩部分設(shè)計(jì),前臺(tái)主要實(shí)現(xiàn)投票、評論、投票結(jié)果的現(xiàn)實(shí)以及用戶注冊、登陸、發(fā)布評論等信息。后臺(tái)主要實(shí)現(xiàn)的功能為投票、評論等信息的管理等。如圖1所示。4.3系統(tǒng)流程圖投票管理系統(tǒng)的系統(tǒng)流程如圖2、圖3所示。4.4系統(tǒng)界面設(shè)計(jì)①投票管理系統(tǒng)主頁面設(shè)計(jì),具體設(shè)計(jì)效果圖如圖4所示。圖4投票管理系統(tǒng)主頁面設(shè)計(jì)效果圖②查看投票情況頁面設(shè)計(jì),具體效果圖如圖5所示③查看評論頁面設(shè)計(jì),具體效果圖如圖6所示④管理員后臺(tái)主頁面設(shè)計(jì),具體效果圖如圖7所示圖7后臺(tái)首頁

4.5數(shù)據(jù)庫設(shè)計(jì)?數(shù)據(jù)庫概念設(shè)計(jì)注冊用戶實(shí)體包括編號(hào)、用戶名、密碼。評論信息實(shí)體包括編號(hào)、標(biāo)題、內(nèi)容、時(shí)間。每個(gè)用戶可以有多條評論,即1對多關(guān)系。其實(shí)體E-R圖如圖8所示。?物理數(shù)據(jù)庫設(shè)計(jì)采用sqlserver2005數(shù)據(jù)庫,其物理數(shù)據(jù)庫設(shè)計(jì)如下圖9所示。圖95系統(tǒng)詳細(xì)設(shè)計(jì)基于系統(tǒng)需求分析與系統(tǒng)總體設(shè)計(jì)的結(jié)論,下面按照模塊的劃分來分別闡述系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)過程。5.1應(yīng)用部署圖本系統(tǒng)的文件夾組織結(jié)構(gòu)如圖10所示。-vot&-西src+出扣其ng+由biz+土北+SiJRE:com.sun.+=J2EE1.4Libraries+Si引用的庫+-3WebRoot+BME7A-INF+BWEB-INF場add_wcrd5_form.場add_wcrdve.苫adminjndex.jsp苫adminlogin.jspall_word5_li5t.j5pKa]ba.gif虞C55.C55J*ediivcte.jsp/indexjspJ*left」印J*logoLitjsp丁main.jspmainvote.jsp圖105.2系統(tǒng)類設(shè)計(jì)①數(shù)據(jù)庫訪問類db/DBConn.java,采用JDBC方法與數(shù)據(jù)庫建立連接,關(guān)鍵代碼如下:publicclassDBConn{privateStringdriverStr="com.microsoft.sqlserver.jdbc.SQLServerDriver";privateStringconnStr="jdbc:sqlserver://localhost:1433;DatabaseName=vote";privateConnectionconn=null;privateStringusername="sa";privateStringpassword="welcome";publicDBConn(){}publicjava.sql.ConnectiongetConn(){try{Class.forName(driverStr);conn=DriverManager.getConnection(connStr,username,password);}catch(Exceptione){e.printStackTrace();}returnthis.conn;}}③管理員相關(guān)操作類db/DBCtrol.java,其功能為管理員登陸、更新投票選項(xiàng)、首頁顯示投票選項(xiàng)等。關(guān)鍵代碼如下:獲取投票選項(xiàng)方法:publicListgetVoteList(){DBConndbconn=newDBConn();Listlist=newArrayList();Connectionconn=dbconn.getConn();〃獲取數(shù)據(jù)庫連接Stringsqltemp="select*fromvoteorderbyidDESC";/查詢投票選項(xiàng)語句try{Statementst=conn.createStatement();ResultSetrs=st.executeQuery(sqltemp);while(rs.next()){〃讀取rs數(shù)據(jù)集放入list中Votevote=newVote();vote.setId(rs.getInt("id"));vote.setLid(rs.getInt("lid"));vote.setVcount(rs.getInt("vcount"));vote.setVname(rs.getString("vname"));list.add(vote);}}catch(Exceptione){}returnlist;}5.3系統(tǒng)頁面設(shè)計(jì)①index.jsp首頁關(guān)鍵代碼投票方法:<%intcheck=role.getChecks();〃獲取投票選項(xiàng)時(shí)多項(xiàng)投票還是單項(xiàng)投票Stringtaction=request.getParameter("action");/獲取表單的action方法Stringaction=(taction==null)?"no":taction;//判斷表單提交的方法Stringitems=request.getParameter("items");if(check==0&&action.equals("tou"))//如果表單提交過來的是tou則進(jìn)行投票{if(session.getAttribute("times")==null){if(items!=null){dbctrol.updataVcountById(items);session.setAttribute("times”,"do”);out.print("<script>alert('投票成功,謝謝支持!!');history.back();</script>");}else{out.print("<script>alert('您沒有選擇任何投票項(xiàng)目,請返回后重新輸入!!');history.back();</script>");

}else{out.print("<script>alert('您已經(jīng)投過票,請不要重復(fù)投票!');history.back();</script>");}}%>首頁顯示投票選項(xiàng)代碼:<%Listlist=dbctrol.getVoteList();〃獲取投票選項(xiàng)內(nèi)容if(list!=null){for(inti=0;i<list.size();i++){Votevote=(Vote)list.get(i);%><inputtype="radio"name="items"value="<%=vote.getId()%>">〃輸出id<%=vote.getVname()%><br><%%>首頁顯示評論代碼:<%wordswd=newwords();userusers=newuser();ResultSetwords_rs=wd.show_all_words();〃輸出投票名稱〃獲取所有評論while(words_rs.next())〃從數(shù)據(jù)集中讀取循環(huán)顯示inti=0;intUserID=words_rs.getInt("UserID");users.setUserID(UserID);if(users.init()){intWordsID=words_rs.getInt("WordsID");StringWordsTitle=words_rs.getString("WordsTitle");/評論名稱StringWordsTime=words_rs.getString("WordsTime");/評論時(shí)間〃輸出投票名稱〃獲取所有評論while(words_rs.next())〃從數(shù)據(jù)集中讀取循環(huán)顯示%><tr><tdwidth="10%"align="center"><%=WordsID%></td><tdwidth="40%"align="left"><ahref="words_detail.jsp?WordsID=<%=WordsID%>"><%=WordsTitle%></a></td><tdwidth="35%"align="left"><%=WordsTime%></td><tdwidth="15%”align="left"><%=users.getUserName()%></td>/評論人</tr><%}}%>②查看投票情況頁面主要代碼<%Listlist=dbctrol.getVoteList();〃獲取投票選項(xiàng)if(list!=null){for(inti=0;i<list.size();i++){Votevote=(Vote)list.get(i);doubleii=(vote.getVcount()/totalnum)*100;NumberFormatformatter=NumberFormat.getNumberInstance();formatter.setMaximumFractionDigits(2);Stringvs=formatter.format(ii)+"%”;%>〃顯示%><TR><TDwidth="46%”class="css"><%=i%>、<%=vote.getVname()%> <FONTcolor="#666666">(</font><FONTcolor="#cc0000"><%=vote.getVcount()%></font><FONTcolor="#666666">)</font></TD><TDwidth="30%"align="left"class="css"><imgsrc="ba.gif"border="0"width="<%=(vote.getVcount()/totalnum)*100%>"heigh

溫馨提示

  • 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論