版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 數(shù)學與計算機學院</b></p><p><b> 課程設計說明</b></p><p> 課 程 名 稱: JAVA程序設計-課程設計 </p><p> 課 程 代 碼: </p><
2、;p> 題 目: 學生成績管理系統(tǒng) </p><p> 年級/專業(yè)/班: </p><p> 學 生 姓 名: </p><p> 學 號:
3、 </p><p> 開 始 時 間: 2010 年 12 月 7 日</p><p> 完 成 時 間: 2010 年 12 月 23 日</p><p><b> 課程設計成績:</b></p><p> 指導教師簽名:
4、 年 月 </p><p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p> 1.1 問題的提出1</p><p> 1.2國內外研究的現(xiàn)狀1</p><p> 1.3系統(tǒng)的具體任務2&
5、lt;/p><p> 1.4 系統(tǒng)開發(fā)目的2</p><p><b> 2需求分析3</b></p><p> 2.1總體功能需求3</p><p><b> 2.2初始化4</b></p><p><b> 2.3添加學生4</b>&l
6、t;/p><p> 2.4刪除學生記錄4</p><p> 2.5修改學生記錄4</p><p> 2.6查看學生記錄5</p><p><b> 2.7退出系統(tǒng)5</b></p><p><b> 3系統(tǒng)分析5</b></p><p>
7、; 3.1系統(tǒng)用例圖5</p><p> 3.2 系統(tǒng)總體用例圖6</p><p> 3.3學生信息用例圖6</p><p> 3.4管理員信息用例圖7</p><p><b> 4系統(tǒng)概要設計7</b></p><p> 4.1 軟件設計的原則7</p>&
8、lt;p> 4.2 系統(tǒng)HIPO圖9</p><p> 4.3 數(shù)據(jù)庫表設計10</p><p> 5系統(tǒng)詳細設計12</p><p> 5.1 系統(tǒng)程序流程圖12</p><p> 5.2 系統(tǒng)過程設計13</p><p><b> 6 模塊分析15</b><
9、/p><p> 6.1 用戶管理模塊15</p><p> 6.2增加學生信息模塊16</p><p> 6.3 修改學生信息模塊17</p><p> 6.4 綜合查詢模塊19</p><p> 6.5 存儲過程及觸發(fā)器:20</p><p><b> 7系統(tǒng)測試
10、21</b></p><p><b> 8結論25</b></p><p><b> 9參考文獻26</b></p><p><b> 1 引言</b></p><p><b> 1.1 問題的提出</b></p>&
11、lt;p> 人類已進入21世紀,科學技術突飛猛進,經(jīng)濟知識和信息產(chǎn)業(yè)初見端倪,特別是信息技術和網(wǎng)絡技術的訊速發(fā)展和廣泛應用,對社會的政治、經(jīng)濟、軍事、文化等領域產(chǎn)生越來越深刻。學生成績管理系統(tǒng)是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要。本論文敘述到的學生成績管理系統(tǒng)是用JSP網(wǎng)頁編程+ACCESS數(shù)據(jù)庫+SQL查詢語言實現(xiàn)的。重點介紹了學生成績管理系統(tǒng)的實現(xiàn)過程:包括系統(tǒng)分析、 系統(tǒng)調查、功能設
12、計、數(shù)據(jù)庫設計、系統(tǒng)實現(xiàn)、系統(tǒng)測試和調試等。本系統(tǒng)主要功能有教師管理、學生管理、班級管理、學生信息管理、成績管理、留言管理,包括功能需求描述、數(shù)據(jù)庫設計等內容。</p><p> 1.2國內外研究的現(xiàn)狀 </p><p> 現(xiàn)在的社會日新月異,發(fā)展的非常快。學校的發(fā)展也是非常的快了,而且每年都有不同的要求。學生的量也非常的大,資料可能經(jīng)常性的發(fā)生更換,原來手工的管理模式就顯的不怎么的合
13、適了。而且手工的數(shù)據(jù)是存放在多處的,沒有使用統(tǒng)一管理的模式,數(shù)據(jù)整理非常的麻煩,統(tǒng)計也困難,很多的情況下,老師都是在重復一些相同的工作。做一些相似的報表,這樣不但降低了工作效率,而且非常的容易出錯。在這種條件下,使用微機管理就顯的非常的合適了。只要你正確的錄入,統(tǒng)計,報表輸出一點問題都沒有的。 學生做為學校的最主要的管理對象,學生檔案管理系統(tǒng)就成了學校信息化管理系統(tǒng)中中不可缺少的部分,它的內容對于學校的管理者說都至關重
14、要。但一直以來人們使用傳統(tǒng)人工的方式進行學生的檔案管理,這種管理方式存在著許多缺點,如:效率低,容易出錯,格式不規(guī)范。另外時間一長,不容易進行統(tǒng)計和分析。 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對學生檔案進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、</p>
15、<p> 1.3系統(tǒng)的具體任務 </p><p> 該系統(tǒng)的具體任務就是設計一個學生成績的數(shù)據(jù)庫管理系統(tǒng),由計算機來代替人工執(zhí)行一系列諸如增加新學生成績信息、刪除學生成績信息、學生資料、查詢、修改等的處理操作,以方便管理人員的管理信息工作。 本設計以客戶為中心,界面要美觀大方,操作盡量簡單明了,且要有良好的容錯性,在用戶出現(xiàn)誤操作時能及時給出警告并修改。
16、在現(xiàn)有的技術和資金的情況下完全可以設計出這套功能完善的應用軟件。</p><p> 1.4 系統(tǒng)開發(fā)目的</p><p> 建立學生成績管理系統(tǒng),采用計算機對學生成績進行管理,進一步提高辦學效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,實現(xiàn)學生成績信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化。</p><p> 1.5 系統(tǒng)環(huán)境需求 編程
17、語言:JAVA</p><p> Java + Eclipse + SQL server數(shù)據(jù)庫</p><p> 開發(fā)工具:Eclipse SDK(英文版)</p><p> SQL 2000(中文版) 運行環(huán)境:Windows xp或windows 20002需求分析</p><p><b> 2
18、.1總體功能需求</b></p><p><b> 2.2初始化</b></p><p><b> 業(yè)務流程描述:</b></p><p> 1:初始化系統(tǒng)執(zhí)行對對象進行序列化</p><p> 2: 反序列化獲得對象</p><p><b>
19、 業(yè)務規(guī)則說明:</b></p><p> 1:進入系統(tǒng)第一步必須序列化 。</p><p> 2:獲得反序列化的對象,如果文件不存在興建一個,單必須是需要的對象類型。</p><p><b> 2.3添加學生</b></p><p><b> 業(yè)務流程描述:</b></p
20、><p> 1:要求用戶從鍵盤輸入一個或多個學生信息;</p><p> 2:輸入完成后序列化到文件/表。</p><p> 3:學生紀錄不允許重復,判斷的關鍵字為學號</p><p><b> 業(yè)務規(guī)則說明:</b></p><p> 1:從菜單選擇添加學生,獲得容器對象 。</p&
21、gt;<p> 2:進入添加頁面提示添加屬性。</p><p><b> 3:性別限制男女。</b></p><p> 4:科目成績可變性。課程可自動調節(jié)</p><p> 5:學號作為唯一標示符:</p><p><b> 不能出現(xiàn)重復學號。</b></p>
22、<p><b> 必須是數(shù)字組成。</b></p><p> 6:添加完成后把容器對象序列化到文件</p><p><b> 2.4刪除學生記錄</b></p><p><b> 業(yè)務流程描述:</b></p><p> 1:要求用戶輸入欲刪除的學生的學號;
23、</p><p><b> 2:刪除學生記錄;</b></p><p> 3:更新到文件/表。</p><p><b> 業(yè)務規(guī)則說明:</b></p><p> 1:傳遞一個容器對象。</p><p> 2:給定一個學生學號刪除一個學生信息</p>
24、<p> 2:遍歷容器是否有輸入學號的學生信息。</p><p> 如果存在,提示是否刪除。</p><p><b> 如果沒有重新輸入。</b></p><p> 3:如果刪除成功返回一個容器對象,序列化到文件。</p><p><b> 2.5修改學生記錄</b></p
25、><p><b> 業(yè)務流程描述:</b></p><p> 1:要求用戶輸入欲修改的學生的學號;</p><p> 2:判斷該學生是否存在于記錄中;</p><p> 3:若學生記錄存在,提供修改學生信息功能。</p><p><b> 業(yè)務規(guī)則說明:</b><
26、/p><p> 1:傳遞一個容器對象給修改方法。</p><p> 2:給定一個欲修改學生的學號</p><p> 3:遍歷容器是否有輸入學號的學生信息。</p><p> 如果存在學生對象,繼續(xù)下一步。</p><p><b> 如果沒有重新輸入。</b></p><p
27、> 4:通過判斷知道存在學生對象后遍歷獲得學生對象。</p><p> 5:提示要修改的類容</p><p> 提示舊的信息添加新的信息</p><p> 6:修改后獲得容器對象,序列化到文件</p><p><b> 2.6查看學生記錄</b></p><p><b>
28、 業(yè)務流程描述:</b></p><p><b> 1:輸入學生學號;</b></p><p> 2:若該學生存在,打印該學生相關信息。</p><p> 查看多個學生記錄。具體功能為:</p><p> 1:打印出所有學生的記錄;</p><p> 2:能分別按學號、姓名
29、、性別、年齡和分數(shù)進行排序。</p><p><b> 業(yè)務規(guī)則說明:</b></p><p> 1:輸入選項獲得查看方式,獲得容器對象。</p><p> 2:全部查看顯示獲得全部學生信息</p><p><b> 3:查看特定學生。</b></p><p><
30、;b> 輸入學生學號;</b></p><p><b> 判斷學生是否存在</b></p><p> 如果存在顯示單個學生,如果不存在提示不存在,重新輸入。</p><p><b> 2.7退出系統(tǒng)</b></p><p><b> 提示是否退出</b&g
31、t;</p><p><b> 3系統(tǒng)分析</b></p><p><b> 3.1系統(tǒng)用例圖</b></p><p> 用例圖主要用來圖示化系統(tǒng)的主事件流程,它主要用來描述需求,即希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,是設計系統(tǒng)分析階段的起點,設計人員根據(jù)需求來創(chuàng)建和解釋用例圖,用來描
32、述軟件應具備哪些功能模塊以及這些模塊之間的調用關系。</p><p> 3.2 系統(tǒng)總體用例圖</p><p> 本系統(tǒng)包括三類角色:教師、管理員和學生。教師可以進行分報表,記錄分數(shù)和更新分數(shù)的操作,管理員可以查看分數(shù)和進行成績的總報表,學生可以查看個人成績。同時系統(tǒng)還可以加載分數(shù)和保存分數(shù)。其系統(tǒng)總體用例圖如圖2.1所示:</p><p> 圖 3.1 系統(tǒng)
33、總體用例圖</p><p> 3.3學生信息用例圖</p><p> 學生信息管理模塊包括三類角色,可分別根據(jù)自己的權限對個人信息進行增加、刪除和修改等操作。其用例圖如圖3.2所示:</p><p> 圖 3.2 學生信息用例圖</p><p> 3.4管理員信息用例圖</p><p> 管理員信息管理模塊包
34、括兩種角色,根據(jù)不同的權限可以添加管理員、查看管理員、刪除管理員,還包括登錄, 管理員信息用例圖如圖3.3所示:</p><p> 圖 3.3 管理員信息用例圖</p><p><b> 4系統(tǒng)概要設計</b></p><p> 4.1 軟件設計的原則</p><p><b> 1.模塊化</b&
35、gt;</p><p> 模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。</p><p> Meyer提出了五條標準,可以用這五條標準來評價一種設計方法定義有效的模塊系統(tǒng)的能力。下面列出這五條標準。</p><p><b> ?。?)模塊可分解性</b&
36、gt;</p><p> 如果一種設計方法提供了把問題分解為子問題的系統(tǒng)化機制,它就能降低整個問題的復雜性,從而可以實現(xiàn)一種有效的模塊化解決方案。</p><p><b> (2)模塊可組裝性</b></p><p> 如果一種設計方法能把現(xiàn)有的(可重用的)設計構件組裝成新系統(tǒng),它就能提供一種并非一切都從頭開始做的模塊化解決方案。<
37、/p><p><b> ?。?)模塊可理解性</b></p><p> 如果可以把一個模塊作為一種獨立單元(無需參考其他模塊)來理解,那么,這樣的模塊是易于構造和易于修改的。</p><p><b> (4)模塊連續(xù)性</b></p><p> 如果對系統(tǒng)需求的微小修改只導致對個別模塊,而不是對整
38、個系統(tǒng)的修改,則修改所引起的副作用將最小。</p><p><b> ?。?)模塊保護性</b></p><p> 如果在一個模塊內出現(xiàn)異常情況時,它的影響局限在該模塊內部,則由錯誤引起的副作用將最。</p><p> 采用模塊化原理可以使軟件結構清晰,不僅容易設計也容易閱讀和理解。因為程序錯誤通常局限在有關的模塊及它們之間的接口中,所以模
39、塊化使軟件容易測試和調試,因而有助于提高軟件的可靠性。因為變動往往只涉及少數(shù)幾個模塊,所以模塊化能夠提高軟件的可修改性。模塊化也有助于軟件開發(fā)工程的組織管理,一個復雜的大型程序可以由許多程序員分工編寫不同的模塊,并且可以進一步分配技術熟練的程序員編寫困難的模塊。</p><p><b> 2.抽象</b></p><p> 人類在認識復雜現(xiàn)象的過程中使用的最強有力
40、的思維工具是抽象。把這些相似的方面集中和概括起來,暫時忽略它們之間的差異,這就是抽象?;蛘哒f抽象就是抽出事物的本質特性而暫時不考慮它們的細節(jié)。</p><p><b> 3.逐步求精</b></p><p> 逐步求精是人類解決復雜問題時采用的基本技術,也是許多軟件工程技術(例如,規(guī)格說明技術,設計和實現(xiàn)技術、測試和集成技術)的基礎。可以把逐步求精定義為:“為了能
41、集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮?!?lt;/p><p> 求精實際上是細化過程。我們從在高抽象級別定義的功能陳述(或信息描述)開始。也就是說,該陳述僅僅概念性地描述了功能或信息,但是并沒有提供功能的內部工作情況或信息的內部結構。求精要求設計者細化原始陳述,隨著每個后續(xù)求精(細化)步驟的完成而提供越來越多的細節(jié)。</p><p><b> 4.信息隱藏</b&
42、gt;</p><p> 應用模塊化原理時,自然會產(chǎn)生的一個問題是:“為了得到最好的一組模塊,應該怎樣分解軟件”。信息隱藏原理指出:應該這樣設計和確定模塊,使得一個模塊內包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。</p><p> 4.2 系統(tǒng)HIPO圖</p><p> HIPO圖是美國IBM公司發(fā)明的“層次圖加輸入/處理/輸出圖”
43、的英文縮寫。根據(jù)系統(tǒng)的模塊層次結構可得到系統(tǒng)HIPO圖,本軟件的HIPO圖如圖4.1所示。</p><p> 圖 4.1 系統(tǒng)HIPO圖</p><p> 模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序對象的集合。是可以單獨被命名的而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等等都可作為模塊。模塊化就是將程序劃分成若干個模塊,每個模塊完成一個子功能,把這些模塊集合起來組成一個整體,可以完成指定
44、的功能滿足問題的要求。</p><p> 模塊化設計不僅降低了系統(tǒng)的復雜性,使得系統(tǒng)容易修改,而且推動了系統(tǒng)各個部分的并行開發(fā),從而提高了軟件的生產(chǎn)效率。</p><p> 以下為成績管理的IPO表,如圖4.2所示:</p><p> 圖 4.2 成績管理IPO表</p><p> 4.3 數(shù)據(jù)庫表設計</p><
45、p> 邏輯結構設計的任務是把概念結構設計階段設計好的E-R圖轉換成與選用的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結構。E-R圖所需解決的問題是如何確定實體和實體間的關系,如何確定這些關系模式的屬性和碼。數(shù)據(jù)庫中兩實體間1:n聯(lián)系轉換為一個與n端對應的關系模式合并的關系模式的方法是將聯(lián)系的屬性與1端的碼加入n端作為屬性,主碼為n端實體的主碼。以下為本系統(tǒng)中部分表的簡單介紹。</p><p> 1、管理員
46、基本信息表包含管理員編號、管理員姓名、管理員密碼,設計時注意AdminID設為主鍵,如表3.1所示:</p><p> 表 4.1 管理員基本信息表</p><p> 2、學生基本信息表包含的信息是學生編號、學生姓名、學生性別、學生年齡、家庭住址、聯(lián)系電話等信息,設計時注意ID字段設為主鍵,設為Int類型,如表3.2所示:</p><p> 表 4.2 學生基
47、本信息表</p><p> 3、教師基本信息表包含教師編號、教師姓名、教師年齡、家庭住址、聯(lián)系電話、所教科目等信息,設計時注意ID字段設為主鍵,設為Int類型,如表4.3所示:</p><p> 表 4.3 教師基本信息表</p><p> 4、成績基本信息表包括學生編號、科目類型、任課教師、所得分數(shù),ID設為主鍵,如表4.4所示:</p>&l
48、t;p> 表 4.4 成績基本信息信息表</p><p><b> 5系統(tǒng)詳細設計</b></p><p> 5.1 系統(tǒng)程序流程圖</p><p> 5.1.1 管理員登錄模塊</p><p> 管理員登錄的流程是:如果管理員存在,則直接輸入賬號密碼,系統(tǒng)判斷賬號密碼是否正確,如果輸入不正確,重新輸入,
49、直到輸入正確之后才可以進入系統(tǒng);當管理員不存在時,作者選擇注冊,根據(jù)個人詳細情況輸入個人信息,系統(tǒng)將會判斷輸入的信息是否正確,直到輸入的信息正確之后才注冊成功,然后輸入注冊的賬號密碼登錄系統(tǒng),系統(tǒng)仍會判斷賬號密碼是否正確,直到輸入正確的賬號密碼才會進入系統(tǒng)。其流程圖如圖5.1所示:</p><p> 圖 5.1 管理員登錄流程圖</p><p> 5.1.2 成績管理模塊</p&
50、gt;<p> 成績管理的流程是:管理員輸入賬號密碼之后,系統(tǒng)判斷輸入賬號密碼是否正確,不正確,重新輸入直到正確才可以進入后臺管理系統(tǒng),選擇成績管理,選擇要進行審核的成績,進行編輯修改,之后再進一步審核,確定成績是否錄用,如果是存儲成績,則會顯示在系統(tǒng)前臺的首頁。其流程圖如圖4.2所示:</p><p> 圖5.2 成績管理流程圖</p><p> 5.2 系統(tǒng)過程設計
51、 </p><p> 過程設計的任務不是具體地編寫程序,而是要設計出程序的“藍圖”,程序員根據(jù)這個藍圖寫出實際的代碼。因此,過程設計的結果基本上決定了最終的程序代碼的質量。</p><p> 在軟件的生命周期中,實際上對于長期使用的軟件系統(tǒng)而言,人讀程序的時間可能比寫程序的時間還要長得多。因此,衡量程序的質量不僅要看它的邏輯是否正確,性能是否滿足要求,更主要的是要看它是否容易閱讀和理解
52、。過程設計的目標不僅僅是邏輯上正確地實現(xiàn)每個模塊的功能,更重要的是設計出的處理過程應該盡可能簡明易懂。結構程序設計技術是實現(xiàn)上述目標的關鍵技術,因此是過程設計的邏輯基礎。</p><p> N-S圖是一種符合結構化程序設計原則的圖形描述工具,又稱之為盒圖。它有以下特點:</p><p> 1) 功能域明確,可以從盒圖上一眼就看出來。</p><p> 2)不可
53、能任意轉移控制。</p><p> 3)很容易確定局部和全程數(shù)據(jù)的作用域。</p><p> 4)很容易表明嵌套關系,也可以表示模塊的層次結構。</p><p> 系統(tǒng)前臺的N-S圖,如圖5.3所示:</p><p> 圖 5.3 系統(tǒng)前臺N-S圖</p><p> PAD 是問題分析圖(Problem An
54、alysis Diagram)的英文縮寫,它用二維樹形結構的圖來表示程序的控制流,是一種用結構化程序設計思想表現(xiàn)程序邏輯結構的圖形工具,將這種圖翻譯成程序代碼比較容易。</p><p> PAD圖的主要優(yōu)點如下:</p><p> (1)使用表示結構化控制的PAD符號所設計出來的程序必然是結構化程序。</p><p> ?。?)PAD圖描述的程序結構十分清晰。&
55、lt;/p><p> 圖中最左面的豎線是程序的主線,即第一層結構。隨著程序層次增加,PAD圖逐漸向右延伸,每增加一個層次,圖形向右擴展一條豎線,PAD圖中豎線的總條數(shù)就是程序的層次數(shù)。</p><p> ?。?)用 PAD 圖表現(xiàn)程序邏輯易讀、易懂、易記。 PAD圖是二維樹形結構的圖形,程序從圖中最左豎線上端的結點開始執(zhí)行,自上而下,從左到右順序執(zhí)行,遍歷所有結點。</p>&
56、lt;p> ?。?)有利于提高軟件的可靠性和軟件生產(chǎn)率。容易將PAD圖轉換成高級語言源程序,這種轉換可用軟件工具自動完成,從而可以省去人工編碼的工作,有利于提高軟件的可靠性和軟件生產(chǎn)率。</p><p> ?。?)既可用于表示程序邏輯,也可用于描述數(shù)據(jù)結構。</p><p> (6)PAD 圖的符號支持自頂向下、逐步求精方法的使用。</p><p> 開始
57、設計者可以定義一個抽象的程序,隨著設計工作的深入而使用 def 符號逐步增加細節(jié),直至完成詳細設計,系統(tǒng)前臺的PAD圖,如圖5.4所示:</p><p> 圖 5.4 系統(tǒng)前臺PAD圖</p><p><b> 6 模塊分析</b></p><p> 6.1 用戶管理模塊</p><p> 添加用戶,刪除用戶:&
58、lt;/p><p> public void managementUser(String sa) {</p><p> interFram = new JInternalFrame(sa, true, true, true, true);</p><p> interFram.setBounds(0, 0, frm1.width, frm1.height);<
59、;/p><p> interFram.validate();</p><p> interFram.setVisible(true);</p><p> jkjkjk = new 管理用戶();</p><p> interFram.add(jkjkjk);</p><p> add(interFram, Bor
60、derLayout.CENTER);</p><p> 圖6.1 用戶管理流程圖</p><p> 6.2增加學生信息模塊</p><p> 對學生信息進行增加::</p><p> public void addC(String sa) {</p><p> interFram = new JInterna
61、lFrame(sa, true, true, true, true);</p><p> interFram.setBounds(0, 0, frm1.width, frm1.height);</p><p> interFram.validate();</p><p> interFram.setVisible(true);</p><p
62、> jkjkjk1 = new 信息();</p><p> interFram.add(jkjkjk1);</p><p> add(interFram, BorderLayout.CENTER);</p><p><b> }</b></p><p> stu 學生 extends JPanel {&
63、lt;/p><p> private static final long serialVersionUID = -2018754547089377035L;</p><p> JTable table;</p><p> JScrollPane scroll;</p><p> String rili[][] = new String[1
64、00][3];</p><p> String str1, str2, str3;</p><p> Object name[] = { "學號", "學科", "成績" };</p><p> Connection con;</p><p> int lyl, lwc;&l
65、t;/p><p> Statement sql;</p><p> ResultSet rs;</p><p> 圖6.2 學生信息增加流程圖</p><p> 6.3 修改學生信息模塊</p><p> 對學生的成績及信息進行修改::</p><p> String rili[][]
66、= new String[100][4];</p><p> JButton f = JButton("修改信息");</p><p> 學生信息視圖表() {</p><p><b> try {</b></p><p> con = DriverManager.getConnection(
67、"jdbc:odbc:qyl", "", "");</p><p> sql = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,</p><p> ResultSet.CONCUR_READ_ONLY);</p><p> rs = sql
68、.executeQuery("select * from 已修改視圖 WHERE SNO = " + "'"+ qyl + "'");</p><p> int i = 0;</p><p> while (rs.next()) {</p><p> rili[i][0] = rs.g
69、etString(1);</p><p> rili[i][1] = rs.getString(2);</p><p> rili[i][2] = rs.getString(3);</p><p> rili[i][3] = rs.getString(4);</p><p><b> i++;</b></p
70、><p><b> }</b></p><p><b> }</b></p><p> Stringoldvalue = table.getValueAt(table.getSelectedRow(),</p><p> table.getSelectedColumn()).toString(
71、);</p><p> int row = table.getSelectedRow();</p><p> int column = table.getSelectedColumn();</p><p> if(column==0){</p><p> System.out.println(oldvalue);</p>
72、<p> System.out.println(row+"\t"+column);</p><p> System.out.println(rili[row][column+2]);</p><p> int n = JOptionPane.showConfirmDialog(jk, "您選擇刪除"</p><p
73、> + rili[row][1]+"("+rili[row][2]+"\b)"+"成績\n是否繼續(xù)?", "提示對話框",</p><p> JOptionPane.YES_NO_OPTION);</p><p> if (n == JOptionPane.YES_OPTION) {</p&g
74、t;<p> System.out.println(rili[row][1]);</p><p> String del = "DELETE FROM SC WHERE CNO = " +"'"+rili[row][1]+"'" ;</p><p> 圖6.3修改學生成績流程圖</p>
75、;<p> 6.4 綜合查詢模塊</p><p> class 查詢 extends JPanel {</p><p> private static final long serialVersionUID = -4737165668992172494L;</p><p> JTable table;</p><p>
76、 JScrollPane scroll;</p><p> String rili[][] = new String[100][5];</p><p> Object name[] = { "學號", "姓名", "性別", "年齡", "系別" };</p><p&
77、gt; int lht, lyl, lwc;</p><p> Connection con;</p><p> String oldvalue = null;</p><p> Statement sql;</p><p> String str1, str2, str3, str4, str5;</p><p
78、> ResultSet rs;</p><p> 6.5 存儲過程及觸發(fā)器:</p><p> 觸發(fā)器:刪除S表中的數(shù)據(jù)以后SC表中的相應的數(shù)據(jù)也被刪除</p><p> CREATE TRIGGER delS_SC ON S</p><p> FOR DELETE </p><p> AS d
79、eclare @SNO_DEL char(12)</p><p> select @SNO_DEL =SNO from deleted</p><p> delete from SC</p><p> where SNO=@SNO_DEL</p><p> 觸發(fā)器:更新S表中的SNO后SC表中的也相應改變</p><
80、;p> CREATE TRIGGER UptateS_SC ON S </p><p> FOR UPDATE </p><p> AS IF UPDATE(SNO)</p><p><b> BEGIN</b></p><p> DECLARE @SNO_NEW CHAR(12),@SNO_OLD CH
81、AR(12)</p><p><b> SEL</b></p><p> ECT @SNO_NEW = SNO FROM INSERTED</p><p> SELECT @SNO_OLD =SNO FROM DELETED</p><p> UPDATE SC SET SNO =@SNO_NEW WHERE S
82、NO =@SNO_OLD</p><p><b> END</b></p><p> 觸發(fā)器:刪除C表中的信息后SC表中的相應信息也會被刪除掉</p><p> CREATE TRIGGER delC_SC ON C</p><p> FOR DELETE </p><p> AS
83、 declare @CNO_DEL char(2)</p><p> select @CNO_DEL =CNO from deleted</p><p> delete from SC</p><p> where CNO=@CNO_DEL</p><p> 觸發(fā)器:更新C表中的信息后SC表中的相應信息也會隨著改變</p>
84、<p> CREATE TRIGGER UptateC_SC ON C </p><p> FOR UPDATE </p><p> AS IF UPDATE(CNO)</p><p><b> BEGIN</b></p><p> DECLARE @SNO_NEW CHAR(12),@SNO_O
85、LD CHAR(12)</p><p> SELECT @SNO_NEW = CNO FROM INSERTED</p><p> SELECT @SNO_OLD =CNO FROM DELETED</p><p> UPDATE SC SET CNO =@SNO_NEW WHERE CNO =@SNO_OLD</p><p><
86、b> END</b></p><p> 觸發(fā)器:刪除T表中的教師信息后TC表中的相應信息也會別刪掉</p><p> CREATE TRIGGER delT_TC ON T</p><p> FOR DELETE </p><p> AS declare @SNO_DEL char(12)</p>
87、<p> select @SNO_DEL =TNO from deleted</p><p><b> 7系統(tǒng)測試</b></p><p> 首先進入NETBEANS,打開工程person.dsw,然后進入源程序,接著選擇Build下的Execute person.exe即可,也可以不打開工程,直接雙擊person文件夾下的debug或releas
88、e子文件夾下的person.exe文件即可運行程序。</p><p> 1. 系統(tǒng)登錄界面,如圖7.1-7.3所示。</p><p><b> 圖 7.1</b></p><p><b> 圖 7.2</b></p><p><b> 圖 7.3</b></p&g
89、t;<p> 2.系統(tǒng)主界面,如圖7.4所示。</p><p><b> 圖 7.4</b></p><p> 3.增加學生信息界面,如圖7.5所示。</p><p><b> 圖 7.5</b></p><p> 4.修改學生信息界面,如圖7.6所示。</p>
90、<p><b> 圖 7.6</b></p><p> 5.查找學生信息界面,如圖7.7所示。</p><p><b> 圖 7.7</b></p><p> 本系統(tǒng)依據(jù)開發(fā)要求主要應用于教育系統(tǒng),完成對日常的教育工作中學生成績檔案的數(shù)字化管理。開發(fā)本系統(tǒng)可使學院教職員工減輕工作壓力,比較系統(tǒng)地對教務、
91、教學上的各項服務和信息進行管理,同時,可以減少勞動力的使用,加快查詢速度、加強管理,以及國家各部門關于信息化的步伐,使各項管理更加規(guī)范化。</p><p> 目前,學校工作繁雜、資料重多,雖然各類管理信息系統(tǒng)已進入高校,但還未普及,而對于學生成績管理來說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適和大眾的、兼容性好的系統(tǒng)是很有必要的。</p><p> 本系統(tǒng)在開發(fā)過程中,注意
92、使其符合操作的業(yè)務流程,并力求系統(tǒng)的全面性、通用性,使得本系統(tǒng)不只適用于一家教育機構。在開發(fā)方法的選擇上,選擇了生命周期法與原型法相結合的方法,遵循系統(tǒng)調查研究、系統(tǒng)分析、系統(tǒng)設計和系統(tǒng)實施四個主要階段進行設計,而在具體的設計上,采取了演化式原型法,隨著用戶的使用及對系統(tǒng)了解的不斷加深,對某一部分或幾部分進行重新分析、設計、實施。8結論</p><p> 繼C++之后學習Java 程序設計語言會感覺很輕松,因為
93、Java 與C++語法類似,并把C++中一些較低級和較難以理解的功能都去掉了,如多繼承、指針等,同時Java增強了部分功能,如“+”運算符的重載。對于初學Java的人而言,難點是 Java中的 引用、初始化一個類過程等??偟膩碚f,Java 其易于學習、高效率的執(zhí)行方式、平臺無關性、分布式與高安全性及其豐富的API文檔和類庫等特點都說明Java 是程序設計語言的偉大進步的表現(xiàn)。</p><p> 可以說這么說,本
94、次課程設計綜合考察了我們對Java程序設計知識的掌握熟練程度和實際運用能力。其間,涉及到了Java 中的絕大多數(shù)的知識點,如Java圖形用戶界面設計、Java的異常處理機制、Java中的多線程程序設計、Java輸入輸出流等。</p><p> 程序實現(xiàn)的關鍵在于功能的合理劃分以及各個包或者類之間的通訊問題,只要分析清楚這兩點,剩下的就是按部就班的寫代碼了。所以設計是關鍵。</p><p>
95、; 功能實現(xiàn)了,再就是如何對程序進行性能優(yōu)化的問題。如有的類需要多個對象實例,這時我們就可以使用Singleton模式產(chǎn)生唯一的對象實例,如“文件分割※合并器”中MyWindowListener類;文件操作中加入緩沖機制;對與圖像可以使用使用雙緩沖區(qū)等等。</p><p> 學習Java,我推薦使用 “六步走”的方法,循序漸進:</p><p> 第一步是安裝好JDK,寫一個Hell
96、o World。 其實JDK的學習沒有那么簡單,關于JDK有兩個問題是很容易一直困擾Java程序員的地方:一個是CLASSPATH的問題,其實從原理上來說,是要搞清楚JRE的ClassLoader是如何加載Class的;另一個問題是package和import問題,如何來尋找類的路徑問題。把這兩個問題摸索清楚了,就掃除了學習Java和使用JDK的最大障礙。推薦看一下王森的《Java深度歷險》,對這兩個問題進行了深入的探討。 第二步是學習
97、Java的語法。第三步是學習Java的面向對象的編程語言的特性的地方。比如繼承,構造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java的異常處理機制。第四步就是熟悉Java的類庫。第五步,Java Web 編程。第六步,J2EE編程。</p><p> 總之,作為一門程序設計語言,Java 的學習務必要做到多看多寫多想多請教。</p><p> 多看,看高手、大師的程序,借鑒其解題思路
98、和程序架構;多寫,學習程序設計很重要的就是要自己親自動手寫代碼,切忌犯眼高手低的弊病,而且這樣記憶非常深刻;多想,程序調試中出現(xiàn)一些“莫明其妙”的問題,為什么會這樣而不是那樣;多請教:程序設計說到底是要徹底搞清設計該語言的人的思想,遇到問題想不通應該請教同學、老師等。這樣可達到事半功倍的目的。</p><p><b> 9參考文獻</b></p><p> 1.
99、 黃曉東﹒JAVA課程設計案例精編(第二版)[M]中國水利電出版社,2005</p><p> 2. 徐迎曉﹒JAVA語法及網(wǎng)絡應用設計。清華大學出版社。</p><p> 3. 技術交流網(wǎng)站CSDN:網(wǎng)址: http://www.csdn.net/</p><p> 4. 技術交流網(wǎng)站博客園:網(wǎng)址: http://www.cnblogs
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java學生成績管理系統(tǒng)課程設計報告
- java學生成績管理系統(tǒng)課程設計報告
- java學生成績管理系統(tǒng)課程設計報告
- java課程設計--學生成績管理系統(tǒng)
- java課程設計--學生成績管理系統(tǒng)
- java課程設計----學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)java課程設計
- java學生成績管理系統(tǒng) 課程設計
- java學生成績管理系統(tǒng)課程設計
- 課程設計--基于java的學生成績管理系統(tǒng)
- java程序課程設計---學生成績管理系統(tǒng)的設計
- 學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告
- 課程設計報告-學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告
- 課程設計報告--學生成績管理系統(tǒng)
- 課程設計報告---學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告
評論
0/150
提交評論