java班級管理系統(tǒng)_第1頁
java班級管理系統(tǒng)_第2頁
java班級管理系統(tǒng)_第3頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、班級管理系統(tǒng)一課程設計目的本班級管理系統(tǒng)軟件主要用于實現(xiàn)用戶對學生一些基本信息的常用操作,在本系統(tǒng)中定義了對學生基本信息進行添加,刪除,查找等幾個模塊。此系統(tǒng)是一 個非常方便快捷的班級學生信息管理軟件,用戶可以隨心所欲地添加學生信息、 查詢學生信息、修改學生信息,刪除學生信息等等。具體實現(xiàn)要求如下:1)能夠?qū)崿F(xiàn)對班級學生基本資料的錄入,包括學生的學號,姓名,性別, 所學專業(yè),家庭住址以及出生年月等。2)能夠?qū)崿F(xiàn)對學生基本資料的修改。3)根據(jù)學號對學生資料進行查詢。4)能夠刪除某些學生的資料。二設計方案1設計概述設計一個班級管理系統(tǒng),能夠?qū)崿F(xiàn)對學生基本資料的錄入,包括學生 的學號,姓名,性別,所

2、學專業(yè),家庭住址以及出生年月等;能夠?qū)崿F(xiàn)對 學生基本資料的修改;根據(jù)學號對學生資料進行查詢;能夠刪除某些學生 的資料。2需求分析2.1系統(tǒng)結構圖根據(jù)本次課程設計的目的和以上的問題描述,把該班級管理系統(tǒng)分為五個模塊:錄入模塊(StudentSituation )、查詢模塊(Inques )、刪除模塊(Delete) 和修改模塊(ModifySituation )。各個模塊包括對學生學號,姓名,所學專業(yè),家 庭住址,出生日期等信息的操作。系統(tǒng)結構圖如下:圖一系統(tǒng)結構圖2.2系統(tǒng)主要類定義由于在本班級管理系統(tǒng)中各個模塊操作的變量和方法大體相同,在程序中, 錄入模塊(StudentSituation

3、)、查詢模塊(Inques )、刪除模塊(Delete )和修 改模塊(ModifySituation )所操作的變量都是學生的學號,姓名,性別,所學 專業(yè),家庭住址以及出生年月等,所以把這四個模塊都定義為主類(StudentManager)的子類。在該設計中,由于沒有用數(shù)據(jù)庫對用戶所錄入的信 息進行存儲,所以又定義了錄入模塊(StudentSituation )的一個子類,該類可 以存儲用戶所輸入的學生信息,也可以接收用戶對信息的修改,而當用戶刪除學 生信息時,該子類刪除該信息。所以該系統(tǒng)中共有6個java源文件,類之間的主要關系如下圖所示:圖二類之間的關系圖各主類的主要作用如下:1).St

4、ude ntMa nager.java該java文件的類負責創(chuàng)建班級學生管理系統(tǒng)的主窗口。該類包含main方法,main方法是程序執(zhí)行的入口,即程序從該類開始執(zhí)行。2).Stude ntStituatio n.java該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生信息錄入界面。3).ModifySituati on .java該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生基本信息修改界面。4).lnq uest.java該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生基本信息查詢界面。5).Delete.java該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生信息刪除界面。6).Stude nt.java負責創(chuàng)建存放學生

5、信息的對象。2.3功能需求根據(jù)上述的信息管理系統(tǒng)的業(yè)務流程、要求以及所要實現(xiàn)的目標,我們可以擬出以下需求目標:(1)建立學生檔案的管理和維護。實現(xiàn)計算機自動化管理體制。(2)建立學生成績管理機制,在計算機的支持下快速的完成學生成績的查詢和修改。(3)建立課程設置管理,在計算機的支持下實現(xiàn)課程的添加、刪除、修改。(4)建立班級設置管理,在計算機的支持下實現(xiàn)班級的添加、刪除和修改。(5)實現(xiàn)系統(tǒng)的權限設置管理,保證系統(tǒng)安全性。根據(jù)系統(tǒng)的需求分析,得到本系統(tǒng)的功能要求如下:(1)班級、課程的設置管理:學校的教務秘書可以根據(jù)本校具體情況在每學期開始時 設置所需班級數(shù)量和人數(shù)。并設置本學期的課程。(2)

