基于web的學生課程以及成績管理系統_第1頁
基于web的學生課程以及成績管理系統_第2頁
基于web的學生課程以及成績管理系統_第3頁
基于web的學生課程以及成績管理系統_第4頁
基于web的學生課程以及成績管理系統_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 畢業設計(論文)題目:基于web的學生課程以及成績管理系統 2014 年 11 月 20 日大學畢業設計(論文)任務書學院(直屬系):華科學院計算機科學與技術系 時間:2013年10月1日學 生 姓 名指 導 教 師設計(論文)題目基于web的學生課程以及成績管理系統主要研究內容使成績管理軟件能充分依托校園網,實現教務信息的集中管理、分散操作、信息共享,使傳統的教務管理朝數字化、無紙化、智能化、綜合化的方向發展。基于Web的成績管理系統利用JSP技術與Web數據庫想結合實現,具有數據輸入、查詢修改等功能,應用該系統可大大提高工作效率,并為進一步完善計算機教務管理系統和全校信息系統打下良好的基

2、礎。研究方法1、查詢相關資料,了解本系統的研究意義。查找相關資料。2、通過查詢資料了解該系統要如何做,及要做哪些東西。3、設計出大體上的功能模塊,畫出模塊圖。4、通過進一步的了解,對每個功能模塊進行細化,將每一步都想清楚。5、對設計好的程序進行調試,通過調試發現存在的問題并解決。6、最后,整理各階段的設計記錄文檔,寫成論文稿。主要技術指標(或研究目標)1、系統應具有實用性、可靠性和適用性,同時注意到先進性。2、對各個數據庫進行動態管理,防止混亂。3、不同用戶有不同的查詢和修改權限,防止非法查詢,非法修改。4、能夠對查詢結果進行分類匯總,實現報表打印和下載。5、方便用戶的操作,盡量減少用戶的操作

3、。主要參考文獻1、周佩德. 數據庫原理及應用M. 北京: 電子工業出版社, 2010.4678.2、李光明. JSP編程實例大制作D. 北京: 清華大學, 2010.3、劉炳文. 精通JSP入門與提高M. 北京: 人民郵電出版社,1999.46278.4、黃淼云. JSP辦公自動化編程M. 哈爾濱: 國防工業出版社, 2009.5678.5、高永強. Java編程藝術M. 北京: 清華大學出版社, 2009.515.6、沈林興,張淑平.程序員教程M. 北京: 清華大學出版社,2006.265307.基于Web的學生課程以及成績管理系統摘要進入21世紀后,科學技術突飛猛進,信息時代的來臨不僅讓計

4、算機在科技上得到應用,更讓計算機在生活上得到了更廣泛的應用,對如今的學校來說,實現電子信息化的辦公是必然趨勢,學校中的信息量主要體現在學生成績的管理上面,因此學生成績管理系統是一個教育單位不可缺少的部分。本畢業設計所描述的學生成績管理系統是采用ASP.NET作為網絡編程框架,SQL Server 2005作為數據庫編寫的一個B/S模式的系統。系統主要實現了:用戶管理、成績查詢、成績管理和科目管理等功能。本文詳細介紹了學生成績管理系統的需求分析、功能設計和系統設計,在系統設計中給出數據庫的設計和本系統的總體設計方案,在系統實現中具體介紹了各個功能的所能實現的情況和主要代碼,同時附有運行界面圖。

5、關鍵詞:成績管理,成績錄入,成績查詢,B/SSTUDENTSPERFORMANNCE MANAGEMENT SYSTEMAbstractAfter entering the 21st century, science and technology advance by leaps and bounds, the advent of the information age is not only make the computer is widely used in science and technology, more make the computer in life has been m

6、ore widely, for now, the school of electronic information office is an inevitable trend, the school of information are mainly embodied in the management of students grades above, education management system is a indispensable part of the unit.The graduation design of student achievement management s

7、ystem is described using is a network programming framework, SQL Server 2005 as a database of writing a B/s-based mode of the system. System is mainly realized: user management, scores query, performance management and management of subject etc. Function. This paper introduces the student performanc

8、e management system requirements analysis, functional design and system design, system design in database design and the overall design scheme of the system, in the system are introduced in details of each function can realize the situation and the main operation interface with code.Key Words: Grade

