時間:2022-05-30 04:25:49
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內心深處的真相,好投稿為您帶來了一篇學生信息管理系統論文范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創作。
摘要:根據學生信息管理系統的設計要求,提出符合要求的設計方案。同時,針對不同的模塊,利用C語言進行程序的編寫與程序調試。最終,將所有的模塊進行整合,進行調試,設計出符合要求的學生信息管理系統。
關鍵詞:學生信息管理系統;C語言;結構體;函數定義;指針
一、引言
本篇文章是對針對學生信息管理系統的設計的有關內容而展開的C語言編程的論述。目的在于鍛煉C語言程序設計的熟練度和技巧性。毋庸置疑,程序語言的編寫已經成為一種必須具備的基本素質之一。在信息高速發達的今天,掌握一種甚至幾種程序語言的編寫對自身將來的發展是大有裨益的。
學生信息管理系統是一個比較龐大的系統,程序編寫起來是比較繁雜的。首先,需要在設計之前,做到整體了解,主要把握設計要求;其次,確定具體的設計方案,根據確定的方案,編寫代碼,完成局部功能;再次,模塊綜合,將設計的模塊綜合在一起,完成系統的設計;最后,調試,檢測,增強系統的魯棒性。
二、設計要求
不同的學生信息管理系統所囊括的學生信息是不盡相同的。因此,對學生信息的囊括程度決定了信息管理系統的繁雜程度。由于系統每個功能對應著相應的程序段,因此,對信息管理系統功能的深刻認識對于程序的編寫時尤為重要的。
該學生信息系統的設計要求如下:(1)能夠對學生的成績信息進行創建;(2)可以對該系統中學生信息進行瀏覽;(3)能夠根據不同的關鍵字對系統中的學生信息進行查詢;(4)必要時能夠將系統中的學生信息刪除;(5)在錄入學生信息錯誤時,可以對該學生信息進行修改;(6)試用文件夾來對數據進行保存
三、程序設計
(一)算法分析。在這里需要用到結構體和函數的有關知識。所謂結構體,即由一系列具有相同類型的數據構成的數據集合。除此,之外還要進行相關函數的定義。如主菜單void mainmenu();打印信息void print();等等系統中需要的功能。同時,還需要囊括C語言中基本的函數庫,如stdio.h、stdlib.h、malloc.h、string.h。
(二)各模塊程序設計。1.用戶選擇主菜單。對于用戶選擇界面的設計,針對“選擇”這一動作的設計是運用switch()語句來實現的,其中要實現對選擇項選擇完畢后的跳出,break語句起到重要的作用,針對每一個case語句后面跟上一個break語句,這樣就可以是用戶的可視界面發生跳轉了,從而實現設計的要求。2.學生成績信息的錄入。針對成績信息的錄入這個子系統,其設計的關鍵在于對存儲空間的申請和對輸入信息的獲取與保存,同時還要考慮,在某個時刻,錄入的新的學生成績信息。針對這些問題,可以運用malloc函數申請必要的存儲空間,同時利用函數scanf()來實現對成績信息的錄入;至于程序的保存可以用到數據結構中鏈表的有關知識,將每次錄入的學生信息插入到鏈表中,實現數據的保存;與此同時,需要設計一個有關成績信息插入的新的程序塊,運用指針的知識,比較新錄入學生的序號,完成學號大的學生先羅列的功能;最后,為了使用戶更好的了解自己所輸入的信息,可以設計一個printf()語句來實現所輸入信息的輸出。3.學生成績信息的瀏覽。對學生信息的瀏覽,無疑就是對整個輸入信息的一個輸出。其中,最關鍵的問題就是如何實現兩個學生信息之間的連接。不能用無窮多個printf()個函數,換言之,也不會知道用戶一共會輸入多少個學生信息。為了更好的解決問題,可以選用指針的有關知識,通過if語句的判斷來實現所有學生信息的輸出;同時,運用p=p->next;語句來實現兩個學生信息的連接。4.學生成績信息的查詢。該子程序塊至少需要兩組程序,一組程序實現關鍵字的選擇,另一組則是實現針對該關鍵字的處理過程的程序編寫。其中第一組程序的編寫與主菜單程序的編寫是基本相同的在此不再贅述;至于第二組程序是由多組程序組成的。其必須包含多個子程序塊,但是對每個子程序塊的編寫思想是完全相同的。5.學生成績信息的刪除。要想實現學生成績信息的刪除要解決兩方面的問題,一方面是如何找到滿足條件的學生;二是如何實現學生信息的刪除;由于涉及到對象屬性的問題,那么指針的設計的思想成為了程序設計的關鍵。同時結合比較函數strcmp(),就可以找到要刪除的對象。對于第二個問題的解決就更加的容易了,只要對該學生信息存儲的空間進行釋放,就可以完成對該學生信息的刪除。6.學生成績信息的修改。要實現對學生信息的修改同樣的要解決兩方面的問題,一是如何找到要修改的對象;二是如何進行修改。顯然,經過對上面程序的編寫,第一個問題的解決方案與對學生信息進行刪除程序塊的設計思想是完全相同的。至于對學生信息的修改,要由學生信息的選擇窗口,實現對修改信息的選擇;同時運用scanf()函數錄入新的信息,并將其覆蓋到原存儲空間。7.信息的讀入與保存。對于文件的寫入與寫出是一些通用的方法,沒有什么特殊的技巧。其中對文件的讀取,將用到fopen()函數對文件打開,同時運用fscanf()函數實現對文件信息的讀取,最后,用fclose()函數關閉文件;同樣的思路可以用在對文件的寫入上,只是對文件的寫入要用到fprintf()函數,其余思想基本相同。
四、調試結果
將編寫好的各模塊進行綜合,進行程序編寫,最終,進行調試。下面將幾個重要的調試結果說明如下。
主菜單信息查詢菜單信息修改菜單
通過,上面對程序的編寫調試。最終設計出基本滿足要求的學生信息管理系統。
摘要:論述了基于Web架構,采用ASP技術設計與開發學生信息管理系統的實現方案。提出了用戶管理、學生信息管理、成績管理的設計方法,并對系統的運行環境進行了IIS安全管理設置,對儲存到數據庫中的用戶信息進行加密,采用ADO技術訪問OLE DB直接連接的數據庫,使數據訪問過程簡單,訪問效率高,從而使整個信息管理系統始終能夠高效、穩定的運行和應對比較大的訪問流量。
關鍵詞:B/S架構;學生信息管理;數據庫
1 引言
如何提高學生信息管理的水平,建立適合自己院校的學生信息管理系統,已成為學校信息化建設過程中墮特解決的重要問題。從實用性和經濟性考慮,構建基于Web技術的網絡管理平臺是當前大多數院校教學管理的一個重要任務和發展方向[1-4]。運用Web技術,建設學校學生信息管理平臺,旨在探索一種以互聯網為基礎的教學管理模式。通過這種新的管理模式,為學院營造一種新的教學管理環境,使管理突破時空限制,提高工作效率和管理水平,使學校管理者、教師和學生可以在任何時候、任何地點通過網絡進行學習與交流。
2 學生信息管理系統設計
本系統開發的基本要求與功能是實現學生信息數據包括與學生有關的數據的管理與操作處理,基于Microsoft SQL Server 2000數據庫系統的數據管理使該軟件有更優異的性能。系統的基本數據流動為用戶數據的輸入、學生檔案信息、課程信息、班級信息、學生成績信息的輸入,以及用戶提出的對學生信息的查詢和其它要求所產生的數據輸出。數據的輸入與輸出處理流程都依靠數據庫的支持。圖1是系統的程序功能圖。
整個系統只要一個管理員登錄入口,所以只要在數據庫里建一個管理員表即可,根據不同的管理權限進入不同的后臺管理系統對其中的數據進行操作。表1~表4是本系統涉及到數據表。
3 數據庫的完整性和安全性
本系統中定義了表與表之間的聯系有助于實現完整性規則,一般在程序中實現具體的完整性控制。
3.1 使用數據庫完整性約束
為了防止終端用戶輸入錯誤的數據,以保證所有數據庫中的數據是合法的、完整的。在設計數據庫表時采用數據庫完整性約束,它是數據庫完整性的一種機制,這種約束是一系列預先定義好的數據完整性規則和業務規則,這些數據規則存放于數據庫中,具體來說,數據庫的完整性約束有以下幾種:非空約束(NOTN ULL):缺省值約束(DEFAULT VALUE):唯一性約束(UNIQUE);主鍵約束(PRIMARYKEY):外部鍵約束(FOREIGN KEY);規則約束(CHECK)。由于這種約束是加在數據庫的表的定義上的,它與應用程序中維護數據庫的完整性不同,它不用額外地書寫代碼,所以代價小而且性能高。
在多用戶的Internet/Intranet里,在對多表進行插入、刪除、更新等操作時,可能會出現多客戶同時操作數據庫時帶來的“死鎖”和破壞數據一致性的問題。為此在設計時采用調用存儲過程的方法來解決上述問題。存儲過程是由流程控制和SQL語句書寫的過程,它是一組經編譯和優化后存儲在數據庫服務器的SQL語句,使用時用戶只要調用即可。這種己經編譯好的過程可以極大地改善SQL的性能,而且執行速度快,可以大大減少網絡通信流量,提高應用系統的性能。由于它是模塊化程序,可減少操作出錯,從而有效地保證數據的一致性和完整性。
WHTH RECOMPILE執行計劃不保存的高速緩存中,每次執行過程需要重新編譯ENCRYPTION加密syscomments表的內容,syscomments表中包含CREATE ROCedure的文本,保證無論何時都不刪除syscomments表FOR REPLICATION過程在前臺執行,不在服務器上執行。
本系統包括數據庫的安全和服務器的安全。采用管理員表示和鑒定的方法實現數據庫的安全,此安全管理措施并不在前臺開發工具中實現,而是在后臺數據庫中實現。在登錄數據庫時,系統讓管理員戶表示自己的身份,不同的管理員權限不同,系統進行核實,鑒別此管理員是否為合法用戶,若是,系統進一步核實用戶,通常要求用戶輸入口令,系統和對用戶口令以鑒別用戶身份。服務器的安全也是通過用戶在登錄服務器時輸入合法的用戶名和密碼來實現的。這是一種簡單可行的方法,實現起來比較方便。沒有采用更加復雜的系統安全管理措施是因為本管理系統一般是應用在校園網中,采用安全管理措施主要是為了防止沒有修改權限的用戶無意間修改了數據,因此采用用戶標識和鑒定的安全管理措施就能夠保障數據庫的安全性。
4 學生信息管理系統的程序實現
系統開發與運行環境確定如下:
體系結構:Brower/Server結構,編程語言:ASP,網絡操作系統Windows2000 server、Windows2003 server,數據庫操作系統:Microsoft SQL2000,客戶端:Windows98/Windows2000/windowsXP。
4.1 成績管理模塊實現
學生成績查詢模塊提供了兩種查詢方式:按考試查詢和按科目查詢。按考試查詢可以在選定考試后,查詢某一科或幾科的成績、目標分、是否達標、合格人數、優秀人數、合格率、優秀率等信息。此種方式便于班主任掌握相應考試的考試情況。按科目查詢可以在選定科目后,查詢某一次或幾次考試的成績、目標分、是否達標、優秀人數、合格率、優秀率等信息。此種方式便于任科老師掌握學生的學習情況。學生成績修改/刪除模塊:管理員首先選擇查詢條件,篩選出符合條件的記錄,再進行選擇是修改/刪除一條記錄還是多條記錄,并在刪除前提示確認信息,以防操作失誤造成的數據丟失。計算總分與排名模塊:非常實用的一個模塊。當各位科任老師將各科成績錄入后,班主任輕點幾下鼠標,即可計算出總分、平均分、班級排名與全級排名。學生成績錄入頁面如圖2所示。
4.2 信息管理模塊實現
本模塊主要實現對學生信息的錄入、查詢、修改、刪除、打印和班級的設置,下面是這一功能的實現,如圖3。
4.3 用戶管理模塊實現
用戶管理(如圖4所示)主要是對系統的管理員級別的用戶(包括系統管理員、區域管理員和學校管理員)進行管理。
本模塊在進行保存用戶名和密碼時對用戶密碼進行MD5加密。MD5的全稱是Message-Digest Algorithm 5,在90年代初由MIT的計算機科學實驗室和RSA Data Security Inc發明,經MD2, MD3和MD4發展而來。Message-Digest泛指字節串(Message)的Hash變換,就是把一個任意長度的字節串變換成一定長的大整數。請注意我使用了字節串而不是字符串這個詞,是因為這種變換只與字節的值有關,與字符集或編碼方式無關。MD5將任意長度的字節串變換成一個128bit的大整數,并且它是一個不可逆的字符串變換算法,換句話說就是,即使你看到源程序和算法描述,也無法將一個MD5的值變換回原始的字符串,從數學原理上說,是因為原始的字符串有無窮多個,這有點象不存在反函數的數學函數。MD5的典型應用是對一段Message(字節串)產生fingerprint(指紋),以防止被,篡改。舉個例子,你將一段話寫在一個叫readme.txt文件中,并對這個readme.txt產生一個MD5的值并記錄在案,然后你可以傳播這個文件給別人,別人如果修改了文件中的任何內容,你對這個文件重新計算MD5時就會發現。如果再有一個第三方的認證機構,用MD5還可以防止文件作者的,抵賴,這就是所謂的數字簽名應用。MD5還廣泛用于加密和解密技術上,在很多操作系統中,用戶的密碼是以MD5值(或類似的其它算法)的方式保存的,用戶Login的時候,系統是把用戶輸入的密碼計算成MD5值,然后再去和系統中保存的MD5值進行比較,而系統并不知道用戶的密碼是什么。
當用戶注冊成功,正式建立一個賬號的時候,數據庫中就必須為這個用戶增加一條記錄。以下的程序代碼實現了建立一個賬號的功能,在頁面中,程序要求用戶輸入賬號、密碼等信息,然后,將這些信息作為賬號信息存入名為UserCount的數據表,在這個表中,用戶密碼是使用MD5加密保存的。
5 結論
本文的基于Web服務的學生信息管理系統具有如下特點:
采用Browser/Server三層體系結構,使系統具有很好的可維護性和重用性。在本系統的開發過程中采用的是ASP+IIS+SQL Server模式,此模式將明顯的把顯示和邏輯分離,使代碼容易管理,適合于大型項目的開發。中間層使用數據庫連接池技術加快與數據庫服務器之間的數據處理速度,也加快對客戶端響應速度。后臺數據庫采用的SQL,它功能比較強大,除了可以處理包含在各種平臺上運行的數據庫管理系統內核之外,還包括了數據復制、數據庫系統管理、Internet網關支持、在線分析處理、多媒體支持和各種并行處理能力。
摘要:UML統一建模語言,是軟件分析設計中的標準語言,可用于軟件分析、設計和實現的全過程。該文試圖通過學生信息管理系統開發實例的設計,經過用例建模、靜態建模、動態建模、代碼設計、界面設計等步驟,介紹如何應用UML的方法設計和開發一個軟件模型,從而提升軟件設計人員和客戶之間交流水平,加快軟件開發進程,提高軟件開發質量。
關鍵詞:UML;學生信息管理系統;用例建模;靜態建模;動態建模
1 引言
隨著社會經濟的發展和人民生活水平的提高,信息產業的相關技術得到了突飛猛進的提升。而計算機軟件作為信息產業技術的一個重要方面,也應不斷更新,從而符合產業發展的需求。這就要求軟件設計人員在軟件開發過程中能夠更加人性化、友好化,從而提高軟件設計人員和客戶之間交流水平,加快軟件開發進程,提高軟件開發質量。
1.1 UML的簡介
Unified Model Language(簡稱UML),是一種面向對象的可視化的標準建模語言。運用UML中的圖形符號可以表示系統中的對象及其之間的關系,從不同的角度描述待開發的系統,并進行相應的語法檢查和一致性檢查,保證系統模型的完整性。同時,在軟件系統的分析和設計中,UML的合理運用能對項目開發、團隊的合作以及與用戶的交流起到重要的作用。首先,UML用圖形表示完整的系統,在實際應用時要反復審查和修改。雖然在分析和設計時會耗費一定的時間,但會提高編碼的準確性和效率,從而有利于項目的整體開發。其次,目前,諸如像Rational Rose這樣的建模工具,可以將UML模型直接轉換為高級語言代碼,從而節約了軟件開發的時間、減少了軟件代碼的錯誤率。最后,UML作為面向對象的分析和設計技術具有與人的思維方式一致、穩定性好、可重用性好、可維護性好等優點,能大大提高系統開發的效率和質量。
1.2 UML產生背景
早期的面向對象的建模語言具有如下不足之處:
首先,面對眾多的建模語言,用戶由于沒有能力區別不同語言之間的差別,因此很難找到一種比較適合其應用特點的語言;其次,眾多的建模語言實際上各有千秋;第三,雖然不同的建模語言大多類同,但仍存在某些細微的差別,極大地妨礙了用戶之間的交流。因此在客觀上,極有必要在精心比較不同的建模語言優缺點及總結面向對象技術應用實踐的基礎上,組織聯合設計小組,根據應用需求,取其精華,去其糟粕,求同存異,從而觸發了UML(統一建模語言)的產生。
1.3 UML的建模機制
UML是一種面向對象的可視化的標準建模語言,以圖形符號表示系統中的對象及其之間的關系,從不同的角度描述待開發的系統。UML提供了5類、9種模型圖:第一類,用例圖:從用戶角度描述系統功能,指出各功能操作者,為需求分析提供標準化手段;第二類,靜態圖:描述系統靜態結構,類或對角的屬性、操作和相互的關系,是建立動態模型的基礎,主要有類圖、對象圖、包圖;第三類,行為圖:描述系統動態模型和組成對象間交互關系,有狀態圖、活動圖;第四類,交互圖:描述對象間交互關系,有順序圖、合作圖;第五類,實現圖:包括構件圖和配置圖。
UML的建模過程主要有以下幾個步驟:
1) 建立需求模型。即從功能需求出發建立用例模型;
2) 建立對象模型,包括靜態模型和動態模型。靜態模型使用類圖、對象圖、包圖描述系統的對象和對象之間的靜態關系,得到系統的對象和對象之間的靜態關系,得到系統的整體結構。動態模型使用狀態圖、活動圖、順序圖、合作圖等描述系統的對象和對象之間的動態關系,得到系統的運行機制。
3) 建立系統實現模型,使用配置圖定義系統的軟硬件結構及通訊機制,表示軟硬件系統之間的合作關系;使用構件圖描述系統由哪些構件組成;
4) 檢查模型之間的一致性,通常這個過程需要反復多次才能完整地描述系統;
5) 在構件圖的基礎上生成開發語言的代碼框架。
1.4 UML的應用領域
UML的目標是以面向對象圖的方式來描述任何類型的系統,具有很寬的應用領域。
1) 建立軟件系統的模型,但它同樣可以用于描述非軟件領域的系統,如機械系統、企業機構或業務過程,以及處理復雜數據的信息系統、具有實時要求的工業系統或工業過程等。總之,UML是一個通用的標準建模語言,可以對任何具有靜態結構和動態行為的系統進行建模。
2) UML適用于系統開發過程中從需求規格描述到系統完成后測試的不同階段。
① 在需求分析階段,可以用用例來捕獲用戶需求。通過用例建模,描述對系統感興趣的外部角色及其對系統(用例)的功能要求。
② 分析階段主要關心問題域中的主要概念(如抽象、類和對象等)和機制,需要識別這些類以及它們相互間的關系,并用UML類圖來描述。為實現用例,類之間需要協作,這可以用UML動態模型來描述。
③ 在分析階段,只對問題域的對象(現實世界的概念)建模,而不考慮定義軟件系統中技術細節的類(如處理用戶接口、數據庫、通訊和并行性等問題的類)。這些技術細節將在設計階段引入,因此設計階段為構造階段提供更詳細的規格說明。
④ 編程(構造)是一個獨立的階段,其任務是用面向對象編程語言將來自設計階段的類轉換成實際的代碼。在用UML建立分析和設計模型時,應盡量避免考慮把模型轉換成某種特定的編程語言。因為在早期階段,模型僅僅是理解和分析系統結構的工具,過早考慮編碼問題十分不利于建立簡單正確的模型。
⑤ UML模型還可作為測試階段的依據。系統通常需要經過單元測試、集成測試、系統測試和驗收測試。不同的測試小組使用不同的UML圖作為測試依據:單元測試使用類圖和類規格說明;集成測試使用部件圖和合作圖;系統測試使用用例圖來驗證系統的行為;驗收測試由用戶進行,以驗證系統測試的結果是否滿足在分析階段確定的需求。
總之,標準建模語言UML適用于以面向對象技術來描述任何類型的系統,而且適用于系統開發的不同階段,從需求規格描述直至系統完成后的測試和維護。
1.5 常用的UML建模工具
自從1997年正式UML以后,大量商用UML建模CASE工具不斷涌現。CASE 是英文 Computer Aided Software Engineering的縮寫,主要是指利用一整套的方法和工具對系統規則進行建模,并自動生成合適的程序。目前常用的CASE工具主要有:Sparx Systems的Enterprise Architect(EA)和IBM Rational的Rational Rose。大體上,EA和Rose在UML建模能力上有相似的功能,但Rose比EA支持更多的語言,如C#、VB等。基于軟件的實用性考慮,本文在系統設計過程中將選用Rational Rose 軟件。
2 系統分析
2.1 系統功能簡述
系科綜合管理系統是為了適應現代化學校管理的需要,加快推進我校數字化校園建設、充分利用校園網,利用網絡、多媒體等計算機應用技術和手段,提高辦公效率、改善質量的高效管理信息系統。
學生信息管理系統是系科綜合管理信息系統的重要組成部分。主要用于對學生的基本信息如入學登記、課程、班級、交費等問題進行管理。此系統用戶主要涉及主管學生部門、主管教務部門以上層領導。對于主管學生部門的工作人員來講,需要掌握每個學生的基本情況,新生入學時需要做好學生的入學登記、了解學生的學費交繳情況并登記學生的班級信息,即要掌握學生及班級的所有信息。對于主管教務的工作人員來講,需要掌握所有專業的公共基礎課程、學生的專業課程,并做好學生的所有課程的成績登記。
2.2 學生信息管理系統的結構
需求分析是定義系統功能及用戶界面,使用戶知道系統功能,開發人員知道系統的需求。它的主要工作是尋找系統的用例,建立系統需求模型,主要成果是用例圖和系統的參與者。下面首先分析一個系統的主要功能。
1) 管理員通過系統管理界面進入,建立學生基本檔案、學生交費檔案、學生選課檔案等,并將所有信息保存在數據庫中,同時管理員還能夠對以上信息進行添加、刪除等基本操作。
2) 學生可以通過使用該系統查詢課程、修改用戶密碼等。
2.2.1 學生信息管理系統的總體結構
為了直觀描述學生信息管理系統的各項功能,我們用圖1來大體講述一下該系統的總體架構。
2.2.2 學生信息管理系統各模塊的功能描述
在上圖學生信息管理系統總體架構的基礎上,為使學生信息管理系統的各模塊更為清晰,我們接下來分別描述了學生信息管理系統的各模塊功能。
1) 系統管理模塊
系統管理模塊用于對系統的用戶的基本信息進行管理,如設定系統使用權限、進行新用戶注冊、修改用戶密碼等。它是其它所有模塊運行與否的前提條件。
2) 班級管理模塊
班級管理模塊主要用于對班級的基本信息(名稱、教室、班主任等)進行管理,包括添加班級信息、刪除班級信息、修改班級信息、查詢班級信息等。
3) 檔案管理模塊
檔案管理模塊主要用于對學生的檔案信息即入學檔案(姓名、班級、專業、家庭住址、班主任等)進行管理,包括添加學生入學登記信息、刪除學生入學登記信息、修改學生信息、查詢學生信息等。
4) 學生交費管理模塊
學生交費管理模塊是用于對學生所在班級的基本學費、學生應繳學費、學生已繳學費等基本信息進行管理,包括瀏覽和查詢學生以及班級交費信息、添加學生交費信息等。
5) 課程管理模塊
課程管理模塊主要用于對學生所在班級的公共課程、學生的自選課程等進行管理,包括添加班級基本課程信息、添加學生選修課程信息、刪除班級基本課程信息、刪除學生選修課程信息等。
6) 成績管理模塊
成績管理模塊主要用于對學生所在班級的公共課程、學生的自選課程等科目成績進行管理,包括添加學生成績信息、刪除學生成績信息、查詢學生成績信息、瀏覽學生成績信息等。
2.3 學生信息管理系統的基于UML的詳細設計
下面利用Rational Rose工具,通過對學生信息管理系統的動態模型、靜態模型(包括類圖、序列圖、協作圖)的分析來進行學生信息管理系統的UML建模。
2.3.1 學生信息管理系統的用例建模
學生信息管理系統的用例主要包括對學生基本信息、班級基本信息、學生交費信息、課程信息、成績信息進行操作的功能。其基本行為者為:管理員、教師、學生,如下圖所示。對學生信息管理系統的主體類圖進行解釋如下:在系統中管理員可以對課程信息、班級信息、學生檔案信息、成績信息、交費信息等進行管理;學生可查詢相關基本信息如:個人檔案、成績等;教師可以對所教課程的基本信息進行查詢。
1 ) 學生信息管理系統的主體用例圖(如圖2)
問題描述:管理員(Administrator)可以對課程、學生成績、學生檔案信息、學生交費信息以及系統進行管理。而一般用戶(User)包括教師、學生、課程管理員、學生成績管理員、學生檔案信息管理員、學生交費信息管理員等六個部分,其他類是User類的泛化,繼承了一般用戶類(User)。
2) 班級管理模塊的用例圖(如圖3)
問題描述:班級管理員能夠瀏覽班級信息、查詢班級信息、更新班級信息、打印班級信息。班級管理員對班級信息的更新包括添加、刪除、修改。
2.3.2 學生信息管理系統的序列圖
序列圖用于描述按時間順序排列的對象之間的交互模式,它按照參與交互的對象所具有的基本屬性和它們相互發送的消息來顯示這些對象。當收到消息時,接收對象立即開始執行活動,即對象被激活了。通過在對象生命線上顯示一個細長矩形框來表示激活。消息可以用消息名及參數來標識。消息也可帶有順序號。在時序圖的左邊可以有說明信息,用于說明消息發送的時刻、描述動作的執行情況以及約束信息等。下面是對學生信息管理系統的序列圖的描述。
1) 添加用戶序列圖(如圖4)
問題描述:管理員登錄系統主窗體;單擊“系統管理”菜單及“添加用戶”選項;加載“添加用戶”主窗體;輸入用戶基本信息;交信息提交到數據庫;更新數據庫。
2) 檔案添加序列圖(如圖5)
問題描述:用戶登錄系統主窗體;單擊“檔案管理”菜單及“添加檔案”選項;加載“添加檔案”主窗體;輸入學生基本信息;將信息提交到數據庫;更新數據庫;返回窗體。
2.3.3 學生信息管理系統的協作圖
協作圖用于描述相互合作的對象間的交互關系和鏈接關系。雖然時序圖和協作圖都用來描述對象間的交互關系,但側重點不一樣。時序圖著重體現交互的時間順序,協作圖則著重體現交互對象間的靜態鏈接關系。協作圖中對象的外觀與時序圖中的一樣。對象間的鏈接關系類似于類圖中的聯系。通過在對象間的連接上標志帶有消息串的消息來表達對象間的消息傳遞。Rose工具具有能夠直接將設計好的序列圖轉化為協作圖的功能,其具體實施步驟為:雙擊待轉化的序列圖,利用菜單欄中的Browse菜單,接下來選擇Create Collaboration Diagram選項。轉化部分結果如下:
1) 用戶登錄協作圖 (如圖6)。
2) 添加用戶協作圖(如圖7)。
2.3.4 學生信息管理系統的類的關聯圖
類圖描述類和類之間的靜態關系,在系統的整個生命周期都是有效的。與數據模型不同,它不僅顯示了信息的結構,同時還描述了系統的行為。類圖是定義其它圖的基礎。在類圖的基礎上,狀態圖、協作圖等進一步描述了系統其他方面的特性。通過分析類與類之間的關系,我們知道在上述設計的學生管理系統的功能描述中涉及到管理員類(Administrator)、學生類(Student)和教師類(Teacher),由于上述三個類具有相近的屬性,因此建立一個基本類(User),包括Name、Password、Sex、Department、Username五個屬性,管理員類、學生類、教師類是基本類的泛化,繼承了基本類。除此之外還應設計一些控制對象,例如登錄(FrmLogin)、添加用戶(FrmAddUser)等。具體關聯如圖8。
3 結束語
結合學生信息管理系統的功能,通過Rational Rose 軟件的使用,從用例圖、序列圖、協作圖和關聯圖的抽象描述構建出滿足軟件功能要求的軟件模型,從而提升了軟件設計人員和客戶之間交流水平,加快了軟件開發進程,提高了軟件開發質量。
摘要:管理信息系統是一個不斷發展的新型學科,任何一個單位要生存要發展,要高效率地把內部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統。 該系統是在 JAVA環境下采用“自上而下地總體規劃,自下而上地應用開發”策略開發出的學生信息管理系統。通過分析學校學生管理的不足,創建了一套行之有效的學生信息管理方案。學生信息管理系統的系統分析部分,包括可行性分析、業務流程分析等;系統設計部分主要介紹了系統功能設計和數據庫設計及代碼設計;系統實現部分說明了幾個主要模塊的算法。本系統界面友好,操作簡單、實用。
關鍵詞:管理信息系統;整體架構;數據庫;學生管理;JAVA應用
本系統是用JAVA語言開發的一個學生信息管理系統,為學校學生信息的管理工作效率帶來了一個質的飛躍。系統主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、規范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統。
本系統主要包括學生信息查詢、教務信息維護和學生選課三部分。其功能主要有:1)有關學籍等信息的輸入,包括輸入學生基本信息、所在班級、所學課程和成績等;2)學生信息的查詢,包括查詢學生基本信息、所在班級、已學課程和成績等;3)學生信息的修改;4)班級管理信息的輸入,包括輸入班級設置、年級信息等;5)班級管理信息的查詢;6)班級管理信息的修改;7)學生課程的設置和修改。
1 相關技術
系統采用B/S架構實現。在B/S體系結構系統中,用戶通過瀏覽器向分布在網絡上的許多服務器發出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。
1.1 系統整體架構
系統整體結構上分為:數據層、應用層、展示層。
數據層 主要由像Oracle或SQL Server等大型數據庫作為底層支撐完成數據的存儲和訪問,數據層是系統建設的關鍵部分。
應用層 提供完整的系統功能實現,是系統建設的核心部分。應用層將學生基本信息管理、教師信息管理、課程信息管理等的邏輯實現。系統采用JAVA語言編寫應用層,完全可以滿足快速高效的處理需求。
展示層 用于提供用戶操作界面,要求界面布局合理、分格清晰明朗、操作方便快捷。
1.2 系統采用的技術
JAVA語言是目前企業級應用中使用頻率最高的開發語言,JAVA語言有安全、簡單、“一次編譯、導出運行”等特點,在保證系統功能完善、性能穩定、安全可靠的前提下維護簡單,而且遷移方便。JAVA語言具有簡單、面向對象、體系結構中立、小巧健全、快速等優勢。
本系統所有動態實現全部采用JAVA技術,方便后續系統的升級擴展、服務遷移等工作。
1.3 采用MS-SQLSERVER2000數據庫
考慮到系統長期使用數據量的增加,以及系統升級的需要,擬采用MS-SQLSERVER2000數據庫作為數據層支持。MS-SQLSERVER2000是目前企業級應用最為普遍的數據存儲系統,相比其它大型數據(如Oracle)有性能穩定、管理簡單、環境要求低等特點。
1.4 采用JSP進行前臺展示
JSP事實上也是JAVA語言,但JSP是將JAVA語法和HTML等前臺頁面語法結合,以達到動態展示數據的功能。JSP有編寫簡單、調試方便,而且,JSP借助強大的JAVA語言,具有很高的處理效率。
1.5 采用Tomcat中間件提供Web服務
Tomcat是目前免費Web服務器中使用最多的一種,有體積小、安裝容易、配置簡單、便于管理等特點,使用Tomcat完全能夠滿足不同的應用系統服務。
2 系統功能實現方案
2.1 系統總體設計思想
本系統在設計時遵守“操作簡單、結構清晰”原則,以解決實際問題為目標,避免繁雜多余的代碼。
數據庫設計簡單明了,充分使用了“主鍵”、“外鍵”功能,既避免字段重復出現,又保證了數據一致性。
系統中的各項數據關系,都可以通過設置完成,盡量避免在系統中使用“固定值”來表達數據間關系,方便系統以后升級。數據庫連接同樣采用配置文件的方式,方便遷移部署。
2.2 系統操作流程
管理員設置系統用戶;管理員設置本校教師信息;管理員設置本校班級信息,并為班級指定班主任(教師);管理員設置本校所有課程信息;教師添加本班級學生;教師添加本班級學生所要學習的課程;教師添加本班級學生的學習成績;學生成績查詢。
2.3 系統用戶及權限設計
用戶信息管理維護是本系統的基礎工作,依據系統設計思想并結合實際情況,本系統的用戶分為三種:管理員、教師、學生,各自權限描述如下:
1)系統管理員:系統管理員登錄后,可以對系統用戶以及本校教師、班級進行管理。管理員只能進行系統基礎信息維護,不能進行學生成績信息的添加、查詢。
教師信息由管理員維護,如果教師離職或因其他原因不在職時,需要對該教師信息進行禁用。
班級信息也由管理員維護,班級信息中通常需要指定班主任,班主任信息來自用戶信息中級別為“教師”的用戶。
課程信息也由管理員維護。
2)學校教師:教師登錄后,可以對本人負責班級進行課程設置和班級學生成績維護、成績查詢。教師無權查詢非本人負責班級學生的成績。
3)學生:學生登錄后只能查詢本人各課程的成績,無權修改。
2.4 系統各功能模塊的實現
1)用戶管理:用戶信息包括了用戶名稱、密碼、用戶真實姓名、用戶級別等。為了便于操作及管理,將所有用戶的信息存入一個數據庫表,表結構詳見附錄:數據庫表結構中的“用戶表”。
用戶信息中“管理員”和“教師”信息由管理員維護,“學生”信息由各班主任維護。每個用戶只能屬于一個級別,對于“學生”用戶需要指定班級信息。管理員可以對“學生”基本信息進行修改,但不能將“學生”用戶設置成其他級別的用戶。
系統在初始狀態下只有一個“管理員”用戶,用戶名:admin,密碼:1234。
系統用戶狀態分為正常和禁用兩種,只有處于“正常”狀態的用戶才能正常使用本系統。考慮到數據完整性要求,為了保存歷史數據,對于一些需要停止而又不能刪除的用戶,可以進行“禁用”處理,不做物理刪除。對于確實需要刪除的用戶,系統也提供了物理刪除的功能。在刪除用戶前必須先刪除與用戶相關的其他信息,如刪除學生時必須首先刪除該學生的成績。
2)課程管理:對課程信息的操作包括以下部分:
課程信息維護 課程的添加、修改等維護工作由管理員完成,管理員有權設置課程當前是否有效。只有設置成“正常”的課程才能被各班級采用并且錄入學生成績。課程表結構詳見附錄:數據庫表結構中“課程表”。管理員負責學校所有課程的維護,不負責各班級選修哪些課程。
班級課程設置 各班級的課程設置需要由各班級班主任完成。課程設置時,系統會自動列出當前所有有效的課程供選擇。教師有權設置自己負責的班級的教學課程。教師取消某一課程不會影響到已經錄入的該課程的學生成績,被取消后的課程在下一次成績錄入時將不會被顯示。教師應按實際情況進行課程設置。各班級對應的課程信息存入“班級課程表”中,通過“班級id”和“課程id”關聯,表結構詳見附錄:數據庫表結構中“班級課程表”。
3)班級信息:對班級的操作包括以下部分:
班級信息管理 班級信息的維護由管理員完成。設置班級信息時可以設置班主任也可以不設置,班主任信息來自用戶中級別為“教師”的用戶。管理員有權設置班級是否“畢業”。設置為“畢業”后的班級將不能進行“課程”、“學生成績”的錄入維護,只能查看成績。班級表結構詳見附錄:數據庫結構中“班級表”信息。
4)學生成績:對學生成績的操作包括以下部分:
學生成績錄入 各班主任負責本班學生成績的錄入。系統保留每名同學每個課程的最新成績,即:如果需要修改成績,則只需要重新錄入該學生對應課程成績即可。成績錄入時,系統只會列出當前學生所屬班級所選的所有有效課程,成績只能填數字。學生成績數據存入“學生成績”表,通過“用戶(學生)id”和“課程id”關聯,表結構信息詳見附錄:數據庫表結構中“學生成績表”。
學生成績查詢 教師登陸后查詢本人負責班級所有學生的成績。學生登陸后只能查詢本人的成績。
5)其他:用戶登陸時,首先判斷輸入的用戶名、密碼是否正確,如果正確,系統會根據用戶級別的不同顯示不同的功能;否則,系統自動返回到登陸界面。
用戶退出時,系統會有一個提示確認過程,以避免誤點。確定退出后系統返回登陸界面。
3 結束語
本管理系統功能全面、易于日后程序更新。具有數據庫管理容易、界面友好、操作方便、效率高、安全性好等優點,是一套在學校日常管理中必不可少的管理軟件。
[摘 要] 因為高校學生信息自身所存在的諸多特點,導致建設高校學生信息管理系統的過程中的難度明顯上升,所以當前的系統建設過程中,出現了諸多的問題,例如對于信息系統的設計定位依然是基于傳統的職能部門方面。針對所出現的這些問題,應當構建高校學生信息管理系統平臺,并且確保面向的用戶是高校學生,以求高度集成高校的學生信息,并且實現學生信息的共享,從而確保高校學生信息管理系統能夠更加適應多種環境,并且可以基于學生信息提供各項服務。
[關鍵詞] 高校;學生信息管理系統;問題;現狀;發展措施
1 高校學生信息管理系統建設的過程中所存在的諸多問題
1.1 信息系統的設計依然是根據傳統職能部門進行定位
當前高校學生信息管理系統的設計依然是基本按照傳統的職能部門進行定位,其管理模式是多頭管理,導致學生信息的存儲很是分散,每個部門在進行信息的錄入的時候,互相之間缺乏溝通,使得高校學生信息管理系統數據出現頻繁的重復存儲。同個學生,其信息數據存在偏差以及所謂的“信息孤島”的情況出現。就目前狀況而言,學生的課程信息以及學生成績信息和學籍變動方面的信息都是由教務處負責匯總錄入和管理的;而且圖書館、就業處等職能部門也能夠和有義務收集學生的信息。所以綜合這些可以看出,盡管各個部門互相收集的學生信息都是各自需要的,并且主要熱荻疾幌嗤,但是從計算機的角度來看,這種行為必定會導致大量的學生信息出現重復,而且還會導致學生信息數據存在大量偏差。
1.2 高校學生信息管理系統所存儲的學生信息不夠完善和全面
一般而言,高校學生在入學前,其所在的高中學籍檔案是高校的學生信息最為開始的來源,但是這些信息的載體往往都是紙質版的。而當學生參加高考時候,會采集部分電子信息,這些電子信息才是構成學生電子檔案的基礎信息,其存在內容極少的情況,對于學生的實際基本情況,電子檔案是無法完全和細致反映出來的。很多高校對于入學后的學生采集的信息只包括基本的學習信息、課程成績信息、獎懲信息第一季學歷信息等,而諸如班級的日常管理信息、勤工儉學信息等各種輔助類的信息,都是不會錄入高校學生信息管理系統中去的。并且很多高校中,都是分部門對學生信息進行存儲的,在學生的信息平臺中是無法看到這些信息的的,導致信息的使用者無法對學生的全部情況詳細完整的了解。
1.3 缺乏促進高校學生信息管理系統建設的統一
因為缺乏的標準,導致各所高校學生信息管理系統互相之間存在較大的差異性。第一是對學生信息的收集內容以及范圍不盡相同,例如部分高校所采集的學生信息只是學籍信息,但是部分高校所采集的學生信息則是較為全面,而且即便是所采集信息的類型相同,其在數據的結構上也是存在差異的;第二是構建高校學生信息管理系統所需要的軟硬件要求不一,例如不同的高校所使用的數據庫以及硬件參數各不相同。
1.4 沒有強有力的支撐促進高校學生信息管理系統的建設
1.4.1 沒有精神支撐力促進高校學生信息管理系統的建設
因為很多高校從上到下對于學生信息的管理重視程度不足,導致無法從精神層面強力支持信息系統的建設,所以很多情況下,各個部門在進行學生信息的錄入時候都不夠認真徹底,甚至學生在對自己的信息進行填寫的時候也較為隨意,這些都是未來進行高校學生信息管理系統建設所面臨的問題。
1.4.2 沒有資金支撐促進高校學生信息管理系統的建設
開展高校學生信息管理系統的建設,是必須要依賴大量硬件設施,如果在資金上存在問題,那么就無法購買先進的硬件設備,而且也無法選擇可以適合本高校發展的信息系統軟件,無法開展日常的信息系統管理工作,最終使得高校學生信息管理系統建設形同虛設。即便是前期投入大量的資金完成了高校學生信息管理系統的骨架建設,但是如果后期沒有資金繼續投入,信息系統無法正常運行,自然也就無法達到設計的目標。目前,很多高校都把教室、宿舍以及校園環境的建設作為工作重點,在高校學生信息管理系統上的資金投入則較為不舍,從而漸漸造成較大影響。
1.4.3 沒有人才支撐促進高校學生信息管理系統的建設
高校學生信息管理系統的建設成功與否直接受到工作人員自身計算機水平、素質水平以及工作態度等因素的影響,如果只是單純的繼續使用原來負責錄入學籍、管理檔案的人員進行學生信息的錄入,進行高校學生信息管理系統的操作和維護,而不請專業的管理人員參與管理,則信息系統勢必會處于半癱瘓甚至癱瘓的狀態,高校學生信息管理系統完全無法發揮出應有的作用。
1.4.4 沒有技術支撐促進高校學生信息管理系統的建設
當前高校學生信息管理系統還處于初期階段,很多都是使用計算機簡單替代手工錄入學生信息而已,數據庫的構建也是基于較為簡單的VF和Access技術,如果只是拿來簡單辦公,這些技術可以滿足要求,但是這些技術遠不能滿足復制的信息系統運行。
當前很多高校進行學生信息的存儲依然是用Excel,即便是部分高校使用SQL Server技術的大型數據庫進行學生信息的存儲,也經常會面臨信息超載的情況。
2 構建面向用戶的高校學生信息管理系統平臺
高校學生信息管理系統平臺匯總,主要有學生和高校的各個職能部門兩類用戶,可以把高校各個職能部門以及學生看作是信息的輸入端,同時也可以被定義為信息的輸出端,換而言之,學生和高校的各個職能部門可以使信息提供者也可以是使用者。
在信息系統的輸入端,由學生登錄到信息系統的界面,然后輸入各種基本的學生信息,這些信息屬性基本都是被固定化的,學生只需要根據實際情況選擇對應的內容即可。課程管理模塊由教育處登錄系統平臺管理,對于學生成績的錄入,按照學生的學號進行。教程模塊、救助模塊以及勤工助學模塊等都由學生處登錄系統平臺管理,其對于獎懲情況、勤工助學情況以及救助情況的錄入都需要按照學號進行學生的查詢確定。就業模塊由學生和就業處分別登錄進行錄入和管理。進行學生的基本信息以及派遣信息的輸入。系統平臺匯總的日常管理模塊以及班級管理模塊則是由學院負責登錄管理,進行學生在大學四年學習以及學院的生活中基本表現情況的錄入。系統平臺的輔助信息模塊則是由圖書館、校醫院以及公寓管理中心進行登錄和信息的錄入管理。
高校學生信息管理系統的處理系統和數據存儲部分使用的技術是數據倉庫技術,數據倉庫實質上是數據集合,其特點是面向主體、集成、相對穩定并且能夠對歷史變化進行反應,在管理決策的支持上效果顯著。通過對數據倉庫的選擇應用,能夠確保分析和查詢更加的高效和便捷。此外還能夠幫助信息使用者對信息進行查詢,并且在此基礎上做出決策,以及開展數據挖掘技術。
在信息系統的輸出端,構建人機系統界面,確保友好易懂,高校的各職能部門以及學生都能夠訪問系統平臺中的查詢與打印模塊,可以按照不同的學生信息,進行各種學生相關信息的查詢,并且能夠與打印機關聯,按照需求進行打印。
基本的系統一般的組成結構是輸入、處理、輸出以及外部環境等,在高校學生信息管理系統平臺中,內部支撐就是外部環境,其支撐力主要包括如下幾種:第一是來自高校領導和教師對于信息建設重要性的認識,提高其精神層面支持;第二是保障信息系統的建設及維護所需要的各項資金,提高其資金層面支持;第三是主動開展信息系統相關人才的培養,提供人才層面支持;第四是應用先進的數據倉庫以及信息技術,提高其技術層面支持;通過構建統一健全的規章管理制度,提高制度層面的支持;借助科學的方式收集整理數據信息,提高其管理方法層面支持。
3 結 語
高校學生信息管理系統作為一項工程,存在復雜的特點,而且其中存在的諸多問題,需要廣大教育工作者通過持續的實踐慢慢進行解決,除了單純的提升技術之外,更多的是對管理理念進行轉變,實現各個部門之間的溝通配合,才能夠確保高校學生信息管理系統切實有效地發揮作用,更好的促進高校的發展。