畢業(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頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 太原理工大學畢業(yè)設計(論文)用紙 .刪除信息模塊.管理員可以實現(xiàn)對學生、教師和課程信息的刪除。1.4 本畢業(yè)設計的可行性分析經(jīng)濟可行性研究是對組織的經(jīng)濟現(xiàn)狀和投資能力進行分析,對系統(tǒng)建設運行和維護費用進行估算,對系統(tǒng)建成后可能取得的社會和經(jīng)濟效益進行估計。估算新系統(tǒng)的開發(fā)費用和今后的運行、維護費用,估計新系統(tǒng)將獲得的效益,并將費用與效益進行比較,看是否有利。開發(fā)、運行和維護費用主要包括:購買和安裝設備的費用:計算機硬件、系統(tǒng)軟件、 機房、電源、空調等;軟件開發(fā)費用:若由實習單位的技術人員開發(fā),則該項費用可以計入下面的人員費用一項;人員費用:系統(tǒng)開發(fā)人員、操作人員和維護人員的工資、培訓費用等;

2、消耗品費用:系統(tǒng)開發(fā)所用材料、系統(tǒng)正常運行所用消耗品,例如水、電費,打印紙、軟盤、色帶等開支。由于學生信息管理系統(tǒng)是作為畢業(yè)設計由自己開發(fā)的,所以基本不存在上述問題,在經(jīng)濟上的投入甚微,系統(tǒng)建成之后將為今后實現(xiàn)學生信息管理系統(tǒng)提供很大的方便。學校為每位同學提供有一臺電腦。所需資料可以免費上網(wǎng)搜或到圖書館借閱相關書籍進行查詢,也是免費的??傮w上來看,基本上都是學生無需投入個人經(jīng)費。技術可行性要考慮現(xiàn)有的技術條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。學生管理系統(tǒng)用的是JSP開發(fā)語言,調試相對簡單,當前自己電腦的計算機硬件配置也完全能滿足開發(fā)的需求,因此在技術上是絕對可行的。軟件

3、方面:由于目前單機模式相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統(tǒng)的需求。運行可行性是對組織結構的影響,現(xiàn)有人員和機構和環(huán)境對系統(tǒng)的適應性及人員培訓補充計劃的可行性。由于學生信息管理系統(tǒng)是作為畢業(yè)設計由 自己對其進行開發(fā),所以在運行上是可行性的。根據(jù)新系統(tǒng)目標來衡量所需的技術是否具備,一般可從硬件、軟件的性能要求、環(huán)境條件、技術人員水平和數(shù)量等方面去考慮和分析,其中開發(fā)人員的技術力量應首先考慮能力與水平,我們本科生通過四年的努力學習幾經(jīng)具備這種能力和水平。要開發(fā)該系統(tǒng)必須具備一定的網(wǎng)絡知識和數(shù)據(jù)庫知識,最好能熟練掌握一門面向對象語言。到目前為止

4、,我們已經(jīng)學習了幾門程序設計語言,其中java就是一種很好的面向對象開發(fā)語言,java中的多線程和多媒體技術完全可以實現(xiàn)此功能。從理論上來說,技術上沒問題。其他方面,學生管理系統(tǒng)是學校管理非常實用的一款軟件,對老師管理學生、學生選課、查詢成績都非常方便,簡單可視化操作,易于管理。該項目為獨立開發(fā)。在法律方面不會存在侵犯專利權、侵犯版權等問題,完全按照合同的規(guī)定履行。 按上述三方面進行可行性分析、研究,開發(fā)此項目沒有任何問題。使用本系統(tǒng),對其學生信息及時反饋。使得管理者管理簡便,操作簡單、效率提高。本系統(tǒng)的開發(fā),采用流行的JSP+SQL Server2005體系,已無技術上的問題。1.5 本項目

5、的開發(fā)步驟我采用的是軟件工程中項目開發(fā)流程的方式對其進行設計與開發(fā),通過需求分析、概要設計、詳細設計、編碼實現(xiàn)和測試等一系列的工作階段。上述各個階段排列成一個嚴格的線性開發(fā)序列,在每個工作階段所得到的成果作為下一階段工作的指導和依據(jù),每一階段都應做檢查,確信該階段工作已完成并達到要求后才能進入下一階段,同時在以后的工作中不能輕易改變前面經(jīng)過檢查的成果。上述開發(fā)方式的主要優(yōu)點是便于開發(fā)工作的組織和管理,并且可大大降低管理信息系統(tǒng)開發(fā)的復雜性。國內外許多系統(tǒng)開發(fā)的實例都證明這是一種行之有效的開發(fā)方式。2 相關關鍵技術和開發(fā)環(huán)境簡介 我設計此項目時采用軟件工程設計開發(fā)項目的思想,使用JSP技術實現(xiàn)動

6、態(tài)網(wǎng)頁的效果,SQL Server 2005為數(shù)據(jù)庫,My eclipse的程序開發(fā)工具和Hibernate技術連接數(shù)據(jù)的方式進行對學生信息管理系統(tǒng)的設計與開發(fā)。2.1 軟件工程簡介軟件工程是用科學知識和技術原理來定義、開發(fā)、維護軟件的一門學科。它涉及計算機科學、工程科學、管理科學、數(shù)學等領域,計算機科學著重于原理和理論,而軟件工程著重于如何建造一個軟件系統(tǒng)。軟件工程在軟件開發(fā)過程中占有不可動搖的重要地位。一個軟件從開始計劃起,到廢棄不用止,稱為軟件生存周期。一般來說,軟件生存周包括計劃、開發(fā)、運行三個時期,每一時期又可分為若干更小的階段。計劃時期的主要任務是分析用戶要求,分析新系統(tǒng)的主要目標

7、以及開發(fā)該系統(tǒng)的可行性。開發(fā)時期要完成設計和實現(xiàn)兩大任務具體。具體分為需求分析、概要設計、詳細設計、編碼、測試。其中編碼和測試是軟件開發(fā)期的最后兩個階段。運行時期是軟件生存周期的最后一個時期,軟件人員在這一時期的工作,主要是做好軟件維護?!皩W生信息管理系統(tǒng)”雖然只是一個比較小的項目,但是為了做的更規(guī)范,也盡量按照軟件工程的指導來做,事實上,不管一個多小的工程,都是離不開軟件工程的指導思想的。2.2 JSP簡介 2.2.1 什么是JSPJSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。JSP技術有點類似ASP技術,

8、它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件用JSP開發(fā)的Web應用是跨平臺的,即能在Linux下運行,也能在其他操作系統(tǒng)上運行。 JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。2.2.2 JSP技術的優(yōu)勢 1.一次編寫,到處運行。由于JSP/Servlet都是基于Java的,在這一點

9、上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。 2.系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署, 在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。 3.強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。2.3

10、 SQL Server 2005簡介SQL是Structured Quevy Language(結構化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時,只需要發(fā)出“做什么”的命令,“怎么做”是不用使用者考慮的。SQL功能強大、簡單易學、使用方便,已經(jīng)成為了數(shù)據(jù)庫操作的基礎,并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。 Microsoft SQL Server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能(BI)工具提供了企業(yè)級的數(shù)據(jù)管理。Microsoft SQL Server 2005數(shù)據(jù)庫引擎為關系型數(shù)據(jù)和結構化數(shù)據(jù)提供了更安全可靠的存儲功能

11、,使您可以構建和管理用于業(yè)務的高可用和高性能的數(shù)據(jù)應用程序。 Microsoft SQL Server 2005 數(shù)據(jù)引擎是該企業(yè)數(shù)據(jù)管理解決方案的核心。此外 Microsoft SQL Server 2005 結合了分析、報表、集成和通知功能。這使您的企業(yè)可以構建和部署經(jīng)濟有效的 BI 解決方案,幫助您的團隊通過記分卡、Dashboard、Web services 和移動設備將數(shù)據(jù)應用推向業(yè)務的各個領域。與 Microsoft Visual Studio、Microsoft Office System 以及新的開發(fā)工具包(包括 Business Intelligence Developmen

12、t Studio)的緊密集成使 Microsoft SQL Server 2005 與眾不同。無論您是開發(fā)人員、數(shù)據(jù)庫管理員、信息工作者還是決策者,Microsoft SQL Server 2005 都可以為您提供創(chuàng)新的解決方案,幫助您從數(shù)據(jù)中更多地獲益。2.4 Hibernate簡介2.4.1 什么是Hibernate Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的W

13、eb應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數(shù)據(jù)持久化的重任。 有了Hibernate,向各種關系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了Hibernate API,就不必為訪問SQL2005數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問mysql數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用API寫一個程序就夠了,它可向相應數(shù)據(jù)庫發(fā)送SQL調用。同時,將Java語言和Hibernate結合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,

14、處處運行”的優(yōu)勢。Java 具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡上自動下載等特性,是編寫數(shù)據(jù)庫應用程序的杰出語言。所需要的只是 Java應用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。而 Hibernate正是作為此種用途的機制。 MIS 管理員們都喜歡Hibernate的結合,因為它使信息傳播變得容易和經(jīng)濟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務器上,隨后任何人就都可得到最新版本的應用程序。2.4.2 Hibernate的優(yōu)勢1、

15、封裝了jdbc,簡化了很多重復性代碼。2、簡化了DAO層編碼工作,使開發(fā)更對象化了。3、移植性好,支持各種數(shù)據(jù)庫,如果換個數(shù)據(jù)庫只要在配置文件中變換配置就可以了,不用改變hibernate代碼。4、支持透明持久化,因為hibernate操作的是純粹的(pojo)java類,沒有實現(xiàn)任何接口,沒有侵入性。所以說它是一個輕量級框架。2.5 Struts2簡介Struts2雖然從名稱上看是Struts1的升級版,但Struts2在實現(xiàn)原理和使用方法上與Struts1有很大區(qū)別。Struts2實際上是從WebWork框架演變過來的,從本質上看Struts2是WebWork的升級版本。Struts2是M

16、VC框架,因此,在Struts2中必須包含著3個層次對應的部分。Struts2中與MVC模式的三個層次對應的部分如下:視圖層:由JSP畫面(包括Struts2標簽)及客戶端代碼(HTML、JavaScript)組成??刂破鲗樱河蒘truts2中Action類組成。Action類可以是一個POJO類,也可以是從ActionSupport類繼承的類。模型層:Struts2中的模型層根據(jù)系統(tǒng)業(yè)務的不同而有所差異。通常模型層包括實體類、DAO類、Service類。 圖2-1 框架工作流程圖用Struts2實現(xiàn)MVC框架中各部分的工作流程,如圖2-1所示,下面將從Struts2的角度詳細展示Struts

17、2的整體結構。Struts 2 的整體結構,如圖2-2所示,其來源于Struts2官方站點。圖2-2 Struts2的整體結構圖一個請求在Struts2框架中的處理大概分為以下幾個步驟 1.客戶端初始化一個指向Servlet容器(例如Apache Tomcat)的請求 2.這個請求經(jīng)過一系列的過濾器(Filter)(這些過濾器中有一個叫做ActionContextCleanUp的可選過濾器,這個過濾器對于Struts2和其他框架的集成很有幫助,例如:SiteMesh Plugin)。 3.接著FilterDispatcher被調用,F(xiàn)ilterDispatcher詢問ActionMapper來

18、決定這個請是否需要調用某個Action 。4.如果ActionMapper決定需要調用某個Action,F(xiàn)ilterDispatcher把請求的處理交給ActionProxy 。5ActionProxy通過Configuration Manager詢問框架的配置文件,找到需要調用的Action類 。6ActionProxy創(chuàng)建一個ActionInvocation的實例。 7ActionInvocation實例使用命名模式來調用,在調用Action的過程前后,涉及到相關攔截器(Intercepter)的調用。 8一旦Action執(zhí)行完畢,ActionInvocation負責根據(jù)struts.xm

19、l中的配置找到對應的返回結果。返回結果通常是(但不總是,也可能是另外的一個Action鏈)一個需要被表示的JSP或者FreeMarker的模版。在表示的過程中可以使用Struts2框架中繼承的標簽。在這個過程中需要涉及到ActionMapper。在上述過程中所有的對象(Action,Results,Interceptors,等)都是通過ObjectFactory來創(chuàng)建的。2.6 CSS簡介 CSS是層疊樣式表(Cascading Style Sheets)用來定義網(wǎng)頁的現(xiàn)實效果??梢越鉀Qhtml代碼對樣式定義的重復,提高了后期樣式代碼的可維護性,并增強了網(wǎng)頁的現(xiàn)實效果功能。簡單一句話:CSS將

20、網(wǎng)頁內容和顯示樣式進行分離,提高了顯示功能。2.7 MyEclipse簡介 MyEclipse企業(yè)級工作平臺(MyEclipseEnterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,支持HTML,Stus,JSP,JavaScript,Spring,SQL,Hibernate。MyEclipse 是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyE

21、clipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3, JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。根據(jù)官方最新消息,MyEclipse 2013已經(jīng)正式發(fā)布!MyEclipse 2013支持HTML5、JQuery和主流的Javascript 庫。隨著MyEclipse 2013支持HYPERLINK /view/692.htmHtml5,你可以添加音頻、視

22、頻和API元素到你的項目,從而為移動設備創(chuàng)建復雜的Web應用程序。你甚至還可以通過HTML5 可視化設計器設計令人難以置信的用戶界面。同時,隨著MyEclipse 2013支持JQuery,你可以通過插件提升性能,并添加動畫效果到設計中。3 系統(tǒng)的需求分析3.1 系統(tǒng)的背景和所要解決的問題 隨著科學技術的飛速發(fā)展,計算機科學技術的不斷提高,計算機在各個領域的普及,學校規(guī)模的不斷擴大,學院、專業(yè)、班級、學生的數(shù)量急劇上升,有關學生的各種信息量也成倍增長,以前的學校學生學籍信息管理仍停留在復雜的人工管理階段,需要人為的重復工作,工作量很大,效率非常低,因此,迫切需要開發(fā)基于互聯(lián)網(wǎng)的、學生信息管理系

23、統(tǒng)來提高學校的管理工作的效率。其最主要的特點就是節(jié)省人力資源,使用方便、快捷。以“提高學校管理質量”為原則,方便快捷的管理學生信息,教師信息。所以,開發(fā)一套學校學生信息管理系統(tǒng)來代替?zhèn)鹘y(tǒng)的人工管理方式是必然的。本系統(tǒng)要實現(xiàn)學生信息的網(wǎng)絡化的查詢與管理。那么,學生如何管理個人信息;教師如何管理學生信息和個人進行;管理員如何管理學生、教師和個人的信息是這個系統(tǒng)需要解決的問題。3.2 系統(tǒng)的功能需求 本系統(tǒng)的主要任務就是負責對學生信息管理.主要用戶為老師、學生和管理員,其中,學生可對自己的信息進行查詢,也可以修改有關信息,教師可對學生的信息進行增、刪、改查,管理員擁有所有的權限,可以添加、刪除、修改

24、、查詢學生信息,教師信息。系統(tǒng)提供非常友好的界面,操作簡便,管理方便??偟膩碚f,此畢業(yè)設計就是解決管理學生信息的問題,能夠存儲一定的用戶信息和學生信息,并方便有效地進行相應的用戶信息和學生信息的操作和管理,這主要包括:用戶能夠對自身信息進行修改;添加、修改用戶的相關信息;添加、修改、刪除學生的相關信息;對學生的相關信息的查詢。最終實現(xiàn)學生信息的網(wǎng)絡化的查詢與管理。3.2.1 管理員的功能分析基本操作,一個是查看系統(tǒng)屬性,有操作系統(tǒng)板本的查看,操作系統(tǒng)類型的查看,目錄的查看,JDK版本和安裝目錄的查看、總內存和剩余內存的查。另一個是對個人信息的管理,如修改個人密碼。學生信息的管理,查看學生詳?shù)募?/p>

25、信息:查看學生的姓名、年齡、政治面貌等信息,學生信息的查詢:通過學號對學生詳細信息進行查詢,刪除學生:可以刪除需要刪除的學生。修改學生的詳細信息:可以對需要修改信息的學生進行修改,如密碼等。添加學生:對入學的學生進行詳細信息的錄入,導入、導出學生:導出數(shù)據(jù)庫中的表,生成Excel表格,將Excel表格中的表導入到數(shù)據(jù)庫中。教師信息的管理,查看教師的詳細信息:查看教師的姓名、性別、年齡等信息,教師信息的查詢:通過教師姓名對教師詳細信息進行查詢。刪除教師:可以刪除需要刪除的教師,添加教師:對新進行的教師進行詳細信息的錄入,導入、導出教師:導出數(shù)據(jù)庫中的表,生成Excel表格,將Excel表格中的表

26、導入到數(shù)據(jù)庫中。3.2.2 教師的功能分析基本操作,查看系統(tǒng)屬性,有操作系統(tǒng)板本的查看,操作系統(tǒng)類型的查看,目錄的查看,JDK版本和安裝目錄的查看、總內存和剩余內存的查。學生信息的管理,查看學生詳?shù)募毿畔ⅲ翰榭磳W生的姓名、年齡、政治面貌等信息,學生信息的查詢:通過學號對學生詳細信息進行查詢,刪除學生:可以刪除需要刪除的學生。修改學生的詳細信息:可以對需要修改信息的學生進行修改,如密碼等。添加學生:對入學的學生進行詳細信息的錄入,導入、導出學生:導出數(shù)據(jù)庫中的表,生成Excel表格,將Excel表格中的表導入到數(shù)據(jù)庫中。3.2.3 學生的功能分析 基本操作,查看系統(tǒng)屬性,有操作系統(tǒng)板本的查看,操

