![NET程序設(shè)計與開發(fā)課程報告-選課管理系統(tǒng)畢業(yè)論文_第1頁](http://file4.renrendoc.com/view/558598867abce3991df018a7479d550d/558598867abce3991df018a7479d550d1.gif)
![NET程序設(shè)計與開發(fā)課程報告-選課管理系統(tǒng)畢業(yè)論文_第2頁](http://file4.renrendoc.com/view/558598867abce3991df018a7479d550d/558598867abce3991df018a7479d550d2.gif)
![NET程序設(shè)計與開發(fā)課程報告-選課管理系統(tǒng)畢業(yè)論文_第3頁](http://file4.renrendoc.com/view/558598867abce3991df018a7479d550d/558598867abce3991df018a7479d550d3.gif)
![NET程序設(shè)計與開發(fā)課程報告-選課管理系統(tǒng)畢業(yè)論文_第4頁](http://file4.renrendoc.com/view/558598867abce3991df018a7479d550d/558598867abce3991df018a7479d550d4.gif)
![NET程序設(shè)計與開發(fā)課程報告-選課管理系統(tǒng)畢業(yè)論文_第5頁](http://file4.renrendoc.com/view/558598867abce3991df018a7479d550d/558598867abce3991df018a7479d550d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
.NET程序設(shè)計與開發(fā)課程報告題目名稱: 選課管理系統(tǒng)班 級:學(xué)生學(xué)號:學(xué)生姓名:程序成績: 報告成績:2016年6月30日.NET程序設(shè)計與開發(fā)課程設(shè)計報告報告審核1.NET程序設(shè)計與開發(fā)課程設(shè)計報告1前言......................................32需求分析..................................33系統(tǒng)設(shè)計..................................43.1系統(tǒng)整體架構(gòu)..........................43.2系統(tǒng)功能分析..........................43.3流程分析..............................53.4數(shù)據(jù)庫設(shè)計............................63.4.1E-R圖設(shè)計........................63.4.2數(shù)據(jù)庫設(shè)計.......................74系統(tǒng)實(shí)現(xiàn)..................................84.1系統(tǒng)結(jié)構(gòu)..............................84.2界面設(shè)計..............................85總結(jié)......................................9參考文獻(xiàn)....................................9附件.......................................102.NET程序設(shè)計與開發(fā)課程設(shè)計報告前言問題描述:學(xué)生選課管理系統(tǒng)是一個學(xué)校不可缺少的部分,它的內(nèi)容對于學(xué)校的管理者和學(xué)生來說都至關(guān)重要,直接關(guān)系到學(xué)生選課的效率,所以開發(fā)選課管理系統(tǒng)能夠?yàn)閷W(xué)生和教師提供快捷的選課和查詢手段。編寫程序系統(tǒng)主要實(shí)現(xiàn)學(xué)生選課、刪課、教師查詢等功能。學(xué)生信息、教師信息、課程信息等用數(shù)據(jù)庫存儲。開發(fā)工具:VisualStudio2013 ,SQLServerManagementStudio運(yùn)行環(huán)境:VisualStudio2010集成開發(fā)環(huán)境進(jìn)行程序的調(diào)試與運(yùn)行數(shù)據(jù)要求:學(xué)生信息、教師信息和課程信息等各種數(shù)據(jù)類型在數(shù)據(jù)庫定義時有所體現(xiàn)需求分析2.1信息需求在數(shù)據(jù)庫C#學(xué)生選課管理系統(tǒng)中需要設(shè)計如下所示的數(shù)據(jù)字段和數(shù)據(jù)表 :學(xué)生表---dbo.student,包括:學(xué)號、姓名、性別、年齡、班級、專業(yè)。登陸表---dbo.login,包括:用戶名、密碼、類型。課程表---dbo.course,包括:課程名稱、課程編號、教師姓名、教師編號、課時。選課表---dbo.xuanke,包括:學(xué)號、姓名、班級、專業(yè)、課程名稱、課程編號、教師名稱、教師編號。2.2功能需求本系統(tǒng)需要設(shè)計以下幾個功能 :用戶登錄(學(xué)生登錄和老師登陸)學(xué)生選課(選課和退課)教師查課退出系統(tǒng)2.3處理需求數(shù)據(jù)精確度:選課時應(yīng)保證選課的精確度,所有相應(yīng)選修課程都應(yīng)包含查詢關(guān)鍵字的記錄都應(yīng)能查到 ;時間特性:一般操作的響應(yīng)時間應(yīng)在 1-2秒內(nèi),對相應(yīng)服務(wù)響應(yīng)時間也應(yīng)在可接受的時間內(nèi)完成適應(yīng)性:有良好的適應(yīng)性,可在 Windows各版本移植。3.NET程序設(shè)計與開發(fā)課程設(shè)計報告系統(tǒng)設(shè)計3.1系統(tǒng)整體架構(gòu)3.2系統(tǒng)功能分析登陸在選擇學(xué)生或老師登陸后,輸入正確的用戶名及密碼,實(shí)現(xiàn)登錄。學(xué)生選課在學(xué)生登錄后,輸入學(xué)號、姓名、班級、專業(yè)后在課程表上選擇課程進(jìn)行選課。學(xué)生刪課在學(xué)生登錄后,輸入學(xué)號、姓名、班級、專業(yè)后在課程表上選擇課程進(jìn)行刪除課程。教師查詢在教師登陸后,輸入教師編號,具有查看教師所授課程及選擇此課程學(xué)生的信息。4.NET程序設(shè)計與開發(fā)課程設(shè)計報告3.3流程分析流程圖5.NET程序設(shè)計與開發(fā)課程設(shè)計報告3.4數(shù)據(jù)庫設(shè)計3.4.1E-R圖設(shè)計年齡專業(yè)學(xué) 生學(xué)號
性別班級姓名圖3.3.1學(xué)生表實(shí)體聯(lián)系圖課程名稱課時課程表教師編號課程編號教師姓名圖3.3.2課程表實(shí)體聯(lián)系圖課程名稱教師編號課時教師姓名選課表課程編號 專業(yè)班級學(xué)號6姓名.NET程序設(shè)計與開發(fā)課程設(shè)計報告圖3.3.3選課表實(shí)體聯(lián)系圖登錄表用戶名密碼類型圖3.3.4登錄表實(shí)體聯(lián)系圖3.4.2數(shù)據(jù)庫設(shè)計根據(jù)需求分析進(jìn)行數(shù)據(jù)庫設(shè)計,數(shù)據(jù)庫名C#學(xué)生選課管理系統(tǒng),共需要登陸表、學(xué)生表、課程表、選課表四張表。登陸表結(jié)構(gòu)見表1,學(xué)生表結(jié)構(gòu)見表2,課程表見表3,選課表見表4。登陸表登陸表存放登陸用戶的賬號信息,一個用戶可以對應(yīng)一個賬戶,包括用戶名、密碼、類型。通過此表查閱用戶權(quán)限,判斷登陸者是學(xué)生或者老師,使其擁有各自的權(quán)限。表1登錄表的結(jié)構(gòu)字段名稱 數(shù)據(jù)類型用戶名 Char(20)密碼 Char(20)類型 Char(20)學(xué)生表
說明儲存學(xué)生/老師的用戶名儲存學(xué)生/老師的密碼選擇登陸是學(xué)生/老師學(xué)生表存放學(xué)生信息,具體包括學(xué)號、姓名、性別、年齡、班級、專業(yè)。通過此表可以獲取學(xué)生信息。表2學(xué)生表的結(jié)構(gòu).字段名稱 數(shù)據(jù)類型學(xué)號 Char(20)姓名 Char(20)性別 Char(20)年齡 Char(20)班級 Char(20)專業(yè) Char(20)3.課程表
說明儲存學(xué)生學(xué)號,不能為空儲存學(xué)生姓名,不能為空儲存學(xué)生性別,不能為空儲存學(xué)生年齡,不能為空儲存學(xué)生班級,不能為空儲存學(xué)生專業(yè),不能為空7.NET程序設(shè)計與開發(fā)課程設(shè)計報告課程表用來存放課程信息,具體包括課程名稱、課程編號、教師姓名、教師編號以及課時。此表顯示在學(xué)生選課界面上。表3課程表的結(jié)構(gòu).字段名稱 數(shù)據(jù)類型課程名稱 Char(20)課程編號 Char(20)教師姓名 Char(20)教師編號 Char(20)課時 Char(20)4.選課表
說明儲存課程名稱,不能為空儲存課程編號,不能為空儲存教師姓名,不能為空儲存教師編號,不能為空儲存課時,不能為空此表為選課表,包括了學(xué)生的學(xué)號、姓名、班級、專業(yè)以及課程的課程名稱、課程編號、教師姓名、教師編號。當(dāng)學(xué)生選刪課后,保存到此表。表4選課表的結(jié)構(gòu).字段名稱 數(shù)據(jù)類型學(xué)號 Char(20)姓名 Char(20)班級 Char(20)專業(yè) Char(20)課程名稱 Char(20)課程編號 Char(20)教師姓名 Char(20)教師編號 Char(20)
說明儲存學(xué)號,不能為空儲存姓名,不能為空儲存班級,不能為空儲存專業(yè),不能為空儲存課程名稱,不能為空儲存課程編號,不能為空儲存教師名稱,不能為空儲存課程編號,不能為空系統(tǒng)實(shí)現(xiàn)或叫系統(tǒng)詳細(xì)設(shè)計。這一部分主要寫:主要模塊實(shí)現(xiàn)方法、關(guān)鍵技術(shù)。具體可以使用UML中類圖、構(gòu)件圖,也可以采用偽代碼描述。但不能采用抓圖方法,也不要面面俱到??梢詫⑾到y(tǒng)測試放在本章,系統(tǒng)測試也可單獨(dú)一章。主要寫測試環(huán)境、測試數(shù)據(jù)、測試結(jié)論。建議使用軟件測試工具進(jìn)行測試。如本課程就有單元測試內(nèi)容。系統(tǒng)測試不是必須寫的內(nèi)容,依據(jù)情況自己決定是否寫。4.1系統(tǒng)結(jié)構(gòu)本系統(tǒng)的總體架構(gòu)采用兩層架構(gòu)模型,分為表示層、數(shù)據(jù)訪問層,其中表示層負(fù)責(zé)界面的顯示,用于顯示數(shù)據(jù)和接受用戶輸入的數(shù)據(jù), 為用戶提供交互式操作頁面;數(shù)據(jù)訪問層主要實(shí)現(xiàn)對數(shù)據(jù)的保存和讀取操作。4.2界面設(shè)計4.2.1登錄界面8.NET程序設(shè)計與開發(fā)課程設(shè)計報告此界面包含一個 comboBox、兩個textBox以及兩個Button,在comboBox中選擇兩個類型:學(xué)生或老師,之后再輸入正確的用戶名及密碼,點(diǎn)擊登錄,成功后獲取相應(yīng)的權(quán)限。見附件圖1登陸界面4.2.2學(xué)生選課界面此界面四個 textBox、四個 Button 以及一個 dataGridView 控件,dataGridView控件用來顯示課程表,當(dāng)學(xué)生輸入學(xué)號、姓名、班級、專業(yè)后,選擇課程進(jìn)行選課或刪課。見附件圖2學(xué)生選課界面4.2.3教師查詢界面在此界面也擁有一個dataGridView控件,用來顯示選課表,當(dāng)?shù)顷懗晒?,教師輸入教師編號,可以查詢所授課程,及選擇此課程的信息。見附件圖3教師查詢界面總結(jié)這次的課程設(shè)計讓我受益匪淺,它幫助我們總結(jié)本學(xué)期的收獲、認(rèn)清自我。同時,還幫助我們改變一些處理事情時懶散的習(xí)慣。從最開始時的選擇課題,到搜集資料,整理資料,再到著手開始進(jìn)行系統(tǒng)分析,數(shù)據(jù)庫設(shè)計,代碼調(diào)試,每一步都是環(huán)環(huán)相扣,銜接緊密,其中任何一個步驟產(chǎn)生遺漏或者疏忽,就會對以后的設(shè)計帶來很多的不便。在這個過程中,我曾遇到了許多困難,每當(dāng)把困難解決之后,雖然不是很完善,我還是有小小的成就感的。自我感覺我的各方面的能力又有了很大的提高,使我的理論知識更好的與實(shí)踐相結(jié)合, 增強(qiáng)了專業(yè)技能的可實(shí)踐性。通過這次的畢業(yè)設(shè)計,使我真正懂得了軟件工程設(shè)計的整個過程, 既鞏固了以前的理論知識,也為我以后的工作奠定了良好的基礎(chǔ)。當(dāng)然,由于時間的短促,我所完成的系統(tǒng)并不是盡善盡美的,還有待進(jìn)一步的修改和完善。我相信這次課程設(shè)計對于我意志與耐性的磨練,會給我日后的工作和生活帶來很大的幫助。參考文獻(xiàn)[1]黃勝忠.C#4.0 從入門到精通[M].北京:機(jī)械工業(yè)出版社,2012.79.NET程序設(shè)計與開發(fā)課程設(shè)計報告附件圖1.登錄界面圖2.選課界面10.NET程序設(shè)計與開發(fā)課程設(shè)計報告圖3.教師查詢界面登錄代碼usingSystem;usingSystem.Collections .Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceWindowsFormsApplication2{public partial class login : Form11.NET程序設(shè)計與開發(fā)課程設(shè)計報告{public login(){InitializeComponent();}private voidlogin_Load( object sender, EventArgse){comboBox1 .Items.Add("學(xué)生");comboBox1 .Items.Add("老師");comboBox1 .SelectedIndex =0;}private voidbutton1_Click( object sender,EventArgse){SqlConnection get =newSqlConnection();if (textBox1 .Text =="" || textBox2 .Text =="")MessageBox.Show("請輸入用戶名和密碼 ", "提示");else12.NET程序設(shè)計與開發(fā)課程設(shè)計報告{SqlConnection con =newSqlConnection("Server=.;DataBase=C# 學(xué)生選課管理系統(tǒng);Uid=sa;pwd=a06S@998101;");stringsql;if(comboBox1.Text=="學(xué)生"){sql ="select*fromloginwhere 用戶名='" +textBox1.Text +"'and 密碼='" +textBox2.Text+"'and 類型='" +comboBox1.Text +"'";SqlCommandcmd=newSqlCommand(sql,con);con .Open();if (cmd.ExecuteScalar() != null){this.Visible =false;student s =newstudent();s .Show();}else{MessageBox.Show("請輸入正確的用13.NET程序設(shè)計與開發(fā)課程設(shè)計報告戶名或密碼", "提示");textBox2 .Text ="";con .Close();}}if (comboBox1.Text =="老師"){sql ="select*fromloginwhere 用戶名='" +textBox1.Text +"'and 密碼='" +textBox2.Text+"'and 類型='" +comboBox1.Text +"'";SqlCommandcmd=newSqlCommand(sql,con);con .Open();if (cmd.ExecuteScalar() != null){this.Visible =false;teacher t =newteacher();t .Show();}else{MessageBox.Show("請輸入正確的用14.NET程序設(shè)計與開發(fā)課程設(shè)計報告戶名或密碼", "提示");textBox2 .Text ="";con .Close();}}}}}}學(xué)生選課代碼usingSystem;usingSystem.Collections .Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceWindowsFormsApplication215.NET程序設(shè)計與開發(fā)課程設(shè)計報告{public partial class student : Form{DataSetds;SqlCommandcmd,cmd1;SqlDataAdapter adp;public student(){InitializeComponent();}SqlConnectionget=newSqlConnection();stringkeming,kehao,tname,tnum,keshi;privatevoidstudent_Load(objectsender,EventArgse){TODO:這行代碼將數(shù)據(jù)加載到表“_C_學(xué)生選課管理系統(tǒng)DataSet.course”中。您可以根據(jù)需要移動或刪除它。this.courseTableAdapter .Fill( this._C_學(xué)生選課管理系統(tǒng)DataSet.course);TODO:這行代碼將數(shù)據(jù)加載到表“_C_學(xué)生選課管理系統(tǒng)DataSet.student”中。您可以根據(jù)需要移動或刪除16.NET程序設(shè)計與開發(fā)課程設(shè)計報告它。this.studentTableAdapter .Fill( this._C_學(xué)生選課管理系統(tǒng)DataSet.student);}private voidbutton1_Click( object sender,EventArgse){dataGridView1 .SelectedRows.ToString();keming =dataGridView1.CurrentRow.Cells[ 0].Value.ToString();kehao =dataGridView1.CurrentRow.Cells[ 1].Value.ToString();tname =dataGridView1.CurrentRow.Cells[ 2].Value.ToString();tnum =dataGridView1.CurrentRow.Cells[ 3].Value.ToString();keshi =dataGridView1.CurrentRow.Cells[ 4].Value.ToString();SqlConnection con =newSqlConnection("Server=.;DataBase=C# 學(xué)生選課管理系17.NET程序設(shè)計與開發(fā)課程設(shè)計報告統(tǒng);Uid=sa;pwd=a06S@998101;");con.Open();string getstring1 ="select*fromxuankewhere學(xué)號='" +textBox1.Text.ToString() +"'and 課程編號='"+kehao+"'";stringxm=string.Empty;stringbj=string.Empty;stringzy=string.Empty;string getstring2 ="select*fromstudentwhere學(xué)號='" +textBox1 .Text.ToString() +"'" ;adp =newSqlDataAdapter(getstring2,con);ds =newDataSet();adp .Fill(ds);if (ds!=null &&ds.Tables[0].Rows.Count>0){xm =ds.Tables[0].Rows[0]["姓名"].ToString();bj =ds.Tables[0].Rows[0]["班級"].ToString();zy =ds.Tables[0].Rows[0]["專業(yè)"].ToString();}18.NET程序設(shè)計與開發(fā)課程設(shè)計報告cmd1 =newSqlCommand(getstring1,con);if (cmd1.ExecuteScalar() ==null){string getstring ="insertinto[xuanke]" +"([ 學(xué)號],[ 姓名],[ 班級],[ 專業(yè)],[課程名稱],[課程編號],[教師姓名],[教師編號])"+"values('"+textBox1.Text.Trim()+"','" +xm.Trim() +"','" +bj.Trim() +"','" +zy.Trim() +"','" +keming .Trim() +"','" +kehao.Trim() +"','" +tname .Trim() +"','" +tnum.Trim()+"')" ;cmd =newSqlCommand();cmd .CommandText=getstring;cmd .Connection =con;cmd .ExecuteNonQuery();MessageBox.Show("選課成功!");}19.NET程序設(shè)計與開發(fā)課程設(shè)計報告else{MessageBox.Show("你已選擇此課程! ", "提示");}}privatevoidbutton2_Click(objectsender,EventArgse){int delRowIndex =dataGridView1.CurrentRow.Index;this.dataGridView1.Rows.RemoveAt(delRowIndex);SqlConnectioncon=newSqlConnection("Server=.;DataBase=C# 學(xué)生選課管理系統(tǒng);Uid=sa;pwd=a06S@998101;");con.Open();string getstring1 ="select*fromxuankewhere學(xué)號='" +textBox1.Text+"' and課程編號='" +kehao+"'";string xm=textBox2 .Text;20.NET程序設(shè)計與開發(fā)課程設(shè)計報告string bj =textBox3 .Text;string zy =textBox4 .Text;SqlCommandcmd1=newSqlCommand(getstring1,con);if (cmd1.ExecuteScalar() != null){string getstring ="update[xuanke]" +"set[ 姓名]='" +xm+"'," +"[班級]='" +bj +"'," +"專業(yè)='" +zy +"'";cmd =newSqlCommand(getstring,con);cmd .CommandText=getstring;cmd .Connection =con;cmd .ExecuteNonQuery();MessageBox.Show("刪除成功!");con .Close();}else{MessageBox.Show("你沒有選擇此課程! ", "提示");}}21.NET程序設(shè)計與開發(fā)課程設(shè)計報告private voidbutton4_Click( object sender,EventArgse){if (textBox1 .Text ==""){MessageBox.Show("請輸入學(xué)號", "提示");}else{SqlConnection con =newSqlConnection("Server=.;DataBase=C# 學(xué)生選課管理系統(tǒng);Uid=sa;pwd=a06S@998101;");con .Open();cmd =newSqlCommand("select*fromstudent" ,con);if (cmd.ExecuteScalar() !=null){ds =newDataSet();adp =newSqlDataAdapter("SELECT*FROMcourse",con);22.NET程序設(shè)計與開發(fā)課程設(shè)計報告adp .Fill(ds, "course");dataGridView1 .DataSource =ds.Tables["course"];}else{MessageBox.Show("信息錯誤!!", "提示");con .Close();}}}privatevoidbutton3_Click(objectsender,EventArgse){this.Close();}}}23.NET程序設(shè)計與開發(fā)課程設(shè)計報告教師查詢代碼usingSystem;usingSystem.Collections .Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceW
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023二年級數(shù)學(xué)上冊 六 測量第2課時 課桌有多長說課稿 北師大版
- 《1 負(fù)數(shù) 》(說課稿)-2023-2024學(xué)年六年級下冊數(shù)學(xué)人教版
- 2024秋四年級語文上冊 第六單元 第19課 一只窩囊的大老虎說課稿 新人教版001
- 代銷材料合同范例
- 路塹紫穗槐種植施工方案
- 5《守株待兔》說課稿-2024-2025學(xué)年語文三年級下冊統(tǒng)編版
- 慶城硅pu跑道施工方案
- 5《一個豆莢里的五粒豆》說課稿-2024-2025學(xué)年四年級上冊語文統(tǒng)編版
- 京東店鋪運(yùn)營合同范例
- 住宅劃地出售合同范本
- 廣西南寧市2024-2025學(xué)年八年級上學(xué)期期末義務(wù)教育質(zhì)量檢測綜合道德與法治試卷(含答案)
- 梅大高速塌方災(zāi)害調(diào)查評估報告及安全警示學(xué)習(xí)教育
- 2025年供應(yīng)鏈管理培訓(xùn)課件
- 2025中智集團(tuán)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 幼兒園2025年春季學(xué)期保教工作計劃
- 《保利公司簡介》課件
- 中藥硬膏熱貼敷治療
- 《攜程旅行營銷環(huán)境及營銷策略研究》10000字(論文)
- 2024年高頻脈沖電源項(xiàng)目可行性研究報告
- 餐飲行業(yè)優(yōu)化食品供應(yīng)鏈管理計劃
- cnc加工崗前培訓(xùn)
評論
0/150
提交評論