基于JAVA的學生選課系統(tǒng)設計與實現(xiàn)計算機_第1頁
基于JAVA的學生選課系統(tǒng)設計與實現(xiàn)計算機_第2頁
基于JAVA的學生選課系統(tǒng)設計與實現(xiàn)計算機_第3頁
基于JAVA的學生選課系統(tǒng)設計與實現(xiàn)計算機_第4頁
基于JAVA的學生選課系統(tǒng)設計與實現(xiàn)計算機_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要課程管理系統(tǒng)是一個學校中不可缺少的部分。課程管理系統(tǒng)應該能夠為用 戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式對 課程進行查詢、更新、選課等,這種管理方式存在著許多缺點,如:效率低、 執(zhí)行速度慢,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和 維護都帶來了不少困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們 深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計 算機應用的一部分,使用計算機對選課信息進行管理,具有手工管理無法比擬 的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、成本低、效率高 等。這些優(yōu)點能夠極大地

2、提高學生選課系統(tǒng)的效率,也是企業(yè)、學校的科學化、 正規(guī)化管理和與世界接軌的重要條件。因此,開發(fā)這樣一套管理系統(tǒng)已成為很 有必要的事悄。JAVA是一門很優(yōu)秀的編程語言,具有面向對象、與平臺無關、安全、穩(wěn)定 和多線程等特點,是U前軟件設計中極為健壯的編程語言。本文中介紹了用JAVA 語言實現(xiàn)課程管理系統(tǒng)的全部過程。關鍵詞 課程管理 / Eclipse / Java / SQL Server目錄第一章前言 -3第一節(jié)開發(fā)背景 -4第二節(jié)開發(fā)目標 -4第三節(jié)項目意義 -5第二章系統(tǒng)分析 -6第一節(jié)需求分析 -6一功能需求 -6二性能需求 -6三其他需求 -7四業(yè)務流分析 -7五數(shù)據(jù)流分析 -7第二節(jié)可

3、行性研究報告 -7第三節(jié)數(shù)據(jù)庫選擇 -8第四節(jié)運行環(huán)境 -81數(shù)據(jù)庫應用系統(tǒng)開發(fā)簡介 -82.mysqI server 簡介 -9第三章概要設計 -10第一節(jié)功能模塊劃分 -10第二節(jié)系統(tǒng)功能結構圖 -10第四章詳細設計 -12第一節(jié)系統(tǒng)E-R圖示-12第二節(jié)信息要求 -14第三節(jié)模塊設計 -15第四節(jié)數(shù)據(jù)表 -16第五章數(shù)據(jù)庫的實施和維護 -19一.存儲過程設計 -19二.觸發(fā)器設計 -23第六章系統(tǒng)實現(xiàn) -25一用戶登錄界面 -25二.登錄到學生界面圖 -26三.-學生成績查詢 -28五用戶管理操初 -30六.學生信息管理 -31第七章測試 -35結論 -38致謝語 -38參考文獻 -40

4、第一章前言數(shù)據(jù)庫是從60年代初發(fā)展起來的計算機技術。經(jīng)過四十來年的發(fā)展,數(shù)據(jù) 庫技術己經(jīng)趨于成熟。Web數(shù)據(jù)庫在新的Internet環(huán)境中發(fā)生了很大的變化。 就數(shù)據(jù)應用而言呈現(xiàn)出多樣化的空間,如數(shù)字圖書館、電子出版物、電子商務、 遠程教育系統(tǒng)等的出現(xiàn),給web數(shù)據(jù)庫技術提出了更多、更高的要求。同時,隨 著國內(nèi)高校校園網(wǎng)的建設,基于互聯(lián)網(wǎng)的應用系統(tǒng)的開發(fā)正在蓬勃發(fā)展并發(fā)揮著 較大的作用。例如,我國許多高校的網(wǎng)上招生系統(tǒng),學校的各種管理信息系統(tǒng), 學校選課系統(tǒng),還有一些醫(yī)學院校開發(fā)出的網(wǎng)上診所、遠程診斷系統(tǒng)等等,都是 基于校園網(wǎng)的應用系統(tǒng)。國外的教學科研軟件與國內(nèi)相比開發(fā)的早而且比較成熟。早在七十

5、年代末, 美國就建成了 NSFNET(國家科學基金網(wǎng)),其課題的申報及課題的進展情況匯報 都在網(wǎng)上進行。其網(wǎng)上教學教務管理系統(tǒng)也十分完善,世界各地的學生可以坐在 家里通過互聯(lián)網(wǎng)完成入學報名、選課、考試、畢業(yè)論文、取得學位這一學習生活 的全過程。目前,國際上已具規(guī)模的遠程教育學校就有數(shù)白所之多,網(wǎng)上教育正 在各地發(fā)揮著巨大的作用,為世界各國培養(yǎng)出大批人才。所有這些都表明,基于 Internet的校園網(wǎng)的應用已深入到校園內(nèi)的各個方面。在高等學校的教務管理工作中,課程表的編排是一項十分復朵、棘手的工作。 在排課過程中,除了滿足大量的制約條件以外,還必須解決許多沖突與矛盾,例 如:兩位教師不能同一時間

