JAVA學(xué)生成績管理系統(tǒng)課程設(shè)計報告_第1頁
JAVA學(xué)生成績管理系統(tǒng)課程設(shè)計報告_第2頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、湖南工業(yè)大學(xué)課程設(shè)計湖南工業(yè)大學(xué)課 程 設(shè) 計資 料 袋 班 1 題成目績 年 月 年 月 日目 錄 清 單123456111湖南工業(yè)大學(xué)湖南工業(yè)大學(xué)課程設(shè)計課程設(shè)計任務(wù)書2016-2017 學(xué)年第 1學(xué)期計算機與通信課程名稱:學(xué)院(系、部)數(shù)據(jù)結(jié)構(gòu)軟件工程專業(yè) 1501班級設(shè)計題目:完成期限:自2016 年 12 月 18 日至 2016年 12 月 26 日共 1 周主要參考資料指導(dǎo)教師年年月月日日系(教研室)主任(設(shè)計說明書年 月 日湖南工業(yè)大學(xué)課程設(shè)計目 錄第 1章 第 2章 第 3章 系統(tǒng)結(jié)構(gòu) 3.3.1 3.3.2 數(shù)據(jù)庫設(shè)計 界面設(shè)計 第 4章 第 5章 5.2.2 測試結(jié)果 第

2、 6章 結(jié) 論湖南工業(yè)大學(xué)課程設(shè)計1 1.1 系統(tǒng)的具體任務(wù)執(zhí)行一系列諸如增加新學(xué)生成績信息、刪除學(xué)生成績信息、學(xué)生資料、查詢、修改等的處理操作,以方便管理人員的管理信息工作。本設(shè)計以客戶為中心,界面要美觀大方,操作盡量簡單明了,且要有良好的容錯性,在用戶出現(xiàn)誤操作時能及時給出警告并修改。在現(xiàn)有的技術(shù)和資金的情況下完全可以設(shè)計出這套功能完善的應(yīng)用軟件。1.2 系統(tǒng)開發(fā)目的建立學(xué)生成績管理系統(tǒng),采用計算機對學(xué)生成績進(jìn)行管理,進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平。實現(xiàn)學(xué)生成績信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化。1.3 系統(tǒng)環(huán)境需求編程語言:JAVAJava + Eclipse + SQL serv

3、er數(shù)據(jù)庫開發(fā)工具:Eclipse SDK(英文版)SQL 2000(中文版)運行環(huán)境:Windows xp或windows 2000湖南工業(yè)大學(xué)課程設(shè)計2 2.1 總體功能需求在系統(tǒng)中不存在任何對象時,實現(xiàn)該功能。具體功能1:檢測文件系統(tǒng)/數(shù)據(jù)庫中是否存在相關(guān)文件/表;并序列化或通過 JDBC 存儲到文件/表; JDBC 讀取到程序中。注意:學(xué)生紀(jì)錄不允許重復(fù),判斷的關(guān)鍵字為學(xué)號往已有的學(xué)生紀(jì)錄添加新的學(xué)生紀(jì)錄。具體功能為:1:要求用戶從鍵盤輸入一個或多個學(xué)生信息;2:輸入完成后序列化或 JDBC 存儲到文件/表。注意:學(xué)生紀(jì)錄不允許重復(fù),判斷的關(guān)鍵字為學(xué)號在已有的學(xué)生紀(jì)錄中刪除一個或多個學(xué)

4、生紀(jì)錄。具體功能為:在已有的學(xué)生記錄中修改某學(xué)生的相關(guān)信息。具體功能為:1:要求用戶輸入欲修改的學(xué)生的學(xué)號;2:判斷該學(xué)生是否存在于記錄中;3:若學(xué)生記錄存在,提供修改學(xué)生信息功能。查看單個學(xué)生記錄。具體功能為:1:輸入學(xué)生學(xué)號;湖南工業(yè)大學(xué)課程設(shè)計2.2 初始化流程描述:1:初始化系統(tǒng)執(zhí)行對對象進(jìn)行序列化2: 反序列化獲得對象業(yè)務(wù)規(guī)則說明:1:進(jìn)入系統(tǒng)第一步必須序列化 。2:獲得反序列化的對象,如果文件不存在興建一個,單必須是需要的對象類型。2.3 添加學(xué)生流程描述:1:要求用戶從鍵盤輸入一個或多個學(xué)生信息;2:輸入完成后序列化到文件/表。3:學(xué)生紀(jì)錄不允許重復(fù),判斷的關(guān)鍵字為學(xué)號規(guī)則說明:

5、1:從菜單選擇添加學(xué)生,獲得容器對象 。2:進(jìn)入添加頁面提示添加屬性。3:性別限制男女。4:科目成績可變性。課程可自動調(diào)節(jié)5:學(xué)號作為唯一標(biāo)示符:不能出現(xiàn)重復(fù)學(xué)號。必須是數(shù)字組成。6:添加完成后把容器對象序列化到文件2.4 刪除學(xué)生記錄業(yè)務(wù)流程描述:1:要求用戶輸入欲刪除的學(xué)生的學(xué)號;2:刪除學(xué)生記錄;3:更新到文件/表。業(yè)務(wù)規(guī)則說明:湖南工業(yè)大學(xué)課程設(shè)計1:傳遞一個容器對象。2:給定一個學(xué)生學(xué)號刪除一個學(xué)生信息2:遍歷容器是否有輸入學(xué)號的學(xué)生信息。如果存在,提示是否刪除。如果沒有重新輸入。3:如果刪除成功返回一個容器對象,序列化到文件。2.5 修改學(xué)生記錄業(yè)務(wù)流程描述:1:要求用戶輸入欲修改

6、的學(xué)生的學(xué)號;2:判斷該學(xué)生是否存在于記錄中;3:若學(xué)生記錄存在,提供修改學(xué)生信息功能。業(yè)務(wù)規(guī)則說明:1:傳遞一個容器對象給修改方法。2:給定一個欲修改學(xué)生的學(xué)號3:遍歷容器是否有輸入學(xué)號的學(xué)生信息。如果存在學(xué)生對象,繼續(xù)下一步。如果沒有重新輸入。4:通過判斷知道存在學(xué)生對象后遍歷獲得學(xué)生對象。5:提示要修改的類容提示舊的信息添加新的信息6:修改后獲得容器對象,序列化到文件2.6 查看學(xué)生記錄業(yè)務(wù)流程描述:1:輸入學(xué)生學(xué)號;2:若該學(xué)生存在,打印該學(xué)生相關(guān)信息。查看多個學(xué)生記錄。具體功能為:1:打印出所有學(xué)生的記錄;2:能分別按學(xué)號、姓名、性別、年齡和分?jǐn)?shù)進(jìn)行排序。業(yè)務(wù)規(guī)則說明:1:輸入選項獲

