




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)湖南工業(yè)大學(xué)課 程 設(shè) 計(jì)資 料 袋 計(jì)算機(jī)與通信學(xué)院 學(xué)院(系、部) 2016-2017 學(xué)年第 1 學(xué)期 課程名稱 數(shù)據(jù)結(jié)構(gòu) 指導(dǎo)教師 文志誠 職稱 講師 學(xué)生姓名 孫浩 專業(yè)班級 軟件工程 1501 班 學(xué)號 題 目 成 績 起止日期 2016 年 12 月 18 日 2016 年 12 月 23 日目 錄 清 單序號材 料 名 稱資料數(shù)量備 注1課程設(shè)計(jì)任務(wù)書12課程設(shè)計(jì)說明書13源程序(電子文檔)1456湖南工業(yè)大學(xué)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)課程設(shè)計(jì)任務(wù)書 2016-20172016-2017 學(xué)年第學(xué)年第 1 1 學(xué)期學(xué)期
2、計(jì)算機(jī)與通信 學(xué)院(系、部) 軟件工程 專業(yè) 1501 班級課程名稱: 數(shù)據(jù)結(jié)構(gòu) 設(shè)計(jì)題目: 完成期限:自 2016 年 12 月 18 日至 2016 年 12 月 26 日共 1 周內(nèi)容及任務(wù)一、設(shè)計(jì)的任務(wù)及主要技術(shù)參數(shù)使用 java 設(shè)計(jì)一個(gè)能夠符合課程設(shè)計(jì)要求的系統(tǒng)二、設(shè)計(jì)任務(wù)三、設(shè)計(jì)工作量起止日期工作內(nèi)容12.18需求分析12.19概要設(shè)計(jì)12.20-12.22詳細(xì)設(shè)計(jì)進(jìn)度安排12.23調(diào)試分析、測試結(jié)果主要參考資料指導(dǎo)教師 (簽字): 年 月 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)日系(教研室) 主任( 簽字): 年 月 日精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 數(shù)據(jù)結(jié)構(gòu)程
3、序設(shè)計(jì)(java 語言)課程設(shè)計(jì) 設(shè)計(jì)說明書學(xué)生成績管理系統(tǒng)起止日期: 2016 年 12 月 18 日 至 2016 年 12 月 23 日學(xué)生姓名孫浩班級軟件工程 1501 班學(xué)號成績指導(dǎo)教師 (簽字 )計(jì)算機(jī)與通信學(xué)院計(jì)算機(jī)與通信學(xué)院2016 年 12 月 23 日精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 目目 錄錄精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)1 1 需求分析需求分析1.1 系統(tǒng)的具體任務(wù) 該系統(tǒng)的具體任務(wù)就是設(shè)計(jì)一個(gè)學(xué)生成績的數(shù)據(jù)庫管理系統(tǒng),由計(jì)算機(jī)來代替人工執(zhí)行一系列諸如增加新學(xué)生成績信息、刪除學(xué)生成績信息、學(xué)生資料、查詢、修改等的處理操作,以方便管理人員的管理信息工
4、作。 本設(shè)計(jì)以客戶為中心,界面要美觀大方,操作盡量簡單明了,且要有良好的容錯(cuò)性,在用戶出現(xiàn)誤操作時(shí)能及時(shí)給出警告并修改。在現(xiàn)有的技術(shù)和資金的情況下完全可以設(shè)計(jì)出這套功能完善的應(yīng)用軟件。1.2 系統(tǒng)開發(fā)目的建立學(xué)生成績管理系統(tǒng),采用計(jì)算機(jī)對學(xué)生成績進(jìn)行管理,進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平。實(shí)現(xiàn)學(xué)生成績信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化。1.3 系統(tǒng)環(huán)境需求編程語言:JAVAJava + Eclipse + SQL server 數(shù)據(jù)庫開發(fā)工具:Eclipse SDK(英文版)SQL 2000(中文版)運(yùn)行環(huán)境:Windows xp 或 windows 2000精選優(yōu)質(zhì)文檔-傾情為你奉上專心
5、-專注-專業(yè) 2 2 概要設(shè)計(jì)概要設(shè)計(jì)2.1 總體功能需求系統(tǒng)登錄包括管理員、教師和學(xué)生三種類型的登錄。1.錄入學(xué)生信息 (初始化)在系統(tǒng)中不存在任何對象時(shí),實(shí)現(xiàn)該功能。具體功能為:1:檢測文件系統(tǒng)/數(shù)據(jù)庫中是否存在相關(guān)文件/表;2:若不存在相關(guān)文件/表,則要求用戶錄入學(xué)生信息,并序列化或通過 JDBC 存儲到文件/表;3:若已存在相關(guān)文件/表,則反序列化或通過 JDBC讀取到程序中。注意:學(xué)生紀(jì)錄不允許重復(fù),判斷的關(guān)鍵字為學(xué)號2.添加學(xué)生記錄往已有的學(xué)生紀(jì)錄添加新的學(xué)生紀(jì)錄。具體功能為:1:要求用戶從鍵盤輸入一個(gè)或多個(gè)學(xué)生信息;2:輸入完成后序列化或 JDBC 存儲到文件/表。注意:學(xué)生紀(jì)錄
6、不允許重復(fù),判斷的關(guān)鍵字為學(xué)號3.刪除學(xué)生記錄在已有的學(xué)生紀(jì)錄中刪除一個(gè)或多個(gè)學(xué)生紀(jì)錄。具體功能為:1:要求用戶輸入欲刪除的學(xué)生的學(xué)號;2:刪除學(xué)生記錄;3:更新到文件/表。4.修改學(xué)生記錄在已有的學(xué)生記錄中修改某學(xué)生的相關(guān)信息。具體功能為:1:要求用戶輸入欲修改的學(xué)生的學(xué)號;2:判斷該學(xué)生是否存在于記錄中;3:若學(xué)生記錄存在,提供修改學(xué)生信息功能。5.查看學(xué)生記錄查看單個(gè)學(xué)生記錄。具體功能為:1:輸入學(xué)生學(xué)號;2:若該學(xué)生存在,打印該學(xué)生相關(guān)信息。查看多個(gè)學(xué)生記錄。具體功能為:1:打印出所有學(xué)生的記錄;2:能分別按學(xué)號、姓名、性別、年齡和分?jǐn)?shù)進(jìn)行排序。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專
7、業(yè)6.退出系統(tǒng)退出系統(tǒng)。2.2 初始化流程描述:1:初始化系統(tǒng)執(zhí)行對對象進(jìn)行序列化2: 反序列化獲得對象業(yè)務(wù)規(guī)則說明:1:進(jìn)入系統(tǒng)第一步必須序列化 。2:獲得反序列化的對象,如果文件不存在興建一個(gè),單必須是需要的對象類型。2.3 添加學(xué)生流程描述:1:要求用戶從鍵盤輸入一個(gè)或多個(gè)學(xué)生信息;2:輸入完成后序列化到文件/表。3:學(xué)生紀(jì)錄不允許重復(fù),判斷的關(guān)鍵字為學(xué)號規(guī)則說明:1:從菜單選擇添加學(xué)生,獲得容器對象 。2:進(jìn)入添加頁面提示添加屬性。3:性別限制男女。4:科目成績可變性。課程可自動調(diào)節(jié)5:學(xué)號作為唯一標(biāo)示符: 不能出現(xiàn)重復(fù)學(xué)號。 必須是數(shù)字組成。 6:添加完成后把容器對象序列化到文件2.
8、4 刪除學(xué)生記錄業(yè)務(wù)流程描述:1:要求用戶輸入欲刪除的學(xué)生的學(xué)號;2:刪除學(xué)生記錄;3:更新到文件/表。業(yè)務(wù)規(guī)則說明:1:傳遞一個(gè)容器對象。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)2:給定一個(gè)學(xué)生學(xué)號刪除一個(gè)學(xué)生信息 2:遍歷容器是否有輸入學(xué)號的學(xué)生信息。如果存在,提示是否刪除。如果沒有重新輸入。3:如果刪除成功返回一個(gè)容器對象,序列化到文件。2.5 修改學(xué)生記錄業(yè)務(wù)流程描述:1:要求用戶輸入欲修改的學(xué)生的學(xué)號;2:判斷該學(xué)生是否存在于記錄中;3:若學(xué)生記錄存在,提供修改學(xué)生信息功能。業(yè)務(wù)規(guī)則說明:1:傳遞一個(gè)容器對象給修改方法。2:給定一個(gè)欲修改學(xué)生的學(xué)號 3:遍歷容器是否有輸入學(xué)號的學(xué)生
9、信息。如果存在學(xué)生對象,繼續(xù)下一步。如果沒有重新輸入。4:通過判斷知道存在學(xué)生對象后遍歷獲得學(xué)生對象。5:提示要修改的類容提示舊的信息添加新的信息 6:修改后獲得容器對象,序列化到文件2.6 查看學(xué)生記錄業(yè)務(wù)流程描述:1:輸入學(xué)生學(xué)號;2:若該學(xué)生存在,打印該學(xué)生相關(guān)信息。查看多個(gè)學(xué)生記錄。具體功能為:1:打印出所有學(xué)生的記錄;2:能分別按學(xué)號、姓名、性別、年齡和分?jǐn)?shù)進(jìn)行排序。業(yè)務(wù)規(guī)則說明:1:輸入選項(xiàng)獲得查看方式,獲得容器對象。2:全部查看顯示獲得全部學(xué)生信息 3:查看特定學(xué)生。輸入學(xué)生學(xué)號;判斷學(xué)生是否存在精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)如果存在顯示單個(gè)學(xué)生,如果不存在提示不存在
10、,重新輸入。學(xué)生成績管理系統(tǒng)登錄1.0查詢2.0編輯3.0存儲4.0管理6.0打印5.0學(xué)生登錄1.1人力資源管理者1.2學(xué)生基本信息2.1添加3.1刪除3.2修改3.3系統(tǒng)管理6.1管理員1.3教師基本信息2.22.7 退出系統(tǒng)提示是否退出3 3 系統(tǒng)分析系統(tǒng)分析3.1 系統(tǒng)開發(fā)流程HIPO 圖是美國 IBM 公司發(fā)明的“層次圖加輸入/處理/輸出圖”的英文縮寫。根據(jù)系統(tǒng)的模塊層次結(jié)構(gòu)可得到系統(tǒng) HIPO 圖,本軟件的 HIPO 圖如圖 4.1 所示。圖 4.1 系統(tǒng) HIPO 圖模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?。是可以單?dú)被命名的而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等
11、等都可作為模塊。模塊化就是將程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集合起來組成一個(gè)整體,可以完成指定的功能滿足問題的要求。模塊化設(shè)計(jì)不僅降低了系統(tǒng)的復(fù)雜性,使得系統(tǒng)容易修改,而且推動了系統(tǒng)各個(gè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)部分的并行開發(fā),從而提高了軟件的生產(chǎn)效率。以下為成績管理的 IPO 表,如圖 4.2 所示:圖 4.2 成績管理 IPO 表3.2 系統(tǒng)模塊設(shè)計(jì)系統(tǒng)用例圖系統(tǒng)用例圖用例圖主要用來圖示化系統(tǒng)的主事件流程,它主要用來描述需求,即希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,是設(shè)計(jì)系統(tǒng)分析階段的起點(diǎn),設(shè)計(jì)人員根據(jù)需求來創(chuàng)建和解釋用
12、例圖,用來描述軟件應(yīng)具備哪些功能模塊以及這些模塊之間的調(diào)用關(guān)系。3.2 系統(tǒng)總體用例圖本系統(tǒng)包括三類角色:教師、管理員和學(xué)生。教師可以進(jìn)行分報(bào)表,記錄分?jǐn)?shù)和更新分?jǐn)?shù)的操作,管理員可以查看分?jǐn)?shù)和進(jìn)行成績的總報(bào)表,學(xué)生可以查看個(gè)人成績。同時(shí)系統(tǒng)還可以加載分?jǐn)?shù)和保存分?jǐn)?shù)。其系統(tǒng)總體用例圖如圖 2.1 所示:圖 3.1 系統(tǒng)總體用例圖3.3 學(xué)生信息用例圖學(xué)生信息管理模塊包括三類角色,可分別根據(jù)自己的權(quán)限對個(gè)人信息進(jìn)行增加、刪除和修改等操作。其用例圖如圖 3.2 所示:圖 3.2 學(xué)生信息用例圖3.4 管理員信息用例圖管理員信息管理模塊包括兩種角色,根據(jù)不同的權(quán)限可以添加管理員、查看管理員、刪除管理員
13、,還包括登錄, 管理員信息用例圖如圖 3.3 所示:圖 3.3 管理員信息用例圖3.3 系統(tǒng)結(jié)構(gòu)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)模塊分析模塊分析 用戶管理模塊添加用戶,刪除用戶: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 = n
14、ew 管理用戶();interFram.add(jkjkjk);add(interFram, BorderLayout.CENTER);添加用戶返回添加用戶顯示用戶信息是否開始返回刪除用戶顯示用戶信息 圖 6.1 用戶管理流程圖精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)增加學(xué)生信息模塊對學(xué)生信息進(jìn)行增加:public void addC(String sa) interFram = new JInternalFrame(sa, true, true, true, true);interFram.setBounds(0, 0, frm1.width, frm1.height);interFram
15、.validate();interFram.setVisible(true);jkjkjk1 = new 信息();interFram.add(jkjkjk1);add(interFram, BorderLayout.CENTER);stu 學(xué)生 extends JPanel JTable table;JScrollPane scroll;String rili = new String1003;String str1, str2, str3;Object name = 學(xué)號, 學(xué)科, 成績 ;Connection con;int lyl, lwc;Statement sql;ResultSe
16、t rs;圖 6.2 學(xué)生信息增加流程圖精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)是否刪除是否添加返回返回輸入刪除學(xué)生信息輸入添加信息輸入修改信息顯示刪除信息顯示修改信息是否是否開始返回顯示添加信息修改學(xué)生信息模塊對學(xué)生的成績及信息進(jìn)行修改:String rili = new String1004;JButton f = JButton(修改信息);學(xué)生信息視圖表() try con = DriverManager.getConnection(jdbc:odbc:qyl, , );sql = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITI
17、VE,ResultSet.CONCUR_READ_ONLY);rs = sql.executeQuery(select * from 已修改視圖 WHERE SNO = + + 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)qyl + );int i = 0;while (rs.next() rilii0 = rs.getString(1);rilii1 = rs.getString(2);rilii2 = rs.getString(3);rilii3 = rs.getString(4);i+;Stringoldvalue = table.getValueAt(table.getSelectedR
18、ow(),table.getSelectedColumn().toString();int row = table.getSelectedRow();int column = table.getSelectedColumn();if(column=0)int n = JOptionPane.showConfirmDialog(jk, 您選擇刪除+ rilirow1+(+rilirow2+b)+成績n 是否繼續(xù)?, 提示對話框,JOptionPane.YES_NO_OPTION);if (n = JOptionPane.YES_OPTION) String del = DELETE FROM S
19、C WHERE CNO = +rilirow1+ ;圖 6.3 修改學(xué)生成績流程圖精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 綜合查詢模塊class 查詢 extends JPanel JTable table;JScrollPane scroll;String rili = new String1005;Object name = 學(xué)號, 姓名, 性別, 年齡, 系別 ;int lht, lyl, lwc;Connection con;String oldvalue = null;Statement sql;String str1, str2, str3, str4, str5;Result
20、Set rs;存儲過程及觸發(fā)器:觸發(fā)器:刪除 S 表中的數(shù)據(jù)以后 SC 表中的相應(yīng)的數(shù)據(jù)也被刪除CREATE TRIGGER delS_SC ON SFOR DELETE AS 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 S FOR UPDATE AS IF UPDATE(SNO)BEGINDECLARE SNO_NEW CHAR(12),SNO_O
21、LD 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)信息也會被刪除掉精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)CREATE TRIGGER delC_SC ON CFOR DELETE AS declare CNO_DEL char(2)select CNO_DEL =CNO from deleteddelete from SCwhere CNO=CN
22、O_DEL觸發(fā)器:更新 C 表中的信息后 SC 表中的相應(yīng)信息也會隨著改變CREATE TRIGGER UptateC_SC ON C FOR UPDATE AS 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 表中的教師信息后 TC 表中的相應(yīng)信息也會別刪掉CREATE TRIG
23、GER delT_TC ON TFOR DELETE AS declare SNO_DEL char(12)select SNO_DEL =TNO from deleted系統(tǒng)程序流程圖管理員登錄模塊管理員登錄的流程是:如果管理員存在,則直接輸入賬號密碼,系統(tǒng)判斷賬號密碼是否正確,如果輸入不正確,重新輸入,直到輸入正確之后才可以進(jìn)入系統(tǒng);當(dāng)管理員不存在時(shí),作者選擇注冊,根據(jù)個(gè)人詳細(xì)情況輸入個(gè)人信息,系統(tǒng)將會判斷輸入的信息是否正確,直到輸入的信息正確之后才注冊成功,然后輸入注冊的賬號密碼登錄系統(tǒng),系統(tǒng)仍會判斷賬號密碼是否正確,直到輸入正確的賬號密碼才會進(jìn)入系統(tǒng)。其流程圖如圖 5.1 所示:圖 5
24、.1 管理員登錄流程圖成績管理模塊成績管理的流程是:管理員輸入賬號密碼之后,系統(tǒng)判斷輸入賬號密碼是否正確,不正確,重新輸入直到正確才可以進(jìn)入后臺管理系統(tǒng),選擇成績管理,選擇要進(jìn)行審核的成績,進(jìn)行編輯修改,之后再進(jìn)一步審核,確定成績是否錄用,如果是存儲成績,精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)則會顯示在系統(tǒng)前臺的首頁。其流程圖如圖 4.2 所示:圖 5.2 成績管理流程圖5.2 系統(tǒng)過程設(shè)計(jì) 過程設(shè)計(jì)的任務(wù)不是具體地編寫程序,而是要設(shè)計(jì)出程序的“藍(lán)圖” ,程序員根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的代碼。因此,過程設(shè)計(jì)的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。在軟件的生命周期中,實(shí)際上對于長期使用的軟件系統(tǒng)
25、而言,人讀程序的時(shí)間可能比寫程序的時(shí)間還要長得多。因此,衡量程序的質(zhì)量不僅要看它的邏輯是否正確,性能是否滿足要求,更主要的是要看它是否容易閱讀和理解。過程設(shè)計(jì)的目標(biāo)不僅僅是邏輯上正確地實(shí)現(xiàn)每個(gè)模塊的功能,更重要的是設(shè)計(jì)出的處理過程應(yīng)該盡可能簡明易懂。結(jié)構(gòu)程序設(shè)計(jì)技術(shù)是實(shí)現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù),因此是過程設(shè)計(jì)的邏輯基礎(chǔ)。N-S 圖是一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具,又稱之為盒圖。它有以下特點(diǎn):1) 功能域明確,可以從盒圖上一眼就看出來。2)不可能任意轉(zhuǎn)移控制。3)很容易確定局部和全程數(shù)據(jù)的作用域。4)很容易表明嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。系統(tǒng)前臺的 N-S 圖,如圖 5.3 所示:
26、圖 5.3 系統(tǒng)前臺 N-S 圖PAD 是問題分析圖(Problem Analysis Diagram)的英文縮寫,它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,是一種用結(jié)構(gòu)化程序設(shè)計(jì)思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具,將這種圖翻譯成程序代碼比較容易。PAD 圖的主要優(yōu)點(diǎn)如下:(1)使用表示結(jié)構(gòu)化控制的 PAD 符號所設(shè)計(jì)出來的程序必然是結(jié)構(gòu)化程序。(2)PAD 圖描述的程序結(jié)構(gòu)十分清晰。圖中最左面的豎線是程序的主線,即第一層結(jié)構(gòu)。隨著程序?qū)哟卧黾樱琍AD 圖逐漸向右延伸,每增加一個(gè)層次,圖形向右擴(kuò)展一條豎線,PAD 圖中豎線的總條數(shù)就是程序的層次數(shù)。(3)用 PAD 圖表現(xiàn)程序邏輯易讀、易懂、易記。
27、PAD 圖是二維樹形結(jié)構(gòu)的圖形,程序從圖中最左豎線上端的結(jié)點(diǎn)開始執(zhí)行,自上而下,從左到右順序執(zhí)行,遍歷所有精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)結(jié)點(diǎn)。(4)有利于提高軟件的可靠性和軟件生產(chǎn)率。容易將 PAD 圖轉(zhuǎn)換成高級語言源程序,這種轉(zhuǎn)換可用軟件工具自動完成,從而可以省去人工編碼的工作,有利于提高軟件的可靠性和軟件生產(chǎn)率。(5)既可用于表示程序邏輯,也可用于描述數(shù)據(jù)結(jié)構(gòu)。(6)PAD 圖的符號支持自頂向下、逐步求精方法的使用。開始設(shè)計(jì)者可以定義一個(gè)抽象的程序,隨著設(shè)計(jì)工作的深入而使用 def 符號逐步增加細(xì)節(jié),直至完成詳細(xì)設(shè)計(jì),系統(tǒng)前臺的 PAD 圖,如圖 5.4 所示:教師Def選擇操
28、作查看保存加載查看成績加載成績退出操作保存成績輸入帳號、密碼判斷用戶是否存在UNTIL 賬號、密碼正確進(jìn)入系統(tǒng)注冊退出系統(tǒng)首頁成績信息學(xué)生信息教師管理員選擇操作系統(tǒng)首頁成績編輯成績編輯信息修改學(xué)生信息成績Def選擇操作添加刪除修改添加成績修改成績退出操作刪除成績管理員Def選擇操作管理編輯匯總管理成績匯總學(xué)生信息退出操作編輯管理員信息圖 5.4 系統(tǒng)前臺 PAD 圖3.4 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫表設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的 E-R 圖轉(zhuǎn)換成與選用的 DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。E-R 圖所需解決的問題是如何確定實(shí)體和實(shí)體間的關(guān)系,如何確定這些關(guān)系模式的屬性和
29、碼。數(shù)據(jù)庫中兩實(shí)體間 1:n 聯(lián)系轉(zhuǎn)換為一個(gè)與 n 端對應(yīng)的關(guān)系模式合并的關(guān)系模式的方法是將聯(lián)系的屬性與 1 端的碼加入 n端作為屬性,主碼為 n 端實(shí)體的主碼。以下為本系統(tǒng)中部分表的簡單介紹。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)1、管理員基本信息表包含管理員編號、管理員姓名、管理員密碼,設(shè)計(jì)時(shí)注意AdminID 設(shè)為主鍵,如表 3.1 所示:表 4.1 管理員基本信息表字段名數(shù)據(jù)類型說明AdminIDInt管理員編號NameVarchar(10)管理員姓名PasswordVarchar(10)管理員密碼2、學(xué)生基本信息表包含的信息是學(xué)生編號、學(xué)生姓名、學(xué)生性別、學(xué)生年齡、家庭住址、聯(lián)系
30、電話等信息,設(shè)計(jì)時(shí)注意 ID 字段設(shè)為主鍵,設(shè)為 Int 類型,如表 3.2 所示:表 4.2 學(xué)生基本信息表字段名數(shù)據(jù)類型說明IDInt學(xué)生編號NameVarchar(10)學(xué)生姓名 SexChar(10)性別AgeInt年齡 AddressVarchar(50)家庭住址PhoneChar(15)聯(lián)系電話3、教師基本信息表包含教師編號、教師姓名、教師年齡、家庭住址、聯(lián)系電話、所教科目等信息,設(shè)計(jì)時(shí)注意 ID 字段設(shè)為主鍵,設(shè)為 Int 類型,如表 4.3 所示:表 4.3 教師基本信息表字段名數(shù)據(jù)類型說明IDInt教師編號ONameVarchar(10)教師姓名AgeInt年齡 Addres
31、sVarchar(50)家庭住址 PhoneChar(15)聯(lián)系電話ObjectVarchar(15)所教科目4、成績基本信息表包括學(xué)生編號、科目類型、任課教師、所得分?jǐn)?shù),ID 設(shè)為主鍵,如表 4.4 所示:表 4.4 成績基本信息信息表精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)字段名數(shù)據(jù)類型說明IDInt學(xué)生編號OTypeVarchar(10)科目類型ONameVarchar(10)任課教師Gradeint所得分?jǐn)?shù)3.1精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)4 4 系統(tǒng)測試系統(tǒng)測試首先進(jìn)入 NETBEANS,打開工程 person.dsw,然后進(jìn)入源程序,接著選擇 Build下的 Exe
32、cute person.exe 即可,也可以不打開工程,直接雙擊 person 文件夾下的debug 或 release 子文件夾下的 person.exe 文件即可運(yùn)行程序。1. 系統(tǒng)登錄界面,如圖 7.1-7.3 所示。圖 7.1圖 7.2圖 7.32.系統(tǒng)主界面,如圖 7.4 所示。圖 7.43.增加學(xué)生信息界面,如圖 7.5 所示。圖 7.54.修改學(xué)生信息界面,如圖 7.6 所示。圖 7.65.查找學(xué)生信息界面,如圖 7.7 所示。圖 7.75 5 結(jié)論結(jié)論本系統(tǒng)依據(jù)開發(fā)要求主要應(yīng)用于教育系統(tǒng),完成對日常的教育工作中學(xué)生成績檔案的數(shù)字化管理。開發(fā)本系統(tǒng)可使學(xué)院教職員工減輕工作壓力,比
33、較系統(tǒng)地對教務(wù)、教學(xué)上的各項(xiàng)服務(wù)和信息進(jìn)行管理,同時(shí),可以減少勞動力的使用,加快查詢速度、加強(qiáng)管理,以及國家各部門關(guān)于信息化的步伐,使各項(xiàng)管理更加規(guī)范化。目前,學(xué)校工作繁雜、資料重多,雖然各類管理信息系統(tǒng)已進(jìn)入高校,但還未普及,而對于學(xué)生成績管理來說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適和大眾的、兼容性好的系統(tǒng)是很有必要的。本系統(tǒng)在開發(fā)過程中,注意使其符合操作的業(yè)務(wù)流程,并力求系統(tǒng)的全面性、通用性,使得本系統(tǒng)不只適用于一家教育機(jī)構(gòu)。在開發(fā)方法的選擇上,選擇了生命周期法與原型法相結(jié)合的方法,遵循系統(tǒng)調(diào)查研究、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施四個(gè)主要階段進(jìn)行設(shè)計(jì),而在具體的設(shè)計(jì)上,采取了
34、演化式原型法,隨著用戶的使用及對系統(tǒng)了解的不斷加深,對某一部分或幾部分進(jìn)行重新分析、設(shè)計(jì)、實(shí)施。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)繼 C+之后學(xué)習(xí) Java 程序設(shè)計(jì)語言會感覺很輕松,因?yàn)?Java 與 C+語法類似,并把 C+中一些較低級和較難以理解的功能都去掉了,如多繼承、指針等,同時(shí) Java增強(qiáng)了部分功能,如“+”運(yùn)算符的重載。對于初學(xué) Java 的人而言,難點(diǎn)是 Java 中的 引用、初始化一個(gè)類過程等。總的來說,Java 其易于學(xué)習(xí)、高效率的執(zhí)行方式、平臺無關(guān)性、分布式與高安全性及其豐富的 API 文檔和類庫等特點(diǎn)都說明 Java 是程序設(shè)計(jì)語言的偉大進(jìn)步的表現(xiàn)??梢哉f這么
35、說,本次課程設(shè)計(jì)綜合考察了我們對 Java 程序設(shè)計(jì)知識的掌握熟練程度和實(shí)際運(yùn)用能力。其間,涉及到了 Java 中的絕大多數(shù)的知識點(diǎn),如 Java 圖形用戶界面設(shè)計(jì)、Java 的異常處理機(jī)制、Java 中的多線程程序設(shè)計(jì)、Java 輸入輸出流等。程序?qū)崿F(xiàn)的關(guān)鍵在于功能的合理劃分以及各個(gè)包或者類之間的通訊問題,只要分析清楚這兩點(diǎn),剩下的就是按部就班的寫代碼了。所以設(shè)計(jì)是關(guān)鍵。功能實(shí)現(xiàn)了,再就是如何對程序進(jìn)行性能優(yōu)化的問題。如有的類需要多個(gè)對象實(shí)例,這時(shí)我們就可以使用 Singleton 模式產(chǎn)生唯一的對象實(shí)例,如“文件分割合并器”中 MyWindowListener 類;文件操作中加入緩沖機(jī)制;
36、對與圖像可以使用使用雙緩沖區(qū)等等。學(xué)習(xí) Java,我推薦使用 “六步走”的方法,循序漸進(jìn):第一步是安裝好 JDK,寫一個(gè) Hello World。 其實(shí) JDK 的學(xué)習(xí)沒有那么簡單,關(guān)于 JDK 有兩個(gè)問題是很容易一直困擾 Java 程序員的地方:一個(gè)是 CLASSPATH 的問題,其實(shí)從原理上來說,是要搞清楚 JRE 的 ClassLoader 是如何加載 Class 的;另一個(gè)問題是 package 和 import 問題,如何來尋找類的路徑問題。把這兩個(gè)問題摸索清楚了,就掃除了學(xué)習(xí) Java 和使用 JDK 的最大障礙。推薦看一下王森的Java 深度歷險(xiǎn) ,對這兩個(gè)問題進(jìn)行了深入的探討。
37、 第二步是學(xué)習(xí) Java 的語法。第三步是學(xué)習(xí) Java 的面向?qū)ο蟮木幊陶Z言的特性的地方。比如繼承,構(gòu)造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java 的異常處理機(jī)制。第四步就是熟悉 Java 的類庫。第五步,Java Web 編程。第六步,J2EE 編程??傊?作為一門程序設(shè)計(jì)語言,Java 的學(xué)習(xí)務(wù)必要做到多看多寫多想多請教。多看,看高手、大師的程序,借鑒其解題思路和程序架構(gòu);多寫,學(xué)習(xí)程序設(shè)計(jì)很重要的就是要自己親自動手寫代碼,切忌犯眼高手低的弊病,而且這樣記憶非常深刻;多想,程序調(diào)試中出現(xiàn)一些“莫明其妙”的問題,為什么會這樣而不是那樣;多請教:程序設(shè)計(jì)說到底是要徹底搞清設(shè)計(jì)該語言的
38、人的思想,遇到問題想不通應(yīng)該請教同學(xué)、老師等。這樣可達(dá)到事半功倍的目的。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)6 6 參考文獻(xiàn)參考文獻(xiàn)1. 黃曉東JAVA 課程設(shè)計(jì)案例精編(第二版)M中國水利電出版社,20052. 徐迎曉JAVA 語法及網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)。清華大學(xué)出版社。3. 技術(shù)交流網(wǎng)站 CSDN:網(wǎng)址: 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)7 7 附件:附件:import java.awt.*;import java.util.*;import java.lang.*;public class Students.java extends Applet implements Actio
39、nListener Vector 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( 用戶:); Label prompt3=new Label( 密碼:); Label prompt4=new Label( 班級:); Label prompt5=new Label( 成績:); TextField input1=new TextField(8);
40、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 Button(修改); Button btn4=new Button(刪除); public void init() setLayout(new GridLayout(6,3); add(new Label(); add(prompt1); ad
41、d(new Label(); add(prompt2); add(input1); add(new Label();精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) add(prompt3); add(input2); add(btn1); add(prompt4); add(input3); add(new Label(); add(prompt5); add(input4); add(new Label(); add(btn2); add(btn3); add(btn4); prompt4.setVisible(false); prompt5.setVisible(false); input3.
42、setVisible(false); input4.setVisible(false); btn2.setVisible(false); btn3.setVisible(false); btn4.setVisible(false); btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); btn4.addActionListener(this); public void actionPerformed(ActionEvent e) if(e.getActionComman
43、d()=登錄) String a,b; a=input1.getText(); b=input2.getText(); input1.setText(); if(a.equals(12)=true)&(b.equals(12)=true) 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) prompt2.setText( 姓名:); prompt3.setText( 學(xué)號:); prompt4.setVisible(true); prompt5.setVisible(true); input3.setVisible(true); input4.setVisible(true); btn2.s
44、etVisible(true); btn3.setVisible(true); btn4.setVisible(true); btn3.setEnabled(false); btn4.setEnabled(false); btn1.setLabel(查詢); input1.setText(登錄成功); input1.selectAll(); else input2.setText(用戶名或密碼錯(cuò)); if(e.getActionCommand()=增加) boolean scucss=true; try XingMing(); catch(EmptyException as) input1.s
45、etText(姓名不能為空); scucss=false; try xh=Integer.parseInt(input2.getText(); 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) catch(NumberFormatException m) input2.setText(學(xué)號為空或格式錯(cuò)); scucss=false; bj=input3.getText(); try ChengJi(); catch(EmptyException as) cj=-1; catch(OverException dd) input4.setText(應(yīng)在 0-100 間); scucss=false; c
46、atch(NumberFormatException cm) input4.setText(成績應(yīng)為數(shù)據(jù)); scucss=false; if(scucss=true) SI=new StudentInf(xm,xh,bj,cj); Insert(SI); if(e.getActionCommand()=修改) xm=input1.getText(); xh=Integer.parseInt(input2.getText();精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) bj=input3.getText(); cj=Integer.parseInt(input4.getText(); SI=n
47、ew StudentInf(xm,xh,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; try xh=Intege
48、r.parseInt(input2.getText(); catch(NumberFormatException m) input2.setText(學(xué)號為空或格式錯(cuò)); right=false; if(right=true) search(xh); btn3.setEnabled(true); btn4.setEnabled(true); 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) /查找方法 public void search(int k) boolean exist=false; int low=0; int high=StuInf.size()-1; while(low=high)
49、mid=(high+low)/2; StudentInf a1=(StudentInf) StuInf.elementAt(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) inpu
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵藝圍欄維修施工方案
- 代理招商合同協(xié)議書
- TDGHHX 001-2024 朱頂紅商品種球采收規(guī)范
- 西藏輕質(zhì)混凝土施工方案
- 裝修腳手架搭拆施工方案
- 隧洞施工方案模擬圖
- 行政辦公運(yùn)轉(zhuǎn)方案
- 平房區(qū)保溫陽臺施工方案
- 標(biāo)準(zhǔn)戶外廣告牌施工方案
- (三模)榆林市2025屆高三第三次模擬檢測政治試卷(含答案詳解)
- 2024年事業(yè)單位考試云南省昭通市A類《職業(yè)能力傾向測驗(yàn)》深度預(yù)測試題含解析
- 火災(zāi)自動報(bào)警系統(tǒng)檢查表
- 骨髓細(xì)胞圖譜
- 高風(fēng)險(xiǎn)作業(yè)培訓(xùn)課件
- 試驗(yàn)檢測單位安全培訓(xùn)課件
- 2024年安徽省C20教育聯(lián)盟中考一模道德與法治試卷(含答案)
- 公路瀝青路面設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范
- 急性腎小球腎炎的護(hù)理PPT文檔
- 印刷業(yè)數(shù)字化轉(zhuǎn)型
- 加油站春季安全教育培訓(xùn)
- 高壓隔膜壓濾機(jī)安裝方案
評論
0/150
提交評論