C學(xué)生成績管理系統(tǒng)課程設(shè)計分析報告_第1頁
C學(xué)生成績管理系統(tǒng)課程設(shè)計分析報告_第2頁
C學(xué)生成績管理系統(tǒng)課程設(shè)計分析報告_第3頁
C學(xué)生成績管理系統(tǒng)課程設(shè)計分析報告_第4頁
C學(xué)生成績管理系統(tǒng)課程設(shè)計分析報告_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C#學(xué)生成績管理系統(tǒng)課程設(shè)計報告作者: 日期:課程設(shè)計報告課程設(shè)計名稱: 學(xué)生成績管理系統(tǒng) 系部名稱:中印計算機軟件學(xué)院 學(xué)生姓名:班級 :13 級應(yīng) 1學(xué)號 :2013010700成績 :指導(dǎo)教師:開 課 時 間 : 2013- 2014 學(xué)年第 二 學(xué)期目錄第一章 緒論 11.1 設(shè)計目的 .1.2 開發(fā)工具選擇 .1.3 開發(fā)環(huán)境 .1.4 本報告的主要內(nèi)容 .第二章 需求分析 .2.1 系統(tǒng)需求簡介 12.1.1 系統(tǒng)目標 .2.1.2 功能需求分析 22.1.3 性能需求分析 2第 三章 總體設(shè)計 2.3.1設(shè)計概述 23.2 系統(tǒng)總體結(jié)構(gòu)及功能模塊劃分 23.2.1 學(xué)生信息查詢模

2、塊 33.2.2 學(xué)生信息管理模塊 33.3 系統(tǒng)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 43.3.1系統(tǒng) E-R 圖43.3.2 系統(tǒng)數(shù)據(jù)庫的設(shè)計 43.4 安全保密設(shè)計 53.4.1 用戶登錄安全性 5第四章 詳細設(shè)計 54.1 概述54.2 系統(tǒng)程序流程圖 64.3 系統(tǒng)主要功能模塊簡介 64.3.1 系統(tǒng)登錄 64.3.2 學(xué)生信息查詢模塊 74.3.3 學(xué)生信息管理模塊 8第 五章 主要功能模塊代碼 105.1 公共類代碼設(shè)計 105.2 登錄界面代碼設(shè)計 135.3 查詢模塊代碼設(shè)計 155.4 添加模塊代碼設(shè)計 165.5 更新模塊代碼設(shè)計 185.6 刪除模塊代碼設(shè)計 23第六章 課程設(shè)計心得 2

3、3第七章 參考文獻 24摘要本文描述的是基于 Windows 環(huán)境的學(xué)生信息管理系統(tǒng),主要功能模塊包括: 學(xué)生信查詢,學(xué)生信息管理, 學(xué)生成績錄入 ,主要工具 Microsoft Visual Studio 2010 設(shè)計窗體 , SQL server2005建立數(shù)據(jù)庫 ,實現(xiàn)學(xué)校信息管理的各個功能。 本篇報告介紹一個學(xué)生信息管理系統(tǒng)的從分析到設(shè)計最后到開發(fā)的全過程為, 給 出了學(xué)生信息管理系統(tǒng)的設(shè)計和技術(shù)實現(xiàn)的過程, 特別在細節(jié)上分析功能和函數(shù) 的實現(xiàn)思想,涉及到學(xué)生信息管理的基本功能在本報告中都有相應(yīng)的描述。第一章緒論1.1 設(shè)計目的本課程設(shè)計的目的是使學(xué)生能熟練掌握簡單的簡單 Windo

4、ws 窗體應(yīng)用程序的 設(shè)計和 ADO.net 的應(yīng)用,希望通過本次課程設(shè)計鍛煉學(xué)生使用 C#語言解決實際 問題的能力。1.2 開發(fā)工具選擇本系統(tǒng)后臺數(shù)據(jù)庫采用 Microsoft SQLS erver 數(shù)據(jù)庫,該數(shù)據(jù)庫系統(tǒng)在安全 性、準確性和運行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)量大,效率高;前臺采 用 Microsoft 公司的 Visual Studio 2008 作為主要開發(fā)工具,可與 SQL Server 2005數(shù)據(jù)庫無縫鏈接。1.3 開發(fā)環(huán)境系統(tǒng)開發(fā)平臺: Microsoft Visual Studio2005系統(tǒng)開發(fā)語言: C# 數(shù)據(jù)庫管理軟件: SQL Server 20051

