




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘摘 要要 隨著高校教育改革的不斷深入,眾多院校采用選課制。作為現(xiàn)代綜 合教務(wù)管理系統(tǒng)的重要組成部分的網(wǎng)上選課系統(tǒng)已成為當(dāng)務(wù)之急。隨著 大學(xué)規(guī)模的不斷擴(kuò)大,專業(yè)、班級、學(xué)生的數(shù)量急劇增加,有關(guān)學(xué)生選 課的各種信息量也成倍增加,以前那種人工操作實(shí)現(xiàn)學(xué)生選課管理的方 法已經(jīng)不符合現(xiàn)階段的要求。因此迫切需要開發(fā)基于互聯(lián)網(wǎng)的學(xué)生選課 系統(tǒng)來提高教學(xué)管理工作的效率。 本文闡述了基于 java 的學(xué)生選課系統(tǒng)的工作原理和實(shí)現(xiàn)方法,分 析了學(xué)生選課工作的流程,并對系統(tǒng)功能目標(biāo)和使用的數(shù)據(jù)庫進(jìn)行了系 統(tǒng)的分析和設(shè)計,在這些基礎(chǔ)上實(shí)現(xiàn)了基于 java 的網(wǎng)上選課系統(tǒng)。利 用 java 制作的網(wǎng)上選課系統(tǒng),實(shí)現(xiàn)了
2、選課的動態(tài)管理,使得對信息的 管理更加及時、高效和安全,并且由于 java 適用于任何系統(tǒng),使得系 統(tǒng)的通用性更高。同時本文還對系統(tǒng)的開發(fā)原理、系統(tǒng)的功能特點(diǎn)和設(shè) 計方案進(jìn)行了介紹。 本系統(tǒng)的優(yōu)勢在于操作簡單、功能強(qiáng)大、適用性強(qiáng),面向?qū)ο蟮乃?想使界面更加人性化。運(yùn)行系統(tǒng)后證明思路是正確的,技術(shù)方案是可行 的。 關(guān)鍵詞:javabean,數(shù)據(jù)庫,窗口,表 abstract with the development of higher education reform, many universities took the course-selection system, building up
3、 the online course-selection system,. building up the online course-selection system, the essential component of web-based comprehensive teaching management system, is more and more emergence. as the expanding on scale the university, and rapid increasing of students, class and specialties, the cour
4、se-selection information growths doubled, the previous method for students choosing course by manual operation didnt meet the requirements at this stage. it is necessary to develop an internet-based mis to improve the efficiency of management. the principle and method of a java-based student selecti
5、on system is described in this paper, the course-selection is specified in this thesis. the object and function of the system is also provided. the detailed database design is given, too. following these, it sketches out the process of the development of the online course-selection system, which bas
6、ed on above specification and design, and employing the java-based technology. for the students convenient selecting course, ocss equipped with a dynamic management component. ocss provided high performance, information management as quickly as possible, and safety ,or by using java, system of unive
7、rsal higher. meanwhile, design principle, function, project and security framework of the system had been introduced. the advantages of this system consist in easy operations, strong functions, and strong applicability, object-oriented thinking made interface more human. after operating system, the
8、technical plan works was be proved. keykey wordswords: javabean, database, windows, tabl 目目 錄錄 1 前言 .1 1.1 選題背景及意義 .1 1.2 學(xué)生選課系統(tǒng)的發(fā)展和研究現(xiàn)狀.1 1.3 各章節(jié)內(nèi)容簡介 .2 2 java 語言以及開發(fā)工具 .3 2.1 java背景知識介紹 .3 2.1.1 java 的起源 .3 2.1.2 java 的特點(diǎn) .3 2.1.3 jsp 技術(shù)簡介 .5 2.1.4 java 的開發(fā)工具 .6 3 學(xué)生選課系統(tǒng)的需求分析 .11 3.1 學(xué)生選課系統(tǒng)功能分析 .1
9、1 3.2 學(xué)生選課系統(tǒng)總體設(shè)計:.12 3.3 學(xué)生選課系統(tǒng)數(shù)據(jù)庫需求分析 .13 3.3.1 用戶登陸: .13 3.3.2 學(xué)生登陸: .14 3.3.3 教師登陸: .14 3.3.4 管理員登陸 .16 3.3.5 數(shù)據(jù)庫的構(gòu)建 .17 4 學(xué)生選課系統(tǒng)的實(shí)現(xiàn) .21 4.1 學(xué)生選課系統(tǒng)程序及注釋 .21 4.2 系統(tǒng)運(yùn)行環(huán)境.25 4.3 學(xué)生選課系統(tǒng)運(yùn)行截圖 .25 4.3.1 登陸頁面(起始頁) .25 4.3.2 學(xué)生操作界面 .26 4.3.3 教師操作界面 .27 4.3.4 管理員操作界面 .30 5 總結(jié)與展望 .36 致 謝 .37 參考文獻(xiàn) .38 1 前言前言
10、 1.1 選題背景及意義選題背景及意義 隨著計算機(jī)技術(shù)和網(wǎng)絡(luò)通迅技術(shù)的飛速發(fā)展,現(xiàn)在國內(nèi)有很多大學(xué) 的選課方式由傳統(tǒng)的選擇方式轉(zhuǎn)變成了網(wǎng)上選課,學(xué)生可以在網(wǎng)上選擇 規(guī)定范圍內(nèi)的課程,并且可以在網(wǎng)上查詢成績。無需自己去老師那一門 一門查,了解自己已得多少學(xué)分還需多少學(xué)分,即節(jié)省了學(xué)生的時間,又 便于學(xué)校的管理。 因?yàn)閭鹘y(tǒng)的選課方式都是手工的,教務(wù)處通知各班進(jìn)行選課,各班 班長再通知每個同學(xué),經(jīng)過統(tǒng)計在上交教務(wù)處,這樣比較浪費(fèi)時間。再 者選課時不知道所選課人數(shù)是否已滿,要等向教務(wù)處上報統(tǒng)計后才會知 道,然后才能重新選擇。網(wǎng)上選課系統(tǒng)為同學(xué)節(jié)省了時間的同時,減少 了不必要的步驟,也方便管理員管理。
11、網(wǎng)上選課系統(tǒng)為同學(xué)提供了一個自由選擇的平臺,學(xué)生可以選修規(guī) 定范圍內(nèi)的課程,查看已修學(xué)分總數(shù),還可以修改個人信息。本系統(tǒng)也 為教師提供了很大的方便,教師可以根據(jù)統(tǒng)計的人數(shù)挑選一定數(shù)量的學(xué) 生,也可以直接在網(wǎng)上公布成績,讓學(xué)生直接在網(wǎng)上查詢成績。 本系統(tǒng)方便了學(xué)生的選課,同時便于管理,減少大量的人力資源。 并且促進(jìn)了學(xué)生的積極性,近而開發(fā)了網(wǎng)上選課系統(tǒng)。 1.2 學(xué)生選課系統(tǒng)的發(fā)展和研究現(xiàn)狀學(xué)生選課系統(tǒng)的發(fā)展和研究現(xiàn)狀 進(jìn)入 21 世紀(jì)以來,國內(nèi)各高校都在積極推動教育體制的改革,為 培養(yǎng)更為優(yōu)秀的新世紀(jì)復(fù)合型人才做出努力。然而在 80 年代以前,計 算機(jī)還沒有在國內(nèi)普及各高校學(xué)生選課都是手工完成
12、,不僅教師的工作 量大,而且學(xué)生查詢和檢索時也很麻煩。 80 年代后期,少數(shù)高校開始實(shí)行學(xué)年學(xué)分制,學(xué)生有了一定程度 的選課自由。學(xué)生在學(xué)校只需要修滿學(xué)分就可以畢業(yè),并且可以根據(jù)自 己的喜好選擇科目。并且隨著 pc 機(jī)的普及,有些高校已經(jīng)開始應(yīng)用電 腦進(jìn)行日常管理工作。這時,學(xué)生選課系統(tǒng)誕生了。但是,這些系統(tǒng)大 多是基于 dos 或者 windows 的單機(jī)版本,不僅界面不友好,而且功能薄 弱。各科系之間的數(shù)據(jù)交流只能借助軟盤為中介,費(fèi)時費(fèi)力。隨著高校 的規(guī)模擴(kuò)大,教育體制改革的深化,這類系統(tǒng)已經(jīng)不能適應(yīng)管理上的要 求。 90 年代后期以來,各高校紛紛建立自己的高速校園網(wǎng);在技術(shù)上, 客戶機(jī)/
13、服務(wù)器體系結(jié)構(gòu)已經(jīng)非常成熟,同時瀏覽器/服務(wù)器體系結(jié)構(gòu)正 在興起,這些都為創(chuàng)建大型的學(xué)生選課系統(tǒng)創(chuàng)造了條件,滿足了數(shù)據(jù)集 中存放,管理運(yùn)作分布執(zhí)行的需求。中心數(shù)據(jù)庫存放學(xué)生選課系統(tǒng)的相 關(guān)數(shù)據(jù),管理人員通過網(wǎng)絡(luò)訪問數(shù)據(jù)庫進(jìn)行業(yè)務(wù)管理;學(xué)生和任課教師 可以通過瀏覽器查詢相關(guān)數(shù)據(jù)。目前國內(nèi)各高校均有自己的選課系統(tǒng)。 1.3 各章節(jié)內(nèi)容簡介各章節(jié)內(nèi)容簡介 本論文在第一章介紹了學(xué)生選課系統(tǒng)的研究意義以及研究現(xiàn)狀, 突出本系統(tǒng)研究的必要性;第二章介紹 java 語言和它的開發(fā)工具,以 說明選擇 java 的好處;第三章進(jìn)行學(xué)生選課系統(tǒng)的需求分析,以使系 統(tǒng)的模塊更加清楚;第四章介紹本系統(tǒng)各模塊的功能以及
14、結(jié)構(gòu)它們的結(jié) 構(gòu)圖,以進(jìn)行下一步的程序編寫;第五章學(xué)生選課系統(tǒng)主要程序介紹, 以使每一步程序的功能清晰的躍然紙上;第六章學(xué)生選課系統(tǒng)的前景展 望,使系統(tǒng)更加的完美。 2 java 語言以及開發(fā)工具語言以及開發(fā)工具 有了系統(tǒng)制作的必要性接下來是選擇開發(fā)語言不和工具,由于選擇 的 java 制作,所以本章節(jié)將對 java 進(jìn)行介紹以說明選擇它進(jìn)行學(xué)生選 課系統(tǒng)開發(fā)的理由,并介紹幾種 java 的開發(fā)工具。 2.1 java 背景知識介紹背景知識介紹 2.1.1 java 的起源的起源 1991 年四月份,sun 的綠色計劃(green project)開始著手于發(fā)展 消費(fèi)性電子產(chǎn)品(consume
15、r electronics),所使用的語言是 c、c+、 及 oak (為 java 語 言的前身),后因語言本身和市場的問題,使得消 費(fèi)性電子產(chǎn)品的發(fā)展無法達(dá)到當(dāng)初 預(yù)期的目標(biāo),再加上網(wǎng)絡(luò)的興起, 綠色計劃也因此而改變發(fā)展的方向,這已是 1994 年了。 而這一次的 改變,就是 java 誕生的契機(jī)。而 java 這個名字不是由幾個單字的首 字所組成, 而是從許多程序設(shè)計師鐘愛的熱騰騰、香濃咖啡中產(chǎn)生靈 感的。 2.1.2 java 的特點(diǎn)的特點(diǎn) sun 是要 java 成為一個簡單(simple)、面向?qū)ο蟮?object oriented)、 分布式的(distributed)、解釋的(
16、interpreted)、健壯的 (robust)、安全的(secure)、 結(jié)構(gòu)中立的(architecture neutral)、 可移植的(portable)、高效能的(high performance)、多線程的 (multithreaded)、動態(tài)的(dynamic)的程序語言。 面向?qū)ο蟮乃枷胧?java 語言的重要指導(dǎo)思想,最主要的重點(diǎn)是即 將要用 java 編寫的程序,其次才是所需要的工具;最近的即插即用 (plug and play)亦是面向?qū)ο笤O(shè)計的重點(diǎn)。 java 與 c/c+最大不同點(diǎn)是 java 有一個指針模型(pointer model)來 排除內(nèi)存被覆蓋(over
17、writing memory)和毀損數(shù)據(jù)(corrupting data) 的可能性??偟膩碚f java 有以下特點(diǎn): 結(jié)構(gòu)中立的(architecture neutral):一般而言,網(wǎng)絡(luò)是由很多不 同機(jī)型的機(jī)器所 組合而成的,cpu 和作業(yè)系統(tǒng)體系結(jié)構(gòu)均有所不同; 因此,如何使一個應(yīng)用程序可以 在每一種機(jī)器上執(zhí)行,是一個難題。 所幸,java 的編譯器產(chǎn)生一種結(jié)構(gòu)中立的目標(biāo) 文件格式(object file format);這使得編譯碼得以在很多種處理器中執(zhí)行。 可移植的(portable):原始資料型式的大小是被指定的,例如 float一直是表示一個 32 位元 ieee 754 浮點(diǎn)運(yùn)
18、算數(shù)字,因絕大多數(shù) 的 cpu 都具有此共同特征。程序庫屬于系統(tǒng)的一部份,它定義了一些可 移植的程序接口,java 本身具備有很好的可移植性。 解釋的(interpreted):java 解釋器能直接地在任何機(jī)器上執(zhí)行 java 位元碼(bytecodes),因此在進(jìn)行程序連結(jié)時,時間的節(jié)省,這對 于縮短程序的開發(fā)過程,有極大的幫助。 高效能的(high performance):java 位元碼迅速地能被轉(zhuǎn)換成機(jī) 器碼(machine code), 從位元碼轉(zhuǎn)換到機(jī)器碼的效能幾乎與 c 與 c+ 沒有分別。 多線程的(multi threaded):java 語言具有多線程的功能,這對 于交
19、互回應(yīng)能力及 即時執(zhí)行行為是有幫助的。 動態(tài)的(dynamic):java 比 c 或 c+語言更具有動態(tài)性,更能適應(yīng) 時刻在變的環(huán)境,java 不會因程序庫的更新,而必須重新編譯程序。 正如上文所述,java 是一種成熟的語言又有其它語言所不具有的特 點(diǎn),所以本系統(tǒng)采用 java 編程實(shí)現(xiàn)。 2.1.3 jsp 技術(shù)簡介技術(shù)簡介 現(xiàn)在雖然有多種技術(shù)可用于生成為動態(tài)內(nèi)容提供服務(wù)的 web 應(yīng)用 程序,但真正受 到開發(fā)界青睞的是 javaserver pages (jsp)。這并非沒 有充分的理由。jsp 不僅 擁有跨平臺和跨 web 服務(wù)器支持,并且將 服務(wù)器端 java 技術(shù)的功能與靜態(tài) h
20、tml 頁的“所見即所得”功能有效 地結(jié)合了起來。作為 java 平臺的一部分,jsp 的腳本語言采用 java,擁 有 java 編程語言“一次編寫,各處運(yùn)行”的特點(diǎn),完全繼承了 java 的所 有優(yōu)點(diǎn)。而且通過開發(fā)定制化標(biāo)示庫,jsp 技術(shù)是可以擴(kuò)展的,使 web 頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識一樣的執(zhí)行特定功能的組 件來工作。 java servlet 簡介 java servlet 是基于服務(wù)器端的編程,可以說 servlet 是基于服務(wù)器 上的 applet 編程,jsp 技術(shù)主要就是用在網(wǎng)絡(luò)編程上所以也是基于 servlet 的。java servlets 提供了一項(xiàng)協(xié)議
21、和平臺無關(guān)的方法來創(chuàng)建基于 web 的應(yīng)用,servlets 在 web 服務(wù)器上運(yùn)行,而且不需要圖形用戶接 口(gui)這和 applet 不同,在 web 服務(wù)器上運(yùn)行的 servlet 引擎通過請 求和響應(yīng)來交互信息客戶端程序,可以用任意語言編寫訪問 web 服務(wù)器, 同時生成請求,請求然后由 web 服務(wù)器上的 servlet 引擎處理處理完畢 后,servlet 引擎處理把響應(yīng)返回給 servlet,然后由 servlets 把響應(yīng)結(jié)果 傳給客戶端。java servlets 是運(yùn)行在請求/面向請求服務(wù)器上的模塊,比 如一個 java-enabled web 服務(wù)器, 和類似這樣的延
22、伸場合。例如,一個 java servlet 可以從一個 html 訂單表中獲取數(shù)據(jù),然后用一些商業(yè)上 的算法來耕新公司相應(yīng)的訂單數(shù)據(jù)庫,也就是說 java servlet 能夠象 cgi 腳本一樣擴(kuò)展 web 服務(wù)器功能。但是 servlet 占用很少密集資源, 有很多用 cgi 腳本編制的一些站點(diǎn)由于訪問量劇增,性能迅速下降這是 cgi 腳本一個缺點(diǎn)有關(guān)。同時由于 java servlet 是用 java 編寫的,因此 是跨平臺的,java servlet 可以相當(dāng)有效地替代 cgi 腳本, 它可以方 便地產(chǎn)生容易編寫,而且運(yùn)行快的動態(tài)文本可以很方便的調(diào)試尋找出程 序問題. servlet
23、 程序是用 java servlet api 開發(fā)的, astandard java extension. 但不是 java 核心框架的一部分。 2.1.4 java 的開發(fā)工具的開發(fā)工具 現(xiàn)在常用的 java 項(xiàng)目開發(fā)環(huán)境有:jbuilder、visualage for java、forte for java, visual cafe、eclipse、netbeans ide、jcreator +j2sdk、jdk+記事本、editplus+ j2sdk 等等。一般開發(fā) j2ee 項(xiàng)目時 都需要安裝各公司的應(yīng)用服務(wù)器(中間件)和相應(yīng)的開發(fā)工具,在使用 這些開發(fā)工具之前,我們最好能熟知這些軟件
24、的優(yōu)點(diǎn)和缺點(diǎn),以便根據(jù) 實(shí)際情況選擇應(yīng)用。編程工具只是工具,為了方便人們工作而開發(fā)的, 各有特點(diǎn),下面將介紹幾種常用的工具: jbuilder:jbuilder 支持最新的 java 技術(shù),包括 applets、jsp/servlets、javabean 以及 ejb(enterprise javabeans)的應(yīng)用。 用戶可以自動地生成基于后端數(shù)據(jù)庫表的 ejb java 類,jbuilder 同 時還簡化了 ejb 的自動部署功能.此外它還支持 corba,相應(yīng)的向?qū)?程序有助于用戶全面地管理 idl(分布應(yīng)用程序所必需的接口定義語言 interface definition langua
25、ge)和控制遠(yuǎn)程對象。 jbuilder 支持各種應(yīng)用服務(wù)器。jbuilder 與 inprise application server 緊密集成,同時支持 weblogic server,支持 ejb 1.1 和 ejb 2.0,可以 快速開發(fā) j2ee 的電子商務(wù)應(yīng)用。 jbuilder 能用 servlet 和 jsp 開發(fā)和調(diào)試動態(tài) web 應(yīng)用。 利用 jbuilder 可創(chuàng)建(沒有專有代碼和標(biāo)記)純 java2 應(yīng)用。由于 jbuilder 是用純 java 語言編寫的,其代碼不含任何專屬代碼和標(biāo)記, 它支持最新的 java 標(biāo)準(zhǔn)。 jbuilder 擁有專業(yè)化的圖形調(diào)試介面,支持
26、遠(yuǎn)程調(diào)試和多線程調(diào)試, 調(diào)試器支持各種 jdk 版本,包括 j2me/j2se/j2ee。 jbuilder 環(huán)境開發(fā)程序方便,它是純的 java 開發(fā)環(huán)境,適合企業(yè) 的 j2ee 開發(fā);缺點(diǎn)是往往一開始人們難于把握整個程序各部分之間的 關(guān)系,對機(jī)器的硬件要求較高,比較吃內(nèi)存,這時運(yùn)行速度顯得較慢。 eclipse:eclipse 是一種可擴(kuò)展的開放源代碼 ide。2001 年 11 月, ibm 公司捐出價值 4,000 萬美元的源代碼組建了 eclipse 聯(lián)盟,并由該 聯(lián)盟負(fù)責(zé)這種工具的后續(xù)開發(fā)。集成開發(fā)環(huán)境(ide)經(jīng)常將其應(yīng)用范圍 限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開
27、發(fā)環(huán)境(ide)克 服目前的局限性,業(yè)界廠商合作創(chuàng)建了 eclipse 平臺。eclipse 允許在同 一 ide 中集成來自不同供應(yīng)商的工具,并實(shí)現(xiàn)了工具之間的互操作性, 從而顯著改變了項(xiàng)目工作流程,使開發(fā)者可以專注在實(shí)際的嵌入式目標(biāo) 上。 eclipse 框架的這種靈活性來源于其擴(kuò)展點(diǎn)。它們是在 xml 中定義 的已知接口,并充當(dāng)插件的耦合點(diǎn)。擴(kuò)展點(diǎn)的范圍包括從用在常規(guī)表述 過濾器中的簡單字符串,到一個 java 類的描述。任何 eclipse 插件定義 的擴(kuò)展點(diǎn)都能夠被其它插件使用,反之,任何 eclipse 插件也可以遵從 其它插件定義的擴(kuò)展點(diǎn)。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道它
28、 們通過擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。 利用 eclipse,可以將高級設(shè)計(也許是采用 uml)與低級開發(fā)工具 (如應(yīng)用調(diào)試器等)結(jié)合在一起。如果這些互相補(bǔ)充的獨(dú)立工具采用 eclipse 擴(kuò)展點(diǎn)彼此連接,那么當(dāng)我們用調(diào)試器逐一檢查應(yīng)用時,uml 對話框可以突出顯示我們正在關(guān)注的器件。事實(shí)上,由于 eclipse 并不 了解開發(fā)語言,所以無論 java 語言調(diào)試器、c/c+調(diào)試器還是匯編調(diào)試 器都是有效的,并可以在相同的框架內(nèi)同時瞄準(zhǔn)不同的進(jìn)程或節(jié)點(diǎn)。 eclipse 的最大特點(diǎn)是它能接受由 java 開發(fā)者自己編寫的開放源代 碼插件,這類似于微軟公司的 visual studio 和 su
29、n 微系統(tǒng)公司的 netbeans 平臺。eclipse 為工具開發(fā)商提供了更好的靈活性,使他們能 更好地控制自己的軟件技術(shù)。eclipse 聯(lián)盟已經(jīng)宣布將在 2004 年中期發(fā) 布其 3.0 版軟件。這是一款非常受歡迎的 java 開發(fā)工具,這國內(nèi)的用戶 越來越多,實(shí)際上實(shí)用它 java 開發(fā)人員是最多的。缺點(diǎn)就是較復(fù)雜,對 初學(xué)者來說,理解起來比較困難。 jcreator:jcreator 是一個 java 程序開發(fā)工具,也是一個 java 集 成開發(fā)環(huán)境(ide) 。無論你是要開發(fā) java 應(yīng)用程序或者網(wǎng)頁上的 applet 元件都難不倒它。在功能上與 sun 公司所公布的 jdk 等
30、文字模 式開發(fā)工具相較之下來得容易,還允許使用者自訂義操作窗口界面及無 限 undo/redo 等功能。 jcreator 為用戶提供了相當(dāng)強(qiáng)大的功能,例如項(xiàng)目管理功能,項(xiàng)目 模板功能,可個性化設(shè)置語法高亮屬性、行數(shù)、類瀏覽器、標(biāo)簽文檔、 多功能編繹器,向?qū)Чδ芤约巴耆勺远x的用戶界面。通過 jcreator,我們不用激活主文檔而直接編繹或運(yùn)行我們的 java 程序。 jcreator 能自動找到包含主函數(shù)的文件或包含 applet 的 html 文件, 然后它會運(yùn)行適當(dāng)?shù)墓ぞ?。?jcreator 中,我們可以通過一個批處理同 時編繹多個項(xiàng)目。jcreator 的設(shè)計接近 windows
31、界面風(fēng)格,用戶對它的 界面比較熟悉。其最大特點(diǎn)是與我們機(jī)器中所裝的 jdk 完美結(jié)合,是 其它任何一款 ide 所不能比擬的。它是一種初學(xué)者很容易上手的 java 開發(fā)工具,缺點(diǎn)是只能進(jìn)行簡單的程序開發(fā),不能進(jìn)行企業(yè) j2ee 的開 發(fā)應(yīng)用。 intellij:intellij idea 是一款綜合的 java 編程環(huán)境,被許多開發(fā)人 員和行業(yè)專家譽(yù)為市場上最好的 ide。它提供了一系列最實(shí)用的的工具 組合:智能編碼輔助和自動控制,支持 j2ee,ant,junit 和 cvs 集成, 非平行的編碼檢查和創(chuàng)新的 gui 設(shè)計器。idea 把 java 開發(fā)人員從一 些耗時的常規(guī)工作中解放出來,
32、顯著地提高了開發(fā)效率。具有運(yùn)行更快 速,生成更好的代碼;持續(xù)的重新設(shè)計和日常編碼變得更加簡易,與其 它工具的完美集成;很高的性價比等特點(diǎn)。在 4.0 版本中支持 generics,bea weblogic 集成,改良的 cvs 集成以及 gui 設(shè)計器。 intellij idea 能盡可能地促進(jìn)程序員的編程速度。它包括了很多輔 助的功能,并且與 java 結(jié)合得相當(dāng)好。不同的工具窗口圍繞在主編程 窗口周圍,當(dāng)鼠標(biāo)點(diǎn)到時即可打開,無用時也可輕松關(guān)閉,使用戶得到 了最大化的有效屏幕范圍。以技術(shù)為導(dǎo)向的 idea 集成了調(diào)試器,支持 本地和遠(yuǎn)程的調(diào)試,即使我們需要修改一些設(shè)置上的東西使我們的工作
33、順利進(jìn)展。另外,它還提供了通常的監(jiān)視,分步調(diào)試以及手動設(shè)置斷點(diǎn) 功能,在這種斷點(diǎn)模式下,我們可以自動地在斷點(diǎn)之外設(shè)置現(xiàn)場訪問, 甚至可以瀏覽不同的變量的值。ide 支持多重的 jvm 設(shè)置,幾個編譯 程序和 ant 建造系統(tǒng),并且,它使得設(shè)置多重的自定義的類途徑變得簡 單。 intellij idea 是一個相對較新的 java ide。它是 java 開發(fā)環(huán)境中最 為有用的一個。高度優(yōu)化的 intellej idea 使普通任務(wù)變得相當(dāng)容易,idea 支持很多整合功能,更重要的使它們設(shè)計的好容易使用。idea 支持 xml 中的代碼實(shí)現(xiàn),idea 同時還會校正 xml,idea 支持 jsp
34、 的結(jié)構(gòu)。 作用于普通 java 代碼的眾多功能同樣適用于 jsp(比如整合功能) ,同 時支持 jsp 調(diào)試;支持 ejb,盡管它不包括對個別應(yīng)用服務(wù)器的特殊支 持。idea 支持 ant 建立工具,不僅是運(yùn)行目標(biāo)它還支持編譯與運(yùn)行程序 前后運(yùn)行目標(biāo),另外也支持綁定鍵盤快捷鍵。在編輯一個 ant 建立 xml 文件時,idea 還對組成 ant 工程的 xml 部分提供支持。intellij idea 被稱為是最好的 java ide 開發(fā)平臺,這套軟件就是以其聰明的 即時分析和方便的 refactoring 功能深獲大家所喜愛。缺點(diǎn)是較復(fù)雜, 對初學(xué)者來說,理解起來比較困難。 當(dāng)然,jav
35、a 遠(yuǎn)不止這幾個工具,但是其它的不是老化以不再使用, 就是應(yīng)用上不方便所以在此只介紹這幾種工具。 本章小結(jié)本章小結(jié) 本章節(jié)通過對 java 的介紹以及它的編寫工具的簡介,論述了選擇 java 的理由,闡明了選擇 java 的好處為下個章節(jié)對系統(tǒng)程序結(jié)構(gòu)做了 鋪墊。 3 學(xué)生選課系統(tǒng)學(xué)生選課系統(tǒng)的需求分析的需求分析 在選擇了開發(fā)工具后將對系統(tǒng)進(jìn)行需求分析,以確保程序的結(jié)構(gòu)清 晰明朗,所以本章節(jié)將對學(xué)生選課系統(tǒng)的功能和結(jié)構(gòu)進(jìn)行分析,最后列 出主要類表。 3.1 學(xué)生選課系統(tǒng)功能分析學(xué)生選課系統(tǒng)功能分析 本在線選課系統(tǒng)功能比較多,除了最基本的選課功能外,教師也具 有開課功能,同時后臺的管理員還能對教
36、師和個人信息進(jìn)行維護(hù)。 選課系統(tǒng)的核心是選課功能。學(xué)生在選課以前,必須通過系統(tǒng)的身 份驗(yàn)證,讓后就可以選定自己的選修課程。當(dāng)然,學(xué)生也能刪除選錯或 者誤選的課程。另外,選課系統(tǒng)還提供了課程查看的功能。 選課系統(tǒng)還提供了一個后臺管理功能。管理員通過身份驗(yàn)證以后, 可以查看和修改學(xué)生的個人信息,也可以添加或刪除學(xué)生。另外,管理 員也可以查看和修改教師的個人信息,以及添加或刪除教師。 3.2 學(xué)生選課系統(tǒng)總體設(shè)計學(xué)生選課系統(tǒng)總體設(shè)計: 圖 3-1 學(xué)生選課系統(tǒng)總體結(jié)構(gòu)圖 本系統(tǒng)采用 servlet+jsp+javabean+sql2000 設(shè)計方式,其中 servlet 擔(dān)當(dāng)主要邏輯控制,通過接受
37、jsp 傳來的用戶請求,調(diào)用以及 初始化 javabean,在通過 jsp 傳到客戶端,本系統(tǒng)中 sqlbean 擔(dān)當(dāng)主 要的與數(shù)據(jù)庫的連接與通信,javabean 在本系統(tǒng)中主要擔(dān)當(dāng)配合 jsp 以及 servlet 來完成用戶的請求,而 jsp 主要擔(dān)當(dāng)接受與響應(yīng)客戶端。 3.3 學(xué)生選課系統(tǒng)數(shù)據(jù)庫需求分析學(xué)生選課系統(tǒng)數(shù)據(jù)庫需求分析 通過對學(xué)生選課系統(tǒng)工作內(nèi)容和相關(guān)數(shù)據(jù)流程分析,根據(jù)學(xué)生選課 系統(tǒng)的需要,以及系統(tǒng)功能設(shè)計的要求以及功能模塊的劃分,就可以設(shè) 計出滿足用戶需求的各種實(shí)體。 該系統(tǒng)由登陸模塊,學(xué)生模塊,教師模塊,管理員模塊,四部分組 成。其功能如下: 3.3.1 用戶登陸:用戶登
38、陸: 圖 3-2 學(xué)生選課系統(tǒng)登陸流程圖 登陸模塊包括歡迎信息、日歷、用戶類型選擇、及用戶名密碼輸入 框,當(dāng)用戶為輸入用戶名或密碼登陸或出錯時系統(tǒng)會報錯! 3.3.2 學(xué)生登陸:學(xué)生登陸: 圖 3-3 學(xué)生選課系統(tǒng)學(xué)生登陸流程圖 學(xué)生登陸以后,可以選報課程。系統(tǒng)會根據(jù)學(xué)生所在系及課程的預(yù) 修課判斷(課程有系別,預(yù)修課等屬性) 。首先,系統(tǒng)會列出所有滿足 該生系別以及該生還未選報的課程,或者其預(yù)修課為“public”的課程。 如果該生選報了未滿足預(yù)修課要求的課程,系統(tǒng)會有相關(guān)的錯誤提示。 其次,學(xué)生可以查看自己的成績,包括該生已選課程的名稱,學(xué)分以及 該生的總分。如果教師還未給出成績,則系統(tǒng)會有
39、相關(guān)提示。再次,該 生可以更改自己的個人信息,包括密碼,電話號碼等,其中要求密碼不 能為空。 3.3.3 教師登陸教師登陸: 教師在本系統(tǒng)中擁有是否接受學(xué)生所選課程,以及給學(xué)生打分的權(quán) 力,只有先接受學(xué)生,才能給該生打分。 首先, 系統(tǒng)要求教師選擇學(xué) 生,然后系統(tǒng)會列出該教師所代課程的班級, 其次系統(tǒng)會列出選報了 該課程的所有學(xué)生(其中包括了該生的一些詳細(xì)情況) ,在教師選擇了 接受以后,就可以給該生的這門課打分,在這之后系統(tǒng)會分析教師的輸 入是否正確(即是否為阿拉伯?dāng)?shù)字) ,否則會有提示。 其次,在教師給 出了學(xué)生成績之后,系統(tǒng)會根據(jù)成績來判斷該生是否通過了考試,如果 該成績大于或等于 60
40、,則在該生的學(xué)分上加上該課程的學(xué)分。具體流 程如圖 3-4 所示: 圖 3-4 學(xué)生選課系統(tǒng)教師登陸流程圖 3.3.4 管理員登陸管理員登陸 圖 3-5 學(xué)生選課系統(tǒng)管理員登陸流程圖 管理員在本系統(tǒng)中有著最高的權(quán)力,包括新增,更改,刪除學(xué)生, 教師,課程以及班級。 其中“班級” 是本系統(tǒng)中關(guān)鍵的環(huán)節(jié),同樣也 是數(shù)據(jù)庫中的關(guān)鍵。 它直接與課程,教師,上課時間,地點(diǎn)聯(lián)系,學(xué) 生所選的課程也要具體到某一個班級,所以首先班級號不能為空,其次 要保證同一教師在同一時間不能上兩門課程。 在新增“課程”時,要 求決定課程所在系以及其預(yù)修課(系統(tǒng)會動態(tài)列出現(xiàn)有的課程) ,其中 課程所在系必須與預(yù)修課所在系一致
41、(或者選擇無預(yù)修課,再或者預(yù)修 課屬性為(public) ,否則系統(tǒng)會有錯誤提示。除此之外,在更改或新 增時,名稱,id 或者密碼不可為空,否則系統(tǒng)會有相關(guān)提示。具體流 程如圖 3-5 所示。 3.3.53.3.5 數(shù)據(jù)庫的構(gòu)建數(shù)據(jù)庫的構(gòu)建 (1)數(shù)據(jù)庫模塊分析 圖 3-6 學(xué)生選課系統(tǒng)數(shù)據(jù)庫關(guān)系圖 再加上它們之間的關(guān)系圖 3-6 所示,由此得到數(shù)據(jù)庫所支持的數(shù)據(jù) 模型,具體如下: 對于學(xué)生選課系統(tǒng)數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 學(xué)生信息:學(xué)號、學(xué)生姓名、學(xué)生的系號、學(xué)生性別、學(xué)生生日、 學(xué)生密碼。 對于教師信息維護(hù)數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 教師個人信息:教師編號、教師名
42、稱、教師所在系號、教師職稱、 教師密碼。 對于后臺管理數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 管理員信息:管理員名稱、管理員密碼。 輔助數(shù)據(jù)庫: 課程信息:課程號、課程名稱、課程類別、課程學(xué)分、課程容量。 選課信息:課程號、學(xué)生學(xué)號、成績、課程類別、編號。 班級信息表:班級號、班級名 (2) 數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計 根據(jù)數(shù)據(jù)庫的需求分析,建立 5 個數(shù)據(jù)表分別結(jié)構(gòu)如下: 班級信息表,下面給出它的類表如表 3-1 所示。 表 3-1 班級信息表 關(guān)鍵詞類長度 班級名 char10 班級號 char10 學(xué)生信息表,下面給出它的類表如表 3-2 所示。 表 3-2 學(xué)生信息表 關(guān)鍵詞類長度 學(xué)號 cha
43、r9 學(xué)生姓名 char8 學(xué)生班級 號 char20 學(xué)生性別 char2 學(xué)生生日 char8 學(xué)生密碼 char20 教師信息表,下面給出結(jié)構(gòu)如表 3-3 所示。 表 3-3 教師信息表 關(guān)鍵詞類長度 教師編號 char9 教師姓名 char8 教師職稱 char6 教師密碼 char20 課程信息表,下面給出它的類表如表 3-4 所示。 表 3-4 課程信息表 關(guān)鍵詞類長度 教師編號 char9 學(xué)生學(xué)號 char10 課程名稱 char20 課程類別 char8 課程容量 int4 選課信息表,下面給出它的類表如表 3-5 所示。 表 3-5 選課信息表 關(guān)鍵詞類長度 課程名稱 ch
44、ar10 學(xué)生學(xué)號 char9 成績 char9 課程類別 char8 課程標(biāo)識 int4 本章小結(jié)本章小結(jié) 在本章節(jié),主要論述了學(xué)生選課系統(tǒng)主要模塊的構(gòu)建,并通過圖示 的方法解決了各模塊構(gòu)建時結(jié)構(gòu)不清晰的難題。然后建立了各模塊的信 息類表,為編程實(shí)現(xiàn)做了最后的準(zhǔn)備。 4 學(xué)生選課系統(tǒng)的實(shí)現(xiàn)學(xué)生選課系統(tǒng)的實(shí)現(xiàn) 在系統(tǒng)的功能和結(jié)構(gòu)分析完后,程序可以進(jìn)行編寫,本章節(jié)將對程 序進(jìn)行介紹,然后介紹了系統(tǒng)的運(yùn)行環(huán)境,最后展示了程序完成后的界 面截圖。 4.1 學(xué)生選課系統(tǒng)程序及注釋學(xué)生選課系統(tǒng)程序及注釋 由于本系統(tǒng)程序繁多,故只將程序的主要部分做了介紹,以下是數(shù) 據(jù)庫操作文件 sqlbean.java
45、內(nèi)容及注釋: package manage;/所在包名 import java.io.*;/用到輸入輸出流方法 import java.sql.*;/用到數(shù)據(jù)庫支持方法 public class sqlbean/主類名 public connection conn=null; public resultset rs=null; private string databasedriver=sun.jdbc.odbc.jdbcodbcdriver;/設(shè)置 數(shù)據(jù)庫驅(qū)動器 /datasource 數(shù)據(jù)源名稱dsn private string databaseconnstr=jdbc:odbc:cla
46、ssdb,limq,123;/配置 數(shù)據(jù)源為classdb /*setxxx用于設(shè)置屬性值;getxxx用于得到屬性值*/數(shù)據(jù)庫用戶 名limq public void setdatabasedriver(string driver)/密碼:123 this.databasedriver=driver; public string getdatabasedriver() return (this.databasedriver); public void setdatabaseconnstr(string connstr) this.databaseconnstr=connstr; public
47、 string getdatabaseconnstr() return (this.databaseconnstr); public sqlbean()/構(gòu)造方法 try class.forname(databasedriver); catch(java.lang.classnotfoundexception e) system.err.println(加載驅(qū)動器有錯誤:+e.getmessage( ); system.out.print(執(zhí)行插入有錯誤:+e.getmessage();/輸出到客戶端 public int executeinsert(string sql)/執(zhí)行插入操作的方法
48、體,其中sql 字符串傳遞sql語句。 int num=0; try conn = drivermanager.getconnection(jdbc:odbc:classdb,limq,123); statement stmt=conn.createstatement( ); num=stmt.executeupdate(sql); catch(sqlexception ex) system.err.println(執(zhí)行插入有錯誤:+ex.getmessage() ); system.out.print(執(zhí)行插入有錯誤:+ex.getmessage();/輸出到客戶 端 closedataba
49、se(); return num; public resultset executequery(string sql)/執(zhí)行查詢的方法體 rs=null; try conn = drivermanager.getconnection(jdbc:odbc:classdb,limq,123); statement stmt=conn.createstatement( ); rs=stmt.executequery(sql); catch(sqlexception ex) system.err.println(執(zhí)行查詢有錯誤:+ex.getmessage() ); system.out.print(
50、執(zhí)行查詢有錯誤:+ex.getmessage(); /輸出到客戶 端 return rs; public int executedelete(string sql)/執(zhí)行刪除的方法體 int num=0; try conn = drivermanager.getconnection(jdbc:odbc:classdb,limq,123); statement stmt=conn.createstatement( ); num=stmt.executeupdate(sql); catch(sqlexception ex) system.err.println(執(zhí)行刪除有錯誤:+ex.getmes
51、sage() ); system.out.print(執(zhí)行刪除有錯誤:+ex.getmessage(); /輸出到客戶 端 closedatabase(); return num; public void closedatabase()/關(guān)閉數(shù)據(jù)庫的方法體 try conn.close(); catch(exception end) system.err.println(執(zhí)行關(guān)閉connection對象有錯誤: +end.getmessage( ) ); system.out.print(執(zhí)行執(zhí)行關(guān)閉connection對象有錯誤:有錯誤: +end.getmessage(); /輸出到客戶端
52、 4.2 系統(tǒng)運(yùn)行環(huán)境系統(tǒng)運(yùn)行環(huán)境 另外,由于本系統(tǒng)開發(fā)時用到 jbuilder2005、servlet、javabean 編程及 sql2000 數(shù)據(jù)庫,故其運(yùn)行需要一定的系統(tǒng)環(huán)境。如果服務(wù)器上 裝有 jbuilder 系列軟件并已經(jīng)配置環(huán)境變量、sql2000 服務(wù)器,則只 要將本系統(tǒng)解壓到 dirtomcat4.1.30webdavroot下,在運(yùn)行本系統(tǒng) 前打開 tomcat4.1.30 并開啟 sql 服務(wù)器便可。開啟 tomcat4.1.30 的文 件是 dirtomcat4.1.30 binstartup.dat。如果服務(wù)器上沒有 jbuilder 系列軟件則需要下載并安裝 jd
53、k、servlet、tomcat 軟件包。 安裝完后配置系統(tǒng)環(huán)境變量,具體配置過程請參見 網(wǎng)站。 4.3 學(xué)生選課系統(tǒng)運(yùn)行截圖學(xué)生選課系統(tǒng)運(yùn)行截圖 4.3.1 登陸頁面(起始頁)登陸頁面(起始頁) 圖 4-1 學(xué)生選課系統(tǒng)登陸界面截圖 首先選擇用戶類型,輸入用戶名和密碼就可以登陸到相應(yīng)類型用戶 的主界面。 4.3.2 學(xué)生操作界面學(xué)生操作界面 (1)主界面 圖 4-2 學(xué)生操作主界面截圖 學(xué)生登陸后可以看到自己的基本信息,可提供給學(xué)生的服務(wù)有:選 修課程、查看學(xué)分、更改信息、注銷登陸。 (2)選修課程界面 圖 4-3 選修課程界面截圖 點(diǎn)擊注冊后如果課程需要有預(yù)修課程而學(xué)生沒有選修過時會顯示出 錯信息,如果沒有預(yù)修課程或預(yù)修課程已選修過的話則選課成功,等待 任課教師確認(rèn)。 (3)查看學(xué)分界面 圖 4-4 查看學(xué)分界面截圖 (4)更新信息界面 圖 4-5 更新信息界面截圖 密碼是必填信息,而電話和 e-mail 可以選填。不填則系統(tǒng)自動賦 值為 null。 4.3.3 教師操作界面教師操作界面 (1)主界面 圖 4-6 教師操作主界面截圖 教師
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)語文培優(yōu)補(bǔ)差差異化教學(xué)計劃
- 皮膚科護(hù)理國際交流計劃
- 學(xué)校幼兒園樹木養(yǎng)護(hù)措施
- 小學(xué)數(shù)學(xué)團(tuán)隊協(xié)作提升計劃
- 家具采購?fù)对V處理售后服務(wù)承諾及措施
- 雨水管道溝槽土方開挖防護(hù)措施
- 北師大版三年級數(shù)學(xué)暑期復(fù)習(xí)計劃
- 部編版九年級上冊語文教學(xué)評價體系分析計劃
- 醫(yī)療建筑裝飾勞動力和材料投入計劃及其保障措施
- 2025年云南省師大實(shí)驗(yàn)中學(xué)物理高二第二學(xué)期期末檢測模擬試題含解析
- DL∕T 2528-2022 電力儲能基本術(shù)語
- 上海2024年上海市教育評估院招聘筆試上岸歷年典型考題與考點(diǎn)剖析附帶答案詳解
- 渣土清運(yùn)綜合項(xiàng)目施工組織設(shè)計
- 蘇教版八年級生物下冊期末試卷及答案【蘇教版】
- 書面檢查材料(通用6篇)
- 傳感器與機(jī)器視覺 課件 第六章 機(jī)器視覺
- 2019疏浚工程預(yù)算定額
- RFC2326(中文版+英文版+可鏈接目錄)-RTSP
- 2023八年級歷史下冊第六單元科技文化與社會生活第18課科技文化成就說課稿新人教版
- 2023新能源光伏電站檢修規(guī)程
- 特種作業(yè)人員體檢表
評論
0/150
提交評論