27、作系統(tǒng)類型的查看,目錄的查看,JDK版本和安裝目錄的查看、總內存和剩余內存的查。 學生本人的個人信息管理,對自己的信息進行查看,對自己所要變更的信息進行修改,如修改密碼,銀行賬號等。3.2.4 系統(tǒng)的用例分析 通過對學生信息管理系統(tǒng)的分析,可以得出該系統(tǒng)涉及三個實體:管理員、老師、學生。通過對各實體數(shù)據(jù)關系的整理,我們可以畫出如下用例圖如圖3-1所示:圖3-1 系統(tǒng)用例圖 這些實體涉及的數(shù)據(jù)項有: 學生:學號、姓名、性別、年齡、身份證號、登陸賬號、登陸密碼。老師:編號、姓名、性別、年齡。管理員:登陸編號、登陸密碼。3.3 系統(tǒng)性能需求系統(tǒng)的運行對于運行環(huán)境的要求是:1.硬件環(huán)境目前,我們所開發(fā)

28、的系統(tǒng)主要應用在中小規(guī)模的學校內部,因此,一般配置的計算機硬件就可以滿足系統(tǒng)要求,可以充分發(fā)揮本系統(tǒng)的性能。服務器的配置,CPU最低備至為Pentium III 800,推薦配置是P4 1.8。硬盤最低備至為20G空余硬盤空間,推薦配置是60G空余硬盤空間。內存最低備至為256M或更高,推薦配置是512M或更高。網(wǎng)卡最低備至為10/100M,推薦配置是512M或更高。操作系統(tǒng)最低備至為Windows 7,推薦配置是Windows 7。Web 服務組件最低備至為20GIIS,推薦配置是IIS。 2.軟件環(huán)境操作系統(tǒng)是Windows7,開發(fā)軟件是MyEclipse,所用數(shù)據(jù)庫:Microsoft

