高校教材信息管理系統(tǒng)案例
[課堂案例分析]案例51 基于Web 的高校教材查詢系統(tǒng)的分析與設(shè)計1. 開發(fā)背景**高校是一所綜合性高校,其涉及的專業(yè)課程多,教材用書種類多,數(shù)量大,傳統(tǒng)的管理方法存在著效率低,易出錯等諸多弊端,特
[課堂案例分析]
案例51 基于Web 的高校教材查詢系統(tǒng)的分析與設(shè)計
1. 開發(fā)背景
**高校是一所綜合性高校,其涉及的專業(yè)課程多,教材用書種類多,數(shù)量大,傳統(tǒng)的管理方法存在著效率低,易出錯等諸多弊端,特別是學(xué)生、教師對教材使用情況了解相對較少,信息的透明度較低,與當前高校管理中倡導(dǎo)的“以人為本”的管理思想存在著很大的差距。為此該校教材科開發(fā)了一套基于C/S的教材管理信息系統(tǒng)。該系統(tǒng)主要包括以下六項處理功能:系統(tǒng)維護、教材訂購計劃管理、教材庫存管理、教材銷售處理、學(xué)生預(yù)收款管理、數(shù)據(jù)統(tǒng)計、查詢與分析等功能。但是由于基于C/S的管理信息系統(tǒng)自身存在的使用范圍小、地點固定等缺點,依然不能滿足管理上的需要。如學(xué)生想知道教材科是否有某本書、想了解自己教材款的使用情況,一方面浪費了學(xué)生和教師的時間和精力,另一方面也加大了教材科的工作量,為此教材科希望在原有的基于C/S的教材管理信息系統(tǒng)的基礎(chǔ)上,利用高校校園網(wǎng)的強大存儲能力和方便的網(wǎng)絡(luò)查詢能力,采用流行的Browser/Server結(jié)構(gòu)體系,將最終用戶界面統(tǒng)一為瀏覽器,開發(fā)基于Web 的教材信息查詢系統(tǒng),更好地滿足各類人員對教材信息管理的需求。 2. 系統(tǒng)調(diào)查
通過對該高校教材科的業(yè)務(wù)工作進行的調(diào)查,我們發(fā)現(xiàn)該教材科的業(yè)務(wù)對象主要有三類:學(xué)生、教師和教材科,其相應(yīng)的日常業(yè)務(wù)也可以分為三類,分別是:
(1)有關(guān)學(xué)生的業(yè)務(wù)
教材科對于學(xué)生的業(yè)務(wù)主要是為學(xué)生提供入學(xué)以來在教材科的購書詳細資料的查詢,存款詳細資料的查詢,剩余款項數(shù)額查詢及學(xué)生對所需教材的查詢等等。以往的方式是學(xué)生到教材科,提供自己的姓名、系別、年級,然后教材科在原始記錄中查詢。
(2)有關(guān)教師的業(yè)務(wù)
教師的業(yè)務(wù)主要是登記查詢教師領(lǐng)書的信息,每學(xué)期開學(xué),各系教師根據(jù)上學(xué)期預(yù)定的教材記錄到教材科領(lǐng)取教材,并登記;每學(xué)期教師可以預(yù)定下學(xué)期所用教材,方式是教師在學(xué)期末到教材科,提供所需教材名稱、教師個人信息等,然后教材科記錄相應(yīng)信息并制定相應(yīng)采購計劃。
(3)有關(guān)教材科的業(yè)務(wù) 教材科的業(yè)務(wù)主要是采購圖書,發(fā)放教材,對庫存圖書、學(xué)生購書信息、教師(院系)領(lǐng)書的信息進行管理、統(tǒng)計。這其中涉及到所有有關(guān)教材的各種信息、數(shù)據(jù),這部分也是教材科最主要、核心的業(yè)務(wù)。
通過對上述業(yè)務(wù)的歸納,可以畫出該系統(tǒng)的功能體系圖,如圖1所示。