5、.4 本報告的主要內(nèi)容本報告詳細的介紹了學(xué)生信息管理系統(tǒng)的開發(fā)過程, 主要涉及到的工作如下: 系統(tǒng)的需求分析、系統(tǒng)的總體設(shè)計、系統(tǒng)的概念設(shè)計、系統(tǒng)各模塊的詳細設(shè)計、 系統(tǒng)運行與測試。第二章析需求分析2.1.1 系統(tǒng)目標根據(jù)查詢條件實現(xiàn)學(xué)生信息的查詢 學(xué)生選課信息查詢、成績信息的查詢 學(xué)生信息、課程信息、成績信息的增加、刪除、修改 對基本信息完成增加、刪除、修改時,需注意表與表之間的關(guān)聯(lián)。2.1.2 功能需求分析 本系統(tǒng)的功能需求分析如下: 學(xué)生信息查詢:學(xué)生可以根據(jù)學(xué)號、姓名、專業(yè)進行查詢 . 學(xué)生信息管理:主要是用于學(xué)生信息更新、插入、刪除; 學(xué)生成績錄入:用于學(xué)生成績管理,錄入學(xué)生成績,也

6、可以更新。2.1.3 性能需求分析 登錄、用戶界面需求:簡潔、易懂、易用、友好的用戶界面。 安全保密性需求:只有憑借用戶名和密碼登陸系統(tǒng),才能進行信息的管理等。第三章總體設(shè)計3.1 設(shè)計概述 根據(jù)需求把整個系統(tǒng)分化成不同的模塊,每個模塊完成一個特定的子功能。 把這些模塊結(jié)合起來組成一個整體。逐一實現(xiàn)各個功能。3.2 系統(tǒng)總體結(jié)構(gòu)及功能模塊劃分 經(jīng)過對系統(tǒng)的需求分析,學(xué)生信息管理系統(tǒng)主要劃分為三個部分:學(xué)生信息 查詢,學(xué)生信息管理,學(xué)生成績錄入三個功能模塊。如圖 3.2.1 系統(tǒng)的總體結(jié)圖 3.2.1 系統(tǒng)的總體結(jié)構(gòu)3.2.1 學(xué)生信息查詢模塊 學(xué)生信息查詢:學(xué) 生可以根據(jù)學(xué)號、姓名、專業(yè)進行查

7、詢。如圖 3.2.2 學(xué)生信息 查詢模塊結(jié)構(gòu)。學(xué)生信息查學(xué)姓號名查查圖 3.2.2 學(xué)生信息管理模塊結(jié)構(gòu)3.2.2 學(xué)生信息管理模塊 學(xué)生信息管理:主要是用于學(xué)生信息更新、插入、刪除,如圖 3.2.3 學(xué)生管理模 塊結(jié)構(gòu)。圖 3.2.3 學(xué)生信息管理模塊結(jié)構(gòu)3.3 系統(tǒng)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計根據(jù)對數(shù)據(jù)項與數(shù)據(jù)結(jié)構(gòu)的分析,設(shè)計出能夠滿足系統(tǒng)需求的各種實體,及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。3.3.1 系統(tǒng) E-R 圖系統(tǒng) E-R 圖可以將各個實體之間的關(guān)系顯示出來,將各個實體間的屬性依賴 表示明白。如圖 3.3.1 系統(tǒng) E-R 圖結(jié)構(gòu)。課學(xué)系成學(xué)選學(xué)生課課績課開課圖 3.3.1 系統(tǒng)

8、 E-R 圖結(jié)構(gòu)總成3.3.2 系統(tǒng)數(shù)據(jù)庫的設(shè)計綜合以上分析,要實現(xiàn)上面的所有功能模塊,主要設(shè)計表如下:表 3.3.1用戶表( usedata )表 3.3.2 成績表( SC)表 3.3.3 課程表 ( C)表 3.3.4學(xué)生表( S)3.4 安全保密設(shè)計3.4.1 用戶登錄安全性系統(tǒng)設(shè)計了登錄界面,每個合法用戶有用戶名及一個密碼,只有當(dāng)用戶輸入 正確的用戶名及密碼組合后才能夠?qū)W(xué)生信息進行操作。第四章詳細設(shè)計4.1 概述詳細設(shè)計階段的根本目標是確定應(yīng)該怎樣具體的實現(xiàn)所要求的系統(tǒng), 也就是 說,經(jīng)過這個階段的設(shè)計工作, 應(yīng)該得出目標系統(tǒng)的精確描述, 從而在編碼階段 可以把這個描述直接翻譯成用