6、在同一班級上課、一位教師不能在同一時間上兩門課 等等。利用計算機輔助進行課表編排工作,既提高了排課工作的科學性,乂可大 大減輕管理人員的工作強度,提高工作效率,從而使學校教務管理現(xiàn)代化邁上了 一個新臺階。我國不少高校都實行了學分制,它的核心是允許學生自曲選課,即把學習的 自主權交給學生。在這里,學生選課時的制約因素比較復雜,工作量也很大,而 且往往需要在較短的時間內(nèi)完成。運用計算機輔助選課,即能實時地對大量選課 數(shù)據(jù)進行檢驗和統(tǒng)計,十分方便地輸出選課結果,同時也避免了人工處理時容易 產(chǎn)生的錯誤。從系統(tǒng)開發(fā)的復雜程度來看,計算機輔助排課與選課是高校教務系統(tǒng)中的兩 個關鍵子系統(tǒng),LI前不少教務系統(tǒng)

7、尚未很好地解決排課與選課問題。本文主要對 高校教務管理系統(tǒng)中訃算機課表編排與選課子系統(tǒng)的基本功能、設訃思想、需求 分析以及實現(xiàn)技術進行探討。我想大家肯定都經(jīng)歷過學生時代,也許很多人還對那個時候的選課記憶猶新, 每個學期都要排著長長的隊伍去選?,F(xiàn)在,我們已經(jīng)進入到Internet時代了, 選課系統(tǒng)自然也要隨著更新。大學中,公選課較多,學生可根據(jù)自己的專業(yè)及興 趣選擇公選課程進行學習,本系統(tǒng)將從教學部門的要求岀發(fā),實現(xiàn)公選課的選擇、 查詢與統(tǒng)計。第一節(jié)開發(fā)背景當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計 算機被廣泛應用玉信息管理系統(tǒng)的環(huán)境。計算機的好處在于利用它能夠進行信息

8、管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安 全性。尤其對于復雜的信息管理,計算機能夠充分發(fā)揮它的優(yōu)越性。計算機進行信 息管理與信息管理系統(tǒng)的開發(fā)密切相關,系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng) 就是為了管理學生課程選修信息而設計的。學生選課作為一種信息資源的集散地,包含很多的信息數(shù)據(jù)的管理。山于數(shù) 據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。 盡管有的學校有計算機,但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置 比較突出,這就是管理信息系統(tǒng)的開發(fā)基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。造成時間上的 浪費,基于這個問題,

9、是有必要建立一個課程管理系統(tǒng),使學生選課信息管理工 作規(guī)范化,系統(tǒng)化,程序化,避免學生選課管理的隨意性,提高信息處理的速度 和準確性,能夠及時,準確,有效的查詢和修改選課情況。第二節(jié)開發(fā)目標本系統(tǒng)根據(jù)學校實際項U要求及所針對的用戶群體,預期制定出主要實現(xiàn)的如下LI標:1.網(wǎng)頁風格學校平臺的特點,界面簡單大方。2.充分為用戶著想,提供細致周到的技術支持。3.方便教師或管理員修改信息。4.為網(wǎng)站管理員提供方便、快捷的網(wǎng)站維護平臺。5.嚴格限制不動的用戶權限。第三節(jié)項目意義課程管理系統(tǒng)是一個學校不可缺少的部分,它的內(nèi)容對于學校的決策者和管 理者來說都至關重要,所以課程管理系統(tǒng)能夠為用戶提供充足的信息

10、和快捷的查 詢手段,但是一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存 在著許多缺點如:效率低,保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù), 這對于查找,更新和維護都帶來了不少的困難。隨著科學技術的不斷提高,汁算機科學日漸成熟,其強大的功能已為人們深 刻的認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對課程管理信息進行操作,有著手工管理 無法比擬的優(yōu)點:檢索迅速,查找方便,可靠性高,存儲量大,保密性好,成本 低等。這些優(yōu)點能夠極大的提高人事勞資管理的效率,也是企業(yè)的科學化,正規(guī) 化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套軟件成

