選課系統(tǒng)-畢業(yè)論文_第1頁
選課系統(tǒng)-畢業(yè)論文_第2頁
選課系統(tǒng)-畢業(yè)論文_第3頁
選課系統(tǒng)-畢業(yè)論文_第4頁
選課系統(tǒng)-畢業(yè)論文_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、選課管理系統(tǒng)-裝 訂 線-Xxxxxxxx畢業(yè)設(shè)計(論文)題目:選課管理系統(tǒng)系 (院)信息技術(shù)系專業(yè)班級學(xué) 號學(xué)生姓名指導(dǎo)教師職 稱講師2012 年 05 月 10 日摘要隨著校園網(wǎng)絡(luò)的日趨普及以及計算機技術(shù)的飛速發(fā)展,計算機越來越多的應(yīng)用在教學(xué)管理中。我校近幾年來快速發(fā)展,辦學(xué)規(guī)模多元化,在校學(xué)生和教職員工人數(shù)均在增加。而網(wǎng)上選課系統(tǒng)則可以讓學(xué)生在任何時間、任意地點進行選課,這在一定程度上提高了教務(wù)教學(xué)管理的效率和質(zhì)量。為了實現(xiàn)對學(xué)生選課進行科學(xué)管理,學(xué)生需根據(jù)自身特點自己選擇課程,所以,利用信息與網(wǎng)絡(luò)技術(shù),建立一個安全高效的選課系統(tǒng)。這是我校加強信息化管理并提高管理水平的必然選擇也是當(dāng)務(wù)之

2、急。本系統(tǒng)正是基于改變傳統(tǒng)狀況的一個嘗試。因為JAVA是一種簡單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言,因而根據(jù)這些特性利用JAVA實現(xiàn)選課管理中的各項功能。通過對學(xué)校管理的需求分析,創(chuàng)建了比較完善的選課管理系統(tǒng)。本文首先對選課系統(tǒng)課題的背景進行了研究和分析,并對網(wǎng)絡(luò)選課的重要意義進行了詳細(xì)的闡述。本文詳細(xì)介紹了系統(tǒng)各個功能模塊界面的實現(xiàn)方法,前臺界面的操作與后臺數(shù)據(jù)庫的連接,最后總結(jié)開發(fā)階段與測試階段所遇到的問題與解決方法。本系統(tǒng)完成了基本所需功能,界面清晰,操作簡單友好實用。并且,初步實驗表明,本系統(tǒng)可基本滿足本校的需求、提高了學(xué)校

3、的選課管理效率、節(jié)省了學(xué)校的管理支出,從而具有一定的經(jīng)濟效益。關(guān)鍵詞: 選課系統(tǒng) JAVA Oracle 數(shù)據(jù)庫 ABSTRACTWith the growing popularity of campus network and the rapid development of computer technology, more and more computer applications in teaching and management. Our school in recent years the rapid development of diversification in the

4、school system, the number of students and workers have been expanding. However, an online course selection system may let all the students select their courses anywhere and anytime. Thus, this system will greatly improve the efficiency and quality of the university administration. In order to achiev

5、e the scientific management of elective courses about students, the students are required to choose their own courses according to their own characteristics. So using infomrmationand net technology to build and a safe and efficient subject-selection system has become the top priority to strengthen i

6、nformation management and improving school management.This system is an attempt to change the current situation.As JAVA is a dynamic language with many characteristics,such as: simple, objected-oriented,distributed,deciphered ,secured ,structure-neutral ,transplantable ,excellent-performanced and mu

7、ltistreading.Throught demand analysis to school management,it creates some thorough curricula-variable management system. This article manly talks about the research and analysis of the background for curricula-variable and give the details of the importance for this kind of system.This article part

8、icularly introduces the applocale way to create the interface for different functional module ,the link between the operation of front interface and back database system and problems and solution during the development stage and test stage. This system completes the basic demand function, clear inte

9、rface simple and user-friendly operation. The preliminary Experiment shows that this system can meet the demand of our school improve the efficiency of subject-selecting ,save the expenditure of our school and in a way ,it has the merits of economic benefit.Keywords:Course-selection system JAVA Orac

10、le Database 目 錄第一章 緒論11.1 項目背景及研究意義1第二章 選課意義與開發(fā)工具22.1網(wǎng)上選課的重要意義22.2開發(fā)工具和語言22.2.1開發(fā)工具22.2.2 WEB服務(wù)器Tomcat32.2.3數(shù)據(jù)庫服務(wù)器Oracle、plsql32.2.4 JAVA語言3第三章 系統(tǒng)設(shè)計概述63.1需求分析63.1.1設(shè)計目標(biāo)63.1.2用戶特點73.1.3選課系統(tǒng)的總需求目標(biāo)73.1.4數(shù)據(jù)需求73.1.5功能性需求概述83.2系統(tǒng)設(shè)計概述83.3系統(tǒng)結(jié)構(gòu)特點83.4系統(tǒng)程序的開發(fā)10第四章 程序界面設(shè)計124.1歡迎頁面設(shè)計124.2用戶模塊-管理員/學(xué)生登錄124.3課程管理模塊

11、134.3.1添加課程模塊134.3.2修改課程模塊154.3.3刪除課程模塊164.4學(xué)生管理模塊164.4.1添加學(xué)生模塊174.4.2修改學(xué)生模塊184.4.3刪除學(xué)生模塊204.5學(xué)生選課管理模塊20第五章 數(shù)據(jù)庫設(shè)計以及接口分析225.1數(shù)據(jù)庫設(shè)計225.1.1數(shù)據(jù)結(jié)構(gòu)225.1.2表的設(shè)計225.1.3數(shù)據(jù)庫的冗余和備份245.2接口分析與分頁實現(xiàn)245.2.1接口分析245.2.3分頁實現(xiàn)25第六章 項目的調(diào)試與優(yōu)化266.1項目的調(diào)試266.1.1測試環(huán)境266.1.2測試方案266.1.3功能測試266.1.4非功能測試276.2項目的優(yōu)化27第七章 總結(jié)28致謝29參考文獻

