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

下載本文檔

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

文檔簡介

1、第十章工程案例:在線投票系統(tǒng)訓(xùn)練的技藝點(diǎn)可以分析系統(tǒng)功能可以設(shè)計(jì)數(shù)據(jù)庫會運(yùn)用Struts 2框架開發(fā)程序功能會運(yùn)用Hibernate框架開發(fā)程序功能會運(yùn)用Filter會運(yùn)用三層架構(gòu)組織程序代碼.義務(wù)描畫系統(tǒng)概述開發(fā)在線投票系統(tǒng),實(shí)現(xiàn)如下功能:用戶注冊和登錄發(fā)布新投票投票查看投票結(jié)果維護(hù)投票投票查詢.問題分析1:整體開發(fā)思緒系統(tǒng)開發(fā)步驟明確需求設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)技術(shù)框架Struts 2 + Hibernate工程開發(fā)預(yù)備編碼順序1、用戶注冊和登錄2、發(fā)布新投票3、投票4、查看投票結(jié)果5、維護(hù)投票6、投票查詢測試.問題分析2:界面交互設(shè)計(jì)界面交互設(shè)計(jì)的原那么一致性原那么界面風(fēng)格一致:用一樣方式展現(xiàn)一樣

2、類型的數(shù)據(jù)交互風(fēng)格一致:用一樣方式完成一樣類型的操作美觀性原那么界面美觀大方易用性原那么操作方式自然、易了解.問題分析3:技術(shù)框架設(shè)計(jì)技術(shù)框架中需求思索的問題如何分層,每層的職責(zé)采用哪些技術(shù)如何處置異常、管理事務(wù)、記錄日志等命名規(guī)范教員補(bǔ)充內(nèi)容.難點(diǎn)分析1:數(shù)據(jù)庫設(shè)計(jì)2-1字段名說 明投票內(nèi)容投票的具體內(nèi)容投票類型投票為單選還是多選每一個投票應(yīng)該有多個選項(xiàng),所以投票選項(xiàng)與投票內(nèi)容應(yīng)為多對一關(guān)系,字段名說 明投票選項(xiàng)選項(xiàng)的具體內(nèi)容投票內(nèi)容記錄投票內(nèi)容顯示順序頁面顯示時(shí),該選項(xiàng)的位置,由系統(tǒng)按照添加順序自動設(shè)置.難點(diǎn)分析1:數(shù)據(jù)庫設(shè)計(jì)2-2字段名說 明投票選項(xiàng)記錄用戶選擇了那個選項(xiàng)投票內(nèi)容記錄用戶

3、參與了那個投票用戶記錄那個用戶參與投票投票結(jié)果應(yīng)記錄投票選項(xiàng)、投票內(nèi)容以及用戶用戶須登錄才干運(yùn)用系統(tǒng),系統(tǒng)應(yīng)保管用戶信息字段名說 明用戶ID用戶在系統(tǒng)中的唯一標(biāo)識,不能有重復(fù)值,用戶登錄系統(tǒng)所使用的賬號用戶名用戶姓名密碼用戶登錄系統(tǒng)所使用的密碼.難點(diǎn)分析2:了解業(yè)務(wù)3-1發(fā)布新投票填寫投票信息添加選項(xiàng)新增選項(xiàng)可刪除,默許選項(xiàng)不可刪除 發(fā)布新投票在Action類中運(yùn)用字符串?dāng)?shù)組接納投票選項(xiàng) .難點(diǎn)分析2:了解業(yè)務(wù)3-2投票選擇想要參與的投票,頁面跳轉(zhuǎn)至投票頁面 根據(jù)發(fā)布時(shí)設(shè)定的投票類型,在頁面判別是單項(xiàng)選擇還是多項(xiàng)選擇,選擇運(yùn)用radio還是checkbox顯示投票選項(xiàng) .難點(diǎn)分析2:了解業(yè)務(wù)3

4、-3查看投票結(jié)果 在投票列表中點(diǎn)擊投票內(nèi)容超鏈接或在投票勝利后選擇查看投票結(jié)果,將跳轉(zhuǎn)到查看投票結(jié)果頁面經(jīng)過計(jì)算每個選項(xiàng)所得票數(shù)占總投票數(shù)的百分比設(shè)置頁面中顯示寬度,以直觀顯示投票結(jié)果.工程預(yù)備1:數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)2-1字段名說 明vu_user_id用戶ID自動編號,從1開始,主鍵vu_user_name用戶名必填vu_password密碼必填用戶信息表vote_user投票內(nèi)容表vote_subject字段名說 明vs_id編號自動編號,從1開始,主鍵vs_title投票內(nèi)容必填vs_type投票類型必填。1-單選;2-多選;默認(rèn)為1.工程預(yù)備1:數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)2-2字段名說 明vo_i