9、 Management,Achievements recorded scores query,B/S目 錄中文摘要I關鍵詞I英文摘要II關鍵詞II第一章 引 言11.1 課程背景11.2 目的和意義1第二章 可行性研究22.1 可行性分析2 2.1.1經濟可行性2 2.1.2技術可行性2 2.1.3運行和操作可行性2 2.1.4法律可行性2第三章 開發工具簡介33.1 MySQL數據庫3 3.1.1 MySQL是一個數據庫管理系統3 3.1.2 MySQL是一個關系數據庫管理系統3 3.1.3 MySQL是開源的33.2 MVC設計模式33.3 SSH架構4 3.3.1 Struts24 3.

10、3.2 Spring5 3.3.3 Hibernate363.4 JSP介紹73.5 JavaScript83.6 MyEclipse8第四章 系統實現94.1 總體設計94.2 流程設計94.3 實體聯系圖114.4 數據庫設計124.5 系統模塊設計13 4.5.1系統登錄界面13 4.5.2管理員登錄模塊14 4.5.3修改個人密碼15 4.5.4班級管理15 4.5.5教師管理15 4.5.6學生管理16 4.5.7課程管理16 4.5.8成績管理17 4.5.9用戶管理17第五章 系統調試與測試185.1 程序調試185.2 程序的測試18 5.2.1測試的重要性及目的19 5.2.

11、2測試的步驟19 5.2.3測試的主要內容20第六章 總結21參考文獻22致 謝23附錄24附錄24附錄34第一章 引言1.1課程背景隨著多媒體教學的推廣,電腦和網絡的普及,人民對于電腦的應用已經不再陌生。目前社會上信息管理系統發展飛快,在各級各類的學校中,學生成績管理一直都是學校工作中的一項重要內容,因為學生工作的很多方面都需要它的支持,比如學生就業推薦書的書寫、學生檔案的建設等等。隨著學校辦學規模的擴大和招生人數的增加,學生成績管理成為一項十分繁重的工作。為了解決這一問題,有必要開發一套功能強大,操作簡單,具有人性化的成績管理系統,使計算機在學生成績處理的領域中發揮高效靈活的功能。因此為了

12、充分利用計算機硬件資源,做好學生成績管理工作,提高工作效率,實現全面的、相對集中的辦公自動化,開發本系統就成了當務之急。Internet和Web的迅猛發展使數據庫技術也開始與Web產生了緊密的聯系,一種新興的技術Web數據庫技術出現了,并且開始在數據庫的應用中發揮著越來越重要的作用。基于Web的成績管理系統利用JSP技術與Web數據庫想結合實現,具有數據輸入、查詢修改等功能,應用該系統可大大提高工作效率。1.2目的和意義本系統的研究意義主要是改變以往的成績管理模式,改人工手動管理為計算機網絡化管理。使學校在處理學生成績的問題上,變得更加方便和快捷。同時可以降低了人工管理的錯誤率,提高了數據的安

13、全性。隨著教育的發展、高校規模的擴大、學生人數的增加,對學生各種信息的匯總、統計、分析等管理工作面臨著很多困難。如果高校對學生各種信息的管理通過手工整理等方式來處理完成的,那么在這個工作過程中獎花費大量的人力和時間,而且查詢各種信息也不方便不準確,影響了各級領導和學生管理部門對學生信息的及時掌握和分析。運用學生成績管理系統可以減輕學校教學人員的工作量,加快查詢速度,加強管理,還有就是縮小開支,提高工作效率與準確率。學生成績管理系統的應用也為今天的高校教育在未來市場的競爭力的提高打下堅實的基礎。本系統利用網絡這個平臺,充分利用了網絡的快捷性,提高教育的時效性,使學生隨時隨地查詢自己的學習情況,達

14、到促進學生自主管理的目的,提高教師對學生管理工作的效率,讓老師及時掌握學生學習上的動態。而且通過本課題的研究,能夠充分了解網絡數據庫的相關知識,培養網絡軟件開發的能力,提高實踐操作和知識綜合運用能力。第二章 可行性研究2.1可行性分析2.1.1經濟可行性系統的經濟可行性是指分析學校的經濟狀況和投資能力,估算系統建設、運行和維護的費用,估計系統建成后取得的效益。目前,計算機價格已經十分低廉,計算機性能卻有了質的飛躍。開發本系統為學校的工作效率帶來了長足的進步,為此主要表現有以下幾個方面:第一,運行本系統可以方便查詢和管理學生信息;第二, 運行本系統可以節省人力和物力;第三, 運行本系統可以提高學

