|
一、概述 1、目的與要求 隨著科技的發(fā)展,基本上所有的具有一定數(shù)量數(shù)據(jù)的機(jī)構(gòu)都開始使用計(jì)算機(jī)數(shù)據(jù)庫來做管理。幾乎所有學(xué)校也都已經(jīng)在使用計(jì)算機(jī)管理數(shù)據(jù)的機(jī)制,大大減少了學(xué)校學(xué)生成績管理的工作量。該課程設(shè)計(jì)要求設(shè)計(jì)一個(gè)學(xué)生成績的數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫中要求包含學(xué)生的基本信息,學(xué)科基本信息,以及學(xué)生所學(xué)課程的考試成績。要方便學(xué)生進(jìn)行成績查詢,通過該課程設(shè)計(jì),應(yīng)該達(dá)到把數(shù)據(jù)庫理論知識更加的鞏固加深,加強(qiáng)動手能力與實(shí)踐能力,學(xué)以致用,與現(xiàn)實(shí)生活中的應(yīng)用充分的結(jié)合起來。  2、系統(tǒng)總體功能描述 ● 完成學(xué)生、班級、課程、教師、選課表的維護(hù) ● 完成成績表的維護(hù)、瀏覽查找 ● 按班級、按課程計(jì)算平均成績、最高成績、最低成績、及格率 ● 按不同的條件統(tǒng)計(jì)學(xué)生課程的平均成績 ● 完成權(quán)限控制功能 ● 完成數(shù)據(jù)備份與恢復(fù)功能 其中,基礎(chǔ)數(shù)據(jù)包括學(xué)生、班級、課程、教師的錄入、修改、刪除、查詢、打??;成績管理包括選課、成績信息的錄入、刪除、修改、查詢、打印以及相關(guān)統(tǒng)計(jì)查詢等;用戶管理包括用戶、用戶組、權(quán)限的錄入、修改、刪除、查詢、打印以及權(quán)限分配、用戶登錄等功能;數(shù)據(jù)備份與恢復(fù)包括數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)功能,要求可以備份數(shù)據(jù)到指定的文件夾、文件和從指定的文件夾、文件恢復(fù)數(shù)據(jù)到數(shù)據(jù)庫。 3、設(shè)計(jì)環(huán)境 ① Microsoft SQL Server 2005 Server 是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個(gè)OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL Server在Unix 操作系統(tǒng)上的應(yīng)用。Microsoft SQL Server 2005 是一個(gè)全面的數(shù)據(jù)庫平臺,使用集成的商商業(yè)智能 (BI)工具提供了企業(yè)級的數(shù)據(jù)管理。Microsoft SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。 ② Microsoft Visual Studio 2005 Studio 是微軟公司推出的開發(fā)環(huán)境,Visual Studio 可以用來創(chuàng)建 Windows 平臺下的 Windows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office 插件。Visual Studio是目前最流行的 Windows平臺應(yīng)用程序開發(fā)環(huán)境。 二、需求分析 1、概括描述 通過對學(xué)校日常教學(xué)管理中的課程、選課、學(xué)生、班級、教師、成績等相關(guān)內(nèi)容進(jìn)行分析,完成具有教師管理、學(xué)生管理、成績管理、課程管理、選課管理、班級管理等相關(guān)功能的小型數(shù)據(jù)庫管理應(yīng)用系統(tǒng)。 2、數(shù)據(jù)流程圖 3、數(shù)據(jù)字典 數(shù)據(jù)項(xiàng)是數(shù)據(jù)庫的關(guān)系中不可再分的數(shù)據(jù)單位,下表分別列出了數(shù)據(jù)的名稱、數(shù)據(jù)類型、長度、取值能否為空。利用SQL Server 2005建立“XSGL”數(shù)據(jù)庫,其基本表清單及表結(jié)構(gòu)描述如下: 數(shù)據(jù)庫中用到的表: 2、TeacherLoad、ManageLoad基本情況數(shù)據(jù)表,結(jié)構(gòu)如下: 三、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì) 1、局部E-R圖 (2)教師信息 (3) 班級信息E-R圖 (4) 課程信息E-R圖 (5)選課信息E-R圖 (6)用戶登錄E-R圖 2、基本E-R圖 4、關(guān)系模式 Student表: 3、存儲過程 (1)創(chuàng)建學(xué)號的存儲過程 (2)創(chuàng)建課程號的存儲過程 (3)創(chuàng)建班級號存儲過程 6、視圖 (1)創(chuàng)建及格人數(shù)、考試人數(shù)、及格率視圖 (2)班級平均成績視圖 四、各模塊功能實(shí)現(xiàn) 1、歡迎界面,點(diǎn)擊登錄會進(jìn)入登錄界面 1、用戶登錄模塊 (1)用戶驗(yàn)證分為學(xué)生、教師和管理員三種類型,如果密碼或賬號不正確就無法登錄。 3、學(xué)生登錄界面模塊 (1)該實(shí)現(xiàn)的是學(xué)生成績查詢和密碼修改 (2)學(xué)生成績查詢,學(xué)生可以查詢自己所選的所有課程成績,或者查詢某一門課程的成績。 (3)修改密碼,用戶在輸入正確的舊密碼之后,便可修改密碼,當(dāng)兩次新密碼輸入都一致時(shí)密碼修改成功并保存到數(shù)據(jù)庫中。 2、教師登錄界面 (1)該模塊實(shí)現(xiàn)的是,學(xué)生成績的增刪改,按班級、課程統(tǒng)計(jì)學(xué)生成績,按不同條件統(tǒng)計(jì)學(xué)生平均成績,教師密碼修改。 (2)教師對學(xué)生所選課程進(jìn)行成績的增、刪、改,當(dāng)學(xué)生選了該課程后教師便可添加成績或修改、刪除成績,但如果學(xué)生沒有選擇該課程,則教師無法對其進(jìn)行操作。 (2)分班級和課程統(tǒng)計(jì)學(xué)生最高、最低平均成績和及格率。 (3)按不同條件統(tǒng)計(jì)學(xué)生成績的平均成績(學(xué)號、專業(yè)名、性別、課程名)。 按專業(yè)名統(tǒng)計(jì)平均 圖19 按課程名統(tǒng)計(jì)平均成績 (4)用戶密碼修改,其過程和學(xué)生密碼修改過程相同。 五、核心代碼 1、登錄界面 void Form1_Load(object sender, EventArgs e) TxtUser.Text = ; TxtPass.Text = ; void BtnOK_Click(object sender, EventArgs e) SqlConnection con = DBConnect.con(); con.Open(); (rBtnStudent.Checked) string sql = select Name,Passwd from StudentLogin where Name=' TxtUser.Text 'and Passwd=' TxtPass.Text '; SqlCommand cmd = new SqlCommand(); mandText = sql; cmd.Connection = con; rd = cmd.ExecuteReader(); if (rd.Read()) stu1 = TxtPass.Text.Trim(); 學(xué)生登錄界面 mForm = new 學(xué)生登錄界面(); mForm.Show(); con.Close(); .Visible = false stu = TxtUser.Text; MessageBox.Show(請輸入正確的用戶名和密碼!); (rBtnTeacher.Checked) string sql = select Name,Passwd from TeacherLoad where Name=' TxtUser.Text 'and Passwd=' TxtPass.Text '; SqlCommand cmd = new SqlCommand(); mandText = sql; cmd.Connection = con; rd = cmd.ExecuteReader(); if (rd.Read()) stu1 = TxtPass.Text.Trim(); 教師登陸界面 mForm = new 教師登陸界面 (); mForm.Show(); con.Close(); .Visible = false; stu = TxtUser.Text; MessageBox.Show(請輸入正確的用戶名和密碼!); (rBtnManage.Checked) string sql = select Name,Passwd from ManageLoad where Name=' TxtUser.Text 'and Passwd=' TxtPass.Text '; SqlCommand cmd = new SqlCommand(); mandText = sql; cmd.Connection = con; TxtUser.Text = ; TxtPass.Text = ; rd = cmd.ExecuteReader(); if (rd.Read()) 管理員界面 mForm = new 管理員界面 (); mForm.Show(); con.Close(); .Visible = false; MessageBox.Show(請輸入正確的用戶名和密碼!); void BtnExit_Click(object sender, EventArgs e) this.Close();
信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
|