上海震旦職業(yè)學(xué)院 程茂華
我校現(xiàn)在對學(xué)生成績進行管理主要是通過Excel軟件實現(xiàn)的。每次期末考試完畢,學(xué)校規(guī)定任課教師必須在一周內(nèi)將紙質(zhì)成績單、紙質(zhì)試卷分析報告、電子版(Excel形式)成績表等交到教務(wù)處負(fù)責(zé)這方面工作的老師那里,然后再由教務(wù)處分別發(fā)放給各班主任,各班主任接到本班級學(xué)生的各門成績后,填寫紙質(zhì)成績報告單及評語,并裝入信封郵寄給學(xué)生家長。此過程工作量之大、步驟之繁瑣有時候?qū)嵲谧屓藷o奈,而且極其容易出錯,主要的原因是沒有一個采用先進技術(shù)開發(fā)的在線成績管理系統(tǒng)。因此,開發(fā)一個基于B/S架構(gòu)的、適合我校目前教學(xué)管理現(xiàn)狀的學(xué)生成績管理系統(tǒng)是十分必要的。
開發(fā)本系統(tǒng)的最終目的是為了提高我校的學(xué)生成績管理水平、減輕相關(guān)教學(xué)管理人員的勞動強度以及減少在學(xué)生成績管理工作中的疏失。在與相關(guān)人員的多次討論下,確定系統(tǒng)主要需求如下:
(1)系統(tǒng)可以實現(xiàn)成績的錄入、查詢、修改等基本管理手段,且可以根據(jù)操作人員在學(xué)校崗位職責(zé)的不同而授予不同的操作權(quán)限,比如:對于學(xué)生,系統(tǒng)只應(yīng)賦予其成績查詢的權(quán)限,而對于教師,系統(tǒng)除了應(yīng)賦予其查詢權(quán)限外,還應(yīng)賦予其成績錄入和修改的權(quán)限。這樣不僅可以將原來集中在教學(xué)管理人員處的工作合理地分?jǐn)偟狡渌藛T處,而且從系統(tǒng)的安全角度來說,也是十分必要的。
(2)系統(tǒng)除了可以對學(xué)生提供針對本人成績的查詢外,還應(yīng)對教學(xué)管理人員提供綜合查詢手段,并利用查詢結(jié)果生成不同的報表,為學(xué)校的各項工作安排提供依據(jù)。比如,系統(tǒng)可以查詢某學(xué)生在校期間的各門課程成績,并打印成績證明以供其在校外辦理各種手續(xù)時使用;再如,可以在每年畢業(yè)前夕利用系統(tǒng)查詢還有功課不及格的學(xué)生,并安排畢業(yè)前的補考,甚至可以讓系統(tǒng)自動查詢并向教務(wù)管理人員發(fā)出提醒,以免耽誤學(xué)生畢業(yè)前補考工作,影響學(xué)生畢業(yè)。
(3)對于系統(tǒng)的操作不應(yīng)只限于校園內(nèi),而是要充分利用計算機網(wǎng)絡(luò)技術(shù),實現(xiàn)哪里能聯(lián)網(wǎng)哪里就能操作。因為高校的教師很多不一定坐班,他們在家里改完試卷后,要能夠在家里就可以將成績錄入進系統(tǒng)。對于學(xué)生來說,放假回家,利用家里的電腦和寬帶就可以查詢自己的成績。
(4)系統(tǒng)的實現(xiàn)不應(yīng)過分復(fù)雜,開發(fā)周期不應(yīng)過長,特別是對于系統(tǒng)的用戶來說,不應(yīng)使他們?yōu)榱耸褂么讼到y(tǒng)而在自己的電腦上額外安裝其他軟件,比如客戶端等。
(5)系統(tǒng)的界面應(yīng)該相當(dāng)友好、操作簡便、易于上手。高校里除了有對計算機操作較為熟練的年輕教師外,還有相當(dāng)一部分因時代局限而對計算機操作不是特別熟悉的老教師,對于他們來說,不應(yīng)使他們額外投入過多精力學(xué)習(xí)系統(tǒng)的使用。
(6)系統(tǒng)的部署、升級和維護不應(yīng)過分復(fù)雜且對用戶來說最好是透明的。任何一個軟件系統(tǒng)都可能存在一定的缺陷,在使用過程中有的會逐漸暴露出來,這時候?qū)ο到y(tǒng)進行維護和修正是必然的。對系統(tǒng)的升級、維護不應(yīng)大幅度改變用戶的操作習(xí)慣,而且實現(xiàn)要簡單、不應(yīng)對系統(tǒng)結(jié)構(gòu)做大的改動,以免影響系統(tǒng)的穩(wěn)定性。
(7)系統(tǒng)要有較好的安全性和穩(wěn)定性。此系統(tǒng)一旦投入使用,所面對的用戶幾乎是學(xué)校的所有人員,包括教師、學(xué)生、各級管理人員等。因此,在安全和穩(wěn)定方面需要充分考慮,盡量杜絕各種安全隱患。
上一小節(jié)較為詳細(xì)地分析了系統(tǒng)的主要需求,接下來要根據(jù)對系統(tǒng)的需求分析,進行系統(tǒng)功能的設(shè)計。
該學(xué)生成績管理系統(tǒng)的使用人員主要包括:學(xué)生、教師、教學(xué)管理人員。每類人員其在學(xué)校的身份和崗位職責(zé)有所不同,因此,從信息安全的角度出發(fā),系統(tǒng)針對每類人員所提供的功能應(yīng)有所不同。具體如下:
(1)學(xué)生:本人成績查詢功能;
(2)教師:所教課程成績錄入功能、成績查詢功能、成績修改功能、成績統(tǒng)計分析功能;
(3)教學(xué)管理人員:成績綜合查詢功能、成績統(tǒng)計分析功能、報表生成打印功能、基本信息管理功能(比如對課程信息、班級信息的添加和修改等);
該系統(tǒng)的主要功能模塊框圖如圖1所示。
數(shù)據(jù)庫設(shè)計(Database Design)是指根據(jù)系統(tǒng)的需求,在某一具體的數(shù)據(jù)庫管理系統(tǒng)之上,設(shè)計數(shù)據(jù)庫的結(jié)構(gòu)并建立數(shù)據(jù)庫的過程。數(shù)據(jù)庫是學(xué)生成績管理系統(tǒng)的核心和基礎(chǔ),數(shù)據(jù)庫設(shè)計是該系統(tǒng)開發(fā)的重要組成部分,可以這么說,數(shù)據(jù)庫設(shè)計的好壞是該系統(tǒng)成敗的關(guān)鍵所在。
數(shù)據(jù)庫的設(shè)計一般分為以下幾個階段:需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、數(shù)據(jù)庫實施、數(shù)據(jù)庫運行與維護。本文僅就前三個階段,對學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的設(shè)計做一個簡要的分析。
在前文系統(tǒng)需求分析和功能模塊設(shè)計的基礎(chǔ)上,本學(xué)生成績管理系統(tǒng)的數(shù)據(jù)庫在概念設(shè)計上采用E-R模型的方法進行。在需求分析的基礎(chǔ)上,概念設(shè)計階段確定數(shù)據(jù)庫中存在如下實體:學(xué)生、學(xué)院、系、專業(yè)、班級、教師、課程,并對這些實體的屬性以及實體之間的關(guān)系進行了分析。概念設(shè)計完畢以后,接著就是邏輯設(shè)計。在邏輯設(shè)計階段,需要將E-R模型轉(zhuǎn)換為關(guān)系模型,E-R模型中的實體的屬性就是轉(zhuǎn)換后關(guān)系的屬性。
在將E-R模型轉(zhuǎn)換為關(guān)系模型后,就可以考慮數(shù)據(jù)庫基本表的設(shè)計了。限于篇幅,本文只討論基本表中所應(yīng)包含的字段(根據(jù)各校實際情況而有所不同)。根據(jù)轉(zhuǎn)換后的關(guān)系模型,可知本學(xué)生成績管理系統(tǒng)應(yīng)包含如下基本表:
學(xué)生信息表(學(xué)號#,姓名,性別,出生年月,身份證號,家庭住址,家庭電話,政治面貌,班級代碼*,專業(yè)代碼*)
學(xué)院信息表(學(xué)院代碼#,學(xué)院名稱)
系信息表(系代碼#,系名稱,所屬學(xué)院代碼*)
專業(yè)信息表(專業(yè)代碼#,專業(yè)名稱,所屬學(xué)院代碼*)
班級信息表(班級代碼#,班級名稱,所屬學(xué)院代碼*)
教師信息表(教師工號#,教師姓名,所屬學(xué)院代碼*)
圖1 系統(tǒng)功能模塊框圖
圖2 系統(tǒng)架構(gòu)示意圖
課程信息表(課程代碼#,課程名稱,所屬專業(yè)代碼*,學(xué)分)
學(xué)生成績表(學(xué)號#,課程代碼#,課程性質(zhì),學(xué)期,成績,成績性質(zhì)#)
在以上基本信息表的字段中,字段名后帶“#”的為主鍵,帶“*”的為外鍵,即其他表的主鍵。如果同一個表中有多個字段帶“#”,說明主鍵是由這幾個字段共同組成,即聯(lián)合主鍵?!皩W(xué)生成績表”中的“課程性質(zhì)”字段取值:“必修”or“選修”,“成績性質(zhì)”字段取值:“期末”or“補考”or“畢業(yè)前補考”。
為了較好地滿足需求分析中的第(3)、(4)、(5)、(6)項,本系統(tǒng)采用目前較 為先進的B/S架構(gòu)。B/S架構(gòu),即Browser/Server(瀏覽器/服務(wù)器)架構(gòu),是隨著Web技術(shù)的興起,對C/S架構(gòu)的一種變化或者改進。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護和使用??蛻魴C上只要安裝一個瀏覽器,即可通過Web技術(shù)與服務(wù)器端進行交互。而在Windows操作系統(tǒng)大行其道的今天,由于Windows操作系統(tǒng)內(nèi)置瀏覽器,因此客戶機軟件幾乎是零安裝、零維護。
本學(xué)生成績管理系統(tǒng)的服務(wù)器端采用兩種服務(wù)器:一種是應(yīng)用服務(wù)器,絕大部分事物邏輯由此服務(wù)器實現(xiàn),是直接為客戶端提供服務(wù)的服務(wù)器;另一種是數(shù)據(jù)庫服務(wù)器,為應(yīng)用服務(wù)器提供數(shù)據(jù)庫服務(wù)??蛻舳思礊楦黝愂褂帽鞠到y(tǒng)的人員平常所用的電腦。本學(xué)生成績管理系統(tǒng)的架構(gòu)示意圖如圖2所示。
系統(tǒng)的關(guān)鍵實現(xiàn)技術(shù)主要指編程語言和具體的DBMS。
本學(xué)生成績管理系統(tǒng)采用B/S架構(gòu),故而開發(fā)工作主要集中在服務(wù)器端的動態(tài)頁面的實現(xiàn)上。目前開發(fā)動態(tài)網(wǎng)頁的語言有很多種,國內(nèi)主要流行兩種,一種以微軟公司的技術(shù)為代表,主要有ASP、ASP.NET等,另一種是PHP。鑒于微軟技術(shù)在國內(nèi)的使用更加普遍及ASP.NET面向?qū)ο蟮木幊碳夹g(shù),本系統(tǒng)采用ASP.NET作為開發(fā)工具。在系統(tǒng)的部署上,采用了微軟公司的IIS技術(shù)。
由于本系統(tǒng)選用微軟的ASP.NET做程序開發(fā),因此在DBMS上也選擇微軟的產(chǎn)品是比較合適的。微軟的數(shù)據(jù)庫產(chǎn)品除了有OFFICE系列的ACCESS,還有SQL SERVER。這里選擇ACCESS顯然是不合適的,因為ACCESS是面向小型數(shù)據(jù)庫的,對大中型數(shù)據(jù)庫來說,ACCESS不管是在性能上還是在穩(wěn)定性上均有所欠缺。故對于本系統(tǒng)的DBMS來說,選擇SQL SERVER系列比較合適,SQL SERVER支持大型數(shù)據(jù)庫,經(jīng)過微軟公司多年的完善,其一些經(jīng)典版本還是比較穩(wěn)定的,比如SQL SERVER 2005等。
值得一提的是,不管采用何種技術(shù)實現(xiàn)本系統(tǒng),安全問題都是至關(guān)重要的。由于程序員的疏忽或經(jīng)驗的缺乏,在系統(tǒng)的開發(fā)過程中,常會留下各種漏洞,比如:跨站腳本漏洞、SQL注入攻擊等,這些在系統(tǒng)的開發(fā)過程中需要引起高度重視,系統(tǒng)在正式投入使用前,需要做包括安全在內(nèi)的各種嚴(yán)格測試。
本文討論了我院學(xué)生成績管理系統(tǒng)的開發(fā)。本系統(tǒng)采用了目前流行的B/S架構(gòu),使用了ASP.NET、SQL SEREVR、IIS等較為先進的技術(shù)。該系統(tǒng)的使用將使我院的學(xué)生成績管理水平邁上一個新的臺階,有關(guān)工作人員將從繁重、易錯的管理工作中解放出來,這是十分具有價值和意義的。
[1]張躍庭,貫偉.ASP.NET程序開發(fā)范例寶典[M].北京:人民郵電出版社,2009.
[2]文龍,張自輝,胡開勝,等.SQL Server 2005入門與提高[M].北京:清華大學(xué)出版社,2007.