7、得查看方式,獲得容器對象。2:全部查看顯示獲得全部學(xué)生信息3:查看特定學(xué)生。輸入學(xué)生學(xué)號;湖南工業(yè)大學(xué)課程設(shè)計判斷學(xué)生是否存在如果存在顯示單個學(xué)生,如果不存在提示不存在,重新輸入。系統(tǒng)管理信息理者2.7 退出系統(tǒng)提示是否退出3 3.1 系統(tǒng)開發(fā)流程HIPO圖是美國IBM統(tǒng)的模塊層次結(jié)構(gòu)可得到系統(tǒng)HIPO圖,本軟件的HIPO圖如圖4.1所示。圖 4.1 系統(tǒng)HIPO圖模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?。是可以單獨被命名的而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等等都可作為模塊。模塊化就是將程序劃分成若干個模塊,每個模塊完成一個子功能,把這些模塊集合起來組成一個整體,可以完成指定

8、的功能滿足問題的要求。湖南工業(yè)大學(xué)課程設(shè)計模塊化設(shè)計不僅降低了系統(tǒng)的復(fù)雜性,使得系統(tǒng)容易修改,而且推動了系統(tǒng)各個部分的并行開發(fā),從而提高了軟件的生產(chǎn)效率。以下為成績管理的IPO表,如圖4.2所示:IPO 表理30/10/20092.01. 2. 3. 圖 4.2 成績管理IPO表3.2 系統(tǒng)模塊設(shè)計系統(tǒng)用例圖用例圖主要用來圖示化系統(tǒng)的主事件流程,它主要用來描述需求,即希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,是設(shè)計系統(tǒng)分析階段的起點,設(shè)計人員根據(jù)需求來創(chuàng)建和解釋用例圖,用來描述軟件應(yīng)具備哪些功能模塊以及這些模塊之間的調(diào)用關(guān)系。3.2 系統(tǒng)總體用例圖本系統(tǒng)包括三類角色:

9、教師、管理員和學(xué)生。教師可以進(jìn)行分報表,記錄分?jǐn)?shù)和更新分?jǐn)?shù)的操作,管理員可以查看分?jǐn)?shù)和進(jìn)行成績的總報表,學(xué)生可以查看個人成績。同時系統(tǒng)還可以加載分?jǐn)?shù)和保存分?jǐn)?shù)。其系統(tǒng)總體用例圖如圖2.1所示:湖南工業(yè)大學(xué)課程設(shè)計記錄分?jǐn)?shù)教師更新分?jǐn)?shù)登陸查看分?jǐn)?shù)總報表學(xué)生管理員圖 3.3 學(xué)生信息用例圖學(xué)生信息管理模塊包括三類角色,可分別根據(jù)自己的權(quán)限對個人信息進(jìn)行增加、刪除和修改等操作。其用例圖如圖3.2所示:登錄include 管理員個人信息管理include include 學(xué)生修改個人信息刪除學(xué)生信息教師圖 3.2 學(xué)生信息用例圖3.4 管理員信息用例圖湖南工業(yè)大學(xué)課程設(shè)計刪除管理員,還包括登錄, 管理

10、員信息用例圖如圖3.3所示: include圖 3.3 系統(tǒng)結(jié)構(gòu)3.3.1 系統(tǒng)模塊結(jié)構(gòu)圖模塊分析用戶管理模塊添加用戶,刪除用戶:public void managementUser(String sa) interFram = new JInternalFrame(sa, true, true, true, true);interFram.setBounds(0, 0, frm1.width, frm1.height);interFram.validate();interFram.setVisible(true);jkjkjk = new 管理用戶();interFram.add(jkjkj

11、k);add(interFram, BorderLayout.CENTER);湖南工業(yè)大學(xué)課程設(shè)計否是圖6.1 用戶管理流程圖增加學(xué)生信息模塊public void addC(String sa) interFram = new JInternalFrame(sa, true, true, true, true);interFram.setBounds(0, 0, frm1.width, frm1.height);interFram.validate();interFram.setVisible(true);jkjkjk1 = new 信息();interFram.add(jkjkjk1);a

12、dd(interFram, BorderLayout.CENTER);stu 學(xué)生 extends JPanel private static final long serialVersionUID = -2018754547089377035L;JTable table;JScrollPane scroll;String rili = new String1003;湖南工業(yè)大學(xué)課程設(shè)計String str1, str2, str3;Object name = 學(xué)號, 學(xué)科, 成績 ;Connection con;int lyl, lwc;Statement sql;ResultSet rs;