12、30選課管理系統(tǒng)第一章 緒論1.1 項目背景及研究意義隨著現(xiàn)代計算機科學(xué)的迅速發(fā)展,信息和通訊技術(shù)的應(yīng)用與推廣,各校教學(xué)管理模式正在發(fā)生著巨大的變革。學(xué)校教學(xué)管理工作信息化、數(shù)字化的教育與實踐也越來越受到重視。學(xué)生的選課工作與學(xué)生的學(xué)業(yè)和老師的教學(xué)工作息息相關(guān),也是高校信息管理的重要組成部分。全校性選修課的目的在于擴大學(xué)生知識面,加強學(xué)生素質(zhì)教育,培養(yǎng)復(fù)合型高級人才,具有不可替代的重要性。當(dāng)今社會對教育水平和教學(xué)管理軟硬件的要求日益提高,這對一個學(xué)校能夠具有一整套完善的教學(xué)管理軟件提出了更多的要求。而要實現(xiàn)這一功能,就要求學(xué)校管理者配備一套高效的教育管理網(wǎng)絡(luò)系統(tǒng),以便在學(xué)校內(nèi)實施良好的一整套完

13、善的管理且以最快地速度響應(yīng)教師和學(xué)生的需求,及時為他們提供服務(wù),為他們提供一個高效、便捷的環(huán)境。選課管理系統(tǒng)是校園網(wǎng)絡(luò)中一個重要的應(yīng)用系統(tǒng),它大大改善了學(xué)校教學(xué)、科研與管理的基礎(chǔ)環(huán)境,在一定程度上反映出學(xué)校管理現(xiàn)代化的水平。傳統(tǒng)的選課模式大大地限制了學(xué)生的主觀能動性,學(xué)生無法自由的選擇自己感興趣的課程,不能將學(xué)生的學(xué)習(xí)興趣完全調(diào)動起來,使學(xué)生們對學(xué)習(xí)感到枯燥無味,教學(xué)效果不理想。并且,傳統(tǒng)的選課活動因?qū)W生數(shù)量以及課程數(shù)目的增加變得更加復(fù)雜和效率低下,且保密性差,這給查找、更新和維護帶來了很多困難。近年來,計算機科學(xué)日漸成熟,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用,作為計算機應(yīng)用的一

14、部分,使用計算機對學(xué)校的管理系統(tǒng)進行管理,具有人工管理無法比擬的優(yōu)點:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些能極大的提高教學(xué)管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理與世界接軌的重要條件。隨著網(wǎng)絡(luò)信息化的發(fā)展,對選課管理系統(tǒng)的要求也越來越高,我們應(yīng)該在克服系統(tǒng)中存在的各種問題的前提下,更進一步的完善選課管理系統(tǒng),發(fā)揮其強大的作用,這樣全校的學(xué)生就能夠在各自時間和不同地點進行教學(xué)計劃查詢,課程選擇、課程更換和刪除等選課操作。這減輕了選課管理人員的工作量,也使得學(xué)生能夠更加自由和靈活地進行選課。本文以江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院為重點,針對該院教務(wù)工作的實際需求,設(shè)計并開發(fā)

15、了基于JAVA語言的選課管理系統(tǒng)。通過本系統(tǒng)的應(yīng)用,可以提高江蘇經(jīng)貿(mào)學(xué)院教學(xué)信息管理的工作效率,從根本上減輕教務(wù)管理工作量,改善教學(xué)管理服務(wù)質(zhì)量。也可實現(xiàn)選課流程的規(guī)范化,透明化。滿足管理人員、教師、學(xué)生和信息化管理等多方面的需要,而且還可以使目前分散的教學(xué)信息得到共享,這樣將對提高教學(xué)管理水平、實現(xiàn)教學(xué)管理現(xiàn)代化、信息化具有重要意義。第二章 選課意義與開發(fā)工具2.1網(wǎng)上選課的重要意義現(xiàn)代的全面學(xué)分制對選課制度提出了三點要求:即規(guī)模大、范圍廣、時間緊。“規(guī)模大,是指由于對在校全日制的所有學(xué)生均以學(xué)分制的管理模式進行管理,選課的學(xué)生人數(shù)在某些高校達(dá)到上萬,而全校各院系專業(yè)的課程數(shù)也達(dá)到成百上千;

16、“范圍廣”是指根據(jù)最新教改精神,學(xué)校各個院系的專業(yè)都要有一定數(shù)量的任選課和文理跨專業(yè)選修課,以達(dá)到拓寬學(xué)生知識面和培養(yǎng)復(fù)合型人才的目的,這就增加了學(xué)生選課的隨機性;“時間緊是指學(xué)生選課完畢與正式確定課程安排的間隔處理時間只有幾天。因此,推行全面學(xué)分制下的選課制的先決條件是現(xiàn)代化的教務(wù)管理手段。單獨的電腦或獨立的機房己經(jīng)不能夠及時高效地完成大量數(shù)據(jù)處理任務(wù),進行教學(xué)管理時必須利用網(wǎng)絡(luò)資源。基于網(wǎng)絡(luò)的選課系統(tǒng)能夠及時地存儲和處理選課學(xué)生的選課結(jié)果,同時選課系統(tǒng)也能夠快速地做出選課完整性判斷,進而指導(dǎo)選課有誤的選課學(xué)生從新進行退選課程,補選課程,以及改選課程,并整理和打印出學(xué)生需要的新課表以及教師所

