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

下載本文檔

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

文檔簡(jiǎn)介

北京工業(yè)大學(xué)Java程序設(shè)計(jì)報(bào)告題目:教務(wù)管理系統(tǒng)學(xué)生姓名:邱健康黃海興學(xué)號(hào):_0952132009521133班級(jí):電信3班電信1班院系:信息工程系專業(yè)年級(jí):電子信息工程09級(jí)2011年12月15日一、需求分析(1)教務(wù)系統(tǒng)的簡(jiǎn)單描述教務(wù)管理系統(tǒng)是學(xué)校常見(jiàn)的計(jì)算機(jī)信息管理系統(tǒng)。它的主要任務(wù)是對(duì)各種教學(xué)信息進(jìn)行日常的管理,如課程管理、任課教師管理等。迅速準(zhǔn)確地完成各種計(jì)算和匯總,快速打印出報(bào)表。充分發(fā)揮數(shù)據(jù)庫(kù)管理系統(tǒng)高效、完全、可靠、便捷的性能,減少教務(wù)人員的工作量。(2)系統(tǒng)功能描述系統(tǒng)要求可以實(shí)現(xiàn)基本的查詢打印操作以及各種信息的錄入,首先在基本信息查詢的過(guò)程中,要求實(shí)現(xiàn)對(duì)學(xué)生,教師的基本信息進(jìn)行查詢,在信息錄入方面,要求可以對(duì)學(xué)生基本信息,教師基本信息以及學(xué)生的選課信息進(jìn)行增加刪除等操作.在我們所設(shè)計(jì)的教務(wù)管理系統(tǒng)中,對(duì)于基本的查詢,錄入操作都可以實(shí)現(xiàn),其中以視圖來(lái)實(shí)現(xiàn)對(duì)學(xué)生教師基本表的打印,對(duì)于信息的增刪改部分設(shè)計(jì)觸發(fā)器,實(shí)現(xiàn)系統(tǒng)對(duì)部分信息的修改,而存儲(chǔ)過(guò)程則實(shí)現(xiàn)對(duì)于具體信息的查詢,以基本的屬性作為參數(shù),對(duì)信息進(jìn)行查詢.二、設(shè)計(jì)功能及實(shí)現(xiàn)分析(1)具體功能表如下:教務(wù)管理系統(tǒng)(信息系統(tǒng)教務(wù)管理系統(tǒng)(信息系統(tǒng)a)學(xué)生信息查詢基本教師信息查詢學(xué)生基本信息班級(jí)信息教師信息查詢?cè)合敌畔⒉樵儼嗉?jí)信息院系信息按學(xué)號(hào)按班級(jí)按姓名按姓名按教號(hào)授課信息班級(jí)成績(jī)單按系名按班號(hào)按班長(zhǎng)按系名按系號(hào)教務(wù)管理系統(tǒng)(信息系統(tǒng)教務(wù)管理系統(tǒng)(信息系統(tǒng)b)查詢課程信息系統(tǒng)查詢選課信息系統(tǒng)按課程名稱按課程號(hào)按學(xué)生姓名按學(xué)生號(hào)查看課程信息查詢成績(jī)教務(wù)系統(tǒng)操作系統(tǒng)幫助信息教務(wù)系統(tǒng)管理(操作)教務(wù)系統(tǒng)管理(操作)學(xué)生管理系統(tǒng)教師管理系統(tǒng)選課管理系統(tǒng)院系管理系統(tǒng)班級(jí)管理系統(tǒng)課程管理系統(tǒng)(2)設(shè)計(jì)思路(提高執(zhí)行效率)存儲(chǔ)過(guò)程:以學(xué)生學(xué)號(hào),姓名,班級(jí)為輸入?yún)?shù)返回指定學(xué)生的基本信息,其他信息查詢功能實(shí)現(xiàn)類似視圖:對(duì)供選課程表、學(xué)生選課表創(chuàng)建視圖,方便查詢觸發(fā)器:對(duì)學(xué)生表進(jìn)行增加、刪除操作時(shí),同時(shí)實(shí)現(xiàn)對(duì)選課信息表的相操作,達(dá)到提高系統(tǒng)的執(zhí)行效率的目的三、概念結(jié)構(gòu)設(shè)計(jì)系統(tǒng)整體的E-R模型E-R模型如下:系系老師班級(jí)學(xué)生課程存在存在存在教授學(xué)習(xí)系名系號(hào)人數(shù)系主任編號(hào)所在系人數(shù)入學(xué)時(shí)間班長(zhǎng)姓名住址電話政治面貌性別編號(hào)地址出生日期班級(jí)號(hào)學(xué)號(hào)性別姓名課程號(hào)學(xué)時(shí)授課教師學(xué)分課程名1m1mnm1m1m成績(jī)四、邏輯結(jié)構(gòu)設(shè)計(jì)模式設(shè)計(jì):由系統(tǒng)整體E-R模型,得出關(guān)系模式關(guān)系模型:學(xué)生(姓名,學(xué)號(hào),性別,所在班級(jí),出生年月,家庭地址)Student(sname,sno,classno,birthday,address,ssex)sno:學(xué)號(hào)字符型數(shù)據(jù)非空唯一sname:姓名字符型數(shù)據(jù)非空classno:班級(jí)字符型數(shù)據(jù)ssex:性別字符型數(shù)據(jù)默認(rèn)為‘男’birthday:年齡smalldatetime型數(shù)據(jù)address:家庭地址字符型數(shù)據(jù)sno為主鍵教師(姓名,證件號(hào),系號(hào),性別,出生日期,政治面貌,電話號(hào)碼,家庭地址,職位,職務(wù))tno證件號(hào)char(10)非空唯一tname姓名varchar(10)非空tsex性別char(2)非空birthday出生日期smalldatetime,duty職務(wù)char(10)post職稱char(10)politic政治面貌char(10)office辦公室char(10)telephone電話號(hào)碼char(10)address住址char(50)主鍵:tno班級(jí)(班級(jí)編號(hào),所在系,人數(shù),入學(xué)時(shí)間,班長(zhǎng),專業(yè))classno班級(jí)編號(hào)char(10)非空唯一departmentno所在系varchar(50)gross_number人數(shù)int,enter_date入學(xué)時(shí)間smalldatetime,monitor班長(zhǎng)varchar(10),major專業(yè)char(10)主鍵:classno課程(課程代號(hào),課程名,授課教師,學(xué)分,學(xué)時(shí))cno課程代號(hào)char(10)非空唯一cname課程名varchar(20)tno授課教師char(10),credit學(xué)分intperiod學(xué)時(shí)int主鍵:cno系(系名,系號(hào),系班級(jí)數(shù),系主任)department_name系名varchar(50)departmentno系號(hào)varchar(50)非空唯一gross_class系班級(jí)數(shù)intdirector系主任varchar(50)Primarykey主鍵:departmentno選課(學(xué)號(hào),課程號(hào))sno學(xué)號(hào)char(10)非空唯一cno課程號(hào)char(10)非空外鍵:sno、cno授課(教師號(hào),課程號(hào))tno教師號(hào)char(10)cno課程號(hào)char(10)外鍵:tno、cno五、數(shù)據(jù)庫(kù)的物理設(shè)計(jì)為了提高在表中搜索元組的速度,在實(shí)際實(shí)現(xiàn)的時(shí)候基于某些屬性建立了索引。createuniqueindexindex_snoonstudent(sno)createuniqueindexindex_cnooncourse(cno)六、數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)現(xiàn)及運(yùn)行(1)數(shù)據(jù)庫(kù)的創(chuàng)建T-SQL語(yǔ)句: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語(yǔ)句:--------------------------------------------------------------------------------------------------------創(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)建班級(jí)表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é)時(shí)Primarykey(cno));------------------------------------------------------------------------------------------------------創(chuàng)建學(xué)生成績(jī)表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)建成績(jī)查詢視圖createviewMark_by_snoasselects.sno,s.sname,ame,c.credit,c.period,g.gradefromstudents,coursec,sc,gradegwheres.sno=sc.snoando=oands.sno=g.snoo=o--測(cè)試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--測(cè)試語(yǔ)句select*fromteaching_information_by_tno--視圖創(chuàng)建班級(jí)成績(jī)單createviewtotal_mark_by_classnoasselects.sno,s.sname,sum(grade)總成績(jī)fromstudents,gradegwheres.sno=g.snogroupbys.sno,s.snameorderbysum(grade)desc(4)存儲(chǔ)過(guò)程的定義實(shí)現(xiàn)(僅需給出自己設(shè)計(jì)模塊中所用的)--創(chuàng)建存儲(chǔ)過(guò)程(1)createprocedureproc_by_sno@snochar(10)asselect*fromstudentwheresno=@sno--測(cè)試語(yǔ)句executeproc_by_sno'20043309'--存儲(chǔ)過(guò)程(2)createprocedureproc_by_sname@snamechar(10)asselect*fromstudentwheresname=@sname---------------------------------------------------------------------------------------------------------存儲(chǔ)過(guò)程(3)createprocedurepro_by_class@classnochar(10)asselect*fromstudentwhereclassno=@classno--實(shí)施check約束altertablegradeaddconstraintck_gradecheck(grade>0andgrade<100(5)在宿主語(yǔ)言中調(diào)用存儲(chǔ)過(guò)程、視圖、觸發(fā)器代碼段以及相關(guān)測(cè)試結(jié)果:代碼:測(cè)試結(jié)果粘貼:代碼段:測(cè)試結(jié)果粘貼:代碼段:測(cè)試結(jié)果粘貼:代碼段:測(cè)試結(jié)果粘貼:代碼段:測(cè)試結(jié)果粘貼:代碼段:測(cè)試結(jié)果粘貼:代碼段:測(cè)試結(jié)果:代碼段:測(cè)試結(jié)果:代碼段:測(cè)試結(jié)果:代碼段:測(cè)試結(jié)果粘貼:(6)觸發(fā)器的定義實(shí)現(xiàn)T-SQL語(yǔ)句:--delete觸發(fā)器createtriggertrigger_studentonstudentafterdeleteasdeclare@snochar(10),@classnochar(10)beginselect@sno=sno,@classno=classnofromdeleteddeletefromgradewheresno=@snoupdateclasssetgross_number=gross_number-1whereclassno=@classnoend--檢驗(yàn)deletefromstudentwheresno='20043306'---------------------------------------------------------------------------------------------------------insert觸發(fā)器createtriggerinsert_triggeronstudentafterinsertasdeclare@classnochar(10)beginselect@classno=classnofrominsertedupdateclasssetgross_number=gross_number+1whereclassno=@classnoend--測(cè)試語(yǔ)句:insertintostudent(sname,sno,ssex,classno)values('各個(gè)','20043319','女','20041011')(7)自行設(shè)計(jì)各模塊中所涉及的操作語(yǔ)句(一)、查詢操作:功能界面簡(jiǎn)單描述:圖1本系統(tǒng)的主要操作界面,按動(dòng)對(duì)應(yīng)的按鈕會(huì)顯示對(duì)應(yīng)的信息圖2選定相應(yīng)的查詢方式會(huì)顯示對(duì)應(yīng)的信息比如選定班級(jí)號(hào)碼,輸入指定班級(jí)號(hào)碼,就會(huì)顯示指定班級(jí)的學(xué)生信息。操作語(yǔ)句:圖3:圖4:功能界面簡(jiǎn)單描述如下:圖3按照用戶的指定要求查找出指定教師的基本信息。圖4可以顯示用戶指定教師的授課內(nèi)容,方便了解老師的教學(xué)計(jì)劃以及安排。程序代碼:圖5:圖6:圖7:功能簡(jiǎn)單描述:圖5—7是選課系統(tǒng)的功能界面可以實(shí)現(xiàn)對(duì)指定學(xué)生的選課信息進(jìn)行查詢,同時(shí)具有供選課功能提示的界面,方便用戶的操作,并能實(shí)現(xiàn)對(duì)應(yīng)的學(xué)生成績(jī)查詢。代碼:(二)、教務(wù)管理操作:圖8:圖9:圖10:功能簡(jiǎn)單描述:圖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í)驗(yàn)學(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論