11、為很有必要的事情,在下面的各章中我們將以開發(fā)一 套學生課程管理系統(tǒng)為例,談談其開發(fā)過程和所涉及的問題及解決辦法。 本文所做的主要工作如下:1.介紹了個性化頁面的背景及運用力眩語言和eclipse運行環(huán)境的原理。2.闡述整個系統(tǒng)的系統(tǒng)結構及工作原理,分析系統(tǒng)實現(xiàn)中的特殊性,難點和重 點。3.設訃實現(xiàn)用戶管理,課程管理,選課信息錄入管理,新生信息錄入管理,新 來老師信息錄入管理和課程的瀏覽等頁面。4.分析并解決實現(xiàn)中的若干技術問題。第二章系統(tǒng)分析第一節(jié)需求分析在本系統(tǒng)進入開發(fā)階段之前,已針對課程管理系統(tǒng)的各方面因素做了綜合的 構思;并仔細瀏覽了 Internet上的多個網(wǎng)站,總結它們的優(yōu)缺點,并調(diào)

12、查其運 行成本和成效;同時認真的把自己對項LI的想法告訴周圍對此有興趣的老師和同 學,聽取他們的意見和建議。經(jīng)過多方面的考核與研究,大致確定了學生選課測 試系統(tǒng)所需要滿足的功能與性能:一功能需求課程管理系統(tǒng)主要滿足三方面的需求,這三個方面分別是學生,教師和管理 員。學生的需求是查詢院系的課程,學生選課情況及學生信息的修改;教師對學 生選課情況進行操作。同時形成學生選課查看確認;選課管理員的功能最為復雜, 包括對學生,教師,選課進行管理和統(tǒng)計,及系統(tǒng)狀態(tài)的查看,維護并生成選課 報表。學生可以直接查看選課情況,學生可以根據(jù)本人學號和密碼進行登錄系統(tǒng), 還可以進行本人學科成績情況的查詢和維護部分個人

13、信息。一般情況下,學生只 應該查詢和維護本人的選課情況和個人信息,若查詢和維護其他學生的選課信 息,就要知道其他學生的學號和密碼。所以有了個人密碼不但滿足了學生的要求, 還保護了學生的個人隱私。二性能需求一般用戶并不具備計算機專業(yè)知識,若程序性能有一定的缺陷或可對其隱 藏,但一旦異常暴露,對于計算機專業(yè)知識較少的用戶來說降一發(fā)不可收拾。對 于一個專業(yè)的開發(fā)人員來講,其項LI在滿足用戶提出的功能實現(xiàn)外,首先應保證 性能良好;對于一個基于B/S的項目,更要顧及當前各種先進的黑客技術,有備 無患!綜上所屬,本系統(tǒng)的性能需求大致如下:系統(tǒng)的多數(shù)模塊(尤其是后臺兒乎所有的)都有相應的特殊操作,所以在進

14、入模塊之前要對用戶所具有的權限等用戶信息做出嚴格檢測,預防非法操 作。數(shù)據(jù)庫的連接應采用連接池技術,合理、有效的分配、回收資源。系統(tǒng)運行過程中會產(chǎn)生許多異常(其中大多數(shù)是預期效果),要有良好的異 常處理機制,即要顯示界面友好乂要體現(xiàn)程序嚴謹。學生在選修課程時教師會在后臺嚴格控制,系統(tǒng)設計時要充分考慮到線程之 間的并發(fā)與沖突。注重系統(tǒng)所需時間與空間上的資源消耗和運行效果。三其他需求本系統(tǒng)有較好的可維護性、可靠性、可理解性、效率。易于用戶理解和操作。 可維護性包括了可讀性、可修改性、可測試性、等含義。可靠性通常包括正確性 和健壯性。開發(fā)過程中,在各種矛盾的LI標之間作權衡,并在一定的限制的條件 下

15、(經(jīng)費、時間、可用的軟、硬件資源等),使上述各方面最大限度的得到滿足。四業(yè)務流分析課程管理系統(tǒng)的業(yè)務流程:首先山系統(tǒng)管理員等有錄入權限的用戶將各自權 限范圉內(nèi)的信息進行錄入,然后保存信息到數(shù)據(jù)庫中。有權限的人可以對這些庫 信息進行修改和刪除。所有用戶均可以進行信息查詢和統(tǒng)計,有權限用戶還可以 基于已有信息進行選修課程。五數(shù)據(jù)流分析課程管理管理系統(tǒng)的數(shù)據(jù)流程:首先山教師或系統(tǒng)管理員等有錄入權限的用 戶將各自權限范圍內(nèi)的信息進行錄入處理,然后保存信息到數(shù)據(jù)庫中。有權限的 人可以對這些庫信息進行修改和刪除處理。所有用戶均可以進行信息查詢和統(tǒng) 計。第二節(jié)可行性研究報告1.-技術可行性 本系統(tǒng)需要一臺裝