13、圖6.2 學(xué)生信息增加流程圖否是否是修改學(xué)生信息模塊String rili = new String1004;JButton f = JButton(修改信息);學(xué)生信息視圖表() 湖南工業(yè)大學(xué)課程設(shè)計try con = DriverManager.getConnection(jdbc:odbc:qyl, , );sql = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs = sql.executeQuery(select * from已修改視圖 WHERE SNO = +

14、 + qyl+ );int i = 0;while (rs.next() rilii0 = rs.getString(1);rilii1 = rs.getString(2);rilii2 = rs.getString(3);rilii3 = rs.getString(4);i+;oldvalue = table.getValueAt(table.getSelectedRow(),Stringtable.getSelectedColumn().toString();int row = table.getSelectedRow();int column = table.getSelectedCol

15、umn();if(column=0)System.out.println(oldvalue);System.out.println(row+t+column);System.out.println(rilirowcolumn+2);int n = JOptionPane.showConfirmDialog(jk, 您選擇刪湖南工業(yè)大學(xué)課程設(shè)計除+ rilirow1+(+rilirow2+b)+成績JOptionPane.YES_NO_OPTION);n是否繼續(xù)?, 提示對話框,if (n = JOptionPane.YES_OPTION) System.out.println(rilirow1

16、);String del = DELETE FROM SC WHERE CNO = +rilirow1+ ;圖6.3修改學(xué)生成績流程圖綜合查詢模塊class 查詢 extends JPanel privatestaticfinallongserialVersionUID=-4737165668992172494L;JTable table;JScrollPane scroll;String rili = new String1005;Object name = 學(xué)號, 姓名, 性別, 年齡, 系別 ;int lht, lyl, lwc;Connection con;String oldvalu

17、e = null;Statement sql;String str1, str2, str3, str4, str5;ResultSet rs;湖南工業(yè)大學(xué)課程設(shè)計存儲過程及觸發(fā)器: 觸發(fā)器:刪除S表中的數(shù)據(jù)以后SC表中的相應(yīng)的數(shù)據(jù)也被刪除CREATE TRIGGER delS_SC ON SFOR DELETEAS declare SNO_DEL char(12)select SNO_DEL =SNO from deleteddelete from SCwhere SNO=SNO_DEL 觸發(fā)器:更新S表中的SNO后SC表中的也相應(yīng)改變CREATE TRIGGER UptateS_SC ON

18、 SFOR UPDATEAS IF UPDATE(SNO)BEGINDECLARE SNO_NEW CHAR(12),SNO_OLD CHAR(12)SELECT SNO_NEW = SNO FROM INSERTEDSELECT SNO_OLD =SNO FROM DELETEDUPDATE SC SET SNO =SNO_NEW WHERE SNO =SNO_OLDEND 觸發(fā)器:刪除C表中的信息后SC表中的相應(yīng)信息也會被刪除掉CREATE TRIGGER delC_SC ON CFOR DELETEAS declare CNO_DEL char(2)select CNO_DEL =CNO

19、 from deleteddelete from SCwhere CNO=CNO_DEL 觸發(fā)器:更新C表中的信息后SC表中的相應(yīng)信息也會隨著改變CREATE TRIGGER UptateC_SC ON CFOR UPDATEAS IF UPDATE(CNO)BEGINDECLARE SNO_NEW CHAR(12),SNO_OLD CHAR(12)SELECT SNO_NEW = CNO FROM INSERTEDSELECT SNO_OLD =CNO FROM DELETEDUPDATE SC SET CNO =SNO_NEW WHERE CNO =SNO_OLDEND 觸發(fā)器:刪除T表中

20、的教師信息后TC表中的相應(yīng)信息也會別刪掉CREATE TRIGGER delT_TC ON TFOR DELETEAS declare SNO_DEL char(12)select SNO_DEL =TNO from deleted湖南工業(yè)大學(xué)課程設(shè)計3.3.2 系統(tǒng)流程圖系統(tǒng)程序流程圖管理員登錄模塊管理員登錄的流程是:如果管理員存在,則直接輸入賬號密碼,系統(tǒng)判斷賬號密碼是否正確,如果輸入不正確,重新輸入,直到輸入正確之后才可以進(jìn)入系統(tǒng);當(dāng)管理員不存在時,作者選擇注冊,根據(jù)個人詳細(xì)情況輸入個人信息,系統(tǒng)將會判斷輸入的信息是否正確,直到輸入的信息正確之后才注冊成功,然后輸入注冊的賬號密碼登錄系統(tǒng)

21、,系統(tǒng)仍會判斷賬號密碼是否正確,直到輸入正確的賬號密碼才會進(jìn)入系統(tǒng)。其流程圖如圖5.1所示:碼圖 5.1 管理員登錄流程圖成績管理模塊成績管理的流程是:管理員輸入賬號密碼之后,系統(tǒng)判斷輸入賬號密碼是否正確,不正確,重新輸入直到正確才可以進(jìn)入后臺管理系統(tǒng),選擇成績管理,選擇要進(jìn)行審核湖南工業(yè)大學(xué)課程設(shè)計的成績,進(jìn)行編輯修改,之后再進(jìn)一步審核,確定成績是否錄用,如果是存儲成績,則會顯示在系統(tǒng)前臺的首頁。其流程圖如圖 4.2 所示:圖 5.2 成績管理流程圖5.2 系統(tǒng)過程設(shè)計在軟件的生命周期中,實際上對于長期使用的軟件系統(tǒng)而言,人讀程序的時間可能比寫程序的時間還要長得多。因此,衡量程序的質(zhì)量不僅要

22、看它的邏輯是否正確,性能是否滿足要求,更主要的是要看它是否容易閱讀和理解。過程設(shè)計的目標(biāo)不僅僅是邏輯上正確地實現(xiàn)每個模塊的功能,更重要的是設(shè)計出的處理過程應(yīng)該盡可能簡明易懂。結(jié)構(gòu)程序設(shè)計技術(shù)是實現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù),因此是過程設(shè)計的邏輯基礎(chǔ)。N-S 圖是一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形描述工具,又稱之為盒圖。它有以下特點:1) 功能域明確,可以從盒圖上一眼就看出來。2)不可能任意轉(zhuǎn)移控制。3)很容易確定局部和全程數(shù)據(jù)的作用域。4)很容易表明嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。湖南工業(yè)大學(xué)課程設(shè)計系統(tǒng)前臺的N-S圖,如圖5.3所示:統(tǒng)首頁刪除信息修改信息修加管理員刪除成績改成績圖 5.3 系統(tǒng)前

