




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本科學(xué)生畢業(yè)論文(設(shè)計)題目學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)目錄目錄1摘要2ABSTRACTS前言4第一章相關(guān)技術(shù)簡介5JAVA語言簡介5c\s模型優(yōu)勢61.2.1什么是c\s結(jié)構(gòu)61.2.2C\S架構(gòu)軟件的優(yōu)勢與劣勢7第二章系統(tǒng)分析82.1系統(tǒng)分析82.2應(yīng)解決的問題92.2.1合理的設(shè)計數(shù)據(jù)庫92設(shè)計出友好的界面92.2.3實現(xiàn)的基本功能102.3系統(tǒng)調(diào)查102.3.1統(tǒng)計數(shù)據(jù)源102功能調(diào)查102.3.3查詢結(jié)果輸出形式102.4調(diào)查結(jié)果102.4.1功能需求102.4.2數(shù)據(jù)字典11第三章系統(tǒng)總體設(shè)計113.1表結(jié)構(gòu)設(shè)計113.1.1表的選取113.1.2表的規(guī)化113.1.3表的具體設(shè)計113.2模塊設(shè)計133.2.1數(shù)據(jù)輸入子模塊功能設(shè)計133.2.2數(shù)據(jù)查詢子模塊功能設(shè)計143.2.3數(shù)據(jù)導(dǎo)入導(dǎo)出模塊設(shè)計153.2.4系統(tǒng)維護(hù)子模塊的功能設(shè)計17第四章程序詳細(xì)設(shè)計174.1環(huán)境配置174.2創(chuàng)建用戶界面184.2.1用戶登陸界面184.2.2主控制界面194.2.3主菜單214.3用戶界面中各個控件功能214.3.1數(shù)據(jù)庫的創(chuàng)建與連接214.3.2數(shù)據(jù)顯示窗口顯示功能214.3.3查詢功能224.3.4刪除功能234.3.5修改功能244.3.6添加功能244.3.7數(shù)據(jù)導(dǎo)入導(dǎo)出25第五章測試305.1簡介軟件測試、調(diào)試305.2本系統(tǒng)的測試31第六章系統(tǒng)評價32結(jié)束語33參考文獻(xiàn)34隨著網(wǎng)絡(luò)通信技術(shù)的迅速發(fā)展和信息技術(shù)的廣泛應(yīng)用,計算機(jī)的應(yīng)用已普與到經(jīng)濟(jì)和社會生活的各個領(lǐng)域。教育領(lǐng)域也不例外,現(xiàn)今已經(jīng)出現(xiàn)了各種遠(yuǎn)程網(wǎng)絡(luò)在線教育系統(tǒng)、圖書館管理系統(tǒng)、學(xué)籍管理系統(tǒng),學(xué)生成績管理系統(tǒng)等。其中成績管理是任一院校都不可缺少的部分,它的容對于學(xué)校的決策者和教學(xué)管理者來說都至關(guān)重要,而傳統(tǒng)的人工管理方式效率較低,為數(shù)據(jù)的查詢、更新和維護(hù)帶來了極大的不便。所以學(xué)生成績管理信息系統(tǒng)的開發(fā)和應(yīng)用是必要的,它能夠為管理人員提供充足的信息和快捷的查詢手段,提高學(xué)校學(xué)生成績管理的效。本文的學(xué)生成績管理系統(tǒng)是基于C/S模型的,它提供了強(qiáng)大的學(xué)生成績管理管理功能,方便系統(tǒng)管理員對學(xué)生成績等信息的添加、修改、刪除、查詢等操作,同時一樣的方便學(xué)生對自己各科成績查詢,學(xué)習(xí)的交流。本系統(tǒng)也主要利用java語言和SQLserver2000實現(xiàn),因此它具有很強(qiáng)的可移植性,很方便。關(guān)鍵字:學(xué)生成績管理系統(tǒng)javaJDBCSQLjxl.jarEXCELAbstractWiththenetworkcommunicationtechnologyandtherapiddevelopmentoftheextensiveapplicationofinformationtechnology,computerapplicationhasspreadtoeconomicandsociallifeinvariousfields.Thefieldofeducationisnoexception,todaytherehavebeenvariousremotenetworkonlineeducationsystem,librarymanagementsystem,schoolmanagementsystem,studentperformancemanagementsystemwhichresultsmanagementisoneoftheinstitutionsareanindispensablepartofitscontentforschoolsTeachingpolicymakersandmanagers,areessential,andthetraditionalmanualmanagementmethodslessefficient,dataquery,updateandmaintainbringagreatdealofinconvenience.Therefore,studentperformancemanagementinformationsystemdevelopmentandapplicationisnecessary,itcanprovideadequatestaffformanagementofinformationandquickformeanstoenhancestudentachievementschoolmanagementefficiency.StudentperformancemanagementsystemisbasedontheC/Smodel,itprovidesapowerfulmanagementstudentperformancemanagementfunctions,thesystemadministratortofacilitatestudentachievementandotherinformationtoadd,edit,delete,query,andotheroperations,liketheconvenienceoftheirstudentsBranchesqueryresults,learningexchanges.ThesystemalsomainlyusethejavalanguageandSQLserver2000toachieve,soitisveryportable,veryconvenient.Keywords:StudentperformancemanagementsystemjavaJDBCSQLjxl.jarEXCEL前言隨著計算機(jī)技術(shù)的飛速發(fā)展,信息時代的到來,信息改變了我們這個社會。學(xué)校在管理、教學(xué)、辦公各個方面也在悄悄地變化。一個學(xué)校的信息化程度體現(xiàn)在將計算器與信息技術(shù)應(yīng)用于教學(xué)與管理,以現(xiàn)代化工具代替?zhèn)鹘y(tǒng)手工作業(yè)。無疑,使用信息化管理使教學(xué)更先進(jìn)、辦公更高效、管理更科學(xué),信息交流更迅速。學(xué)生成績管理系統(tǒng)是一個教育單位不可缺少的部分,它的容對于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生成績信息管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對學(xué)生成績信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、性好、壽命長、成本低等。這些優(yōu)點能夠極提高學(xué)生檔案管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,故決定選擇學(xué)生成績管理系統(tǒng)來作為本人的畢業(yè)設(shè)計,在很短的時間里開發(fā)出一套界面友好,功能強(qiáng)大,使用簡單的適用于各規(guī)模學(xué)院的學(xué)生成績管理系統(tǒng)。該學(xué)生成績管理系統(tǒng)能有效的處理在校學(xué)生的成績管理,具有成績輸入、成績查詢、成績統(tǒng)計與打印功能。學(xué)生成績管理系統(tǒng)可以實施應(yīng)用在各中、大、小院校中,適用圍很廣,應(yīng)用性強(qiáng)。隨著系統(tǒng)實施的日益成熟,最終會使單機(jī)作業(yè)為主的教學(xué)管理活動提高到這個平臺上來,從而實現(xiàn)學(xué)校學(xué)生成績信息管理的辦公自動化,籍以提高辦學(xué)效率和質(zhì)量。使學(xué)校充分利用計算機(jī)所帶來的新技術(shù),為培養(yǎng)人才打下堅實的基礎(chǔ)。第一章相關(guān)技術(shù)簡介1.1java語言簡介Java語言是sun公司與1995年5月正式發(fā)布的程序設(shè)計語言,他的前身是sun公司為智能消費類家用電器研究而開發(fā)的項目的一部分。Java程序設(shè)計語言是新一代語言的代表,他強(qiáng)調(diào)了面向?qū)ο蟮奶匦裕梢杂脕黹_發(fā)圍廣泛的軟件,它具有支持圖形化的用戶界面,網(wǎng)格以與數(shù)據(jù)庫連接等復(fù)雜功能。Java語言的主要特點:1)易于學(xué)習(xí)Java語言很簡單,對于熟悉C++的程序設(shè)計人員更不會對其感到陌生,因為它的語法非常接近于C++,但他同時摒棄了C++許多的復(fù)雜易混淆的功能。利用java同樣可以變質(zhì)出非常復(fù)雜的系統(tǒng),且運行占用很少的存資源。2)高效率的執(zhí)行方式Java語言的執(zhí)行方式是采用先經(jīng)過編譯器編譯,在通過解釋器解釋執(zhí)行的方式來運行的。他綜合了解釋性語言與編譯語言的眾多有點,使其執(zhí)行效率較以往的程序設(shè)計語言有了大幅度的提高。3)與平臺的無關(guān)性由于iava語言是解釋執(zhí)行的,他會被轉(zhuǎn)換成一種字節(jié)碼的“目標(biāo)程序“。因此它可以跨平臺運行4)分布式安全性Java從誕生之日起就與網(wǎng)絡(luò)聯(lián)系在了一起,他強(qiáng)調(diào)網(wǎng)絡(luò)特性,置TCP\IP,,F(xiàn)TP協(xié)議庫,便于開發(fā)網(wǎng)上應(yīng)用系統(tǒng)。5)豐富的API文檔和類庫Java為用戶提供了詳盡的API(ApplicationProgramInterface)文檔說明。05模型優(yōu)勢1.2.1什么是C/S結(jié)構(gòu)C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是Client端還是Server端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用。而且代價高,效率低。如我院使用的超蘭公司“案件統(tǒng)計”管理軟件就是典型的C/S體系結(jié)構(gòu)管理軟件。C/S架構(gòu)軟件的優(yōu)勢與劣勢應(yīng)用服務(wù)器運行數(shù)據(jù)負(fù)荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務(wù)器程序的機(jī)器,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶應(yīng)用程序運行在用戶自己的電腦上,對應(yīng)于數(shù)據(jù)庫服務(wù)器,可稱為客戶電腦,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運行數(shù)據(jù)負(fù)荷較輕。數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨立進(jìn)行的,前臺應(yīng)用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運行數(shù)據(jù),在服務(wù)器程序中不集中實現(xiàn),例如訪問者的權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆菪 保闊┑氖虑槎冀唤o了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。C/S架構(gòu)的劣勢是高昂的維護(hù)成本且投資大。首先,采用C/S架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn),有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務(wù)器在線運行,網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護(hù)管理,又要對客戶端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很高,維護(hù)任務(wù)量大。第二章系統(tǒng)分析2.1系統(tǒng)分析學(xué)生成績管理系統(tǒng)的要能夠管理學(xué)生成績信息,主要涉與到學(xué)生的基本信息、成績信息和學(xué)校的授課計劃信息的管理。學(xué)生的成績是需要由人工錄入的,因此系統(tǒng)就需要設(shè)計一個學(xué)生成績信息錄入的窗口來錄入期考成績,并且在這個窗口中放入一個數(shù)據(jù)窗口來實現(xiàn)錄入這方面信息的功能。系統(tǒng)還要求具有查詢期考成績的功能,因此為了顯示查詢結(jié)果,就要設(shè)計一個數(shù)據(jù)窗口,并將其放在查詢期考成績的窗口中實現(xiàn)查詢功能。由于查詢成績和錄入成績有區(qū)別,因此為了更好的實現(xiàn)相應(yīng)的功能,設(shè)計的數(shù)據(jù)窗口也要不同,分別采用兩種風(fēng)格的數(shù)據(jù)窗口實現(xiàn)。系統(tǒng)要求能夠錄入授課計劃和學(xué)生基本信息,必須設(shè)計錄入授課計劃窗口和錄入學(xué)生基本信息窗口來實現(xiàn)相應(yīng)功能。由于該系統(tǒng)是學(xué)校管理學(xué)生成績信息的系統(tǒng),因此必須具有一定的性,需要特定的人員才可以修改,因此需要設(shè)計一個用戶登陸的窗口,使具有訪問權(quán)限的用戶才能登錄此系統(tǒng)。為了簡單化,我們的用戶名和用戶密碼和數(shù)據(jù)庫本身的用戶名密碼一樣。系統(tǒng)的主窗口要能夠在用戶選中相應(yīng)操作后,調(diào)出相應(yīng)的窗口來使用戶在窗口中完成相應(yīng)的功能。2.2應(yīng)解決的問題2.2.1合理的設(shè)計數(shù)據(jù)庫盡量合理地減少數(shù)據(jù)庫數(shù)據(jù)的冗余,使重復(fù)的數(shù)據(jù)保持在最小限度,這樣將不必要的多占用存儲空間,減少產(chǎn)生混亂影響的危險,還能提高計算機(jī)的運行速度。作為學(xué)生成績管理系統(tǒng),必須能解決以下方面的問題:能錄入信息。所需錄入的表有①學(xué)生成績信息表;②學(xué)生基本信息表;③授課計劃表;2.2.2設(shè)計出友好的界面界面的友好與否是用戶評價一個軟件優(yōu)劣的重要方面。因為該系統(tǒng)涉與到學(xué)生成績的真實性,所以該系統(tǒng)要具有一定的性和權(quán)限控制,首先應(yīng)設(shè)計一個用戶的登陸窗口界面,要求只能由特定的人員對該系統(tǒng)進(jìn)行操作。此外還應(yīng)設(shè)計登陸后系統(tǒng)的主窗口,要求能夠顯示學(xué)生成績的基本信息,可以實現(xiàn)數(shù)據(jù)的錄入,更新,刪除、查詢、統(tǒng)計等功能。另外窗口界面要多用按鈕,少用菜單,窗口的各個控鍵布局要合理,美觀。要充分的利用java.awt和java.swing提供的強(qiáng)大的功能,多用窗口和控件,充分體現(xiàn)窗口的多元化格局。2.2.3實現(xiàn)的基本功能該系統(tǒng)要求除了能實現(xiàn)信息的錄入,刪除,插入,更新,數(shù)據(jù)導(dǎo)出excel文件等基本功能之外,還要求能夠根據(jù)用戶的需要進(jìn)行操作。例如要查詢學(xué)生成績,要求可以按照專業(yè)、班級等多種方式查詢。這些功能基本上能滿足用戶操作的需要,這樣用戶操作起來就更簡單方便。部分文本框使用了下拉式,使用戶可以不用花費大量的時間去輸入信息。2.3系統(tǒng)調(diào)查調(diào)查容包括學(xué)生,課程,以與成績存儲的格式信息,用戶對系統(tǒng)的基本功能要求。2.3.1統(tǒng)計數(shù)據(jù)源由于本系統(tǒng)主要是進(jìn)行學(xué)生成績管理,因此涉與到的信息包括學(xué)生信息,授課計劃,學(xué)生成績信息,數(shù)據(jù)源也主要是這些。2功能調(diào)查此系統(tǒng)能與時完成數(shù)據(jù)的添加、刪除、修改、查詢、統(tǒng)計等功能,必須還具有打印報表功能。查詢結(jié)果顯示主要是數(shù)據(jù)窗口顯示。2.3.3查詢結(jié)果輸出形式查詢結(jié)果數(shù)據(jù)形式包括:屏幕顯示和保存為excel格式文件輸出。2.4調(diào)查結(jié)果2.4.1功能需求1)完成學(xué)生成績和授課計劃的管理,具有查閱、添加、刪除、修改、統(tǒng)計等基本功能。2)完成按照指定條件查詢。3)完成所需報表的打印。4)非管理員不能使用本系統(tǒng)。2.4.2數(shù)據(jù)字典(1)學(xué)生基本情況表(學(xué)號,,性別,院系,專業(yè),班級,入學(xué)時間,籍貫,備注)(2)課程信息(課程號,課程名,任課老師,學(xué)分,平時分比例,課程類型,開課時間)(3)成績信息(學(xué)號,課程號,平時成績,卷面成績,總成績)第三章系統(tǒng)總體設(shè)計3.1表結(jié)構(gòu)設(shè)計3.1.1表的選取根據(jù)該系統(tǒng)的要求以與可能將來和其它學(xué)生信息管理系統(tǒng)結(jié)合,本系統(tǒng)需要有一個管理學(xué)生的基本信息的表;作為成績管理系統(tǒng),要有成績表;需要包括課程的信息表,這就要建立一個課程表。以這三個表作為基礎(chǔ),輸出不同的結(jié)果表示形式。3.1.2表的規(guī)化表的規(guī)化是一系列能夠應(yīng)用到數(shù)據(jù)庫結(jié)構(gòu)上的測試,通過這些測試可以消除數(shù)據(jù)的冗余程度,使數(shù)據(jù)庫結(jié)構(gòu)處于一種優(yōu)化形式,測試方法有:對于每一行和列的交叉點,是否僅有一個值;是否所以非主碼列依賴全部主碼;表中是否有依賴其它非主碼列的非主碼列。3.1.3表的具體設(shè)計根據(jù)實現(xiàn)學(xué)生成績管理所涉與的數(shù)據(jù),設(shè)計的表的結(jié)構(gòu)如下:(注:帶有‘P’標(biāo)記的列為主碼列)表3.1學(xué)生基本信息表字段名數(shù)據(jù)類型長度空默認(rèn)值備注Snochar11NononepSnameChar8Nonone
SsexChar2NoNoneSdepartchar15NoNoneSsubjectChar15NoNoneSnativeChar8NoNoneStelepChar10NoNoneSclassChar8NononeScometimeChar10NoNoneRemarkChar50YesNone表3.2課程信息表字段名數(shù)據(jù)類型長度空默認(rèn)值備注Cnochar15NononepCnameChar15NononeCteacherChar15NoNoneCcreditchar4NoNonepersentChar4NoNoneTypeChar8NoNoneTermChar15NoNoneremarkChar50NoNone表3.3成績信息表字段名數(shù)據(jù)類型長度空默認(rèn)值備注Snochar11NononepCnoChar11NononePscoreint/No0tscoreint/No0totalintNo3.2模塊設(shè)計模塊化就是把程序分為若干個模塊,每個模塊完成一個子功能,把這些模塊集中起來組成一個整體,可以完成指定的功能并滿足問題的要求。開發(fā)具有獨立功能而且和其他模塊之間沒有相互作用的模塊,就可以做到模塊獨立。模塊的獨立程度可以由兩個定性的標(biāo)準(zhǔn)來度量,這兩個標(biāo)準(zhǔn)分別稱為聚和耦合。耦合衡量不同模塊彼此間相互依賴的緊密程度;聚衡量一個模塊部各個元素彼此結(jié)合的緊密程度。設(shè)計時,應(yīng)力求提高模塊的聚程度,降低模塊間的耦合程度。學(xué)生成績管理系統(tǒng)此標(biāo)準(zhǔn)可分為用戶登陸、輸入數(shù)據(jù)、查詢數(shù)據(jù)、數(shù)據(jù)導(dǎo)入導(dǎo)出等模塊。(如圖3.1)學(xué)生成績管理系統(tǒng)用戶登錄數(shù)據(jù)輸入數(shù)據(jù)查詢數(shù)據(jù)導(dǎo)入導(dǎo)出系統(tǒng)維護(hù)3.1系統(tǒng)模塊劃分3.2.1數(shù)據(jù)輸入子模塊功能設(shè)計數(shù)據(jù)輸入數(shù)據(jù)查詢數(shù)據(jù)導(dǎo)入導(dǎo)出系統(tǒng)維護(hù)學(xué)生成績信息量很大,不定期都會有新的數(shù)據(jù)產(chǎn)生,同時有報廢的數(shù)據(jù)淘汰,根據(jù)這些要求,數(shù)據(jù)輸入子模塊應(yīng)具有插入、刪除、修改等功能。其基本功能如下(圖3.2):(1)新生信息備案完成學(xué)生基本信息的添加與刪除(2)學(xué)生信息修改
按學(xué)號篩選,顯示要修改的學(xué)生檔案,并修改。(3)授課信息備案完成課程基本信息的添加與刪除(4)授課信息修改按課程號篩選,顯示要修改的學(xué)生檔案,并修改。(5)考試成績備案按班級或?qū)I(yè)輸入學(xué)生成績,并可修改、刪除,打印報表。(6)畢業(yè)成績備案按學(xué)號篩選,將學(xué)生大學(xué)期間所有課程那學(xué)期排列匯總成表打印輸出課程信息修改課程信息備案新生數(shù)據(jù)備案學(xué)生信息修改考試成績備案畢業(yè)成績備案圖3.2畢業(yè)成績備案3.2.2數(shù)據(jù)查詢子模塊功能設(shè)計課程信息修改課程信息備案新生數(shù)據(jù)備案學(xué)生信息修改考試成績備案畢業(yè)成績備案當(dāng)學(xué)生成績管理員需要查詢有關(guān)成績信息時,就可以進(jìn)入查詢模塊,此模塊具備單一查詢和組合查詢功能,并且可以將結(jié)果輸出報表打印。其基本功能如下:(1)學(xué)生,課程,成績信息的瀏覽打開學(xué)生界面時,將顯示所有學(xué)生信息;打開課程界面時,顯示所有課程信息;打開成績界面時,顯示所有學(xué)生的各科成績。結(jié)果可以輸出或?qū)С龅絜xcel文件中(2)學(xué)生信息查詢按學(xué)號,,專業(yè),入學(xué)時間或班級查詢學(xué)生信息,可按單條信息查詢也可組合查詢。結(jié)果可以輸出或?qū)С龅絜xcel文件中(3)課程信息查詢按課程號,課程名,任課老師,課程類別或開課時間查詢課程信息,結(jié)果可以輸出或?qū)С龅絜xcel文件中(4)成績信息查詢按學(xué)號,課程名,專業(yè),班級,開課時間或成績圍查詢學(xué)生信息,可按單條信息查詢也可組合查詢。結(jié)果可以輸出或?qū)С龅絜xcel文件中3.2.3數(shù)據(jù)導(dǎo)入導(dǎo)出模塊設(shè)計在不同的界面上都有導(dǎo)入和導(dǎo)出按鈕,點擊導(dǎo)入按鈕選擇一定格式容的excel文件,將把文件中的容導(dǎo)入到數(shù)據(jù)庫中。點擊導(dǎo)出按鈕可將當(dāng)前界面中的相關(guān)數(shù)據(jù)保存到指定的excel文件中。1.導(dǎo)入數(shù)據(jù)流程圖(如圖3.3)2.圖3.3數(shù)據(jù)導(dǎo)入流程圖導(dǎo)出數(shù)據(jù)流程圖(如圖3.4)N圖3.42.圖3.3數(shù)據(jù)導(dǎo)入流程圖導(dǎo)出數(shù)據(jù)流程圖(如圖3.4)N3.2.4系統(tǒng)維護(hù)子模塊的功能設(shè)計在系統(tǒng)維護(hù)模塊里,學(xué)生成績管理員可以自動備份數(shù)據(jù),系統(tǒng)出現(xiàn)錯誤或出現(xiàn)其他對數(shù)據(jù)具有破壞危害的問題,可以通過手動還原數(shù)據(jù)庫,使用幫助命令更好的使用此系統(tǒng)。第四章程序詳細(xì)設(shè)計設(shè)計應(yīng)用程序的步驟如下:環(huán)境配置。創(chuàng)建用戶界面,菜單向用戶界面中個部件添加相應(yīng)功能4.1環(huán)境配置本系統(tǒng)是基于C/S體系結(jié)構(gòu)的系統(tǒng),在其上添加具體操作功能而完成的客戶端對數(shù)據(jù)庫中數(shù)據(jù)相應(yīng)的查詢,修改,刪除與導(dǎo)入導(dǎo)出等功能。在其中也用到了一些java/swing。前端界面通過JDBC與后臺數(shù)據(jù)庫取得聯(lián)系,用戶在應(yīng)用端對數(shù)據(jù)庫中的相關(guān)數(shù)據(jù)進(jìn)行操作,并根據(jù)需要導(dǎo)出數(shù)據(jù)到excel文件中。系統(tǒng)開發(fā)環(huán)境:數(shù)據(jù)庫SQLServer2000,程序編輯器iuder2006,JAVA開發(fā)環(huán)境J2SDK,JDBCDriver.系統(tǒng)配置:(1)安裝j2sdk后,配置以下環(huán)境變量,在我的電腦->屬性->高級->環(huán)境變量中添加以下環(huán)境變量(j2sdk安裝在C:\ProgramFiles\Java\jdk1.5.0_04):JAVA_HOME=C:\ProgramFiles\Java\jdk1.5.0_04classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;path=%JAVA_HOME%\bin(2)安裝uilder2006.(3)安裝JDBCDriver.(4)下載jxl包,并將引入uilder2006中。如圖4.1:圖4.1引入jxl包4.2創(chuàng)建用戶界面4.2.1用戶登陸界面圖4.2用戶登錄4.2.2主控制界面1.學(xué)生信息界面(圖4.3)圖4.3學(xué)生信息2.成績信息界面(圖4.4)
導(dǎo)?.熟is孕生住京整住崖后倡息圈作作.1d./.::H任T走IT.I:■巖冷--HHI?ir<-.4,|^■:n+i-*知.已因上?■?■:'.1-◎::.I「k:「?.;捋州7■峪:|.-i二|....,?.扣質(zhì):'.I-「;,-頊,|牛.,.*.|學(xué)與寸必由擇$任供卻邛時分卷面四株府成&30041180001問潺原展簞二瓢2Q5SfiD—2i:d:i4I16ODO1TI了畢片SW理弓千讓20::|B020041IfiuODI的現(xiàn)AUBEK簞五瓢2030fiD2Ki41160001王I了?????”:?:T壬味將..十口20::|B02U0qi1Q0D5Z王潔村評原建ttHT*A孕期20TD00200411^0062中片抑糙?.千?.!■芯一十P205DQ020041105152王潔J■■血互第五孕期205DB0200411flOD62王箍”件:?;T王底差六學(xué)朗205DGO200411T0QB2第二孕蝴SOB0200411T0D&2強(qiáng)驛T:;l第IW期20如QD20041170062廚供蟲拿F壬此第六學(xué)蜻2080HOjOOfl1190062噸f孝朗3DgofiD200^1190062單片M勰弓千y:第三判用2080HOJ0041190062我肺互■asrfl.52DgofiD2004119O0B2壬芯"瓠20SOB0—圖4.4成績信息課程信息界面(圖4.5)圖4.5課程信息4.2.3主菜單導(dǎo)人數(shù)據(jù)學(xué)生信息操作理程信息操作成績信息操作圖4.6主菜單4.3用戶界面中各個控件功能4.3.1數(shù)據(jù)庫的創(chuàng)建與連接創(chuàng)建SQLServer數(shù)據(jù)庫驅(qū)動實例Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");SQLServer數(shù)據(jù)庫連接Connectioncon;con二DriverManager.getConnection("jdbc:odbc:數(shù)據(jù)庫名稱","用戶名","數(shù)據(jù)庫密碼");4.3.2數(shù)據(jù)顯示窗口顯示功能當(dāng)用戶執(zhí)行某項操作后,數(shù)據(jù)窗口將刷新并顯示相應(yīng)的操作結(jié)果publicvoidshowTable(ResultSetrs){//將數(shù)據(jù)顯示在表格VectordataItme=null;DefaultTableModeltModel=newDefaultTableModel(studetngradevector,0);try{while(rs.next()){dataItme=newVector();dataItme.clear();dataItme.add(rs.getString(1));dataItme.add(rs.getString(2));dataItme.add(rs.getString(3));dataItme.add(rs.getString(4));dataItme.add(rs.getString(5));dataItme.add(rs.getString(6));dataItme.add(rs.getString(7));dataItme.add(rs.getString(8));tModel.addRow(dataltme);}studentgrade_table.setModel(tModel);//刷新數(shù)據(jù)表格Jtabletf.setText(Integer.toString(studentgrade_table.getRowCount()));}catch(Exceptione){e.printStackTrace();}}4.3.3查詢功能根據(jù)用戶的輸入的不同信息查出相符條件的數(shù)據(jù),并將其顯示在數(shù)據(jù)表格中。//查詢學(xué)生的成績信息publicvoidselectTable(){StringselectString="selectgrade.sno,sname,cname,cteacher,term,score,score,total"+"fromgrade,course,o=o"+"andgrade.sno=student.snoand";Statementstmt=null;ResultSetrs=null;if(select_student_no_tf.getText().trim().length()!=0)selectString=selectString+"student.sno='"+select_student_no_tf.getText()+"'and";if(!select_zhuanye_tf.getSelectedItem().equals("ALL"))selectString=selectString+"ssubject='"+select_zhuanye_tf.getSelectedItem()+"'and";if(select_student_class_tf.getText().trim().length()!=0)selectString=selectString+"sclass='"+select_student_class_tf.getText()+"'and";if(select_course_name_tf.getText().trim().length()!=0)selectString=selectString+"cname='"+select_course_name_tf.getText()+"'and";if(!select_term_tf.getSelectedItem().equals("ALL")){selectString=selectString+"term='"+select_term_tf.getSelectedItem()+"'and";}if(select_course_grade_tf.getSelectedItem().equals("ALL")){selectString=selectString+"totalisnotnull";}elseif(select_course_grade_tf.getSelectedItem().equals("<60")){selectString=selectString+"totalbetween0and60";}elseif(select_course_grade_tf.getSelectedItem().equals("N60")){selectString=selectString+"totalbetween60and100";}try{stmt=con.createStatement();rs=stmt.executeQuery(selectString);//執(zhí)行查詢語句this.showTable(rs);//顯示查詢結(jié)果if(studentgrade_table.getRowCount()==0){//查詢信息不存在JOptionPane.showMessageDialog(null,"信息不存在!","",JOptionPane.INFORMATION_MESSAGE);}rs.close();stmt.close();}catch(Exceptione){e.printStackTrace();}}4.3.4刪除功能用戶點擊刪除按鈕后,系統(tǒng)確認(rèn)是否刪除,if(JOptionPane.showConfirmDialog(this,"是否真的刪除下列數(shù)據(jù)?","",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION)當(dāng)用戶確認(rèn)后,系統(tǒng)將會把數(shù)據(jù)表格中所有的現(xiàn)實數(shù)據(jù)刪除,在刪除學(xué)生或課程信息時會涉與到級聯(lián)刪除for(inti=0;i<count;i++){sql="begintransactiondeletefromgradewheresno='"+stu_date_list.getValueAt(i,0)+"';";sql=sql+"deletefromstudentwheresno='"+stu_date_list.getValueAt(i,0)+"';commit;";stmt.executeUpdate(sql);}4.3.5修改功能用戶輸入修改信息和修改對象主鍵后點擊修改按鈕,系統(tǒng)判斷修改目標(biāo)是否存在Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("select*fromstudentwheresno='"+stu_inputno_tf.getText()+"';");if(!rs.next()){//判斷修改對象是否存在JOptionPane.showMessageDialog(null,"目標(biāo)信息不存在!",JOptionPane.INFORMATION_MESSAGE);}當(dāng)修改對象存在,則修改相關(guān)信息。4.3.6添加功能用戶填寫必填項,點擊添加按鈕,系統(tǒng)判斷插入對象是否存在stmt=con.createStatement();rs=stmt.executeQuery("select*fromstudentwheresno='"+stu_inputno_tf.getText()+"'");if(rs.next()){JOptionPane.showMessageDialog(null,"信息已經(jīng)存在!",“壑土I"警口!,JOptionPane.WARNING_MESSAGE);}當(dāng)添加信息不存在時,系統(tǒng)將信息添加到數(shù)據(jù)庫中Stringsql="insertintostudentvalues('"+stu_inputno_tf.getText()+"','"+stu_inputname_tf.getText()+"','"+stu_inputsex_tf.getSelectedItem()+"','"+stu_inputdepartment_tf.getText()+"','"+stu_inputzhuanye_tf.getText()+"','"+stu_inputclass_tf.getText()+"','"+stu_inputtele_tf.getText()+"','"+stu_inputaddr_tf.getText()+"','"+stu_inputtime_tf.getText()+"','"+stu_inputremark_tf.getText()+"');";stmt.executeUpdate(sql);//執(zhí)行sql語句4.3.7數(shù)據(jù)導(dǎo)入導(dǎo)出此功能單獨在一個java文件中實現(xiàn),并將其中的相關(guān)類放在同一個包中(packagestudentgrademanager.getexcel)。數(shù)據(jù)導(dǎo)出用戶點擊數(shù)據(jù)顯示表格上方的導(dǎo)出數(shù)據(jù)按鈕,彈出保存文件窗口,privatevoidexportdialogInit(){//導(dǎo)出數(shù)據(jù)對話框初始化try{exportFileDialog=newFileDialog(fram,"導(dǎo)出數(shù)據(jù)",F(xiàn)ileDialog.SAVE);exportFileDialog.setVisible(true);exportFileDialog.setSize(200,200);exportFileDialog.setLocation(400,200);}catch(Exceptione){e.printStackTrace();}系統(tǒng)將數(shù)據(jù)表格所有容導(dǎo)入到用戶指定的excel文件中并保存。在寫入容之前程序應(yīng)當(dāng)判斷文件名與其后綴是否合法,如果合法則繼續(xù)執(zhí)行,否則不執(zhí)行任何操作,操作結(jié)束。privatevoidwriteFile(StringfilePath,StringfileName){//寫文件if(fileName!=null){//文件名不為空if(!fileName.endsWith(".xls")){//只對后綴為.xls的文件進(jìn)行操作fileName=fileName+".xls";}try{Stringstr=filePath+fileName;Filefile=newFile(str);file.createNewFile();WritableWorkbookworkbook=Workbook.createWorkbook(file);WritableSheetsheet=workbook.createSheet("學(xué)生信息",0);inti=0;jxl.write.Labellabel=null;WritableCellFormatwc=newWritableCellFormat();wc.setAlignment(Alignment.CENTRE);while(i<table.getColumnCount()){//將表列名寫入相應(yīng)的excel文件label=newjxl.write.Label(i,0,table.getColumnName(i),wc);Stringstr2=(String)table.getValueAt(0,i);sheet.setColumnView(i,str2.trim().length()+10);i++;sheet.addCell(label);}程序?qū)?shù)據(jù)顯示表格的所有容逐個讀取,并寫入到excel文件中相對應(yīng)的單元格中for(i=0;i<table.getRowCount();i++){/將表格中的數(shù)據(jù)寫入到excel中for(intj=0;j<table.getColumnCount();j++){label=newjxl.write.Label(j,i+1,(String)table.getValueAt(i,j));sheet.addCell(label);//將信息寫入到單元格}}workbook.write();workbook.close();}catch(Exceptione){e.printStackTrace();}}}數(shù)據(jù)導(dǎo)入用戶點擊導(dǎo)入數(shù)據(jù)下拉菜單后選擇導(dǎo)入的數(shù)據(jù)類型(如:學(xué)生信息,課程信息,成績信息)。點擊后彈出導(dǎo)入數(shù)據(jù)對話框,選擇要導(dǎo)入的文件后,系統(tǒng)會對其進(jìn)行后綴識別,if(!str.endsWith(".xls")&&str.length()!=0){JOptionPane.showMessageDialog(null,"文件后綴不符合","警告!",JOptionPane.WARNING_MESSAGE);}。當(dāng)文件后綴為.xls時,系統(tǒng)將其打開判斷容是否符合要求然后將其插入到數(shù)據(jù)庫中。如果數(shù)據(jù)庫中已經(jīng)存在相關(guān)信息,則系統(tǒng)會自動彈出提示,由用戶選擇是否覆蓋原來已存在的數(shù)據(jù),即將原來存在的數(shù)據(jù)刪除,將新數(shù)據(jù)插入。for(i=1;i<rowCount;i++)(//將excel文件中的數(shù)據(jù)插入數(shù)據(jù)庫中Stringsql="insertintostudentvalues('";ResultSetrs=stmt.executeQuery("select*fromstudentwheresno='"+sheet.getCell(0,i).getContents()+"'");if(rs.next()){//判斷導(dǎo)入信息是否已存在if(JOptionPane.showConfirmDialog(fram,"發(fā)現(xiàn)信息已存在,是否覆蓋?","",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){//覆蓋已存在信息stmt.executeUpdate("deletefromstudentwheresno='"+sheet.getCell(0,i).getContents()+"'");}else{//不覆蓋continue;}}for(j=0;j<columnCount-1;j++){Cellc=sheet.getCell(j,i);sql=sql+c.getContents()+"','";}Cellc=sheet.getCell(j,i);sql=sql+c.getContents()+"');";sqlString.add(sql);在導(dǎo)入成績信息的時候,如果要用新數(shù)據(jù)覆蓋就數(shù)據(jù)再次程序中許涉與到級聯(lián)刪除,即當(dāng)導(dǎo)入的成績中涉與到的課程或者學(xué)號不存在時,系統(tǒng)將對本條數(shù)據(jù)不做任何處理。if(rs.next()){//判斷導(dǎo)入信息是否已存在if(JOptionPane.showConfirmDialog(fram,"發(fā)現(xiàn)信息已存在,是否覆蓋?","",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){//覆蓋已存在信息rs=stmt.executeQuery("select*fromstudentwheresno='"+sheet.getCell(0,i).getContents()+"'");if(!rs.next()){//如果插入的成績中涉與到的學(xué)號不存在則不執(zhí)行下列代碼stmt.executeUpdate("deletefromCoursewheresno='"+sheet.getCell(0,i).getContents()+"'ando='"+sheet.getCell(1,i).getContents()+"'");}}第五章測試5.1簡介軟件測試、調(diào)試軟件測試是保證軟件質(zhì)量的關(guān)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信訪臺帳管理制度
- 信貸資金管理制度
- 修模車間管理制度
- 公司保潔員管理制度
- 公司空壓機(jī)管理制度
- 養(yǎng)護(hù)部車輛管理制度
- 分公司行政管理制度
- 區(qū)隊安檢員管理制度
- 學(xué)校11項管理制度
- 小公司采購管理制度
- 拔牙術(shù)后并發(fā)癥的護(hù)理
- 《積極心理學(xué)(第3版)》 課件 第10章 感恩
- 2024年河南省中考化學(xué)試卷(含答案)
- 敬老院、護(hù)理院特困集中供養(yǎng)老人服務(wù)投標(biāo)方案(技術(shù)方案 )
- 土壤鹽堿化防治與土壤改良
- 安徽省通航控股集團(tuán)低空智聯(lián)研究院公司招聘筆試題庫2024
- 湖北省武漢市2024年中考適應(yīng)性元調(diào)語文試卷附答案
- 人音版四下第5課 陜北綠了百姓笑了
- 2024年重慶市兩江新區(qū)數(shù)學(xué)五下期末復(fù)習(xí)檢測試題含解析
- 大學(xué)生心理健康教育智慧樹知到期末考試答案章節(jié)答案2024年湖南中醫(yī)藥大學(xué)
- 江蘇省南通市2022-2023學(xué)年五年級下學(xué)期數(shù)學(xué)期末試卷(含答案)2
評論
0/150
提交評論