畢業(yè)論文---學生成績查詢系統(tǒng)_第1頁
已閱讀1頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設計)</b></p><p>  題 目: 學生成績查詢系統(tǒng) </p><p>  完 成 人: </p><p>  班 級: <

2、;/p><p>  學 制: </p><p>  專 業(yè): 計算機與科學技術 </p><p>  指導教師: </p><p>  完成日期: 2012

3、-03-30 </p><p><b>  目 錄</b></p><p><b>  摘要(1)</b></p><p><b>  0引言(1)</b></p><p><b>  7總結 (43)</b></p>

4、;<p><b>  參考文獻(44)</b></p><p>  Abstract(44)</p><p><b>  學生成績查詢系統(tǒng)</b></p><p>  作 者:殷德濤</p><p><b>  指導教師:王 達</b></p&g

5、t;<p><b>  摘要</b></p><p>  摘要:以前,學校的各種管理大都采用傳統(tǒng)的管理方式,傳統(tǒng)的管理方式繁瑣。但在網絡技術逐漸滲入社會生活各個層面的今天,傳統(tǒng)的管理方式也面臨著變革,而網絡管理則是一個很重要的方向。隨著計算機網絡應用的迅猛發(fā)展,網絡已經接入千家萬戶,特別是現(xiàn)在很多的高校和社會性的教育已經建立了多媒體計算機網絡教室,基于Web技術的網絡考試系統(tǒng)可

6、以借助于遍布全球的Internet進行,網絡學生信息管理既可以在本地進行,也可以在異地進行,大大拓展了管理的靈活性,從而利用現(xiàn)有的設備和技術等進行在線管理,不僅可以減輕教師和考生負擔,提高效率,同時也提高了管理的質量。學生信息可以根據(jù)題庫中的內容即時生成,而且采用大量標準化管理,從而使用計算機對信息進行編輯,大大提高管理效率;還可以直接把信息送到數(shù)據(jù)庫中,進行統(tǒng)計、排序等操作。所以現(xiàn)在較好的管理方法為網絡管理,學生信息內容放在服務器上,

7、學生通過用戶名、和口令進行登錄,察看自己想獲取的信息。因此,采用網絡管理方式將是以后學校管理的發(fā)展的趨勢。本系統(tǒng)分為兩個部分,一是前臺的網上信息模塊,二是后臺網上信息管理模塊。</p><p>  關鍵詞: 學生信息; 系統(tǒng); 學生成績; 程序設計</p><p><b>  0引言</b></p><p>  隨著校園規(guī)模的不斷擴大,學生數(shù)目

8、的急劇增多,學生的各種信息也成倍的增長。面對此現(xiàn)象,學校的日常工作中需要一套學生信息管理系統(tǒng),以便對學生的各方面的信息進行管理,減少不必要的資源浪費,從而達到精簡機構,提高學校辦事效率。</p><p><b>  1境基礎知識</b></p><p>  1.1 ASP入門知識</p><p>  在ASP頁面中添加服務器端腳本,服務器端腳本

9、是一系列指令,用于向Web服務器連續(xù)發(fā)出命令。若要在ASP頁面中插入服務器端腳本,首先要設置所使用的腳本語言,有以下三種設置方法。</p><p> ?。?)使用@ LANGUAGE指令<%@ LANGUAGE = ScriptingLanguage %>其中ScriptingLanguage參數(shù)是一個字符串,指定用于解釋腳本命令的腳本引擎,取值可以是“VBScript”或“JavaScript”,

10、默認值為VBScript。</p><p> ?。?)使用<SCRIPT>標記的相關屬性</p><p>  若要在文檔中包含服務器端腳本,也可以使用SCRIPT標記的LANGUAGE屬性來設置所用的腳本語言,并使用RUNAT屬性指明腳本是在服務器端運行的。例如:   <SCRIPT LANGUAGE = "VBScript" RUNAT = &qu

11、ot;Server">  …   </SCRIPT>. 使用Internet信息服務管理單元</p><p> ?。?)在Windows 2000中,可以使用Internet信息服務管理單元來為安裝在Web服務器上的所有ASP動態(tài)網頁設置默認的腳本語言。操作步驟如下:  (1) 選擇“開始→程序→管理工具→Internet服務管理器”命令?! ?2) 在Intern

12、et信息服務管理單元窗口中,選擇Web站點或應用程序的 起始點目錄?! ?3) 從“操作”菜單中選擇“屬性”命令,以打開目錄的“ASP屬性”對話框。  (4) 單擊“主目錄”、“虛擬目錄”或“目錄”選項卡?! ?5) 單擊“配置”按鈕,單擊“應用程序選項”選項卡,然后在“默認ASP語言” 框中輸入要用的主要腳本語言。</p><p>  1.2 VBScript介紹</p><p>

13、;  腳本(Script)就是插入在HTML文件中的短程序,通常有兩個腳本語言:JavaScript和VBScript(Microsoft Visual Basic Scripting Edition)。JavaScript基于SUN公司的JAVA,而VBScript是基于Microsoft公司的Visual Basic,是以Visual Basic語言為基礎提供編程功能,是Visual Basic語言的一個子集,是IIS的缺省源程序語

14、言。</p><p>  VBScript可以在HTML網頁上操作、控制、處理對象。在最初的設計中,VBScript是通過編寫事件驅動的腳本來擴大客戶端HTML功能,編寫客戶端腳本最大的優(yōu)點就是由瀏覽器解析執(zhí)行,不需要增大服務器的負擔。例如,我們可以在客戶端進行輸入數(shù)據(jù)有效性驗證,防止瀏覽器將無效數(shù)據(jù)發(fā)送給服務器,這樣,一方面可以減輕服務器的負擔,防止服務器陷入處理大量無意義數(shù)據(jù)的工作中,同樣,也可以減輕網絡的阻