6、權限管理:為了很好的保證系統(tǒng)的安全性,學校相關負責人可以設置不同類型的 人員的權限。(3)學生檔案管理:學生檔案的數(shù)量十分龐大,教務管理人員進行新生入學的檔案錄 入及更改。其中包括學生個人信息的修改。(4)學生成績管理:教務管理人員可以查詢和修改學生的歷年考試成績,掌握學生學 習情況,作為評定學生素質(zhì)的數(shù)據(jù)依據(jù)。3 詳細設計3.1 主類 StudentManager.java該java文件的類負責創(chuàng)建班級學生管理系統(tǒng)的主窗口。該類包含main方法,main方法是程序執(zhí)行的入口,即程序從該類開始執(zhí)行。在該主類StudentManager.java所包含的主要方法和主要成員變量如表1和表2所示:表

7、1主要方法名稱功能備注Stude ntMa nager創(chuàng)建程序主窗口構造方法action Performed處理ActionEvent事件接口方法mai n系統(tǒng)主方法,程序開始行系統(tǒng)主方法表2主要成員變量成員變量描述變量類型變量名稱基本信息錄入界面Stude ntSituati on基本信息錄入基本信息修改界面ModifySituatio n基本信息修改基本信息查詢界面Inq uest基本信息查詢基本信息刪除界面Delete基本信息刪除菜單選項JMe nultem錄入,修改,查詢,刪除存基本信息的散表Hashtable基本信息存放散列表的文件Filefile3.2 錄入界面 StudentSt

8、ituation.java該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生信息錄入界面,該界面 包括對學生學號,姓名,所學專業(yè),家庭住址,出生日期的錄入,在該類中定義了兩個方法創(chuàng)建學生信息錄入界面(StudentSituation),此方法屬 于一個構造方法;處理 ActionEvent事件(actionPeformed ),這是一個 接口方法。該類的主要成員變量和主要方法如表 3和表4所示:表3主要成員變量屬性描述變量類型變量名稱“學生”對象的散列表Hashtable基本信息表學生基本信息的文本JTextField學號,姓名,所學專業(yè)等學生信息的對象Stude nt表4主要方法定義名稱功能備注Stu

9、de ntSituati on創(chuàng)建學生信息錄入面構造方法action Performed處理 ActionEvent 件接口方法3.3 查詢界面 Inquest.java該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生基本信息查詢界面,在該類中所操作的數(shù)據(jù)成員變量與錄入界面相同,也包括學生學號,姓名,所學專業(yè),家庭住址,出生日期。在該類中定義了一個構造方法創(chuàng)建查詢界面(In quest),和一個接口方法(actio nPeformed )該類的主要成員變量和主要方法如表5和表6所示:表5主要成員變量屬性描述變量類型變量名稱存放“學生”對象的表Hashtable基本信息表顯示學生基本信息文本JTextF

10、ield學號,姓名,所學專業(yè)等表6主要方法定義名稱功能備注Inq uest創(chuàng)建查詢界面構造方法action Performed處理ActionEvent事件接口方法3.4 修改界面 ModifySituation.java該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生基本信息修改界面,在該類中可以對各個成員變量進行修改,可以修改學生學號,姓名,所學專業(yè),家庭住址 及出生日期,同樣在該類中也創(chuàng)建了一個構造方法和接口方法:創(chuàng)建學生信息修改界面(ModifySituation )和處理 ActionEvent 事件(actionPeform )。 主要的成員變量如表7所示,主要方法如表8所示:表7主要成員

11、變量描述變量類型變量名稱存放“學生”對象的散列 表Hashtabel基本信息表輸入學生基本信息的文本 條JTextField學號,姓名,所學專業(yè)等表8主要方法名稱功能備注ModifySituatio n創(chuàng)建學生信息修改界面構造方法action Perform處理ActionEvent事件接口方法3.5 刪除界面 Delete.java該文件的類負責創(chuàng)建班級學生管理系統(tǒng)的學生信息刪除界面。當用戶 要刪除某一個學生的信息時,輸入要刪除的學生學號,這時系統(tǒng)會提示用 戶是否要刪除所選擇的學生信息,刪除后在學生信息表中會刪除該學生的 記錄。在該類中定義的主要成員變量和主要方法如表 9和表10所示:表9主

12、要成員變量描述變量類型變量名稱存放“學生”對象的散列Hashtable:基本信息表顯示學生基本信息的文本 條JTextField學號,姓名,所學專業(yè)等表10主要方法名稱功能備注Delete創(chuàng)建學生信息刪除界面構造方法action Performed處理 ActionEvent接口方法3.6 學生對象 Student.java負責創(chuàng)建存放學生信息的對象。正如前面所述,在本次課程設計所開 發(fā)的系統(tǒng)中,其他模塊所操作的成員變量都存放在學生對象Student.java類中,且該類是Stude ntSituation類的子類,也是主類的間接子類,所以該類繼承了這兩個類的成員變量和成員方法。在該類中所定義

