【正文】
QL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它功能強(qiáng)大,操作簡(jiǎn)便,日益為廣大數(shù)據(jù)庫(kù)用戶所喜愛(ài)。越來(lái)越多的開(kāi)發(fā)工具提供了與SQL Server的接口。SQL Server最初是由Microsoft 、Sybase 和AshtonTate三家公司共同開(kāi)發(fā)的[9]。于1988 年推出了第一個(gè)OS/2 版本,在推出Windows NT后,Microsoft與Sybase 公司在SQL Server 的開(kāi)發(fā)上就分道揚(yáng)鑣了,Microsoft公司將SQL Server 移植到Windows NT系統(tǒng)上,專注于開(kāi)發(fā)推廣SQL Server 的Windows NT 版本;Sybase 則較專注于SQL Server在UNIX 操作系統(tǒng)上的應(yīng)用。Microsoft SQL Server 以后簡(jiǎn)稱為SQL Server或MS SQL Server。SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本[11],該版本繼承了SQL Server 版本的優(yōu)點(diǎn),同時(shí)又為它增加了許多更先進(jìn)的功能,具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點(diǎn),應(yīng)用的操作系統(tǒng)支持所有Windows版本。SQL Server 2000全面擴(kuò)展了SQL ,可靠性和易用性使它成為一個(gè)杰出的數(shù)據(jù)庫(kù)平臺(tái),可用于大型聯(lián)機(jī)事務(wù)處理數(shù)據(jù)倉(cāng)庫(kù)以及電子商務(wù)等。MS SQL Server 不但可以應(yīng)用于大中型數(shù)據(jù)庫(kù)管理中,建立分布式關(guān)系數(shù)據(jù)庫(kù),并且也可以開(kāi)發(fā)桌面數(shù)據(jù)庫(kù)。事實(shí)上,SQL Server數(shù)據(jù)庫(kù)處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫(kù)模式,盡管如此,相信大家都可以輕易的發(fā)現(xiàn),在SQL Server的所有功能,都可以基于系統(tǒng)已經(jīng)建立好的一些對(duì)象來(lái)達(dá)成,是相當(dāng)OO(面向?qū)ο螅┑囊粋€(gè)系統(tǒng)結(jié)構(gòu)。 B/S體系結(jié)構(gòu)簡(jiǎn)介B/S結(jié)構(gòu)[2],即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語(yǔ)言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows 98/Windows 2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對(duì)于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序?qū)⑹蔷薮蟮倪M(jìn)步。在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡(jiǎn)化了客戶機(jī)的工作,客戶機(jī)上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請(qǐng)求,而其余如數(shù)據(jù)請(qǐng)求、加工、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁(yè)生成等工作全部由Web Server完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來(lái),由Web服務(wù)器單獨(dú)組成一層來(lái)負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。 B/S體系結(jié)構(gòu)這種結(jié)構(gòu)不僅把客戶機(jī)從沉重的負(fù)擔(dān)和不斷對(duì)其提高的性能的要求中解放出來(lái),也把技術(shù)維護(hù)人員從繁重的維護(hù)升級(jí)工作中解脫出來(lái)。由于客戶機(jī)把事務(wù)處理邏輯部分分給了功能服務(wù)器,使客戶機(jī)一下子苗條了許多,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問(wèn)等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護(hù)人員不再為程序的維護(hù)工作奔波于每個(gè)客戶機(jī)之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會(huì)影響其它層的功能。 [3],微軟提供了一個(gè)全新的,還有DataGrid控件。DataGrid主要用來(lái)顯示數(shù)據(jù)表中的數(shù)據(jù),同類的控件還有Reperter和DataList. DataGrid是用來(lái)顯示數(shù)據(jù)控件中最常用的,功能最強(qiáng)大的。在其他Web技術(shù)中,最難實(shí)現(xiàn)的就是數(shù)據(jù)的分頁(yè)顯示。實(shí)現(xiàn)分頁(yè)顯示,需要寫很長(zhǎng)的代碼,并且?guī)缀趺看味家貜?fù)同樣的工作。,使用DataGrid控件可以輕松的實(shí)現(xiàn)分頁(yè)功能,只需要對(duì)DataGrid控件進(jìn)行一些簡(jiǎn)單的設(shè)置即可,而且還可以改變分頁(yè)顯示的樣式。在ASP. ,數(shù)據(jù)鏈接方面又做了很大的改進(jìn),新加入的DataSource系列控件,使得在數(shù)據(jù)庫(kù)連接方面更加容易,很多可以通過(guò)向?qū)У脑O(shè)置來(lái)完成SQL語(yǔ)句的編寫和數(shù)據(jù)庫(kù)連接。第3章 系統(tǒng)分析與需求實(shí)驗(yàn)教學(xué)一直是大學(xué)教學(xué)中重要一環(huán),尤其近年來(lái),隨著大學(xué)學(xué)分制的改革,以及對(duì)學(xué)生“分析問(wèn)題,解決問(wèn)題”能力和動(dòng)手能力要求的提高,實(shí)驗(yàn)教學(xué)在本科教學(xué)中的地位日益顯著,而越來(lái)越受到實(shí)驗(yàn)教學(xué)管理人員和學(xué)校領(lǐng)導(dǎo)的重視。作為實(shí)驗(yàn)教學(xué)管理中重要一部分——實(shí)驗(yàn)排課,由于涉及因素多,約束條件復(fù)雜,一直以來(lái)又是整個(gè)實(shí)驗(yàn)教學(xué)中的重點(diǎn)和難點(diǎn)。在計(jì)算機(jī)技術(shù)和信息技術(shù)高速發(fā)展的今天,充分利用現(xiàn)有的信息技術(shù)手段和先進(jìn)的工具,開(kāi)發(fā)出簡(jiǎn)單,高效,實(shí)用,安全的實(shí)驗(yàn)排課系統(tǒng)是很有現(xiàn)實(shí)意義的。本系統(tǒng)的開(kāi)發(fā)主要是為了提高實(shí)驗(yàn)排課的效率,把排課人員從復(fù)雜和繁亂的手工排課中解脫出來(lái),從而節(jié)省排課人員大量的時(shí)間和精力。系統(tǒng)有效的利用了學(xué)校的教師,實(shí)驗(yàn)室,上課時(shí)間等資源,重點(diǎn)解決了課表的自動(dòng)生成和手工調(diào)節(jié)等問(wèn)題,同時(shí)也方便了教師和學(xué)生對(duì)各自課表的查詢以及實(shí)驗(yàn)室課表的查詢和打印,進(jìn)而良性的促進(jìn)了整個(gè)實(shí)驗(yàn)教學(xué),提高了實(shí)驗(yàn)教學(xué)的質(zhì)量。在現(xiàn)有的一些排課系統(tǒng)或排課軟件中,主要是針對(duì)整個(gè)學(xué)校的課程來(lái)進(jìn)行編排,沒(méi)有考慮實(shí)驗(yàn)教學(xué)過(guò)程中實(shí)驗(yàn)排課這一環(huán)節(jié)本身的特點(diǎn)。而實(shí)驗(yàn)排課相對(duì)于其他課程的編排,有同它們的相似之處,也有其自身特有的地方。相似之處在于,實(shí)驗(yàn)排課本質(zhì)也是為實(shí)驗(yàn)課程安排一組合適的進(jìn)行實(shí)驗(yàn)教學(xué)的時(shí)間和空間,它同其他課程編排的本質(zhì)是一樣的;不同之處在于,實(shí)驗(yàn)課程的編排受實(shí)驗(yàn)地點(diǎn)和實(shí)驗(yàn)設(shè)備的限制比較嚴(yán)重,也就是說(shuō),實(shí)驗(yàn)教學(xué)要在符合其教學(xué)要求的特定實(shí)驗(yàn)室進(jìn)行,因此,從實(shí)驗(yàn)設(shè)備的角度考慮,實(shí)驗(yàn)課的編排通常就指定了實(shí)驗(yàn)室,空間因素就已經(jīng)人為的進(jìn)行指定了。從這一角度說(shuō),實(shí)驗(yàn)課程的編排相對(duì)于其他課程的編排,變的簡(jiǎn)單了很多。,不但功能強(qiáng)大,相容性更好,而且還具備了更好的性能安全性,從數(shù)據(jù)庫(kù)管理系統(tǒng)、瀏覽器/服務(wù)器軟件到Internet/Intranet軟件。數(shù)據(jù)庫(kù)系統(tǒng)SQL Server 2000提供了強(qiáng)有力工具進(jìn)行全企業(yè)的數(shù)據(jù)管理、數(shù)據(jù)復(fù)制、并行數(shù)據(jù)管理、大型數(shù)據(jù)庫(kù)以及與OLE的技術(shù)的集成。(ActiveX Data )來(lái)訪問(wèn)數(shù)據(jù)庫(kù)?!盁o(wú)連接傳輸模式”來(lái)訪問(wèn)數(shù)據(jù)源?!盁o(wú)連接傳輸模式”指的是當(dāng)用戶要求訪問(wèn)數(shù)據(jù)庫(kù)時(shí),無(wú)須經(jīng)過(guò)冗長(zhǎng)的連接操作,(數(shù)據(jù)集)對(duì)象,,每個(gè)用戶都擁有專屬的DataSet對(duì)象,因此,用戶就不再需要爭(zhēng)奪數(shù)據(jù)源。為了提高實(shí)驗(yàn)教學(xué)的效率,開(kāi)發(fā)出一個(gè)基于B/S結(jié)構(gòu)的實(shí)驗(yàn)排課子系統(tǒng),利用現(xiàn)有的這些工具和方法,在技術(shù)上完全是可行的。傳統(tǒng)的手工排課,過(guò)程主要就是“擺牌[15]”,是在一個(gè)畫有空課表的版面上將有課名的小牌擺在適當(dāng)?shù)奈恢蒙?,邊擺邊觀察,邊調(diào)整,憑借經(jīng)驗(yàn)將各門課程擺在合理的位置上,最后形成一個(gè)有效的課程表。這種辦法沒(méi)有一定的規(guī)律,沒(méi)有理論作指導(dǎo),具有很大的盲目性。所以要為成千上萬(wàn)名學(xué)生和上百名教師安排出合理的課表,往往需要花費(fèi)排課人員大量的時(shí)間,工作量大,排出來(lái)的課程表不宜調(diào)整。而現(xiàn)有的一些排課系統(tǒng)和排課軟件,一方面局限于各個(gè)學(xué)校自身具體的實(shí)際情況,沒(méi)有一個(gè)通用的效果,不宜推廣;另一方面,沒(méi)有考慮到實(shí)驗(yàn)教學(xué)自身的特點(diǎn),很難用在實(shí)驗(yàn)課程的編排上來(lái)。因此根據(jù)我校實(shí)驗(yàn)教學(xué)的實(shí)際情況,開(kāi)發(fā)出一個(gè)基于B/S結(jié)構(gòu)的實(shí)驗(yàn)排課子系統(tǒng)是非常有必要的。如果該系統(tǒng)投入到實(shí)際應(yīng)用中來(lái),一方面,提高了實(shí)驗(yàn)排課科學(xué)性,排課人員無(wú)須根據(jù)自己的經(jīng)驗(yàn)來(lái)“擺牌”,只需在實(shí)驗(yàn)課表排出來(lái)后,根據(jù)經(jīng)驗(yàn)做少量調(diào)整即可;另一方面,大大節(jié)省了排課時(shí)間。原來(lái)復(fù)雜,信息量大,限制條件多的排課過(guò)程由計(jì)算機(jī)來(lái)處理后,馬上能得到一個(gè)較為理想的實(shí)驗(yàn)課表,因此將排課人員從繁雜的排課過(guò)程中解脫出來(lái)。該湖南工業(yè)大學(xué)實(shí)驗(yàn)教學(xué)管理系統(tǒng)——基于B/S的實(shí)驗(yàn)排課子系統(tǒng)的設(shè)計(jì)目標(biāo)是立足于開(kāi)發(fā)一套簡(jiǎn)單易用,方便快捷,功能強(qiáng)大的信息管理系統(tǒng)?!盎贐/S的實(shí)驗(yàn)排課子系統(tǒng)”使用簡(jiǎn)單明了的操作界面,簡(jiǎn)單易用意味著系統(tǒng)簡(jiǎn)易,美觀的圖形操作界面;功能強(qiáng)大意味著系統(tǒng)的實(shí)用性,功能的全面性,系統(tǒng)的安全性和可靠性。只要知道基本的業(yè)務(wù)流程即可對(duì)各項(xiàng)管理進(jìn)行操作,這樣使得操作變得更加輕松,因而在操作上是完全可行的。按上述三方面進(jìn)行可行性分析[1]、研究后,我們認(rèn)為該系統(tǒng)的開(kāi)發(fā)是可行的。實(shí)驗(yàn)室排課一直是實(shí)驗(yàn)教學(xué)管理人員一項(xiàng)重要且復(fù)雜的基本工作,它涉及面廣,限制條件多,其實(shí)質(zhì)就是為學(xué)校所設(shè)置的實(shí)驗(yàn)課安排一組適當(dāng)?shù)慕虒W(xué)時(shí)間和空間,從而使整個(gè)實(shí)驗(yàn)教學(xué)能夠有計(jì)劃,有秩序的進(jìn)行下去。在實(shí)際中,排課具有很多的約束條件,其中包括實(shí)驗(yàn)室,班級(jí),教師,課程,時(shí)間等多種因素[19],結(jié)構(gòu)和過(guò)程也相當(dāng)復(fù)雜。如果完全依靠人工手動(dòng)來(lái)完成,則需要耗費(fèi)大量的人力和時(shí)間。因此我們希望用計(jì)算機(jī)代替人工來(lái)完成實(shí)驗(yàn)課表的編排,從而大大提高排課工作的科學(xué)性和準(zhǔn)確性,同時(shí)也提高工作效率,減輕實(shí)驗(yàn)室管理人員的負(fù)擔(dān)。該基于B/S的實(shí)驗(yàn)排課子系統(tǒng)主要提供一個(gè)實(shí)驗(yàn)課程的編排和查詢平臺(tái),涉及到管理員,教師和學(xué)生三個(gè)部分的功能。(1)管理員登錄功能,根據(jù)權(quán)限進(jìn)入管理員相應(yīng)的頁(yè)面的功能。(2)基本數(shù)據(jù)的輸入在排課之前,需要輸入大量的基本數(shù)據(jù)信息,其中包括班級(jí)信息,教師信息,實(shí)驗(yàn)室信息,課程信息,并且提供對(duì)這些信息的增,刪,修改功能?;緮?shù)據(jù)的保存可以用數(shù)據(jù)庫(kù)形式進(jìn)行保存,有利于系統(tǒng)的集成。(3)課表編排課表的編排分為自動(dòng)編排和手工調(diào)節(jié)兩部分。課表的編排不是任意的,它是一個(gè)時(shí)間,教師,班級(jí),實(shí)驗(yàn)室,課程五者的組合規(guī)劃問(wèn)題,為達(dá)到最好的實(shí)驗(yàn)教學(xué)效果應(yīng)遵循一定的要求。這些要求有以下幾條:1)同一班級(jí)在同一時(shí)間不能安排兩門實(shí)驗(yàn)課;2)同一教師在同一時(shí)間不能進(jìn)行兩門實(shí)驗(yàn)課的教學(xué);3)同一實(shí)驗(yàn)室在同一時(shí)間不能安排兩門實(shí)驗(yàn)課;4)同一時(shí)間安排的實(shí)驗(yàn)課程總數(shù)不能大于實(shí)驗(yàn)室總數(shù);5)同一教師或同一班級(jí)最好選擇幾個(gè)相對(duì)固定的實(shí)驗(yàn)室;最后,管理人員可對(duì)計(jì)算機(jī)初排結(jié)果通過(guò)人工交互進(jìn)行適當(dāng)?shù)恼{(diào)整。(4)課表信息管理排課結(jié)束以后,可對(duì)排課結(jié)果進(jìn)行多種條件的查詢,并可以輸出不同形式的課表,包括班級(jí)課表,教師課表,實(shí)驗(yàn)室課表,并且可以對(duì)這些課表進(jìn)行打印。(1)教師登錄功能,根據(jù)其權(quán)限進(jìn)入教師相應(yīng)的頁(yè)面的功能。(2)教師對(duì)自己課表的查詢功能,教師可查詢本學(xué)期自己所教實(shí)驗(yàn)課程的課表。(3)教師對(duì)自己課表的打印功能,教師可打印本學(xué)期自己所教實(shí)驗(yàn)課程的課表。(4)實(shí)驗(yàn)室課表的查詢和打印功能。(1)學(xué)生登錄功能,根據(jù)其權(quán)限進(jìn)入學(xué)生相應(yīng)的頁(yè)面的功能。(2)學(xué)生對(duì)自己所在班