2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  Java課程設(shè)計(jì)報(bào)告書</p><p>  題目: 學(xué)籍管理系統(tǒng) </p><p>  班級(jí): 數(shù)媒 </p><p>  學(xué)號(hào): </p><p>  姓名: </p>

2、<p>  教師: </p><p>  2012年 12 月 24 日</p><p><b>  《學(xué)籍管理系統(tǒng)》</b></p><p>  課程設(shè)計(jì)的目的與要求: </p><p>  (一)課程設(shè)計(jì)目的與任務(wù)</p><p>  

3、隨著社會(huì)的發(fā)展,及互聯(lián)網(wǎng)的不斷興起,面向互聯(lián)網(wǎng)的應(yīng)用軟件己經(jīng)成為人們社會(huì)生活的不可缺少的部分,人們通過使用這樣應(yīng)用軟件提高自己工作效率,進(jìn)行相互交流,使工作成果更加突出。作為當(dāng)代大學(xué)生,要充分掌握網(wǎng)絡(luò)應(yīng)用軟件的開發(fā)技術(shù),能夠通過這些軟件開發(fā)技術(shù)設(shè)計(jì)出對(duì)社會(huì)生活有價(jià)值的應(yīng)用軟件。Java語言是由SUN公司倡導(dǎo)開發(fā)的一種程序設(shè)計(jì)語言,該語言以其獨(dú)特的特點(diǎn),高效率的開發(fā),得到廣泛的應(yīng)用,基于該語言一些相關(guān)技術(shù)的應(yīng)用,如JSP,Servlet技

4、術(shù)的應(yīng)用,使其應(yīng)用更加廣泛。本次課程設(shè)計(jì)就是利用Java語言及其相關(guān)技術(shù),設(shè)計(jì)一些應(yīng)用軟件,達(dá)到掌握使用Java語言進(jìn)行程序設(shè)計(jì)的目的。</p><p><b>  (二)題目要求</b></p><p>  設(shè)計(jì)實(shí)現(xiàn)一個(gè)某學(xué)校學(xué)籍管理系統(tǒng),主要包括學(xué)籍的錄入,查詢,修改,學(xué)籍刪除等功能。查詢方式主要是支持學(xué)號(hào)查詢,例如:輸入“0305100410”,則顯示該學(xué)生的信

5、息?;谖募鞯牟迦肱c讀取。</p><p><b>  設(shè)計(jì)正文:</b></p><p><b>  1 系統(tǒng)分析</b></p><p>  學(xué)籍管理系統(tǒng)從理解上來看,是指某個(gè)學(xué)籍的管理,用戶通過一些相關(guān)的操作對(duì)學(xué)籍進(jìn)行管理,學(xué)籍管理系統(tǒng)要求以管理為中心,可實(shí)現(xiàn)對(duì)學(xué)籍的錄入,查詢,修改,學(xué)籍刪除等功能,學(xué)籍管理是一個(gè)

6、比較靈活的系統(tǒng),通過這個(gè)簡(jiǎn)單的系統(tǒng),就可以做到對(duì)學(xué)籍的各種操作有據(jù)可循,每個(gè)操作都被系統(tǒng)有效地記錄,也不會(huì)遺忘一些細(xì)節(jié),學(xué)籍管理的信息也透明化。這種信息的透明化,對(duì)學(xué)籍管理是十分重要的,這也是學(xué)籍管理系統(tǒng)的重要功能。</p><p>  2 主要功能邏輯過程</p><p>  用戶看到的第一頁面就能看到學(xué)籍管理功能,你可以選擇“學(xué)籍錄入操作”“學(xué)籍添加操作”“學(xué)籍查詢操作”“學(xué)籍刪除操作

7、”。學(xué)籍添加操作可以實(shí)現(xiàn)學(xué)籍信息的添加,而且所有的記錄不能為空。學(xué)籍錄入可以進(jìn)行錄入學(xué)籍操作,查詢可以通過編號(hào)Id查詢學(xué)籍信息詳情,刪除可以直接刪除學(xué)籍記錄。</p><p>  本學(xué)生學(xué)籍管理系統(tǒng)最主要的的是在于對(duì)于輸入,修改,查找,刪除功能的編寫。</p><p>  關(guān)于輸入功能主要是學(xué)生學(xué)籍信息的存入,以及存儲(chǔ)文檔的建立。本系統(tǒng)建立了一個(gè)TXT文檔來存儲(chǔ)學(xué)生的學(xué)籍信息。需要實(shí)現(xiàn)的是

8、如何把信息存入文檔里。使用FileInputStream進(jìn)行文件輸入,使用FileOutputStream進(jìn)行文件輸出數(shù)據(jù)寫入,使用ObjectInputStream對(duì)學(xué)生對(duì)象信息輸入,使用ObjectOutputStream進(jìn)行信息輸出,并與存儲(chǔ)學(xué)生信息的文檔關(guān)聯(lián)。</p><p>  修改功能需要實(shí)現(xiàn)的是用現(xiàn)有數(shù)據(jù)覆蓋文檔存儲(chǔ)的學(xué)生學(xué)籍信息。首先應(yīng)該考慮是否原本文檔里含有輸入的學(xué)號(hào)的信息,如果有,則輸入其修改