13、的主要成 員變量和主要方法如表11和表12所示:表11主要成員變量描述變量類型變量名稱學號Stri ngNumber姓名Stri ngName所學專業(yè)Stri ngDiscipli ng家庭住址Stri ngGrade出生Stri ngBorth性別Stri ngSex表12主要方法名稱功能Setnu mber設置學號Setnu mber獲取學號Set name設置姓名Set name獲取姓名setDiscipi ng設置所學專業(yè)setDiscipi ng獲取所學專業(yè)setGrade設置家庭住址setGrade獲取家庭住址setBorth設置出生setBorth獲取出生setSex設置性別se

14、tSex獲取性別三程序運行結果本程序為一簡單的班級管理系統(tǒng),功能比較單一,但是基本功能還是 實現(xiàn)了,能夠?qū)W生基本資料的錄入,修改,刪除以及查詢。1 主界面窗口程序運行后在主界面窗口上有一個菜單項“菜單選項” ,該菜單包括 五個下拉菜單:“錄入學生基本信息”,“修改學生基本信息”,“查詢學生 基本信息”,“刪除學生基本信息”,“退出系統(tǒng)”。程序運行的主要界面如 圖三所示:圖三系統(tǒng)主窗口2錄入窗口界面進入主界面窗口后,點擊“錄入學生基本信息”下拉菜單項,填寫完學生基本信息點擊錄入,在彈出的對話框中選擇“是”,這樣用戶就可以錄入學生的基本信息。具體功能演示如下圖四所示:圖四錄入窗口界面3學生信息修

15、改界面當用戶想要修改某一學生的基本信息時, 輸入待修改學生的學號,點擊開 始修改,即可對學生信息中的任意一項進行修改。 當修改完成時,點擊錄入修 改。在如圖五所示的對話框中選擇“確定”,即可完成對學生信息的修改。圖五學生信息修改界面4 學生信息查詢界面當用戶想要查詢某個學生的基本信息時,只需要在查詢界面中輸入待 查詢學生的學號,點擊“查詢”即可查詢到學生的基本信息。具體功能圖 如圖六所示:姓 £:yanjiaiin輸入要査園的學號:F0524115性別男O女所學專業(yè):Mmnji涼應 It 址:shenvangdaxue出 口 Mfl. JhLhJL*丄鼻上山兒必圖六學生信息查詢界面5

16、學生信息刪除界面同樣,當用戶想要刪除某個學生的基本信息時,也只需輸入待刪除學 生的學號,點擊“刪除”,在彈出的對話框中點擊確定,即可完成對學生 基本信息的刪除操作。程序運行界面如圖七所示圖七學生信息刪除界面四總結展望這次課程設計作業(yè)使我對用Java面向?qū)ο笳Z言編程產(chǎn)生了極大興趣。通過 這次課程設計也著實讓自己感受到了一次編程的樂趣,從中也學到了不少知識。由于在本系統(tǒng)涉及到的數(shù)據(jù)對象較多,且而由于Java面向?qū)ο笤O計中對異常處理的嚴格要求,所以在本次課程設計中深刻體會到了在程序開發(fā)中對問題的全面考慮,如果對某個操作可能出現(xiàn)的異常考慮不到,將會使程序運行中出現(xiàn)錯誤。在該系統(tǒng)中還運用了 Java中所

17、提供的兩個處理圖形用戶界面的類 庫:java.awt包javax.swing包。在所定義的幾個模塊中都用到了這兩個包,用 于設計圖形用戶界面。通過對圖形用戶界面的設計,對這兩個包中的標簽,文本, 框架及容器等類的常用方法都有了比較深刻的了解。在這次實驗中,對系統(tǒng)中成員變量和成員方法的調(diào)用也進行了很多種嘗試,已 經(jīng)能夠相對準確的選擇合適的參數(shù)形式來實現(xiàn)函數(shù)之間的數(shù)據(jù)傳輸交互了,同時也體會到了類的繼承在程序設計中的巨大優(yōu)勢。不過,在用Java開發(fā)類似的軟件時,發(fā)現(xiàn)在圖形界面的設計方面遠沒有用 VB, VF等開發(fā)工具簡單。五各功能模塊的主要代碼import java.awt.*;import jav