17、需要的學(xué)生點名冊等內(nèi)容。這些內(nèi)容對于選課系統(tǒng)的全面性也有著不可或缺的作用?;诰W(wǎng)絡(luò)的選課系統(tǒng)的設(shè)計將會影響全面學(xué)分制的運行質(zhì)量?,F(xiàn)行高校的學(xué)分制規(guī)定全部課程針對全部選課學(xué)生都具有,選課成功機會均等性,全部課程可選性等。實現(xiàn)上述基本目標(biāo)是選課系統(tǒng)成功的關(guān)鍵。2.2開發(fā)工具和語言學(xué)生選課系統(tǒng)的設(shè)計與開發(fā)過程中,選擇恰當(dāng)?shù)拈_發(fā)工具,可為今后江蘇經(jīng)貿(mào)學(xué)院學(xué)生選課系統(tǒng)的二次開發(fā)和部署教學(xué)改革所帶來的新業(yè)務(wù)邏輯打下良好的技術(shù)基礎(chǔ)。2.2.1開發(fā)工具Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclip

18、se附帶了一個標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具。Eclipse 最初是由 IBM 公司開發(fā)的替代商業(yè)軟件 Visual Age for Java 的下一代IDE 開發(fā)環(huán)境,2001 年 11 月貢獻給開源社區(qū),現(xiàn)在它由非營利軟件供應(yīng)商聯(lián)盟Eclipse 基金會管理。 2003 年,Eclipse 3.0 選擇 OSGi(Open Service GatewayInitiative)服務(wù)平臺規(guī)范為運行時架構(gòu)。Eclipse 是一個跨平臺的自由集成的開發(fā)環(huán)境(IDE)。最初主要用來 Java 語言開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如 C+的開發(fā)工具。Eclipse 的本身只

19、是一個框架平臺,但是眾多插件的支持使得 Eclipse 擁有其他功能相對固定的 IDE 軟件很難具有的靈活性。許多軟件開發(fā)商以 Eclipse 為框架開發(fā)自己的 IDE。2.2.2 WEB服務(wù)器Tomcat目前最為流行的Tomcat服務(wù)器是Apache一JarKarta開源項目中的一個子項目,是一個小型、輕量級的支持JSP和servlet技術(shù)的Web服務(wù)器。Tomcat是一個開源的WEB服務(wù)器,它是APache基金會的Jakarta項目中的一個核心項目,由APache,sun和其它一些公司及個人共同開發(fā)而成。Tomcat自4.0版本后都采用了新的Servlet容器:Catalina,完整的實現(xiàn)

20、了 Servlet2.3和JSP1.2規(guī)范。由于 Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。在Tomcat中,應(yīng)用程序的部署很簡單,你只需將應(yīng)用程序打包后得到的WAR文件放到Tomcat的web應(yīng)用程序的目錄下,Tomcat會自動檢測到這個文件,并將其解壓。2.2.3數(shù)據(jù)庫服務(wù)器Oracle、plsqlOracle數(shù)據(jù)庫包括Oracle數(shù)據(jù)庫服務(wù)器和客戶端。Oracle Server是一個對象一關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它提供開放的、全面的、和集成的信息管理方法。每個Server由一個 Oracle DB和一個 Oracle Server實例組成。它具有場地自治性(Site A

21、utonomy)和提供數(shù)據(jù)存儲透明機制,以此可實現(xiàn)數(shù)據(jù)存儲透明性。每個 Oracle數(shù)據(jù)庫對應(yīng)唯一的一個實例名SID。 Oracle支持大數(shù)據(jù)庫、多用戶的高性能的事務(wù)處理。Oracle遵守數(shù)據(jù)存取語言、操作系統(tǒng)、用戶接口和網(wǎng)絡(luò)通信協(xié)議的工業(yè)標(biāo)準(zhǔn)。實施安全性控制和完整性控制。支持分布式數(shù)據(jù)庫和分布處理。具有可移植性、可兼容性和可連接性。所以選擇Oracle數(shù)據(jù)庫。PL/SQL 是過程語言(Procedural Language)與結(jié)構(gòu)化查詢語言(SQL)結(jié)合而成的編程語言,PL/SQL是Oracle數(shù)據(jù)庫對SQL語句的擴展,增加了編程語言的特點。數(shù)據(jù)操作和查詢語句被包含在PL/SQL代碼的過程性

22、單元中,經(jīng)過邏輯判斷、循環(huán)等操作完成復(fù)雜的功能或者計算。PL/SQL支持多種數(shù)據(jù)類型,如大對象和集合類型??捎糜趧?chuàng)建存儲過程、觸發(fā)器和程序包,給SQL語句的執(zhí)行添加程序邏輯。PL/SQL與 Oracle 服務(wù)器和 Oracle 工具緊密集成,具備可移植性、靈活性和安全性。通過以上對Oracle的了解,所以最后選擇了Oracle數(shù)據(jù)庫,以及對數(shù)據(jù)庫進行操作的plsql。2.2.4 JAVA語言JAVA 是一種簡單的,面向?qū)ο蟮模植际降?,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異的,多線程的動態(tài)語言。Java 語言中的幾個基礎(chǔ)術(shù)語:1類:是面向?qū)ο笳Z言的一種復(fù)合數(shù)據(jù)類型。類是復(fù)合數(shù)據(jù)類

23、型的超集。2對象:是類的一個實例。類可以看作是一個模板。每當(dāng)創(chuàng)建一個類的實例時,就得到一個對象。3成員:是組成對象的元素。4引用:在 Java 中,定義為類類型的變量實際上并不保存對象數(shù)據(jù),只是用來標(biāo)識一個實際對象。這種類型的變量成為引用。為了有效地組織、管理數(shù)據(jù),提高數(shù)據(jù)庫的邏輯獨立性和物理獨立性,人們?yōu)閿?shù)據(jù)庫設(shè)計了一個嚴(yán)謹(jǐn)?shù)捏w系結(jié)構(gòu),數(shù)據(jù)庫領(lǐng)域公認(rèn)的標(biāo)準(zhǔn)結(jié)構(gòu)是三級模式結(jié)構(gòu),它包括外模式、模式和內(nèi)模式。 美國家標(biāo)準(zhǔn)協(xié)會(American N ational Standard Instit ut e,ANSI)的數(shù)據(jù)庫管理系統(tǒng)研究小組于 1 9 78 年提出了標(biāo)準(zhǔn)化的建議,將數(shù)據(jù)庫結(jié)構(gòu)分為 3

