一:實習介紹
1)實習題目
學生信息管理系統(tǒng)的設(shè)計與開發(fā)
2)
《Java程序設(shè)計》課程是電子商務(wù)專業(yè)的一門專業(yè)必修課程,特針對此課程進行為期三周的實踐教學,旨在提升本專業(yè)學生對此課程中的理論知識的綜合應(yīng)用能力、提高學生的邏輯思維能力、軟件開發(fā)能力。
本次課程實習要求學生用Java技術(shù)在Windows平臺下開發(fā)學生信息管理系統(tǒng)。通過此程序的開發(fā)能夠切實提高學生的程序設(shè)計水平,在實踐中掌握面向?qū)ο蟪绦蛟O(shè)計的開發(fā)思想。
3)開發(fā)環(huán)境
操作系統(tǒng);Windows XP
編程環(huán)境:MyEclipse 6.0
主要技術(shù):Java Swing實現(xiàn)窗體界面
JDBC實現(xiàn)數(shù)據(jù)庫操作
系統(tǒng)架構(gòu):三層架構(gòu)(MVC)+DAO設(shè)計模式
數(shù)據(jù)庫:MySQL5.0
二:課設(shè)內(nèi)容;
1)系統(tǒng)功能需求
學生信息管理系統(tǒng)主要對在校學生的個人基本信息以及成績信息進行管理,對教師用戶提供查詢信息、增添信息、刪除信息等操作功能;對學生用戶提供成績查詢功能。我們的目標就是為該系統(tǒng)提供前臺用戶界面設(shè)計以及后臺連接數(shù)據(jù)庫程序設(shè)計,系統(tǒng)程序界面采用Java Swing組件實現(xiàn),數(shù)據(jù)庫操作采用JDBC實現(xiàn)。
學生信息管理系統(tǒng)要面對教師和學生用戶。對于教師,需要查詢?nèi)繉W生的基本信息和成績信息,并且可以對其進行修改。對于學生,不需要查詢自己的基本信息,只需要查詢成績。為了保護學生成績隱私,每位學生登錄系統(tǒng)后只能查詢自己的成績,而無法看到別人的成績。教師方面:教師通過自己的用戶名和密碼登錄后,進入教師主界面,在這個主界面里,可以選擇要操作的類別,即查詢功能還是修改功能。在查詢功能里面,可以選擇是查詢學生基本信息,還是查詢學生成績信息。在查詢學生基本信息時,可以從依據(jù)不同字段,即學生信息表的不同屬性進行查找。在查找學生成績信息時,只能依據(jù)學生姓名和學號進行查找。在修改功能里面,包括對學生基本信息表和學生成績表進行增加和刪除記錄。學生方面:學生通過自己的用戶名和密碼登錄此系統(tǒng)后, 可以查詢自己本學期的各科成績信息。
2)數(shù)據(jù)庫需求
依據(jù)功能需求,學生信息管理系統(tǒng)主要有三個表:student表、teacher表和score表。
(1)student(學生信息表)
此表有六個屬性,分別為:id(主鍵,自動遞增),num(學號),sname(姓名),sex(性別),age(年齡),dept(系別)。
(2)teacher(教師登錄表)
此表有三個屬性列,分別為:id(主鍵,自動遞增),tname(教師賬戶),password(登錄密碼)。
(3)score(教師登錄表)
此表有六個屬性列:分別為:id(主鍵,自動遞增),num(學號),sname(學生姓名),course(課程名稱),score(考試成績),credit(學分)。
三:設(shè)計過程(包括總體設(shè)計和詳細設(shè)計)
1)項目總體設(shè)計
需要建立一個三層模塊:視圖層(界面,提供用戶輸入)控制層(接受用戶輸入處理)持久層(連接數(shù)據(jù)庫)。
在登陸界面實現(xiàn)教師、學生的登錄,實現(xiàn)學生查看自己所有信息的界面,教師對學生信息、學生成績信息的增刪減查功能的實現(xiàn)。
2)項目詳細設(shè)計
1、需要有開發(fā)環(huán)境,安裝編程環(huán)境:MyEclipse 6.0、數(shù)據(jù)庫:MySQL5.0、安裝Navicat for Mysql程序;
2、仔細閱讀《Java實習指導書》,詳細了解對學生信息管理系統(tǒng)設(shè)計與開發(fā)的總體設(shè)計;
3、首先需要建立四個包,分別為:ui包,dao包,connection包,model包。connection包,主要負責獲得與數(shù)據(jù)庫的連接和關(guān)閉連接;dao包主要負責對數(shù)據(jù)庫的操作;ui包主要分為登錄界面、學生查詢界面、教師對學生信息和學生成績信息進行增刪減查操作的界面;
4、ui包是界面,系統(tǒng)運行主界面--學生信息管理登陸界面(根據(jù)公共數(shù)據(jù)庫建立自己的數(shù)據(jù)庫,輸入登錄名、密碼可以分別進入教師主頁面、學生主頁面), 學生詳細信息界面(進入后會出現(xiàn)學生自己的成績等詳細的信息,并有退出功能),老師登陸界面(可以對學生信息進行增刪減查,對學生成績信息進行增刪檢查,并有退出功能);
5、ui包中還有對學生信息進行增加學生、刪除學生、查看學生信息、瀏覽所有學生信息、增加學生成績信息、刪除學生成績信息、查看學生成績信息的7個界面,每個功能實現(xiàn)完成后會顯示操作成功,并有退出功能;
6、然后在Java編程環(huán)境MyEclipse 6.0編寫代碼;
7、首現(xiàn)建立以dumeilingxxglxt命名的項目工程,然后建立ui包,然后再建立LoginUI類,代碼敲完LoginUI類的所有代碼,然后開始根據(jù)提示,這個 LoginUI類所需要的dao包,connection包,model包,還有dao包的 ScoreDao類、StudentDao類、 TeacherDao類;connection 包的DBConnection ;model包的Scor類 ,Studente類, 然后在敲ui包中的ScoreAddUI類, ScoreDeleteUI類,ScoreQueryUI類,StudentAddUI類, StudentDeleteUI類, StudentQueryUI類,StudentScoreUI 類,eacherMainUI類;
8、在MyEclipse中導入數(shù)據(jù)庫驅(qū)動包mysql-connector-java-5.0.5.jar;
9、 在Navicat for Mysql打開數(shù)據(jù)庫,然后建表:student表、teacher表和score表,進入主界面,實現(xiàn)系統(tǒng)登陸功能;
10、連接公共數(shù)據(jù)庫:Navicat for Mysql
代碼為:("jdbc:mysql://192.168.0.1:3306/dumeiling","root","p");
11:然后開始運行,發(fā)現(xiàn)錯誤并解決錯誤;
12:在所有代碼都正確的情況下,所有界面將會出現(xiàn)。
四:調(diào)試過程(包括系統(tǒng)測試、出現(xiàn)的問題、解決的方法等)
出現(xiàn)最多的錯誤就是:
1)代碼編寫錯誤,解決方法就是照著代碼繼續(xù)核對,直到可以運行
2)當連接上公共數(shù)據(jù)庫后,運行LoginUI,出現(xiàn)登陸界面,但是輸入登錄名、密碼點擊登陸后卻出不出現(xiàn)學生信息界面或是老師登陸界面,這時候下面將會出現(xiàn)許多錯誤提示,點擊后開始再次找出錯誤的代碼,這個難度比較大,需要自習閱讀每一行代碼,在熟知代碼的前提下對程序代碼進行修改,也是最考驗我們耐心的時刻,過了之一階段,實習的基本要求就達到了,然后就該對程序加入一些自己的設(shè)計,以此來不同于別人。
3)在我設(shè)計好的代碼中,登錄學生界面是出現(xiàn)一個Driver success,connection succecc的提示,但是卻不顯示學生信息,一直不知道是什么原因,最后把數(shù)據(jù)庫的三個表刪除,再次建表,結(jié)果全部成功了,對我來時這是一個謎啊。
五、小結(jié)(在整個課程設(shè)計過程中的總結(jié)和體會)
將近三周的JAVA實習很快就結(jié)束了,雖然僅僅只有三周,但我學到了許多知識,以前只是做些JAVA實驗,敲一堆代碼,然后出來個簡單的結(jié)果,還有的是沒有在主函數(shù)里輸入,只是學會掌握屬性存取器的使用,super、final、abstract關(guān)鍵字,理解抽象類與抽象方法,理解并掌握接口的定義與使用等等,但這次不一樣,是設(shè)計與開發(fā)個學生信息管理系統(tǒng),實現(xiàn)教師、學生登錄并實現(xiàn)增刪價查功能。
在整個學生信息管理系統(tǒng)的設(shè)計與開發(fā)過程中,感觸最深的就是兩周的敲代碼、核對代碼?梢哉f是一次痛苦的體驗,但是在實習的第三周看到自己的成果展示,不得不佩服自己的毅力。
通過對這次學生信息管理系統(tǒng)的設(shè)計與開發(fā)過程實習,我發(fā)現(xiàn)任何一種語言只要你用心投入,你就會發(fā)現(xiàn)其實一切都那么簡單,就拿這四個包中的類代碼,如果你仔細分析的話,你會發(fā)現(xiàn)其實一些帶麥是差不多的,也就是說只要你會其中一個操作代碼,你就會其他的操作,老師給的程序代碼教師操作功能只有6個,但是我們可以再添加兩個界面。我的自己設(shè)計部分是:添加背景顏色、并增加了一個瀏覽所有學生信息的界面,但是沒有連接到正確的界面上,由于自己安排的時間問題,沒有及時寫出來,還有就是我在添加背景顏色時,還是不太清楚,確切說自己登陸界面添加背景顏色正確,其他的被覆蓋這了,總的來說還是不太懂代碼。
還有體會最深的一點是:只要你用心去學習,你就回學到一些東西,也許不是那么明顯,但是只要付出還是會有收獲的。在第三周周二是交作業(yè)時,有的同學自己昨天完全正確的程序,今天完全不管用了,我看到了她的急躁,一直埋怨、似乎有點想哭,其實我想說:冷靜。然后看看是什么原因,假如是電腦的問題李珂把代碼拷走,重新建立工程,說實話,我不知道重新建了多少次,遇事一定要讓自己冷靜,不要急,事情總會有解決的方法。
六、參考資料
1)《Java程序設(shè)計》實習指導書
2) 老師發(fā)的有關(guān)學生信息管理系統(tǒng)的設(shè)計與開發(fā)的代碼資料
3)指導老師講解的有關(guān)學生信息管理系統(tǒng)的設(shè)計與開發(fā)的內(nèi)容
4)參考百度文庫《Java實習報告》