15、校的工作效率;第四,本系統可以減少信息管理的錯誤率。所以,本系統的開發在經濟上是可行的。2.1.2技術可行性本系統通過網絡和網頁實現,校園網的覆蓋為實現學生成績管理系統打下了基礎。使用支持動態網頁的JSP技術,利用支持多用戶的MySQL作為本系統的數據庫,它適用于大中規模的數據量需求。使用MyEclipse 7.5作為系統開發的開發環境,MyEclipse是Eclipse的插件,也是一款功能強大的JavaEE集成開發環境,支持代碼編寫、配置、測試以及除錯。綜上所述,本系統的設計與開發在技術上和硬件設備上的條件都是滿足的,因此,它在技術上是可行的。2.1.3運行和操作可行性本系統是小型的學生信息

16、管理系統,所需要的資源比較小,學校電腦的硬件和網絡都能夠滿足條件,因此,本系統在運行上是可行的。本系統使用方便,界面簡潔,直觀易懂,無論是學生還是教師都可直接上手,管理員通過簡單的培訓操作本系統也沒有問題。2.1.4法律可行性開發本系統不會侵犯他人利益,不存在侵權問題,不違反國家法律法規,因此具有法律可行性。第三章 開發工具簡介3.1 MySQL數據庫MySQL5是一個小型關系型數據庫管理系統,開發者為瑞典MySQL AB公司。MySQL AB是一家基于MySQL開發人員的商業公司,它是一家使用了一種成功的商業模式來結合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的注冊商標。

17、MySQL的SQL“結構化查詢語言”。SQL是用于訪問數據庫的最常用標準化語言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫1。MySQL是一個快速的、多線程、多用戶和健壯的SQL數據庫服務器。MySQL服務器支持關鍵任務、重負載生產系統的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟件中去。3.1.1 MySQL是一個數據庫管理系統數據庫14是一個結構化的數據集合。如果要對存儲在計算機數據庫中的大量數據進行添加、訪問等處理,你就需要一

18、個像MySQL這樣的數據庫管理系統。數據庫系統在計算機處理中和獨立應用程序或其他部分應用程序一樣扮演著重要的角色。3.1.2 MySQL是一個關系數據庫管理系統關系數據庫把數據存放在分立的表格中,這比把所有數據存放在一個大倉庫中要好得多,這樣做將增加你的速度和靈活性。“MySQL”中的SQL代表“Structured Query Language”(結構化查詢語言)。SQL是用于訪問數據庫的最通用的標準語言,它是由ANSI/ISO定義的SQL標準。SQL標準發展自1986年以來,已經存在多個版本:SQL-86,SQL-92,SQL:1999,SQL:2003,其中SQL:2003是該標準的當前

19、版本。3.1.3 MySQL是開源的開源意味著任何人都可以使用和修改該軟件,任何人都可以從Internet上下載和使用MySQL而不需要支付任何費用。如果你愿意,你可以研究其源代碼,并根據你的需要修改它。3.2 MVC設計模式MVC1是Model-View-Controller的簡稱,即模型-視圖-控制器。MVC是目前最流行的Web應用設計模式,它可以靈活、動態地設計開發系統,有利于修改和擴展簡化程序,有利于代碼重復使用。模型:用于封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法。模型用來封裝和顯示數據對象。視圖:把表示模型數據及邏輯關系和狀態的信息以特定形式展示給用戶。它從模型獲得顯示

20、信息,對于相同的信息可以有多個不同的顯示形式或視圖。控制器:是處理用戶與軟件的交互操作的,其職責是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對應聯系;它接受用戶的輸入,將輸入反饋給模型,進而實現對模型的計算控制,是使模型和視圖協調工作的部件。通常一個視圖具有一個控制器。使用MVC的優點:(1)用戶在視圖界面上發出請求;(2)可以很容易地用新的實現來替換原有層次的實現;(3)可以降低層與層之間的依賴;(4)有利于標準化;(5)有利于各層邏輯的復用。總的來說,MVC設計可以達到如下目的:分散關注、松散耦合、邏輯復用、標準定義。3.3 SSH架構3.3.1 Struts2Apache St

