[畢業(yè)論文]JAVA學生成績管理系統(tǒng)+詳細論文_第1頁
[畢業(yè)論文]JAVA學生成績管理系統(tǒng)+詳細論文_第2頁
[畢業(yè)論文]JAVA學生成績管理系統(tǒng)+詳細論文_第3頁
[畢業(yè)論文]JAVA學生成績管理系統(tǒng)+詳細論文_第4頁
[畢業(yè)論文]JAVA學生成績管理系統(tǒng)+詳細論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 摘 要目前,學校工作繁雜、資料重多,管理信息系統(tǒng)已進入高校,但還未普及,而對于學生成績管理來說,還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適和大眾的、兼容性好的系統(tǒng)是很有必要的。根據開發(fā)要求,它主要應用于教育系統(tǒng),完成對日常學生成績的錄入查詢更新刪除等管理操作,實現學生成績管理的計算機化。開發(fā)學生成績管理系統(tǒng)可使學院教職員工減輕工作壓力,比較系統(tǒng)地對教務、教學上的各項服務和信息進行管理,同時,可以減少勞動力的使用,加快查詢速度、加強管理。本論文敘述了現在高校學生成績管理的現狀以及java語言和一些開源框架的概況。重點介紹了學生成績管理系統(tǒng)的實現過程:包括系統(tǒng)分析、 系統(tǒng)調查、 數據庫設計、

2、功能設計、系統(tǒng)物理配置方案、 系統(tǒng)實現、系統(tǒng)測試以及系統(tǒng)功能簡介。關鍵詞:jsp,j2ee,學生成績維護系統(tǒng),mysql,hibernate,struts abstract at present, the school work is numerous and diverse, material is heavy, the management information system enters into the university, but does not popular, but regarding the student achievement management, does no

3、t have a set completely and unification system. therefore, develops a set suitable,populace and compatible good system is very necessary. according to the development request, it mainly applies in the educational system, completes to daily student achievement maintenance operations and so on input i

4、nquiry renewal deletion, realizes student achievement maintenance computerizing. developing the student achievement maintenance system can let the institute teaching and administrative staff to reduce the working pressure, compare with systematically to the educational administration, teaching each

5、service and the information carries on the management, simultaneously, can reduce the labor force which is used, speed up the inquiry speed, strengthen the management. the paper narrated the present universitys study result management in the present situation and the java language and some opens the

6、 source frame of the survey. introduced the realizes process of the student achievement management system: including the system analysis、the system investigation、the database design、the functional design、the system physics disposition plan、the system realize、the system test and the system introducti

7、on.key words: jsp, j2ee, student performance management system, mysql,hibernate, struts 目 錄第一章 緒 論41.2 項目開發(fā)的目標41.3 項目提出的意義4第二章 系統(tǒng)開發(fā)主要運用技術及開發(fā)模式62.1 系統(tǒng)開發(fā)技術介紹62.1.1 jsp技術62.1.2 javabeans 技術72.1.3 html及javascript技術72.1.4 struts技術92.2開發(fā)工具介紹92.2.1 eclipse簡介92.2.2 tomcat簡介102.3開發(fā)模式介紹102.4 數據庫技術132.4.1 關系數據

8、庫模型132.4.2 規(guī)范化132.4.3 mysql 簡介142.5 軟硬件環(huán)境15第三章 系統(tǒng)需求分析163.2系統(tǒng)構架163.3 用戶需求173.3.1學生的需求173.3.2老師的需求173.3.3管理員的需求173.4 數據需求分析173.4.1 數據字典183.4.2 e-r 圖19第四章 系統(tǒng)總體設計214.1 系統(tǒng)功能結構圖214.2系統(tǒng)總體設計思想214.3系統(tǒng)設計分析224.4 數據庫設計224.4.1 數據庫的概要設計224.4.2 數據庫表的設計23第五章 系統(tǒng)詳細設計255.1 登錄功能設計255.2 學員管理功能255.3 教師管理功能265.4 教務管理員功能27

9、5.5用戶返回功能28第六章 系統(tǒng)實現與測試296.1登錄身份的實現296.2學生登陸功能的實現296.3教師登陸功能的實現306.4教務管理員功能的實現326.5 系統(tǒng)測試346.5.1 測試原理346.5.2 測試方法356.5.3 測試的架構366.5.3 測試環(huán)境的搭建376.5.4 測試結果39第七章 總 結40致 謝41參考文獻42第一章 緒 論1.1 項目開發(fā)背景 一直以來學生的成績管理是學校工作中的一項重要內容,我國的大中專院校的學生成績管理水平普遍不高。隨著辦學規(guī)模的擴大和招生人數的增加,建立一個成績維護系統(tǒng)是非常必要的。普通的成績管理已不能適應時代的發(fā)展,因為它浪費了許多的