15、塞;另一方面,也能夠使客戶減少等待時間,在驗證的時候,瀏覽器能夠立即做出響應,而如果在服務器上進行驗證,那用戶則不得不在瀏覽器前等待,服務器的處理和網絡的傳輸都需要耗費一定的時間。</p><p>  隨著ASP技術的出現(xiàn),VBScript將它的功能擴展到服務器上,VBScript開發(fā)的腳本可以在服務器上解析執(zhí)行。在服務器端腳本開發(fā)的過程中,使用VBScript則沒有客戶端腳本開發(fā)時的局限性,當客戶請求頁面時,頁

16、面將在服務器上執(zhí)行,然后再反饋給瀏覽器,瀏覽器所獲得的只是標準的HTML文件,這樣就可以不受瀏覽器功能的限制。</p><p>  VBScript和HTML 頁面完美地結合在一起,運用VBScript可以控制HTML頁面,并對頁面中某些事件做出響應,例如,前面所述的可以在頁面的表單提交時進行數(shù)據(jù)有效性驗證。VBScript 還提供了許多對象,運用這些對象,可以方便地進行腳本的編寫,實現(xiàn)一些其他語言所無法實現(xiàn)的功

17、能。</p><p>  1.2.1 VBScript代碼的基本格式</p><p>  一般的ASP程序都是將VBScript代碼放在服務器端執(zhí)行的,此時有兩種方法:</p><p>  方法一:<%VBScript 代碼%></p><p>  方法二:<Script language=” VBScript” Runa

18、t=”Server”></p><p>  VBScript 代碼</p><p>  </Script ></p><p>  有時為了需要,可能也會將VBScript代碼放在客戶端執(zhí)行,此時的語法如下:</p><p>  <Script language=” VBScript” ></p>&

19、lt;p>  VBScript 代碼</p><p>  </Script ></p><p>  這樣用和ASP就沒有什么關系了。</p><p>  1.3 ASP內置對象</p><p>  ASP 內含于PWS和 IIS 之中 , 我們通過 ASP可以結合 HTML 網頁、 ASP 指令和 ActiveX 組件建立動

20、態(tài)、交互高效的 Web服務器應用程序。有了 ASP 就不必擔心客戶端瀏覽器是否能運行你所編寫的代碼,因為所有的程序都將在服務器端執(zhí)行,包括所有嵌在普通 HTML 中的腳本程序,當程序執(zhí)行完畢后,服務器僅將執(zhí)行的結果返回給客戶瀏覽器,這樣就減輕了客戶端瀏覽器的負擔。 </p><p>  與一般程序不同,ASP程序無須編譯, 程序控制部分使用 VBScript 、JavaScript 等腳本語言來設計的,當執(zhí)行

21、ASP 程序時,腳本程序將一整套命令發(fā)送給腳本解釋器 ( 即腳本引擎 ) ,由腳本解釋器進行翻譯并將其轉換成服務器所能執(zhí)行的命令。當然,同其他編程語言一樣, ASP 程序的編寫也遵循一定的規(guī)則,如果你想使用你所喜愛的腳本語言編寫 ASP 程序,那么你的服務器上必須要有能解釋這種腳本語言的腳本解釋器。當你安裝 ASP 時,系統(tǒng)提供了兩種腳本語言: VBSrcipt 和 JavaScript ,而 VBscript 則被作為系統(tǒng)默認的腳本語

22、言。</p><p>  ASP之所以簡單實用,主要是因為它提供了功能強大的內部對象和內部組件。其中常用的五大內部對象包括Request、Response、Session、Application、Server, </p><p>  1.3.1 Request</p><p>  Request對象用于接收客戶端在請求一個頁面或傳送一個表單時提供的所有信息,包括能

23、夠標識瀏覽器和用戶的HTTP變量、Cookie信息以及附在URL后面的值(查詢字符串或表單數(shù)據(jù))</p><p>  Request的功能是:從客戶端獲得數(shù)據(jù)信息。</p><p>  Request對象共有五種獲取方法,分別是QueryString、 Form、 Cookies、 ServerVariables 、ClientCertificate。</p><p&g

24、t;<b>  語法:</b></p><p>  Request[.數(shù)據(jù)集合∣屬性∣.方法] (變量或字符串)</p><p><b>  例如:</b></p><p><b>  <%</b></p><p>  Request.Form(“user_name”)&

25、lt;/p><p>  Request.QueryString(“user_name”)</p><p><b>  %></b></p><p>  1.3.2 Response </p><p>  ASP的內部對象Response用來控制送出給客戶端的信息,Response對象可以使用的方法:</p&g

26、t;<p>  2.3.3 Session</p><p>  在上網時,利用超鏈接,可以很方便地從一個頁面到另一個頁面。但是這樣也帶來一個問題,怎樣記載客戶的信息呢?比如,在首頁客戶輸入了自己的用戶名和密碼,在其他頁面還需要使用該用戶名,我們已經學習了兩種方法。</p><p>  方法一:利用Request對象的QueryString方法一頁一頁傳遞過去。</p