24、 級:面向用戶或應(yīng)用程序員的用戶級、面向建立和維護數(shù)據(jù)庫人員的概念級、面向系統(tǒng)程序員的物理級。用戶級對應(yīng)外模式,概念級對應(yīng)模式,物理級對應(yīng)內(nèi)模式,使不同級別的用戶對數(shù)據(jù)庫形成不同的視圖。所謂視圖,就是指觀察、認(rèn)識和理解數(shù)據(jù)的范圍、角度和方法,是數(shù)據(jù)庫在用戶“眼中"的反映,很顯然,不同層次(級別)用戶所“看到的數(shù)據(jù)庫是不相同的。我們以選課系統(tǒng)的 E-R 圖進一步了解數(shù)據(jù)庫系統(tǒng)的三級體系結(jié)構(gòu)。如圖 2-2-1選課系統(tǒng)的 E-R 圖圖 2-1 選課系統(tǒng)的 E-R 圖用戶應(yīng)用程序根據(jù)外模式進行數(shù)據(jù)操作,通過外模式一模式映射,定義和建立某個外模式與模式間的對應(yīng)關(guān)系,將外模式與模式聯(lián)系起來,當(dāng)模

25、式發(fā)生改變時,只要改變其映射,就可以使外模式保持不變,對應(yīng)的應(yīng)用程序也可保持不變;另一方面,通過模式一內(nèi)模式映射,定義建立數(shù)據(jù)的邏輯結(jié)構(gòu)(模式)與存儲結(jié)構(gòu)(內(nèi)圖 2-1 學(xué)生信息管理系統(tǒng)的 E-R 圖模式)間的對應(yīng)關(guān)系,當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)發(fā)生變化時,只需改變模式-內(nèi)模式映射,就能保持模式不變,因此應(yīng)用程序也可以保持不變。第三章 系統(tǒng)設(shè)計概述3.1需求分析3.1.1設(shè)計目標(biāo)隨著招生規(guī)模的不斷擴大,許多高校出現(xiàn)了多個校區(qū)并存的局面,并且校區(qū)之間的地理位置跨度非常大,從而給高校選課工作的進行帶來了不少弊端,增加了很大的工作量。為了解決這一問題,開發(fā)學(xué)生選課系統(tǒng)已成為必然。江蘇經(jīng)貿(mào)學(xué)生選課系統(tǒng)可以利用學(xué)

26、院現(xiàn)有的網(wǎng)絡(luò)資源,也可以利用國際互聯(lián)網(wǎng)來進行部署。該系統(tǒng)可以顯著減輕教務(wù)人員的工作負(fù)擔(dān),大大提高工作效率,從而實現(xiàn)教務(wù)管理的數(shù)字化和網(wǎng)絡(luò)化。在安全性、保密性應(yīng)得到可靠的保證,的同時,應(yīng)具有以下業(yè)務(wù)需求:通過實際調(diào)查,要求學(xué)生選課系統(tǒng)(l)界面設(shè)計美觀大方、操作簡潔靈活。界面人性化設(shè)計,錄入表單強大的糾錯功能。表格顯示頁面采用柔和字體,重要或者錯誤提示信息采用醒目的字體和顏色。(2)實現(xiàn)學(xué)生信息的具體管理。集中對全校的學(xué)生信息進行管理,具備對學(xué)生基本信息可以進行增加、修改、刪除的功能。(3)實現(xiàn)課程信息的具體管理。集中對全校的課程信息進行管理,具備對課程信息可以進行增加、修改、刪除的功能。非授權(quán)

27、用戶只能查看,不能修改和刪除。(4)學(xué)生登錄。學(xué)生入學(xué)后,可以由管理統(tǒng)一錄入系統(tǒng)。系統(tǒng)登記學(xué)生信息,并可以根據(jù)學(xué)生填寫的相關(guān)信息,自動識別學(xué)生信息且可以選擇的課程信息。(5)實現(xiàn)學(xué)生查看歷史選課情況。學(xué)生可以修改選課信息、查看選課情況。(6)學(xué)生選課。學(xué)生選課功能是本系統(tǒng)最基本的功能。學(xué)生登錄系統(tǒng),系統(tǒng)將列出可以選擇的課程,供學(xué)生選擇。學(xué)生選課之后,可查詢和修改。該系統(tǒng)完成對學(xué)生選課管理的另一個方面內(nèi)容就是對全校學(xué)生的選課進行查詢與統(tǒng)計了,而在查詢與統(tǒng)計功能實現(xiàn)的同時,需要考慮到執(zhí)行查詢與統(tǒng)計操作的人群,學(xué)生可以對自己的信息及選課進行查詢,前提是該學(xué)生知道自己的登錄賬號,而管理員(教師,班主任

28、及學(xué)校領(lǐng)導(dǎo))也可以查看學(xué)生基本信息及選課情況。上述目標(biāo)概述如下表:需求對學(xué)校學(xué)生選課進行信息化管理用戶管理員(教師、班主任、學(xué)校領(lǐng)導(dǎo)),學(xué)生用戶操作增加、刪除、修改課程增加、刪除、修改學(xué)生基本信息選擇、取消課程用戶需求課程管理、學(xué)生管理學(xué)生選課解決方案用 Oracle 數(shù)據(jù)庫來實現(xiàn),用語言 JAVA 來開發(fā)程序界面選擇此解決方案的理由選Oracle 是因為它支持分布式數(shù)據(jù)庫和分布處理。具有可移植性、可兼容性和可連接性。用 JAVA語言是因為我對它比較熟悉和其現(xiàn)代社會的應(yīng)用率。3.1.2用戶特點用戶為非專業(yè)技術(shù)人員,對計算機技術(shù)沒有詳細(xì)了解,必須盡可能的提供友好的操作界面和使用提示。3.1.3選

