張程斐 吳鋌 徐煥 張燕 方夢婷
摘要:本文采用面向對象分析與設計方法,應用UML設計了一個基于Java的網絡投票系統。
關鍵詞:投票系統;UML;Java
如今網絡投票如火如荼,包括央視網的全國道德模范評選、人民網的全國“雙百”評選、中國大學生在線的全國高校百佳網站評選等。為適應社團發展需要,本文采用面向對象分析與設計的方法提出了如何構建一個基于Java的網絡投票投系統。
1.需求分析
需求(requirement)就是系統(更廣義的說法是項目)必須提供的能力和必須遵從的條件[1]。在統一過程中,需求按照“FURPS+”進行分類,其含包括功能性、可用性、可靠性、性能、可支持性以及其他一些輔助性的和次要的因素[2]。在這里我們重點關注功能性需求,網絡投票系統應當滿足廣大選民投票的需要,滿足管理人員管理選票和候選條目的需要,滿足人員查看選票結構及選票結果的需要。
2.用例圖
用例就是需求,主要說明系統如何工作的。UML提供了用例圖表示法,用以描述用例名稱和參與者及其之間的關系[3]。網絡投票系統的用例圖如圖1所示:
查詢選票結構:管理人員為掌握網絡投票狀態,將隨時查看選票結構即選民投票記錄信息,避免非正常投票行為的發生,同時把握選民對投票活動的參與度。
管理候選條目:管理人員對候選條目進行增加、刪除、修改,其中包括名稱、圖片、內容等。
設定投票活動:管理人員對投票活動進行活動介紹、起止時間、開關狀態、投票間隔、每次可投條目數及其他投票限制的設定。
查看選票結果:管理人員和選民查看網絡投票結果,包括每個候選條目的得票數,這些信息實時顯示在投票系統頁面上。
投票給指定候選條目:選民向指定的候選條目進行投票操作。
3.活動圖
一個UML活動圖表示一個過程中的多個順序活動或并行活動,它提供了豐富的表示法來表示一系列的互動[3]。網絡投票系統的活動圖如圖2所示。
4.類圖
UML用類圖(Class diagram)表示類,接口及其關聯。類圖用于靜態對象建模[3]。網絡投票系統類圖如圖3所示。
5.包圖
邏輯架構(logical architecture)是軟件類的宏觀組織結構,它將軟件類組織為包。之所以稱其為邏輯架構,是因為其并未決定如何在不同的操作系統進程或網絡中物理的計算機上對這些元素進行部署。UML包圖常用于描述系統的邏輯架構[3]。網絡投票系統包圖如圖4所示。
6.部署圖
部署圖表示了軟件元素在物理架構上的部署,以及物理元素之間的通信[3]。網絡投票系統部署圖如圖5所示。
7.開發工具的選擇
本系統采用基于JEE平臺開發,開發操作系統選擇Windows 7,頁面設計工具采用Dreamweaver CS5,代碼編寫和調試工具采用NetBeans,為了使系統在不同的瀏覽器中呈現一致性,開發測試瀏覽器采用Firfox4.0、IE6.0、IE8.0、Chrome。
8.結束語
網絡投票系統的設計與實現,因其不受時空限制,將有助于更多的選民參與到網絡投票當中來,提高投票率,使得投票結果更加公平公正。
參考文獻
[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和模式應用(原書第3版)[M]. 機械工業出版社.2006
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文