27、><p>  方法二:利用 Cookies保存用戶名。</p><p>  還有一種簡潔的方法,就是利用Session對象。</p><p>  Session對象用來記載特定客戶的信息。即使該客戶從一個頁面跳轉到另一個頁面,該Session信息仍然存在,客戶在該網站的任何一個頁面都可以存取Session信息。特別強調的是:Session信息是對一個客戶的,不同客戶的

28、信息用不同的Session對象記載。</p><p>  1.3.4 Application</p><p>  Session對象可以記載特定客戶的信息,與此相反的是,Application對象可以記載所有客戶信息。不同的客戶必須訪問不同的Session對象,但可以訪問公共的Application對象。(在Web站點中創(chuàng)建一個基于ASP的應用程序之后,便可以通過Application

29、對象在該應用程序的所有用戶之間共享信息)</p><p>  Application對象是讓所有客戶一起使用的對象,通過該對象,所有客戶都可以存取同一個Application對象。</p><p>  Application對象的方法:</p><p> ?。?)Lock–––鎖定Application對象, 禁止其他客戶修改Application對象的屬性;<

30、;/p><p> ?。?)Unlock–––解除鎖定, 允許其他客戶修改Application對象的屬性;</p><p>  (3) Contents.Remove–––Application對象的Contents集合中刪除一個項目;</p><p>  (4) Contents.RemoveAll –––Application對象的Contents集合中刪除所有項目

31、;</p><p>  (5) Contents –––含所有通過腳本命令添加到應用程序中的項目;</p><p>  (6) StaticObjects ––– 含通過OBJECT標記創(chuàng)建的并給定了應用程序作用域的對象</p><p>  1.3.5 Server </p><p>  Server對象是專為處理服務器上的特定任務而

32、設計的,特別是與服務器的環(huán)境和處理活動有關的任務。它提供了一些非常有用的屬性和方法,主要用來創(chuàng)建COM對象和Scripting式、管理其他網頁的執(zhí)行.</p><p><b>  語法為:</b></p><p>  Server.方法︱屬性(變量或字符串︱=整數(shù))</p><p>  Server對象的屬性如表2-3-5所示。</p&g

33、t;<p>  Server對象的方法如表2-3-6所示。</p><p><b>  1.4 ADO組件</b></p><p>  ASP用Database Access(數(shù)據(jù)庫訪問)組件與數(shù)據(jù)庫進行連接,Database Access(數(shù)據(jù)庫訪問)組件通過ActiveX Data Objects(ADO)訪問存儲在數(shù)據(jù)庫或其他表格化數(shù)據(jù)結構中的信息

34、。</p><p>  ADO是ActiveX Data Object的縮寫,稱為ActiveX數(shù)據(jù)對象,是為OLE DB設計的應用編程接口,使用ADO對象實現(xiàn)在ASP頁面中對數(shù)據(jù)庫的訪問。在ASP頁面中,OLE DB及ODBC無法直接使用,但是ADO卻是一種可以在ASP中使用的標準對象,通過ADO就可以調用OLE DB提供者或者ODBC驅動程序來訪問數(shù)據(jù)庫。</p><p>  ADO的

35、主要對象有3個。分別為Connection、Command和Recordset,3個對象的主要功能如下表2-4-1所示:</p><p>  表2-4-1 ADO對象及主要功能</p><p>  1.4.1 Connection</p><p>  Connection對象又稱連接對象,主要用來建立與數(shù)據(jù)庫的連接。只有建立連接后,才能利用Command和Re

36、cordset對象來對數(shù)據(jù)庫進行各種操作。</p><p>  使用 Connection對象之前,首先要建立該對象。在ADO中建立對象一般需要利用Server對象的CreatObject方法。語法如下:</p><p>  Set Connection 對象=Server. CreatObject(“ADODB. Connection”)</p><p>  建立

37、對象后,就可以利用Connection對的Open方法來打開數(shù)據(jù)庫并與之建立連接。</p><p><b>  語法如下:</b></p><p>  Connection 對象.Open “參數(shù)1=參數(shù)1的值;參數(shù)2=參數(shù)2的值;…”</p><p>  1.4.2 Command</p><p>  Comma

38、nd對象又稱命令對象,是對數(shù)據(jù)庫執(zhí)行命令的對象,它可以執(zhí)行對數(shù)據(jù)庫查詢、添加、刪除、修改記錄操作。</p><p>  Command對象是介于Connection對象和Recordset對象之間的一個對象,它主要通過SQL指令,對數(shù)據(jù)庫提出操作請求,把得到的結果返給Recordset對象。Command對象依賴Connection對象,因為Command對象必須經過一個已經建立的Connection對象才能發(fā)出

39、SQL指令。</p><p>  建立Command對象,語法如下:</p><p>  Set Command 對象=Server. CreatObject(“ADODB. Command”)</p><p>  1.4.3 Recordset</p><p>  Recordset對象又稱記錄集對象,是最主要的對象。當用Command

40、對象或Connection對象執(zhí)行查詢命令后,就會得到一個記錄集對象,該記錄集包含滿足條件的所有記錄。</p><p>  Recordset對象表示的是來自基本表或命令執(zhí)行結果的記錄全集。使用Recordset對象可以操作來自提供程序的數(shù)據(jù),通過該對象幾乎可以對所有數(shù)據(jù)進行操作。</p><p>  所有Recordset對象均使用記錄(行)和字段(列)進行構造。在任何情況下,該對象所指

