




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
-.z.計算機與軟件工程學院數據庫原理及應用課程設計報告課題名稱:學生信息管理系統(tǒng)專業(yè):計算機與科學技術班級::**:指導教師:2016年6月14號課程設計任務及進度表課題名稱學生信息管理系統(tǒng)設計目的通過對管理系統(tǒng)的設計和開發(fā),了解了數據庫的設計與開發(fā)的全過程,到達穩(wěn)固數據庫理論知識、鍛煉實踐能力和構建合理知識構造的目的。實驗環(huán)境操作系統(tǒng):Windows7;數據庫管理系統(tǒng):SQLServer2008;編程環(huán)境:任務要求1.搜集學生信息管理問題方面的資料,進展需求分析;2.完成概念設計、邏輯設計等各階段的設計;3.編寫程序代碼,系統(tǒng)調試;4.撰寫課程設計報告;5.參加辯論。工作進度方案序號起止日期工作容1查詢資料、選擇課題2需求分析、總體設計3系統(tǒng)整體設計、編寫程序代碼、調試程序4撰寫課程設計報告-.z.摘要該工程開發(fā)的軟件為學校學生信息管理系統(tǒng)軟件,是鑒于目前學校學生人數劇增,學生信息呈爆炸性增長的前提下,學校對學生信息管理的自動化與準確化的要求日益強烈的背景下構思出來的,該軟件設計完成后可用于所有教育單位(包括學校,學院等等)的學生信息的管理.目前社會上信息管理系統(tǒng)開展飛快,各個企事業(yè)單位都引入了信息管理軟件來管理自己日益增長的各種信息,學生管理系統(tǒng)也是有了很大的開展,商業(yè)化的學生信息管理軟件也不少.但本系統(tǒng)完全獨立開發(fā),力求使系統(tǒng)功能簡潔明了,但功能齊全且易于操作學生信息管理系統(tǒng)是一個教育單位不可缺少的局部,它的內容對于學校的決策者和管理者來說都至關重要。本文介紹了學生信息管理系統(tǒng)的開發(fā)整個過程,闡述了系統(tǒng)分析、系統(tǒng)設計、數據庫設計和系統(tǒng)實施的全過程。關鍵詞信息管理,分析,設計,開發(fā)目錄TOC\o"1-2"\h\z\u1引言12工程需求分析12.1方案的可行性分析12.2方案需求分析13工程概念設計13.1模塊單元設計13.2ER圖設計14工程邏輯構造設計14.1將概念模式轉換成關系模式14.2子模式設計14.3數據庫設計15編碼實現15.1界面設計15.2數據庫操作16工程測試結果1結論1致1參考文獻1-.z.1引言學生信息管理系統(tǒng)已經成為了一個教育單位不可缺少的局部。一個功能齊全、簡單易用的信息管理系統(tǒng)不但能有效地減輕學校相關工作人員的工作負擔,它的內容對于學校的決策者和管理者來說都至關重要。所以學生信息管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計和查詢數據,這種管理方式存在著許多缺點。如:效率低、保密性差,人工的大量浪費;另外時間一長,將產生大量的文件和數據。這對于查找、更新和維護都帶來了不少困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著來越重要的作用。作為計算機應用的一局部,使用計算機對學校的各類信息進展管理,具有手工管理所無法比較的優(yōu)點。例如:檢索迅速、查詢方便、效率高、可靠性好、存儲量大、保密性好、壽命長、本錢低等。這些優(yōu)點能夠極大地提高學校信息管理的效率,也是一個單位科學化、正規(guī)化管理,與世界接軌的重要條件。2工程需求分析2.1方案的可行性分析2.1.1技術可行性本系統(tǒng)主要采用框架開發(fā)。是基于通用語言的編譯運行的程序,所以它的強大性和適應性,可以使它運行在Web應用軟件開發(fā)者的幾乎全部的平臺上。加上SQLSever的連接,完全可以滿足本系統(tǒng)的開發(fā)需要,因此技術上是可行的的。2.1.2經濟可行性本系統(tǒng)為自主開發(fā),耗時1周,因其本身就是比較小的系統(tǒng),功能簡單,且使用的開發(fā)工具都是現有的。所以在經濟上是可行的。2.2方案需求分析2.2.1功能需求學生管理系統(tǒng)的幾個主要功能如下:(1)提供學生錄入信息功能可以輸入學生的姓名,**,選修課,實驗課,必修課和總分。(2)查詢學生信息功能根據學生**來查詢學生信息。(3)刪除學生信息功能提供**,查找是否有此人信息,然后選擇刪除學生信息。(4)插入學生信息功能輸入學生**,插入該學生的**的后面2.2.2性能需求本軟件系統(tǒng)各種特點決定了系統(tǒng)需要具有以下幾個主要特性:(1)多樣性?,F在,計算機語言越來越普及,用戶面臨的選擇越來越多。想要保證對用戶的吸引力,就必須要在多樣性上下功夫了。所以,系統(tǒng)的多樣性、功能的多樣性一直都是軟件系統(tǒng)開發(fā)的重點。(2)平安性。數據是軟件的靈魂,如何保證數據的平安性,是系統(tǒng)開發(fā)時必須考慮的一個重要問題。開發(fā)者應防止程序出現漏洞,防止黑客進展攻擊,及時進展數據備份,建立一個完善的多層次的平安保障體系,保障系統(tǒng)的平安。(3)可擴展性。需求變更一直是開發(fā)中難以防止的問題。系統(tǒng)在進展設計時應充分考慮到需求變更的可能性,降低系統(tǒng)擴展功能時的復雜度。3工程概念設計3.1模塊單元設計學生信息管理學生信息管理學生管理員選課操作信息查詢學生管理課程管理成績管理信息查詢圖3-1總概要設計3.1.1系統(tǒng)管理模塊系統(tǒng)管理模塊,進入系統(tǒng)后,可以選擇退出系統(tǒng):系統(tǒng)管理系統(tǒng)管理退出圖3-2系統(tǒng)管理模塊學生管理模塊學生管理模塊,包括學生信息添加,刪除,修改。學生管理學生管理學生信息添加學生信息修改學生信息刪除圖3-3學生管理模塊課程管理模塊課程管理模塊,包括課程信息添加,修改,刪除。課程管理課程管理課程信息添加課程信息修改課程信息刪除圖3-4課程管理模塊成績管理模塊成績管理模塊,包括成績的添加,修改。成績管理成績管理成績添加成績修改圖3-5成績管理模塊信息管理模塊信息查詢模塊,包括學生查詢,課程查詢,成績查詢。信息查詢信息查詢學生信息查詢課程信息查詢學生成績查詢圖3-6信息管理模塊3.2ER圖設計學生**學生**姓名性別家庭住址祖籍所在學院專業(yè)入學年份出生日期圖3-7學生信息實體ER圖課程信息實體ER圖課課程課程號課程名任課教師課程類型上課地點上課時間圖3-8課程信息實體ER圖4工程邏輯構造設計4.1將概念模式轉換成關系模式以下是學生管理信息系統(tǒng)的關系模型:(1)學生〔,班級,**,性別,,出生日期〕Student(name,class,student_ID,se*,telephone,dateofbirth)(2)班級課程〔課程名稱,專業(yè),學期,年級〕Class_course(course_name,major,school,grade)(3)班級〔班級名,教室,年制,備注〕Class(class_name,classroom,years,note)(4)成績〔編號,分數,課程,考號,等級〕Score(number,score,course,e*am_number,grade)4.2子模式設計針對不同的應用需求,分別設計對應的子模式。(1)學生〔,班級,**,性別,,出生日期〕View_Student(name,class,student_ID,se*,telephone,dateofbirth)(2)班級課程〔課程名稱,專業(yè),學期,年級〕View_Class_course(course_name,major,school,grade)(3)班級〔班級名,教室,年制,備注〕View_Class(class_name,classroom,years,note)(4)成績〔編號,分數,課程,考號,等級〕View_Score(number,score,course,e*am_number,grade)4.3數據庫設計表設計圖4-1管理員表圖4-2課程表圖4-3分數表圖4-4學生表4.3.2數據庫加載圖4-5數據庫加載5編碼實現5.1界面設計5.1.1賬戶信息管理圖5-1賬戶信息管理界面代碼實現:namespaceStudent_MI{publicpartialclassFormAccount:Form{publicFormAccount(){InitializeComponent();}privatevoidFormAccount_Load(objectsender,EventArgse){if(UserHelper.userType!=UserType.Admin){for(inti=0;i<this.Controls.Count;i++){if(this.Controls[i].GetType().Equals(typeof(Button))){this.Controls[i].Enabled=false;}}}this.button3.Enabled=true;//this.adminTableAdapter.Fill(this.studentManagerDataSet4.Admin);stringsqltr="select*FromAdmin";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0];this.lbInfo.Te*t="登錄人:"+UserHelper.user;}privatevoidbutton1_Click(objectsender,EventArgse){FormAddAccountfas=newFormAddAccount();if(fas.ShowDialog()==DialogResult.OK){stringsqltr="select*FromAdmin";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);//this.adminBindingSource.DataSource=ds.Tables[0];this.dataGridView1.DataSource=ds.Tables[0];intc=this.adminBindingSource.Count;this.dataGridView1.Refresh();}}privatevoidbutton2_Click(objectsender,EventArgse){this.adminTableAdapter.Update(this.studentManagerDataSet4.Admin);}privatevoidbutton4_Click(objectsender,EventArgse){try{if(this.dataGridView1.SelectedRows.Count>0){DataGridViewRowdrw=dataGridView1.SelectedRows[0];DataGridViewCellcell=drw.Cells["idDataGridViewTe*tBo*Column"];stringsql="DELETE[Admin]Where[id]="+cell.Value.ToString();newSqlHelper().E*ecuteNonQuery(sql,CommandType.Te*t);dataGridView1.Rows.Remove(drw);}MessageBo*.Show("刪除數據成功!");}catch{}}privatevoidbutton3_Click(objectsender,EventArgse){FormAccountSearchfaa=newFormAccountSearch();faa.ShowDialog();}privatevoid關于ToolStripMenuItem_Click(objectsender,EventArgse){FormAboutfa=newFormAbout();fa.ShowDialog();}privatevoid退出*ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}5.1.2課程信息管理圖5-2課程管理界面代碼實現:namespaceStudent_MI{publicpartialclassFormCourse:Form{publicFormCourse(){InitializeComponent();}privatevoidFormCourse_Load(objectsender,EventArgse){if(UserHelper.userType!=UserType.Admin){for(inti=0;i<this.Controls.Count;i++){if(this.Controls[i].GetType().Equals(typeof(Button))){this.Controls[i].Enabled=false;}}}this.button3.Enabled=true;this.courseTableAdapter.Fill(this.studentManagerDataSet2.Course);this.lbInfo.Te*t="登錄人:"+UserHelper.user;}privatevoidbutton2_Click(objectsender,EventArgse){this.courseTableAdapter.Update(this.studentManagerDataSet2.Course);}privatevoidbutton1_Click(objectsender,EventArgse){FormAddCoursefas=newFormAddCourse();if(fas.ShowDialog()==DialogResult.OK){//刷新stringsqltr="select*FromCourse";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);this.courseBindingSource.DataSource=ds.Tables[0];intc=this.courseBindingSource.Count;this.dataGridView1.Refresh();}}privatevoidbutton4_Click(objectsender,EventArgse){try{if(this.dataGridView1.SelectedRows.Count>0){DataGridViewRowdrw=dataGridView1.SelectedRows[0];DataGridViewCellcell=drw.Cells["cNumberDataGridViewTe*tBo*Column"];stringsql="DELETE[Course]Where[CNumber]="+cell.Value.ToString();newSqlHelper().E*ecuteNonQuery(sql,CommandType.Te*t);dataGridView1.Rows.Remove(drw);}MessageBo*.Show("刪除數據成功!");}catch{}}privatevoidbutton3_Click(objectsender,EventArgse){FormCourseSearchfas=newFormCourseSearch();fas.ShowDialog();}privatevoid關于ToolStripMenuItem_Click(objectsender,EventArgse){FormAboutfa=newFormAbout();fa.ShowDialog();}privatevoid退出*ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}5.1.3成績信息管理圖5-3成績管理界面代碼實現:namespaceStudent_MI{publicpartialclassFormSource:Form{publicFormSource(){InitializeComponent();}privatevoidFormSource_Load(objectsender,EventArgse){if(UserHelper.userType==UserType.Student){for(inti=0;i<this.Controls.Count;i++){if(this.Controls[i].GetType().Equals(typeof(Button))){this.Controls[i].Enabled=false;}}}this.button4.Enabled=true;this.scoreTableAdapter.Fill(this.studentManagerDataSet3.Score);this.lbInfo.Te*t="登錄人:"+UserHelper.user;}privatevoidbutton1_Click(objectsender,EventArgse){FormAddScorefas=newFormAddScore();if(fas.ShowDialog()==DialogResult.OK){//刷新stringsqltr="select*From[Score]";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);this.dataGridView1.DataSource=ds.Tables[0];intc=this.scoreBindingSource.Count;this.dataGridView1.Refresh();}}privatevoidbutton2_Click(objectsender,EventArgse){this.scoreTableAdapter.Update(this.studentManagerDataSet3.Score);}privatevoidtoolStrip1_ItemClicked(objectsender,ToolStripItemClickedEventArgse){}privatevoidbutton4_Click(objectsender,EventArgse){FormScoreManagefsm=newFormScoreManage();fsm.ShowDialog();}privatevoidbutton5_Click(objectsender,EventArgse){try{if(this.dataGridView1.SelectedRows.Count>0){DataGridViewRowdrw=dataGridView1.SelectedRows[0];DataGridViewCellcell=drw.Cells["idDataGridViewTe*tBo*Column"];stringsql="DELETE[Score]Where[id]="+cell.Value.ToString();newSqlHelper().E*ecuteNonQuery(sql,CommandType.Te*t);dataGridView1.Rows.Remove(drw);}MessageBo*.Show("刪除數據成功!");}catch{}}privatevoid關于AToolStripMenuItem_Click(objectsender,EventArgse){FormAboutfa=newFormAbout();fa.ShowDialog();}privatevoid退出*ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}5.1.4學生信息管理圖5-4學生信息界面代碼實現:namespaceStudent_MI{publicpartialclassFormStudents:Form{publicFormStudents(){InitializeComponent();}privatevoidFormStudents_FormClosing(objectsender,FormClosingEventArgse){}privatevoidFormStudents_Load(objectsender,EventArgse){//UserHelper.userType=UserType.Student;if(UserHelper.userType!=UserType.Admin){for(inti=0;i<this.Controls.Count;i++){if(this.Controls[i].GetType().Equals(typeof(Button))){this.Controls[i].Enabled=false;}}}this.button5.Enabled=true;//TODO:這行代碼將數據加載到表"〞中。您可以根據需要移動或移除它。this.studentTableAdapter1.Fill(this.studentManagerDataSet.Student);this.studentTableAdapter.Fill(this.studentManagerDataSet1.Student);this.lbInfo.Te*t="登錄人:"+UserHelper.user;}privatevoidbutton1_Click(objectsender,EventArgse){FormAddStudentfas=newFormAddStudent();if(fas.ShowDialog()==DialogResult.OK){//刷新stringsqltr="select*FromStudent";SqlCommandcmd=DBHelper.con.CreateCommand();cmdmandTe*t=sqltr;cmdmandType=CommandType.Te*t;SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);this.studentBindingSource.DataSource=ds.Tables[0];intc=this.studentBindingSource.Count;this.dataGridView1.Refresh();}}privatevoidbutton4_Click(objectsender,EventArgse){this.studentTableAdapter.Update(this.studentManagerDataSet1.Student);}privatevoidbutton2_Click(objectsender,EventArgse){try{if(this.dataGridView1.SelectedRows.Count>0){DataGridViewRowdrw=dataGridView1.SelectedRows[0];DataGridViewCellcell=drw.Cells["sNumberDataGridViewTe*tBo*Column"];stringsql="DELETE[Student]Where[SNumber]="+cell.Value.ToString();newSqlHelper().E*ecuteNonQuery(sql,CommandType.Te*t);dataGridView1.Rows.Remove(drw);}MessageBo*.Show("刪除數據成功!");}catch{}}privatevoidbutton5_Click(objectsender,EventArgse){FormStudentSearchfas=newFormStudentSearch();fas.ShowDialog();}privatevoid關于AToolStripMenuItem_Click(objectsender,EventArgse){FormAboutfa=newFormAbout();fa.ShowDialog();}privatevoid退出*ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();}}}5.2數據庫操作namespaceStudent_MI{publicclassSqlHelper{privateSqlConnectionconn=null;privateSqlCommandcmd=null;privateSqlDataReadersdr=null;//下載于publicSqlHelper(){stringconnStr="DataSource=.\\SQL2008;InitialCatalog=StudentManager;uid=sa;pwd=sa";conn=newSqlConnection(connStr);}privateSqlConnectionGetConn(){if(conn.State==ConnectionState.Closed){conn.Open();}returnconn;}///<summary>///執(zhí)行不帶參數的增刪改SQL語句或存儲過程///</summary>///<paramname="cmdTe*t">增刪改SQL語句或存儲過程</param>///<paramname="ct">命令類型</param>///<returns></returns>publicintE*ecuteNonQuery(stringcmdTe*t,CommandTypect){intres;try{cmd=newSqlCommand(cmdTe*t,GetConn());cmdmandType=ct;res=cmd.E*ecuteNonQuery();}catch(E*ceptione*){throwe*;}finally{if(conn.State==ConnectionState.Open){conn.Close();}}returnres;}///<summary>///執(zhí)行帶參數的增刪改SQL語句或存儲過程///</summary>///<paramname="cmdTe*t">增刪改SQL語句或存儲過程</param>///<paramname="ct">命令類型</param>///<returns></returns>publicintE*ecuteNonQuery(stringcmdTe*t,SqlParameter[]paras,CommandTypect){intres;try{using(cmd=newSqlCommand(cmdTe*t,GetConn())){cmdmandType=ct;cmd.Parameters.AddRange(paras);res=cmd.E*ecuteNonQuery();}}catch(E*ceptione*){throwe*;}returnres;}///<summary>///執(zhí)行查詢SQL語句或存儲過程///</summary>///<paramname="cmdTe*t">查詢SQL語句或存儲過程</param>///<paramname="ct">命令類型</param>///<returns></returns>publicDataTableE*ecuteQuery(stringcmdTe*t,CommandTypect){DataTabledt=newDataTable();cmd=newSqlCommand(cmdTe*t,GetConn());cmdmandType=ct;try{using(sdr=cmd.E*ecuteReader(CommandBehavior.CloseConnection)){dt.Load(sdr);}}catch(E*ceptione*){throwe*;}finally{if(conn.State==ConnectionState.Open){conn.Close();}}returndt;}///<summary>///執(zhí)行帶參數的查詢SQL語句或存儲過程///</summ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 原地回遷合同范本
- 體育冠名合同范本
- 合同范例起訴書
- 展會招商渠道合同范本
- 單位簽合同范例
- 合同范本格式 字體
- 冷鏈車輛采購合同范本
- 臨時安置房建設合同范本
- 樓地面找平合同范本
- 合同范例機械產品
- 產品方案設計模板
- 部隊通訊員培訓
- 《市值管理探究的國內外文獻綜述》4000字
- 2024-2030年中國企業(yè)在安哥拉投資建設化肥廠行業(yè)供需狀況及發(fā)展風險研究報告版
- 物業(yè)公司水浸、水管爆裂事故應急處置預案
- 河南省公務員面試真題匯編7
- 高管履歷核實調查報告
- SF-T0095-2021人身損害與疾病因果關系判定指南
- 2024并網光伏逆變器技術規(guī)范
- 文言文多文本閱讀:叔向見韓宣子(附答案解析與譯文)
- 工程招投標模擬實訓報告范文2024年
評論
0/150
提交評論