版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《Java高級(jí)開發(fā)》課程設(shè)計(jì)題目:基于SWING和MyBatis的學(xué)生成果管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)學(xué)號(hào):2012姓名:鄭瑩瑩專業(yè):計(jì)算機(jī)應(yīng)用班級(jí):應(yīng)用1班2014年6月20日書目1. 背景簡(jiǎn)介 22.需求分析 32.1功能需求 32.2
性能需求 42.3運(yùn)用技術(shù)和開發(fā)平臺(tái) 53.系統(tǒng)設(shè)計(jì) 53.1界面設(shè)計(jì) 53.2功能設(shè)計(jì) 63.3數(shù)據(jù)庫表設(shè)計(jì) 73.3.1E-R圖 7關(guān)系模式 93.3.3數(shù)據(jù)庫管理系統(tǒng) 9數(shù)據(jù)庫命名 9數(shù)據(jù)庫表 93.4代碼設(shè)計(jì) 104.系統(tǒng)實(shí)現(xiàn)與測(cè)試 144.1功能模塊測(cè)試 144.2系統(tǒng)測(cè)試截圖 155.總結(jié)與展望 18背景簡(jiǎn)介
隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻相識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,運(yùn)用計(jì)算機(jī)對(duì)學(xué)生成果進(jìn)行管理,具有手工管理無法比擬的優(yōu)點(diǎn)。例如:檢索快速、查找便利、牢靠性高、存儲(chǔ)量大、成本低、效率高等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生選課系統(tǒng)的效率,也是企業(yè)、學(xué)校的科學(xué)化、正規(guī)化管理和與世界接軌的重要條件。因此,開發(fā)這樣一套管理系統(tǒng)已成為很有必要的事情。
學(xué)生成果管理系統(tǒng)是一個(gè)學(xué)校中不行缺少的部分。成果管理系統(tǒng)應(yīng)當(dāng)能夠?yàn)橛脩艄?yīng)足夠的信息和快捷的查詢手段。但始終以來人們運(yùn)用傳統(tǒng)人工的方式對(duì)課程進(jìn)行查詢、更新等,這種管理方式存在著很多缺點(diǎn),如:效率低、執(zhí)行速度慢,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少困難。
JAVA是一門很優(yōu)秀的編程語言,具有面對(duì)對(duì)象、與平臺(tái)無關(guān)、平安、穩(wěn)定和多線程等特點(diǎn),是目前軟件設(shè)計(jì)中極為健壯的編程語言。運(yùn)用JAVA語言建立一個(gè)課程管理系統(tǒng),使學(xué)生成果信息管理工作規(guī)范化,系統(tǒng)化,程序化,提高信息處理的速度和精確性,能夠剛好,精確,有效的查詢和修改成果。2.需求分析2.1功能需求本次設(shè)計(jì)的學(xué)生選課系統(tǒng)是一個(gè)面對(duì)管理員、學(xué)生和老師這三個(gè)對(duì)象的教務(wù)平臺(tái)。對(duì)學(xué)生的課程成果進(jìn)行錄入、修改查詢等基本功能。對(duì)老師或系統(tǒng)管理人員可以登錄系統(tǒng)進(jìn)行成果錄入等管理,學(xué)生只能登錄系統(tǒng)進(jìn)行成果查詢。學(xué)生成果管理系統(tǒng)的要求是能夠管理學(xué)生成果信息,主要涉及到學(xué)生的基本信息、成果信息和學(xué)校的授課安排信息的管理。
學(xué)生的成果是須要由人工錄入的,因此系統(tǒng)就須要設(shè)計(jì)一個(gè)學(xué)生成果信息錄入的窗口來錄入期考成果,并且在這個(gè)窗口中放入一個(gè)數(shù)據(jù)窗口來實(shí)現(xiàn)錄入這方面信息的功能。
系統(tǒng)還要求具有查詢期考成果的功能,因此為了顯示查詢結(jié)果,就要設(shè)計(jì)一個(gè)數(shù)據(jù)窗口,并將其放在查詢期考成果的窗口中實(shí)現(xiàn)查詢功能。
由于查詢成果和錄入成果有區(qū)分,因此為了更好的實(shí)現(xiàn)相應(yīng)的功能,設(shè)計(jì)的數(shù)據(jù)窗口也要不同,分別采納兩種風(fēng)格的數(shù)據(jù)窗口實(shí)現(xiàn)。
系統(tǒng)要求能夠錄入授課安排和學(xué)生基本信息,必需設(shè)計(jì)錄入授課安排窗口和錄入學(xué)生基本信息窗口來實(shí)現(xiàn)相應(yīng)功能。
由于該系統(tǒng)是學(xué)校管理學(xué)生成果信息的系統(tǒng),因此必需具有肯定的保密性,須要特定的人員才可以修改,因此須要設(shè)計(jì)一個(gè)用戶登陸的窗口,使具有訪問權(quán)限的用戶才能登錄此系統(tǒng)。為了簡(jiǎn)潔化,我們的用戶名和用戶密碼和數(shù)據(jù)庫本身的用戶名密碼相同。系統(tǒng)的主窗口要能夠在用戶選中相應(yīng)操作后,調(diào)出相應(yīng)的窗口來運(yùn)用戶在窗口中完成相應(yīng)的功能。2.2
性能需求
一般用戶并不具備計(jì)算機(jī)專業(yè)學(xué)問,若程序性能有肯定的缺陷或可對(duì)其隱藏,但一旦異樣暴露,對(duì)于計(jì)算機(jī)專業(yè)學(xué)問較少的用戶來說將一發(fā)不行整理。對(duì)于一個(gè)專業(yè)的開發(fā)人員來講,其項(xiàng)目在滿意用戶提出的功能實(shí)現(xiàn)外,首先應(yīng)保證性能良好。綜上所屬,本系統(tǒng)的性能需求大致如下:
系統(tǒng)的多數(shù)模塊(尤其是后臺(tái)幾乎全部的)都有相應(yīng)的特殊操作,所以在進(jìn)入模塊之前要對(duì)用戶所具有的權(quán)限等用戶信息做出嚴(yán)格檢測(cè),預(yù)防非法操作。
數(shù)據(jù)庫的連接應(yīng)采納連接池技術(shù),合理、有效的安排、回收資源。系統(tǒng)運(yùn)行過程中會(huì)產(chǎn)生很多異樣(其中大多數(shù)是預(yù)期效果),要有良好的異樣處理機(jī)制,即要顯示界面友好又要體現(xiàn)程序嚴(yán)謹(jǐn)。
學(xué)生在查詢成果時(shí),系統(tǒng)設(shè)計(jì)要充分考慮到線程之間的并發(fā)與沖突。
注意系統(tǒng)所需時(shí)間與空間上的資源消耗和運(yùn)行效果。2.3運(yùn)用技術(shù)和開發(fā)平臺(tái)鑒于數(shù)據(jù)庫的選擇,本系統(tǒng)僅能在Windows系統(tǒng)上運(yùn)行,需裝有MySQL。在工程中,本系統(tǒng)采納MyEclipse作為開發(fā)及測(cè)試環(huán)境。3.系統(tǒng)設(shè)計(jì)3.1界面設(shè)計(jì)登錄界面有賬號(hào),密碼,管理員賬號(hào)以字母A開頭,老師賬號(hào)以字母T開頭,學(xué)生賬號(hào)以字母S開頭,登錄賬號(hào)或密碼輸入錯(cuò)誤會(huì)彈出相應(yīng)的提示對(duì)話框。3.2功能設(shè)計(jì)學(xué)生成果管理系統(tǒng)學(xué)生成果管理系統(tǒng)老師登錄模塊學(xué)生登錄模塊登錄模塊管理員登錄模塊教師信息管理模塊學(xué)生信息管理模塊教師錄入成績(jī)模塊教師密碼修改模塊學(xué)生密碼修改模塊學(xué)生查詢成績(jī)模塊圖3-1系統(tǒng)功能結(jié)構(gòu)圖各模塊功能:學(xué)生信息管理模塊:管理員用于添加和刪除學(xué)生信息的模塊。老師信息管理模塊:管理員用于添加和刪除老師信息的模塊。老師密碼修改模塊和學(xué)生密碼修改模塊:管理員添加的用戶帳號(hào)的初始密碼與用戶的帳號(hào)相同,用戶通過密碼修改模塊可以自己需改密碼。老師錄入成果模塊:老師可以閱讀選修自己課程的學(xué)生的信息并且錄入該學(xué)生的成果。學(xué)生查詢成果模塊:通過表格的形式將該學(xué)生選擇了的課程列出來,假如老師有錄入成果,則可以看到自己的課程成果。3.3數(shù)據(jù)庫表設(shè)計(jì)3.3.1E-R圖學(xué)生管理學(xué)生管理學(xué)號(hào)姓名年級(jí)生日性別班別語文數(shù)學(xué)數(shù)學(xué)圖3-2學(xué)生信息E-R圖學(xué)生查找學(xué)生查找增加學(xué)生單個(gè)查詢刪除學(xué)生修改學(xué)生圖3-2學(xué)生管理E-R圖學(xué)生查找學(xué)生查找查看全體按專業(yè)查找按年級(jí)查找按班別查找圖3-3學(xué)生查找E-R圖成果管理成果管理單科排名掛科學(xué)生總分排名合格學(xué)生圖3-4成果管理E-R圖3.3.2關(guān)系模式學(xué)生信息(學(xué)號(hào),姓名,性別,生日,年級(jí),班別,語文,數(shù)學(xué),英語,專業(yè))學(xué)生管理(增加學(xué)生,刪除學(xué)生,修改學(xué)生,單個(gè)查詢)學(xué)生查找(查看全體,按年級(jí)查找,按班別查找,按專業(yè)查找)成果管理(單科排名,總分排名,合格學(xué)生,各科學(xué)生)3.3.3數(shù)據(jù)庫管理系統(tǒng)MySQL3.3.4數(shù)據(jù)庫命名studentmanagerment3.3.5數(shù)據(jù)庫表Logon(登錄帳號(hào)密碼)(主要用來保存用戶登錄信息)字段名數(shù)據(jù)類型長(zhǎng)度是否為空是否主鍵userchar10不為空主鍵passwordchar10StudentTable1(學(xué)生信息表)(主要用來保存成果信息)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否是否為空描述NumChar10主鍵不為空學(xué)生學(xué)號(hào)NameChar10不為空學(xué)生姓名SexChar2不為空學(xué)生性別BirthDatetime8學(xué)生生日Classchar16所在班級(jí)GradeChar20學(xué)生成果MajorChar10主修ChineseFloat10語文成果EnglishFloat10英語成果MathsFloat10數(shù)學(xué)成果TotalFloat10總成果CourseTable(課程信息表)字段名數(shù)據(jù)類型長(zhǎng)度主鍵否是否為空描述CourseIDChar16主鍵不為空課程編號(hào)CourseNameChar16不為空課程名PointChar8不為空學(xué)分StuNumberDatetime4不為空選課人數(shù)3.4代碼設(shè)計(jì)Login.javapackagescoreManagement;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;//登錄界面publicclassLoginextendsJFrameimplementsActionListener{ JButtonb1=newJButton("登錄"); JButtonb2=newJButton("退出"); JLabella1=newJLabel("用戶名"); JLabella2=newJLabel("密碼"); JPanelp1=newJPanel(); JPanelp2=newJPanel(); JPanelp3=newJPanel(); JTextFieldname=newJTextField(15); JPasswordFieldpw=newJPasswordField(15); publicLogin(){ /*setBak();//調(diào)用背景方法 Containerc=getContentPane();//獲得JFrame面板 JPaneljp=newJPanel();//創(chuàng)建個(gè)JPanel jp.setOpaque(false);//把JPanel設(shè)置為透亮這樣就不會(huì)遮住后面的背景這樣你就能在JPanel隨意加組件了 c.add(jp); setSize(540,450); setVisible(true);*/ /*JLabelp=newJLabel(); p.setOpaque(true); p.setBackground(Color.red);*/ /*JLabelp=newJLabel(); JLabell=newJLabel(); Iconicon=newImageIcon("D:\\a.jpg");//在此干脆創(chuàng)建對(duì)象 l.setIcon(icon); l.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight()); p.add(l,newInteger(Integer.MIN_VALUE)); getContentPane().add(p); pack();//窗口適應(yīng)組件大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用來關(guān)閉窗口的*/ setVisible(true); setTitle("學(xué)生成果管理系統(tǒng)"); getContentPane().setLayout(newGridLayout(3,1)); getContentPane().add(p1); getContentPane().add(p2); getContentPane().add(p3); p1.add(la1); p1.add(name); p2.add(la2); p2.add(pw); p3.add(b1); p3.add(b2); setBounds(500,250,100,100); pack(); setVisible(true); pw.setEchoChar('*'); b1.addActionListener(this); b2.addActionListener(this); } /*publicvoidsetBak(){ ((JPanel)this.getContentPane()).setOpaque(false); ImageIconimg=newImageIcon("D://a.jpg");//添加圖片 JLabelbackground=newJLabel(img);this.getLayeredPane().add(background,newInteger(Integer.MIN_VALUE)); background.setBounds(0,0,img.getIconWidth(),img.getIconHeight()); }*/ publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="登錄"){ Stringpassword=pw.getText(); Stringuser=name.getText(); if(user.equals("wujingjing")&&password.equals("201231526")){ Functionfunction=newFunction(); function.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(false); } else{ JOptionPane.showMessageDialog(null,"用戶名或密碼錯(cuò)誤","Error",JOptionPane.INFORMATION_MESSAGE); } } elseif(e.getActionCommand()=="退出"){ System.exit(0); } } }DateBaseCreate.javapackagescoreManagement;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;//登錄界面publicclassLoginextendsJFrameimplementsActionListener{ JButtonb1=newJButton("登錄"); JButtonb2=newJButton("退出"); JLabella1=newJLabel("用戶名"); JLabella2=newJLabel("密碼"); JPanelp1=newJPanel(); JPanelp2=newJPanel(); JPanelp3=newJPanel(); JTextFieldname=newJTextField(15); JPasswordFieldpw=newJPasswordField(15); publicLogin(){ /*setBak();//調(diào)用背景方法 Containerc=getContentPane();//獲得JFrame面板 JPaneljp=newJPanel();//創(chuàng)建個(gè)JPanel jp.setOpaque(false);//把JPanel設(shè)置為透亮這樣就不會(huì)遮住后面的背景這樣你就能在JPanel隨意加組件了 c.add(jp); setSize(540,450); setVisible(true);*/ /*JLabelp=newJLabel(); p.setOpaque(true); p.setBackground(Color.red);*/ /*JLabelp=newJLabel(); JLabell=newJLabel(); Iconicon=newImageIcon("D:\\a.jpg");//在此干脆創(chuàng)建對(duì)象 l.setIcon(icon); l.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight()); p.add(l,newInteger(Integer.MIN_VALUE)); getContentPane().add(p); pack();//窗口適應(yīng)組件大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用來關(guān)閉窗口的*/ setVisible(true); setTitle("學(xué)生成果管理系統(tǒng)"); getContentPane().setLayout(newGridLayout(3,1)); getContentPane().add(p1); getContentPane().add(p2); getContentPane().add(p3); p1.add(la1); p1.add(name); p2.add(la2); p2.add(pw); p3.add(b1); p3.add(b2); setBounds(500,250,100,100); pack(); setVisible(true); pw.setEchoChar('*'); b1.addActionListener(this); b2.addActionListener(this); } /*publicvoidsetBak(){ ((JPanel)this.getContentPane()).setOpaque(false); ImageIconimg=newImageIcon("D://a.jpg");//添加圖片 JLabelbackground=newJLabel(img);this.getLayeredPane().add(background,newInteger(Integer.MIN_VALUE)); background.setBounds(0,0,img.getIconWidth(),img.getIconHeight()); }*/ publicvoidactionPerformed(ActionEvente){ if(e.getActionCommand()=="登錄"){ Stringpassword=pw.getText(); Stringuser=name.getText(); if(user.equals("wujingjing")&&password.equals("201231526")){ Functionfunction=newFunction(); function.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(false); } else{ JOptionPane.showMessageDialog(null,"用戶名或密碼錯(cuò)誤","Error",JOptionPane.INFORMATION_MESSAGE); } } elseif(e.getActionCommand()=="退出"){ System.exit(0); } } }4.系統(tǒng)實(shí)現(xiàn)與測(cè)試4.1功能模塊測(cè)試
由于時(shí)間和自身實(shí)力所限,我們只進(jìn)行了功能測(cè)試(黑盒測(cè)試)。
1)
登陸界面測(cè)試
2)
學(xué)生信息查詢,刪除,修改,添加及導(dǎo)入導(dǎo)出功能的測(cè)試
3)
課程信息查詢,刪除,修改,添加及導(dǎo)入導(dǎo)出功能的測(cè)試
4)
成果信息查詢,刪除,修改,添加及導(dǎo)入導(dǎo)出功能的測(cè)試
經(jīng)過測(cè)試本系統(tǒng)基本實(shí)現(xiàn)了所要求的功能,能夠比較便利的,快捷的完成所執(zhí)行操作。
4.2系統(tǒng)測(cè)試截圖部分截圖如下:圖4.1-1登錄頁面圖4.1-2主界面圖4.1-3增刪改查頁面圖4.1-4查看全體成果頁面圖4.1-5按成果查找頁面圖4.1-6按班級(jí)查詢頁面5.總結(jié)與展望該系統(tǒng)主要實(shí)現(xiàn)了學(xué)生成果管理的功能,從需求分析,界面的搭建,到數(shù)據(jù)庫的連接,表格,存儲(chǔ)過程和存儲(chǔ)過程等的建立,在這段時(shí)間的摸索中,我的確學(xué)到了很多東西,特殊是對(duì)以前不太了解的JavaSwing組件有了更深刻的了解。比如JTable,對(duì)于它的用法我在網(wǎng)上找了很多資料,JTable的建立有各種不同的方法,可以運(yùn)用Defau
溫馨提示
- 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ìn)出口合同范本
- 高速投資合同范本
- 高炮出售合同范本
- 2024至2030年中國汽車駕駛室行業(yè)投資前景及策略咨詢研究報(bào)告
- 定點(diǎn)工程造價(jià)服務(wù)合同范本
- 佰仟公司合同范本
- 2024年血球儀配件項(xiàng)目可行性研究報(bào)告
- 2024至2030年中國PET雙面膠數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024-2025學(xué)年牛津版小學(xué)六年級(jí)英語上冊(cè)期中檢查試題及答案
- 水利水電工程單元工程施工質(zhì)量驗(yàn)收評(píng)定表及填表說明
- 2024年浙江地方金融監(jiān)督管理局事業(yè)單位筆試真題
- SAP項(xiàng)目實(shí)施服務(wù)合同(2024版)
- 集體榮譽(yù)感主題教育班會(huì)
- HG-T 2006-2022 熱固性和熱塑性粉末涂料
- 金融調(diào)解中心可行性報(bào)告
- 醫(yī)學(xué)檢驗(yàn)技術(shù)生涯規(guī)劃報(bào)告
- 2024陜西榆林能源集團(tuán)橫山煤電限公司招聘46人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 2.3.2《拋物線的簡(jiǎn)單幾何性質(zhì)》省公開課一等獎(jiǎng)全國示范課微課金獎(jiǎng)?wù)n件
- 酒店工程部培訓(xùn)
評(píng)論
0/150
提交評(píng)論