10、人力和物力。在當今信息時代這種傳統(tǒng)的管理方法必然被以計算機為基礎的信息管理系統(tǒng)所代替。為了提高成績管理的效率,我選擇了學生成績管理系統(tǒng)作為畢業(yè)設計的課題。 本系統(tǒng)在大多數成績管理系統(tǒng)的基礎上,主要增加了教師對成績的操作,教師改完試卷后不用在往學院的教務處辦公室報送成績,可以直接的把成績上傳到網絡上,學生也可以方便快速的查詢到自己的成績,考試后教務管理人員也不必總呆在學院的辦公室,他們都不受時間,位置,空間的限制,只要有上網的條件,在家里就可以完成有關成績的錄入,更新,管理,查詢和刪除。本系統(tǒng)將會改變以前靠手工管理學生成績的狀況,提高工作效率。希望能為老師和學校的工作帶來便利。1.2 項目開發(fā)的

11、目標 建立學生成績管理系統(tǒng),采用計算機對學生成績進行管理,進一步提高辦學效益和現代化水平。幫助廣大教師提高工作效率,實現學生成績維護工作流程的系統(tǒng)化、規(guī)范化和自動化。為了使系統(tǒng)在學院的管理中發(fā)揮更大的作用,實現工作過程的計算機化,提高工作效率和工作質量,現提出如下的系統(tǒng)開發(fā)目標: (1)系統(tǒng)應具有實用性、可靠性和適用性,同時注意到先進性。 (2)對各個數據庫進行動態(tài)管理,防止混亂。 (3)不同用戶有不同的查詢和修改權限,防止非法查詢,非法修改。 (4)能夠對查詢結果進行分類匯總,實現報表打印和下載。 (5)方便用戶的操作,盡量減少用戶的操作。 1.3 項目提出的意義 隨著高校辦學規(guī)模的擴大和招

12、生人數的增加,學生成績管理維護是學校管理中異常重要的一個環(huán)節(jié),作為學校,除了育人,就是育知,學生成績管理的計算機化是整個學校教務管理中的重要一部分,介于它的重要性,學生成績管理系統(tǒng)的開發(fā)與應用就逐漸提入議程,并占著越來越重要的份量。 運用學生成績管理維護系統(tǒng)可以減輕學院教學人員的工作量,縮小開支,提高工作效率與準確率,能夠節(jié)省時間,學生也能夠盡快的知道自己的考試成績,投入新的課程的學習或復習這次沒有考過的課程。而學生成績管理系統(tǒng)的應用也為今天的民辦教育在未來市場的競爭力有所提高。 在現代高科技的飛躍發(fā)展,人們工作習慣的改變,特別是電腦的大量普及,人們生活節(jié)奏越來越快,怎樣提高工作效率是人們首先

13、考慮的問題。學生成績管理是一個非常繁瑣與復雜的一項工作,一個原因就是工作量大,不好管。對于一個學校而言,管理好學生的成績,是非常重要的。因此開發(fā)出一套學生成績管理系統(tǒng)是非常必要的。第二章 系統(tǒng)開發(fā)主要運用技術及開發(fā)模式2.1 系統(tǒng)開發(fā)技術介紹2.1.1 jsp技術jsp作為一門最熱門的網絡編程語言,在電子商務和電子政務開發(fā)中得到了廣泛的應用。jsp全稱java server pages,它是由sun microsystems公司于1999年6月開發(fā)出來的一種全新的動態(tài)網頁標準。它在傳統(tǒng)的html代碼中加入java程序片段。web服務器在遇到訪問jsp網頁的請求時,首先執(zhí)行其中的程序片段,然后將

14、執(zhí)行結果以html格式返回給客戶。程序片段可以操作數據庫、重新定向網頁以及發(fā)送 email 等等,這就是建立動態(tài)網站所需要的功能。所有程序操作都在服務器端執(zhí)行,網絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低。jsp中編程語言是java,組件是javabeans,一次編譯一直運行,能在各種操作系統(tǒng)下工作。瀏覽器向web服務器請求.jsp文件,web服務器將.jsp文件發(fā)送到jsp引擎。jsp引擎首先檢查.jsp文件,如果是新的或修改過的,就把它編譯成servlet,再由servlet生成動態(tài)頁面。動態(tài)頁面以html語言形式發(fā)送回客戶端瀏覽器顯示。jsp元素是嵌入在靜態(tài)html頁面內的

15、。和html一樣,所有的jsp元素都必須用一對<>括起來。和html不同的是jsp區(qū)分大小寫。為了跟html標記有所區(qū)別,jsp標記都以<%或<jsp:開頭,含有元素名的起始標記和結束標記相匹配,完全符合xml的語法規(guī)范。如果起始標記和結束標記之間沒有內容,就可以合成一個單獨的標記。另外,jsp通過javabeans實現了功能擴展,能夠執(zhí)行更為復雜的處理。自jsp推出后,眾多大公司都支持jsp技術的服務器,如ibm、oracle、bea公司等,所以jsp迅速成為商業(yè)應用的服務器端語言。jsp有如下幾個優(yōu)點:對于用戶界面的更新,其實就是由 web server進行的,所以