18、a.awt.eve nt.*;import javax.swi ng.*;import java.io.*;import java.util.*;public class Stude ntSituati on exte nds JPa nel impleme nts Action Liste nerHashtable基本信息表=n ull;JTextField學號,姓名,所學專業(yè),家庭住址,出生日期;JRadioButton 男,女;Student 學生=null;Butt on Group group=nu II;JButton錄入,重置;FileI nputStream inOne=n u

19、ll;ObjectI nputStream in Two=n ull;FileOutputStream out One=n ull;ObjectOutputStream outTwo=n ull;File file=null;public Stude ntSituatio n(File file)學號二new JTextField(10);姓名二new JTextField(10);所學專業(yè)=new JTextField(10);家庭住址=new JTextField(10);出生日期=new JTextField(10);group=new Butt on Group();男=new JRa

20、dioButton("男 ”,true);女=門6可 JRadioButto n('女"false);group.add男);group.add女);錄入=n ew JButton ("錄入");重置=n ew JButto n("重置");錄入.addActi on Liste ner(this);重置.addActi on Liste ner(this);Box box仁Box.createHoriz on talBox();box1.add( new JLabel('學號:",JLabel.CENTER

21、);box1.add(學號);Box box2=Box.createHoriz on talBox();box2.add( new JLabel('姓名:",JLabel.CENTER);box2.add(姓名);Box box3=Box.createHoriz on talBox();box3.add( new JLabel('性別:",JLabel.CENTER);box3.add(男);box3.add(女);Box box4=Box.createHoriz on talBox();box4.add(new JLabel('所學專業(yè):"

22、;,JLabel.CENTER);box4.add(所學專業(yè));Box box5=Box.createHoriz on talBox();box5.add(new JLabel('家庭住址:",JLabel.CENTER);box5.add家庭住址);Box box6=Box.createHoriz on talBox();box6.add(new JLabel(咄生日期:",JLabel.CENTER); box6.add(出生日期);Box boxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);bo

23、xH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue();JPa nel pCe nter=new JPa nel();pCe nter.add(boxH);setLayout(new BorderLayout();add(pCe nter,BorderLayout.CENTER);JPanel pSouth=new JPan el();pSouth.add 錄 入);pSouth.add(重 置);add(pSouth,BorderLayout.SOUTH);vali

24、date();public void action Performed(Acti on Eve nt e)if(e.getSource()=錄入)Stri ng nu mber=""nu mber=學號.getText();if(nu mber.le ngth()>0)try inOne=new File In putStream(file);in Two=new ObjectI nputStream(i nOn e);基本信息表=(Hashtable)i nTwo.readObject();inOn e.close();in Two.close();catch(Ex

25、cepti on ee)if(基本信息表.containsKey(number)Stri ng warni ng="該生基本信息已存在,請到修改頁面修 改!"JOpti onPan e.showMessageDialog(this,war nin g,"警 告",JOptio nPan e.WARNING_MESSAGE);elseString m="基本信息將被錄入!"intok=JOptio nPan e.showC on firmDialog(this,m,"確 認",JOpti onPan e.YES_NO

26、_OPTION,import java.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;import java.io.*;import java.util.*;public class Inq uest exte nds JDialog impleme nts Action Liste ner Hashtable基本信息表=n ull;JTextField學號,姓名,所學專業(yè),家庭住址,出生日期;JRadioButton 男,女;JButton 查詢;Butt on Group group=n ull;Filel nputStream

27、inOne=n ull;Objectl nputStream in Two=n ull;File file=null;public Inq uestJFrame f,File file)super(f,"查詢對話框 ”,false);this.file=file;學號二new JTextField(10);查詢=n ew JButton ("查詢");學號.addActi on Liste ner(this);查詢.addActi on Liste ner(this);姓名二new JTextField(10);姓名.setEditable(false);所學專業(yè)

28、=new JTextField(10);所學專業(yè).setEditable(false);家庭住址=new JTextField(10);家庭住址.setEditable(false);出生日期=new JTextField(10);出生日期.setEditable(false);男=new JRadioButto n("男"false);女=門6可 JRadioButto n('女"false);group=new Butt on Group();group.add(男);public void action Performed(Acti on Eve n

29、t e)姓名.setText( null);所學專業(yè).setText(null);家庭住址.setText(null);出生日期.setText(null);if(e.getSource()= 查詢 |e.getSource()=學號)Stri ng nu mber=""nu mber=學號.getText();if(nu mber.le ngth()>0)try inOne=new File In putStream(file);in Two=new ObjectI nputStream(i nOn e);基本信息表=(Hashtable)i nTwo.readOb

30、ject();inOn e.close();in Two.close();catch(Excepti on ee)if(基本信息表.containsKey(number)Student stu=(Student基本信息表.get(number);姓名.setText(stu.getName();所學專業(yè).setText(stu.getDisciping();家庭住址.setText(stu.getGrade();出生日期.setText(stu.getBorth();String warning="該學號不存在!"String warning="必須要輸入學號!&

31、quot;JOpti onPan e.showMessageDialog(this,war nin g,"警 告",JOptio nPan e.WARNING_MESSAGE);import java.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;import java.io.*;import java.util.*;public class Delete exte nds JPa nel impleme nts Actio nListe ner Hashtable基本信息表=n ull;JTextField學號,

32、姓名,所學專業(yè),家庭住址,出生日期;JRadioButton 男,女;JButton 刪除;Butt on Group group=nu II;FileI nputStream inOne=n ull;FileOutputStream out One=nu II;ObjectOutputStream outTwo=n ull;File file=null;public Delete(File file)this.file=file;學號二new JTextField(10);刪除=n ew JButt on ('刪除");學號.addActi on Liste ner(thi

33、s);刪除.addActio nListe ner(this);姓名二new JTextField(10);姓名.setEditable(false);所學專業(yè)=new JTextField(10);所學專業(yè).setEditable(false);家庭住址=new JTextField(10);家庭住址.setEditable(false);出生日期=new JTextField(10);出生日期.setEditable(false);男=new JRadioButto n("男"false);女=門6可 JRadioButto n('女"false);p

34、ublic void action Performed(Acti on Eve nt e)if(e.getSource()=ffl 除 |e.getSource()=學號)Stri ng nu mber=""nu mber=學號.getText();if(nu mber.le ngth()>0)try inOne=new File In putStream(file);in Two=new ObjectI nputStream(i nOn e);基本信息表=(Hashtable)i nTwo.readObject(); inOn e.close();in Two.cl

35、ose();catch(Excepti on ee)if(基本信息表.containsKey(number)Student stu=(Student基本信息表.get(number); 姓名.setText(stu.getName();所學專業(yè).setText(stu.getDisciping();家庭住址.setText(stu.getGrade();出生日期.setText(stu.getBorth(); if(stu.getSex().equals(男")男.setSelected(true);else女.setSelected(true);public void action

36、 Performed(Acti on Eve nt e)if(e.getSource()=開始修改 |e.getSource()=學號)String nu mber=""nu mber=學號.getText();if(nu mber.le ngth()>0)try inOne=new File In putStream(file);in Two=new ObjectI nputStream(i nOn e);基本信息表=(Hashtable)i nTwo.readObject();inOn e.close();in Two.close();catch(Excepti

37、on ee)if(基本信息表.containsKey(number)錄入修改.setEnabled(true);Student stu=(Student基本信息表.get(number); 姓名.setText(stu.getName();所學專業(yè).setText(stu.getDisciping();家庭住址.setText(stu.getGrade();出生日期.setText(stu.getBorth();if(stu.getSex().equals('男") 男.setSelected(true); else 女.setSelected(true);import ja

38、va.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;import java.io.*;import java.util.Hashtable;public class Stude ntMa nager exte nds JFrame impleme nts Actio nListe ner Stude ntSituation 基本信息錄入=n ull;ModifySituation 基本信息修改=null;In quest基本信息查詢=n ull;Delete基本信息刪除=n ull;JMe nuBar bar;JMe nu fileM

39、e nu;JMe nuItem錄入,修改,查詢刪除,退出;Container con=n ull;Hashtable 基本信息=n ull;File file=null;CardLayout card=nu II;JLabel label;JPa nel pCe nter;public Stude ntMa nager()setTitle(”歡迎進入班級管理系統(tǒng)");錄入=new JMenultem("錄入學生基本信息");修改=new JMenultem(修改學生基本信息");查詢=new JMenultem("查詢學生基本信息"); 刪除=new JMenultem("刪除學生基本信息"); 退出二new JMenultem("退出本系統(tǒng)");退出.addActio nListe ner(new Actio nListe ner()public void acti on Performed(Act ion Eve nt eve nt)System.exit(O);label=new JLabel("歡迎進入班級管理系統(tǒng)!",label.CENTER); label.setFo nt(n e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論