畢業論文-JAVA學生信息管理系統_第1頁
畢業論文-JAVA學生信息管理系統_第2頁
畢業論文-JAVA學生信息管理系統_第3頁
畢業論文-JAVA學生信息管理系統_第4頁
畢業論文-JAVA學生信息管理系統_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

51、。學生信息數據表如表4-1所示。 表4-1 學生信息數據字段名稱字段類型字段大小索引必須填寫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.老師信息數據表老師信息數據表的主要功能是保存老師的相關信息。它包括:老師編號、老師姓名、老師性別、老師年齡、登錄帳號和登錄密碼。 老師信息數據表如表4-2所示。表4-2 老師信息數據字段名稱字段類型字段大小索引必須填寫TEA_BIANHAO文本20是TEA_NAME文本2

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

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

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

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

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

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

58、.userType.value,callback); 調用回調函數,獲得數據,相關代碼如下:function callback(data)if(data=yes)alert(通過驗證,系統登錄成功);window.location.href=/loginSuccess.jsp; 后臺的service層,login方法中,通過dao層實現與數據庫的交互,相關核心代碼如下:public String login(String userName,String userPw,int userType)if(userType=0)/系統管理員登陸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 用戶操作界面當用戶通過系統驗證之后,就各自角色的不同,進入到各自的操作界面,在自己的操作界面中進行自己的相關操作。在此界面設計,我布局采用的是frameset,由三個frame構成,分別是topFrame、menu、main。頂部是用于顯示網站名稱、登錄用戶名、注銷退出,左側是導航區,顯示可以進行的功能,點擊鏈接在界面的右側展示出相應功能操作。

溫馨提示

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

評論

0/150

提交評論