3. 業(yè)務(wù)流程分析
3.1 業(yè)務(wù)分類
通過對上述業(yè)務(wù)的了解及分析,新系統(tǒng)的業(yè)務(wù)可以分為通用查詢業(yè)務(wù)、專用查詢業(yè)務(wù)和網(wǎng)上預(yù)定業(yè)務(wù)三部分。
(1)通用查詢業(yè)務(wù)
通用查詢業(yè)務(wù)包括教材基本信息查詢業(yè)務(wù)、學(xué)生購書查詢業(yè)務(wù)、學(xué)生存款查詢業(yè)務(wù)、教師領(lǐng)書查詢業(yè)務(wù)、教材零售查詢業(yè)務(wù)等。任何人在學(xué)?;蛐M舛伎梢允褂米约旱挠脩裘兔艽a在任何一臺能夠上網(wǎng)的電腦上查詢他想要查詢的內(nèi)容(其中教材基本信息查詢不需要用戶名和密碼)。
(2)教材科專用查詢業(yè)務(wù)
專用查詢業(yè)務(wù)是針對教材科的業(yè)務(wù),這部分業(yè)務(wù)不對外開放,因為它沒有對外開放的必要,這部分業(yè)務(wù)主要是輔助教材科對庫存中教材的數(shù)量,更新速度等進行統(tǒng)計、預(yù)測、分析。具體業(yè)務(wù)應(yīng)包括:教材庫存統(tǒng)計業(yè)務(wù)、教材零售統(tǒng)計業(yè)務(wù)、學(xué)生購書統(tǒng)計業(yè)務(wù)和學(xué)生退書統(tǒng)計業(yè)務(wù)及教師(院系)領(lǐng)書情況的統(tǒng)計業(yè)務(wù)。
(3)教材預(yù)訂業(yè)務(wù)
網(wǎng)上教材預(yù)訂業(yè)務(wù)是辦公自動化優(yōu)越性的體現(xiàn)。在新業(yè)務(wù)系統(tǒng)中,各系要預(yù)訂教材不用像以前跑到教材科進行登記了。只要在預(yù)定系統(tǒng)中輸入所要預(yù)定的教材的信息,就可以完成對教材的預(yù)定,這樣大大提高了工作效率。為完成網(wǎng)上預(yù)定的過程,相應(yīng)的應(yīng)該完成一系列的業(yè)務(wù),包括:預(yù)定教材信息錄入、預(yù)定教材信息的修改、預(yù)定教材信息查詢和預(yù)定教材信息統(tǒng)計等內(nèi)容。
3.2 業(yè)務(wù)流程圖
由于業(yè)務(wù)較多,在此僅對通用查詢業(yè)務(wù)和網(wǎng)上教材預(yù)定業(yè)務(wù)分別舉例加以說明。
(1)通用查詢業(yè)務(wù)
以學(xué)生查詢業(yè)務(wù)為例,該業(yè)務(wù)是學(xué)生向系統(tǒng)輸入用戶名和密碼進行身份認證,認證成功的學(xué)生就可以查詢其在教材中心的某一筆或全部購書、退書及存取款記錄。其業(yè)務(wù)流程圖如圖2所示。

(2)教材預(yù)訂業(yè)務(wù)
教師進行教材預(yù)訂的業(yè)務(wù)流程是教師首先輸入自己的用戶名和密碼進行身份認證,然后在教材預(yù)訂系統(tǒng)中輸入自己下學(xué)期所上課程要使用的教材基本信息,在規(guī)定的時間內(nèi),教師也可以對已輸入的教材信息進行查詢和修改,超過了預(yù)定的時間,該信息將被轉(zhuǎn)移到教材計劃表中。該業(yè)務(wù)的業(yè)務(wù)流程圖如圖3所示。
4、數(shù)據(jù)流程分析
數(shù)據(jù)流程分析是在對上述業(yè)務(wù)流程圖進行分析的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性和實際運行的可行性角度出發(fā),將信息處理的功能和彼此之間的聯(lián)系自頂向下、逐層分解,在邏輯上精確地描述新系統(tǒng)應(yīng)具有的功能、數(shù)據(jù)輸入、