16、給人的感覺更新很快。 所有的應用都是基于服務器的,所以它們可以時刻保持最新版本。 客戶端的接口不是很繁瑣,對于各種應用易于部署、維護和修改。 2.1.2 javabeans 技術javabeans是描述java的軟件組件模型,有點類似于microsoft的com組件概念。在java模型中,通過javabeans可以無限擴充java程序的功能,通過javabeans的組合可以快速的生成新的應用程序。對于程序員來說,最好的一點就是javabeans可以實現代碼的重復利用,另外對于程序的易維護性等等也有很重大的意義。 javabeans通過java虛擬機(java virtual machine)可

17、以得到正確的執(zhí)行,運行javabeans最小的需求是jdk1.1或者以上的版本。 javabeans傳統(tǒng)的應用在于可視化的領域,如awt下的應用。自從jsp誕生后,javabeans更多的應用在了非可視化領域,在服務器端應用方面表現出來了越來越強的生命力。在這里我們主要討論的是非可視化的javabeans,可視化的javabeans在市面上有很多java書籍都有詳細的闡述,在這里就不作為重點了。 非可視化的javabeans,顧名思義就是沒有gui界面的javabeans。在jsp程序中常用來封裝事務邏輯、數據庫操作等等,可以很好地實現業(yè)務邏輯和前臺程序(如jsp文件)的分離,使得系統(tǒng)具有更好

18、的健壯性和靈活性。一個簡單的例子,比如說一個購物車程序,要實現購物車中添加一件商品這樣的功能,就可以寫一個購物車操作的javabeans,建立一個public的additem成員方法,前臺jsp文件里面直接調用這個方法來實現。如果后來又考慮添加商品的時候需要判斷庫存是否有貨物,沒有貨物不得購買,在這個時候我們就可以直接修改javabeans的additem方法,加入處理語句來實現,這樣就完全不用修改前臺jsp程序了。通過javabeans可以很好地實現邏輯的封裝、程序的易于維護等 javabeans是一種軟件組件模型,它與其他軟件對象相互作用,決定如何建立和重用軟件組件被稱為bean。java

19、beans是基于sun公司的javabeans規(guī)范化、可在編程工具被可視化處理的可重用的軟件組件。2.1.3 html及javascript技術html(hyper text mark-up language)即超文本標記語言,是www的描述語言。設計html語言的目的是為了能把存放在一臺電腦中的文本或圖形與另一臺電腦中的文本或圖形方便地聯系在一起,形成有機的整體,人們不用考慮具體信息是在當前電腦上還是在網絡的其它電腦上。我們只需使用鼠標在某一文檔中點取一個圖標,internet就會馬上轉到與此圖標相關的內容上去,而這些信息可能存放在網絡的另一臺電腦中。html文本是由html命令組成的描述性

