java實(shí)驗報告黃海興_第1頁
java實(shí)驗報告黃海興_第2頁
java實(shí)驗報告黃海興_第3頁
java實(shí)驗報告黃海興_第4頁
java實(shí)驗報告黃海興_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

北京工業(yè)大學(xué)Java程序設(shè)計報告題目:教務(wù)管理系統(tǒng)學(xué)生姓名:邱健康黃海興學(xué)號:_0952132009521133班級:電信3班電信1班院系:信息工程系專業(yè)年級:電子信息工程09級2011年12月15日一、需求分析(1)教務(wù)系統(tǒng)的簡單描述教務(wù)管理系統(tǒng)是學(xué)校常見的計算機(jī)信息管理系統(tǒng)。它的主要任務(wù)是對各種教學(xué)信息進(jìn)行日常的管理,如課程管理、任課教師管理等。迅速準(zhǔn)確地完成各種計算和匯總,快速打印出報表。充分發(fā)揮數(shù)據(jù)庫管理系統(tǒng)高效、完全、可靠、便捷的性能,減少教務(wù)人員的工作量。(2)系統(tǒng)功能描述系統(tǒng)要求可以實(shí)現(xiàn)基本的查詢打印操作以及各種信息的錄入,首先在基本信息查詢的過程中,要求實(shí)現(xiàn)對學(xué)生,教師的基本信息進(jìn)行查詢,在信息錄入方面,要求可以對學(xué)生基本信息,教師基本信息以及學(xué)生的選課信息進(jìn)行增加刪除等操作.在我們所設(shè)計的教務(wù)管理系統(tǒng)中,對于基本的查詢,錄入操作都可以實(shí)現(xiàn),其中以視圖來實(shí)現(xiàn)對學(xué)生教師基本表的打印,對于信息的增刪改部分設(shè)計觸發(fā)器,實(shí)現(xiàn)系統(tǒng)對部分信息的修改,而存儲過程則實(shí)現(xiàn)對于具體信息的查詢,以基本的屬性作為參數(shù),對信息進(jìn)行查詢.二、設(shè)計功能及實(shí)現(xiàn)分析(1)具體功能表如下:教務(wù)管理系統(tǒng)(信息系統(tǒng)教務(wù)管理系統(tǒng)(信息系統(tǒng)a)學(xué)生信息查詢基本教師信息查詢學(xué)生基本信息班級信息教師信息查詢院系信息查詢班級信息院系信息按學(xué)號按班級按姓名按姓名按教號授課信息班級成績單按系名按班號按班長按系名按系號教務(wù)管理系統(tǒng)(信息系統(tǒng)教務(wù)管理系統(tǒng)(信息系統(tǒng)b)查詢課程信息系統(tǒng)查詢選課信息系統(tǒng)按課程名稱按課程號按學(xué)生姓名按學(xué)生號查看課程信息查詢成績教務(wù)系統(tǒng)操作系統(tǒng)幫助信息教務(wù)系統(tǒng)管理(操作)教務(wù)系統(tǒng)管理(操作)學(xué)生管理系統(tǒng)教師管理系統(tǒng)選課管理系統(tǒng)院系管理系統(tǒng)班級管理系統(tǒng)課程管理系統(tǒng)(2)設(shè)計思路(提高執(zhí)行效率)存儲過程:以學(xué)生學(xué)號,姓名,班級為輸入?yún)?shù)返回指定學(xué)生的基本信息,其他信息查詢功能實(shí)現(xiàn)類似視圖:對供選課程表、學(xué)生選課表創(chuàng)建視圖,方便查詢觸發(fā)器:對學(xué)生表進(jìn)行增加、刪除操作時,同時實(shí)現(xiàn)對選課信息表的相操作,達(dá)到提高系統(tǒng)的執(zhí)行效率的目的三、概念結(jié)構(gòu)設(shè)計系統(tǒng)整體的E-R模型E-R模型如下:系系老師班級學(xué)生課程存在存在存在教授學(xué)習(xí)系名系號人數(shù)系主任編號所在系人數(shù)入學(xué)時間班長姓名住址電話政治面貌性別編號地址出生日期班級號學(xué)號性別姓名課程號學(xué)時授課教師學(xué)分課程名1m1mnm1m1m成績四、邏輯結(jié)構(gòu)設(shè)計模式設(shè)計:由系統(tǒng)整體E-R模型,得出關(guān)系模式關(guān)系模型:學(xué)生(姓名,學(xué)號,性別,所在班級,出生年月,家庭地址)Student(sname,sno,classno,birthday,address,ssex)sno:學(xué)號字符型數(shù)據(jù)非空唯一sname:姓名字符型數(shù)據(jù)非空classno:班級字符型數(shù)據(jù)ssex:性別字符型數(shù)據(jù)默認(rèn)為‘男’birthday:年齡smalldatetime型數(shù)據(jù)address:家庭地址字符型數(shù)據(jù)sno為主鍵教師(姓名,證件號,系號,性別,出生日期,政治面貌,電話號碼,家庭地址,職位,職務(wù))tno證件號char(10)非空唯一tname姓名varchar(10)非空tsex性別char(2)非空birthday出生日期smalldatetime,duty職務(wù)char(10)post職稱char(10)politic政治面貌char(10)office辦公室char(10)telephone電話號碼char(10)address住址char(50)主鍵:tno班級(班級編號,所在系,人數(shù),入學(xué)時間,班長,專業(yè))classno班級編號char(10)非空唯一departmentno所在系varchar(50)gross_number人數(shù)int,enter_date入學(xué)時間smalldatetime,monitor班長varchar(10),major專業(yè)char(10)主鍵:classno課程(課程代號,課程名,授課教師,學(xué)分,學(xué)時)cno課程代號char(10)非空唯一cname課程名varchar(20)tno授課教師char(10),credit學(xué)分intperiod學(xué)時int主鍵:cno系(系名,系號,系班級數(shù),系主任)department_name系名varchar(50)departmentno系號varchar(50)非空唯一gross_class系班級數(shù)intdirector系主任varchar(50)Primarykey主鍵:departmentno選課(學(xué)號,課程號)sno學(xué)號char(10)非空唯一cno課程號char(10)非空外鍵:sno、cno授課(教師號,課程號)tno教師號char(10)cno課程號char(10)外鍵:tno、cno五、數(shù)據(jù)庫的物理設(shè)計為了提高在表中搜索元組的速度,在實(shí)際實(shí)現(xiàn)的時候基于某些屬性建立了索引。createuniqueindexindex_snoonstudent(sno)createuniqueindexindex_cnooncourse(cno)六、數(shù)據(jù)庫設(shè)計實(shí)現(xiàn)及運(yùn)行(1)數(shù)據(jù)庫的創(chuàng)建T-SQL語句:createdatabase教務(wù)管理系統(tǒng)on(name=教務(wù)管理系統(tǒng)_data,filename='F:\sql作業(yè)\教務(wù)管理系統(tǒng)_data.mdf',size=20MB,maxsize=200MB,filegrowth=5MB)logon(name=XSGL_log,filename='F:\sql作業(yè)\XSGL_log.ldf',size=5MB,maxsize=50MB,filegrowth=1MB)(2)數(shù)據(jù)表的創(chuàng)建T-SQL語句:--------------------------------------------------------------------------------------------------------創(chuàng)建學(xué)生表createtablestudent(snamevarchar(10)notnull,snochar(10)notnullunique,ssexchar(2)default'男',classnochar(10)notnull,birthdaysmalldatetimenotnull,addresschar(50),Primarykey(sno),)--創(chuàng)建教師表createtableteacher(tnochar(10)notnullunique,tnamevarchar(10)notnull,tsexchar(2)notnull,birthdaysmalldatetime,dutychar(10)notnull,--職務(wù)postchar(10),--職稱politicchar(10),--政治面貌officechar(10),--辦公室telephonechar(10)notnull,addresschar(50),--住址Primarykey(tno));---------------------------------------------------------------------------------------------------------創(chuàng)建班級表createtableclass(classnochar(10)notnullunique,departmentnovarchar(50)notnull,gross_numberint,enter_datesmalldatetime,monitorvarchar(10),majorchar(10),--專業(yè)Primarykey(classno));---------------------------------------------------------------------------------------------------------創(chuàng)建課程信息表createtablecourse(cnochar(10)notnullunique,cnamevarchar(20)notnull,tnochar(10),creditintnotnull,--學(xué)分periodintnotnull,--學(xué)時Primarykey(cno));------------------------------------------------------------------------------------------------------創(chuàng)建學(xué)生成績表createtablegrade(snochar(10)notnullunique,cnochar(10)notnull,gradeintnotnull,Primarykey(sno));---創(chuàng)建系信息表createtabledepartment(department_namevarchar(50)notnull,departmentnovarchar(50)notnullunique,gross_classint,directorvarchar(50),--系主任Primarykey(departmentno));------------------------------------------------------------------------------------------------------創(chuàng)建授課信息表createtableteacheing(tnochar(10),cnochar(10)primarykey)(3)相關(guān)視圖的創(chuàng)建--學(xué)生選課視圖createviewcourseInformationasselects.sno,s.sname,o,amefromstudents,sc,coursecwheres.sno=sc.snoando=oselect*fromcourseInformation---供選課程表(視圖)createviewfor_select_courseasselecto,ame,t.tno,t.tname,t.politicfromcoursec,teachertwherec.tno=t.tno--創(chuàng)建成績查詢視圖createviewMark_by_snoasselects.sno,s.sname,ame,c.credit,c.period,g.gradefromstudents,coursec,sc,gradegwheres.sno=sc.snoando=oands.sno=g.snoo=o--測試select*fromMark_by_sno--創(chuàng)建授課信息視圖createviewteaching_information_by_tnoasselectt.tno,t.tname,t.tsex,o,ame,c.credit,c.periodfromteachert,coursec,teacheingttwheret.tno=tt.tnoando=o--測試語句select*fromteaching_information_by_tno--視圖創(chuàng)建班級成績單createviewtotal_mark_by_classnoasselects.sno,s.sname,sum(grade)總成績fromstudents,gradegwheres.sno=g.snogroupbys.sno,s.snameorderbysum(grade)desc(4)存儲過程的定義實(shí)現(xiàn)(僅需給出自己設(shè)計模塊中所用的)--創(chuàng)建存儲過程(1)createprocedureproc_by_sno@snochar(10)asselect*fromstudentwheresno=@sno--測試語句executeproc_by_sno'20043309'--存儲過程(2)createprocedureproc_by_sname@snamechar(10)asselect*fromstudentwheresname=@sname---------------------------------------------------------------------------------------------------------存儲過程(3)createprocedurepro_by_class@classnochar(10)asselect*fromstudentwhereclassno=@classno--實(shí)施check約束altertablegradeaddconstraintck_gradecheck(grade>0andgrade<100(5)在宿主語言中調(diào)用存儲過程、視圖、觸發(fā)器代碼段以及相關(guān)測試結(jié)果:代碼:測試結(jié)果粘貼:代碼段:測試結(jié)果粘貼:代碼段:測試結(jié)果粘貼:代碼段:測試結(jié)果粘貼:代碼段:測試結(jié)果粘貼:代碼段:測試結(jié)果粘貼:代碼段:測試結(jié)果:代碼段:測試結(jié)果:代碼段:測試結(jié)果:代碼段:測試結(jié)果粘貼:(6)觸發(fā)器的定義實(shí)現(xiàn)T-SQL語句:--delete觸發(fā)器createtriggertrigger_studentonstudentafterdeleteasdeclare@snochar(10),@classnochar(10)beginselect@sno=sno,@classno=classnofromdeleteddeletefromgradewheresno=@snoupdateclasssetgross_number=gross_number-1whereclassno=@classnoend--檢驗deletefromstudentwheresno='20043306'---------------------------------------------------------------------------------------------------------insert觸發(fā)器createtriggerinsert_triggeronstudentafterinsertasdeclare@classnochar(10)beginselect@classno=classnofrominsertedupdateclasssetgross_number=gross_number+1whereclassno=@classnoend--測試語句:insertintostudent(sname,sno,ssex,classno)values('各個','20043319','女','20041011')(7)自行設(shè)計各模塊中所涉及的操作語句(一)、查詢操作:功能界面簡單描述:圖1本系統(tǒng)的主要操作界面,按動對應(yīng)的按鈕會顯示對應(yīng)的信息圖2選定相應(yīng)的查詢方式會顯示對應(yīng)的信息比如選定班級號碼,輸入指定班級號碼,就會顯示指定班級的學(xué)生信息。操作語句:圖3:圖4:功能界面簡單描述如下:圖3按照用戶的指定要求查找出指定教師的基本信息。圖4可以顯示用戶指定教師的授課內(nèi)容,方便了解老師的教學(xué)計劃以及安排。程序代碼:圖5:圖6:圖7:功能簡單描述:圖5—7是選課系統(tǒng)的功能界面可以實(shí)現(xiàn)對指定學(xué)生的選課信息進(jìn)行查詢,同時具有供選課功能提示的界面,方便用戶的操作,并能實(shí)現(xiàn)對應(yīng)的學(xué)生成績查詢。代碼:(二)、教務(wù)管理操作:圖8:圖9:圖10:功能簡單描述:圖8是教務(wù)管理系統(tǒng)的主操作界面,點(diǎn)擊相應(yīng)的按紐出現(xiàn)相應(yīng)的操作界面。圖9、10是操作界面,可以實(shí)現(xiàn)信息的查詢、錄入、刪除功能。圖11:代碼:圖12:代碼:圖13:代碼:圖14Java主界面部分代碼:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.*;publicclassLoginWindowextendsJDialogimplementsActionListener{ JPanelp1=newJPanel(); JPanelp2=newJPanel(); JPanelp3=newJPanel(); JPanelp4=newJPanel(); JPanelp5=newJPanel(); JTextFieldtxtUserName=newJTextField(15); JPasswordFieldtxtPassWord=newJPasswordField(15); JButtonOK=newJButton("確定"); JButtonCancel=newJButton("取消"); publicLoginWindow(){ setModal(true); setBackground(Color.LIGHT_GRAY); ContainercontentPane=this.getContentPane(); contentPane.setLayout(newGridLayout(5,1)); p2.add(newJLabel("用戶名:"));p2.add(txtUserName); p3.add(newJLabel("密碼:"));p3.add(txtPassWord); p4.add(OK);p4.add(Cancel); OK.addActionListener(this); Cancel.addActionListener(this); txtUserName.addActionListener(this); txtPassWord.addActionListener(this); contentPane.add(p1); contentPane.add(p2); contentPane.add(p3); contentPane.add(p4); contentPane.add(p5); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setSize(300,220); //Dimensionscreen=Toolkit.getDefaultToolkit().getScreenSize(); //setLocation(screen.width/4,screen.height/4); setTitle("北京工業(yè)大學(xué)實(shí)驗學(xué)院"); setResizable(false); setVisible(true); } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==OK||e.getSource()==txtPassWord){ if(txtUserName.getText().trim().equals("Freeze") &&txtPassWord.getPassword().trim().equals("admin")) { dispose(); //Main

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論