29、SQL Server 2005。3.4 業(yè)務分析本系統(tǒng)主要包括三種業(yè)務流程:管理員業(yè)務流程、教師業(yè)務流程、學生業(yè)務流程。3.4.1 管理員業(yè)務流程概述選擇以管理員身份登錄,輸入用戶名、密碼,登錄到系統(tǒng),對相關信息進行增、刪、改、查以及導入和導出。進行完操作之后,點擊安全退出,退出系統(tǒng)。管理員業(yè)務流程圖如圖3-2所示。開 始開 始用戶或密碼錯誤 輸入用戶名、密碼、用戶或密碼錯誤 輸入用戶名、密碼、 選擇管理員身份驗證否驗證是登錄成功登錄成功導入導出添加修改刪除查詢導入導出添加修改刪除查詢安全退出安全退出結 束結 束 圖3-2 管理員業(yè)務流程圖3.4.2 教師業(yè)務流程概述選擇以教師身份登錄,輸入用

30、戶名、密碼,登錄到系統(tǒng),對相關信息進行增、刪、改、查以及導入和導出。進行完操作之后,點擊安全退出,退出系統(tǒng)。教師業(yè)務流程圖如圖3-3所示。開 始開 始用戶或密碼錯誤 輸入用戶名、密碼、用戶或密碼錯誤 輸入用戶名、密碼、 選擇教師身份驗證否驗證是登錄成功登錄成功查詢導入刪除修改添加導出查詢導入刪除修改添加導出安全退出安全退出 結 束 結 束 圖3-3 教師業(yè)務流程圖3.4.3 學生業(yè)務流程概述選擇以學生身份登錄,輸入用戶名、密碼,登錄到系統(tǒng),對學生個人信息進行查看、修改。進行完操作之后,點擊安全退出,退出系統(tǒng)。學生業(yè)務流程圖如圖3-4所示。開 始開 始 用戶或密碼錯誤 輸入用戶名、密碼、用戶或密

