席先杰
(臺州職業(yè)技術學院計算機系,浙江臺州 318000)
基于類字段的成績管理系統(tǒng)的設計與實現(xiàn)*
席先杰
(臺州職業(yè)技術學院計算機系,浙江臺州 318000)
基于類字段的成績管理系統(tǒng)可采用 asp.net技術和 sql數(shù)據(jù)庫,且對學生成績的管理采用類字段,并通過類字段加權設計方法來實現(xiàn)成績數(shù)據(jù)的集中管理.如此來進行成績管理,可以大大減少數(shù)據(jù)庫中表的數(shù)量和記錄的數(shù)量.
成績;成績管理;類字段
隨著網(wǎng)絡技術特別是 internet技術的普及和發(fā)展,資源的利用由傳統(tǒng)應用轉向基于 internet/web的服務模式,因而大部分學校都應用基于網(wǎng)絡技術和計算機信息技術的學生成績管理系統(tǒng)來進行學生成績的管理.本人綜觀現(xiàn)已使用的大多成績管理系統(tǒng),發(fā)現(xiàn)現(xiàn)有成績管理系統(tǒng)在成績數(shù)據(jù)的管理和實現(xiàn)上存在一定的不足:成績表中數(shù)據(jù)記錄眾多,系統(tǒng)的查詢速度不快,效率不高;或成績數(shù)據(jù)表個數(shù)眾多,系統(tǒng)管理復雜[1].針對成績管理系統(tǒng)的不足,本文提出了基于類字段的成績管理系統(tǒng),從而可以輕松地實現(xiàn)成績數(shù)據(jù)的管理與查詢.
系統(tǒng)采用 B/S(Browse/Server,瀏覽器 /服務器)[2]方式的網(wǎng)絡結構,在客戶端不需要開發(fā)任何用戶界面,而統(tǒng)一采用 web瀏覽器,通過 web瀏覽器向 web服務器提出請求,由 web服務器對數(shù)據(jù)庫進行操作,并將結果逐級傳回客戶端.
在B/S體系構系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡上的服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器,B/S結構簡化了客戶機的工作,客戶機上只需配置少量的客戶端軟件,服務器將擔負更多的工作,對數(shù)據(jù)庫的訪問各應用程序的執(zhí)行在服務器上完成.而其余如數(shù)據(jù)請求、加工,結果返回以及動態(tài)網(wǎng)頁的生成等工作全部由 web服務器完成.
系統(tǒng)的組成功能 (如圖 1所示):
圖1 教務成績管理分析系統(tǒng)功能圖
各模塊主要功能如下:
(1)學生管理模塊主要完成學生基本信息 (班級、學號、姓名、專業(yè)…個人系統(tǒng)登錄用戶名、密碼等)的錄入,修改,刪除,班級學生,專業(yè)學生的統(tǒng)計;
(2)教師管理模塊主要完成教師其本信息 (姓名,性別、專業(yè)、…個人系統(tǒng)登錄用戶名、密碼等),以及教師賬號的開啟與關閉;
(3)班級管理管理模塊,主要完成班級的其本信息數(shù)據(jù),班級入學年分,專業(yè),班級人數(shù)、班級名稱、等信息的錄入,修改,刪除管理;
(4)成績管理模塊,學生和班級成績的查詢,不及格課程的查詢,成績總分排名;
(5)班級課程管理模塊設置班級的每個學期的課程,任課教師,周課時;
(6)數(shù)據(jù)的輸出和上報模塊將需要上報的數(shù)據(jù)打印,形成書面數(shù)據(jù)存檔和管理;
(7)教師課程成績的輸入模塊,教師登錄系統(tǒng)后,選擇本個所任教的班級和課程,系統(tǒng)會自動給出相應班級的學生,教師只要輸入相應有成績,提交后成績就會保存在系統(tǒng)中;
(8)教師課程成績,班級課程成績查詢模塊,主要實現(xiàn)教師對本人所任課程成績的查詢,班級課程成績查詢;
(9)學生個人信息查詢模塊,主要完成對學生本人在校期間,所有學期,所有課程成績的查詢,本系統(tǒng)只要學生個人登錄系統(tǒng)后,就后將個人所有課程成績顯現(xiàn)出來,且是分學期形式,如果只有一個學期,則只顯示一個學期成績.
本系統(tǒng)與現(xiàn)有學生成績管理系統(tǒng)的最大不同點是,在現(xiàn)有成績管理系統(tǒng)中,主要采用如下兩種方式:
一是采用定字段名法來進行,即在管理成績時,對每個班級都用一個表來進行,如甲班有 (語文、計算機、物理、數(shù)據(jù)結構),建立表時,字段名就為語文、計算機、物理、數(shù)據(jù)結構,且每個學期一個表,這樣,就會造成數(shù)據(jù)庫中表的數(shù)量相當龐大.
如一個一般學校有 60個班級,每個班級為 6個學期,每個學期建一個表,那么數(shù)據(jù)庫僅成績表的數(shù)量就應 =60*6=360,隨著時間的增長,數(shù)據(jù)庫中具體成績表的數(shù)量是相當龐大.
二是采如簡單字段當,如,用于保存學生成績信息,包含 stud-code,course-code,exam-code,sc ore四個字段,分別表示學生編號、課程編號、考試代碼和考試成績,其中以 stud-code,course code和 exam-code字段為主鍵,這樣的形式,這樣,就會造成數(shù)據(jù)庫成績表記錄過多.
如一上學校有 3000名學生,每個學生在校期間有近 50門程程,如采用這樣的形式,那數(shù)據(jù)庫成績表中記錄數(shù)就應 =3000*50,隨著時間的推移,數(shù)據(jù)庫的成績表中的記錄很多,很容易達到表允許記錄的限制,且記錄過多,就會造成系統(tǒng)查詢時間過長,降低系統(tǒng)的工作效率.而本系統(tǒng)采用的是類字段、字段加權法,來實現(xiàn)成績的管理.
具體是這樣,在學生成績管理表,每個同學所有成績只占一條紀錄,且所有學生的成績數(shù)據(jù)都在同一個表中,對于成績的讀取,采用外加權值法來進行,即另用一加權字表來增加班級課程名表 (有班級名,學期名,課程名,課程索引號字段),如班級甲第一學期課程 (語文、計算機、物理、數(shù)據(jù)結構),設定語文為 1,計算機為 2,物理為 3,數(shù)據(jù)結構為 4,這樣可以大縮小成績表中紀錄的個數(shù)和數(shù)據(jù)庫中具體成績表數(shù)量,提高系統(tǒng)效率.如 60個班級 3000人的學校,進行成績管理,成績表中記錄個數(shù)為3000個,是簡單字段的 50分之一,數(shù)據(jù)庫中成績表個 1,僅增加一加權字段表來進行字段標題顯示,是定字字段名的法表的個數(shù)的 180分之一,所以可以大大提高系統(tǒng)的效率.且加權字字段表中記錄的個數(shù)僅為班級數(shù)與班級課程數(shù)的乘積,乘積為 50*60=3000,與成績表的數(shù)據(jù)相當.所以可以大大提高系統(tǒng)的效率.
采用類字段及字段加權實現(xiàn)成績管理的方法,可以大大減少系統(tǒng)數(shù)據(jù)庫成績數(shù)據(jù)表的數(shù)量或減少系統(tǒng)數(shù)據(jù)庫成績數(shù)據(jù)表中記錄的數(shù)量,采用本文所提方法進行管理與現(xiàn)有成績管理系統(tǒng)方法比較.
10000同學,300個班級,每個班級大約 50門課程,采用簡單字段成績數(shù)據(jù)表記錄數(shù)對比.
表1 與簡單字段比較
同時采用定字段名,按班級學期建立成績表,成績表數(shù)對比.
表2 與定字段名相比較
由于在系統(tǒng)成績表中成績數(shù)據(jù)的字段名是不定的,但輸入具體數(shù)據(jù)前,由管理員給字段名標題值設定,設定后,教師輸入具體的學生成績只能在設定的范圍內,具體是這樣實現(xiàn)的:
如給每個學生設定每個學期最多課程數(shù)為 12,一般也不會超過 12.那么甲班第 1學期課程索引為x,成績應放入的字段為:前 n字段 +x字段內.
甲班第 2學期課程索引為 y,成績應放入的字段為:前 n字段 +12+y.
甲班第 3學期課程索引為 z成績應放入的字段為:前 n字段 +12+12+z.
第 4,第 5,第 6,第 7,第 8…學期可以依此類推.
輸出某個人或者某個班級成績時,如第一學期成績,先從加權表中讀取課名,依次顯示,然后定位依次讀取字段即可完成成績信息顯示.
系統(tǒng)使用的數(shù)據(jù)庫為 microsoft sql server 2000,安全級別達到 C2級,SQL SERVER是伸縮、可靠、易用的數(shù)據(jù)庫,在支持網(wǎng)絡分布式開發(fā)方面有明顯的優(yōu)勢.
訪問界面采用了 session認證,且定期銷毀 session對象,超時需重新登錄.密碼采用 md5,將數(shù)據(jù)庫中含有密碼部分進行加密.現(xiàn)在網(wǎng)絡中使用比較頻繁的是 md5,md5的全稱是 message-digest algorithm 5(信息 -摘要算法),在 90年代初由 mit laboratory for computer science和 rsa data security inc的ronald l.rivest開發(fā)出來 ,經 md2、md3和 md4發(fā)展而來.它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被“壓縮”成一種保密的格式 (就是把一個任意長度的字節(jié)串變換成一定長的大整數(shù)).并且,由于 md5算法的使用不需要支付任何版權費用,所以在一般的情況下 (非絕密應用領域.但即便是應用在絕密領域內,md5也不失為一種非常優(yōu)秀的中間技術),md5怎么都應該算得上是非常安全的了.MD5是沒有反向算法,不能解密的.人家即使知道經加密后存在數(shù)據(jù)庫里的像亂碼一樣的密碼,他也沒辦法知道原始密碼了.
本文介紹了一個基于類字段實現(xiàn)成績管理的方法,使用本方法進行成績管理可以大大提高系統(tǒng)的執(zhí)行效率,減少成績管理的復雜度.本人覺得本觀點方法對現(xiàn)今管理信息系統(tǒng)是有一定的幫助的,如在醫(yī)院的病人管理信息系統(tǒng)中,給病人記錄時,可能有些項病因不能確定,但可以先錄入數(shù)據(jù),在以后確定病因后,給出確定病因字段名加權,就可以清楚地顯示出所需要的信息.
[1]浙江容博教育科技有限公司——浙江省中小學學籍管理系統(tǒng)[EB/OL].www.cnsyzx.com/syzx2006/soft/Show-Soft.asp,2006-12-08.
[2]滕沖.基于B/S結構的醫(yī)學院學生成績管理系統(tǒng)的設計與實現(xiàn)[D].武漢:華中師范大學學位論文,2001.
TP311.3
A
1008-4681(2010)02-0062-03
2010-03-04;
2010-03-20
席先杰 (1972-),男,湖南常德人,臺州職業(yè)技術學院計算機系講師,碩士.研究方向:軟件設計、數(shù)據(jù)庫應用.
(責任編校:簡子)