20、文本,html命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。html的結構包括頭部(head)、主體(body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內容。javascript是一種基于對象(object)和事件驅動(event driven)并具有安全性能的腳本語言。使用它的目的是與html超文本標記語言、java 腳本語言(java小程序)一起實現在一個web頁面中連接多個對象,與web客戶交互作用。從而可以開發(fā)客戶端的應用程序 等。它是通過嵌入或調入到標準的html語言中實現的。它的出現彌補了html語言的缺陷,它是java與html折衷的選擇,具有以下幾

21、個基本特點: 1、是一種腳本編寫語言 javascript是一種腳本語言,它采用小程序段的方式實現編程。像其它腳本語言一樣,javascript同樣已是一種解釋性語言,它提供了一個易的開發(fā)過程。它的基本結構形式與c、c+、vb、delphi十分類似。但它不像這些語言一樣,需要先編譯,而是在程序運行過程中被逐行地解釋。它與html標識結合在一起,從而方便用戶的使用操作。 2、基于對象的語言。 javascript是一種基于對象的語言,同時以可以看作一種面向對象的。這意味著它能運用自己已經創(chuàng)建的對象。因此,許多功能可以來自于腳本環(huán)境中對象的方法與腳本的相互作用。 3、簡單性 javascript的

22、簡單性主要體現在:首先它是一種基于java基本語句和控制流之上的簡單而緊湊的設計, 從而對于學習java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴格的數據類型。 4、安全性 javascript是一種安全性語言,它不允許訪問本地的硬盤,并不能將數據存入到服務器上,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態(tài)交互。從而有效地防止數據的丟失。 5、動態(tài)性的 javascript是動態(tài)的,它可以直接對用戶或客戶輸入做出響應,無須經過web服務程序。它對用戶的反映響應,是采用以事件驅動的方式進行的。所謂事件驅動,就是指在主頁(home page)中執(zhí)行了某種操作所

23、產生的動作,就稱為“事件”(event)。比如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發(fā)生后,可能會引起相應的事件響應。 6、跨平臺性 javascript是依賴于瀏覽器本身,與操作環(huán)境無關,只要能運行瀏覽器的計算機,并支持javascript的瀏覽器就可正確執(zhí)行。從而實現了“編寫一次,走遍天下”的夢想。實際上javascript最杰出之處在于可以用很小的程序做大量的事。無須有高性能的電腦,軟件僅需一個字處理軟件及一瀏覽器,無須web服務器通道,通過自己的電腦即可完成所有的事情。 綜合所述javascript是一種新的描述語言,它可以被嵌入到html的文件之中。javascript

24、語言可以做到回應使用者的需求事件(如:form的輸入),而不用任何的網路來回傳輸資料,所以當一位使用者輸入一項資料時,它不用經過傳給伺服端(server)處理,再傳回來的過程,而直接可以被客戶端 (client) 的應用程式所處理。2.1.4 struts技術struts 是當今流行的jsp web 框架,struts 提供了一種創(chuàng)建具有良好可管理性的web應用框架,其中對應用程序的顯示,表示和數據的后端代碼進行了抽象。struts 框架是基于mvc模式的框架。mvc模式包括三類對象,簡單的說,model 是應用對象,view 是它在屏幕上的表示,controller 定義用戶輸入的響應方式。

25、下面對struts 框架進行介紹:struts framework 是一種基于java 的技術,web應用程序開發(fā)人員通過struts framework 即可充分利用面向對象設計、代碼重用以及“編寫一次、到處運行”的優(yōu)點。struts 提供了一種創(chuàng)建web的應用程序框架,其中對應用程序的顯示、表示和數據的后端代碼進行了抽象。 2.2開發(fā)工具介紹2.2.1 eclipse簡介eclipse 是一個開放源代碼的、基于 java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,eclipse 附帶了一個標準的插件集,包括 java 開發(fā)工具(jav

26、a development tools,jdt)。 雖然大多數用戶很樂于將 eclipse 當作 java ide 來使用,但 eclipse 的目標不僅限于此。eclipse 還包括插件開發(fā)環(huán)境(plug-in development environment,pde),這個組件主要針對希望擴展 eclipse 的軟件開發(fā)人員,因為它允許他們構建與 eclipse 環(huán)境無縫集成的工具。由于 eclipse 中的每樣東西都是插件,對于給 eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。 這種平等和一致性并不僅限于 java 開發(fā)工具。盡

27、管 eclipse 是使用 java 語言開發(fā)的,但它的用途并不限于 java 語言;例如,支持諸如 c/c+、cobol 和 eiffel 等編程語言的插件已經可用,或預計會推出。eclipse 框架還可用來作為與軟件開發(fā)無關的其他應用程序類型的基礎,比如內容管理系統(tǒng)。 基于 eclipse 的應用程序的突出例子是 ibm 的 websphere studio workbench,它構成了 ibm java 開發(fā)工具系列的基礎。例如,websphere studio application developer 添加了對 jsp、servlet、ejb、xml、web 服務和數據庫訪問的支持。

28、 2.2.2 tomcat簡介 在tomcat中,你還可以利用servlet2.3提供的事件監(jiān)聽器功能,來對你的應用或者session實行監(jiān)聽。tomcat也提供其它的一些特征,如與ssl集成到一塊,實現安全傳輸。還有tomcat也提供jndi支持,這與那些j2ee應用服務器提供的是一致的。應用服務器提供更多的j2ee特征,如ejb,jms,jaas等,同時也支持jsp和servlet。而tomcat則功能沒有那么強大,它不提供ejb等支持。事實上,我們的很多中小應用不需要采用ejb等技術,jsp和servlet已經足夠,這時如果用應用服務器就有些浪費了。而tomcat短小精悍,配置方便,能滿

29、足我們的需求,這種情況下我們自然會選擇tomcat。2.3開發(fā)模式介紹在中間層上設計上最好采用基于mvc的設計模式。model層用來實現業(yè)務邏輯,view層用來顯示用戶界面,controller層主要負責view層和model層之間的控制關系。mvc是(model-view-controller)的縮寫,mvc是application開發(fā)的設計模式,也就是大家所知道的model2.在mvc的設計模式中,它包括三類對象:1模型(model)對象:是應用程序的主體部分。2視圖(view)對象:是應用程序中負責生成用戶界面的部分。3控制器(control)對象:是根據用戶的輸入,控制用戶界面數據顯示

30、及更新model對象狀態(tài)的部分。即要求在application開發(fā)中你把商業(yè)邏輯,界面顯示,數據分離。下圖顯示了這幾個模塊各自的功能以及它們的相互關系。圖2. 1mvc設計模式mvc的優(yōu)點表現在以下幾個方面:1.低耦合性。視圖層和業(yè)務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業(yè)務流程或者業(yè)務規(guī)則的改變只需要改動mvc的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應用程序的數據層和業(yè)務規(guī)則。2.高重用性和可適用性。隨著技術的不斷進步,現在需要用越來越多的方式來訪問應用程序。mvc模式允許你使用各種不同樣式的視圖來訪問同一個服務器端的代碼。它包括任

31、何web(http)瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機來訂購某樣產品,雖然訂購的方式不一樣,但處理訂購產品的方式是一樣的。由于模型返回的數據沒有進行格式化,所以同樣的構件能被不同的界面使用。例如,很多數據可能用html來表示,但是也有可能用wap來表示,而這些表示所需要的僅令是改變視圖層的實現方式,而控制層和模型層無需做任何改變。 3.較低的生命周期成本。mvc使降低開發(fā)和維護用戶接品的技術含量成為可能。 4.快速的部署。使用mvc模式使開發(fā)時間得到相當大的縮減,它使程序員(java開發(fā)人員)集中精力于業(yè)務邏輯,界面程序員(html和jsp開發(fā)人員)集中業(yè)務于表

32、現形式上。5.可維護性。分視圖層和業(yè)務邏輯層也使得web應用更易于維護和修改。6.有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應用具有某些相同的特征,有利于通過工程化、工具化管理程序代碼。mvc模式的體系結構圖如下:圖2.2 mvc三層體系結構 在這種設計模式下,各層次之間的數據傳遞如圖2.3;圖2.3mvc設計模式的數據傳遞圖在本文討論的jsp管理系統(tǒng)中,在數據的存取方面,采用了jsp/servlet+jdbc的技術,即客戶端不產生數據庫查詢命令,客戶端上的瀏覽器通過url和中間層的web服務器建立連接。web服務器主要負責接收本地或遠程瀏覽器的http數據請求,然后中間層的se

33、rvlet收到請求后,通過執(zhí)行程序中的sql語句,利用jdbc提供的標準api對數據庫進行訪問和相應的操作處理。servlet再將查詢的數據傳給jsp,最后生成標準的jsp頁面將結果返回給提出請求的瀏覽器。這樣,不僅將客戶端與數據庫服務器端分開,同時提高了數據庫的訪問效率。2.4 數據庫技術2.4.1 關系數據庫模型關系數據庫將數據存放在被用戶視為表的關系中。關系由記錄和字段組成。表中的記錄或字段的物理次序是無關緊要的,并且表中的每個記錄通過具有唯一值得字段來識別。這是關系數據庫的兩個特征,允許數據的存在不依賴于它在計算機中的物理存儲方式。這樣在檢索時,用戶不需要知道記錄的物理位置。關系模型將

34、聯系分成一對一、一對多和多對多。一對表之間的聯系通過匹配共享字段的值隱式地建立。只要用戶熟悉數據庫中表之間的聯系,就幾乎可以用無限多種方法訪問數據。1檢索數據??梢允褂脵C構化查詢語言(sql)檢索關系數據庫中的數據。sql是一種用于創(chuàng)建、修改、維護和查詢關系數據庫的標準語言。2關系數據庫的優(yōu)點:(1)內部多級完整性。建立在模型中的域級數據完整性確保數據的正確性;建立在表級的數據完整性確保記錄不重復并檢查主碼值的遺漏;建立在聯系級的數據完整性確保表之間的聯系的有效性;建立在事務級的數據完整性確保數據在事務的意義下是正確的。(2)數據在邏輯上和物理上都獨立于數據庫應用。用戶對數據庫邏輯設計的改變,

35、以及數據庫軟件賣方對數據庫的物理實現的改變都不會影響建立在其上的數據庫應用。(3)確保數據的一致性和正確性。數據的一致性和正確性由施加在數據庫上的各級完整性所保證。(4)數據易于檢索。根據用戶命令,可以從一個特定的表或從任意多個相關的表中檢索數據。這使得用戶幾乎可以用無限多種方式觀察數據。2.4.2 規(guī)范化關系數據庫中的關系必須是規(guī)范化的,即每一個分量必須是不可分的數據項。所謂“第幾范式”,是表示關系的某一種級別。所以經常稱某一關系模式r為第幾范式?,F在把范式這個概念理解成符合某一種級別的關系模式的集合,則r為第幾范式就可以寫成rxnf。一個低一級范式的關系模式,通過模式分解可以轉換為若干戈高

36、一級范式的關系模式的集合,這種過程就叫規(guī)范化。關系數據庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同范式。滿足最低要求的叫第一范式,簡稱1nf。若r1nf,且每一個非主屬性完全函數依賴于碼,則r2nf。若r2nf,且每一個非主屬性既不部分依賴于碼,也不傳遞依賴于碼,則r3nf。2.4.3 mysql 簡介數據庫是60年代末出現的一門計算機軟件技術,到現在雖然只有三十多年的歷史,但在理論和時間上都已經趨于成熟,使我們能夠方便的使用。數據庫技術是 據庫的建設規(guī)模、數據庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。mysql作為一種開放源碼數據庫,以其簡單易用的特點廣泛被廣

37、大用戶采用,mysql雖然是免費的,但同oracle, sybase, informix, db2等商業(yè)數據庫一樣,具有數據庫系統(tǒng)的通用性:(1)數據庫管理系統(tǒng)。我們知道,所謂的數據庫就是一些結構化的數據的聯合體,要提供對這些數據的存取、增加、修改、刪除或更加復雜的數據抽取等操作,需要有一個支撐系統(tǒng),這就是數據庫管理系統(tǒng)(dbms),mysql完全具有這方面的功能。(2)關系型數據庫管理系統(tǒng)。在數據庫的發(fā)展歷程中,曾出現過多種不同形式的數據庫系統(tǒng),但關系型數據庫管理系統(tǒng)(rdbms)以其優(yōu)越性而被廣為采用,象現在幾種廣泛使用的數據庫全為關系型數據庫。同樣,mysql也是關系型的數據庫系統(tǒng),支持

38、標準的結構化查詢語言(structured query language)。(3)開放源碼數據庫。同商業(yè)性的數據庫相比,這是mysql最大的特點。mysql的源碼是公開的,這就意味著任何人,只要遵守gpl的規(guī)則都可以對mysql的源碼使用、修改以符合自己特殊的需求。(4)技術特點。mysql服務器端是多線程的,為客戶端提供了不同的程序接口和鏈接庫,如c、c+、java、perl、php、tcl等,也提供了簡單的管理工具,如mysqladmin,mysql等。 正因為mysql的源碼是公開的,使得我們有機會從源碼級,更深入的了解mysql。從這一層面上可以探求、了解mysql數據庫的特性:良好的

39、內存管理機制,尤其是內存泄漏的管理,通過了purify的嚴格測試;支持多種平臺; 提供多種形式的api,為我們開發(fā)工具的選擇提供了便利; 使用多線程的技術,可充分發(fā)揮系統(tǒng)的特點,避免在smp系統(tǒng)中出現僅使用單cpu的現象;對磁盤表的管理采用b樹加密及索引的技術,為我們快速訪問數據提供了可能; 高性能的內存申請技術;臨時表采用在內存中以哈希表實現;提供多種數據類型;支持定長的和變長的紀錄;所有的列都有缺省值,為我們的某些“粗心”提供了方便;靈活、安全的權限和密碼系統(tǒng),密碼在傳輸中加密傳送,允許主機端驗證密碼;13)客戶端可以通過tcp/ip、unix套接字、命名管道(nt)連接到mysql數據庫

