[摘要] 基于B/S結(jié)構(gòu)的學(xué)生選課系統(tǒng)運(yùn)行于服務(wù)器端,客戶端只需安裝瀏覽器即可使用。本系統(tǒng)包含用戶管理和后臺(tái)管理兩個(gè)功能模塊,用戶界面良好,查詢效率高,運(yùn)行速度快,基本滿足了高等院校對學(xué)生選課進(jìn)行管理的需求。
[關(guān)鍵詞] B/S; 學(xué)生選課系統(tǒng); ASP
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2011 . 23. 033
[中圖分類號]TP315;G473 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號]1673 - 0194(2011)23- 0065- 02
1B/S模式簡介
1.1定義及說明
當(dāng)前流行的客戶/服務(wù)網(wǎng)絡(luò)模式是B/S模式,也叫瘦客戶機(jī)/服務(wù)器模式,是一種以Web技術(shù)為基礎(chǔ)的系統(tǒng)平臺(tái)模式。
隨著Internet和WWW的流行,以往的主機(jī)/終端和C/S模式都無法滿足當(dāng)前全球網(wǎng)絡(luò)開放、互聯(lián)、信息隨處可見和信息共享的新要求,于是就出現(xiàn)了B/S模式,即瀏覽器/服務(wù)器結(jié)構(gòu)。B/S模式最大的特點(diǎn)是:用戶可以通過WWW瀏覽器去訪問Internet上的文本、數(shù)據(jù)、圖像、動(dòng)畫、視頻和聲音信息,這些信息都是由許許多多的Web服務(wù)器產(chǎn)生的,而每一個(gè)Web服務(wù)器又可以通過各種方式與數(shù)據(jù)庫服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫服務(wù)器中。客戶端除了WWW瀏覽器,一般無須安裝任何用戶程序,只需從Web服務(wù)器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據(jù)庫有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫服務(wù)器來解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個(gè)巨大的網(wǎng),即全球網(wǎng)。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Intranet。
1.2系統(tǒng)結(jié)構(gòu)框架分析
B/S模式把傳統(tǒng)C/S模式中的服務(wù)器部分分解為一個(gè)數(shù)據(jù)庫服務(wù)器和一個(gè)Web服務(wù)器,從而形成一個(gè)三層結(jié)構(gòu)的客戶機(jī)/服務(wù)器體系。
第一層,客戶機(jī)為用戶與整個(gè)系統(tǒng)的接口。客戶端的應(yīng)用程序精簡到一個(gè)通用的瀏覽器軟件,由瀏覽器解釋HTML,顯示其網(wǎng)頁內(nèi)容。網(wǎng)頁具備一定的交互功能,允許用戶在網(wǎng)頁提供的表單上輸入信息提交給后臺(tái),并提出處理請求。
第二層,Web服務(wù)器將啟動(dòng)相應(yīng)的進(jìn)程來響應(yīng)這一請求,并動(dòng)態(tài)生成嵌入處理結(jié)果的HTML代碼返回給客戶機(jī)/瀏覽器。若客戶機(jī)提交的請求包括數(shù)據(jù)存取,Web服務(wù)器還需與數(shù)據(jù)庫服務(wù)器協(xié)同完成這一處理工作。
第三層,數(shù)據(jù)庫服務(wù)器負(fù)責(zé)協(xié)調(diào)不同Web服務(wù)器發(fā)出的SQL請求,管理數(shù)據(jù)庫。
2系統(tǒng)功能分析
在本系統(tǒng)中,有3類用戶:系統(tǒng)管理員、教師和學(xué)生。3種不同的用戶所具有的操作權(quán)限以及操作內(nèi)容均不一樣。
本選課系統(tǒng)管理員只負(fù)責(zé)向系統(tǒng)中添加學(xué)生和教師的個(gè)人信息以及必修課程信息等。系統(tǒng)管理員不參與開設(shè)課程、選擇課程等,一切均由教師、學(xué)生登錄網(wǎng)站自行完成。系統(tǒng)管理員設(shè)置一個(gè)選課時(shí)間段,在到達(dá)時(shí)間段以前,教師可以開設(shè)課程;在到達(dá)時(shí)間段以后,學(xué)生可以登錄網(wǎng)站選擇課程。
教師用戶登錄網(wǎng)站后可以開設(shè)課程,為自己的課程編輯上課時(shí)間和地點(diǎn),當(dāng)系統(tǒng)中出現(xiàn)時(shí)間、地點(diǎn)沖突的時(shí)候,系統(tǒng)向教師用戶報(bào)告。教師為每門課程設(shè)置一個(gè)學(xué)分,并可以在課程結(jié)束后給予分?jǐn)?shù),學(xué)生將獲得該課程的學(xué)分。
對于學(xué)生用戶,每個(gè)學(xué)生除了必須選擇必修課程外,至多還可以選擇3門選修課程,學(xué)生可以查看自己選課信息。當(dāng)超過選課時(shí)段后,系統(tǒng)自動(dòng)關(guān)閉選課程頁面。系統(tǒng)可以根據(jù)學(xué)生的選課信息,生成一份學(xué)生自己的課表。課程結(jié)束后學(xué)生可登錄網(wǎng)站查詢成績與學(xué)分。
根據(jù)上面的要求,可將系統(tǒng)操作功能分為兩類:一類是通用操作,主要實(shí)現(xiàn)用戶的登錄注銷和修改密碼等;另一種是為不同用戶定制不同操作。
2.1通用操作
(1) 登錄與注銷:每個(gè)用戶都可以用自己的賬號登錄系統(tǒng)。用戶操作完成后推出系統(tǒng),退出后可以重新登錄系統(tǒng)。
(2) 修改密碼:每個(gè)用戶第一次登錄都用默認(rèn)密碼。
2.2用戶具有的功能
2.2.1系統(tǒng)管理員
錄入必修課程信息,管理必修和選修課程。
設(shè)置選課時(shí)間段:系統(tǒng)管理員通過此項(xiàng)功能設(shè)置選課時(shí)段,只有在選課時(shí)間段里,學(xué)生才可以選擇課程,超過時(shí)間段,學(xué)生不得進(jìn)行選課。
錄入管理學(xué)生與教師個(gè)人信息:通過此項(xiàng)功能可以實(shí)現(xiàn)對教師和學(xué)生的個(gè)人信息添加刪除。
2.2.2教師用戶
顯示和修改個(gè)人信息:教師用戶登錄系統(tǒng)后,可以查看和修改教師的個(gè)人信息,如姓名、電話、E-mail地址等。
開設(shè)課程:教師用戶登錄系統(tǒng)后,可以開設(shè)課程。可以設(shè)置該課程的最多人數(shù)。
給學(xué)生評分:課程結(jié)束后,教師用戶登錄系統(tǒng),可以為學(xué)過課程的學(xué)生給評分。
編輯課程上課時(shí)間:教師在開設(shè)了課程后,可以靈活地設(shè)置上課時(shí)間和地點(diǎn)。
2.2.3學(xué)生用戶
顯示個(gè)人信息:學(xué)生登錄系統(tǒng)后,可以查看學(xué)生的個(gè)人信息,如姓名、性別、電話等。
查看必修課程:學(xué)生登錄后,可以查看所有的必修課程。查看該課程的信息、上課時(shí)間地點(diǎn)、開課教師信息等。
選擇選修課程:學(xué)生登錄系統(tǒng)后,在所有選修課程中至多可以選擇3門選修課程。同時(shí)可以查看相關(guān)信息。課程結(jié)束后,學(xué)生登錄系統(tǒng)可查看自己學(xué)習(xí)課程的成績。
查看最終選課信息:學(xué)生登錄系統(tǒng)后,可列出已選擇的課程,查看成績。
基于工作流技術(shù)的學(xué)生選課系統(tǒng)具有存儲(chǔ)量大、檢索迅速、查找方便等優(yōu)點(diǎn),能夠快速實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和查詢。其系統(tǒng)功能結(jié)構(gòu)如圖1所示。
3部分功能解決方案
設(shè)置開始選課時(shí)間段的代碼如下:
<% if trim(request("timestart"))=""then
response.Write"<script language='javascript'>alert('開始時(shí)間不能為空!');history.back();</script>"
elseif trim(request("timeend"))=""then
response.Write"<script language='javascript'>alert('結(jié)束時(shí)間不能為空!');history.back();</script>"else
set rst=server.CreateObject("adodb.recordset")
rst.open"select * from time where timestart='"&request.Form("timestart")&"'and timeend='"&request.Form("timeend")&"'",bb,1,1
if rst.recordcount>0 then
'如果存在這個(gè)用戶名,對用戶進(jìn)行提示
response.Write("課程時(shí)間為"&request.Form("timestart")&"到"&request.Form("timeend")&"已經(jīng)錄入")
rst.close
set rst=nothing
bb.close
set bb=nothing
response.End()
else
rst.close
bb.begintrans
rst.open"time",bb,1,3
rst.delete
rst.addnew
rst("timestart")=request.Form("timestart")
rst("timeend")=request.Form("timeend")
rst.update
rst.close
if err.number<>0 then
bb.rollbacktrans
%>
主要參考文獻(xiàn)
[1] 趙曉輝. 基于B/S結(jié)構(gòu)的科技管理信息系統(tǒng)的研究[D]. 北京:北京工業(yè)大學(xué),2000.
[2] 李真文. SQL Server 2000開發(fā)人員指南[M]. 北京:北京希望電子出版社,2001.
[3] 吳文秋. 基于ASP技術(shù)制作在線答疑室[D]. 長春:吉林大學(xué),2007.
[4] 陳志泊. ASP. NET數(shù)據(jù)庫應(yīng)用程序開發(fā)教程[M].北京:人民郵電出版社,2005:35-40.