JAVA學生成績管理系統(tǒng)的設計與實現(xiàn).doc_第1頁
JAVA學生成績管理系統(tǒng)的設計與實現(xiàn).doc_第2頁
JAVA學生成績管理系統(tǒng)的設計與實現(xiàn).doc_第3頁
JAVA學生成績管理系統(tǒng)的設計與實現(xiàn).doc_第4頁
JAVA學生成績管理系統(tǒng)的設計與實現(xiàn).doc_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件技術專業(yè)畢業(yè)論文學生成績管理系統(tǒng)的設計與實現(xiàn)姓 名: 黑 玉 龍 學 號: 0809340104 指導教師: 張 哲、馬 琦 雷 燕、劉 超 專 業(yè): 軟 件 技 術 二一年四月十六日 畢業(yè)論文開題報告所在系:軟件學院 專業(yè): 軟件技術 學號: 0809340104 姓名 :黑玉龍畢業(yè)設計題目: 學生成績管理系統(tǒng)(系統(tǒng))一、 選題意義:學生成績管理是學校管理中異常重要的一個環(huán)節(jié),作為學校,除了育人,就是育知,學生成績管理的信息化是整個學校教務管理中的重要一部分,能否實現(xiàn)這一步關系到學校辦學整體效率的高低,介于它的重要性,學生成績管理系統(tǒng)的開發(fā)與應用就逐漸提入議程,并占著越來越重要的份量。在現(xiàn)代,高科技的飛躍發(fā)展,人們工作習慣的改變,特別是計算機的大量普及,人們生活節(jié)奏越來越快,怎樣提高工作效率是人們首先考慮的問題。學生成績管理是一個非常繁瑣與復雜的一項工作,一個原因就是工作量大,處理繁瑣。對于一個學校而言,更應該運用一些本地資源,提高管理的力度。運用學生成績管理系統(tǒng)可以減輕學院教學人員的工作量,縮小開支,提高工作效率與準確率,能夠讓老師合理安排時間,能夠盡快知道學生的考試成績,為下一階段的教學做準備。近幾年來我國各大中專院校加快了信息化進程,基本上都建立了自己的校園網,這為我們系統(tǒng)的開發(fā)提供了必備的物質基礎.學生成績管理系統(tǒng)它能很好的解決以上的問題,極大地便捷了學生和指導老師,顯著地提高了工作效率。而且通過本次設計可以讓學生更加熟練掌握軟件開發(fā)的一般過程,并對所學知識做一個全面的總結。 二、 研究現(xiàn)狀:隨著高科技的飛躍發(fā)展,人們工作習慣的改變,特別是計算機的大量普及,人們生活節(jié)奏越來越快,怎樣提高工作效率是人們首先考慮的問題。學生成績管理是一個非常繁瑣與復雜的一項工作,一個原因就是工作量大,處理繁瑣。對于一個學校而言,更應該運用一些本地資源,提高管理的力度。因此建立學生成績管理系統(tǒng)可以使高校滿足教學和管理要求。三、 課題提綱: 調查,制作需求分析文檔和系統(tǒng)開題報告: 據調查系統(tǒng)主要有3個模塊:學生、教師、管理員,其各個功能是:a、學生用戶模塊 (1)查看個人信息。學生可以根據個人用戶名和密碼登陸系統(tǒng)查詢個人信息。(2)修改個人基本信息。學生依據個人信息進行正確的修改個人信息。(3)查詢個人成績。學生登陸系統(tǒng)后可以查詢自己的成績。b、教師用戶模塊 (1)查看信息 教師可以查詢個人信息和學生的個人信息以及成績。 (2)更改信息。此功能實現(xiàn)教師對學生的管理。 c、管理員模塊 (1)對教師的添加、刪除等功能; (2)對學生的添加、刪除。系統(tǒng)詳細設計:包括業(yè)務流圖和數據流圖的分析以及數據庫的設計 程序代碼編寫 畢業(yè)論文的制作四、 課題進度:3.2-3.9 調查用戶業(yè)務需求、制作需求分析報告3.10-3.18 詳細設計3.19-3.25 詳細數據庫設計3.26-4.7 編碼,程序設計4.8-4.14 系統(tǒng)測試4.15-4.20 畢業(yè)論文編寫五、 使用工具: 編寫源碼:編寫源碼基本使用myeclipse,數據庫文件的開發(fā)使用mysql; 網頁美工:網頁美工使用photoshop和dreamweamver等制作jsp; 服務器:服務器端采用apache tomcat。 指導教師: 張哲老師,馬琦老師,呂后坤老師 及其他專業(yè)相關指導老師。2010年03月10日學生簽名:年 月 日 指導教師意見:簽名: 院系領導意見:簽名: 年 月 日 摘 要學生成績管理系統(tǒng)是典型的信息管理系統(tǒng)(mis),其開發(fā)主要包括后臺數據庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。本系統(tǒng)主要完成對學生成績的管理,包括添加、修改、刪除,查詢,打印信息以用戶管理等六個方面。系統(tǒng)可以完成對各類信息的瀏覽、查詢、添加、刪除、修改等功能。系統(tǒng)的核心是添加、修改和刪除三者之間的聯(lián)系,每一個表的修改都將聯(lián)動的影響其它的表,當完成添加或刪除操作時系統(tǒng)會自動地完成學生成績的修改。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中主要根據學生姓名和學號進行查詢,其目的都是為了方便用戶使用。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能,并具備報表打印功能。系統(tǒng)應用時下流行的struts框架來開發(fā),在底層數據庫連接使用數據庫連接池技術,視圖層采用jsp技術.jsp是java server pages的縮寫,是servlet的擴展,它的主要優(yōu)點是能夠是顯示和業(yè)務邏輯分離,通過jsp來生成動態(tài)的網頁,由javabean,servlet或是一些java程序來實現(xiàn)復雜的業(yè)務邏輯,jsp這樣的特點大大的減輕了服務器的負擔。除此而外jsp還具有很多的優(yōu)點,比如jsp還具有java語言一次編寫處處運行的跨平臺優(yōu)點,等等。這里就不一一介紹了。所以說jsp技術是開發(fā)基于b/s架構的web應用的最佳選擇。關鍵詞:學生成績管理;jsp;javabeanvabstractthe system of managing students achievement file is a typical application of managing information system (know as mis), which mainly includes developing the application interface of front-end and building up and maintaining the data-base of back-end. the former should make the function of application integrated and the usage is easy, the latter required a data-base with powerful consistency and integrality, and nice security. this system mainly completes the management to students achievement, include six aspects such as adding, modifying, deleting, searching, printing information and the customer management. the system can complete to browse, search, add, delete, modify etc. to each kind of the function of information.system apply the technique of jsp that is very popular at present. jsp is the abbreviation of the java server pages, is a servlet to expand. the main advantage is to manifest and separate the business logic by jsp can make dynamic web page from javabean, servlet or some the procedure of java to realize complicated business logic. such characteristics of jsp alleviate the burden of the server in addition to this but the jsp still has a lot of advantages, for example, the jsp still has the language of java a weave the cross-platform advantage that write circulates everywhere, etc. here isnt introduce detailed. so jsp is the best choice in web development according to the frame of b/s.keywords: the system of managing students achievement;jsp;javabean目 錄摘 要iiiabstractiv第一章 緒 論11.1 系統(tǒng)開發(fā)背景11.2 本課題的研究意義11.3 系統(tǒng)概述1第二章 系統(tǒng)需求分析32.1 系統(tǒng)需求32.2 功能需求32.3 數據需求42.4 性能需求62.5 出錯處理需求6第三章 系統(tǒng)分析73.1 可行性分析73.2 業(yè)務流程分析83.3 數據流程分析83.4 數據字典描述93.4.1 數據條目93.4.2 數據分析9第四章 系統(tǒng)設計114.1 系統(tǒng)總體結構設計114.2 系統(tǒng)功能模塊圖124.3 系統(tǒng)建模學生成績管理系統(tǒng)用例分析134.3.1 識別參與者134.3.2 識別用例13第五章 詳細設計175.1 數據庫設計175.2 數據庫的結構設計175.3 數據庫邏輯結構設計195.4 數據庫的連接205.5 學生成績管理系統(tǒng)的登錄頁面205.6 學生成績管理系統(tǒng)安全性20第六章 常見問題及解決方法236.1 關于亂碼問題236.2 關于非法登錄問題23結束語24參考文獻25致 謝26第一章 緒 論1.1 系統(tǒng)開發(fā)背景隨著社會的發(fā)展和經濟時代的到來,管理信息系統(tǒng)在各行各業(yè)都越來越重要,特別是教育事業(yè)。在我國,有的學校根本就沒有系統(tǒng),還是手工操作,手工操作還十分落后,效率極低,成本很大,以后的社會是信息的社會,信息只有快,準,精才能發(fā)揮其價值。以學校管理信息系統(tǒng)建設中的教學管理子系統(tǒng)的開發(fā)為背景來開發(fā)學生成績管理系統(tǒng)以減輕學院教學人員的工作量,縮小開支,提高工作效率與準確率,能夠讓老師合理安排時間,能夠盡快知道學生的考試成績,為下一階段的教學做準備。1.2 本課題的研究意義建立學生成績管理系統(tǒng),采用計算機對學生信息進行管理,進一步提高辦學效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,實現(xiàn)學生成績管理工作流程的系統(tǒng)化、規(guī)范化和自動化。本論文就是為了實現(xiàn)這些想法而設計的。其研究意義有以下幾點:(1) 學生查詢個人信息功能,方便學生了解個人成績;(2) 教師在本系統(tǒng)中擁有添加,修改,刪除自己學生的成績的功能;(3) 后臺管理系統(tǒng)能夠方便的管理學生、教師、課題、班級等信息,提供了完善的管理服務。 總之,本課題的研究為高校提高工作效率,實現(xiàn)學生成績管理工作流程的系統(tǒng)化、規(guī)范化和自動化成為了可能。并且提供了實現(xiàn)方法。1.3 系統(tǒng)概述高校的招生規(guī)模不斷的擴大,在校大學生的人數不斷上升,在辦公化日益完善的今天,很多高校將自動化引入到學生的日常管理之中,學生成績管理系統(tǒng)就是其中的一個重要環(huán)節(jié),它作為學生信息管理的基礎,是實現(xiàn)校園信息化進程當中很重要的一個方面。 其開發(fā)主要包括前端應用程序的開發(fā)以及后臺數據庫的建立和維護兩個方面。本系統(tǒng)分析了現(xiàn)今學生成績管理系統(tǒng)中所應用的幾個環(huán)節(jié),并針對每個環(huán)節(jié)做出了詳細的闡述和探討。學生成績管理系統(tǒng)需要完成3個的內容:學生檔案資料的管理、學生必修課成績的管理、和學生選修課的管理。三個方面的內容均提供添加、修改、查詢的功能。另外系統(tǒng)還有完成選修課選報功能,即學生通過系統(tǒng)選報課程,老師通過批復學生的選報請求。開發(fā)用到的相關技術有java編程語言、引入mvc設計模式理念,以及后臺數據庫mysql的搭建與操作,并對模塊的功能進行了具體分析和詳細設計。第二章 系統(tǒng)需求分析2.1 系統(tǒng)需求成績管理成為學校教學管理中十分重要又相當復雜的管理工作之一,單純的采用傳統(tǒng)的手工處理已經不符合教育和管理的要求,而計算機具有運算速度快,處理能力強等特點,很自然地進入到這一應用領域中。因此為了保證學校的信息流暢,工作高效,有必要設計一個學生成績管理系統(tǒng)。這不但能使教務人員從復雜的成績管理中解脫出來,而且對于推動教學的發(fā)展也起到非常重要的作用。學校學生成績管理工作都是采用傳統(tǒng)的手工管理,這個傳統(tǒng)人工的管理方式存在著許多缺點,如:效率低,保密性差,一方面導致教師,學生成績情況不了解,教師對成績管理工作倍感頭痛,因為時間一長,將產生大量的文件和數據,這對于查找,更新和維護都帶來了不少的困難,耗費大量勞動力,難于避免錯誤的產生。選擇myeclipse來開發(fā)學生成績管理系統(tǒng),由于以上的優(yōu)點,幫助廣大教師提高工作效率,實現(xiàn)學生成績信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化,所以選擇myeclipse來開發(fā)學生成績管理系統(tǒng)。需求的收集及分析:學生成績管理系統(tǒng)應該完成以下兩個方面的內容:學生檔案資料的管理、學生成績的管理(包括必修課和選修課),每個內容均需要提供添加、修改和查詢的功能。學生成績管理系統(tǒng)在開發(fā)過程中收集到的客戶需求文檔記錄的關鍵部分可概括為以下幾個部分:1、可能會使用到該系統(tǒng)的用戶:系統(tǒng)管理員、教師、學生;2、各類用戶的權限不一樣。例如系統(tǒng)管理員可以添加、修改、查詢學生檔案資料和學生的成績,學生只能查詢自己的檔案、成績以及一些公共的信息,教師可以發(fā)布學生的成績信息,而且只能查詢自己所授課程的信息以及一些公共信息。3、要有系統(tǒng)備份功能,系統(tǒng)出故障時,因該有相應的應急措施或者系統(tǒng)恢復功能。由此可見,學生成績管理系統(tǒng)需要滿足3個方面的需求:管理員使用系統(tǒng)對全部數據進行維護操作;教師對于自己相關的部分數據實體進行操作;學生作為查詢者對數據實體進行查詢操作。現(xiàn)在的學生成績管理系統(tǒng)基本上能做到這幾個方面的要求,但多數系統(tǒng)在功能上依然存在缺陷和不足,尤其是在用戶界面的友好性以及查詢結果的可視化方面存在著很大的問題。2.2 功能需求系統(tǒng)功能需求:我們的系統(tǒng)需要實現(xiàn)的功能主要包括以下幾個方面:設計不同用戶的操作權限和登錄方法;管理員可以添加、修改和查詢學生的檔案記錄,同時可以添加、修改和查詢學生的成績記錄,有對學生成績信息開放度的管理權;管理員對學生的檔案和成績進行審查,生成學生的檔案記錄報表和學生成績報表;教師可以查詢所授課程的學生信息,可以錄入并查詢所授課程的成績;學生有查詢個人檔案信息和成績信息的權利;用戶界面的直觀性和成績查詢結果的可視化。在查詢結果的可視化方面,主要是針對當前眾多的成績管理系統(tǒng)的“通病”,我們所涉及的利于查詢用戶的一項新功能,除了帶來便捷性之外,在數據的統(tǒng)計分析等方面也有很大的幫助。滿足上述要求的系統(tǒng)應該包括以下幾個模塊:基本數據維護功能;數據庫管理功能;基本業(yè)務功能。2.3 數據需求通過調查,總結出用戶對數據的需求如下: (1)學生信息 包括:學號、學生姓名、性別、出生日期、所在學院、專業(yè)、班級等。 (2)課程信息 包括:課程編號、課程名稱、所屬專業(yè)等。 (3)選課信息 包括:學生姓名、課程名稱、開課時間、成績等。一、基本數據維護功能1、添加學生的檔案信息。2、修改學生的檔案信息。3、刪除學生的檔案信息。4、添加學生的成績信息。5、修改學生的成績信息。6、刪除學生的成績信息。7、查詢結果的可視化管理。描述如圖 2-1:基本數據的維護功能添加學生的檔案信息修改學生的檔案信息刪除學生的檔案信息刪除學生的成績信息修改學生的成績信息添加學生的成績信息查詢結果的可視化管理圖2-1基本數據維護功能圖二、數據庫管理功能1、檔案和成績信息管理。2、帳戶信息管理。3、檔案和成績信息查看管理。三、基本業(yè)務功能1、查看檔案信息和成績信息。2、添加成績信息。由此,學生成績管理系統(tǒng)的總體用例圖設計如下:圖2-2 系統(tǒng)總體用例圖2.4 性能需求通過分析,系統(tǒng)性能需求如下:1、系統(tǒng)的高速性、穩(wěn)定性、安全性。2、系統(tǒng)的體系結構能夠方便添加功能模塊,適應業(yè)務、辦公的發(fā)展。3、系統(tǒng)人機界面友好,易學易用。4、系統(tǒng)維護成本較低。2.5 出錯處理需求出錯處理的任務是及時有效的避免或糾正錯誤:1、接受到從另一個系統(tǒng)發(fā)來的違反協(xié)議格式的消息時要及時拒絕。2、發(fā)現(xiàn)系統(tǒng)自己出現(xiàn)錯誤時要及時提出出錯處理需求。第三章 系統(tǒng)分析3.1 可行性分析問題定義階段必須回答的關鍵問題是:要解決什么問題。通過調研,系統(tǒng)分析員應該提出關于問題性質、工程目標和工程規(guī)模的書面報告,并且需要得到客戶對這份報告的確認??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內確定問題是否能夠解決,并對以后的行動方針提出建議。一般說來,應從經濟可行性、技術可行性、運行可行性、法律可行性和開發(fā)方案可行性等方面研究可行性。可行性研究需要的時間長短取決于工程的規(guī)模,一般說來,可行性研究的成本只占預期的工程中成本的5-10%。(1) 技術可行性目前國內外開發(fā)管理信息系統(tǒng)的相關技術已經很成熟,有很多軟件由于采用了面向對象的編程技術以及其他比較先進的開發(fā)方法,具有很高的可用性。以現(xiàn)有技術來看,數據庫系統(tǒng),尤其是mysql數據庫的開發(fā)已經被大多數開發(fā)人員所掌握,而java具有快速、有效、靈活、易懂等很多顯著的特點。它能夠迅速而又簡單地建立用戶的圖形化窗口。對于數據的查詢、添加和修改都很方便實現(xiàn)。學?,F(xiàn)有微機及軟件系統(tǒng)安全可以實現(xiàn)系統(tǒng)。(2) 經濟可行性因為開發(fā)時間為兩個月,此次設計的系統(tǒng)要求并不高,因此本次的設計可以使用學校現(xiàn)有的微機系統(tǒng)和java+jsp+servlet完成,其基本功能都能夠很好的實現(xiàn),幾乎不需要額外開銷。舊的學生成績管理系統(tǒng)效率低、工作量大、處理過程中容易出錯,并且將產生大量的文件和數據材料,這對于查詢、更新和維護都帶來了很多麻煩。而新系統(tǒng)檢索速度快、查找方便、可靠性高、存儲量大、成本低等。這些優(yōu)點能夠極大地提高學生成績管理的效率,也是學校的科學化、正規(guī)化管理、與世界接軌的重要條件,這將產生巨大的經濟效益。(3) 運行可行性民辦教育正在迅猛發(fā)展,學院從硬件到軟件都投入了大量的人力、物力、財力,在教務上,給各個辦公室配置了計算機,并能聯(lián)接到互聯(lián)網,并且,學院領導對這方面比較重視,在教務上配置了一定數目的能夠訓練操作計算機的干事,可以快速、方便、高效地使用計算機進行日常工作。學院開展了計算機及其維修專業(yè),可讓學生以實踐方式對系統(tǒng)進行維護。使此系統(tǒng)在實踐上具備了可行性。3.2 業(yè)務流程分析下面是學生成績管理數據庫系統(tǒng)設計的業(yè)務流程分析,原始的數據是學生的成績,系統(tǒng)要求統(tǒng)計學生的成績,并根據成績統(tǒng)計的結果由獎學金評為評選出獲得獎學金的學生,其流程圖如下:圖3-1 學生成績管理系統(tǒng)數據流程圖3.3 數據流程分析數據流程圖(data flow diagram簡稱dfd)是描述系統(tǒng)邏輯模型的主要工具,通過幾個特定的符號,可以綜合地反映出信息在系統(tǒng)中的使用、加工處理、傳遞、存儲的整體情況。 數據流程圖是系統(tǒng)結構化分析行之有效的工具,它抽象地描述了系統(tǒng)數據處理的情況,但卻無法表達每個處理的詳細內容,因此還要對數據流程圖中出現(xiàn)的數據流和處理等做進一步的補充說明,這就是數據字典和變換邏輯說明。由于本系統(tǒng)的數據模塊較多,下面僅以學生成績管理模塊為例來進行編制。 學生成績管理系統(tǒng)數據流程圖(如圖3-2所示):p3.2分辨用戶是否存在教師學生p核對用戶和密碼是否匹配p2.2修改數據p1.2權限分配p2.1錄入數據d學生成績記錄圖3-2 學生成績管理系統(tǒng)數據流程圖3.4 數據字典描述數據字典是關于數據庫中數據的描述,即元數據,而不是數據本身。數據本身將存放在物理數據庫中,由數據庫系統(tǒng)管理。數據字典有助于這些數據的進一步管理和控制,設計人員和數據庫管理員在數據庫設計、實現(xiàn)和運行階段控制有關數據提供依據。3.4.1 數據條目系統(tǒng)管理要求=班級表(classes)|教師表(teacher)|課程表(course)|管理表(admin)|學生基本信息表(student)|選修課表(enrol)classes=tea_id+cour_id+room_id+cour_timeteacher=id+name+title+passwordcourse=id+name+mark+prepare+depadmin=id+ name+passwordstudent=password+id+sex+department+jiguan+tel+e_mailenrol=stud_id+class_id+accept+score3.4.2 數據分析數據結構數據結構反映了數據之見得組合關系。一個數據結構可以由若干個數據項組成,也可以由若干個數據結構組成,或由若干個數據項和數據結構混合組成。數據結構名:student含義說明:是成績查詢系統(tǒng)的主體數據結構,定義了有關學生的信息。組成:password,id,sex,department,jiguan,tel,e_mail數據結構名:teacher含義說明:是成績查詢系統(tǒng)的主體數據結構,定義了有關老師的信息。組成:id,name,title,password數據結構名:classes含義說明:是成績查詢系統(tǒng)的主體數據結構,定義了有關班級的信息。組成:tea_id,cour_id,room_id,cour_time數據結構名:course含義說明:是成績查詢系統(tǒng)的主體數據結構,定義了有關課程的信息。組成:id,name,mark,prepare,dep數據結構名:enrol含義說明:是成績查詢系統(tǒng)的主體數據結構,定義了有關選修課的信息。組成:stud_id,class_id,accept+score第四章 系統(tǒng)設計4.1 系統(tǒng)總體結構設計本系統(tǒng)的結構本系統(tǒng)采用b/s架構,所有的業(yè)務處理邏輯都在服務器端執(zhí)行,客戶端只有瀏覽器(ie/firefox/netscape等),所有界面呈現(xiàn)/操作都是通過瀏覽器將數據發(fā)送到服務器,由服務器的相應模塊進行處理。系統(tǒng)總體設計實現(xiàn)客戶/服務器(b/s)模式在產生之初被設計為兩層結構模型,一般又稱之為以數據庫為中心的結構。應用系統(tǒng)的用戶界面部分可以放在客戶端或服務端,但一般只存放于某一端,不會同時兩端都有。兩層結構模型將應用的用戶界面從服務端移至客戶端,有助于減少服務端的處理,從而提高系統(tǒng)的性能。業(yè)務邏輯以sql語句或存貯過程調用的形式表示。sql語句的網絡開銷過大,在業(yè)務邏輯簡單的應用中表現(xiàn)尚可,但對于分布式的業(yè)務處理,就會顯得有些不足。 為了避開兩次結構模型的這些缺點,本系統(tǒng)采用三層模型來實現(xiàn)客戶/服務器模式。本系統(tǒng)的三層結構模型以訪問web數據庫為中心,http為傳輸協(xié)議,客戶端通過瀏覽器(browser)訪問web服務器和與其相連的后臺數據庫。其三級結構組成如下圖4-1所示:jsp顯示頁面用戶界面層businesslayer業(yè)務處理層數據支持層database圖4-1 三層結構模型圖圖中從左到右,分為三個層次:第一層是用戶界面層,主要完成客戶和后臺的交互及最終查詢結果的輸出功能。在客戶端向指定的web服務器提出服務器請求,web服務器用http協(xié)議把所需文件資料傳給用戶,客戶端接受并顯示在www瀏覽器上;第二層業(yè)務處理層是功能層,完成客戶的應用功能,即web服務器接受客戶請求,并與后臺數據庫連接,進行申請?zhí)幚?,然后將處理結果返回web服務器,再傳至客戶端;第三層數據支持層是數據層。數據庫服務器應客戶請求獨立地進行各種處理。與傳統(tǒng)的兩層模式相比,三層模式的主要優(yōu)點為:(1) 好的靈活性和可擴展性。對于環(huán)境和應用條件經常變動的情況,只要對應用層實施相應的改變,就能夠達到目的;(2) 可共享性。單個應用服務器可以為處于不同平臺的客戶應用程序提供服務,在很大程度上節(jié)省了開發(fā)時間和資金投入;(3) 較好的安全性。在這種結構中,客戶應用程序不能直接訪問數據,應用jsp顯示頁面businesslayerdatabase用戶界面層業(yè)務處理層數據支持層服務器不僅可控制哪些數據被改變和被訪問,而且還可控制數據的改變和訪問方式;(4) 增強了企業(yè)對象的重復可用性。“企業(yè)對象”是指封裝了企業(yè)邏輯程序代碼,能夠執(zhí)行特定功能的對象。隨著組件技術的發(fā)展,這種可重用的組件模式越來越為軟件開發(fā)所接受;(5) 三層模式成為真正意義上的“瘦客戶端”,從而具備了很高的穩(wěn)定性、延展性和執(zhí)行效率;(6) 三層模式可以將服務集中在一起管理,統(tǒng)一服務于客戶端,從而具備了良好的容錯能力和負載平衡能力。4.2 系統(tǒng)功能模塊圖學生成績管理系統(tǒng)管理員學生教師添加記錄修改記錄查詢記錄生成報表查詢記錄選報選修課程添加記錄修改記錄查詢記錄生成報表圖4-2 系統(tǒng)功能模塊圖 如上面業(yè)務分解圖所示,將一個開發(fā)的軟件學生成績管理系統(tǒng)分成三個模塊, 即管理員模塊、學生模塊和教師模塊。管理員模塊:系統(tǒng)管理員使用了系統(tǒng)中的所有權限,這些權限大致可以分為添加、修改、查詢記錄以及生成報表。學生模塊:學生僅僅使用系統(tǒng)的查詢功能以及使用系統(tǒng)選報選修課課程。教師模塊:教師具備部分管理員的權限,他們能夠修改與自己課程相關的數據實體的內容,但除此之外的數據實體則不能被修改。4.3 系統(tǒng)建模學生成績管理系統(tǒng)用例分析4.3.1 識別參與者在前面的需求分析過程中,明確了系統(tǒng)的3類角色(actor)及其相關的權限。 系統(tǒng)管理員:系統(tǒng)管理員使用了系統(tǒng)中的所有權限,這些權限大致可以分為添加、修改、查詢記錄以及生成報表。 學生:學生僅僅使用系統(tǒng)的查詢功能以及使用系統(tǒng)選報選修課課程,不具備操作系統(tǒng)中其它功能的權限。 教師:教師具備部分管理員的權限,他們能夠修改與自己課程相關的數據實體的內容,但除此之外的數據實體則不能被修改。4.3.2 識別用例根據對需求的進一步分析,可以確定系統(tǒng)中有如下用例存在(1)處理學生檔案管理事務(2)處理學生必修課成績事務(3)處理學生選修課成績事務(4)成績查詢事務根據需求及分析得到學生成績管理系統(tǒng)的用例(usecase)圖。首先設計的是整個系統(tǒng)的用例圖,如圖4-3所示。圖4-3系統(tǒng)總體用例圖從上面的用例圖中可以看出,系統(tǒng)的用戶(包括管理員、教師、學生)如果要使用系統(tǒng)的功能的話,必須要通過登陸驗證的環(huán)節(jié),這是對系統(tǒng)數據的保密性和安全性所采取的措施。系統(tǒng)的總體用例圖中的用例功能比較模糊,需要對去進行進一步的細化。下面是對總體用例圖的進一步的細化過程。 學生檔案管理事務用例的細化。如圖4-4所示:從圖4-3所示的用例圖中可以看出:處理學生檔案管理事務的用例包括4個部分的內容:添加學生檔案記錄、修改學生大檔案記錄、查詢學生檔案記錄、生成學生檔案信息報表,include關系表明了處理學生檔案管理事務用例對后面4部分內容的包含關系。用例圖中的extend關系出現(xiàn)在子用例“查詢學生檔案信息”和“生成學生檔案信息報表”之間。extend關系表示“查詢學生檔案信息”用例可以延伸到“生成學生檔案信息報表”用例。圖4-4 學生檔案管理事務用例圖 處理學生必修課成績事務用例的細化。如圖4-5所示:圖4-5 處理學生必修課成績事務用例圖 處理學生選修課成績事務用例的細化。如圖4-6所示:圖4-6 處理學生選修課成績事務用例圖 成績查詢事務用例的細化。如圖4-7所示:圖4-7 成績查詢事務用例圖圖4-8 學生成績管理系統(tǒng)用戶登錄時序圖第五章 詳細設計5.1 數據庫設計本系統(tǒng)采用mysql來設計數據庫。mysql是一個小型關系型數據庫管理系統(tǒng),開發(fā)者為瑞典mysql ab公司。前mysql被廣泛地應用在internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了mysql作為網站數據庫。由于考慮到本系統(tǒng)是應用在單機系統(tǒng)上,根據學校人員規(guī)模建立起一個數據庫,在此數據庫基礎上建立起如下基本表:1、班級表(classes):班級編號(id)、教師編號(tea_id)、課程號(cour_id)、班級位置(room_id)、課程時間安排(cour_time)2、管理員表(admin):管理員編號(id)、管理員姓名(name)、密碼(password)3、教師表(teacher):教師編號(id)、姓名(name)、所授課程(title)、密碼(password)4、課程表(course):課程編號(id)、課程名(name)、學分(mark)、是否選修(prepare)、系名(dep)5、學生信息表(student):學生姓名(name)、學生用戶密碼(password)、學生編號(id)性別(sex)、所在系(department)、籍貫(jiguan)、聯(lián)系電話(tel)、電子郵箱(e_mail)6、選修課程表(enrol):選修課程編號(stud_id)、班級號(class_id)、是否選修(accept)、學分(score)5.2 數據庫的結構設計管理員用戶表,用來存儲登錄用戶的賬號、密碼和權限如表5.1所示:表5.1管理員表(admin)學生用戶表,用來存儲學生的一些信息如表5.2所示:表5.2 學生表(student)教師用戶表,用來存儲教師的一些信息如表5.3所示:表5.3教師表(teacher)課程信息表,用來存儲課程信息如表5.4所示:表5.4 課程信息表表(course)選修課程表,用來存儲學生要選擇題目的信息如表5.5所示:表5.5 選修課程表(enrol)班級表,用來存儲學校里班級信息如表5.6所示:表5.6 班級表(classesi)說明:(1) 學號是以學生入校的年的后兩位、月份兩位、系部代碼兩位、專業(yè)代碼兩位和編號共10位組成(2) 教師編號是以所在的專業(yè)兩位和編號兩位共四位組成5.3 數據庫邏輯結構設計系統(tǒng)管理員數據表:字段號數據類型長度idvarchar10namevarchar10passwordvarchar10班級信息數據表:字段號數據類型長度idvarchar50tea_idvarchar10cour_idchar50room_idvarchar10cour_timechar10選修課選信息數據表:字段名數據類型長度stu_idvarchar50class_idvarchar50acceptboolean1scorevarchar50學生檔案信息數據表:字段名數據類型長度idvarchar50namepassword10jiguanvarchar50departmentvarchar10sexvarchar10telvarchar11e_mailvarchar50教師信息數據表字段名類型長度idvarchar10namevarchar50titlevarchar50passwordvarchar50用戶界面可分為以下4個模塊:登錄模塊:登錄界面、登錄失敗界面。學生模塊:主界面、選修課程、查看學分、修改個人信息。教師模塊:挑選學生、打分、公布成績。管理員模塊:學生管理、教師管理、課程管理、班級管理。5.4 數據庫的連接在整個學生成績查詢系統(tǒng)中,數據庫的打開在系統(tǒng)中是很重要的,本系統(tǒng)使用連接池連接數據庫,使用配置文件“配置.ini”實現(xiàn)連接數據庫的功能如:driver=com.mysql.jdbc.driversqlserver.url=jdbc:mysql:/:3306/samssqlserver.user=rootsqlserver.password=123456sqlserver.maxconn=305.5 學生成績管理系統(tǒng)的登錄頁面畢業(yè)設計管理系統(tǒng)分為三種登錄模式(1) 管理員登錄(2) 教師登錄(3) 學生登錄5.6 學生成績管理系統(tǒng)安全性系統(tǒng)是用jsp網頁編程+javabean+servelt+mysql數據庫+sql查詢語句,學生成績管理系統(tǒng)中擁有的用戶名和密碼正確才能正常進入學生成績管理系統(tǒng),系統(tǒng)安全設計的判斷頁面為errorpage.jsp。如果用戶名和密碼正確,則轉向相應的頁面,若用戶名和密碼錯誤,則轉向errorpage.jsp。若是學生登錄,以下是給出整個文件的部分代碼提供參考:public class login_confirm extends httpservlet public string codestring(string s)trybyte b=s.getbytes(iso-8859-1);s=new string(b);catch(exception e)system.out.print(e);return s;public void dopost(httpservletrequest req, httpservletresponse res)throws servletexception, ioexception string message = null;string id = null;id = codestring(req.getparameter(name);httpsession session = req.getsession(true);session.setattribute(id, string.valueof(id);string password = null;password = req.getparameter(password);string kind = null;kind = req.getparameter(kind);system.out.println(kind: + kind);string temp = getpassword(req, res, id, kind);if(temp=null)elsetemp=temp.trim();if (password.equals(temp)goo(req, res, kind);else message = 用戶名或密碼有誤!;doerror(req, res, message);public void goo(httpservletrequest req, httpservletresponse res, string kind)throws servletexception, ioexception if (kind.equals(student) requestdispatcher rd = req.getrequestdispatcher(student.jsp);rd.forward(req, res);if (kind.equals(teacher) requestdispatcher rd = req.getrequestdispatcher(teacher.jsp);rd.forward(req, res);if (kind.equals(admin) requestdispatcher rd = req.getrequestdispatcher(admin.jsp);rd.forward(req, res);public string getpassword(httpservletrequest req, httpservletresponse res,string id, string kind) throws servletexception, ioexception sqlbean db = new sqlbean();string pw = ;string sql = select password from + kind + where name= + id+ ;system.out.println(sql:+sql);try resultset rs = db.executequery(sql);pw=db.getpassword(); catch (exception e) system.out.print(e.tostring();e.printstacktrace();return pw;public void doerror(httpservletrequest req, httpservletresponse res,string str) throws servletexception, ioexception req.setattribute(problem, str);requestdispatcher rd = getservletcontext().getrequestdispatcher(/errorpage.jsp);rd.forward(req, res);public void doget(httpservletrequest req, httpservletresponse res)throws servletexception, ioexception string action = action = req.getparameter(action);if (logout.equalsignorecase(action) httpsession session = req.getsession(true);session.invalidate();requestdispatcher rd = getservletcontext().getrequestdispatcher(/login.jsp);rd.forward(req, res);第六章 常見問題及解決方法6.1 關于亂碼問題1、數據庫寫入亂碼:mysql數據存儲數據亂碼以及前臺顯示亂碼:mysql數據庫默認的數據存儲類型編碼是gbk格式的。當我們從數據庫中讀取數據的時候往往在前臺界面上顯示的是?出現(xiàn)亂碼現(xiàn)象。這是因為我們所編制的jsp文件所使用的編碼格式是:gb2312的,所以出現(xiàn)了不兼容現(xiàn)象。為了解決這個問題在jsp的整體頁面中加了個這個屬性: pageencoding=”gbk”這樣基本上就解決了這個問題了。還有一種方法就是在建設數據的時候就將所建數據庫的編碼格式改為gbk。然后在編程和繪制前臺界面完成要保存的時候就將java文件和jsp文件的編碼格式也保存成gbk的。這樣以后也不會出現(xiàn)亂碼問題了。總之就是數據庫的編碼格式要和jsp文件的編碼格

溫馨提示

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

評論

0/150

提交評論