16、有java, eclipse及sql server運行環(huán) 境的計算機即可,對機器本身沒有太大的要求,一般當前學校或個人電腦完 全可滿足要求。對于軟件技術要求,現(xiàn)在的程序設計語言已非常成熟,再運 用圖形圖像制作工具來制作生動活潑的網(wǎng)頁。2.經(jīng)濟可行性由于本系統(tǒng)是為學生選課管理使用的系統(tǒng),裝上該應用軟 件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運 行后可以為學校節(jié)約大量的人力,物力。所帶來的效益遠遠大于系統(tǒng)軟件的 開發(fā)成本。在經(jīng)濟上完全可行。3.操作可行性界面設計時充分考慮管理人員的習慣,使得操作簡單;數(shù)據(jù) 錄入迅速,規(guī)范,可靠,統(tǒng)計準確;制表靈活;適應力強;容易擴充。第三節(jié)

17、數(shù)據(jù)庫選擇在LI前這種信息多元化,服務智能化的時代,應用軟件往往與數(shù)據(jù)庫形影 不離。礙于JAVA技術的跨平臺特性,我們在實際應用中很少見到微軟的數(shù)據(jù)庫 產(chǎn)品要去搭配使用,而是MySql和Orcale居多,本項LI最終決定選用MySql作 為后臺數(shù)據(jù)庫。第四節(jié)運行環(huán)境鑒于數(shù)據(jù)庫的選擇,本系統(tǒng)僅能在Windows系統(tǒng)上運行,需裝有MYSQL。在 工程中,本系統(tǒng)采用MyEclipse作為開發(fā)及測試環(huán)境。1數(shù)據(jù)庫應用系統(tǒng)開發(fā)簡介在數(shù)據(jù)庫應用系統(tǒng)開發(fā)之前,對開發(fā)數(shù)據(jù)庫的基本概念應當了解,對數(shù)據(jù) 庫的結構、開發(fā)數(shù)據(jù)庫應用程序的步驟、開發(fā)體系及方法都應當有相當清晰的 了解和認識。數(shù)據(jù)庫應用系統(tǒng)開發(fā)的LI標是

18、建立一個滿足用戶長期需求的產(chǎn)品。 開發(fā)的主要過程為:理解用戶的需求,然后,把它們轉變?yōu)橛行У臄?shù)據(jù)庫設計。 把設計轉變?yōu)閷嶋H的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功能完備、高效能的應用。 數(shù)據(jù)庫技術在訃算機軟件鄰域研究中一直是非常重要的主題,產(chǎn)生于60年代, 30多年來數(shù)據(jù)庫技術得到了迅速發(fā)展,并已形成較為完整的理論體系和一大批 實用系統(tǒng)。并且,近年來,隨著World Wide Web(m)的猛增及Internet技術 的迅速發(fā)展,使得數(shù)據(jù)庫技術之時成為最熱門技術之一。用戶數(shù)據(jù)口前表明, 大多數(shù)主流數(shù)據(jù)庫管理系統(tǒng)把用戶數(shù)據(jù)表示為關系?,F(xiàn)在把關系看作數(shù)據(jù)表。 表的列包含域或屬性,表的行包含對應業(yè)務環(huán)境中的實

19、體的記錄。并非所有的 關系都同樣符合要求,有些關系比其它關系更結構化一些。2. mysq I server 簡介MySQL是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。 在2008年1月16號被Sun公司收購。而2009年,SUN 乂被Oracal收購.對于Mysql 的前途,沒有任何人抱樂觀的態(tài)度.U前MySQL被廣泛地應用在Internet上的中 小型網(wǎng)站中。111于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特 點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 MySQL作為網(wǎng)站數(shù)據(jù) 庫。第三章概要設計第一節(jié)功能模塊劃分/功能劃分:學生通過身份驗證后進入主界

20、面。主界面為學生提供3項選擇:選 擇課程,查看成績,用戶管理。教師通過身份驗證后進入主頁面。主頁面為教師提供4項選擇:開課信息管理,成績錄入,學生選課 確認。/功能描述:學生:選擇課程:給出可選課程和初選課程的列表,可以在可選課程列表中選擇任 一門所列課程,在初選課程中可以取消選擇的課程。查看成績:學生通過成績按鈕可以查詢岀自己已修學分等信息。用戶管理修改登錄密碼。管理員:教師信息管理可以添加,刪除教師的基本信息。學生信息管理可以添加,刪除學生的基本信息。教師:授課信息管理給曲侖有開設課程的列表,教師選擇所教課程并設置學分,限 選人數(shù),上課時間等信息。成績錄入錄入學生選修課程的成績學生確認選課