9、信息替換掉原來的學(xué)籍信息給予保存文檔。查找功能其實(shí)就是修改功能的一部分,不過當(dāng)讀取到對(duì)應(yīng)的學(xué)生學(xué)籍信息之后,要進(jìn)行對(duì)象輸出,顯示在界面里。刪除功能中是查找功能的延續(xù),讀取到學(xué)籍信息,給予制空,對(duì)應(yīng)的文檔里的學(xué)生學(xué)籍信息全部為null。</p><p>  所有的功能中都需要考慮到異常情況。比如,當(dāng)進(jìn)行輸入功能時(shí),填寫人員沒有填寫學(xué)號(hào)而直接經(jīng)行數(shù)據(jù)輸入,應(yīng)當(dāng)給予警告。</p><p>  對(duì)

10、于界面布局方面,應(yīng)當(dāng)多次調(diào)試,已獲得更好的顯示效果。界面也應(yīng)該做到簡(jiǎn)潔明了,雖然使用者不明白此系統(tǒng)構(gòu)造,但是仍然能夠很輕松的使用本系統(tǒng)。主界面中菜單欄的建立和錄入內(nèi)容用來連接學(xué)籍管理系統(tǒng)的功能而進(jìn)行操作。</p><p><b>  三、詳細(xì)設(shè)計(jì):</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("菜單選項(xiàng)");</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>  主界面主要就是建立一個(gè)窗口,在窗口中插入一個(gè)JBar菜單條,并將其設(shè)置為建立窗口

16、的菜單條,用來儲(chǔ)存功能。添加完菜單條后在其添加菜單menuj。接下來在菜單中添加內(nèi)容,本系統(tǒng)只添加了input,change,search,delete四項(xiàng)內(nèi)容用來建立功能。建立一個(gè)TXT文檔用來存放string的學(xué)生各項(xiàng)數(shù)據(jù),使其能實(shí)現(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é)號(hào):", 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("年級(jí):", 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);建立一個(gè)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, "出錯(cuò)了", 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é)號(hào)";</p><p>  JOptionPane.showMessageDialog(this, warning, "出錯(cuò)了",</p><p&g

31、t;  視圖和輸入界面類似,建立盒子模型用于存放新的學(xué)生學(xué)籍信息覆蓋原來的學(xué)生學(xué)籍信息。對(duì)于沒有輸入學(xué)生學(xué)號(hào)而進(jìn)行修改信息的情況,給予“必須輸入學(xué)號(hào)”的警告,如果輸入的學(xué)號(hào)查找成功,文件讀取數(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>  年級(jí).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é)號(hào)不存在!";</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é)號(hào)!";</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é)籍的信息,對(duì)于異常情況的警告,則和其它情況類似。</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>  年級(jí).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="確定要?jiǎng)h除該學(xué)號(hào)及全

42、部信息嗎?";</p><p>  int ok=JOptionPane.showConfirmDialog(this,m,"確認(rèn)",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);</p><p>  對(duì)于刪除功能使用

43、FileInputStream fin: 文件輸入流;FileOutputStream fou: 文件輸出流寫入數(shù)據(jù);ObjectInputStream oin: 對(duì)象輸入流;ObjectOutputStream oou: 對(duì)象輸出流。使得對(duì)應(yīng)學(xué)號(hào)的File中的的學(xué)生學(xué)籍信息制空。如果查找不到對(duì)應(yīng)學(xué)號(hào)或沒有輸入學(xué)號(hào)則輸出警告。</p><p>  四、設(shè)計(jì)體會(huì)與小結(jié):</p><p>  

44、1、課程設(shè)計(jì)過程中出現(xiàn)的技術(shù)難點(diǎn)和解決方法:</p><p>  此次課程設(shè)計(jì)一開始好多東西都弄不明白,在網(wǎng)上查閱好多類型的資料,剛開始時(shí)決定做的是基于數(shù)據(jù)庫實(shí)現(xiàn)的學(xué)籍管理系統(tǒng),后來由于時(shí)間緊迫自己沒能理解數(shù)據(jù)庫部分的設(shè)計(jì),后又選擇基于文件結(jié)構(gòu)的學(xué)籍管理系統(tǒng)。</p><p>  本次課程設(shè)計(jì)的框架源于百度文庫中的材料,其中的具體算法綜合比較了好多具體的實(shí)例,最終實(shí)現(xiàn)了比較簡(jiǎn)單而又實(shí)用的功

45、能。同時(shí)界面設(shè)計(jì)方面采用了老師給的選題中的樣式,簡(jiǎn)約而美觀。實(shí)現(xiàn)了基本的學(xué)籍信息錄入,修改,查詢,刪除的功能。還有一本份有待改進(jìn),其實(shí)在程序的調(diào)試過程中,我一直想在給整個(gè)主界面的前面設(shè)計(jì)一個(gè)封面,增加不同的人有不同的登陸密碼進(jìn)入系統(tǒng)后調(diào)試不同的功能。由于時(shí)間有限,尚未完成,還有待進(jìn)一步完善。</p><p>  2 、課程設(shè)計(jì)期間的主要收獲:</p><p>  1)通過這次課設(shè),可以讓自

46、己知道更多的java編程思想,可以了解更多的知識(shí)。</p><p>  2)理解更多的代碼,對(duì)以后的程序設(shè)計(jì)有很大好處。</p><p>  3)培養(yǎng)個(gè)人分析、解決問題的能力。</p><p>  4)培養(yǎng)實(shí)際分析問題、編程和動(dòng)手能力,提高綜合素質(zhì)。</p><p><b>  五、參考文獻(xiàn) :</b></p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論