王宏勇
摘 要:學生成績管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。
本論文通過用VFP編寫學生成績管理系統(tǒng),利用軟件工程原理,采用生命周期方法學,其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面,實現(xiàn)了學生成績數(shù)據(jù)庫的創(chuàng)建及學生成績的輸入、瀏覽、維護和統(tǒng)計。
關鍵字:成績管理;瀏覽;打??;維護;統(tǒng)計
學生成績管理系統(tǒng)是為了更好的管理學生考試成績而開發(fā)的數(shù)據(jù)庫管理軟件。根據(jù)學校實際要求,即實現(xiàn)學生基本信息、成績的錄入,刪除,查詢,維護以及成績的統(tǒng)計分析等幾方面功能。管理員可以通過查詢,實現(xiàn)刪除、修改學生的基本信息;可根據(jù)實際需求,自由添加、刪除課程;還能打印學生成績表(總分成績表和單課成績表)。學生成績管理系統(tǒng)可幫助老師們方便快捷地管理這些繁瑣地數(shù)據(jù)。學生成績管理系統(tǒng)具有手工管理無比優(yōu)越的優(yōu)點:查找方便,可靠性高,保密性好,成本低。
基于上述因素,利用軟件工程原理,采用生命周期方法學,經(jīng)過可行性研究,需求分析,總體設計,以及編碼、測試和最后運行成功。微軟公司地VISUAL FOXPRO具有強大的數(shù)據(jù)庫管理功能,可以方便編寫出小型的信息處理系統(tǒng),能夠有效地存儲數(shù)據(jù),滿足用戶的應用需求(信息要求和處理要求)。設計指導思想:一切為用戶著想,界面美觀大方,操作盡量簡單明了,而且作為一個實用系統(tǒng)要有良好的容錯性,在用戶出現(xiàn)誤操作時,及時給出警告,以便用戶及時更正。
1 需求分析
需求分析簡單的說就是分析用戶的要求,通過調(diào)查、收集與分析,獲得用戶對數(shù)據(jù)庫的如下要求:
1.1 數(shù)據(jù)流程
《成績管理系統(tǒng)》主要是為了對學生基本信息、成績信息等進行計算機管理。所以主要的數(shù)據(jù)源應是學生的各種信息。它們在系統(tǒng)中流動和處理。可以看出:學生基本信息的流動首先是以學籍號的特征為流動方向的依據(jù)。非0學籍號可以繼續(xù)流動,并檢驗數(shù)據(jù)庫中是否已經(jīng)注冊,已經(jīng)注冊的信息可以修改、查詢、并將查詢結果報表。未注冊的信息可以錄入到數(shù)據(jù)庫中。這里注冊的信息包括:學籍號,姓名,性別,班級,出生日期等。這里可以分析得出:要實現(xiàn)學生基本信息的流動,需要設計一個學生基本信息數(shù)據(jù)庫表(學生基本信息.DBF)。并對該表實現(xiàn)信息的錄入、修改、查詢、統(tǒng)計、報表。
1.2 信息要求:指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)
本系統(tǒng)需要的輸入數(shù)據(jù):學生信息(學號,姓名,班級,性別,出生日期)、課程信息(課程名,滿分)、考生成績;輸出數(shù)據(jù):學生成績報表、學生信息報表、課程報表、成績報表。
1.3 處理要求:指用戶要完成什么處理功能
本系統(tǒng)功能需求可歸納如下:
(1)、數(shù)據(jù)登記
登記功能用于把各種手填的數(shù)據(jù)及時登記系統(tǒng)定義表中,還能修改這些數(shù)據(jù)(學生信息、課程信息、成績)。
(2)、數(shù)據(jù)瀏覽
能瀏覽學生信息、課程信息、成績。
(3)、數(shù)據(jù)打印
能打印學生信息表、課程信息表、成績表(單課成績和總分成績)。
(4)、數(shù)據(jù)統(tǒng)計
能統(tǒng)計各班學生總數(shù)和男女人數(shù),統(tǒng)計各班學生的總分、排名,及各單課的排名。
1.4 性能要求:維護數(shù)據(jù)的安全性
設定密碼,限制非法用戶的使用;還能修改密碼,維護系統(tǒng)的安全性。
2 數(shù)據(jù)庫設計
數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進行操作的工具。數(shù)據(jù)庫的作用在于組織和表達信息,簡而言之,數(shù)據(jù)庫就是信息的集合。計算機的數(shù)據(jù)庫可以分為兩類:非關系數(shù)據(jù)庫和關系數(shù)據(jù)庫。關系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術語,象記錄、域等。
數(shù)據(jù)庫設計的任務是確定系統(tǒng)所需的數(shù)據(jù)庫。數(shù)據(jù)庫是表的集合,通常一個系統(tǒng)只需一個數(shù)據(jù)庫。建立本系統(tǒng)的數(shù)據(jù)庫創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細的規(guī)劃數(shù)據(jù)庫,設計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結構的過程被認為是數(shù)據(jù)模型設計。
1、標識需要的數(shù)據(jù);2、 收集被標識的字段到表中;3、 標識主關鍵字字段;4、 繪制一個簡單的數(shù)據(jù)圖表;5、 規(guī)范數(shù)據(jù);6、 標識指定字段的信息;7、 創(chuàng)建物理表。
(1)、邏輯設計:確定數(shù)據(jù)庫所含表及字段
學生信息表:xs(學號,姓名,班級,性別,出生日期)
課程信息表:kc(課程號,課程名,滿分)
考生成績表:cj(學號,姓名,班級,課程名,成績,名次)
括號外字符號是表名,括號內(nèi)是字段名,有下劃線的字段為關聯(lián)關鍵字
(2)、物理設計: 學生信息表、 課程信息表:、 考生成績表、自由表:
2.1 修改已建的數(shù)據(jù)庫
數(shù)據(jù)庫的修改分為:添加、編輯和刪除記錄。這三種操作均可由Visual foxpro 創(chuàng)建的程序來完成,下面的章節(jié)將詳細描述實現(xiàn)的具體方法。
2.2 實現(xiàn)數(shù)據(jù)庫之間的聯(lián)系
數(shù)據(jù)庫之間的關系指明兩個庫之間共享一個共同的關鍵字值。一個連接是指一種虛擬的表,這種表是在當用戶要求從相互關聯(lián)的各個不同的表中獲取信息時建立的,關鍵字段用于在相互連接的不同表中查找匹配的記錄。一個更高級的連接形式稱為自連接。這種連接是指一個表被連接到它自己的一個字段,或在不同的紀錄中由重復數(shù)據(jù)的組合字段。數(shù)據(jù)庫中有三種不同類型的關鍵字:主關鍵字、組合關鍵字和外關鍵字。在表中使用的關鍵字類型用于描述庫表示什么以及在數(shù)據(jù)庫中如何與其它的庫建立關系。
3 系統(tǒng)總體設計
按功能分類是總體設計的常用方法,用層次圖(Hierarchy Chart 簡稱HC圖)表示,自上而下分層
系統(tǒng)功能:
可以進行文本操作、 添加一個數(shù)據(jù)庫項目;、 刪除一個數(shù)據(jù)庫項目、修改一個數(shù)據(jù)庫項目、查詢信息、 察看課程表。
3.1 數(shù)據(jù)維護模塊
包括對學生信息表、課程信息表、考生成績表的插入、修改、刪除、搜索等。
3.2 數(shù)據(jù)瀏覽模塊
包括對學生信息表、課程信息表、考生成績表的選擇瀏覽、打印。
3.3 成績管理模塊
包括對學生成績的輸入,總分和單課的統(tǒng)計和排名,分析各分數(shù)段人數(shù)的分布情況。
4 系統(tǒng)具體實現(xiàn)
初始用戶界面設計
系統(tǒng)層對應菜單文件,子系統(tǒng)層對應菜單標題,功能層對應子菜單項
參考文獻
[1]薩師煊 《數(shù)據(jù)庫系統(tǒng)概論》 高等教育出版社 2000.02
[2]張海藩 《軟件工程導論》 清華大學出版社 2001.05