圖3 教材預(yù)訂業(yè)務(wù)流程圖
4.1 數(shù)據(jù)流程圖
由于該系統(tǒng)的數(shù)據(jù)流程圖較多,我們依然只對學(xué)生查詢業(yè)務(wù)和教材預(yù)訂業(yè)務(wù)的數(shù)據(jù)流程圖做詳細介紹。
(1)學(xué)生查詢子系統(tǒng)
由于學(xué)生要對自己的信息進行查詢,涉及個人機密,所以學(xué)生應(yīng)該首先進行身份確認,即登錄系統(tǒng),在身份得到確認后才可以查詢自己的購書記錄,退書記錄、自己的存款賬戶以及教材科現(xiàn)有教材的情況,其數(shù)據(jù)流程圖如圖4所示。
,(2)教材預(yù)訂子系統(tǒng)
根據(jù)業(yè)務(wù)流程圖對教材預(yù)訂系統(tǒng)的描述,該系統(tǒng)的數(shù)據(jù)流程圖如圖5所示。
4.2 數(shù)據(jù)字典
數(shù)據(jù)流程圖只是從數(shù)據(jù)流向的角度描述了系統(tǒng)的組成和各部分之間的聯(lián)系,但卻沒有具體說明各個組成部分和數(shù)據(jù)流的具體含義,而數(shù)據(jù)字典正好彌補了這一不足,數(shù)據(jù)字典是對數(shù)據(jù)流程的最底層圖中的數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯和外部實體進行了詳細的說明。由于系統(tǒng)分析中數(shù)據(jù)字典的內(nèi)容非常多,在此僅對各個部分分別舉例進行說明。
(1) 數(shù)據(jù)項的定義
數(shù)據(jù)項編號:A01-01
數(shù)據(jù)項名稱:學(xué)號
別 名:無
簡 述:學(xué)生信息表中某個學(xué)生的學(xué)號
類 型:字符型
長 度:10個字節(jié)
取 值 范圍:0000000000-9999999999