40、服務器;對多種字符集的完全支持等等許多優(yōu)點。mysql有如此多的特點,又由于其免費的特點,這就給許多的中小應用提供了不錯的選擇。尤其是對一些中小企業(yè),無論是從降低成本,還是從性能方面,采用mysql作為其數據支撐系統(tǒng),都是一種可行的方案。但也應當注意,采用mysql作為應用數據庫,就意味著所有的問題都需要自己解決,要承擔一定的風險。2.5 軟硬件環(huán)境操作系統(tǒng):windows xp數據庫:mysql編程語言: java 編程工具:eclipse+myeclipseweb服務器:tomcat程序框架:struts+hibermate第三章 系統(tǒng)需求分析3.1系統(tǒng)調查 21世紀以來,人類經濟高速發(fā)展

41、,人們發(fā)生了日新月異的變化,特別是計算機的應用及普及到經濟和社會生活的各個領域。使原本的舊的管理方法越來越不適應現在社會的發(fā)展。許多人還停留在以前的手工操作。這大大地阻礙了人類經濟的發(fā)展。為了適應現代社會人們高度強烈的時間觀念,我對河南科技學院新科學院的原有的學生成績管理系統(tǒng)進行了調查研究,并對一些教師和學生進行了調查,聽取他們對學生成績管理的一些建議和要求以及他們對這方面的一些需求,根據我所具有的知識,決定開發(fā)的這個系統(tǒng)采用當前較為流行的編程軟件java作為實現語言,以數據庫mysql作為系統(tǒng)的后臺操作.3.2系統(tǒng)構架系統(tǒng)采用的是b/s結構,即瀏覽器和服務器架構,示意圖如圖3-1所示。瀏覽器