29、課系統(tǒng)的總需求目標(biāo)在計算機網(wǎng)絡(luò),數(shù)據(jù)庫和先進的開發(fā)平臺上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個具有開放體系結(jié)構(gòu)的、易擴充的、易維護的、具有良好人機交互界面的學(xué)生選課系統(tǒng),實現(xiàn)學(xué)生信息增加,刪除,課程增加、修改刪除以及學(xué)生選課的自動化、高效的計算機系統(tǒng)。3.1.4數(shù)據(jù)需求(1)數(shù)據(jù)錄入和處理的準(zhǔn)確性和實時性數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提,錯誤的輸入會導(dǎo)致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作失去意義。數(shù)據(jù)的輸入來源是手工輸入。手工輸入要通過系統(tǒng)界面上的安排系統(tǒng)具有容錯性,并且對操作人員要進行系統(tǒng)的培訓(xùn)。在系統(tǒng)中,數(shù)據(jù)的輸入往往是大量的,因此系統(tǒng)要有一定的處理能力,以保證迅速的處理數(shù)據(jù)

30、。(2)數(shù)據(jù)的安全性本系統(tǒng)為學(xué)校的學(xué)生管理部門設(shè)計,因此只有特定的管理者才能對數(shù)據(jù)實現(xiàn)增,刪,改,查等操作。未獲授權(quán)人員不能進入系統(tǒng)。(3)數(shù)據(jù)的備份要定期對數(shù)據(jù)庫中的數(shù)據(jù)進行全部或新增部分的備份工作,以保證在硬件出現(xiàn)故障或人為原因?qū)е聼o法運行時是可以快速及時的還原到原來的正常狀態(tài)。在一個正式的系統(tǒng)中,要實現(xiàn)的功能要求:(1) 信息管理:對學(xué)生基本信息進行管理(2) 課程管理:對選修課程進行管理(3) 學(xué)生選課:學(xué)生選修課程、取消課程運行需求:用戶界面利用菜單界面驅(qū)動方式,對用戶友好,必須對鼠標(biāo)和鍵盤單獨支持,在結(jié)束了系統(tǒng)最基本的需求分析后,將進入系統(tǒng)的總體設(shè)計階段。3.1.5功能性需求概述(

31、1)能夠管理在校學(xué)生的基本信息,處理離校學(xué)生信息(2)能夠管理選修課程,可增加、編輯課程(3)學(xué)生可以正常選課、取消課程3.2系統(tǒng)設(shè)計概述開發(fā)一個系統(tǒng)前需要對系統(tǒng)作一個良好的設(shè)計,設(shè)計的好壞決定開發(fā)成敗的關(guān)鍵,一個好的設(shè)計將對開發(fā)帶來極大的方便,同時設(shè)計階段的好壞在一定程度上就決定開發(fā)能不能成功,能不能滿足前面需求分析階段所有的需求。整個學(xué)生選課系統(tǒng),預(yù)期達(dá)成的目標(biāo)是:針對教育管理的特點設(shè)計,注重實用性、科學(xué)性和可操作性并重的原則,把管理人員從繁雜的手工勞動中解脫出來,提高管理的質(zhì)量。本管理系統(tǒng)設(shè)計的主要目標(biāo)在于可以方便學(xué)生選擇課程,規(guī)范學(xué)生選課數(shù)據(jù)的操作管理,使用權(quán)限管理保證數(shù)據(jù)的安全性和可

32、靠性。程序?qū)崿F(xiàn)的主要功能:1、學(xué)生基本信息的錄入2、學(xué)生基本信息的修改與刪除3、課程的增加與與修改以及刪除4、學(xué)生選擇課程、取消課程在提出上述研究的主要內(nèi)容之后,最后通過本人所在單位的實際應(yīng)用需求,針對企業(yè)信息化的過程中存在的遺留和不完善的項目:設(shè)備狀態(tài)維修系統(tǒng)這一具體業(yè)務(wù),應(yīng)用該框架來實現(xiàn),來解決企業(yè)信息化中遺留的具體問題,來取得應(yīng)用的實效,并來驗證該框架的簡易實效性。使該框架在實際開發(fā)和具體應(yīng)用開發(fā)中,體現(xiàn)出潛在的工程價值和實實在在的應(yīng)用效果。本論文的選題著眼于國內(nèi)軟件開發(fā)的實際需求,開發(fā)出了具有自主知識產(chǎn)權(quán)的簡易面向?qū)ο蟮能浖?。并針對本人所在學(xué)校的具體應(yīng)用需求,采用該軟件解決了在實際工作

33、中學(xué)校面臨具體問題。同時在具體應(yīng)用的實踐過程中,使該軟件設(shè)計的效果的好壞得到一定程度的檢驗。3.3系統(tǒng)結(jié)構(gòu)特點(1)采用簡單易用的操作界面,用戶可以在使用的同時獲得實時幫助。(2)采用數(shù)據(jù)庫和程序分開設(shè)計的方式,他們之間通過驅(qū)動程序連接,以使系統(tǒng)達(dá)到較高的可靠性和擴展性。系統(tǒng)總體結(jié)構(gòu)設(shè)計如圖 3-3-1。圖 3-1系統(tǒng)總體結(jié)構(gòu)圖本系統(tǒng)是對學(xué)生的基本信息和選課進行管理,主要包括添加,修改和刪除學(xué)生的基本信息,錄入,增加、修改和刪除課程,學(xué)生選擇課程、取消課程,選課管理的自動化。系統(tǒng)主要劃分為 3個模塊:(1)課程信息管理模塊:管理員可以對課程進行管理,查看課程的信息、添加新課程、更改課程信息以及

