基于Socket的網(wǎng)上考試系統(tǒng)_第1頁
基于Socket的網(wǎng)上考試系統(tǒng)_第2頁
基于Socket的網(wǎng)上考試系統(tǒng)_第3頁
基于Socket的網(wǎng)上考試系統(tǒng)_第4頁
基于Socket的網(wǎng)上考試系統(tǒng)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 論文題目: 基于Socket的網(wǎng)上考試系統(tǒng) 系 別: 計(jì)算機(jī)技術(shù)系 專業(yè)班級(jí): 08軟件(4)班 學(xué) 號(hào): 2008290413 學(xué)生姓名: 劉斌 指導(dǎo)教師: 二 11 年 1月 10 日基于Socket的網(wǎng)上考試系統(tǒng)摘 要:隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,使其應(yīng)用于各行各業(yè),企業(yè)網(wǎng),校園網(wǎng)的建立,為企業(yè)創(chuàng)造了巨大的利潤(rùn),企業(yè)有無自己的網(wǎng)絡(luò)是衡量一個(gè)企業(yè)有無廣闊前景的標(biāo)準(zhǔn)之一。校園網(wǎng)為教學(xué)提供了很好的平臺(tái),可以節(jié)約教師和學(xué)生的時(shí)間,每次考試?yán)蠋煻家鲈嚲?,然后分發(fā)下去考,再收上來批閱統(tǒng)計(jì)成績(jī),非常煩瑣。而現(xiàn)在利用現(xiàn)有的網(wǎng)絡(luò)平臺(tái)就不需要這么麻煩,通過校園網(wǎng)絡(luò)可以進(jìn)行考試,這樣既不需要老師批閱試卷

2、,也不需要統(tǒng)計(jì)成績(jī),它有著原來考試無法比擬的優(yōu)點(diǎn);例如:考試迅速、查找方便、可靠性高、存儲(chǔ)量大,壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高考試和老師的工作效率。關(guān)鍵詞:網(wǎng)絡(luò); SQL SERVER; OOP;SOCKET;阻塞 ;面向?qū)ο?;?錄緒 言:本系統(tǒng)結(jié)合了我院的實(shí)際情況,進(jìn)行綜合考察,經(jīng)過實(shí)際的需求分析才用了功能強(qiáng)大的delphi6.0作為我的開發(fā)工具。SQL SERVER 作為數(shù)據(jù)庫(kù)開發(fā)出來的局域網(wǎng)考試系統(tǒng)。整個(gè)系統(tǒng)從符合操作簡(jiǎn)便、界面友好、靈活、實(shí)用的要求出發(fā),完成從考試到成績(jī)查詢對(duì)象,以及試題存儲(chǔ)三個(gè)方面的工作,經(jīng)過實(shí)踐證明本系統(tǒng)完全可以滿足這個(gè)方面的需要。1應(yīng)用語言概述1.1

3、Delphi簡(jiǎn)介Delphi是面向?qū)ο蟮目梢暬幊坦ぞ撸迷摴ぞ呒瓤梢蚤_發(fā)系統(tǒng)軟件,也可以開發(fā)包括數(shù)據(jù)庫(kù)軟件在內(nèi)的各種應(yīng)用程序。Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具。它使用了Microsoft Windows圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο蟪绦蛘Z言(Object-Oriented Language)、當(dāng)今世界上最快的編輯器、最為領(lǐng)先的數(shù)據(jù)庫(kù)技術(shù)。對(duì)于廣大的程序開發(fā)人員來講,使用Delphi開發(fā)應(yīng)用軟件,無疑會(huì)大大地提高編程效率,而且隨著應(yīng)用的深入,您將會(huì)發(fā)現(xiàn)編程不再是枯燥無味的工作Delphi

4、的每一個(gè)設(shè)計(jì)細(xì)節(jié),都將帶給您一份欣喜。其主要特點(diǎn)有:(1)集成化的開發(fā)環(huán)境設(shè)計(jì)功能:可以在一個(gè)集成的環(huán)境中完成應(yīng)用程序的開發(fā)、測(cè)試和維護(hù)。(2)優(yōu)秀的界面設(shè)計(jì)功能:Delphi提供了大量的用于設(shè)計(jì)界面的控件,用它們可以設(shè)計(jì)出各種優(yōu)秀的用戶界面。而且,Delphi還可以自動(dòng)生成眾多的定制界面,極大地簡(jiǎn)化了界面設(shè)計(jì)工作。(3)強(qiáng)大的數(shù)據(jù)庫(kù)功能:Delphi提供了許多與數(shù)據(jù)庫(kù)相關(guān)的控件,用它們可以快速開發(fā)功能強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用程序。Delphi中內(nèi)置的數(shù)據(jù)庫(kù)引擎支持訪問Paradox、AccessFoxpro、dBase、Informix、Oracle、Sybase以及SQL Server等多種數(shù)據(jù)庫(kù)

