項(xiàng)目案例在線投票系統(tǒng)_第1頁
項(xiàng)目案例在線投票系統(tǒng)_第2頁
項(xiàng)目案例在線投票系統(tǒng)_第3頁
項(xiàng)目案例在線投票系統(tǒng)_第4頁
項(xiàng)目案例在線投票系統(tǒng)_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目案例在線投票系統(tǒng)2024/3/30項(xiàng)目案例在線投票系統(tǒng)訓(xùn)練的技能點(diǎn)能夠分析系統(tǒng)功能能夠設(shè)計(jì)數(shù)據(jù)庫會(huì)使用Struts2框架開發(fā)程序功能會(huì)使用Hibernate框架開發(fā)程序功能會(huì)使用Filter會(huì)使用三層架構(gòu)組織程序代碼項(xiàng)目案例在線投票系統(tǒng)任務(wù)描述系統(tǒng)概述開發(fā)在線投票系統(tǒng),實(shí)現(xiàn)如下功能:用戶注冊(cè)和登錄發(fā)布新投票投票查看投票結(jié)果維護(hù)投票投票查詢項(xiàng)目案例在線投票系統(tǒng)問題分析1:整體開發(fā)思路系統(tǒng)開發(fā)步驟明確需求設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)技術(shù)框架Struts2+Hibernate項(xiàng)目開發(fā)準(zhǔn)備編碼順序1、用戶注冊(cè)和登錄2、發(fā)布新投票3、投票4、查看投票結(jié)果5、維護(hù)投票6、投票查詢測試項(xiàng)目案例在線投票系統(tǒng)問題分析2:界面交互設(shè)計(jì)界面交互設(shè)計(jì)的原則統(tǒng)一性原則界面風(fēng)格統(tǒng)一:

用相同方式展現(xiàn)相同類型的數(shù)據(jù)交互風(fēng)格統(tǒng)一:

