學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文

上傳人:1777****777 文檔編號(hào):36994439 上傳時(shí)間:2021-11-01 格式:DOC 頁(yè)數(shù):29 大?。?66.03KB
收藏 版權(quán)申訴 舉報(bào) 下載
學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁(yè)
第1頁(yè) / 共29頁(yè)
學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第2頁(yè)
第2頁(yè) / 共29頁(yè)
學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第3頁(yè)
第3頁(yè) / 共29頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(29頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、廊坊職業(yè)技術(shù)學(xué)院高職計(jì)算機(jī)類(lèi)廊坊職業(yè)技術(shù)學(xué)院高職計(jì)算機(jī)類(lèi)畢業(yè)(設(shè)計(jì))論文畢業(yè)(設(shè)計(jì))論文 計(jì)算機(jī)科學(xué)與工程系計(jì)算機(jī)科學(xué)與工程系專(zhuān)業(yè)專(zhuān)業(yè)題目 學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名學(xué)生姓名 學(xué)學(xué) 號(hào)號(hào) 10130800351013080035 指導(dǎo)教師指導(dǎo)教師 班班 級(jí)級(jí) 信管信管 G1001G1001 目錄摘摘 要要.3一、一、開(kāi)發(fā)目標(biāo)及開(kāi)發(fā)意義開(kāi)發(fā)目標(biāo)及開(kāi)發(fā)意義.5 二、系統(tǒng)分析二、系統(tǒng)分析.7(一一)學(xué)生成績(jī)管理系統(tǒng)概述學(xué)生成績(jī)管理系統(tǒng)概述.7(二二) 需求分析需求分析.81) 功能需求分析功能需求分析.82) 性能需性能需求求分析分析.93)數(shù)據(jù)庫(kù)需求分析)數(shù)

2、據(jù)庫(kù)需求分析數(shù)據(jù)流圖數(shù)據(jù)流圖.94)數(shù)據(jù)結(jié)構(gòu)分析數(shù)據(jù)結(jié)構(gòu)分析數(shù)據(jù)流圖數(shù)據(jù)流圖.10(三三)系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì).12三、三、系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì).13(一一)設(shè)計(jì)目標(biāo)設(shè)計(jì)目標(biāo).13(二二)開(kāi)發(fā)及運(yùn)行環(huán)境開(kāi)發(fā)及運(yùn)行環(huán)境.13(三三)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì).14四、系統(tǒng)的實(shí)現(xiàn)四、系統(tǒng)的實(shí)現(xiàn).17(一一)學(xué)生查詢(xún)成績(jī)部分學(xué)生查詢(xún)成績(jī)部分.17(二二)后臺(tái)管理成績(jī)部分后臺(tái)管理成績(jī)部分.19 登陸模塊登陸模塊.19 年紀(jì)班級(jí)管理模塊年紀(jì)班級(jí)管理模塊.20 課程管理模塊課程管理模塊.24 評(píng)分模塊評(píng)分模塊.24 學(xué)生信息管理模塊學(xué)生信息管理模塊.27 管理員模塊管理員模塊.29 五、總結(jié)五、總結(jié)參考

3、文獻(xiàn)參考文獻(xiàn).30摘要摘要在現(xiàn)在,高科技的飛躍發(fā)展,計(jì)算機(jī)的大量普及,使得人們生活節(jié)奏越來(lái)越快。因此對(duì)教育行業(yè)的多元信息進(jìn)行有效的管理工作,也成為教育行業(yè)中的重中之重。目前,學(xué)校工作復(fù)雜、資料眾多,雖然各類(lèi)管理信息系統(tǒng)已進(jìn)入高校,但還未普及,而對(duì)于學(xué)生成績(jī)管理來(lái)說(shuō),目前還沒(méi)有一套完整的、統(tǒng)一的系統(tǒng)。為各高校教務(wù)工作人員減輕負(fù)擔(dān),提高工作效率,所以制作了學(xué)生成績(jī)管理系統(tǒng)。關(guān)鍵詞:關(guān)鍵詞:java,SQL ,TOMCAT,學(xué)生成績(jī)管理AbstractAlong with the modern computer science development, the computer informatio

4、n system is more and more important, the network already became the people to exchange the information important way, therefore appeared systems that based on network platform, the B/S system already became one kind of important tool which the people exchanged. Now we will introduce how to use java

5、and RIA to develop a student score management system. This part including database creation and the system function realization. Finally expound the matter and shortage of the system, in order to ameliorate better in the future.Keywords: java, SQL, TOMCAT,Student score management一、一、開(kāi)發(fā)目標(biāo)及開(kāi)發(fā)意義開(kāi)發(fā)目標(biāo)及開(kāi)發(fā)

6、意義1、開(kāi)發(fā)目標(biāo) 本系統(tǒng)是針對(duì)學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì),而且學(xué)生查詢(xún)以及教師查詢(xún)都比較方便,系統(tǒng)中提供了管理員管理用戶(hù)的平臺(tái),教師可對(duì)學(xué)生基本信息以及學(xué)生成績(jī)等進(jìn)行查詢(xún),學(xué)生可對(duì)學(xué)生基本信息、課程信息、班級(jí)信息以及學(xué)生成績(jī)等進(jìn)行查詢(xún)。 使用廊坊職業(yè)技術(shù)學(xué)院的學(xué)生管理系統(tǒng)可進(jìn)行如下操作: (1) 可對(duì)用戶(hù)和學(xué)生信息及權(quán)限進(jìn)行管理。 (2) 老師可對(duì)學(xué)生成績(jī)進(jìn)行添加、刪除、修改等操作。 (3) 可對(duì)學(xué)生的成績(jī)進(jìn)行查詢(xún)。 (4) 可對(duì)學(xué)生成績(jī)或?qū)W生信息等進(jìn)行報(bào)表打印和統(tǒng)計(jì)功能。 (5) 具有查詢(xún)幫助環(huán)境。2、開(kāi)發(fā)意義采用計(jì)算機(jī)對(duì)學(xué)生成績(jī)進(jìn)行管理,可以進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平。幫助廣大教師提高工作

7、效率,實(shí)現(xiàn)學(xué)生成績(jī)信息管理工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化。運(yùn)用學(xué)生成績(jī)管理系統(tǒng)可以減輕學(xué)校教學(xué)人員的工作量,節(jié)約成本,提高工作效率與準(zhǔn)確率,能夠合理安排時(shí)間,能夠盡快的知道自己的考試成績(jī),投入新的課程的學(xué)習(xí)或復(fù)習(xí)這次有考過(guò)的課程。而學(xué)生成績(jī)管理系統(tǒng)的應(yīng)用也為今天的民辦教育在未來(lái)市場(chǎng)的競(jìng)爭(zhēng)力有所提高。從大的方向說(shuō),就是為了加速我國(guó)四化建設(shè)的發(fā)展,實(shí)現(xiàn)全部的自動(dòng)化,是我國(guó)成為通訊網(wǎng)絡(luò)化、決策科學(xué)化。辦公自動(dòng)化的國(guó)家。在高科技的飛躍發(fā)展的現(xiàn)在,人們工作習(xí)慣的改變,特別是電腦的大量普及,人們生活節(jié)奏越來(lái)越快,怎樣提高工作效率是人們首先考慮的問(wèn)題。學(xué)生成績(jī)管理是個(gè)非常繁瑣與復(fù)雜的一項(xiàng)工作,一個(gè)原因就是