23、臺N-S圖PAD 是問題分析圖(Problem Analysis 的圖來表示程序的控制流,是一種用結(jié)構(gòu)化程序設(shè)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具,將這種圖翻譯成程序代碼比較容易。PAD圖的主要優(yōu)點如下:(1)使用表示結(jié)構(gòu)化控制的PAD符號所設(shè)計出來的程序必然是結(jié)構(gòu)化程序。(2)PAD圖描述的程序結(jié)構(gòu)十分清晰。圖中最左面的豎線是程序的主線,即第一層結(jié)構(gòu)。隨著程序?qū)哟卧黾?,PAD圖逐漸向右延伸,每增加一個層次,圖形向右擴展一條豎線,PAD圖中豎線的總條數(shù)就是程序的層次數(shù)。(3)用 PAD 圖表現(xiàn)程序邏輯易讀、易懂、易記。 PAD圖是二維樹形結(jié)構(gòu)的圖形,程序從圖中最左豎線上端的結(jié)點開始執(zhí)行,自上而下,

24、從左到右順序執(zhí)行,遍歷所有結(jié)點。(4)有利于提高軟件的可靠性和軟件生產(chǎn)率。容易將PAD圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成,從而可以省去人工編碼的工作,有利于提高軟件的可靠性和軟件生產(chǎn)率。(5)既可用于表示程序邏輯,也可用于描述數(shù)據(jù)結(jié)構(gòu)。(6)PAD 圖的符號支持自頂向下、逐步求精方法的使用。開始設(shè)計者可以定義一個抽象的程序,隨著設(shè)計工作的深入而使用 def 符號逐步增加細(xì)節(jié),直至完成詳細(xì)設(shè)計,系統(tǒng)前臺的PAD圖,如圖5.4所示:湖南工業(yè)大學(xué)課程設(shè)計添加成績成績修改成績刪除成績選擇操作輸入帳號、密碼退出操作查看成績選擇操作加載成績保存成績退出操作管理成績管理員管理員匯總學(xué)生信息

