外聘教師管理系統的設計與實現_第1頁
外聘教師管理系統的設計與實現_第2頁
外聘教師管理系統的設計與實現_第3頁
外聘教師管理系統的設計與實現_第4頁
外聘教師管理系統的設計與實現_第5頁
已閱讀5頁,還剩24頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課程設計報告外聘教師管理系統的設計與實現課程《數據庫原理及應用》班級姓名學號指導教師時間:2012年5月21日至2012年5月25日?指導教師對課程設計(論文)的評語(工作態度、任務完成情況、能力水平、設計說明書(論文)的撰寫和圖紙質量等):成績指導教師簽字年月日?目錄TOC\o"1-2"\h\z\uHYPERLINK\l"_Toc327344146"第一章開發背景?PAGEREF_Toc327344146\h1HYPERLINK\l"_Toc327344147"第二章功能描述?PAGEREF_Toc327344147\h2HYPERLINK\l"_Toc327344148"第三章業務流程分析?327344148\h3HYPERLINK\l"_Toc327344149"第四章數據流程分析?7344149\h4HYPERLINK\l"_Toc327344150"4.1數據流程圖?PAGEREF_Toc327344150\h4HYPERLINK4.2數據字典 PAGEREF_Toc327344151\h4HYPERLINK\l"_Toc327344152"第五章概念模型設計?PAGEREF_Toc327344152\h8HYPERLINK第六章邏輯模型設計和優化 PAGEREF_Toc327344153\h10HYPERLINK第七章物理設計和實施?PAGEREF_Toc327344154\h11HYPERLINK\l"_Toc327344155"第八章系統測試 PAGEREF_Toc327344155\h13HYPERLINK\l"_Toc327344156"第九章課程設計心得體會?PAGEREF_Toc327344156\h25HYPERLINK參考文獻 PAGEREF_Toc327344157\h26第一章開發背景數據庫技術作為計算機及相關專業的一門課程,數據庫原理開發課程的目的是:掌握數據庫德基本原理基本概念及基本技術;能夠應用這些理論和技術合理設計數據庫;更重要的是通過課程設計掌握所學的知識,融會貫通,初步具有開發完整可用的數據庫系統能力。由于數據庫具有結構化、最低镕余度、較高的程序與數據獨立性、易于擴充、易于編制應用程序等優點,較大的信息系統都是建立在數據庫設計之上。本系統主要是面向外聘教師管理系統,如今,各大院校都有一些外聘教師,此系統可以用于幫助各院校實施對外聘教師的信息,課程,工資等實施有效的管理。第二章功能描述這個系統主要是用來對外聘教師信息進行有效的管理,主要的功能模塊包括增加、刪除、修改外聘教師個人信息等。系統中,不同權限的用戶所能行使的功能不同。有2類用戶:(1)管理員:可以查看并修改外聘教師的各種信息、各種信息的錄入、瀏覽其他外聘教師的信息,也可以對數據進行修改。(2)普通用戶(包括學生及其他用戶):可以瀏覽其他外聘教師的信息(包括個人信息,系部信息),可以瀏覽一些課程信息??梢孕薷淖约旱牡卿浢艽a,但不能修改個人及其他外聘老師信息。具體相關模塊功能:(1)外聘教師信息維護包括外聘教師信息的增加、刪除和修改。(2)外聘教師信息查詢主要分為按系部查詢、按課程名稱以及教師姓名查詢等,可以按照系部查詢外聘教師的基本信息,統計外聘教師總人數,按職稱和學歷等統計各系部的外聘教師分布情況。也可以通過課程名稱或教師姓名,查詢教師個人信息,不可以對查詢信息進行修改。(3)工資管理根據外聘教師的代課數量和代課金級別,計算當月工資。(4)學校信息維護系統管理員用來維護維護系部信息、課程信息以及代課金級別等,包括信息的增加、刪除、修改等功能。(5)系統管理包括登陸管理、權限設置、更改密碼等功能。第三章業務流程分析根據對外聘教師管理的業務過程描述,得到的業務流程圖如圖3.1所示。外聘教師辦外聘教師辦增加外聘教師信息刪除外聘教師信息修改外聘教師信息外聘教師信息表按系部查詢按課程查詢按教師查詢外聘教師課程申報課程表工資查詢圖3.1外聘教師管理業務流程圖第四章數據流程分析S001外聘教師辦S002外聘教師P001外聘教師信息維護S001外聘教師辦S002外聘教師P001外聘教師信息維護外聘教師信息P001D001管理增加、刪除。D003修改信息S002教師S002教師P003按授課信息發工資管理部門S001P001個人信息P002課程信息查詢P003工資信息圖4.2數據流程圖二4.2數據字典(1)數據流的描述數據流編號:D001數據流名稱:管理信息數據流來源:系統管理員數據流去向:外聘教師管理系統數據流量:1000/天高峰流量:3000/天數據流編號:D002數據流名稱:查詢信息數據流來源:用戶數據流去向:外聘教師管理系統數據流量:1000/天高峰流量:3000/天 數據流編號:D003數據流名稱:添加或修改的教師信息數據流來源:教師信息管理數據流去向:教師信息數據流量:1000/天高峰流量:2000/天數據流編號:D004數據流名稱:添加或修改的課程信息數據流來源:課程信息管理數據流去向:課程信息數據流量:1000/天高峰流量:2000/天數據流編號:D005數據流名稱:獲取數據數據流來源:外聘教師管理系統數據流去向:管理員數據流量:1000/天高峰流量:3000/天數據流編號:D006數據流名稱:修改數據數據流來源:外聘教師管理系統數據流去向:管理員數據流量:1000/天高峰流量:3000/天數據流編號:D007數據流名稱:系部信息修改數據流來源:系部信息管理數據流去向:系部信息數據流量:1000/天高峰流量:3000/天數據流編號:D008數據流名稱:教師名單數據流來源:外聘教師管理系統數據流去向:教師信息管理數據流量:1000/天高峰流量:3000/天(2)處理邏輯的描述處理邏輯編號:P001處理邏輯名稱:教師信息管理簡述:查詢教師的相關資料輸入的數據流:教師名單處理描述:根據用戶的查詢信息,進行相關查閱輸出的數據流:添加或修改的教師信息處理頻率:10次/天處理邏輯編號:P002處理邏輯名稱:課程信息簡述:增加或修改課程信息輸入的數據流:課程信息處理描述:增加即將開設的課程輸出的數據流:添加或修改的課程信息處理頻率:10次/天處理邏輯編號:P003處理邏輯名稱:工資信息簡述:查詢外聘教師工資情況輸入的數據流:工資信息處理描述:外聘教師工資發放輸出的數據流:工資信息記錄處理頻率:10次/天(3)數據存儲的描述數據存儲編號:F001數據存儲名稱:外聘教師信息簡述:外聘教師的基本信息數據存儲組成:姓名+年齡+性別+國籍+系部+學歷+職稱+課程關鍵字:姓名相關聯的處理:P001,P002數據存儲編號:F002數據存儲名稱:課程信息簡述:課程的相關信息數據存儲組成:課程名+授課地點+授課時間+每課時工資關鍵字:課程名相關聯的處理:P002,P003 數據存儲編號:F003數據存儲名稱:工資信息簡述:工資的相關信息數據存儲組成:教師+工資關鍵字:教師名相關聯的處理:P001,P003(4)外部實體的描述外部實體編號:S001外部實體名稱:系統管理員簡述:管理系統的人輸入的數據流:無輸出的數據流:D001外部實體編號:S002外部實體名稱:普通用戶簡述:使用系統的人輸入的數據流:無輸出的數據流:D002第五章概念模型設計根據系統數據流圖和數據字典,得出系統的總體概念模型(E-R)如圖5.1、圖5.2所示。圖5.1外聘教師管理E-R圖圖5.2教師管理實體E-R圖第六章邏輯模型設計和優化根據系統的總體概念設計模型、E-R圖向關系模式的轉化規則和數據庫的范式理論,得到系統優化后的邏輯模型,如表1~表6所示。表1教師基本信息表姓名年齡性別國籍系部課程學歷職稱表2課程信息表課程名授課地點授課時間每課時工資表3工資表姓名代課工資表4系部信息表編號系部信息表5管理員賬戶表用戶名登錄密碼表6普通用戶賬戶表用戶名登錄密碼第七章物理設計和實施得到系統邏輯模型后,就該進行數據庫的物理設計和實施數據庫了,物理設計主要是要確定數據庫的存儲路徑、存儲結構以及如何建立索引等,可以采用系統的默認設置。數據庫實施主要包括在具體的DBMS中創建數據庫和表的過程,本設計所選用的DBMS為SQLSERVER2005,有關創建數據庫和關系表的SQL語句如下所示:(1)創建數據庫CREATEDATABASE外聘教師管理系統ON(?NAME=外聘教師管理系統_DATA,?FILENAME='D:\我的文檔\數據庫\外聘教師管理系統_DATA',?SIZE=5MB, MAXSIZE=10MB, FILEGROWTH=5%)LOGON( NAME=外聘教師管理系統_LOG, FILENAME='D:\我的文檔\數據庫\外聘教師管理系統_LOG',?SIZE=2MB,MAXSIZE=10MB, FILEGROWTH=1MB)(2)創建數據庫的表CREATETABLE外聘教師信息( 編號varchar(10),?姓名varchar(14)NOTNULL,?職稱varchar(6)NULL, 性別varchar(2)CHECK(性別in('男','女'))DEFAULT'女', 授課varchar(14)NOTNULL,?院系varchar(16)DEFAULT'該老師未分配系別', 學歷varchar(6)DEFAULT'本科',?國籍varchar(10)NOTNULL)CREATETABLE工資信息( 姓名varchar(10), 工資intNOTNULL, CONSTRAINT姓名 PRIMARYKEY(姓名))CREATETABLE課程信息(?課程名varchar(50), 授課地點varchar(50), 每課時工資varchar(50),所屬系別varchar(50), PRIMARYKEY(課程名))CREATETABLE系部信息(?編號varchar(50), 系別varchar(50), PRIMARYKEY(編號))CREATETABLE普通用戶登錄賬戶( IDvarchar(50), PASSWORDvarchar(50), PRIMARYKEY(ID))CREATETABLE管理員登錄賬戶(?IDvarchar(50),?PASSWORDvarchar(50),?PRIMARYKEY(ID))Go第八章系統測試經系統測試,各功能完成良好,以下是測試時出現的一些界面:(1)登錄界面圖8.1登錄界面代碼如下:privatevoidbutton1_Click(objectsender,EventArgse){using(SqlConnectionsqlconn=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)){try{SqlCommandsqlcmd=sqlconn.CreateCommand();if(comboBox1.Text=="普通用戶登錄"){sqlcmd.CommandText="SELECT*FROM普通用戶登錄賬戶WHEREID='"+textBox1.Text+"'"+"ANDPASSWORD='"+textBox2.Text+"'";sqlconn.Open();//===打開數據庫連接======SqlDataReaderdr=sqlcmd.ExecuteReader();if(dr.Read()){//MessageBox.Show("登錄成功?。?;this.Hide();//MainForm.isRunMain=true;FrmMainM=newFrmMain();M.User=textBox1.Text.Trim();M.Show();FormN=newForm();N.Close();//this.Close();}else{MessageBox.Show("用戶名或者密碼錯誤,請重新輸入!");textBox1.Clear();textBox2.Clear();textBox1.Focus();}}elseif(comboBox1.Text=="管理員登錄"){sqlcmd.CommandText="SELECT*FROM管理員登錄賬戶WHEREID='"+textBox1.Text+"'"+"ANDPASSWORD='"+textBox2.Text+"'";sqlconn.Open();//===打開數據庫連接======SqlDataReaderdr=sqlcmd.ExecuteReader();if(dr.Read()){//MessageBox.Show("登錄成功!");this.Hide();//MainForm.isRunMain=true;PtMainM=newPtMain();M.User=textBox1.Text.Trim();M.Show();FormN=newForm();N.Close();//this.Close();}else{MessageBox.Show("用戶名或者密碼錯誤,請重新輸入!");textBox1.Clear();textBox2.Clear();textBox1.Focus();}}else{MessageBox.Show("請選擇登錄界面");}}catch(ExceptionE){MessageBox.Show(E.Message);}}}(2)普通用戶界面圖8.2普通用戶界面代碼如下:privatevoid退出系統ToolStripMenuItem1_Click(objectsender,EventArgse){this.Close();}privatevoid查詢ToolStripMenuItem_Click(objectsender,EventArgse){TeacherInfoM=newTeacherInfo();M.Show();}privatevoid修改口令ToolStripMenuItem_Click(objectsender,EventArgse){CouInfoC=newCouInfo();C.Show();}privatevoid查詢ToolStripMenuItem1_Click(objectsender,EventArgse){XBInfoX=newXBInfo();X.Show();}privatevoid修改登錄口令ToolStripMenuItem_Click(objectsender,EventArgse){RePwdP=newRePwd();P.name=User;P.Show();}privatevoid切換用戶ToolStripMenuItem_Click(objectsender,EventArgse){LoginL=newLogin();L.Show();this.Close();}privatevoidpanel1_Paint(objectsender,PaintEventArgse){}}}(3)管理員界面圖8.3管理員界面代碼如下:privatevoidPtmain_Load(objectsender,EventArgse){}privatevoid退出系統ToolStripMenuItem1_Click(objectsender,EventArgse){this.Close();}privatevoid查詢ToolStripMenuItem_Click(objectsender,EventArgse){TeacherInfoM=newTeacherInfo();M.Show();}privatevoid修改ToolStripMenuItem_Click(objectsender,EventArgse){TeacherInforN=newTeacherInfor();N.Show();}privatevoid統計教師人數ToolStripMenuItem_Click(objectsender,EventArgse){DBOperateoperate=newDBOperate();stringsql="selectcount(*)from教師信息";MessageBox.Show("教師人數為"+operate.HumanNum(sql).ToString()+"人");}privatevoid查詢ToolStripMenuItem2_Click(objectsender,EventArgse){CouInfoC=newCouInfo();C.Show();}privatevoid查詢ToolStripMenuItem1_Click(objectsender,EventArgse){XBInfoX=newXBInfo();X.Show();}privatevoid教師工資表ToolStripMenuItem_Click(objectsender,EventArgse){MonInfoMO.Show();}privatevoid修改ToolStripMenuItem1_Click(objectsender,EventArgse){CouInforCI=newCouInfor();CI.Show();}privatevoid修改ToolStripMenuItem2_Click(objectsender,EventArgse){XBInforXB=newXBInfor();XB.Show();}privatevoid切換用戶ToolStripMenuItem_Click(objectsender,EventArgse){LoginL=newLogin();L.Show();this.Close();}privatevoid修改口令ToolStripMenuItem_Click(objectsender,EventArgse){RePwd2P=newRePwd2();P.name=User;P.Show();}privatevoid管理用戶賬戶ToolStripMenuItem_Click(objectsender,EventArgse){ReUserU=newReUser();U.Show();}privatevoidpanel1_Paint(objectsender,PaintEventArgse){}}}(4)教師信息查詢界面圖8.4教師信息查詢界面代碼如下:privatevoidtoolStripLabel5_Click(objectsender,EventArgse){SqlConnectionsqlconn=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);sqlconn.Open();SqlCommandcmd=newSqlCommand("select*from教師信息where姓名like'"+text1.Text+"%'",sqlconn);cmd.Connection=sqlconn;sqlconn.Close();SqlDataAdaptersda=newSqlDataAdapter("select*from教師信息where姓名like'"+text1.Text+"%'",sqlconn);DataSetds=newDataSet();sda.Fill(ds,"table");this.dgvEmployee.DataSource=ds.Tables[0].DefaultView;}privatevoidtoolStripLabel7_Click(objectsender,EventArgse){SqlConnectionsqlconn=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);sqlconn.Open();SqlCommandcmd=newSqlCommand("select*from教師信息where課程like'"+text2.Text+"%'",sqlconn);cmd.Connection=sqlconn;sqlconn.Close();SqlDataAdaptersda=newSqlDataAdapter("select*from教師信息where課程like'"+text2.Text+"%'",sqlconn);DataSetds=newDataSet();sda.Fill(ds,"table");this.dgvEmployee.DataSource=ds.Tables[0].DefaultView;}privatevoidtoolStripLabel10_Click(objectsender,EventArgse){SqlConnectionsqlconn=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);sqlconn.Open();SqlCommandcmd=newSqlCommand("select*from教師信息where系部like'"+text3.Text+"%'",sqlconn);cmd.Connection=sqlconn;sqlconn.Close();SqlDataAdaptersda=newSqlDataAdapter("select*from教師信息where系部like'"+text3.Text+"%'",sqlconn);DataSetds=newDataSet();sda.Fill(ds,"table");this.dgvEmployee.DataSource=ds.Tables[0].DefaultView;}privatevoiddgvEmployee_CellContentClick(objectsender,DataGridViewCellEventArgse){}}(5)教師信息修改界面圖8.5教師信息管理界面代碼如下:privatevoidTeacherInfor_Load(objectsender,EventArgse){stringstr="SELECT*FROM教師信息";operate.BindDataGridView(dgvEmployee,str);dgvEmployee.Columns[0].Width=60;dgvEmployee.Columns[1].Width=40;treeView1.ImageList=imageList1;treeView1.ImageIndex=0;treeView1.SelectedImageIndex=0;stringsql="selectcount(*)from教師信息";toolStripStatusLabel2.Text=operate.HumanNum(sql).ToString()+"人";TreeNodetn=treeView1.Nodes.Add("所有系別");SqlConnectionconn=DBConnection.MyConnection();conn.Open();SqlCommandcmd=newSqlCommand("select*from系部信息",conn);SqlDataReadersdr=cmd.ExecuteReader();while(sdr.Read()){tn.Nodes.Add(sdr["系別"].ToString());}sdr.Close();conn.Close();treeView1.ExpandAll();}privatevoiddgvEmployee_CellContentClick(objectsender,DataGridViewCellEventArgse){}privatevoidtoolStripLabel1_Click(objectsender,EventArgse){AddTeaInfoN=newAddTeaInfo();N.Show();}privatevoidtoolStripLabel2_Click(objectsender,EventArgse){if(dgvEmployee.SelectedCells.Count==0){MessageBox.Show("請選擇要修改的數據","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}else{stringYGName=dgvEmployee.SelectedCells[0].Value.ToString();ReTeaInfoinfo=newReTeaInfo();info.YGName=YGName;info.YGID=dgvEmployee.SelectedCells[0].Value.ToString();info.ShowDialog();}}privatevoidtoolStripLabel3_Click(objectsender,EventArgse){try{if(dgvEmployee.SelectedCells.Count==0){MessageBox.Show("請選擇要刪除的數據","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}else{stringYGID=dgvEmployee.SelectedCells[0].Value.ToString();stringDelSql="deletefrom教師信息where姓名='"+YGID+"'";operate.OperateData(DelSql);operate.DeleUserInfo(YGID);MessageBox.Show("刪除成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);stringstr="SELECT*FROM教師信息";operate.BindDataGridView(dgvEmployee,str);}}catch{MessageBox.Show("刪除操作失?。?"提示",MessageBoxButtons.OK,MessageBoxIcon.Information);}}publicvoidTeacherInfor_Click(objectsender,EventArgse){stringstr="SELECT*FROM教師信息";operate.BindDataGridView(dgvEmployee,str);}privatevoidtoolStripLabel5_Click(objectsender,EventArgse){SqlConnectionsqlconn=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);sqlconn.Open();SqlCommandcmd=newSqlCommand("select*from教師信息where姓名like'"+text1.Text+"%'",sqlconn);cmd.Connection=sqlconn;sqlconn.Close();SqlDataAdaptersda=newSqlDataAdapter("select*from教師信息where姓名like'"+text1.Text+"%'",sqlconn);DataSetds=newDataSet();sda.Fill(ds,"table");this.dgvEmployee.DataSource=ds.Tables[0].DefaultView;}privatevoidtoolStripLabel7_Click(objectsender,EventArgse){SqlConnectionsqlconn=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);sqlconn.Open();SqlCommandcmd=newSqlCommand("select*from教師信息where課程like'"+text2.Text+"%'",sqlconn);cmd.Connection=sqlconn;sqlconn.Close();SqlDataAdaptersda=newSqlDataAdapter("select*from教師信息where課程like'"+text2.Text+"%'",sqlconn);DataSetds=newDataSet();sda.Fi

溫馨提示

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

評論

0/150

提交評論