版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 S2SH投票管理系統(tǒng)設計方案S2SH投票管理系統(tǒng)設計方案(WORD版完整可編輯,需更多資料請聯(lián)系)摘 要網(wǎng)上投票系統(tǒng)憑借其方便快捷等特點已經(jīng)成為統(tǒng)計收集信息不可或缺的工具,隨著網(wǎng)絡技術的發(fā)展網(wǎng)上投票系統(tǒng)的作用將會越來越大。在積極建立科學管理機制的今天,僅僅靠原始的手工管理或簡單的單機管理,管理部門面對大量的信息,無法有效率地將其中的重要部分提取出來,并做出相應的判斷和處理。投票管理者的決策只能依據(jù)手工表數(shù)據(jù),在浪費大量人力、物力的同時無法做到實時監(jiān)控,難以保證數(shù)據(jù)的準確性和及時性。因此,先進的管理思想就成為了一個可望而不可及的目標。投票非常急需一套既有先進管理思想的系統(tǒng),作為實現(xiàn)目標和提高現(xiàn)
2、有投票管理水平的一種重要手段。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,在先進的計算機技術、通信技術、控制技術及IC卡技術基礎上,采用系統(tǒng)集成方法,逐步建立一個智能化的投票系統(tǒng)。本論文就建立一套完善的網(wǎng)上投票系統(tǒng)進行了詳細全面的論述。訪問本系統(tǒng)的用戶分為會員和管理員兩種角色。會員的主要功能有:查看投票內(nèi)容,網(wǎng)上投票,查看系統(tǒng)公告,在線注冊會員模塊。系統(tǒng)中的管理員的主要功能有:投票內(nèi)容管理,公告管理,會員的管理。關鍵字: 網(wǎng)上投票系統(tǒng);JSP;S2SHIS2SH Voting Manage
3、ment SystemAbstractThe online voting system by virtue of its convenience, has become an indispensable tool of statistical information collection, along with the development of network technology, the online voting system will play a more important role.Actively establish a scientific management syst
4、em of today, only by the original manual management or simple single management, management department of information, can't efficiently extracted from one of the important part, and make the corresponding judgment and handling. The manager's decision to vote only on the basis of the table d
5、ata by hand, unable to do real-time monitoring in waste a lot of manpower, material resources and at the same time, it is difficult to ensure the accuracy and timeliness of data. Therefore, the advanced management thought becomes a miles away goals. System of voting is in urgent need of an already t
6、o have the advanced management concept, as a goal and an important means to improve the management level of the existing voting. With the continuous improvement of science and technology, computer science increasingly mature, its powerful features for people to have a profound understanding, it has
7、entered the human society in various fields and is playing an increasingly important role. As a part of computer application, the advanced computer technology, communication technology, control technology and IC card technology basis, a systems integration approach, and gradually establish a intelli
8、gent voting system.In this paper, we establish a set of perfect online voting system in detail. Users to access the system is divided into two kinds of role membership and administrator. The main function of membership are: online voting poll, content, view the system announcement, online registrati
9、on module. The main function of the system administrator: voting content management, bulletin management, membership management.Key Words: online voting system; JSP; S2SHII目 錄摘 要IAbstractII1 緒 論11.1 課題來源及意義11.2 國內(nèi)外發(fā)展狀況21.3 研究目標、內(nèi)容21.3.1 前臺模塊31.3.2 后臺模塊:32 系統(tǒng)概述與技術介紹42.1 BS結構介紹42.2 SQL Server數(shù)據(jù)庫42.3 M
10、yEclipse介紹42.4 JavaScrip語言52.5 JSP技術52.6 MVC模式62.7 SSH框架82.7.1 Struts框架92.7.2 Spring框架92.7.3 Hibernate框架103 需求分析113.1 開發(fā)環(huán)境113.2 需求分析113.3 可行性分析113.3.1 經(jīng)濟性113.3.2 技術性123.3.3 操作性123.3.4 法律性123.4 問題分析123.5 分析模型134 系統(tǒng)概要設計144.1 系統(tǒng)設計概述144.2 系統(tǒng)用例圖144.3 系統(tǒng)流程圖154.4 系統(tǒng)功能分析175 系統(tǒng)功能設計185.1系統(tǒng)功能模塊的設計185.1.1 用戶投票模
11、塊:185.1.2 管理員登錄模塊195.1.3 管理員添加投票項目模塊205.1.4 管理員刪除投票項目模塊:206 數(shù)據(jù)庫設計與實現(xiàn)216.1 數(shù)據(jù)庫結構設計216.1.1 表概要說明216.1.2 數(shù)據(jù)表的結構217 系統(tǒng)的實現(xiàn)247.1 前臺首頁設計247.2 網(wǎng)站導航設計247.3 投票信息展示模塊257.4 用戶注冊模塊設計267.5 網(wǎng)站公告展示277.6 后臺登錄頁面277.7 投票信息管理307.8 公告信息管理337.9 退出后臺管理358 系統(tǒng)測試368.1 測試方法368.2 測試原理、策略368.3 測試過程368.4 系統(tǒng)測試結果37總 結38參考文獻40附錄41附
12、錄A 外文文獻 JSP application frameworks41附錄B 中文翻譯 JSP 應用框架5031 緒 論1.1 課題來源及意義 網(wǎng)上投票調(diào)系統(tǒng)是一種在網(wǎng)站上提出投票題目,由用戶在線投票并對調(diào)查投票的統(tǒng)計結果直接顯示的調(diào)查工具。網(wǎng)站管理方可以通過網(wǎng)上調(diào)查并對投票結果自動進行系統(tǒng)分析后得出有用信息,如瀏覽用戶對某產(chǎn)品或服務的看法等,是企業(yè)利用網(wǎng)站低成本進行市場調(diào)查的重要手段。Internet是目前世界上最大的計算機互聯(lián)網(wǎng)絡,它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡連接成一個整體。作為Internet上一種先進的,易于被人們所接受的信息檢索手段,World Wide Web(簡稱WWW
13、)發(fā)展十分迅速,成為目前世界上最大的信息資源寶庫。如今,網(wǎng)絡技術已經(jīng)滲入到人們?nèi)粘I畹拿總€角落,隨處都可以看到網(wǎng)絡的存在,隨處都可以享受到網(wǎng)絡給我們帶來的方便。網(wǎng)絡,不僅僅代表著一項技術、一種應用,更代表著一個時代、一種時尚。隨著Internet的發(fā)展,Web技術日新月異,人們已經(jīng)不再滿足于靜態(tài)HTML技術,更多的是要求動態(tài)、交互的網(wǎng)絡技術。然而,在計算機網(wǎng)絡中,任何方便實用的技術都必須建立在信息安全這塊基石上。一項網(wǎng)絡技術的安全性,也是決定著想技術成敗的關鍵性的性質(zhì)。而具有動態(tài)驗證的網(wǎng)上投票系統(tǒng)既能使信息的保密性得到保證,又能確認投票者身份的有效性與唯一性,這樣才能保證統(tǒng)計結果的真實有效。
14、網(wǎng)上投票對象只能來源于網(wǎng)絡的使用者,而目前這部分使用者具有一定的特殊性,特別是在中國。據(jù)CNNIC 2006年9月公布的調(diào)查結果顯示,我國互聯(lián)網(wǎng)繼續(xù)保持持續(xù)、穩(wěn)定的增長態(tài)勢。其中網(wǎng)民數(shù)、上網(wǎng)計算機數(shù)分別達到了11000萬人、4950萬臺,與上年同期相比分別增長了18.1%和19.0%。在網(wǎng)民的特征結構方面,男性、未婚、30歲以下、大學本科以下、月收入在2000元及以下(含無收入)網(wǎng)民的比例依然在網(wǎng)民各特征數(shù)據(jù)中占據(jù)主要地位,所占比例分別為58.7%、57.9%、82.6%、70.8%、70.9%,其中未婚、30歲以上網(wǎng)民的比例與上年同期相比都有所上升,但男性網(wǎng)民比例、大學本科以下、月收入在20
15、00元及以下(含無收入)網(wǎng)民所占比例與上年同期相比有所下降;在職業(yè)方面,學生所占比例超過了總網(wǎng)民的三分之一,達到了35.1%,其次是企業(yè)單位工作人員,占總數(shù)的29.6%,排在第三位的是學校教師及行政人員,所占比例為7.3%,國家機關、黨群組織工作人員所占比例為6.6%,事業(yè)單位工作人員所占比例為6.5%,其他職業(yè)的網(wǎng)民所占比例都在5.0%以下。隨著Internet網(wǎng)正在向全世界各大洲延伸和擴散,Internet是一個國際性的通信網(wǎng)絡集合體,它集現(xiàn)代通信技術和現(xiàn)代計算機技術于一體, 是計算機之間進行國際信息交流和實現(xiàn)資源共享的良好手段。Internet也是人類歷史發(fā)展中的一個偉大的里程碑,它是未
16、來信息高速公路的雛形,人類正由此進入一個前所未有的信息化社會。人們用各種名稱來稱呼Internet,如國際互聯(lián)網(wǎng)絡、因特網(wǎng)、交互網(wǎng)絡、網(wǎng)際網(wǎng)等等,已經(jīng)成為世界上覆蓋面最廣、規(guī)模最大、信息資源最豐富的計算機信息網(wǎng)絡。近年來,借助著Internet的蓬勃發(fā)展,伴隨著信息化建設的推進,電子商務迅速崛起,其市場范圍在全球急劇擴大,各發(fā)達國家都把發(fā)展電子商務作為拓展全球市場的有效手段,積極地參與協(xié)商和合作。當今社會作為一個飛速發(fā)展的社會,網(wǎng)絡已滲入人們的生活,網(wǎng)絡已成為信息傳播的一大媒介,可以說網(wǎng)絡資源的獲取已逐步改變了人們以往的生活方式,網(wǎng)絡已經(jīng)成為人們?nèi)粘9ぷ鳎蓍e的主要工具之一。從娛樂網(wǎng)站到官方網(wǎng)
17、站,各種網(wǎng)上投票系統(tǒng)隨處可見,意見調(diào)查,用戶信息統(tǒng)計,經(jīng)營情況調(diào)查等都可以作為投票的內(nèi)容,網(wǎng)上投票系統(tǒng)憑借其方便快捷等特點,已經(jīng)成為互聯(lián)網(wǎng)資源中不可缺少的一部分,并且,隨著網(wǎng)絡技術的發(fā)展,網(wǎng)上投票系統(tǒng)的作用將會越來越大。并且在投票的過程中網(wǎng)上投票系統(tǒng)對網(wǎng)絡的要求也越來越高。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在線投票管理系統(tǒng)運用計算機和其他附加設備,不再需要手工操作,基本上是全自動化,能夠節(jié)省人力、最大限度地利用各種寶貴的資源,大大的提高了效率。網(wǎng)上投票系統(tǒng)可以快速,真實的反應出你的投票結果和他人的投票結果,而不必等待最終結果。完全的真實性,每個人都可以看見自己的或者他人
18、的投票的增加,防止了以往的暗箱操作。網(wǎng)絡投票系統(tǒng)應具有的獨特的功能其一,方便的操作。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,網(wǎng)絡投票管理系統(tǒng)運用計算機和其他附加設備,不再需要手工操作,基本上是全自動化,能夠節(jié)省人力、最大限度地利用各種寶貴的資源,大大的提高了效率。 其二,友好的界面。友好的用戶界面會給人一種親切的感覺,在使用起來不會覺得沉悶,效率自然也會提高了。其三,強大的功能,能夠滿足學校教學需要,快速簡單的統(tǒng)計教學任務,提高教學質(zhì)量。1.2 國內(nèi)外發(fā)展狀況隨著計算機技術的飛速發(fā)展,尤其是網(wǎng)絡技術的超速發(fā)展,帶動了信息的廣泛交流,人們每天需要大量的信息來充實自己,傳統(tǒng)的投票
19、和調(diào)查方式已經(jīng)不能滿足我們的需要,針對這種情況,網(wǎng)上投票系統(tǒng)應運而生。網(wǎng)上投票系統(tǒng)除了能夠完成傳統(tǒng)的功能之外,更具有時效高和范圍廣的優(yōu)點,更符合現(xiàn)代社會的需要。從國際互聯(lián)網(wǎng)到校園網(wǎng),企業(yè)局域網(wǎng),各種網(wǎng)上投票系統(tǒng)隨處可見,意見調(diào)查,用戶信息統(tǒng)計,經(jīng)營情況調(diào)查都可以作為投票的內(nèi)容,網(wǎng)上投票系統(tǒng)憑借其方便快捷等特點,已經(jīng)成為互聯(lián)網(wǎng)資源中不可缺少的一部分,并且,隨著網(wǎng)絡技術的發(fā)展,網(wǎng)上投票系統(tǒng)的作用將會越來越大。據(jù)新聞報道,日本政府正投資10億日元開發(fā)電子投票系統(tǒng)用于選舉,荷蘭、比利時和巴西等國家已經(jīng)開始在部分地區(qū)使用網(wǎng)上投票系統(tǒng),可見其巨大的發(fā)展?jié)摿Α?.3 研究目標、內(nèi)容 網(wǎng)上投票系統(tǒng)的設計是采用
20、JSP和SQL Server2000技術開發(fā)的簡易投票系統(tǒng),并在用戶登陸過程中設置動態(tài)驗證碼,提高系統(tǒng)的安全性。它實現(xiàn)了以下功能:投票、結果查看、增加、刪除及搜索投票等。本論文首先介紹了網(wǎng)上投票系統(tǒng)的概念及和適用范圍。在系統(tǒng)開發(fā)環(huán)境中主要對JSP、SQL和動態(tài)口令認證機制的基本概念作了詳盡的介紹。接著通過E-R圖說明數(shù)據(jù)庫的搭建和數(shù)據(jù)庫的設計。然后介紹了本系統(tǒng)的總體設計,包括:系統(tǒng)結構和總體功能設計。論文以功能模塊圖的形式說明了功能的設計并給出了部分核心代碼及主要功能界面圖。1.3.1 前臺模塊1用戶注冊:用戶可以通過這一功能在網(wǎng)站上將自己的信息通過填寫注冊窗體的形式,發(fā)送到后臺數(shù)據(jù)庫中并存儲
21、,以便在網(wǎng)站上進行投票。用戶注冊功能能提高投票信息的公正性和有效性,防止部分人員隨意投票。2.用戶登陸:用戶注冊后就可以在登陸框中輸入正確的用戶名和密碼,便可登陸到網(wǎng)站。(1)進行投票:在“投票選項”中選中所選類別提交后,所選內(nèi)容會存儲在數(shù)據(jù)庫中,并在投票管理頁面中顯示投票結果。(2)顯示投票結果:用戶提交投票信息后,數(shù)據(jù)存入數(shù)據(jù)庫并計算出每個投票選項的所得投票數(shù),并將投票數(shù)最多的那一選項的信息顯示到此頁面。1.3.2 后臺模塊:(1)管理員登陸:管理登陸之后才能管理投票信息。在此模塊中同樣引入了動態(tài)口令認證以保證安全。(2)設計投票管理主界面:當管理員登錄成功后,會轉到投票管理界面。在該界面
22、可以進行以下操作:增加投票,刪除投票,更新投票信息。(3)增加,修改,刪除投票:添加投票界面是管理員新建投票信息并存儲在數(shù)據(jù)庫中的媒介,并在投票管理界面中顯示。2 系統(tǒng)概述與技術介紹作為一個投票網(wǎng)站,首先布局一定要新穎、有特色,只有這樣才能引起用戶的關注,最大限度的滿足人們的需求,而且要有很強的交互性,交互性差的網(wǎng)站會讓用戶產(chǎn)生厭煩情緒。當然一個好的投票網(wǎng)站還要有很完整的處理信息的功能,以便及時的更新網(wǎng)站中的信息。通過對用戶的調(diào)查和對現(xiàn)有的投票網(wǎng)站運行的流程分析,為了滿足大多數(shù)用戶的需求,所以我的目標是要構建一個頁面簡單清晰但包含信息相對全面、交互性強的網(wǎng)上投票系統(tǒng)。2.1 BS結構介紹本系統(tǒng)
23、采用BS結構,即BrowserServer(瀏覽器服務器)結構,就是只安裝維護一個服務器(Server),而客戶端采用瀏覽器(Browse)運行軟件。它是隨著Internet技術的興起,對CS結構的一種變化和改進。主要利用了不斷成熟的WWW瀏覽器技術,結合多種Script語言(VBScript、JavaScript)和ActiveX技術,是一種全新的軟件系統(tǒng)構造技術。 在BS體系結構系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡上的許多服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應用程序的執(zhí)行等工作全部由Web
24、 Server完成。2.2 SQL Server數(shù)據(jù)庫因為本系統(tǒng)存放的信息數(shù)據(jù)量比較大的,因此我選擇存放信息的數(shù)據(jù)庫為微軟的SQL Server數(shù)據(jù)庫。SQL Server是微軟公司推出的基于Windows的桌面關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),是Office系列應用軟件之一。SQL Server是由Microsoft開發(fā)和推廣的關系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。Microsoft SQL Server近年來不斷更新版本,1996年,Microsoft 推出了SQL Se
25、rver 6.5版本;1998年,SQL Server /7.0版本和用戶見面;SQL Server 2005是Microsoft公司于2005年推出,目前最新版本是2012年3月份推出的SQL SERVER 2012。2.3 MyEclipse介紹本系統(tǒng)是跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。構建網(wǎng)上投票系統(tǒng)所用的網(wǎng)頁編輯器為MyEclipse, MyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipse Enter
26、prise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。2.4 JavaScrip語言Javascript是一種解釋性的,基于對象的腳本語言,Javascript主要是基于客戶端運行的,用戶點擊帶有Javascript的網(wǎng)頁,網(wǎng)頁里的Javascript就傳到瀏覽器,由瀏覽器
27、對此作處理。它的代碼可以直接嵌入到HTML命令中,最大特點是可以方便操縱網(wǎng)站上的元素,并與Web瀏覽器交互,同時JavaScrip可以捕捉用戶操作并作出反映。JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應用戶的各種操作。JavaScript的一個重要功能就是面向?qū)ο蟮墓δ?,通過基于對象的程序設計,可以用更直觀、模塊化和可重復使用的方式進行程序開發(fā)。在HTML基礎上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁。Javascript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性
28、的、動態(tài)的、交互性的關系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了javascript技術,比如說,檢驗用戶輸入數(shù)據(jù)的有效性,是否重復,是否為空等等。2.5 JSP技術JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。 Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起
29、返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Servlet一樣,是在服務器端執(zhí)行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向?qū)ο?,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。JSP技術的
30、優(yōu)點:(1)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/.net的局限性是顯而易見的。 (3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下(5)支持
31、服務器端組件。web應用需要強大的服務器端組件來支持,開發(fā)人員需要利用其他工具設計實現(xiàn)復雜功能的組件供web頁面調(diào)用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實現(xiàn)復雜商務功能。內(nèi)部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數(shù); response網(wǎng)頁傳回客戶端的響應;pageContext 網(wǎng)頁的屬性是在這里管理; session 與請求有關的會話; application servlet正在執(zhí)行的內(nèi)容;out 用來傳送響應的輸出流; config代碼片段配置對象;pageJSP網(wǎng)頁本身; exception針對錯誤網(wǎng)頁,未捕捉的例外。
32、2.6 MVC模式為了滿足系統(tǒng)對先進性、安全性、跨平臺性、可擴展性、可移植性、分布式等方面的要求,系統(tǒng)總體架構設計采用先進的基于java的B/S的三層體系結構。MVC是三個單詞的縮寫,分別為: 模型(Model),視圖(View)和控制Controller)9。 MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model層實現(xiàn)系統(tǒng)中的業(yè)務邏輯,通??梢杂肑avaBean或EJB來實現(xiàn)。 View層用于與用戶的交互,通常用JSP來實現(xiàn)。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的
33、操作。Web瀏覽技術已經(jīng)廣泛地應用于Internet,并被廣大用戶接受和使用。Web技術是隨http和html一起出現(xiàn)的。Web服務器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務器一旦檢索到信息,Web瀏覽器就會以靜態(tài)和交互(如文本、圖像)方式顯示各種對象。在電子商務業(yè)務進行過程中,需要在各種貿(mào)易角色之間瀏覽和交換各種信息,此時就要使用Web瀏覽技術。 這種模型使系統(tǒng)結構更加清楚,分工更加明確,有利于整個系統(tǒng)后期的維護和升級。MVC(Model View Controller)模型(model)視圖(view)控制器(controller)MVC本來是存在
34、于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC 的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。模型視圖控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk80發(fā)明的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦為Oracle旗下Sun公司Java EE平臺的設計模式,并且受到越來越多的使用 ColdFusion 和 PHP 的開發(fā)者的歡迎。模型視圖控制器模式是一個有用的工具箱,它有很多好處,但也有
35、一些缺點。 三層體系結構由瀏覽器、web服務器和數(shù)據(jù)庫組成,并結合HTML語言、jsp、JavaScript腳本語言、Ajax、ODBC等技術,后臺的數(shù)據(jù)庫采用微軟的SQL Server 2005,系統(tǒng)一般的MVC模型如圖2-1所示。 圖2-1 系統(tǒng)MVC結構圖如圖1-1可知,用戶界面層是用戶和整個系統(tǒng)的接口,客戶端只需安裝通用的瀏覽器即可建立與本系統(tǒng)的連接。業(yè)務邏輯層負責處理用戶輸入的信息,或?qū)⑦@些信息發(fā)送給數(shù)據(jù)庫層進行保存,或調(diào)用數(shù)據(jù)庫層中的函數(shù)再次讀出這些數(shù)據(jù)。數(shù)據(jù)訪問層是整個分層體系的最底層,它主要用來實現(xiàn)與數(shù)據(jù)庫的交互,即完成查詢、插入、刪除和修改數(shù)據(jù)庫中數(shù)據(jù)的功能MVC是一個設計模
36、式,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。分層概念視圖,模型,控制器。視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標識語言和Web services。如何處理應用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這
37、些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。模型表示企業(yè)數(shù)據(jù)和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用象EJBs和ColdFusion Components這樣的構件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關,這樣一個模型能為多個視圖提供數(shù)據(jù)。MVC模型還可以實現(xiàn)軟件工程的高內(nèi)聚,低耦合的終極目標。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸
38、出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構件去處理請求自己本身并不參與業(yè)務邏輯處理,然后再確定用哪個視圖來顯示返回的數(shù)據(jù)。MVC的優(yōu)點:1)低耦合性2)高重用性和可適用性3)較低的生命周期成本4)快速的部署5)可維護性6)有利于軟件工程化管理2.7 SSH框架SSH 為 struts+spring+hibernate的一個集成框架,是目前較流行的一種Web應用程序開源框架。集成SSH框架的系統(tǒng)從職責上分為四層:表示層、業(yè)務邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統(tǒng)的整體基礎架構,負責MVC
39、的分離,在Struts框架的模型部分,控制業(yè)務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實現(xiàn)為基本的Java對象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實現(xiàn),采用Hibernate架構實現(xiàn)的DAO類來實現(xiàn)Java類與數(shù)據(jù)庫之間的轉換和訪問,最后由Spring做管理,管理struts和hibernate。系統(tǒng)的基本業(yè)務流程是: 在表示層中,首先通過JSP頁面實現(xiàn)交互界面,負責傳送請求(Request)和接收
40、響應(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應的Action處理。在業(yè)務層中,管理服務組件的Spring IoC容器負責向Action提供業(yè)務模型(Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件完成業(yè)務邏輯,并提供事務處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結果。如圖2-2所示:圖2-2 SSH框架分層采用上述開發(fā)模型,不僅實現(xiàn)了視圖、控制器與模型的徹底分離,而且
41、還實現(xiàn)了業(yè)務邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響,大大提高了系統(tǒng)的可復用性。而且由于不同層之間耦合度小,有利于團隊成員并行工作,大大提高了開發(fā)效率。2.7.1 Struts框架Struts對Model,View和Controller都提供了對應的組件。ActionServlet,這個類是Struts的核心控制器,負責攔截來自用戶的請求。Action,這個類通常由用戶提供,該控制器負責接收來自ActionServlet的請求,并根據(jù)該請求調(diào)用模型的業(yè)務邏輯方法處理請求,并將處理結果返回給JSP頁面顯示。Model部分:由Actio
42、nForm和JavaBean組成,其中ActionForm用于封裝用戶的請求參數(shù),封裝成ActionForm對象,該對象被ActionServlet轉發(fā)給Action,Action根據(jù)ActionForm里面的請求參數(shù)處理用戶的請求。JavaBean則封裝了底層的業(yè)務邏輯,包括數(shù)據(jù)庫訪問等。View部分:該部分采用JSP(或HTML、PHP)實現(xiàn)。Struts提供了豐富的標簽庫,通過標簽庫可以減少腳本的使用,自定義的標簽庫可以實現(xiàn)與Model的有效交互,并增加了現(xiàn)實功能。對應上圖的JSP部分。Controller組件:Controller組件有兩個部分組成系統(tǒng)核心控制器,業(yè)務邏輯控制器。系統(tǒng)核
43、心控制器,對應上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標注的Servlet。該控制器負責攔截所有的HTTP請求,然后根據(jù)用戶請求決定是否要轉給業(yè)務邏輯控制器。業(yè)務邏輯控制器,負責處理用戶請求,本身不具備處理能力,而是調(diào)用Model來完成處理。對應Action部分。2.7.2 Spring框架Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測
44、試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。目的:解決企業(yè)應用開發(fā)的復雜性功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應用功能范圍:任何Java應用簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴于Spring的特定類??刂品崔DSpring通過一種稱作控制反轉(IoC)的技術促進了松耦
45、合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應用的業(yè)務邏輯與系統(tǒng)級服務(例如審計(auditing)和事務(transaction)管理)進行內(nèi)聚性的開發(fā)。應用對象只實現(xiàn)它們應該做的完成業(yè)務邏輯僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關注點,例如日志或事務支持。容器Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的
46、每個bean如何被創(chuàng)建基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例以及它們是如何相互關聯(lián)的。然而,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用??蚣躍pring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。2.7
47、.3 Hibernate框架Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任
48、何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這五個核心接口分別加以介紹。·Session接口:Session接口負責執(zhí)行被持久化對象的CRUD操作(CRUD的任務是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。·SessionFactory接口:Sess
49、ionFactory接口負責初始化Hibernate。它充當數(shù)據(jù)存儲源的代理,并負責創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。·Configuration接口:Configuration接口負責配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建Sessi
50、onFactory對象。·Transaction接口:Transaction接口負責事務相關的操作。它是可選的,開發(fā)人員也可以設計編寫自己的底層事務處理代碼。·Query和Criteria接口:Query和Criteria接口負責執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。3 需求分析3.1 開發(fā)環(huán)境本系統(tǒng)的開發(fā)環(huán)境為Windows 7,數(shù)據(jù)庫使用的是微軟的SQL Server 2005,使用Dreamweaver MX 2004軟件制作網(wǎng)頁,發(fā)布使用MyEclipse工具。采用JSP為服務器端腳本環(huán)境,腳本語言使用JavaScript編寫的網(wǎng)上投票系
51、統(tǒng),不需要安裝客戶端程序,客戶端只需安裝瀏覽器即可,使用方便,方便升級維護,方便與Internet和Internet上的應用程序集成。3.2 需求分析需求分析是指理解用戶需求,就軟件功能與客戶達成一致,估計軟件風險和評估項目代價,最終形成開發(fā)計劃的一個復雜過程。需求分析之所以重要,就因為他具有決策性、方向性、策略性的作用,需求分析是軟件定義的最后一個階段,它的基本任務是回答“系統(tǒng)必須做什么” 這個問題。需求分析的任務不是確定系統(tǒng)怎樣完成他的工作,而僅僅是確定系統(tǒng)完成哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求,它在軟件開發(fā)的過程中具有舉足輕重的地位。系統(tǒng)初步調(diào)查的主要目標是從系統(tǒng)
52、分析人員和管理人員的角度看新項目開發(fā)有無必要和可能,其基本內(nèi)容包括:系統(tǒng)的基本情況、系統(tǒng)信息處理情況和系統(tǒng)資源情況。伴隨網(wǎng)絡的發(fā)展,網(wǎng)民的數(shù)量急劇增加,社會的信息化強度增強,企業(yè)競 爭之激烈,故對市場信息的把握范圍不僅僅是周邊的一些信息,而應把范圍擴展到全國,以至全世界,網(wǎng)絡恰恰是完成這目標的有利工具.對于新產(chǎn)品,新觀點的調(diào)查范圍應當更廣泛,消息應當及時反饋給企業(yè)單位,故一個網(wǎng)上在線投票系統(tǒng)應允而生,它正好充分滿意客戶的需求,信息反饋的范圍擴大,人力資源的節(jié)省,從而使得企業(yè)在競爭激烈的市場中擁有更強盛的資本.開發(fā)此投票系統(tǒng)是為了更好的把市場的信息更準確更快速的反饋給客戶,使信息的來源更廣泛,從
53、而提高信息的準確性.運用此系統(tǒng)可以降低企業(yè)為市場調(diào)查而消耗的人力和物力,利用節(jié)省的資源提高產(chǎn)品的質(zhì)量,增強競爭力。獨具匠心的網(wǎng)站規(guī)劃設計就像一幢宏偉的建筑前期的規(guī)劃設計一樣,要進行認真、科學總體規(guī)劃,之后才可以“破土動工”。3.3 可行性分析3.3.1 經(jīng)濟性服務器端的安裝簡潔明了,客戶機無需再裝任何軟件,通過瀏覽器就可以直接訪問,可以直接接入Internet,無論您身在何處,只要您可以訪問Internet都可以使用本系統(tǒng)?,F(xiàn)在的開發(fā)工具都可以在網(wǎng)上免費下載,并且技術上也不存在什么難題,利用現(xiàn)有的開發(fā)工具,就可以對本系統(tǒng)進行開發(fā)。系統(tǒng)本身簡單適用,毫無疑問在經(jīng)濟上是可行的。3.3.2 技術性本
54、系統(tǒng)可用普通的PC,windows XP ,對硬件無很大要求?;炯夹g需求如下:(1) 操作系統(tǒng):Windows XP及以上服務器版本;(2) 數(shù)據(jù)庫管理系統(tǒng):SQL Server2005;(3) 編程工具:MyEclipseMyEclipse(4) 開發(fā)語言:Java, 主要使用了J2EE的技術java是一種面向?qū)ο缶幊陶Z言,簡單易學而且靈活方便。大學期間就學習了java課程,也系統(tǒng)的了解了J2EE的知識,網(wǎng)上投票系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫的設計和操作是本系統(tǒng)設計的核心。在大學期間學習過軟件工程,軟件測試,UML統(tǒng)一建模語言等課程,每個學期也會完成對應的課程設計,具備一定的系統(tǒng)分析、設計
55、和測試能力。因此,完成系統(tǒng)實現(xiàn)在技術上完全具有可行性。3.3.3 操作性本系統(tǒng)操作簡單,輸入信息頁面大多數(shù)都是下拉框的選擇形式,在某些頁面,信息可以自動生成,無需輸入,時間的輸入也是用的日歷控件,操作簡便,對用戶的要求很低,只需對WINDOWS操作熟練,而且本系統(tǒng)可視性非常好,所以在技術上不會有很大難度。3.3.4 法律性本系統(tǒng)是自行開發(fā)的管理系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫都是開源代碼,開發(fā)這個系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權等問題.即法律上是可行的。3.4 問題分析本在線投票系統(tǒng)具有的特點:其一:方便的操作。原有的手工投票管理基本上是人工操作,效率低下,缺乏方
56、便性,在線投票管理系統(tǒng)運用計算機和其他附加設備,不再需要手工操作,基本上是全自動化能夠節(jié)省人力、最大限度地利用各種寶貴的資源,大大的提高了效率。其二:友好的界面。友好的用戶界面會給人一種親切的感覺,在使用起來不會覺得沉悶,效率自然也會提高了。 其三:強大的功能,網(wǎng)上投票系統(tǒng)可以快速,真實的反應出你的投票結果和他人的投票結果,而不必等待最終結果。其四:完全的真實性,每個人都可以看見自己的或者他人的投票的增加,防止了以往的暗箱操作。3.5 分析模型(1) 投票首頁模塊:該模塊面向?qū)ο鬄樗性L問頁面用戶,其中包括:管理員和用戶。(2) 投票實現(xiàn)模塊:此模塊供用戶對投票項目進行投票所用。不同的用戶具有不同的功能,管理員對問卷內(nèi)容具有增刪改的功能,普通用戶只能在線進行問卷調(diào)查。(3) 投票結果模塊:此模塊提供用戶查看該項目已有的投票情況。投票結果顯示面會顯示投票選項的總得票數(shù)。(4) 管理員登錄模塊:該模塊用于管理員的登錄。登錄驗證通過以后,管理員才可以對投票信息進行維護。如增刪投票項目。(5) 投票管理模塊:此模塊為管理員操作的模塊。管理員登入系統(tǒng)后,可對本系統(tǒng)的所有投票項目進行相應的管理,如:添加投票項目,刪除投票項目。4 系統(tǒng)概要設計4.1 系統(tǒng)設計概述系統(tǒng)設計是在系統(tǒng)分析的基礎上由抽象到具體的過程,同時,還應考慮到系統(tǒng)所實現(xiàn)的內(nèi)外環(huán)境和主客觀條件,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人雇傭合同模板
- 2025年國際信貸合同(三)
- 中外合資生產(chǎn)制造合同(有限責任)
- 個人經(jīng)營性借款合同范例
- 中外勞務派遣合同樣式參考
- 二手房交易合同終止合同書
- 個人墓地購置合同細則
- 事業(yè)單位臨時工勞動合同條款
- 委托貸款借款協(xié)議書年
- IT行業(yè)合同聘用細則及范本
- 華為人才發(fā)展與運營管理
- 2024年廣州金融控股集團有限公司招聘筆試沖刺題(帶答案解析)
- 中國食物成分表2018年(標準版)第6版
- 卓有成效的管理者讀后感3000字
- 七年級下冊-備戰(zhàn)2024年中考歷史總復習核心考點與重難點練習(統(tǒng)部編版)
- 巖土工程勘察服務投標方案(技術方案)
- 實驗室儀器設備驗收單
- 新修訂藥品GMP中藥飲片附錄解讀課件
- 蒙特利爾認知評估量表北京版
- 領導干部個人有關事項報告表(模板)
- GB/T 7631.18-2017潤滑劑、工業(yè)用油和有關產(chǎn)品(L類)的分類第18部分:Y組(其他應用)
評論
0/150
提交評論