張程斐 吳鋌 徐煥 張燕 方夢(mèng)婷
摘要:本文采用面向?qū)ο蠓治雠c設(shè)計(jì)方法,應(yīng)用UML設(shè)計(jì)了一個(gè)基于Java的網(wǎng)絡(luò)投票系統(tǒng)。
關(guān)鍵詞:投票系統(tǒng);UML;Java
如今網(wǎng)絡(luò)投票如火如荼,包括央視網(wǎng)的全國道德模范評(píng)選、人民網(wǎng)的全國“雙百”評(píng)選、中國大學(xué)生在線的全國高校百佳網(wǎng)站評(píng)選等。為適應(yīng)社團(tuán)發(fā)展需要,本文采用面向?qū)ο蠓治雠c設(shè)計(jì)的方法提出了如何構(gòu)建一個(gè)基于Java的網(wǎng)絡(luò)投票投系統(tǒng)。
1.需求分析
需求(requirement)就是系統(tǒng)(更廣義的說法是項(xiàng)目)必須提供的能力和必須遵從的條件[1]。在統(tǒng)一過程中,需求按照“FURPS+”進(jìn)行分類,其含包括功能性、可用性、可靠性、性能、可支持性以及其他一些輔助性的和次要的因素[2]。在這里我們重點(diǎn)關(guān)注功能性需求,網(wǎng)絡(luò)投票系統(tǒng)應(yīng)當(dāng)滿足廣大選民投票的需要,滿足管理人員管理選票和候選條目的需要,滿足人員查看選票結(jié)構(gòu)及選票結(jié)果的需要。
2.用例圖
用例就是需求,主要說明系統(tǒng)如何工作的。UML提供了用例圖表示法,用以描述用例名稱和參與者及其之間的關(guān)系[3]。網(wǎng)絡(luò)投票系統(tǒng)的用例圖如圖1所示:
查詢選票結(jié)構(gòu):管理人員為掌握網(wǎng)絡(luò)投票狀態(tài),將隨時(shí)查看選票結(jié)構(gòu)即選民投票記錄信息,避免非正常投票行為的發(fā)生,同時(shí)把握選民對(duì)投票活動(dòng)的參與度。
管理候選條目:管理人員對(duì)候選條目進(jìn)行增加、刪除、修改,其中包括名稱、圖片、內(nèi)容等。
設(shè)定投票活動(dòng):管理人員對(duì)投票活動(dòng)進(jìn)行活動(dòng)介紹、起止時(shí)間、開關(guān)狀態(tài)、投票間隔、每次可投條目數(shù)及其他投票限制的設(shè)定。
查看選票結(jié)果:管理人員和選民查看網(wǎng)絡(luò)投票結(jié)果,包括每個(gè)候選條目的得票數(shù),這些信息實(shí)時(shí)顯示在投票系統(tǒng)頁面上。
投票給指定候選條目:選民向指定的候選條目進(jìn)行投票操作。
3.活動(dòng)圖
一個(gè)UML活動(dòng)圖表示一個(gè)過程中的多個(gè)順序活動(dòng)或并行活動(dòng),它提供了豐富的表示法來表示一系列的互動(dòng)[3]。網(wǎng)絡(luò)投票系統(tǒng)的活動(dòng)圖如圖2所示。
4.類圖
UML用類圖(Class diagram)表示類,接口及其關(guān)聯(lián)。類圖用于靜態(tài)對(duì)象建模[3]。網(wǎng)絡(luò)投票系統(tǒng)類圖如圖3所示。
5.包圖
邏輯架構(gòu)(logical architecture)是軟件類的宏觀組織結(jié)構(gòu),它將軟件類組織為包。之所以稱其為邏輯架構(gòu),是因?yàn)槠洳⑽礇Q定如何在不同的操作系統(tǒng)進(jìn)程或網(wǎng)絡(luò)中物理的計(jì)算機(jī)上對(duì)這些元素進(jìn)行部署。UML包圖常用于描述系統(tǒng)的邏輯架構(gòu)[3]。網(wǎng)絡(luò)投票系統(tǒng)包圖如圖4所示。
6.部署圖
部署圖表示了軟件元素在物理架構(gòu)上的部署,以及物理元素之間的通信[3]。網(wǎng)絡(luò)投票系統(tǒng)部署圖如圖5所示。
7.開發(fā)工具的選擇
本系統(tǒng)采用基于JEE平臺(tái)開發(fā),開發(fā)操作系統(tǒng)選擇Windows 7,頁面設(shè)計(jì)工具采用Dreamweaver CS5,代碼編寫和調(diào)試工具采用NetBeans,為了使系統(tǒng)在不同的瀏覽器中呈現(xiàn)一致性,開發(fā)測(cè)試瀏覽器采用Firfox4.0、IE6.0、IE8.0、Chrome。
8.結(jié)束語
網(wǎng)絡(luò)投票系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),因其不受時(shí)空限制,將有助于更多的選民參與到網(wǎng)絡(luò)投票當(dāng)中來,提高投票率,使得投票結(jié)果更加公平公正。
參考文獻(xiàn)
[1]Ivar Jacobson, Grady Booch, James Rumbaugh著. The Unified Software Development Process[M]. Addison-Wesley Professional.1999
[2]Robert B. Grady著. Practical Software Metrics for Project Management and Process Improvement[M]. Prentice Hall.1992
[3](美)Craig Larman著作. 李洋,鄭龑譯.UML和模式應(yīng)用(原書第3版)[M]. 機(jī)械工業(yè)出版社.2006
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文