版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、江蘇大學(xué)畢業(yè)設(shè)計論文學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)THE DESIGN AND REALIZATION OF THE RESULT OF STUDENT ADMINISTRATION MANAGEMENT SYSTEM學(xué)生姓名:學(xué) 號:年級專業(yè):2004級計算機科學(xué)與技術(shù)指導(dǎo)老師:學(xué) 院:應(yīng)用科學(xué)技術(shù)學(xué)院提交日期:年 月目錄 HYPERLINK l _Toc137783592 摘 要3一、 HYPERLINK l _Toc137783595 開發(fā)平臺及工具簡介5 二、系統(tǒng)分析7(一)學(xué)生成績管理系統(tǒng)概述7(二) 需求分析81) 功能需求分析82) HYPERLINK l _Toc13778359
2、8 性能需求分析9 HYPERLINK l _Toc137783599 3)數(shù)據(jù)庫需求分析數(shù)據(jù)流圖94) HYPERLINK l _Toc137783600 數(shù)據(jù)結(jié)構(gòu)分析數(shù)據(jù)流圖10 HYPERLINK l _Toc137783601 (三)系統(tǒng)功能結(jié)構(gòu)設(shè)計12三、 HYPERLINK l _Toc137783602 系統(tǒng)設(shè)計13(一)設(shè)計目標(biāo)13(二)開發(fā)及運行環(huán)境13(三) HYPERLINK l _Toc137783603 數(shù)據(jù)庫設(shè)計14 HYPERLINK l _Toc137783604 四、系統(tǒng)的實現(xiàn)17(一)學(xué)生查詢成績部分17(二)后臺管理成績部分19 登陸模塊19 年紀班級管理
3、模塊20 課程管理模塊24 評分模塊24 學(xué)生信息管理模塊27 管理員模塊29五、系統(tǒng)存在的問題及前景展望30 (一)系統(tǒng)存在問題30 (二)前景展望30 HYPERLINK l _Toc137783608 參考文獻31摘要隨著現(xiàn)代計算機科學(xué)的發(fā)展,計算機信息系統(tǒng)越來越受到重視,網(wǎng)絡(luò)已經(jīng)成為人們交流信息的重要方式,所以基于網(wǎng)絡(luò)平臺的各種系統(tǒng)不斷出現(xiàn),B/S結(jié)構(gòu)的軟件已經(jīng)成為人們生活工作的一種重要工具。本文將介紹如何使用java后臺結(jié)合RIA富客戶端技術(shù)制作學(xué)生管理系統(tǒng),其中涉及到數(shù)據(jù)庫的建立和系統(tǒng)模塊功能的實現(xiàn),并在最后說明了系統(tǒng)存在問題和前景展望。關(guān)鍵詞:java,SQL ,TOMCAT,學(xué)
4、生成績管理AbstractAlong with the modern computer science development, the computer information system is more and more important, the network already became the people to exchange the information important way, therefore appeared systems that based on network platform, the B/S system already became one k
5、ind of important tool which the people exchanged. Now we will introduce how to use java and RIA to develop a student score management system. This part including database creation and the system function realization. Finally expound the matter and shortage of the system, in order to ameliorate bette
6、r in the future.Keywords: java, SQL, TOMCAT,Student score management開發(fā)平臺及工具簡介1、Java概述 Java包括Java編程語言、開發(fā)工具和環(huán)境、Java類庫等。Java語言是美國SUN公司開發(fā)的一種完全面向?qū)ο蟮某绦蛟O(shè)計語言。Java語言由C+語言發(fā)展而來,但比C+語言簡單。Java語言具有簡單、與平臺無關(guān)、高效、健壯、安全、多線程等特點,它是當(dāng)前網(wǎng)絡(luò)編程中的首選語言。JDK提供了Java程序的編譯和運行方式,并且編譯和運行都是命令行方式。JDK本身沒有提供源程序編輯環(huán)境,沒有提供可視化的集成開發(fā)環(huán)境(Integrate
7、d Development Environment,IDE)。有一些其他Java開發(fā)工具提供集成開發(fā)環(huán)境,如Eclipse、JCreator、JBuilder等,它們都是建立在JDK的運行時環(huán)境之上的。 Java是一門編譯語言(compiled language),但它不直接生成硬件處理器指令,而是生成一種字節(jié)碼(bytecodes)這種字節(jié)碼由Java虛擬機解釋執(zhí)行。 Java虛擬機(Java Virtual Machine,JVM)實際上是一個程序,它定義了指令集、寄存器集、類文件結(jié)構(gòu)棧、垃圾收集堆、內(nèi)存區(qū)域等,提供了跨平臺能力的基礎(chǔ)框架。Java虛擬機實現(xiàn)了一臺理想的計算機,并可以優(yōu)化運
8、行Java程序。因此,一個Java程序其實是被Java虛擬機執(zhí)行的,而Java虛擬機運行于實際的處理器之上。Java虛擬機執(zhí)行應(yīng)用程序具有以下三個典型特點:1)JavaJava2、SQL Server 2000SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的最新版本該版本繼承了SQL Server 7.0 版本的優(yōu)點同時又比它增加了許多更先進的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平
9、臺使用。它的優(yōu)點有: 1)上手容易,學(xué)習(xí)SQL Server是掌握其他平臺及大型數(shù)據(jù),如Oracle,Sybase,DB/2的基礎(chǔ)。因為這些大型數(shù)據(jù)庫對于設(shè)備、平臺、人員知識的要求往往較高,而并不是每個人都具備這樣的條件,且有機會去接觸它們。但有了SQL Server的基礎(chǔ),再去學(xué)習(xí)和使用它們就容易多了。IT行業(yè)的實踐經(jīng)驗充分證明了這一點。 2)兼容性良好,由于今天Windows操作系統(tǒng)占領(lǐng)著主導(dǎo)地的位,選擇SQL Server一定會在兼容性方面取得一些優(yōu)勢。另外,SQL Server 2000 除了具有擴展性,可靠性以外,還具有可以迅速開發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存貯 XML
10、數(shù)據(jù),可以將搜索結(jié)果以 XML格式輸出等特點,有利于構(gòu)建了異構(gòu)系統(tǒng)的互操作性,奠定了面向互聯(lián)網(wǎng)的企業(yè)應(yīng)用和服務(wù)的基石。這些特點在.NET 戰(zhàn)略中發(fā)揮著重要的作用。3),Microsoft SQL Server 2000是在SQL Server 7.0的基礎(chǔ)上對性能、可靠性、質(zhì)量以及易用性進行了擴展。SQL Server 2000中包含許多新特性,這些特性使其成為針對電子商務(wù)、數(shù)據(jù)倉庫和在線商務(wù)解決方案的卓越的數(shù)據(jù)庫平臺。其增強的特性包括對豐富的擴展標(biāo)記語言(XML)的支持、綜合分析服務(wù)以及便捷的數(shù)據(jù)庫管理。4)電子商務(wù),在使用由Microsoft SQL Server 2000關(guān)系數(shù)據(jù)庫引擎的
11、情況下,XML數(shù)據(jù)可在關(guān)系表中進行存儲,而查詢則能以XML格式將有關(guān)結(jié)果返回。此外,XML支持還簡化了后端系統(tǒng)集成,并實現(xiàn)了跨防火墻的無縫數(shù)據(jù)傳輸。你還可以使用Hypertext Transfer Protocol(超文本傳輸協(xié)議, )來訪問SQL Server 2000,以實現(xiàn)面向SQL Server 2000數(shù)據(jù)庫的安全Web連接和無須額外編程的聯(lián)機分析處理(OLAP)多維數(shù)據(jù)集。5)數(shù)據(jù)倉庫,Microsoft SQL Server 2000非常明顯的改進就是增加了OLAP(聯(lián)機分析處理)功能,這可以讓很多中小企業(yè)用戶也可以使用數(shù)據(jù)倉庫的一些特性進行分析。OLAP可以通過多維存儲技術(shù)對大
12、型、復(fù)雜數(shù)據(jù)集執(zhí)行快速、高級的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢,它允許組織或機構(gòu)最大限度的從數(shù)據(jù)中獲取價值。通過對現(xiàn)有數(shù)據(jù)進行有效分析,這一功能可以對未來的趨勢進行預(yù)測。6)增強的在線商務(wù),Microsoft SQL Server 2000簡化了管理、優(yōu)化工作,并且增強了迅速、成功的部署在線商務(wù)應(yīng)用程序所需的可靠性和伸縮性。其中,用以提高可靠性的特性包括日志傳送、在線備份和故障切換群集。在伸縮性方面的改進包括對多達32顆CPU和64 GB RAM的支持。通過自動優(yōu)化和改進后的管理特性-諸如數(shù)據(jù)文件尺寸的自動管理、基于向?qū)У臄?shù)據(jù)庫拷貝、自動內(nèi)存管理和簡化的故障切換群集
13、安裝與管理,在線商務(wù)應(yīng)用程序能夠被迅速部署并有效管理。7)利于構(gòu)筑敏捷性商務(wù),所謂敏捷性商務(wù) 就是能夠打破內(nèi)部和外部的商業(yè)界限,對迅速改變的環(huán)境做出快速反應(yīng)。微軟已經(jīng)與關(guān)鍵的合作伙伴建立起了戰(zhàn)略關(guān)系,創(chuàng)造出了能夠與許多供應(yīng)商的產(chǎn)品實現(xiàn)整合的解決方案,因而企業(yè)用戶并不需要做出要么完全接受,要么全部不要的承諾。在部署解決方案的過程中,企業(yè)用戶不一定要拆除原有的設(shè)備從頭。敏捷商務(wù)讓企業(yè)用戶能夠充分利用現(xiàn)有的系統(tǒng),自主決定所需的硬件和軟件解決方案以及由誰來提供,伸縮自如、游刃有余。3、TOMCAT簡介 Tomcat是一個帶有jsp環(huán)境的servlet容器.servlet容器是一個根據(jù)用戶的行為可以管理
14、和激活servlet的運行時的shell.啟動與關(guān)閉Tomcat,使用”bin”目錄中的腳本啟動與關(guān)閉Tomcat. 啟動:uinx:bin/startup.sh ,win32:binstartup 。關(guān)閉: unix:bin/shutdown.sh ,win32:binshutdown 。Tomcat目錄結(jié)構(gòu) ,目錄名-描述: bin 包含啟動/關(guān)閉腳本 ;conf 包含不同的配置文件, 包括 server.xml(Tomcat的主要配置文件)和為不同的Tomcat配置的web應(yīng)用設(shè)置缺省值的文件web.xml ;doc 包含各種Tomcat文檔 ;lib 包含Tomcat使用的jar文件.
15、unix平臺此目錄下的任何文件都被加到Tomcat的classpath中 ;logs Tomcat擺放日志文件的地方 ;src ServletAPI源文件.先別高興,這些只有些必須在Servlet容器內(nèi)實現(xiàn)的空接口和抽象類 ;webapps 包含web項目示例 ,此外Tomcat會創(chuàng)建如下目錄: work ,;classes可以創(chuàng)建此目錄來添加一些附加的類到類路徑中.任何加到此目錄中的類都可在Tomcat的類路徑中找到自身. Tomcat的腳本 ,Tomcat是一個Java程序,因此在設(shè)置好幾個環(huán)境變量后即可用命令行的方式運行.然而設(shè)置Tomcat使用的每個環(huán)境變量和如下的命令行參數(shù)乏味且易錯
16、.因此,Tomcat開發(fā)組提供了一些腳本使啟動和關(guān)閉Tomcat變得輕松. 系統(tǒng)分析學(xué)生成績管理系統(tǒng)概述1)學(xué)生成績管理系統(tǒng)的發(fā)展背景學(xué)生成績管理是各大學(xué)的主要日常管理工作之一,涉及到校、系、師、生的諸多方面,隨著教學(xué)體制的不斷改革,尤其是學(xué)分制、選課制的展開和深入,學(xué)生成績?nèi)粘9芾砉ぷ骷氨4婀芾砣遮叿敝?、?fù)雜。迫切需要研制開發(fā)一款功能強大,操作簡單,具有人性化的學(xué)生成績管理系統(tǒng)。目前研究的現(xiàn)狀在安全性和信息更新化方面存在有一定的不足,各現(xiàn)有系統(tǒng)資料單獨建立,共享性差;在以管理者為主體的方式中,信息取舍依賴管理者對于信息的認知與喜好,較不容易掌握用戶真正的需求,也因此無法完全滿足用戶的需求。因
17、此,教務(wù)管理軟件應(yīng)充分依托校園網(wǎng),實現(xiàn)教務(wù)信息的集中管理、分散操作、信息共享,使傳統(tǒng)的教務(wù)管理朝數(shù)字化、無紙化、智能化、綜合化的方向發(fā)展,并為進一步實現(xiàn)完善的計算機教務(wù)管理系統(tǒng)和全校信息系統(tǒng)打下良好的基礎(chǔ)。隨著計算機及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及,在眾多的網(wǎng)絡(luò)服務(wù)中,Web給人耳目一新的感覺,而在這其中,網(wǎng)絡(luò)已經(jīng)日漸普及,任何人可以在網(wǎng)絡(luò)所提供的平臺上進行自由的交流,通過網(wǎng)絡(luò),學(xué)生可以通過在線的網(wǎng)絡(luò)直接查詢程序,而學(xué)校教師也可在網(wǎng)上在線管理學(xué)生的成績,不需要再去張貼成績單,使用了在線電子系統(tǒng),既便于數(shù)據(jù)查詢不容易使數(shù)據(jù)丟失,又省去了印刷張貼的麻
18、煩,可謂一舉兩得。B/S系統(tǒng)得益于網(wǎng)絡(luò)的興起,采用瀏覽器作為前端用戶操作的平臺,所有的操作系統(tǒng)都預(yù)裝了網(wǎng)絡(luò)瀏覽器,比如IE,用戶不用再去費心安裝每個系統(tǒng)的客戶端就可以通過瀏覽器訪問服務(wù)器上架設(shè)的系統(tǒng)只是隨著網(wǎng)絡(luò)的發(fā)展,人們不再局限于只查看文字信息圖片這些靜態(tài)信息,對B/S系統(tǒng)的互操作性有了進一步的需求,這才興起了RIA富客戶端的風(fēng)潮,使用各種技術(shù)對瀏覽器進行功能上的增強,讓它可以滿足現(xiàn)代用戶的需要。這套學(xué)生成績管理系統(tǒng),就是基于java平臺和ajax實現(xiàn)的RIA富客戶端開發(fā)的,它包括學(xué)生查詢平臺和后臺管理平臺兩部分,分別為學(xué)生提供成績查詢功能,為老師提供管理學(xué)生成績的功能。2)方案論證 成績管
19、理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。本系統(tǒng)主要完成對學(xué)生成績的管理,包括數(shù)據(jù)庫中表的添加、修改、刪除等。系統(tǒng)還可以完成對各類信息的瀏覽、查詢、添加、刪除、修改等功能。3) 開發(fā)工具的選擇本系統(tǒng)開發(fā)工具:+ SQL SERVER 2000需求分析1) 功能需求分析 該學(xué)生成績管理系統(tǒng)具備三方面的功能:一方面是學(xué)生用戶,學(xué)生通過輸入學(xué)號和密碼進下該系統(tǒng)后,可以進行一些基礎(chǔ)查詢(學(xué)生信息查詢、班級信息查詢、課程信息查詢)、成績
20、管理(成績查詢、計算平均分)重新登陸系統(tǒng);一方面老師進入該系統(tǒng)則比學(xué)生多一些權(quán)限:成績輸入、成績查詢。具體功能的詳細描述如下1 選擇學(xué)生基本維護菜單命令,即可進入 學(xué)生基本維護功能窗體,在其中輸入學(xué)生的相關(guān)信息,如果需要添加或修改學(xué)生信息,則單擊相應(yīng)的按紐,輸入新信息后單擊添加就可以了。需要刪除一條信息,則只要選擇這條信息再點擊 刪除。在搜索條件中輸入相關(guān)的條件,單擊 查詢就可查找信息。2 選擇學(xué)生信息查詢菜單命令,即可進入學(xué)生信息查詢功能窗體,在其中的下拉列表中選擇你要看的信息,則在下面的表格中顯示你要的信息。3 選擇成績管理 添加成績菜單命令,即可進入 添加成績功能窗體,此功能權(quán)限只有管理
21、員和教師。4 選擇成績管理 輸入成績菜單命令,即可進入 輸入成績功能窗體,此功能權(quán)限只有管理員和教師。5 選擇成績管理 修改成績 界面,此功能規(guī)管理員所有。6 選擇成績管理 查詢成績界面此界面對學(xué)生也是可見的,它的權(quán)限規(guī)所有用戶所有。7 選擇登陸 重新登陸 則會返回登陸界面,為用戶提供方便。8 選擇退出將退出整個系統(tǒng)。2) 性能需求分析時間特性要求:在軟件方面,響應(yīng)時間有點慢,因為是用JBuilder做的,它占用內(nèi)存比較大,更新處理時間比較快而且迅速。安全性:設(shè)立口令號和密碼驗證方式,防止非法用戶登錄進行操作。也就是用戶只有管理員、學(xué)生和教師才能進入這個系統(tǒng),用戶憑口令號和密碼進入此系統(tǒng),系統(tǒng)
22、會自動判斷用戶是那種類型,分別擁有不同的權(quán)限。3) 數(shù)據(jù)庫需求分析數(shù)據(jù)流圖在教務(wù)系統(tǒng)中功能模塊主要牽涉到的信息包括:是學(xué)生信息(base_info)、班級信息(class_info)、課程信息(class_info)、成績表(chengjibiao)、選課表 (xuankebiao)、登陸表(stu)。學(xué)生信息:包含學(xué)號(id)、姓名(name)、班級(class)、班級(grade)、性別(sex)課程信息:包括課程編號(course_id)、課程名稱(coursename)姓名(name)、成績(result) 成績表:編號(number)、學(xué)號(id)、課程名稱(coursename)、
23、成績(result)班級信息:班級編號(bjbh)、學(xué)號(id)、姓名(name)、班級名稱(bjmc)。登陸表:口令號(id)、密碼(password)。尋找信息登陸信息用 戶數(shù) 據(jù) 庫賬號信息2 開發(fā)環(huán)境與工具介紹前端客戶端我用的是Macromedia Dreamweaver 8來編寫JSP文件。中間業(yè)務(wù)邏輯層的JavaBeans用的是JBuilderX EnterpriseX版。數(shù)據(jù)庫的編寫是采用MYSQL數(shù)據(jù)庫。由于我用的是JBuilderX Enterprise版開發(fā)的這個系統(tǒng),這個開發(fā)軟件功能十分強大,所以自然對開發(fā)環(huán)境要求相對來說比較高。1對系統(tǒng)硬件的要求:最小512M RAM,
24、推薦786MB RAM。2. 對系統(tǒng)平臺的要求: Windows平臺 CPU:Intel PentiumIII 及以上兼容系列500MHz以上。 操作系統(tǒng):Microsoft Windows2000(SP4)、WindowXP或者WindowsServer2003。Linux平臺 CPU:Intel PentiumIII 及以上兼容系列500MHz以上。操作系統(tǒng):Sun Java Desktop System Release2或者RedHat Enterprise Linux 3 .0 2.2 運行環(huán)境: 硬件:適用于數(shù)據(jù)吞吐量較大的不同服務(wù)器; 軟件 :服務(wù)器端:WINDOWS XP+MyS
25、QL用戶端: WindowXP+IE根據(jù)以上劃分的具體數(shù)據(jù)信息,得到數(shù)據(jù)流圖如: 操 作登 錄錯誤信息返回信息1.1數(shù)據(jù)庫需求分析數(shù)據(jù)流圖4)數(shù)據(jù)結(jié)構(gòu)分析學(xué)生信息=組成: 學(xué)號(id)、姓名(name)、班級(class)、性別(sex)、地址(address)課程信息=組成: 編號(course_id)、課程名稱(coursename)、教師(teacher)選課信息=組成:編號(select_id) 課程名稱(coursename)、課程編號(course_id)、學(xué)號(xh)、姓名(name)、成績(result) 、教師(teacher)成績表包括=組成:編號(number)、學(xué)號(i
26、d)、課程名稱(coursename)、成績(result)、教師(teacher) 課程信息包括=組成:課程編號(course_id)、課程名稱(coursename)、教師(teacher)班級信息=組成:班級編號(bjbh)、年級(nj)、班級名稱(bjmc)、人數(shù)(rs)、班主任(bzr)登陸表=組成:口令號(id)、密碼(password)、權(quán)限(rightlimit)1、對圖1.1中所涉及的數(shù)據(jù)流描述如下:1) 數(shù)據(jù)流名:口令號說明:根據(jù)這個口令號定位到用戶管理數(shù)據(jù)庫,以便進行身份驗證。數(shù)據(jù)流來源:登陸界面輸入的口令號和密碼。數(shù)據(jù)流去向:其中用戶口令信息將存在于整個操作過程中,防止
27、非法登陸。數(shù)據(jù)流組成:口令號(文本);密碼(文本)數(shù)據(jù)流名:尋找信息說明:根據(jù)用戶在學(xué)生信息維護的時候所填寫的信息。數(shù)據(jù)流來源:學(xué)生信息維護界面學(xué)生輸入包含學(xué)號、班級編號、名稱等。數(shù)據(jù)流去向:學(xué)號將存在整個操作,其它的存入數(shù)據(jù)庫。數(shù)據(jù)流組成:學(xué)號(文本);姓名(文本)等數(shù)據(jù)流名:尋找信息說明:根據(jù)用戶在成績管理的時候所填寫的信息。數(shù)據(jù)流來源:成績輸入、修改、添加等界面用戶輸入包含課程編號、課程名稱、成績、教師。數(shù)據(jù)流去向:學(xué)號、班級編號、課程編號將存在整個操作,其它的存入數(shù)據(jù)庫。數(shù)據(jù)流組成:課程編號(文本)、課程名稱(文本)、教師(文本)等。數(shù)據(jù)流名:返回信息說明:根據(jù)用戶在學(xué)生信息維護的時候
28、所填寫的信息存入了數(shù)據(jù)庫之后。數(shù)據(jù)流來源:由學(xué)生信息維護界面學(xué)生輸入的包含學(xué)號、姓名、性別等存入數(shù)據(jù)庫的。數(shù)據(jù)流去向:學(xué)生信息維護界面。數(shù)據(jù)流組成:學(xué)號(文本)、姓名(文本)、班級名稱(文本)、性別(文本)等。數(shù)據(jù)流名:返回信息說明:根據(jù)用戶在成績管理的時候所填寫的信息存入數(shù)據(jù)庫后。數(shù)據(jù)流來源:由成績管理輸入的包含班級名稱、教師、課程名、成績存入數(shù)據(jù)庫的。數(shù)據(jù)流去向:成績管理的各子界面。數(shù)據(jù)流組成:班級編號(文本);班級名稱(文本);教師(文本)等2. 對圖1.1中所涉及的處理過程描述如下:處理過程名:登陸輸入數(shù)據(jù)流:口令號、密碼輸出數(shù)據(jù)流:不符合輸入條件的錯誤信息 處理過程邏輯:用 IF條件
29、進行判斷。處理過程名:班級信息維護輸入數(shù)據(jù)流:班級編號、班級名稱、教師等輸出數(shù)據(jù)流:班級編號、班級名稱等 ,其中班級編號將存在整個操作。處理過程號:班級編號,其中班級編號將存在整個操作。處理過程名:學(xué)生信息維護輸入數(shù)據(jù)流:學(xué)號、姓名、班級編號、性別等。輸出數(shù)據(jù)流:學(xué)號、姓名、班級編號、性別等。其中學(xué)號將存在整個操作。處理過程名:課程查詢輸入數(shù)據(jù)流:學(xué)號、姓名輸出數(shù)據(jù)流:學(xué)號、班級名稱、課程名稱、上課時間節(jié)、上課時間天、上課地點、其中課程編號將存在整個操作。處理過程名:成績輸入輸入數(shù)據(jù)流:課程編號、課程名稱輸出數(shù)據(jù)流:編號、學(xué)號、課程名稱、成績 、其中編號和學(xué)號將存在整個操作。 系統(tǒng)功能結(jié)構(gòu)設(shè)計
30、 根據(jù)需求分析階段得到的功能需求,管理員、學(xué)生和教師用戶通過輸入口令號和密碼進下該系統(tǒng)后,可以進行一些學(xué)生基礎(chǔ)信息查詢(學(xué)生信息查詢、班級信息查詢、課程信息查詢)、學(xué)生信息維護、成績管理(成績查詢、計算平均分)重新登陸系統(tǒng)、退出。 模塊功能大概可以分為如下4個方面:這幾個模塊學(xué)生基礎(chǔ)維護、成績管理、登陸、退出。其中基礎(chǔ)維護還要包括學(xué)生信息維護、班級信息維護、課程信息維護。成績管理包括成績查詢、添加成績、成績輸入等。綜上所述,得到客戶端功能模塊圖如下2.1所示。學(xué)生成績管理系統(tǒng)成績輸入登陸成績查詢學(xué)生模塊管理員模塊成績修改成績添加成績查詢學(xué)生信息查詢學(xué)生信息維護學(xué)生基本信息退出退出成績管理重新登
31、陸系統(tǒng)設(shè)計(一)設(shè)計目標(biāo)通過對學(xué)生管理工作的調(diào)查和研究,要求系統(tǒng)設(shè)計完成后將達到以下目標(biāo):界面設(shè)計友好、美觀,方便管理員的日常操作?;拘畔⒌娜嬖O(shè)置,數(shù)據(jù)錄入方便、快捷。具有用戶維護功能。最大限度地實現(xiàn)了易維護性和易操作性。(二)開發(fā)及運行環(huán)境硬件平臺:CPU:P41.8GHz; 內(nèi)存:256MB以上。軟件平臺:操作系統(tǒng):Windows2000 Server;數(shù)據(jù)庫:SQL Server 2000;建立環(huán)境,這個過程如下:在 HYPERLINK :/java.sun /jdk/ t _blank jdk/處下載JDK(Java2SDK、StandardEdition、v)。JDK的安裝是首先
32、運行下載得到的jdk-6u5-windows-i586-p.exe,然后修改系統(tǒng)環(huán)境變量,新建JAVA_HOME=x:jdk6.0,并在PATH參數(shù)中加入%JAVA_HOME%bin;,其中x:是安裝JDK的硬盤符(c:、d:等)。在h6.0。tomcat的安裝僅需將apache-tomcat-.zip帶目錄釋放到硬盤根目錄下(c:、d:等),然后就可以在硬盤上找到apache-tomcat-5.5.26目錄。啟動則在apache-tomcat-/bin目錄下執(zhí)行startup.bat,就可啟動tomcat中一個支持JSP網(wǎng)頁技術(shù)的Web服務(wù)器。為了不與現(xiàn)有的Web服務(wù)器(例如IIS、PWS等
33、)沖突,tomcat的Web服務(wù)器使用了8080端口。在瀏覽器的地址欄中鍵入 HYPERLINK :/localhost:8080/ t _blank t:8080或者 HYPERLINK :/:8080/ t _blank :/:8080后,如果能看到tomcat的歡迎頁就說明JSP實驗環(huán)境已經(jīng)建成,可進入下一步實驗。要關(guān)閉Web服務(wù)器則運行shutdown.bat。(三)數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫連接數(shù)據(jù)庫連接對動態(tài)網(wǎng)站來說是最為重要的部分,從JSP中訪問數(shù)據(jù)通常是通過Java Bean來實現(xiàn)的。Java中連接數(shù)據(jù)庫的技術(shù)是JDBC(Java Database
34、Connectivity)。很多數(shù)據(jù)庫系統(tǒng)帶有JDBC驅(qū)動程序,Java程序就通過JDBC驅(qū)動程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等等操作。Sun公司還開發(fā)了JDBC-ODBC bridge,用此技術(shù)Java程序就可以訪問帶有ODBC驅(qū)動程序的數(shù)據(jù)庫,目前大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有ODBC驅(qū)動程序,所以Java程序能訪問諸如Oracle、Sybase、MSSQL Server和MS Access等數(shù)據(jù)庫。JavaBeanJavaBeans 是基于java的組件模型,由屬性,方法和事件3個部分組成。在該模型中,Javabeans可以被修改或與其他組件結(jié)合生成新組件或完成的程序。它是一種Java類,通
35、過封裝成為具有某種功能或者處理某個業(yè)務(wù)的對象。因此,也可以通過嵌在 JSP頁面內(nèi)的Java代碼訪問Bean及其方法。Bean的含義是可重復(fù)使用的Java組件。所謂組件就是一個由可以自行進行內(nèi)部管理的一個或幾個類所組成,外界了解其內(nèi)部信息和運行方式的群體。使用它的對象只能通過接口來操作。Bean實際上是根據(jù)JavaBeans技術(shù)標(biāo)準所指定的Bean的命名和設(shè)計規(guī)范而編寫的Java類。Bean并不需要繼承特別的基類(base class)或事項特定的接口(Interface)。JavaBeans1.01-A規(guī)范定義了該組件的5種重要的機制:內(nèi)省(Introspection):組件可發(fā)表其支持的操作
36、和屬性,同時也支持在其他組件中發(fā)現(xiàn)重復(fù)利用的對象庫,例如用戶權(quán)限和電子自動回復(fù)等。通信(Communication):生成和收集組件的消息事件持續(xù)(Persistence):存放組件的狀態(tài)。屬性(Properties):支持組件布局的控制,包括組件占用的空間和組件的相對位置。定制(Customization):開發(fā)者可控制組件所需的改變機制。Javabeans可實現(xiàn)在設(shè)計平臺被規(guī)定的操作,一般可表示為簡單的圖形界面,如按鈕,光標(biāo)和菜單等,也可以是不可見的接受并處理事件的操作,如數(shù)據(jù)庫連接Bean。JSP吸引人之處很大程度上在于它使用了Javabeans組件技術(shù),但JSP中只支持不可見的Java
37、beans。jdbc創(chuàng)建一個簡單的數(shù)據(jù)庫連接Bean需要5個步驟:導(dǎo)入JDBC標(biāo)準類庫,注冊數(shù)據(jù)庫驅(qū)動程序,建立數(shù)據(jù)庫連接,數(shù)據(jù)庫操作和關(guān)閉。1)導(dǎo)入JDBC標(biāo)準類庫JDBC(Java DataBase Connectivity, Java數(shù)據(jù)庫連接)是一種可用于執(zhí)行SQL(Structured Query Language ,結(jié)構(gòu)化查詢語言)語句的應(yīng)用程序接口,為了將服務(wù)器從客戶端接受信息存入數(shù)據(jù)庫,需要使用JDBC標(biāo)準類庫,所以需要在程序的開始加入以下import語句:Import java.sql.*;2)注冊數(shù)據(jù)庫驅(qū)動程序在一個JDBC的驅(qū)動程序被用來建立數(shù)據(jù)庫連接之前,必須向數(shù)據(jù)庫驅(qū)
38、動程序管理器注冊該驅(qū)動程序。管理器的主要職責(zé)是保證所有的驅(qū)動程序?qū)ο罂杀籎DBC的用戶程序訪問。當(dāng)一個JDBC驅(qū)動程序被載入時,它將自動地在驅(qū)動程序管理器上注冊??梢哉{(diào)用Class.forName()方法載入一個JDBC驅(qū)動程序:String strDBDriver=sun.jdbc.odbc.JdbcOdbcDriver;Class.forName(“strDBDriver ”); Class.forName()是Java的Class類的靜態(tài)方法,它使Java虛擬機動態(tài)的尋找,載入并連接指定的類。3)建立數(shù)據(jù)庫連接載入一個正確的驅(qū)動程序后,就可以用它來建立與數(shù)據(jù)庫的連接了。一個JDBC的數(shù)據(jù)
39、庫連接是用數(shù)據(jù)庫URL來標(biāo)記的。連接標(biāo)記將告訴驅(qū)動程序管理器使用哪個驅(qū)動程序和連接哪個數(shù)據(jù)庫。數(shù)據(jù)庫URL的基本形式:jdbc::URL的第一部分表示使用JDBC建立數(shù)據(jù)庫連接。第2部分表示所使用的JDBC驅(qū)動程序名或網(wǎng)絡(luò)協(xié)議名。第3部分是數(shù)據(jù)源標(biāo)記,它映射所需連接的數(shù)據(jù)庫。例如數(shù)據(jù)庫的數(shù)據(jù)源標(biāo)記是firm則同JDBC-ODBC橋連接該數(shù)據(jù)庫所用的數(shù)據(jù)庫URL為jdbc:odbc:firm.可以通過DriverManager類的靜態(tài)方法getConnection()來建立一個數(shù)據(jù)庫連接:String strDBUrl=jdbc:odbc:firm;conn=DriverManager.getC
40、onnection(strDBUrl,sa,);一旦建立數(shù)據(jù)庫連接,就可以打開該目標(biāo)數(shù)據(jù)庫,并通過該連接向目標(biāo)數(shù)據(jù)庫SQL指令。SQL指令通常會執(zhí)行查詢,插入,更新和刪除等數(shù)據(jù)庫操作。要執(zhí)行SQL指令,必須通過Connection對象的createStatement()方法來創(chuàng)建一個STMT對象。STMT對象提供了許動方法來執(zhí)行不同的數(shù)據(jù)庫操作。可以 通過以下方式創(chuàng)建STMT對象:private Connection conn=null;private Statement stmt=null;ResultSet rs=null;stmt=conn.createStatement();4)數(shù)據(jù)操
41、作與數(shù)據(jù)庫建立了連接后,接著就要進行數(shù)據(jù)操作了。數(shù)據(jù)操作包括查詢,插入,更新和刪除等操作。要對數(shù)據(jù)庫精心操作可以使用STMT對象的executeQuery()方法。executeQuery()方法接受一個SQL指令字符串作為參數(shù),返回結(jié)果信息是ResultSet對象。具體如下:rs=stmt.executeQuery(sql);5)關(guān)閉因為數(shù)據(jù)庫連接是寶貴和有限的資源,因此必須在數(shù)據(jù)庫操作完畢后即使釋放數(shù)據(jù)庫連接。Connection 對象提供了一個簡單的關(guān)閉數(shù)據(jù)庫連接的方法 close()。例如:conn.close();stmt.close。利用數(shù)據(jù)庫原理相關(guān)知識,對數(shù)據(jù)庫設(shè)計和每個模塊、
42、每個界面的具體設(shè)計。此系統(tǒng)采用的數(shù)據(jù)庫軟件是sqldb。以下是系統(tǒng)需要的六張主要數(shù)據(jù)表的結(jié)構(gòu)。字段名字段類型nulldefault描述主鍵外鍵idbigint主鍵incrementcodevarchar(100)年級代碼namevarchar(200)年級名稱School_grade年級字段名字段類型nulldefault描述主鍵外鍵idbigint主鍵incrementcodevarchar(100)班級代碼namevarchar(200)班級名稱school_gradebigint所在年級school_gradeSchool_class班級字段名字段類型nulldefault描述主鍵外鍵i
43、dbigint主鍵incrementcodevarchar(50)課程編碼namevarchar(200)課程名稱credit_hourfloat學(xué)分passfloat及格線school_gradebigint所在學(xué)期school_gradeLesson課程字段名字段類型nulldefault描述主鍵外鍵idbigint主鍵incrementusernamevarchar(200)用戶名passwordvarchar(200)密碼truenamevarchar(200)真實姓名sexinteger性別school_classbigint所在班級school_classStudent學(xué)生字段名字
44、段類型nulldefault描述主鍵外鍵idbigint主鍵incrementscorefloat成績studentbigint用戶studentlessonbigint課程lessonScore成績字段名字段類型nulldefault描述主鍵外鍵idbigint主鍵incrementusernamevarchar(200)用戶名passwordvarchar(200)密碼Admin管理員系統(tǒng)的實現(xiàn)(一)學(xué)生查詢成績部分訪問 HYPERLINK :/localhost:8080/studentscope/ :/localhost:8080/ST/。測試用戶名:test測試密碼:test學(xué)生需要
45、先登錄才能進入查詢程序的界面, 進入系統(tǒng)前要對用戶和密碼進行校驗,即用戶名和密碼正確才能進入系統(tǒng)。并且若用戶連續(xù)三次密碼輸入錯誤,則不能再次輸入。輸入用戶ID后,按鍵,系統(tǒng)校驗該用戶是否存在.在公共方法jTuser_keyPressed()中,定義一個String類型變量sqlSelect用來生成SQL查詢語句,再定義一個公共類 PetrieveObject類型變量 retrieve,然后調(diào)用retrieve的getObjectRow()方法,其參數(shù)為sqlSelect,用來判斷該用戶是否存在。如果用戶名與密碼不正確,就會彈出警告信息,要求用戶重新輸入。登錄成功后就可以看到登錄學(xué)生的個人信息和
46、相關(guān)學(xué)科的分數(shù)。后臺管理成績部分訪問 HYPERLINK :/localhost:8080/st,進入后臺管理界面。測試管理員帳號:admin測試密碼:admin輸入用戶ID之后,按鍵,系統(tǒng)校驗該用戶是否存在。在公共方法jTuser_keyPressed()中,定義一個String類型變量sqlSelect用來生成SQL查詢語句,再定義一個公共類RetrieveObject類型變量retrieve,然后調(diào)用retrieve的getObjectRow()方法,其參數(shù)為sqlSelect,用來判斷該用戶是否存在。該方法的詳細代碼如下:Public void jTextField1_keyPress
47、ed(KeyEvent keyEvent)If(keyEvent.getKeyCode()=KeyEvent.VK_ENTER) String sqlSelect=null; Java.util.Vector vdata=null; sqlSelect=”select username from tb_user where userid=”+jTextField1.getText().trim()+”; appstu.util.RetrieveObject retrieve=new appstu.util.RetrieveObject(); vdata=retrieve.getObjectRo
48、w(sqlSelect); if (vdata.size()0) jPasswordField1.requestFocus();else Javax.swing.JOptionPane.showMessageDialog(null,”該用戶不存在”,”錯誤” ,javax.swing.JOptionPane.ERROR_MESSAGE); jTextField1.requestFocus(); 如果用戶存在,再輸入對應(yīng)的口令,輸入的口令正確時,單擊“登錄”按鈕,進入系統(tǒng)。公共方法jTuser_keyPressed()的設(shè)計與jTextField1_keyPressed的設(shè)計方法相似,其關(guān)鍵代碼
49、如下:Public void jBlogin_actionPerformed(ActionEvent e) String sqlSelect=null; sqlSelect=”select count(*)from tb_user where userid=”+jTextField1.getText().trim() +”and pass=”+pass+”; Java.util.Vector vdata=null; appstu.util.RetrieveObject retrieve=new appstu.util.RetrieveObject(); vdata=retrieve.getOb
50、jectRow(sqlSelect); (vdata.get(0)0) AppMain frame=new AppMain(); This.setVisible(false);else JessageDialog(null,”密碼錯誤”,”錯誤”,J); jPasswordField1.requestFocus(); return; 登錄成功可以選擇功能模塊進行操作。其中包括有年級班級管理模塊、課程管理模塊、學(xué)生管理模塊、系統(tǒng)管理模塊。這些模塊都只有管理人員才能使用。管理年級信息,年級管理模塊可以添加、修改、刪除各年級的ID、年級編碼及年級名稱。管理班級信息,班級信息設(shè)置用來維護班級的基本情況
51、,包括對班級信息的添加、修改和刪除等操作。通過調(diào)用Jdbcadapter,完成對班級表的相應(yīng)操作。執(zhí)行該模塊程序,首先從數(shù)據(jù)表中檢索出班級的基本信息,如果存在數(shù)據(jù)用戶單擊某一條數(shù)據(jù)之后可以對其進行修改、刪除等操作。單擊jf_view_sysset_class.java 文件的source代碼,編輯窗口首先導(dǎo)入UTIL公共包下的相應(yīng)類文件;定義一個BOOLEAN實例變量INSERTFLAG,用來標(biāo)志操作數(shù)據(jù)庫的類型,然后定義一個私有方法BUILDTABLE(),用來檢索班級數(shù)據(jù)。代碼如下:private void buildTable() DefaultTableModel=null; Stri
52、ng name =“班級編號”,”年級編號”,”班級名稱”; String sqlstr=”select*from tb_classinfo”; Appstu.util.retrieveObject bdt=new appstu.util.RetrieveObject(); Tabemodel=bdt.getTableModel(name,sqlstr);jTable.setModel(tablemodel);jTable.setRowHeight(24); 單擊“新增”按鈕,用來增加一條新的數(shù)據(jù)信息。在公共方法jBadd_actionPerformed()中定義局部字符串變量sqlgrade
53、,用來生成年級sql的查詢語句,然后調(diào)用公共類RetrieveObject的getObjectRow()方法,其參數(shù)為sqlgrade,將返回結(jié)果數(shù)據(jù)解析后添加到j(luò)ComboBox1組件中。其jBadd_actionPerformed()方法的代碼如下: Public void jBadd_actionPerformed(ActionEvent e)/獲得年級名稱/if(jComboBox1.getItemCount()=0)Insertflag=true;RetrieveObject bdt=new RetrieveObject();String sqlgrade=”select grade
54、Name from tb_gradeinfo”;Java.util.Vector vdata=new java.util.Vector();Vdata=bdt.getObjectRow(sqlgrade);jComboBox1.removeAllItems();for (int i=0;ivdata.size();i+) jComboBox1.addItem(vdata.get(i);ItemEvent item=new ItemEvent(jComboBox1,0,jComboBox1,jComboBox1.getSelectedIndex();jComboBox1_itemStateCha
55、nged(item);jTextField2.setText(“”);jTextField2.requestFocus();用戶單擊表格上的某條數(shù)據(jù)后,程序會將這條數(shù)據(jù)填寫到j(luò)Panel2面板上的相應(yīng)組件上,以方便用戶進行相應(yīng)的操作,在公共方法jTable1_mouseClicked()中定義一個string類型的局部變量sqlStr,用來生成sql查詢語句,然后調(diào)用公共類RetrieveObject的getObjectPow()方法,進行數(shù)據(jù)查詢,如果找到數(shù)據(jù)則將該數(shù)據(jù)解析顯示給用戶,代碼如下:Public void jTable1_mouseClicked(MouseEvent e) In
56、sertflag=false; String id=null; String sqlStr=null; Int selectrow=0; Selectrow=jTable1.getSelectedRow(); If(selectrow0)return; Id=jTable1.getValueAt(selectrow,0).toSwing(); sqlStr=”SELECT c.classID,d.gradeName FROM tb_classinfo c INNER JOIN” +” + “where c.classID=”+id+”; Java.util.Vector vdata=null;
57、 RetrieveObject retrive=new RetrieveObject(); Vdata=retrive.getObjectRow(sqlStr); jComboBox1.removeAllItems(); jTextField1.setText(vdata.get(0).toString(); jComboBox1.addItem(vdata.get(1); jTextField2.setText(vdata.get(2).toString(); 管理課程信息,課程管理模塊可增加、修改、刪除學(xué)院各班級開設(shè)的課程數(shù)據(jù),包括課程的ID、課程代碼、課程名稱、課程學(xué)分、該課程的及格分數(shù)
58、線及開設(shè)該課程的年級信息。評分模塊主要是給學(xué)習(xí)某一課程的學(xué)生評分,通過選擇課程的名稱,可錄入、修改、刪除和查看學(xué)習(xí)該門課程所有學(xué)生的成績。this.tbar = new Ext.Toolbar(選擇課程:, filter, -, id: addMenu, text: 添加, iconCls : add, tooltip : 添加, disabled: true, handler: function() if (this.filter.getValue() = ) Ext.Msg.alert(提示, 請先選擇課程); else var initValue = id: null, student.
59、truename: null, student.id: null, score: 0 ; var p = new this.dataRecord(initValue); this.stopEditing(); this.store.insert(0, p); this.startEditing(0, 0); p.dirty = true; p.modified = initValue; if(this.store.modified.indexOf(p) = -1) this.store.modified.push(p); if (this.insertedRecords.indexOf(p)
60、= -1) this.insertedRecords.push(p); .createDelegate(this) , id: deleteMenu, text: 刪除, iconCls : delete, tooltip : 刪除, disabled: true, handler: function() if (this.filter.getValue() = ) Ext.Msg.alert(提示, 請先選擇課程); else Ext.Msg.confirm(信息, 確定要刪除?, function(btn) if (btn = yes) var sm = this.getSelection
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度新型鋁材特種定制購銷合同范本3篇
- 二零二五年度車輛抵押借款合同(含車輛保險理賠)4篇
- 二零二五版城市景觀照明工程設(shè)計施工合同范本4篇
- 專項服務(wù)協(xié)議知識產(chǎn)權(quán)維護說明一
- 二零二五年度家電租賃服務(wù)合同與2025年度維修維護保障合同4篇
- 2024年企業(yè)主要負責(zé)人安全培訓(xùn)考試題(培優(yōu)A卷)
- 二零二五年度環(huán)保型變壓器研發(fā)、生產(chǎn)及安裝合作合同3篇
- 23年-24年項目管理人員安全培訓(xùn)考試題【完整版】
- 2023年-2024年項目安全培訓(xùn)考試題附完整答案【歷年真題】
- 二零二五版房地產(chǎn)租賃合同擔(dān)保及售后服務(wù)保障范本4篇
- 初級中學(xué)語文教師資格考試學(xué)科知識與教學(xué)能力試題及解答參考(2024年)
- 《帶一本書去讀研:研究生關(guān)鍵學(xué)術(shù)技能快速入門》筆記
- 人教版八年級數(shù)學(xué)下冊舉一反三專題17.6勾股定理章末八大題型總結(jié)(培優(yōu)篇)(學(xué)生版+解析)
- 2024屆上海高考語文課內(nèi)古詩文背誦默寫篇目(精校版)
- DL-T5024-2020電力工程地基處理技術(shù)規(guī)程
- 2024年度-美團新騎手入門培訓(xùn)
- 初中數(shù)學(xué)要背誦記憶知識點(概念+公式)
- 駕照體檢表完整版本
- 農(nóng)產(chǎn)品農(nóng)藥殘留檢測及風(fēng)險評估
- 農(nóng)村高中思想政治課時政教育研究的中期報告
- 20100927-宣化上人《愣嚴咒句偈疏解》(簡體全)
評論
0/150
提交評論