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

圖2 學(xué)生購書查詢業(yè)務(wù)流程圖
(2)教材預(yù)訂業(yè)務(wù)
教師進(jìn)行教材預(yù)訂的業(yè)務(wù)流程是教師首先輸入自己的用戶名和密碼進(jìn)行身份認(rèn)證,然后在教材預(yù)訂系統(tǒng)中輸入自己下學(xué)期所上課程要使用的教材基本信息,在規(guī)定的時間內(nèi),教師也可以對已輸入的教材信息進(jìn)行查詢和修改,超過了預(yù)定的時間,該信息將被轉(zhuǎn)移到教材計劃表中。該業(yè)務(wù)的業(yè)務(wù)流程圖如圖3所示。

教材預(yù)訂業(yè)務(wù)流程圖
4 數(shù)據(jù)流程分析
數(shù)據(jù)流程分析是在對上述業(yè)務(wù)流程圖進(jìn)行分析的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性和實際運行的可行性角度出發(fā),將信息處理的功能和彼此之間的聯(lián)系自頂向下、逐層分解,在邏輯上精確地描述新系統(tǒng)應(yīng)具有的功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)來源和去向。
4.1 數(shù)據(jù)流程圖
由于該系統(tǒng)的數(shù)據(jù)流程圖較多,我們依然只對學(xué)生查詢業(yè)務(wù)和教材預(yù)訂業(yè)務(wù)的數(shù)據(jù)流程圖做詳細(xì)介紹。
(1)學(xué)生查詢子系統(tǒng)
由于學(xué)生要對自己的信息進(jìn)行查詢,涉及個人機(jī)密,所以學(xué)生應(yīng)該首先進(jìn)行身份確認(rèn),即登錄系統(tǒng),在身份得到確認(rèn)后才可以查詢自己的購書記錄,退書記錄、自己的存款賬戶以及教材科現(xiàn)有教材的情況,其數(shù)據(jù)流程圖如圖4所示。
,
圖4 學(xué)生查詢子系統(tǒng)數(shù)據(jù)流程圖
(2)教材預(yù)訂子系統(tǒng)
根據(jù)業(yè)務(wù)流程圖對教材預(yù)訂系統(tǒng)的描述,該系統(tǒng)的數(shù)據(jù)流程圖如圖5所示。

圖5 教材預(yù)訂子系統(tǒng)數(shù)據(jù)流程圖
4.2 數(shù)據(jù)字典
數(shù)據(jù)流程圖只是從數(shù)據(jù)流向的角度描述了系統(tǒng)的組成和各部分之間的聯(lián)系,但卻沒有具體說明各個組成部分和數(shù)據(jù)流的具體含義,而數(shù)據(jù)字典正好彌補(bǔ)了這一不足,數(shù)據(jù)字典是對數(shù)據(jù)流程的最底層圖中的數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯和外部實體進(jìn)行了詳細(xì)的說明。由于系統(tǒng)分析中數(shù)據(jù)字典的內(nèi)容非常多,在此僅對各個部分分別舉例進(jìn)行說明。
(1) 數(shù)據(jù)項的定義 數(shù)據(jù)項編號:A01-01 數(shù)據(jù)項名稱:學(xué)號 別 名:無
,簡 述:學(xué)生信息表中某個學(xué)生的學(xué)號
類 型:字符型
長 度:10個字節(jié)
取 值 范圍:0000000000-9999999999
數(shù)據(jù)項編號:A02-01
數(shù)據(jù)項名稱:教材編號
別 名:編號
簡 述:教材信息表中某種教材的編號
類 型:字符型
長 度:6個字節(jié)
取 值 范圍:字母+數(shù)字
(2)數(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é)生姓名+用戶名+密碼+當(dāng)前余額
數(shù)據(jù)結(jié)構(gòu)編號:D2
數(shù)據(jù)結(jié)構(gòu)名稱:教材信息表
簡 述:教材科庫存教材的信息情況表
數(shù)據(jù)結(jié)構(gòu)組成:教材編碼+教材名稱+作者+出版社+版別序號+印刷批次
+出版日期+價格+理論庫存量+實際庫存量+庫存位置
(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è)定域名進(jìn)行解析。數(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)象;當(dāng)客戶端瀏覽器向服務(wù)器端要求一個.ASP 文件(Active Server Pages文件后綴名為.asp )時,Server 會將把這個ASP 文件從頭到尾讀一遍,并加以編譯執(zhí)行(利用核心程序ASP.DLL 的編譯),最后送出標(biāo)準(zhǔn)HTML 格式文件給客戶端,由于送給客戶端的是標(biāo)準(zhǔn)的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ī)模適當(dāng)、正確反映數(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ù)存儲進(jìn)行分析,分析各數(shù)據(jù)存儲之間的關(guān)系,可采用E -R 圖的方法進(jìn)行數(shù)據(jù)結(jié)構(gòu)分析。本系統(tǒng)中涉及的實體主要有“學(xué)生”、“教師”、“教材”、“院系”和“學(xué)生預(yù)存款”等,各實體及其屬性如圖7所示。
(a )“學(xué)生”實體及其屬性圖








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



圖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 教材信息表(JC )
,

表2 學(xué)生信息表(XS )
表3 學(xué)生購書信息表(XSGS )
表4 學(xué)生退書表(XSTS )