21、根據(jù)學生班級編號,教師整理并確定學生選課生效用戶管理修改登錄密碼。第二節(jié)系統(tǒng)功能結構圖系統(tǒng)的登錄信息模塊如圖3. 1所示:在線選課系統(tǒng)S3.1系統(tǒng)的前臺模塊如圖32所示:前臺第四章詳細設計第一節(jié)系統(tǒng)E-R圖示1分E-R圖學生信息E-R圖教師信息E-R圖課程信息E-R圖學生成績E-R圖教師授課信息E-R圖賬戶信息E-R圖看。院系管理人功能的信息量大,數(shù)據(jù)安全性和保密性要求最拓。本功能實現(xiàn)對 選課信息,教師信息,總體選課情況信息的查詢和統(tǒng)計,工作人員和管理人員查 看及維護。學校管理員可以瀏覽,查詢,修改,統(tǒng)計選課的基本信息。這部分功 能應該是111院系工作人員執(zhí)行,但是,刪除某條學生選課基本信息記

22、錄時,應實 現(xiàn)對該學生選課的級聯(lián)刪除。第四節(jié)數(shù)據(jù)表1.系別信息表學生信息表(stu_tab):學生信息表主要用于存放學生類用戶的基本信息。包括學生學號(stu_id)、 學生姓(stu_name) 性別(stu_sex)、生日(stu_birthd)、班級(class)。其中,stu.id (學生學號)字段作為主關鍵字。字段名數(shù)據(jù)類型長度主鍵否是否為空stupidchar10主鍵不為空stu namechar10不為空stu_tsexchar2不為空stu birthddatetimeclasschar16教師信息表(tea_tab):教師信息表用于存放教師類用戶的基本信息,包括教師編號(te

23、jid)教師姓名(tea_name)、教師性別(tejsex)、教師生日(tea_birthd)、教師職稱(post)、 所在院系(department) 8項基本信息。其中,tea_id (編號)字段作為該表的 主鍵(primary key),惟一標識了一個管理員(教師)用戶記錄的信息。字段名數(shù)據(jù)類型長度主鍵否是否為空tea idchar10主鍵不為空tea namechar10不為空tea sexchar2不為空tea birthddatetimepostchar10deptchar20學生成績表(s_table):成績信息表主要用于存放學生類用戶的選課號所對應的選課成績。包括課程編號(c

24、ou_id)、學生學號(stu_id )、學生成 績(score) 3個字段。 其中,cou.id (課程編號)與stu.id (學生學號)作為主關鍵字。字段名數(shù)據(jù)類型長度是否為空是否主鍵cou idchar16不為空主鍵stupidchar10不為空主鍵scoreint教師授課表(5b):教師授課表用于授課課程號和地點。包括授課課程號(cou_id)、教師編號 (tea_id)、上課地點(location) 3個字段。其中,cou_id (授課課程號)、tea.id (教師編號)作為主關鍵字。字段名數(shù)據(jù)類型長度是否為空是否主鍵cou idchar16不為空主鍵teaidchar10不為空主鍵

25、placeint課程表(countable):課程表用于存放課程各項信息。包括判課程編號(cou_id)、課程名稱 (co_name) 學分(point)和選課人數(shù)(stu_num) 4個字段。其中,cou_id (課粒編號)作為主關鍵字。字段名數(shù)據(jù)類型長度主鍵否是否為空cou idChar16主鍵不為空cou_nameChar16不為空pointChar8不為空stu_numInt不為空所有用戶賬戶表(logon):統(tǒng)一記錄管理員、教師和學生的賬號密碼,包括賬號(user.id).密碼(password) 2個字段。其中,user_id (賬號)為主鍵。字段名數(shù)據(jù)類型長度是否為空是否主鍵us

26、eridchar10不為空主鍵passwordcharr102.關系模型LogonLogon * *9 user J dpasswordCourseTableCourseTable * * coujdcou_namepointstu numScroeTable *$ coujdQ StujdscoreTeachTableTeachTable * *9 coud總 teajdplaceTeacherTableTeacherTable * *P teajdtea nameteasex tea birthdpost dept第五章數(shù)據(jù)庫的實施和維護一. 存儲過程設計1.某個老師所有學生:create

27、 proc all student 1 -某個老師所冇學生 a char 10 beginselect x. stupid, x. stu_name, t cou_name, z. scorefrom Stu_Tablel x, t_tab y, scroetable z, cou_tab twhere x. stu_id二z stu_id and y. cou_id二z cou_id and t cou_id=y. cou_id and y. tea_id=aend2.成績錄入?yún)?shù)是學生號,課程名,成績:create proc inputPerforml-成績錄入?yún)?shù)是學生號,課程名,成績