31、碼錯誤 輸入用戶名、密碼、 選擇學生身份驗證否驗證是登錄成功登錄成功刪除導入刪除導入安全退出安全退出 結 束結 束 圖3-4 學生業(yè)務流程圖4 系統(tǒng)的概要設計本階段設計的基本目標是解決系統(tǒng)如何實現(xiàn)問題,主要涉及的是系統(tǒng)的體系結構設計,將給出系統(tǒng)的一個整體架構設計。根據(jù)系統(tǒng)分析產(chǎn)生的分析結果來確定這個系統(tǒng)由哪些系統(tǒng)和模塊組成,這些系統(tǒng)和模塊又如何有機的結合在一起,每個模塊的功能如何實現(xiàn)。系統(tǒng)設計的目標是使系統(tǒng)實現(xiàn)擁有所要求的功能,同時,力爭達到高效率、高可靠性、可修改性,并且容易掌握和使用。本階段是在仔細研究軟件需求之后對將要開發(fā)的軟件系統(tǒng)進行模塊劃分和設計,明確系統(tǒng)層次結構,明確各層之間應該負

32、責的邏輯功能。模塊化的依據(jù)是:把復雜問題分解成許多容易解決的小問題。原來的問題也就變得容易解決。模塊化設計是把大型軟件按照一定的原則劃分成一個較小的相對功能獨立又相關聯(lián)的模塊。每個模塊完成一個特定的子功能。把這些模塊結合起來組成一個整體。完成指定的功能,滿足問題的要求。采用模塊化原理的優(yōu)點在于可以使軟件結構清晰,容易測試和調試。從而提高軟件的可靠性,可修改性。有助于軟件開發(fā)的組織管理。一個大型軟件可分別編寫不同的模塊。4.1 系統(tǒng)體系結構設計 本系統(tǒng)采用了多層架構。其中JSP頁面和Action類作為Web層,這里的JSP頁面除了要向客戶端展示信息外,還要獲取管理員或教師或學生輸入的信息。這里運

33、用JavaScript對用戶的輸入做簡單的控制。JSP頁面中的表單獲取用戶輸入信息后,提交給Action,在Action中首先對獲取到的數(shù)據(jù)進行轉換,然后封裝相應的數(shù)據(jù)作為數(shù)據(jù)傳輸對象。Action將封裝好的數(shù)據(jù)提交給Service,Service作為系統(tǒng)的服務層,利用Action中提交的數(shù)據(jù)對象進行復雜的業(yè)務邏輯操作。在服務層并沒有直接訪問數(shù)據(jù)庫,對數(shù)據(jù)庫的訪問在DAO層。DAO層實現(xiàn)了具體的對數(shù)據(jù)庫操作的方法,服務層調用了DAO層的方法實現(xiàn)了對數(shù)據(jù)庫的操作。通過應用這樣的多層架構,提高了系統(tǒng)的可維護性、可擴展性和可移植性。4.2 本系統(tǒng)的功能模塊結構設計本系統(tǒng)的功能劃分主要是從管理員、教師