34、刪除課程。包括的信息有:課程名、授課人、所屬院系等。功能結(jié)構(gòu)如圖3-3-2。圖 3-2 課程信息管理模塊(2)學(xué)生信息管理模塊:對學(xué)生的基本信息進行綜合管理,可以添加,修改和刪除基本信息,刪除學(xué)生基本信息的同時刪除該學(xué)生的選課信息,包括的信息有姓名,登錄密碼,性別,班級等。功能結(jié)構(gòu)如圖3-3-3。圖 3-3學(xué)生信息管理模塊流程圖(3)學(xué)生選課模塊:顯示登錄學(xué)生可以選擇的所有課程列表,可以對想要選擇的課程進行選課操作。功能結(jié)構(gòu)如圖3-3-4.圖 3-4學(xué)生選課模塊流程圖3.4系統(tǒng)程序的開發(fā)1.硬件環(huán)境:(1)PC一臺,配置如下: CPU:IntelCore2DuoCPU內(nèi)存:2G硬盤空間:80G

35、(2)打印機一臺:佳能打印機2.軟件條件:(1)操作系統(tǒng) :Windows7(2)數(shù)據(jù)庫:Oracle、plsql(3)JAVA:jsdkl.6(4)開發(fā)軟件:Eclipse for java EE(5)服務(wù)器:Tomcat6.03.框架:Spring,MVC,底層框架,數(shù)據(jù)庫層的框架C3P0 C3P0是一個開源的JDBC連接池,它實現(xiàn)了數(shù)據(jù)源和JNDI綁定,支持JDBC3規(guī)范和JDBC2的標(biāo)準(zhǔn)擴展。目前使用它的開源項目有Hibernate,Spring等??蚣艿膬?yōu)勢:框架一般是成熟,穩(wěn)健的,他可以處理系統(tǒng)很多細(xì)節(jié)問題,比如,事物處理,安全性,數(shù)據(jù)流控制等問題。還有框架一般都經(jīng)過很多人使用,所

36、以結(jié)構(gòu)很好,所以擴展性也很好,而且它是不斷升級的,你可以直接享受別人升級代碼帶來的好處。4.設(shè)計模式:MVC第四章 程序界面設(shè)計4.1歡迎頁面設(shè)計在進行整個設(shè)計前,需要對軟件的界面有所了解,比如,運行該軟件后,呈現(xiàn)給使用者的界面是怎樣,所以設(shè)計的第一步是設(shè)計一個友好的,簡潔的使用操作主界面,在主界面下再進行一系列的添加,修改,刪除,查詢等課程、學(xué)生信息及選課的操作,如圖 4-1 的主界面-歡迎界面所示,友好簡潔的界面幫助使用者能迅速的學(xué)會對該軟件的操作。圖 4-1 系統(tǒng)軟件歡迎頁面圖4.2用戶模塊-管理員/學(xué)生登錄管理員在登錄頁面adminLogin.jsp對應(yīng)的地方輸入用戶名、密碼,確認(rèn)后登

37、錄。界面設(shè)計如圖 4-2 學(xué)生在登錄頁面studentLogin.jsp對應(yīng)的地方輸入學(xué)號或姓名、密碼,確認(rèn)后登錄。界面設(shè)計如圖 4-3 圖 4-2 管理員登錄頁面 圖 4-3 學(xué)生登錄頁面若檢索到的記錄集為空,則說明用戶名/學(xué)號(姓名)錯誤,從而轉(zhuǎn)到相應(yīng)的出錯處理程序,若記錄集不為空,再進行用戶名/學(xué)號(姓名)判斷,若用戶名/學(xué)號(姓名)與表中的用戶名/學(xué)號(姓名)不相等,進行出錯處理,若相等,進而檢查密碼是否相等,不相等,作出錯處理,相等則轉(zhuǎn)入管理員/學(xué)生登錄成功的操作頁面,并將用戶名、密碼保存起來。4.3課程管理模塊課程管理模塊要完成的功能是課程的添加、修改與刪除,界面設(shè)計如圖4-4,其

38、邏輯功能如圖4-5。圖 4-4管理課程列表頁面圖 4-5 邏輯功能圖4.3.1添加課程模塊當(dāng)需要添加一門課程時,在添加信息模塊只需完成對信息的添加功能,界面情況如圖4-6。圖 4-6 添加課程頁面此時,我們只需要在界面的課題名稱,授課人,院系等處錄入該課程的基本信息即可完成添加課程功能。輸入:課程基本信息。輸出:添加成功或失敗提示信息。實現(xiàn)步驟為:(1) 實例化數(shù)據(jù)庫類,用來連接數(shù)據(jù)庫。(2) 實例化窗口中的各個基本組件,包括按鈕,文本框和下拉菜單等。(3) 初始化窗口,并在初始化工程中設(shè)置窗口的大小,標(biāo)題等基本屬性。(4) 對各個菜單進行基本的設(shè)置。(5) 得到界面的數(shù)據(jù)同時添加該記錄到數(shù)據(jù)

39、庫。(6) 在插入成功以后斷開和數(shù)據(jù)庫的連接。該功能的邏輯如圖 4-7 。圖 4-7 添加-功能邏輯圖添加課程界面具體設(shè)計如下:<form id="login" action="$pageContext.request.contextPath/course/add.do" method="post" ><table><tr><td>課程名稱:</td><td><input type="text" name="courseName

40、" value=""></td></tr><tr><td>授課人:</td><td><input type="text" id="teacher" name="teacher" value=""></td></tr><tr><td>院系:</td><td><input type="text" id=&

41、quot;department" name="department" value="" ></td></tr><tr><td>狀態(tài):</td><td><select name="status"><option value="1">開啟</option><option value="0">關(guān)閉</option></select></t

42、d></tr><tr><td>課程簡介:</td><td><input type="text" name="contents"></td></tr><tr><td>上課時間:</td><td><input type="text" name="time"></td></tr><tr><td><input

