吳香艷
(江蘇聯(lián)合職業(yè)技術(shù)學(xué)院徐州經(jīng)貿(mào)分院,江蘇 徐州 221004)
在科學(xué)技術(shù)日益發(fā)展的今天,各種信息化技術(shù)已經(jīng)廣泛應(yīng)用于人類社會(huì)的各個(gè)領(lǐng)域,引領(lǐng)了生產(chǎn)生活方式新變革,成為產(chǎn)業(yè)轉(zhuǎn)型升級(jí)的重要助推器[1]。近年來,學(xué)校招生規(guī)模擴(kuò)大,學(xué)生數(shù)量增多,與學(xué)生相關(guān)的各種信息數(shù)量急劇增加。面對(duì)龐大的數(shù)據(jù)信息,使用計(jì)算機(jī)信息管理系統(tǒng)對(duì)學(xué)生信息管理是有必要的?,F(xiàn)有的學(xué)生信息管理系統(tǒng)是基于學(xué)校層面的,不具備班級(jí)層面的管理功能,無法將學(xué)生的綜合表現(xiàn)細(xì)化出來。因此開發(fā)一個(gè)基于班級(jí)的學(xué)生信息管理系統(tǒng)是有必要的。該系統(tǒng)可以將班級(jí)的各項(xiàng)事務(wù)細(xì)化,實(shí)現(xiàn)層層管理。學(xué)生可以在系統(tǒng)中自主查詢、修改相關(guān)信息;教師(管理員)可以在系統(tǒng)中查詢、修改班級(jí)相關(guān)信息,記錄學(xué)生相關(guān)信息,實(shí)現(xiàn)班級(jí)管理信息化,便于班主任管理班級(jí),提升了班級(jí)管理效率。
本項(xiàng)目基于Microsoft Visual Studio 2010開發(fā)環(huán)境,該軟件集成了.NET程序的便捷功能,可編程性強(qiáng)。它可以利用使用者所用的語言(如C、C++、C#等)進(jìn)行編程,也可以和.NET平臺(tái)協(xié)同開發(fā)程序,具有強(qiáng)大的功能和優(yōu)勢:該軟件內(nèi)部提供了諸多實(shí)用的功能,如代碼片段、代碼復(fù)用等,能幫助程序員快速開發(fā)應(yīng)用程序;通過圖形化模型的設(shè)計(jì),集成多種組建和控件,便于普通開發(fā)者簡單快速完成項(xiàng)目開發(fā);集成了多種調(diào)試工具,方便程序員快速完成代碼調(diào)試;具有豐富的擴(kuò)展機(jī)制,用戶可以根據(jù)自己的需要在此開發(fā)軟件上拓展更多功能。
.NET是一個(gè)微軟的技術(shù)平臺(tái),致力于敏捷、快速開發(fā)和跨平臺(tái),可以用于軟件開發(fā)和網(wǎng)站開發(fā)。.NET Framework 4.0組件包含了.NET平臺(tái)的基礎(chǔ)類庫及運(yùn)行環(huán)境,開發(fā)人員在編寫程序時(shí)可以直接調(diào)用微軟封裝好的類。C#是.NET平臺(tái)中使用最為廣泛的一種開發(fā)語言?;贑IL規(guī)范,用C#編寫的程序或是類庫在VB、F#或是任何一種基于.NET及CIL規(guī)范的編程語言中都可以調(diào)用、繼承。開發(fā)環(huán)境、開發(fā)平臺(tái)和開發(fā)語言,三者之間相輔相成,完成應(yīng)用程序的編寫[2]。
本系統(tǒng)是基于C#語言和.NET平臺(tái)設(shè)計(jì)的班級(jí)學(xué)生信息管理系統(tǒng),主要包含班級(jí)信息管理和學(xué)生信息管理兩大模塊。班級(jí)管理模塊主要包括班級(jí)任課教師信息、課程表查詢、班級(jí)值日表信息、班級(jí)公告欄、班級(jí)財(cái)務(wù)收支公示等相關(guān)內(nèi)容,管理員可以對(duì)這些內(nèi)容進(jìn)行查詢、修改。學(xué)生信息管理模塊主要包括學(xué)生基本信息錄入及修改、學(xué)生成績查詢、學(xué)生平時(shí)表現(xiàn)量化、學(xué)生成長記錄、學(xué)生請假信息等。由系統(tǒng)管理員進(jìn)行信息錄入,學(xué)生可以查看個(gè)人相關(guān)信息[3]。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
由于班級(jí)學(xué)生信息管理系統(tǒng)涉及多個(gè)模塊信息。Microsoft SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)軟件具有高性能、可擴(kuò)展性、豐富的數(shù)據(jù)分析和可視化工具、完善的安全機(jī)制、易用性和可維護(hù)性等優(yōu)點(diǎn)。在SQL Server 2008中創(chuàng)建表之前需要?jiǎng)?chuàng)建數(shù)據(jù)庫。在新建好的數(shù)據(jù)庫中添加表,輸入CREATE TABLE命令,設(shè)置表的列及屬性,添加約束條件,限制列的取值范圍,保證數(shù)據(jù)的完整性和一致性,保存表,然后向表中插入數(shù)據(jù)。系統(tǒng)涉及的主要數(shù)據(jù)庫表如表1所示。連接數(shù)據(jù)庫字段存放在conn類中,通過修改變量sql可直接修改所要連接的數(shù)據(jù)庫,代碼如下:
表1 系統(tǒng)數(shù)據(jù)庫表
public static string sql="Data Source=.;Integrated Security=SSPI;
Initial Catalog=management";
3.2.1 系統(tǒng)登錄模塊
系統(tǒng)登錄模塊可以實(shí)現(xiàn)打開登錄界面、注冊界面、退出系統(tǒng)功能。通過連接數(shù)據(jù)使用“select count(*) from register where name=@name and pwd=@pwd”查詢是否存在TextBox1和TextBox2輸入的用戶名密碼,存在即判斷驗(yàn)證碼以及身份,不存在MessageBox彈出:“請重新輸入賬號(hào)或密碼”。
驗(yàn)證碼:調(diào)用系統(tǒng)Random類隨機(jī)生成一個(gè)數(shù)字調(diào)用存放密文的數(shù)組,取出該字符放到字符串變量中,循環(huán)4次。
身份選擇:"select count(*) from register where name='"++ textBox2.Text++ "' and sf="++ qx++ ""RadioButton選擇的值放到整型變量qx中查詢textBox2輸入的用戶名的權(quán)限是否和選擇的一致,一致查詢?yōu)?,不一致為0,并彈出“身份關(guān)聯(lián)與賬號(hào)注冊時(shí)不符”的信息。
3.2.2 用戶注冊模塊
用戶注冊模塊實(shí)現(xiàn)用戶注冊功能,通過數(shù)據(jù)庫判斷用戶名在.register表中是否存在,判斷該用戶是否注冊,判斷密碼和確認(rèn)密碼是否一致。當(dāng)輸入的密碼一致時(shí),通過正則表達(dá)式“if (Regex.IsMatch(textBox2.Text, @"^(?=.*[A-Z])(?=.*d)(?=.*[a-z]).{8,16}$"))”判斷是否包含大寫字符、小寫字符、數(shù)字;若缺少上述條件則彈出“輸入的密碼不符合要求”。如果注冊身份為教師,則彈出提示信息“您注冊的是管理員身份,請輸入系統(tǒng)密碼!”該界面有個(gè)標(biāo)簽會(huì)統(tǒng)計(jì)輸入錯(cuò)誤密碼的次數(shù)。
3.2.3 系統(tǒng)主界面模塊
用戶通過打開登錄界面可以查看其中的內(nèi)容,然后根據(jù)界面中顯示的用戶名以及密碼文本框填寫自己的個(gè)人賬號(hào)信息,系統(tǒng)會(huì)結(jié)合相關(guān)的數(shù)據(jù)核驗(yàn)用戶的身份,在確定身份之后跳轉(zhuǎn)到對(duì)應(yīng)的功能界面。教師(管理員)進(jìn)入的時(shí)候顯示的是完整窗體 ,教師可以通過信息管理控件進(jìn)入其他子窗體,有權(quán)限進(jìn)行相關(guān)信息操作。學(xué)生進(jìn)入的時(shí)候隱藏部分控件(信息管理),以下為判斷身份以后的隱藏控件代碼:
SqlConnection mydb=new SqlConnection(conn.sql);//從conn類獲取連接數(shù)據(jù)庫的字符串并連接數(shù)據(jù)庫
try
{
mydb.Open();
string cm="select sf from register where name='"+ClassName.Name+"'";//數(shù)據(jù)庫當(dāng)前登錄賬戶的身份的查詢語句
SqlCommand cmd=new SqlCommand(cm, mydb);//執(zhí)行該查詢語句
int i=(int)cmd.ExecuteScalar();//返回查詢結(jié)果給變量i
if (i== 0)
{/*使用各個(gè)控件Visible屬性隱藏控件*/
設(shè)置公告 ToolStripMenuItem.Visible=false;
賬戶管理 ToolStripMenuItem.Visible=false;
信息管理 CToolStripMenuItem.Visible=false;
任課老師查詢 ToolStripMenuItem.Visible=false;
toolStripSeparator1.Visible=false;
學(xué)生學(xué)生課堂表現(xiàn)ToolStripMenuItem.Visible=false;
}
}
為了使軟件窗體簡潔,將注冊界面設(shè)置為MDI父窗體(IsMdiContainer=true),將所有其打開的窗體設(shè)置為MDI子窗體(xx.MdiParent=this;//this指針指當(dāng)前的窗體)。
3.2.4 學(xué)生信息管理模塊
學(xué)生信息管理模塊實(shí)現(xiàn)學(xué)生基本信息管理功能,有2種進(jìn)入方式。如果是從查詢鍵進(jìn)入隱藏panel2控件,顯示panel1;如果是從信息管理進(jìn)入則隱藏panel1,顯示panel2。點(diǎn)擊查詢控件進(jìn)入查詢窗體則隱藏部分控件顯示,可以根據(jù)設(shè)定條件查詢學(xué)生相關(guān)信息。以教師身份登錄,經(jīng)過信息匹配后進(jìn)入主界面,點(diǎn)擊信息管理控件,可以查詢、編輯、增加、刪除學(xué)生基本信息,擁有修改權(quán)限。學(xué)生賬號(hào)可以查看自己基本信息、課程表、宿舍、成績、平時(shí)表現(xiàn)等內(nèi)容,無修改權(quán)限[4]。
為了保證系統(tǒng)功能滿足既定要求,必須進(jìn)行系統(tǒng)測試。通常采用白盒測試法和黑盒測試法,本系統(tǒng)以黑盒測試法為主,重點(diǎn)針對(duì)功能需求進(jìn)行測試。這種測試是在系統(tǒng)功能開發(fā)完畢后進(jìn)行的。測試要求在對(duì)班級(jí)學(xué)生信息管理系統(tǒng)進(jìn)行需求分析的前提下,對(duì)該系統(tǒng)的功能進(jìn)行測試,以確保該軟件的功能完備。通過對(duì)系統(tǒng)測試能夠找出系統(tǒng)研究存在的多種問題和缺陷,對(duì)這些問題和缺陷進(jìn)行改進(jìn),能夠提升系統(tǒng)功能的完善性以及性能水平。經(jīng)過實(shí)驗(yàn)數(shù)據(jù)測試,該系統(tǒng)基本實(shí)現(xiàn)了班級(jí)學(xué)生信息化管理,各個(gè)窗體之間能有效調(diào)用,可以對(duì)相關(guān)信息進(jìn)行查詢、修改。目前的測試結(jié)果沒有出現(xiàn)異常,可以應(yīng)用到班級(jí)學(xué)生信息管理。
本文結(jié)合班級(jí)實(shí)際情況,基于C#語言和.NET開發(fā)平臺(tái)設(shè)計(jì)了以班級(jí)為單位的學(xué)生信息管理系統(tǒng)。該系統(tǒng)可以將班級(jí)層面的事務(wù)細(xì)化管理,能記錄學(xué)生的基本信息和日常表現(xiàn),存儲(chǔ)學(xué)生在校成長記錄,提升了班級(jí)管理效率。最主要的是該系統(tǒng)實(shí)現(xiàn)了對(duì)班級(jí)學(xué)生量化管理(評(píng)優(yōu)評(píng)先參考依據(jù))。促使學(xué)生不僅要學(xué)習(xí)課堂知識(shí),還需積極參與各項(xiàng)活動(dòng)和班級(jí)管理,實(shí)現(xiàn)德智體美勞全面發(fā)展。經(jīng)測試,該系統(tǒng)運(yùn)行情況穩(wěn)定,不足的是功能相對(duì)較少,界面設(shè)計(jì)單調(diào)。以后在應(yīng)用過程中還需要根據(jù)實(shí)際情況增添一些功能,使系統(tǒng)的功能更齊全,界面更美化。