學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

-.z.數(shù)據(jù)庫系統(tǒng)課程設(shè)計(jì)報(bào)告題目學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生**高凱學(xué)號20131346031學(xué)院計(jì)算機(jī)與軟件學(xué)院 專業(yè)網(wǎng)絡(luò)工程指導(dǎo)教師 馬瑞二O一五年月日目錄TOC\o"1-3"\u1引言 11.1開發(fā)背景和意義 12系統(tǒng)需求分析及相關(guān)技術(shù)介紹 12.1系統(tǒng)需求分析 12.2系統(tǒng)的可行性分析 23總體設(shè)計(jì) 23.1系統(tǒng)模塊設(shè)計(jì) 23.2數(shù)據(jù)庫設(shè)計(jì) 33.2.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 33.2.2數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì) 34系統(tǒng)實(shí)現(xiàn)44.1系統(tǒng)功能結(jié)構(gòu) 54.1.1功能模塊說明 54.1.2功能設(shè)計(jì)與介紹54.2具體功能介紹 54.2.1登陸界面64.2.2主功能界面75主要程序代碼及說明146課題總結(jié)............19參考文獻(xiàn)............19-.z.學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)1引言當(dāng)今社會中,計(jì)算機(jī)的使用已經(jīng)深入到日常工作和生活的方方面面。電腦早早從高雅的學(xué)術(shù)殿堂走入了尋常百姓家,各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。我們都知道,對于學(xué)生的學(xué)籍管理是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對學(xué)校的管理者來說至關(guān)重要。所以學(xué)生學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如效率低、**性差;另外,時(shí)間一長將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。而使用計(jì)算機(jī)對學(xué)生學(xué)籍信息進(jìn)行管理具有手工管理所無法比擬的優(yōu)點(diǎn),例如檢索迅速、查找方便、存儲量大、**性好等等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生管理的效率,也是學(xué)??茖W(xué)化、正規(guī)化管理的重要途徑。1.1開發(fā)背景和意義長期以來,學(xué)校對學(xué)生學(xué)籍的管理都還使用著傳統(tǒng)的模式。在此模式下,人工的記錄學(xué)生信息、考試信息等等。而隨著現(xiàn)代素質(zhì)教育與時(shí)代的不斷發(fā)展,這樣的模式已經(jīng)不能完全適應(yīng)現(xiàn)代的教育形勢。較之傳統(tǒng)的管理方式,我所設(shè)計(jì)的學(xué)生學(xué)籍管理系統(tǒng)的優(yōu)勢有:一方面可以實(shí)現(xiàn)數(shù)據(jù)共享,不但像使用單機(jī)系統(tǒng)一樣,進(jìn)行便捷地各種數(shù)據(jù)的添加、修改、刪除、查詢和統(tǒng)計(jì)等操作,并且具有相當(dāng)?shù)陌踩院涂煽啃裕涣硪环矫?,檢索迅速、查找方便、可靠性高、存儲量大、**性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生學(xué)籍管理的效率,也是學(xué)校的科學(xué)化、正規(guī)化管理與社會接軌的重要條件。2系統(tǒng)需求分析和可行性分析2.1系統(tǒng)需求分析學(xué)生學(xué)籍管理系統(tǒng)是基于學(xué)校的工作需求而設(shè)定,圍繞這一工作需求,根據(jù)高校人員結(jié)構(gòu)分析,在項(xiàng)目開發(fā)前期的需求分析工程中,學(xué)生學(xué)籍管理系統(tǒng)的應(yīng)用應(yīng)包括系統(tǒng)設(shè)置、學(xué)生信息管理、學(xué)生成績管理以及系統(tǒng)說明等部分。系統(tǒng)應(yīng)具有學(xué)生學(xué)籍信息輸入、刪除和修改的功能,學(xué)生成績信息亦是如此。系統(tǒng)的查詢功能應(yīng)較為完備,不同的用戶將登錄到不同的主界面,進(jìn)行不同的界面操作功能。能方便地進(jìn)行相應(yīng)數(shù)據(jù)的簡單查詢和任意字段組合的復(fù)合查詢,改變以前只有專門人員才能進(jìn)行數(shù)據(jù)查詢的情況。系統(tǒng)應(yīng)有學(xué)生數(shù)據(jù)安全**措施,由于身份不同將登錄到不同的主界面,高級的用戶可以操作低級用戶的信息,而低級用戶之間互不能操作,保持了信息的安全性。但在需要時(shí)可由系統(tǒng)維護(hù)人員通過添加用戶并授權(quán)來設(shè)置相應(yīng)權(quán)限。在系統(tǒng)程序設(shè)計(jì)中應(yīng)充分利用數(shù)據(jù)庫服務(wù)器的處理能力,降低網(wǎng)絡(luò)通信量,盡可能減少數(shù)據(jù)修改沖突,以最大程度地提高系統(tǒng)的執(zhí)行速度和可靠性,真正起到提高工作效率的作用。2.2系統(tǒng)可行性分析系統(tǒng)可行性主要包括3個(gè)方面:技術(shù)上的可行性、經(jīng)濟(jì)上的可行性和管理上的可行性。首先,系統(tǒng)在技術(shù)上無論是硬件性能要求,還是軟件性能要求,均可行。其次,從開發(fā)項(xiàng)目的成本與效益來看,系統(tǒng)開發(fā)的設(shè)備費(fèi)用、運(yùn)行費(fèi)用、培訓(xùn)費(fèi)用并不能過大,而通過系統(tǒng)的實(shí)施,一方面,提高了工作效率,將帶來更多的經(jīng)濟(jì)效益;另一方面,系統(tǒng)所產(chǎn)生的間接效益也不容忽視。工作效率的提高可以節(jié)省人力資源,減輕了有關(guān)業(yè)務(wù)人員手工處理的工作負(fù)擔(dān),及時(shí)提供決策信息,促進(jìn)業(yè)務(wù)的規(guī)*化、系統(tǒng)化、條理化和程序化。最后,科學(xué)的管理是建立管理信息系統(tǒng)的前提。管理人員支持本系統(tǒng)的研發(fā)運(yùn)行,相應(yīng)的管理制度改革的時(shí)機(jī)已經(jīng)成熟,規(guī)章制度已經(jīng)齊全,原始數(shù)據(jù)正確。隨著時(shí)代的發(fā)展,人員素質(zhì)已經(jīng)逐步提高,不論是對于電腦系統(tǒng)的基本操作還是對于系統(tǒng)的維護(hù)都有了一定的基礎(chǔ)。同時(shí)還可以配置專業(yè)的電腦維護(hù)人員來維護(hù)電腦,不必?fù)?dān)心電腦故障問題。3系統(tǒng)總體設(shè)計(jì)系統(tǒng)設(shè)計(jì)的任務(wù)是確定系統(tǒng)的數(shù)據(jù)模式、功能結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu),確定系統(tǒng)支持環(huán)境、實(shí)現(xiàn)方法和技術(shù)。系統(tǒng)設(shè)計(jì)的基本內(nèi)容是:選擇數(shù)據(jù)庫管理系統(tǒng),建立數(shù)據(jù)模式;選擇系統(tǒng)支持環(huán)境,包括支持系統(tǒng)運(yùn)行的硬件和軟件要求,確定系統(tǒng)實(shí)現(xiàn)功能和方法以及選擇系統(tǒng)的基本架構(gòu)和技術(shù)。3.1系統(tǒng)模塊設(shè)計(jì)這一設(shè)計(jì)階段是在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及他們之間的關(guān)系,為邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這個(gè)階段用到的工具是E—R圖(實(shí)體--聯(lián)系圖)。本系統(tǒng)E-R圖如下:班級民族**所在系班級民族**所在系性別學(xué)生性別學(xué)生****生日地址生日地址學(xué)生實(shí)體E-R圖3.2數(shù)據(jù)庫設(shè)計(jì)3.2.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的主要目標(biāo)是將概念結(jié)構(gòu)轉(zhuǎn)換為一個(gè)特定的DBMS可處理的數(shù)據(jù)模型和數(shù)據(jù)庫模式。該模型必須滿足數(shù)據(jù)庫的存取、一致性及運(yùn)行等各方面的用戶需求。該設(shè)計(jì)以概念結(jié)構(gòu)設(shè)計(jì)中的E-R圖為主要依據(jù),設(shè)計(jì)出相關(guān)的整體邏輯結(jié)構(gòu)。根據(jù)E-R圖可知:學(xué)生信息(**,性別,,班號,入校日期,出生日期,聯(lián)系,家庭住址,備注);數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)從一個(gè)滿足用戶需求的已確定的邏輯模型出發(fā),在限定的軟、硬件環(huán)境下,利用DBMS提供的各種手段設(shè)計(jì)數(shù)據(jù)庫的內(nèi)模式,即設(shè)計(jì)數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法。數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)是對于給定的邏輯數(shù)據(jù)模型,選擇一個(gè)適合的物理結(jié)構(gòu),主要涉及存取方法與存儲結(jié)構(gòu),它依賴于計(jì)算機(jī)系統(tǒng)。關(guān)系模式關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式,現(xiàn)在流行的數(shù)據(jù)庫系統(tǒng)大都是關(guān)系數(shù)據(jù)庫系統(tǒng)。通過對關(guān)系模式的優(yōu)化,得到一個(gè)基本表。學(xué)生信息表字段名字段類型長度主鍵或外鍵字段值約束對應(yīng)中文屬性名student_snovarchar50PrimaryKeyNotNull**student_snamevarchar50student_sse*varchar50性別borndatevarchar50出生日期Classnovarchar50班號Nationvarchar50民族Sdeptvarchar50所在系addressvarchar50地址簡單物理設(shè)計(jì)在SQLServer2014中,文件夾是按數(shù)據(jù)庫對象的類型建立的,文件夾名是該數(shù)據(jù)庫對象名。當(dāng)在企業(yè)管理器中選擇服務(wù)器和數(shù)據(jù)庫文件夾,并打開已定義好的student數(shù)據(jù)庫后,會發(fā)現(xiàn)它自動設(shè)置了關(guān)系圖、表、視圖、存儲過程、用戶、角色、規(guī)則、默認(rèn)等文件夾。要建立各個(gè)表,選擇student數(shù)據(jù)庫中的表,單擊鼠標(biāo)右鍵,在彈出的菜單中選擇"新建表”。程序系統(tǒng)設(shè)計(jì)圖如下:刪除查詢登錄退出失敗成功登錄驗(yàn)證刪除查詢登錄退出失敗成功登錄驗(yàn)證添加修改顯示添加修改顯示學(xué)生學(xué)籍管理系統(tǒng)學(xué)生學(xué)籍管理系統(tǒng)4系統(tǒng)實(shí)現(xiàn)4.1系統(tǒng)功能結(jié)構(gòu)4.1.1功能模塊說明1.管理員登陸界面。該界面可以輸入管理員號,登陸密碼。用戶通過驗(yàn)證通過后方可進(jìn)入管理系統(tǒng)。一定程度上保證了信息安全性,防止他人未經(jīng)允許篡改學(xué)生信息。2.查詢學(xué)生信息??梢赃x擇由用戶選擇"顯示系統(tǒng)中當(dāng)前的所有學(xué)生信息”。也可以選擇按照"*一個(gè)**查詢該**的學(xué)生信息”。查詢到的信息會在窗口中依次顯示出來。3.添加學(xué)生信息。可以按照圖形的界面的顯示依次輸入新學(xué)生的"**”,"”,"性別”,"班級”,"學(xué)院”,"籍貫”。完成新紀(jì)錄的添加。4.修改學(xué)生信息??梢赃x擇按照"**”或者"”找到該學(xué)生的學(xué)生信息并輸入要修改的屬性,并輸入新的數(shù)據(jù)。完成對學(xué)生記錄的修改。5.刪除學(xué)生記錄。可以根據(jù)輸入的"**”或者"”進(jìn)行刪除的操作。6.顯示學(xué)生信息??梢燥@示所有學(xué)生的信息、以供查看。4.1.2功能設(shè)計(jì)與介紹1.添加學(xué)生信息2.修改學(xué)生信息3.查詢學(xué)生信息4.刪除學(xué)生信息5.顯示學(xué)生信息6.退出管理系統(tǒng)4.2具體功能介紹首先,登錄流程圖如下所示:刪除查詢登錄退出失敗成功登錄驗(yàn)證學(xué)生學(xué)籍管理系統(tǒng)刪除查詢登錄退出失敗成功登錄驗(yàn)證學(xué)生學(xué)籍管理系統(tǒng)添加修改顯示添加修改顯示其次,函數(shù)之間的調(diào)用如下圖所示:Search()Login成功登錄驗(yàn)證Search()Login成功登錄驗(yàn)證Add()Add()失敗Modify()Delete()Display()Modify()Delete()Display()4.2.1登陸界面登錄界面輸入"”和"密碼”,點(diǎn)擊"Login”,通過驗(yàn)證則進(jìn)入主功能菜單。如果輸入錯(cuò)誤則會有相應(yīng)的警告!1.當(dāng)輸入一個(gè)錯(cuò)誤時(shí),會出現(xiàn)下圖:2.登陸成功時(shí)會出現(xiàn)下圖:4.2.2主功能界面顯示點(diǎn)擊,彈出如下窗口:2.添加點(diǎn)擊,彈出如下窗口:若輸入的**已經(jīng)存在,則會彈出如下窗口:成功添加時(shí)會彈出:3.修改點(diǎn)擊并輸入修改信息,若輸入的**不存在,則:輸入要修改的正確**,彈出如下窗口:4.查詢點(diǎn)擊,彈出如下窗口:當(dāng)輸入的**不存在時(shí),則:輸入正確的**時(shí),則會彈出窗口:5.刪除點(diǎn)擊,彈出如下窗口:當(dāng)輸入的**不存在時(shí),會彈出提示:當(dāng)刪除成功時(shí),彈出窗口:6.退出點(diǎn)擊,退出學(xué)籍管理系統(tǒng)。5主要程序代碼及說明菜單部分代碼:package*S*JGL;importjava.awt.Container;import;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;import java.awt.*;importjava*.swing.utton;importjava*.swing.JFrame;import;import;publicclassMenu{ JFramejf; uttonj1,j2,j3,j4,j5,j6;publicstaticvoid main(String args[]){ Menu m=new Menu(); m.go(); }publicvoid go(){jf=new JFrame("學(xué)生學(xué)籍管理系統(tǒng)");jf.setBounds(200,200,300,200); Container cp=jf.getContentPane(); cp.setLayout(newFlowLayout(FlowLayout.LEADING,20,20));j1=new utton("添加學(xué)生信息");j2=new utton("修改學(xué)生信息");j3=new utton("查詢學(xué)生信息");j4=new utton("刪除學(xué)生信息");j5=new utton("顯示學(xué)生信息");j6=new utton("退出管理系統(tǒng)"); cp.add(j1); cp.add(j2); cp.add(j3); cp.add(j4); cp.add(j5); cp.add(j6);j1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){newAdd(); } });j2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ Modifymodify=newModify(); } });j3.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ Searchsearch=newSearch(); } });j4.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ Deletedelete=newDelete(); } });j5.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ Displaydisplay=newDisplay(); } });j6.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEventae){ System.e*it(0); } });jf.setVisible(true); }}登錄部分代碼:package*S*JGL;importjava.awt.Dimension;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava*.swing.utton;importjava*.swing.JFrame;importjava*.swing.JLabel;importjava*.swing.JOptionPane;importjava*.swing.JPasswordField;importjava*.swing.JTe*tField;publicclassLogin{publicstaticvoidmain(String[]args){finalStringuserName="1";finalStringpasswrod="1";finalJFramejFrame=newJFrame("登陸界面"); Dimensiondimension=Toolkit.getDefaultToolkit().getScreenSize(); jFrame.setBounds(((int)dimension.getWidth()-200)/2,((int)dimension.getHeight()-300)/2,200,150); jFrame.setResizable(false); jFrame.setLayout(null); jFrame.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE); JLabellabel1=newJLabel(""); label1.setBounds(10,10,100,30); jFrame.add(label1); JLabellabel2=newJLabel("密碼"); label2.setBounds(10,40,100,30); jFrame.add(label2);finalJTe*tFieldte*t1=newJTe*tField(); te*t1.setBounds(50,15,130,20); jFrame.add(te*t1);finalJPasswordFieldte*t2=newJPasswordField(); te*t2.setBounds(50,45,130,20); jFrame.add(te*t2); uttonbutton=newutton("Login"); button.setBounds(10,75,170,40); button.addActionListener(newActionListener(){OverridepublicvoidactionPerformed(ActionEvente){if(userName.equals(te*t1.getTe*t())&&passwrod.equals(te*t2.getTe*t())){ jFrame.dispose(); JOptionPane.showMessageDialog(null,"登陸成功","提示",JOptionPane.INFORMATION_MESSAGE); jFrame.dispose(); (newMenu()).go(); }else{ JOptionPane.showMessageDialog(null,"錯(cuò)誤","提示",JOptionPane.ERROR_MESSAGE); te*t1.setTe*t(""); te*t2.setTe*t(""); } } }); jFrame.add(button); jFrame.setVisible(true); jFrame.setLocationRelativeTo(null); }}連接數(shù)據(jù)庫部分代碼:package.microsoft.sqlserver.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;import;import;importjava.sql.SQLE*ception;import*S*JGL.Delete;publicclassmyConnection{staticStringurl="jdbc:sqlserver://localhost:1433;DatabaseName=*S*JGL";staticStringuser="sa";staticStringpw="sqlserverSa";staticConnectionconn;publicstaticConnectiongetmyConnection(){try{ Class.forName(".microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(url,user,pw);returnconn; }catch(ClassNotFoundE*ceptio

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論