25、選擇操作編輯管理員信息退出操作圖 5.4 系統(tǒng)前臺PAD圖3.4 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫表設(shè)計邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的E-R圖轉(zhuǎn)換成與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。E-R圖所需解決的問題是如何確定實體和實體間的關(guān)系,如何確定這些關(guān)系模式的屬性和碼。數(shù)據(jù)庫中兩實體間1:n聯(lián)系轉(zhuǎn)換為一個與n端對應(yīng)的關(guān)系模式合并的關(guān)系模式的方法是將聯(lián)系的屬性與1端的碼加入n端作為屬性,主碼為n端實體的主碼。以下為本系統(tǒng)中部分表的簡單介紹。1、管理員基本信息表包含管理員編號、管理員姓名、管理員密碼,設(shè)計時注意AdminID設(shè)為主鍵,如表3.1所示:表 4.1 管理員基本信息表字段

26、名數(shù)據(jù)類型Int說明AdminID管理員編號湖南工業(yè)大學(xué)課程設(shè)計NameVarchar(10)Varchar(10)管理員姓名管理員密碼Password2、學(xué)生基本信息表包含的信息是學(xué)生編號、學(xué)生姓名、學(xué)生性別、學(xué)生年齡、家庭住址、聯(lián)系電話等信息,設(shè)計時注意ID字段設(shè)為主鍵,設(shè)為Int類型,如表3.2所示:表 4.2 學(xué)生基本信息表字段名IDNameSex數(shù)據(jù)類型Int說明學(xué)生編號學(xué)生姓名性別Varchar(10)Char(10)IntAge年齡AddressPhoneVarchar(50)Char(15)家庭住址聯(lián)系電話3、教師基本信息表包含教師編號、教師姓名、教師年齡、家庭住址、聯(lián)系電話、

27、所教科目等信息,設(shè)計時注意ID字段設(shè)為主鍵,設(shè)為Int類型,如表4.3所示:表 4.3 教師基本信息表字段名ID數(shù)據(jù)類型Int說明教師編號教師姓名年齡ONameAgeVarchar(10)IntAddressPhoneObjectVarchar(50)Char(15)Varchar(15)家庭住址聯(lián)系電話所教科目4、成績基本信息表包括學(xué)生編號、科目類型、任課教師、所得分?jǐn)?shù),ID設(shè)為主鍵,如表4.4所示:表 4.4 成績基本信息信息表字段名ID數(shù)據(jù)類型Int說明學(xué)生編號科目類型任課教師所得分?jǐn)?shù)OTypeONameGradeVarchar(10)Varchar(10)int湖南工業(yè)大學(xué)課程設(shè)計3.

28、1湖南工業(yè)大學(xué)課程設(shè)計首先進(jìn)入NETBEANS,打開工程person.dsw,然后進(jìn)入源程序,接著選擇Build下的Execute person.exe即可,也可以不打開工程,直接雙擊person文件夾下的debug或release子文件夾下的person.exe文件即可運行程序。圖圖圖圖 3.增加學(xué)生信息界面,如圖 7.5 所示。圖 4.修改學(xué)生信息界面,如圖 7.6 所示。圖 5.查找學(xué)生信息界面,如圖 7.7 所示。圖 湖南工業(yè)大學(xué)課程設(shè)計5 的數(shù)字化管理。開發(fā)本系統(tǒng)可使學(xué)院教職員工減輕工作壓力,比較系統(tǒng)地對教務(wù)、教學(xué)上的各項服務(wù)和信息進(jìn)行管理,同時,可以減少勞動力的使用,加快查詢速度、

