




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鄭 重 聲 明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包括任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)的成果作品。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。本人簽名: 日期: 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)學(xué)生姓名專業(yè)班級(jí)指導(dǎo)教師工作單位題 目電子投票系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)1. 設(shè)計(jì)(論文)主要內(nèi)容在如下的開(kāi)發(fā)環(huán)境:Windows Xp、 .NET開(kāi)發(fā)環(huán)境(Visual Studio 2008)及數(shù)據(jù)庫(kù)系統(tǒng)工具(SQL Server 2005)上開(kāi)發(fā)一個(gè)電子投票系統(tǒng)管理系統(tǒng)。其主要功能包括:投票人主要功能需求:投票人的投票方式 投票人了解候選
2、人的方式。 管理人員的主要功能初始化候選人信息:瀏覽候選人簡(jiǎn)介:修改候選人簡(jiǎn)介:查詢投票情況:清除投票信息:安全管理:2. 要求完成的主要任務(wù)及其時(shí)間安排要求完成的主要任務(wù):1. 查閱資料,寫(xiě)出不低于10篇參考文獻(xiàn)(其中至少有2篇外文文獻(xiàn))的參考文獻(xiàn)資料;2. 進(jìn)行方案論證;寫(xiě)出開(kāi)題報(bào)告;3. 進(jìn)行總體設(shè)計(jì)和詳細(xì)設(shè)計(jì);完成軟、硬件設(shè)計(jì)4. 完成系統(tǒng)的聯(lián)調(diào);按系統(tǒng)設(shè)計(jì)要求,能獨(dú)立運(yùn)行演示程序5. 撰寫(xiě)論文并準(zhǔn)備答辯;要求論文語(yǔ)言通順,整篇論文不少于10000漢字;時(shí)間安排:1、3月2日前(第二周周三)下設(shè)計(jì)任務(wù)書(shū) 。2、3月18日前(第四周末)完成開(kāi)題報(bào)告并提交開(kāi)題報(bào)告給指導(dǎo)教師審閱、批復(fù)。3、
3、3月7日5月20日(第3至13周)為系統(tǒng)設(shè)計(jì)與撰寫(xiě)論文時(shí)間。其間:(1)畢業(yè)設(shè)計(jì)的期中檢查定第89周;(2)文獻(xiàn)摘要的提交時(shí)間在4月8日(第7周)前;(3)5月16日20日(第13周)指導(dǎo)教師初閱論文,學(xué)生修改論文;4、5月23日5月28日(第14周)為答辯小組內(nèi)交換評(píng)閱論文,學(xué)生進(jìn)行答辯準(zhǔn)備。5、5月30日6月1日(第15周)畢業(yè)答辯 。3. 參考文獻(xiàn)1 蒲鵬.Asp網(wǎng)絡(luò)編程基礎(chǔ)M. 北京:清華大學(xué)出版社,2009.2 施萍.軟件工程及軟件開(kāi)發(fā)應(yīng)用M. 北京:清華大學(xué)出版社,2009.3 曹紅根.數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)例M. 北京:清華大學(xué)出版社,2009. 指導(dǎo)教師簽名: 教研室主任簽名:畢
4、業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告題 目電子投票系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)1. 目的及意義(含國(guó)內(nèi)外的研究現(xiàn)狀分析):1.1. 設(shè)計(jì)(論文)的目的:在現(xiàn)實(shí)生活中,“投票”是經(jīng)常遇到的一項(xiàng)活動(dòng)。隨著科學(xué)的不斷進(jìn)步發(fā)展,各種各樣的“投票”在實(shí)現(xiàn)方式上已經(jīng)多樣化,電子投票作為替代傳統(tǒng)投票方式已經(jīng)被廣泛的應(yīng)用在日常生活中。傳統(tǒng)“投票”所具備的功能幾乎都在互聯(lián)網(wǎng)上進(jìn)行電子化的高效動(dòng)作實(shí)現(xiàn)。因而其應(yīng)用和發(fā)展也越來(lái)越受到人們的重視和廣泛使用。目前流行的電子投票系統(tǒng)如何設(shè)計(jì)出更加安全、可靠的電子投票系統(tǒng),已是目前迫切需要解決和關(guān)注的問(wèn)題。本系統(tǒng)就是在目前流行的電子投票系統(tǒng)上對(duì)使用范圍、安全設(shè)置、系統(tǒng)靈活性等用戶關(guān)注的問(wèn)題上進(jìn)行了較
5、大改進(jìn),從而滿足更多、更大使用范圍,更安全,更方便的網(wǎng)上應(yīng)用系統(tǒng)。1.2. 設(shè)計(jì)(論文)的意義是(理論或?qū)嶋H):隨著改革開(kāi)放和中國(guó)民主化的進(jìn)程逐步發(fā)展和深入,電子投票系統(tǒng)已成為民主選舉過(guò)程中必不可少的選舉方法之一。通過(guò)建立電子投票系統(tǒng),利用網(wǎng)絡(luò)通信的優(yōu)勢(shì)同現(xiàn)有民主選舉,就可以給投票者和組織者帶來(lái)很大的便利之處,從而方便廣大人民群眾,為中國(guó)的民主化進(jìn)程發(fā)展帶來(lái)新的生機(jī)。本系統(tǒng)的主要意義:該系統(tǒng)通過(guò)網(wǎng)絡(luò),采用投票終端,解決了傳統(tǒng)投票時(shí)的空間、時(shí)間和方式上限制,以及投票前繁瑣的準(zhǔn)備工作。本電子投票系統(tǒng)可以應(yīng)用在人員選舉、人員表決、事項(xiàng)表決、民主評(píng)議范圍;既可在無(wú)論大、小型的單個(gè)會(huì)場(chǎng)里進(jìn)行投票,也可用
6、在地域分散地多個(gè)會(huì)場(chǎng)互聯(lián)投票。整個(gè)投票過(guò)程是在信息化的手段下完現(xiàn)實(shí)時(shí)計(jì)票與統(tǒng)計(jì),做到高速度、高安全度、高保密度、高可靠度。2. 基本內(nèi)容和技術(shù)方案:設(shè)計(jì)(論文)的任務(wù)是: 投票人的投票方式:輸入要選舉的候選人的編號(hào),即可完成投票。 投票人了解候選人的方式:瀏覽候選人列表,輸入序號(hào)查詢候選人介紹。管理人員的主要功能需求: 初始化候選人信息:在系統(tǒng)投入使用前需要先將需要投票選舉的候選人信息錄入系統(tǒng)中,以便投票和查看。這個(gè)功能由管理員完成。管理員的初始化工作就是將候選人的序號(hào)、姓名和簡(jiǎn)介錄入系統(tǒng)。 瀏覽候選人簡(jiǎn)介:為隨時(shí)掌握候選人的信息,以便進(jìn)行修改,管理員有權(quán)瀏覽候選人簡(jiǎn)介。瀏覽的順序按照候選人序
7、號(hào)即可。 修改候選人簡(jiǎn)介:當(dāng)系統(tǒng)更新或候選人信息有所變化時(shí),輸入候選人序號(hào),對(duì)信息進(jìn)行修改。 查詢投票情況:管理員有權(quán)查詢當(dāng)前各個(gè)候選人得票情況,以便得出最終被選中的候選人信息。 清除投票信息:當(dāng)投票過(guò)程結(jié)束后,管理員選擇清除投票信息既可清除系統(tǒng)中所有候選人的票數(shù),使之歸零。 安全管理:管理員可以對(duì)投票人信息進(jìn)行管理,投票人只有用管理員規(guī)定的用戶名和密碼才能進(jìn)入系統(tǒng)進(jìn)行投票。管理員還可以更改用戶名、密碼和權(quán)限,并對(duì)投票人信息進(jìn)行增加、刪除、查詢、排序和初始化等操作。通過(guò)對(duì)用戶的需求調(diào)查分析,可以概括出用戶的功能需求如下:?jiǎn)芜x投票、多選投票、查看投票、投票設(shè)計(jì)。單選投票:用戶只能從多個(gè)選項(xiàng)中選取
8、一項(xiàng)進(jìn)行投票。多選投票:用戶可以從多個(gè)選項(xiàng)中選取多項(xiàng)進(jìn)行投票。查看投票:提供用戶查看當(dāng)前投票情況,投票結(jié)果以條形圖顯示。投票設(shè)計(jì):管理員可以設(shè)計(jì)不同的投票主題,及投票主題的內(nèi)容供用戶進(jìn)行投票。2.1. 系統(tǒng)模塊結(jié)構(gòu)圖依據(jù)需求分析結(jié)果,電子投票平臺(tái)可分為6個(gè)模塊:功能選擇、身份驗(yàn)證、投票人管理、候選人管理、投票區(qū)和得票區(qū)結(jié)果管理。系統(tǒng)模塊結(jié)構(gòu)如下圖所示:系統(tǒng)功能模塊圖System Function Modules2.2. 設(shè)計(jì)(論文)需要重點(diǎn)解決的問(wèn)題是:本系統(tǒng)重點(diǎn)解決的內(nèi)容是:1如何把投票人投票、管理員管理有機(jī)集成在一起,為用戶搭建了一個(gè)信息共享的平臺(tái),以幫助投票者進(jìn)行公證、準(zhǔn)確的投票,從而全
9、面提升投票系統(tǒng)更快速、更可靠、更安全、更保密。2采用結(jié)構(gòu)化的開(kāi)發(fā)流程來(lái)開(kāi)發(fā)電子投票系統(tǒng),具體設(shè)計(jì)流程或步驟;3怎樣實(shí)現(xiàn)對(duì)數(shù)據(jù)的查詢、插入、修改和刪除的操作;4怎樣實(shí)現(xiàn)簡(jiǎn)單的頁(yè)面信息合法性控制;2.3. 設(shè)計(jì)(論文)主要用到的技術(shù)方案:1. 本電子投票平臺(tái)的設(shè)計(jì)是一種遠(yuǎn)程電子投票系統(tǒng),該系統(tǒng)包括主會(huì)場(chǎng)、分會(huì)場(chǎng)、計(jì)票中心和它們之間互聯(lián)的網(wǎng)絡(luò),每個(gè)會(huì)場(chǎng)包括投票人、管理人員兩個(gè)角色的功能需求.其中投票人的主要功能需求包括: 投票人的投票方式投票人了解候選人的方式選擇;管理人員的主要功能需求包括:初始化候選人信息瀏覽或修改候選人簡(jiǎn)介查詢投票情況清除投票信息安全管理。管理員可以對(duì)投票人信息進(jìn)行管理,投票人
10、只有用管理員規(guī)定的用戶名和密碼才能進(jìn)入系統(tǒng)進(jìn)行投票。管理員還可以更改用戶名、密碼和權(quán)限,并對(duì)投票人信息進(jìn)行增加、刪除、查詢、排序和初始化等操作。通過(guò)對(duì)用戶的需求調(diào)查分析,可以概括出用戶的功能需求如下:?jiǎn)芜x投票、多選票、查看投票、投票設(shè)計(jì)。2具體設(shè)計(jì)流程如下:電子投票系統(tǒng)需求分析:主要從網(wǎng)上書(shū)店的業(yè)務(wù)活動(dòng)和客戶關(guān)系網(wǎng)進(jìn)行分析,明確在電子投票的業(yè)務(wù)環(huán)境中此系統(tǒng)應(yīng)該做什么。電子投票系統(tǒng)設(shè)計(jì):包括系統(tǒng)的功能設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì),主要解決系統(tǒng)怎樣做的問(wèn)題,使用sql server2005建立數(shù)據(jù)庫(kù),在里面存放有關(guān)投票的相關(guān)信息;在電子投票系統(tǒng)軟中,針對(duì)現(xiàn)實(shí)中所遇到的問(wèn)題提出以下功能設(shè)計(jì)方案:投票功能、管理員
11、功能等。電子投票系統(tǒng)軟件編寫(xiě):采用ASP.NET語(yǔ)言編寫(xiě)用戶界面,并同數(shù)據(jù)庫(kù)連接起來(lái)實(shí)現(xiàn)更為完整的軟件功能。電子投票系統(tǒng)軟件測(cè)試:編寫(xiě)各種測(cè)試用例測(cè)試電子投票系統(tǒng)軟件,發(fā)現(xiàn)其中的各種錯(cuò)誤并及時(shí)加以改正,加強(qiáng)該軟件的實(shí)用性。3ASP作為動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)的利器,其主要特性就體現(xiàn)在可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),利用Connection對(duì)象建立數(shù)據(jù)源和ASP程序之間的連接,建立到數(shù)據(jù)源的連接后,可以在此基礎(chǔ)上用Recordset對(duì)象或Command對(duì)象,應(yīng)用SQL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)的查詢、插入、修改和刪除的操作。4利用JavaScript來(lái)實(shí)現(xiàn)用戶合法性的輸入,這種方法是在客戶端執(zhí)行的,沒(méi)有向服務(wù)器發(fā)送請(qǐng)求,從而減少了
12、服務(wù)器的負(fù)擔(dān),易于用戶的修改,因此這種方法簡(jiǎn)單高效,可以完成一般的頁(yè)面合法性控制。3. 進(jìn)度安排:.18 熟悉課題內(nèi)容,開(kāi)題論證 完成畢業(yè)論文開(kāi)題報(bào)告;11.3.1811.3.20 查閱資料,選擇設(shè)計(jì)方案,熟悉開(kāi)發(fā)環(huán)境;確定開(kāi)發(fā)方案;11.3.1811.3.24 完成設(shè)計(jì)詳細(xì)程序流程圖以及模塊的功能 寫(xiě)好階段總結(jié);11.3.2511.3.31 進(jìn)行系統(tǒng)設(shè)計(jì)(包括系統(tǒng)的軟、硬件、及數(shù)據(jù)庫(kù)等);.30 系統(tǒng)實(shí)現(xiàn)(包括編制代碼、建立數(shù)據(jù)庫(kù)系統(tǒng)及硬件組建),接受期中檢查;11.5511.5.25 進(jìn)一步的測(cè)試,整理資料 完成畢業(yè)論文;11.5.2511.6.5
13、整理材料,準(zhǔn)備答辯,裝訂論文。4. 參考文獻(xiàn):1 馬駿,鄧居英,楊湖.C#程序設(shè)計(jì)及應(yīng)用教程M. 北京:人民郵電出版社,2010.2 樊月華.web技術(shù)應(yīng)用基礎(chǔ)M. 北京:清華大學(xué)出版社,2009.3 Matthew MacDonald,Mario Szpuszta.ASP.NET 3.5 高級(jí)程序設(shè)計(jì)M. 博思工作室,譯.第2版.北京:人名郵電出版社,2008.4 吳其慶.JSP動(dòng)態(tài)網(wǎng)站設(shè)計(jì)教程M. 北京:冶金工業(yè)出版社,2005.5 龐婭娟,房大偉,呂雙.ASP.net從入門(mén)到精通(第2版)M. 北京:清華大學(xué)出版社,2010.6 .馬躍廷.顧顏玲編著ASP.NET從入門(mén)到精通清華大學(xué)出版
14、社M. .7 陶國(guó)榮.ASP.NET數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)開(kāi)發(fā)從入門(mén)到精通M. 2.北京:人民郵電出版社,2008.8 (日)小泉 修.web技術(shù)HTTP到服務(wù)器端M. 北京:科學(xué)出版社,2004-6.9 李維.面向?qū)ο箝_(kāi)發(fā)實(shí)踐之路C#M. 北京:電子工業(yè)出版社,2005.教師指導(dǎo)意見(jiàn): 指導(dǎo)教師簽名: 日期: 年 月 日目 錄摘 要1ABSTRACT21 引言31.1 本課題的研究意義31.2 本論文的目的和內(nèi)容31.3 系統(tǒng)的主要特點(diǎn)31.4 作者的創(chuàng)新點(diǎn)32 設(shè)計(jì)目標(biāo)及要解決關(guān)鍵問(wèn)題32.1 本課題要達(dá)到的設(shè)計(jì)目標(biāo)32.2 重點(diǎn)解決的內(nèi)容和解決方案43 系統(tǒng)架構(gòu)與模型53.1 系統(tǒng)架構(gòu)描述53.2
15、 三層架構(gòu)概念53.3 系統(tǒng)架構(gòu)遵守的規(guī)則53.4 系統(tǒng)架構(gòu)優(yōu)缺點(diǎn)63.5 與MVC的區(qū)別63.6 編程模型63.6.1 Web服務(wù)模型-B/S簡(jiǎn)介63.7 數(shù)據(jù)庫(kù)設(shè)計(jì)74 系統(tǒng)具體實(shí)現(xiàn)84.1 系統(tǒng)的主要流程84.2 登錄模塊94.3 投票模塊104.4 查看候選人所有信息模塊124.5 刪除、更新投票人信息頁(yè)面134.6 添加投票人信息模塊134.7 初始化(增加)候選人信息頁(yè)面154.8 修改候選人信息模塊164.9 瀏覽與刪除候選人模塊184.10 清空得票模塊185 性能測(cè)試與分析185.1 測(cè)試環(huán)境與測(cè)試條件195.2 實(shí)例測(cè)試195.2.1 成功的實(shí)例測(cè)試195.2.2 失敗的實(shí)
16、例測(cè)試/漏洞215.3 性能分析226 結(jié)束語(yǔ)22總 結(jié)23參考文獻(xiàn)24致 謝25摘 要論文“電子投票系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)”是針對(duì)設(shè)計(jì)建立一個(gè)安全、通用、可靠的B/S投票網(wǎng)站,以適應(yīng)大多數(shù)投票系統(tǒng)的開(kāi)發(fā)過(guò)程而撰寫(xiě)的,系統(tǒng)采用Visual Studio 2008與Microsoft SQL Server 2005結(jié)合的模式、應(yīng)用及數(shù)據(jù)庫(kù)技術(shù)開(kāi)發(fā)設(shè)計(jì)了一套電子投票系統(tǒng)。論文對(duì)系統(tǒng)設(shè)計(jì)目的、意義、需要解決的關(guān)鍵問(wèn)題以及所采用的.net技術(shù)的進(jìn)行了簡(jiǎn)單介紹;對(duì)系統(tǒng)設(shè)計(jì)架構(gòu)和模型、系統(tǒng)需求分析、模塊劃分及系統(tǒng)的實(shí)現(xiàn)過(guò)程進(jìn)行了詳細(xì)介紹;并對(duì)系統(tǒng)進(jìn)行了性能分析。該系統(tǒng)滿足了大多數(shù)傳統(tǒng)投票功能要求的
17、功能,達(dá)到了電子投票的高速度、高安全度、高保密度、高可靠度的特點(diǎn)。關(guān)鍵詞:電子投票 安全 可靠 網(wǎng)上應(yīng)用系統(tǒng) 電子化ABSTRACTThesis the electronic voting system design and development is to design in establish a safety, gm, reliable B/S voting sites, in order to adapt to the development process of most voting system, the system adopts the written with Studi
18、o Visual 2008 Microsoft SQL Server 2005 the mode, application with and database technology development designed a set of electronic voting system. Papers on system design purpose, significance, needs to solve the key problems and adopted technology is simply introduced; For system de
19、sign framework and model, system requirement analysis, module partition and system realization process; a detailed introduction And on the system performance analysis. This system to satisfy the most traditional vote the functional requirements function, achieve the electronic voting high speed, hig
20、h safety, hi-fi density, high reliability characteristic.Overall this system realizes the electronic voting high speed, high safety, hi-fi density, high reliability.Key words:Electronic voting safe and reliable online application system electronic1 引言1.1 本課題的研究意義在現(xiàn)實(shí)生活中,“投票”是經(jīng)常遇到的一項(xiàng)活動(dòng)。隨著科學(xué)的不斷進(jìn)步發(fā)展,各種各
21、樣的“投票”在實(shí)現(xiàn)方式上已經(jīng)多樣化,電子投票作為替代傳統(tǒng)投票方式已經(jīng)被廣泛的應(yīng)用在日常生活中。傳統(tǒng)“投票”所具備的功能幾乎都在互聯(lián)網(wǎng)上進(jìn)行電子化的高效動(dòng)作實(shí)現(xiàn)。目前流行的電子投票系統(tǒng)如何設(shè)計(jì)出更加安全、可靠的電子投票系統(tǒng),已是目前迫切需要解決和關(guān)注的問(wèn)題。本系統(tǒng)就是在目前流行的電子投票系統(tǒng)上對(duì)使用范圍、安全設(shè)置、系統(tǒng)靈活性等用戶關(guān)注的問(wèn)題上進(jìn)行了較大改進(jìn),從而滿足更多、更大使用范圍,更安全,更方便的網(wǎng)上應(yīng)用系統(tǒng)。1.2 本論文的目的和內(nèi)容本論文的內(nèi)容是描述如何建立一個(gè)電子投票網(wǎng)站系統(tǒng),利用網(wǎng)絡(luò)通信的優(yōu)勢(shì)同現(xiàn)有民主選舉,就可以給投票者和組織者帶來(lái)很大的便利之處,從而方便廣大人民群眾,為中國(guó)的民主
22、化進(jìn)程發(fā)展帶來(lái)新的生機(jī)。1.3 系統(tǒng)的主要特點(diǎn)該系統(tǒng)通過(guò)網(wǎng)絡(luò),采用投票終端,解決了傳統(tǒng)投票時(shí)的空間、時(shí)間和方式上限制,以及投票前繁瑣的準(zhǔn)備工作。本電子投票系統(tǒng)可以應(yīng)用在人員選舉、人員表決、事項(xiàng)表決、民主評(píng)議范圍;既可在無(wú)論大、小型的單個(gè)會(huì)場(chǎng)里進(jìn)行投票,也可用在地域分散地的多個(gè)會(huì)場(chǎng)互聯(lián)投票。整個(gè)投票過(guò)程是在信息化的手段下自動(dòng)完現(xiàn)實(shí)時(shí)計(jì)票與統(tǒng)計(jì),做到高速度、高安全度、高保密度、高可靠度。1.4 作者的創(chuàng)新點(diǎn)本系統(tǒng)的創(chuàng)新之處首先是系統(tǒng)功能設(shè)計(jì)的合理性和完整性,系統(tǒng)分析了大多數(shù)投票所采取的方式,綜合取舍,最終做出此通用系統(tǒng),其次本系統(tǒng)采用了微軟最新推出的ASP.NET技術(shù),使用更方便,效率更佳。2 設(shè)
23、計(jì)目標(biāo)及要解決關(guān)鍵問(wèn)題2.1 本課題要達(dá)到的設(shè)計(jì)目標(biāo)本電子投票平臺(tái)的設(shè)計(jì)是一種遠(yuǎn)程電子投票系統(tǒng),該系統(tǒng)包括主會(huì)場(chǎng)、分會(huì)場(chǎng)、計(jì)票中心和它們之間互聯(lián)的網(wǎng)絡(luò),每個(gè)會(huì)場(chǎng)包括投票人、管理人員兩個(gè)角色的功能需求.其中投票人的主要功能包括:1) 投票人的投票方式選擇和投票2) 投票人了解候選人的方式選擇;管理人員的主要功能包括:1) 初始化候選人信息2) 編輯、瀏覽或修改候選人簡(jiǎn)介3) 查詢投票情況4) 清除投票信息5) 安全管理。管理員可以對(duì)投票人信息進(jìn)行管理,投票人只有用管理員規(guī)定已登記的用戶名和密碼才能進(jìn)入系統(tǒng)進(jìn)行投票。管理員還可以更改編輯用戶名、密碼和權(quán)限的信息,并對(duì)投票人信息進(jìn)行增加、刪除、查詢、
24、排序和初始化等操作。2.2 重點(diǎn)解決的內(nèi)容和解決方案1、業(yè)務(wù)的解決:因?yàn)樽鳛橐粋€(gè)電子投票系統(tǒng),它必須要求投票人員輸入數(shù)據(jù),然后反饋給服務(wù)器,所有想看到數(shù)據(jù)的人也必須得請(qǐng)求服務(wù)器。所以我在提供投票人員自己進(jìn)入投票頁(yè)面,而數(shù)據(jù)的流出則是仍然以頁(yè)面形式發(fā)給想要查看數(shù)據(jù)的人員,從而解決了投票數(shù)據(jù)的輸入輸出問(wèn)題。2、權(quán)限分配及管理:因?yàn)閷⒂型镀比藛T和管理人員的加入,從而同時(shí)增加了一個(gè)用戶的進(jìn)入,這是相當(dāng)于有兩個(gè)用戶的進(jìn)入這個(gè)系統(tǒng)。為了讓這兩種人在同一個(gè)系統(tǒng),必須對(duì)其權(quán)限進(jìn)行管理,從而必須對(duì)投票人員、管理員的權(quán)限進(jìn)行管理,從而達(dá)到用戶不至于越權(quán)。權(quán)限完全由管理員來(lái)控制。3、數(shù)據(jù)庫(kù):投票涉及的三個(gè)對(duì)象,其數(shù)
25、據(jù)分成兩張表:存放投票人員、管理人員登錄系統(tǒng)的賬號(hào)、和密碼及角色的user表,以及存放候選人信息的候選人表。4、開(kāi)發(fā)平臺(tái):選擇visual studio 2008它為我們提供了一個(gè)平臺(tái),你可以在上面用c、c+、c#、vc+、VB等語(yǔ)言開(kāi)發(fā)。它有良好系統(tǒng)優(yōu)化處理機(jī)制,使得系統(tǒng)運(yùn)行更快,再加上它的優(yōu)秀因?yàn)楝F(xiàn)在99%的操作系統(tǒng)是windows,所以選擇了它。5、開(kāi)發(fā)語(yǔ)言使用:C#是一個(gè)具有結(jié)合c、c+之優(yōu)點(diǎn),摒棄它們的缺點(diǎn)指針,從而避免了解決內(nèi)存溢出的弊病。6、數(shù)據(jù)庫(kù)工具選擇:本系統(tǒng)采用SQL Server 2005數(shù)據(jù)庫(kù)系統(tǒng)。因?yàn)橥镀睂?duì)數(shù)據(jù)庫(kù)的要求比較高,他只需要基本的海量查找,不需要進(jìn)行決策分析
26、,還要為以后的web開(kāi)發(fā)提供接口。因?yàn)锳ccess只是一個(gè)微型數(shù)據(jù)庫(kù),雖然它對(duì)硬件要求不高,但它適合于少量數(shù)據(jù)遍歷及查找,最重要的是它只能滿足主機(jī)既是服務(wù)器又是客戶端;而oracle是一個(gè)重量性數(shù)據(jù)庫(kù),它滿足所有條件,但它從數(shù)據(jù)庫(kù)維護(hù)成本及購(gòu)買(mǎi)成本上考慮,都遠(yuǎn)遠(yuǎn)超過(guò)server2000/2005數(shù)據(jù)庫(kù)的成本。經(jīng)過(guò)以上比較,所以本系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)采用SQL server 2005.7、數(shù)據(jù)庫(kù)的訪問(wèn)方式:數(shù)據(jù)庫(kù)的訪問(wèn)方式有ODBC、OLDB、ADO、ADO.NET等。但是因?yàn)樵谕镀敝欣镄枰闅v大量,每次需要讀取的不是一條記錄,而是一個(gè)數(shù)據(jù)集合,因?yàn)樵贏DO.NET中提供了五大對(duì)象command、ad
27、apter、dataset、connection、dataread,它提供了單個(gè)記錄和數(shù)據(jù)集合兩種數(shù)據(jù)類型,再加上它連接簡(jiǎn)單,所需要的外設(shè)資源比較少,它為開(kāi)發(fā)者提供了許多便利之處。8、模塊化:因?yàn)樵陂_(kāi)發(fā)的過(guò)程中,會(huì)有許多方法是相同的,將方法進(jìn)行提取,從而建立一個(gè)個(gè)類,并將方法定義為靜態(tài),從而減少了類的定義,就可直接使用該方法,這樣大大減少了代碼的維護(hù)和在編寫(xiě)代碼時(shí)的工作量和在開(kāi)發(fā)時(shí)當(dāng)發(fā)現(xiàn)邏輯存在問(wèn)題時(shí)一下子就知道哪里出了問(wèn)題,直入問(wèn)題要點(diǎn)之處。3 系統(tǒng)架構(gòu)與模型3.1 系統(tǒng)架構(gòu)描述本系統(tǒng)采用ASP.NET的典型三層架構(gòu),即表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問(wèn)層(DAL)。1區(qū)分層次的
28、目的即為了“高內(nèi)聚,低耦合”的思想。所以只要把本系統(tǒng)的三層架構(gòu)描述清楚,系統(tǒng)的架構(gòu)就一目了然,系統(tǒng)架構(gòu)如圖3.1所示。圖3.1 三層之間的關(guān)系3.2 三層架構(gòu)概念在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見(jiàn),也是最重要的一種結(jié)構(gòu)。微軟推薦的分層式結(jié)構(gòu)一般分為三層,從下至上分別為:1) 表現(xiàn)層(UI):通俗講就是展現(xiàn)給用戶的界面,即用戶在使用一個(gè)系統(tǒng)時(shí)他的所見(jiàn)所得。本系統(tǒng)的展示界面就是UI層。2) 業(yè)務(wù)邏輯層(BLL):針對(duì)具體問(wèn)題的操作,也可以說(shuō)是對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理。本系統(tǒng)建立了一個(gè)BLL類庫(kù),實(shí)現(xiàn)此層。3) 數(shù)據(jù)訪問(wèn)層(DAL):該層所做事務(wù)直接操作數(shù)據(jù)庫(kù),針對(duì)數(shù)據(jù)的增添、刪除、
29、修改、更新、查找等。本系統(tǒng)建立了一個(gè)DAL類庫(kù),實(shí)現(xiàn)此層。3.3 系統(tǒng)架構(gòu)遵守的規(guī)則1) 最關(guān)鍵的, UI層只能作為一個(gè)外殼, 2不能包含任何BizLogic的處理過(guò)程。2) 設(shè)計(jì)時(shí)從BLL出發(fā), 而不是UI出發(fā). BLL層在API上應(yīng)該實(shí)現(xiàn)所有BizLogic, 以面向?qū)ο蟮姆绞健?) 不管數(shù)據(jù)層是一個(gè)簡(jiǎn)單的SqlHelper也好, 還是帶有Mapping過(guò)的Classes也好, 應(yīng)該在一定的抽象程度上做到系統(tǒng)無(wú)關(guān)。4) 在設(shè)計(jì)的時(shí)候還做這樣的考慮, 更遠(yuǎn)的, 還得考慮多臺(tái)服務(wù)器通過(guò)負(fù)載均衡作集群。3.4 系統(tǒng)架構(gòu)優(yōu)缺點(diǎn)三層架構(gòu)的優(yōu)點(diǎn)1) 開(kāi)發(fā)人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的其中某一層。2) 可以
30、很容易的用新的實(shí)現(xiàn)來(lái)替換原有層次的實(shí)現(xiàn)。3) 可以降低層與層之間的依賴。4) 有利于標(biāo)準(zhǔn)化。5) 利于各層邏輯的復(fù)用。三層架構(gòu)的缺點(diǎn)1) 降低了系統(tǒng)的性能。2) 有時(shí)會(huì)導(dǎo)致級(jí)聯(lián)的修改。與MVC的區(qū)別MVC(模型Model-視圖View-控制器Controller)是一種設(shè)計(jì)模式,我們可以用它來(lái)創(chuàng)建在域?qū)ο蠛蚒I表示層對(duì)象之間的區(qū)分。同樣是架構(gòu)級(jí)別的,相同的地方在于他們都有一個(gè)表現(xiàn)層,但是他們不同的地方在于其他的兩個(gè)層。3在三層架構(gòu)中沒(méi)有定義Controller的概念。這是我認(rèn)為最不同的地方。而MVC也沒(méi)有把業(yè)務(wù)的邏輯訪問(wèn)看成兩個(gè)層,這是采用三層架構(gòu)或MVC搭建程序最主要的區(qū)別。當(dāng)然了。在三層中
31、也提到了Model,但是三層架構(gòu)中Model的概念與MVC中Model的概念是不一樣的,“三層”中典型的Model層是以實(shí)體類構(gòu)成的,而MVC里,則是由業(yè)務(wù)邏輯與訪問(wèn)數(shù)據(jù)組成的。3.5 編程模型3.5.1 Web服務(wù)模型-B/S簡(jiǎn)介本系統(tǒng)模型采用目前流行的B/S系統(tǒng)模型, B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。4它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)這樣就大大簡(jiǎn)
32、化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò),并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、速度快、效果優(yōu)。6隨著Internet和WWW的流行,以往的主機(jī)/終端和C/S都無(wú)法滿足當(dāng)前
33、的全球網(wǎng)絡(luò)開(kāi)放、互連、信息隨處可見(jiàn)和信息共享的新要求,于是就出現(xiàn)了B/S型模式,5即瀏覽器/服務(wù)器結(jié)構(gòu)。B/S模式最大特點(diǎn)是:用戶可以通過(guò)WWW瀏覽器去訪問(wèn)Internet上的文本、數(shù)據(jù)、圖像、動(dòng)畫(huà)、視頻點(diǎn)播和聲音信息,這些信息都是由許許多多的Web服務(wù)器產(chǎn)生的,而每一個(gè)Web服務(wù)器又可以通過(guò)各種方式與數(shù)據(jù)庫(kù)服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫(kù)服務(wù)器中??蛻舳顺薟WW瀏覽器,一般無(wú)須任何用戶程序,只需從Web服務(wù)器上下載程序到本地來(lái)執(zhí)行,在下載過(guò)程中若遇到與數(shù)據(jù)庫(kù)有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫(kù)服務(wù)器來(lái)解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的
34、網(wǎng)連接到一塊,形成一個(gè)巨大的網(wǎng),即全球網(wǎng)。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Intranet。3.6 數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)的數(shù)據(jù)庫(kù)的設(shè)計(jì)比較簡(jiǎn)單,就設(shè)計(jì)了2張表:用戶表,候選人表。1.用戶表鑒于本系統(tǒng)使用者只有投票人員和管理人員,可以只建立一張用戶表,用來(lái)在用戶登錄時(shí)對(duì)其進(jìn)行用戶名、密碼的驗(yàn)證,以及判別身份角色選擇進(jìn)入的對(duì)應(yīng)頁(yè)面。這張表結(jié)構(gòu)里面的說(shuō)明如表3-1所示:表3-1 用戶表字段名數(shù)據(jù)類型代表說(shuō)明允許為空否idint表主鍵表的一條記錄標(biāo)志否UserNamevarchar(20)用戶名用戶登錄賬號(hào)是UserAgeint用戶年齡大于20小于50是UserSexvarchar(2)用戶性別男
35、或女是UserPasswdvarchar(20)密碼用戶登錄的密碼是UserRolevarchar(20)角色登錄時(shí)判斷角色依據(jù)是在數(shù)據(jù)庫(kù)中建立表的語(yǔ)句如下:-創(chuàng)建用戶表create table T_User(-主鍵id int identity(1001,1) primary key,-用戶名UserName varchar(20),-年齡UserAge int check(UserAge20 and UserAge20 and CandidateAge 50),-得票數(shù),默認(rèn)票CandidateVotes int ,-圖片srcImage varchar(30),-介紹背景的文本Conte
36、xt varchar(2000)4 系統(tǒng)具體實(shí)現(xiàn)4.1 系統(tǒng)的主要流程系統(tǒng)層次圖如圖4.1所示圖4.1 系統(tǒng)的層次圖4.2 登錄模塊登錄模塊如圖4.2所示:圖4.2 登錄界面普通的登錄很簡(jiǎn)單,就一用戶名,密碼,驗(yàn)證即可,本模塊也是如此,在用戶輸入用戶名和密碼后,首先驗(yàn)證此用戶存在,接著如果存在驗(yàn)證對(duì)應(yīng)的密碼是否正確,密碼正確后,然后根據(jù)其角色選擇其登錄之后的頁(yè)面,登錄程序流程如圖4.3所示圖4.3 登錄流程圖4.3 投票模塊投票的用戶上線后就會(huì)轉(zhuǎn)到對(duì)應(yīng)的投票頁(yè)面,這個(gè)頁(yè)面首先以列表的形式顯示所有候選人的基本信息:編號(hào),姓名,性別,年齡,得票數(shù),用戶可以直接輸入其編號(hào)投票,也可以選中某個(gè)候選人,
37、再點(diǎn)投票按鈕,不顯示頭像,背景介紹等信息,每條候選人信息之后加一個(gè)連接:“顯示更多信息”,用戶一點(diǎn)擊,就直接進(jìn)入一個(gè)頁(yè)面,顯示此候選人的所有信息。投票模塊如圖4.4所示:4.4 投票頁(yè)面這里用到了一個(gè)服務(wù)器端的控件repeater,頁(yè)面加載的時(shí)候就進(jìn)行與查詢的數(shù)據(jù)綁定操作,即先從數(shù)據(jù)庫(kù)中得到查詢的數(shù)據(jù)table,類型為DataTable型的,設(shè)置其DataSource屬性設(shè)置其此數(shù)據(jù)源,然后調(diào)用其databind()方法實(shí)現(xiàn)數(shù)據(jù)綁定。這一動(dòng)作流程后臺(tái)詳細(xì)步驟是,一開(kāi)始就綁定了數(shù)據(jù),頁(yè)面重新請(qǐng)求就會(huì)刷新數(shù)據(jù)。,大致流程是: “用戶頁(yè)面請(qǐng)求-服務(wù)器處理-服務(wù)器交給數(shù)據(jù)庫(kù)服務(wù)器查詢數(shù)據(jù)-數(shù)據(jù)庫(kù)把數(shù)據(jù)
38、返回給服務(wù)器-服務(wù)器形成html頁(yè)面返回給客戶端”這樣一個(gè)c/s流程了。如上一個(gè)頁(yè)面所示:每條記錄后面有一個(gè)超鏈接,點(diǎn)“選擇”,頁(yè)面中的文本框就會(huì)出現(xiàn)對(duì)應(yīng)的候選人的編號(hào),投票人點(diǎn)擊“投票”就會(huì)給投票人加上一票。這個(gè)流程如圖4.5所示:圖4.5 投票流程圖此按鈕對(duì)應(yīng)的事件代碼見(jiàn)附錄。4.4 查看候選人所有信息模塊在投票頁(yè)面仍然有另一個(gè)鏈接“查看更多信息”,此鏈接為展示數(shù)據(jù)庫(kù)中關(guān)于一個(gè)候選人的所有信息,展示頁(yè)面如圖4.6所示:圖4.6 顯示候選人所有信息頁(yè)面此頁(yè)面需要請(qǐng)求,如果沒(méi)有要求投票人員手動(dòng)輸入以顯示,所以專門(mén)用了一個(gè)文本框方便投票人員輸入候選人編號(hào),點(diǎn)“查詢”按鈕查詢。此頁(yè)面用到幾個(gè)服務(wù)器
39、端控件。投票人員在投票頁(yè)面向服務(wù)器請(qǐng)求此頁(yè)面,請(qǐng)求鏈接中帶候選人編號(hào),或者用戶手動(dòng)輸入候選人編號(hào),向服務(wù)器請(qǐng)求候選人信息。服務(wù)器會(huì)根據(jù)候選人編號(hào)向數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求,獲得數(shù)據(jù)后形成候選人信息頁(yè)面返回給客戶端。執(zhí)行代碼:見(jiàn)附錄以下的功能都是管理人員功能。4.5 刪除、更新投票人信息頁(yè)面這個(gè)頁(yè)面其實(shí)主要實(shí)現(xiàn)了刪除功能,當(dāng)然也實(shí)現(xiàn)了查看投票人員的功能,修改則是在另一個(gè)頁(yè)面做的,修改頁(yè)面跟添加頁(yè)面差不多,所以就不多講了,此頁(yè)面用到上面已使用過(guò)的控件repeater。使用方法仍然相同,首先從數(shù)據(jù)庫(kù)獲得數(shù)據(jù),然后設(shè)置其數(shù)據(jù)源為此數(shù)據(jù),然后綁定即可。不同的是在每條數(shù)據(jù)的后面加了兩個(gè)超鏈接:刪除、更新。刪除:用戶
40、一點(diǎn)擊,即刪除此用戶,頁(yè)面即時(shí)刷新。更新:用戶點(diǎn)擊之后轉(zhuǎn)到另一個(gè)修改頁(yè)面,這個(gè)頁(yè)面流程跟添加差不多,但是調(diào)用的訪問(wèn)數(shù)據(jù)庫(kù)的方法不一樣。獲取的投票人員id的方式是通過(guò)url請(qǐng)求中包含的方式。此頁(yè)面界面如圖4.7所示:圖4.7 刪除與更新投票人員的頁(yè)面此頁(yè)面重點(diǎn)是兩個(gè)連接,在服務(wù)器端采用了linkbutton控件,這樣可以給其點(diǎn)擊事件,管理員就可以跟服務(wù)器交互。執(zhí)行代碼: 見(jiàn)附錄4.6 添加投票人信息模塊此頁(yè)面實(shí)現(xiàn)對(duì)投票用戶的添加,頁(yè)面比較簡(jiǎn)單,其實(shí)考慮到有很多用戶投票,這樣的方法添加還是慢了許多,對(duì)于小規(guī)模投票還可以,大規(guī)模、人數(shù)上萬(wàn)的投票需要讓用投票人員自己注冊(cè)賬號(hào)吧,所以在用戶投票界面做了一
41、個(gè)投票人員注冊(cè)的界面。添加投票人員界面如圖4.8所示。圖4.8 添加投票人員這個(gè)界面相當(dāng)于注冊(cè),但是是由管理員進(jìn)行操作注冊(cè)的,后臺(tái)程序首先判斷有沒(méi)有文本框?yàn)榭?,然后判斷用戶名是否存在,最后判斷密碼和確認(rèn)密碼是否一致,然后添加。程序的流程如圖4.9所示:圖4.9 添加投票人員頁(yè)面流程圖執(zhí)行代碼: 見(jiàn)附錄4.7 初始化(增加)候選人信息頁(yè)面這個(gè)頁(yè)面看著比較復(fù)雜,其實(shí)就是傳遞的信息多一點(diǎn)而已,這在設(shè)計(jì)候選人的信息表就決定了的。候選人的信息有編號(hào)、姓名、性別、年齡、得票數(shù)、候選人簡(jiǎn)介。展示的頁(yè)面直接用文本展示即可,由于考慮到修改和查詢。所以將編號(hào)用戶文本框顯示。下面加兩個(gè)按鈕,實(shí)現(xiàn)上述功能。查看一位候
42、選人頁(yè)面如圖4.10所示:圖4.10 查看候選人頁(yè)面此頁(yè)面借助服務(wù)器端的控件,label標(biāo)簽,image控件,以及textbox控件。后臺(tái)代碼就是查詢數(shù)據(jù)庫(kù),設(shè)置這些控件先什么內(nèi)容了。程序流程過(guò)于簡(jiǎn)單就不詳述了。4.8 修改候選人信息模塊1、在上一個(gè)頁(yè)面有“修改”按鈕,所以管理員可以直接點(diǎn)擊進(jìn)入修改頁(yè)面。當(dāng)然也可以直接進(jìn)入修改頁(yè)面,讓管理員手動(dòng)輸入候選人編號(hào)查詢之后在修改。這個(gè)頁(yè)面界面如圖4.11所示:圖4.11 修改候選人頁(yè)面這個(gè)頁(yè)面在管理員點(diǎn)擊“修改”按鈕時(shí),首先獲取候選人的信息,然后根據(jù)這些信息修改相關(guān)候選人。修改調(diào)用訪問(wèn)數(shù)據(jù)庫(kù)的修改單個(gè)候選人的方法。值得一提的是程序中用到得上傳圖片功能
43、:使用的是服務(wù)器端控件FileUpload。通過(guò)這個(gè)控件就可獲得管理員上傳文件的所有信息,例如文件名、大小、類型等。當(dāng)點(diǎn)擊“上傳”按鈕時(shí)圖片文件就會(huì)上傳,并在一個(gè)標(biāo)簽里顯示上傳成功否。另一個(gè)標(biāo)簽里存放此圖片的文件名,默認(rèn)對(duì)用戶不顯示。2、 頁(yè)面流程上傳圖片的流程如圖4.12所示:圖4.12 初始化候選人模塊流程3.上傳圖片模塊圖4.13 上傳文件流程圖執(zhí)行代碼:見(jiàn)附錄4.9 瀏覽與刪除候選人模塊瀏覽候選人信息,如法炮制,repeater控件的使用。刪除候選人的關(guān)鍵在于獲取獲選人的編號(hào),本系統(tǒng)設(shè)置了兩種獲取方法: 1.管理員直接手動(dòng)輸入編號(hào),提交頁(yè)面,點(diǎn)擊刪除按鈕請(qǐng)求刪除。2.直接點(diǎn)擊刪除鏈接,
44、刪除對(duì)應(yīng)的候選人。界面如圖4.13所示:圖4.13瀏覽與刪除候選人界面本頁(yè)面的關(guān)鍵在于獲取管理員選取的候選人編號(hào),因?yàn)槭琼?yè)面,采用服務(wù)器端linkbutton控件做超鏈接,鏈接“刪除”和“選擇”,對(duì)應(yīng)于此兩個(gè)linkbutton有兩個(gè)處理事件,在這兩個(gè)處理事件中實(shí)現(xiàn)刪除、選擇的方法。基于事件處理的機(jī)制,所以直接在處理事件方法中。4.10 清空得票模塊這個(gè)頁(yè)面候選人員可以瀏覽按票數(shù)排名的所有候選人,最下面有一個(gè)清空投票按鈕,用戶清空所有投票。清空投票界面如圖4.14所示:圖4.14 候選人票數(shù)瀏覽、清空界面5 性能測(cè)試與分析5.1 測(cè)試環(huán)境與測(cè)試條件測(cè)試環(huán)境:8Visual Stu
45、dio 2008 內(nèi)部集成了一個(gè)小型的iis服務(wù)器,可用于測(cè)試ASP.NET程序。所以本系統(tǒng)所有的測(cè)試與實(shí)驗(yàn)就在IDE內(nèi)直接測(cè)試即可。測(cè)試條件:輸入:點(diǎn)擊頁(yè)面執(zhí)行數(shù)據(jù)的增、刪、查、改操作,本系統(tǒng)的頁(yè)面就是用戶展示數(shù)據(jù),真正的后臺(tái)代碼執(zhí)行之后會(huì)修改數(shù)據(jù)庫(kù)的數(shù)據(jù)。輸出:修改之后用DBMS(本系統(tǒng)采用Sql server Manager Studio)查看數(shù)據(jù)的改變檢驗(yàn)系統(tǒng)是否對(duì)給定的輸入有確定的輸出。5.2 實(shí)例測(cè)試縱觀本系統(tǒng),涉及到修改數(shù)據(jù)的地方是管理人員修改投票人的信息,以及修改候選人的信息。所以就以這兩個(gè)模塊做測(cè)試。5.2.1 成功的實(shí)例測(cè)試1.修改投票人的信息修改之前的數(shù)據(jù)庫(kù)總user表的
46、內(nèi)容如圖5.1所示圖5.1修改之前的數(shù)據(jù)庫(kù)中表T_ser內(nèi)容投票人的信息很少,就一個(gè)用戶名和密碼:修改這個(gè)密碼試試,原來(lái)的查看頁(yè)面顯示如圖5.2所示:圖5.2 投票人員賬戶信息點(diǎn)擊“更新”,轉(zhuǎn)頁(yè)面修改:這里把密碼改為,如圖5.3所示:圖5.3 修改密碼點(diǎn)擊修改按鈕,修改成功之后,再查看投票人員頁(yè)面觀察到如圖5.4所示:圖5.4 修改成功修改之后數(shù)據(jù)庫(kù)中的數(shù)據(jù)截圖,如圖5.5所示:圖5.5 數(shù)據(jù)庫(kù)中修改成功之后的數(shù)據(jù)2.修改候選人的信息候選人的信息較多,要修改的例如姓名/性別/年齡/頭像等,修改之前的候選人表如圖5.6所示圖5.6 修改之前的數(shù)據(jù)庫(kù)中Candiate表截圖頁(yè)面初始值如下如圖5.7
47、所示:圖 5.7 候選人初始信息這里修改性別為“女”,頭像也換了,年齡修改為:21,修改成功之后,如圖5.8所示。圖5.8 修改之后的候選人信息數(shù)據(jù)庫(kù)中的數(shù)據(jù)如圖5.9所示:圖5.9 修改后的數(shù)據(jù)庫(kù)內(nèi)容5.2.2 失敗的實(shí)例測(cè)試/漏洞這里講述兩個(gè)個(gè)系統(tǒng)的bug,其實(shí)完全不用賬號(hào)也可以使用本系統(tǒng),如果攻擊黑客直接申請(qǐng)修改之類的頁(yè)面,例如changeInfo.aspx是本系統(tǒng)修改單個(gè)候選人信息的頁(yè)面,攻擊者只需要在瀏覽器地址欄輸入:http:/localhost:1063/changeInfo.aspx,(也許端口不一樣),就可以就進(jìn)入系統(tǒng)肆意修改候選人等的信息。9另外還有登錄時(shí)也有bug:XSS
48、漏洞,登錄時(shí)用戶名隨意填,密碼為“1 or true”,也可登錄。改進(jìn)第一個(gè)bug的方法:10在服務(wù)器端采用Session技術(shù),登錄一個(gè)用戶,就建立一個(gè)與之對(duì)應(yīng)的Session,用戶請(qǐng)求頁(yè)面時(shí)根據(jù)Sesion判斷用戶是否登錄,否,就提示用戶登錄。5.3 性能分析總的來(lái)說(shuō)本系統(tǒng)在功能和安全性方面達(dá)到了預(yù)期的要求,實(shí)現(xiàn)了該系統(tǒng)通過(guò)網(wǎng)絡(luò),采用投票終端,解決了傳統(tǒng)投票時(shí)的空間、時(shí)間和方式上限制,以及投票前繁瑣的準(zhǔn)備工作。本電子投票系統(tǒng)可以應(yīng)用在人員選舉、人員表決、事項(xiàng)表決、民主評(píng)議范圍;既可在無(wú)論大、小型的單個(gè)會(huì)場(chǎng)里進(jìn)行投票,也可用在地域分散地多個(gè)會(huì)場(chǎng)互聯(lián)投票,整個(gè)投票過(guò)程是在信息化的手段下完現(xiàn)實(shí)時(shí)計(jì)
49、票與統(tǒng)計(jì),做到高速度、高安全度、高保密度、高可靠度。6 結(jié)束語(yǔ)總的來(lái)說(shuō),對(duì)于這次畢業(yè)設(shè)計(jì)收獲良多,從一開(kāi)始什么思路都沒(méi)有,到后來(lái)一點(diǎn)點(diǎn)兒的查找ASP.NET技術(shù)資料,甚至從網(wǎng)上下載教學(xué)視屏觀看,做到現(xiàn)在真的覺(jué)得做出這個(gè)系統(tǒng)不是一件很容易的事情。理論的東西找了一大堆,看的時(shí)候也感覺(jué)懂了些,直到真正動(dòng)手做的時(shí)候卻蒙了,想了很久才能解決一些細(xì)節(jié)問(wèn)題。數(shù)據(jù)庫(kù)方面的東西,完全從頭學(xué)起,心想著以前上數(shù)據(jù)庫(kù)的課學(xué)的東西真是膚淺,C#語(yǔ)言,上學(xué)期學(xué)了點(diǎn),寫(xiě)起程序從語(yǔ)法的琢磨到后來(lái)寫(xiě)出很復(fù)雜的程序,這個(gè)過(guò)程提高了我的學(xué)習(xí)能力。對(duì)于小型系統(tǒng)/網(wǎng)站的設(shè)計(jì)有了進(jìn)一步的認(rèn)識(shí)。期間受到了同學(xué)和老師的很多幫助、指導(dǎo),萬(wàn)分感
50、謝!總 結(jié)2011年3月,我開(kāi)始了我的畢業(yè)論文工作,時(shí)至今日,論文基本完成。從最初的茫然,到慢慢的進(jìn)入狀態(tài),再到對(duì)思路逐漸的清晰,整個(gè)寫(xiě)作過(guò)程難以用語(yǔ)言來(lái)表達(dá)。歷經(jīng)了幾個(gè)月的奮戰(zhàn),緊張而又充實(shí)的畢業(yè)設(shè)計(jì)終于落下了帷幕?;叵脒@段日子的經(jīng)歷和感受,我感慨萬(wàn)千,在這次畢業(yè)設(shè)計(jì)的過(guò)程中,我擁有了無(wú)數(shù)難忘的回憶和收獲。早在上學(xué)期末,在與導(dǎo)師的交流討論中我的題目定了下來(lái),是:電子投票系統(tǒng)設(shè)計(jì)。當(dāng)選題報(bào)告,開(kāi)題報(bào)告定下來(lái)的時(shí)候,我當(dāng)時(shí)便立刻著手資料的收集工作中,當(dāng)時(shí)面對(duì)浩瀚的書(shū)海真是有些茫然,不知如何下手。我將這一困難告訴了導(dǎo)師,在導(dǎo)師細(xì)心的指導(dǎo)下,終于使我對(duì)自己現(xiàn)在的工作方向和方法有了掌握。在搜集資料的過(guò)
51、程中,我認(rèn)真準(zhǔn)備了一個(gè)筆記本。我在學(xué)校圖書(shū)館,大工圖書(shū)館搜集資料,還在網(wǎng)上查找各類相關(guān)資料,將這些寶貴的資料全部記在筆記本上,盡量使我的資料完整、精確、數(shù)量多,這有利于論文的撰寫(xiě)。然后我將收集到的資料仔細(xì)整理分類,及時(shí)拿給導(dǎo)師進(jìn)行溝通。4月初,資料已經(jīng)查找完畢了,我開(kāi)始著手論文的寫(xiě)作。在寫(xiě)作過(guò)程中遇到困難我就及時(shí)和導(dǎo)師聯(lián)系,并和同學(xué)互相交流,請(qǐng)教專業(yè)課老師。在大家的幫助下,困難一個(gè)一個(gè)解決掉,論文也慢慢成型。4月底,論文的文字?jǐn)⑹鲆呀?jīng)完成。5月開(kāi)始進(jìn)行相關(guān)圖形的繪制工作和流程圖的設(shè)計(jì)工作。為了畫(huà)出自己滿意的流程圖,圖表等,我仔細(xì)學(xué)習(xí)了.net技術(shù)。在設(shè)計(jì)流程圖初期,由于沒(méi)有設(shè)計(jì)經(jīng)驗(yàn),覺(jué)得無(wú)從下手,空有很多設(shè)計(jì)思想,卻不知道應(yīng)該選哪個(gè),經(jīng)過(guò)導(dǎo)師的指導(dǎo),我的設(shè)計(jì)漸漸有了頭緒,通過(guò)查閱資料,逐漸確立系統(tǒng)方案。方案中各種角色的添加、刪除、修改等的設(shè)計(jì)是個(gè)比較頭疼的問(wèn)題,在反復(fù)推敲,對(duì)比的過(guò)程中,最終定下了采用visual studio 2008開(kāi)發(fā)本系統(tǒng)。當(dāng)我終于完成了所有打字、繪圖、排版、校對(duì)的任務(wù)后整個(gè)人都很累,但同時(shí)看著電腦熒屏上的畢業(yè)設(shè)計(jì)稿件我的心里是甜的,我覺(jué)得這一切都值了。這次畢業(yè)論文的制作過(guò)程是我的一次再學(xué)習(xí),再提高的過(guò)程。在論文中我充分地運(yùn)用了大
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆山東省萊蕪市物理高一下期末綜合測(cè)試試題含解析
- 中職兒童民族舞課件
- 中職中專課件
- 2025搬家與搬家后家具保養(yǎng)服務(wù)合同
- 2025安全文明施工工地綠化費(fèi)用支付協(xié)議
- 二零二五年度建筑垃圾處理場(chǎng)“四害”清除與環(huán)保合同
- 二零二五版ODM合作企業(yè)間技術(shù)研發(fā)與成果轉(zhuǎn)化協(xié)議
- 二零二五年度安全生產(chǎn)信息化平臺(tái)建設(shè)合同
- 二零二五年綠色能源項(xiàng)目安全與健康管理服務(wù)合同
- 八年級(jí)物理老師的工作總結(jié)
- 廣東省茂名市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)
- 企業(yè)培訓(xùn)5W2H分析法(31P PPT)
- 2022年新高一入學(xué)分班考試數(shù)學(xué)試卷03(含答案)
- 初中數(shù)學(xué)北師大七年級(jí)上冊(cè)(2023年修訂)綜合與實(shí)踐探尋神奇的幻方教學(xué)設(shè)計(jì)4
- QC080000有害物質(zhì)過(guò)程管理體系內(nèi)部審核檢查表
- 勝動(dòng)燃?xì)獍l(fā)電機(jī)組基本構(gòu)造與工作原理課件
- 七年級(jí)數(shù)學(xué)下冊(cè)一元一次不等式組說(shuō)課稿人教新課標(biāo)版
- 校長(zhǎng)專業(yè)水平測(cè)試題
- 腹腔鏡膽囊切除術(shù)后護(hù)理查房
- 配電架空線路驗(yàn)收規(guī)范表
- 壓力分散型錨索張拉方案
評(píng)論
0/150
提交評(píng)論