董 萍
(三門峽職業(yè)技術(shù)學(xué)院信息傳媒學(xué)院,河南三門峽472000)
B/S是瀏覽器/服務(wù)器結(jié)構(gòu)的簡稱,是隨著互聯(lián)網(wǎng)技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu),該結(jié)構(gòu)的用戶工作界面是通過Web瀏覽器實現(xiàn),具有簡化客戶端電腦載荷、減輕系統(tǒng)維護與升級的成本和工作量的優(yōu)點.在該模式結(jié)構(gòu)下的用戶界面是通過WWW瀏覽器實現(xiàn)的,主要事務(wù)邏輯是在服務(wù)器端實現(xiàn)的[1].B/S具有數(shù)據(jù)一致性好、數(shù)據(jù)實時性強、服務(wù)響應(yīng)及時性強、應(yīng)用服務(wù)器運行數(shù)據(jù)負荷強的特點,將其應(yīng)用在高校教學(xué)支持系統(tǒng)中,能夠有效解決目前該系統(tǒng)中存在的各類問題.
隨著信息技術(shù)的日益發(fā)展,越來越多的人們認識到信息化對于日常工作的重要性.在教育部門,教學(xué)工作的信息化已經(jīng)成為必然趨勢.教學(xué)信息化主要是指在教育領(lǐng)域全面地發(fā)展和運用現(xiàn)代信息技術(shù),使之滲透到教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段、教學(xué)組織形式以及教學(xué)過程的各個具體環(huán)節(jié)之中,從而極大地提高教學(xué)工作的效率和教育教學(xué)的水平.
教學(xué)支持系統(tǒng)是運用信息化手段來實現(xiàn)教學(xué)過程中的各項管理業(yè)務(wù).教學(xué)支持的核心部分是對教學(xué)支持、授課查詢、授課任務(wù)管理、權(quán)限管理等教學(xué)對象的教學(xué)問題進行快速反饋.
ASP.NET是微軟公司推出的一種用來取代ASP的動態(tài)網(wǎng)頁技術(shù),是一個已編譯的、基于.NET的環(huán)境,可以用任何與.NET 兼容的包括 Visual Basic、NET、C#語言創(chuàng)作應(yīng)用程序[2,3],運行速度比較快.使用ASP.NET編寫的應(yīng)用程序可以使用整個.NET框架,具有設(shè)計簡潔、安全可靠、語言靈活、強大的可伸縮性和多種開發(fā)工具的支持的特點.
MS-SQL SERVER數(shù)據(jù)庫能夠用來處理海量的數(shù)據(jù),具有運行穩(wěn)定、速度快的特點,易用于網(wǎng)絡(luò)應(yīng)用,能夠與ASP.NET技術(shù)進行完美融合,是處理大型數(shù)據(jù)的首選數(shù)據(jù)庫.使用MS-SQL SERVER作為基于B/S的教學(xué)支持系統(tǒng)設(shè)計與開發(fā)數(shù)據(jù)存儲平臺[4].
在軟件體系架構(gòu)設(shè)計中,分層式結(jié)構(gòu)是最常見、最重要的一種結(jié)構(gòu).分層式結(jié)構(gòu)從下至上分為數(shù)據(jù)訪問層(DAL)、業(yè)務(wù)邏輯層(BLL)、表示層(UI)三層[5].其中,數(shù)據(jù)訪問層主要負責(zé)數(shù)據(jù)庫中數(shù)據(jù)的增添、刪除、修改、查找等操作[6],業(yè)務(wù)邏輯層是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理,主要處理系統(tǒng)的主要功能和業(yè)務(wù)邏輯,表示層是用戶在使用基于B/S的教學(xué)支持系統(tǒng)時所見到的界面.
以基于B/S的教學(xué)支持系統(tǒng)的子功能“課程信息維護”為例對系統(tǒng)進行需求分析.教務(wù)管理員具有錄入、修改、刪除、查詢課程信息的權(quán)限,用例如圖1所示.
圖1 課程信息維護
錄入課程信息主要指由課程信息維護人員新增一門課程的信息.錄入的課程信息如表1所示.
表1 課程信息
課程信息維護人員根據(jù)不同的查詢方式查詢出需要修改的課程,點擊(修改)按鈕按鈕修改課程的詳細信息.當(dāng)信息修改好后,點擊(修改課程信息)按鈕將新的課程信息保存到數(shù)據(jù)庫中.
課程信息維護人員根據(jù)不同的查詢方式查詢要刪除的課程,點擊(查看)顯示該課程的詳細信息,點擊(刪除)按鈕刪除該課程信息.
課程信息維護人員根據(jù)課程代碼、課程名稱、開課部門、課程類別對系統(tǒng)中的信息進行查詢.
基于B/S的教學(xué)支持系統(tǒng)開發(fā)架構(gòu)分為WebUI層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層、實體層、系統(tǒng)框架層五個層次,主要用于將常用的功能進行封裝,形成工具類.其中WebUI層是用戶使用系統(tǒng)的接口,主要體現(xiàn)在用戶界面在瀏覽器中的顯示.業(yè)務(wù)邏輯層主要是對數(shù)據(jù)業(yè)務(wù)邏輯處理.?dāng)?shù)據(jù)訪問層是對存儲在數(shù)據(jù)庫中的數(shù)據(jù)文件進行操作的層次.實體層是用于描述業(yè)務(wù)中客觀存在的對象并映射數(shù)據(jù)庫的數(shù)據(jù)表或視圖.
基于B/S的教學(xué)支持系統(tǒng)架構(gòu)設(shè)計的基本思想是:主要事務(wù)邏輯部署在應(yīng)用服務(wù)器上,用戶通過瀏覽器訪問網(wǎng)站,不僅能減少成本而且能保護數(shù)據(jù)庫的安全.?dāng)?shù)據(jù)庫部署在數(shù)據(jù)庫服務(wù)器上.系統(tǒng)物理部署架構(gòu)設(shè)計,如圖2所示.
圖2 B/S系統(tǒng)物理架構(gòu)圖
以“課程信息維護模塊”為例介紹數(shù)據(jù)庫設(shè)計和模塊設(shè)計兩個部分.
課程信息維護模塊數(shù)據(jù)庫實體關(guān)系圖,如圖3所示.
圖3 教學(xué)支持模塊實體關(guān)系圖
課程信息維護模塊業(yè)務(wù)涉及到的數(shù)據(jù)表有課程信息表、課程性質(zhì)表、學(xué)分表和專業(yè)類別表.以課程信息表為例進行設(shè)計,如表2、表3、表4和表5所示.
表2 課程信息表
表3 課程性質(zhì)表
表4 學(xué)分表
表5 專業(yè)類別表
課程信息維護模塊包含創(chuàng)建課程信息、刪除信息、修改課程信息、刪除課程信息四個存儲過程.以刪除課程信息存儲過程為例進行設(shè)計,如表6所示.
表6 刪除課程信息存儲過程
以刪除課程信息為例對課程信息維護算法流程進行說明.
本程序為教務(wù)管理員提供刪除課程信息的功能.用戶先按條件查詢課程,然后點擊查詢結(jié)果后面的“刪除”按鈕完成刪除.
算法實現(xiàn)過程:
(1)用戶輸入查詢條件;
(2)選擇待刪除的課程;
(3)調(diào)用課程業(yè)務(wù)類的刪除課程方法;
(4)成功則顯示新的結(jié)果集,失敗則顯示失敗信息.
流程邏輯,如圖4所示:
教學(xué)支持系統(tǒng)使用微軟的ASP.NET技術(shù)開發(fā),通用數(shù)據(jù)文件存放在系統(tǒng)解決方案的App_Data文件下,系統(tǒng)配置參數(shù)存放在Web.confing配置文件中,業(yè)務(wù)邏輯處理層、數(shù)據(jù)訪問層、實體層和系統(tǒng)框架層的代碼使用類庫封裝.
Web表現(xiàn)層文件代碼結(jié)構(gòu)說明,如表7所示:
表7 Web表現(xiàn)層文件結(jié)構(gòu)
圖4 刪除課程信息流程邏輯圖
業(yè)務(wù)邏輯處理層(Business)的業(yè)務(wù)邏輯處理類文件結(jié)構(gòu)說明,如表8所示:
表8 業(yè)務(wù)邏輯處理層文件結(jié)構(gòu)
接口封裝了系統(tǒng)業(yè)務(wù)的操作方法,邏輯層實現(xiàn)對數(shù)據(jù)庫的訪問時,需要調(diào)用工廠類的靜態(tài)方法創(chuàng)建數(shù)據(jù)庫訪問操作對象實例,通過所創(chuàng)建的數(shù)據(jù)庫訪問操作對象,調(diào)用數(shù)據(jù)庫驅(qū)動組件,傳入?yún)?shù),從而實現(xiàn)對數(shù)據(jù)庫的操作.?dāng)?shù)據(jù)訪問層文件結(jié)構(gòu)說明,如表9所示:
表9 數(shù)據(jù)訪問層文件結(jié)構(gòu)
用于封裝數(shù)據(jù)的實體層文件結(jié)構(gòu)說明,如表10所示:
表10 課程信息實體層文件
系統(tǒng)框架層,實現(xiàn)對系統(tǒng)的配置,定義系統(tǒng)的常用工具類.系統(tǒng)框架層文件結(jié)構(gòu),如表11所示:
下面以課程信息維護模塊為例介紹編碼的實現(xiàn)過程.
5.2.1 聲明接口
課程信息維護接口需要聲明獲取多個課程的基本信息數(shù)據(jù)集、按課程編號獲取一門課程的詳細信息、增加一門課程、修改一門課程和刪除一門課程五個方法.
表11 系統(tǒng)框架層
編碼如下:
5.2.2 接口實現(xiàn)
CoursesSQLHandle類繼承接口CoursesInterface,實現(xiàn)接口中定義的方法,下面給出刪除課程信息的方法實習(xí),其它的給出方法聲明.
基于B/S的教學(xué)支持系統(tǒng)的運行環(huán)境采用Windows 7作為操作系統(tǒng)、Microsoft Visual Studio 2008作為開發(fā)工具、Microsoft SQL Server 2008作為數(shù)據(jù)庫、IIS 9作為服務(wù)器.以“刪除課程信息”為例對課程信息維護子系統(tǒng)進行測試用例的設(shè)計,如表12所示.
表12 刪除課程信息測試用例設(shè)計
基于B/S的教學(xué)支持系統(tǒng)提出以Microsoft Visual Studio 2008作為開發(fā)工具、Microsoft SQL Server 2008作為數(shù)據(jù)庫、IIS 9作為服務(wù)器軟件的基本方案.從開發(fā)技術(shù)、需求分析、架構(gòu)設(shè)計、詳細設(shè)計、編碼實現(xiàn)、部署與測試方面對教學(xué)支持系統(tǒng)進行闡述.重點對系統(tǒng)的界面、數(shù)據(jù)庫進行設(shè)計,并給出課程信息維護算法流程和編碼的實現(xiàn).最后對系統(tǒng)進行部署與測試,實驗證明該系統(tǒng)具有設(shè)計界面友好、使用方面等優(yōu)點,能夠滿足不同層次院校在教學(xué)方面中的需求.
[1] 董 萍.基于B/S模型的高校學(xué)務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)[J].沈陽工程學(xué)院學(xué)報:自然科學(xué)版,2014,10(3):260-265,270.
[2] 劉 茜.基于SSH框架畢業(yè)實習(xí)管理系統(tǒng)設(shè)計與實現(xiàn)[D].廈門:廈門大學(xué),2014.
[3] 董 萍.基于SSH框架的學(xué)工管理系統(tǒng)的設(shè)計與實現(xiàn)[J].周口師范學(xué)院學(xué)報,2015,32(2):111-115.
[4] 郭愷強,肖曉朋,劉冬生.B/S和C/S軟件體系結(jié)構(gòu)選擇[J].井岡山學(xué)院學(xué)報:自然科學(xué)版,2009,30(4):49-51.
[5] 李小白,李百怡,陳攸躋,等.基于Web的網(wǎng)絡(luò)教學(xué)支持系統(tǒng)的設(shè)計與開發(fā)[J].信息通信,2012(5):158.
[6] 董 萍.基于數(shù)據(jù)挖掘的教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)[J].三門峽職業(yè)技術(shù)學(xué)院學(xué)報,2015,14(1):135-139.