5、d編號自動編號(標(biāo)識列),從1開始,主鍵vo_option投票選項(xiàng)必填vs_id投票內(nèi)容IDvo_order顯示順序投票選項(xiàng)表vote_option投票取值表vote_item 字段名說 明vi_id編號自動編號(標(biāo)識列),從1開始,主鍵vo_id投票選項(xiàng)ID必填vs_id投票內(nèi)容IDvu_user_id用戶ID完成時(shí)間:20分鐘.工程預(yù)備2:搭建系統(tǒng)框架采用熟習(xí)的Hibernate+Struts 2框架實(shí)現(xiàn)系統(tǒng)創(chuàng)建Web工程及相關(guān)包 為工程添加Struts 2的支持,修正web.xml,添加Struts 2的Filter,創(chuàng)建Struts 2配置文件 為工程添加Hibernate 支持,創(chuàng)建

6、并配置Hibernate配置文件,創(chuàng)建實(shí)體類及實(shí)體映射文件 創(chuàng)建DAO接口 創(chuàng)建DAO接口的Hibernate實(shí)現(xiàn)類 創(chuàng)建業(yè)務(wù)接口及實(shí)現(xiàn)類 運(yùn)用Filter管理事務(wù) 完成時(shí)間:10分鐘完成時(shí)間:20分鐘完成時(shí)間:10分鐘完成時(shí)間:10分鐘.開發(fā)方案用例1:注冊與登錄 40分鐘用例2:發(fā)布投票 30分鐘用例3:完成投票 30分鐘用例4:查看投票結(jié)果 30分鐘用例5:投票維護(hù) 40分鐘用例6:投票查詢 25分鐘.用例1:注冊與登錄5-1 需求闡明系統(tǒng)要求用戶必需登錄,才干運(yùn)用系統(tǒng)。假設(shè)不是注冊用戶那么要注冊后才可以登錄運(yùn)用投票系統(tǒng) 注冊勝利注冊失敗.用例1:注冊與登錄5-2 需求闡明系統(tǒng)要求用戶必

7、需登錄,才干運(yùn)用系統(tǒng)。假設(shè)不是注冊用戶那么要注冊后才可以登錄運(yùn)用投票系統(tǒng) 登錄勝利登錄失敗.用例1:注冊與登錄5-3 思緒分析制造登錄和注冊頁面 編寫Action實(shí)現(xiàn)登錄、注冊 創(chuàng)建BaseAction 創(chuàng)建LoginAction實(shí)現(xiàn)用戶登錄 創(chuàng)建RegisterAction實(shí)現(xiàn)用戶注冊 創(chuàng)建SubjectAction用于投票內(nèi)容的一切操作,新建list方法獲取一切投票信息修正Struts 2配置文件,添加Action的配置 配置LoginAction配置RegisterAction配置SubjectAction制造登錄勝利頁面,顯示投票列表 完成時(shí)間:40分鐘.用例1:注冊與登錄5-4功能測

8、試檢查點(diǎn)115分鐘注冊功能檢查點(diǎn)2 15分鐘登錄功能檢查點(diǎn)310分鐘顯示一切投票信息相互測試完成的程序功能測試出的缺陷記錄在“常見問題列表中修正缺陷后返測經(jīng)過,才以為用例開發(fā)完成單元測試.用例1:注冊與登錄5-5 參考代碼或結(jié)果演示public class SubjectAction extends BaseAction private VoteService service;/業(yè)務(wù)類private List subjects;/投票內(nèi)容列表/每個投票內(nèi)容有多少人參與投票private Map votes = new HashMap(); /.省略setter&getter方法public S

9、tring list() subjects = getService().getAllSubjects();List subjectVotes = (List) getService().getUserCountPerSubject(null);for (Object subjectVote : subjectVotes) votes.put(Long) subjectVote0, (Long) subjectVote1);return success;.共性問題集中講解常見調(diào)試問題及處理方法代碼規(guī)范問題共性問題集中講解.用例2:發(fā)布投票3-1 需求闡明用戶登錄后可以添加新投票 添加選項(xiàng)發(fā)布勝

10、利.用例2:發(fā)布投票3-2 思緒分析制造發(fā)布投票的頁面編寫Action實(shí)現(xiàn)新投票發(fā)布在SubjectAction中,新建save方法用于發(fā)布新投票在SubjectAction中運(yùn)用字符數(shù)組保管投票選項(xiàng)完成時(shí)間:30分鐘.用例2:發(fā)布投票3-3 功能測試檢查點(diǎn)115分鐘制造發(fā)布投票的頁面檢查點(diǎn)2 15分鐘編寫Action實(shí)現(xiàn)新投票發(fā)布相互測試完成的程序功能測試出的缺陷記錄在“常見問題列表中修正缺陷后返測經(jīng)過,才以為用例開發(fā)完成單元測試.共性問題集中講解常見調(diào)試問題及處理方法代碼規(guī)范問題共性問題集中講解.用例3:完成投票3-1 需求闡明在投票列表頁面,點(diǎn)擊“我要參與 鏈接,進(jìn)入投票頁面選擇選項(xiàng)點(diǎn)擊

