網(wǎng)上考試報名系統(tǒng)論文_第1頁
網(wǎng)上考試報名系統(tǒng)論文_第2頁
網(wǎng)上考試報名系統(tǒng)論文_第3頁
網(wǎng)上考試報名系統(tǒng)論文_第4頁
網(wǎng)上考試報名系統(tǒng)論文_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

./網(wǎng)上考試報名系統(tǒng)的設計與實現(xiàn)工商大學計算機科學與信息工程學院2010級軟件1班維指導教師:柴爭義摘要:考試是從古到今檢驗教學質量、學生學習能力和專業(yè)能力的一個重要的標準,或者也可以說是我們學習中一個重要的環(huán)節(jié)。到了現(xiàn)代,由于考試類型不斷地增加,考試容和我們對于考試的需求的改變,以及我們對考試要求的提高,傳統(tǒng)的考試方式已經(jīng)不能適應我能現(xiàn)代考試的需求了。而現(xiàn)目前在現(xiàn)代考試中還有一個迫切需要得到解決的問題就是考試報名。隨著社會的進步和計算機網(wǎng)絡技術的飛速發(fā)展,當今社會對于各種工作的從業(yè)者的知識水平和能力的要求越來越高,所以現(xiàn)在考試不只是用來測驗學生的學習情況,也被各行各業(yè)廣泛用于測驗各種工作的從業(yè)者的知識水平和個人能力。所以,在計算機網(wǎng)絡飛速發(fā)展的今天,我們要學會利用我們現(xiàn)有的各種有利資源去簡化我們的工作、生活。傳統(tǒng)考試報名都是非常繁瑣、復雜的,而且容易出錯。而對于考生的信息管理則主要是通過專門的考試報名的工作人員統(tǒng)計整理,而且這樣的報名方式還需要考生直接接觸到考辦方,通過若干道手續(xù)才能報名成功,因此,傳統(tǒng)的考試報名方式效率十分低下。再加上對考生報名信息的統(tǒng)計和查詢方面也是相當?shù)睦щy,并且容易出現(xiàn)信息各方面的統(tǒng)計錯誤。本課題《網(wǎng)上考試報名系統(tǒng)的設計與實現(xiàn)》將會用到VisualStudio2010和SQLServer2008這兩個編程軟件來做這個網(wǎng)上考試報名系統(tǒng),主要功能包括:考生報名、考生信息管理、考生報名信息管理、新聞信息管理等,該改進傳統(tǒng)報名方式的種種不足,旨在為考試工作人員和考生創(chuàng)造更大的方便。關鍵字:考試、考試報名、VisualStudio2010、SQLServer2008、ASP.NETAbstract:Examination、ExaminationRegistration、VisualStudio2010、SQLServer2008、ASP.NET一、選題背景1.系統(tǒng)開發(fā)背景考試是從古到今檢驗教學質量、學生學習能力和專業(yè)能力的一個重要的標準,或者也可以說是我們學習中一個重要的環(huán)節(jié)。不管是從古到今,還是從國到海外,考試都是檢驗一個人的能力的重要準則。到了現(xiàn)代,由于我們學習的科目更多,考試的科目也就更多,還有各種之類的考試,考試的容和我們對于考試的要求的改變,以及我們對考試要求的提高,傳統(tǒng)的考試方式已經(jīng)不能適應我能現(xiàn)代考試的需求了。而現(xiàn)目前在現(xiàn)代考試中還有一個迫切需要得到解決的問題就是考試報名。最傳統(tǒng)的考試我們可以想到的是我們中國古時候的科舉考試,科舉是封建王朝選撥官吏的一種考試制度,而由于那個時候科技技術的落后,所以幾年才能考試一次,從童生試到鄉(xiāng)試再到會試,最后殿試,這樣一套考試下來就幾年,而且每次考試就那么一點時間報名,有時候錯過了報名機會就又要等上一兩年,所以,在古代的考試不僅是考試方式落后,更主要的是報名方式上的落后。在20世紀末期及21世紀初,我們的很多考試都是全國統(tǒng)一的,一開始很多考試的報名方式還是現(xiàn)場報名或者是通過報名,但是這些報名方式仍然是非常繁瑣的,而且給負責考試報名的工作人員帶來諸多不便,更是給外地考生帶來許多不變。而現(xiàn)在通過計算機網(wǎng)絡進行報名,不再會遇上錯過報名一等一兩年的悲劇了。所以,網(wǎng)上報名考試是我們學生、老師及所有教育工作者的福音。既讓我們避免了傳統(tǒng)報名方式的繁瑣,也給我們諸多外地考生帶來了方便。在西方國家,最開始的考試制度也還是源于的我國的科舉制度。中國的封建社會時期的科舉制度對西方有很大的影響,而這樣的影響大概是在十六世紀的后半葉,最早在西方傳播中國科舉制度的是葡萄牙的兩位傳教士,他們對中國選撥官員而產(chǎn)生的科舉制度很是看好,對科舉制度一直倍加贊賞,并在他們的著作中對科舉考試的方式和容進行了比較詳細的介紹,隨后科舉考試制度在西方國家廣為流傳,引得西方國家對中國科舉制度和政治制度的廣泛關注。由此可見,西方國家最早的考試制度也是很不完善、很落后的考試方式,顯然他們的考試報名制度也是一樣的落后、一樣的有待改進。所以,考試這個全球各個國家都需要的一個檢驗學習的效果的必要的環(huán)節(jié)首先需要我們改進的便是考試的報名方式。在現(xiàn)在大家都開始計劃著網(wǎng)上考試的時機,我們的考試報名方式應該在考試方式改進之前做好改進和完善。2.系統(tǒng)開發(fā)的目的在古代的考試不僅是考試方式落后,更主要的是報名方式上的落后。在20世紀末期及21世紀初,我們的很多考試都是全國統(tǒng)一的,一開始很多考試的報名方式還是現(xiàn)場報名或者是通過報名,但是這些報名方式仍然是非常繁瑣的,而且給負責考試報名的工作人員帶來諸多不便,更是給外地考生帶來許多不變。而現(xiàn)在通過計算機網(wǎng)絡進行報名,不再會遇上錯過報名一等一兩年的悲劇了。所以,網(wǎng)上報名考試是我們學生、老師及所有教育工作者的福音。既讓我們避免了傳統(tǒng)報名方式的繁瑣,也給我們諸多外地考生帶來了方便。傳統(tǒng)考試報名都是非常繁瑣、復雜的,而且容易出錯。而對于考生的信息管理則主要是通過專門的考試報名的工作人員統(tǒng)計整理,而且這樣的報名方式還需要考生直接接觸到考辦方,通過若干道手續(xù)才能報名成功,因此,傳統(tǒng)的考試報名方式效率十分低下。再加上對考生報名信息的統(tǒng)計和查詢方面也是相當?shù)睦щy,并且容易出現(xiàn)信息各方面的統(tǒng)計錯誤。所以,本次課題《網(wǎng)上考試報名系統(tǒng)的設計與實現(xiàn)》就是為了整個考試報名的過程和降低考生考試報名信息的統(tǒng)計錯誤。3.系統(tǒng)開發(fā)的意義隨著社會的進步和計算機網(wǎng)絡技術的飛速發(fā)展,當今社會對于各種工作的從業(yè)者的知識水平和能力的要求越來越高,所以現(xiàn)在考試不只是用來測驗學生的學習情況,也被各行各業(yè)廣泛用于測驗各種工作的從業(yè)者的知識水平和個人能力。而考試作為測驗個人能力和知識水平的重要標準或手段,在現(xiàn)代人的工作、學習中廣泛的深入到社會的各個方面,各種各樣的入學考試、學歷考試、書考試讓我們應接不暇。同時,這么多的考試要是全部都人工處理考生的報名信息是不實際的,要是那樣,一個考試就需要上萬的工作人員,這個肯定不現(xiàn)實。所以,在計算機網(wǎng)絡飛速發(fā)展的今天,我們要學會利用我們現(xiàn)有的各種有利資源去簡化我們的工作、生活。所以,本課題《網(wǎng)上考試報名系統(tǒng)的設計與實現(xiàn)》及是將我們現(xiàn)有的有利資源用來簡化我們的考試工作?,F(xiàn)目前,Internet技術的發(fā)展是將考試報名過程的有效技術手段,而且利用Internet作為載體簡化考試報名過程也是一個革命性的突破。Internet的開放性和分布性的特點以及基于Internet的巨大計算能力使得考試報名突破了時間和空間的限制。網(wǎng)上考試報名系統(tǒng)可以借助網(wǎng)絡的優(yōu)勢,建立考生信息數(shù)據(jù)庫、考試科目數(shù)據(jù)庫,以簡化考試報名過程和降低統(tǒng)計考生信息的出錯率。4.課題研究思路和方法本次課題是要設計網(wǎng)上考試報名的相關功能,結合本次設計的相關要求寫出需求需求分析:其次,綜合運用之前所學的相關知識〔包括計算機網(wǎng)絡技術、數(shù)據(jù)庫、Web開發(fā)、算法分析等課程,采用ASP.NET進行本次課題的設計開發(fā),使用SQLServer2008做數(shù)據(jù)庫:在設計中以需求分析為基礎,寫出系統(tǒng)開發(fā)計劃、實現(xiàn)流程及相關問題的實現(xiàn)方法。二、系統(tǒng)分析1.系統(tǒng)可行性分析1.1技術可行性分析目前市面上有大量的上機考試系統(tǒng)軟件,針對客觀題比如選擇題、判斷題的考核評分技術均是比較成熟的,本系統(tǒng)也借鑒了這些系統(tǒng)的設計思路。本次我做的這個網(wǎng)上考試報名系統(tǒng)將采用B/S體系結構,數(shù)據(jù)庫將采用較高安全級別的數(shù)據(jù)庫管理平臺以確保整個系統(tǒng)的安全、穩(wěn)定;在本系統(tǒng)中,無論是管理員登陸還是學生登陸都需要密碼的驗證才能登陸進去,這樣就確保了考生的級別信息的安全。所以在本系統(tǒng)中使用SQLServer2008設計數(shù)據(jù)庫是很合理也可行的。因此從技術上來說,開發(fā)這個網(wǎng)上考試報名系統(tǒng)是可行的。1.2經(jīng)濟可行性分析就現(xiàn)在的情況而言,自己電腦上安裝了VisualStudio2010和SQLServer2008兩個軟件,就這兩個軟件足夠這個系統(tǒng)的開發(fā),所以從經(jīng)濟方面來看,開發(fā)網(wǎng)上考試報名系統(tǒng)也是可行的。2.系統(tǒng)需求分析網(wǎng)上考試報名系統(tǒng)是考生自己注冊登陸之后選擇科目進行報名的一個過程,該網(wǎng)上考試報名系統(tǒng)使用的是VisualStudio2010編寫,使用的是編寫的ASP.NET,系統(tǒng)的主要功能是學生考試報名和對自己的基本信息的管理,還有就是管理員對科目、學生信息、新聞公告信息和報考信息的管理這些方面的功能。三、開發(fā)相關技術1.ASP.NET開發(fā)平臺簡介ASP.net作為戰(zhàn)略產(chǎn)品是M的一部分,它不僅是ActiveServerPage<ASP>的下一個版本,還提供了一個統(tǒng)一的Web開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級Web應用程序所需的各種服務。ASP.NET的語法在很大程度上與ASP兼容,同時它還提供一種新的編程模型和結構,可生成伸縮性和穩(wěn)定性更好的應用程序,并提供更好的安全保護。ASP.NET是一個已編譯的、基于.NET的環(huán)境,可以用任何與.NET兼容的語言〔包括VisualBasic.NET、C#和JScript.NET.創(chuàng)作應用程序。另外,任何ASP.NET應用程序都可以使用整個.NETFramework。開發(fā)人員可以方便地獲得這些技術的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、繼承等等。ASP.NET更有這些特點:全新構造、高效率、易控制、多語言支持、升級能力強、更簡便。2.SQLServer2008數(shù)據(jù)庫2.1SQLServer2008數(shù)據(jù)庫簡介SQLServer2008是在Microsoft的數(shù)據(jù)平臺上發(fā)布的,幫助組織隨時隨地管理任何數(shù)據(jù)。它可以將結構化、半結構化和非結構化文檔的數(shù)據(jù)〔例如圖像、音樂等直接存儲到數(shù)據(jù)庫中。SQLServer2008提供了一系列豐富的集成服務,可以對數(shù)據(jù)進行查詢、搜索、同步、報告和分析之類的操作。數(shù)據(jù)可以存儲在各種設備上,從數(shù)據(jù)中心最大的服務器一直到桌面計算機和移動設備,用戶不用管數(shù)據(jù)的存儲位置在哪里就可以控制數(shù)據(jù)。2.2SQLServer2008的特點〔1可靠性:它使得公司可以以很高的安全性、可靠性和可擴展性來運行他們醉關鍵的應用程序?!?高效性:它使得公司可以降低開發(fā)和管理他們的數(shù)據(jù)基礎設施的時間和成本。〔3智能性:提供一個全面的平臺,可在你的用戶需要的時候給他發(fā)送觀察和信息。3.MicrosoftVisualStudio20103.1MicrosoftVisualStudio2010數(shù)據(jù)庫簡介VisualStudio是微軟公司推出的開發(fā)環(huán)境,是目前醉流行的Windows平臺應用程序開發(fā)環(huán)境。MicrosoftVisualStudio2010于20XX上市,其集成開發(fā)黃金的界面被重新設計和組織,變得更加簡單明了。VisualStudio目前有五個版本:專業(yè)版、高級版、旗艦版、學習版和測試版。MicrosoftVisualStudio2010新增了九個新功能,包括:〔1C#4.0中的動態(tài)類型和動態(tài)編程;〔2多顯示器支持;〔3使用VisualStudio2010的特性支持TDD;〔4支持Office;〔5QuickSearch特性;〔6C++0x新特性;〔7IDE增強;〔8使用VisualC++2010創(chuàng)建Ribbon界面;〔9新增基于.NET平臺的語言F#。同樣,MicrosoftVisualStudio2010添加的新功能的同時,也做了一定的改進,這些改進包括外觀行為、快速瀏覽代碼、調試、項目功能對應、測試先行支持、代碼生成、起始頁、擴展管理器、對話框、新幫助查看器。3.2MicrosoftVisualStudio2010的特點〔1支持WindowsAzure,微軟云計算架構邁入重要里程碑?!?助力移動與嵌入式裝置開發(fā),三屏一云商機無限?!?實踐當前最熱門的Agile/Scrum開發(fā)方法,強化團隊競爭力?!?升級的軟件測試功能及工具,為軟件質量嚴格把關?!?搭配Windows7,Silverlight4與Office,發(fā)揮多核并行運行威力?!?創(chuàng)建美感與效能并重的新一代軟件?!?支持最新C++標準,增強IDE,切實提高程序員開發(fā)效率。4.B/S體系結構B/S體系結構就是〔瀏覽器/服務器結構,即只安裝維護一個服務器,是新興的一種三層體系結構,但是客戶端采用瀏覽器運行軟件。它是隨著Internet技術的廣泛應用,在C/S體系結構的基礎上的做出些許變化和改進之后所得到的一門新興的技術。主要利用的核心技術是不斷成熟的WWW瀏覽器技術,結合多種Script語言和Script技術,最終產(chǎn)生了B/S體系結構這一種全新的軟件系統(tǒng)構造技術。B/S三層體系結構采用的是三層客戶服務器結構,在數(shù)據(jù)管理層和用戶界面層之間增加了一層被稱為中間件的結構層,使得整個體系結構變成了一個三層體系結構。三層體系結構的核心理念就是利用中間件把應用從邏輯上區(qū)分為表現(xiàn)層、業(yè)務邏輯層和數(shù)據(jù)存儲層三個不同的處理邏輯層,而它的興起則是由于中間件技術的成熟的發(fā)展的結果。中間件作為構造三層體系結構應用系統(tǒng)的基礎平臺,給用戶提供了多項主要功能,如:負責客戶機與服務器、服務器與服務器間的連接和通信;實現(xiàn)應用與數(shù)據(jù)庫的高效連接;提供一個三層結構應用的開發(fā)、運行、部署和管理的平臺。這種三層結構在層與層之間相互獨立,任何一層的改變不會影響其它層的功能。在B/S三層體系結構系統(tǒng)中,用戶可以通過瀏覽器通過現(xiàn)在發(fā)達的網(wǎng)絡系統(tǒng)向分布在寬廣的網(wǎng)絡上的多個服務器發(fā)出請求,用戶的服務器對瀏覽器的請求進行處理,將用戶所需要的信息返回到瀏覽器上。而其余如數(shù)據(jù)請求、加工、結果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應用程序的訪問和應用程序的執(zhí)行等工作全部由WebServer完成。隨著Windows將瀏覽器技術植入系統(tǒng)部,這種結構已成為當今應用軟件的首選體系結構。顯然B/S結構相對于傳統(tǒng)的C/S結構應用程序是一個非常大的進步。B/S體系結構的主要特點是分布性強、維護方便、開發(fā)簡單且共享性強、總體擁有成本低。但數(shù)據(jù)安全性問題、對服務器要求過高、數(shù)據(jù)傳輸速度慢、軟件的個性化特點明顯降低,這些缺點都是有目共睹的,難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求。此外,實現(xiàn)復雜的應用構造有較大的困難。B/S體系結構的特點有:系統(tǒng)環(huán)境要求較低〔易于多平臺使用,即易于移植,配置花費低〔服務器配置、客戶瀏覽,升級和維護的開銷小〔更新服務端即可,網(wǎng)絡符合開銷小〔根據(jù)需要建立和釋放,網(wǎng)絡間距要求不高〔遠近均可,實時性能低。B/S體系結構的這些特點是和C/S體系結構想比較得來的,就前面五項特點來說確實是很大的優(yōu)點,這些都是C/S體系結構不足的地方,所以在C/S體系結構的基礎上興起的B/S體系結構彌補了C/S體系結構的這些不足,但是,由于要彌補這些不足,那就必定有些方面是顧不了的,完善不了那么多的,所以B/S體系結構的最后一項特點相對于C/S體系結構就是一個很大的缺點。所以在B/S體系結構上可以發(fā)現(xiàn),沒有完美的任何事物,即使它的優(yōu)點再多,都還是會有缺點的。5.開發(fā)環(huán)境介紹5.1硬件環(huán)境中央處理器:Intel<R>Core<TM>2DuoCPUT66002.20GHz存:2.00GB可用硬盤空間:至少有5.0GB顯示器:具有1024*768分辨率的顯示器或者更高其他配置:鍵盤,兼容鼠標5.2軟件環(huán)境數(shù)據(jù)庫:SQLServer2008開發(fā)工具:MicrosoftVisualStudio2010四、系統(tǒng)設計1.系統(tǒng)總體設計網(wǎng)上報名分為兩個大的板塊,的前臺板塊主要用于考生填寫信息提交報名、在線查詢報名情況以及查看相關的考試科目的要求和發(fā)展動態(tài)。后臺板塊主要用于管理員對考生的信息進行查詢、修改或是刪除,最后生成報表,再對的新聞信息及時更新。模塊的劃分如下圖:后臺管理模塊報名查詢模塊信息公告模塊密碼修改用戶登陸用戶注冊后臺管理模塊報名查詢模塊信息公告模塊密碼修改用戶登陸用戶注冊用戶模塊網(wǎng)上報名模塊科目網(wǎng)上報名模塊科目模塊新聞模塊用戶管理 考生信息管理新聞管理科目管理查看自己的報名情況查看科目的報名情況用戶管理 考生信息管理新聞管理科目管理查看自己的報名情況查看科目的報名情況圖1功能模塊圖登陸界面 無有無權限有考生信息管考生信息管理模塊帳號管理模塊報考信息管理模塊科目信息管理模塊新聞信息模塊連接數(shù)據(jù)庫連接數(shù)據(jù)庫圖2后臺管理流程圖1.1用戶模塊〔1用戶模塊EQ\o\ac<○,1>用戶注冊進入首頁點擊注冊就可以注冊賬號,注冊賬號要求填寫用戶名、密碼和電子,本系統(tǒng)去掉了傳統(tǒng)的填寫詳細資料的注冊過程,因此這三項是必填項。注冊主要用以登陸界面,填寫報名資料,當然也可以知識注冊而不選擇報名。EQ\o\ac<○,2>用戶登陸、密碼修改用戶登陸成功之后查看自己的注冊信息:登陸賬號、電子。用戶注冊后就可以設置找回密碼,通過將密碼發(fā)送到注冊時的電子中,從而對其進行修改?!?新聞模塊的首頁便是新聞模塊部分,用戶可以在首頁瀏覽到新聞容,而新聞的發(fā)布主要是通過管理員的后臺操作來實現(xiàn)。〔3科目模塊科目模塊主要是向考生介紹考試科目的相關信息,包括的考試容、時間、需要的相關資歷等基本信息,考生在此模塊具有的瀏覽權限;管理員可以通過后臺操作對科目進行增加、刪除和更新的操作?!?報名查詢模塊查詢模塊主要的功能是向考生介紹考試科目的相關信息,其中包括以下兩種查詢方式:EQ\o\ac<○,1>查看自己的報名情況考生可以在此輸入自己的用戶名后,點擊查看報名情況按鈕就可以查看到自己的個人資料以及自己的報考科目。EQ\o\ac<○,2>查看科目的報名情況考生還可以選擇不同的科目去查看本科目的報名情況,當然此查詢功能只能查看到此科目報考人的,不能查看到報考人的詳細信息。〔5網(wǎng)上報名模塊用戶成功登陸后,如果要選擇網(wǎng)上報名,可以點擊開始報名,此就是網(wǎng)上報名模塊,考生在此頁面要填寫考試所需要的全部詳細信息,同時還要選擇要包括的科目,填寫完整后點擊提交就完成了網(wǎng)上報名?!?信息公告模塊此模塊主要是向考生介紹考試的各方面的重要信息,比如考試時間、地點的安排和相關的變動等信息?!?后臺管理模塊后臺管理主要是對前面幾個模塊中所產(chǎn)生的行為進行相應的處理,此模塊的操作者只屬于管理員,管理員的操作是獲取信息的重要通道,因此管理員的主要操作分為以下四個模塊:EQ\o\ac<○,1>用戶管理對已注冊的用戶進行查看、刪除、更新。將各個信息進行整合、統(tǒng)計,最后生成報表。EQ\o\ac<○,2>考生信息管理對已經(jīng)報名的考生的信息進行增添、刪除、查詢、更改的操作,最后進行統(tǒng)計,生成報表。EQ\o\ac<○,3>科目管理增加新考試科目、刪除已經(jīng)考完或不需要的考試科目。EQ\o\ac<○,4>新聞管理對首頁的新聞進行管理,及時更新新聞,上傳最新的新聞動態(tài)。在這個系統(tǒng)中,的前臺面向的對象主要是用戶,后臺就是管理員,那么前后臺各自的操作流程就分為報名流程和后臺管理流程,它們分別如下圖所示:圖2報名流程圖1.2系統(tǒng)數(shù)據(jù)庫設計及描述〔1網(wǎng)上報名系統(tǒng)的設計與實現(xiàn)的分析和建立網(wǎng)上報名系統(tǒng)的設計與實現(xiàn)系統(tǒng)的數(shù)據(jù)全部存放在數(shù)據(jù)庫〔studentDB中,其中包括管理員信息、用戶信息、考生信息、新聞信息、科目信息、信息公告這幾表。這樣做的目的就是為了方便對數(shù)據(jù)庫的操作。任何系統(tǒng)缺少不了數(shù)據(jù)庫設計,數(shù)據(jù)庫設計是指利用現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)為具體的應用對象構造適合的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能有效地收集、存儲、操作和管理數(shù)據(jù),滿足各類用戶的應用需求。而E-R圖是數(shù)據(jù)庫設計中采用的常用方法,一個良好的E-R圖要做到實體個數(shù)和實體所包含的屬性盡量少、實體間聯(lián)系無冗余。在這個系統(tǒng)中存在的實體有:用戶實體、考生實體、新聞實體、信息公告實體、科目實體。本系統(tǒng)以用戶報名為主線設計E-R圖,那么它們之間的具體關系如下圖:圖3系統(tǒng)E-R圖1.3數(shù)據(jù)庫數(shù)據(jù)描述學生信息表StudentInfo:用于學生注冊信息。IDPKintNotnull序號cardNumberVarchar2<18>NotnullstuPwdVarchar2<20>Notnull密碼nameVarchar2<20>Notnullbirthdaydatetime√出生日期mobileVarchar2<20>NotnullemailVarchar2<20>NotnullsexVarchar2<15>Notnull性別nationVarchar2<15>Notnull名族科目信息表Subject:用于科目信息。IDPKintNotnull序號subNameVarchar2<15>Notnull科目名subInfoVarchar2<90>Notnull科目簡介subCostVarchar2<15>Notnull考試費用新聞信息表News:用于新聞信息。IDPKintNotnull序號titleVarchar2<20>Notnull新聞標題infoVarchar2<20>√新聞容timedate√發(fā)布時間報名表ExamEnrolInfo:報名信息。IDPKintNotnull序號stuIDintNotnull號subIDintNotnull科目序號flagintNotnull狀態(tài)enrolTime√報考時間管理員表Admin:管理員信息。AdminIDPKintNotnull登錄號adminNameVarchar2<15>NotnulladminPwdVarchar2<15>Notnull密碼2.系統(tǒng)詳細設計2.1頁面設計與實現(xiàn)整個頁面的設計是一個很簡單的頁面設計,主要分為三大部分。整個網(wǎng)頁頁面分為最頂上的一個Logo,即功能的一個名稱的表現(xiàn),左邊是菜單,最中間是用戶操作的一些東西,比如:登陸、新聞公告這些。主要的各個模塊的設計與實現(xiàn):〔1用戶模塊登陸界面:在這個界面用戶可以執(zhí)行登陸和注冊兩個操作,也可以查看用戶操作下方的新聞公告,最底部是相關。2.2用戶注冊界面:在這個界面輸入個人基本信息以注冊,而這些注冊信息都將會存入數(shù)據(jù)庫,實質上就是將用戶在該頁面的數(shù)據(jù)插入到數(shù)據(jù)庫中相對應的表中。未注冊用戶則應點擊注冊之后填寫基本信息以注冊界面:填寫完個人信息之后,點擊注冊,顯示如下界面則表示注冊成功:2.3登陸模塊考生或是管理員可以在這個模塊中登陸到該網(wǎng)上考試報名系統(tǒng)中,直接輸入用戶名〔在注冊界面有提示,用戶名即為注冊用戶的號和密碼即可登陸。在這個登陸界面中可以是管理員登陸,也可以是學生登陸,所以在登陸欄下面需要選擇是管理員登陸還是學生登陸,若是未選擇則會在選擇的下面出現(xiàn)一行字——請選擇登陸角色。若是在此界面輸入信息未注冊,則會顯示:用戶名和密碼錯誤。若學生正常登陸,則返回首頁,用戶操作下面的選項則變?yōu)椋嚎荚噲竺?、管理和退出系統(tǒng)三個選項。若是管理員正常登陸,也將返回首頁,用戶操作下面的選項則變?yōu)椋嚎颇抗芾?、考生信息管理、新聞信息管理、報考信息管理和退出系統(tǒng)五個選項。核心代碼:namespaceDAL{publicclassAdmin{///<summary>///判斷用戶名和密碼是否正確///</summary>///<paramname="admin"></param>///<returns></returns>publicBooleanIsExits<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereadminName=AdminNameandadminPwd=AdminPwd">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"AdminName",SqlDbType.VarChar,15>,newSqlParameter<"AdminPwd",SqlDbType.VarChar,15>};para[0].Value=adminInfo._AdminName;para[1].Value=adminInfo._AdminPwd;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{returntrue;}reader.Close<>;returnfalse;}///<summary>///獲取管理員模型///</summary>///<paramname="admin"></param>///<returns></returns>publicModel.AdminGetModel<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereID=ID">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"ID",SqlDbType.Int>};para[0].Value=adminInfo._ID;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{reader.Read<>;adminInfo._ID=int.Parse<reader["ID"].ToString<>>;adminInfo._AdminName=reader["adminName"].ToString<>;adminInfo._AdminPwd=reader["adminPwd"].ToString<>;}reader.Close<>;returnadminInfo;}}}2.4科目管理科目模塊分為學生的考試報名和管理員的科目管理、考生報考信息管理,它們之間有一定的區(qū)別。EQ\o\ac<○,1>考生考試報名考生可以在考試報名中選擇自己所需報名的科目然后保存進行報名,報名成功后在填寫考試報名信息上方會顯示出考生報名信息。若是該考生已經(jīng)報名,則會跳出一個窗口:EQ\o\ac<○,2>管理員科目管理、考生報考信息管理管理員可以在考生報考信息管理中查看考生報名的科目信息,而科目管理則是管理員對科目的管理:考試報名開始的時候,增添報名科目,當該科目考試報名截止了則刪除掉該科目。管理員可以自己通過手動添加考生報考科目信息:若該考生已經(jīng)報名,則顯示:若管理員手動報名的考生未注冊,即系統(tǒng)中無該考生信息,則顯示:核心代碼:namespaceDAL{publicclassAdmin{///<summary>///判斷用戶名和密碼是否正確///</summary>///<paramname="admin"></param>///<returns></returns>publicBooleanIsExits<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereadminName=AdminNameandadminPwd=AdminPwd">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"AdminName",SqlDbType.VarChar,15>,newSqlParameter<"AdminPwd",SqlDbType.VarChar,15>};para[0].Value=adminInfo._AdminName;para[1].Value=adminInfo._AdminPwd;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{returntrue;}reader.Close<>;returnfalse;}///<summary>///獲取管理員模型///</summary>///<paramname="admin"></param>///<returns></returns>publicModel.AdminGetModel<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereID=ID">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"ID",SqlDbType.Int>};para[0].Value=adminInfo._ID;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{reader.Read<>;adminInfo._ID=int.Parse<reader["ID"].ToString<>>;adminInfo._AdminName=reader["adminName"].ToString<>;adminInfo._AdminPwd=reader["adminPwd"].ToString<>;}reader.Close<>;returnadminInfo;}}}namespaceDAL{publicclassAdmin{///<summary>///判斷用戶名和密碼是否正確///</summary>///<paramname="admin"></param>///<returns></returns>publicBooleanIsExits<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereadminName=AdminNameandadminPwd=AdminPwd">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"AdminName",SqlDbType.VarChar,15>,newSqlParameter<"AdminPwd",SqlDbType.VarChar,15>};para[0].Value=adminInfo._AdminName;para[1].Value=adminInfo._AdminPwd;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{returntrue;}reader.Close<>;returnfalse;}///<summary>///獲取管理員模型///</summary>///<paramname="admin"></param>///<returns></returns>publicModel.AdminGetModel<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereID=ID">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"ID",SqlDbType.Int>};para[0].Value=adminInfo._ID;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{reader.Read<>;adminInfo._ID=int.Parse<reader["ID"].ToString<>>;adminInfo._AdminName=reader["adminName"].ToString<>;adminInfo._AdminPwd=reader["adminPwd"].ToString<>;}reader.Close<>;returnadminInfo;}}}namespaceDAL{publicclassAdmin{///<summary>///判斷用戶名和密碼是否正確///</summary>///<paramname="admin"></param>///<returns></returns>publicBooleanIsExits<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereadminName=AdminNameandadminPwd=AdminPwd">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"AdminName",SqlDbType.VarChar,15>,newSqlParameter<"AdminPwd",SqlDbType.VarChar,15>};para[0].Value=adminInfo._AdminName;para[1].Value=adminInfo._AdminPwd;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{returntrue;}reader.Close<>;returnfalse;}///<summary>///獲取管理員模型///</summary>///<paramname="admin"></param>///<returns></returns>publicModel.AdminGetModel<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereID=ID">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"ID",SqlDbType.Int>};para[0].Value=adminInfo._ID;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{reader.Read<>;adminInfo._ID=int.Parse<reader["ID"].ToString<>>;adminInfo._AdminName=reader["adminName"].ToString<>;adminInfo._AdminPwd=reader["adminPwd"].ToString<>;}reader.Close<>;returnadminInfo;}}}2.5新聞模塊新聞模塊只能由管理員添加新聞或是刪除新聞,學生不能對該模塊進行操作。在添加新聞的時候只需輸入新聞標題和新聞容之后點擊下方按鈕保存即可,保存成功之后會跳出一個窗口顯示添加新聞成功,方便管理員了解新聞添加的情況。刪除新聞也很簡便,直接輸入新聞的編號進行刪除即可。查看新聞界面:添加新聞界面:新聞添加成功跳出窗口:核心代碼:namespaceDAL{publicclassAdmin{///<summary>///判斷用戶名和密碼是否正確///</summary>///<paramname="admin"></param>///<returns></returns>publicBooleanIsExits<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereadminName=AdminNameandadminPwd=AdminPwd">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"AdminName",SqlDbType.VarChar,15>,newSqlParameter<"AdminPwd",SqlDbType.VarChar,15>};para[0].Value=adminInfo._AdminName;para[1].Value=adminInfo._AdminPwd;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{returntrue;}reader.Close<>;returnfalse;}///<summary>///獲取管理員模型///</summary>///<paramname="admin"></param>///<returns></returns>publicModel.AdminGetModel<Model.AdminadminInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromAdminwhereID=ID">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"ID",SqlDbType.Int>};para[0].Value=adminInfo._ID;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{reader.Read<>;adminInfo._ID=int.Parse<reader["ID"].ToString<>>;adminInfo._AdminName=reader["adminName"].ToString<>;adminInfo._AdminPwd=reader["adminPwd"].ToString<>;}reader.Close<>;returnadminInfo;}}}2.6考生信息管理模塊這個模塊也只能是管理員操作,在這個模塊中,管理員可以查看考生信息,也可以手動添加或是刪除考生。管理員添加考生信息的界面和考生注冊界面一樣,需輸入考生的基本信息,輸入基本信息完成后保存即添加成功。查看考生信息界面:添加考生信息界面:刪除考生信息界面:核心代碼:namespaceBLL{ ///<summary> ///User的摘要說明。 ///</summary> publicclassUser {privateDAL.Usersusers=newDAL.Users<>;///<summary>///得到用戶信息模型///</summary>///<paramname="userInfo"></param>///<returns></returns>publicModel.UsersGetStuInfo<Model.UsersuserInfo>{returnusers.GetStuInfo<userInfo>;}///<summary>///判斷用戶是否存在///</summary>///<paramname="userInfo"></param>///<returns></returns>publicBooleanIsExits<Model.UsersuserInfo>{returnusers.IsExits<userInfo>;}///<summary>///是否存在學生///</summary>///<paramname="cardNumber"></param>///<returns></returns>publicBooleanIsExits<StringcardNumber>{returnusers.IsExits<cardNumber>;}/////<summary>/////獲取學院信息集合/////</summary>/////<returns></returns>//publicDataSetGetDeptList<>//{//returnusers.GetDeptList<>;//}/////<summary>/////獲取學院信息集合/////</summary>/////<returns></returns>//publicDataSetGetClassList<>//{//returnusers.GetClassList<>;//}/////<summary>/////獲取所有學生信息集合/////</summary>/////<returns></returns>//publicDataSetGetStudentList<>//{//returnusers.GetStudentList<>;//}///<summary>///添加學生///</summary>///<paramname="userInfo"></param>///<returns></returns>publicintAdd<Model.UsersuserInfo>{returnusers.Add<userInfo>;}/////<summary>/////修改學生信息/////</summary>/////<paramname="userInfo"></param>/////<returns></returns>//publicintUpdate<Model.UsersuserInfo,Model.UsersoldUserInfo>//{//returnusers.Update<userInfo,oldUserInfo>;//}///<summary>///刪除信息///</summary>///<paramname="userInfo"></param>///<returns></returns>publicintDelete<Model.UsersuserInfo>{returnusers.Delete<userInfo>;}///<summary>///查詢用戶信息///</summary>///<returns></returns>publicDataSetgetUserInfoList<>{returnusers.getUserInfoList<>;} }}namespaceDAL{///<summary>///Users的摘要說明。///</summary>publicclassUsers{///<summary>///查詢用戶是否存在///</summary>///<paramname="userInfo"></param>///<returns></returns>publicBooleanIsExits<Model.UsersuserInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromStudentInfowherecardNumber=CardNumberandstuPwd=StuPwd">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"CardNumber",SqlDbType.VarChar,18>,newSqlParameter<"StuPwd",SqlDbType.VarChar,15>};para[0].Value=userInfo._CarNumber;para[1].Value=userInfo._StuPwd;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{returntrue;}reader.Close<>;returnfalse;}///<summary>///是否存在學生///</summary>///<paramname="cardNumber"></param>///<returns></returns>publicBooleanIsExits<StringcardNumber>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromStudentInfowherecardNumber=CardNumber">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"CardNumber",SqlDbType.VarChar,18>,};para[0].Value=cardNumber;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{returntrue;}reader.Close<>;returnfalse;}///<summary>///得到用戶信息模型///</summary>///<paramname="userInfo"></param>///<returns></returns>publicModel.UsersGetStuInfo<Model.UsersuserInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"select*fromStudentInfowherecardNumber=CardNumber">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"CardNumber",SqlDbType.VarChar,18>};para[0].Value=userInfo._CarNumber;SqlDataReaderreader=DatabaseHelper.ExecuteReader<strSql.ToString<>,para>;if<reader.HasRows>{reader.Read<>;userInfo._ID=int.Parse<reader["ID"].ToString<>>;userInfo._Name=reader["name"].ToString<>;userInfo._StuPwd=reader["stuPwd"].ToString<>;userInfo._Sex=reader["sex"].ToString<>;userInfo._Nation=reader["nation"].ToString<>;userInfo._Birthday=DateTime.Parse<reader["birthday"].ToString<>>;userInfo._CarNumber=reader["cardNumber"].ToString<>;userInfo._Mobile=reader["mobile"].ToString<>;userInfo._Email=reader["email"].ToString<>;}reader.Close<>;returnuserInfo;}///<summary>///查詢用戶信息///</summary>///<returns></returns>publicDataSetgetUserInfoList<>{StringstrSql="selectID'編號',name'用戶',sex'性別',nation'名族',birthday'生日',mobile'',email'地址',cardNumber''fromStudentInfo";returnDatabaseHelper.ExecuteAdapter<strSql>;}///<summary>///獲取學院信息集合///</summary>///<returns></returns>publicDataSetGetClassList<>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"selectdistinctstuClassfromUserInfo">;returnDatabaseHelper.ExecuteAdapter<strSql.ToString<>>;}///<summary>///添加學生///</summary>///<paramname="userInfo"></param>///<returns></returns>publicintAdd<Model.UsersuserInfo>{StringBuilderstrSql=newStringBuilder<>;strSql.Append<"insertintoStudentInfo<name,stuPwd,birthday,mobile,email,cardNumber,sex,nation>values<Name,StuPwd,Birthday,Mobile,Email,CarNumber,Sex,Nation>">;SqlParameter[]para=newSqlParameter[]{newSqlParameter<"Name",SqlDbType.VarChar,15>,newSqlParameter<"StuPwd",SqlDbType.VarChar,15>,newSqlParameter<"Birthday",SqlDbType.DateTime>,newSqlParameter<"Mobile",SqlDbType.VarChar,15>,newSqlParameter<"Email",SqlDbType.VarChar,25>,newSqlParameter<"CarNumber",SqlDbType.VarChar,18>,newSqlParameter<"Sex",SqlDbType.VarChar,15>,newSqlParameter<"Nation",SqlDbType.VarC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論