34、、學生三個個角度進行劃分的,角色不同他們的相應權限也不同。管理員擁有最高權限,維護整個學生信息管理系統(tǒng)學生信息管理系統(tǒng),對基本信息的操作,對學生信息進行管理以及對教師信息進行管理。權限第二的是教師,他可以對基本信息進行操作和對學生信息進行管理。權限最低的是學生,他可以對基本信息進行操作和對個人信息進行管理。其功能劃分如圖4-1所示??傮w來講,對不同權限的用戶,他們從功能模塊上可以分為如下幾大模塊:學生信息的導入、導出模塊、刪除學生信息模塊、修改學生信息模塊、查詢學生信息模塊、添加學生信息模塊。主要功能模塊如圖4-2所示。管理員、教師、學生可以使用這個系統(tǒng)對各自所具有的功能進行操作。學生信息管理

35、系統(tǒng)學生信息管理系統(tǒng)管理員學生教師管理員學生教師個人信息管理基本操作基本操作學生信息管理教師信息管理基本操作學生信息管理個人信息管理基本操作基本操作學生信息管理教師信息管理基本操作學生信息管理圖4-1 學生信息管理系統(tǒng)功能模塊劃分圖學生信息管理系統(tǒng)學生信息管理系統(tǒng)導出學生信息導入學生信息添加學生信息查詢學生信息修改學生信息刪除學生信息導出學生信息導入學生信息添加學生信息查詢學生信息修改學生信息刪除學生信息圖4-2 學生信息管理系統(tǒng)主要功能模塊功能模塊圖4.3 系統(tǒng)的各個功能模塊設計 從上節(jié)的劃分角度下面劃分模塊對各模塊進行功能的分析與設計,系統(tǒng)的主要用戶有管理員、教師和學生?,F(xiàn)在從這三種用戶的

36、權限來分析并設計出屬于不同用戶的功能。也就是說有管理員模塊功能、教師模塊功能和學生模塊功能。 (1)管理員模塊的功能分析與設計管理員,他具有系統(tǒng)正常運行的全部功能與系統(tǒng)使用的管理權限。他擁有整個系統(tǒng)的最高權限。對管理員來說,他擁有教師和學生的所有權限,在整個系統(tǒng)中,它的所擁有功能最多,管理范圍最大。他對基本操作有,可以查看系統(tǒng)屬性,可以對個人信息進行管理。對學生信息管理有,可以查看學生詳細信息,可以對學生信息的查詢,可以刪除學生,可以對學生的詳細信息進行修改,可以添加學生,可以導入、導出學生信息。對教師信息的管理有,可以對教師的詳細信息進行查看,可以對教師信息進行查詢,可以刪除教師,可以添加教

37、師,可以導入、導出教師信息。管理員模塊功能圖如圖4-3所示。管理員 管理員 基本操作學生信息管理教師信息管理基本操作學生信息管理教師信息管理個人信息管理查看系統(tǒng)屬性個人信息管理查看系統(tǒng)屬性導出教師信息導入教師信息添加教師刪除教師教師信息查詢查看教師詳細信息導入學生信息導出學生信息添加學生修改學生詳細信息刪除學生學生信息查詢查看學生詳細信息 導出教師信息導入教師信息添加教師刪除教師教師信息查詢查看教師詳細信息導入學生信息導出學生信息添加學生修改學生詳細信息刪除學生學生信息查詢查看學生詳細信息圖4-3 管理員功能模塊圖 (2)教師模塊的功能分析與設計教師是除了管理者之外,管理權限最高的用戶,教師也

38、可以對學生信息進行管理。對于學生管理系統(tǒng),主要使用者肯定有教師,教師對于學生來說是管理者。每位教師都必須多學生的情況做個整體把握,而且要了解每個學生的具體情況。對于學生如果對自己的一些信息想做修改但是忘記了密碼,這時本系統(tǒng)如果沒有設定教師這種用戶,學生去找管理員,就顯得很不方便,對于管理員來說他們的工作量會大大增加。教師不能去查看其他教師的信息,只有管理員才能去查看所有教師的信息。本系統(tǒng)主要是用于對學生信息進行管理,所涉的教師這種用戶也是為了更方便的去管理學生的信息,所以說,如果教師有了查看其他教師的權限,是沒有多大意義的。擁有管理員權限的用戶畢竟是少數(shù),而教師相對與學生也是非常少的,從這個角

39、度看,管理員的工作量不會很大。我們可以想到,當新生入學或者是學生畢業(yè),都要對學生的信息進行操作,學生的數(shù)量那是很龐大的,如果只有管理員,那可想而知管理員的工作量得有多大,所以說增加教師用戶是必須的。這就是重實際情工作情況出發(fā)對教師功能的分析,所以說教師對基本操作有,可以對系統(tǒng)屬性進行查看。對學生信息的管理有,可以查看學生詳?shù)募毿畔?可以對學生信息進行查詢,可以刪除學生,可以對學生的詳細信息進行修改,可以添加學生,可以對學生信息進行導入、導出。教師模塊功能圖如圖4-4所示。 教師教師查看系統(tǒng)屬性學生信息管理查看系統(tǒng)屬性學生信息管理查看系統(tǒng)屬性查看學生詳細信息導入學生信息導出學生信息添加學生修改學