8、工作量大、任務(wù)重。對(duì)于一個(gè)學(xué)校而言,更應(yīng)該有效地運(yùn)用一些本地資源,提高管理的力度。二、二、系統(tǒng)分析系統(tǒng)分析( (一一) )學(xué)生成績(jī)管理系統(tǒng)概述學(xué)生成績(jī)管理系統(tǒng)概述1)學(xué)生成績(jī)管理系統(tǒng)的發(fā)展背景學(xué)生成績(jī)管理是各大學(xué)的主要日常管理工作之一,涉及到校、系、師、生的諸多方面,隨著教學(xué)體制的不斷改革,尤其是學(xué)分制、選課制的展開(kāi)和深入,學(xué)生成績(jī)?nèi)粘9芾砉ぷ骷氨4婀芾砣遮叿敝?、?fù)雜。迫切需要研制開(kāi)發(fā)一款功能強(qiáng)大,操作簡(jiǎn)單,具有人性化的學(xué)生成績(jī)管理系統(tǒng)。目前研究的現(xiàn)狀在安全性和信息更新化方面存在有一定的不足,各現(xiàn)有系統(tǒng)資料單獨(dú)建立,共享性差;在以管理者為主體的方式中,信息取舍依賴(lài)管理者對(duì)于信息的認(rèn)知與喜好,較

9、不容易掌握用戶(hù)真正的需求,也因此無(wú)法完全滿(mǎn)足用戶(hù)的需求。因此,教務(wù)管理軟件應(yīng)充分依托校園網(wǎng),實(shí)現(xiàn)教務(wù)信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教務(wù)管理朝數(shù)字化、無(wú)紙化、智能化、綜合化的方向發(fā)展,并為進(jìn)一步實(shí)現(xiàn)完善的計(jì)算機(jī)教務(wù)管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎(chǔ)。隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet 應(yīng)用在全球范圍內(nèi)日益普及,在眾多的網(wǎng)絡(luò)服務(wù)中,Web 給人耳目一新的感覺(jué),而在這其中,網(wǎng)絡(luò)已經(jīng)日漸普及,任何人可以在網(wǎng)絡(luò)所提供的平臺(tái)上進(jìn)行自由的交流,通過(guò)網(wǎng)絡(luò),學(xué)生可以通過(guò)在線(xiàn)的網(wǎng)絡(luò)直接查詢(xún)程序,而學(xué)校教師也可在網(wǎng)上在線(xiàn)管理學(xué)生的成績(jī),不需要再去張貼成績(jī)單,使用了在線(xiàn)

10、電子系統(tǒng),既便于數(shù)據(jù)查詢(xún)不容易使數(shù)據(jù)丟失,又省去了印刷張貼的麻煩,可謂一舉兩得。B/S 系統(tǒng)得益于網(wǎng)絡(luò)的興起,采用瀏覽器作為前端用戶(hù)操作的平臺(tái),所有的操作系統(tǒng)都預(yù)裝了網(wǎng)絡(luò)瀏覽器,比如 IE,用戶(hù)不用再去費(fèi)心安裝每個(gè)系統(tǒng)的客戶(hù)端就可以通過(guò)瀏覽器訪(fǎng)問(wèn)服務(wù)器上架設(shè)的系統(tǒng)只是隨著網(wǎng)絡(luò)的發(fā)展,人們不再局限于只查看文字信息圖片這些靜態(tài)信息,對(duì) B/S系統(tǒng)的互操作性有了進(jìn)一步的需求,這才興起了 RIA 富客戶(hù)端的風(fēng)潮,使用各種技術(shù)對(duì)瀏覽器進(jìn)行功能上的增強(qiáng),讓它可以滿(mǎn)足現(xiàn)代用戶(hù)的需要。這套學(xué)生成績(jī)管理系統(tǒng),就是基于 java 平臺(tái)和 ajax 實(shí)現(xiàn)的 RIA 富客戶(hù)端開(kāi)發(fā)的,它包括學(xué)生查詢(xún)平臺(tái)和后臺(tái)管理平臺(tái)兩

11、部分,分別為學(xué)生提供成績(jī)查詢(xún)功能,為老師提供管理學(xué)生成績(jī)的功能。2)方案論證 成績(jī)管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。本系統(tǒng)主要完成對(duì)學(xué)生成績(jī)的管理,包括數(shù)據(jù)庫(kù)中表的添加、修改、刪除等。系統(tǒng)還可以完成對(duì)各類(lèi)信息的瀏覽、查詢(xún)、添加、刪除、修改等功能。3) 開(kāi)發(fā)工具的選擇本系統(tǒng)開(kāi)發(fā)工具:JDK Version1.5+ SQL SERVER 2000( (二二) )需求分析需求分析1) 功能需求分析 該學(xué)生成績(jī)管理系統(tǒng)具備三

12、方面的功能:一方面是學(xué)生用戶(hù),學(xué)生通過(guò)輸入學(xué)號(hào)和密碼進(jìn)下該系統(tǒng)后,可以進(jìn)行一些基礎(chǔ)查詢(xún)(學(xué)生信息查詢(xún)、班級(jí)信息查詢(xún)、課程信息查詢(xún)) 、成績(jī)管理(成績(jī)查詢(xún)、計(jì)算平均分)重新登陸系統(tǒng);一方面老師進(jìn)入該系統(tǒng)則比學(xué)生多一些權(quán)限:成績(jī)輸入、成績(jī)查詢(xún)。具體功能的詳細(xì)描述如下1 選擇學(xué)生基本維護(hù)菜單命令,即可進(jìn)入 學(xué)生基本維護(hù)功能窗體,在其中輸入學(xué)生的相關(guān)信息,如果需要添加或修改學(xué)生信息,則單擊相應(yīng)的按紐,輸入新信息后單擊添加就可以了。需要?jiǎng)h除一條信息,則只要選擇這條信息再點(diǎn)擊 刪除。在搜索條件中輸入相關(guān)的條件,單擊 查詢(xún)就可查找信息。2 選擇學(xué)生信息查詢(xún)菜單命令,即可進(jìn)入學(xué)生信息查詢(xún)功能窗體,在其中的下拉

13、列表中選擇你要看的信息,則在下面的表格中顯示你要的信息。3 選擇成績(jī)管理 添加成績(jī)菜單命令,即可進(jìn)入 添加成績(jī)功能窗體,此功能權(quán)限只有管理員和教師。4 選擇成績(jī)管理 輸入成績(jī)菜單命令,即可進(jìn)入 輸入成績(jī)功能窗體,此功能權(quán)限只有管理員和教師。5 選擇成績(jī)管理 修改成績(jī) 界面,此功能規(guī)管理員所有。6 選擇成績(jī)管理 查詢(xún)成績(jī)界面此界面對(duì)學(xué)生也是可見(jiàn)的,它的權(quán)限規(guī)所有用戶(hù)所有。7 選擇登陸 重新登陸 則會(huì)返回登陸界面,為用戶(hù)提供方便。8 選擇退出將退出整個(gè)系統(tǒng)。2) 性能需求分析時(shí)間特性要求:在軟件方面,響應(yīng)時(shí)間有點(diǎn)慢,因?yàn)槭怯?JBuilder 做的,它占用內(nèi)存比較大,更新處理時(shí)間比較快而且迅速。安