42、端提供用戶操作界面,接受用戶輸入的各種操作信息,向服務器發(fā)出各種操作命令或數據請求,并接收執(zhí)行操作命令后返回的數據結果,根據業(yè)務邏輯進行相關的運算,向用戶顯示相應的信息。服務器端接收瀏覽器端的數據或命令請求,并請求數據庫服務器執(zhí)行數據庫操作得到相應的數據集,對數據集進行相應的處理,然后將數據集或處理后的數據集返回給瀏覽器端。 用戶瀏覽器 web服務器數據庫服務器ie等瀏覽器tomcat操作請求返回查詢結果使用hibernate操作 數據庫返回操作結果圖3-1系統(tǒng)架構示意圖3.3 用戶需求 3.3.1學生的需求(1) 在第一時間查詢自己所有的成績(自己的平均成績,總成績)(2) 查詢某一科成績,

43、該科平均成績,所在名次,最高成績,最低成績(3) 打印和下載自己的成績 3.3.2老師的需求(1) 查詢某一學生的所有成績(平均成績,總成績)(2) 查詢某一學生某一科成績,該科平均成績,所在名次,最高成績,最低成績(3) 查詢某一班級的成績(所有成績,某一學期的所有成績,某一學期的某一科目的所有成績)(4) 對某一科成績進行統(tǒng)計(及格人數,及格率,不及格人數,不及格率,優(yōu)秀人數,優(yōu)秀率,某一分數段的人數)(5) 錄入成績和修改更新成績(自己所教授的那一科成績)(6) 打印和下載所查詢或統(tǒng)計出的結果3.3.3管理員的需求(1) 查詢某一學生的所有成績(平均成績,總成績)(2) 查詢某一學生某一