41、的當前記錄均為集合內的單個記錄。如果記錄集非空,打開記錄集后,記錄指針將指向第一條記錄。記錄集有兩個特殊的位置,Bof和Eof,Bof表示記錄集的開頭,位于第一條記錄之前,Eof表示記錄集的結尾,位于最后一條記錄之后。可以通過移動記錄指針(比如rs.MoveNext,下一條)在記錄集的各條記錄中漫游,就可以利用ASP語句顯示該記錄的內容。</p><p>  建立Recordset對象,主要是利用Connecti

42、on對象或Command對象的Execute方法,其語法如下:</p><p>  Set Recordset 對象=Server. CreatObject(“ADODB. Recordset”)</p><p>  然后,;利用Open方法打開一個數(shù)據(jù)庫,語法是:Recordset對象. Open[Surce],[ActiveConnection],[CursorType],[LockT

43、ype],[Options]</p><p>  1. Recordset對象屬性</p><p>  (1)CursorType屬性</p><p>  設置或返回當前記錄集所使用的指針類型。這個屬性的取值如下:</p><p>  1) adOpenForwardOnly 0 向下指針,為系統(tǒng)默認值,僅提供向下指針。適用于僅需要向前移動

44、記錄的場合,以提高系統(tǒng)的響應速度。直接用Cornmand或Connection對象的Execute方法創(chuàng)建的游標就屬于該類游標</p><p>  2) adOpenKeyset 1 鍵盤指針,在記錄集中指針可以向上和向下移動,其他用戶的修改和刪除是可見的,但添加的數(shù)據(jù)是不可見的。</p><p>  adOpenDynamic 2 動態(tài)指針,在記錄集中指針可以向上和向下移動,所有的修改

45、都會立即在其他客戶端顯示。</p><p>  adOpenStatic 3 靜態(tài)指針,在記錄集中指針可以向上和向下移動,所有的修改都不會立即在其他客戶端顯示。</p><p>  rs.CursorType= adOpenKeyset</p><p>  <%= rs.CursorType %></p><p>  (2) C

46、ursorLocation屬性</p><p>  該屬性設置使用的指針類型,也決定Recordset對象是否可以排序。它的取值有兩個,</p><p>  1) adUseServer 2 使用服務器端的指針,默認設置。若設置為該值,則Recordset對象將不能使用Sort屬性進行排序</p><p>  adUseClient 3 使用客戶端的指針。若設置為該

47、值,則Recordset對象將能使用Sort屬性進行排序</p><p>  db.CursorLocation= adUseClient</p><p>  (3) Sort屬性</p><p>  該屬性指定數(shù)據(jù)集將按哪些字段進行升序或降序排序??梢栽O置或返回一個用逗號分割的字段名排序字符串,其中的每個名稱是Recordset中Field</p>

48、<p>  rs.Sort=”排序字段名表”</p><p>  <% = rs.Sort %></p><p>  (4) Source</p><p>  該屬性用于設置或返回數(shù)據(jù)庫查詢信息,可以是Command對象名、SQL語句或表名等。語法為:</p><p>  rs.Source=數(shù)據(jù)庫查詢信息</p&

49、gt;<p>  <%= rs.Source %></p><p>  (5) ActiveConnection</p><p>  該屬性用于設置或返回數(shù)據(jù)庫連接信息,可以是Connection對象名或包含數(shù)據(jù)庫連接信息的字符串。語法為:</p><p>  rs.ActiveConnection=數(shù)據(jù)庫連接信息</p>&

50、lt;p><b>  (6)Bof</b></p><p>  該屬性用于判斷當前記錄指針是否在記錄集的開頭</p><p><b>  (7)Eof</b></p><p>  該屬性用于判斷當前記錄指針是否在記錄集的結尾</p><p>  (8)RecordCount屬性</p&g

51、t;<p>  該屬性用于返回記錄集中的記錄總數(shù)</p><p>  <% rs.RecordCount %></p><p>  注意:使用該屬性必須設置指針類型CursorType為1(鍵盤指針)或3(靜態(tài)指針),否則返回錯誤。</p><p>  (9)PageSize屬性</p><p>  該屬性用于設置數(shù)

52、據(jù)分頁顯示時每一頁的記錄數(shù)。默認值為10。語法為:</p><p>  rs.PapeSize=整數(shù)</p><p>  (10)PageCount屬性</p><p>  該屬性用于返回數(shù)據(jù)分頁顯示時數(shù)據(jù)頁的總數(shù)。語法為:rs.PageCount</p><p>  如果Recordset對象不支持該屬性,則返回值為-1,表明PageCou

53、nt無法確定。</p><p>  2.Recordset對象</p><p><b>  (1)Open</b></p><p>  該方法用來打開記錄集。語法為:</p><p>  Recordset對象. Open[Source],[ActiveConnection],[CursorType],[LockType

54、],[Options]</p><p>  (2)Close方法用法</p><p>  關閉Recordset對象。</p><p><b>  rs.close</b></p><p>  (3)AddNew方法</p><p>  用于向數(shù)據(jù)庫中添加記錄。添加方法為:</p>

55、<p>  方法一、建立字段名數(shù)組和字段值數(shù)組,然后用AddNew方法添加記錄。</p><p>  方法二、在數(shù)據(jù)庫中添加空白記錄,然后設置字段對象的值</p><p>  (4)Delete方法</p><p><b>  刪除當前記錄</b></p><p><b>  rs.delete<

56、;/b></p><p><b>  rs.update</b></p><p>  (5)Update方法</p><p>  更新數(shù)據(jù)庫數(shù)據(jù),即對所做的修改保存到數(shù)據(jù)庫。</p><p>  (6)CancelUpdate方法</p><p>  取消對數(shù)據(jù)庫數(shù)據(jù)的更新,即從緩沖區(qū)中除掉