14、全性:設(shè)立口令號(hào)和密碼驗(yàn)證方式,防止非法用戶(hù)登錄進(jìn)行操作。也就是用戶(hù)只有管理員、學(xué)生和教師才能進(jìn)入這個(gè)系統(tǒng),用戶(hù)憑口令號(hào)和密碼進(jìn)入此系統(tǒng),系統(tǒng)會(huì)自動(dòng)判斷用戶(hù)是那種類(lèi)型,分別擁有不同的權(quán)限。3) 數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)流圖在教務(wù)系統(tǒng)中功能模塊主要牽涉到的信息包括:是學(xué)生信息(base_info) 、班級(jí)信息(class_info)、課程信息(class_info)、成績(jī)表(chengjibiao)、選課表 (xuankebiao)、登陸表(stu)。學(xué)生信息:包含學(xué)號(hào)(id)、姓名(name)、班級(jí)(class)、班級(jí)(grade) 、性別(sex)課程信息:包括課程編號(hào)(course_id)、課程

15、名稱(chēng)(coursename)姓名(name)、成績(jī)(result) 成績(jī)表:編號(hào)(number)、學(xué)號(hào)(id)、課程名稱(chēng)(coursename)、成績(jī)(result)班級(jí)信息:班級(jí)編號(hào)(bjbh)、學(xué)號(hào)(id)、姓名(name)、班級(jí)名稱(chēng)(bjmc)。登陸表:口令號(hào)(id)、密碼(password)。根據(jù)以上劃分的具體數(shù)據(jù)信息,得到數(shù)據(jù)流圖如 1.1 所示: 用 戶(hù)登 錄操 作登陸信息錯(cuò)誤信息尋找信息數(shù) 據(jù) 庫(kù)1.1 數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)流圖4)數(shù)據(jù)結(jié)構(gòu)分析學(xué)生信息=組成: 學(xué)號(hào)(id)、姓名(name)、班級(jí)(class)、性別(sex)、地址(address)課程信息=組成: 編號(hào)(cour

16、se_id)、課程名稱(chēng)(coursename)、教師(teacher)選課信息=組成:編號(hào)(select_id) 課程名稱(chēng)(coursename)、課程編號(hào)(course_id)、學(xué)號(hào)(xh)、姓名(name)、成績(jī)(result) 、教師(teacher)成績(jī)表包括=組成:編號(hào)(number)、學(xué)號(hào)(id)、課程名稱(chēng)(coursename)、成績(jī)(result)、教師(teacher) 課程信息包括=組成:課程編號(hào)(course_id)、課程名稱(chēng)(coursename)、教師(teacher)班級(jí)信息=組成:班級(jí)編號(hào)(bjbh)、年級(jí)(nj)、班級(jí)名稱(chēng)(bjmc)、人數(shù)(rs)、班主任(bz

17、r)登陸表=組成:口令號(hào)(id)、密碼(password)、權(quán)限(rightlimit)1 1、對(duì)圖、對(duì)圖 1.11.1 中所涉及的數(shù)據(jù)流描述如下:中所涉及的數(shù)據(jù)流描述如下:1) 數(shù)據(jù)流名:口令號(hào)說(shuō)明:根據(jù)這個(gè)口令號(hào)定位到用戶(hù)管理數(shù)據(jù)庫(kù),以便進(jìn)行身份驗(yàn)證。數(shù)據(jù)流來(lái)源:登陸界面輸入的口令號(hào)和密碼。數(shù)據(jù)流去向:其中用戶(hù)口令信息將存在于整個(gè)操作過(guò)程中,防止非法登陸。數(shù)據(jù)流組成:口令號(hào)(文本) ;密碼(文本)2)數(shù)據(jù)流名:尋找信息說(shuō)明:根據(jù)用戶(hù)在學(xué)生信息維護(hù)的時(shí)候所填寫(xiě)的信息。數(shù)據(jù)流來(lái)源:學(xué)生信息維護(hù)界面學(xué)生輸入包含學(xué)號(hào)、班級(jí)編號(hào)、名稱(chēng)等。數(shù)據(jù)流去向:學(xué)號(hào)將存在整個(gè)操作,其它的存入數(shù)據(jù)庫(kù)。數(shù)據(jù)流組成:

18、學(xué)號(hào)(文本) ;姓名(文本)等3)數(shù)據(jù)流名:尋找信息說(shuō)明:根據(jù)用戶(hù)在成績(jī)管理的時(shí)候所填寫(xiě)的信息。數(shù)據(jù)流來(lái)源:成績(jī)輸入、修改、添加等界面用戶(hù)輸入包含課程編號(hào)、課程名稱(chēng)、成績(jī)、教師。數(shù)據(jù)流去向:學(xué)號(hào)、班級(jí)編號(hào)、課程編號(hào)將存在整個(gè)操作,其它的存入數(shù)據(jù)庫(kù)。數(shù)據(jù)流組成:課程編號(hào)(文本) 、課程名稱(chēng)(文本) 、教師(文本)等。4)數(shù)據(jù)流名:返回信息返回信息說(shuō)明:根據(jù)用戶(hù)在學(xué)生信息維護(hù)的時(shí)候所填寫(xiě)的信息存入了數(shù)據(jù)庫(kù)之后。數(shù)據(jù)流來(lái)源:由學(xué)生信息維護(hù)界面學(xué)生輸入的包含學(xué)號(hào)、姓名、性別等存入數(shù)據(jù)庫(kù)的。數(shù)據(jù)流去向:學(xué)生信息維護(hù)界面。數(shù)據(jù)流組成:學(xué)號(hào)(文本) 、姓名(文本) 、班級(jí)名稱(chēng)(文本) 、性別(文本)等。5)

19、數(shù)據(jù)流名:返回信息說(shuō)明:根據(jù)用戶(hù)在成績(jī)管理的時(shí)候所填寫(xiě)的信息存入數(shù)據(jù)庫(kù)后。數(shù)據(jù)流來(lái)源:由成績(jī)管理輸入的包含班級(jí)名稱(chēng)、教師、課程名、成績(jī)存入數(shù)據(jù)庫(kù)的。數(shù)據(jù)流去向:成績(jī)管理的各子界面。數(shù)據(jù)流組成:班級(jí)編號(hào)(文本) ;班級(jí)名稱(chēng)(文本) ;教師(文本)等2.2. 對(duì)圖對(duì)圖 1.11.1 中所涉及的處理過(guò)程描述如下:中所涉及的處理過(guò)程描述如下:1)處理過(guò)程名:登陸輸入數(shù)據(jù)流:口令號(hào)、密碼輸出數(shù)據(jù)流:不符合輸入條件的錯(cuò)誤信息 處理過(guò)程邏輯:用 IF 條件進(jìn)行判斷。2)處理過(guò)程名:班級(jí)信息維護(hù)輸入數(shù)據(jù)流:班級(jí)編號(hào)、班級(jí)名稱(chēng)、教師等輸出數(shù)據(jù)流:班級(jí)編號(hào)、班級(jí)名稱(chēng)等 ,其中班級(jí)編號(hào)將存在整個(gè)操作。處理過(guò)程號(hào):班

