版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、洛 陽(yáng) 理 工 學(xué) 院課 程 設(shè) 計(jì) 報(bào) 告 課程名稱 數(shù)據(jù)庫(kù)課程設(shè)計(jì) 設(shè)計(jì)題目 教務(wù)管理系統(tǒng) 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) B120505 學(xué) 號(hào) 姓 名 完成日期 2015-1-4 課 程 設(shè) 計(jì) 任 務(wù) 書設(shè)計(jì)題目: 教務(wù)管理系統(tǒng) 設(shè)計(jì)內(nèi)容與要求:設(shè)計(jì)教務(wù)管理系統(tǒng),類似于我校教務(wù)管理系統(tǒng),有四類用戶:教務(wù)員、學(xué)生、教師、管理員教務(wù)員可以輸入學(xué)生、教師、班級(jí)、課程信息。一個(gè)班級(jí)只屬于一個(gè)專業(yè),一個(gè)學(xué)生只屬于一個(gè)班級(jí)。教務(wù)員負(fù)責(zé)輸入每個(gè)專業(yè)、每個(gè)班級(jí)需要學(xué)習(xí)哪些課程,指定課程的任課教師。教師可以查看學(xué)習(xí)該課程的學(xué)生名單。課程結(jié)束后,教師可以錄入課程成績(jī)。一個(gè)教師可以教授多個(gè)班的多門課程,
2、每門課由多位老師講授。課程分兩類,必修課和選修課。系統(tǒng)要記錄每個(gè)學(xué)生學(xué)習(xí)各門必修課的成績(jī),還要記錄學(xué)生選修了哪些選修課以及課程成績(jī)。學(xué)生可以查看自己各門課程的成績(jī)。學(xué)生還可以進(jìn)行評(píng)教,給老師打分。管理員可以輸入教室信息,并結(jié)合班級(jí)、課程、教室信息實(shí)現(xiàn)自動(dòng)排課。要求: 1.完成本系統(tǒng)的需求分析,寫出功能需求和數(shù)據(jù)需求描述; 2.完成數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì); 3.完成本系統(tǒng)的部分功能模塊的程序界面設(shè)計(jì)。 指導(dǎo)教師: 高春玲 2014 年 12 月 28 日課 程 設(shè) 計(jì) 評(píng) 語(yǔ) 成績(jī): 指導(dǎo)教師:_ 年 月 日目錄1、 概述 21.1、本設(shè)計(jì)的目的與意義21.2、數(shù)據(jù)庫(kù)開
3、發(fā)工具和應(yīng)用程序開發(fā)工具22、 需求分析 22.1功能需求22.2數(shù)據(jù)需求23、 概念結(jié)構(gòu)設(shè)計(jì) 23.1、E-R模型設(shè)計(jì)23.2、總體E-R圖描述44、 邏輯結(jié)構(gòu)設(shè)計(jì) 44.1、關(guān)系模型44.2、關(guān)系模式的優(yōu)化與說明45、 物理結(jié)構(gòu)設(shè)計(jì) 55.1建立數(shù)據(jù)庫(kù) 55.2表與表結(jié)構(gòu) 56、 應(yīng)用程序設(shè)計(jì) 66.1、系統(tǒng)總體結(jié)構(gòu) 66.2、系統(tǒng)界面與源代碼 76.2.1、界面 76.2.2、功能描述 96.2.3、程序源代碼 9七、設(shè)計(jì)總結(jié) 23八、體會(huì)與收獲 24九、參考文獻(xiàn) 24一、 概述本系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)采用Microsoft SQL Server 數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)系統(tǒng)在安全性、準(zhǔn)確性和運(yùn)行速度方
4、面有絕對(duì)的優(yōu)勢(shì),并且處理數(shù)據(jù)量大,效率高;前臺(tái)采用Microsoft 公司的Visual Studio 2010作為主要開發(fā)工具,可與SQL Server 2008數(shù)據(jù)庫(kù)無縫鏈接。2、 需求分析2.1、功能需求本系統(tǒng)的功能如下:1)學(xué)生信息查詢:學(xué)生可以根據(jù)學(xué)號(hào)、姓名、專業(yè)進(jìn)行查詢.2)學(xué)生信息管理:主要是用于學(xué)生信息更新、插入、刪除;3)學(xué)生成績(jī)錄入:用于學(xué)生成績(jī)管理,錄入學(xué)生成績(jī),也可以更新;2.2、數(shù)據(jù)需求本系統(tǒng)需要的數(shù)據(jù)如下:學(xué)生:學(xué)號(hào)、姓名、性別、年齡教師:工號(hào)、姓名、性別、年齡班級(jí):班號(hào)、班名、人數(shù)、課程:課程號(hào)、課程名、上課時(shí)間、上課地點(diǎn)專業(yè):專業(yè)號(hào)、專業(yè)名3、 概念結(jié)構(gòu)設(shè)計(jì)3.
5、1、E-R模型設(shè)計(jì)(E-R圖)學(xué)生和教師實(shí)體及其屬性E-R圖教師與課程E-R圖部分實(shí)體的E-R圖總體E-R圖3.2、總體E-R圖描述 學(xué)生與班級(jí)之間的聯(lián)系是所屬關(guān)系(一對(duì)多關(guān)系)班級(jí)與專業(yè)之間的聯(lián)系是所屬關(guān)系(一對(duì)多關(guān)系)班級(jí)與課程之間的聯(lián)系是學(xué)習(xí)關(guān)系(多對(duì)多關(guān)系)學(xué)生選修一門選修課(一對(duì)多關(guān)系)學(xué)生評(píng)教老師所教課程(多對(duì)多關(guān)系)老師教授課程(多對(duì)多關(guān)系)四、邏輯結(jié)構(gòu)設(shè)計(jì)4.1、關(guān)系模型 學(xué)生(學(xué)號(hào)、姓名、性別、年齡、班號(hào)、選修課程號(hào)、分?jǐn)?shù))教師(工號(hào)、姓名、性別、年齡)班級(jí)(班號(hào)、班名、人數(shù)、專業(yè)名)課程(課程號(hào)、課程名)成績(jī)(必修課程號(hào)、班號(hào)、學(xué)號(hào)、分?jǐn)?shù))評(píng)教(學(xué)號(hào)、工號(hào)、課程號(hào)、評(píng)分)教
6、授(工號(hào)、課程號(hào))課程表(課程號(hào)、工號(hào)、上課時(shí)間 、上課地點(diǎn))(實(shí)現(xiàn)排課功能)用戶(用戶名、密碼、用戶類型)(存儲(chǔ)登陸查詢系統(tǒng)的人員信息)加粗表示外鍵、加下劃線表示主碼4.2、關(guān)系模式的優(yōu)化與說明例如:教授關(guān)系的依賴關(guān)系如下:(工號(hào)、課程號(hào))工號(hào)、課程號(hào)所以教授關(guān)系模式屬于第三范式教師關(guān)系的依賴關(guān)系如下:工號(hào)工號(hào)、姓名、性別、年齡因?yàn)闆]有非主屬性對(duì)碼的部分函數(shù)依賴,也沒有非主屬性對(duì)碼的傳遞函數(shù)依賴所以教師關(guān)系模式屬于第三范式五、物理結(jié)構(gòu)設(shè)計(jì)5.1、數(shù)據(jù)庫(kù)的建立5.2、表與表結(jié)構(gòu)班級(jí)(Class)表的結(jié)構(gòu)課程(Course)表的結(jié)構(gòu)學(xué)生(Student)表的結(jié)構(gòu)教師(Teacher)表的結(jié)構(gòu)評(píng)教
7、(Judge)表的結(jié)構(gòu)教授(Teach)表的結(jié)構(gòu)成績(jī)(Grade)表的結(jié)構(gòu)六、應(yīng)用程序設(shè)計(jì)6.1、系統(tǒng)總體結(jié)構(gòu)1)主界面:登陸界面,通過選擇用戶類型,輸入用戶名密碼,點(diǎn)擊登錄進(jìn)入不同界面。2)子界面:不同用戶類型的界面不相同,學(xué)生可以查詢成績(jī),老師可以查看自己所教課程有哪些學(xué)習(xí),教務(wù)員可以實(shí)現(xiàn)排課功能。他們都能夠修改自己的登錄密碼6.2、系統(tǒng)界面與源代碼6.2.1、界面登陸界面學(xué)生界面老師界面6.2.2、功能描述 1)登錄 2)學(xué)生查詢學(xué)習(xí)課程的成績(jī) 3)老師查詢學(xué)習(xí)所教課程的學(xué)生名單 4)修改登錄密碼 5)查看用戶基本信息6.2.3、程序源代碼using System;using Syste
8、m.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 教務(wù)管理系統(tǒng) public struct UserInform /結(jié)構(gòu)體存儲(chǔ)用戶輸入的信息 public static string UserType; public static string UserName; public static string UserSecre
9、t; public static LoginForm lg; public partial class LoginForm : Form /登陸界面 public LoginForm() InitializeComponent(); UserInform.lg= this; DataClasses1DataContext db; private void Cancelbutton_Click(object sender, EventArgs e) this.Close(); private void Loginbutton_Click(object sender, EventArgs e) d
10、b = new DataClasses1DataContext(); this.bindingSource1.DataSource = db.UserInfo; bool b = false; if (UtypecomboBox.SelectedIndex!=-1) UserInform.UserName = UnametextBox.Text; UserInform.UserSecret = UsecrettextBox.Text; UserInform.UserType = UtypecomboBox.SelectedItem.ToString(); var ss = from s in
11、db.UserInfo where s.Utype = UserInform.UserType select s; foreach (var x in ss) if (x.Uname.ToLower()= UserInform.UserName.ToLower()& x.Usecret = UserInform.UserSecret) MessageBox.Show(歡迎您登陸!); this.Visible = false; b = true; switch (UserInform.UserType) case 學(xué)生: StudentForm sf = new StudentForm();
12、sf.Show(); break; case 老師: TeacherForm tf = new TeacherForm(); tf.Show(); break; case 管理員: AdminForm af = new AdminForm(); af.Show(); break; case 教務(wù)員: JwForm jw = new JwForm(); jw.Show(); break; if (!b) MessageBox.Show(用戶名不存在或密碼錯(cuò)誤); UsecrettextBox.Clear(); UnametextBox.Focus(); return; else MessageB
13、ox.Show(請(qǐng)選擇用戶類型); UnametextBox.Clear(); UsecrettextBox.Clear(); UnametextBox.Focus(); return; public partial class StudentForm : Form /學(xué)生界面 public StudentForm() InitializeComponent(); DataClasses1DataContext db; private void StudentForm_Load(object sender, EventArgs e) db = new DataClasses1DataConte
14、xt(); SnotextBox.Text = UserInform.UserName; SnotextBox1.Text = UserInform.UserName; var ss = from s in db.Student where s.Sno = UserInform.UserName select s; foreach (var itm in ss) SnametextBox.Text = itm.Sname; SagetextBox.Text = itm.Sage.ToString(); SsextextBox.Text = itm.Ssex; private void labe
15、l4_Click(object sender, EventArgs e) this.Close(); UserInform.lg.Visible = true; private void label3_Click(object sender, EventArgs e) panel2.Visible = true; private void Enterbutton_Click(object sender, EventArgs e) db = new DataClasses1DataContext(); if (textBox1.Text = ) MessageBox.Show(請(qǐng)輸入原密碼);
16、textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox1.Focus(); else if (textBox1.Text = UserInform.UserSecret) if(textBox2.Text=textBox3.Text) var ss = from s in db.UserInfo where s.Uname = UserInform.UserName & s.Utype = UserInform.UserType select s; var ui = ss.FirstOrDefault(); if (ui !=
17、 null) ui.Usecret = textBox2.Text; db.SubmitChanges(); MessageBox.Show(修改成功); textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); panel2.Visible = false; else MessageBox.Show(兩次輸入應(yīng)相同); textBox3.Clear(); textBox3.Focus(); else MessageBox.Show(原密碼輸入錯(cuò)誤,請(qǐng)重新輸入); textBox1.Clear(); textBox2.Clear(); text
18、Box3.Clear(); textBox1.Focus(); private void Cancelbutton_Click(object sender, EventArgs e) textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); panel2.Visible = false; private void StudentForm_FormClosing(object sender, FormClosingEventArgs e) db = new DataClasses1DataContext(); this.bindingSource
19、1.DataSource = db.UserInfo; try this.bindingSource1.EndEdit(); db.SubmitChanges(); catch (Exception ex) MessageBox.Show(ex.Message, 失敗); private void Gradebutton_Click(object sender, EventArgs e) db = new DataClasses1DataContext(); if (CnametextBox.Text != ) var ss = from s in db.Course where s.Cnam
20、e = CnametextBox.Text select s; var cs = ss.FirstOrDefault(); if (cs != null) var s1 = from s2 in db.Grade where s2.Gkehao = cs.Cno & s2.Gxuehao = UserInform.UserName select s2; foreach (var item in s1) GradelistBox.Items.Add(CnametextBox.Text + 的成績(jī)?yōu)?+ item.Ggrade.ToString(); else GradelistBox.Items
21、.Add(此課程不存在) GradelistBox.Items.Add(請(qǐng)重新輸入); CnametextBox.Clear(); CnametextBox.Focus(); private void Clearbutton_Click(object sender, EventArgs e) GradelistBox.Items.Clear(); private void tabPage1_Click(object sender, EventArgs e) public partial class TeacherForm : Form /老師界面 public TeacherForm() In
22、itializeComponent(); DataClasses1DataContext db; private void Enterbutton_Click(object sender, EventArgs e) db = new DataClasses1DataContext(); if (textBox1.Text = ) MessageBox.Show(請(qǐng)輸入原密碼); textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox1.Focus(); else if (textBox1.Text = UserInform.U
23、serSecret) if (textBox2.Text = textBox3.Text) var ss = from s in db.UserInfo where s.Uname = UserInform.UserName & s.Utype = UserInform.UserType select s; var ui = ss.FirstOrDefault(); if (ui != null) ui.Usecret = textBox2.Text; db.SubmitChanges(); MessageBox.Show(修改成功); textBox1.Clear(); textBox2.C
24、lear(); textBox3.Clear(); panel2.Visible = false; else MessageBox.Show(兩次輸入應(yīng)相同); textBox3.Clear(); textBox3.Focus(); else MessageBox.Show(原密碼輸入錯(cuò)誤,請(qǐng)重新輸入); textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox1.Focus(); private void label4_Click_1(object sender, EventArgs e) this.Close(); User
25、Inform.lg.Visible = true; private void TeacherForm_Load(object sender, EventArgs e) db = new DataClasses1DataContext(); SnotextBox.Text = UserInform.UserName; SnotextBox1.Text = UserInform.UserName; var ss = from s in db.Teacher where s.Tno = UserInform.UserName select s; foreach (var itm in ss) Sna
26、metextBox.Text = itm.Tname; SagetextBox.Text = itm.Tage.ToString(); SsextextBox.Text = itm.Tsex; private void TeacherForm_FormClosing(object sender, FormClosingEventArgs e) db = new DataClasses1DataContext(); this.bindingSource1.DataSource = db.UserInfo; try this.bindingSource1.EndEdit(); db.SubmitC
27、hanges(); catch (Exception ex) MessageBox.Show(ex.Message, 失敗); private void label3_Click(object sender, EventArgs e) if (panel2.Visible = false) panel2.Visible = true; else panel2.Visible = false; private void Cancelbutton_Click(object sender, EventArgs e) textBox1.Clear(); textBox2.Clear(); textBo
28、x3.Clear(); panel2.Visible = false; private void label5_Click(object sender, EventArgs e) db = new DataClasses1DataContext(); var ss = from s in db.Teach where s.Tno = UserInform.UserName select s; if (ss != null) SelectTable st = new SelectTable(); foreach (var item in ss) if (item.Tcno.StartsWith(
29、X) var s1 = from s in db.Student where s.Skehao = item.Tcno select new 課號(hào) = s.Skehao, 學(xué)號(hào) = s.Sno, 學(xué)生姓名 = s.Sname, 性別 = s.Ssex, 成績(jī) = s.Sgrade ; st.lb.Items.Add(課號(hào)t學(xué)號(hào)tt姓名t性別t成績(jī)); foreach (var im in s1) st.lb.Items.Add(im.課號(hào)+t+im.學(xué)號(hào)+t+im.學(xué)生姓名+t+im.性別+t+im.成績(jī)); else var s1 = from s in db.Grade where s.G
30、kehao = item.Tcno select s; st.lb.Items.Add(課號(hào)t學(xué)號(hào)tt姓名t性別t成績(jī)); foreach (var itm in s1) var s2 = from s in db.Student where s.Sno= itm.Gxuehao select new 課號(hào)=itm.Gkehao,學(xué)號(hào)= itm.Gxuehao,學(xué)生姓名= s.Sname, 性別=s.Ssex,成績(jī)= itm.Ggrade ; var iem = s2.FirstOrDefault(); st.lb.Items.Add(iem.課號(hào) + t + iem.學(xué)號(hào) + t + iem.學(xué)生姓名 + t + iem.性別 + t + iem.成績(jī)); st.Show(); else MessageBox.Show(該老師今年沒有教授任何課程); return; private void label6_Click(object sender, EventArgs e) db = new DataClasses1DataContext(); var ss = from s in db.Teach where s.Tno = UserInform.UserName select s; if (ss != null) GradeChange gc = new Grade
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度科技創(chuàng)業(yè)項(xiàng)目股權(quán)眾籌委托投資合同
- 二零二五年度車輛綠色出行補(bǔ)貼購(gòu)買合同
- 二零二五年度經(jīng)典實(shí)習(xí)合同(法律事務(wù)實(shí)習(xí))
- 2025年度證券公司內(nèi)部控制體系建設(shè)及風(fēng)險(xiǎn)管理體系優(yōu)化委托合同
- 二零二五年度金融機(jī)構(gòu)與個(gè)人客戶協(xié)議存款業(yè)務(wù)合同
- 二零二五年度版水庫(kù)魚塘承包與漁業(yè)養(yǎng)殖技術(shù)培訓(xùn)合同
- 2025年度項(xiàng)目管理顧問聘用合同書
- 二零二五年度演出活動(dòng)藝人合同解除及免責(zé)合同
- 2025年度私人車位租賃與車位租賃期限調(diào)整合同
- 2025年度解聘勞動(dòng)合同補(bǔ)償標(biāo)準(zhǔn)與員工終身學(xué)習(xí)支持合同
- 機(jī)電安裝工程安全培訓(xùn)
- 洗浴部前臺(tái)收銀員崗位職責(zé)
- 2024年輔警考試公基常識(shí)300題(附解析)
- GB/T 43650-2024野生動(dòng)物及其制品DNA物種鑒定技術(shù)規(guī)程
- 暴發(fā)性心肌炎查房
- 工程質(zhì)保金返還審批單
- 【可行性報(bào)告】2023年電動(dòng)自行車項(xiàng)目可行性研究分析報(bào)告
- 五月天歌詞全集
- 商品退換貨申請(qǐng)表模板
- 實(shí)習(xí)單位鑒定表(模板)
- 數(shù)字媒體應(yīng)用技術(shù)專業(yè)調(diào)研方案
評(píng)論
0/150
提交評(píng)論