摘要:隨著計(jì)算機(jī)技術(shù)的發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及,為學(xué)生成績管理工作現(xiàn)代化提供了重要的手段。木文詳細(xì)介紹了高校學(xué)年制學(xué)生成績管理系統(tǒng)的設(shè)計(jì)思想、主要功能、實(shí)現(xiàn)方法,并分析了成績管理系統(tǒng)的總體設(shè)計(jì)結(jié)構(gòu)。系統(tǒng)主要基于Client/Server結(jié)構(gòu),采用PowerBuilder在SQL Server開發(fā)。實(shí)現(xiàn)了信息錄人、查詢和修改的計(jì)算機(jī)網(wǎng)絡(luò)化管理,為教學(xué)管理提供靈活、方便的管理手段,減輕教學(xué)秘書的工作,提高管理實(shí)效。
關(guān)鍵詞:成績管理;系統(tǒng)設(shè)計(jì);PowerBuilder9.0;SQL Server;Client/Server
中圖分類號(hào):TP315文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)11-20385-03
1 引言
隨著計(jì)算機(jī)的普及和計(jì)算機(jī)技術(shù)的發(fā)展,M1S系統(tǒng)在各個(gè)部門得到廣泛應(yīng)用,學(xué)生學(xué)籍和成績管理系統(tǒng)就是其中使用較多的一種,引入計(jì)算機(jī)對(duì)學(xué)生成績進(jìn)行管理,可提高管理的科學(xué)化、規(guī)范化水平,大大減少教務(wù)人員的工作量,并提高工作效率。用于學(xué)生成績管理的系統(tǒng)在教育技術(shù)比較發(fā)達(dá)的國家前幾年就有開發(fā),但都是根據(jù)他們本國的實(shí)際情況來進(jìn)行開發(fā)的,在語言文字、價(jià)格及對(duì)象的要求等方面都不符合我國的國情。在國內(nèi),到目前為止不少大學(xué)和科研機(jī)構(gòu)開發(fā)了一些教學(xué)管理系統(tǒng)和學(xué)生成績管理系統(tǒng),如,華中科技大學(xué)計(jì)算機(jī)科學(xué)系開發(fā)的學(xué)生管理系統(tǒng)、北京師范大學(xué)開發(fā)的Vclass等等,這些系統(tǒng)或多或少都存在以下問題:用戶界面復(fù)雜,使用方式較分散,成本較高。雖然高校教務(wù)工作具有相似性,但由于各高校有各自的管理特點(diǎn),開發(fā)的成績管理系統(tǒng)不盡相同,無廣泛的適用性。而通用的教務(wù)管理軟件要么冗余信息多,要么所需的功能不具備,無法體現(xiàn)學(xué)校的特色,不太適合我校現(xiàn)有的管理制。我校是少數(shù)民族學(xué)生為主的師范專科學(xué)校,近年來,我校對(duì)教學(xué)管理體系進(jìn)行了改革,由原先集中管理變成以分散管理為主、集中和分散管理相結(jié)合的模式。為了提高學(xué)校的教學(xué)管理效率和水平,充分利用校園網(wǎng)的功能,開發(fā)基于校園網(wǎng)絡(luò)環(huán)境的分布式學(xué)生成績管理系統(tǒng)成為必要和可能。
2 系統(tǒng)主要功能
本系統(tǒng)主要負(fù)責(zé)管理學(xué)生的成績,系統(tǒng)功能框圖如圖1所示。
本系統(tǒng)完成的主要功能包括:
(1)系部,班級(jí),學(xué)生情況,教師代碼,課程代碼維護(hù);
(2)每學(xué)期課程設(shè)置,班級(jí)單科成績錄入,其中一個(gè)學(xué)生全部成績錄入,重修成績錄入,畢業(yè)前重修成績錄入;
(3)班級(jí)單科成績查詢,班級(jí)全部成績查詢;
(4)打印班級(jí)花名冊(cè),打印班級(jí)成績綜合表,打印個(gè)人成績通知單;
(5)班級(jí)重修查詢,畢業(yè)前重修查詢,按學(xué)號(hào)打印班級(jí)重修名單,按課程打印班級(jí)重修名單,打印畢業(yè)前重修名單;
(6)畢業(yè)設(shè)計(jì)成績錄入,畢業(yè)證號(hào)錄入,打印畢業(yè)學(xué)生檔案表,學(xué)生畢業(yè)處理。
3 系統(tǒng)設(shè)計(jì)技術(shù)要點(diǎn)
3.1 設(shè)計(jì)軟件的選擇
本系統(tǒng)應(yīng)用于學(xué)生成績管理,學(xué)校大都使用Windows系統(tǒng),本系統(tǒng)當(dāng)然工作于Windows環(huán)境。Windows環(huán)境下的數(shù)據(jù)庫很多,為了保證系統(tǒng)數(shù)據(jù)的安全性及高效性,數(shù)據(jù)庫平臺(tái)采用Microsoft的SQL Server,同樣是為了系統(tǒng)的高效性。系統(tǒng)設(shè)計(jì)采用傳統(tǒng)的C/S(客戶/服務(wù)器)模式與流行的B/S(瀏覽器/服務(wù)器)相結(jié)合。C/S模式有很強(qiáng)的實(shí)時(shí)處理能力,適合于對(duì)數(shù)據(jù)庫的實(shí)時(shí)處理和大批量的數(shù)據(jù)更新;系統(tǒng)相對(duì)封閉,保密性能較好;適用于C/S模式的開發(fā)軟件技術(shù)完善,選擇多樣化。B/S模式與目前使用的幾乎所有局域網(wǎng)都可以做到無縫連接;無需安裝客戶端,界面統(tǒng)一(瀏覽器方式),操作相對(duì)簡單;在本系統(tǒng)中C/S模式主要實(shí)現(xiàn)教務(wù)處操作的功能,而B/S模式主要實(shí)現(xiàn)教師和學(xué)生等操作的功能;“系統(tǒng)管理模塊”和“信息輸人模塊”采用Client/Server體系結(jié)構(gòu),通過ODBC方式訪問SQL Server的數(shù)據(jù)庫。隨著ODBC技術(shù)的推出,許多開發(fā)工具都把ODBC技術(shù)集成到自己的軟件中,如Visual Basic,Visual C++,Power Builder等等。其中,PowerBuilder是迄今為止最優(yōu)秀的數(shù)據(jù)庫應(yīng)用系統(tǒng)前端開發(fā)工具,它利用ODBC技術(shù)不僅適應(yīng)各種數(shù)據(jù)庫系統(tǒng),而且采用面向?qū)ο蟮拈_發(fā)方法和可視化的編程環(huán)境,并且具有強(qiáng)大的報(bào)表設(shè)計(jì)功能,可以設(shè)計(jì)出各式各樣的報(bào)表,因此,本系統(tǒng)采用PowerBuilder9.0開發(fā)。
3.2 關(guān)鍵問題的解決
系統(tǒng)提供用戶自定義報(bào)表功能,可由用戶任意設(shè)定報(bào)表格式。為了實(shí)現(xiàn)這一功能,查閱了很多資料,但是PowerBuilder 的報(bào)表功能確實(shí)較難實(shí)現(xiàn),最終決定調(diào)用Excel,利用其方便而強(qiáng)大的表格處理功能實(shí)現(xiàn)自定義報(bào)表。PB調(diào)用Excel有多種方法,常用的有DDE方式和OLE方式,DDE方式較繁瑣,本系統(tǒng)采用的是OLE方式。主要代碼如下:
OLEObject ole_object
ole_object = CREATE OLEObject
integer li_ret
1i_ret = ole_object.ConnectToObject(\"Excel.application\")
string ls_modelfilename
string ls_savefilename
ole_object.Documents.open(ls_modelfilename)
ole_object.ActiveDocument.SaveAs(ls_savefilename,l)
ole_object.Application.Quit()
ole_object.DisConnectObject() //斷開OLE連接
Destroy ole_object
4 系統(tǒng)設(shè)計(jì)方法
4.1 需求分析
4.1.1 我校成績管理概況
我校自從2001年9月4年制改為3年制的轉(zhuǎn)變以來,在校生數(shù)由原來的1500多人增加到現(xiàn)在4265人,并且實(shí)行了重修制,選修課程的開設(shè)量明顯增加。成績管理業(yè)務(wù)流程更復(fù)雜,數(shù)據(jù)量大大增長;成績管理內(nèi)容涉及教學(xué)計(jì)劃制定、教學(xué)任務(wù)下達(dá)、教學(xué)任務(wù)安排、教師成績錄入、補(bǔ)考學(xué)生管理、重修學(xué)生管理等多方面;管理流程中涉及各系、各任課教師、全校學(xué)生及相關(guān)管理部門。
4.1.2 系統(tǒng)整體架構(gòu)
成績管理是學(xué)生學(xué)籍管理的核心內(nèi)容,管理系統(tǒng)的使用群體是廣大師生及管理人員,因此我們考慮應(yīng)基于校園網(wǎng)進(jìn)行開發(fā)研究,要充分考慮到用戶使用的安全性、方便性和高效性,還要C/S與B/S相結(jié)合。從業(yè)務(wù)流程上還要包含以下各模塊管理:(1)基礎(chǔ)數(shù)據(jù)管理;(2)教學(xué)任務(wù)管理;(3)網(wǎng)上成績錄入及查詢;(4)各類成績管理。
由于學(xué)生成績管理系統(tǒng)包含比較重要的信息,因此,在系統(tǒng)設(shè)計(jì)時(shí)除了注重用戶的需求,還要保證系統(tǒng)的安全性、可靠性和高效性。
(1)安全性:系統(tǒng)中的不同用戶具有不同的使用權(quán)限。具有最高權(quán)限的人員(教學(xué)秘書及系統(tǒng)管理員)能設(shè)定系統(tǒng)參數(shù)(如輸入開課計(jì)劃、設(shè)定當(dāng)前學(xué)期等);具有普通輸入權(quán)限的人員(任課教師)只能輸人自己所任教課程的學(xué)生成績信息;一般權(quán)限的人員(一般教師學(xué)生)只能讀取與自己相關(guān)的內(nèi)容,班主任或輔導(dǎo)員可查詢本班全體學(xué)生的信息及統(tǒng)計(jì)信息,學(xué)生只能查自己的信息;(2)一致性:系統(tǒng)的數(shù)據(jù)要保證一致性、準(zhǔn)確性,當(dāng)某一數(shù)據(jù)庫中記錄改變,與之相關(guān)聯(lián)的數(shù)據(jù)庫也隨之變化;(3)可靠性:由于數(shù)據(jù)量大,必須能對(duì)數(shù)據(jù)及時(shí)進(jìn)行備份,并能按照需要恢復(fù)。
4.2 系統(tǒng)軟件設(shè)計(jì)
整個(gè)系統(tǒng)軟件的設(shè)計(jì)框圖如圖2所示。
4.2.1 創(chuàng)建應(yīng)用程序?qū)ο螅╟hengjiguanli)
應(yīng)用程序?qū)ο笫情_發(fā)PowerBiulder應(yīng)用程序必須用到的對(duì)象,用于存放應(yīng)用系統(tǒng)開始前的準(zhǔn)備工作。在此設(shè)置應(yīng)用對(duì)象名為chengjiguanli。
4.2.2 創(chuàng)建系統(tǒng)的數(shù)據(jù)庫
選用基于Windows 2000 Advanced Server平臺(tái)上的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng)MS SQL Server 2000作為數(shù)據(jù)庫服務(wù)器,將系統(tǒng)的數(shù)據(jù)庫命名為學(xué)生成績信息庫xscjk.db。該庫包含了學(xué)生學(xué)籍和成績的所有數(shù)據(jù),可以管理數(shù)據(jù)庫的表和列、索引、視圖、擴(kuò)展屬性等對(duì)象,還可以在PowerBuilder中管理數(shù)據(jù)的安全性。
4.2.3 創(chuàng)建數(shù)據(jù)庫中的表
本系統(tǒng)的表包括:學(xué)生課程信息表Course_Info、學(xué)生成績信息表result_Info、考試情況表exam_Info、補(bǔ)考表c_bukao、系統(tǒng)用戶表user_Info等。學(xué)生成績信息表和系統(tǒng)用戶表的設(shè)計(jì)結(jié)果如下表所示。(其它均忽略)
4.2.4 數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)
經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)。現(xiàn)在就可以在SQL Server2000數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)該邏輯結(jié)構(gòu)。這是利用SQL Server 數(shù)據(jù)庫系統(tǒng)中的SQL Server的查詢分析器Analyzer實(shí)現(xiàn)的。
(1)創(chuàng)建系統(tǒng)用戶表格user_Info
CREATE TABLE user_Info
(
user_ID VARCHAR (10) NOT NULL,
user_PWD VARCHAR (10) NOT NULL,
user_Des VARCHAR (20),
CONSTRAINT user_ID_PKPRIMARY KEY (user_ID)
)
(2)創(chuàng)建學(xué)生成績信息表result_Info
CREATE TABLE result_Info
(
student_ID NUMBER(11) NOT NULL,
student_Name VARCHAR2(25),
department_Name VARCHAR2(12),
subject_Name VARCHAR2(10),
grade_Name NUMBER(8),
course_Name VARCHAR2(20),
result NUMBER(3,2),
CONSTRAINT result_Info_PK PRIMARY KEY(student_id)
)
4.2.5 數(shù)據(jù)庫連接
PowerBuilder 的重要特色之一是能夠方便、有效地訪問和操作各種類型的數(shù)據(jù)庫。PowerBuilder與數(shù)據(jù)庫的連接通過數(shù)據(jù)庫接口來實(shí)現(xiàn)。PowerBuilder 提供了兩類數(shù)據(jù)庫接口。一類是針對(duì)諸如Oracle、Sybase、Informix 之類的大型數(shù)據(jù)庫管理系統(tǒng),PowerBuilder提供了旨在提高數(shù)據(jù)庫訪問效率的專用數(shù)據(jù)接口。另一類是對(duì)小型數(shù)據(jù)庫(如xBase)和支持ODBC接口的數(shù)據(jù)庫,PowerBuilder提供了ODBC接口。在PowerBuilder9.0中建立與MS SQL SERVER上的數(shù)據(jù)庫xscjk相對(duì)應(yīng)的數(shù)據(jù)源,并命名為xscjk,利用數(shù)據(jù)庫描述文件可方便各個(gè)數(shù)據(jù)庫連接之間切換,也可在DB Profile中直接選用通用專用接口MSS SQL SERVER與后臺(tái)數(shù)據(jù)庫建立連接,在“DB Profile setup”對(duì)話框中的Preview內(nèi)可獲得連接信息,將它存入xscjk.ini文件中供應(yīng)用程序初始化時(shí)調(diào)用,文件格式大致如下:
// Profile student
SQLCA.DBMS = \"MSS Microsoft SQL Server\"
SQLCA.Database = \"xscjk\"
SQLCA.LogPass = <***>
SQLCA.ServerName \"i\"
SQLCA.LogId = \"sa\"
SQLCA.AutoCommit = False
SQLCA.DBPrm = \"\"
4.2.6 建立數(shù)據(jù)窗口
數(shù)據(jù)窗口是PowerBuilder獨(dú)有的最重要最有效的對(duì)象,是PowerBuilder的精華所在。利用數(shù)據(jù)窗口對(duì)象可以操作關(guān)系數(shù)據(jù)庫的數(shù)據(jù)而無須編寫SQL語句。用戶可以直接查詢、修改、插入、刪除、瀏覽、打印以及以多種文件格式打開和存儲(chǔ)數(shù)據(jù)。另外,對(duì)數(shù)據(jù)表的各列還可以規(guī)定編輯風(fēng)格和限制,數(shù)據(jù)窗口支持批量數(shù)據(jù)的輸入。這種方式輸入速度快、數(shù)據(jù)清晰、便于修改、特別適用于數(shù)據(jù)量大的場(chǎng)合。
本系統(tǒng)使用兩個(gè)數(shù)據(jù)窗口分別用來錄入成績和查詢成績,為了便于成績的錄入,錄入成績數(shù)據(jù)窗口d_luruchengji選用Grid樣式,數(shù)據(jù)源選用SQL Server。查詢成績數(shù)據(jù)窗口d_chaxunchengji選用Crosstab格式,數(shù)據(jù)源選用SQL Server。此外,系統(tǒng)還使用數(shù)據(jù)窗口d_luruxueji錄入學(xué)生的基本情況,選用Grid樣式,數(shù)據(jù)源選用SQL Server。4.2.7 創(chuàng)建窗口
窗口構(gòu)成用戶和應(yīng)用程序之間的界面,通過它用戶可以完成各種操作。本系統(tǒng)的窗口包括:主窗口w_main、錄入學(xué)生基本情況窗口w_luruxueji、錄入授課計(jì)劃窗口w_lurushoukejihua、錄入成績窗口w_luruchengji、查詢成績窗口w_chaxunchengji、用戶登錄窗口w_login。其中,用戶登錄窗口定義為響應(yīng)式窗口,當(dāng)用戶啟動(dòng)本系統(tǒng)時(shí),在應(yīng)用程序?qū)ο蟮膐pen事件中設(shè)置數(shù)據(jù)庫連接參數(shù),然后用CONNECT語句與指定SQLCA相連,若連接成功,則打開登錄窗口,將用戶輸入的密碼與用戶登錄密碼表中的內(nèi)容進(jìn)行核對(duì),只有當(dāng)密碼正確無誤時(shí),才允許進(jìn)入主窗口。主窗口定義為帶有Micro Help的MDI框架窗口,通過主窗口調(diào)用主菜單來調(diào)用其他窗口,在主窗口中插入一名為ActiveBar的OLE定制控件制成活動(dòng)工具條,在其中建立圖標(biāo)按鈕以方便操作。
4.2.8 編寫各窗口相應(yīng)控件的代碼,完成系統(tǒng)功能
5 結(jié)束語
通過以上數(shù)據(jù)庫表及應(yīng)用模塊的設(shè)計(jì),完成了學(xué)生成績管理系統(tǒng)的設(shè)計(jì)。系統(tǒng)的應(yīng)用不僅可以提高工作效率,也提高了管理的準(zhǔn)確性、客觀性和科學(xué)性,同時(shí)將我校管理向計(jì)算機(jī)化、網(wǎng)絡(luò)化推進(jìn)一大步。本系統(tǒng)結(jié)構(gòu)緊湊,易于維護(hù)和使用方便,安全可靠,可移植性強(qiáng)等特點(diǎn),它比手工操作可提高工效數(shù)十倍,完全達(dá)到了預(yù)計(jì)的效果,極大地減輕了教務(wù)干事的勞動(dòng)強(qiáng)度,成績數(shù)據(jù)準(zhǔn)確可靠,實(shí)現(xiàn)了教務(wù)管理工作的自動(dòng)化,該系統(tǒng)具有很高的推廣使用價(jià)值。
參考文獻(xiàn):
[1] 何旭洪,傅立宏,等. PowerBuilder9.0信息管理系統(tǒng)開發(fā)[M]. 人民郵電出版社,2005:224-234.
[2] 鄧格珠,等. PowerBuilder9.0基礎(chǔ)開發(fā)偏[M]. 清華大學(xué)出版社,2003:60-75.
[3] 武馬群. SQL Server 2000 數(shù)據(jù)庫基礎(chǔ)與應(yīng)用[M]. 北京工業(yè)大學(xué)出版社,2005:28-49.
[4] 胡大威. 用PowerBuilder7.0開發(fā)基于校園網(wǎng)環(huán)境的學(xué)生成績和學(xué)分管理系統(tǒng)[J]. 武漢職業(yè)技術(shù)學(xué)院學(xué)報(bào),2002,3:42-45.
[5] 劉立軍. 學(xué)生信息管理系統(tǒng)的研究與開發(fā)[J]. 泰州職業(yè)技術(shù)學(xué)院學(xué)報(bào),2005,1:63-66.
[6] 張益星,羅敬. 高校學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 信息技術(shù),2006,4:131-134.
[7] 王蓉. Power Builder應(yīng)用開發(fā)技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2001.
[8] 周森鑫. 基于校園網(wǎng)的學(xué)生成績管理系統(tǒng)[J]. 計(jì)算機(jī)與發(fā)展,2002,2:35-37.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文