吳香艷
(江蘇聯合職業技術學院徐州經貿分院,江蘇 徐州 221004)
在科學技術日益發展的今天,各種信息化技術已經廣泛應用于人類社會的各個領域,引領了生產生活方式新變革,成為產業轉型升級的重要助推器[1]。近年來,學校招生規模擴大,學生數量增多,與學生相關的各種信息數量急劇增加。面對龐大的數據信息,使用計算機信息管理系統對學生信息管理是有必要的。現有的學生信息管理系統是基于學校層面的,不具備班級層面的管理功能,無法將學生的綜合表現細化出來。因此開發一個基于班級的學生信息管理系統是有必要的。該系統可以將班級的各項事務細化,實現層層管理。學生可以在系統中自主查詢、修改相關信息;教師(管理員)可以在系統中查詢、修改班級相關信息,記錄學生相關信息,實現班級管理信息化,便于班主任管理班級,提升了班級管理效率。
本項目基于Microsoft Visual Studio 2010開發環境,該軟件集成了.NET程序的便捷功能,可編程性強。它可以利用使用者所用的語言(如C、C++、C#等)進行編程,也可以和.NET平臺協同開發程序,具有強大的功能和優勢:該軟件內部提供了諸多實用的功能,如代碼片段、代碼復用等,能幫助程序員快速開發應用程序;通過圖形化模型的設計,集成多種組建和控件,便于普通開發者簡單快速完成項目開發;集成了多種調試工具,方便程序員快速完成代碼調試;具有豐富的擴展機制,用戶可以根據自己的需要在此開發軟件上拓展更多功能。
.NET是一個微軟的技術平臺,致力于敏捷、快速開發和跨平臺,可以用于軟件開發和網站開發。.NET Framework 4.0組件包含了.NET平臺的基礎類庫及運行環境,開發人員在編寫程序時可以直接調用微軟封裝好的類。C#是.NET平臺中使用最為廣泛的一種開發語言。基于CIL規范,用C#編寫的程序或是類庫在VB、F#或是任何一種基于.NET及CIL規范的編程語言中都可以調用、繼承。開發環境、開發平臺和開發語言,三者之間相輔相成,完成應用程序的編寫[2]。
本系統是基于C#語言和.NET平臺設計的班級學生信息管理系統,主要包含班級信息管理和學生信息管理兩大模塊。班級管理模塊主要包括班級任課教師信息、課程表查詢、班級值日表信息、班級公告欄、班級財務收支公示等相關內容,管理員可以對這些內容進行查詢、修改。學生信息管理模塊主要包括學生基本信息錄入及修改、學生成績查詢、學生平時表現量化、學生成長記錄、學生請假信息等。由系統管理員進行信息錄入,學生可以查看個人相關信息[3]。系統結構如圖1所示。

圖1 系統結構
由于班級學生信息管理系統涉及多個模塊信息。Microsoft SQL Server 2008數據庫管理系統軟件具有高性能、可擴展性、豐富的數據分析和可視化工具、完善的安全機制、易用性和可維護性等優點。在SQL Server 2008中創建表之前需要創建數據庫。在新建好的數據庫中添加表,輸入CREATE TABLE命令,設置表的列及屬性,添加約束條件,限制列的取值范圍,保證數據的完整性和一致性,保存表,然后向表中插入數據。系統涉及的主要數據庫表如表1所示。連接數據庫字段存放在conn類中,通過修改變量sql可直接修改所要連接的數據庫,代碼如下:

表1 系統數據庫表
public static string sql="Data Source=.;Integrated Security=SSPI;
Initial Catalog=management";
3.2.1 系統登錄模塊
系統登錄模塊可以實現打開登錄界面、注冊界面、退出系統功能。通過連接數據使用“select count(*) from register where name=@name and pwd=@pwd”查詢是否存在TextBox1和TextBox2輸入的用戶名密碼,存在即判斷驗證碼以及身份,不存在MessageBox彈出:“請重新輸入賬號或密碼”。
驗證碼:調用系統Random類隨機生成一個數字調用存放密文的數組,取出該字符放到字符串變量中,循環4次。
身份選擇:"select count(*) from register where name='"++ textBox2.Text++ "' and sf="++ qx++ ""RadioButton選擇的值放到整型變量qx中查詢textBox2輸入的用戶名的權限是否和選擇的一致,一致查詢為1,不一致為0,并彈出“身份關聯與賬號注冊時不符”的信息。
3.2.2 用戶注冊模塊
用戶注冊模塊實現用戶注冊功能,通過數據庫判斷用戶名在.register表中是否存在,判斷該用戶是否注冊,判斷密碼和確認密碼是否一致。當輸入的密碼一致時,通過正則表達式“if (Regex.IsMatch(textBox2.Text, @"^(?=.*[A-Z])(?=.*d)(?=.*[a-z]).{8,16}$"))”判斷是否包含大寫字符、小寫字符、數字;若缺少上述條件則彈出“輸入的密碼不符合要求”。如果注冊身份為教師,則彈出提示信息“您注冊的是管理員身份,請輸入系統密碼!”該界面有個標簽會統計輸入錯誤密碼的次數。
3.2.3 系統主界面模塊
用戶通過打開登錄界面可以查看其中的內容,然后根據界面中顯示的用戶名以及密碼文本框填寫自己的個人賬號信息,系統會結合相關的數據核驗用戶的身份,在確定身份之后跳轉到對應的功能界面。教師(管理員)進入的時候顯示的是完整窗體 ,教師可以通過信息管理控件進入其他子窗體,有權限進行相關信息操作。學生進入的時候隱藏部分控件(信息管理),以下為判斷身份以后的隱藏控件代碼:
SqlConnection mydb=new SqlConnection(conn.sql);//從conn類獲取連接數據庫的字符串并連接數據庫
try
{
mydb.Open();
string cm="select sf from register where name='"+ClassName.Name+"'";//數據庫當前登錄賬戶的身份的查詢語句
SqlCommand cmd=new SqlCommand(cm, mydb);//執行該查詢語句
int i=(int)cmd.ExecuteScalar();//返回查詢結果給變量i
if (i== 0)
{/*使用各個控件Visible屬性隱藏控件*/
設置公告 ToolStripMenuItem.Visible=false;
賬戶管理 ToolStripMenuItem.Visible=false;
信息管理 CToolStripMenuItem.Visible=false;
任課老師查詢 ToolStripMenuItem.Visible=false;
toolStripSeparator1.Visible=false;
學生學生課堂表現ToolStripMenuItem.Visible=false;
}
}
為了使軟件窗體簡潔,將注冊界面設置為MDI父窗體(IsMdiContainer=true),將所有其打開的窗體設置為MDI子窗體(xx.MdiParent=this;//this指針指當前的窗體)。
3.2.4 學生信息管理模塊
學生信息管理模塊實現學生基本信息管理功能,有2種進入方式。如果是從查詢鍵進入隱藏panel2控件,顯示panel1;如果是從信息管理進入則隱藏panel1,顯示panel2。點擊查詢控件進入查詢窗體則隱藏部分控件顯示,可以根據設定條件查詢學生相關信息。以教師身份登錄,經過信息匹配后進入主界面,點擊信息管理控件,可以查詢、編輯、增加、刪除學生基本信息,擁有修改權限。學生賬號可以查看自己基本信息、課程表、宿舍、成績、平時表現等內容,無修改權限[4]。
為了保證系統功能滿足既定要求,必須進行系統測試。通常采用白盒測試法和黑盒測試法,本系統以黑盒測試法為主,重點針對功能需求進行測試。這種測試是在系統功能開發完畢后進行的。測試要求在對班級學生信息管理系統進行需求分析的前提下,對該系統的功能進行測試,以確保該軟件的功能完備。通過對系統測試能夠找出系統研究存在的多種問題和缺陷,對這些問題和缺陷進行改進,能夠提升系統功能的完善性以及性能水平。經過實驗數據測試,該系統基本實現了班級學生信息化管理,各個窗體之間能有效調用,可以對相關信息進行查詢、修改。目前的測試結果沒有出現異常,可以應用到班級學生信息管理。
本文結合班級實際情況,基于C#語言和.NET開發平臺設計了以班級為單位的學生信息管理系統。該系統可以將班級層面的事務細化管理,能記錄學生的基本信息和日常表現,存儲學生在校成長記錄,提升了班級管理效率。最主要的是該系統實現了對班級學生量化管理(評優評先參考依據)。促使學生不僅要學習課堂知識,還需積極參與各項活動和班級管理,實現德智體美勞全面發展。經測試,該系統運行情況穩定,不足的是功能相對較少,界面設計單調。以后在應用過程中還需要根據實際情況增添一些功能,使系統的功能更齊全,界面更美化。