43、type="submit" value="提交"></td></tr></table></form>4.3.2修改課程模塊當(dāng)課程調(diào)動或者進行信息調(diào)整時,我們就需要該軟件能提供一種方便進行選課管理的修改功能,該模塊的主要功能是完成對課程的修改,界面情況如圖 4-8 。圖 4-8 編輯課程頁面在修改前首先要先確定要修改的課程,然后根據(jù)需要對該課程的特定信息進行修改。例如我們在修改界面中找到計算機基礎(chǔ)這么課程,需要對課題名稱做修改,我們可以直接在修改界面上將計算機基礎(chǔ)的課題名改為IT基礎(chǔ)與應(yīng)用,然后點擊提交

44、按妞即可完成一次課程的修改,修改后的數(shù)據(jù)庫信息也隨之改變,效果如圖 4-9 。圖4-9 修改后的課程頁面該功能的邏輯如圖 4-10 。圖 4-10 修改-功能邏輯圖在設(shè)計界面代碼時,要考慮到與數(shù)據(jù)庫的連接,框架的建立,字體大小等,界面中各個功能組件的布局,包括標(biāo)簽組件,文本框組件,選擇框組件,按妞組件都需要先進行實例化再進行布局,而組件的實例化方法前面已經(jīng)提到。此處編輯按鈕功能實現(xiàn)代碼如下:<a href="#" name="edit" onClick="edit('$_course.courseId')">

45、;編輯</a>4.3.3刪除課程模塊在課程結(jié)束或者一些其他因素不再有該課程的情況,我們也需要考慮到數(shù)據(jù)庫的承載數(shù)據(jù)的容量問題,需要在該系統(tǒng)中完善一種刪除課程的功能,該模塊的主要功能就是對課程的信息進行刪除。首先選擇好需要刪除的課程,確認(rèn)無誤后對其進行刪除操作,點擊刪除按鈕可彈出刪除提示框,點擊確定按鈕可刪除成功。該操作將刪除該課程的信息。該功能的邏輯如圖 4-11 。圖 4-11 刪除-功能邏輯圖系統(tǒng)確認(rèn)是否是刪除此課程時的具體設(shè)計:function isdelete()if(window.confirm( '是否確定刪除? ')return true;elsere

46、turn false;4.4學(xué)生管理模塊學(xué)生管理模塊要完成的功能是學(xué)生基本信息的添加,修改與刪除,界面設(shè)計如圖 4-12,其邏輯功能如圖 4-13。圖 4-12學(xué)生管理頁面圖 4-13 邏輯功能圖界面說明:模塊初始化時,因為還沒有當(dāng)前學(xué)生,所以學(xué)生信息操作中只有“新增”按鈕可用。若想對學(xué)生信息進行修改或者刪除操作,首先新增學(xué)生信息。確定存在該學(xué)生后,可進行修改或刪除。輸入:學(xué)生基本信息,其中學(xué)號和姓名不能為空。4.4.1添加學(xué)生模塊當(dāng)需要添加一個學(xué)生信息時,比如新生入校后對該生的信息進行錄入,在添加信息模塊只需完成對信息的添加功能,界面情況如圖 4-14 。圖 4-14 添加學(xué)生頁面此時,我們

47、只需要在界面的姓名,密碼,性別等處錄入該生的基本信息以及登錄密碼即可完成添加信息功能。輸入:學(xué)生基本信息,其中學(xué)號和姓名不為空。輸出:添加成功或失敗提示信息。該功能的邏輯如圖 4-15 。圖 4-15 添加-功能邏輯圖在設(shè)計界面時,需要考慮學(xué)生登錄密碼是否一致的問題。(1)當(dāng)密碼輸入不一致時,彈出“兩次密碼輸入的不一致”的提示信息:function check()var pwd=document.getElementById("password").value;var pwd1=document.getElementById("password1").v

48、alue;if(pwd!=pwd1)alert("兩次密碼輸入的不一致!");pwd=""pwd1=""(2)studentList.jsp中添加功能核心代碼如下:function add() var form = document.getElementById("student");form.action="$pageContext.request.contextPath/student/forward/.do?pageName=add"form.submit();4.4.2修改學(xué)生模塊當(dāng)需要

49、進行學(xué)生班級調(diào)動或者進行信息調(diào)整時,我們就需要該軟件能提供一種方便進行學(xué)生基本信息的修改功能,該模塊的主要功能是完成對學(xué)生信息的修改,界面情況如圖 4-16 。圖 4-16 編輯學(xué)生頁面在修改前首先要先確定需修改信息的學(xué)生,然后根據(jù)需要對該學(xué)生的特定信息進行修改。例如我們在修改界面中找到張三瘋的學(xué)生信息,需要對其姓名做修改,我們可以直接在修改界面上將張三瘋的姓名改為王小三,然后點擊修改按妞即可完成一次學(xué)生信息的修改,修改后的數(shù)據(jù)庫信息也隨之改變,效果如圖 4-17 。圖 4-17 編輯后的學(xué)生頁面該功能的邏輯如圖 4-18 。圖 4-18 修改-功能邏輯圖在設(shè)計界面代碼時,要考慮到與數(shù)據(jù)庫的連

50、接,框架的建立,字體大小等,界面中各個功能組件的布局,包括標(biāo)簽組件,文本框組件,選擇框組件,按妞組件都需要先進行實例化再進行布局,而組件的實例化方法前面已經(jīng)提到。由于要修改的學(xué)生信息與添加的學(xué)生信息的方法一致,接下來定義的變量與前面添加學(xué)生信息時定義的變量一致,添加的響應(yīng)事件也與添加學(xué)生信息時一致,在此都不重復(fù)說明。此處studentList.jsp中編輯核心代碼如下:(1)function edit(primarykey) var form = document.getElementById("student");form.action="$pageContex

51、t.request.contextPath/student/forward/"+primarykey+".do?pageName=edit"form.submit();(2)<a href="#" name="edit" onClick="edit('$_stu.stuNo')">編輯</a>4.4.3刪除學(xué)生模塊在學(xué)生畢業(yè),或者一些其他因素導(dǎo)致學(xué)生離校的情況,我們需考慮到數(shù)據(jù)庫的承載數(shù)據(jù)的容量問題,需要在該系統(tǒng)中完善一種刪除學(xué)生基本信息的功能,該模塊的主要功能就是

52、對學(xué)生的信息進行刪除。選擇好需刪除的學(xué)生,確認(rèn)無誤后對其進行刪除操作,該操作將刪除該學(xué)生對應(yīng)的信息以及登錄密碼。該功能的邏輯如圖 4-19 。圖 4-19 刪除-功能邏輯圖系統(tǒng)確認(rèn)是否刪除該學(xué)生的核心代碼如下:function isdelete()if(window.confirm( '是否確定刪除? ')return true;elsereturn false;4.5學(xué)生選課管理模塊在整個學(xué)校中,學(xué)生選課是致關(guān)重要的一個環(huán)節(jié),每個班級,每個學(xué)科,每個學(xué)期,各個學(xué)生都需要選修課程,而在學(xué)生選課模塊中主要實現(xiàn)的是學(xué)生選課主要功能。界面如圖4-20,其邏輯功能如圖4-21 。圖4-

53、20 學(xué)生選擇課程頁面圖 4-21 選課-功能邏輯由于學(xué)生較多以及所選課程也不少,學(xué)生直接通過選課系統(tǒng)來選擇自己喜愛的課程。學(xué)生點擊所選課程右側(cè)選擇框,點擊保存按鈕便可成功選擇課程。若要取消選擇,直接取消勾選,點擊保存按鈕,便可取消選擇成功。(1)若不選擇課程,彈出的“至少選擇一門科目”的提示信息:if(courseIds="")alert("至少選擇一門科目");return;elsecourseIds=courseIds.substring(0,courseIds.length-1);document.getElementById("cou

54、rseIds").value=courseIds;/alert(form.action);form.submit();(2)若無課程可選擇,則會顯示“暫無數(shù)據(jù)”:<c:if test="$empty pageResult"><tr><td colspan="6">暫無數(shù)據(jù)!</td></tr></c:if>第五章 數(shù)據(jù)庫設(shè)計以及接口分析5.1數(shù)據(jù)庫設(shè)計選課系統(tǒng)的主要功能是通過大量的數(shù)據(jù)獲得管理所需要的信息,這就須存儲和管理大量的數(shù)據(jù)。因此建立一個良好的數(shù)據(jù)組織結(jié)構(gòu)和數(shù)據(jù)庫,

55、使整個系統(tǒng)可以迅速、便捷、準(zhǔn)確地調(diào)用和管理所需的數(shù)據(jù),是有效開發(fā)信息系統(tǒng)工作的重要標(biāo)志。5.1.1數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)設(shè)計主要是進行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)系統(tǒng)功能的要求以及功能模塊的劃分,分類、分組系統(tǒng)和邏輯層次組織起來,采用面向?qū)ο蟮乃枷肴シ治鲈撨^程中所需要的數(shù)據(jù)結(jié)構(gòu),確定選課系統(tǒng)的各個組成部分的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu),分析選課數(shù)據(jù)流。該數(shù)據(jù)庫的ER圖如圖5-1所示。圖 5-1 ER圖5.1.2表的設(shè)計根據(jù)數(shù)據(jù)庫需求分析,建立三個表,包含需要操作的所有數(shù)據(jù)信息。(1)用戶表,用于保存與用戶相關(guān)的信息。表名稱system.my_tb_user分區(qū)字段表序列system.my_seq_user表描述