20、級(jí)編號(hào),其中班級(jí)編號(hào)將存在整個(gè)操作。3)處理過(guò)程名:學(xué)生信息維護(hù)輸入數(shù)據(jù)流:學(xué)號(hào)、姓名、班級(jí)編號(hào)、性別等。輸出數(shù)據(jù)流:學(xué)號(hào)、姓名、班級(jí)編號(hào)、性別等。其中學(xué)號(hào)將存在整個(gè)操作。4)處理過(guò)程名:課程查詢(xún)輸入數(shù)據(jù)流:學(xué)號(hào)、姓名輸出數(shù)據(jù)流:學(xué)號(hào)、班級(jí)名稱(chēng)、課程名稱(chēng)、上課時(shí)間節(jié)、上課時(shí)間天、上課地點(diǎn)、其中課程編號(hào)將存在整個(gè)操作。5)處理過(guò)程名:成績(jī)輸入輸入數(shù)據(jù)流:課程編號(hào)、課程名稱(chēng)輸出數(shù)據(jù)流:編號(hào)、學(xué)號(hào)、課程名稱(chēng)、成績(jī) 、其中編號(hào)和學(xué)號(hào)將存在整個(gè)操作。(三) 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) 根據(jù)需求分析階段得到的功能需求,管理員、學(xué)生和教師用戶(hù)通過(guò)輸入口令號(hào)和密碼進(jìn)下該系統(tǒng)后,可以進(jìn)行一些學(xué)生基礎(chǔ)信息查

21、詢(xún)(學(xué)生信息查詢(xún)、班級(jí)信息查詢(xún)、課程信息查詢(xún)) 、學(xué)生信息維護(hù)、成績(jī)管理(成績(jī)查詢(xún)、計(jì)算平均分)重新登陸系統(tǒng)、退出。 模塊功能大概可以分為如下 4 個(gè)方面:這幾個(gè)模塊學(xué)生基礎(chǔ)維護(hù)、成績(jī)管理、登陸、退出。其中基礎(chǔ)維護(hù)還要包括學(xué)生信息維護(hù)、班級(jí)信息維護(hù)、課程信息維護(hù)。成績(jī)管理包括成績(jī)查詢(xún)、添加成績(jī)、成績(jī)輸入等。綜上所述,得到客戶(hù)端功能模塊圖如下 2.1 所示。登錄學(xué)生成績(jī)管理系統(tǒng)管理員模塊學(xué)生模塊學(xué)生基本信息退出成績(jī)管理成績(jī)查詢(xún)退出重新登錄成績(jī)輸入成績(jī)修改成績(jī)添加成績(jī)查詢(xún)學(xué)生信息查詢(xún)學(xué)生信息維護(hù)圖 2.1 客戶(hù)模塊系統(tǒng)功能模塊圖三、系統(tǒng)設(shè)計(jì)(一)設(shè)計(jì)目標(biāo)(一)設(shè)計(jì)目標(biāo)通過(guò)對(duì)學(xué)生管理工作的調(diào)查和研究

22、,要求系統(tǒng)設(shè)計(jì)完成后將達(dá)到以下目標(biāo):界面設(shè)計(jì)友好、美觀(guān),方便管理員的日常操作?;拘畔⒌娜嬖O(shè)置,數(shù)據(jù)錄入方便、快捷。具有用戶(hù)維護(hù)功能。最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。(二)開(kāi)發(fā)及運(yùn)行環(huán)境(二)開(kāi)發(fā)及運(yùn)行環(huán)境硬件平臺(tái):CPU:P41.8GHz; 內(nèi)存:256MB 以上。軟件平臺(tái):操作系統(tǒng):Windows2000 Server;數(shù)據(jù)庫(kù):SQL Server 2000;開(kāi)發(fā)工具包:JDK Version1.5建立環(huán)境,這個(gè)過(guò)程如下:在 http:/ JDK(Java2SDK、StandardEdition、v6.0)。JDK 的安裝是首先運(yùn)行下載得到的 jdk-6u5-windows-i586

23、-p.exe,然后修改系統(tǒng)環(huán)境變量,新建JAVA_HOME=x:jdk6.0,并在 PATH 參數(shù)中加入%JAVA_HOME%bin;,其中x:是安裝 JDK 的硬盤(pán)符(c:、d:等) 。在 http:/jakarta.apache.org/處下載 Tomcat6.0。tomcat 的安裝僅需將 apache-tomcat-5.5.26.zip 帶目錄釋放到硬盤(pán)根目錄下(c:、d:等) ,然后就可以在硬盤(pán)上找到 apache-tomcat-5.5.26 目錄。啟動(dòng)則在 apache-tomcat-5.5.26/bin 目錄下執(zhí)行 startup.bat,就可啟動(dòng) tomcat 中一個(gè)支持 JS

24、P 網(wǎng)頁(yè)技術(shù)的 Web 服務(wù)器。為了不與現(xiàn)有的 Web 服務(wù)器(例如 IIS、PWS 等)沖突,tomcat 的 Web 服務(wù)器使用了 8080 端口。在瀏覽器的地址欄中鍵入 http:/localhost:8080 或者 http:/127.0.0.1:8080 后,如果能看到 tomcat 的歡迎頁(yè)就說(shuō)明 JSP 實(shí)驗(yàn)環(huán)境已經(jīng)建成,可進(jìn)入下一步實(shí)驗(yàn)。要關(guān)閉 Web服務(wù)器則運(yùn)行 shutdown.bat。(三)數(shù)據(jù)庫(kù)設(shè)計(jì)(三)數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)連接數(shù)據(jù)庫(kù)連接對(duì)動(dòng)態(tài)網(wǎng)站來(lái)說(shuō)是最為重要的部分,從 JSP 中訪(fǎng)問(wèn)數(shù)據(jù)通常是通過(guò) Java Bean 來(lái)實(shí)現(xiàn)的。Java 中連接數(shù)據(jù)庫(kù)的技術(shù)是 JDBC

25、(Java Database Connectivity)。很多數(shù)據(jù)庫(kù)系統(tǒng)帶有 JDBC 驅(qū)動(dòng)程序,Java 程序就通過(guò) JDBC 驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相連,執(zhí)行查詢(xún)、提取數(shù)據(jù)等等操作。Sun 公司還開(kāi)發(fā)了 JDBC-ODBC bridge,用此技術(shù) Java 程序就可以訪(fǎng)問(wèn)帶有 ODBC 驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有 ODBC 驅(qū)動(dòng)程序,所以 Java 程序能訪(fǎng)問(wèn)諸如 Oracle、Sybase、MSSQL Server 和 MS Access 等數(shù)據(jù)庫(kù)。1JavaBeanJavaBeans 是基于 java 的組件模型,由屬性,方法和事件 3 個(gè)部分組成。在該模型中,Javabe

