版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
重慶大學網絡教育學院畢業(yè)設計〔論文〕題目學生成績管理系統(tǒng)設計與實踐學生所在校外學習中心XXXX校外學習中心批次層次專業(yè)142批次專升本計算機科學與技術學號WXXXX學生李XXX指導教師楊XXX起止日期摘要隨著網絡通信技術的迅速開展和信息技術的廣泛應用,計算機的應用已普及到經濟和社會生活的各個領域。教育領域也不例外,現(xiàn)今已經出現(xiàn)了各種遠程網絡在線教育系統(tǒng)、圖書館管理系統(tǒng)、學籍管理系統(tǒng),學生成績管理系統(tǒng)等。其中成績管理是任一院校都不可缺少的局部,與傳統(tǒng)的人工管理方式比較,它能夠為管理人員提供充足的信息和快捷的查詢手段,提高學校學生成績管理的效果。所以學生成績管理信息系統(tǒng)的開發(fā)和應用是必要的。為了實現(xiàn)信息化管理,而開發(fā)這個學生成績信息管理系統(tǒng),以期給教職工帶來方便。本系統(tǒng)采用B/S〔瀏覽器/效勞器〕結構,使用SSH(struts2、spring、heberinate)三大框架。B/S模式即網頁的模式,在線登入學生成績管理系統(tǒng)進行操作。本系統(tǒng)有三個權限:管理員,教師,學生。每個權限都有各自操作的模塊,管理員可以管理教師和學生的根本信息,課程的安排,成績的錄入和導出;教師可以錄入成績以及學生成績的導出;學生只能查看自己的成績。根據(jù)上述的需求,通過對需求的分析及各功能的詳細設計,從而開發(fā)能夠滿足學校需求的管理系統(tǒng)。關鍵詞:學生成績管理系統(tǒng)JSPMYSQL目錄摘要21引言42.1系統(tǒng)開發(fā)平臺的選擇42.1.1開發(fā)語言的選擇52.1.2開發(fā)結構的選擇52.1.3數(shù)據(jù)庫的選擇62.2系統(tǒng)開發(fā)的理論與技術62.2.1MVC開發(fā)理論62.2.2SSH框架分析73.1系統(tǒng)需求93.2系統(tǒng)功能需求分析103.2.1系統(tǒng)功能組成103.2.2系統(tǒng)模塊框圖114.1系統(tǒng)功能設計134.2數(shù)據(jù)庫的設計18數(shù)據(jù)庫表結構設計185系統(tǒng)功能的實現(xiàn)與測試215.1SSH框架的搭建215.2功能的實現(xiàn)225.3系統(tǒng)的測試266系統(tǒng)的評價27參考文獻281引言隨著計算機技術的飛速開展,信息時代的到來,信息改變了我們這個社會。學校在管理、教學、辦公各個方面也在悄悄地變化,作為一個教育單位不可缺少的局部——學生成績管理系統(tǒng),它的內容對于學校的決策者和管理者來說都至關重要,一款先進的學生成績管理系統(tǒng)必定會使教學更先進、辦公更高效、管理更科學,信息交流更迅速,所以學生成績信息管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。作為計算機應用的一局部,使用計算機對學生成績信息進行管理,具有著手工管理所無法比較的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、本錢低等。這些優(yōu)點能夠極大地提高學生檔案管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,故決定選擇學生成績管理系統(tǒng)來作為本人的畢業(yè)設計,在很短的時間里開發(fā)出一套界面友好,功能強大,使用簡單的適用于各規(guī)模學院的學生成績管理系統(tǒng)。該學生成績管理系統(tǒng)能有效的處理在校學生的成績管理,具有成績輸入、成績查詢、成績統(tǒng)計及打印功能。學生成績管理系統(tǒng)可以實施應用在各中、大、小院校中,適用范圍很廣,應用性強。隨著系統(tǒng)實施的日益成熟,最終會使單機作業(yè)為主的教學管理活動提高到這個平臺上來,從而實現(xiàn)學校學生成績信息管理的辦公自動化,籍以提高辦學效率和質量。使學校充分利用計算機所帶來的新技術,為培養(yǎng)人才打下堅實的根底。2系統(tǒng)開發(fā)平臺和相關理論與技術本系統(tǒng)是面向全國的初中和高中的一款教學管理系統(tǒng),經過本人對周邊中學的調查,和對貧困地區(qū)學校的信息采集,針對國內的管理系統(tǒng)所存在的問題,從而開發(fā)這款學生成績管理系統(tǒng)。本節(jié)將重點介紹該系統(tǒng)的開發(fā)環(huán)境和理論與技術。2.1系統(tǒng)開發(fā)平臺的選擇目前計算機語言有c、c++、c#、.net、Java、PHP、匯編語言等等。開發(fā)學生管理系統(tǒng)需要選擇適宜的語言[2]。開發(fā)語言的選擇目前市面上的管理系統(tǒng)絕大局部用的都是Jsp、ASP.Net、PHP這三種語言。它們的共同點都是動態(tài)網頁技術,都鑲嵌在HTML代碼中,用語言引擎來解釋代碼并執(zhí)行代碼。而JSP的語言引擎是java虛擬機,就是將jsp代碼編譯成.class文件,并由Java虛擬機來解釋執(zhí)行.class文件[11]。在這三種語言的環(huán)境下,HTML代碼主要顯示靜態(tài)的頁面,而程序代碼進行業(yè)務邏輯的處理。一般網頁的HTML代碼是通過web效勞器運行的,但是Jsp、ASP.Net、PHP這三種語言都要依賴環(huán)境虛擬機來編譯執(zhí)行程序代碼,并把返回結果嵌入到HTML代碼中,最后發(fā)送給瀏覽器,顯示結果。Jsp、ASP.Net、PHP是基于web效勞的技術。它們的區(qū)別及特點如下:Jsp的特點無疑是跨平臺性,因為使用JavaAPI,所以可以在Windows、Linux、Mac等系統(tǒng)中運行[10]。從而擴展了JSP使用web效勞器的范圍,在者,JSP使用JDBC操作數(shù)據(jù)庫,對那些運行在不同操作系統(tǒng)的數(shù)據(jù)庫,防止了代碼的移植而需要更換數(shù)據(jù)庫的問題。ASP是有微軟開發(fā)的動態(tài)語言,其特點與JSP非常相似,功能主要可以實現(xiàn)動態(tài)網頁,實現(xiàn)用戶的動態(tài)交互功能,它的功能也就是它的特點,不同于HTML的交互功能,HTML只能簡單的訪問而無法動態(tài)的交互,是一種靜態(tài)網站。開發(fā)工具使用微軟開發(fā)的VisualStudio這個軟件,運行環(huán)境也非常局限,只能運行在微軟的效勞器產品IIS上。PHP的特點也是跨平臺性,支持幾乎所有的數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng),在市場上也較為普及。CGI腳本語言是一種強大的PHP語言,語法包含了C、PHP和Java的新型的一種語言,速度執(zhí)行快,效率高,一般比Java,ASP的運行速度快,內嵌有加速引擎,性能穩(wěn)定,資源占用少,代碼運行速度快。并且與Java一樣具有很好的可移植性和可擴展性,PHP可以運行在幾乎所有的效勞器上,屬于開放軟件,代碼也完全公開,任何程序員可以為PHP擴展附加想要的功能。結合實際情況和開發(fā)的環(huán)境,以及本人對這三種語言的了解程度,該學生成績管理系統(tǒng)使用Jsp語言開發(fā),即用HTML語言開發(fā)頁面,Java語言處理后臺的業(yè)務邏輯。開發(fā)結構的選擇Web開發(fā)是目前較為流行的開發(fā)體系,JavaWeb主要有兩種開發(fā)結構:C/S開發(fā)結構和B/S開發(fā)結構[5]。C/S結構是一種客戶機與效勞器的訪問交互,而B/S是一種瀏覽器與效勞器的訪問交互,本學生管理系統(tǒng)屬于一個網站,需要在線登入查詢學生的信息,所以用到的結構就是B/S結構。數(shù)據(jù)庫的選擇這些數(shù)據(jù)的查詢以及信息的增刪改,數(shù)據(jù)庫都是缺一不可的后臺,常用的數(shù)據(jù)庫有:Oracle、SqlServer、MySql、Access等等。Oracle:現(xiàn)在大型企業(yè)的主流數(shù)據(jù)庫,價格昂貴,但性能非常優(yōu)秀[4]。SqlServer:稍微貴些,但只能運行在Windows操作系統(tǒng)下,絲毫沒有一點開放性,對跨平臺的操作兼容性差,而且對系統(tǒng)的穩(wěn)定性要求很高。Access:操作簡潔、方便,不依賴Server也可以對數(shù)據(jù)庫操作,但平安性不夠,加了用戶密碼容易被破解。MySql:具有執(zhí)行速度快、穩(wěn)定性好、使用方便等特點,已經成為世界上最流行的開放數(shù)據(jù)庫之一。同時,由于它的跨平臺性,MySQL數(shù)據(jù)庫能運行Linllx、Windows、Max、HP—UX、AIX、Netware等2O多個平臺上[7]。綜上所述,采用的數(shù)據(jù)庫是MySQL。2.2系統(tǒng)開發(fā)的理論與技術系統(tǒng)開發(fā)的理論最實用的就是MVC設計模式,它是系統(tǒng)設計中的典型結構之一。用到的技術無非是SSH(Struts2、Spring、Hibernate)或者SSM〔Struts2、Spring、Mybatis〕三大框架。MVC開發(fā)理論學生管理系統(tǒng)的開發(fā)通過應用MVC開發(fā)模式,使其代碼結構分成三層,以便設計結構清晰明了。V:〔view〕視圖,即用戶界面,相當于與后臺交互的一個端口。在B/S結構下,視圖就是瀏覽器,瀏覽器向用戶顯示從后臺返回的相關數(shù)據(jù),并能夠接受用戶輸入的數(shù)據(jù),但是它不進行任何業(yè)務邏輯上的處理。M:〔Model〕模型,它主要提供業(yè)務邏輯,就是對業(yè)務邏輯,和前臺傳過來的數(shù)據(jù)進行處理,包括對數(shù)據(jù)的存取,加工操作。一個Model可以為多個view提供數(shù)據(jù)及業(yè)務上的處理。這樣就實現(xiàn)了模型的可重用性,簡化了代碼,提高了效率。C:〔Controller〕控制,主要負責控制視圖與模型的流程。它就相當于一個多用開關,當客戶端發(fā)送一個請求,開關端接受到請求,通過解析這個請求,需要發(fā)送給哪個模型,開關就往哪里打,控制端并不需要對數(shù)據(jù)進行處理,它只是一個橋梁,起到交接作用,最后的數(shù)據(jù)是通過模型調用相應的方法進行處理。SSH框架分析Struts2是系統(tǒng)開發(fā)的根底框架,主要控制頁面的跳轉流程,即頁面導航的作用[6]。當客戶端發(fā)送一個HttpServletRequest請求login.action,然后控制器根據(jù)請求調用適宜的Action,通過調用Action的Execute方法,獲取從客戶端傳過來的參數(shù),執(zhí)行一定的業(yè)務邏輯,最后將處理結果返回到瀏覽器并顯示。其流程如圖:2.1所示。圖2.1Struts2框架的根本流程Spring是一個構造Java應用程序的輕量級框架,它即可以構建web程序,也可以構建Java程序[3]。Spring的核心主要是IOC控制反轉,它不需要new一個對象,代碼全程都不需要創(chuàng)立對象,而是通過Spring框架本身注入對象。即使用IOC容器,就不需要留心組件的創(chuàng)立;它的生存周期也大可不管;組件之間就可以很容易共享;測試也簡單多了。其流程如圖2.2所示。A:不使用SpringIOCB:使用SpringIOC圖2.2SpringIOC流程Hibrenate是實現(xiàn)對象/關系映射和數(shù)據(jù)庫交互,JDBC訪問數(shù)據(jù)庫的代碼就封裝在Hibrenate,并且還封裝了一些簡單的SQL語句,操作數(shù)據(jù)庫時,只需調用其對象就可以實現(xiàn)簡單的增刪改操作[13]。其流程如圖2.3所示。圖2.3Hibrenate框架的根本流程圖2.4SSH框架的總流程關于開發(fā)學生成績管理系統(tǒng),總的可以分三層:顯示層,業(yè)務邏輯層和數(shù)據(jù)庫層。顯示層就用JSP代碼來完成,頁面之間的跳轉即客戶端跳轉,還有效勞器跳轉都用Struts2這個框架來控制,很好的將jsp里的Java代碼別離開來。使用Hibernate框架又很好的將訪問數(shù)據(jù)庫的代碼與Action〔處理業(yè)務邏輯〕的代碼實現(xiàn)了別離,降低了耦合度。然后Spring的引用,完美的與Struts2、Hibernate進一步整合,并使用它的IOC控制反轉對控制邏輯和業(yè)務對象實現(xiàn)完全別離[9]。其流程如圖2.4所示。3系統(tǒng)具體需求分析當接到此系統(tǒng)開發(fā)任務后,通過調查,委托學校要求系統(tǒng)具有權限設置功能的登錄模塊,學生可以實現(xiàn)成績信息查詢功能。教務管理人員能夠實現(xiàn)注冊新用戶,學生成績信息的查詢、錄入、刪除、修改、瀏覽、統(tǒng)計等功能。再次就是經濟上、技術上的可行性,當三者都到達指標的時候,我們就可以著手進行系統(tǒng)的開發(fā)。3.1系統(tǒng)需求成績管理主要是由教務處對教師、對課程、對學生、對學生成績進行管理,以期讓教師、學生能夠隨時對學生成績進行各種查詢。系統(tǒng)的效勞對象有系統(tǒng)管理員、教師、學生。根據(jù)用戶的身份有不同的需求。管理員:即教務處,可以管理學生和教師的根本信息狀況,還可以打印學生和老師的全部信息。老師:可以錄入本班學生的成績,學生的成績是需要由人工錄入的,因此系統(tǒng)就需要設計一個學生成績信息錄入的窗口來錄入期考成績,并且在這個窗口中放入一個數(shù)據(jù)窗口來實現(xiàn)錄入這方面信息的功能。還需要能查看學生的成績。并導出到excel表進行打印。學生:可以查看自己的課程以及成績,還有班級的排名和年段的排名。因此為了顯示查詢結果,就要設計一個數(shù)據(jù)窗口,并將其放在查詢期考成績的窗口中實現(xiàn)查詢功能。由于該系統(tǒng)是學校管理學生成績信息的系統(tǒng),因此必須具有一定的保密性,需要特定的人員才可以修改,因此需要設計一個用戶登陸的窗口,使具有訪問權限的用戶才能登錄此系統(tǒng)。為了簡單化,我們的用戶名和用戶密碼和數(shù)據(jù)庫本身的用戶名密碼相同。系統(tǒng)的主窗口要能夠在用戶選中相應操作后,調出相應的窗口來使用戶在窗口中完成相應的功能。3.2系統(tǒng)功能需求分析本系統(tǒng)的設計限制了三個權限,管理員,教師,還有學生。系統(tǒng)管理員是權限最大的,可以對教師與學生的根本信息進行管理,其次是教師可以對學生的成績進行操作,權限最小的就是學生,只能查看自己的根本信息和成績??偟臋嘞蓿汗芾韱T>教師>學生。系統(tǒng)功能組成開發(fā)學生成績管理系統(tǒng)實現(xiàn)學校的日常管理,需要如下這些功能:用戶登入:登入類型有三個,需要進行用戶類型校驗。賬號維護:對密碼的修改,可以防止密碼的泄露。班級管理:對班級的信息執(zhí)行增刪改查。教師管理:對教師的信息執(zhí)行增刪改查。學生管理:對學生的信息執(zhí)行增刪改查。課程管理:對課程的信息執(zhí)行增刪改查。成績管理:可以對每個學生的成績執(zhí)行增刪改查,并排序,之后把頁面信息導出到excel表,進行打印。其整個系統(tǒng)的框圖如3.1所示用戶登入用戶登入用戶類型校驗用戶類型校驗學生老師管理員學生老師管理員賬號維護成績管理個人信息成績管理個人信息賬號維護成績管理學生管理課程管理教師管理班級管理賬號維護成績管理個人信息成績管理個人信息賬號維護成績管理學生管理課程管理教師管理班級管理排序并導出成績查詢執(zhí)行增刪改查執(zhí)行增刪改查執(zhí)行增刪改查排序并導出排序并導出成績查詢執(zhí)行增刪改查執(zhí)行增刪改查執(zhí)行增刪改查排序并導出圖3.1系統(tǒng)整體框圖系統(tǒng)模塊框圖〔1〕管理員的權限最大,可以對教師和學生的信息進行操作,可以錄入課程和成績,并實現(xiàn)成績的排序導出。其框圖如3.2所示。賬號維護賬號維護班級管理班級管理教師管理執(zhí)行增刪改查教師管理執(zhí)行增刪改查課程管理管理員用戶課程管理管理員用戶學生管理學生管理成績管理排序并導出成績管理排序并導出圖3.2管理員框圖〔2〕教師可以管理自己的個人信息和賬號,可以對學生的成績進行錄入并導出。其框圖如3.3所示。賬號維護賬號維護個人信息執(zhí)行增刪改查教師個人信息執(zhí)行增刪改查教師排序并導出成績管理排序并導出成績管理圖3.3教師框圖〔3〕學生可以管理自己的個人信息和賬號,只能查看成績。其框圖如3.4所示。賬號維護賬號維護個人信息執(zhí)行增刪改查學生個人信息執(zhí)行增刪改查學生成績查詢成績管理成績查詢成績管理圖3.4學生框圖4系統(tǒng)詳細設計根據(jù)學生成績管理系統(tǒng)的整個架構框圖,對每個模塊,以及每個模塊的子模塊進行詳細的設計,比方登入界面的用戶類型的校驗它的流程是怎樣的,主頁面對應的各模塊的增刪改查的流程的設計,還有導出功能用到的方法,排序用到的算法等等。4.1系統(tǒng)功能設計〔1〕系統(tǒng)登入驗證當用戶在瀏覽器里輸入系統(tǒng)運行的地址,系統(tǒng)就會顯示登入界面,然后輸入用戶名,密碼,用戶類型以及驗證碼,點擊“登入〞按鈕,系統(tǒng)對用戶輸入的信息進行處理,然后登入成功跳轉到主界面。如果用戶名,密碼,用戶類型為空時,文本空右邊就會顯示:“請輸入用戶名!〞,“請輸入密碼!〞,“請選擇用戶類型!〞等相應提示,輸錯又會提示“用戶名和密碼錯誤!〞。登入超時是,系統(tǒng)彈出異常提示頁面,登入失敗。登入驗證流程如圖:4.1所示。圖4.1系統(tǒng)登入驗證流程〔2〕系統(tǒng)賬號維護添加賬號:當用戶進入主界面,左邊是管理主菜單,點擊系統(tǒng)賬號維護里的添加賬號,有兩個文本框,然后輸入用戶名和密碼,點提交,賬號添加成功。訪問數(shù)據(jù)庫出錯時,就會在頁面上提示“請重新輸入!〞其流程如圖:4.2所示。圖4.2系統(tǒng)賬號維護流程修改賬號:點擊修改按鈕,在文本框里就會查找出系統(tǒng)原本的賬號,然后修改賬號和密碼點提交,彈出一個小框,提示修改成功。訪問數(shù)據(jù)庫出錯時,就會在頁面上提示“修改賬號操作失??!〞其流程如圖:4.3所示。圖4.3修改賬號流程刪除賬號:點擊刪除按鈕,頁面就會彈出一個提示小框并顯示:“是否要刪除這條記錄〞,然后點確定,刪除成功。當訪問數(shù)據(jù)庫異常,那么系統(tǒng)跳轉至錯誤提示頁面,用戶點擊“返回〞按鈕,進入賬戶一覽頁面。其流程如圖:4.4所示。圖4.4刪除賬號流程賬號維護總組件關系如下圖Struts2配置Struts2配置映射文件:struts.xml賬號初始化ZhaoAccountPage.jsp賬號維護列表Index.html賬號初始化ZhaoAccountPage.jsp賬號維護列表Index.htmlZhaoAccountActionZhaoAccountAction異常管理請求異常管理請求注入組件更新注入組件更新error.jspupdateZhaoAccount.jsperror.jspupdateZhaoAccount.jsp添加ZZhaoAccountServiceaddZhaoAccountPage.jspaddZhaoAccountPage.jsp接口實現(xiàn)DB接口實現(xiàn)DB處理對象處理對象ZhaoAccountServiceImplZhaoAccountServiceImplIHibernateORM注入組件ZhaoAccountDAOImplI注入組件ZhaoAccountDAOImplIZhaoAccountZhaoAccountSpring容器的管理:application.xmlZSpring容器的管理:application.xmlZhaoAccountDAO圖4.5賬號維護總組件關系學生管理總組件關系如下圖:Struts2配置Struts2配置映射文件:struts.xml教師管理列表教師初始化Stu教師管理列表教師初始化StuAccountPage.jspIndex.htmlStuAccountActionStuAccountAction管理請求異常管理請求異常更新更新注入組件updateStuAccount.jsp添加注入組件updateStuAccount.jsp添加error.jspStuAccountServiceStuAccountService處理對象addStu處理對象addStuAccountPage.jspDB接口實現(xiàn)DB接口實現(xiàn)StuAccountDAOImplIStuAccountDAOImplIHibernateORMStuAccountServiceImplIStuAccountServiceImplI注入組件注入組件StuAccountDAOSpring容器的管理:application.xmlStuAccountStuAccountDAOSpring容器的管理:application.xmlStuAccount圖4.6學生管理總組件關系〔2〕成績的排名在成績排名中用到了排序的算法,在Java中排序算法其實有12種左右,其中最常用的也就三種:冒泡排序,快速排序,選擇排序。冒泡排序:其實從字面上就可以理解,冒泡就是氣泡浮上來了,也就是說輕的氣泡一定要上浮,重的氣泡要在輕的氣泡的下面,這樣一來,假設說有一數(shù)組a[1…n],根據(jù)冒泡這一原理,兩兩比較,輕的在上,重的在下,反復進行比較,直到輕的都在上面為止。示列如表:表4.7冒泡法演示8880918576原來的數(shù)組8880918576第一次比較演示(88>76)交換(80>76)交換(91>76)交換(85>76)交換7688809185第二次比較演示(88>80)交換(80<85)不交換(91>85)交換7680888591第三次比較演示(88>85)交換(85<91)不交換7680858891第四次比較演示(85<91)不交換7680858891最終結果選擇排序:它就是進行每一次等待排序的數(shù)組元素中挑出最min或最max的那一個,按照順序放在已排好元素的最前或最后。示列如表:表4.8選擇排序演示8880918576原來的數(shù)組8880918576第一次比較演示在這五個數(shù)中選出最min=767680918588第二次比較演示在這四個數(shù)中選出最min=807680918588第三次比較演示在三個數(shù)中選出最min=857680859188第四次比較演示最min=887680858891最終結果但是本系統(tǒng)采用ArrayList排序,它會自動調用一個內置的方法來實現(xiàn)降序或升序進行對成績排序,然后通過ArrayList遍歷輸出顯示到頁面。〔3〕成績導出到excel表成績的導出方便了老師打印成績排名表,大大提高了老師的工作效率。怎么樣實現(xiàn)這個導出功能:導出功能導出的文件默認是excel表格式,先創(chuàng)立一個輸出流對象,通過一個方法設定好表的名字,然后設定好導出表的字段。4.2數(shù)據(jù)庫的設計數(shù)據(jù)庫是數(shù)據(jù)存儲的一個可以管理的倉庫,是一個可以存儲數(shù)據(jù)且存儲內存龐大的倉庫,數(shù)據(jù)不單單是指我們平時所說的12345這些數(shù)字,它也可以是圖片,表格,視屏,音頻以及文件。對于學生成績管理系統(tǒng)數(shù)據(jù)庫是非常重要的,沒有了數(shù)據(jù)庫,學生成績管理系統(tǒng)就相當于沒有了內臟的一個驅殼,根本就失去了它原本的作用。數(shù)據(jù)庫表結構設計數(shù)據(jù)庫是數(shù)據(jù)存儲的一個可以管理的倉庫,因為可以管理,所以要怎樣管理數(shù)據(jù)庫才能使數(shù)據(jù)庫在平安性上到達指標,數(shù)據(jù)庫的平安性實際上就是對數(shù)據(jù)庫加密,加密方式其實有兩種,一種是數(shù)據(jù)庫本身加密,就是當你翻開數(shù)據(jù)庫時是需要輸入賬號和密碼的,這是第一層加密,這一層加密其實是很容易可以破解的。第二種加密就是代碼的加密,這種加密方式平安性能高,不容易被破解。其次就是數(shù)據(jù)表結構的設計,表結構的合理性直接關系到數(shù)據(jù)操作的效率,表結構的合理性優(yōu)化,可以提高數(shù)據(jù)庫運行效率,也可以保證學生成績管理系統(tǒng)的對數(shù)據(jù)的一致性和完整性。設計數(shù)據(jù)庫時,要確定所要存儲這些信息的字段,字段之間有什么聯(lián)系,從而確定主鍵和外鍵,然后設計需要建幾張表。每張表之間的相互關系是怎樣的,盡量將表結構優(yōu)化到最正確。(1)下面是數(shù)據(jù)表結構的設計,總共設計6張表:管理員表〔管理員id,用戶名,密碼〕班級表〔班級_id,班級_name,年級,教師_id〕教師表〔教師_id,教師_no,教師_name,年齡,用戶名,密碼,聯(lián)系方式〕學生表〔學生_id,學號,學生_name,性別,年齡,用戶名,密碼,聯(lián)系方式〕課程表〔課程_id,課程_no,課程_name,課程_jiangci,課程_weekly,學分〕成績表〔學生_id,課程_id,班級_id,成績〕〔2〕數(shù)據(jù)庫表實例設計本系統(tǒng)運用的數(shù)據(jù)庫是MySQL數(shù)據(jù)庫,MySQL數(shù)據(jù)庫是一個小型的數(shù)據(jù)庫,體積小,占用資源小,用于學生的研究是最正確的選擇。接下來對本系統(tǒng)的這六張表進行展開分析。管理員表有3個字段,管理員id作為主鍵,且不能為空,其他兩個字段為用戶名與密碼,也不能為空。具體的結構如表4.9所示。表4.9管理員表字段名類型長度可否為null主鍵外鍵userIdint10否是否userNamevarchar20否否否userPasswordvarchar20否否否班級表有4個字段,班級id作為主鍵,教師id作為外鍵,其它兩個字段為班級名稱和年級。具體的結構如表4-10所示。表4.10班級信息表字段名類型長度可否為null主鍵外鍵classIdint10否是否classNamevarchar20是否否nianJiint10是否否teacherIdint10是否是教師表有8個字段,教師id為主鍵,且不可為空,其余的字段都可以為空,具體的結構如表4.11所示。表4.11教師信息表字段名類型長度可否為null主鍵外鍵teacherIdint10否是否teaNumvarchar10是否teaNamevarchar20sexchar1ageint3teaUservarchar20teaPWvarchar20telephoneint20學生表有8個字段,學生id作為主鍵,且不能為空,其余字段可以為空,其具體結構如表4.12所示。表4.12學生信息表字段名類型長度可否為null主鍵外鍵studentIdint10否是否stuNumvarchar20是否stuNamevarchar20sexchar1ageint3stuUservarchar20stuPWvarchar20telephoneint20課程表有6個字段,課程id作為主鍵,且不能為空,其余字段可以為空,其具體結構如表4.13所示。表4.13課程信息表字段名類型長度可否為null主鍵外鍵courseIdint10否是否courseNumvarchar20是否courseNamevarchar20courseJciint2courseZciint2creditint2成績表有4個字段,學生id,課程id,班級id三個字段作為主鍵,且不能為空,成績字段也不能為空。其具體結構如表4.14所示。表4.14成績表字段名類型長度可否為null主鍵外鍵stuIdint10否是否courseIdint10classIdint10gradeint3以上就是數(shù)據(jù)庫表的設計,它們每張表之間都有一定的表關聯(lián),也就是關系數(shù)據(jù)庫模型,根據(jù)表里的字段的相互關系,然后訪問數(shù)據(jù)庫。5系統(tǒng)功能的實現(xiàn)與測試本章主要講解系統(tǒng)的登入權限管理的代碼流程的分析,以及成績導出功能的詳解,其它模塊的流程分析已經在第四章詳細講過了。其次,當學生成績管理系統(tǒng)開發(fā)完成后,測試是必不可少的關鍵的一個步驟,它可以檢測出系統(tǒng)各功能是否符合規(guī)定的要求。測試分為兩種,一種是黑盒測試,主要對系統(tǒng)的功能測試,是否能夠正常運行。還有一種是白盒測試,主要是對代碼的測試,通過調用debug對相應的case進行運行測試,簡單的說就調一遍代碼的運行流程,看看每個邏輯以及參數(shù)值是否正確。5.1SSH框架的搭建當我們寫程序之前,一定要先搭建好整個系統(tǒng)的框架,很顯然開發(fā)學生管理系統(tǒng)引入了SSH框架,所以我們要先把整個配置流程給做好,其次就是在這框架里寫代碼,這樣開發(fā)效率就大大提高了。〔1〕Hibrenate框架搭建Hibrenate的作用是實現(xiàn)實體類與數(shù)據(jù)庫表的映射關系。這關系的的配置文件是*.hbm.xml。其字段的所有信息都存儲在t_*信息表里。然后還要創(chuàng)立Javabeen,對been的屬性實現(xiàn)set和get方法。之后構建數(shù)據(jù)庫訪問類,其命名為:*DAO.java,并繼承HibernateDaoSupport這個類。*.hbm.xml配置信息如下:<hibernate-mapping><classname="com.model.*"table="t_*"><idname="*Id"type=""><columnname="*_id"/><generatorclass=""/></id>…………..</class></hibernate-mapping>〔2〕Spring框架的搭建Spring框架在這學生成績管理系統(tǒng)起數(shù)據(jù)庫連接池的作用,數(shù)據(jù)庫的配置以及訪問數(shù)據(jù)庫的用戶名和密碼也是寫在這個配置中,本系統(tǒng)的數(shù)據(jù)庫用戶名為:root,密碼:123456。其中sessionFactory是數(shù)據(jù)庫連接池,連接池里可以獲取許多數(shù)據(jù)庫連接,獲取到的連接就是這個session,session代表一個數(shù)據(jù)庫連接,F(xiàn)actory相當于session的工廠,并且Factory可以創(chuàng)立很多的session。其次Spring的還有個作用就是類的加載,整個業(yè)務邏輯中就不需要new一個對象來間接訪問,直接通過Spring自身的作用引用類就行了,并在該類中實現(xiàn)其屬性的set和get方法。配置文件代碼如下:<beanid="*DAO"class="com.dao.*DAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean>〔3〕Struts2框架的搭建Struts框架其實就是實現(xiàn)頁面跳轉的一個控制器。Jsp頁面提交一個請求,通過form表單的action的名稱找到Struts配置文件的相對應的action名稱,然后在通過class類的配置路徑跳到*Action.java,調用里面的方法執(zhí)行業(yè)務邏輯,成功returnsucceed,跳到成功的界面,returnerror,跳到顯示錯誤的界面。5.2功能的實現(xiàn)本章主要對學生成績管理系統(tǒng)重要的功能進行代碼分析?!?〕登入功能每個用戶要進入本系統(tǒng)進行操作,都要輸入用戶名和密碼,還要選擇用戶類型。其界面實現(xiàn)如圖5.1所示。圖5.1用戶登入界面當頁面的文本框輸入用戶名、密碼以及用戶類型,點擊登入按鈕,之后就會觸發(fā)控件onclick=check(),進入functioncheck()這個方法,用if語句做判斷,為空時就會提示“請輸入用戶名〞和“請輸入密碼〞,returnfalse。輸入有值時,通過loginService這個類調用其login()方法,將用戶名、密碼和用戶類型傳給這個loginService類,再通過login()方法里的if判斷語句,進行用戶類型的判斷:當userType=1時,用戶類型為管理員;當userType=2時,用戶類型為教師;當userType=3時,用戶類型為學生。(3)賬號維護功能用戶通過賬號、密碼和用戶類型進入主界面,主界面的左邊有六個模塊:系統(tǒng)Manage,班級Manage,教師Manage,學生Manage,課程Manage,成績Manage。其功能界面如圖5.1所示。圖5.1管理員功能主界面圖eq\o\ac(○,1)賬戶添加:在jsp頁面的文本框里輸入用戶名和密碼點提交,通過formaction=adminAdd.action這個標簽,找到Struts配置文件相應的action的name,然后通過class路徑=adminAction,method=adminAdd,找到adminAction這個類并調用adminAdd這個方法實現(xiàn)賬戶的添加,并返回成功提示:操作成功。其功能界面如圖5.2所示。圖5.2賬戶添加功能界面圖eq\o\ac(○,2)賬戶刪除:當在頁面上點擊刪除c賬戶時,就會觸發(fā)onclick=adminDelete控件,跳轉到functionadminDelete這個方法,通過property標簽從值棧里取出userId,把這個userId傳給functionadminDelete這個方法,根據(jù)Struts的配置文件然后跳轉到adminAction這個類,調用adminDelete方法,根據(jù)從頁面?zhèn)鬟^來的userId進行刪除,并返回提示:刪除成功!。其功能界面如圖5.3所示。圖5.3賬戶刪除功能界面圖eq\o\ac(○,3)修改密碼功能在jsp界面的文本框里首先需要輸入原密碼:222222,然后輸入新密碼:123456,再確認密碼,點擊“修改〞按鈕。觸發(fā)onclick=check()控件,調用functioncheck()方法,通過if語句判斷:原密碼是否正確?新密碼是否為空?確認密碼是否與新密碼一致?然后調用loginService類,實現(xiàn)adminPwEdit方法,將新密碼傳進這個方法進行業(yè)務邏輯處理,返回成功并提示:修改成功。其功能界面如圖5.4所示。圖5.4修改賬戶功能界面圖〔2〕學生信息管理模塊功能學生信息管理主要是對每個學生的信息執(zhí)行添加,修改,刪除和查找的操作。其中添加、修改和刪除與上一小節(jié)的賬號的增刪改類似。這里主要分析學生的查找功能,可以按照學生的學號進行精確查找。當在jsp頁面的查找文本框里輸入:10313102這個學號,點查詢,通過formaction=search.action表單,根據(jù)Struts配置文件找到對應的action的name=search,然后解析class=stuAction,method=search,找到stuAction類,調用search方法,利用request.getParameter這個方法取得學號:10313102,然后在list集合里取得這個學號的所用信息,并顯示到頁面上。其功能界面如圖5.5所示。圖5.5學生精確查找界面圖〔3〕導出功能導出功能是以excel格式將數(shù)據(jù)庫里的數(shù)據(jù)導出到本地,點擊生成報表,就會出現(xiàn)一個下載框,點下載,生成了一張成績表。其功能界面如圖5.2所示。圖5.6導出功能界面圖當點擊生成報表,它就會觸發(fā)onlick=createTable這個控件,進到functioncreateTable()這個方法,通過window.location.href=<%=path%>/createTable.action,找到struts配置文件的路徑:<actionname=createTableclass=rankingActionmethod=createTable,跳轉到rankingAction這個類,調用createTable這個方法進行處理。5.3系統(tǒng)的測試本章主要對學生成績管理系統(tǒng)的功能進行測試,即黑盒測試。通過對頁面的操作,測試每個功能是否能正常運行。〔1〕對每個輸入框的測試,主要是輸一些臨界值和一些特殊的字符,看它能否添加成功,還是會顯示出錯提示?如果能添加成功,說明攔截器設計有問題,沒有把這些特殊的字符給過濾掉。如果有了錯誤的提示,說明運行成功了?!?〕對每個模塊的查詢功能進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年北師大新版四年級數(shù)學上冊階段測試試卷
- 大葉性肺炎的個案護理
- 過濾式消防自救呼吸器產品省級監(jiān)督抽查實施細則
- 非管制類全身麻醉劑管理制度
- 兒童預防手足口病
- 2024版大學教授聘用協(xié)議書
- 《綜合科學課程研究》課件
- 2024版機械制造業(yè)車床采購協(xié)議樣本版B版
- 自動離職通知函
- 員工 改進評語
- 電腦基礎知識
- 工程竣工預驗收簽到表
- 靜鉆根植樁施工組織設計
- 工程精細化管理
- 2022年長春市中小學教師筆試試題
- 小學音樂-(演唱)小拜年教學設計學情分析教材分析課后反思
- 醫(yī)院患者知情同意與告知制度
- 肉牛肉羊屠宰加工項目選址方案
- 人大版《精算模型(第3版)》習題解答
- 7人英語短劇劇本(5篇)
- 員工滿意度中英文對照外文翻譯文獻
評論
0/150
提交評論