28、stuid char(10),cname char 16,crore char121 begindeclare ab char116set ab=(select cou_id from cou_tab where cou_name=cnameupdate scroetableset score=crorewhere stu_id=stuid and cou_id=abend3.插入教師授課表參數(shù)是課程號,用戶名,地點:use choosecreate proc insertteachi-插入教師授課表參數(shù)是課程號,用戶名,地點cou_id char 116 ,user_id char110 ,

29、di varchar110begininsert into t_tab values 1cou_id, user_id, diend4 顯示所有的課程無參數(shù):create proc AllCouseasbeginselectx. Cou_ID x. Cou_Name, x. Point , y. Tea_Name, y. Post, z. Location, x. Stu_num from Cou_ x, Tea_tabl y, T_tab zwhere x. Cou_ID=z. Cou_ID and y. Tea_ID=z Tea_IDend5.刪除某個用戶名,參數(shù)賬號:create pro

30、c DeleteLogon1id char110asbegindelete from Logonwhere User_ID=idend6.刪除某個學生,參數(shù)是學號:create proc DeleteStudent1id char110asbegindelete from Stu_Tablelwhere Stu_ID=idend7.刪除某個教師,參數(shù)是教師號:create proc DeleteTeacher1id char110asbegindelete from Tea_tablwhere Tea-ID=idend8.插入用戶表記錄,參數(shù)是賬號和密碼:create proc InsertL

31、ogon1id char110 asbegininsert into Logonvaluesiid, id1end9.插入到學生表記錄,參數(shù)學生好,學生名,性別,生日,班級:create proc InsertStudent:user_id char110 , username char110 ,sex char121, birth datetime, class char 10asbegininsert into Stu_Tablel values 1user_id , username, sex, birth, class 1 endreturn10插入到教師表記錄,參數(shù)教師號,教師名,性

32、別,生日,職位,院系: create proc InsertTeacher user_id char 10 , Susername char 10 , sex char 121, birth datetime,post char 110), department char110asbegininsertintoTea_tablvalues 1user_id , username,sex, birth post, department1endreturn11.判斷學生是否存在,參數(shù)是學生號:create proc IsExistsStu1id char110asbeginselect * fro

33、m Stu_Tablelwhere Stu_ID=idend12.判斷教師是否存在,參數(shù)是教師號:create proc IsExistsTea id char110asbeginselect * from Tea_tablwhere Tea_ID=idend13.顯示所有學生:create proc ProcAllStuasbeginselect * from Stu_Tablelend14.顯示所有教師: create proc ProcAllTea asbeginselect * from Tea_tabl end 15判斷賬號是否存在,參數(shù),賬號和密碼:create proc Proc

34、Logon1user_id char 16s password char 10 asbeginselect *from Logonwhere User_id=user_id and Password=passwordendreturn 16修改密碼參數(shù)賬號,密碼:create proc ProcModify1id char 110 , password char116 asbeginupdate Logonset Password=hpasswordwhere User_id=idend 17顯示某個學號的信息,參數(shù)是學生號: create proc ProcStudent1id char11

35、0 as beginselect * from Stu_Tablelwhere Stu_ID=idend 18插入選課表記錄,參數(shù)是課程號,學號,空值:create proc SelectCoursel id char110), cou_id char 16 asbegininsert into S_tablevalues 1 cou_id, id, null)end -19-查看某個學生的成績,參數(shù)是學生號 create proc SelectedCourse1id char 10 asbeginselect * from S_tablewhere id二Stu IDend 20查看某個學生

36、已選課的成績,參數(shù),學生號:create proc SelectedCou_Num1id char 10 beginselect COUNT(*) from S_table where Stu_ID=id end 21 查看某個學生的選課表,參數(shù),學生號:create proc SelectedDetail id char 10 beginselectx. Cou_ID x. Cou_Name, x. Point , y. Tea_Name, y. Post, z. Location, s. Scorefrom Cou_x, Tea_tabl y, T_tab z, S_table swher