26、ans 可以被修改或與其他組件結(jié)合生成新組件或完成的程序。它是一種Java 類(lèi),通過(guò)封裝成為具有某種功能或者處理某個(gè)業(yè)務(wù)的對(duì)象。因此,也可以通過(guò)嵌在 JSP 頁(yè)面內(nèi)的 Java 代碼訪(fǎng)問(wèn) Bean 及其方法。Bean 的含義是可重復(fù)使用的 Java 組件。所謂組件就是一個(gè)由可以自行進(jìn)行內(nèi)部管理的一個(gè)或幾個(gè)類(lèi)所組成,外界了解其內(nèi)部信息和運(yùn)行方式的群體。使用它的對(duì)象只能通過(guò)接口來(lái)操作。Bean 實(shí)際上是根據(jù) JavaBeans 技術(shù)標(biāo)準(zhǔn)所指定的 Bean 的命名和設(shè)計(jì)規(guī)范而編寫(xiě)的Java 類(lèi)。Bean 并不需要繼承特別的基類(lèi)(base class)或事項(xiàng)特定的接口(Interface) 。Java

27、Beans1.01-A 規(guī)范定義了該組件的 5 種重要的機(jī)制:1)內(nèi)?。↖ntrospection):組件可發(fā)表其支持的操作和屬性,同時(shí)也支持在其他組件中發(fā)現(xiàn)重復(fù)利用的對(duì)象庫(kù),例如用戶(hù)權(quán)限和電子自動(dòng)回復(fù)等。2)通信(Communication):生成和收集組件的消息事件3)持續(xù)(Persistence):存放組件的狀態(tài)。4)屬性(Properties):支持組件布局的控制,包括組件占用的空間和組件的相對(duì)位置。5)定制(Customization):開(kāi)發(fā)者可控制組件所需的改變機(jī)制。6)Javabeans 可實(shí)現(xiàn)在設(shè)計(jì)平臺(tái)被規(guī)定的操作,一般可表示為簡(jiǎn)單的圖形界面,如按鈕,光標(biāo)和菜單等,也可以是不可

28、見(jiàn)的接受并處理事件的操作,如數(shù)據(jù)庫(kù)連接Bean。JSP 吸引人之處很大程度上在于它使用了 Javabeans 組件技術(shù),但 JSP 中只支持不可見(jiàn)的 Javabeans。2jdbc創(chuàng)建一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)連接 Bean 需要 5 個(gè)步驟:導(dǎo)入 JDBC 標(biāo)準(zhǔn)類(lèi)庫(kù),注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,建立數(shù)據(jù)庫(kù)連接,數(shù)據(jù)庫(kù)操作和關(guān)閉。1)導(dǎo)入 JDBC 標(biāo)準(zhǔn)類(lèi)庫(kù)JDBC(Java DataBase Connectivity, Java 數(shù)據(jù)庫(kù)連接)是一種可用于執(zhí)行SQL(Structured Query Language ,結(jié)構(gòu)化查詢(xún)語(yǔ)言)語(yǔ)句的應(yīng)用程序接口,為了將服務(wù)器從客戶(hù)端接受信息存入數(shù)據(jù)庫(kù),需要使用 JDB

29、C 標(biāo)準(zhǔn)類(lèi)庫(kù),所以需要在程序的開(kāi)始加入以下 import 語(yǔ)句:Import java.sql.*;2)注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序在一個(gè) JDBC 的驅(qū)動(dòng)程序被用來(lái)建立數(shù)據(jù)庫(kù)連接之前,必須向數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序管理器注冊(cè)該驅(qū)動(dòng)程序。管理器的主要職責(zé)是保證所有的驅(qū)動(dòng)程序?qū)ο罂杀?JDBC 的用戶(hù)程序訪(fǎng)問(wèn)。當(dāng)一個(gè) JDBC 驅(qū)動(dòng)程序被載入時(shí),它將自動(dòng)地在驅(qū)動(dòng)程序管理器上注冊(cè)??梢哉{(diào)用 Class.forName()方法載入一個(gè) JDBC 驅(qū)動(dòng)程序:String strDBDriver=sun.jdbc.odbc.JdbcOdbcDriver;Class.forName(“strDBDriver ”); Clas

30、s.forName()是 Java 的 Class 類(lèi)的靜態(tài)方法,它使 Java 虛擬機(jī)動(dòng)態(tài)的尋找,載入并連接指定的類(lèi)。一個(gè) JDBC 的驅(qū)動(dòng)程序就是一個(gè)可以通過(guò) classpath 找到一個(gè) Java 類(lèi)。這里載入的JDBC_ODBC 橋驅(qū)動(dòng)程序就在 sun.jdbc.odbc 包中3)建立數(shù)據(jù)庫(kù)連接載入一個(gè)正確的驅(qū)動(dòng)程序后,就可以用它來(lái)建立與數(shù)據(jù)庫(kù)的連接了。一個(gè) JDBC 的數(shù)據(jù)庫(kù)連接是用數(shù)據(jù)庫(kù) URL 來(lái)標(biāo)記的。連接標(biāo)記將告訴驅(qū)動(dòng)程序管理器使用哪個(gè)驅(qū)動(dòng)程序和連接哪個(gè)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù) URL 的基本形式:jdbc::URL 的第一部分表示使用 JDBC 建立數(shù)據(jù)庫(kù)連接。第 2 部分表示所使用

31、的 JDBC驅(qū)動(dòng)程序名或網(wǎng)絡(luò)協(xié)議名。第 3 部分是數(shù)據(jù)源標(biāo)記,它映射所需連接的數(shù)據(jù)庫(kù)。例如數(shù)據(jù)庫(kù)的數(shù)據(jù)源標(biāo)記是 firm 則同 JDBC-ODBC 橋連接該數(shù)據(jù)庫(kù)所用的數(shù)據(jù)庫(kù) URL 為jdbc:odbc:firm.可以通過(guò) DriverManager 類(lèi)的靜態(tài)方法 getConnection()來(lái)建立一個(gè)數(shù)據(jù)庫(kù)連接:String strDBUrl=jdbc:odbc:firm;conn=DriverManager.getConnection(strDBUrl,sa,);一旦建立數(shù)據(jù)庫(kù)連接,就可以打開(kāi)該目標(biāo)數(shù)據(jù)庫(kù),并通過(guò)該連接向目標(biāo)數(shù)據(jù)庫(kù)SQL 指令。SQL 指令通常會(huì)執(zhí)行查詢(xún),插入,更新和刪

32、除等數(shù)據(jù)庫(kù)操作。要執(zhí)行 SQL指令,必須通過(guò) Connection 對(duì)象的 createStatement()方法來(lái)創(chuàng)建一個(gè) STMT 對(duì)象。STMT 對(duì)象提供了許動(dòng)方法來(lái)執(zhí)行不同的數(shù)據(jù)庫(kù)操作??梢?通過(guò)以下方式創(chuàng)建 STMT對(duì)象:private Connection conn=null;private Statement stmt=null;ResultSet rs=null;stmt=conn.createStatement();4)數(shù)據(jù)操作與數(shù)據(jù)庫(kù)建立了連接后,接著就要進(jìn)行數(shù)據(jù)操作了。數(shù)據(jù)操作包括查詢(xún),插入,更新和刪除等操作。要對(duì)數(shù)據(jù)庫(kù)精心操作可以使用 STMT 對(duì)象的 executeQ