21、ruts210是一個優雅的,可擴展的JAVA EE web框架。它采用MVC模式,能夠很好地幫助java 開發者利用J2EE開發Web應用。和其他的Java架構一樣,Struts2也是面向對象設計,將MVC模式“分離顯示邏輯和業務邏輯”的能力發揮得淋漓盡致。 Web應用都是請求-響應的程序結構。程序是由客戶端client發出http請求開始的,客戶端請求被ActionServlet攔截。在ActionServlet處,通常有2種情況:要求邏輯控制器處理的請求以及單轉發的請求。系統主要以第一種請求為主,即ActionServlet需要調用對應的Action。因此,ActionServlet將請求

22、轉發到Action,如果請求還配置了響應的FormBean,則ActionServlet還負責用請求參數填充ActionForm。此時的Action無須從HTTP Request中獲取請求參數,而是從ActionForm中或得請求參數。Action或得請求參數后,調用Model對象由JavaBean處理用戶請求。Action處理完用戶請求之后,將處理結果包裝秤ActionForward,再回送給ActionServlet。Struts2框架的大概處理流程如下: (1)加載類(FilterDispatcher) (2)讀取配置(struts配置文件中的Action) (3)派發請求(客戶端發送請

23、求) (4)調用Action(FilterDispatcher)從struts配置文件中讀取與之相對應的Action(5)啟用攔截器(WebWork攔截器鏈自動對請求應用通用功能,如驗證) (6)處理業務(回調Action的execute()方法) (7)返回響應(通過execute方法將信息返回到FilterDispatcher) (8)查找響應(FilterDispatcher根據配置查找響應的是什么信息如:SUCCESS、ERROER,將跳轉到哪個jsp頁面) (9)響應用戶(jsp-客戶瀏覽器端顯示)3.3.2 SpringSpring3是一個開源框架,由Rod Johnson創建。它

24、視為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益.簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。輕量從大小和開銷兩個方面而言Spring都是輕量的。Spring應用中的對象不依賴于Spring的特定類。控制反轉Spring通過IoC技術促進了松耦合。當應用其的時候,一個對象依賴的其他對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。可以理解成為I

25、oC和JNDI相反。面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應用的業務邏輯與系統級服務進行內聚性的開發。應用對象只實現它們應該做的完成業務邏輯僅此而已。它們不負責其他的系統級關注點,例如日志或事務支持。容器Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器。然而,Spring不應該被混同于傳統的重量級EJB容器,它們經常是龐大與笨重的,難以使用。框架Spring可以將簡單的組建配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件中。Spring也提供了很多基礎功能(事務管理、持久化框架集成等),將應用邏輯的開發

26、留給了你。3.3.3 Hibernate3Hibernate4是一個開放源代碼的對象關系映射框架,它對JDBC進行了輕量級的對象封裝,使Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。它不僅提供了從Java類到數據表之間的映射,也提供了數據查詢和恢復機制。相對于使用JDBC和SQL來手工操作數據庫,Hibernate可以大大減少操作數據庫的工作量。 另外Hibernate可以利用代理模式來簡化載入類的過程,這將大大減少利用Hibernate QL從數據庫提取數據的代碼的編寫量,從而節約開發時間和開發成本Hibernate可以和多種Web 服務器或者應用服務器良好集成,如今已經支持幾乎

27、所有的流行的數據庫服務器。Hibernate 技術本質上是一個提供數據庫服務的中間件。它的架構如圖2.4所示: 圖3.1 Hibernate架構圖3.1顯示了 Hibernate 的工作原理,它是利用數據庫以及其他一些配置文件如 Hibernate .properties ,XML Mapping 等來為應用程序提供數據持久化服務的。Hibernate 具有很大的靈活性,但同時它的體系結構比較復雜,提供了好幾種不同的運行方式。在輕型體系中,應用程序提供 JDBC 連接,并且自行管理事務,這種方式使用了 Hibernate 的一個最小子集;在全面解決體系中,對于應用程序來說,所有底層的 JDBC