圖5 教材預(yù)訂子系統(tǒng)數(shù)據(jù)流程圖
,數(shù)據(jù)項編號:A02-01
數(shù)據(jù)項名稱:教材編號
別 名:編號
簡 述:教材信息表中某種教材的編號
類 型:字符型
長 度:6個字節(jié)
取 值 范圍:字母+數(shù)字
(2)數(shù)據(jù)結(jié)構(gòu)的定義
數(shù)據(jù)結(jié)構(gòu)編號:D2
數(shù)據(jù)結(jié)構(gòu)名稱:教材信息表
簡 述:教材科庫存教材的信息情況表
數(shù)據(jù)結(jié)構(gòu)組成:教材編碼+教材名稱+作者+出版社+版別序號+印刷批次
+出版日期+價格+理論庫存量+實際庫存量+庫存位置
數(shù)據(jù)結(jié)構(gòu)編號:D1
數(shù)據(jù)結(jié)構(gòu)名稱:學(xué)生信息表
簡 述:學(xué)生的相關(guān)信息
數(shù)據(jù)結(jié)構(gòu)組成:學(xué)號+學(xué)生姓名+用戶名+密碼+當前余額
(3)數(shù)據(jù)流的定義
數(shù)據(jù)流編號:F02-01
數(shù)據(jù)流名稱:登錄信息
簡 述:用戶登錄系統(tǒng)時需要輸入的用戶信息
數(shù)據(jù)流組成:用戶名 密碼
數(shù)據(jù)流來源:學(xué)生、教師、教材管理人員
流 通 量:1000份/天
高峰流通量:700份/每天15:00-21:00
(4)處理邏輯的定義
處理邏輯編號:P1
處理邏輯名稱:驗證登錄信息
簡 述:驗證用戶身份
輸入的數(shù)據(jù)流:登錄信息,來源:外部實體“學(xué)生”、“教師”等
處 理:查詢“學(xué)生信息表”或“教師信息表”,判斷其是否為合法用戶
輸出的數(shù)據(jù)流:合法用戶,去向是處理邏輯“輸入查詢條件”、“輸入教材預(yù)
,訂信息”等
非法用戶,去向是外部實體“學(xué)生”、“教師”等
處 理 頻 率:200次/天
(5)數(shù)據(jù)存儲的定義
數(shù)據(jù)存儲編號:D3
數(shù)據(jù)存儲名稱:學(xué)生領(lǐng)書表
簡 述:存放學(xué)生在校期間所有的領(lǐng)書記錄
數(shù)據(jù)存儲組成:流水號+學(xué)號+教材編碼+領(lǐng)書日期+數(shù)量+單價+業(yè)務(wù)員 關(guān) 鍵 字:學(xué)號+教材編碼+領(lǐng)書日期
相關(guān)聯(lián)的處理:P4(“查詢”) 等
(6)外部實體的定義
外部實體編號:S2
外部實體名稱:教師
簡 述:本校所有任課教師
輸入的數(shù)據(jù)流:F1(“非法用戶信息”)等
輸出的數(shù)據(jù)流:D02-01(“用戶登錄信息”)等
5、系統(tǒng)設(shè)計
5.1 系統(tǒng)總體設(shè)計
5.1.1 系統(tǒng)硬件設(shè)計
在開發(fā)一個網(wǎng)上瀏覽系統(tǒng)時,特別是基于具有大量數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)的網(wǎng)站時,需要多服務(wù)器的共同支持。雖然這些服務(wù)可以在一個服務(wù)器上集成,但這樣做可能會有安全問題。所以針對最典型的網(wǎng)絡(luò)應(yīng)用,至少需要兩臺服務(wù)器,他們分別是:Web 服務(wù)器和數(shù)據(jù)庫服務(wù)器。瀏覽器、Web 服務(wù)器與數(shù)據(jù)庫服務(wù)器之間的三層體系結(jié)構(gòu)關(guān)系如圖6所示。
校園網(wǎng)Web 服務(wù)器為Sun Ultra Enterprise 450的UNIX 服務(wù)器,不兼容微軟的IIS/ASP平臺,所以瀏覽系統(tǒng)的Web 服務(wù)器選用HP LH3服務(wù)器,通過在校園網(wǎng)主DNS 服務(wù)器設(shè)定域名進行解析。數(shù)據(jù)庫服務(wù)器同樣采用HP LH3服務(wù)器并安裝微軟的SQL Server 7.0數(shù)據(jù)庫平臺。
5.1.2 系統(tǒng)軟件設(shè)計
本系統(tǒng)全面采用微軟的產(chǎn)品解決方案。Web 服務(wù)器操作系統(tǒng)采用微軟的Windows NT Server 4,Web 服務(wù)器為微軟的Internet Information System 4,數(shù)據(jù)庫管理系統(tǒng)采用微軟的 SQL Server 7, 開發(fā)工具采用微軟的Visual InterDev ,采用微軟的Active Server Pages(ASP )技術(shù)開發(fā)網(wǎng)站。
Active Server Pages程序是在服務(wù)器端工作,并且通過服務(wù)器端的編譯動態(tài)的送出HTML 文件給客戶端,而不像一般Script 是在客戶端通過瀏覽器執(zhí)行,因而產(chǎn)生各廠商瀏覽器并不完全支持某種腳本語言而造成執(zhí)行錯誤的現(xiàn)象;當客
,戶端瀏覽器向服務(wù)器端要求一個.ASP 文件(Active Server Pages文件后綴名為.asp )時,Server 會將把這個ASP 文件從頭到尾讀一遍,并加以編譯執(zhí)行(利用核心程序ASP.DLL 的編譯),最后送出標準HTML 格式文件給客戶端,由于送給客戶端的是標準的HTML 格式文件,所以可以克服瀏覽器互不兼容的問題。

圖6 三層體系結(jié)構(gòu)示意圖
5.2 代碼設(shè)計
代碼設(shè)計是系統(tǒng)設(shè)計中非常重要的一部分。本系統(tǒng)中設(shè)計多個代碼的設(shè)計,如“學(xué)號”,為了和學(xué)校中的其他系統(tǒng)保持一致,所以使用學(xué)校目前“學(xué)號”代碼的設(shè)計,其設(shè)計規(guī)則如下:




順序號
年級
專業(yè)
院系編碼
“教材編碼”的設(shè)計考慮到教材一般都是各個院系有自己專用的教材,所以其代碼設(shè)計如下:
順序號
院系編碼
由于該高校的院系不超過30個,所以“院系編碼”的設(shè)計采用了3位的順序碼。其他代碼設(shè)計不再一一列舉。
5.3數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計是在選定的數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)上建立數(shù)據(jù)庫的過程。數(shù)據(jù)庫設(shè)計時需要綜合各個子系統(tǒng)的數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS 提供的功能和描述工具,設(shè)計出規(guī)模適當、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足各種查詢要求的數(shù)據(jù)模型。該設(shè)計過程包括概念結(jié)構(gòu)設(shè)計、邏輯
,結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計。
5.3.1 概念結(jié)構(gòu)設(shè)計
在系統(tǒng)的數(shù)據(jù)庫設(shè)計中,首先要對系統(tǒng)分析得到的數(shù)據(jù)字典中的數(shù)據(jù)存儲進行分析,分析各數(shù)據(jù)存儲之間的關(guān)系,可采用E -R 圖的方法進行數(shù)據(jù)結(jié)構(gòu)分析。本系統(tǒng)中涉及的實體主要有“學(xué)生”、“教師”、“教材”、“院系”和“學(xué)生預(yù)存款”等,各實體及其屬性如圖7所示。




a )(“學(xué)生”實體及其屬性圖




(b ) “教材”實體及其屬性



(c )“教師”實體及其屬性圖 (d )“院系”實體及其屬性圖 (e )“預(yù)存款”實體及其屬性圖
圖7 實體及其屬性圖
,各實體之間具有一定的聯(lián)系,用E -R 圖表示出來,如圖8所示。






n m

m 圖8 E -R 圖
5.3.2 邏輯結(jié)構(gòu)設(shè)計
邏輯設(shè)計的任務(wù)就是根據(jù)DBMS 的特征,將上述獨立于DBMS 的E -R 圖描述的概念結(jié)構(gòu)轉(zhuǎn)換為關(guān)系模型的邏輯結(jié)構(gòu)。上述兩個E -R 圖轉(zhuǎn)換成的規(guī)范的關(guān)系模式為:
,(1)學(xué)生信息表XS (學(xué)號,姓名)
(2)教材信息表JC (教材編碼,教材名稱,作者,出版社,版別序號,印刷批次,出版日期,價格,庫存量,庫存位置)
(3)學(xué)生購書表XSGS (學(xué)號,教材編碼,購書日期,數(shù)量,單價,業(yè)務(wù)員)
(4)學(xué)生退書表XSTS (學(xué)號,教材編碼,購書日期,退書日期,數(shù)量,單價,業(yè)務(wù)員)
(5)教師信息表JS (教師編號,姓名,院系編號)
(6)教師領(lǐng)書表JSLS (教師編碼,教材編碼,領(lǐng)書日期,數(shù)量,業(yè)務(wù)員)
(7)教材預(yù)訂表JCYD (課程號,計劃日期,院系編碼,教師編碼,教材名稱,作者,出版社,出版日期,價格,需求數(shù)量)
(8)預(yù)存款信息表XSCK (學(xué)號,存取日期,存取,金額,業(yè)務(wù)員) (9)院系信息表YXXX (院系編碼,院系名稱)
5.3.3 物理結(jié)構(gòu)設(shè)計
物理結(jié)構(gòu)設(shè)計的任務(wù)主要包括兩個方面,其一是確定所有數(shù)據(jù)庫文件的名稱及其結(jié)構(gòu),其二是確定各個數(shù)據(jù)庫文件是否需要建立索引,以及在什么字段上建立索引。本系統(tǒng)中部分表的結(jié)構(gòu)如表1-表11所示。
表1



表2
表3 學(xué)生購書信息表(XSGS )