11、投票按鈕,完成投票,投票勝利,頁面跳轉(zhuǎn)至投票勝利頁面 投票勝利.用例3:完成投票3-2 思緒分析制造投票和投票勝利頁面投票頁面要判別投票的類型是單項(xiàng)選擇還是多項(xiàng)選擇,選擇運(yùn)用radio還是checkbox顯示投票選項(xiàng) 編寫Action實(shí)現(xiàn)投票 創(chuàng)建VoteAction有關(guān)投票的一切操作新建save方法實(shí)現(xiàn)投票功能完成時(shí)間:30分鐘.用例3:完成投票3-3 功能測試檢查點(diǎn)115分鐘制造投票和投票勝利頁面檢查點(diǎn)2 15分鐘編寫Action實(shí)現(xiàn)投票相互測試完成的程序功能測試出的缺陷記錄在“常見問題列表中修正缺陷后返測經(jīng)過,才以為用例開發(fā)完成單元測試.共性問題集中講解常見調(diào)試問題及處理方法代碼規(guī)范問題

12、共性問題集中講解.用例4:查看投票結(jié)果4-1 需求闡明在投票列表頁面點(diǎn)擊投票內(nèi)容標(biāo)題超鏈接或在投票勝利后點(diǎn)擊“前往查看投票結(jié)果超鏈接,查看投票結(jié)果 .用例4:查看投票結(jié)果4-2 思緒分析編寫Action實(shí)現(xiàn)查看投票結(jié)果 在VoteAction新建view方法實(shí)現(xiàn)查看投票結(jié)果 創(chuàng)建投票結(jié)果頁面,顯示投票結(jié)果設(shè)置頁面中顯示寬度,以到達(dá)直觀效果顯示投票結(jié)果完成時(shí)間:30分鐘div class=percent style=width:% .用例4:查看投票結(jié)果4-3 代碼檢查檢查點(diǎn)120分鐘編寫Action實(shí)現(xiàn)查看投票結(jié)果檢查點(diǎn)2 10分鐘顯示投票結(jié)果相互測試完成的程序功能測試出的缺陷記錄在“常見問題

13、列表中修正缺陷后返測經(jīng)過,才以為用例開發(fā)完成單元測試.用例4:查看投票結(jié)果4-4 參考代碼或結(jié)果演示public class VoteAction extends BaseAction private VoteService service;/業(yè)務(wù)類 private Long userCountOfThisSubject/投票人數(shù) private Subject subject;/投票內(nèi)容 private Long options; /每個選項(xiàng)票數(shù) private Map stat=new HashMap(); /每個選項(xiàng)百分比 private Map statPercent = new Ha

14、shMap(); public String view() statUserCountOfThisSubject();/獲得投票人數(shù) initStatResultToZeroForView();/初始化數(shù)據(jù) /計(jì)算每個選項(xiàng)票數(shù)占總票數(shù)百分比 statVoteCountAndCalcPercentPerOption(); return viewSuccess; .共性問題集中講解常見調(diào)試問題及處理方法代碼規(guī)范問題共性問題集中講解.用例5:投票維護(hù)3-1 需求闡明在投票列表頁面點(diǎn)擊“維護(hù)超鏈接,進(jìn)入管理頁面 在管理頁面中,選擇要維護(hù)的投票內(nèi)容,點(diǎn)擊“維護(hù)超鏈接,修正投票內(nèi)容由管理界面進(jìn)入維護(hù)頁面.

15、用例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分鐘.用例5:投票維護(hù)3-3 功能測試檢查點(diǎn)115分鐘顯示管理頁面檢查點(diǎn)2 25分鐘進(jìn)展投票維護(hù)相互測試完成的程序功能測試出的缺陷記錄在“常見問題列表中修正缺陷后返測經(jīng)過,才以為用例開發(fā)完成單元測試.共性問題集中講解常見調(diào)試問題及處理方法代碼規(guī)范問題共性問題集中講解.用例6:投票查詢4-1 需

16、求闡明在投票列表頁面輸入查詢關(guān)鍵字,點(diǎn)擊查詢按鈕,即可獲得查詢結(jié)果 .用例6:投票查詢4-2 思緒分析編寫Action實(shí)現(xiàn)查詢投票 在SubjectAction中新建search方法,實(shí)現(xiàn)投票查詢運(yùn)用投票列表頁面顯示查詢到的結(jié)果 完成時(shí)間:25分鐘.用例6:投票查詢4-3 功能測試實(shí)現(xiàn)投票查詢功能相互測試完成的程序功能測試出的缺陷記錄在“常見問題列表中修正缺陷后返測經(jīng)過,才以為用例開發(fā)完成單元測試.用例6:投票查詢4-4 參考代碼或結(jié)果演示public class SubjectAction extends BaseAction private String keywords;/每個投票內(nèi)容有

17、多少人參與投票private Map votes = new HashMap();public String search() if (keywords != null & !.equals(keywords) subjects=getService().getSubjectsByTitle(keywords); else subjects = getService().getAllSubjects();List subjectVotes=(List)getService().getUserCountPerSubject(null);for (Object subjectVote : subjectVotes) votes.put(Long)subjectVote0,(Long)subjectVote1);return success;.共性問題集中講解常見調(diào)試問題及處理方法代碼規(guī)范問題共性問題集中講解.集成測試完成時(shí)間:25分鐘系統(tǒng)集成后,重新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論