57、數(shù)據(jù),取消更新。</p><p>  1.5 DreamweaverMX的概述</p><p>  DreamweaverMX是Macromedia公司最新推出的網爺制作“三劍客(DreamweaverMX、FlashMX、FireworksMX)之一,是設計并且管理網絡站點和網頁的專業(yè)的HTML編輯器。</p><p>  DreamweaverMX是一個所見即所

58、得的網頁編輯器,集功能強勁的可視化設計、應用開發(fā)環(huán)境以及代碼編輯一身的工具,支持最新的DHTML和CSS標準。它采用了多種先進技術,能夠快速高效地創(chuàng)建極具表現(xiàn)力和動感效果的網頁,使網頁創(chuàng)作過程變得十分簡單。它用于對Web站點、Web應用程序進行設計、編碼和開發(fā),使開發(fā)人員和網頁設計師能夠快捷地創(chuàng)建代碼規(guī)范的應用程序,開發(fā)環(huán)境精簡而高效。開發(fā)人員能夠運用它與他們的服務器技術構建功能強大的網絡應用程序銜接到用戶的數(shù)據(jù)、網絡服務體系上。<

59、;/p><p>  DreamweaverMX提供基于強大的規(guī)范管理來確保高質量的設計,設計環(huán)境提供CSS能迅速高效地開發(fā)代碼簡潔、專業(yè)規(guī)范的站點。通過手工編碼和使用可視化對象和行為來快速生成動態(tài)的、數(shù)據(jù)庫驅動的WEB應用程序。</p><p>  DreamweaverMX用于ColdFusion、ASP、ASP.NET、JSP和PHP的服務器代碼庫能夠使用所有前沿的服務器端技術,以可視方式

60、創(chuàng)建動態(tài)WEB站點,使用一種開發(fā)工具即可與多種站點和后端技術集成。</p><p>  DreamweaverMX包含并擴展了Macromedia UltraDev中的所有功能,以幫助使用ASP、ASP.NET、ColdFusion標記語言(CFML)、JSP和PHP等服務器語言來生成由動態(tài)數(shù)據(jù)庫支持的WEB應用程序。</p><p>  DreamweaverMX也是開放式和可擴展的,賦

61、予使用者最大的自由度和靈活性來選擇今天或將來最適合自己工作的技術。</p><p><b>  2 系統(tǒng)分析</b></p><p>  學生是一個龐大的群體,相關的信息比較多,人工管理起來較復雜。所以各種各樣的學生信息管理系統(tǒng)相應而生,這里運用ADO數(shù)據(jù)庫對象訪問模型來 建立一個簡單的學生信息管理系統(tǒng)。要開發(fā)的學生信息系統(tǒng)主界面如下圖:</p><

62、;p>  從界面可以看到,該學生信息管理系統(tǒng)主要提供包括數(shù)據(jù)添加、瀏覽修改和刪除、查詢、打印報表、統(tǒng)計和用戶管理5個模塊。</p><p> ?。?)數(shù)據(jù)添加:用于添加學生的一些基本信息。這里包括學籍信息、課程信息和成績信息,從而為進行學生信息基本操作提供了數(shù)據(jù)基礎。</p><p> ?。?)瀏覽修改和刪除:可以對學生的信息首先瀏覽,然后可以對信息進行修改、刪除操作。</p&

63、gt;<p> ?。?)查詢:提供簡單查詢和復雜查詢。</p><p> ?。?)打印報表:該系統(tǒng)中一個很重要的部分。這里分別對學籍信息、成績信息和不及格學生的信息生成了相應的報表,并且可以通過相應的功能來打印報表。</p><p> ?。?)統(tǒng)計和用戶管理:對訪問該網站的數(shù)量進行統(tǒng)計,同時這個模塊里面還包含了用戶管理。 </p&g

64、t;<p><b>  2.1需求分析</b></p><p> ?。?)由于業(yè)務的需要和保密性,以及便于管理,系統(tǒng)用戶應該具有不同的等級,即不同的權限。</p><p>  軟件能夠對學生的學籍信息進行記錄,能夠非常方便地瀏覽、添加、修改和查詢學生的學籍信息。能夠通過軟件及時了解學生的基本的情況,同時能提供學籍信息的統(tǒng)計情況和學籍信息的報表,并應該具有

65、打印的功能,因為這是學生信息管理系統(tǒng)中非常核心的部分。</p><p> ?。?)軟件能夠對課程的基本信息進行管理,有一個非常方便的添加界面,并且能夠對課程信息進行修改、查詢和刪除操作。</p><p>  (3)成績管理是學生信息管理系統(tǒng)中一個很重要的部分,為學校制訂相應的教學計劃提供了一定的幫助,同時也方便教師及時掌握學生的學習情況。首先軟件應該有一個很好的成績添加界面,并且能夠對課程

66、信息進行修改、查詢和刪除操作。軟件能夠提供簡單的統(tǒng)計功能,統(tǒng)計補考學生的情況。軟件能夠分別為學生成績和補考學生制訂報表,并且有相應的打印功能。</p><p> ?。?)系統(tǒng)有數(shù)據(jù)庫維護功能。</p><p> ?。?)系統(tǒng)運行在windows平臺上。系統(tǒng)還應有一個較好的圖形用戶界面。</p><p>  (6)系統(tǒng)應該有很好的可擴展性。</p>&l