56、字段名稱字段代碼類型長度非空約束條件用戶姓名userNamevarchar216N學(xué)號stuNonumber16Npk性別sexvarchar24N班級Classesvarchar264N院系departmentvarchar264Y類型Typenumber4N0=管理員1=學(xué)生密碼Passwordvarchar216N(2)課程表,用于保存與課程相關(guān)的信息。表名稱system.my_tb_course分區(qū)字段表序列system.my_seq_course表描述字段名稱字段代碼類型長度非空約束條件課程編號courseIdnumber16Npk課程名稱courseNamevarchar264N授

57、課人teachervarchar216N院系departmentvarchar264N已選人數(shù)numnumber16Y狀態(tài)statusnumber4N0=關(guān)閉1=開啟課程簡介Contentsvarchar2256N上課時間Timevarchar2128N(3)用戶與課程關(guān)系表表名稱system.my_tb_user_course分區(qū)字段表序列表描述字段名稱字段代碼類型長度非空約束條件用戶編號StuNonumber16N課程編號courseIdnumber16N5.1.3數(shù)據(jù)庫的冗余和備份本數(shù)據(jù)庫是基于關(guān)系型數(shù)據(jù)庫,表之間的關(guān)系應(yīng)符合BC范式標(biāo)準(zhǔn)。杜絕了本數(shù)據(jù)庫數(shù)據(jù)的修改和刪除冗余。本系統(tǒng)包含學(xué)生的個人信息,所以數(shù)據(jù)訪問的安全性非常重要。為了防止通過非正?;蛘卟缓戏ǖ脑L問手段,對數(shù)據(jù)庫的數(shù)據(jù)進行竊取或者破壞,在設(shè)計時充分考慮系統(tǒng)的安全性。主要從網(wǎng)絡(luò)防火墻、數(shù)據(jù)庫加密和定期的服務(wù)器維護等方面進行嚴(yán)密的設(shè)計,以保障數(shù)據(jù)庫的安全訪問和網(wǎng)絡(luò)系統(tǒng)的安全性。并有專門的管理員對數(shù)據(jù)庫進行定期的管理和備份。5.2接口分析與分頁實現(xiàn)5.

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論