40、生詳細信息刪除學生學生信息查詢查看系統(tǒng)屬性查看學生詳細信息導入學生信息導出學生信息添加學生修改學生詳細信息刪除學生學生信息查詢圖4-4 教師功能模塊圖(3)學生模塊的功能分析與設計學生是三個用戶中所擁有權限最低的,是學校管理的主體,但不是系統(tǒng)使用的主體,唯一專為學生提供的使用接口是學生通過學號和登錄密碼進行與自己相關的操作,其主要功能是查看與自己相關信息,修改部分個人信息,修改自身登錄密碼,無任何刪除權限。對基本操作有查看系統(tǒng)屬性,對個人信息管理有,對自己信息的操作。學生模塊功能圖如圖4-5所示。學生學生基本操作個人信息管理基本操作個人信息管理 基本操作操作個人信息基本操作操作個人信息 圖4-

41、5 學生功能模塊圖4.4 數(shù)據(jù)庫設計概述 計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。 對于數(shù)據(jù)庫應用開發(fā)人員來說,為使現(xiàn)實世界的信息流計算機化,并對計算機化的信息進行各種操作,就是如何利用數(shù)據(jù)庫管理系統(tǒng)、系統(tǒng)軟件和相關硬件系統(tǒng),將用戶的要求轉化成有效的數(shù)據(jù)結構,并使數(shù)據(jù)庫結構易于實現(xiàn)用戶新的要求的過程。 確切的說,數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,提供一個確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設計,以及一個確定數(shù)據(jù)庫存儲結構與存取方法的物理設計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某

42、個數(shù)據(jù)庫管理系統(tǒng)所接受,同時能實現(xiàn)系統(tǒng)目標,并有效存取數(shù)據(jù)的數(shù)據(jù)庫。4.5 數(shù)據(jù)庫設計周期 根據(jù)軟件工程的思想,數(shù)據(jù)庫設計的周期可以劃分為六個階段: 規(guī)劃階段:確定開發(fā)的總目標,給出計劃開發(fā)的軟件系統(tǒng)的功能、性能以及可靠性等方面的設想。 需求分析階段:認真細致地了解用戶對數(shù)據(jù)的加工要求,確定系統(tǒng)的功能與邊界。本階段的最終結果能夠提供一個可作為設計基礎的系統(tǒng)說明書,包括對軟硬件環(huán)境的要求和一整套完善的數(shù)據(jù)流程圖。 設計階段:把需求分析階段所確定的功能細化,主要工作是概念設計階段、邏輯設計階段、物理設計階段,然后,對每個階段內部設計詳細的流程。 程序編制階段:以一種或幾種特定的程序設計語言表達上一

43、階段確定的各模塊控制流程。程序編制時應遵循結構化程序設計方法。 調試階段:對已編好的程序進行單元調試(分調),整體調試(聯(lián)調)和系統(tǒng)測試(驗收)。 運行和維護階段:是整個設計周期最長的階段,其工作重點是收集和記錄系統(tǒng)實際運行的數(shù)據(jù)。在運行中,必須保持數(shù)據(jù)庫的完整性,必須有效地處理數(shù)據(jù)故障和進行數(shù)據(jù)庫恢復。同時解決開發(fā)過程的遺留問題,改正錯誤進行功能完善。數(shù)據(jù)是系統(tǒng)的靈魂所在,整個系統(tǒng)的運行基礎是系統(tǒng)數(shù)據(jù)庫,因而數(shù)據(jù)庫的設計質量對整個系統(tǒng)的功能與效率有很大影響,所以我們在進行數(shù)據(jù)文件和數(shù)據(jù)庫設計時,充分考慮了數(shù)據(jù)存儲的完整性、可靠性、安全性和數(shù)據(jù)的一致性及便于操作等方面的問題。 一個完整的信息系

44、統(tǒng)的建設并不是一步到位的。在實際的建設過程中,在時間上各子系統(tǒng)有先建、后建之分,在開發(fā)人員的分配上有他建、我建之別,這就涉及到各子系統(tǒng)之間的兼容問題。在現(xiàn)有的軟件水平下,追求應用系統(tǒng)間的相互兼容存在困難,但對于數(shù)據(jù)的兼容也就是數(shù)據(jù)的共享來說,既非常重要,又相對應用系統(tǒng)的兼容較易實現(xiàn)。在提高數(shù)據(jù)共享性方面,可主要從數(shù)據(jù)的一致性方面來考慮。在我們的數(shù)據(jù)庫系統(tǒng)建設中,著重考慮了以下兩個標準保證數(shù)據(jù)的一致性: 字段標準:字段標準不統(tǒng)一是造成數(shù)據(jù)庫難以共享的一個主要原因,因為字段的設計處于數(shù)據(jù)庫設計的最底層,或者可以說是最基本的一層,如果這一層都不能統(tǒng)一的話,會直接影響到數(shù)據(jù)庫中數(shù)據(jù)的共享。 代碼標準:

45、代碼的引入為保持數(shù)據(jù)庫中數(shù)據(jù)的一致性提供了一個重要手段。 此外本數(shù)據(jù)庫設計主要遵循以下原則: 數(shù)據(jù)庫文件的實用性,數(shù)據(jù)庫文件的安全性,數(shù)據(jù)庫文件的獨立性,節(jié)省磁盤空間。數(shù)據(jù)庫設計是要在一個給定的應用環(huán)境(DBMS)中,通過合理的邏輯設計和有效的物理設計,構造較優(yōu)的數(shù)據(jù)庫模式、子模式,建立數(shù)據(jù)庫和設計應用程序,滿足用戶的各種信息需求。物理結構設計的原則如下:1.盡可能的減少數(shù)據(jù)冗余和重復。2.結構設計與操作設計相結合。 3.數(shù)據(jù)結構具有相對的穩(wěn)定性。基于以上設計原則,本系統(tǒng)設計了一個數(shù)據(jù)庫,包含基本信息表,管理員信息表、教師信息表、學生信息表、為了加快系統(tǒng)訪問的速度把這些表放在一個數(shù)據(jù)庫中。4.