67、t;p>  該系統(tǒng)開發(fā)宗旨以及總體任務就是要實現(xiàn)學生信息管理的自動化、規(guī)范化和系統(tǒng)化。</p><p>  學生信息管理系統(tǒng)的用例包括:數(shù)據(jù)添加;瀏覽、修改和刪除;查詢;打印報表;統(tǒng)計;用戶管理</p><p>  數(shù)據(jù)添加用例包括對學籍信息、課程信息和成績信息的錄入。學生所有學籍信息的基本資料輸入,在這里通過一個“添加信息”窗口來實現(xiàn),并通過該窗口鏈接到課程信息和成績信息的錄入窗口

68、。</p><p>  瀏覽、修改和刪除用例同樣需要實現(xiàn)對學籍信息、課程信息和成績信息的瀏覽、修改的刪除操作,這都在同一個窗口進行。</p><p>  查詢用例在一個窗口中通過關鍵字或者常用的查詢方式來實現(xiàn)查詢功能。</p><p>  打印報表用例是很重要的一個用例,它提供給用戶生成報表和打印的功能,能夠很方便地將學生成績和補考學生名單打印出來。</p&g

69、t;<p>  統(tǒng)計用例可以統(tǒng)計補考學生的名單,可以按照不同的方式進行統(tǒng)計,如按班級來統(tǒng)計,按學號來統(tǒng)計。</p><p>  用戶管理用例實現(xiàn)對用戶分級管理,將用戶分為超級管理員和一般管理員。超級管理員具有一般管理員所有的權限。</p><p>  2.2 UML系統(tǒng)建模</p><p>  2.2.1學生信息管理系統(tǒng)的用例分析</p>

70、;<p><b>  用例圖如下:</b></p><p>  系統(tǒng)管理員:除用戶管理外所有的用例。</p><p>  超級管理員:所有的用例。</p><p>  2.2.2學生信息管理系統(tǒng)的域名分析</p><p>  學生信息管理系統(tǒng)中的域主要包括學生(student)、課程(course)、成績(

71、achievement)??梢栽陬悎D中將上面這些域以及它們之間的關系表示出來,如下圖:</p><p>  0..n 0..n</p><p>  2.2.3學生信息管理系統(tǒng)的設計</p><p>  在設計階段,要先設計類的狀態(tài)圖。不是所有的類都有狀態(tài)圖。在該系統(tǒng)中,有狀態(tài)圖的類有學生,學生狀態(tài)圖,如下圖所示:</p><p

72、>  2.2.4學生信息管理的時序圖:</p><p>  2.2.5系統(tǒng)配置:</p><p>  系統(tǒng)配置要根據(jù)用戶的實際情況設計,主要依據(jù)就是系統(tǒng)的吞吐量和系統(tǒng)對穩(wěn)定性的要求。</p><p><b>  1.軟件配置:</b></p><p>  軟件配置主要包括數(shù)據(jù)庫的選擇和系統(tǒng)的選擇。學生信息管理系統(tǒng)的

73、軟件配置要根據(jù)用戶對系統(tǒng)穩(wěn)定性要求、系統(tǒng)的容量以及用戶的維護水平來確定。</p><p><b>  數(shù)據(jù)庫選擇</b></p><p>  可以根據(jù)數(shù)據(jù)量的大小選擇不同的數(shù)據(jù)庫,如下所示:</p><p><b> ?。?)操作系統(tǒng)選擇</b></p><p>  可以根據(jù)用戶量的大小選擇不同的操

74、作系統(tǒng)。在這里建議使用Windows2000或者Windows XP操作系統(tǒng)。</p><p><b>  2.硬件配置:</b></p><p>  學生信息管理系統(tǒng)的硬件配置要根據(jù)用戶對系統(tǒng)的穩(wěn)定性要求、系統(tǒng)的容量、系統(tǒng)的吞吐量以及用戶的維護水平來確定??梢愿鶕?jù)數(shù)據(jù)量和吞吐量的大小來選擇不同的硬件,選擇如下:</p><p><b&g

75、t;  3.網絡配置:</b></p><p>  該系統(tǒng)需要有能夠支持TCP/IP相關協(xié)議的小型局域網。根據(jù)用戶情況選擇不同的網絡配置。如下所示:</p><p>  2.2.6數(shù)據(jù)庫分析</p><p>  (1)在該系統(tǒng)中,所存在的實體有學生信息實體、課程信息實體、成績信息實體。</p><p>  學生信息管理系統(tǒng)的實體關

76、系簡圖如下:</p><p>  0,n 0,n</p><p><b>  0,1 0,1</b></p><p>  學生信息管理系統(tǒng)中:課程包括(課程ID、課程名、代課老師),學生包括(學生ID、姓名、性別、系名、班級、家庭住址、聯(lián)系電話),成績包括(學生課程ID、成績)</p><p><b&

77、gt; ?。?)創(chuàng)建數(shù)據(jù)庫</b></p><p>  圖2.1管理員數(shù)據(jù)庫</p><p><b>  圖2.2課程數(shù)據(jù)庫</b></p><p>  圖2.3留言版數(shù)據(jù)庫</p><p>  圖2.4學生信息數(shù)據(jù)庫</p><p>  圖2.5學生注冊信息數(shù)據(jù)庫</p>

78、<p>  圖2.6成績信息數(shù)據(jù)庫</p><p> ?。?)網站內容圖示:</p><p><b>  圖3.1網站內容</b></p><p>  圖3.2網站目錄設計</p><p>  圖3.3鏈接設計和導航類型</p><p><b>  3 界面設計與代碼<

