【正文】
設(shè)計(jì)方法,將本系統(tǒng)分解為功能明確,易于修改的模塊結(jié)構(gòu)。用戶(hù)學(xué)生選課數(shù)據(jù)流圖如圖38。排課數(shù)據(jù)流圖如圖37。如果有沖突,則會(huì)重新進(jìn)行排課,知道無(wú)沖突為止。以管理員為例,數(shù)據(jù)流圖如圖36。 根據(jù)前面業(yè)務(wù)流程分析,可以得到系統(tǒng)的數(shù)據(jù)流圖如圖35。有權(quán)限的人可以對(duì)這些庫(kù)信息進(jìn)行修改和刪除處理。其業(yè)務(wù)流程圖如圖34。其業(yè)務(wù)流程圖如圖33。其業(yè)務(wù)流程如圖32。登陸類(lèi)型主要為管理員,教師,學(xué)生。由此得出網(wǎng)絡(luò)系統(tǒng)選課總體業(yè)務(wù)流程圖如圖31。下面將會(huì)逐個(gè)分析各個(gè)系統(tǒng)業(yè)務(wù)流程。選課子系統(tǒng)是本系統(tǒng)最終要實(shí)現(xiàn)的功能,主要供學(xué)生使用,包括課程瀏覽,選課,退課等于選課有關(guān)的一切操作。其中,登陸系統(tǒng)是整個(gè)系統(tǒng)的前提,主要是區(qū)分登陸者(管理員,教師或是學(xué)生)不同身份,并給予不通的權(quán)限,在頁(yè)面中根據(jù)部通身份判斷其相應(yīng)的權(quán)限,進(jìn)行不同的操作。(3) 學(xué)生描述:在選課系統(tǒng)中的主要功能是查詢(xún)課程,教室信息,提交選課申請(qǐng)或刪除選課申請(qǐng),查詢(xún)選課情況,登陸系統(tǒng),進(jìn)行個(gè)人信息修改等于選課有關(guān)的活動(dòng)。管理員可以對(duì)選課結(jié)果進(jìn)行統(tǒng)計(jì);查詢(xún)選課情況,對(duì)學(xué)生的選課申請(qǐng)進(jìn)行審查;進(jìn)行用戶(hù)管理;排課,發(fā)布選課信息等。通過(guò)對(duì)各個(gè)高?,F(xiàn)存選課需求,確定了本系統(tǒng)中用戶(hù)應(yīng)該含有的三類(lèi)用戶(hù):管理員,教師,學(xué)生。而這兩個(gè)功能所涉及的用戶(hù)為:學(xué)生,教師,管理員。首先,學(xué)生選課的前提是課程已經(jīng)由教務(wù),或者教師進(jìn)行科學(xué)的,無(wú)沖突的排課后才可以進(jìn)行的。第2章內(nèi)容主要是:系統(tǒng)需求分析包括,現(xiàn)有系統(tǒng)介紹;系統(tǒng)的實(shí)體分析,實(shí)體關(guān)系圖。所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開(kāi)發(fā)成本,在經(jīng)濟(jì)上完全可行。對(duì)于軟件技術(shù)要求,現(xiàn)在的程序設(shè)計(jì)語(yǔ)言已非常成熟,要運(yùn)用HTML樣式,圖形圖象制作工具來(lái)制作生動(dòng)活潑的網(wǎng)頁(yè)及美觀的圖形文件或動(dòng)畫(huà)文件,數(shù)據(jù)庫(kù)使用對(duì)性能要求低廉的MySQL。Dreamweaver MX為新的ColdFusion MX特性提供全套的支持,包括增強(qiáng)的代碼編輯和開(kāi)發(fā)功能、集成的調(diào)試功能、可視化布局功能和照片打印功能。Dreamweaver 還包括有預(yù)建的布局和代碼,其中有網(wǎng)站結(jié)構(gòu)、表格、可訪問(wèn)的模板以及為客戶(hù)端交互應(yīng)用而提供的JavaScript。通過(guò)平面設(shè)計(jì)工具以及代碼提示、標(biāo)簽編輯器、可擴(kuò)展色彩代碼、標(biāo)簽選擇器、片段和代碼檢驗(yàn)這類(lèi)編碼特性來(lái)實(shí)現(xiàn)對(duì)代碼和設(shè)計(jì)的管理。 Dreamweaver 簡(jiǎn)介Dreamweaver是美國(guó)MACROMEDIA公司開(kāi)發(fā)的集網(wǎng)頁(yè)制作和網(wǎng)站管理于一身的所見(jiàn)即所得網(wǎng)頁(yè)編輯器, 是一種可視化網(wǎng)頁(yè)制作工具,利用它可以輕松地制作出跨越平臺(tái)限制和跨越瀏覽器限制的動(dòng)態(tài)網(wǎng)頁(yè)。隨著Ajax的成熟,一些簡(jiǎn)化Ajax使用方法的程序庫(kù)也相繼問(wèn)世。Ajax不需要任何瀏覽器插件,但需要用戶(hù)允許JavaScript在瀏覽器上執(zhí)行。使用Ajax的最大優(yōu)點(diǎn),就是能在不更新整個(gè)頁(yè)面的前提下維護(hù)數(shù)據(jù)。因?yàn)樵诜?wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應(yīng)更快的應(yīng)用。這導(dǎo)致了用戶(hù)界面的響應(yīng)比本地應(yīng)用慢得多。這個(gè)做法浪費(fèi)了許多帶寬,因?yàn)樵谇搬醿蓚€(gè)頁(yè)面中的大部分HTML代碼往往是相同的。傳統(tǒng)的web應(yīng)用允許用戶(hù)填寫(xiě)表單(form),當(dāng)提交表單時(shí)就向web服務(wù)器發(fā)送一個(gè)請(qǐng)求。CSS提供了從內(nèi)容中分離應(yīng)用樣式和設(shè)計(jì)的機(jī)制。XSLT可以被用在客戶(hù)端和服務(wù)端,他能夠減少大量的用JavaScript編寫(xiě)的應(yīng)用邏輯。類(lèi)似的,XSLT是最簡(jiǎn)單而快速的從XML數(shù)據(jù)生成HTML或XML的方式。使用XMLHttpRequest傳送的數(shù)據(jù)可以是任何格式,雖然從名字上建議是XML格式的數(shù)據(jù)。XMLHttpRequest對(duì)象用來(lái)響應(yīng)通過(guò)HTTP傳遞的數(shù)據(jù),一旦數(shù)據(jù)返回到客戶(hù)端就可以立刻使用DOM將數(shù)據(jù)放到網(wǎng)面上。類(lèi)似的,他也被認(rèn)為將應(yīng)用邏輯任意地散布在服務(wù)端和客戶(hù)端中,這使得問(wèn)題很難被發(fā)現(xiàn)而且代碼很難重用。在大部分時(shí)間,JavaScript通常被服務(wù)端開(kāi)發(fā)人員認(rèn)為是一種企業(yè)級(jí)應(yīng)用不需要使用的東西應(yīng)該盡力避免。(1) JavaScript 如名字所示AJAX的概念中最重要而最被忽視的是他也是一種JavaScript編程語(yǔ)言。AJAX開(kāi)發(fā)人員將用戶(hù)從Web應(yīng)用的負(fù)載中解放出來(lái)。可用性是AJAX另人激動(dòng)的地方而且已經(jīng)產(chǎn)生了幾種新穎的技術(shù)。例如用戶(hù)通常希望每一次按鈕點(diǎn)擊會(huì)導(dǎo)致幾秒的延遲和屏幕刷新,但AJAX正在打破這種長(zhǎng)時(shí)間的狀況。因此開(kāi)發(fā)人員必須更注重用戶(hù)。AJAX的最大機(jī)遇在于用戶(hù)體驗(yàn)。最重要的是,AJAX開(kāi)發(fā)人員必須禁止以頁(yè)面集合的方式來(lái)考慮Web應(yīng)用而需要將其認(rèn)為是單個(gè)頁(yè)面。AJAX開(kāi)發(fā)人員必須理解傳統(tǒng)的MVC架構(gòu),這限制了應(yīng)用層次之間的邊界。這些問(wèn)題中的大部分來(lái)源于瀏覽器、服務(wù)器和技術(shù)的組合,因此必須理解如何才能最好的使用這些技術(shù)。這些不同引入了新的編程問(wèn)題,最大的問(wèn)題在于易用性。同時(shí),隨著技術(shù)的成熟還會(huì)有許多地方需要改進(jìn),特別是UI部分的易用性。例如,在一個(gè)發(fā)送請(qǐng)求到服務(wù)端的應(yīng)用中,必須包含請(qǐng)求順序、優(yōu)先級(jí)、超時(shí)響應(yīng)、錯(cuò)誤處理及回調(diào),其中許多元素已經(jīng)在Web服務(wù)中包含了,就像現(xiàn)在的SOA。 Ajax技術(shù)簡(jiǎn)介AJAX全稱(chēng)為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。如果我們有三個(gè) JavaBean ,它們分別具有顯示新聞、股票價(jià)格、天氣情況的功能,則創(chuàng)建包含所有這三種功能的 Web 頁(yè)面只需要實(shí)例化這三個(gè) Bean ,使用 HTML 表格將它們依次定位就可以了。這種支持不僅能縮短開(kāi)發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開(kāi)發(fā)),也為 JSP 應(yīng)用帶來(lái)了更多的可伸縮性。 JavaBean 是一種基于 Java 的軟件組件。在Java 模型當(dāng)中,通過(guò)JavaBean 可以無(wú)限擴(kuò)充Java 程序的功能,通過(guò)JavaBean 的組件可以快速地生成新的應(yīng)用程序。二、強(qiáng)調(diào)可重用的組件JSP 作為一個(gè)很好的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言得到了越來(lái)越廣泛的使用,在各類(lèi)JSP 應(yīng)用程序當(dāng)中,JSP+JavaBean 的組合成為了一種事實(shí)上最常見(jiàn)的JSP程序的標(biāo)準(zhǔn)。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容(例如,通過(guò)訪問(wèn)JavaBeans組件,使用JDBCTM技術(shù)訪問(wèn)數(shù)據(jù)庫(kù),或者包含文件),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。JSP技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開(kāi)發(fā):一、將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面。程序片段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送 等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*html,*.html)中加入Java程序片段(ScriptServlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開(kāi)發(fā)工具共同工作。 JSP技術(shù)介紹JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。通過(guò)站點(diǎn)服務(wù)器執(zhí)行腳本語(yǔ)言,產(chǎn)生或更改在客戶(hù)端執(zhí)行的腳本語(yǔ)言。 (6)可以實(shí)現(xiàn)在多個(gè)主頁(yè)間共享信息,以開(kāi)發(fā)復(fù)雜的商務(wù)站點(diǎn)應(yīng)用程序。 (4)提供廣告輪播器、取得瀏覽器信息、URL表管理等內(nèi)置功能。使用瀏覽器即可輸入、更新和刪除站點(diǎn)服務(wù)器的數(shù)據(jù)庫(kù)中的數(shù)據(jù)。從應(yīng)用的層面看,ASP有如下的功能: (1)處理由瀏覽器傳送到站點(diǎn)服務(wù)器的表單輸入。(5) 與任何ActiveX scripting 語(yǔ)言兼容除了可使用VBScript 和JavaScript語(yǔ)言進(jìn)行設(shè)計(jì)外,還可通過(guò)Plugin的方式,使用由第三方所提供的其它scripting 語(yǔ)言。因此,若不通過(guò)從服務(wù)器下載來(lái)觀察*.asp 主頁(yè),在瀏覽器端見(jiàn)不到正確的頁(yè)面內(nèi)容。(3)獨(dú)立于瀏覽器 用戶(hù)端只要使用可解釋常規(guī)HTML碼的瀏覽器, 即可瀏覽ASP所設(shè)計(jì)的主頁(yè)。(2)易于生成使用常規(guī)文本編輯器(如WINDOWS下的記事本),即可進(jìn)行*.asp頁(yè)面的設(shè)計(jì)。所有相關(guān)的發(fā)布工作由Web服務(wù)器負(fù)責(zé)。若腳本指令中含有訪問(wèn)數(shù)據(jù)庫(kù)的請(qǐng)求,就通過(guò)ODBC與后臺(tái)數(shù)據(jù)庫(kù)相連,由數(shù)據(jù)庫(kù)訪問(wèn)組件執(zhí)行訪庫(kù)操作。 當(dāng)用戶(hù)申請(qǐng)一個(gè)*.asp主頁(yè)時(shí),Web服務(wù)器響應(yīng)該HTTP請(qǐng)求,調(diào)用ASP引擎,解釋被申請(qǐng)文件。該應(yīng)用程序分析表單的輸入數(shù)據(jù),根據(jù)不同的數(shù)據(jù)內(nèi)容將相應(yīng)的執(zhí)行結(jié)果(通常是數(shù)據(jù)庫(kù)查尋的結(jié)果集)以HTML的格式傳送給瀏覽器。 ASP所設(shè)計(jì)出的是動(dòng)態(tài)主頁(yè),可接收用戶(hù)提交的信息并作出反應(yīng), 其中的數(shù)據(jù)可隨實(shí)際情況而改變,無(wú)須人工對(duì)網(wǎng)頁(yè)文件進(jìn)行更新即可滿(mǎn)足應(yīng)用需要。當(dāng)瀏覽器通過(guò)Internet的HTTP協(xié)議向站點(diǎn)的Web服務(wù)器申請(qǐng)主頁(yè)時(shí),站點(diǎn)服務(wù)器就會(huì)將已設(shè)計(jì)好的靜態(tài)的HTML文件傳送給瀏覽器。然而,目前Web的服務(wù),仍以提供 靜態(tài)主頁(yè)內(nèi)容為主。 ASP方法與傳統(tǒng)靜態(tài)主頁(yè)的區(qū)別把信息系統(tǒng)納入Internet/Intranet 的框架之后,首先要解決的問(wèn)題是通過(guò)網(wǎng)頁(yè)訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù)信息。ASP是 Active Server Pages(動(dòng)態(tài)服務(wù)器主頁(yè))的縮寫(xiě),它是一個(gè)服務(wù)器端的腳本環(huán)境,在站點(diǎn)的Web服務(wù)器上解釋腳本,可產(chǎn)生并執(zhí)行動(dòng)態(tài)、交互式、高效率的站點(diǎn)服務(wù)器應(yīng)用程序。ASP技術(shù)的出現(xiàn),使動(dòng)態(tài)交互式Web主頁(yè)設(shè)計(jì)成為一件輕松愉快的工作。 ASP的特點(diǎn)與功能幾年以前,業(yè)界在動(dòng)態(tài)主頁(yè)發(fā)布方面唯一的渠道是CGI(Common Gateway Interface) 模式。 越來(lái)越多的客戶(hù)在一個(gè)Web服務(wù)器上跑多個(gè)應(yīng)用程序或者多個(gè)站點(diǎn),這對(duì)如今的Web服務(wù)器無(wú)疑提出了特定的需求,如果一個(gè)ISP在同一服務(wù)器上有兩個(gè)公司的站點(diǎn)甚至互相爭(zhēng)奪資源,那么他必須保證隔離兩個(gè)應(yīng)用程序相互獨(dú)立運(yùn)行,更為重要的是——他必須確保一個(gè)有惡意的應(yīng)用程序管理員無(wú)法訪問(wèn)其它應(yīng)用程序的數(shù)據(jù),完全隔離是絕對(duì)必要的。 IIS 提供廣泛的新特性和技術(shù)和使它更為可靠、可擴(kuò)展和安全、可管理,加強(qiáng)了對(duì)開(kāi)發(fā)提供的技術(shù)特性支持。高效性,高可靠性和安全性。 Internet 信息服務(wù)(IIS) Server 2003 為網(wǎng)絡(luò)應(yīng)用程序服務(wù)器管理引入了許多新的特征。IIS ,包括實(shí)用性、可靠性、安全性與可擴(kuò)展性。但要在同一時(shí)間(極短的時(shí)間)有50個(gè)頁(yè)面被打開(kāi),需要50個(gè)人同時(shí)操作,這個(gè)概率還是比較低的。IIS的作用:在同一時(shí)間內(nèi)允許打開(kāi)的網(wǎng)站頁(yè)面數(shù),打開(kāi)一個(gè)頁(yè)面占一個(gè)IIS,打開(kāi)一個(gè)站內(nèi)框架頁(yè)面占2到3個(gè)IIS;若圖片等被盜鏈,在其它網(wǎng)站打開(kāi)本站圖片同樣占一個(gè)IIS。它與Windows NT Server完全集成,允許使用Windows NT Server內(nèi)置的安全性以及NTFS文件系統(tǒng)建立強(qiáng)大靈活的Internet/Intranet站點(diǎn)。 IIS意味著你能發(fā)布網(wǎng)頁(yè),并且有ASP(Active Server Pages)、JAVA、VBScript產(chǎn)生頁(yè)面,有著一些擴(kuò)展功能。 IIS 和 Windows Server 2003相關(guān)簡(jiǎn)介Internet Information Server的縮寫(xiě)為(IIS)是一個(gè)World Wide Web server。增強(qiáng)復(fù)制功能對(duì)于分布式數(shù)據(jù)庫(kù)而言,SQL Server 2005提供了全面的方案修改(DDL)復(fù)制、下一代監(jiān)控性能、從甲骨文(Oracle)到SQL Server的內(nèi)置復(fù)制功能、對(duì)多個(gè)超文本傳輸協(xié)議()進(jìn)行合并復(fù)制,以及就合并復(fù)制的可升級(jí)性和運(yùn)行,進(jìn)行了重大的改良。這一功能將為服務(wù)器提供更大的可升級(jí)性。(8) 快照隔離我們將在數(shù)據(jù)庫(kù)層面上提供一個(gè)新的快照隔離(SI)標(biāo)準(zhǔn)。(7) 專(zhuān)門(mén)的管理員連接SQL Server 2005將引進(jìn)一個(gè)專(zhuān)門(mén)的管理員連接,即使在一個(gè)服務(wù)器被鎖住,或者因?yàn)槠渌虿荒苁褂玫臅r(shí)候,管理員可以通過(guò)這個(gè)連接,接通這個(gè)正在運(yùn)行的服務(wù)器。(6) 新的SQL Server Management StudioSQL Server 2005引入了SQL Server Management Studio,這是一個(gè)新型的統(tǒng)一的管理工具組。管理人員將能夠在事務(wù)日志向前滾動(dòng)之后,重新連接到正在恢復(fù)的數(shù)據(jù)庫(kù)。例如,當(dāng)一個(gè)集簇索引正在重建的時(shí)候,您可以對(duì)基底數(shù)據(jù)繼續(xù)進(jìn)行更新、并且對(duì)數(shù)據(jù)進(jìn)行查詢(xún)。在線恢復(fù)改進(jìn)了SQL服務(wù)器的可用性,因?yàn)橹挥姓诒换謴?fù)的數(shù)據(jù)是無(wú)法使用的,而數(shù)據(jù)庫(kù)的其他部分依然在線、可供使用。您將可以使用數(shù)據(jù)庫(kù)鏡像,通過(guò)將自動(dòng)失效轉(zhuǎn)移建立到一個(gè)待用服務(wù)器上,增強(qiáng)您SQL服務(wù)器系統(tǒng)的可用性。SQL Server 2005數(shù)據(jù)庫(kù)管理9個(gè)重要的特點(diǎn)。與 Microsoft Visual Studio、Microsoft Office System 以及新的開(kāi)發(fā)工具包(包括 Business Intelligence Development Studio)的緊密集成使 SQL Server 2005 與眾不同。SQL Server 2005 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。SQL Server 2005 數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能。 (4) 開(kāi)發(fā)簡(jiǎn)單,共享性強(qiáng)。 (2) 業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過(guò)增加網(wǎng)頁(yè)即可增加服務(wù)器功能。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Internet??蛻?hù)端除了WWW瀏覽器,一般無(wú)須任何用戶(hù)程序,只需從Web服務(wù)器上下載程序到本地來(lái)執(zhí)行,在下載過(guò)程中若遇到與數(shù)據(jù)庫(kù)有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫(kù)服務(wù)器來(lái)解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶(hù)。隨著Internet和WWW的流行,以往的主機(jī)/終端和C/S都無(wú)法滿(mǎn)足當(dāng)前的全球網(wǎng)絡(luò)開(kāi)放、互連、信息隨處可見(jiàn)和信息共享的新要求,于是就出現(xiàn)了B/S型模式,即瀏覽器/服務(wù)器結(jié)構(gòu)。它是一次性到位的開(kāi)發(fā),能實(shí)