9、某種程序設(shè)計語言書寫的程序。4.2 系統(tǒng)程序流程圖程序流程圖又稱為程序框圖,它是歷史悠久使用最廣泛的描述軟件設(shè)計的方 法。它可將整個程序的總體流程清楚明白的顯示出來。 如圖 4.2.1 系統(tǒng)總流程圖 結(jié)構(gòu)。4.3 系統(tǒng)主要功能模塊簡介4.3.1 系統(tǒng)登錄用戶憑借用戶名及密碼登錄,成功登錄后可對學(xué)生信息進行操作。用戶界面 如圖 4.3.1 用戶登錄界面所示。圖 4.3.1 用戶登錄界面4.3.2 學(xué)生信息查詢模塊學(xué)生信息查詢:在程序主界面(如圖 4.3.2 程序主界面)學(xué)生可以根據(jù)學(xué) 號、姓名進行查詢。 學(xué)生也可以只用一種條件進行信息查詢, 也可以多個條件查 詢。雙擊記錄任一單元格可顯示學(xué)生的更

10、詳細信息 (如圖 4.3.3 詳細信息窗口)圖 4.3.2 程序主界面圖 4.3.3 詳細信息窗口4.3.3 學(xué)生信息管理模塊學(xué)生信息管理:通過右擊程序主界面的相應(yīng)記錄彈出的上下文菜單(如圖4.3.4 上下文菜單)可對當(dāng)前選定學(xué)生信息進行詳細信息查詢(如圖 4.3.3 詳 細信息窗口)、修改信息(如圖 4.3.5 修改信息窗口)、刪除信息(如圖 4.3.6 刪 除信息提示)。更新時如果輸入的學(xué)號不存在,可選擇是否添加學(xué)生信息。通過 程序主界面的新建信息記錄可添加學(xué)生信息(如圖 4.3.7 添加信息窗口)。圖 4.3.4 上下文菜單圖 4.3.5 修改信息窗口圖 4.3.7 添加信息窗口第五章主

11、要功能模塊代碼5.1 公共類代碼設(shè)計namespace MySqlpublic class mySqlpublicStringconnectionString學(xué)習(xí)課程設(shè)計StuScoreManSystemStuScoreManSystemStuScoManSys.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;public String commondText;public bool flag; /指示有條該條記錄public System.Data.DataView table;public void ru