28、/JTA API 都被抽象了,Hibernate 會替你照管所有的細節。3.4 JSP介紹JSP2(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。 用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理

29、邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。 JSP與Java Servlet一樣,是在服務器端執行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開

30、發變得迅速和容易。 Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然后將執行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。JSP與Servlet一樣,是在服務器端執行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JS

31、P配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。JSP技術的優點:(1)一次編寫,到處運行。除了系統之外,代碼不用做任何更改。 (2)系統的多平臺支持。基本上可以在所有平臺上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/.net的局限性是顯而易見的。 (3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強大

32、的開發工具支持。Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,并且其中許多已經可以順利的運行于多種平臺之下(5)支持服務器端組件。web應用需要強大的服務器端組件來支持,開發人員需要利用其他工具設計實現復雜功能的組件供web頁面調用,以增強系統性能。JSP可以使用成熟的JAVA BEANS 組件來實現復雜商務功能。內部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數; response網頁傳回客戶端的響應;pageContext 網頁的屬性是在這里管理; session 與請求有關的會話; application servlet正在執行的內容;o

33、ut 用來傳送響應的輸出流; config代碼片段配置對象;pageJSP網頁本身; exception針對錯誤網頁,未捕捉的例外。3.5 JavaScriptJavaScript8是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發的腳本語言,常用來給HTML網頁添加動態功能,比如響應用戶的各種操作。JavaScript的一個重要功能就是面向對象的功能,通過基于對象的程序設計,可以用更直觀、模塊化和可重復使用的方式進行程序開發。在HTML基礎上,使用Javascript可以開發交互式Web網頁。Javascript的出現使得網頁和用戶之間實現了一種實

34、時性的、動態的、交互性的關系,使網頁包含更多活躍的元素和更加精彩的內容。在本系統中很多地方使用了javascript技術,比如說,檢驗用戶輸入數據的有效性,是否重復,是否為空等等。3.6 MyEclipseMyEclipse6,是一個十分優秀的用于開發Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產品的支持十分不錯。MyEclipse企業級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴展,利用它我們可以在數據庫和JavaEE的開發、發布,以及應用程

35、序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發環境,包括了完備的編碼、調試、測試和發布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。第四章 系統設計4.1總體設計根據前面的需求分析,我們將系統劃分為如下的三大功能模塊。管理員管理模塊重點是學生管理、教師管理、課程管理、班級管理。對學生、教師、課程、班級的管理包括添加、修改、查看。教師模塊包括對學生成績的錄入和查詢,以及對自己聯系信息的修改。學生模塊主要是學生對自己成績進行查詢,以及對自己的信息進行修改。整個系統的主要結構如圖4.1所示。圖4.1系統模

36、塊結構圖4.2流程設計 學生和教師是本系統的中心對象。根據模塊劃分和需求分析可知,該系統的流程主要描述的是當教師對自己所教課程的學生打分以后學生可以登錄查詢到自己該科目的成績。該系統包括三個基本流程,適用于管理員、教師、學生。圖4.2描述的是管理員的操作流程:首先管理員要進行學生、教師、班級、和課程數據的初始化,這樣學生和教師就可以登錄使用該系統了。在系統使用過程中,管理員再進行管理工作。圖4.2管理員的操作流程圖4.3描述的是教師的操作流程:教師根據管理員提供的初始密碼和教師號登錄系統。教師登陸系統后可修改密碼、個人信息、公布和查詢成績。圖4.3教師的操作流程圖4.4描述的是學生操作流程:學

37、生根據學號和初始密碼登錄系統。學生登錄后,可以查詢成績和修改個人信息。圖4.4學生的操作流程4.3實體聯系圖實體聯系圖:簡記E-R圖是指以實體、關系、屬性三個基本概念概括數據的基本結構,從而描述靜態數據結構的概念模式。各實體之間的E-R圖:性別姓名籍貫學號密碼學生屬于專業名稱人數班主任班級 圖4.5學生和班級屬性E-R圖專業性別職稱姓名密碼課程名課程號說明教師課程教授 N圖4.6教師與課程關系E-R圖性別學號籍貫姓名密碼課程名課程號說明學生課程學習 圖4.7學生與課程關系E-R圖4.4數據庫設計數據庫設計是對于一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能有效地存取數

38、據,滿足用戶的信息要求和處理要求。好的數據庫結構設計會減少數據庫的存儲量,數據的完整性和一致性比較高,系統具有較快的響應速度,簡化基于此數據庫的應用程序的實現難度。在數據庫系統開始設計開發的時候應該盡量考慮全面,尤其應該仔細考慮用戶的各種需求,避免浪費不必要的人力和物力。角色信息表:主要由ID,用戶名,密碼,權限,添加時間等組成,用于存放所有角色信息,如表4.1。表4.1 Allusers表列名數據類型長度允許空IDint4UsernameVarchar50pwdVarchar50CxVarchar50addtimeDatetime8教師信息表:主要由ID,用戶名,密碼,姓名,任教科目,電話,

39、備注,添加時間等組成,用于存放所有上課教師的基本信息,如表4.2。表4.2 Jiaoshi表列名數據類型長度允許空IDint4Gonghaovarchar50Xingmingvarchar50Dianhuavarchar50Renjiaokemuvarchar50Chushengnianyuevarchar50beizhuvarchar50學生信息表:主要由ID,學號,密碼,姓名,班級,教師,性別籍貫,電話,備注,添加時間等組成,用于存放所有學生的基本信息,如表4.3。表4.3 Xuesheng表列名數據類型長度允許空IDint4 Mingchengvarchar50Yuanxivarchar

40、50Banzhuanrevarchar50addtimedatetime8課程信息表:主要由ID,編號,名稱,添加時間,用于存放所有開課課程的基本信息,如表4.4。表4.4 kecheng表列名數據類型長度允許空IDint4bianhaovarchar50mingchengvarchar50addtimedatetime8成績信息表:主要由ID,學號,姓名,班級,教師,課程,成績,添加時間,用于存放所有學生成績的信息,如表4.5。表4.5 Xueshengchengji表列名數據類型長度允許空IDint4xuehaovarchar50xingmingvarchar50Banjivarchar5

41、0chushengnianyuevarchar50Jiguanvarchar50dianhuavarchar504.5系統模塊設計4.5.1系統登錄界面啟動Tomcat服務器,在瀏覽器里輸入相應的地址,進入系統主界面,如圖4.8所示:圖4.8系統登陸界面4.5.2管理員登陸模塊在進入系統主界面時,我們會看見用戶,密碼和角色三個登錄框,只需在用戶上輸入admin,密碼輸入:admin,角色輸入:管理員。點擊登錄就可以進入系統了。界面上集成了所有功能,有5個功能模塊,實現了系統從用戶管理、班級管理、教師管理、學生管理、課程管理等系統的具體功能,同時,各主模塊下又包含具體的各項管理。 圖4.9系統主

42、界面4.5.3修改個人密碼本模塊是本系統的安全性設置模塊,它包含兩個子模塊分別是:系統管理員模塊和修改個人秘密模塊。根據學校不同部門以及不同使用人員對本系統的要求和需要,可以實現添加用戶、修改密碼等功能。圖4.10學生管理模塊4.5.4班級管理本模塊主要是實現班級的管理,它又分成兩個子模塊分別是:班級添加和班級管理。它們分別實現了對班級的添加和管理的功能和修改刪除等操作,如圖4.11所示。圖4.11班級管理模塊4.5.5教師管理本模塊為教師管理模塊.它又包含了兩個子模塊分別是教師添加模塊和教師管理模塊。在教師添加模塊中分別有工號、密碼、姓名、性別、電話、任教科目、出生年月和備注等。以此實現對教

43、師添加的功能。在教師管理模塊中可以對已有的教師進行信息的修改與刪除等操作。如圖4.12所示。圖4.12添加教師界面4.5.6學生管理本模塊為學生管理模塊。它又包含了兩個子模塊分別是添加學生模塊和管理學生模塊。在添加學生模塊中分別有學號、密碼、姓名、班級、性別、出生年月、籍貫、電話和備注等。以此實現對學生添加的功能。在學生管理模塊中可以對已有的學生進行信息的修改與刪除等操作。如圖4.13所示。圖4.13管理學生界面4.5.7課程管理本模塊為課程管理模塊。它又包含了兩個子模塊分別是添加課程模塊和管理課程模塊來實現對課程的管理功能。如圖4.14所示。圖4.14管理課程模塊4.5.8成績管理本模塊是教

44、師登錄下的成績管理模塊,它包含兩個子模塊分別是:添加成績模塊和管理成績模塊,每個模塊分別實現各自的功能。其主要實現的功能是對學生成績的添加和學生成績的管理進行管理的功能。如圖4.15所示圖4.15管理成績界面4.5.9用戶管理本模塊是學生登錄下的成績管理模塊,其主要實現的功能是學生對自己信息和密碼的修改已經成績的查詢。如圖4.16所示圖4.16查詢成績窗口第五章 系統調試與測試5.1 程序調試在設計系統的過程中,存在一些錯誤是必然的。對于語句的語法錯誤,在程序運行時自動提示,并請求立即糾正,因此,這類錯誤比較容易發現和糾正。但另一類錯誤是在程序執行時由于不正確的操作或對某些數據的計算公式的邏輯

45、錯誤導致的錯誤結果。5.2 程序的測試5.2.1 測試的重要性及目的(1)測試的重要性軟件的測試在軟件生命周期中占據重要的地位,在傳統的瀑布模型中,軟件測試學僅處于運行維護階段之前,是軟件產品交付用戶使用之前保證軟件質量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應包含測試,從而檢驗本階段的成果是否接近預期的目標,盡可能早的發現錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導致最后成品測試的巨大困難。 事實上,對于軟件來講,不論采用什么技術和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發方式、完善的開發過程,可以減少錯誤的引入,但是不可能

46、完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學科的基本組成單元,是軟件開發的重要部分。自有程序設計的那天起測試就一直伴隨著。統計表明,在典型的軟件開發項目中,軟件測試工作量往往占軟件開發總工作量的40以上。而在軟件開發的總成本中,用在測試上的開銷要占30到50。如果把維護階段也考慮在內,討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當于二次開發,乃至多次開發,其中必定還包含有許多測試工作。 在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態度,這包括: 認為測試

47、工作不如設計和編碼那樣容易取得進展難以給測試人員某種成就感; 以發現軟件錯誤為目標的測試是非建設性的,甚至是破壞性的,測試中發現錯位是對責任者工作的一種否定; 測試工作枯燥無味,不能引起人們的興趣; 測試工作是艱苦而細致的工作; 對自己編寫的程序盲目自信,在發現錯誤后,顧慮別人對自己的開發能力的看法。 這些觀點對軟件測試工作是極為不利的,必須澄清認識、端正態度,才可能提高軟件產品的質量。 (2)測試的目的 如果測試的目的是為了盡可能多地找出錯誤,那么測試就應該直接針對軟件比較復雜的部分或是以前出錯比較多的位置。 軟件測試是為了發現錯誤而執行程序的過程; 測試是為了證明程序有錯,而不是證明程序無

48、錯誤; 一個好的測試用例是在于它能發現至今未發現的錯誤; 一個成功的測試是發現了至今未發現的錯誤的測試。 這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產生誤導,認為發現錯誤是軟件測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。 首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產生的原因和錯誤的分布特征,可以幫助項目管理者發現當前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助我們設計出有針對性地檢測方法,改善測試的有效性。其次,沒有發現錯誤的測試也是有價值的,完整的測試是評定測試質量的一種方法。5.2.2 測

49、試的步驟與開發過程類似,測試過程也必須分步驟進行,每個步驟在邏輯上是前一個步驟的繼續。大型軟件系統通常由若干個子系統組成,每個子系統又由若干個模塊組成。因此,大型軟件系統的測試基本上由下述幾個步驟組成:(1)模塊測試 在這個測試步驟中所發現的往往是編碼和詳細設計的錯誤。(2)系統測試 在這個測試步驟中發現的往往是軟件設計中的錯誤,也可能發現需求說明中的錯誤。(3)驗收測試 在這個測試步驟中發現的往往是系統需求說明書中的錯誤。5.2.3 測試的主要內容為了保證測試的質量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試、確認測試和系統測試。 (1)單元測試 單元測試集中在檢查軟件設計的最

50、小單位模塊上,通過測試發現實現該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。 (2)集成測試 集成測試是將模塊按照設計要求組裝起來同時進行測試,主要目標是發現與接口有關的問題。如一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產生預期的主功能;個別看起來是可以接受的誤差可能積累到不能接受的程度;全程數據結構可能有錯誤等。 (3)確認測試 確認測試的目的是向未來的用戶表明系統能夠像預定要求那樣工作。經集成測試后,已經按照設計把所有的模塊組裝成一個完整的軟件系統,接口錯誤也已經基本排除了,接著就應該進一步驗證軟件的有效性,這就是確認測試的任務,即

51、軟件的功能和性能如同用戶所合理期待的那樣。 (4)系統測試 軟件開發完成以后,最終還要與系統中其他部分配套運行,進行系統測試。包括恢復測試、安全測試、強度測試和性能測試等。 單獨對系統的測試主要從以下幾方面入手: 功能測試:測試是否滿足開發要求,是否提供設計所描述的功能,是否用戶的需求都得到滿足。功能測試是系統測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標準。 強度測試及性能測試:測試系統能力最高實際限度,即軟件在一些超負荷情況下功能實現的情況。 安全測試:驗證安裝在系統內的保護機構確實能夠對系統進行保護,使之不受各種非常的干擾。針對本系統主要是對權限系統的測試和對無效數據、錯數據

52、、和非法數據干擾的能力的測試。經過上述的測試過程對軟件進行測試后,軟件基本滿足開發的要求,測試宣告結束。 第六章 總結本文從成績管理系統設計、功能目標設計和具體頁面的確定及數據庫的設計等幾個方面探討了成績管理系統的技術與實現,最終采用MyEclipse編制成績管理系統。采用易移植的數據庫MySQL作為數據的存儲工具,但同時它也失去了大型數據庫的優點,如事務處理,存儲容量大等。本系統界面友好、操作方便、效率高、易于日后程序更新、數據庫管理容易,相信本成績管理系統是一套學校在日常管理中必不可少的管理軟件。在本系統的開發過程中,由于本人是初次開發軟件,在知識、經驗方面都存在著不足。另外,在整個開發的

53、過程中,時間也比較倉促。因此,該系統必然會存在一些缺陷和不足。通過對學生成績在線管理與查詢系統的設計開發研究,我把所學的知識綜合運用到開發過程中,使我獲得了許多在課本中學不到的知識。當然,在開發中也遇到了許多的困難,在老師的幫助和我多方查找資料,基本把一些大的問題給逐個解決了。由于我的水平有限和沒有項目經驗,在數據庫表的設計和學生功能上面存在許多的問題,直到我快完成畢業設計的時候,才發現數據庫表設計的許多不足和學生功能不完善等問題,因為時間不允許和能力有限,所以也沒有再重新設計數據庫,再繼續編寫代碼。以后我會通過不斷的學習,積累更多的經驗把存在問題的部分給慢慢完善。在開發中,我注意到了代碼的復

54、用,把功能相同的寫成一個獨立的方法,供多個地方使用。本系統方便學生查詢自己的本學期的總成績,以及各種信息;方便管理員對學生成績信息的管理、錄入、修改、查詢、刪除、統計等操作。界面美觀簡潔,操作簡單。通過這段期間的實踐,也使我深刻的了解到理論聯系實際的重要性和必要性。只有在實踐中不斷的進行學習才能真正的提高自己的技能水平,我也會在今后的工作中繼續努力。參考文獻1 周佩德. 數據庫原理及應用M. 北京: 電子工業出版社,2010.4678.2 李光明. JSP編程實例大制作D. 北京: 清華大學,2010.3 劉炳文. JSP程序設計論文集: 數據庫集C. 北京: 北京航空學院出版,1999.246378.4 劉炳文. 精通JSP入門與提高M. 北京: 人民郵電出版社,1999.46278.5 黃淼云. JSP辦公自動化編程M. 哈爾濱: 國防工業出版社,2009.5678.6 高永強. Java編程藝術M. 北京: 清華大學出版社,2009.515.7 李鐘尉, 陳丹丹. Java程序設計標準教程M. 北京: 人民郵電出版社,2009.3406.8 魏雪萍. 新手學制作

溫馨提示

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

評論

0/150

提交評論