79、;/b></p><p><b>  3.1 界面設計</b></p><p>  經過了以上的分析、建模的過程,已經完成了數(shù)據(jù)庫的后臺工作,完成了初期的工作目標。下面就要完成人機交互的界面,一個較好的界面不僅能夠方便系統(tǒng)的使用者,還能使各個模塊間的劃分明確,結構更趨于完善。所以一個好的界面的設計工作在進行系統(tǒng)開發(fā)的時候必不可少,十分重要。</p>

80、<p>  學生信息管理系統(tǒng)主窗體</p><p><b>  登陸模塊界面設計</b></p><p>  管理員登陸窗口 學生登陸窗口</p><p><b>  用戶重新登陸窗口</b></p><p>  (3)數(shù)據(jù)添加模塊界面設計</p

81、><p>  圖5 學生信息添加窗口 圖6 課程信息添加窗口</p><p>  圖7 成績信息添加窗口</p><p>  數(shù)據(jù)的瀏覽、修改、刪除模塊界面設計</p><p>  圖8 學生信息瀏覽、修改、刪除模塊界面</p><p>  圖9 學生信息瀏覽、修改、刪除模塊界面</p>

82、;<p>  圖10 成績信息瀏覽、修改、刪除模塊界面</p><p><b>  查詢模塊的界面設計</b></p><p><b>  圖11 查找窗口</b></p><p><b>  打印報表模塊界面</b></p><p>  統(tǒng)計與用戶管理的界面設計

83、</p><p>  3.2 代碼分析/實現(xiàn)</p><p><b>  連接數(shù)據(jù)庫的代碼:</b></p><p><b>  <%</b></p><p>  dim db,strcon</p><p>  strcon="driver={microsof

84、t access driver (*.mdb)};dbq="&server.MapPath("data.mdb")</p><p>  set db=server.CreateObject("ADODB.Connection")</p><p>  db.open strcon</p><p><b&g

85、t;  %></b></p><p>  管理員登陸模塊代碼:</p><p>  if trim(request("yhm"))<>"" and trim(request("mm"))<>"" then</p><p>  dim rs,st

86、rsql ‘接收的數(shù)據(jù)不為空,執(zhí)行以下</p><p>  strsql = "select * from admin where yhm='"&request("yhm")& "' and mm='"& request("mm")& "&

87、#39;" ‘與數(shù)據(jù)庫中信息校驗</p><p>  set rs =conn.execute(strsql)</p><p>  if not rs.bof and not rs.eof then</p><p>  session("gly_id")=rs("gly_id")</p><p&

88、gt;  response.Redirect"guanli.asp" ‘成功進入管理界面</p><p><b>  else</b></p><p>  response.Redirect "index.htm" ‘不成功進入主界面</p><p><b>  end if

89、</b></p><p><b>  end if</b></p><p>  if trim(request("yhm"))="" or trim(request("mm"))="" then</p><p>  response.Redirect

90、 "chucuo.asp"</p><p>  end if ‘接收信息為空出現(xiàn)錯誤信息提示</p><p><b>  %></b></p><p><b>  學生登陸界面代碼:</b></p><p>  if trim(request

91、("yhm1"))<>"" and trim(request("mm1"))<>"" then</p><p>  ‘接收的數(shù)據(jù)不為空,執(zhí)行以下</p><p>  dim rs,strsql</p><p>  strsql = "select *

92、from xxzcb where yhm='"&request("yhm1")& "' and mm='"& request("mm1")& "'" ‘與數(shù)據(jù)庫中信息校驗</p><p>  set rs =conn.execute(strsql)<

93、/p><p>  if not rs.bof and not rs.eof then</p><p>  session("gly_id")=rs("gly_id")</p><p>  response.Redirect"xueshengxinxi.html" ‘成功到學生信息主界面</p>

94、<p><b>  else</b></p><p>  response.Redirect "xxye.asp" ‘不成功到學生登陸主界面</p><p><b>  end if</b></p><p><b>  end if</b></p>

95、<p>  if trim(request("yhm"))="" or trim(request("mm"))="" then</p><p>  response.Redirect "chucuo.asp"</p><p>  end if ‘

96、接收信息為空出現(xiàn)錯誤信息提示</p><p><b>  %></b></p><p><b>  3.數(shù)據(jù)添加代碼:</b></p><p><b>  學生信息添加代碼</b></p><p>  <% option explicit %> ‘聲名<

97、;/p><p><b>  <%</b></p><p>  if request.Form("kh")<>""and request.Form("xm")<>"" and request.Form("xb")<>"&qu

98、ot; and request.Form("rxcj")<>"" and request.Form("jtdz")<>""and request.Form("lxdh")<>""and request.Form("yxxm")<>""

99、;and request.Form("szxm")<>""and request.Form("sxzy")<>""then 接收數(shù)據(jù)不為空執(zhí)行以下</p><p>  dim db,strcon</p><p>  strcon="driver={Microsoft ac

100、cess driver (*.mdb)};dbq="&server.MapPath("data.mdb")</p><p>  set db=server.CreateObject("ADODB.Connection")</p><p>  db.open strcon 連接數(shù)據(jù)庫</p><p> 

101、 dim strsql,varkh,varxm,varxb,varrxcj,varjtdz,varlxdh,varyxxm,varszxm,varsxzy,varbz</p><p>  varkh=request.Form("kh")</p><p>  varxm=request.Form("xm")</p><p>  

102、varxb=request.Form("xb")</p><p>  varrxcj=request.Form("rxcj")</p><p>  varjtdz=request.Form("jtdz")</p><p>  varlxdh=request.Form("lxdh")<

