時間:2023-04-08 11:26:42
序論:好文章的創(chuàng)作是一個不斷探索和完善的過程,我們?yōu)槟扑]十篇數(shù)據(jù)庫設計論文范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。
2數(shù)據(jù)庫自動分片設計
管理系統(tǒng)在運行中會產(chǎn)生大量的寫操作,進而帶來頻繁的磁盤I/O操作,在大數(shù)據(jù)下,最好采用將數(shù)據(jù)庫分布在多臺服務器上,即分片[7]。本文采用Auto-Sharding(自動分片)及Replic-Set(復本集)相結合的方式來減輕單個數(shù)據(jù)庫服務器的負載,即在每臺Server上各自運行一個實例,組成一個Replic-Set,最后再各運行一個實例,組成ConfigServer。直接執(zhí)行Addshard操作即可增加分片以緩解服務器的壓力,實現(xiàn)動態(tài)擴展。分片的實現(xiàn)重點在于片鍵設計。本文將保存天線參數(shù)信息的集合聲明了一個復合片鍵{Lacci:1,Day:1}。當來自不同的小區(qū)(可以根據(jù)Lacci進行判斷)向集群系統(tǒng)插入數(shù)據(jù)時,可以預計到在大部分情況下,同一小區(qū)的數(shù)據(jù)會落在單個塊或片上。
3數(shù)據(jù)庫查詢的實現(xiàn)
數(shù)據(jù)查詢功能為本數(shù)據(jù)庫設計的重要功能之一。數(shù)據(jù)庫將小區(qū)信息、天線參數(shù)等相關的數(shù)據(jù)信息根據(jù)用戶的要求,以界面或報表的形式全部或部分的顯示給用戶。基于本數(shù)據(jù)庫的設計,用戶通過數(shù)據(jù)查詢菜單進入相應查詢界面,獲取小區(qū)信息、終端信息及告警信息等。實現(xiàn)“天線工程參數(shù)查詢”功能的工作流程如圖3所示。為了實現(xiàn)小區(qū)天線參數(shù)查詢功能,客戶端需要向數(shù)據(jù)庫發(fā)送2次請求,用戶根據(jù)需求,向控制器發(fā)送查詢請求,控制器處理查詢命令,對相應的小區(qū)進行信息查詢,待小區(qū)返回信息后,將用戶的查詢命令發(fā)送至對應小區(qū),根據(jù)需求讀取有用信息,并返回給用戶。跟關系型數(shù)據(jù)庫相比,由于省去了大量的多表連接操作,實際上查詢的效率要高于基于關系型數(shù)據(jù)庫的多表連接查詢。查詢工作的SQL語句如下。
4數(shù)據(jù)庫備份與恢復
數(shù)據(jù)安全在數(shù)據(jù)庫設計中有很重要的地位。在各種意外情況下,如計算機硬件故障等,對數(shù)據(jù)庫進行備份和恢復能夠保障數(shù)據(jù)的完整性和安全性,使得數(shù)據(jù)損失降到最小[8]。本數(shù)據(jù)庫設計的備份選用的是副本集的方式[7]:在主節(jié)點上進行操作,寫入的數(shù)據(jù)被一步地同步到所有的從節(jié)點上,并從主節(jié)點或從節(jié)點上讀取數(shù)據(jù),如果主節(jié)點由于某些原因斷線,會自動將一個從節(jié)點提升為主節(jié)點。在查詢分析器中運用SQL語句完成數(shù)據(jù)庫的備份和恢復。在數(shù)據(jù)庫管理界面中,用戶通過數(shù)據(jù)庫備份與恢復功能進行相應操作,確保數(shù)據(jù)的正確行和完整性。
2.信息資料子模塊信息資料子模塊主要實現(xiàn)了專業(yè)信息、課程信息、學生基本信息和成績的增加、修改和刪除操作。此功能模塊的設計,都是便于信息查詢模塊的實現(xiàn),重要的是所有的專業(yè)、課程、學生及成績信息都必須是真實可靠的,否則將會影響到信息查詢模塊功能的實現(xiàn),同時,填加學生基本信息時,要考慮到整個系統(tǒng)各個模塊之間的聯(lián)系,因為所有其他信息功能的實現(xiàn)都與學生基本信息有著關聯(lián)。
3.信息查詢子模塊(1)課程查詢:根據(jù)查詢內(nèi)容(按專業(yè)、按所屬院系、按課程名稱)來查詢學生的課程信息。(2)學生資料查詢:根據(jù)查詢內(nèi)容(按學號、按姓名、按專業(yè)、按班級)來查詢學生的基本信息。(3)成績查詢:根據(jù)查詢內(nèi)容(按學號、按姓名、按專業(yè)、按課程)來查詢學生的成績信息。
二、數(shù)據(jù)庫設計與實現(xiàn)
多數(shù)據(jù)庫系統(tǒng)是分布式數(shù)據(jù)庫系統(tǒng)的一個重要分支,是一個新興的數(shù)據(jù)庫研究領域。隨著企業(yè)規(guī)模的不斷擴大,各部門所需信息既相互交錯,又相對獨立。這就要求各部門所用的數(shù)據(jù)庫既能高度自治地工作,又能進行信息共享。
DM2是采用客戶/服務器模型,客戶機與服務器,服務器與服務器均通過網(wǎng)絡互連,通過消息相互通訊,組成一個緊密耦合的分布式數(shù)據(jù)庫系統(tǒng)。它的工作流程如下:客戶機登錄到一臺服務器上,這臺服務器便成為它的服務器;它接收來自客戶機的消息,然后根據(jù)全局數(shù)據(jù)字典決定是自己獨立完成該操作,還是與其它服務器協(xié)作處理這條消息,處理完成之后,再由服務器將處理結果返回給客戶機。由于DM2上各個服務器站點的全局字典完全相同,任何全局表的信息都會記入全局字典。若用它來構建一個企業(yè)的數(shù)據(jù)庫系統(tǒng),則大量只對企業(yè)某部門有用的信息將會充斥在各部門所有服務器的全局字典中,增加了冗余。而且,當對全局表進行DDL操作時,為了確保全局字典的一致性,須對所有服務器的全局字典進行加鎖。DM2對全局字典的封鎖方式是采用令牌環(huán)方式,即令牌繞虛環(huán)(非實環(huán))傳輸,某個服務器想對全局字典進行操作,必須等令牌到達該服務器才可以執(zhí)行。每個部門建立的全局表絕大多數(shù)只對本部門有用,當對這些表進行DDL操作時,卻要對所有服務器的全局字典進行封鎖,通過令牌來實現(xiàn)對全局字典的互斥訪問。這嚴重損害了數(shù)據(jù)庫的效率。
為彌補以上不足,在DM2的改進版本DM3中增加了協(xié)調(diào)器,用以聯(lián)接各個獨立的DM3數(shù)據(jù)庫子系統(tǒng),并協(xié)調(diào)各子系統(tǒng)間的各種關系,使各子系統(tǒng)既能高度自治地工作,又能進行有效的信息共享。
一、多數(shù)據(jù)庫體系結構
本系統(tǒng)可看作多個數(shù)據(jù)庫子系統(tǒng)被協(xié)調(diào)器聯(lián)起來的,高度自治的一個聯(lián)邦數(shù)據(jù)庫系統(tǒng)。其中,每個子系統(tǒng)獨立處理本系統(tǒng)內(nèi)部的事務,而子系統(tǒng)間的信息共享由復制技術提供,副本間的一致性由協(xié)調(diào)器協(xié)調(diào)處理,處理所需的信息在初始化時寫入?yún)f(xié)調(diào)器的組間數(shù)據(jù)字典中。當對某子系統(tǒng)中的一份數(shù)據(jù)副本進行修改時,該子系統(tǒng)會將修改通知協(xié)調(diào)器,由協(xié)調(diào)器對該數(shù)據(jù)的其它副本進行修改,從而保證了所有副本的一致性。
由以上可知,子系統(tǒng)彼此并不直接接觸,而是各自都與協(xié)調(diào)器直接相聯(lián),由協(xié)調(diào)器統(tǒng)一管理子系統(tǒng)間的通信。這樣,當子系統(tǒng)對副本進行修改時,不必關心相應的子系統(tǒng)處于何種狀態(tài),也不必等待回應消息,以及異常處理,所有這些都由協(xié)調(diào)器進行管理。因此,既提高了系統(tǒng)運行的效率,也保證了子系統(tǒng)的獨立性。
協(xié)調(diào)器主要有三大功能,首先,它對協(xié)調(diào)器和服務器進行初始化,并將有關信息存入組間字典;其次,它管理不同子系統(tǒng)間的通信,維護副本的一致性;最后,它在子系統(tǒng)出現(xiàn)崩潰時,進行異常管理及恢復工作。
二、多數(shù)據(jù)庫互聯(lián)機制的主要策略
多個DM3系統(tǒng)間的信息共享是通過副本實現(xiàn)的,副本的一致性是由協(xié)調(diào)器來維持的,是一種弱一致性。通常,多數(shù)據(jù)庫系統(tǒng)間的一致性是通過協(xié)調(diào)器周期性地訪問服務器的日志來完成的。由于副本的更新帶有隨機性,因此,若采用這種方法,可能數(shù)據(jù)被修改多次,但其相對應的副本仍未被修改,這樣就損害了數(shù)據(jù)的一致性;也可能數(shù)據(jù)并未被修改,但協(xié)調(diào)器已多次訪問了服務器的日志了,這樣就降低了系統(tǒng)的效率。
所以,本系統(tǒng)采用的方法是當數(shù)據(jù)被修改時,由服務器通知協(xié)調(diào)器有關信息,再由協(xié)調(diào)器通知相關系統(tǒng),修改相關數(shù)據(jù)。這樣,數(shù)據(jù)的修改及時(仍然是弱一致性),而協(xié)調(diào)器也不會在數(shù)據(jù)未被修改的情況下訪問服務器,提高了準確性。
為了使協(xié)調(diào)器正常工作,我們對底層數(shù)據(jù)庫管理系統(tǒng)DM2進行了修改。在基表控制塊TV_CTRL_BLOCK中增加一項IsReplication。建表時,該項初始化為false;當為該表建立一個副本時,該項賦值為true。具體算法如下。
1、初始化算法。
協(xié)調(diào)器:從用戶或應用程序接收待連接的兩個系統(tǒng)中的服務器名,需復制的表名;分別登錄到兩個系統(tǒng)的服務器上;向存有待復制表的服務器發(fā)預復制消息;等待服務器消息;若失敗,發(fā)一條失敗的消息給服務器和用戶或應用程序;若成功,從消息中取出待復制表的有關信息,根據(jù)這些信息,發(fā)一條建表消息給另一個系統(tǒng)的服務器;等待服務器消息;若失敗,發(fā)一條失敗的消息給服務器和用戶或應用程序;若成功,調(diào)數(shù)據(jù)轉(zhuǎn)移程序,進行數(shù)據(jù)復制;將有關信息寫入組間字典,退出。服務器:當服務器收到預復制消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為true。同時,取出待復制表的有關信息,組成應答消息發(fā)給協(xié)調(diào)器。當服務器收到失敗的消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為false。
2、維護算法。
協(xié)調(diào)器:從組間字典讀出相關信息,根據(jù)這些信息,登錄到相應系統(tǒng)上;等待消息;從某系統(tǒng)的服務器上收到一條修改消息后,通過查找組間字典,確定該消息的目的地,然后將它轉(zhuǎn)發(fā)過去;若失敗,定時重發(fā)。
1.1教學內(nèi)容分析
學習《數(shù)據(jù)庫技術》課程前學習者已經(jīng)學習了《計算機技術基礎》、《C語言》和《數(shù)據(jù)結構》等先行課程,“概念結構設計”教學內(nèi)容安排上是在數(shù)據(jù)庫基本概念、關系數(shù)據(jù)庫、SQL語言和關系數(shù)據(jù)理論之后,“概念結構設計”部分包括概念結構設計的概念、方法與步驟、數(shù)據(jù)抽象和視圖的集成。本部分內(nèi)容的重點是概念結構設計的方法。難點是根據(jù)具體系統(tǒng)內(nèi)容的描述設計基本E-R圖。
1.2學習者動機分析
“概念結構設計”較抽象,學習者需要從復雜的實際應用中找出數(shù)據(jù)庫設計中的關鍵因素,學習者尚不知該內(nèi)容在整個數(shù)據(jù)庫設計中的重要作用,鑒于此內(nèi)容的難度較大,易使學習者知難而退,對學習者學習的積極性產(chǎn)生負面影響。
2動機策略設計及實施
2.1課程導入
2.1.1教學內(nèi)容
將49名學習者分為5個小組,利用課前時間每組分別分析淘寶、京東、當當網(wǎng)、1號店、天貓的網(wǎng)上購物流程,并分組進行調(diào)查匯報。提出問題:你分析系統(tǒng)中的商品有哪些屬性?訂單包括哪些內(nèi)容?訂單與客戶和商品之間的聯(lián)系及涉及的實體有哪些?訂單有哪些狀態(tài)?知識回顧:實體、屬性和聯(lián)系的概念,選課E-R模型實例。
2.1.2動機策略應用
注意策略:通過問題引入,讓學習者主動思考,引起學習者有意注意。相關策略:通過知識回顧,幫助學習者建立已有的E-R模型與概念結構模型設計之間的聯(lián)系,建立腳手架從而降低新知識學習難度。自信策略:選取學習者們熟知的購物網(wǎng)站為例,增強學習者信心。
2.2課堂教學
2.2.1教學內(nèi)容
基礎任務:定義購物網(wǎng)站生成訂單的事件,通過E-R模型進行概念結構設計。匯總各小組提交的設計結果,總結學習者的概念結構模型設計,如圖1所示。來源:黑龍江省哲學社會科學研究規(guī)劃項目(16EDE07)和哈爾濱師范大學深化教育教學綜合改革項目(X2015-2-003)的研究成果。提高任務:上述模型中當客戶提交訂單但未購買商品將減少商品的庫存,如何解決這一問題呢?請學習者思考并提出問題解決辦法。教師提示可將多對多的聯(lián)系拆分為兩個一對多的聯(lián)系,根據(jù)訂單的狀態(tài)通過程序確定是否實際減少庫存。按照之前分配的小組安排學習者討論并提出新的設計方案,學習者討論是教師到各組進行引導和巡視[2]。討論:經(jīng)過學習者討論,分析新概念模型設計的合理性。小組匯報并由教師匯總修改后如圖2所示。
2.2.2動機策略
注意策略:教師播放課前錄制的網(wǎng)上購物過程的動畫,引起學習者注意。自信策略:教師按照基礎和提高兩類任務進行分層布置,利于搭建腳手架、激發(fā)學習者自主思考,增強自信。
3評價
學習者對各自小組設計的E-R模型進行評價,小組間進行設計結果互評,教師對每個模型的設計過程、小組合作情況和設計結果進行總結性評價。滿意和自信策略:學習者經(jīng)過深入思考進行互評,體驗設計被認可和逐步求精帶來的喜悅。教師的點評認可其設計結果提高學習者信心。
4結論
通過該方法的學習,學習者在練習和期末考試中能夠熟練準確的對復雜的需求通過E-R模型進行概念結構設計,因此,ARCS模型應用于《數(shù)據(jù)庫技術》教學有助于激發(fā)學習者學習動機,提高學習效果。
作者:韓玲玲 單位:哈爾濱師范大學
2數(shù)據(jù)庫
建設的主要內(nèi)容城市交通設施普查及數(shù)據(jù)建庫的主要內(nèi)容:一是建立城市交通設施數(shù)據(jù)庫,包括基礎地理信息數(shù)據(jù)和交通專題數(shù)據(jù),主要有沿街的交通要素(交通標志牌、交叉口等)、停車場、賓館、酒店、學校、公交站點、加油加氣站、客貨運樞紐等以及街道、社區(qū)等界線信息。二是建立城市道路中心線路網(wǎng)數(shù)據(jù)庫和模型,道路的屬性信息包括道路等級、形式、上下行方向、有無隔離帶等;由于道路在城市交通設施中的重要性,對道路網(wǎng)數(shù)據(jù)要求:①在有中央隔離帶的道路路段兩側(cè)分別繪制,屬性均為單向,取單側(cè)路段的中心線,在路口匯合;②有主輔道的道路路段兩側(cè)分別繪制,主道輔道均為單向,中心線在路口匯合;如果主輔道之間的隔離在進入路口前消失,中心線可提前匯合,連接線位置需要在圖中繪出;③單側(cè)主輔道涉及高架道路的,地面道路及高架雙側(cè)均單獨繪制,取單側(cè)路段的中心線,地面道路中心線在路口匯合,路段時繪圖順序按道路的實際行車方向繪制。三是建立城市公共交通網(wǎng)絡模型,形成城市交通規(guī)劃中公交換乘分析的重要基礎數(shù)據(jù),主要包括公交實體站點信息表、線路站點信息表、公交線路信息表和站點和線路關系表等。
3技術思路
3.1技術流程根據(jù)技術要求和內(nèi)容,制定了技術流程。
3.2主要工作城市交通設施普查和數(shù)據(jù)建庫主要工作有:內(nèi)業(yè)數(shù)據(jù)預處理、外業(yè)數(shù)據(jù)普查、內(nèi)業(yè)數(shù)據(jù)錄入、編輯和建庫等,數(shù)據(jù)以ArcGIS10Geodatabase格式存儲。外業(yè)普查根據(jù)城市行政管理劃分為若干個社區(qū)格網(wǎng),以每個社區(qū)格網(wǎng)為單元進行交通數(shù)據(jù)調(diào)查;利用現(xiàn)實性好、數(shù)據(jù)豐富的基礎地理底圖,采用實地調(diào)查量測為主的方式采集城市交通數(shù)據(jù),外業(yè)普查成果經(jīng)的100%檢查后,由單位質(zhì)檢部門成果檢查合格后提交內(nèi)業(yè)編輯。內(nèi)業(yè)以社區(qū)為單位,在單個PersonalGeodatabase數(shù)據(jù)庫中作業(yè),經(jīng)過接邊處理、拓撲建立等,按行政區(qū)劃、街道、社區(qū)界線合并數(shù)據(jù)庫,形成城市交通設施數(shù)據(jù)庫。
3.3成果應用通過對數(shù)據(jù)庫中的道路和交通信息的分析,利用數(shù)據(jù)信息構建道路網(wǎng)模型和公共交通模型,生成的數(shù)據(jù)庫可以應用在專業(yè)交通規(guī)劃系統(tǒng)平臺上,進行城市道路規(guī)劃設計、最短路徑分析、道路緩沖區(qū)分析等。
4具體實施
4.1外業(yè)普查外業(yè)普查在作業(yè)底圖上調(diào)查交通設施信息,同時填寫屬性調(diào)查表和道路調(diào)查表屬性表,并且現(xiàn)場照相,調(diào)查中做到走到看到,不遺漏、分類編碼記錄不錯漏,各類信息要素屬性信息正確、全面;在電子地圖上根據(jù)作業(yè)底圖編輯錄入與檢查交通要素,并且構建數(shù)據(jù)庫。作業(yè)組以社區(qū)網(wǎng)格為單元,以街道辦事處或管委會為單位進行任務分配,每一街道辦事處或管委會包含若干社區(qū)單元。
4.2內(nèi)業(yè)數(shù)據(jù)編輯建庫內(nèi)業(yè)編輯作業(yè)分兩部分,一是外業(yè)底圖(含初始調(diào)查底圖和檢查作業(yè)底圖)和調(diào)查記錄表格制作(含空表格記錄和已普查錄入記錄),及時與外業(yè)溝通,制作滿足外業(yè)調(diào)查要求的作業(yè)基礎資料;二是基于模板化及的數(shù)據(jù)錄入和建庫,通過外業(yè)調(diào)查記錄成果錄入基本要素和屬性信息,重點處理道路、公交等交通要素。作業(yè)利用ArcMap10.0相應的編輯模塊,開發(fā)的相應插件進行數(shù)據(jù)編輯錄入,利用ArcToolbox構建數(shù)據(jù)庫。
5系統(tǒng)評價
從數(shù)據(jù)成果的數(shù)據(jù)精度、數(shù)據(jù)完整性、屬性精度、邏輯一致性、完整性與正確性、圖面的質(zhì)量和附件質(zhì)量等幾個方面進行檢查,認為普查數(shù)據(jù)和建庫精度高、屬性結構正確、邏輯一致性表達準確、數(shù)據(jù)完整、圖面合理、附件齊全。成果坐標基準采用城市坐標系,數(shù)據(jù)采用EsriGeodatabase10.0格式,應用個人Geodatabase文件命名社區(qū)編號、數(shù)據(jù)組織和數(shù)據(jù)分層等。通過數(shù)據(jù)庫在專業(yè)交通規(guī)劃系統(tǒng)平臺的測試,交通設施數(shù)據(jù)各項指標符合系統(tǒng)運行分析要求。
一、引言
畢業(yè)論文是考察學生的專業(yè)知識和基本技能的一個綜合性的作業(yè)。但是,隨著畢業(yè)設計課題的數(shù)量和研究領域的增加,而且就業(yè)壓力的影響導致學生無法保證正常的畢業(yè)設計時間,使得畢業(yè)設計的管理工作和信息收集工作變得復雜和困難。由于高校畢業(yè)論文綜合評價的特殊性,目前許多高校對畢業(yè)生的畢業(yè)導師選擇和論文選題流程沒有一種快捷而高效的方法,因此,我們迫切需要研究和開發(fā)一個高效的基于Web畢業(yè)設計管理系統(tǒng)對畢業(yè)生畢業(yè)論文的選擇和完成過程進行規(guī)范的管理。
目前國內(nèi)的部分高校有了相似功能的畢業(yè)論文管理系統(tǒng),其模塊的劃分大同小異,都是為了保證信息的充分共享以及方便用戶的操作。主要有南京農(nóng)業(yè)大學的基于.NET的畢業(yè)設計管理系統(tǒng),功能主要有學生平臺、教師平臺、教務管理平臺、公共數(shù)據(jù)處理平臺等模塊;電子科技大學畢業(yè)設計管理系統(tǒng),功能主要有教師出題、論文題目的審核、學生選擇論文題目、開題報告審核入庫、畢業(yè)論文審核入庫、畢業(yè)論文查詢等模塊;中國礦業(yè)大學信息工程系畢業(yè)設計管理系統(tǒng),功能主要有:個人查詢、課題查詢、網(wǎng)上指導、請假手續(xù)、重要通知、論文格式、論文上載等七個模塊。所有各功能模塊的劃分體現(xiàn)了開發(fā)者對數(shù)據(jù)庫建模的思路。而且在運行模式上,基本上采用的都是分而治之的設計思想,即數(shù)據(jù)庫信息(如課題、老師、學生、論文等)在各院系中是單獨進行的,在各院系之間及院系與教務部門之間卻沒有提供信息交互的手段。
二、系統(tǒng)概述
(一)總體規(guī)劃
基于對目前其他院校的畢業(yè)論文管理系統(tǒng)的比較分析,總結其長處,提出了一套高等院校畢業(yè)論文管理系統(tǒng)的研究方案。該系統(tǒng)方案基于Web技術,不僅要面向?qū)W校不同部門的信息資源的共享,還要解決各部門已有的或?qū)⒔⒌男畔⑾到y(tǒng)的資源共享,提高信息資源共享的利用率,系統(tǒng)結構應具有跨平臺訪問不同數(shù)據(jù)源的機制。在教務信息標準化、規(guī)范化的基礎上,對信息進行合理的布局,在提供優(yōu)質(zhì)、高效的業(yè)務管理和事務處理的同時,使全校師生可以在任一平臺上對畢業(yè)論文的信息進行方便地溝通與交流。同時,系統(tǒng)要具有安全高效的通信機制,要有效預防由于Web技術的應用而引發(fā)的信息泄密和對保密信息的非法侵入等安全隱患。
(二)系統(tǒng)架構
系統(tǒng)采用三層B/S結構,其原理圖如圖1所示。在這種結構中,應用服務器接收到客戶機的請求頁面指令后,就向數(shù)據(jù)庫服務器請求有關的數(shù)據(jù),數(shù)據(jù)庫服務器從數(shù)據(jù)庫中取出相應的數(shù)據(jù)交給應用服務器,應用服務器將之整合成頁面再返回給瀏覽器[2]。該結構主要特點是:客戶端實現(xiàn)零維護,系統(tǒng)維護和升級方便。軟件程序、數(shù)據(jù)庫、的信息以及其他一些組件都集中在服務器,用戶除了操作系統(tǒng)及瀏覽器外無需其他軟件,即用戶以Web頁面的形式與系統(tǒng)進行交互。
該系統(tǒng)是通過DCOM或HTTP遠程調(diào)用服務器端組件對數(shù)據(jù)庫進行操作以完成特定的功能。在具體實現(xiàn)上,應用服務器使用通信線程來提供查詢并從后端數(shù)據(jù)庫服務器獲得結果。應用服務器接收從客戶機通過Web瀏覽器或其他界面軟件發(fā)來的信息請求,并連接到服務器上。接著對請求進行處理并從服務器返回信息。然后,應用服務器與數(shù)據(jù)庫服務器斷開并把請求的信息返回客戶機。使用這種方法時,客戶機不與數(shù)據(jù)庫保持連接,應用服務器只有在進行請求并接收請求的結果時才與數(shù)據(jù)庫保持連接。空閑進程并不占用網(wǎng)絡資源,網(wǎng)絡流量顯著減少,可以更快地進行查詢處理并且響應時間得到了改善。如果許多客戶機都在頻繁請求,可以對這種配置進行更改,使應用服務器能預先與數(shù)據(jù)庫連接,以降低每次處理客戶機查詢請求時建立連接所需的開銷時間量。
該系統(tǒng)是一個基于Web平臺、涉及畢業(yè)論文管理各環(huán)節(jié)、面向?qū)W校各部門以及各層次用戶的多模塊綜合信息管理系統(tǒng),主要完成畢業(yè)設計的申報、選題、論文上傳、論文批閱、在線答疑等功能。其相關的系統(tǒng)功能模塊如圖2所示。
三、系統(tǒng)的相關設計
(一)數(shù)據(jù)庫設計
由于系統(tǒng)內(nèi)部數(shù)據(jù)流量大,數(shù)據(jù)檢索要求高,用戶通過瀏覽器從后臺數(shù)據(jù)庫獲取數(shù)據(jù)信息的響應時間也要滿足需求,在該系統(tǒng)中,表示層使用ASP用來開發(fā)網(wǎng)頁,后臺數(shù)據(jù)庫使用ORACLE作為服務器端的數(shù)據(jù)庫管理。ORACLE是以高級結構化查詢語言(SQL)為基礎的大型關系數(shù)據(jù)庫,是目前最流行的瀏覽器/服務器(BROWSER/SERVER)體系結構的數(shù)據(jù)庫之一,ORACLE8.i以來引入了共享SQL和多線程服務器體系結構,提供了基于角色(ROLE)分工的安全保密管理,支持大量多媒體數(shù)據(jù)。因此從性能需求上分析,采用ORACLE來完成底層數(shù)據(jù)庫的開發(fā)。
在具體實現(xiàn)上,系統(tǒng)整體ER圖設計如圖3示。
其中,教師數(shù)據(jù)表包括教師號、教師名、性別、職稱、所屬學院(系)、科研情況、電話、電子郵件、登錄密碼等教師基本信息情況;學生數(shù)據(jù)表包括學號、姓名、性別、年級、學院、專業(yè)、班級、電話、電子郵件、登錄密碼等學生基本信息情況;管理員信息表包括ID號、用戶名、密碼等;課題信息表包括課題號、課題名稱、所屬院系、申報教師、規(guī)定人數(shù)、實選人數(shù)等;論文信息表包括論文號、論文名稱、學生姓名、所屬院系、指導教師等信息。
(二)界面設計
系統(tǒng)界面的設計是創(chuàng)新性的使用了雙樹型結構實現(xiàn)的,即在前臺的WEB系統(tǒng)界面中,針對不同用戶具有不同的操作功能,采用ASP和先進的ORACLE數(shù)據(jù)庫技術展現(xiàn)了“左-右”雙樹型菜單。其中,左邊的菜單樹上是學生姓名及其已選課題,右邊的樹則是其他已申報的備選課題,通過此雙樹型結構的界面設計,學生在方便的選擇自己所傾向的畢業(yè)研究課題,而且還能很便捷地對其選報課題進行修改或調(diào)整。同時,由于該雙樹型界面本身所具有的美觀性、友好性以及操作簡便性,從而使得教師和學生在操作的過程中不需要查看幫助文檔就可以輕松地實現(xiàn)各種相關的操作。
(三)安全設計
任何一個應用系統(tǒng)都對安全性有一定的要求,即數(shù)據(jù)的保密性和可靠性。而畢業(yè)設計管理信息系統(tǒng)涉及到學生檔案等重要信息,其安全性是非常重要的。該系統(tǒng)的安全性,從下面三個方面來實現(xiàn)。
1.分級授權安全管理。該系統(tǒng)采用分層授權安全管理,用戶分五種權限:超級管理員、一般管理員、教師、學生、過客。用戶登錄系統(tǒng)時,讓用戶錄入用戶名(或者是帳號)和密碼,不同的用戶具有不同的權限。在安全性上采用多級認證體系對各級用戶分級授權,同時各級用戶的操作痕跡相互制約,并采用雙密碼保證超級管理員密碼的內(nèi)部安全。
2.數(shù)據(jù)庫的安全性。數(shù)據(jù)庫的安全性是由Oracle數(shù)據(jù)庫系統(tǒng)本身的安全機制進行控制。Oracle數(shù)據(jù)庫的安全性體現(xiàn)在它對用戶、權限、角色和用戶配置文件的管理上。用戶是由管理員建立并授權的一個數(shù)據(jù)庫帳戶,每一個企圖使用Oracle的用戶都必須得到一個合法的用戶帳戶和口令,只有用合法的帳戶和口令連接數(shù)據(jù)庫成功才能操作數(shù)據(jù)庫對象。每個Oracle數(shù)據(jù)庫都有一個叫做DEFAULT的配置文件,它被賦予數(shù)據(jù)庫中所有已經(jīng)存在的用戶和新創(chuàng)建的用戶。在系統(tǒng)中通過修改該配置文件,對數(shù)據(jù)庫所有用戶都限制為使用特定資源。
3.Web服務器安全保障。Web服務器的安全依賴于校園網(wǎng)的安全,同時對web服務器特殊的安全措施。外網(wǎng)用戶通過校園網(wǎng)的VPN技術與web服務器進行通信,在校園網(wǎng)出口處部署網(wǎng)絡防火墻,同時在Web服務器上主機防火墻和入侵檢測系統(tǒng),對系統(tǒng)進一步防護和監(jiān)測。另外,通過定時的安裝補丁、及時升級、關閉不必要的服務進一步加強了Web Server層和操作系統(tǒng)的安全。
四、系統(tǒng)性能的優(yōu)化
由于系統(tǒng)基于B/S三層架構,其性能具有很好地可擴展性和可維護性。為了提高程序的性能,應用服務器采用多線程通信技術,實現(xiàn)多線程服務器和連接管理器與數(shù)據(jù)庫服務器的預先連接,及時、準確、可靠地采集和傳輸信息[5]。在該技術的具體實現(xiàn)上,采用的是搶先式多任務,使得系統(tǒng)能執(zhí)行多個進程,而每個進程也可以同時執(zhí)行多個線程,且進程中的線程是并行執(zhí)行的。系統(tǒng)不停地在多個線程之間切換,由于時間很短,看上去多個線程是在同時運行。使用這種方法時,客戶機不需要與數(shù)據(jù)庫始終保持連接,應用服務器只有在進行請求并接收請求的結果時才與數(shù)據(jù)庫保持連接。空閑進程并不占用網(wǎng)絡資源,網(wǎng)絡流量顯著減少,可以更快地進行查詢處理并且響應時間得到了改善。多線程服務器和連接管理器用于保持與服務器的固定預先連接,這樣連接可以重復使用。同時可以在很大程序上提高系統(tǒng)的并發(fā)性。這就更加有效地保證了各級用戶在不同地點可以同時訪問系統(tǒng)中的數(shù)據(jù),加強了系統(tǒng)數(shù)據(jù)共享能力,提高了系統(tǒng)的性能。
五、結論
本文所討論研究的高等院校畢業(yè)論文管理系統(tǒng)采用了當前流行的B/S結構、Internet網(wǎng)絡技術和網(wǎng)絡安全技術等,突破了原先使用地域的局限性,使整個校園網(wǎng)甚至Internet上的用戶都可訪問系統(tǒng)。用戶可在多地域、任意時間段以不同身份來訪問系統(tǒng)中的數(shù)據(jù),大大加強了系統(tǒng)數(shù)據(jù)共享的能力,有效地促進了學校畢業(yè)論文管理的科學化、信息化。系統(tǒng)的應用能夠高等院校節(jié)約了大量的人力、物力和財力,使高等院校的畢業(yè)論文管理水平得到大幅度的提升,同時在社會上也能夠產(chǎn)生了良好的影響。
參考文獻:
[1]劉必榮.本科畢業(yè)設計教學存在的問題及對策研究[J].文教資料,2007(8):54-56.
[2]楊永,梁金鈐.基于B/S模式的通用試題庫系統(tǒng)的設計與實現(xiàn)[J].計算機工程與科學,2009,31(4):143-145.
[3]馬薇,婁雨.Oracle數(shù)據(jù)庫容災備份中的流復制技術研究[J].科技通報,2012,28(2):182-184.
[4]劉昌平,范明鈺,王光衛(wèi).可信計算環(huán)境數(shù)據(jù)封裝方法[J].計算機應用研究,2009,26(10):3891-3893.
[5]趙建偉.γ遙測數(shù)據(jù)遠程通信系統(tǒng)的設計與實現(xiàn)[J].計算機工程與設計,2007,28(16):3849-3851.
科研水平逐漸成為衡量一個高校勢力的重要指標,高校作為重要的科研機構,如何對學校大量的科研信息進行高效、安全的保存、處理、統(tǒng)計、加工等管理操作,將日常的科研管理工作更加規(guī)范化、科學化,建立高校科研管理系統(tǒng)進行科研管理工作是每一個高校必由之路。系統(tǒng)功能的分析與數(shù)據(jù)的結構關聯(lián)及使用都首先反映在數(shù)據(jù)庫的設計過程中,高校科研管理系統(tǒng)數(shù)據(jù)庫設計是高校科研管理系統(tǒng)設計中的一項核心工作,所有的管理工作都必須以數(shù)據(jù)庫為中心,建立高校科研管理系統(tǒng)數(shù)據(jù)庫的方法、步驟、技術等如下:
1 系統(tǒng)需求分析
高校科研管理所設計的事務非常繁雜,涉及到校科研處、各個系的科研管理以及個人對科研信息的查詢統(tǒng)計等。所設計的系統(tǒng)既要有利于科研處的監(jiān)督管理又要有利于各個系及教師的分工協(xié)作。系統(tǒng)功能主要包括校科研處科研管理、院系(或部門)科研管理、個人科研信息查詢、校級科研項目整體信息管理。可以劃分為科研信息維護、科研信息查詢與統(tǒng)計、科研信息報表、科研信息分析、校級課題申報、審批、合同簽定、結題、其它處理等操作;其中科研信息應細分為學術論文、著作、科研項目、科研成果、科研獎勵等信息。
2 用戶需求分析
由于本系統(tǒng)是直接面向網(wǎng)上辦公的,必須適應所服務環(huán)境的各類操作人員,主要包括學校科研處、各院系(或部門)、普通教師個人(或其他瀏覽者)。
2.1 普通教師個人(或其他瀏覽者)
普通教師個人(或其他瀏覽者)只能按姓名來瀏覽個人的科研信息、進行統(tǒng)計打印,個人的科研信息(論文、著作、項目成果等)必須提交本部門審核入錄。
2.2 各院系(或部門)
各院系(或部門)主要職責是對本部門員工的論文、著作、項目、成果、獎勵等信息進行審核后輸入到本系統(tǒng)數(shù)據(jù)庫中,查詢本部門在某時間內(nèi)的科研信息、統(tǒng)計科研情況、打印相關資料等,同時對本部門的錯誤錄入信息進行修改和維護。
2.3 科研處
主要管理本校的員工信息、論文、著作、各級各類科研項目和成果、科研獎勵等常規(guī)工作,同時,管理校級課題的申報、審批、合同、檢查、結題等管理,同時,監(jiān)控系統(tǒng)運行和各部門的情況。
3 數(shù)據(jù)庫設計及關鍵技術實現(xiàn)
3.1 數(shù)據(jù)庫表創(chuàng)建
根據(jù)系統(tǒng)需求分析,將系統(tǒng)的實現(xiàn)直接定位在更好的適合各層次人員的需求和操作,系統(tǒng)的所有初始化數(shù)據(jù)均采用界面錄入的方法,由各類人員分工完成。根據(jù)我校的實際情況,筆者將科研人員基本信息、論文信息、科研項目信息、成果信息、獲獎情況信息等作為系統(tǒng)的初始化數(shù)據(jù),為個人和院系查詢、統(tǒng)計、打印,科研處操作、加工、管理、集成等工作提供基本的數(shù)據(jù)平臺。主要數(shù)據(jù)表格設計如下:
科研人員信息表(職工號,姓名,性別,職稱,出生日期,所學專業(yè),現(xiàn)從事專業(yè),學歷,學位,工作時間,所在部門,備注)。
論文信息表(序號,論文名稱,刊物名稱,刊物類別,刊物級別,主辦單位,作者,職工號,發(fā)表時間,刊號,備注)。
論著信息表(序號,著作名稱, 圖書編號,著作類別,出版社,學科類別,作者,職工號,出版時間,版次,備注)。
科研項目表(序號,項目編號,項目名稱,項目來源,項目類別,完成單位,負責人,課題組成員,立項時間,擬定期限,經(jīng)費金額, 是否鑒定,鑒定時間,鑒定單位,備注)。
科研成果表(序號,成果名稱,成果類別,成果經(jīng)費,完成時間,負責人,完成單位,是否投入生產(chǎn),經(jīng)濟效益,備注)。
科研獎勵表(序號,獲獎人員,項目名稱,獎勵名稱,授予單位,時間,備注)。
校級項目管理表(項目編號,項目名稱,課題名稱,負責人,所在部門,職務或職稱,聯(lián)系電話,申報表,申報時間,申報經(jīng)費,是否批準,批準日期,批準經(jīng)費,合同時間,合同內(nèi)容,是否結題,結題時間,鑒定技術負責人,項目成果效益,備注)。
校級鑒定專家表(序號,姓名,性別,出生日期,工作單位,學歷,學位,所學專業(yè),現(xiàn)從事專業(yè),職稱職務,備注)。
在上述表格中,加下劃線字段代表主鍵,加雙劃線字段代表外鍵。其中科研人員信息表之所以選擇(職工號,姓名)作為主鍵,考慮到姓名經(jīng)常作為查詢、操作條件,并在相關表中作為科技人員的重要描述和限制;為了避免數(shù)據(jù)錄入的無序狀況,數(shù)據(jù)庫表之間建立了嚴格的參照完整性,并且對所有表都分配了操作權限,并將錯誤信息及時反饋給操作人員,科研人員信息表、論文信息表、論著信息表通過“職工號”建立參照完整性關系,在錄入論文、論著時,作者必須是本單位職工,如果科研人員信息表不存在該員工,便給出錯誤提示,提示檢查是否是合法職工,如果是,便可以在科研人員信息表中添加該員工信息后錄入論文、論著信息,否則,拒絕錄入,“職工號”又為組合查詢提供了連接條件支持;同時將科研項目表、科研成果表、校級項目管理表中“負責人”和科研人員信息表中的“姓名”建立主鍵、外鍵參照完整性關系,校級課題的申報負責人也必須是本單位某部門的職工;獲獎人員,必須是科研人員信息表中某一職工;將校級鑒定專家表和校級項目管理表通過“鑒定技術負責人”、“姓名”建立參照完整性管理,限定了鑒定技術負責人必須是本校專家表中的專業(yè)人員;所有表的主鍵設置都加上“姓名”字段,目的是為了符合人們的常規(guī)習慣,常以某個專業(yè)人員姓名作為操作、查詢條件,科研人員信息表與其他相關表格建立參照完整性為了限制科研、論文、論著、成果、獎勵等信息的科學合法性,同時有利于統(tǒng)計和查詢;只有完善的參照完整性,才能使得數(shù)據(jù)庫中數(shù)據(jù)具有一致性和互操作性。
3.2 存儲過程的設計
轉(zhuǎn)貼于 存儲過程是Transact-SQL語句的集合,它是實現(xiàn)事務或業(yè)務規(guī)則的極好途徑,是在數(shù)據(jù)庫服務器上存儲與執(zhí)行的。使用它,可以大大減少網(wǎng)絡傳輸流量,提高應用程序性能和安全性,而且由于它只在第一次執(zhí)行時被優(yōu)化、編譯。因此,使用存儲過程不僅可以極大地降低應用程序的實現(xiàn)難度,而且還可以極大地提高系統(tǒng)的運行速度、效率。存儲過程的設計一定要符合邏輯業(yè)務規(guī)則和要求,根據(jù)實際,對一些常規(guī)、頻繁使用的查詢、插入數(shù)據(jù)操作使用存儲過程來完成。以下操作可以考慮使用存儲過程來完成:
① 對系統(tǒng)的初始化數(shù)據(jù)時錄入各種基本信息操作。
② 查詢個人、部門科研信息時的查詢操作。
③ 科研處的其他常規(guī)操作。
下面以查詢部門科研信息為例介紹存儲過程使用方法,在此查詢某一部門的論文、論著信息。描述代碼:
CREATE PROCEDURE 論文論著
@a char(20)
as
select 姓名,論文名稱,刊物名稱,刊物類別,刊物級別,發(fā)表時間,備注
from 科研人員信息表,論文信息表
where 科研人員信息表。職工號=論文信息表。職工號 and 所在部門=@a
select 姓名,著作名稱,出版社,出版時間,版次,備注
from 科研人員信息表,論著信息表
where 科研人員信息表。職工號=論著信息表。職工號 and 所在部門=@a
其它操作不再做列述。從提高執(zhí)行效率、提高安全性、共享性方面考慮,盡可能多的使用存儲過程來提高數(shù)據(jù)庫的整體性能。
3.3 觸發(fā)器的使用
使用觸發(fā)器來實現(xiàn)表間的數(shù)據(jù)自動操作,提高系統(tǒng)效率,校級鑒定專家表中的信息主要來源于科研人員信息表中具有副高職稱以上的人員,在輸入或修改科研人員信息時,只要是具有副高級職稱以上的人員,就可以自動添加到校級鑒定專家表中,該操作可以使用觸發(fā)器來實現(xiàn),代碼描述如下:
Create Trigger ptz
On 科研人員信息表
For insert,update
As
Insert into 校級鑒定專家表(姓名,性別,出生日期,工作單位,學歷,學位,所學專業(yè),現(xiàn)從事專業(yè),職稱職務,備注) Select (姓名,性別,出生日期,所在部門,學歷,學位,所學專業(yè),現(xiàn)從事專業(yè), 職稱職務,備注)。
From 科研人員信息表,其中,校級鑒定專家表中的序號是自動生成的標識列。
同時,可以用觸發(fā)器來檢驗校級項目負責人是否在科研人員信息表中,其中,用事務以驗證合法性以控制該項操作是否完成。
代碼描述如下:
Create Trigger check1
On 校級項目管理表
For insert
As
begin tran
declare @a char(12)
select @a=負責人 from Inserted
If ( select count(*) from科研人員信息表where 姓名=@a)=0
begin
Print '負責人不合法'
rollback tran
end
commit tran
其它類似操作不做描述。
在設計中,堅持使用觸發(fā)器實現(xiàn)盡可能多的實現(xiàn)前臺操作,不僅提高了操作效率、更提高了代碼的安全性和共享性。
3.4 數(shù)據(jù)庫安全設計
網(wǎng)絡的安全非常重要,從數(shù)據(jù)庫級、服務器級和應用程序級綜合考慮,在科研管理系統(tǒng)中要根據(jù)不同用戶,設置不同的權限、不同的初始化菜單。在本系統(tǒng)中,數(shù)據(jù)庫的安全主要通過數(shù)據(jù)庫的存取控制機制實現(xiàn)的。首先定義各類管理人員的操作權限即角色,其次定義數(shù)據(jù)庫登錄,最后依據(jù)用戶權限表將登錄分配為相應的角色。由于人員的復雜性,角色分為三個層次:科研處級別、二級部門級別、普通教師級別。用戶屬于某一角色,即使用戶職務調(diào)動時,對用戶增刪,不影響其他用戶的操作,只是角色中用戶數(shù)量的變化。建立專門的系統(tǒng)使用權限表來記錄用戶和權限,同時也兼容部門設置信息,對不同部門分配相應的權限和賬號,科研處是最高管理級別部門。
為了進一步保護數(shù)據(jù)庫,建立備份數(shù)據(jù)庫服務器,定期進行數(shù)據(jù)庫備份和復制,本系統(tǒng)數(shù)據(jù)庫主要采用SQL Server數(shù)據(jù)庫管理工具進行設計,它具有強大的管理、安全、登陸、網(wǎng)絡支持功能,且可以和其它數(shù)據(jù)庫進行轉(zhuǎn)換,是一種網(wǎng)絡數(shù)據(jù)庫管理軟件,符合設計要求。
4 結束語
該系統(tǒng)數(shù)據(jù)庫主要適用于C/S和B/S混合模式的數(shù)據(jù)庫系統(tǒng),設計中從整體考慮,建立嚴格的參照完整性和科學數(shù)據(jù)庫結構,將存儲過程、觸發(fā)器應用到數(shù)據(jù)庫設計中,加大了后臺的功能和效率,對數(shù)據(jù)庫的安全進行分級、分類設置和管理,提高了數(shù)據(jù)庫的安全訪問能力;它的數(shù)據(jù)冗余少,具有更高的數(shù)據(jù)一致性、可操作性和安全性,結合前臺開發(fā)工具和平臺,可以實現(xiàn)強大的功能設計和系統(tǒng)實現(xiàn)。結合本校實際已經(jīng)開發(fā)了一個實用的高校科研管理系統(tǒng)并被科研處立項。
參考文獻
中圖分類號:TP315文獻標識碼:A文章編號:1009-3044(2008)35-2049-02
A Teaching Model Research Based on Internet/Intranet in the Information Technology Course
CHEN Fang1, CHEN Zhao2
(1. Pharmacy of East China University and Technology, Shanghai 200237, China; 2. Faculty of Mechanical & Electronic Information of China University of Geosciences, Wuhan 430074, China)
Abstract: At present, colleges for large-scale expansion caused management more difficult, the quality of thesis papers and the value of Paper documents are not to make full use of, this article statements a management system based on B/S model Three-tier architecture, in the middle using ASP technology, background database to SQL Server2000 designed to achieve. The system is reliable, safe, convenient and better able to meet the college paper's management of the basic requirements.
Key words: thesis; B/S module; ASP; SQL server
1 引言
在高等學校的教務管理系統(tǒng)中,畢業(yè)論文的選題大都采用人工方式,面對不斷增加的生源,這樣不僅工作量大,而且效率低下,容易出錯,更不方便教師查閱和管理人員的管理。利用計算機輔助設計加強畢業(yè)論文課題的管理工作,既提高了論文選題的科學性,又可大大減輕管理人員的工作強度,提高了工作效率,從而使得管理工作逐步實現(xiàn)制度化、規(guī)范化和程序化。本文設計與實現(xiàn)的論文管理系統(tǒng)采用B/S的模式,中間采用ASP編程技術,后臺選用SQL Server2000得以實現(xiàn)。
2 系統(tǒng)的總體設計
2.1 設計思路
系統(tǒng)以SQL Server2000作為后臺數(shù)據(jù)庫,采用B/S結構即瀏覽器/服務器結構,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),主要事務邏輯在服務器端(Server)實現(xiàn),形成瀏覽器、Web服務器與應用服務器、數(shù)據(jù)庫服務器組成的三層體系結構。主要采用ASP動態(tài)網(wǎng)頁技術,通過ASP,結合HTML網(wǎng)頁、ASP指令和ActiveX元件,建立動態(tài)、交互且高效的Web服務器應用程序。數(shù)據(jù)庫的訪問通過ODBC(開放式數(shù)據(jù)庫互聯(lián)技術)用SQL實現(xiàn)。系統(tǒng)通過ADO與數(shù)據(jù)庫連接,實現(xiàn)數(shù)據(jù)庫的相關操作。
2.2 工作流程
實踐論文管理工作中,基本的工作流程分為:1)教師出題;2)學生選題;3)中期檢查;4)論文答辯;5)論文評優(yōu)五個階段。
畢業(yè)論文管理系統(tǒng)實現(xiàn)論文的出題、審核、選題、、檢索、統(tǒng)計等多項功能。該系統(tǒng)既能讓學生網(wǎng)上論文選題,又能實現(xiàn)提交論文,這樣為老師和學生對論文資源的查閱和檢索提供了方便。
系統(tǒng)中主要設置了八個模塊,分別為:登錄模塊、論文出題模塊、論文選題模塊、論文提交模塊、論文加工模塊、論文查詢模塊、論文統(tǒng)計模塊及系統(tǒng)配置模塊,每個模塊又具有各項多種功能。管理系統(tǒng)結構圖如圖1所示。根據(jù)基本工作流程和各功能模塊,該系統(tǒng)設置四個角色進行分配管理,包括:系統(tǒng)管理員、教師、學生、教師管理員這四類。各個角色都具有不同的功能,依據(jù)基于角色的訪問控制理論對每個教師進行分配角色,以實現(xiàn)相應的管理權限。
2.3 功能模塊的設計
2.3.1 系統(tǒng)管理員角色
1) 日常管理:日常公告的管理,常用表格的管理,師生上傳文檔的管理,教師出題變更申請受理;
2) 論文選題:論文選題時間設置,論文選題鎖定情況統(tǒng)計;
3) 中期檢查:中期檢查表審閱,中期評審分組;
4) 后期管理:論文成績評審表審閱,論文上傳情況統(tǒng)計,評閱,答辯,二次答辯,師生最終上傳文檔情況匯總,學生成績分析與統(tǒng)計;
5) 論文加工:對當年度提交的所有論文進行標引工作,以便查閱和檢索;論文格式轉(zhuǎn)換管理,將所有論文由原來的文檔形式轉(zhuǎn)換成PDF格式,以便保存;
6) 信息維護:管理員、教師、學生信息的維護,系主任、教學副院長角色的分配,院系、班級信息的維護,系統(tǒng)數(shù)據(jù)的初始化等。
2.3.2 教師角色
1) 論文出題:教師上傳論文題目,所需學生人數(shù),課題的來源等相關信息;
2) 論文選題:對自己提交的課題進行學生的鎖定和退選;
3) 任務相關:公告瀏覽,論文基本格式的樣張下載;
4) 表格提交:中期檢查表的管理,成績考核表的管理,其他相關文檔的管理;
5) 學生文檔管理:對學生提交的文檔進行審閱和管理;
6) 成績管理:對進行指導的學生進行論文成績的評定。
2.3.3 學生角色
1) 論文選題:對于教師的出題情況進行查看,并選擇論文;
2) 任務相關:公告瀏覽,論文基本格式樣張下載;
3) 論文管理:開題相關文檔管理、論文相關文檔管理、設計相關文檔管理;
4) 論文提交:提交畢業(yè)論文管理;
5) 成績管理:查看中期檢查表、成績考核表,其他相關文檔。
2.3.4 教師管理員角色
除了具有教師模塊中的所有功能外,教師管理員角色主要添加兩項功能:
1) 論文審核:對教師論文出題質(zhì)量進行審核;
2) 統(tǒng)計功能:統(tǒng)計當(歷)年度的畢業(yè)論文提交的數(shù)量,學生成績的統(tǒng)計。
2.4 數(shù)據(jù)庫的設計
畢業(yè)論文管理系統(tǒng)結構圖
本系統(tǒng)在設計過程中,盡量考慮到各個模塊中的相似之處,減少表格數(shù)量,提高表格的關聯(lián)程度,以及減少數(shù)據(jù)庫中數(shù)據(jù)的冗余。根據(jù)數(shù)據(jù)的流程和功能需求,數(shù)據(jù)庫主要包含以下工作表格:
1) 教師數(shù)據(jù)表:存放教師基本信息,數(shù)據(jù)項包括教師工號、密碼、教師姓名、職稱、專業(yè)、聯(lián)系方式、教師個人簡介、系所編號、學院編號、論文編號;
2) 學生數(shù)據(jù)表:存放學生基本信息,數(shù)據(jù)項包括班級、學號、姓名、密碼、論文編號、成績、綜合排名、興趣愛好、備注;
3) 論文數(shù)據(jù)表:學年度、論文編號、論文題目、出題教師工號、選題學生學號、課題來源、成績;
4) 論文審核表:學年度、論文編號、審核狀態(tài)、修改意見、次數(shù);
5) 論文選題表:學年度、學生學號、論文編號、論文選擇狀態(tài)、選擇時間;
6) 論文成績表:學年度、論文編號、教師工號、學生學號、成績、評語、評閱時間;
7) 選題管理表:序號、職稱、論文數(shù)量、學生人數(shù)。
2.5 數(shù)據(jù)庫訪問控制的實現(xiàn)
在數(shù)據(jù)庫中為了實現(xiàn)權限設計的安全問題,建立以下七個基本表:
1) 用戶表:序號、用戶名(取教師工號或?qū)W生學號);
2) 角色表:角色名、用途說明;
3) 權限控制表:角色名、用戶名;
4) 數(shù)據(jù)庫訪問權限表:操作權限、角色名、基本表名、權限說明;
5) 數(shù)據(jù)庫基本表:基本表名、基本表說明;
6) MIS子功能模塊表:子功能代碼、功能說明;
7) 功能模塊訪問權限表:子功能模塊代碼、角色名;模塊菜單名、功能說明;
各個表項聯(lián)合起來形成系統(tǒng)的授權機制,其運行機制是:當用戶通過系統(tǒng)登陸界面后,系統(tǒng)首先利用權限控制表找出用戶所對應的角色,然后利用數(shù)據(jù)庫訪問權限表和功能模塊訪問權限表找出該角色所能進行的操作(即基本表單名和子功能項代碼),并在角色表中查看該角色的狀態(tài),如果角色處于被激活的狀態(tài),該用戶就可使用該系統(tǒng),如果該角色處于被禁止的狀態(tài),即使該用戶擁有該權限仍不能執(zhí)行。這樣,系統(tǒng)管理員在進行維護時,若更改功能角色,則只需修改數(shù)據(jù)庫訪問權限表,功能模塊訪問權限表和權限控制表中的記錄即可,而不需修改表的結構,大大方便管理員的維護工作。
這個完整的基于角色的多層應用系統(tǒng)安全控制有效地將前端的“菜單層的權限管理”和后臺的“數(shù)據(jù)庫基本表及相應操作權限”統(tǒng)一起來,實現(xiàn)了權限設計的授權機制。
3 系統(tǒng)的主要功能實現(xiàn)
系統(tǒng)通過B/S三層結構實現(xiàn)論文的選題管理與論文的提交和評閱,采用瀏覽器、Web服務器和數(shù)據(jù)庫的三層結構,當用戶通過瀏覽器提交和評閱時,向Web服務器發(fā)出請求,Web服務器訪問用戶的指令后開始執(zhí)行程序,根據(jù)請求從數(shù)據(jù)庫中取出相應的數(shù)據(jù),并將數(shù)據(jù)以一定格式返回到客戶端。
3.1 教師論文出題功能的實現(xiàn)
每個教師使用自己的工號和密碼進入管理界面,點擊論文出題模塊,系統(tǒng)將根據(jù)論文審核表中的有關信息查看該教師是首次登錄還是重復登錄,如果為首次登錄,頁面上將出現(xiàn)相應的論文數(shù)據(jù)表,填寫各個字段,包括論文題目,課題來源,學生要求(比如專業(yè)限制等)、其他要求(比如性別要求等),填寫完畢后選擇提交按鈕實現(xiàn)出題的功能。其中要注意的是管理員在選題管理表中根據(jù)每個教師的職稱對教師的出題數(shù)目和所帶學生人數(shù)進行了限制,比如根據(jù)副教授職稱只能帶兩個畢業(yè)論文題目,一個課題只能有一個學生選擇等。如果為重復登錄,將根據(jù)論文審核表中的相關信息查看該教師有無被退回的題目,如果有,頁面顯示該教師被退回題目的相關信息,如果沒有,提示該教師出題成功,無需再次出題。
3.2 教師論文選題功能的實現(xiàn)
當教師使用自己的工號和密碼進入管理界面,點擊論文選題模塊,頁面上將出現(xiàn)論文課題、學生姓名(點擊學生姓名鏈接將出現(xiàn)學生的有關信息)并同頁面預設置有鎖定和退回功能鍵,當教師查看符合要求時點擊鎖定功能即能實現(xiàn)雙向選定,否則點擊退回功能,此課題呈現(xiàn)空置狀態(tài),以供其他學生選擇。
3.3 學生選題功能的實現(xiàn)
每個學生使用自己的學號和密碼進入相應界面,點擊論文選題模塊,頁面上將出現(xiàn)還沒有被選擇的畢業(yè)論文選題列表,分別有論文數(shù)據(jù)表中以下字段:論文編號、論文題目、出題教師工號(點擊教師工號可出現(xiàn)鏈接教師的有關信息),并同頁面預設置有鎖定和撤銷功能鍵,如果該生已經(jīng)選題,系統(tǒng)將其視為修改選題,修改學生數(shù)據(jù)表中該學號學生記錄中論文編號數(shù)據(jù)即可。
3.4 論文審核功能的實現(xiàn)
教師填寫論文選題之后,系主任要對論文題目進行審核。當系主任使用自己的工號和密碼進入管理界面后,點擊論文審核模塊,頁面上將出現(xiàn)已經(jīng)上傳的論文題目,并同頁面預設置確定和修改的功能鍵,如果論文題目不符合要求,系主任點擊修改,并給出修改意見,否則點擊確定通過,這樣教師論文出題成功。此時將該教師工號記錄入此論文數(shù)據(jù)表中,將論文編號記錄入教師信息表中。
4 結束語
該系統(tǒng)結合ASP開發(fā)平臺和SQL Server2000 技術,實現(xiàn)了畢業(yè)論文(設計)階段從選題管理、論文寫作、中期檢查、論文提交等方面進行綜合管理的一個系統(tǒng)平臺。整個系統(tǒng)在設計上保持了各個部分的相對獨立性同時又是有機地融合在一起的,體現(xiàn)了各自的特點。在教學管理應用中收到了較好的效果。
根據(jù)目前的管理思路我們也有進一步的設想:1) 逐步實現(xiàn)畢業(yè)論文的網(wǎng)上歸檔功能,和檔案館歸檔軟件形成對接,實現(xiàn)畢業(yè)論文的電子歸檔;2) 通過和圖書館數(shù)據(jù)檢索平臺的功能對接,實現(xiàn)畢業(yè)論文在數(shù)據(jù)庫平臺的電子查閱,由圖書館專業(yè)人員作標引工作,實現(xiàn)有序的存儲和高效利用。
參考文獻:
[1] 陳芳, 陳朝. RBAC在MIS中的應用[J]. 計算機系統(tǒng)應用,2003(1):43-44.
[2] 李杰. 基于ASP畢業(yè)論文選題系統(tǒng)的設計[J]. 湖南環(huán)境生物職業(yè)技術學院學報,2007,13(2):30-32.
[3] 崔盟. 基于Struts+Ajax的學位論文管理與服務系統(tǒng)的設計和實現(xiàn)[J]. 現(xiàn)代圖書情報,2007(11):7-12.
[4] 嚴國麗, 等. 基于.NET的論文管理系統(tǒng)的設計與實現(xiàn)[J]. 電腦學習,2007,10(5):10-12.
中圖分類號:TP392:J642.477文獻標識碼:A 文章編號:1009-3044(2007)17-31327-02
Design and Implementation of Thesis Searching System Based on B/S structure
LIU Qun-Yan,ZHANG Da-Wei
(Library Xi'an Polytechnic University ,Xi'an 710048,China)
Abstract:Based on the B/S structure, a thesis searching system is designed and developed for academic thesis searching by the ASP technique and SQL database. The system can run very stably, has complete functions and satisfies all requirements of thesis search excellently, which provides a good platform for sufficient using of academic thesis.
Key words:thesis search; ASP technology; SQL SERVER; B/S structure
1 前言
學位論文是高等院校或科研機構的學生為獲得某一級別的學位而向?qū)W校或其它學術單位提交的學術研究論文,是圍繞某一學科的重點或前沿課題進行的創(chuàng)造性研究和探討并加以總結的產(chǎn)物,所以它是具有較高學術價值的科技文獻。但很多高校多年來的博士和碩士論文因查詢不便而不能為教學和科研充分利用,所以建立基于網(wǎng)絡的、不受時間和空間約束的論文檢索系統(tǒng)已成為提高高校學位論文利用率的關鍵。而購買商業(yè)公司開發(fā)的檢索系統(tǒng)雖然其功能齊全、性能穩(wěn)定,但不僅代價昂貴,而且其過于廣泛,不適合某一高校的學科特點和該校圖書館的具體情況。所以開發(fā)高校學位論文檢索系統(tǒng)非常必要,而且具有實際應用意義。本文討論了該系統(tǒng)的開發(fā)過程和核心難點技術。
2 系統(tǒng)技術分析及開發(fā)環(huán)境
本系統(tǒng)采用三層B/S體系結構為其基本框架,運用當前應用廣泛的動態(tài)web技術ASP實現(xiàn)其與數(shù)據(jù)庫的強大操作和遠程客戶端的交流。下面對這些技術和開發(fā)環(huán)境進行分析介紹。
2.1 B/S結構
B/S(Browser/Server)結構即瀏覽器/服務器結構,是把web 技術和數(shù)據(jù)庫技術結合起來的技術,其實現(xiàn)了開發(fā)環(huán)境和應用環(huán)境的分離,即用戶端利用相對統(tǒng)一的瀏覽器( IE、Netscape 等) 代替客戶端軟件,實現(xiàn)跨平臺的應用服務,B/S通常采用三層分布式體系結構,如圖1所示。
圖1 B/S結構
三層B/S結構的工作方式主要是用戶通過瀏覽器表單形式把客戶請求以HTTP 協(xié)議方式發(fā)送到web服務器,web服務器向數(shù)據(jù)庫服務器發(fā)送數(shù)據(jù)請求,數(shù)據(jù)庫服務器經(jīng)過數(shù)據(jù)處理后將符合條件的數(shù)據(jù)返回到web服務器,web服務器把結果翻譯成HTML模式或各類Script 格式, 返回瀏覽器供用戶閱讀。
本系統(tǒng)采用三層B/S體系結構,用戶只要能連接到Internet網(wǎng)絡,就能很方便的在任何時間任何地點查詢學位論文。
2.2 ASP技術
ASP(Active Server Page) 是Microsoft 提出的基于服務器端的腳本執(zhí)行環(huán)境,通過在普通HTML頁面中嵌入的ASP腳本語言(VBScript 、Jscript),就可以建立和執(zhí)行動態(tài)的、交互的、高性能的Web應用程序。由于ASP腳本是在服務器端解釋執(zhí)行的,所以用其設計的程序獨立于客戶端瀏覽器且保密性較高;ASP采用ADO技術訪問數(shù)據(jù)庫,ADO是一組優(yōu)化的訪問數(shù)據(jù)庫專用對象集,提供了完整的站點數(shù)據(jù)庫訪問方案,使ASP訪問數(shù)據(jù)庫十分方便。基于以上原因,本系統(tǒng)采用ASP技術來實現(xiàn)其功能。
2.3 系統(tǒng)開發(fā)平臺和環(huán)境
本系統(tǒng)服務器端采用高性能、高可靠性和高安全性的Microsoft Windows 2003 Server為其操作系統(tǒng),并配置IIS6.0;選取可擴充的、高效的關系型數(shù)據(jù)庫管理系統(tǒng)SQL SERVER 2000為后臺數(shù)據(jù)庫;采用專業(yè)網(wǎng)站開發(fā)編輯器Macromedia Dreamweaver MX 2004為系統(tǒng)開發(fā)工具;開發(fā)語言為HTML和VBScript;客戶端只需要安裝 IE4.0 或Netscape3.0 以上版本的瀏覽器即可使用本系統(tǒng)。
3 系統(tǒng)的總體結構設計
在開發(fā)此系統(tǒng)之前,作者做了大量的需求分析,充分了解掌握了系統(tǒng)所必需具有的功能,并考慮了人機功效方面的問題進行系統(tǒng)設計。下面對該系統(tǒng)的功能模塊、web頁面、數(shù)據(jù)庫作總體的設計。
3.1 功能模塊分析與設計
根據(jù)用戶對論文檢索精度要求的不同,該系統(tǒng)主要分為兩大模塊,(1)基本檢索模塊,(2)高級檢索模塊,如圖2所示。
圖2 系統(tǒng)工作流程圖
基本檢索模塊:主要適用于對檢索精確度要求不高、對論文庫按某一條件字段進行簡單分類檢索的用戶。該模塊的功能要求主要有:用戶選擇某一檢索項并輸入檢索詞,就可檢索到符合該條件的所有記錄,并將檢索結果分頁顯示;可以瀏覽某一紀錄的詳細內(nèi)容,包括摘要。
高級檢索模塊:該模塊適用于對檢索結果要求精確、多條件查詢的用戶。該模塊的功能要求主要有:可以實現(xiàn)多個條件的與、或、非復雜查詢;將檢索結果分頁顯示;可瀏覽某一紀錄的詳細信息,包括摘要。
根據(jù)學位論文的特點和用戶的檢索需求,其檢索選擇項分為七類:論文題名、論文作者、論文導師、關鍵詞、學科專業(yè),中文摘要、分類號。
3.2 Web頁面設計
根據(jù)該系統(tǒng)的模塊及功能,實現(xiàn)該系統(tǒng)需要4個頁面。檢索首頁index.asp,該頁面采用HTML表單的形式收集用戶輸入的檢索詞及檢索選擇項條件;基本檢索Bsearch.asp,該頁實現(xiàn)基本檢索的功能頁面,并將查詢結果分頁顯示;高級檢索Hsearch.asp,該頁實現(xiàn)高級檢索多選項、多條件的與、或、非查詢功能,并將查詢結果分頁顯示;記錄詳細顯示Show.asp, 該頁實現(xiàn)瀏覽某一紀錄的詳細信息,本校用戶可查看全文。其頁面間的關系如圖3所示。
圖3 頁面關系圖
3.3 后臺數(shù)據(jù)庫設計
本系統(tǒng)采用SQL SEVER 2000來創(chuàng)建后臺數(shù)據(jù)庫。為了提高數(shù)據(jù)庫服務器的響應速度并確保數(shù)據(jù)安全,本系統(tǒng)采用文件實體和文件參數(shù)分別存放的方法,即在數(shù)據(jù)庫中只保存論文的文件名、存放路徑、文件格式和大小,而在WEB服務器指定目錄存放學位論文全文。根據(jù)學位論文的構成特點和用戶的查詢需求,創(chuàng)建的數(shù)據(jù)庫表的字段如下:姓名、學號、專業(yè)、培養(yǎng)單位、論文題名、分類號、學位級別、導師姓名、導師單位、提交日期、關鍵詞、論文頁數(shù)、中文摘要、英文摘要、全文文件名,全文路徑、全文大小、全文格式。
4 系統(tǒng)功能實現(xiàn)及核心技術
在本系統(tǒng)的開發(fā)過程中,主要解決了三個核心技術問題。ASP與WEB數(shù)據(jù)庫的連接、多條件的與、或、非復雜查詢問題和查詢結果分頁顯示問題。下面來闡述這些問題的解決方法。
4.1 ASP與WEB數(shù)據(jù)庫的連接
ASP與數(shù)據(jù)庫的連接一般有三種方法:(1)通過ODBC DSN建立連接,(2)通過OLE DB建立連接,(3)通過Driver建立連接,本系統(tǒng)選用通過Driver建立連接的方法,使用該方法,程序的可移植性比較好。系統(tǒng)建立連接的過程如下:(1)建立數(shù)據(jù)庫連接對象:set conn = server.createobject ("adodb. connection ");(2)打開要訪問的數(shù)據(jù)庫:conn.open"Driver;Server=;Database=;Uid=;Pwd= "(3)建立記錄集對象:set rs= server. createobject("ADODB.recordset");(4)打開記錄集對象:rs. open strsql,conn,"3","1";(5)利用記錄集對象所提供的屬性對Web 數(shù)據(jù)庫實施操作;(6)關閉記錄集對象:rs.close;(7)關閉數(shù)據(jù)連接對象:conn.close;
4.2 檢索功能實現(xiàn)
本系統(tǒng)兩大檢索模塊中,基本檢索模塊中的SQL查詢比較簡單,在這里不予熬述。重點來闡述高級檢索模塊中的動態(tài)多選項、多條件的與、或、非查詢,這是開發(fā)本系統(tǒng)的核心技術和難點之一。本文采用VBScript中的select case語句來識別用戶的動態(tài)檢索項,用IF語句來控制多條件的查詢,專門設置變量strhigh2接受用戶所選取的與、或、非條件。SQL查詢語句用變量strsql來保存,而最初的查詢語句是:strsql= "select * from table1 where 1=1 ",后面依據(jù)條件對查詢語句進行疊加,如:strsql=strsql& "select * from table1 where name = "liuyan" ",直到條件判斷完畢,最后形成SQL查詢語句,并保存在strsql變量中,執(zhí)行rs.open strsql,conn,"3","1"語句。系統(tǒng)查詢功能實現(xiàn)。
為了提高系統(tǒng)的簡單易用性和查詢結果的命中精度,本系統(tǒng)支持作者姓名、導師姓名字段的精確查詢,而對字段論文題名、關鍵詞、論文摘要、提交年份、學科專業(yè)、分類號實施模糊查詢,如:用SQL語句seletc * from table1 where name like %"& yan & "%實現(xiàn)模糊查詢。
4.3 查詢結果分頁顯示
在顯示查詢結果時,如果所有檢索的命中記錄在一頁顯示,將不方便用戶瀏覽,所以系統(tǒng)要求將查詢結果分頁顯示。而實現(xiàn)查詢結果分頁顯示關鍵要解決兩方面的問題:(1)循環(huán)顯示本頁記錄,(2)翻頁控制。
循環(huán)顯示本頁記錄:即當前頁記錄的顯示問題。本系統(tǒng)采用雙重嵌套的Do WhileLoop語句來控制當前頁記錄的顯示,用 rs.("字段名")顯示記錄字段;采用ADO中數(shù)據(jù)集RecordSet對象的一些屬性來進行參數(shù)設置:用PageSize屬性設置每頁顯示的記錄數(shù);用PageCount 、RecordCount屬性分別顯示檢索命中的總記錄數(shù)和頁數(shù);用AbsolutePage屬性表示當前頁碼;用MoveNext方法來移動記錄指針;并用到了BOF 屬性和EOF 屬性。通過運用以上的語句控制與屬性設置,實現(xiàn)了當前頁記錄的顯示。
(2)翻頁控制:系統(tǒng)要求將查詢結果分多頁顯示,而在進行翻頁時,涉及到對頁面bsearch.asp或hsearch.asp(實現(xiàn)檢索和分頁顯示的功能頁)的自身連接,也就是web服務器端要重新執(zhí)行該頁面程序,重新接收用戶輸入的檢索詞和重新執(zhí)行SQL查詢語句,并且要求正確顯示目標頁記錄。所以,在系統(tǒng)進行翻頁時,要對兩類參數(shù)進行傳遞,分別是用戶輸入的檢索詞、檢索項和當前頁數(shù)。本系統(tǒng)采用表單的隱藏域來對這兩類參數(shù)進行傳遞,選取Request.form("")來接收用戶從表單輸入的檢索詞和檢索項,而采用Request.querystring("")來接收翻頁時由表單隱藏域傳遞的檢索詞、檢索項參數(shù)和當前頁數(shù)參數(shù),并用IF語句來判斷使用前者還是后者;翻頁的自身連接采用URL方式傳遞目標頁數(shù)。參數(shù)傳遞正確,系統(tǒng)成功實現(xiàn)翻頁功能。
5 結束語
采用web技術、數(shù)據(jù)庫技術、ASP技術實現(xiàn)了基于B/S結構的高校學位論文檢索系統(tǒng)。在此系統(tǒng)開發(fā)過程中,重點研究解決了動態(tài)多選項、多條件的與、或、非復雜查詢問題,以及檢索結果分頁顯示的問題。經(jīng)過測試,本系統(tǒng)性能穩(wěn)定、界面友好、易于使用,現(xiàn)已應用于西安工程大學圖書館,解決了高校學位論文的檢索難題,使得博士、碩士論文能夠被科研和教學充分利用,提高了學問論文的利用率,這也是開發(fā)本系統(tǒng)的真正意義所在,作者感到欣慰!
參考文獻:
[1]陳健偉,李美軍,施建強,等. ASP動態(tài)網(wǎng)站開發(fā)教程[M].北京:清華大學出版社,2005.188-206.
[2]張固,汪曉平.ASP網(wǎng)絡應用系統(tǒng)典型模塊開發(fā)實例解析[M].北京:人民郵電出版社,2005.53-95.
[3]龍馬工作室.ASP+SQL Server組建動態(tài)網(wǎng)站實例精講[M]. 北京:人民郵電出版社,2005.73-96.
高校科研管理所設計的事務非常繁雜,涉及到校科研處、各個系的科研管理以及個人對科研信息的查詢統(tǒng)計等。所設計的系統(tǒng)既要有利于科研處的監(jiān)督管理又要有利于各個系及教師的分工協(xié)作。系統(tǒng)功能主要包括校科研處科研管理、院系(或部門)科研管理、個人科研信息查詢、校級科研項目整體信息管理。可以劃分為科研信息維護、科研信息查詢與統(tǒng)計、科研信息報表、科研信息分析、校級課題申報、審批、合同簽定、結題、其它處理等操作;其中科研信息應細分為學術論文、著作、科研項目、科研成果、科研獎勵等信息。
2用戶需求分析
由于本系統(tǒng)是直接面向網(wǎng)上辦公的,必須適應所服務環(huán)境的各類操作人員,主要包括學校科研處、各院系(或部門)、普通教師個人(或其他瀏覽者)。
2.1普通教師個人(或其他瀏覽者)
普通教師個人(或其他瀏覽者)只能按姓名來瀏覽個人的科研信息、進行統(tǒng)計打印,個人的科研信息(論文、著作、項目成果等)必須提交本部門審核入錄。
2.2各院系(或部門)
各院系(或部門)主要職責是對本部門員工的論文、著作、項目、成果、獎勵等信息進行審核后輸入到本系統(tǒng)數(shù)據(jù)庫中,查詢本部門在某時間內(nèi)的科研信息、統(tǒng)計科研情況、打印相關資料等,同時對本部門的錯誤錄入信息進行修改和維護。
2.3科研處
主要管理本校的員工信息、論文、著作、各級各類科研項目和成果、科研獎勵等常規(guī)工作,同時,管理校級課題的申報、審批、合同、檢查、結題等管理,同時,監(jiān)控系統(tǒng)運行和各部門的情況。
3數(shù)據(jù)庫設計及關鍵技術實現(xiàn)
3.1數(shù)據(jù)庫表創(chuàng)建
根據(jù)系統(tǒng)需求分析,將系統(tǒng)的實現(xiàn)直接定位在更好的適合各層次人員的需求和操作,系統(tǒng)的所有初始化數(shù)據(jù)均采用界面錄入的方法,由各類人員分工完成。根據(jù)我校的實際情況,筆者將科研人員基本信息、論文信息、科研項目信息、成果信息、獲獎情況信息等作為系統(tǒng)的初始化數(shù)據(jù),為個人和院系查詢、統(tǒng)計、打印,科研處操作、加工、管理、集成等工作提供基本的數(shù)據(jù)平臺。主要數(shù)據(jù)表格設計如下:
科研人員信息表(職工號,姓名,性別,職稱,出生日期,所學專業(yè),現(xiàn)從事專業(yè),學歷,學位,工作時間,所在部門,備注)。
論文信息表(序號,論文名稱,刊物名稱,刊物類別,刊物級別,主辦單位,作者,職工號,發(fā)表時間,刊號,備注)。
論著信息表(序號,著作名稱,圖書編號,著作類別,出版社,學科類別,作者,職工號,出版時間,版次,備注)。
科研項目表(序號,項目編號,項目名稱,項目來源,項目類別,完成單位,負責人,課題組成員,立項時間,擬定期限,經(jīng)費金額,是否鑒定,鑒定時間,鑒定單位,備注)。
科研成果表(序號,成果名稱,成果類別,成果經(jīng)費,完成時間,負責人,完成單位,是否投入生產(chǎn),經(jīng)濟效益,備注)。
科研獎勵表(序號,獲獎人員,項目名稱,獎勵名稱,授予單位,時間,備注)。
校級項目管理表(項目編號,項目名稱,課題名稱,負責人,所在部門,職務或職稱,聯(lián)系電話,申報表,申報時間,申報經(jīng)費,是否批準,批準日期,批準經(jīng)費,合同時間,合同內(nèi)容,是否結題,結題時間,鑒定技術負責人,項目成果效益,備注)。
校級鑒定專家表(序號,姓名,性別,出生日期,工作單位,學歷,學位,所學專業(yè),現(xiàn)從事專業(yè),職稱職務,備注)。
在上述表格中,加下劃線字段代表主鍵,加雙劃線字段代表外鍵。其中科研人員信息表之所以選擇(職工號,姓名)作為主鍵,考慮到姓名經(jīng)常作為查詢、操作條件,并在相關表中作為科技人員的重要描述和限制;為了避免數(shù)據(jù)錄入的無序狀況,數(shù)據(jù)庫表之間建立了嚴格的參照完整性,并且對所有表都分配了操作權限,并將錯誤信息及時反饋給操作人員,科研人員信息表、論文信息表、論著信息表通過“職工號”建立參照完整性關系,在錄入論文、論著時,作者必須是本單位職工,如果科研人員信息表不存在該員工,便給出錯誤提示,提示檢查是否是合法職工,如果是,便可以在科研人員信息表中添加該員工信息后錄入論文、論著信息,否則,拒絕錄入,“職工號”又為組合查詢提供了連接條件支持;同時將科研項目表、科研成果表、校級項目管理表中“負責人”和科研人員信息表中的“姓名”建立主鍵、外鍵參照完整性關系,校級課題的申報負責人也必須是本單位某部門的職工;獲獎人員,必須是科研人員信息表中某一職工;將校級鑒定專家表和校級項目管理表通過“鑒定技術負責人”、“姓名”建立參照完整性管理,限定了鑒定技術負責人必須是本校專家表中的專業(yè)人員;所有表的主鍵設置都加上“姓名”字段,目的是為了符合人們的常規(guī)習慣,常以某個專業(yè)人員姓名作為操作、查詢條件,科研人員信息表與其他相關表格建立參照完整性為了限制科研、論文、論著、成果、獎勵等信息的科學合法性,同時有利于統(tǒng)計和查詢;只有完善的參照完整性,才能使得數(shù)據(jù)庫中數(shù)據(jù)具有一致性和互操作性。
3.2存儲過程的設計
存儲過程是Transact-SQL語句的集合,它是實現(xiàn)事務或業(yè)務規(guī)則的極好途徑,是在數(shù)據(jù)庫服務器上存儲與執(zhí)行的。使用它,可以大大減少網(wǎng)絡傳輸流量,提高應用程序性能和安全性,而且由于它只在第一次執(zhí)行時被優(yōu)化、編譯。因此,使用存儲過程不僅可以極大地降低應用程序的實現(xiàn)難度,而且還可以極大地提高系統(tǒng)的運行速度、效率。存儲過程的設計一定要符合邏輯業(yè)務規(guī)則和要求,根據(jù)實際,對一些常規(guī)、頻繁使用的查詢、插入數(shù)據(jù)操作使用存儲過程來完成。以下操作可以考慮使用存儲過程來完成:
①對系統(tǒng)的初始化數(shù)據(jù)時錄入各種基本信息操作。
②查詢個人、部門科研信息時的查詢操作。
③科研處的其他常規(guī)操作。
下面以查詢部門科研信息為例介紹存儲過程使用方法,在此查詢某一部門的論文、論著信息。描述代碼:
CREATEPROCEDURE論文論著
@achar(20)
as
select姓名,論文名稱,刊物名稱,刊物類別,刊物級別,發(fā)表時間,備注
from科研人員信息表,論文信息表
where科研人員信息表。職工號=論文信息表。職工號and所在部門=@a
select姓名,著作名稱,出版社,出版時間,版次,備注
from科研人員信息表,論著信息表
where科研人員信息表。職工號=論著信息表。職工號and所在部門=@a
其它操作不再做列述。從提高執(zhí)行效率、提高安全性、共享性方面考慮,盡可能多的使用存儲過程來提高數(shù)據(jù)庫的整體性能。
3.3觸發(fā)器的使用
使用觸發(fā)器來實現(xiàn)表間的數(shù)據(jù)自動操作,提高系統(tǒng)效率,校級鑒定專家表中的信息主要來源于科研人員信息表中具有副高職稱以上的人員,在輸入或修改科研人員信息時,只要是具有副高級職稱以上的人員,就可以自動添加到校級鑒定專家表中,該操作可以使用觸發(fā)器來實現(xiàn),代碼描述如下:
CreateTriggerptz
On科研人員信息表
Forinsert,update
As
Insertinto校級鑒定專家表(姓名,性別,出生日期,工作單位,學歷,學位,所學專業(yè),現(xiàn)從事專業(yè),職稱職務,備注)Select(姓名,性別,出生日期,所在部門,學歷,學位,所學專業(yè),現(xiàn)從事專業(yè),職稱職務,備注)。
From科研人員信息表,其中,校級鑒定專家表中的序號是自動生成的標識列。
同時,可以用觸發(fā)器來檢驗校級項目負責人是否在科研人員信息表中,其中,用事務以驗證合法性以控制該項操作是否完成。
代碼描述如下:
CreateTriggercheck1
On校級項目管理表
Forinsert
As
begintran
declare@achar(12)
select@a=負責人fromInserted
If(selectcount(*)from科研人員信息表where姓名=@a)=0
begin
Print''''負責人不合法''''
rollbacktran
end
committran
其它類似操作不做描述。
在設計中,堅持使用觸發(fā)器實現(xiàn)盡可能多的實現(xiàn)前臺操作,不僅提高了操作效率、更提高了代碼的安全性和共享性。
3.4數(shù)據(jù)庫安全設計
網(wǎng)絡的安全非常重要,從數(shù)據(jù)庫級、服務器級和應用程序級綜合考慮,在科研管理系統(tǒng)中要根據(jù)不同用戶,設置不同的權限、不同的初始化菜單。在本系統(tǒng)中,數(shù)據(jù)庫的安全主要通過數(shù)據(jù)庫的存取控制機制實現(xiàn)的。首先定義各類管理人員的操作權限即角色,其次定義數(shù)據(jù)庫登錄,最后依據(jù)用戶權限表將登錄分配為相應的角色。由于人員的復雜性,角色分為三個層次:科研處級別、二級部門級別、普通教師級別。用戶屬于某一角色,即使用戶職務調(diào)動時,對用戶增刪,不影響其他用戶的操作,只是角色中用戶數(shù)量的變化。建立專門的系統(tǒng)使用權限表來記錄用戶和權限,同時也兼容部門設置信息,對不同部門分配相應的權限和賬號,科研處是最高管理級別部門。