37、e id二s. Stu_ID and x. Cou_ID=z Cou_ID and z. Tea_ID=y. Tea_IDand x. Cou_ID=s. Cou_IDend二. 觸發(fā)器設計1 對添加的人員進行存儲:/*利用觸發(fā)器為用戶表初始化*利用觸發(fā)器為用戶表更新,每當有新的老師或是同學記錄加入的時候,就在用 戶表里面添加一條用戶表記錄*/create trigger insert_logonafter inserton tea_table begindeclare a char 16seta=(select tea_id from inserted1insert into logonva

38、luesEnd 2存儲完數(shù)據(jù),生成一條記錄:/*利用觸發(fā)器實現(xiàn)用戶表的初始化*利用觸發(fā)器實現(xiàn),每當有新的同學添加記錄是,自動在用戶表生成一條記錄 */reate trigger insert_logonlafer inserton stu_tableldeclare ab char116setab=(select stu_id from inseredinsert into logonvalues 1&1end觸發(fā)器名功能類型作用表insert_logon教師表中有新的記錄加入 時,自動在用戶表里生成一 條記錄insertlogoninsert_logonl學生表里面有新的記錄加入 時,自動在

39、用戶表里生成一 條記錄insertlogon第六章系統(tǒng)實現(xiàn)系統(tǒng)的實現(xiàn)是完全按照本文檔的三、四章設計進行的,當然在設計過程中偶 爾也會遇到一些小的問題,但最終大都通過各種辦法解決掉了?,F(xiàn)將后臺管理下 的各個模塊的圖示及類試圖顯現(xiàn)如下:一.用戶登錄界面圖5.1國學生制系統(tǒng)學生選課系統(tǒng)二.登錄到學生界而圖圖 5. 2. 1系統(tǒng)給出了選課課程的明細課程名。假如選擇任何一門,最多不能超過三門課程, 將會提示不超過好三門課或剛好三門課系統(tǒng)頁面彈出提示“選課成功”,如下截 圖:工人信息I 諜程列表 11 巳選諜程I退詵課溟端號魂程名稱學分任課教肝刼神稱上課地點已選人數(shù)E coooi車片機2張三120100C

40、OOO2爼成原理2助教下半場2020|c0002徴機3數(shù)寶2020C0004數(shù)據(jù)庫4機房3020Zc0005姿作系統(tǒng)選課成功3T1B教室20?0coooo數(shù)字建模多曲2U30 cOOOZ數(shù)宦縉構tn房北60 C0008012090|cD0O9U用疋旦右kA匹環(huán):伍扒底4980迭諛 退課圖 5.2.2點擊“確定”,即可查看所選的課程,如下截圖學生莒理系統(tǒng)W壬S3學生選課系統(tǒng)匕人信息諜程列表 | 巳地諜程退詵課溟熊號課程&稱學分任課教師教師職稱上踝地點課程成績C0001單片機2張三201C0002IE成原理2李四助救下半場202CQ002鍛機3王五教空202圖 5.2.3系統(tǒng)給出了選課課程的明細課

41、程名。假如所選的課程超過三門課程,將會提示超 過三門系統(tǒng)頁面彈岀提示“選課數(shù)不能超過三門”,如下截圖:圖 5.2.4退課:把剛選的微機的課程退了宜學生選課系統(tǒng)學生選課系統(tǒng)個人信息| | 探程列 |已迭諜程 |ii冠圖 5.2.5三. 學生成績查詢系統(tǒng)頁面中間面板中給出了該學生選課的信息(課程號,課程名,分類,任課老 師,教師職稱,上課地點,課程成績),系統(tǒng)頁面最下面列出了該學生該課程已 修學分,還需修學分,通過課程數(shù),未通過課程數(shù),截圖如下:圖5.3四教師管理頁而教師登錄系統(tǒng)TTSIT 錄入成蟻我他錘數(shù)師編導:(2012003(2012003數(shù)師姓名:王五數(shù)師性8U:另數(shù)師主日:1950-01

42、-041950-01-04 0 0:UOUO:OU.OOU.O教!HilW諭:別敎授圖 5.4. 1教師可以對學生的成績進行錄入(此功能沒實現(xiàn),此成績綁定在在節(jié)面),如下截圖:學生管理系統(tǒng)教師登錄系統(tǒng)個人信息 | I錄入成込II發(fā)的翹 I字主漏號字生姓名I謀程名稱成綾520098100990錄人圖 5.4.2個人信耳諜程列表已選課程S2010學生姓名:楊四學生性別:學生生日:1988-03-04確定取消修改密碼五用戶管理操作學生可在用戶管理頁面中修改自己登錄系統(tǒng)的密碼,截圖如下:國i學生管理系統(tǒng)學生選課系統(tǒng)修跤密瑪學生班級:圖 5. 5. 1學生可以對自己的密碼進行修改,修改為點擊“確定”按鈕

43、,如如下截圖:國修改密碼圖 5. 5.2教師可在用戶管理頁面中修改自己登錄系統(tǒng)的密碼,截圖如下:原始密吧;確定 収消圖 5. 5.4教師可以對自己的密碼進行修改,修改為點擊“確定”按鈕,如如下截圖:國修改密碼原始密啟確定六.學生信息管理管理員山登錄界面可以進入到管理員界面,如下截圖:圖 5.6. 1在管理員界面中,管理員可以對學生信息的刪除,添加,如下截圖:圖 5. 6.2 (1)圖 5. 6.2 (1)管理員山登錄界面可以進入到教師信息管理界面,如下截圖:圖 5.6.3在管理員界面中,管理員可以對教師信息的刪除,添加,如下截圖:圖 5. 6.4 (1)圖 5. 6. 4 (2)第七章測試在這

44、一節(jié)中,主要討論了兩個問題,一個是系統(tǒng)的聯(lián)機文檔,另一個是系統(tǒng) 的測試,下面我們分別加以說明。作為一個完整的系統(tǒng),聯(lián)機文檔是其中不可缺 少的部分也是相當重要的部分。好的文檔能夠使用戶快速了解并準確的使用系統(tǒng) 的各項功能。減少誤操作,減少錯誤產(chǎn)生的可能,這對用戶和開發(fā)人員都有很多 的好處。所以在開發(fā)本系統(tǒng)中,也加入了不少的文檔,除了對于四大模塊的詳細 說明外,對于易出錯和不易操作的地方(如多條件查詢部分)乂作了詳細的說明。山于本身能力的局限性,所以做編寫的代碼,即使經(jīng)過反復檢查也難免出錯 所以在本階段力求使用有限的時間找岀盡可能多的錯誤,力求系統(tǒng)盡量正確。測 試中發(fā)現(xiàn)不曉得問題,有些問題還不能更

45、好的解決。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設計的重要步驟加載測試。加載測試工作貫穿 于程序測試工作的全過程,整個錄入、修改、查詢、處理工作均可視為對數(shù)據(jù)庫 的加載測試工作。要設訃出一個好的信息管理系統(tǒng)數(shù)據(jù)庫,除滿足系統(tǒng)所要求的 功能外,還必須遵守下列原則:1)基本表的個數(shù)越少越好。2)主鍵的個數(shù)越少 越好。鍵是表間連接的工具,主鍵越少,表間的連接就越簡單。3)字段的個數(shù)越 少越好。4)所有基本表的設計均應盡量符合第三范式。數(shù)據(jù)庫的設汁中,如何 處理多對多的關系和如何設計主鍵,是兩個有著較大難度、需要重點考慮的問題。登陸模塊測試1教師用戶測試:輸入數(shù)據(jù):TeacherlD* t2012003* Tpa