29、加強管理,以及國家各部門關(guān)于信息化的步伐,使各項管理更加規(guī)范化。而對于學(xué)生成績管理來說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適和大眾的、兼容性好的系統(tǒng)是很有必要的。本系統(tǒng)在開發(fā)過程中,注意使其符合操作的業(yè)務(wù)流程,并力求系統(tǒng)的全面性、通用性,使得本系統(tǒng)不只適用于一家教育機構(gòu)。在開發(fā)方法的選擇上,選擇了生命周期法與原型法相結(jié)合的方法,遵循系統(tǒng)調(diào)查研究、系統(tǒng)分析、系統(tǒng)設(shè)計和系統(tǒng)實施四個主要階段進(jìn)行設(shè)計,而在具體的設(shè)計上,采取了演化式原型法,隨著用戶的使用及對系統(tǒng)了解的不斷加深,對某一部分或幾部分進(jìn)行重新分析、設(shè)計、實施。湖南工業(yè)大學(xué)課程設(shè)計繼C+之后學(xué)習(xí)Java 程序設(shè)計語言會感覺很輕松

30、,因為Java 與C+語法類似,并把Java增強Java Java中的 引用、 其易于學(xué)習(xí)、高效率的執(zhí)行方式、平臺無關(guān)性、分布式與高安全性及其豐富的API文檔和類庫等特點都說明Java 是程序設(shè)計語言的偉大進(jìn)步的表現(xiàn)。Java程序設(shè)計知識的掌握熟練Java Java圖形用戶界面設(shè)計、Java的異常處理機制、Java中的多線程程序設(shè)計、Java輸入輸出流等。清楚這兩點,剩下的就是按部就班的寫代碼了。所以設(shè)計是關(guān)鍵。這時我們就可以使用Singleton模式產(chǎn)生唯一的對象實例,如“文件分割合并器”中MyWindowListener學(xué)習(xí)Java,我推薦使用 “六步走”的方法,循序漸進(jìn):第一步是安裝好J

31、DK,寫一個HelloWorld。 其實JDK的學(xué)習(xí)沒有那么簡單,關(guān)于JDK有兩個問題是很容易一直困擾JavaCLASSPATH從原理上來說,是要搞清楚JRE的ClassLoader是如何加載Class的;另一個問題是package和import了學(xué)習(xí)Java和使用JDK題進(jìn)行了深入的探討。 第二步是學(xué)習(xí)Java的語法。第三步是學(xué)習(xí)Java的面向?qū)ο蟮木幊陶Z言的特性的地方。比如繼承,構(gòu)造器,抽象類,接口,方法的多態(tài),重載,覆蓋,JavaJavaWeb J2EE編程??傊?作為一門程序設(shè)計語言,Java 的學(xué)習(xí)務(wù)必要做到多看多寫多想多請教。多看,看高手、大師的程序,借鑒其解題思路和程序架構(gòu);多寫

32、,學(xué)習(xí)程序設(shè)計很重要的就是要自己親自動手寫代碼,切忌犯眼高手低的弊病,而且這樣記憶非常深刻;多想,程序調(diào)試中出現(xiàn)一些“莫明其妙”的問題,為什么會這樣而不是那樣;多請教:程序設(shè)計說到底是要徹底搞清設(shè)計該語言的人的思想,遇到問題想不通應(yīng)該請教同學(xué)、老師等。這樣可達(dá)到事半功倍的目的。湖南工業(yè)大學(xué)課程設(shè)計6 .4.黃曉東JAVA課程設(shè)計案例精編(第二版)M中國水利電出版社,2005徐迎曉JAVA語法及網(wǎng)絡(luò)應(yīng)用設(shè)計。清華大學(xué)出版社。技術(shù)交流網(wǎng)站CSDN:網(wǎng)址: /技術(shù)交流網(wǎng)站博客園:網(wǎng)址: /技術(shù)交流網(wǎng)站博客園:網(wǎng)址: /湖南工業(yè)大學(xué)課程設(shè)計7 源代碼:import java.applet.Applet

33、;import java.awt.*;import java.awt.event.*;import java.util.*;import java.lang.*;public class Students.java extends Applet implements ActionListenerVector StuInf=new Vector();StudentInf SI;String xm;String bj;int i,j,xh,cj;static int mid;Label prompt1=new Label(學(xué)生成績管理系統(tǒng));Label prompt2=new Label( 用戶:

34、);Label prompt3=new Label( 密碼:);Label prompt4=new Label( 班級:);Label prompt5=new Label( 成績:);TextField input1=new TextField(8);TextField input2=new TextField(8);TextField input3=new TextField(8);TextField input4=new TextField(8);Button btn1=new Button(登錄);Button btn2=new Button(增加);Button btn3=new Bu