5、。(4)支持Internet/Internet開發(fā):Delphi的Client/Server版本提供了幾個(gè)用于開發(fā)Internet/Internet應(yīng)用程序的組件,這些組件可以處理與Web服務(wù)器的所有通信服務(wù)。(5)支持ActiveX控件:Delphi提供了創(chuàng)建ActiveX控件的向?qū)А?chuàng)建的ActiveX控件可以用于其他開發(fā)工具,如C、Java、Visual Basic以及PowrBuilder等。Delphi實(shí)際上是Pascal語言的一種版本,但它與傳統(tǒng)的Pascal語言有天壤之別。一個(gè)Delphi程序首先是應(yīng)用程序框架,而這一框架正是應(yīng)用程序的“骨架”。在骨架上即使沒有附著任何東西,仍可

6、以嚴(yán)格地按照設(shè)計(jì)運(yùn)行。您的工作只是在“骨架”中加入您的程序。缺省的應(yīng)用程序是一個(gè)空白的窗體(Form),您可以運(yùn)行它,結(jié)果得到一個(gè)空白的窗口。這個(gè)窗口具有Windows窗口的全部性質(zhì):可以被放大縮小、移動(dòng)、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應(yīng)用程序框架通過,為用戶應(yīng)用程序的開發(fā)打下了良好的基礎(chǔ)。Delphi已經(jīng)為您做好了一切基礎(chǔ)工作程序框架就是一個(gè)已經(jīng)完成的可運(yùn)行應(yīng)用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object-Oriented Programming,簡(jiǎn)記為OOP)是Delphi誕生的基礎(chǔ)。OOP立意于創(chuàng)建

7、軟件重用代碼,具備更好地模擬現(xiàn)實(shí)世界環(huán)境的能力,這使它被公認(rèn)為是自上而下編程的優(yōu)勝者。它通過給程序中加入擴(kuò)展語句,把函數(shù)“封裝”進(jìn)Windows編程所必需的“對(duì)象”中。面向?qū)ο蟮木幊陶Z言使得復(fù)雜的工作條理清晰、編寫容易。說它是一場(chǎng)革命,不是對(duì)對(duì)象本身而言,而是對(duì)它們處理工作的能力而言。對(duì)象并不與傳統(tǒng)程序設(shè)計(jì)和編程方法兼容,只是部分面向?qū)ο蠓炊鴷?huì)使情形更糟。除非整個(gè)開發(fā)環(huán)境都是面向?qū)ο蟮?,否則對(duì)象產(chǎn)生的好處還沒有帶來的麻煩多。而Delphi是完全面向?qū)ο蟮?,這就使得Delphi成為一種觸手可及的促進(jìn)軟件重用的開發(fā)工具,從而具有強(qiáng)大的吸引力。一些早期的具有OOP性能的程序語言如C+,Pascal,

8、Smalltalk等,雖然具有面向?qū)ο蟮奶卣鳎荒茌p松地畫出可視化對(duì)象,與用戶交互能力較差,程序員仍然要編寫大量的代碼。Delphi的推出,填補(bǔ)了這項(xiàng)空白。您不必自己建立對(duì)象,只要在提供的程序框架中加入完成功能的代碼,其余的都交給Delphi去做。欲生成漂亮的界面和結(jié)構(gòu)良好的程序絲毫不必絞盡腦汁,Delphi將幫助您輕松地完成。它允許在一個(gè)具有真正OOP擴(kuò)展的可視化編程環(huán)境中,使用它的Object Pascal語言。這種革命性的組合,使得可視化編程與面向?qū)ο蟮拈_發(fā)框架緊密地結(jié)合起來。1.2 SQL server 簡(jiǎn)介SQl在客戶/服務(wù)開發(fā)中的角色,因?yàn)楸鞠到y(tǒng)所產(chǎn)生和處理的數(shù)據(jù)量比較大,這就讓