44、科成績,該科平均成績,所在名次,最高成績,最低成績(3) 查詢某一班級的成績(所有成績,某一學期的所有成績,某一學期的某一科目的所有成績)(4) 對某一科成績進行統(tǒng)計(及格人數,及格率,不及格人數,不及格率,優(yōu)秀人數,優(yōu)秀率,某一分數段的人數)(5) 錄入成績和修改成績(6) 打印和下載所查詢或統(tǒng)計出的結果(7) 用戶管理(8) 數據庫管理3.4 數據需求分析3.4.1 數據字典編號:d1名稱:學生登陸描述:記錄學生登陸的基本信息結構:學生編號 學生姓名 登陸密碼 班級 備注 編號:d2名稱:教師信息描述:記錄教師登陸時的信息結構:教師編號 姓名 登陸時的密碼 備注編號:d3名稱:班級信息描述

45、:記錄班級的基本信息結構:班級編號 班級名稱 備注編號:d4名稱:教師所擔任的課程表描述:記錄教師所擔任的課程的信息結構:教師編號 所教授的科目 所教授的班級 備注 編號:d5名稱:管理員表描述:記錄教書管理員登陸的信息結構:教師管理員編號 登錄名 登陸密碼 備注 編號:d6名稱:學生成績表描述:記錄學生的考試成績信息結構:學生姓名 考試科目 學生學號 所在班級 考試性質 學期 授課教師 考試成績 備注學生基本信息學生編號學生姓名備注班級登錄密碼3.4.2 e-r 圖圖3.2學生登陸基本信息實體屬性圖教師基本信息教師編號教師姓名備注登錄密碼圖3.3教師登陸基本信息實體屬性圖班級基本信息班級編號

46、備注班級名稱圖3.4班級基本信息實體屬性圖教師授課表教師編號所授課程備注授課班級圖3.5 教師授課實體屬性圖管理員信息登陸密碼備注登陸名圖3.6 教師管理員登陸實體屬性圖班級信息表學生姓名考試科目學生學號所在班級該科目任課教師成績考試性質學期備注圖3.7 學生成績信息實體屬性圖第四章 系統(tǒng)總體設計4.1 系統(tǒng)功能結構圖系統(tǒng)功能結構圖如圖4-1所示:統(tǒng)計學生成績查詢學生成績錄入學生成績修改登錄密碼打印查詢結果下載查詢結果登錄學生成績維護系統(tǒng)教師登錄教務管理員登錄學生登錄查詢自己成績打印查詢結果下載查詢結果修改登錄密碼統(tǒng)計學生成績查詢學生成績錄入學生成績修改登錄密碼打印查詢結果下載查詢結果用戶人員

47、管理添加/刪除學生添加/刪除老師添加/刪除班級創(chuàng)建新的/刪除管理員添加/刪除老師所擔任的科目 圖4-1系統(tǒng)層次方框圖4.2系統(tǒng)總體設計思想 (1)采用現有的資源,先進的管理系統(tǒng)開發(fā)方案,充分利用學?,F有的資源,減少開發(fā)中的時間和財力、物力、提高系統(tǒng)開發(fā)的水平和應用效果。 (2)系統(tǒng)就滿足學校的需求,例如學生成績的錄入、查詢、更新,學生成績錄入與排名等等。 (3)系統(tǒng)具備數據庫維護功能,及時根據用戶需求進行數據添加、刪除、修改等操作。4.3系統(tǒng)設計分析本系統(tǒng)使用struts開源框架實現mvc三層模式進行開發(fā),使模型,視圖和控制分開,業(yè)務邏輯和顯示分開,這樣有利于錯誤的查找和系統(tǒng)的升級。 該系統(tǒng)適

