學(xué)生成績管理系統(tǒng)綜合實(shí)驗(yàn)報(bào)告.doc
《學(xué)生成績管理系統(tǒng)綜合實(shí)驗(yàn)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《學(xué)生成績管理系統(tǒng)綜合實(shí)驗(yàn)報(bào)告.doc(31頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Java高級(jí)編程課程報(bào)告學(xué)生成績管理系統(tǒng)小組成員及分工姓名角色負(fù)責(zé)功能組長設(shè)計(jì)與編碼測試王綱偉是是是增加學(xué)生、刪改查學(xué)生、存取數(shù)據(jù)彭坤否是是登錄用戶、修改密碼張建銳否是是刪除學(xué)生、查找學(xué)生、修改學(xué)生一、 實(shí)驗(yàn)環(huán)境操作系統(tǒng):Windows7編程環(huán)境:Eclipse二、 實(shí)驗(yàn)內(nèi)容與完成情況1. 登錄用戶(1) 登錄用戶:有3種不同的方式登錄,管理員登錄、教師登錄和學(xué)生。每個(gè)用戶都有自己的賬號(hào)和密碼,通過輸入賬號(hào)和密碼來登錄,輸入賬號(hào)和密碼后會(huì)檢查是否合理,即賬號(hào)只能由數(shù)學(xué)組成,密碼只能數(shù)字和字母組成,否則會(huì)提示錯(cuò)誤登錄不成功;然后再查找數(shù)據(jù)庫,如果找到匹配的賬號(hào)和密碼,就登錄成功,否則登錄不成功。登錄成功后會(huì)添加相應(yīng)的功能,管理員可以增刪改查學(xué)生,教師可以修改和查找學(xué)生,學(xué)生只能查找學(xué)生。(2) 流程圖:彈出提示:賬號(hào)或密碼錯(cuò)誤查找管理員數(shù)據(jù)庫查找學(xué)生數(shù)據(jù)庫輸入賬號(hào)和密碼登錄方式是否為管理員?登錄方式是否為教師?查找教師數(shù)據(jù)庫是否找到匹配的賬號(hào)和密碼?登錄成功登錄失敗是否否是否是(3) 代碼:String s1 = textField.getText();String s2 = passwordField.getText();StudentDao dao = new StudentDao();boolean result = false;if(radioButton.isSelected()=true) /管理員登錄result = dao.seachadministrators(s1, s2);if(result) /登錄成功menuEdit.removeAll();menuEdit.add(AddItem);menuEdit.add(SDEItem);else if(radioButton_1.isSelected()=true) /教師登錄result = dao.seachteacher(s1, s2);if(result) /登錄成功menuEdit.removeAll();SDEItem.setText(改查學(xué)生);menuEdit.add(SDEItem);else if(radioButton_2.isSelected()=true) /學(xué)生登錄result = dao.seachstudent(s1, s2);if(result) /登錄成功menuEdit.removeAll();SDEItem.setText(查找學(xué)生);menuEdit.add(SDEItem);2. 增加學(xué)生(1) 增加學(xué)生:輸入學(xué)生姓名、學(xué)號(hào)、性別、班別、成績等信息,判斷輸入的信息是否為空,如果為空提示錯(cuò)誤(如姓名為空,就提示姓名不能為空,其他的一樣),增加學(xué)生失敗。如果不為空判斷學(xué)號(hào)和成績是否合理,如果不合理就提示錯(cuò)誤(如學(xué)號(hào)中含有字母和其他不是數(shù)字的字符,就提示學(xué)號(hào)只能由數(shù)字組成)。如果合理,則把學(xué)生信息封裝成學(xué)生對(duì)象,再通過學(xué)生對(duì)象把學(xué)生信息添加到學(xué)生數(shù)據(jù)庫里。(2) 流程圖輸入學(xué)生姓名、學(xué)號(hào)等信息姓名、學(xué)號(hào)等信息是否為空?是姓名、學(xué)號(hào)等信息是否合理?否提示錯(cuò)誤,增加學(xué)生失敗是提示錯(cuò)誤,增加學(xué)生失敗將學(xué)生信息封裝到學(xué)生對(duì)象將學(xué)生對(duì)象里的信息儲(chǔ)存到學(xué)生數(shù)據(jù)庫增加學(xué)生成功(3) 代碼3. 修改學(xué)生(1) 修改學(xué)生:輸入學(xué)號(hào),查找數(shù)據(jù)庫,如果存在該學(xué)號(hào)的學(xué)生,就輸出該學(xué)生的姓名、學(xué)號(hào)、性別、班別與成績等信息,并可以進(jìn)行修改,保存修改時(shí)會(huì)判斷你修改的信息是否為空,是否合理(如學(xué)號(hào)不能修改,成績只能0100的正整數(shù)),是的話就修改成功,否的話就修改不成功,并會(huì)彈出提示。(2) 流程圖修改成功輸入學(xué)號(hào)數(shù)據(jù)庫里否找到該學(xué)號(hào)?輸出該學(xué)生的姓名、學(xué)號(hào)等信息修改該學(xué)生的信息學(xué)生信息是否為空?學(xué)生信息是否合理?提示:該學(xué)生不存在!提示:信息不能為空提示:不能修改學(xué)號(hào),或成績只能是0100的正整數(shù)在數(shù)據(jù)庫里找到該學(xué)生,并修改。否是 是否否是(3) 代碼:4. 刪除學(xué)生(1) 刪除學(xué)生:輸入學(xué)號(hào),查找數(shù)據(jù)庫,如果存在該學(xué)號(hào)的學(xué)生,就輸出該學(xué)生的姓名、學(xué)號(hào)、性別、班別與成績等信息,不存在就提示該學(xué)生不存在!然后確認(rèn)是否刪除該學(xué)生。刪除成功在數(shù)據(jù)庫里找到該學(xué)生,并刪除。輸入學(xué)號(hào)數(shù)據(jù)庫里否找到該學(xué)號(hào)?輸出該學(xué)生的姓名、學(xué)號(hào)等信息提示:該學(xué)生不存在?。?) 流程圖 否是(3) 代碼5. 查找學(xué)生(1) 查找學(xué)生:輸入學(xué)號(hào),查找數(shù)據(jù)庫,如果存在該學(xué)號(hào)的學(xué)生,就輸出該學(xué)生的姓名、學(xué)號(hào)、性別、班別與成績等信息,不存在就提示該學(xué)生不存在!輸入學(xué)號(hào)數(shù)據(jù)庫里否找到該學(xué)號(hào)?輸出該學(xué)生的姓名、學(xué)號(hào)等信息提示:該學(xué)生不存在?。?) 流程圖 否 是(3) 代碼6. 刪改查學(xué)生(1) 刪改查學(xué)生:用戶可以通過輸入姓名、學(xué)號(hào)、班別和性別來查詢學(xué)生成績,如輸入電子1班可以查詢電子1班所有學(xué)生的信息(姓名、學(xué)號(hào)、班別、性別和各科成績),并把這些學(xué)生信息顯示在表格上,每一行顯示一個(gè)學(xué)生的信息。用戶可以修改表格的某一行,或刪除表格的某一行,來實(shí)現(xiàn)修改學(xué)生和刪除學(xué)生。(2) 流程圖刪除表格的某一行(即刪除學(xué)生)。從數(shù)據(jù)庫里刪除該學(xué)生刪除成功輸入查詢條件(姓名、學(xué)號(hào)、性別和班別)查找數(shù)據(jù)庫,找到符合查詢條件的所有學(xué)生將學(xué)生的信息顯示在表格上(1)(1)或(2) (2)修改成功修改表格的某一行(即學(xué)生信息)。提示:信息(姓名、性別、學(xué)號(hào)、班別和成績)不能為空!學(xué)生信息是否為空?學(xué)生信息是否合理?提示:不能修改學(xué)號(hào),或成績只能是0100的正整數(shù)在數(shù)據(jù)里找到該學(xué)生,并修改。否是否 是(3) 代碼查找并顯示在表格:修改:刪除:7. 修改密碼(1) 修改密碼:輸入一次舊密碼,輸入兩次新密碼,判斷密碼是否為空,為空就彈出提示信息“密碼不能為空”,否則查找數(shù)據(jù)庫,檢查舊密碼是否正確,不正確就彈出提示“舊密碼錯(cuò)誤!”,否則就判斷新密碼的組成,如果密碼由數(shù)字和字母以外的字符組成,就彈出提示“密碼只能由數(shù)字和字母組成!”,否則就將舊密碼替換成新密碼,保存到數(shù)據(jù)庫里。輸入一次舊密碼,兩次新密碼。密碼是否為空?兩新密碼是否一致?舊密碼替換成新密碼,并保存到數(shù)據(jù)庫提示:密碼不能為空提示:兩次密碼不一致舊密碼是否正確?提示:舊密碼錯(cuò)誤?。?) 流程圖否否否是否是(3) 代碼8. 存取數(shù)據(jù)(1) 存取數(shù)據(jù):先創(chuàng)建Document的對(duì)象document,然后通過document來訪問xml文檔,并對(duì)其進(jìn)行增刪改查操作,最后把document保存到xml文檔里。(2) 流程圖創(chuàng)建Document的對(duì)象documentdocument訪問xml文檔,并對(duì)其進(jìn)行增刪改查。document保存到xml文檔(3) 功能2代碼把student.xml文檔里所有學(xué)生及信息讀取出來,保存到List.刪除學(xué)生修改學(xué)生增加學(xué)生查找學(xué)生保存學(xué)生密碼保存管理員密碼查找管理員密碼保存教師密碼查找老師密碼三、 功能測試增加學(xué)生:如果我不小心點(diǎn)擊了兩次增加學(xué)生的按扭,就出現(xiàn)兩個(gè)一模一樣的學(xué)生(如下圖),解決方法:增加學(xué)生之前,先判斷是否存在該學(xué)生,如果不存在,就增加;存在,就修改。修改學(xué)生:如果我修改了學(xué)生的班別(如電子2班,改為電子1班),就出現(xiàn)電子2班有該學(xué)生,電子1班也有(如下圖),解決方法:在修改學(xué)生之前,先判斷該學(xué)生的班別跟原來的班別是否一致,如果一致,就修改;不一致,就先把原來的學(xué)生刪除,然后保存,最后增加該學(xué)生。表格的建立:本來想創(chuàng)建一個(gè)7列的表格,但實(shí)際創(chuàng)建了一個(gè)8列的表格(如下圖(b),多出了一列)。原因:創(chuàng)建一行的時(shí)候,就已經(jīng)創(chuàng)建了一列,目標(biāo)的列數(shù)應(yīng)該要比實(shí)際的列數(shù)少一列。解決方法:如下圖(a),把i 7改為i 6。(a) (b)查找學(xué)生:如果我第一次查找學(xué)生的結(jié)果正確,第二次再查出現(xiàn)錯(cuò)誤(如下圖),原因是第一次查詢的結(jié)果沒有被清掉,導(dǎo)致下次查找時(shí)出現(xiàn)錯(cuò)誤。解決方法:再每次查找學(xué)生之前,先把表格清理(即上一次查詢的結(jié)果清理),然后進(jìn)行查找學(xué)生。清一表格代碼如下:出現(xiàn)錯(cuò)誤圖:登錄用戶:登錄教師用戶時(shí),總是提示密碼錯(cuò)誤,但查看數(shù)據(jù)庫時(shí),發(fā)現(xiàn)密碼并沒有錯(cuò)誤。原因:原來在讀取教師賬號(hào)密碼時(shí),創(chuàng)建了錯(cuò)誤的Document對(duì)象,創(chuàng)建的是管理員賬號(hào)密碼文檔的對(duì)象。解決方法:把Document的對(duì)象改為教師賬號(hào)密碼的對(duì)象?,F(xiàn)象:原因: 解決方法:將XmlUtils.getadministrators()改為XmlUtils.getteacher()。四、 項(xiàng)目總結(jié)成員1(王綱偉):(1) 增加學(xué)生:在保存學(xué)生成績之前需要判斷輸入的成績是否正確(成績只能是0100的正整數(shù)),因?yàn)槲覀冚斎氲某煽兪且宰址问奖4娴模砸劝炎址D(zhuǎn)換成浮點(diǎn)型。但這就遇到了一個(gè)問題,如果我不小心輸入了一個(gè)錯(cuò)誤的成績,即成績里含有非數(shù)字的字符組成時(shí),在字符串轉(zhuǎn)換成浮點(diǎn)型后就會(huì)出現(xiàn)錯(cuò)誤。因此,要先判斷成績的組成,如果成績里含有其他非數(shù)字的字符組成時(shí),應(yīng)該提示錯(cuò)誤并不進(jìn)行字符串轉(zhuǎn)換成浮點(diǎn)型。否則就將字符串轉(zhuǎn)換成浮點(diǎn)型,然后再對(duì)浮點(diǎn)型的數(shù)據(jù)進(jìn)行判斷,是否是0100的正整數(shù)。(2) 學(xué)生信息的顯示:把數(shù)據(jù)庫里所有學(xué)生信息都顯示在表格上,要怎么做?先從數(shù)據(jù)庫里讀取第一個(gè)學(xué)生信息,然后把讀取出來的學(xué)生信息顯示在表格上,再從數(shù)據(jù)庫里讀取第二個(gè)學(xué)生信息,然后顯示在表格上,如此循環(huán)。如果數(shù)據(jù)庫里有上萬個(gè)學(xué)生的信息,就要讀取上萬次數(shù)據(jù)。所以不用這種方法。先把數(shù)據(jù)庫里讀取所有學(xué)生信息并保存到List(學(xué)生列表)里,然后再用循環(huán)語句把List(學(xué)生列表)里所有學(xué)生信息顯示在表格上。這種方法可用。成員2(彭坤):(1) 登錄用戶:要怎么做才能實(shí)現(xiàn)3種不同登錄方式(管理員、教師和學(xué)生),用3個(gè)按扭,分別是管理員登錄、教師登錄和學(xué)生登錄,點(diǎn)擊哪個(gè)登錄按扭就登錄相應(yīng)用戶;這方法比較簡單但界面不好看不靈活。用3個(gè)單選按扭,分別是管理員、教師和學(xué)生,設(shè)置3個(gè)單選按扭的獨(dú)立性(即只要有一個(gè)被選,另外兩個(gè)就不能被選),哪個(gè)單選按扭被選中,點(diǎn)擊登錄時(shí)就登錄相應(yīng)的用戶;這方法比上一種復(fù)雜,但直觀并靈活。成員3(張建銳):(1) 修改學(xué)生:在修改學(xué)生時(shí),把學(xué)號(hào)也修改了,結(jié)果出現(xiàn)了一些錯(cuò)誤。修改學(xué)生的學(xué)號(hào)時(shí),如果我把當(dāng)前學(xué)生的學(xué)號(hào)修改成了別的學(xué)生的學(xué)號(hào),那就相當(dāng)于修改了別的學(xué)生信息,而不是我想要改學(xué)生的信息,因?yàn)樵诒4嫘薷膶W(xué)生信息時(shí),是通過判斷當(dāng)前要修改學(xué)生的學(xué)號(hào)是否與數(shù)據(jù)庫里學(xué)生的學(xué)號(hào)相等,如果相等就修改數(shù)據(jù)庫該學(xué)生的信息。所以把學(xué)號(hào)修改了,就出現(xiàn)了問題,要修改的學(xué)生信息沒有改,卻修改了別的學(xué)生的信息。因此,學(xué)生的學(xué)號(hào)應(yīng)該是唯一的,即學(xué)號(hào)不能被修改。否則提示錯(cuò)誤。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 學(xué)生 成績管理系統(tǒng) 綜合 實(shí)驗(yàn) 報(bào)告
鏈接地址:http://www.szxfmmzy.com/p-6497903.html