46、ssword=* 111 進入教師管理模塊;輸入錯誤的信息如,TeacherID=* t2012001 * Tpassword=? abed提示錯誤對話框,如 下截圖:I創(chuàng)學生管理系統(tǒng)登錄2 輸入數(shù)據(jù)(正確數(shù)據(jù)):StudentlD* s201089777 Spassword二111正確數(shù)據(jù),進 入學生選課模塊;輸入數(shù)據(jù)(錯誤數(shù)拯):StudentID=? S201089775* Spassword=* advsd提示錯誤對話 框,如下截圖:二.學生選課模塊測試1在學生選課界面使用圖形界面選彈出成功對話框2重復選課彈出錯誤對話框(沒有提示框)三學生成績查詢模塊測試1通過學生選課界面選擇所選課程

47、得到課程成績信息用尸名:|t2012001密瑪2通過學生選課界面不選擇課程將是空白狀態(tài)四用戶管理測試(修改密碼)1 輸入數(shù)據(jù):UserID二&20098 Spassword2=, 111成功修改密碼輸入數(shù)據(jù):Spassword=, 654321 * Spassword2=, 111111 提示錯誤對話框 國|學生管理系統(tǒng)登錄五學生信息模塊測試1在GUI界面依據(jù)班級號選擇輸出:以列表形式顯示學生基本信息2在GUI界面班級號為空輸出:空信息3在GUI界面添加新學生:輸 入:Student ID 二sll StudentName 二 小 倩StudentSex 二 女StudentBirthday二

48、1988-1-1 * Class二數(shù)控 1 班輸出:顯示添加成功對話框4在GUI界面刪除學生輸入:Student ID 二sll輸岀:刪除成功對話框結論1.設計過程中遇到的問題以及解決方法在建插入授課表的存儲過程中,一直沒有辦法執(zhí)行成功,一直出錯感覺寫的 代碼乂沒有錯,查了很久 參數(shù)類型與表不一樣,改成一樣就可以了,在顯示 全部課程的時候,剛開始一直顯示不出來,以為是代碼寫錯了返回結果 集與表的長度不符合,修改下讓返回結果集與表一樣2.設計過程的體會該系統(tǒng)主要實現(xiàn)學生選課系統(tǒng)的功能,從數(shù)據(jù)庫的分析設計,界面的設計, 數(shù)據(jù)庫的連接,表格,存儲過程,觸發(fā)器的設計,我們學到了很多東西,特別是 在是在

49、數(shù)據(jù)庫的設計和實現(xiàn)中,我們建了用戶表logom學生表stu_table,選 課表selecttable.課程表cou_tab,授課表t_tab,教師表tea_tab,用戶表示 用來存放登陸的賬號和密碼,當學生表,或是教亦表中有新增了一條記錄的時候, 都會自動插入到用戶表里,密碼初始化是和賬號一樣的,用戶表里面有管理員賬 號,學生賬號,教師賬號,分別是以a, s, t 頭,管理員以有學生的添加與刪除, 查看。教師賬號可以查看個人信息,我的授課情況,錄入成績,修改密碼。學生 賬號可以查看個人的成績,選課與退課,以及當前的選課情況,修改密碼。管理 員賬號在程序運行前就存放在用戶表中,學生表存放學生記錄,課程表存放課程 記錄,學生可以選課,并在選課表里面添加選課情況,教師

溫馨提示

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

評論

0/150

提交評論