版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> JAVA課程設(shè)計(jì)---</p><p><b> 學(xué)籍管理系統(tǒng)說明書</b></p><p> 學(xué)院:信息與電氣工程學(xué)院</p><p> 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p><b> 班級:XX班</b></p><p><b>
2、 姓名:XXX</b></p><p><b> 學(xué)號:XXX</b></p><p><b> 指導(dǎo)教師:XXX</b></p><p><b> 目錄</b></p><p> 一、第一章 系統(tǒng)概述</p><p> 1.1系
3、統(tǒng)介紹…………………………………………………2</p><p> 1.2信息系統(tǒng)簡介……………………………………………2</p><p> 1.3管理信息系統(tǒng)簡介………………………………………3</p><p> 1.4研究背景…………………………………………………3</p><p> 1.5開發(fā)意義……………………………………………
4、……4</p><p> 二、第二章 開發(fā)環(huán)境及開發(fā)技術(shù)</p><p> 2.1系統(tǒng)開發(fā)環(huán)境……………………………………………4</p><p> 2.2系統(tǒng)開發(fā)技術(shù)……………………………………………4</p><p> 三、第三章 系統(tǒng)需求分析</p><p> 3.1設(shè)計(jì)思想…………………………………
5、………………6</p><p> 3.2可行性分析………………………………………………6</p><p> 3.3功能需求…………………………………………………7</p><p> 3.4系統(tǒng)功能模塊圖…………………………………………7</p><p> 四、第四章 總結(jié)………………………………………………15</p>
6、<p> 五、參考文獻(xiàn)……………………………………………………15</p><p><b> 六、附錄</b></p><p> 源代碼………………………………………………………16</p><p><b> 第一章系統(tǒng)概述</b></p><p><b> 1.1系
7、統(tǒng)介紹</b></p><p> 系統(tǒng)是在一定環(huán)境中相互聯(lián)系和相互作用的若干部分組成的具有某種功能的集合,一個系統(tǒng)內(nèi)可能包含許多功能各異的子系統(tǒng),這意味著系統(tǒng)可以具有多層結(jié)構(gòu),一個系統(tǒng)的整體功能往往大于單個子系統(tǒng)的功能之和。</p><p> 1.2信息系統(tǒng)簡介 </p><p> 信息系統(tǒng)是一個人造系統(tǒng),它由人、硬件、軟件和數(shù)據(jù)資源組成,目的是及
8、時、正確地收集、加工、存儲、傳遞和提供信息,實(shí)現(xiàn)組織中各項(xiàng)活動的管理、調(diào)節(jié)和控制。信息系統(tǒng)包括信息處理系統(tǒng)和信息傳輸系統(tǒng)兩個方面。信息處理系統(tǒng)對數(shù)據(jù)進(jìn)行處理,使它獲得新的結(jié)構(gòu)與形態(tài)或者產(chǎn)生新的數(shù)據(jù)。比如計(jì)算機(jī)系統(tǒng)就是一種信息處理系統(tǒng),通過它對輸人數(shù)據(jù)的處理可獲得不同形態(tài)的新的數(shù)據(jù)。信息傳輸系統(tǒng)不改變信息本身的內(nèi)容,作用是把信息從一處傳到另一處。在信息技術(shù)發(fā)展的早期,信息系統(tǒng)有數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)、數(shù)據(jù)分析系統(tǒng)、信息檢索系統(tǒng)等。其中最典型的信息系
9、統(tǒng)是電子數(shù)據(jù)處理系統(tǒng)(EDPS),隨著信息技術(shù)的發(fā)展,信息技術(shù)發(fā)展出種新類型,如管理信息系統(tǒng)(MIS)、計(jì)算機(jī)集成制造系統(tǒng)(CIMS)、決策支持系統(tǒng)(DSS)、知識管理系統(tǒng)(KMS)等[1]。</p><p> 信息系統(tǒng)的建立,必須依據(jù)系統(tǒng)的觀點(diǎn),運(yùn)用數(shù)學(xué)的方法,使用現(xiàn)代化的信息技術(shù)設(shè)備。系統(tǒng)的觀點(diǎn)用來指導(dǎo)建立信息系統(tǒng)的概念框架和物理結(jié)構(gòu),數(shù)學(xué)的方法用來建立信息處理的規(guī)則,現(xiàn)代化的信息技術(shù)設(shè)備是處理信息的工具,
10、這三個要素在建立信息系統(tǒng)過程中缺一不可。一個高效率的信息系統(tǒng)不一定是信息設(shè)備最先進(jìn)的系統(tǒng),但它一定是物理結(jié)構(gòu)合理,處理規(guī)則完善,設(shè)備功能發(fā)揮最充分的系統(tǒng)。信息系統(tǒng)必須具備信息處理和信息傳輸?shù)墓δ堋P畔⑻幚韺κ占臄?shù)據(jù)進(jìn)行處理,使它產(chǎn)生新的數(shù)據(jù)。因此,信息處理技術(shù)和通訊技術(shù)是信息系統(tǒng)的二大技術(shù)基礎(chǔ)。</p><p> 信息系統(tǒng)的類型有二種劃分方法:一種是根據(jù)管理的等級層次進(jìn)行劃分,即按照戰(zhàn)略級、管理控制級和執(zhí)行級
11、。在戰(zhàn)略級管理中,有決策支持系統(tǒng)、經(jīng)理支持系統(tǒng)等;在管理控制中,管理信息系統(tǒng);在執(zhí)行級層次,有業(yè)務(wù)處理系統(tǒng)。一種是依據(jù)企業(yè)內(nèi)部的組織結(jié)構(gòu)進(jìn)行劃分,有供應(yīng)管理信息系統(tǒng)、生產(chǎn)管理信息系統(tǒng)、財(cái)務(wù)管理信息系統(tǒng)、人事管理信息系統(tǒng)、銷售管理信息系統(tǒng)等。</p><p> 1.3管理信息系統(tǒng)簡介</p><p> 管理信息系統(tǒng)(MIS)是一個以人為主導(dǎo),利用計(jì)算機(jī)硬件、軟件、網(wǎng)絡(luò)通信設(shè)備以及其他辦公
12、設(shè)備,進(jìn)行信息的收集、傳輸、加工、儲存、更新和維護(hù),支持組織高層決策、中層控制、基層運(yùn)作的集成化的人機(jī)系統(tǒng)。它以計(jì)算機(jī)硬件和軟件,手工作業(yè)為基礎(chǔ),利用分析、計(jì)劃、控制和決策模型,以及數(shù)據(jù)庫的人機(jī)系統(tǒng)。它具有提供信息,支持企業(yè)或組織的運(yùn)行、管理和決策功能[5]。</p><p> 管理信息系統(tǒng)把人和計(jì)算機(jī)結(jié)合起來對組織進(jìn)行全面管理的系統(tǒng),它綜合運(yùn)用了計(jì)算機(jī)技術(shù)、通信技術(shù)、管理技術(shù)和決策技術(shù),與現(xiàn)代管理思想、方法和
13、手段結(jié)合起來,為組織的管理活動提供支持的工具。管理信息系統(tǒng)具有收集處理和傳輸信息的功能,這是它的基本功能,但如果把這些基本功能應(yīng)用于管理各種業(yè)務(wù)過程時,管理信息系統(tǒng)就賦予了具體的任務(wù),如用于財(cái)務(wù)管理、人事管理、生產(chǎn)管理等。早期的管理信息系統(tǒng)應(yīng)用是單一功能的系統(tǒng),隨著系統(tǒng)開發(fā)技術(shù)的進(jìn)步,將這些單一功能的系統(tǒng)集成,形成了多功能的管理信息系統(tǒng)。因?yàn)槠髽I(yè)的業(yè)務(wù)處理是一系列連續(xù)的、相互配合的過程,所以多功能的集成系統(tǒng)比單功能的管理系統(tǒng)能夠更好地發(fā)
14、揮管理的效率[4]。</p><p> 管理信息系統(tǒng)的發(fā)展與信息技術(shù)的進(jìn)步和管理方法的改進(jìn)密切相關(guān),按信息機(jī)應(yīng)用的變化可以把管理信息系統(tǒng)的發(fā)展分為大型機(jī)系統(tǒng)、微機(jī)系統(tǒng)、分布式系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)四個階段。</p><p><b> 1.4研究背景</b></p><p> 隨著信息技術(shù)在管理上越來越深如而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已
15、經(jīng)逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學(xué)科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機(jī)地組織起來,就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。學(xué)生學(xué)籍管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)
16、據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對學(xué)生學(xué)籍進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生學(xué)籍管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。</p><p><b> 1.5開發(fā)意義</b></p><p>
17、 本學(xué)籍管理系統(tǒng)是一個典型的信息管理系統(tǒng),主要完成對學(xué)生基本信息、班級信息、課程信息、成績信息等多種數(shù)據(jù)信息的管理,包括數(shù)據(jù)庫中表的錄入、修改、刪除等。系統(tǒng)還可以完成對各類信息的查詢、錄入、修改、刪除等功能,其中學(xué)籍管理用戶包括系統(tǒng)管理員、普通用戶,普通用戶包括教師和學(xué)生。</p><p> 由于本系統(tǒng)管理的對象單一,都是學(xué)生,且每個數(shù)據(jù)內(nèi)容具有較強(qiáng)的關(guān)聯(lián)性,涉及的計(jì)算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫
18、管理。</p><p> 第二章開發(fā)環(huán)境及開發(fā)技術(shù)</p><p><b> 2.1系統(tǒng)開發(fā)環(huán)境</b></p><p> 2.1.1開發(fā)環(huán)境的選擇</p><p> 開發(fā)與運(yùn)行的環(huán)境的選擇會影響到數(shù)據(jù)庫設(shè)計(jì),本系統(tǒng)開發(fā)與運(yùn)行環(huán)境如下:</p><p> 開發(fā)環(huán)境:Windows 7/X
19、P</p><p> 開發(fā)工具:Myeclipse8.5</p><p> 數(shù)據(jù)庫管理系統(tǒng):Microsoft Access Driver</p><p> 本系統(tǒng)在Windows 7/XP Access 開發(fā)環(huán)境下,利用Myeclipse8.5開發(fā)工具,并使用Microsoft Access Driver作為數(shù)據(jù)庫管理系統(tǒng),來實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)的各個模塊和
20、它們的功能,形成一個令多數(shù)學(xué)校滿意的學(xué)籍管理系統(tǒng)。</p><p><b> 2.2開發(fā)技術(shù)</b></p><p> 2.2.1 MyEclipse簡介</p><p> MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴(kuò)展,利用它我們
21、可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts,JSF,CSS, Javascript,SQL, Hibernate。 </p><p> 在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類: </p><p> 1. Java
22、EE模型 </p><p> 2. WEB開發(fā)工具 </p><p> 3. EJB開發(fā)工具 </p><p> 4. 應(yīng)用程序服務(wù)器的連接器 </p><p> 5. JavaEE項(xiàng)目部署服務(wù) </p><p> 6. 數(shù)據(jù)庫服務(wù) </p><p> 7.
23、MyEclipse整合幫助 </p><p> 對于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,MyEclipse6.0以前版
24、本需先安裝Eclipse。MyEclipse6.0以后版本安裝時不需安裝Eclipse。</p><p> 2.2.2 Microsoft Access Driver簡介</p><p> Microsoft Office Access是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。它結(jié)合了 Microsoft Jet Database Engine 和 圖形用戶界面兩項(xiàng)特點(diǎn),是 Mic
25、rosoft Office 的系統(tǒng)程式之一。</p><p> 它的使用方便程度和強(qiáng)大的設(shè)計(jì)工具為初級程序員提供許多功能。不過,這種便于使用可能使人誤解。這類開發(fā)者都是沒有在應(yīng)用或者數(shù)據(jù)設(shè)計(jì)方面訓(xùn)練的辦公室從業(yè)人員,因此許多人以為這樣的開發(fā)者能夠創(chuàng)造可用的系統(tǒng),但也有很多人認(rèn)為工具本身的局限性產(chǎn)生了這樣的誤導(dǎo)。</p><p> 一些專業(yè)的應(yīng)用程序開發(fā)人員使用 Access 用作快速應(yīng)
26、用開發(fā),特別是給街道上的推銷員制作一個初型或獨(dú)立應(yīng)用程序的工具??墒侨绻峭高^網(wǎng)絡(luò)存取數(shù)據(jù)的話,Access 的可擴(kuò)放性并不高.因此當(dāng)程序被較多使用者使用時,他們的選擇多會是傾向于一些客戶端-服務(wù)器為本的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、AlphaFive、MaxDB,或者Filemaker。無論如何,不少
27、 Access 的功能(表單,報(bào)告,序列和VB代碼)可以用作其他數(shù)據(jù)庫的后期應(yīng)用,包括 JET(檔案為主的數(shù)據(jù)庫引擎,Access 缺省使用)、Microsoft SQL Server、Oracle和任何其他跟ODBC兼容的產(chǎn)品。這種方法允許開發(fā)者把一個成熟的應(yīng)用的數(shù)據(jù)移動到一臺更大功率的服務(wù)器而沒有已經(jīng)在適當(dāng)?shù)奈恢脿奚l(fā)展。</p><p><b> 第三章系統(tǒng)需求分析</b>
28、</p><p><b> 3.1 設(shè)計(jì)思想</b></p><p> 由于本系統(tǒng)是一個數(shù)據(jù)庫的信息管理系統(tǒng),所以第一步就是需要利用Microsoft Access Driver建立所需要的數(shù)據(jù)庫,第二步就使用MyEclipse8.5完成該系統(tǒng)程序的開發(fā)。</p><p> 采用現(xiàn)有的資源,先進(jìn)的管理系統(tǒng)開發(fā)方案,充分利用學(xué)?,F(xiàn)有的資源,
29、 減少開發(fā)中的時間和財(cái)力、物力、提高系統(tǒng)開發(fā)的水平和應(yīng)用效果。</p><p> 系統(tǒng)滿足學(xué)校的需求,例如學(xué)生信息的錄入、查詢、更新等。管理員對用戶的查詢、增加、刪除等。</p><p> 系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護(hù)功能,及時根據(jù)用戶需求進(jìn)行數(shù)據(jù)添加、刪除、修改等操作。</p><p><b> 3.2 可行性分析</b></p>
30、<p> 可行性分析是系統(tǒng)分析階段的第二項(xiàng)活動,它的主要目是進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī)模與功能,對系統(tǒng)開發(fā)背景、必要性和意義進(jìn)行了調(diào)查分析并根據(jù)需要和可能提出開發(fā)系統(tǒng)的初步方案與計(jì)劃??尚行苑治鍪菍ο到y(tǒng)進(jìn)行全面、概要的分析。通過調(diào)查分析,本系統(tǒng)設(shè)計(jì)主要有以下三個可行性:</p><p> 3.2.1 操作可行性</p><p> 本系統(tǒng)操作簡單,易于理解,只需通過簡單指導(dǎo)
31、,上手較快,系統(tǒng)管理員、教師以及學(xué)生均能進(jìn)行操作,運(yùn)行環(huán)境要求低。</p><p> 3.2.2 技術(shù)可行性</p><p> 本系統(tǒng)在Windows 7 開發(fā)環(huán)境下,利用MyEclipse8.5開發(fā)工具,并使用Microsoft Access Driver作為數(shù)據(jù)庫管理系統(tǒng),來實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)的各種功能。Microsoft Access Driver屬于主從時式的數(shù)據(jù)庫服務(wù)器這也
32、是主從式數(shù)據(jù)庫服務(wù)器的特點(diǎn),服務(wù)器本身重在數(shù)據(jù)的管理,為客戶端應(yīng)用程序提供一致的接口。</p><p> 3.2.3 經(jīng)濟(jì)可行性</p><p> 采用新的學(xué)生學(xué)籍管理系統(tǒng)可取代原系統(tǒng)的手工管理工作,減少人工開支,節(jié)省資金,并且可大大提高數(shù)據(jù)信息的取得,縮短數(shù)據(jù)信息處理時間,提高學(xué)生信息的利用率,使教學(xué)質(zhì)量更進(jìn)了一個臺階。</p><p><b>
33、3.3 功能需求</b></p><p> 按照系統(tǒng)開發(fā)業(yè)務(wù)分析要求和原則,在與系統(tǒng)管理人員的充分溝通,整理出學(xué)生學(xué)籍管理系統(tǒng)所需求的基本功能和用戶界面的一些需求,這些需求將作為系統(tǒng)分析和邏輯設(shè)計(jì)的依據(jù)。</p><p> 3.3.1 基本功能需求</p><p> 通過系統(tǒng)的分析,可得出該系統(tǒng)的基本功能需求如下:</p><p
34、> 1.系統(tǒng)通過各個界面完成學(xué)生學(xué)籍信息的錄入、修改、查詢、刪除。</p><p> 2. 確定系統(tǒng)界面設(shè)計(jì),主要包括以下界面:</p><p> ?。?)錄入學(xué)生基本信息的功能界面。</p><p> (2)修改學(xué)生基本信息的功能界面。</p><p> ?。?)查詢學(xué)生基本信息的功能界面。</p><p&g
35、t; ?。?)刪除學(xué)生基本信息的功能界面。</p><p> 3.3.2 用戶界面需求</p><p> 學(xué)籍管理系統(tǒng)提供給用戶的界面,此界面要求操作清晰,頁面美觀,并盡可能的為用戶的查詢操作提供方便。系統(tǒng)管理員能通過此界面完成各種基本信息的錄入、查詢、修改和刪除的功能。</p><p> 3.4系統(tǒng)功能模塊圖</p><p> 圖1
36、-1-1 登陸界面</p><p> 圖1-1-2登陸界面</p><p><b> 圖1-2 主頁界面</b></p><p> 實(shí)現(xiàn)語句:private class MyListener1 implements ActionListener{</p><p> public void actionPerfor
37、med(ActionEvent e){</p><p> int a=Integer.parseInt(t1.getText());</p><p> int b=Integer.valueOf(t2.getText());</p><p> StudentManager XD=new StudentManager();//連接下一界面</p>
38、<p> XD.setVisible(true);</p><p><b> }</b></p><p><b> }</b></p><p> 圖1-3-1錄入界面</p><p> 圖1-3-2錄入確定界面</p><p> 實(shí)現(xiàn)語句:try{ C
39、lass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}</p><p> catch(ClassNotFoundException ex)</p><p> { System.out.println(ex.getMessage());</p><p> System.exit(-1);
40、 } </p><p> if(number.length()>0)</p><p><b> { try{</b></p><p> Connection con=DriverManager.getConnection("jdbc:odbc:student");</p>&l
41、t;p> Statement stmt=con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rs=stmt.executeQuery("select * from student where ID='"+number+"'");<
42、/p><p> // String sql = "insert into stu values('"+學(xué)號.getText()+"','"+姓名.getText()+"')";</p><p> 圖1-4-1修改界面</p><p> 圖1-
43、4-2 修改確定界面</p><p><b> 實(shí)現(xiàn)語句:</b></p><p><b> try{</b></p><p> con=DriverManager.getConnection("jdbc:odbc:student");</p><p> stmt =co
44、n.createStatement(</p><p> ResultSet.TYPE_SCROLL_SENSITIVE,</p><p> ResultSet.CONCUR_UPDATABLE);</p><p> ResultSet rs=stmt.executeQuery("select * from student where ID='
45、"+number+"'");</p><p> 圖1-4-3 修改不存在界面</p><p> 圖1-5-1查詢界面</p><p> 圖1-5-2 查詢不存在界面</p><p><b> 實(shí)現(xiàn)語句:</b></p><p><b> t
46、ry{</b></p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p><b> }</b></p><p> catch(ClassNotFoundException ex)</p><p><b>
47、 {</b></p><p> System.out.println(ex.getMessage());</p><p> System.exit(-1); </p><p><b> }</b></p><p><b> try{</b></p>
48、<p> con=DriverManager.getConnection("jdbc:odbc:student");</p><p> stmt=con.createStatement(</p><p> ResultSet.TYPE_SCROLL_SENSITIVE,</p><p> ResultSet.CONCUR_U
49、PDATABLE);</p><p> ResultSet rs=stmt.executeQuery("select * from student where ID='"+number+"'");</p><p> 圖1-6-1 刪除界面</p><p> 圖1-6-2 刪除確定界面</p>
50、<p><b> 實(shí)現(xiàn)語句:</b></p><p><b> try{</b></p><p> con=DriverManager.getConnection("jdbc:odbc:student");</p><p> stmt=con.createStatement(<
51、/p><p> ResultSet.TYPE_SCROLL_SENSITIVE,</p><p> ResultSet.CONCUR_UPDATABLE);</p><p> rs=stmt.executeQuery("select * from student where ID='"+number+"'")
52、; </p><p> 圖1-6-3 刪除不存在界面</p><p> 圖2-1 錄入后的數(shù)據(jù)表</p><p> 圖2-2 修改刪除后的數(shù)據(jù)表</p><p><b> 第四章 總 結(jié)</b></p><p> 通過此次課程設(shè)計(jì),我選擇做學(xué)籍管理系統(tǒng),起初的想法草圖設(shè)
53、計(jì)的很充足,但是經(jīng)過將近兩周的課程設(shè)計(jì),發(fā)現(xiàn)還有好多自己沒有掌握的知識,系統(tǒng)沒有能夠像起初設(shè)想的一樣。這個程序?qū)崿F(xiàn)了這次課程設(shè)計(jì)的基本要求,實(shí)現(xiàn)了學(xué)生信息的錄入、查詢、修改和刪除。但是沒有實(shí)現(xiàn)更多的類似學(xué)校系統(tǒng)的子系統(tǒng),例如成績的管理,教學(xué)的管理以及家長的參與管理等等。</p><p> 在這次程序設(shè)計(jì)中,遇到的最大的困難就是界面與數(shù)據(jù)庫的鏈接,雖然語句是很固定,但是在操作上沒能熟練掌握,導(dǎo)致驅(qū)動連接不上,學(xué)生
54、信息不能錄入數(shù)據(jù)表中,經(jīng)過與同學(xué)的討論,還有研究生的幫忙解答,程序能夠正常運(yùn)行。</p><p><b> 參考文獻(xiàn)</b></p><p> 《JAVA完全自學(xué)手冊》 馬軍、王灝編著,機(jī)械工業(yè)出版社,2006.7</p><p> 《JAVA語言程序設(shè)計(jì)教程》鄧琨、呂志峰編著,清華大學(xué)出版社,2010.9</p><
55、;p> 《JAVA程序設(shè)計(jì)案例教程》魏衍君、路曉亞編著,西北工業(yè)大學(xué)出版,2010.8</p><p> 《JAVA課程設(shè)計(jì)案例精編》張廣彬、張永寶編著,清華大學(xué)出版社,2007.1</p><p><b> 附錄源代碼</b></p><p><b> 登陸:</b></p><p>
56、; package xueji;</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import java.io.File;</p><p> import javax.swing.*;</p><p> impor
57、t javax.swing.event.*;</p><p> public class denglu {</p><p> public static void main(String[]args){</p><p> MyFrame f=new MyFrame ();</p><p><b> f.show();<
58、/b></p><p> f.addWindowListener(new WindowAdapter(){</p><p> public void windowClosing(WindowEvent e){</p><p> System.exit(0);</p><p><b> }</b></p
59、><p><b> });</b></p><p><b> }</b></p><p><b> }</b></p><p> class MyFrame extends Frame{</p><p> public MyFrame(){<
60、/p><p> setTitle("登陸界面");</p><p> setSize(200,150);</p><p> setLocation(50,50);</p><p> setResizable(false);</p><p> MyPanel p=new MyPanel();&l
61、t;/p><p><b> add(p);</b></p><p><b> }</b></p><p><b> }</b></p><p> class MyPanel extends Panel{</p><p> public MyPane
62、l(){</p><p> Label j1=new Label("用戶名");</p><p> Label j2=new Label("密碼");</p><p> Button b1=new Button(" 登錄 ");</p><p>
63、 Button b2=new Button(" 退出 ");</p><p> t1=new TextField(15);</p><p> t2=new TextField(15);</p><p><b> add(j1);</b></p><p><b&
64、gt; add(t1);</b></p><p><b> add(j2);</b></p><p><b> add(t2);</b></p><p><b> add(b1);</b></p><p><b> add(b2);</b&
65、gt;</p><p> b1.addActionListener(new MyListener1());</p><p> b2.addActionListener(new MyListener2());</p><p><b> }</b></p><p> private class MyListener1
66、 implements ActionListener{</p><p> public void actionPerformed(ActionEvent e){</p><p> int a=Integer.parseInt(t1.getText());</p><p> int b=Integer.valueOf(t2.getText());</p&g
67、t;<p> StudentManager XD=new StudentManager();//連接下一界面</p><p> XD.setVisible(true);</p><p><b> }</b></p><p><b> }</b></p><p> TextFi
68、eld t1=new TextField();</p><p> TextField t2=new TextField();</p><p> private class MyListener2 implements ActionListener{</p><p> public void actionPerformed(ActionEvent e){<
69、/p><p> System.exit(0);</p><p><b> }</b></p><p><b> }}</b></p><p><b> 主頁:</b></p><p> package xueji;</p><p
70、> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> import java.io.*;</p><p> public class StudentManager extends JFrame
71、 implements ActionListener</p><p><b> { </b></p><p> StudentSituation 基本信息錄入=null; </p><p> ModifySituation 基本信息修改=null; </p><p> Inq
72、uest 基本信息查詢=null; </p><p> Delete 基本信息刪除=null; </p><p> JMenuBar bar;//菜單條</p><p> JMenu fileMenu;//菜單</p><p> JMenuItem 錄入,修改,查詢,刪除; //菜單項(xiàng) &
73、lt;/p><p> JLabel label1=null;//文本 </p><p> JLabel label2=null;</p><p> //構(gòu)造函數(shù)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p> public StudentManager()</p><p
74、><b> {</b></p><p> super("河北工程大學(xué)學(xué)籍管理系統(tǒng)");//標(biāo)題</p><p> 錄入=new JMenuItem("錄入學(xué)生基本信息(A)");//下拉菜單</p><p> 錄入.setMnemonic(KeyEvent.VK_A);//設(shè)置快捷鍵<
75、/p><p> 錄入.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));//設(shè)置加速鍵</p><p> 修改=new JMenuItem("修改學(xué)生基本信息(M)",KeyEvent.VK_M);</p><p> 查詢=new JMen
76、uItem("查詢學(xué)生基本信息(S)",KeyEvent.VK_S);</p><p> 刪除=new JMenuItem("刪除學(xué)生基本信息(D)",KeyEvent.VK_D);</p><p> bar=new JMenuBar();//菜單條</p><p> fileMenu=new JMenu("菜
77、單選項(xiàng)");</p><p> fileMenu.add(錄入);</p><p> fileMenu.add(修改);</p><p> fileMenu.add(查詢);</p><p> fileMenu.add(刪除);</p><p> bar.add(fileMenu);</p&g
78、t;<p> setJMenuBar(bar);</p><p> label1=new JLabel("歡迎使用學(xué)籍信息管理系統(tǒng)",JLabel.CENTER);//文本</p><p> label1.setFont(new Font("TimesRoman",Font.BOLD,24));//字體設(shè)置</p>
79、<p> label1.setForeground(Color.red);//顏色設(shè)置</p><p> add(label1,BorderLayout.CENTER);//布局設(shè)置</p><p> 錄入.addActionListener(this);//事件監(jiān)聽</p><p> 修改.addActionListener(this);<
80、/p><p> 查詢.addActionListener(this);</p><p> 刪除.addActionListener(this); </p><p> 基本信息錄入=new StudentSituation();//新類方法</p><p> 基本信息修改=new ModifySituation(); <
81、/p><p> 基本信息查詢=new Inquest();</p><p> 基本信息刪除=new Delete();</p><p> //窗口適配器~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p> addWindowListener(new WindowAdapter()</p><
82、p> { public void windowClosing(WindowEvent e)</p><p><b> {</b></p><p> System.exit(0);//關(guān)閉</p><p><b> }</b></p><p><b> });</b&g
83、t;</p><p> setVisible(true);//可視</p><p> setBounds(480,120,420,380);//位置,大小</p><p> validate();</p><p><b> }</b></p><p> //實(shí)現(xiàn)方法~~~~~~~~~~~
84、~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p> public void actionPerformed(ActionEvent e)</p><p><b> {</b></p><p> if(e.getSource()==錄入)</p><p><b> { &l
85、t;/b></p><p> 基本信息錄入.setVisible(true);</p><p> 基本信息修改.setVisible(false);</p><p> 基本信息查詢.setVisible(false);</p><p> 基本信息刪除.setVisible(false);</p><p>
86、<b> }</b></p><p> else if(e.getSource()==修改)</p><p><b> { </b></p><p> 基本信息修改.setVisible(true);</p><p> 基本信息查詢.setVisible(false);</p
87、><p> 基本信息刪除.setVisible(false);</p><p> 基本信息錄入.setVisible(false);</p><p><b> }</b></p><p> else if(e.getSource()==查詢)</p><p><b> {
88、 </b></p><p> 基本信息查詢.setVisible(true);</p><p> 基本信息查詢.setnull(); //調(diào)用該方法可以設(shè)置為空</p><p> 基本信息刪除.setVisible(false);</p><p> 基本信息修改.setVisible(false);</p>
89、;<p> 基本信息錄入.setVisible(false);</p><p><b> }</b></p><p> else if(e.getSource()==刪除)</p><p><b> { </b></p><p> 基本信息刪除.setVisibl
90、e(true);</p><p> 基本信息查詢.setVisible(false);</p><p> 基本信息修改.setVisible(false);</p><p> 基本信息錄入.setVisible(false);</p><p><b> }</b></p><p><
91、b> }</b></p><p> //主類~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p><p> public static void main(String args[])</p><p><b> {</b></p><p> new StudentMan
92、ager();</p><p><b> }</b></p><p><b> }</b></p><p><b> 刪除:</b></p><p> package xueji;</p><p> import java.awt.*;<
93、/p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> import java.io.*;</p><p> import java.util.*;</p><p> import java.sql.*;</p>
94、<p> import java.lang.Exception;</p><p> public class Delete extends JFrame implements ActionListener</p><p><b> { </b></p><p> //private static final long se
95、rialVersionUID = 1L;</p><p> JTextField 學(xué)號,姓名,專業(yè),年級,出生; </p><p> JRadioButton 男,女;</p><p> JButton 刪除;</p><p> ButtonGroup group=null;</p>&l
96、t;p> Connection con;</p><p> Statement stmt;</p><p> ResultSet rs; </p><p> public Delete()</p><p><b> {</b></p><
97、p> super("刪除學(xué)生信息"); </p><p> 學(xué)號=new JTextField(10);</p><p> 刪除=new JButton("刪除");</p><p> 學(xué)號.addActionListener(this);</p><p> 刪除.addActionL
98、istener(this);</p><p> 姓名=new JTextField(10);</p><p> 姓名.setEditable(false);</p><p> 專業(yè)=new JTextField(10);</p><p> 專業(yè).setEditable(false);</p><p> 年級=
99、new JTextField(10);</p><p> 年級.setEditable(false);</p><p> 出生=new JTextField(10);</p><p> 出生.setEditable(false);</p><p> 男=new JRadioButton("男",false);<
100、;/p><p> 女=new JRadioButton("女",false);</p><p> group=new ButtonGroup();</p><p> group.add(男);</p><p> group.add(女);</p><p> Box box1=Box.creat
101、eHorizontalBox(); </p><p> box1.add(new JLabel("輸入要刪除的學(xué)號:",JLabel.CENTER));</p><p> box1.add(學(xué)號);</p><p> box1.add(刪除);</p><p> Box box2=Box.
102、createHorizontalBox(); </p><p> box2.add(new JLabel("姓名:",JLabel.CENTER));</p><p> box2.add(姓名);</p><p> Box box3=Box.createHorizontalBox(); &
103、lt;/p><p> box3.add(new JLabel("性別:",JLabel.CENTER));</p><p> box3.add(男);</p><p> box3.add(女);</p><p> Box box4=Box.createHorizontalBox(); <
104、/p><p> box4.add(new JLabel("專業(yè):",JLabel.CENTER));</p><p> box4.add(專業(yè));</p><p> Box box5=Box.createHorizontalBox(); </p><p> box5.add(new JLabe
105、l("年級:",JLabel.CENTER));</p><p> box5.add(年級);</p><p> Box box6=Box.createHorizontalBox(); </p><p> box6.add(new JLabel("出生:",JLabel.CENTER));<
106、;/p><p> box6.add(出生);</p><p> Box boxH=Box.createVerticalBox(); </p><p> boxH.add(box1);</p><p> boxH.add(box2);</p><p> boxH.add(box3);<
107、;/p><p> boxH.add(box4);</p><p> boxH.add(box5);</p><p> boxH.add(box6);</p><p> boxH.add(Box.createVerticalGlue()); </p><p> JPanel pCenter=new
108、 JPanel();</p><p> pCenter.add(boxH);</p><p> setLayout(new BorderLayout());</p><p> add(pCenter,BorderLayout.CENTER);</p><p> validate();</p><p> set
109、Bounds(100,100,400,400);</p><p> setVisible(false);</p><p><b> }</b></p><p> public void actionPerformed(ActionEvent e) </p><p><b> {</b><
110、;/p><p> if(e.getSource()==刪除||e.getSource()==學(xué)號)</p><p><b> {</b></p><p> String number="";</p><p> number=學(xué)號.getText();</p><p> i
111、f(number.length()>0)</p><p><b> {</b></p><p><b> try{</b></p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p><b>
112、; }</b></p><p> catch(ClassNotFoundException ex)</p><p><b> {</b></p><p> System.out.println(ex.getMessage());</p><p> System.exit(-1);</p>
113、<p><b> }</b></p><p><b> try{</b></p><p> con=DriverManager.getConnection("jdbc:odbc:student");</p><p> stmt=con.createStatement(</p&
114、gt;<p> ResultSet.TYPE_SCROLL_SENSITIVE,</p><p> ResultSet.CONCUR_UPDATABLE);</p><p> rs=stmt.executeQuery("select * from student where ID='"+number+"'");
115、 </p><p> //將游標(biāo)定位在需要刪除的一行上 </p><p> if(rs.absolute(1)) </p><p> { </p><p> 姓名.setText(rs.getString("name"));&
116、lt;/p><p> 專業(yè).setText(rs.getString("major"));</p><p> 年級.setText(rs.getString("grade"));</p><p> 出生.setText(rs.getString("borth")); </p><p&g
117、t; if(rs.getString("sex").equals("男"))</p><p><b> {</b></p><p> 男.setSelected(true);</p><p><b> }</b></p><p><b>
118、else</b></p><p><b> {</b></p><p> 女.setSelected(true);</p><p><b> }</b></p><p> String m="確定要刪除該學(xué)號及全部信息嗎?";</p><p
119、> int ok=JOptionPane.showConfirmDialog(this,m,"確認(rèn)",JOptionPane.YES_NO_OPTION,</p><p> JOptionPane.QUESTION_MESSAGE);</p><p> if(ok==JOptionPane.YES_OPTION)</p><p>
120、{ </p><p> rs.deleteRow(); // 將該行從數(shù)據(jù)庫和ResultSet中刪除 </p><p> 學(xué)號.setText(null);</p><p> 姓名.setText(null);
121、 </p><p> 專業(yè).setText(null);</p><p> 年級.setText(null);</p><p> 出生.setText(null);</p><p><b> }</b></p><p> else if(ok==JOptionPane.NO_OPTI
122、ON)</p><p> { </p><p> 學(xué)號.setText(null);</p><p> 姓名.setText(null);</p><p> 專業(yè).setText(null);</p><p> 年級.setText(null);</p><p&
123、gt; 出生.setText(null);</p><p> } </p><p><b> } </b></p><p><b> else</b></p><p><b> { </b></p><p> St
124、ring warning="該學(xué)號不存在!";</p><p> JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);</p><p> 學(xué)號.setText(null);</p><p><b> }<
125、/b></p><p> rs.close();</p><p> stmt.close();</p><p> con.close(); </p><p><b> }</b></p><p> catch(Exception e1)</p><p>&
126、lt;b> { </b></p><p> e1.printStackTrace();</p><p> String warning="該學(xué)號不存在!";</p><p> JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WAR
127、NING_MESSAGE);</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> { </b></p><p> String
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)--學(xué)籍管理系統(tǒng)
- java課程設(shè)計(jì)學(xué)籍管理系統(tǒng)
- java課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)
- java課程設(shè)計(jì)---學(xué)生學(xué)籍管理系統(tǒng)
- 人事管理系統(tǒng)_java課程設(shè)計(jì)說明書
- 圖書銷售管理系統(tǒng)-java課程設(shè)計(jì)說明書
- 學(xué)籍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)籍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--學(xué)籍管理系統(tǒng)
- 學(xué)籍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)籍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- mis課程設(shè)計(jì)報(bào)告---學(xué)籍管理系統(tǒng)
- 學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)籍管理系統(tǒng) 課程設(shè)計(jì)
- java餐廳點(diǎn)餐系統(tǒng)課程設(shè)計(jì)說明書
- java課程設(shè)計(jì)---atm柜臺模擬說明書
- 課程設(shè)計(jì)---學(xué)籍管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告-- 學(xué)籍管理系統(tǒng)
- 學(xué)生學(xué)籍管理系統(tǒng)c課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論