48、用于各個學校,其功能主要為成績管理:用于對成績的錄入、修改、匯總、排名以及查詢等操作。 4.4 數據庫設計4.4.1 數據庫的概要設計數據庫是系統(tǒng)的核心,它具有對信息進行收集、組織、存儲、加工、抽取和傳播等功能。構筑大型數據庫和蓋房子奠基相似,數據庫的設計直接關系系統(tǒng)的成敗,這正是當前諸多系統(tǒng)的開發(fā)不能盡如人意的癥結所在。因此要獲得優(yōu)秀的系統(tǒng)必須采用科學方法進行合理的數據庫設計。根據美國國家標準組織提出的數據庫設計的ansi三級模式,相應的數據庫設計可分為概念結構設計、邏輯結構設計及物理設計。輸入信息登陸瀏覽成績修改信息下載信息servlet容器servletjsp數據庫管理系統(tǒng)數據流程圖是一

49、種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少數幾種符號綜合地反映出信息在系統(tǒng)中的流動、處理和存儲情況。系統(tǒng)各模塊的實現主要是對數據庫的訪問,數據流程分析給用戶提供了各模塊在對數據庫訪問時,數據的流通狀態(tài)。數據在系統(tǒng)內部的流動情況抽象地獨立出來,舍去了具體組織機構、信息載體、處理工作、物資、材料等,單從數據流動過程來考查實際的數據處理模式。數據流程分析主要包括對信息的流動、傳遞、處理、存儲等的分析。數據流程分析的目的就是要發(fā)現和解決數據流通中的問題。通過需求分析和系統(tǒng)功能設計,本系統(tǒng)的數據流程圖可以繪制如圖4.2圖4.2系統(tǒng)數據流程圖4.4.2 數據庫表的設計本系統(tǒng)將數據存儲在六個表中,

50、這六個表分別是:學生表(見 表4-3):保存學生的基本信息,包括學生的姓名,登錄系統(tǒng)時的密碼,學生的學號,所在的班級以及一些備注信息。字段名稱中文解釋保存類型默認值長度可否為空主鍵sid主鍵自增int無16不能是name姓名varchar無24不能否password登錄時密碼varchar無24不能否student_id學號varchar無20不能否classes班級varchar無24不能否remark備注varchar無56可以否表4-3 學生表教師表(見 表4-4):保存教師的基本信息,包括教師的姓名,登錄系統(tǒng)時的密碼,教師號,備注,其中備注默認為“0”,當為“1”的時候教師可以錄入和修

51、改學生的成績,為空或者是其他值的時候,錄入功能將被鎖定。字段名稱中文解釋保存類型默認值長度可否為空主鍵tid主鍵自增int無16不能是name姓名varchar無24不能否password登錄時密碼varchar無24不能否teacher_id教師號varchar無20不能否remark備注 varchar“0”56可以否表4-4 教師表班級表(見表4-5):保存班機的基本信息,包括班級名稱和備注。字段名稱中文解釋保存類型默認值長度可否為空主鍵cid主鍵自增int無16不能是classes班級名稱varchar無24不能否remark備注 varchar無56可以否表4-5 班級表教師所擔任課

52、程的表(見 表4-6):保存教師所教的課程信息。字段名稱中文解釋保存類型默認值長度可否為空主鍵id主鍵自增int無16不能是subject所教授的科目varchar無24不能否classes班級varchar無24不能否student_id教師號varchar無20不能否remark備注 varchar無56可以否表4-6 教師所擔任課程的表教務管理員表(見 表4-7):保存管理員的基本信息。字段名稱中文解釋保存類型默認值長度可否為空主鍵mid主鍵自增int無16不能是name登錄名varchar無24不能否password登錄時密碼varchar無24不能否remark備注 varchar無

53、56可以否表4-7教務管理員表成績表(見 表4-8):主要保存關于學生成績的一些信息,本系統(tǒng)主要是對該表的操作。字段名稱中文解釋保存類型默認值長度可否為空主鍵s_id主鍵自增int無16不能是name姓名varchar無24不能否subject科目varchar無24不能否student_id學號varchar無20不能否classes班級varchar無24不能否property考試性質varchar無24不能否term學期varchar無24不能否teacher該科目的教師varchar無24不能否result成績int無16可以否remark備注varchar無56可以否表4-8 成績表

54、第五章 系統(tǒng)詳細設計5.1 登錄功能設計學生和老師登錄時要輸入用戶名和密碼。每個人進入都要憑用戶名和密碼進入。提高了系統(tǒng)的安全行。本功能的程序流程圖如圖5.1所示。圖5.1 登錄系統(tǒng)流程圖5.2 學員管理功能 包含四個小模塊,查詢自己的成績,修改登錄密碼,打印查詢結果,下載查詢結果。其中查詢自己的成績時,學生可以輸入要查詢的科目,學期等。開始輸入要查詢的成績科目從成績表中查詢學生的成績信息y顯示錯誤信息顯示查詢結果結束結果是否為空n結果是否為空以sid為條件從各個表中查詢信息顯示提示信息yn圖5.2學生查詢成績流程圖5.3 教師管理功能在該系統(tǒng)設計中,主要是實現教師對學生成績的添加。在教師查詢信息時,是根據教師的的唯一標識sid為條件查詢,在student表中,查詢所有符合sid要求的學生的基本信息。開始輸入要錄

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論