




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、理 工 學(xué) 院課 程 設(shè) 計(jì) 報(bào) 告 課程名稱 數(shù)據(jù)庫課程設(shè)計(jì)設(shè)計(jì)題目 教務(wù)管理系統(tǒng) 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí)學(xué) 號(hào)姓 名完成日期2013年12月30 日 課 程 設(shè) 計(jì) 任 務(wù) 書設(shè)計(jì)題目: 教務(wù)管理系統(tǒng) 設(shè)計(jì)容與要求:類似于我校教務(wù)管理系統(tǒng),有四類用戶:教務(wù)員可以輸入學(xué)生、教師、班級(jí)、課程信息,一個(gè)班級(jí)只屬于一個(gè)專業(yè),一個(gè)學(xué)生只屬于一個(gè)班級(jí)。教務(wù)員負(fù)責(zé)輸入每個(gè)專業(yè)、每個(gè)班級(jí)需要學(xué)習(xí)哪些課程,指定課程的任課教師。教師可以查看學(xué)習(xí)該課程的學(xué)生。課程結(jié)束后,教師可以錄入課程成績。一個(gè)教師可以教授多個(gè)班的多門課程,每門課由多位老師講授。課程分兩類,必修課和選修課。系統(tǒng)要記錄每個(gè)學(xué)生學(xué)習(xí)各門必
2、修課的成績,還要記錄學(xué)生選修了哪些選修課以與課程成績。學(xué)生可以查看自己各門課程的成績。學(xué)生還可以進(jìn)行評(píng)教,給老師打分。系統(tǒng)管理員可以輸入教室信息,并結(jié)合班級(jí)、課程、教室信息實(shí)現(xiàn)自動(dòng)排課。 指導(dǎo)教師:2013年 12 月 20 日課 程 設(shè) 計(jì) 評(píng) 語 成績: 指導(dǎo)教師:_ 年 月 日30 / 32目錄1 概述.21.1課程設(shè)計(jì)目標(biāo).21.2 課程設(shè)計(jì)的背景和意義.21.1.2 課程設(shè)計(jì)的背景22 需求分析.32.1 系統(tǒng)需求.32.2 可行性分析.32.3 用戶要求.32.3.1 信息需求.32.3.2 處理需求.42.3.3. 課程設(shè)計(jì)的意義43概念結(jié)構(gòu)設(shè)計(jì).63.1設(shè)計(jì)分析.63.2概念模
3、型設(shè)計(jì).63.2.1 局部概念結(jié)構(gòu)設(shè)計(jì)63.2.2 全局概念結(jié)構(gòu)模型(E-R圖)74 邏輯結(jié)構(gòu)設(shè)計(jì).85 物理結(jié)構(gòu)設(shè)計(jì)105.1數(shù)據(jù)表的設(shè)計(jì)105.2數(shù)據(jù)庫完整性設(shè)計(jì)125.2.1 數(shù)據(jù)庫實(shí)體完整性設(shè)計(jì)125.2.2 數(shù)據(jù)庫參照完整性設(shè)計(jì)125.2.3 數(shù)據(jù)庫用戶定義完整性設(shè)計(jì)135.3數(shù)據(jù)庫安全性設(shè)計(jì)136 應(yīng)用程序設(shè)計(jì)146.1系統(tǒng)功能模塊圖146.2系統(tǒng)界面157 設(shè)計(jì)總結(jié)288 體會(huì)與收獲29參考文獻(xiàn)301 概述1.1 課程設(shè)計(jì)目標(biāo)課程設(shè)計(jì)總的目標(biāo)是衡量學(xué)生是否取得學(xué)習(xí)效果,培養(yǎng)學(xué)生具有專業(yè)初步的規(guī)劃、設(shè)計(jì)、制作能力。具體表現(xiàn)在容、功能、安全等方面合理策劃和規(guī)劃;培養(yǎng)具有主頁和二級(jí)頁面
4、的創(chuàng)意、設(shè)計(jì)等方面的技術(shù)處理能力和具有強(qiáng)大的動(dòng)態(tài)效果制作能力。培養(yǎng)學(xué)生具有基于后臺(tái)數(shù)據(jù)庫的編程技術(shù),實(shí)現(xiàn)客戶服務(wù)器端交互式動(dòng)態(tài)網(wǎng)頁的制作能力,掌握實(shí)際網(wǎng)頁設(shè)計(jì)與制作開發(fā)流程和開發(fā)方法。1.2 課程設(shè)計(jì)的背景與意義現(xiàn)如今高等院校的招生人數(shù)越來越多,必然就會(huì)有大量的學(xué)生信息、教師信息與課程信息需要處理。如果只靠人力來完成,這將會(huì)變成一項(xiàng)非常繁瑣、復(fù)雜的工作,而且還有可能出現(xiàn)很多意想不到的錯(cuò)誤,給管理這些數(shù)據(jù)帶來了極大的不便,越來越不適合高校的發(fā)展需要。教務(wù)管理系統(tǒng)是一個(gè)龐大而復(fù)雜的系統(tǒng),它包括對(duì)教師信息的管理,對(duì)課程資料的管理,對(duì)學(xué)生信息的管理和對(duì)學(xué)生成績的管理等主要功能。教務(wù)管理系統(tǒng)是每所高校的
5、一項(xiàng)必不可少的容,它的好壞直接影響到學(xué)校的主要工作,此系統(tǒng)一旦癱瘓,不僅會(huì)影響到學(xué)校的每一位學(xué)生,學(xué)校也會(huì)因此受到非常嚴(yán)重的損失。隨著我校近幾年來的快速發(fā)展,辦學(xué)模式多元化,在校學(xué)生規(guī)模不斷擴(kuò)大,為了加速對(duì)教務(wù)管理的計(jì)算機(jī)化,我校需要開發(fā)出符合我校實(shí)際的教務(wù)管理系統(tǒng),為學(xué)校教學(xué)管理提供一個(gè)快速、簡單規(guī)的管理平臺(tái),同時(shí)也方便教員查詢相關(guān)信息,提高信息傳播速度,擴(kuò)大信息共享圍。所以,現(xiàn)在設(shè)計(jì)一個(gè)功能完整、操作簡單以與界面友好的教務(wù)管理系統(tǒng)變得非常重要。通過這個(gè)系統(tǒng),管理員能夠?qū)處熜畔?、課程信息、學(xué)生信息和學(xué)生成績進(jìn)行查詢、添加、修改和刪除等操作,用戶也可以對(duì)自己的基本信息進(jìn)行修改,學(xué)生還可以用該
6、系統(tǒng)進(jìn)行網(wǎng)上選課和成績查詢,非常的方便。因此,本系統(tǒng)開發(fā)的總體目標(biāo)就是在教務(wù)管理中實(shí)現(xiàn)信息管理的系統(tǒng)化、自動(dòng)化,減少工作繁瑣度,增加效率、方便性。2 需求分析2.1 系統(tǒng)需求通過調(diào)查,要求系統(tǒng)需要有以下功能:由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面;由于該系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理;原始數(shù)據(jù)修改簡單方便,支持多條件修改方便的數(shù)據(jù)查詢,支持多條件查詢;在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡單,數(shù)據(jù)穩(wěn)定性好;數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);2.2 可行性分析由于本系統(tǒng)管理的對(duì)象單一,都是在校學(xué)生,且每個(gè)數(shù)據(jù)容具有較強(qiáng)的關(guān)聯(lián)性,涉與的計(jì)算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)
7、庫管理。且學(xué)校用于學(xué)生管理的微機(jī)都是PIII以上的機(jī)器,在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫運(yùn)行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實(shí)現(xiàn)。本系統(tǒng)的設(shè)計(jì)是在Window XP操作系統(tǒng)環(huán)境下,使用VS開發(fā)成功的。在開發(fā)過程中,如何選擇數(shù)據(jù)庫管理是一個(gè)重要的問題,目前,數(shù)據(jù)庫產(chǎn)品較多、開發(fā)工具也很多。每種產(chǎn)品都具有各自的特點(diǎn)和適用圍,因此,在選擇數(shù)據(jù)庫時(shí),應(yīng)考慮數(shù)據(jù)庫應(yīng)用的特點(diǎn)與適用圍,在選擇開發(fā)工具時(shí)也考慮它的健壯性、可移性、安全性等問題。2.3 用戶要求2.3.1 信息需求教務(wù)管理系統(tǒng)涉與的實(shí)體有:l 教師工作證號(hào)、職稱、
8、等;l 學(xué)生學(xué)號(hào)、性別、出生年月等;l 班級(jí)班號(hào)、最低總學(xué)分等;l 系系代號(hào)、系名和系辦公室等;l 課程課序號(hào)、課名、學(xué)分、上課時(shí)間與名額等。這些實(shí)體之間的聯(lián)系如下:l 每個(gè)學(xué)生都屬于一個(gè)班,每個(gè)班都屬于一個(gè)系,每個(gè)教師也都屬于一個(gè)系。l 每個(gè)班的班主任都由一名教師擔(dān)任。l 一名教師可以教多門課,一門課可以有幾位主講老師,但不同老師講的同一門課其課序號(hào)是不同的(課序號(hào)是唯一的)。l 一名同學(xué)可以選多門課,一門課可被若干同學(xué)選中。l 一名同學(xué)選中的課若已學(xué)完,應(yīng)該記錄有相應(yīng)成績。2.3.2 處理需求教務(wù)系統(tǒng)主要提供數(shù)據(jù)維護(hù)、選課和信息查詢。其中常見的查詢有:系統(tǒng)中各對(duì)象的基本信息查詢。查詢指定班
9、、系的學(xué)生信息(、人數(shù)等)。查詢學(xué)生的成績、學(xué)分情況。查詢教師授課情況和學(xué)生選課情況。2.3.3安全性與完整性要求l 安全性要求:1.系統(tǒng)應(yīng)設(shè)置訪問用戶的標(biāo)識(shí)以鑒別是否是合法用戶,并要求合法用戶設(shè)置其密碼,保證用戶身份不被盜用;2.系統(tǒng)應(yīng)對(duì)不同的數(shù)據(jù)設(shè)置不同的訪問級(jí)別,限制訪問用戶可查詢和處理數(shù)據(jù)的類別和容;3.系統(tǒng)應(yīng)對(duì)不同用戶設(shè)置不同的權(quán)限,區(qū)分不同的用戶,如學(xué)生,教師,系統(tǒng)管理員。l 完整性要求:1.各種信息記錄的完整性,關(guān)鍵信息記錄容不能為空;2.各種數(shù)據(jù)間相互的聯(lián)系的正確性;3.一樣的數(shù)據(jù)在不同記錄中的一致性。2.4 需要的信息管理模塊1、學(xué)生信息管理該模塊是教務(wù)工作人員進(jìn)行對(duì)學(xué)生信息
10、的管理,進(jìn)行學(xué)生信息的添加、修改、刪除。2、教師信息管理教務(wù)工作人員通過此模塊來管理教師信息,包括教師信息的添加、修改、刪除等。信息的添加時(shí),需要驗(yàn)證教師的編號(hào)是否重復(fù);刪除和和修改學(xué)生信息,和學(xué)生信息管理模塊一樣。3、 院系管理此模塊是用來管理院系的信息,包括班級(jí)院系的添加,修改,刪除等。在進(jìn)行信息的添加時(shí),需要進(jìn)行班級(jí)的編號(hào)是否重復(fù)的檢查,如院系編號(hào)重復(fù)則對(duì)用戶進(jìn)行提示,不重復(fù)則添加成功。院系管理模塊的刪除和修改和學(xué)生信息管理模塊一樣。4、 課程信息管理教務(wù)工作人員通過該模塊來管理課程的基本信息,包括課程信息的添加,修改,刪除和班級(jí)課程的設(shè)置等,具體做法同前面的模塊。5、 成績管理教務(wù)工作
11、人員通過該模塊來進(jìn)行學(xué)生成績的管理,在進(jìn)行學(xué)生成績的添加時(shí),可用它來為學(xué)生設(shè)置所在班級(jí)的課程表來直接輸入成績。6、 綜合查詢通過該模塊可以查詢教務(wù)所需要的各種信息。如學(xué)生信息查詢提供了包括學(xué)生學(xué)號(hào)、所在班級(jí)、班主任名字和宿舍等信息,學(xué)生信息進(jìn)行查詢的各種查詢條件,用戶可以根據(jù)單個(gè)的查詢條件或者它們的組合來進(jìn)行查詢。同時(shí),在查詢的時(shí)候還提供了進(jìn)行模糊查詢的功能,即該模塊能夠利用讀者輸入的非完整的查詢條件進(jìn)行查詢,這樣更加方便了用戶的查詢管理。綜合查詢模塊包括了學(xué)生信息查詢、教師信息查詢、班級(jí)信息查詢、院系信息查詢、課程信息查詢和成績查詢等各種功能查詢。3 概念結(jié)構(gòu)設(shè)計(jì)3.1設(shè)計(jì)分析在概念結(jié)構(gòu)設(shè)計(jì)
12、中,我采用自底向上設(shè)計(jì)概念結(jié)構(gòu)的方法。即第一步抽象數(shù)據(jù)并設(shè)計(jì)局部視圖,第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)。3.2概念模型設(shè)計(jì)3.2.1局部概念結(jié)構(gòu)設(shè)計(jì)(1)、系的關(guān)系模式圖工資1n1n1n教師班級(jí)屬于最低總學(xué)分班號(hào) 郵箱XX工作證號(hào)系系辦公室 系名系代號(hào)屬于工作學(xué)生學(xué)號(hào)年齡性別XX系代號(hào)圖3-1 系關(guān)系模式圖(2)、選課系統(tǒng)的關(guān)系模式圖選修期中成績平時(shí)成績最后成績總評(píng)成績期末成績年齡學(xué)號(hào)課名學(xué)分課序號(hào)nmXX課程學(xué)生名額性別系代號(hào)圖3-2 選課系統(tǒng)的關(guān)系模式圖課序號(hào)課名(3)、教師授課系統(tǒng)關(guān)系模型圖授課工資教師 郵箱XX工作證號(hào)課程n1名額學(xué)分圖3-3 教師授課系統(tǒng)關(guān)系模型圖(4)、教師
13、與班級(jí)的關(guān)系模型圖課名班級(jí)負(fù)責(zé)最低總學(xué)分班號(hào)教師 工資XX工作證號(hào)n1郵箱圖3-4 教師與班級(jí)的關(guān)系模型圖3.2.2 全局概念結(jié)構(gòu)模型(E-R圖)選修平時(shí)成績最后成績總評(píng)成績期中成績期末成績課名課序號(hào)學(xué)分年齡學(xué)號(hào)XXnm課程學(xué)生名額性別n系代號(hào)屬于n1課名班號(hào)授課負(fù)責(zé)班級(jí)n最低總學(xué)分n屬于111工作n1工資系教師系代號(hào)系名系辦公室 XX工作證號(hào)郵箱圖3-5 全局概念結(jié)構(gòu)模型圖4 邏輯結(jié)構(gòu)設(shè)計(jì)關(guān)系模式的設(shè)計(jì)與優(yōu)化E-R圖向關(guān)系模型的轉(zhuǎn)換:1 “教師”實(shí)體對(duì)應(yīng)的關(guān)系模式: 教師(工作證號(hào),工資,系代號(hào))代碼表示為:Teacher(Tno. Tname. Salary. Tel. Email. Dn
14、o)其中,工作證號(hào)為其候選碼,又因?yàn)榻處熍c系別之間是n:1的工作關(guān)系,經(jīng)過與系別關(guān)系模式的合并后,系別號(hào)Dno成為教師關(guān)系模式的外碼,存在的關(guān)系依賴為Tno ( Tname,Salary,Tel,Email,Dno),不存在對(duì)候選碼的部分依賴與傳遞依賴,所以滿足BCNF。2 “學(xué)生”實(shí)體對(duì)應(yīng)的關(guān)系模式:學(xué)生(學(xué)號(hào),性別,年齡,班號(hào),系代號(hào)) 代碼表示:Student ( Sno, Sname, Ssex, Sage. Class .Dno)其中,學(xué)號(hào)為其候選碼,又因?yàn)閷W(xué)生與班級(jí)之間是n:1的屬于關(guān)系,經(jīng)過與班級(jí)關(guān)系模式的合并后,班號(hào)Class成為學(xué)生關(guān)系模式的外碼,存在的關(guān)系依賴為Sno(Sn
15、ame,Ssex.Sage.Class. Dno),Class Dno,存在對(duì)候選碼的傳遞依賴,所以滿足2NF.3 系(系代號(hào),系名,系辦公室) 代碼表示:Sdept ( Dno, Dname, Dphone ) 系代號(hào)為候選碼,存在的函數(shù)依賴為Dno (Dname,Dphone),且不存在部分依賴與傳遞依賴,所以滿足BCNF。4 “選修”聯(lián)系對(duì)應(yīng)的關(guān)系模式: 選課(學(xué)號(hào),課序號(hào),最后成績,平時(shí)成績,期中成績,期末成績,)代碼表示:SC ( Sno, Cno,Grade. Daigrade. Midbrade. Lasgrade,)此為m:n聯(lián)系“選修”所對(duì)應(yīng)的關(guān)系模式。Sno和Cno均為外碼
16、。存在的函數(shù)依賴為完全函數(shù)依賴(Sno,Cno) (Grade.Daigrade. Midbrade. Lasgrade. Fingrade),且不存在部分依賴與傳遞依賴,所以滿足BCNF。5 “課程”實(shí)體對(duì)應(yīng)的關(guān)系模式:課程(課序號(hào),課名,學(xué)分,名額,工作證號(hào))代碼表示:Course ( Cno, Cname, Credit, Cnum, Tno )其中,課號(hào)為其候選碼,又由于課程與教師之間是n:1的授課關(guān)系,所以經(jīng)過關(guān)系模式的合并后,教師的工作證號(hào)被合并為課程關(guān)系模式中的外碼。存在的函數(shù)依賴為Cno (Cname,Credit,Cnum,Tno),且不存在對(duì)候選碼的部分依賴和傳遞依賴,所以
17、,滿足BCNF。6 “班級(jí)”實(shí)體對(duì)應(yīng)的關(guān)系模式:班級(jí)(班號(hào),最低總學(xué)分,工作證號(hào),系代號(hào))代碼表示:Class ( Class, Ccredit, Tno. Dno )其中,班號(hào)為其候選碼,又由于班級(jí)與系別之間是n:1的“屬于”關(guān)系,經(jīng)過“班級(jí)”與“系別”兩個(gè)實(shí)體關(guān)系模式的合并后,系號(hào)被合并為班級(jí)對(duì)應(yīng)的關(guān)系模式的外碼。而班級(jí)與教師之間是n:1的“負(fù)責(zé)”關(guān)系,所以按照規(guī)定,教師的工作證號(hào)也被合并為班級(jí)的外碼。存在的函數(shù)依賴為Class (Ccredit, Tno.Dno ),其中Class Tno,而Tno Dno,即存在對(duì)候選碼的傳遞依賴,所以只滿足2NF。5 物理結(jié)構(gòu)設(shè)計(jì)5.1 數(shù)據(jù)表的設(shè)計(jì)
18、根據(jù)實(shí)體屬性圖可以建立以下各表,建表的同時(shí)定義表有關(guān)的完整性約束條件。1 學(xué)生基本信息表表5-1學(xué)生基本信息表列名長度類型NULLDEFAULT主鍵學(xué)號(hào)10char()nonoYes20varchar()nonono性別2char()nonono所在專業(yè)2char()yesnono所屬院系2char()yesnono聯(lián)系11char()yesnono2 專業(yè)基本信息表表5-2 專業(yè)基本信息表列名長度類型NULLDEFAULT主鍵專業(yè)編號(hào)2char()nonoYes專業(yè)名稱20varchar()nonono所屬院系2char()yesnono總學(xué)分5char()yesnono必修學(xué)分5char(
19、)yesnono3 學(xué)生成績表表5-3學(xué)生成績表列名長度類型NULLDEFAULT主鍵學(xué)號(hào)10char()nonono20char()nonono課程名稱10char()nonono學(xué)期學(xué)年3char()yesnono成績2char()yesnono授課教師2char()yesnono4 院系基本信息表表5-4院系基本信息表列名長度類型NULLDEFAULT主鍵院系號(hào)2char()nonoyes院系名稱20char()yesnono負(fù)責(zé)人10char()yesnono教務(wù)管理員10char()yesnono5 教師基本信息表表5-5教師基本信息表列名長度類型NULLDEFAULT主鍵教師編號(hào)1
20、0char()nonoyes20varchar()nonono性別2char()yesnono所屬院系2char()yesnono6 評(píng)教基本信息表表5-6評(píng)教基本信息表列名長度類型NULLDEFAULT主鍵教師編號(hào)10char()nonono教師20varchar()yesnono課程編號(hào)50varchar()nonono課程名稱10char()yesnono滿意度2char()yesnono7 課程基本信息表表5-7課程基本信息表列名長度類型NULLDEFAULT主鍵課程編號(hào)20varchar()nonoyes課程名稱10char()nonono任課教師10char()yesnono開設(shè)院
21、系30varchar()yesnono8 班級(jí)基本信息表表5-8班級(jí)基本信息表列名長度類型NULLDEFAULT主鍵班級(jí)編號(hào)10char()nonoyes班級(jí)人數(shù)3char()yesnono所屬院系2char()yesnono9 網(wǎng)上選課基本信息表表5-9網(wǎng)上選課基本信息表列名長度類型NULLDEFAULT主鍵課程號(hào)50varchar()nonono開課院系30varchar()yesnono已選人數(shù)3char()nonono課程類別1char()yesnono限選人數(shù)3char()yesnono5.2 數(shù)據(jù)庫完整性設(shè)計(jì)數(shù)據(jù)庫完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性。數(shù)據(jù)完整性包括三類:實(shí)體完整
22、性,參照體完整性和用戶定義完整性。5.2.1 數(shù)據(jù)庫實(shí)體的完整性設(shè)計(jì)本教務(wù)管理系統(tǒng)數(shù)據(jù)庫的實(shí)體有:學(xué)生,教師,專業(yè),院系,教室,考試成績,課程。為保證實(shí)體的完整性,將以上所有實(shí)體的主屬性的屬性值都設(shè)置為非空。5.2.2 數(shù)據(jù)庫參照完整性設(shè)計(jì)1、學(xué)生與課程選修關(guān)系模式學(xué)生信息(學(xué)號(hào),性別,年齡) 主鍵:學(xué)號(hào)課程信息(課程號(hào),課程名稱,學(xué)分)主鍵:課程號(hào)選修(學(xué)號(hào),課程號(hào),考試成績)主鍵:學(xué)號(hào),課程號(hào)2、學(xué)生與班級(jí)的從屬關(guān)系模式:學(xué)生信息(學(xué)號(hào),班級(jí)編號(hào))主鍵:學(xué)號(hào)班級(jí)信息(班級(jí)編號(hào),班級(jí)名稱,專業(yè)名稱,院系名稱)主鍵:班級(jí)編號(hào)3、學(xué)生與考試成績的考試關(guān)系模式學(xué)生信息(學(xué)號(hào),)主鍵:學(xué)號(hào)成績信息(
23、成績號(hào),課程編號(hào))主鍵:成績號(hào)4、班級(jí)與專業(yè)的從屬關(guān)系模式專業(yè)信息(專業(yè)編號(hào),專業(yè)名稱)主鍵:專業(yè)編號(hào)班級(jí)信息(班級(jí)編號(hào),班級(jí)名稱,專業(yè)編號(hào))主鍵:班級(jí)編號(hào)5、專業(yè)與院系的從屬關(guān)系模式院系信息(院系編號(hào),專業(yè)名稱)主鍵:專業(yè)編號(hào)專業(yè)信息(專業(yè)編號(hào),專業(yè)名稱,院系編號(hào))主鍵:專業(yè)編號(hào)6、教師與課程的授課關(guān)系模式教師(教師編號(hào),) 主鍵:教師編號(hào)課程(課程編號(hào),課程名稱)主鍵:課程編號(hào)授課(課程名稱,教師編號(hào),課時(shí))主鍵:課程名稱,教師編號(hào)5.2.3數(shù)據(jù)庫的用戶定義完整性設(shè)計(jì)學(xué)生基本信息表:(1)性別必須是男或女(2)號(hào)必須是18位(3)所在專業(yè),所屬院系必須是本系統(tǒng)提供的5.3數(shù)據(jù)庫安全性設(shè)計(jì)數(shù)
24、據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標(biāo)之一。數(shù)據(jù)庫的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的。信息系統(tǒng)盡管功能強(qiáng)大,技術(shù)先進(jìn),但由于受到自身體系結(jié)構(gòu),設(shè)計(jì)思路以與運(yùn)行機(jī)制等限制,也隱含許多不安全因素。常見因素有:數(shù)據(jù)的輸入,輸出,存取與備份,源程序以與應(yīng)用軟件,數(shù)據(jù)庫,操作系統(tǒng)等漏洞或缺陷,硬件,通信部分的漏洞,企業(yè)部人員的因素,病毒,“黑客”等因素。因此,為使本系統(tǒng)能夠真正安全,可靠,穩(wěn)定地工作,必須考慮如下問題:為保證安全,不致使系統(tǒng)遭到意外事故的損害,系統(tǒng)因該能防止火
25、,盜或其他形式的人為破壞。1) 系統(tǒng)要能重建2) 系統(tǒng)應(yīng)該是可審查的3) 系統(tǒng)應(yīng)能進(jìn)行有效控制,抗干擾能力強(qiáng)4) 系統(tǒng)使用者的使用權(quán)限是可識(shí)別的6 應(yīng)用程序設(shè)計(jì)6.1 系統(tǒng)功能模塊圖本系統(tǒng)設(shè)計(jì)的并不復(fù)雜,模塊劃分也比較清楚。通過對(duì)不同的功能進(jìn)行分析,就可以得到系統(tǒng)的模塊劃分:登錄管理模塊,又分為管理員登錄、教師登錄和學(xué)生登錄三個(gè)子模塊;管理員模塊,包括對(duì)教師信息、課程信息、學(xué)生信息和學(xué)生成績進(jìn)行查詢、添加、修改與刪除等子模塊; 教師模塊,包括對(duì)個(gè)人信息的查詢與密碼的修改、課表的查詢等子模塊; 學(xué)生模塊,包括對(duì)個(gè)人信息的查詢與密碼的修改、網(wǎng)上選課、課表的查詢和個(gè)人成績的查詢等子模塊教務(wù)管理系統(tǒng)學(xué)
26、生教師管理員登錄管理成績查詢網(wǎng)上選課密碼修改課表查詢個(gè)人信息查詢課表查詢密碼修改個(gè)人信息查詢學(xué)生成績管理學(xué)生信息管理課程信息管理教師信息管理學(xué)生登錄教師登錄管理員登錄修改學(xué)生信息添加學(xué)生信息查詢學(xué)生信息刪除課程信息修改課程信息添加課程信息查詢課程信息刪除教師信息修改教師信息添加教師信息查詢教師信息刪除學(xué)生信息刪除學(xué)生成績修改學(xué)生成績添加學(xué)生成績查詢學(xué)生成績 圖6-1 系統(tǒng)模塊圖6.2系統(tǒng)界面1 系統(tǒng)的主界面圖6-2 系統(tǒng)主界面部分設(shè)計(jì)代碼如下:namespace 教務(wù)管理系統(tǒng)public MainForm()InitializeComponent();protected override vo
27、id Dispose( bool disposing )if( disposing )if (components != null) components.Dispose();base.Dispose( disposing );private bool checkChildFrmExist(string childFrmName)foreach(Form childFrm in this.MdiChildren)if(childFrm.Name = childFrmName) if(childFrm.WindowState = FormWindowState.Minimized)childFr
28、m.WindowState = FormWindowState.Normal;childFrm.Activate();return true;return false;private void menuItem2_Click(object sender, System.EventArgs e)if (this.checkChildFrmExist("ClassInfo") = true)return;ClassInfo newFrm=new ClassInfo();newFrm.MdiParent = this;newFrm.Show();private void menu
29、Item3_Click(object sender, System.EventArgs e)if (this.checkChildFrmExist("StudentInfo") = true)return;StudentInfo newFrm=new StudentInfo();newFrm.MdiParent = this;newFrm.Show();private void menuItem4_Click(object sender, System.EventArgs e)if (this.checkChildFrmExist("CourseInfo"
30、;) = true)return;CourseInfo newFrm=new CourseInfo();newFrm.MdiParent = this;newFrm.Show();private void menuItem6_Click(object sender, System.EventArgs e)if (this.checkChildFrmExist("CourseElect") = true)return;CourseElect newFrm=new CourseElect();newFrm.MdiParent = this;newFrm.Show();priva
31、te void menuItem7_Click(object sender, System.EventArgs e) if (this.checkChildFrmExist("CurriculumSchedule") = true) return; CurriculumSchedule newFrm=new CurriculumSchedule("");newFrm.MdiParent = this;newFrm.Show();private void menuItem8_Click(object sender, System.EventArgs e)i
32、f (this.checkChildFrmExist("ScoreInput") = true)return;ScoreInput newFrm=new ScoreInput();newFrm.MdiParent = this;newFrm.Show();private void menuItem11_Click(object sender, System.EventArgs e)this.Close();2學(xué)生選課界面界面圖6-3 學(xué)生選課界面部分程序代碼如下:private void CourseElect_Load(object sender, System.Even
33、tArgs e)dataGrid1.DataSource=this.electTable;string strConn="workstation id=localhost;Integrated Security=SSPI;database=eisbook;"SqlConnection=new SqlConnection(strConn);cn.Open();string sql="select a.課序號(hào),a.課程編號(hào),b.課程名稱,b.教師,b.開課系別,"+"a.上課地點(diǎn),a.上課時(shí)間天,a.上課時(shí)間節(jié),b.拼音碼"+"
34、 from 課程表a,課程信息b"+" where (b.本學(xué)期課程='Y')and(a.課程編號(hào)=b.課程編號(hào))"SqlDataAdapter da2=new SqlDataAdapter(sql,cn);da2.Fill(this.courseTable);this.dv=courseTable.DefaultView;dataGrid2.DataSource=dv;private void ShowInfo()/string strConn="workstation id=localhost;Integrated Security=
35、SSPI;database=eisbook;"SqlConnection=new SqlConnection(strConn);cn.Open();SqlCommand cmd=cn.CreateCommand();cmd mandText="select a.,b.班級(jí)名稱,a.學(xué)籍編號(hào)from 學(xué)生信息a,班級(jí)信息b "+"where(a.班級(jí)編號(hào)=b.班級(jí)編號(hào))and(學(xué)號(hào)='"+txt1.Text.Trim()+"')"SqlDataReader dr=cmd.ExecuteReader();dr.R
36、ead();if(!dr.HasRows)MessageBox.Show("無此學(xué)生,請(qǐng)重新輸入學(xué)號(hào)","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);dr.Close();return;if(dr.GetValue(2).ToString().Trim()!="1")MessageBox.Show("該學(xué)生并非在籍學(xué)生,不能選課","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop); return;txt2
37、.Text=dr.GetValue(0).ToString().Trim();txt3.Text=dr.GetValue(1).ToString().Trim();dr.Close();string sql="select a.學(xué)號(hào),a.課序號(hào),b.課程名稱,b.教師,"+"b.開課系別,c.上課時(shí)間天,c.上課時(shí)間節(jié),c.上課地點(diǎn)"+" from 選課表a,課程信息b,課程表c"+" where(a.課序號(hào)=c.課序號(hào))and('200400000'+b.課程編號(hào)=a.課序號(hào))"+"an
38、d(a.學(xué)號(hào)='"+txt1.Text.Trim()+"')"SqlDataAdapter da=new SqlDataAdapter(sql,cn);da.Fill(this.electTable);this.studentID=txt1.Text.Trim();this.stduentName=txt2.Text.Trim();btnElect.Enabled=true;btnDelete.Enabled=true;btnView.Enabled=true;private void btnElect_Click(object sender, S
39、ystem.EventArgs e)if(dv.Count=0)MessageBox.Show("可選課表為空,無法選課","提示",MessageBoxButtons.OK,MessageBoxIcon.Stop);return;string courseID=dataGrid2dataGrid2.CurrentCell.RowNumber,0.ToString().Trim();string courseDay=dataGrid2dataGrid2.CurrentCell.RowNumber,6.ToString().Trim();string co
40、urseSec=dataGrid2dataGrid2.CurrentCell.RowNumber,7.ToString().Trim();foreach(DataRow aRow in this.electTable.Rows)if(aRow"課序號(hào)".ToString().Trim()=courseID)MessageBox.Show("所選課程已經(jīng)在課程表中","課程重復(fù)",MessageBoxButtons.OK,MessageBoxIcon.Stop);return;if(aRow"上課時(shí)間天".ToStr
41、ing().Trim()=courseDay&&aRow"上課時(shí)間節(jié)".ToString().Trim()=courseSec)string msg="所選課程和已選課程:"+aRow"課程名稱".ToString().Trim()+" 上課時(shí)間沖突"MessageBox.Show(msg,"時(shí)間沖突",MessageBoxButtons.OK,MessageBoxIcon.Stop);return;string strConn="workstation id=loca
42、lhost;Integrated Security=SSPI;database=eisbook;"SqlConnection=new SqlConnection(strConn);cn.Open();SqlCommand cmd=cn.CreateCommand();cmd mandText="insert into 選課表(學(xué)號(hào),課序號(hào)) values('"+this.studentID+"','"+courseID+"')"cmd.ExecuteNonQuery();this.electT
43、able.Clear();string sql="select a.學(xué)號(hào),a.課序號(hào),b.課程名稱,b.教師,"+"b.開課系別,c.上課時(shí)間天,c.上課時(shí)間節(jié),c.上課地點(diǎn)"+" from 選課表a,課程信息b,課程表c"+" where(a.課序號(hào)=c.課序號(hào))and('200400000'+b.課程編號(hào)=a.課序號(hào))"+"and(a.學(xué)號(hào)='"+this.studentID+"')"SqlDataAdapter da=new SqlDat
44、aAdapter(sql,cn);da.Fill(this.electTable);3 學(xué)生信息的查詢界面圖6-4 學(xué)生信息的增加、刪除、修改部分代碼如下:namespace 教務(wù)管理系統(tǒng)protected override void Dispose( bool disposing )if( disposing )if(components != null)components.Dispose();base.Dispose( disposing );protected void toolBar1_ButtonClick(object sender, System.Windows.Forms.T
45、oolBarButtonClickEventArgs e)if (e.Button.ToolTipText = "首記錄")this.dataGrid1.UnSelect(cmOrders.Position); /取消原選中的行cmOrders.Position = 0;this.dataGrid1.Select(cmOrders.Position); /選中當(dāng)前行this.dataGrid1.CurrentRowIndex = cmOrders.Position; /移動(dòng)表頭指示圖標(biāo)return;if (e.Button.ToolTipText = "上一記錄&
46、quot;)if (cmOrders.Position >= 0)this.dataGrid1.UnSelect(cmOrders.Position); cmOrders.Position-;this.dataGrid1.Select(cmOrders.Position); this.dataGrid1.CurrentRowIndex = cmOrders.Position; return;if (e.Button.ToolTipText = "下一記錄")if (cmOrders.Position <= cmOrders.Count-1)this.dataGr
47、id1.UnSelect(cmOrders.Position); cmOrders.Position+;this.dataGrid1.Select(cmOrders.Position); this.dataGrid1.CurrentRowIndex = cmOrders.Position; return;if (e.Button.ToolTipText = "尾記錄")this.dataGrid1.UnSelect(cmOrders.Position); cmOrders.Position = cmOrders.Count-1;this.dataGrid1.Select(c
48、mOrders.Position); this.dataGrid1.CurrentRowIndex = cmOrders.Position; return;if(e.Button.ToolTipText="新增")cmOrders.AddNew();/新增一條記錄 SetDefaultValue();/設(shè)置默認(rèn)值SetModifyMode(true);/設(shè)置控件只讀等屬性if(e.Button.ToolTipText="修改")SetModifyMode(true);if(e.Button.ToolTipText="刪除")Dialo
49、gResult result=MessageBox.Show("確認(rèn)刪除?","刪除數(shù)據(jù)",MessageBoxButtons.OKCancel);if(result=DialogResult.OK)if(cmOrders.Count>0)cmOrders.RemoveAt(cmOrders.Position);da1.Update(dataSet11);elseMessageBox.Show("表中為空,已無可刪除數(shù)據(jù)","提示",MessageBoxButtons.OK,MessageBoxIcon.Er
50、ror);if(e.Button.ToolTipText="提交")bool canSubmit;canSubmit=this.CheckNotNull();if(canSubmit=false)return;cmOrders.EndCurrentEdit();if(dataSet11.GetChanges()!=null)tryda1.Update(dataSet11);SetModifyMode(false);catch(Exception express)MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);dataSet11.RejectChanges();ret
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級(jí)自我管理提升計(jì)劃
- 急診安全文化建設(shè)實(shí)踐計(jì)劃
- 實(shí)驗(yàn)室安全規(guī)范與培訓(xùn)計(jì)劃
- 學(xué)校教學(xué)活動(dòng)安排計(jì)劃
- 秘書在團(tuán)隊(duì)溝通中的角色計(jì)劃
- 小班三維課程與教育理念實(shí)踐計(jì)劃
- 2025年美司那項(xiàng)目建議書
- 2025年中國異構(gòu)計(jì)算行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告-智研咨詢發(fā)布
- 2025年多通道腦電圖機(jī)項(xiàng)目建議書
- 淮安市2024-2025學(xué)年上學(xué)期高一期末考試地理試題(含答案)
- 2025高考數(shù)學(xué)一輪復(fù)習(xí)-第8章-第3節(jié) 圓的方程【課件】
- DB3301T 1088-2018 杭州龍井茶栽培技術(shù)規(guī)范
- 安徽省部分省示范中學(xué)2025屆高三第一次模擬考試英語試卷含解析
- 環(huán)保行業(yè)深度研究報(bào)告
- 工程機(jī)械租賃服務(wù)方案及保障措施 (二)
- 部編版初中語文7-9年級(jí)教材必背古詩詞、古文99篇詳細(xì)解析及欣賞
- 保障性住房補(bǔ)貼委托書范本
- DB36T 1393-2021 生產(chǎn)安全風(fēng)險(xiǎn)分級(jí)管控體系建設(shè)通則
- 公益捐助活動(dòng)影響力評(píng)估方法
- 國家電網(wǎng)安全培訓(xùn)
- Unit 1 I go to school by bus. Period 4(說課稿)-2023-2024學(xué)年教科版(廣州)英語二年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論