103、;/p><p>  varyxxm=request.Form("yxxm")</p><p>  varszxm=request.Form("szxm")</p><p>  varsxzy=request.Form("sxzy")</p><p>  varbz=request.For

104、m("bz")</p><p>  接收的數(shù)據(jù)賦于自定義變量</p><p>  strsql="insert into xsxx(kh,xm,xb,rxcj,jtdz,lxdh,yxxm,szxm,sxzy,bz) values('" &clng(varkh)&"','" &var

105、xm&"','" &varxb&"','" &varrxcj&"','" &varjtdz&"','" &varlxdh&"','" &varyxxm&"'

106、;,'" &varszxm&"','" &varsxzy&"','" &varbz&"')"</p><p>  db.execute(strsql) 添加數(shù)據(jù)到數(shù)據(jù)庫</p><p>  response.Write

107、"恭喜你,注冊成功!"</p><p>  response.Write"<a href='guanli.asp'>返回管理頁</a>"</p><p><b>  ‘添加鏈接</b></p><p><b>  else</b></p&

108、gt;<p>  response.Write"請將信息填寫完整,帶*必填,"</p><p>  response.Write"<a href='guanliyuan.asp'>重新添加</a>"</p><p><b>  end if</b></p>&l

109、t;p><b>  %></b></p><p><b>  課程信息添加代碼</b></p><p>  <% option explicit %></p><p><b>  <%</b></p><p>  if request.Form(&

110、quot;kcm")<>""and request.Form("rkls")<>"" and request.Form("kksj")<>"" and request.Form("lszz")<>"" and request.Form(&qu

111、ot;lxdh")<>""and request.Form("rkxm")<>""and request.Form("rkbm")<>""then</p><p>  ‘接收數(shù)據(jù)不為空,執(zhí)行以下代碼</p><p>  dim db,strcon

112、</p><p>  strcon="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("data.mdb")</p><p>  set db=server.CreateObject("ADODB.Connection")</p>&

113、lt;p>  db.open strcon 連接數(shù)據(jù)庫</p><p>  dim strsql,varkcm,varrkls,varkksj,varlszz,varlxdh,varrkxm,varrkbm,varbeizhu</p><p>  varkcm=request.Form("kcm")</p><p>  varrkl

114、s=request.Form("rkls")</p><p>  varkksj=request.Form("kksj")</p><p>  varlszz=request.Form("lszz")</p><p>  varlxdh=request.Form("lxdh")</

115、p><p>  varrkxm=request.Form("rkxm")</p><p>  varrkbm=request.Form("rkbm")</p><p>  varbeizhu=request.Form("beizhu")</p><p><b>  為自定義變量

116、賦值</b></p><p>  strsql="insert into kcxx(kcm,rkls,kksj,lszz,lxdh,rkxm,rkbm,beizhu) values('" &varkcm&"','" &varrkls&"','" &cdate(va

117、rkksj)&"','" &varlszz&"','" &varlxdh&"','" &varrkxm&"','" &varrkbm&"','" &varbeizhu&&q

118、uot;')"</p><p>  db.execute(strsql) ‘將課程信息添加到數(shù)據(jù)庫</p><p>  response.Write"恭喜你,注冊成功!"</p><p>  response.Write"<a href='guanli.asp'>返回管理頁</

119、a>"</p><p><b>  else</b></p><p>  response.Write"請將信息填寫完整,帶*必填,"</p><p>  response.Write"<a href='guanliyuan2.asp'>重新添加</a>&qu

120、ot;</p><p><b>  end if</b></p><p><b>  %></b></p><p><b>  成績信息添加代碼</b></p><p>  <% option explicit %></p><p>&

121、lt;b>  <%</b></p><p>  if request.Form("xh")<>""and request.Form("xm")<>"" and request.Form("xb")<>"" and request.For

122、m("szxm")<>"" and request.Form("szbj")<>""and request.Form("kcm")<>""and request.Form("cj")<>""then</p><p

123、>  dim db,strcon</p><p>  strcon="driver={microsoft access driver (*.mdb)};dbq="&server.MapPath("data.mdb")</p><p>  set db=server.CreateObject("ADODB.Connection&

124、quot;)</p><p>  db.open strcon 連接數(shù)據(jù)庫</p><p>  dim strsql,varxh,varxm,varxb,varszxm,varszbj,varkcm,varcj,varkcm1,varcj1,varbz</p><p>  varxh=request.Form("xh&quo

125、t;)</p><p>  varxm=request.Form("xm")</p><p>  varxb=request.Form("xb")</p><p>  varszxm=request.Form("szxm")</p><p>  varszbj=request.For

126、m("szbj")</p><p>  varkcm=request.Form("kcm")</p><p>  varcj=request.Form("cj")</p><p>  varkcm1=request.Form("kcm1")</p><p>  v

127、arcj1=request.Form("cj1")</p><p>  varbz=request.Form("bz")</p><p>  strsql="insert into cjxx(xh,xm,xb,szxm,szbj,kcm,cj,kcm1,cj1,bz) values('" &clng(varxh)&

128、amp;"','" &varxm&"','" &varxb&"','" &varszxm&"','" &varszbj&"','" &varkcm&"','

129、;" &varcj&"','" &varkcm1&"','" &varcj1&"','" &varbz&"')"</p><p>  ‘添加成績信息到數(shù)據(jù)庫</p><p>  db

溫馨提示

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

評論

0/150

提交評論