9、我們首先想到了SQL server大型數(shù)據(jù)庫(kù),SQL是一組符合工業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)操作令集,它可以在delphi 這樣的編程環(huán)境中使用。Sql不是一門語言,無法得到一個(gè)專門的sql軟件,它只是服務(wù)器數(shù)據(jù)庫(kù)的部份。作為一種查詢語言,sql在80年代至90年代很受歡迎,現(xiàn)在他已成為網(wǎng)絡(luò)環(huán)境中下客戶/服務(wù)器數(shù)據(jù)庫(kù)應(yīng)用程序的開發(fā)的標(biāo)準(zhǔn)。Delphi提供了支持SQL的有關(guān)組件。SQL具有一些查看數(shù)據(jù)庫(kù)的優(yōu)勢(shì),而且只能使用SQl命令來獲得。通過sql,也可以靈活地查詢所需要的數(shù)據(jù)提供了下列功能:. 數(shù)據(jù)定義 使用SQL,可以定義數(shù)據(jù)庫(kù)表的結(jié)構(gòu),包括表中字段的數(shù)據(jù)類型以及不同表的字段之間的參照關(guān)系。.數(shù)據(jù)檢索

10、考試系統(tǒng)可以通過SQL服務(wù)器請(qǐng)求它所需要的數(shù)據(jù)。SQL還容許人試題管理定義要檢索什么數(shù)據(jù)、如何檢索,例如排序、選擇字段等。.數(shù)據(jù)完整性能 SQL可以實(shí)現(xiàn)數(shù)據(jù)完整性約束,這些完整性約束可以定義為數(shù)據(jù)庫(kù)表的一部分,也可以是這引起規(guī)則一存儲(chǔ)過程或其他數(shù)據(jù)庫(kù)對(duì)象的形式從表中獨(dú)立出來。.數(shù)據(jù)處理 SQL容許試題管理程序添加或刪除服務(wù)器上的數(shù)據(jù)庫(kù)。這些操作可以讓試題管理提交的SQL語句來完成,也可以讓服務(wù)器上的存儲(chǔ)過程來完成。.安全性 通過對(duì)不同的數(shù)據(jù)庫(kù)對(duì)象定義訪問權(quán)限、視圖以及受限制的訪問,SQL可以保護(hù)數(shù)據(jù)的安全。.并發(fā)訪問 SQL支持對(duì)數(shù)據(jù)的并發(fā)的訪問、多個(gè)用戶可以同時(shí)使用系統(tǒng)而不互相干擾。1.3

11、套接字Soket概念為了提供進(jìn)程間通信的一般方法和允許使用復(fù)雜協(xié)議,實(shí)現(xiàn)不同主機(jī)的進(jìn)程間通信,BSD UNIX提出一種稱為“套接口(Soket)”的機(jī)制。套接口的出現(xiàn)使程序員能非常方便地訪問TCP/IP協(xié)議。 Soket是一種雙向的通信端口,一對(duì)互聯(lián)的套接口提供通信接口,使兩端可以傳輸數(shù)據(jù);使用系統(tǒng)調(diào)用Soket,我們可以得到Soket描述符,然后可以使用send和recv調(diào)用而于其他的程序通信。我們也可以使用一般的文件操作來調(diào)用read和write對(duì)Soket描述符進(jìn)行讀寫,從而與其他的程序進(jìn)行通信。套接口Soket使用簡(jiǎn)介 一般服務(wù)器的進(jìn)程先使用Soket調(diào)用得到一個(gè)描述符,然后使用bin

12、d調(diào)用將一個(gè)名字與Soket描述符連接起來,對(duì)于Internet域就是將地址連編到soket。之后,服務(wù)器端使用listen調(diào)用指出等待服務(wù)請(qǐng)求隊(duì)列的長(zhǎng)度。然后就可以使用accept調(diào)用等待客戶端發(fā)起連接,一旦有客戶端發(fā)出連接,accept返回客戶的地址信息,并返回一個(gè)新的soket描述符,該描述符與原先的soket有相同的特性,這時(shí)服務(wù)端就可以使用這個(gè)新的soket進(jìn)行讀寫操作了。為了和多個(gè)客戶通信,服務(wù)器端一般在accept返回后創(chuàng)建一個(gè)新的進(jìn)程與客戶的通信,父進(jìn)程則回到accept調(diào)用處等待另一個(gè)連接??蛻暨M(jìn)程一般先使用soket調(diào)用得到一個(gè)soket描述符,然后使用connect向指定的服務(wù)器上的指定端口發(fā)起連接,一旦連接成功返回,就說明已經(jīng)建立了與服務(wù)器的連接,這時(shí)客戶端就可以通過soket描述符進(jìn)行讀寫操作了。2 開發(fā)系統(tǒng)流程圖2.1 TCP時(shí)客戶端和服務(wù)器進(jìn)程通信的流程圖2.2系統(tǒng)功能模塊圖3 系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運(yùn)行或者存儲(chǔ)效率。數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。3.1系統(tǒng)管理賬號(hào).1防火墻

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論