33、uery()方法。executeQuery()方法接受一個(gè) SQL 指令字符串作為參數(shù),返回結(jié)果信息是 ResultSet 對(duì)象。具體如下:rs=stmt.executeQuery(sql);5)關(guān)閉因?yàn)閿?shù)據(jù)庫(kù)連接是寶貴和有限的資源,因此必須在數(shù)據(jù)庫(kù)操作完畢后即使釋放數(shù)據(jù)庫(kù)連接。Connection 對(duì)象提供了一個(gè)簡(jiǎn)單的關(guān)閉數(shù)據(jù)庫(kù)連接的方法 close()。例如:conn.close();stmt.close。利用數(shù)據(jù)庫(kù)原理相關(guān)知識(shí),對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)和每個(gè)模塊、每個(gè)界面的具體設(shè)計(jì)。此系統(tǒng)采用的數(shù)據(jù)庫(kù)軟件是 sqldb。以下是系統(tǒng)需要的六張主要數(shù)據(jù)表的結(jié)構(gòu)。字段名字段類(lèi)型nulldefault描述主

34、鍵外鍵idbigint主鍵incrementcodevarchar(100)年級(jí)代碼namevarchar(200)年級(jí)名稱(chēng)School_grade 年級(jí)字段名字段類(lèi)型nulldefault描述主鍵外鍵idbigint主鍵incrementcodevarchar(100)班級(jí)代碼namevarchar(200)班級(jí)名稱(chēng)school_gradebigint所在年級(jí)school_gradeSchool_class 班級(jí)字段名字段類(lèi)型nulldefault描述主鍵外鍵idbigint主鍵incrementcodevarchar(50)課程編碼namevarchar(200)課程名稱(chēng)credit_ho

35、urfloat學(xué)分passfloat及格線(xiàn)school_gradebigint所在學(xué)期school_gradeLesson 課程字段名字段類(lèi)型nulldefault描述主鍵外鍵idbigint主鍵incrementusernamevarchar(200)用戶(hù)名passwordvarchar(200)密碼truenamevarchar(200)真實(shí)姓名sexinteger性別school_classbigint所在班級(jí)school_classStudent 學(xué)生字段名字段類(lèi)型nulldefault描述主鍵外鍵idbigint主鍵incrementscorefloat成績(jī)studentbigint

36、用戶(hù)studentlessonbigint課程lessonScore 成績(jī)字段名字段類(lèi)型nulldefault描述主鍵外鍵idbigint主鍵incrementusernamevarchar(200)用戶(hù)名passwordvarchar(200)密碼Admin 管理員四、系統(tǒng)的實(shí)現(xiàn)(一)學(xué)生查詢(xún)成績(jī)部分學(xué)生查詢(xún)成績(jī)部分訪(fǎng)問(wèn) http:/localhost:8080/ST/index.html。測(cè)試用戶(hù)名:test測(cè)試密碼:test學(xué)生需要先登錄才能進(jìn)入查詢(xún)程序的界面, 進(jìn)入系統(tǒng)前要對(duì)用戶(hù)和密碼進(jìn)行校驗(yàn),即用戶(hù)名和密碼正確才能進(jìn)入系統(tǒng)。并且若用戶(hù)連續(xù)三次密碼輸入錯(cuò)誤,則不能再次輸入。輸入用戶(hù) I

37、D 后,按鍵,系統(tǒng)校驗(yàn)該用戶(hù)是否存在.在公共方法jTuser_keyPressed()中,定義一個(gè) String 類(lèi)型變量 sqlSelect 用來(lái)生成 SQL 查詢(xún)語(yǔ)句,再定義一個(gè)公共類(lèi) PetrieveObject 類(lèi)型變量 retrieve,然后調(diào)用 retrieve 的 getObjectRow()方法,其參數(shù)為 sqlSelect,用來(lái)判斷該用戶(hù)是否存在。如果用戶(hù)名與密碼不正確,就會(huì)彈出警告信息,要求用戶(hù)重新輸入。登錄成功后就可以看到登錄學(xué)生的個(gè)人信息和相關(guān)學(xué)科的分?jǐn)?shù)。(二)(二)后臺(tái)管理成績(jī)部分后臺(tái)管理成績(jī)部分訪(fǎng)問(wèn) http:/localhost:8080/st/admin.htm

38、l,進(jìn)入后臺(tái)管理界面。測(cè)試管理員帳號(hào):admin測(cè)試密碼:admin輸入用戶(hù) ID 之后,按鍵,系統(tǒng)校驗(yàn)該用戶(hù)是否存在。在公共方法jTuser_keyPressed()中,定義一個(gè) String 類(lèi)型變量 sqlSelect 用來(lái)生成 SQL 查詢(xún)語(yǔ)句,再定義一個(gè)公共類(lèi) RetrieveObject 類(lèi)型變量 retrieve,然后調(diào)用 retrieve 的 getObjectRow()方法,其參數(shù)為 sqlSelect,用來(lái)判斷該用戶(hù)是否存在。該方法的詳細(xì)代碼如下:Public void jTextField1_keyPressed(KeyEvent keyEvent)If(keyEvent

39、.getKeyCode()=KeyEvent.VK_ENTER) String sqlSelect=null; Java.util.Vector vdata=null; sqlSelect=”select username from tb_user where userid=”+jTextField1.getText().trim()+”; appstu.util.RetrieveObject retrieve=new appstu.util.RetrieveObject(); vdata=retrieve.getObjectRow(sqlSelect); if (vdata.size()0)

40、 jPasswordField1.requestFocus();else Javax.swing.JOptionPane.showMessageDialog(null,”該用戶(hù)不存在”,”錯(cuò)誤” ,javax.swing.JOptionPane.ERROR_MESSAGE); jTextField1.requestFocus(); 如果用戶(hù)存在,再輸入對(duì)應(yīng)的口令,輸入的口令正確時(shí),單擊“登錄”按鈕,進(jìn)入系統(tǒng)。公共方法 jTuser_keyPressed()的設(shè)計(jì)與 jTextField1_keyPressed 的設(shè)計(jì)方法相似,其關(guān)鍵代碼如下:Public void jBlogin_action