46、6 SQL查詢語言及使用SQL語言是結構化語言(Structure Query Language)的縮寫,是一種用于數(shù)據(jù)庫查詢和編程的語言,已經(jīng)成為關系型數(shù)據(jù)庫普遍使用的標準,使用這種標準數(shù)據(jù)庫語言對程序設計和數(shù)據(jù)庫的維護都帶來了極大的方便,廣泛地應用于各種數(shù)據(jù)查詢。JSP和其他的應用程序包括SQLserver2005、my sql、Foxpro、Orcale等都支持SQL語言。SQL語言的常用操作有:建立數(shù)據(jù)庫數(shù)據(jù)表(CREATE TABLE),如本系統(tǒng)中的學生備份就用到該語句;從數(shù)據(jù)庫中篩選一個記錄集(SELECT),這是最常用的一個語句,功能強大,能有效地對數(shù)據(jù)庫中一個或多個數(shù)據(jù)表中的數(shù)

47、據(jù)進行訪問,并兼有排序、分組等功能;在數(shù)據(jù)表中添加一個記錄(INSERT);刪除符合條件的記錄(DELETE);更改符合條件的記錄(UPDATE)。JSP中的數(shù)據(jù)庫操作對象都提供了對SQL語句的支持。其一般的用法是以JSP的各種控件接收用戶對數(shù)據(jù)庫訪問的請求,在事件響應程序代碼中將其轉換成對數(shù)據(jù)庫的SQL查詢語句,并以字符串的形式存在,然后將其傳遞給相應的數(shù)據(jù)庫操作對象,最終完成對數(shù)據(jù)庫的訪問。4.7 數(shù)據(jù)庫設計命名規(guī)范 (1) 表名命名規(guī)則 更具主要數(shù)據(jù)模型將數(shù)據(jù)表分為用戶表、相冊表、圖片表、用戶角色表、權限表、角色-權限表等。根據(jù)與同的數(shù)據(jù)模型命名。 (2) 表項命名規(guī)則 代表表名的單詞或

48、單詞簡寫作為字段名的開頭,命名中其他的單詞或簡寫間用_間隔。4.8 本系統(tǒng)數(shù)據(jù)庫概念結構設計 在系統(tǒng)設計的開始,我首先考慮的是如何用數(shù)據(jù)模型來數(shù)據(jù)庫的結構與語義,以對現(xiàn)實世界進行抽象。模型的結構部分規(guī)定了數(shù)據(jù)如何被描述。目前廣泛使用的數(shù)據(jù)模型可分為兩種類型,一種是獨立于計算機系統(tǒng)的“概念數(shù)據(jù)模型”,如“實體聯(lián)系模型”;另一種是直接面向數(shù)據(jù)庫邏輯結構的“結構數(shù)據(jù)模型”。在本系統(tǒng)中我采用“實體聯(lián)系模型”(ER模型)來描述數(shù)據(jù)庫的結構與語義,以對現(xiàn)實世界進行第一次抽象。ER模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用ER圖來表示數(shù)據(jù)模型。它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機

49、無關,用戶容易接受。但ER模型只能說明實體間語義的聯(lián)系,不能進一步說明詳細的數(shù)據(jù)結構,它只是數(shù)據(jù)庫設計的第一步。E-R圖是直觀表示概念模型的工具,它有三個基本成分:矩形框,表示實體類型(考慮問題的對象)。菱形框,表示聯(lián)系類型(實體間的聯(lián)系)。橢圓形框,表示實體的屬性。根據(jù)對數(shù)據(jù)項與數(shù)據(jù)結構的分析,設計出能夠滿足系統(tǒng)需求的各種實體,及它們之間的關系,為后面的邏輯結構設計打下基礎。本系統(tǒng)包括的實體有管理員實體,教師實體,學生實體。政治面貌學生實體的屬性有,學號、姓名、性別、年齡、政治面貌、太平洋銀行卡號、登錄帳號和登錄密碼。學生實體如圖4-6所示。政治面貌年齡年齡性別性別太平洋銀行卡號太平洋銀行卡

50、號姓名姓名登錄帳號登錄帳號學號學號密碼密碼學 生學 生 圖4-6 學生實體圖教師實體的屬性有,教師編號、姓名、性別、年齡、登錄帳號和登錄密碼。教師實體圖如圖4-7所示。 年齡性別年齡性別姓名登錄帳號姓名登錄帳號教師編號教師編號登錄密碼登錄密碼教 師教 師 圖4-7 教師實體圖 管理員實體的屬性有,管理員編號、用戶名、密碼。管理員實體圖如圖4-8所示。用戶名用戶名密碼管理員編號密碼管理員編號管理員管理員 圖4-8 管理員實體圖4.9 系統(tǒng)數(shù)據(jù)庫設計1.學生信息數(shù)據(jù)表學生信息數(shù)據(jù)表的主要功能在于保存學生的主要信息和相關信息,包括:學號、姓名、性別、年齡、政治面貌、太平洋銀行卡號、登錄帳號和登錄密碼

51、。學生信息數(shù)據(jù)表如表4-1所示。 表4-1 學生信息數(shù)據(jù)字段名稱字段類型字段大小索引必須填寫STU_XUEHAO文本50是STU_REALNAME文本20是STU_SEX文本30是STU_AGE文本50是STU_CARD文本50是STU_MIANMAO文本50是STU_LOGINNAME文本50是STU_PWD文本50是 2.老師信息數(shù)據(jù)表老師信息數(shù)據(jù)表的主要功能是保存老師的相關信息。它包括:老師編號、老師姓名、老師性別、老師年齡、登錄帳號和登錄密碼。 老師信息數(shù)據(jù)表如表4-2所示。表4-2 老師信息數(shù)據(jù)字段名稱字段類型字段大小索引必須填寫TEA_BIANHAO文本20是TEA_NAME文本2