12、nSql() /執(zhí)行查詢、刪除 SQL語句using(SqlConnectionconnectionnewSqlConnection(connectionString)connection.Open();SqlCommandcmdQuerynew SqlCommand(commondText,connection);SqlDataAdaptersdanew SqlDataAdapter(commondText,connection);DataSet ds = new DataSet();sda.Fill(ds);if (commondText.IndexOf(SELECT) = 0) tabl

13、e = ds.Tables0.DefaultView;connection.Close();public bool getFlag() /using判斷是否有該條記錄(SqlConnectionconnectionnewSqlConnection(connectionString)connection.Open();SqlCommandcmdQuerynew SqlCommand(commondText,connection);SqlDataReader reader = cmdQuery.ExecuteReader(); if (reader.Read() flag = true;else

14、flag = false;reader.Close();connection.Close();return flag;獲取視圖表public String getContent(String require,String SNO) /的的指定單元格內(nèi)容trycommondText = SELECT + require + FROM detail WHERE學(xué)號 + SNO;if (require = up課程名稱 )commondText= SELECT 課程名稱 FROMd etail WHERE學(xué) 號 = +SNO;if (require = up 成績 )commondText= SEL

15、ECT 成績 FROMd etail WHERE學(xué) 號 = + SNO;SqlDataAdapter sda = new SqlDataAdapter(commondText, connectionString);DataSet ds = new DataSet();sda.Fill(ds);String result=;if(require= 課程名稱 |require= 成績 )int i=new int();for (i=0; i ds.Tables0.Rows.Count; i+)result = result+ds.Tables0.Rowsirequire.ToString()+n;

16、elseresult=ds.Tables0.Rows0require.ToString().Trim();return result;catchreturn 無 ;public void update()/ 添加、更新語句tryusing (SqlConnection connection = newSqlConnection(connectionString)connection.Open();SqlCommand cmdInsert = new SqlCommand(commondText, connection);cmdInsert.ExecuteNonQuery();connectio

17、n.Close();catch(Exception ex)MessageBox.Show(ex.ToString(), 提示 ); 5.2 登錄界面代碼設(shè)計private void login_Click(object sender, EventArgs e)/ 用戶名及密碼組合判斷if (username.Text.ToString().Trim() != & password.Text.ToString().Trim() != )mySql sql = new mySql();mondText = SELECT * FROM userdata WHEREU SERNAME= + usern

18、ame.Text.ToString().Trim() + AND PASSWORD= + password.Text.ToString().Trim() + ;trybool temp = new bool();temp = sql.getFlag();if (temp)this.Visible = false;mainface main = new mainface(this);main.Show();catch(Exception ex)MessageBox.Show(ex.ToString(), 提示 );elseMessageBox.Show( 請輸入用戶名和密碼 , 提示 );5.3

19、 查詢模塊代碼設(shè)計private void btQuery_Click(object sender, EventArgs e)mySql query=new mySql();if (sNInput.Text.Trim() = & sNoinput.Text.Trim()!=) mondText = SELECT SNO AS 學(xué)號 ,SN AS 姓名 ,MN AS 專業(yè)名稱 ,SEX AS 性 別 ,BIRDAY AS 出 生 日 期 ,TS AS 總 學(xué) 分 ,COM AS 備 注 FROM S WHERE SNO=+sNoinput.Text.Trim()+;if (sNInput.Tex

20、t.Trim() != & sNoinput.Text.Trim() = ) mondText = SELECT SNO AS 學(xué)號 ,SN AS 姓名 ,MN AS 專業(yè)名稱 ,SEX AS 性 別 ,BIRDAY AS 出 生 日 期 ,TS AS 總 學(xué) 分 ,COM AS 備 注 FROM S WHERE SN=+sNInput.Text.Trim()+ ;if (sNInput.Text.Trim() != & sNoinput.Text.Trim() != ) mondText = SELECT SNO AS 學(xué)號 ,SN AS 姓名 ,MN AS 專業(yè)名稱 ,SEX AS 性 別

21、 ,BIRDAY AS 出 生 日 期 ,TS AS 總 學(xué) 分 ,COM AS 備 注 FROM S WHERES N= + sNInput.Text.Trim() + and SNO= + sNoinput.Text.Trim() + ;if (sNInput.Text.Trim() = & sNoinput.Text.Trim() = ) MessageBox.Show( 您輸入的信息為空,請重新輸入! , 錯誤信息 );elseif (query.getFlag()query.runSql();dataGridView1.DataSource = query.table;else Me

22、ssageBox.Show( 您查找的信息不存在 , 錯誤信息 );5.4 添加模塊代碼設(shè)計private void addbtOK_Click(object sender, EventArgs e)if (addStuNo.Text.Trim() != & addStuName.Text.Trim() != & addStuMajor.Text.Trim()!=)mySql sql = new mySql();mondText = SELECT CNO FROM C WHERE CN= + listmn.Text.ToString().Trim()+ ;sql.runSql();String

23、 temp = sql.table.Table.Rows0CNO.ToString();String sexTemp=radioButton1.Checked ? 男 : 女 ;String comTemp;if (addStuCom.Text.ToString().Trim() = )comTemp = ;else comTemp = addStuCom.Text.ToString().Trim();String birTemp= ;if (addStuBir.Text.ToString().Trim() = )comTemp = ;else birTemp = addStuCom.Text

24、.ToString().Trim();mondText = INSERT INTO S (SNO,SN,MN,SEX,BIRDAY,COM) VALUES(+addStuNo.Text.ToString().Trim()+,+addStuName.Text.ToString().Trim()+,+addStuMajor.Text.ToString().Trim()+,+sexTemp+,+birTemp+,+comTemp+);sql.update();if(score.Text.ToString().Trim()!=)mondText = INSERT INTO SC(SNO,CNO,SCO

25、RE) VALUES (+addStuNo.Text.ToString().Trim()+,+temp+,+score.Text.ToString().Trim()+);sql.update();this.Close();elseMessageBox.Show( 學(xué)號、姓名和專業(yè)名稱都不可以為空! !, 錯誤!); private void AddNew_Load(object sender, EventArgs e)/ 獲取專業(yè)列表mySql sql = new mySql();mondText = SELECT DISTINCT CN FROM C;SqlDataAdapter sda =

26、 new SqlDataAdapter(mondText, sql.connectionString);DataSet ds = new DataSet();sda.Fill(ds);listmn.DataSource = ds.Tables0.DefaultView;listmn.DisplayMember = CN;listmn.DisplayMember = listmn.DisplayMember.ToString().Trim();5.5 更新模塊代碼設(shè)計private void upbtOK_Click(object sender, EventArgs e)mySql sql =

27、new mySql();mondText = SELECT 學(xué) 號 FROM detail WHERE 學(xué) 號 =+upStuNo.Text.ToString().Trim();bool flagtemp = sql.getFlag();if (!flagtemp) / 如果表中無該條記錄,提示是否進行添加新記錄操作if (MessageBox.Show( 查無當(dāng)前記錄,無法進行更新操作! n 是否進行 添加新記錄的操作? , 提示 , MessageBoxButtons.OKCancel) = DialogResult.OK)if (upStuNo.Text.Trim() != & upSt

28、uName.Text.Trim() != & upStuMajor.Text.Trim() != )mySql sqlme = new mySql();mondText = SELECT CNO FROM C WHEREC N= + listmn.Text.ToString().Trim() + ;sqlme.runSql();String temp = sqlme.table.Table.Rows0CNO.ToString();/ 課程號String sexTemp = radioButton1.Checked ? 男 : 女 ;String comTemp;if (upStuCom.Tex

29、t.ToString().Trim() = )comTemp = ;else comTemp = upStuCom.Text.ToString().Trim();String birTemp;if (upStuBir.Text.ToString().Trim() = )birTemp = ;else birTemp = upStuCom.Text.ToString().Trim();mondText = INSERT INTO S (SNO,SN,MN,SEX,BIRDAY,COM) VALUES(+upStuNo.Text.ToString().Trim()+upStuName.Text.T

30、oString().Trim()+ upStuMajor.Text.ToString().Trim()+ sexTemp + ,+ birTemp + ,+ comTemp + );sqlme.update();if (upStuScore.Text.ToString().Trim() != )mondText = INSERT INTO SC(SNO,CNO,SCORE)VALUES ( + upStuNo.Text.ToString().Trim()+ , + temp + , + upStuScore.Text.ToString().Trim() + );sqlme.update();

31、this.Close();elseMessageBox.Show( 學(xué)號、姓名和專業(yè)名稱都不可以為空! !, 錯誤! );elseif (upStuNo.Text.Trim() != & upStuName.Text.Trim() != & upStuMajor.Text.Trim() != ) mondText = SELECT CNO FROM C WHERE CN= + listmn.Text.ToString().Trim() + ;sql.runSql();String temp = sql.table.Table.Rows0CNO.ToString();/ 獲取課程號String

32、sexTemp = radioButton1.Checked ? 男 : 女 ;String comTemp;if(upStuCom.Text.ToString().Trim()=) comTemp= ;else comTemp=upStuCom.Text.ToString().Trim();String birTemp;if (upStuBir.Text.ToString().Trim() = )birTemp = ;else birTemp = upStuBir.Text.ToString().Trim();mondText = UPDATE S SET SN= +upStuName.Te

33、xt.ToString().Trim() + ,MN=+upStuMajor.Text.ToString().Trim()+,SEX=+sexTemp+,BIRDAY=upStuBir.Text.ToString().Trim() +,COM=+comTemp+SNO=+upStuNo.Text.ToString().Trim();sql.update();bool scFlag = new bool();if (upStuScore.Text.ToString().Trim() != )trymySql scTemp = new mySql();scTmondText = listmn.Te

34、xt.ToString().Trim() + ;scTemp.runSql();StringscTemp.table.Table.Rows0CNO.ToString();/WHERESELECT CNO FROM C WHECRNE= +cntemp獲取課程號scTmondText = SELECT SNO FROM SC WHERE SNO=+ upStuNo.Text.ToString().Trim() + AND CNO= + cntemp;scFlag = scTemp.getFlag();if (scFlag)mondText = UPDATE SC SET SCORE= +upStuScore.Text.ToString().Trim() + WHERES NO=+ upStuNo.Text.ToString().Trim()+ AND CNO= + temp;sql.update();catchmondText = INSERT INTO SC(SNO,CNO,SCORE) VALUES ( + upStuNo.Text.ToString().Trim()+ , + temp + , + upStuScore.Text.ToString().Trim() + );sql.update(); thi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論