35、tton(修改);Button btn4=new Button(刪除);public void init()setLayout(new GridLayout(6,3);add(new Label();add(prompt1);湖南工業(yè)大學(xué)課程設(shè)計add(new Label();add(prompt2);add(input1);add(new Label();add(prompt3);add(input2);add(btn1);add(prompt4);add(input3);add(new Label();add(prompt5);add(input4);add(new Label();add

36、(btn2);add(btn3);add(btn4);prompt4.setVisible(false);prompt5.setVisible(false);input3.setVisible(false);input4.setVisible(false);btn2.setVisible(false);btn3.setVisible(false);btn4.setVisible(false);btn1.addActionListener(this);btn2.addActionListener(this);btn3.addActionListener(this);btn4.addActionL

37、istener(this);public void actionPerformed(ActionEvent e)if(e.getActionCommand()=登錄)String a,b;a=input1.getText();湖南工業(yè)大學(xué)課程設(shè)計b=input2.getText();input1.setText();if(a.equals(12)=true)&(b.equals(12)=true)prompt2.setText( 姓名:);prompt3.setText( 學(xué)號:);prompt4.setVisible(true);prompt5.setVisible(true);input3

38、.setVisible(true);input4.setVisible(true);btn2.setVisible(true);btn3.setVisible(true);btn4.setVisible(true);btn3.setEnabled(false);btn4.setEnabled(false);btn1.setLabel(查詢);input1.setText(登錄成功);input1.selectAll();elseinput2.setText(用戶名或密碼錯);if(e.getActionCommand()=增加)boolean scucss=true;tryXingMing()

39、;catch(EmptyException as)input1.setText(姓名不能為空);scucss=false;湖南工業(yè)大學(xué)課程設(shè)計tryxh=Integer.parseInt(input2.getText();catch(NumberFormatException m)input2.setText(學(xué)號為空或格式錯);scucss=false;bj=input3.getText();tryChengJi();catch(EmptyException as)cj=-1;catch(OverException dd)input4.setText(應(yīng)在0-100間);scucss=fal

40、se;catch(NumberFormatException cm)input4.setText(成績應(yīng)為數(shù)據(jù));scucss=false;if(scucss=true)SI=new StudentInf(xm,xh,bj,cj);Insert(SI);湖南工業(yè)大學(xué)課程設(shè)計if(e.getActionCommand()=修改)xm=input1.getText();xh=Integer.parseInt(input2.getText();bj=input3.getText();cj=Integer.parseInt(input4.getText();SI=new StudentInf(xm,x

41、h,bj,cj);StuInf.setElementAt(SI, mid);btn3.setEnabled(false);if(e.getActionCommand()=刪除)StuInf.removeElementAt(mid);btn4.setEnabled(false);input1.setText(刪除成功);input2.setText();input3.setText();input4.setText();if(e.getActionCommand()=查詢)boolean right=true;tryxh=Integer.parseInt(input2.getText();cat

42、ch(NumberFormatException m)input2.setText(學(xué)號為空或格式錯);right=false;if(right=true)search(xh);湖南工業(yè)大學(xué)課程設(shè)計btn3.setEnabled(true);btn4.setEnabled(true);/查找方法public void search(int k)boolean exist=false;int low=0;int high=StuInf.size()-1;while(low=high)mid=(high+low)/2;StudentInf a1=(StudentInf) StuInf.elemen

43、tAt(mid);if(a1.getStuNo()=k)SI=(StudentInf) StuInf.elementAt(mid);String x = String.valueOf(SI.getStuNo();exist=true;input1.setText(SI.getname();input1.selectAll();input2.setText(0+x);input3.setText(SI.getClassNo();if(SI.getLevel()=-1)input4.setText(未參加考試);elseString y = String.valueOf(SI.getLevel();input4.setText(y

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論