52、0是TEA_AGE文本50是TEA-SEX文本50是TEA_LOFINNAME文本50是TEA_PWD文本50是 3.管理員信息數(shù)據(jù)表管理員信息數(shù)據(jù)表的主要功能是保存管理員的相關信息。它包括:管理員編號、登錄賬號、登錄密碼。 管理員信息數(shù)據(jù)表如表4-3所示: 表4-3 管理員信息數(shù)據(jù)字段名稱字段類型字段大小索引必須填寫USER_ID數(shù)字4有(無重復)是USER-NAME文本30是USER_PWD文本30是4.10 本系統(tǒng)數(shù)據(jù)庫邏輯結構設計 由以上的實體圖可以得到以下幾個關系模式: 學生基本信息(學號,姓名,性別,年齡,政治面貌,太平洋銀行卡號,登錄帳號,登錄密碼) 教師基本信息(教師編號,姓名

53、,性別,年齡,登錄帳號,登錄密碼) 管理員基本信息(管理員編號,登錄帳號,登錄密碼) 說明:以上關系模式中,帶“ ”的是屬性是主鍵。4.11 本系統(tǒng)數(shù)據(jù)庫物理結構設計 系統(tǒng)配置 硬件環(huán)境:硬盤: 10G 以上空閑硬盤空間 軟件環(huán)境:支持中文的Windows win7,Microsoft SQL Server 20054.12 安全保密設計4.12.1 登錄用戶的安全性 系統(tǒng)設計了登陸界面,每個合法用戶有一個密碼,該密碼由用戶自行維護,從而實現(xiàn)對用戶的身份驗證。4.12.2 數(shù)據(jù)安全性客戶端層和數(shù)據(jù)庫層隔離,客戶端無法接觸本質的數(shù)據(jù)庫,無法進行非法的修改和破壞,使得數(shù)據(jù)庫得到有效安全的保護。5

54、詳細設計和實現(xiàn) 詳細設計階段的根本目標是確定應該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設計工作,應該得出目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。詳細設計的目標不僅僅是邏輯上正確地實現(xiàn)每個模塊的功能,更重要的是設計的處理過程應該盡可能簡明易懂。再進行各模塊的具體實現(xiàn)描述之后,這時各個模塊的各種功能已經(jīng)確定下來,據(jù)各模塊的具體實現(xiàn)描述進行代碼的編寫,建立各功能界面,實現(xiàn)系統(tǒng)的各個功能。5.1 用戶登錄界面當系統(tǒng)登錄時,首先出現(xiàn)的是一個用戶權限登陸的界面如圖5-1所示。這時用戶可以在界面上輸入用戶名和密碼,輸入完之后,用戶得在界面身份中選

55、擇與自己相匹配的身份,點擊登錄,系統(tǒng)從后臺數(shù)據(jù)庫的管理員表中檢查是否有相應的用戶名和密碼,配系統(tǒng)提示通過驗證,系統(tǒng)登錄成功如圖5-2所示,點擊確定,進入到相應用戶操作界面。系統(tǒng)用戶包含三個角色有管理員、教師、學生。權限設置主要是維護系統(tǒng)的安全性和完整性。當選擇管理員身份。管理員是系統(tǒng)權限最高的用戶,點擊登錄,系統(tǒng)從后臺數(shù)據(jù)庫的管理員表中檢查是否有相應的用戶名和密碼,用戶名或者密碼沒有相匹配,則提示用戶名或密碼錯誤,如果匹配系統(tǒng)提示通過驗證,系統(tǒng)登錄成功,點擊確定。進入到管理員操作界面。當選擇教師身份,點擊登錄,系統(tǒng)從后臺數(shù)據(jù)庫的教師表中檢查是否有相應的用戶名和密碼,用戶名或者密碼沒有相匹配,則

56、提示用戶名或密碼錯誤,如果匹配系統(tǒng)提示通過驗證,系統(tǒng)登錄成功,點擊確定,進入到教師操作界面。當選擇學生身份,點擊登錄,系統(tǒng)從后臺數(shù)據(jù)庫的學生表中檢查是否有相應的用戶名和密碼,用戶名或者密碼沒有相匹配,則提示用戶名或密碼錯誤,如果匹配提示通過驗證,系統(tǒng)登錄成功,點擊確定,進入到學生操作界面。如果不輸入用戶名、密碼、身份時,點擊登錄系統(tǒng)會有相應的提示。圖5-1 登錄主界面圖 圖5-2 選擇管理員身份點擊登錄后系統(tǒng)進行提示界面圖 我在用戶登錄頁面的設計中使用了表格,因為通過表格才能使得頁面中的各個元素對齊、使整個頁面顯得整齊、干凈,給人以美感。相關核心代碼如下:用戶名:密碼:身份:請選擇登陸身份管理

57、員老師學生 img id=indicator src=/images/loading.gif style=display:none/如下代碼是完成表單驗證功能,通過看option的value值判斷用戶身份,不同的值代表不同的身份,確定身份后,系統(tǒng)通過在后臺數(shù)據(jù)庫表的查找,驗證相應身份的用戶名和密碼是否正確。通過調用dwr調用后臺的service()的方法處理業(yè)務邏輯去完成驗證功能,核心代碼如下: loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,document.ThisForm

58、.userType.value,callback); 調用回調函數(shù),獲得數(shù)據(jù),相關代碼如下:function callback(data)if(data=yes)alert(通過驗證,系統(tǒng)登錄成功);window.location.href=/loginSuccess.jsp; 后臺的service層,login方法中,通過dao層實現(xiàn)與數(shù)據(jù)庫的交互,相關核心代碼如下:public String login(String userName,String userPw,int userType)if(userType=0)/系統(tǒng)管理員登陸String sql=from TAdmin where

59、userName=? and userPw=?;Object con=userName,userPw;List adminList=adminDAO.getHibernateTemplate().find(sql,con);if(userType=1)/老師登陸String sql=from TTea where loginName=? and loginPw=?;Object con=userName,userPw;List teaList=teaDAO.getHibernateTemplate().find(sql,con)if(userType=2)/學生登陸String sql=fro

60、m TStu where loginName=? and loginPw=?;Object con=userName,userPw;List stuList=stuDAO.getHibernateTemplate().find(sql,con);5.2 用戶操作界面當用戶通過系統(tǒng)驗證之后,就各自角色的不同,進入到各自的操作界面,在自己的操作界面中進行自己的相關操作。在此界面設計,我布局采用的是frameset,由三個frame構成,分別是topFrame、menu、main。頂部是用于顯示網(wǎng)站名稱、登錄用戶名、注銷退出,左側是導航區(qū),顯示可以進行的功能,點擊鏈接在界面的右側展示出相應功能操作。

溫馨提示

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

最新文檔

評論

0/150

提交評論