用相同方式完成相同類型的操作美觀性原則界面美觀大方易用性原則操作方式自然、易理解項(xiàng)目案例在線投票系統(tǒng)問題分析3:技術(shù)框架設(shè)計(jì)技術(shù)框架中需要考慮的問題如何分層,每層的職責(zé)采用哪些技術(shù)如何處理異常、管理事務(wù)、記錄日志等命名規(guī)范教員補(bǔ)充內(nèi)容項(xiàng)目案例在線投票系統(tǒng)難點(diǎn)分析1:數(shù)據(jù)庫設(shè)計(jì)2-1字段名說明投票內(nèi)容投票的具體內(nèi)容投票類型投票為單選還是多選每一個(gè)投票應(yīng)該有多個(gè)選項(xiàng),所以投票選項(xiàng)與投票內(nèi)容應(yīng)為多對(duì)一關(guān)系,字段名說明投票選項(xiàng)選項(xiàng)的具體內(nèi)容投票內(nèi)容記錄投票內(nèi)容顯示順序頁面顯示時(shí),該選項(xiàng)的位置,由系統(tǒng)按照添加順序自動(dòng)設(shè)置項(xiàng)目案例在線投票系統(tǒng)難點(diǎn)分析1:數(shù)據(jù)庫設(shè)計(jì)2-2字段名說明投票選項(xiàng)記錄用戶選擇了那個(gè)選項(xiàng)投票內(nèi)容記錄用戶參與了那個(gè)投票用戶記錄那個(gè)用戶參與投票投票結(jié)果應(yīng)記錄投票選項(xiàng)、投票內(nèi)容以及用戶用戶須登錄才能使用系統(tǒng),系統(tǒng)應(yīng)保存用戶信息字段名說明用戶ID用戶在系統(tǒng)中的唯一標(biāo)識(shí),不能有重復(fù)值,用戶登錄系統(tǒng)所使用的賬號(hào)用戶名用戶姓名密碼用戶登錄系統(tǒng)所使用的密碼項(xiàng)目案例在線投票系統(tǒng)難點(diǎn)分析2:理解業(yè)務(wù)3-1發(fā)布新投票填寫投票信息增加選項(xiàng)新增選項(xiàng)可刪除,默認(rèn)選項(xiàng)不可刪除發(fā)布新投票在Action類中使用字符串?dāng)?shù)組接收投票選項(xiàng)項(xiàng)目案例在線投票系統(tǒng)難點(diǎn)分析2:理解業(yè)務(wù)3-2投票選擇想要參與的投票,頁面跳轉(zhuǎn)至投票頁面根據(jù)發(fā)布時(shí)設(shè)定的投票類型,在頁面判斷是單選還是多選,選擇使用radio還是checkbox顯示投票選項(xiàng)項(xiàng)目案例在線投票系統(tǒng)難點(diǎn)分析2:理解業(yè)務(wù)3-3查看投票結(jié)果在投票列表中點(diǎn)擊投票內(nèi)容超鏈接或在投票成功后選擇查看投票結(jié)果,將跳轉(zhuǎn)到查看投票結(jié)果頁面通過計(jì)算每個(gè)選項(xiàng)所得票數(shù)占總投票數(shù)的百分比設(shè)置頁面中<div>顯示寬度,以直觀顯示投票結(jié)果項(xiàng)目案例在線投票系統(tǒng)項(xiàng)目準(zhǔn)備1:數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)2-1字段名說明vu_user_id用戶ID自動(dòng)編號(hào),從1開始,主鍵vu_user_name 用戶名必填vu_password 密碼必填用戶信息表vote_user投票內(nèi)容表vote_subject字段名說明vs_id編號(hào)自動(dòng)編號(hào),從1開始,主鍵vs_title 投票內(nèi)容必填vs_type投票類型必填。1-單選;2-多選;默認(rèn)為1項(xiàng)目案例在線投票系統(tǒng)項(xiàng)目準(zhǔn)備1:數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)2-2字段名說明vo_id編號(hào)自動(dòng)編號(hào)(標(biāo)識(shí)列),從1開始,主鍵vo_option投票選項(xiàng)必填vs_id投票內(nèi)容IDvo_order顯示順序投票選項(xiàng)表vote_option投票取值表vote_item字段名說明vi_id 編號(hào)自動(dòng)編號(hào)(標(biāo)識(shí)列),從1開始,主鍵vo_id投票選項(xiàng)ID必填vs_id投票內(nèi)容IDvu_user_id用戶ID完成時(shí)間:20分鐘項(xiàng)目案例在線投票系統(tǒng)項(xiàng)目準(zhǔn)備2:搭建系統(tǒng)框架采用熟悉的Hibernate+Struts2框架實(shí)現(xiàn)系統(tǒng)創(chuàng)建Web工程及相關(guān)包為工程添加Struts2的支持,修改web.xml,增加Struts2的Filter,創(chuàng)建Struts2配置文件為工程添加Hibernate支持,創(chuàng)建并配置Hibernate配置文件,創(chuàng)建實(shí)體類及實(shí)體映射文件創(chuàng)建DAO接口創(chuàng)建DAO接口的Hibernate實(shí)現(xiàn)類創(chuàng)建業(yè)務(wù)接口及實(shí)現(xiàn)類使用Filter管理事務(wù)完成時(shí)間:10分鐘完成時(shí)間:20分鐘完成時(shí)間:10分鐘完成時(shí)間:10分鐘項(xiàng)目案例在線投票系統(tǒng)開發(fā)計(jì)劃用例1:注冊(cè)與登錄[40分鐘]用例2:發(fā)布投票[30分鐘]用例3:完成投票[30分鐘]用例4:查看投票結(jié)果[30分鐘]用例5:投票維護(hù)[40分鐘]用例6:投票查詢[25分鐘]項(xiàng)目案例在線投票系統(tǒng)用例1:注冊(cè)與登錄5-1需求說明系統(tǒng)要求用戶必須登錄,才能使用系統(tǒng)。若不是注冊(cè)用戶則要注冊(cè)后才可以登錄使用投票系統(tǒng)注冊(cè)成功注冊(cè)失敗項(xiàng)目案例在線投票系統(tǒng)用例1:注冊(cè)與登錄5-2需求說明系統(tǒng)要求用戶必須登錄,才能使用系統(tǒng)。若不是注冊(cè)用戶則要注冊(cè)后才可以登錄使用投票系統(tǒng)登錄成功登錄失敗項(xiàng)目案例在線投票系統(tǒng)用例1:注冊(cè)與登錄5-3思路分析制作登錄和注冊(cè)頁面編寫Action實(shí)現(xiàn)登錄、注冊(cè)創(chuàng)建BaseAction創(chuàng)建LoginAction實(shí)現(xiàn)用戶登錄創(chuàng)建RegisterAction實(shí)現(xiàn)用戶注冊(cè)創(chuàng)建SubjectAction用于投票內(nèi)容的所有操作,新建list方法獲取所有投票信息修改Struts2配置文件,增加Action的配置配置LoginAction配置RegisterAction配置SubjectAction制作登錄成功頁面,顯示投票列表完成時(shí)間:40分鐘項(xiàng)目案例在線投票系統(tǒng)用例1:注冊(cè)與登錄5-4功能測試檢查點(diǎn)1(15分鐘)注冊(cè)功能檢查點(diǎn)2(15分鐘)登錄功能檢查點(diǎn)3(10分鐘)顯示所有投票信息互相測試完成的程序功能測試出的缺陷記錄在“常見問題列表中”修正缺陷后返測通過,才認(rèn)為用例開發(fā)完成單元測試項(xiàng)目案例在線投票系統(tǒng)用例1:注冊(cè)與登錄5-5參考代碼或結(jié)果演示publicclassSubjectActionextendsBaseAction{ privateVoteServiceservice;//業(yè)務(wù)類 privateListsubjects;//投票內(nèi)容列表 //每個(gè)投票內(nèi)容有多少人參與投票 privateMap<Long,Long>votes=newHashMap<Long,Long>();//...省略setter&getter方法 publicStringlist(){ subjects=getService().getAllSubjects(); List<Object[]>subjectVotes=(List<Object[]>)getService() .getUserCountPerSubject(null); for(Object[]subjectVote:subjectVotes){ votes.put((Long)subjectVote[0],(Long)subjectVote[1]); } return"success"; }}項(xiàng)目案例在線投票系統(tǒng)共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解項(xiàng)目案例在線投票系統(tǒng)用例2:發(fā)布投票3-1需求說明用戶登錄后可以添加新投票增加選項(xiàng)發(fā)布成功項(xiàng)目案例在線投票系統(tǒng)用例2:發(fā)布投票3-2思路分析制作發(fā)布投票的頁面編寫Action實(shí)現(xiàn)新投票發(fā)布在SubjectAction中,新建save方法用于發(fā)布新投票在SubjectAction中使用字符數(shù)組保存投票選項(xiàng)完成時(shí)間:30分鐘項(xiàng)目案例在線投票系統(tǒng)用例2:發(fā)布投票3-3功能測試檢查點(diǎn)1(15分鐘)制作發(fā)布投票的頁面檢查點(diǎn)2(15分鐘)編寫Action實(shí)現(xiàn)新投票發(fā)布互相測試完成的程序功能測試出的缺陷記錄在“常見問題列表中”修正缺陷后返測通過,才認(rèn)為用例開發(fā)完成單元測試項(xiàng)目案例在線投票系統(tǒng)共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解項(xiàng)目案例在線投票系統(tǒng)用例3:完成投票3-1需求說明在投票列表頁面,點(diǎn)擊“我要參與”鏈接,進(jìn)入投票頁面選擇選項(xiàng)點(diǎn)擊投票按鈕,完成投票,投票成功,頁面跳轉(zhuǎn)至投票成功頁面投票成功項(xiàng)目案例在線投票系統(tǒng)用例3:完成投票3-2思路分析制作投票和投票成功頁面投票頁面要判斷投票的類型是單選還是多選,選擇使用radio還是checkbox顯示投票選項(xiàng)編寫Action實(shí)現(xiàn)投票創(chuàng)建VoteAction有關(guān)投票的所有操作新建save方法實(shí)現(xiàn)投票功能完成時(shí)間:30分鐘項(xiàng)目案例在線投票系統(tǒng)用例3:完成投票3-3功能測試檢查點(diǎn)1(15分鐘)制作投票和投票成功頁面檢查點(diǎn)2(15分鐘)編寫Action實(shí)現(xiàn)投票互相測試完成的程序功能測試出的缺陷記錄在“常見問題列表中”修正缺陷后返測通過,才認(rèn)為用例開發(fā)完成單元測試項(xiàng)目案例在線投票系統(tǒng)共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解項(xiàng)目案例在線投票系統(tǒng)用例4:查看投票結(jié)果4-1需求說明在投票列表頁面點(diǎn)擊投票內(nèi)容標(biāo)題超鏈接或在投票成功后點(diǎn)擊“返回查看投票結(jié)果”超鏈接,查看投票結(jié)果項(xiàng)目案例在線投票系統(tǒng)用例4:查看投票結(jié)果4-2思路分析編寫Action實(shí)現(xiàn)查看投票結(jié)果在VoteAction新建view方法實(shí)現(xiàn)查看投票結(jié)果創(chuàng)建投票結(jié)果頁面,顯示投票結(jié)果設(shè)置頁面中<div>顯示寬度,以達(dá)到直觀效果顯示投票結(jié)果完成時(shí)間:30分鐘<divclass="percent" style="width:<s:propertyvalue='statPercent[id]'/>%"></div>項(xiàng)目案例在線投票系統(tǒng)用例4:查看投票結(jié)果4-3代碼檢查檢查點(diǎn)1(20分鐘)編寫Action實(shí)現(xiàn)查看投票結(jié)果檢查點(diǎn)2(10分鐘)顯示投票結(jié)果互相測試完成的程序功能測試出的缺陷記錄在“常見問題列表中”修正缺陷后返測通過,才認(rèn)為用例開發(fā)完成單元測試項(xiàng)目案例在線投票系統(tǒng)用例4:查看投票結(jié)果4-4參考代碼或結(jié)果演示publicclassVoteActionextendsBaseAction{ privateVoteServiceservice;//業(yè)務(wù)類 privateLonguserCountOfThisSubject//投票人數(shù) privateSubjectsubject;//投票內(nèi)容 privateLong[]options; //每個(gè)選項(xiàng)票數(shù) privateMap<Long,Long>stat=newHashMap<Long,Long>(); //每個(gè)選項(xiàng)百分比 privateMap<Long,Long>statPercent =newHashMap<Long,Long>(); publicStringview(){ statUserCountOfThisSubject();//獲得投票人數(shù) initStatResultToZeroForView();//初始化數(shù)據(jù) //計(jì)算每個(gè)選項(xiàng)票數(shù)占總票數(shù)百分比 statVoteCountAndCalcPercentPerOption(); return"viewSuccess"; } …}項(xiàng)目案例在線投票系統(tǒng)共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解項(xiàng)目案例在線投票系統(tǒng)用例5:投票維護(hù)3-1需求說明在投票列表頁面點(diǎn)擊“維護(hù)”超鏈接,進(jìn)入管理頁面在管理頁面中,選擇要維護(hù)的投票內(nèi)容,點(diǎn)擊“維護(hù)”超鏈接,修改投票內(nèi)容由管理界面進(jìn)入維護(hù)頁面項(xiàng)目案例在線投票系統(tǒng)用例5:投票維護(hù)3-2思路分析制作管理頁面和維護(hù)頁面編寫Action實(shí)現(xiàn)投票維護(hù)在SubjectAction中新建modifyList方法,實(shí)現(xiàn)顯示維護(hù)投票列表在SubjectAction中新建read方法,實(shí)現(xiàn)顯示投票信息修改SubjectAction中modify方法,實(shí)現(xiàn)更新投票信息完成時(shí)間:40分鐘項(xiàng)目案例在線投票系統(tǒng)用例5:投票維護(hù)3-3功能測試檢查點(diǎn)1(15分鐘)顯示管理頁面檢查點(diǎn)2(25分鐘)進(jìn)行投票維護(hù)互相測試完成的程序功能測試出的缺陷記錄在“常見問題列表中”修正缺陷后返測通過,才認(rèn)為用例開發(fā)完成單元測試項(xiàng)目案例在線投票系統(tǒng)共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解項(xiàng)目案例在線投票系統(tǒng)用例6:投票查詢4-1需求說明在投票列表頁面輸入查詢關(guān)鍵字,點(diǎn)擊查詢按鈕,即可獲得查詢結(jié)果項(xiàng)目案例在線投票系統(tǒng)用例6:投票查詢4-2思路分析編寫Action實(shí)現(xiàn)查詢投票在SubjectAction中新建search方法,實(shí)現(xiàn)投票查詢使用投票列表頁面顯示查詢到的結(jié)果完成時(shí)間:25分鐘項(xiàng)目案例在線投票系統(tǒng)用例6:投票查詢4-3功能測試實(shí)現(xiàn)投票查詢功能互相測試完成的程序功能測試出的缺陷記錄在“常見問題列表中”修正缺陷后返測通過,才認(rèn)為用例開發(fā)完成單元測試項(xiàng)目案例在線投票系統(tǒng)用例6:投票查詢4-4參考代碼或結(jié)果演示publicclassSubjectActionextendsBaseAction{ privateStringkeywords; //每個(gè)投票內(nèi)容有多少人參與投票 privateMap<Long,Long>votes=newHashMap<Long,Long>(); … publicStringsearch(){ if(keywords!=null&&!"".equals(keywords)){ subjects=getService().getSubjectsByTitle(keywords); }else{ subjec

溫馨提示

  • 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)論