41、Performed(ActionEvent e) String sqlSelect=null; sqlSelect=”select count(*)from tb_user where userid=”+jTextField1.getText().trim() +”and pass=”+pass+”; Java.util.Vector vdata=null; appstu.util.RetrieveObject retrieve=new appstu.util.RetrieveObject(); vdata=retrieve.getObjectRow(sqlSelect); if(Intege

42、r.parseInt(String.valueOf(vdata.get(0)0) AppMain frame=new AppMain(); This.setVisible(false);else Javax.swing.JOptionPane.showMessageDialog(null,”密碼錯(cuò)誤”,”錯(cuò)誤”,Javax.swing.JOptionPane.ERROR_MESSAGE); jPasswordField1.requestFocus(); return; 登錄成功可以選擇功能模塊進(jìn)行操作。其中包括有年級(jí)班級(jí)管理模塊、課程管理模塊、學(xué)生管理模塊、系統(tǒng)管理模塊。這些模塊都只有管理人員

43、才能使用。管理年級(jí)信息,年級(jí)管理模塊可以添加、修改、刪除各年級(jí)的 ID、年級(jí)編碼及年級(jí)名稱(chēng)。管理班級(jí)信息,班級(jí)信息設(shè)置用來(lái)維護(hù)班級(jí)的基本情況,包括對(duì)班級(jí)信息的添加、修改和刪除等操作。通過(guò)調(diào)用 Jdbcadapter,完成對(duì)班級(jí)表的相應(yīng)操作。執(zhí)行該模塊程序,首先從數(shù)據(jù)表中檢索出班級(jí)的基本信息,如果存在數(shù)據(jù)用戶(hù)單擊某一條數(shù)據(jù)之后可以對(duì)其進(jìn)行修改、刪除等操作。單擊 jf_view_sysset_class.java 文件的 source 代碼,編輯窗口首先導(dǎo)入U(xiǎn)TIL 公共包下的相應(yīng)類(lèi)文件;定義一個(gè) BOOLEAN 實(shí)例變量 INSERTFLAG,用來(lái)標(biāo)志操作數(shù)據(jù)庫(kù)的類(lèi)型,然后定義一個(gè)私有方法 BU

44、ILDTABLE() ,用來(lái)檢索班級(jí)數(shù)據(jù)。代碼如下:private void buildTable() DefaultTableModel=null; String name =“班級(jí)編號(hào)”,”年級(jí)編號(hào)”,”班級(jí)名稱(chēng)”; String sqlstr=”select*from tb_classinfo”; Appstu.util.retrieveObject bdt=new appstu.util.RetrieveObject(); Tabemodel=bdt.getTableModel(name,sqlstr);jTable.setModel(tablemodel);jTable.setRow

45、Height(24); 單擊“新增”按鈕,用來(lái)增加一條新的數(shù)據(jù)信息。在公共方法jBadd_actionPerformed()中定義局部字符串變量 sqlgrade,用來(lái)生成年級(jí) sql 的查詢(xún)語(yǔ)句,然后調(diào)用公共類(lèi) RetrieveObject 的 getObjectRow()方法,其參數(shù)為 sqlgrade,將返回結(jié)果數(shù)據(jù)解析后添加到 jComboBox1 組件中。其 jBadd_actionPerformed()方法的代碼如下: Public void jBadd_actionPerformed(ActionEvent e)/獲得年級(jí)名稱(chēng)/if(jComboBox1.getItemCount

46、()=0)Insertflag=true;RetrieveObject bdt=new RetrieveObject();String sqlgrade=”select gradeName from tb_gradeinfo”;Java.util.Vector vdata=new java.util.Vector();Vdata=bdt.getObjectRow(sqlgrade);jComboBox1.removeAllItems();for (int i=0;ivdata.size();i+) jComboBox1.addItem(vdata.get(i);ItemEvent item=n

47、ew ItemEvent(jComboBox1,0,jComboBox1,jComboBox1.getSelectedIndex();jComboBox1_itemStateChanged(item);jTextField2.setText(“”);jTextField2.requestFocus();用戶(hù)單擊表格上的某條數(shù)據(jù)后,程序會(huì)將這條數(shù)據(jù)填寫(xiě)到 jPanel2 面板上的相應(yīng)組件上,以方便用戶(hù)進(jìn)行相應(yīng)的操作,在公共方法 jTable1_mouseClicked()中定義一個(gè)string 類(lèi)型的局部變量 sqlStr,用來(lái)生成 sql 查詢(xún)語(yǔ)句,然后調(diào)用公共類(lèi) RetrieveObject

48、的 getObjectPow()方法,進(jìn)行數(shù)據(jù)查詢(xún),如果找到數(shù)據(jù)則將該數(shù)據(jù)解析顯示給用戶(hù),代碼如下:Public void jTable1_mouseClicked(MouseEvent e) Insertflag=false; String id=null; String sqlStr=null; Int selectrow=0; Selectrow=jTable1.getSelectedRow(); If(selectrow0)return; Id=jTable1.getValueAt(selectrow,0).toSwing(); sqlStr=”SELECT c.classID,d.g

49、radeName FROM tb_classinfo c INNER JOIN” +”tb_gradeinfo d ON c.gradeID=d.gradeID” + “where c.classID=”+id+”; Java.util.Vector vdata=null; RetrieveObject retrive=new RetrieveObject(); Vdata=retrive.getObjectRow(sqlStr); jComboBox1.removeAllItems(); jTextField1.setText(vdata.get(0).toString(); jComboB

50、ox1.addItem(vdata.get(1); jTextField2.setText(vdata.get(2).toString(); 管理課程信息,課程管理模塊可增加、修改、刪除學(xué)院各班級(jí)開(kāi)設(shè)的課程數(shù)據(jù),包括課程的 ID、課程代碼、課程名稱(chēng)、課程學(xué)分、該課程的及格分?jǐn)?shù)線(xiàn)及開(kāi)設(shè)該課程的年級(jí)信息。評(píng)分模塊主要是給學(xué)習(xí)某一課程的學(xué)生評(píng)分,通過(guò)選擇課程的名稱(chēng),可錄入、修改、刪除和查看學(xué)習(xí)該門(mén)課程所有學(xué)生的成績(jī)。this.tbar = new Ext.Toolbar(選擇課程:, filter, -, id: addMenu, text: 添加, iconCls : add, tooltip :

51、 添加, disabled: true, handler: function() if (this.filter.getValue() = ) Ext.Msg.alert(提示, 請(qǐng)先選擇課程); else var initValue = id: null, student.truename: null, student.id: null, score: 0 ; var p = new this.dataRecord(initValue); this.stopEditing(); this.store.insert(0, p); this.startEditing(0, 0); p.dirty

52、 = true; p.modified = initValue; if(this.store.modified.indexOf(p) = -1) this.store.modified.push(p); if (this.insertedRecords.indexOf(p) = -1) this.insertedRecords.push(p); .createDelegate(this) , id: deleteMenu, text: 刪除, iconCls : delete, tooltip : 刪除, disabled: true, handler: function() if (this

53、.filter.getValue() = ) Ext.Msg.alert(提示, 請(qǐng)先選擇課程); else Ext.Msg.confirm(信息, 確定要?jiǎng)h除?, function(btn) if (btn = yes) var sm = this.getSelectionModel(); var cell = sm.getSelectedCell(); var record = this.store.getAt(cell0); if(this.store.modified.indexOf(record) != -1) this.store.modified.remove(record);

54、/ 記錄刪除了哪些 id var id = record.get(id); if (id = null & this.insertedRecords.indexOf(record) != -1) this.insertedRecords.remove(record); else if (id != null & this.removedRecords.indexOf(record) = -1) this.removedRecords.push(record); this.store.remove(record); , this); .createDelegate(this) , id: sav

55、eMenu, text: 提交修改, iconCls : edit, tooltip : 提交修改, disabled: true, handler: function() if (this.filter.getValue() = ) Ext.Msg.alert(提示, 請(qǐng)先選擇課程); else var m = this.store.modified.slice(0); var data = ; Ext.each(m, function(item) data.push( id: item.get(id), studentId: item.get(student.id), score: ite

56、m.get(score) ); ); var removedIds = ; Ext.each(this.removedRecords, function(item) removedIds.push(item.get(id); ); if (data.length = 0 & removedIds.length = 0) / 沒(méi)有修改,不需要提交 return; 學(xué)生信息管理模塊,包括學(xué)生信息的添加、修改、刪除、保存修改等功能。同時(shí)學(xué)生信息中包括了學(xué)生的登陸查詢(xún)界面的用戶(hù)名及相應(yīng)的登陸密碼。單擊“學(xué)生管理”/“學(xué)生”選項(xiàng),進(jìn)入該模塊,其運(yùn)行結(jié)果如下圖所示。用戶(hù)進(jìn)入該模塊后,程序首先從數(shù)據(jù)庫(kù)表中檢

57、索出學(xué)生的基本信息,如果檢索到學(xué)生的基本信息,那么用戶(hù)在單擊某一條數(shù)據(jù)之后可以對(duì)該數(shù)據(jù)進(jìn)行修改、刪除等操作。公共類(lèi) JdbcAdapter 是對(duì)學(xué)生表 tb_studentinfo 進(jìn)行相應(yīng)操作。用戶(hù)單擊表格中的某條數(shù)據(jù)之后,系統(tǒng)會(huì)將學(xué)生的信息讀取到面板 jPanel1 的組件上來(lái),以供用戶(hù)進(jìn)行操作,其關(guān)鍵代碼 F_view_student.java 如下:Public void jTable1_mouseClicked(MouseEvent e)Id=jTable1.getValueAt(selectrow,0).toString();sqlStr=”select*from tb_stude

58、ntinfo where stuid =”+id+”;java.util.Vetrive.getObjectRow(sqlStr);string gradeid=null,classid=null;string gradename=null,classname=null;java.util.Vector vname=null;classid=vdata.get(1).toString();gradeid=classid.substring(0,2);vname=retrive.getObjectRow(“select className from tb_classinfo where clas

59、sID=+classid+”);classname=String.valueOf(vname.get(0);vname=retrive.getObjectRow(“select gradeName from tb_gradeinfo where gradeID=”+gradeid+”);gradename=String.valueOf(vname.get(0);單擊“添加”按鈕,進(jìn)行學(xué)生的錄入操作,其代碼編寫(xiě)最大流水號(hào)的生成其中公共方法 jBdel_actionPerfromed()的關(guān)鍵代碼 JF_view_student.java 如下:Public voidjBadd_actionPer

60、formed(ActionEvent e) Int index=jComboBox2.getSelectedIndex();Classid=classIDindex; String sqlMax=”select max(stuid)from tb_studentinfo where classID=”+classid+”; ProduceMaxBh pm=new appstu.util.produceMaxBh(); String stuid=unll; Stuid=pm.getMax,classid); 單擊“刪除”按鈕,刪除學(xué)生信息,其中公共方法 jBdel_actionPerformed

61、()的關(guān)鍵代碼如下:Public viod jBdel _actionPerfromed(ActionEvente) String sqlDel=”delete tb_studentinfo where stuid=”+jTexField1.getText().trim()+”; JdbcAdapter jdbcAdapter=new JdbcAdapter();If(jdbcAdapter.DeleteObject(sqlDel) jTextField1.setText(“”);jTextField2.setText(“”);jTextField3.setText(“”);jTextFiel

62、d4.setText(“”);jTextField5.setText(“”);jTextField6.setText(“”);jComBox1.removeAllItems();jComBox3.removeAllItems();ActionEvent event=new ActionEvent(jBrefresh,0,null);jBrefresh_actionPerformed(event); 管理員模塊,包括對(duì)管理員信息的新增、修改及刪除。 五、總結(jié)隨著計(jì)算機(jī)技術(shù)的普及和網(wǎng)絡(luò)的發(fā)展,越來(lái)越多的教育單位開(kāi)始重視信息化建設(shè),利用先進(jìn)的計(jì)算機(jī)和網(wǎng)絡(luò)對(duì)學(xué)生成績(jī)信息進(jìn)行管理,提高工作效率,減少人力

63、資源的浪費(fèi)。本人結(jié)合教務(wù)管理人員對(duì)成績(jī)信息的具體需求,開(kāi)發(fā)一套學(xué)生成績(jī)管理系統(tǒng),本系統(tǒng)經(jīng)過(guò)多次測(cè)試,能在 Visual Studio 2005 的調(diào)試環(huán)境上正常運(yùn)行。基本上實(shí)現(xiàn)了數(shù)據(jù)管理功能,目前試運(yùn)行良好。綜上詳細(xì)闡述了本系統(tǒng)的整個(gè)開(kāi)發(fā)過(guò)程和實(shí)現(xiàn)功能,能夠進(jìn)行學(xué)生成績(jī)信息錄入、修改、查詢(xún)、瀏覽、刪除、統(tǒng)計(jì)等操作,整體界面美觀(guān)大方,完成了教務(wù)人員對(duì)學(xué)生成績(jī)管理工作的要求,適用于一系列的教育單位。本系統(tǒng)的應(yīng)該,將會(huì)使學(xué)生和教務(wù)管理人員在第一時(shí)間內(nèi)獲得理想信息。 但是,由于一些技術(shù)和設(shè)備所限,本系統(tǒng)存在一些不足之處,有待進(jìn)一步改進(jìn)和完善,在開(kāi)發(fā)過(guò)程中遇到了一下問(wèn)題:(1) 對(duì)后臺(tái)數(shù)據(jù)庫(kù)中數(shù)據(jù)的日常

64、維護(hù),包括自動(dòng)清理過(guò)時(shí)的數(shù)據(jù);(2) 程序中錯(cuò)誤處理和輸入控制不夠全面,可能導(dǎo)致輸入無(wú)效引發(fā)錯(cuò)誤;(3) 對(duì)補(bǔ)考學(xué)生的處理。參考文獻(xiàn)參考文獻(xiàn):計(jì)算機(jī)網(wǎng)絡(luò)(中級(jí)) 胡道元 清華大學(xué)出版社VB 課程設(shè)計(jì) 路慰民/龔裴秘 清華大學(xué)出版社C 程序設(shè)計(jì)(第二版) 譚浩強(qiáng) 清華大學(xué)出版社JSP 編程實(shí)踐動(dòng)態(tài)網(wǎng)頁(yè)的引擎 何川 方興 陳渝 齊暢 清華大學(xué)出版社深入 JSP 網(wǎng)絡(luò)編程 雨陽(yáng)隆春 等 清華大學(xué)出版社JSP 入門(mén)與提高 楊學(xué)瑜 王志軍 劉同利 編著 清華大學(xué)出版社JSP 技術(shù)大全 (1-1 版) (美) Phil Hanna 機(jī)械工業(yè)出版社JSP 編程指南(第二版) 王軍等譯 電子工業(yè)出版社JSP 站點(diǎn)設(shè)計(jì)編程指南 王軍等譯 電子工業(yè)出版社電子政務(wù)總體設(shè)計(jì)與技術(shù)實(shí)現(xiàn) 國(guó)家信息研究中心著 電子工業(yè)出版社電子政務(wù)基礎(chǔ)知識(shí)讀本 汪玉凱主編 電子工業(yè)出版社精通 Java 核心技術(shù) 劉曉華等編 電子工業(yè)出版社Java 2 編程指南(SDK 1.4 版) 李昭智等譯 電子工業(yè)出版社JDK1.5 類(lèi)庫(kù)大全 陳燁 張蓓等編著 清華大學(xué)出版社

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!