版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> Java課程設(shè)計報告書</p><p> 題目: 學(xué)籍管理系統(tǒng) </p><p> 班級: 數(shù)媒 </p><p> 學(xué)號: </p><p> 姓名: </p>
2、<p> 教師: </p><p> 2012年 12 月 24 日</p><p><b> 《學(xué)籍管理系統(tǒng)》</b></p><p> 課程設(shè)計的目的與要求: </p><p> ?。ㄒ唬┱n程設(shè)計目的與任務(wù)</p><p>
3、隨著社會的發(fā)展,及互聯(lián)網(wǎng)的不斷興起,面向互聯(lián)網(wǎng)的應(yīng)用軟件己經(jīng)成為人們社會生活的不可缺少的部分,人們通過使用這樣應(yīng)用軟件提高自己工作效率,進(jìn)行相互交流,使工作成果更加突出。作為當(dāng)代大學(xué)生,要充分掌握網(wǎng)絡(luò)應(yīng)用軟件的開發(fā)技術(shù),能夠通過這些軟件開發(fā)技術(shù)設(shè)計出對社會生活有價值的應(yīng)用軟件。Java語言是由SUN公司倡導(dǎo)開發(fā)的一種程序設(shè)計語言,該語言以其獨特的特點,高效率的開發(fā),得到廣泛的應(yīng)用,基于該語言一些相關(guān)技術(shù)的應(yīng)用,如JSP,Servlet技
4、術(shù)的應(yīng)用,使其應(yīng)用更加廣泛。本次課程設(shè)計就是利用Java語言及其相關(guān)技術(shù),設(shè)計一些應(yīng)用軟件,達(dá)到掌握使用Java語言進(jìn)行程序設(shè)計的目的。</p><p><b> ?。ǘ╊}目要求</b></p><p> 設(shè)計實現(xiàn)一個某學(xué)校學(xué)籍管理系統(tǒng),主要包括學(xué)籍的錄入,查詢,修改,學(xué)籍刪除等功能。查詢方式主要是支持學(xué)號查詢,例如:輸入“0305100410”,則顯示該學(xué)生的信
5、息。基于文件流的插入與讀取。</p><p><b> 設(shè)計正文:</b></p><p><b> 1 系統(tǒng)分析</b></p><p> 學(xué)籍管理系統(tǒng)從理解上來看,是指某個學(xué)籍的管理,用戶通過一些相關(guān)的操作對學(xué)籍進(jìn)行管理,學(xué)籍管理系統(tǒng)要求以管理為中心,可實現(xiàn)對學(xué)籍的錄入,查詢,修改,學(xué)籍刪除等功能,學(xué)籍管理是一個
6、比較靈活的系統(tǒng),通過這個簡單的系統(tǒng),就可以做到對學(xué)籍的各種操作有據(jù)可循,每個操作都被系統(tǒng)有效地記錄,也不會遺忘一些細(xì)節(jié),學(xué)籍管理的信息也透明化。這種信息的透明化,對學(xué)籍管理是十分重要的,這也是學(xué)籍管理系統(tǒng)的重要功能。</p><p> 2 主要功能邏輯過程</p><p> 用戶看到的第一頁面就能看到學(xué)籍管理功能,你可以選擇“學(xué)籍錄入操作”“學(xué)籍添加操作”“學(xué)籍查詢操作”“學(xué)籍刪除操作
7、”。學(xué)籍添加操作可以實現(xiàn)學(xué)籍信息的添加,而且所有的記錄不能為空。學(xué)籍錄入可以進(jìn)行錄入學(xué)籍操作,查詢可以通過編號Id查詢學(xué)籍信息詳情,刪除可以直接刪除學(xué)籍記錄。</p><p> 本學(xué)生學(xué)籍管理系統(tǒng)最主要的的是在于對于輸入,修改,查找,刪除功能的編寫。</p><p> 關(guān)于輸入功能主要是學(xué)生學(xué)籍信息的存入,以及存儲文檔的建立。本系統(tǒng)建立了一個TXT文檔來存儲學(xué)生的學(xué)籍信息。需要實現(xiàn)的是
8、如何把信息存入文檔里。使用FileInputStream進(jìn)行文件輸入,使用FileOutputStream進(jìn)行文件輸出數(shù)據(jù)寫入,使用ObjectInputStream對學(xué)生對象信息輸入,使用ObjectOutputStream進(jìn)行信息輸出,并與存儲學(xué)生信息的文檔關(guān)聯(lián)。</p><p> 修改功能需要實現(xiàn)的是用現(xiàn)有數(shù)據(jù)覆蓋文檔存儲的學(xué)生學(xué)籍信息。首先應(yīng)該考慮是否原本文檔里含有輸入的學(xué)號的信息,如果有,則輸入其修改
9、信息替換掉原來的學(xué)籍信息給予保存文檔。查找功能其實就是修改功能的一部分,不過當(dāng)讀取到對應(yīng)的學(xué)生學(xué)籍信息之后,要進(jìn)行對象輸出,顯示在界面里。刪除功能中是查找功能的延續(xù),讀取到學(xué)籍信息,給予制空,對應(yīng)的文檔里的學(xué)生學(xué)籍信息全部為null。</p><p> 所有的功能中都需要考慮到異常情況。比如,當(dāng)進(jìn)行輸入功能時,填寫人員沒有填寫學(xué)號而直接經(jīng)行數(shù)據(jù)輸入,應(yīng)當(dāng)給予警告。</p><p> 對
10、于界面布局方面,應(yīng)當(dāng)多次調(diào)試,已獲得更好的顯示效果。界面也應(yīng)該做到簡潔明了,雖然使用者不明白此系統(tǒng)構(gòu)造,但是仍然能夠很輕松的使用本系統(tǒng)。主界面中菜單欄的建立和錄入內(nèi)容用來連接學(xué)籍管理系統(tǒng)的功能而進(jìn)行操作。</p><p><b> 三、詳細(xì)設(shè)計:</b></p><p><b> 主界面</b></p><p>
11、錄入=new JMenuItem("錄入學(xué)生基本信息");</p><p> 修改=new JMenuItem("修改學(xué)生基本信息");</p><p> 查詢=new JMenuItem("查詢學(xué)生基本信息");</p><p> 刪除=new JMenuItem("刪除學(xué)生基本信息&qu
12、ot;);</p><p> bar=new JMenuBar();</p><p> fileMenu=new JMenu("菜單選項");</p><p> fileMenu.add(錄入);</p><p> fileMenu.add(修改);</p><p> fileMenu.a
13、dd(查詢);</p><p> fileMenu.add(刪除);</p><p> bar.add(fileMenu);</p><p> setJMenuBar(bar); </p><p> label=new JLabel("歡迎使用學(xué)生基本信息管理系統(tǒng)",JLabel.CENTER);</
14、p><p> label.setFont(new Font("TimesRoman",Font.BOLD,24));</p><p> label.setForeground(Color.red);</p><p> 基本信息=new Hashtable();</p><p> 錄入.addActionListener
15、(this);</p><p> 修改.addActionListener(this);</p><p> 查詢.addActionListener(this);</p><p> 刪除.addActionListener(this);</p><p> 主界面主要就是建立一個窗口,在窗口中插入一個JBar菜單條,并將其設(shè)置為建立窗口
16、的菜單條,用來儲存功能。添加完菜單條后在其添加菜單menuj。接下來在菜單中添加內(nèi)容,本系統(tǒng)只添加了input,change,search,delete四項內(nèi)容用來建立功能。建立一個TXT文檔用來存放string的學(xué)生各項數(shù)據(jù),使其能實現(xiàn)功能。</p><p><b> 輸入功能</b></p><p> confirm = new JButton("錄
17、入");</p><p> reset = new JButton("重置");</p><p> ha1 = new Hashtable();</p><p> confirm.addActionListener(this);</p><p> reset.addActionListener(this)
18、;</p><p> Box box1 = Box.createHorizontalBox();</p><p> box1.add(new JLabel("學(xué)號:", JLabel.CENTER));</p><p> box1.add(number);</p><p> Box box2 = Box.creat
19、eHorizontalBox();</p><p> box2.add(new JLabel("姓名:", JLabel.CENTER));</p><p> box2.add(name);</p><p> Box box3 = Box.createHorizontalBox();</p><p> box3.a
20、dd(new JLabel("性別:", JLabel.CENTER));</p><p> box3.add(male);</p><p> box3.add(female);</p><p> Box box4 = Box.createHorizontalBox();</p><p> box4.add(new
21、 JLabel("專業(yè):", JLabel.CENTER));</p><p> box4.add(department);</p><p> Box box5 = Box.createHorizontalBox();</p><p> box5.add(new JLabel("年級:", JLabel.CENTER))
22、;</p><p> box5.add(grade);</p><p> Box box6 = Box.createHorizontalBox();</p><p> box6.add(new JLabel("出生:", JLabel.CENTER));</p><p> box6.add(birth);</
23、p><p> StudentSituation類</p><p> 學(xué)生.setNumber(number);</p><p> 學(xué)生.setName(name);</p><p> 學(xué)生.setDiscipling(discipling);</p><p> 學(xué)生.setGrade(grade);</p&
24、gt;<p> 學(xué)生.setBorth(borth);</p><p> 學(xué)生.setSex(sex);建立一個Student類用于存放學(xué)生的name,number,sex等數(shù)據(jù),方便的被其他功能調(diào)用,被其他功能讀取或者修改。</p><p><b> 修改功能</b></p><p> if (ha1.containsK
25、ey(nu)) {</p><p> confirm.setEnabled(true);</p><p> Stu = (Student) ha1.get(nu);</p><p> name.setText(Stu.getname());</p><p> birth.setText(Stu.getbirth());</p&g
26、t;<p> department.setText(Stu.getdepartment());</p><p> grade.setText(Stu.getgrade());</p><p> if (Stu.getsex().equals("男")) {</p><p> male.setSelected(true);&l
27、t;/p><p><b> } else {</b></p><p> female.setSelected(true);</p><p><b> }</b></p><p><b> } else {</b></p><p> String w
28、arning = "沒有該學(xué)生的信息";</p><p> JOptionPane.showMessageDialog(this, warning, "出錯了", JOptionPane.WARNING_MESSAGE);</p><p> number.setText(null);</p><p> name.setT
29、ext(null);</p><p> birth.setText(null);</p><p> department.setText(null);</p><p> grade.setText(null);</p><p><b> }</b></p><p><b> }
30、</b></p><p><b> else {</b></p><p> String warning = "必須輸入學(xué)號";</p><p> JOptionPane.showMessageDialog(this, warning, "出錯了",</p><p&g
31、t; 視圖和輸入界面類似,建立盒子模型用于存放新的學(xué)生學(xué)籍信息覆蓋原來的學(xué)生學(xué)籍信息。對于沒有輸入學(xué)生學(xué)號而進(jìn)行修改信息的情況,給予“必須輸入學(xué)號”的警告,如果輸入的學(xué)號查找成功,文件讀取數(shù)據(jù)輸出,是新的信息覆蓋。如果沒有此學(xué)生信息也必須給出警告。</p><p><b> 查找功能</b></p><p> if(基本信息表.containsKey(numbe
32、r)) </p><p><b> {</b></p><p> Student stu=(Student)基本信息表.get(number);</p><p> 姓名.setText(stu.getName());</p><p> 專業(yè).setText(stu.getDisciping())
33、;</p><p> 年級.setText(stu.getGrade());</p><p> 出生.setText(stu.getBorth()); </p><p> if(stu.getSex().equals("男"))</p><p><b> {</b></p>&l
34、t;p> 男.setSelected(true);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> 女.setSelected(true);</p><
35、p><b> }</b></p><p><b> else</b></p><p><b> { </b></p><p> String warning="該學(xué)號不存在!";</p><p> JOptionPane.showMessag
36、eDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p><b> else</b></p><p> {String warning="必須要輸入學(xué)號!";</p
37、><p> JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);</p><p><b> }</b></p><p><b> } </b></p><p> 關(guān)于查找功能
38、,主要就是文件數(shù)據(jù)輸入和輸出,讀取File中的學(xué)生學(xué)籍的信息,對于異常情況的警告,則和其它情況類似。</p><p><b> 刪除功能</b></p><p> if(基本信息表.containsKey(number)) </p><p><b> {</b></p><p&g
39、t; Student stu=(Student)基本信息表.get(number);</p><p> 姓名.setText(stu.getName());</p><p> 專業(yè).setText(stu.getDisciping());</p><p> 年級.setText(stu.getGrade());</p><p> 出
40、生.setText(stu.getBorth()); </p><p> if(stu.getSex().equals("男"))</p><p><b> {</b></p><p> 男.setSelected(true);</p><p><b> }</b><
41、;/p><p><b> else</b></p><p><b> {</b></p><p> 女.setSelected(true);</p><p><b> }</b></p><p> String m="確定要刪除該學(xué)號及全
42、部信息嗎?";</p><p> int ok=JOptionPane.showConfirmDialog(this,m,"確認(rèn)",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);</p><p> 對于刪除功能使用
43、FileInputStream fin: 文件輸入流;FileOutputStream fou: 文件輸出流寫入數(shù)據(jù);ObjectInputStream oin: 對象輸入流;ObjectOutputStream oou: 對象輸出流。使得對應(yīng)學(xué)號的File中的的學(xué)生學(xué)籍信息制空。如果查找不到對應(yīng)學(xué)號或沒有輸入學(xué)號則輸出警告。</p><p> 四、設(shè)計體會與小結(jié):</p><p>
44、1、課程設(shè)計過程中出現(xiàn)的技術(shù)難點和解決方法:</p><p> 此次課程設(shè)計一開始好多東西都弄不明白,在網(wǎng)上查閱好多類型的資料,剛開始時決定做的是基于數(shù)據(jù)庫實現(xiàn)的學(xué)籍管理系統(tǒng),后來由于時間緊迫自己沒能理解數(shù)據(jù)庫部分的設(shè)計,后又選擇基于文件結(jié)構(gòu)的學(xué)籍管理系統(tǒng)。</p><p> 本次課程設(shè)計的框架源于百度文庫中的材料,其中的具體算法綜合比較了好多具體的實例,最終實現(xiàn)了比較簡單而又實用的功
45、能。同時界面設(shè)計方面采用了老師給的選題中的樣式,簡約而美觀。實現(xiàn)了基本的學(xué)籍信息錄入,修改,查詢,刪除的功能。還有一本份有待改進(jìn),其實在程序的調(diào)試過程中,我一直想在給整個主界面的前面設(shè)計一個封面,增加不同的人有不同的登陸密碼進(jìn)入系統(tǒng)后調(diào)試不同的功能。由于時間有限,尚未完成,還有待進(jìn)一步完善。</p><p> 2 、課程設(shè)計期間的主要收獲:</p><p> 1)通過這次課設(shè),可以讓自
46、己知道更多的java編程思想,可以了解更多的知識。</p><p> 2)理解更多的代碼,對以后的程序設(shè)計有很大好處。</p><p> 3)培養(yǎng)個人分析、解決問題的能力。</p><p> 4)培養(yǎng)實際分析問題、編程和動手能力,提高綜合素質(zhì)。</p><p><b> 五、參考文獻(xiàn) :</b></p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計學(xué)籍管理系統(tǒng)
- java課程設(shè)計-學(xué)籍管理系統(tǒng)
- java課程設(shè)計---學(xué)生學(xué)籍管理系統(tǒng)
- java課程設(shè)計報告-- 學(xué)籍管理系統(tǒng)說明書
- 學(xué)籍管理系統(tǒng) 課程設(shè)計
- 課程設(shè)計---學(xué)籍管理系統(tǒng)
- uml課程設(shè)計-學(xué)籍管理系統(tǒng)
- 學(xué)籍管理系統(tǒng)課程設(shè)計報告
- 學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計
- 學(xué)籍管理系統(tǒng)課程設(shè)計報告
- 課程設(shè)計報告--學(xué)籍管理系統(tǒng)
- 學(xué)籍管理系統(tǒng)課程設(shè)計報告
- 學(xué)籍管理系統(tǒng)課程設(shè)計報告
- 學(xué)生學(xué)籍管理系統(tǒng) 課程設(shè)計10
- c語言課程設(shè)計-學(xué)籍管理系統(tǒng)
- 學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計論文
- mis課程設(shè)計報告---學(xué)籍管理系統(tǒng)
- 學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計8
- c語言課程設(shè)計-學(xué)籍管理系統(tǒng)
- 學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計報告
評論
0/150
提交評論