宋 翔,劉新強(qiáng)
(西安鐵路職業(yè)技術(shù)學(xué)院 陜西 西安 710014)
學(xué)生管理系統(tǒng)是高職院校學(xué)生管理中不可缺少的部分,它的所提供的信息對(duì)于院校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以學(xué)生管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)的人工的方式管理文檔,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的紙質(zhì)文件,給統(tǒng)計(jì)管理帶來(lái)了不少的困難。而使用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生管理的效率,也是院校的科學(xué)化、正規(guī)化管理的重要途徑。
盡管目前市場(chǎng)上也有一些學(xué)生信息管理的軟件,但不能完全適應(yīng)我院的實(shí)際情況,因此,筆者根據(jù)我院的實(shí)際情況,利用Asp.net和iis+sql2005技術(shù),自行開(kāi)發(fā)出了一個(gè)適合我院實(shí)際的基于B/S[1]的學(xué)生信息管理系統(tǒng)。
設(shè)計(jì)一個(gè)內(nèi)容完整、結(jié)構(gòu)緊湊、邏輯清晰、性能優(yōu)良的數(shù)據(jù)庫(kù)是開(kāi)發(fā)學(xué)生信息管理系統(tǒng)的基礎(chǔ)和關(guān)鍵。有了這樣一個(gè)數(shù)據(jù)庫(kù),可以為開(kāi)發(fā)信息系統(tǒng)提供一個(gè)數(shù)據(jù)存儲(chǔ)的平臺(tái)、學(xué)生管理的所有操作均會(huì)轉(zhuǎn)換為對(duì)數(shù)據(jù)庫(kù)中一個(gè)或多個(gè)表、視圖的添加、修改、刪除,以及查詢統(tǒng)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接決定了該信息系統(tǒng)的開(kāi)發(fā)、應(yīng)用的成敗[2]。筆者結(jié)合自己學(xué)院自己開(kāi)發(fā)的學(xué)生信息管理系統(tǒng),探討高職院校學(xué)生信息數(shù)據(jù)庫(kù)設(shè)計(jì)的思路、原則,并以我院學(xué)生信息數(shù)據(jù)庫(kù)實(shí)例進(jìn)行了較詳細(xì)的分析。
在信息系統(tǒng)的開(kāi)發(fā)之前,需求分析和功能分析是數(shù)據(jù)庫(kù)設(shè)計(jì)的依據(jù)。然后展開(kāi)數(shù)據(jù)庫(kù)的概念設(shè)計(jì)、實(shí)體關(guān)系設(shè)計(jì)、數(shù)據(jù)庫(kù)的表、視圖設(shè)計(jì)。最終為開(kāi)發(fā)學(xué)生管理系統(tǒng)提供數(shù)據(jù)基礎(chǔ)。
高職院校一般通過(guò)院系二級(jí)實(shí)現(xiàn)學(xué)生信息的管理,學(xué)院的學(xué)生口職能部門一般設(shè)置學(xué)生工作部,下設(shè)學(xué)生科、獎(jiǎng)懲助貸科和宿管科統(tǒng)籌管理全院的學(xué)生事務(wù)、獎(jiǎng)勵(lì)懲處和住宿,整體構(gòu)建學(xué)生的基本信息;各系下設(shè)學(xué)生輔導(dǎo)辦,輔導(dǎo)辦通過(guò)輔導(dǎo)員、班主任落實(shí)班級(jí)管理,跟蹤學(xué)生的日常行為,錄入學(xué)生的基本信息,并完善信息系統(tǒng)的日常維護(hù)。通過(guò)調(diào)研了解到:
1)學(xué)院可以從招生數(shù)據(jù)中一次導(dǎo)入一個(gè)年級(jí)的新生基本信息;
2)學(xué)院希望能夠統(tǒng)計(jì)全部分年級(jí)、系別、專業(yè)、班級(jí)、民族、性別、生源地等分類或組合分類的統(tǒng)計(jì)信息;
3)系部輔導(dǎo)員、班主任可以錄入、維護(hù)本系各專業(yè)、各班級(jí)、各學(xué)生的基本信息;
4)系部輔導(dǎo)員可以統(tǒng)計(jì)系內(nèi)的各項(xiàng)分類或組合分類的統(tǒng)計(jì)信息;
5)管理員可以設(shè)置學(xué)院級(jí)用戶、各系輔導(dǎo)辦的輔導(dǎo)員、班主任等用戶,系統(tǒng)可以為每個(gè)學(xué)生生成學(xué)生用戶,可以進(jìn)行各種用戶的權(quán)限設(shè)置;
6)學(xué)生用戶可以查看每個(gè)學(xué)生的基本信息和綜合信息。
通過(guò)對(duì)學(xué)院各部門的需求進(jìn)行分析可知,學(xué)籍管理系統(tǒng)主要為方便學(xué)生填寫或修改學(xué)籍信息,相關(guān)管理人員查詢統(tǒng)計(jì)學(xué)生信息,因此該系統(tǒng)將要具備以下6大功能。
1.2.1 系統(tǒng)登錄功能
分為學(xué)生、班主任老師、系輔導(dǎo)員、超級(jí)管理員4種角色的用戶登錄,超級(jí)管理員登錄后臺(tái)進(jìn)行系統(tǒng)管理與維護(hù),如圖1所示。
圖1 系統(tǒng)登錄界面Fig.1 System login interface
1.2.2 學(xué)生基本信息填寫
學(xué)生登錄后可進(jìn)入填寫基本信息的頁(yè)面,在權(quán)限允許的情況下,可填寫或修改自己的基本信息表、學(xué)歷及社會(huì)經(jīng)歷表、家庭主要成員表和主要社會(huì)關(guān)系表。
1.2.3 學(xué)生綜合信息填寫
學(xué)生綜合信息由班主任老師填寫,班主任老師登錄后會(huì)看到該班級(jí)學(xué)生列表,點(diǎn)擊列表后的鏈接進(jìn)入該生綜合信息填寫頁(yè)面,可填寫或修改學(xué)生在校綜合表現(xiàn)記錄表,獎(jiǎng)懲記錄表、技能證書(shū)表。
1.2.4 用戶管理模塊
該部分由超級(jí)管理員使用,可以查看所有用戶及密碼設(shè)置。
1.2.5 權(quán)限控制模塊
該部分由超級(jí)管理員使用,動(dòng)態(tài)的控制學(xué)生、班主任、系管理員的使用權(quán)限。
1.2.6 學(xué)生管理模塊
該部分由超級(jí)管理員使用,主要包括注冊(cè)(增加)學(xué)生,快速查找學(xué)生,刪除學(xué)生。
學(xué)院對(duì)系統(tǒng)性能無(wú)特殊的要求,只要查詢的時(shí)候沒(méi)有明顯的延遲就可以了,學(xué)院目前有多屆學(xué)生需要管理,查詢時(shí)間不能超過(guò)5 s,在無(wú)重大改動(dòng)的條件下正常運(yùn)行五年以上,各種用戶可以分別使用,信息維護(hù)要求在校園網(wǎng)上進(jìn)行,學(xué)生個(gè)人信息查詢可以延伸到互聯(lián)網(wǎng)進(jìn)行。
數(shù)據(jù)庫(kù)中的各種對(duì)象的命名,應(yīng)采用大小寫敏感的形式,命名長(zhǎng)度不要超過(guò)30個(gè)字符。
大型數(shù)據(jù)庫(kù)有兩種索引即簇索引與非簇索引,一個(gè)沒(méi)有簇索引的表是按堆結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),所有的數(shù)據(jù)均添加在表的尾部。而建立了簇索引的表,其數(shù)據(jù)在物理上會(huì)按照簇索引鍵的順序存儲(chǔ),一個(gè)表只允許有一個(gè)簇索引,添加任何一種索引均能提高按索引列查詢的速度。但也會(huì)降低插入、更新、刪除操作的性能,尤其是當(dāng)填充因子(fill factor)較大時(shí)。所以對(duì)索引較多的表進(jìn)行頻繁的插入、更新、刪除操作時(shí),建表與索引時(shí)應(yīng)設(shè)置較小的填充因子,以便在各數(shù)據(jù)頁(yè)中留下較多的自由空間,減少頁(yè)分割及重新組織的工作[3]。
表間關(guān)聯(lián)是一種強(qiáng)制性措施,建立后對(duì)父表(Parent Table)和子表(Child Table)的插人、更新、刪除操作均要占用系統(tǒng)開(kāi)銷,另外,最好不要用Identify屬性字段作為主鍵與子表關(guān)聯(lián)。如果數(shù)據(jù)冗余低,數(shù)據(jù)的完整性容易得到保證,但增加了表間連接查詢的操作。為了提高系統(tǒng)的響應(yīng)時(shí)間,合理的數(shù)據(jù)冗余也是必要的。使用Rule和Check來(lái)防止系統(tǒng)操作人員誤輸人,造成數(shù)據(jù)的錯(cuò)誤是設(shè)計(jì)人員的另一種常用手段,但是,不必要的規(guī)則和約束也會(huì)占用系統(tǒng)的不必要開(kāi)銷。
數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)工作中的一項(xiàng)十分重要而又復(fù)雜的工作,數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵問(wèn)題是如何建立一個(gè)數(shù)據(jù)模型,使其能夠正確反映用戶的現(xiàn)實(shí)環(huán)境,包括向用戶及時(shí)、準(zhǔn)確、全面地提供所需要的信息和支持用戶對(duì)所有需要處理的數(shù)據(jù)進(jìn)行處理,并且還要使其具有易于維護(hù)、易于理解和較高的運(yùn)行效率[4]。
用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。
根據(jù)對(duì)系統(tǒng)數(shù)據(jù)的分析,該學(xué)生信息數(shù)據(jù)庫(kù)涉及3類實(shí)體,可設(shè)計(jì)為:用戶、部門、學(xué)生信息、輔助信息3類實(shí)體。其中用戶表與信息表為一對(duì)多的關(guān)系,輔助存儲(chǔ)表為信息表提供信息選擇[5]。
3.2.1 用戶表
包括用戶表、角色表、權(quán)限表。
3.2.2 信息表
包括學(xué)生基本信息表、學(xué)歷經(jīng)歷表、家庭成員表、社會(huì)關(guān)系表、綜合表現(xiàn)表、獎(jiǎng)懲記錄表、技能證書(shū)表。
3.2.3 輔助存儲(chǔ)表
包括系部表、專業(yè)表、班級(jí)表、獎(jiǎng)懲和證書(shū)分類表。
根據(jù)對(duì)系統(tǒng)的分析,系統(tǒng)可分為用戶(學(xué)生用戶、老師用戶、管理員)和信息(基本信息、綜合信息、輔助信息)兩種實(shí)體[6]。它們之間的關(guān)系如圖2和圖3所示。
圖2 信息實(shí)體關(guān)系圖Fig.2 Relationship diagram of information entity
圖3 用戶實(shí)體關(guān)系圖Fig.3 Relationship diagram of user entity
根據(jù)我院學(xué)生管理的實(shí)際,學(xué)生管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)為基礎(chǔ)信息和學(xué)生信息兩部分。其中,基礎(chǔ)信息包括入學(xué)年份表、獎(jiǎng)懲證書(shū)分類表、說(shuō)明表等數(shù)據(jù)表[7]。表間關(guān)系如圖4所示。
學(xué)生信息包括學(xué)生基本信息以及支持基本信息相關(guān)的輔助表。表間關(guān)系如圖4所示。
回顧該系統(tǒng)的開(kāi)發(fā),從選題,到調(diào)研、需求分析、設(shè)計(jì)、編碼實(shí)現(xiàn)、測(cè)試等,論文的撰寫,這一系列連貫的過(guò)程,感想頗多,收獲也很多。設(shè)計(jì)開(kāi)發(fā)一個(gè)軟件,首先要通過(guò)調(diào)研了解用戶的現(xiàn)狀。在開(kāi)發(fā)一個(gè)系統(tǒng)時(shí),前期的分析準(zhǔn)備工作非常的重要。對(duì)于系統(tǒng)的需求要明確,這樣才能做到有的放矢。特別是于系統(tǒng)中數(shù)據(jù)的存儲(chǔ)和重要算法的設(shè)計(jì),要盡量減少數(shù)據(jù)的冗余度,否則不僅浪費(fèi)存儲(chǔ)空間,還影響查詢效率。在設(shè)計(jì)的初期,對(duì)一個(gè)功能模塊的設(shè)計(jì),至少要設(shè)計(jì)出兩種方案,這樣可以進(jìn)行比較,從而選擇更佳的設(shè)計(jì)方案。相信本系統(tǒng)的開(kāi)發(fā)經(jīng)驗(yàn)可為同類院校相關(guān)軟件的開(kāi)發(fā)提供一定的幫助。
圖4 基礎(chǔ)數(shù)據(jù)表Fig.4 Basic data table
圖5 學(xué)生信息表Fig.5 Student information form
[1]韓勇.基于B/S結(jié)構(gòu)的新生報(bào)到系統(tǒng)設(shè)計(jì)[J].電子科技,2011(6):75-77.
HAN Yong.The design of the B/S structure-based freshmen registration system[J].Electronic Science and Technology,2011(6):75-77.
[2]郭靖.ASP.NET開(kāi)發(fā)技術(shù)大全[M].北京:清華大學(xué)出版社,2009.
[3]劉乃麗.完全手冊(cè) ASP.NET 2.0網(wǎng)路開(kāi)發(fā)詳解 [M].北京:電子工業(yè)出版社,2008.
[4]鄭健.庖丁解牛:縱向切入asp.net 3.5控件和組件開(kāi)發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2009.
[5]孫踐知.網(wǎng)絡(luò)程序設(shè)計(jì)案例教程—ASP.NET+SQL Server[M].北京:清華大學(xué)出版社.2008.
[6]陳偉.SQL Server 2005數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)教程 [M].北京:清華大學(xué)出版社,2007.
[7]章立民.大師講堂-ASP.NET 3.5開(kāi)發(fā)范例精講精析[M].北京:科學(xué)出版社,2009.