宋國偉 薛益鴿
摘 要: 本文論述了Java以及SQL Server的技術(shù)簡介,分析了Java以及SQL Server的發(fā)展歷程。針對應(yīng)用需求,研究選擇Java語言作為整個系統(tǒng)的開發(fā)語言,SQL Server 2008作為系統(tǒng)數(shù)據(jù)庫,通過運用SQL語句對數(shù)據(jù)進行增、刪、改、查,實現(xiàn)了按條件查詢相對應(yīng)信息、智能選課、人員信息的增、刪、改、查。并通過JDBC接口鏈接數(shù)據(jù)庫,使用Java語言實現(xiàn)所有的功能模塊的界面,更為全面的實現(xiàn)了學生選課評分系統(tǒng),其中全面包括教師對學生課程的增刪改查,學生退選課的操作以及教師對學生的評分操作。
關(guān)鍵詞: 學生選課評分系統(tǒng);Java;SQL Server
Abstract:The paper discusses the Java and SQL Server technology profiles and analyzes the development process of Java and SQL Server. According to the application requirements the research chooses Java as the development language of the whole system and SQL Server 2008 as the system database and uses SQL statements to add or delete data for achieving the query of the corresponding information according to the conditions intelligent course selection additions and deletions of personnel information search. Meanwhile through the JDBC interface to link the database Java language is adopted to achieve all the interfaces of functional modules. Therefore the student selective scoring system is more comprehensively realized which includes a systematic examination of teachers' additions and deletions of student classes students' retirement class operations and teachers' scoring operation.
Key words: the student selective scoring system;Java;SQL Server
引言
Java是一種高級的面向?qū)ο蟮某绦蛟O(shè)計語言,同時也是一種跨平臺語言。從PC端到手機應(yīng)用都有Java開發(fā)的程序和游戲,Java程序可以運行在任何設(shè)備和平臺上,不論是任何計算機、操作系統(tǒng)、或是支持Java的硬件設(shè)備[1]。
Java語言的語法規(guī)則與C++類似,但同時也簡潔許多,去除了C語言中的指針類型,大大提高了可靠性,并且還具備更高的安全性,堪稱時下在使用中最為廣泛的優(yōu)秀程序編程語言。
發(fā)展至今,Java依據(jù)應(yīng)用范圍可劃分為3個版本,即Java SE、Java EE、Java ME,也就是Sun ONE(Open Net Environment)體系。其中,Java SE是Java的標準版,適用于Java桌面應(yīng)用的開發(fā),設(shè)計中包含著Java語言基礎(chǔ)、JDBC(Java 數(shù)據(jù)庫連接性)操作、I/O(輸入/輸出)、網(wǎng)絡(luò)通信、多線程等技術(shù)。Java EE是指Java enterprise edition,也就是Java企業(yè)版,多用于企業(yè)級開發(fā),包括Web開發(fā)等諸多組件內(nèi)容在內(nèi)。Java ME則可為在移動設(shè)備和嵌入式設(shè)備(比如手機、PDA、電視機頂盒和打印機)上運行的應(yīng)用程序提供一個綜合強大的背景環(huán)境。Java ME 包括靈活的用戶界面、健壯的安全模型、多組內(nèi)置網(wǎng)絡(luò)協(xié)議以及對可以動態(tài)下載的連網(wǎng)和離線應(yīng)用程序的豐富支持[2]。
在運行中,Java設(shè)計配置了三大框架,也就是:Struts+Hibernate+Spring。Java三大框架主要用來研發(fā)Web應(yīng)用。其中,Struts主要提供層的顯示,Spring利用內(nèi)置的IOC和AOP來處理控制業(yè)務(wù)(重點用于對數(shù)據(jù)庫的操作),Hibernate主要是將數(shù)據(jù)持久化到數(shù)據(jù)庫中。
在已有的研究工作中,Java語言呈現(xiàn)出如下特性:簡單、面向?qū)ο蟆⒎植夹?、可移植性、解釋性、安全性、健壯性、多線程、高性能、動態(tài)。
SQL Server是一種關(guān)系數(shù)據(jù)管理系統(tǒng)。2008年,SQL Server 2008 簡體中文版即已在中國正式發(fā)行。SQL Server 2008 版本可以將結(jié)構(gòu)化、半結(jié)構(gòu)化,非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲到數(shù)據(jù)庫中??梢酝ㄟ^SQL語句對數(shù)據(jù)進行增、刪、改、查等各類操作。
SQL Server2008除了繼承SQL Server 2005的優(yōu)點外,還提供許多的新特性、新功能,具備數(shù)據(jù)壓縮,基于策略的管理和集成全文檢索功能[3]。此外,SQL Server 2008 允許在Microsoft.Net和Visual Studio 開發(fā)的自定義應(yīng)用程序中使用數(shù)據(jù),在面向服務(wù)的框架(SOA)和基于Microsoft Biz Talk Server展開的業(yè)務(wù)流程中使用數(shù)據(jù)。
2012年的SQL Server 2012是在原有SQL Server 2008的基礎(chǔ)上又加入了重大改進,除了保留SQL Server 2008的風格外,還在管理、安全,以及多維數(shù)據(jù)分析、報表分析等方面做出了進一步的優(yōu)化提升。
1 開發(fā)工具
MyEclipse(MyEclipse Enterprise Workbench,簡稱MyEclipse)是對Eclipse IDE的擴展,可以利用MyEclipse在數(shù)據(jù)庫和Java程序開發(fā)中高效提升研發(fā)的效率。這是JavaEE的集成開發(fā)環(huán)境,包括編碼、調(diào)試、測試和發(fā)布功能,全方面支持HTML、Struts、JSP、CSS、Javascript、Spring、SQL和Hibernate。
究其實質(zhì),MyEclipse 就是一個巨大的插件集合,可以將其視作Eclipse,但卻是經(jīng)過擴展后的Eclipse,也就是在最初的Eclipse中高度集成了大量的其它插件,并經(jīng)過優(yōu)化,從而能夠個性化定制設(shè)計基本的Java代碼編寫、Web開發(fā),以及各種主流框架和數(shù)據(jù)庫開發(fā)。
JDBC是一種鏈接Java與SQL語句的API,是由Java編寫的類和接口組成。使用JDBC,在Java中調(diào)取SQL語句極為方便,不必再重寫一個鏈接數(shù)據(jù)庫的程序,因為Java和JDBC結(jié)合起來使用就無需考慮不同平臺的問題,這也是Java語言“編寫一次,處處運行”的特點優(yōu)勢之所在。JDBC不僅可以用于桌面應(yīng)用開發(fā),而且還可用于網(wǎng)頁開發(fā)。隨著Java語言的推廣,對數(shù)據(jù)庫的應(yīng)用也日益增加,JDBC就尤顯得完備與重要。
2 學生選課評分系統(tǒng)的應(yīng)用實例設(shè)計分析
2.1 SQL部分設(shè)計
2.1.1 關(guān)系模型設(shè)計
如圖1所示,數(shù)據(jù)庫關(guān)系模型設(shè)計內(nèi)容表述如下:
管理員(用戶名[TXX-],密碼)
學生表(學號[TXX-],姓名,密碼,系部名稱)
選課表(學號[TXX=],課程號[TXX=],志愿號,報名狀態(tài))
成績表(學號[TXX=],課程號[TXX=],教師號[TXX=],成績)
教師表(教師號[TXX-],教師名,密碼)
課程表(課程號[TXX-],課程名,最大報名人數(shù),當前報名人數(shù),學分,上課時間,教師號)
課程候選(課程號[TXX-],課程名,最大報名人數(shù),當前報名人數(shù),學分,上課時間,教師號
2.1.2 關(guān)系結(jié)構(gòu)設(shè)計
(1)實體完整性。所有實體的主碼不能為空。即管理員的“用戶名”和“密碼”都不能為空;學生表中的“學號”、“密碼”不能為空;選課表中的“學號”、“課程號”不能為空;成績表中的“學號”、“課程號”、“教師號”不能為空;教師表中的主碼“教師號”、課程表中的主碼“課程號”、上報課程中的主碼“課程號”均不能為空;課程表中的“學分”必須“>0”;成績表中的“成績”必須在“0-100”之間;選課表中的“狀態(tài)”只能為“1”或“0”;當課程表“當前報名人數(shù)=最大報名人數(shù)”時,則選課表該課程不能插入。
(2)參照完整性。參照關(guān)系“選課表”中的“學號”的值必須是被參照關(guān)系“學生表”中“學號”的值,并且是被參照關(guān)系“學生表”的外碼。參照關(guān)系“選課表”中的“課程號”的值必須是被參照關(guān)系“課程表”中“學號”的值,并且是被參照關(guān)系“課程表”的外碼。參照關(guān)系“成績表”中的“學號”的值必須是被參照關(guān)系“學生表”中“學號”的值,并且是被參照關(guān)系“學生表”的外碼。參照關(guān)系“成績表”中的“課程號”的值必須是被參照關(guān)系“課程表”中“學號”的值,并且是被參照關(guān)系“課程表”的外碼。參照關(guān)系“成績表”中的“教師號”的值必須是被參照關(guān)系“教師表”中“教師號”的值,并且是被參照關(guān)系“教師表”的外碼。參照關(guān)系“教師表”中的“課程號”的值是被參照關(guān)系“課程表”的外碼。
綜上研究可得,學生選課評分系統(tǒng)數(shù)據(jù)庫關(guān)系結(jié)構(gòu)描述可見表1。
2.2 Java部分設(shè)計
Java模塊設(shè)計流程如圖2所示。
3 系統(tǒng)設(shè)計與實現(xiàn)
3.1 登錄及主界面功能模塊實現(xiàn)
如圖3所示,登錄頁面中,依據(jù)權(quán)限來區(qū)分登錄賬戶,具體就是:學生、教師、管理員。然后進入不同的界面,實現(xiàn)不同的功能。
當選擇“管理員”權(quán)限時,只能以管理員的賬號密碼登入,并跳轉(zhuǎn)到管理員主界面。管理員權(quán)限可以對學生/教師進行增、刪、改、查,并且允許新開課程,對課程做出刪除與修改。當選擇“學生”權(quán)限時,只能以學生的賬號密碼登入,并跳轉(zhuǎn)到學生主界面。學生權(quán)限可以查看所有課程信息以及自身的成績信息,而且可以開展選課以及退選課程的操作。當選擇“教師”權(quán)限時,只能以教師的賬號密碼登入,再跳轉(zhuǎn)到教師主界面。教師權(quán)限可以查看所有課程信息,上報欲開設(shè)課程,再對選課學生設(shè)置評分操作。
3.2 管理員功能模塊實現(xiàn)
選擇管理員權(quán)限,用管理員號和密碼登錄進入教師的功能模塊界面。
3.2.1 教師添加界面
如圖4所示,在輸入框內(nèi)輸入一個新的教師號和教師姓名,就能把一名新教師加入到數(shù)據(jù)庫中,并且可設(shè)置新教師的默認登入密碼為“123456”。由于新增教師尚未開設(shè)課程,課程號為空,課程名為空,表單中不能顯示,就可以讀取到課程表中默認的課程號和課程名的值,賦予新教師默認課程號為999,默認課程為暫定。
3.2.2 教師管理
如圖5所示,可以查詢所有在系統(tǒng)庫里的教師,并且可以通過教師號實現(xiàn)精準查詢,同時會在表單中顯示教師對應(yīng)的課程號和課程。選取表單中課程時,會獲取到該條記錄的所有信息,可以對得到的記錄進行刪除和修改操作,并刷新表單顯示新的數(shù)據(jù)。
3.2.3 課程上報管理
教師開設(shè)一門新課程就會將上報的課程提交到課程候選表中,并在該界面提供效果顯示,具體如圖6所示。當獲準開設(shè)一門課程時,該課程會加入到課程表中,隨即在課程候選表中刪除該課程;當否決設(shè)置一門課程時,就直接將該門課程從候選表中刪除。
對學生和課程的修改和刪除操作的原理基本與教師相同,同樣可以在文本框中獲取到表單中選中的學生或者課程信息并對其執(zhí)行修改和刪除處理,每次操作都會重新刷新獲取到、以及表單中的信息。
3.3 學生功能模塊實現(xiàn)
選擇學生權(quán)限,用學生號和密碼登錄進入學生的功能模塊界面。學生功能主要包括學生查詢所有課程信息,以及可供學生選取的退選課操作,功能布局設(shè)計則如圖7所示。
由圖7可知,學生可以通過課程名稱、教師姓名、以及上課時間分別展開更為快捷的查詢。學生可以選取中意的課程進行報名,該門課程信息會自動加入選課表并在已選課程中顯示出來,同時隨即將更新增加當前報名人數(shù)。若當前報名人數(shù)等于最大報名人數(shù)時,將不能再申報該門課程。而學生進行退選操作時,已選課程中刪除這名學生的信息,并且當前報名人數(shù)也將發(fā)生跳減變化。
此外,學生還能查詢自己的成績信息,加載查詢成績界面時就會獲取到當前登錄的學生學號,但僅會顯示登錄學生本人的成績。
3.4 教師功能模塊實現(xiàn)
選擇教師權(quán)限,用教師號和密碼登錄進入教師的功能模塊界面。
(1)教師查詢課程。如圖8所示,教師可以查詢所有課程,同樣可以通過課程號精準查詢出對應(yīng)的課程信息。
(2)教師上報課程。如圖9所示,教師首開一門課程時,必須通過上報課程功能提交到管理員的課程候選表,經(jīng)由管理員同意后加入課程表。教師上報課程界面會自動獲取到登錄的教師號。
(3)成績評定。如圖10所示,教師登錄會獲取到選擇這名教師所開課程的學生,教師可以選中學生信息對學生成績給出評定,評定成績會刷新學生成績表的記錄,同時學生登錄查看成績也會查詢到教師評定的新數(shù)據(jù)。
4 結(jié)束語
本次研究中,經(jīng)過不斷的改進、測試與完善,基本實現(xiàn)了學生選課評分的所有功能。在項目推進過程中,由于對需求功能未能臻至系統(tǒng)、明確,對數(shù)據(jù)庫進行了多次修改,這大大降低了研發(fā)速度,這一經(jīng)驗歷練對日后的研究開展也將不無裨益。研究中更進一步加深了對數(shù)據(jù)庫的高端認知與了解,并且還對Java與數(shù)據(jù)庫的鏈接運用也更趨于靈活與熟練。同時,在PC端系統(tǒng)的探討設(shè)計后,將繼續(xù)著眼于手機端App的綜合打造,使該系統(tǒng)的應(yīng)用性更加廣泛,且更為時尚便捷。希望該系統(tǒng)能夠?qū)χ行∫?guī)模的校園選課評分系統(tǒng)發(fā)揮應(yīng)有的技術(shù)支持作用。
參考文獻
[1] 谷慶華 李成貴. 基于Java語言實現(xiàn)數(shù)據(jù)庫的訪問[J]. 計算機技術(shù)與發(fā)展 2008 18(2):13-16.
[2] 王雷春. 基于Java的媒體框架(JMF)研究[J]. 福建電腦 2003(8):47.
[3] 陽國貴 昌月樓 高洪奎. 發(fā)展中的SQL語言[J]. 計算機工程與應(yīng)用 1995(4):1-3.
[4] 李巖. hibernate詳解[EB/OL].[2013-04-24]. http://liyanblog.cn/articles/2012/09/17/1347848802900.html.