前言:中文期刊網精心挑選了學生成績管理系統范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
學生成績管理系統范文1
關鍵詞:SQL Server;成績管理系統;數據庫設計
中圖分類號:TP 文獻標識碼:A
收錄日期:2013年4月9日
引入
因為各高校學生人數的增多以及學生成績管理工作的復雜性,人工管理學生成績信息的效率越來越低。這種情況下,學生成績管理系統就出現了。
一、需求分析
需求分析是整個數據庫設計中重要的一步,在這個階段要充分地與用戶溝通交流,了解與分析用戶的需求。學生信息管理系統中涉及的主要人員有學生、教師、管理人員;主要的部門有教務處、系部。在需求分析時可以通過問卷調查、談話等方式,了解用戶的需求,最終繪制系統的數據流程圖。
二、數據庫表
關系數據庫中所有的數據都存儲在關系表中,通過需求分析,我們可以在學生成績管理系統中創建以下數據表(此處只列舉主要的數據表)。(表1、表2、表3、表4、表5)
三、索引
索引是提高查詢的主要方法,在圖書管理系統中,因為圖書數量的龐大,所以建立索引是必不可少的。在為表中的主鍵建立索引以后,系統會自動地在主鍵上創建聚集索引。除此之外,我們還可以為一些經常查詢的字段上,創建非聚集索引。
索引創建以后會提高查詢效率,但也會引起一些問題,如降低數據更新的速度、索引建后需要維護。所以,在創建索引時,要綜合考慮其優缺點。可以參考以下原則為表中的列創建查詢:(1)經常用于查詢的列;(2)經常用于分組和排序的列;(3)在連接中常用到的列。
按照以上原則,我們可以為以下列創建索引:Stu_Id、Stu_Name、Tea_Id、Tea_Name、speciality_Id、class_Id等。
四、存儲過程
存儲過程是T-SQL語句的集合,能夠實現特定的功能。使用存儲過程,可以大大減少網絡傳輸流量,提高應用程序性能,而且由于它只在第一次執行時被優化、編譯。因此使用存儲過程不僅可以極大地降低應用程序的實現難度,而且還可以極大地提高系統的運行速度、效率。SQL Server 2005中存儲過程分為:系統存儲過程、用戶自定義存儲過程、擴展存儲過程三種。例如:在該系統中,我們可以創建存儲過程實現按照學生姓名查詢成績。實現代碼如下:
CREATE PROCEDURE grade_by_name
@name char(10)
AS
BEGIN
SELECT*FROM grade
WHERE Stu_Id=(SELECT Stu_Id FROM STUDENT WHERE Stu_Name=@name)
END
五、觸發器
觸發器是在執行操作語句時自動執行的一種存儲過程。觸發器可以偵測到數據庫內數據的操作,并自動地級聯影響到整個數據庫的操作,從而保證數據庫數據的完整性和一致性。例如:在某一個學生退學刪除學生基本信息以后,那么該學生相應的成績信息也應該被刪除。可以以下代碼完成該功能:
CREATE TRIGGER STUDENT_DELETE
ON Student
FOR Delete
As
BEGIN
Delete from grade
Where stu_id=(Select stu_id from deleted)
END
主要參考文獻:
學生成績管理系統范文2
關鍵詞:學生成績管理;成績查詢;選修課程;開發技術
中圖分類號:TP315 文獻標識碼:A 文章編號:1009-3044(2016)22-0072-02
1 背景
學生的成績管理對于每個院校來說都是很重要的一部分,該系統的作用主要是用于教務處對學生的管理、對該校的課程和對本學校學生成績進行更加有效更加合理地安排,以便讓老師或者教務工作人員提高工作的辦事效率,在盡量短的時間內核算出學生的成績來。以此同時,老師或者其他的工作人員能夠每時每刻對本學院的學生輸入的基本信息、學生的平時或者期末成績進行簡單而快速查詢,使得老師更加了解學生的現狀,更改教學方式。
設計該系統的意義重大:1)本系統可針對某個高校進行處理某一些數據體現了適用性;2)對某一些數據進行數據的分類處理,有效地防止數據出錯而帶來的不便;3)能夠根據不同的查詢條件來查詢用戶需要的數據,或者進行多條件的或者模糊的查詢來達到查詢的結果;4)對查詢的結果可以一目了然,方便而快速得到結果;5)操作簡單,不需要太多的約束。
2 系統分析
2.1 需求分析
學生成績的管理系統的設計主要圍繞的是學生的成績,所以重點是處理學生成績這個模塊,學生的成績由老師上傳的成績來確定的,而老師上傳成績的時候要確定是哪個學生,就需要先查詢學生是否是自己教授的專業,如果不是就不能錄入成績,而應該先查詢對應的教授學生所屬的課程的班級,再確定成績。所以就要先有管理員添加學生所屬的院系、課程、班級等信息。然后教師教授哪個班級。
學生成績系統中院系的課程信息、學生的基本信息、學生成績的管理、教師信息的管理,管理員管理其他的角色等,這些都是基本的管理模塊。
系統角色分為學生、老師、系統管理員三種角色,角色的職責如表1的職責描述。
2.2 功能分析
在整個網站系統中,系統具備以下主要功能:
1)系統公告:任何打開該網站的用戶都可以看到有關的選課信息,但是如果要選課就必須要登錄。
2)學生要進入必須在管理員添加該生的信息:若新生想要看自己的信息,必須在管理員添加該生的信息后方能進入,否則提示“無此賬號,請聯系管理員!”。
3)教師要進入必須在管理員添加該生的信息:若教師想要看自己的信息,必須在管理員添加該教師的信息后方能進入,否則提示“無此賬號,請聯系管理員!”。
4)學生對個人信息的管理:修改用戶密碼、修改或者完善個人信息。
5)學生選修課程管理:學生可以查看選修的課程。
6)教師開設選修課,管理選修課程的學生的成績。
7)管理員擁有管理院系課程,院系,管理教師授課信息,管理學生信息等。
3 總體設計
3.1 系統功能模塊圖
本系統功能模塊按照系統的設計可以把系統劃分為以下模塊:管理員模塊、教師登錄模塊、學生登錄模塊等模塊,具體如下圖1所示。
3.2 數據庫總體設計
本系統的結構并不復雜,數據量也不是很大,所以采用MySQL作為數據庫,經過分析,該系統包含的主要實體有教師、課程、學生、選修課程、管理員等,使用E-R關系圖表示如下圖2所示。
3.3 系統流程示意圖
該系統經過分析,可用流程示意圖如圖3所示。
4 結束語
學生成績管理系統基本實現了課題所要求的功能,主要包括管理員實現管理功能,教師登錄管理,學生登錄查詢等功能。該系統基于JSP技術,使用MySQL作為數據庫,結合Tomcat服務器,共同完成了項目的開發。
本系統在設計時主要考慮了用戶使用習慣,設計的系統操作簡單,方便靈活,界面友好,基本功能完善。本系統主要的工作和成果包括:1)完成了學生成績管理的需求分析工作;2)對數據庫的表進行了充分的分析;3)詳細介紹了系統的設計與實現過程;4)對系統進行了一定的測試。
參考文獻:
[1] 黃磊, 楊武軍, 張鵬程, 等. 基于JSP和Android的歌手競賽信息交互系統設計[J]. 計算機測量與控制, 2016, 24(2): 175-178.
[2] 王慶喜, 齊萬華. 職業規劃與就業交流系統分析與設計[J].電腦知識與技術, 2016, 12(8): 85-86.
學生成績管理系統范文3
關鍵詞:C語言;學生成績管理系統;程序設計
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)04-0059-04
1 背景
如今各大高校均需要一個完整的系統來管理和保存學生的各門課成績信息,以便后期使用,論文以河海大學文天學院的工科專業學生成績為例,運用C語言程序設計和程序運行的環境,設計了一個簡單的學生成績管理系統,下面就來介紹該系統是如何構建的。
2 系統需求分析
2.1 系統功能劃分
該系統主要功能如下:
1)學生基本信息和成績的錄入;
2)學生成績的管理,如計算總分、排序、統計等功能。
2.2 系統功能結構設計
這個學生成績管理系統中包含的學生信息有:學生的學號、姓名、性別、高數成績、英語成績、計算機成績、三門功課總分,主要的功能模塊如下:
1)輸出學生基本信息并算出總分;
2)按照學號進行排序;
3)按照總分進行排序;
4)統計各門課程平均分;
5)統計男女學生人數;
6)按照姓名進行排序;
7)統計高數成績優秀(大于等于80分)的人數,并輸出符合條件的記錄;
8)統計每門功課成績都在80分以上,或總分在240分以上的人數,并輸出符合條件的記錄。
C語言中系統的每個功能由一個函數來實現,其系統功能模塊層次結構圖如下:
圖1 學生成績管理系統功能模塊層次結構圖
因為函數就是功能,所以對于圖1的功能模塊層次結構圖,每個模塊就對應C語言中的一個函數,該系統中所涉及的函導捌涔δ莧縵攏
1)int Menu();
主控菜單函數,有返回值,無參數。用菜單形式顯示該系統能實現的所有功能,以供用戶查看和使用。函數中的返回值為用戶輸入的序號code,為局部整型變量。
2)void Read(struct student stud[],int *n);
讀入數據函數,無返回值,有參數。形式參數stud為結構體數組,由于調用此函數時實際參數為數組名,因此此處用數組接收;形式參數n為指針變量,由于實際參數為存放學生人數的整型變量的地址,因此n指向存放學生人數的整型變量,這樣可以在讀入學生信息的同時,還可以統計出學生的人數。
3)void Print(struct student *pstud,int n);
輸出數據函數,無返回值,有參數。形式參數pstud為指針變量,指向存放學生信息的結構體數組,這樣可以將相關變動信息返回給主調函數;形式參數n為整型變量,存放學生的人數。
4)void total_order(struct student *pstud,int n);
按總分排序函數,無返回值,有參數。形式參數同上。
5)void num_order(struct student *pstud,int n);
按學號排序函數,無返回值,有參數。形式參數同上。
6)void ave_count(struct student *pstud, int n);
統計各門課平均分函數,無返回值,有參數。形式參數同上。
7)void nn_count(struct student *pstud,int n);
統計男女學生人數函數,無返回值,有參數。形式參數同上。
8)void name_order(struct student *pstud,int n);
按姓名排序函數,無返回值,有參數。形式參數同上。
9)void gxyx(struct student *pstud,int n);
統計高數成績優秀人數函數,無返回值,有參數。形式參數同上。
10)void mm(struct student *pstud,int n);
統計每門課分數不小于80分或總分在240分以上人數函數 ,無返回值,有參數。形式參數同上。
3 C語言程序設計
一個C語言源程序由若干個函數構成,且有且僅有一個主函數,主函數的名字只能是main,其他函數名字由用戶自己定義,只要滿足標識符的四大規則即可。一個程序總是從主函數開始執行,無論主函數在前還是在后,該系統中除了主函數外,還有十個函數,下面針對其中幾個重要的函數進行程序設計。
3.1 主函數程序設計
為了方便讀者更好地讀懂該程序,部分地方加了注釋,以上程序中/* */為注釋,計算機并不執行。其中第四行的N為符號常量,表示該系統記錄了10個學生信息,每個學生信息用結構體類型的數組來保存,該結構體類型包含4個子成員,每個成員又是另一種類型的數據,其中學號、姓名、性別均由字符數組存儲,成績由整型數組存儲,這樣就構成了struct student結構體類型,主函數中的第一條語句就是用這種類型定義了結構體數組stud,用來存放十個學生信息。接下來就在主函數中調用各個函數,實現相對應的功能。
3.2 用戶自定義函數程序設計
3.2.1 主控菜單函數的設計
在屏幕中顯示主控菜單,scanf為輸入函數,需要輸入一個整數,通過輸入相對應的數字序號,可以實現相應的功能,例如輸入1,即顯示學生全部信息。
3.2.2 讀入數據函數的設計
該系統是從文件中讀取數據,10名學生的信息存儲在文本文件studfile.txt中,如果想修改學生信息,直接在文件中修改即可,不用修改程序,這樣既方便又快速,大大節省了時間。
3.2.3 按姓名排序函數的設計
以上程序使用冒泡的排序方法按姓名從小到大排序,系統直接將排序的結果輸出到屏幕中,以供用戶查看和使用。
4 系統界面
將以上程序輸入到計算機C語言開發環境Microsoft Visual C++6.0中,經過編輯、編譯、連接以后就可以運行了,運行界面如下:
1)系統菜單界面
當按下回車鍵,系統進入菜單模式,按照序號選擇需要顯示的信息。
2)@示學生信息界面
當按下序號1,系統進入顯示全體學生信息界面,顯示的同時計算出了3門課總分。
3)按學號排序界面
按下回車鍵繼續進入菜單進行選擇,當按下序號3,系統進入按學號從小到大排序的界面。
4)統計高數優秀的學生人數和記錄
按下回車鍵繼續進入菜單進行選擇,當按下序號7,系統進入統計高數不低于80分的人數和記錄。
5 結束語
論文主要介紹了學生成績管理系統的設計與實現過程,分別從系統需求分析、系統程序設計和系統界面設計三個方面展示了系統的設計與實現,其中系統需求分析包括大體功能劃分和具體功能結構設計,并設計了功能結構圖,描述了各項功能,系統程序設計包括主函數和其他自定義函數的設計。該系統總共實現了八項功能,學生信息來源于文本文件,這樣大大方便了學生信息的增刪改查等功能。系統中所有功能使用到的方法,還可以實現更多的功能,拓展性能良好,便于各高校各專業使用。
參考文獻:
[1] 胡楓. 《C語言程序設計》的案例式教學的設計[J]. 青海師范大學學報, 2010(4).
[2] 譚浩強. C程序設計[M]. 4版.北京: 清華大學出版社, 2010.
[3] 宮業芹. C語言程序設計網上教學系統的設計與實現[D]. 濟南: 山東大學, 2012.
學生成績管理系統范文4
互聯網時代,信息技術給人們的工作和生活帶來了極大的便利。一個功能完整的管理信息系統通常由兩部分組成,即前臺應用程序和后臺數據庫。前臺應用程序通過互聯網與后臺數據庫進行數據交互,包括數據的增加、刪除、修改、查詢,這就是數據庫的4個基本操作,簡稱CRUD操作。在數據庫的4個基本操作中,查詢是使用頻率最高的操作,因此查詢效率的高低直接關系到應用程序性能的好壞。大數據時代數據量增長很快,如果不注重數據查詢效率的優化,隨著數據量的逐漸增加,數據查詢效率將逐漸降低,最終將嚴重影響管理信息系統的用戶體驗。因此,必須將數據查詢優化作為管理信息系統開發與維護的重要內容,貫穿系統生命周期始終。
1研究對象與方法
學生成績管理系統是一個典型的基于數據庫的管理信息系統,在教育管理中應用非常廣泛。根據數據庫設計原則,按照第三范式的要求設計數據表結構。學生成績管理系統數據庫的表結構由成績表、學生表和課程表組成。成績表中包含學期、學號、課程號、成績等字段,學生表中包含學號、姓名、學籍表等字段,課程表中包含課程號、課程名稱、學時、學分等字段。
將學生成績管理系統數據庫部署在Windows Server 2008操作系統和 SQL Server 2008數據庫管理系統上。數據查詢一般通過SQL查詢語句來實現各種查詢邏輯。在外部環境保持穩定的狀態下,數據查詢效率越高,SQL語句的執行時間越短。因此,可以通過計算SQL語句的執行時間來進行數據查詢效率比較分析。
2數據查詢效率影響因素
由于數據查詢是一個前臺應用程序與后臺數據庫的交互過程,涉及很多環節,因此影響數據查詢效率的因素有很多。歸納起來,影響數據查詢效率的因素主要來自物理層、數據庫層、應用層[1] 3個層面。
在物理層,影響數據查詢效率的主要因素包括服務器CPU性能、內存、硬盤、網絡、操作系統等。在數據庫層,影響數據查詢效率的主要因素包括索引、視圖、數據存儲、數據冗余等。在應用層,影響數據查詢效率的主要因素是SQL語句的寫法和應用程序設計。
3數據查詢優化方法
3.1物理層優化方法
數據庫部署在服務器上,服務器性能的好壞直接影響查詢效率。針對物理層影響數據查詢效率的主要因素,可以采取以下優化方法:
(1)提高CPU性能。CPU是計算機負責執行指令和處理數據的核心部件。服務器性能的高低很大程度上由CPU的性能決定。數據庫的查詢操作特別依賴CPU的并行處理能力。因此,應該為數據庫服務器配置高性能的CPU。
(2)增加內存。數據查詢分為物理讀和邏輯讀,物理讀是從硬盤讀取數據到內存緩沖區,邏輯讀是直接從內存緩沖區中讀取數據。內存的讀寫效率遠遠高于磁盤的讀寫效率,而且物理讀還會增加磁盤I/O操作。因此,為了保證數據查詢操作都能夠在內存中完成,應該盡量為數據庫服務器配置足夠多的物理內存,同時要配置相應的虛擬內存。
(3)配置多塊硬盤。數據查詢操作需要大量的I/O操作,將I/O操作盡可能平均分配在多塊硬盤上才能有效提升硬盤的并行讀寫性能。因此,應該為數據庫服務器配置多塊硬盤,避免使用單塊超大容量硬盤。
(4)提高網絡帶寬和網絡穩定性。應用程序與數據庫之間通過互聯網進行數據交互,因此應該提高數據庫服務器的網絡帶寬和網絡穩定性。
(5)提高操作系統性能。數據庫管理系統安裝在操作系統上,應該加強操作系統的管理與維護,提高操作系統性能。
3.2數據庫層優化方法
數據庫管理系統負責SQL查詢指令的執行,因此數據庫層的優化是數據查詢優化的核心,其對數據查詢效率影響最為顯著,可以采取以下優化方法:
(1)索引優化。索引是對數據庫表中一個或多個列的值預先進行結構排序。索引可以避免全表掃描,因而可顯著加快數據庫的查詢速度[2]。索引分為聚集索引和非聚集索引。與非聚集索引相比,聚集索引通常能夠提供更快的數據訪問速度。一般應考慮將頻繁查詢、連接、排序或分組的列設為索引列,其中最頻繁操作的列設為聚集索引列,避免在數據量較小的表上建立索引,同時避免在頻繁進行插入、刪除和修改操作的列上建立索引[3]。如成績表一般按學號查詢,因此將學號列設置為聚集索引列。同時根據需要將學期、課程號、成績等列設置為非聚集索引列。
(2)視圖優化。視圖是由一個或者多個表組成的虛擬表。通過連接查詢(JOIN)和聯合查詢(UNION)建立視圖,可以實現數據庫中數據的合并與分割,極大方便了數據查詢。如成績管理系統中成績表分別與學生表和課程表進行連接查詢,建立一個視圖,將學號、姓名、課程號、課程名稱、學時、學分、成績等信息放入一張虛擬表中,應用程序查詢時只需要查詢該視圖即可獲得所需數據。視圖查詢同時涉及多個物理表操作,當數據量較大時,容易產生查詢效率低下的問題。為了提高查詢效率,視圖的定義深度一般不應超過三層。若三層視圖不夠用,則應在視圖上定義臨時表,在臨時表上再定義視圖。這樣反復交迭定義,視圖的深度就可以不受限制。既保留了視圖的便利性,又兼顧了查詢效率問題。
(3)數據存儲優化。數據庫通常包括數據文件和日志文件。數據文件和日志文件默認存儲在相同的位置。由于數據文件和日志文件的操作會產生大量的I/O,因此應將日志文件與數據文件分別存儲在不同的硬盤上以分散I/O。通常情況下,數據庫默認只有一個主數據文件,不生成次數據文件。為了提高查詢效率,必要時可以通過定義文件組把數據庫中的一些表分開存儲在不同的數據文件里,即增加次數據文件,同時把不同的數據文件分散存儲在不同的硬盤上[4]。此外,數據文件長期自動增長可能產生碎片,導致物理空間與數據的邏輯空間不再連續。因此,有必要定期整理數據庫碎片,以提高數據庫查詢效率。
(4)適當增加數據冗余。按照數據庫的設計原則,數據表應該避免數據冗余。但是,為了提高數據的查詢效率,有時需要降低范式標準,適當增加數據冗余,達到以空間換時間的目的。數據冗余包括字段冗余和表冗余。字段冗余是通過增加冗余字段,減少數據計算和連接查詢。如學生表中的性別和出生日期,雖然可以從身份證號中獲取,但是為了提高查詢效率,應增加性別和出生日期字段。表冗余是通過增加冗余表提高查詢效率。以成績表為例,運行多年的成績管理系統中保存了歷屆學生的成績信息,包括已經畢業的學生成績信息,多年累積下來,數據量不斷增加,導致查詢效率降低。此時,可以考慮建立一個數據冗余表,其表結構與成績表的視圖一致,但是只保存在校學生的成績信息,數據量會大大減少。對在校生的成績查詢只需要查詢冗余表,查詢效率大大提升。成績數據冗余表要能自動更新,以便與成績表數據保持同步和一致。可利用SQL Server 2008的服務功能,建立一個每天凌晨定時自動執行的作業,作業分為兩步:
step1:清空老數據,相關SQL語句為:
Truncate table cj_query
step2:插入新數據,更新冗余表,相關SQL語句為:
INSERT INTO cj_query (xq,xh,xm,kch,kcmc,xs,xf,cj)
SELECT xq,xh,xm,kch,kcmc,xs,xf,cj
FROM cj_v /* cj_v為成績表、學生表、課程表作連接查詢建立的視圖*/
WHERE xjm = '01' /*在校學生的學籍碼為01*/
3.3應用層優化方法
應用層涉及SQL語句的編寫和應用程序的設計,其是否合理很大程度上會對數據查詢效率產生影響。針對應用層影響數據查詢效率的主要因素,可以采取以下優化方法:
(1)SQL語句寫法優化。SQL語句優化要注意的地方很多,總的原則是限制返回結果集,盡量避免全表掃描。返回結果集越大,邏輯讀數就越大,而且如果超出內存緩沖區的容量,還需要增加物理讀數,從而增加磁盤I/O操作。因此應該限制返回結果集的大小,包括行數和字段列數。全表掃描是指搜索表中的每一條記錄,直到所有符合給定條件的記錄返回為止,效率非常低下,因此應該盡量避免全表掃描。根據優化總原則, SQL語句優化方法總結如下:①避免使用 select * from table,應該用具體的字段代替“*”,不要返回任何用不到的字段;②盡量避免在where子句中使用!=、<>、not、in、or等運算符,因為這些操作可能會引起全表掃描;③盡量避免在 where 子句中對字段進行函數運算和表達式運算,這將導致數據庫放棄使用索引而進行全表掃描;④盡量避免使用子查詢,如不能避免時,應盡量減少子查詢的嵌套層次,并在子查詢中過濾掉盡可能多的行;⑤盡量避免使用外連接,因為外連接必須對左表或右表查詢所有行,應盡量使用內連接;⑥合理使用臨時表和表變量,當需要重復使用數據量較大的表中某個數據集時,應當考慮使用臨時表或表變量,這樣可以大大提高查詢效率[5]。表變量存儲在內存中,臨時表存儲在系統數據庫tempdb中。對于較小的數據集考慮使用表變量,對于大數據集,由于內存無法容納,使用表變量效率反而不高,應該使用臨時表。同時,應避免頻繁創建和刪除臨時表,以減少系統表資源的消耗。
(2)應用程序設計優化。應用程序設計有時也會影響數據查詢效率。在可能的情況下,應用程序應盡量采用分頁設計,這樣可以分批多次獲取數據集,提高單次查詢響應速度。同時,應用程序設計時還需考慮并發性,防止出現數據庫鎖死和查詢阻塞現象。此外,對于Web應用程序,還應考慮使用數據緩存和局部刷新技術,減少數據查詢次數和查詢數據量。
4結語
大數據時代,數據庫中的數據量持續增加。為了保證信息管理系統始終具有快速的響應速度和良好的用戶體驗,必須深入研究數據查詢優化技術。本文以學生成績管理系統為例,從物理層、數據庫層和應用層3個方面分析了影響數據查詢效率的主要因素,給出了相應的數據查詢優化方法。實際應用中,應從多個方面綜合采取合適的優化策略,才能有效提高數據查詢效率。
參考文獻參考文獻:
[1]劉輝蘭, 陳衛東.數據查詢優化技術的研究和探討[J].中國數字醫學, 2015 (7):7274.
[2]林勤花.關系數據庫查詢優化技術研究[J].電腦編程技巧與維護, 2014, 10(9):3031.
[3]樊新華.關系數據庫的查詢優化技術[J].計算機與數字工程, 2009, 37(12):188192.
[4]馮衛兵.關系數據庫的查詢優化[J].現代計算機, 2010 (1):3033.
學生成績管理系統范文5
論文關鍵詞:成績管理系統教務管理,ASP,課程報考,成績查詢
為了減少教務管理人員工作量、使學生成績管理工作更加精確、使學生成績檢索更加方便及時,我們開發了此系統。系統主要適用于中職學校、高等職業學校或普通高等學校階段學生成績管理。
本文介紹的實驗成績系統,是利用ASP和ADO技術開發的。目前,采用微軟件公司的ASP(ActiveServer pages)和ADO技術組合開發檢索和查詢分布式數據庫的信息是因特網上的數據庫應用主流。
1、開發技術的選擇
ASP是Active Server Pages的縮寫。能夠將代碼直接嵌入HTML,通過內置的組件實現強大功能。
ASP包含內置對象,最常用的是五大對象、一個集合和一個文件,即:Request、Response、Server、Session及Object-Context對象;一個是Cookies集合;一個Global.asa文件。ASP可以使用兩種腳本語言:VBScript和Jscript。本系統是基于VBScript語言。
2、學生成績管理系統設計
2.1系統內容規劃
我們對學生成績進行管理的做法是:首先向系統錄入原始的學生信息、教師信息、教學計劃所有課程信息,每學期考試前由教務人員或各班班主任對本班本學期考核課程進行報考。考試完畢后,教師根據學生平時表現錄入學生平時成績、教務管理人員根據學生試卷得分錄入每個學生相應課程的期末成績、各班班主任依據學生平時考勤情況錄入學生考勤成績(學生成績組成方法為:期末成績×60% + 平時成績×30% + 考勤×10%)。最后,各教師或教務人員可進入檢索頻道對學生成績按班級、按課程、按學生進行檢索,學生也可以進入查分入口對自己各科成績進行查詢。
系統主要分為系統初始化、成績管理、教務信箱、帳號管理四個模塊。
系統初始化中實現以下功能:學生信息錄入、查詢、維護;班級信息錄入、維護;教師信息錄入、查詢、維護;課程信息(教學計劃)錄入、查詢、維護;本學期考試課程報考。
成績管理中實現班主任錄入考勤成績、教師登入平時成績、教務人員錄入卷面考試成績、考試成績檢索等四種功能。
職教信箱設計教務公告、站內信息、討論區討論等三個功能。
帳號管理功能為班主任、任課教師分別管理各自用戶密碼,教務人員可管理所有教師及班主任用戶密碼和超級管理帳號密碼,并增加或刪除用戶。在此模塊下,用戶也可查看本系統幫助信息。
本系統的功能設計如圖1。
圖1
2.2數據庫設計
用戶登錄系統時需經過系統驗證用戶名密碼,用戶名和密碼資料存儲于數據庫表login中如表1所示;初始化系統時,學生信息儲存在表student中,如表2所示;班級信息表classs如表3所示。各項數據均通過數據庫中表儲存起來,其中學生成績儲存在成績表fen中,錄入或查詢學生成績即是操作該表中的數據。值得注意的是,在本系統中,表之間依賴學生編號、課程編號、教師編號等主鍵建立關聯。
3、學生成績管理系統的實現
學生成績管理系統的目的是實現成績管理的自動化成績查詢,主要實現的是成績錄入、查詢功能,教務信箱功能為擴展功能。
3.1學生管理模塊
學生信息是原始數據,在為每個學生建立成績檔案之前,必須首先建立學生信息檔案。同時,為了方便班主任查詢、修改、添加學生信息,本模塊集成了比較完善的學生信息管理功能,包含:1)按班級、班主任、學生狀態、性別、走讀或住讀、姓名、學號、身份證號等條件查詢檢索學生信息,檢索條件之間可以進行組合。2)以列表形式現實查詢結果,列表中間隔的行之間以不同底色以突出顯示,鼠標指向的行以高亮度背景顯示。每頁顯示記錄數可手動選擇每頁30條、50條或100條記錄。3)新學生入學,班主任需在系統中添加新學生信息模塊錄入學生詳細初始信息論文范文。
系統界面見下圖2
圖2
3.2課程報考模塊
課程報考是登分前的必要步驟,因為教學計劃中課程數量龐大,為了保證系統速度就不能每次遍歷教學計劃中的課程。每學期考試工作前,由教務管理人員將本學期的考試課程逐一報考,報考課程從教學計劃中提取,首先選擇專業或班級教學計劃下的課程名,然后從教師數據庫中提取責任教師ID,填寫報考人數和安排考試時間及考試形式(考試形式分為筆試、機試、隨堂考試三種類型)。報考完成后,可以以班級、任課教師、考試形式、課程編號、開課學期等為檢索條件對本學期考試課程進行檢索。
界面見下圖3
圖3
3.3成績錄入模塊
成績錄入是整個系統中比較關鍵的環節,由于考試課程編號與學生學號是多對多的關系(同一門課程有多個學生報考,同一個學生要報考多門課程),在加上系統設計的成績組成部分為:期末成績×60% + 平時成績×30% + 考勤×10%,使得成績錄入及匯總計算過程實現難度更大。在本系統,我們設計了如表7所示的成績數據庫,將平時成績、考勤成績、期末成績分別建立字段,并在錄入的同時由系統按照比例生成總成績寫入數據庫。
3.4成績檢索模塊
檢索成績的過程,就是系統數據輸出的過程。預計檢索成績的主體可能有班主任、教務管理人員、任課教師、學生等。由于學生不能登入此系統,我們設計學生檢索入口在系統外部即學校主頁上的檢索鏈接,學生由學生檢索入口進入,輸入個人班級、姓名,可以檢索到單個學生本學期考試課程的所有成績。其他檢索主體均可以登入此系統,于是系統分別設計了按班級查詢成績總表、查詢每個班級的所有考勤成績、查詢每個班級中每個課程的單項成績及匯總成績。
界面見下圖4
圖4
3.5站內信件模塊
站內信件是系統擴展功能,主要實現教務公告的、站內信件交流、站內話題討論等擴展功能。
3.6用戶管理模塊
教師、教務人員、班主任等身份進入系統的驗證,密碼管理、管理權限區分、新的管理用戶添加等功能在此模塊實現。
4、成績管理系統幾個關鍵技術實現
4.1班主任平時成績、教師考勤成績、期末考試成績錄入先后關系的處理
成績表(表7)中,平時成績由任課教師錄入、考勤成績由班主任錄入、期末成績由教務管理人員依據期末考試卷面成績錄入。登分主體不同和錄入時間的差異決定了不可能在同一時間生成一條成績記錄。成績表不設主鍵,很可能會造成登入平時成績、考勤成績、期末成績三種成績后在數據表末尾追加三條分別存儲這三種成績的記錄,最后無法匯總出總成績,自然也無法查詢學生真實的課程成績。這里需要解決錄入時間不一致的問題,將錄入平時成績用A表示、錄入考勤成績用B表示、錄入期末成績用C表示,可能出現的先后次序有:ABC,ACB,BCA.CBA,CAB,BAC,六種情況均需要考慮到。進而做到數據處理的一致性。
4.2檢索中班級成績總表二維關系表的動態生成
班級成績總表是一個二維表格,橫向顯示課程名成績查詢,縱向顯示學生學號和姓名、課程成績。檢索結果從成績表(表7)、學生信息表(表2)、班級信息表(表3)中得到。檢索過程是,依照檢索班級號從班級信息表中提取班級名稱、從學生信息表中循環顯示班級所有學生ID、在學生ID的每一條循環中用該行學生ID到成績表中檢索該學生所有課程的成績并對應顯示該成績。
在此涉及到一個考試科目橫向顯示和科目成績的對應問題,橫向顯示哪些科目是依據課程報考中的數據生成的,條件語句是where語句下的班級號等于請求的班級號。而科目成績與學生編號的對應又依據成績表(表7)中的對應學生號和科目編號下的成績值。當該門課程未報考時,成績表中無此課程列。當該門課程報考后未登分時,該門課程下的成績值顯示為0。
4.3班主任、教務管理人員、普通教師權限的區分
權限區分的功能對于保護特定用戶的權限是十分必要的,帳號類型分為教務管理人員、任課教師、班主任、超級管理員等四種,四種管理身份可以兼任。每種管理身份所能進行的操作各不一樣,比如各班班主任和教務人員可以為本班考試進行報考,而普通教師無法操作此功能。除教務人員外任何人均不能操作教學計劃,無超級權限的用戶不得錄入新課程、新教師、新帳號等。
權限區分的實現是在系統用戶表(表1)中用戶TYPE字段的值不同(超級管理員此值為3,教務管理人員為2,班主任為1,默認值和普通教師為0),在用戶甄別err.asp頁面寫入判斷語句,并將TYPE字段的值賦給session(“type”),利用include語句將err.asp引用到每個功能頁面,并在相應頁面對session(“type”)進行判斷,如課程報考功能中,若session(“type”)<>2and session(“type”)<>3 則彈出“您沒有權限操作”的對話框,并跳轉到主界面。
5、結束語
隨著WEB技術的前進,隨著學校教務管理對效率的不斷追求,成績管理系統乃至教務辦公系統有著廣泛的需求。利用ASP與access或ASP與SQL Server開發學校成績管理系統是許多中職學校或高等職業學校不錯的選擇。
參考文獻
[1]基于ASP技術的江西派送網的開發 《電腦學習》2009,(3) 胡歡, 洪小平
[2]基于ASP開發B/S模式的Web作業提交與批改系統 《電腦知識與技術》2009,5(3) 韋靈麗
[3]基于ASP模式的汽車產業供應商關系管理平臺《重慶大學學報(自然科學版)》 2007,30(6) 林濤, 易樹平,楊沅釗,陳興文
學生成績管理系統范文6
關鍵詞 VBA EXCEL 學生成績
中圖分類號:TP311.52 文獻標識碼:A
1 VBA簡介
VBA是Visual Basic For Application的簡稱, VB的子集,是Office應用程序內嵌的一種開發工具,使用VBA編程可以有效地自定義和擴展Excel等office應用程序的功能。
2 系統的設計思想
學生成績管理,是一項繁瑣且耗時的工作,大多數成績管理員統計成績時都是利用Excel公式進行重復地操作,工作效率不高。本系統主要是想通過VBA編程對Excel2007進行二次開發,采用VBA按鈕控件創建一個學生成績管理系統,以便成績管理員更有效地管理成績。
3 系統的分析與設計
3.1 系統分析
該系統的使用者是教務成績管理員,要求系統方便實用,能簡化某些重復的操作,對系統功能分析需求如下:
(1)能完成各班學生基本信息的錄入、刪除及修改,完成各科成績的登記;
(2)能方便有效地查詢成績;
(3)能自動進行成績的分析和統計;
(4)能生成各班級成績匯總表。
3.2 模塊設計
根據系統分析需求,設置“學生信息管理”、“學生成績登記”、“學生成績查詢”、“成績統計分析”、“打印成績單”和“退出系統”6個模塊。下面簡單介紹一下這6個模塊各自的功能設計:
(1)學生信息管理:運行系統進入主界面,單擊該模塊按鈕則激活一個“學生信息管理”的窗體,再通過“學生信息管理”窗體選擇相應班級及信息后,激活各個班級工作表。
(2)學生成績登記:完成學生各學科成績的登記、修改等功能。單擊該模塊按鈕時激活一個“學生成績登記”工作表,工作表中顯示有各班級按鈕,單擊相應按鈕便可在相應的班級成績信息表中直接錄入成績。(成績信息表顯示有“學生班級”、“學號”、“姓名”、“性別”和各學科名稱等)。
(3)學生成績查詢:根據設定的條件進行查詢,可以按班級名稱或學生姓名學號查詢個人成績,也可以按學期進行查詢各班級所有學生成績匯總等等。單擊該模塊時激活 “學生成績查詢”工作表,單擊工作表中不同的查詢條件按鈕則會彈出相應的查詢選擇窗體,根據窗體提示選擇好后,相關成績信息便能直接顯示在“學生成績查詢”工作表中。
(4)成績統計分析:根據錄入的成績,統計出各科目的平均分、及格率、最高分數、最低分數和各分數段的分布情況。
(5)打印成績單:生成班級成績單報表,并打印出來。
(6)退出系統:學生成績都保存在本系統工作簿的相關工作表中,當對學生成績進行了錄入、刪除和修改等操作時必須保存。因此,該模塊的功能則是單擊按鈕時,系統會先對工作簿進行保存,然后再退出系統。
表格是Excel的基礎,要完成各模塊的編輯與實施,需使用Excel2007創建相關工作表并將可共享使用的信息先錄入及編輯,將表格框架搭建好,再使用內嵌的VBA編輯宏,對表格進行處理。
3.3 主界面的設計
創建一個名為“學生成績管理系統”的工作簿,將第一個工作表設置為主界面,重命名為“封面”,利用插入藝術字和自選圖形等功能添加美化主界面的背景及按鈕模塊,再分別為各模塊按鈕指定相應的VBA宏代碼。主界面效果圖如下圖1:
封面是對整個系統的控制,在打開系統工作簿時,會自動激活“封面”工作表。所以必須將該工作表進行保護,同時將工作簿中除“封面”工作表外的所有工作表隱藏起來,以保護其中的數據。因此,需要為工作簿對象設置Open事件。
4 VBA程序編寫
由于代碼量較多,本文只對部分代碼進行摘錄。
4.1為工作簿對象設置Open事件的代碼
Private Sub Workbook_Open()
Dim i As Integer
Worksheets("封面").Activate,激活工作表"封面"
Worksheets("封面").Protect,保護工作表"封面"
For i = 1 To Worksheets.Count
If Worksheets(i).Name "封面" Then Worksheets(i).Visible = False '保護除工作表"封面"外的所有工作表
End If
Next i
End Sub
4.2為模塊按鈕指定宏的代碼
Sub 學生信息管理() '"學生信息管理"按鈕
學生管理窗口.Show
End Sub
Sub登記學生成績 ()'"學生成績登記"按鈕
學生成績登記工作表.Show
End Sub
Sub 查詢學生成績()'"學生成績查詢"按鈕
學生成績查詢工作表.Show
End Sub
Sub 成績統計分析() '"成績統計分析"按鈕
成績統計分析窗口.Show
End Sub
Sub 打印成績單()'"打印成績單"按鈕
打印成績單窗口.Show
End Sub
4.3成績統計分析模塊按鈕代碼
Sub LIK3()'成績統計分析按鍵,
On Error Resume Next
Sheets("成績統計分析").Visible = True
Sheets("成績統計分析").Select
'Sheets("成績統計分析").Cells.Clear
Sheets("成績統計分析").Cells(1, 1).Select
Kmpj_Form.Show
End Sub
4.4退出系統代碼
Sub File_Close() '退出系統'
Application.ScreenUpdating = True
ActiveWorkbook.Save
Application.Quit
End Sub
5 結語
本文分別從系統功能模塊的設計、主界面的設計和Excel VBA編程幾方面進行闡述,采用Excel2007+VBA編程開發一個學生成績管理系統的設計與實現。該系統用戶界面友好,實用性強,實現了教務部門的實際需求,簡化了成績管理員大部分重復的操作工作,使成績管理員既可根據平時使用Excel的習慣和方式操作,并充分發揮Excel的VBA編程功能,又能大大提高了工作效率。
參考文獻
[1] ExcelHome.Excel 2007 VBA實戰技巧精粹[M].人民郵電出版社,2013(12).