jsp教務(wù)排課系統(tǒng)sqlserver論文_第1頁
jsp教務(wù)排課系統(tǒng)sqlserver論文_第2頁
jsp教務(wù)排課系統(tǒng)sqlserver論文_第3頁
jsp教務(wù)排課系統(tǒng)sqlserver論文_第4頁
jsp教務(wù)排課系統(tǒng)sqlserver論文_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE26-遼寧廣播電視大學(xué)開放教育試點(diǎn)軟件開發(fā)與應(yīng)用專業(yè)(??疲┊厴I(yè)設(shè)計(jì)報(bào)告設(shè)計(jì)題目排課管理系統(tǒng)電大分校:學(xué)生姓名: 學(xué)號(hào): 指導(dǎo)教師: 完成日期:

目錄TOC\o"1-3"\h\z引言 3第一章系統(tǒng)概述 41.1排課管理系統(tǒng)概述 41.2排課管理系統(tǒng)的目的和意義 4第二章系統(tǒng)分析 52.1編程環(huán)境選擇 52.2設(shè)計(jì)大綱 7第三章設(shè)計(jì)內(nèi)容 93.1實(shí)現(xiàn)功能 103.2功能與模塊的設(shè)計(jì) 103.3數(shù)據(jù)庫設(shè)計(jì) 103.4數(shù)據(jù)表設(shè)計(jì) 11第四章系統(tǒng)流程圖設(shè)計(jì)與分析 144.1登陸系統(tǒng)流程圖 144.2主界面中課表生成部分流程圖 144.2.1班級(jí)管理流程圖 144.2.2班級(jí)課程處理流程圖 154.2.3課表生成部分流程圖 164.2.4報(bào)表輸出功能 174.3其它模塊設(shè)計(jì)說明 18第五章設(shè)計(jì)進(jìn)程 19第六章結(jié)論和總結(jié) 20致謝 22參考文獻(xiàn): 23附件:程序清單引言計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手:今天,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長(zhǎng)足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個(gè)方面:首先,計(jì)算機(jī)可以代替人工進(jìn)行許多繁雜的勞動(dòng);其次,計(jì)算機(jī)可以節(jié)省許多資源;第三,計(jì)算機(jī)可以大大的提高人們的工作效率;第四,計(jì)算機(jī)可以使敏感文檔更加安全,等等。在中小學(xué)中用計(jì)算機(jī)管理排課的意義現(xiàn)在我國的中小學(xué)校中排課的管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時(shí)代這種傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。我作為一個(gè)計(jì)算機(jī)應(yīng)用的大專生,希望可以在這方面有所貢獻(xiàn)。改革的總設(shè)計(jì)師鄧小平同志說過"科學(xué)技術(shù)是第一生產(chǎn)力",我希望能用我三年的所學(xué)編制出一個(gè)實(shí)用的程序來幫助中小學(xué)進(jìn)行更有效的課程管理。第一章系統(tǒng)概述1.1排課管理系統(tǒng)概述排課管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以排課管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件排課,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)排課信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高排課管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。1.2排課管理系統(tǒng)的目的和意義終上所述,開發(fā)這樣一套排課管理軟件成為很有必要的事情。我們所開發(fā)的這排課管理軟件歸納起來,好處大約有以下幾點(diǎn):1.可以存儲(chǔ)歷屆的排課,安全、高效;2.只需一到二名排課錄入員即可操作系統(tǒng),節(jié)省大量人力;3.可以按照錄入人員的輸入來自動(dòng)生成課程表,并盡量減少?zèng)_突等情況發(fā)生。排課系統(tǒng)的設(shè)計(jì)分析根據(jù)實(shí)際情況,我們使用原型法(RapidPrototyping)即以少量代價(jià)快速地構(gòu)造一個(gè)可執(zhí)行的軟件系統(tǒng)模型。使用戶和開發(fā)人員可以較快地確定需求,然后采用循環(huán)進(jìn)化的開發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全部滿足。此時(shí)模塊也發(fā)展成為最終產(chǎn)品了。第二章系統(tǒng)分析2.1編程環(huán)境選擇編程環(huán)境的選擇微軟公司的Jsp是Windows應(yīng)用程序開發(fā)工具,使目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。Jsp提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過程,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性。故而,實(shí)現(xiàn)本系統(tǒng)VB是一個(gè)相對(duì)較好的選擇。關(guān)系型數(shù)據(jù)庫的實(shí)現(xiàn)Sqlserver2000就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲(chǔ)和檢索。Sqlserver的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于Excel的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Sqlserver允許創(chuàng)建自定義報(bào)表用于打印或輸出數(shù)據(jù)庫中的信息。Sqlserver也提供了數(shù)據(jù)存儲(chǔ)庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。Sqlserver是一種關(guān)系數(shù)據(jù)庫工具,關(guān)系數(shù)據(jù)庫是已開發(fā)的最通用的數(shù)據(jù)庫之一。如上所述,Sqlserver作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包中同時(shí)擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強(qiáng)大功能。二者的結(jié)合(DBA)微軟的JET數(shù)據(jù)庫引擎提供了與數(shù)據(jù)庫打交道的途徑,我們是通過它以及Jsp來訪問數(shù)據(jù)庫并對(duì)其進(jìn)行各種操作。Jsp、Sqlserver以及其他微軟的軟件產(chǎn)品都是通過共用JET數(shù)據(jù)庫引擎,從而給用戶提供了豐富的數(shù)據(jù)類型。當(dāng)今的微軟對(duì)數(shù)據(jù)庫中的ADO比較注視,并在.net上使用了ADO.net技術(shù),鑒于ADO在很多程序里的廣泛應(yīng)用,使用ADO來連接數(shù)據(jù)庫將是最為適用的,并且在定義了ADO的連接模塊后,對(duì)于將來的升級(jí)也會(huì)很方便,只要修改一下連接源,就可以輕松的更換后臺(tái)。在使用Jsp語言進(jìn)行編程時(shí)還有有如下的優(yōu)點(diǎn):Jsp應(yīng)用程序不同于其他語言開發(fā)的單一性程序。使用Jsp編程時(shí),必須首先確定應(yīng)用程序如何與用戶交互,如鼠標(biāo)單擊,用戶必須編寫代碼控制這些事件的響應(yīng)方法。使用Jsp開發(fā)數(shù)據(jù)庫應(yīng)用程序的一般步驟如下所示:建立數(shù)據(jù)庫建立用戶界面編寫代碼調(diào)試運(yùn)行編譯應(yīng)用程序發(fā)布應(yīng)用程序界面設(shè)計(jì)控件的位置界面元素的一致性保持界面的簡(jiǎn)明使用顏色和圖像:增加視覺的感染力圖像和圖標(biāo):增加應(yīng)用程序的視覺上的趣味選取字體Jsp應(yīng)用程序的結(jié)構(gòu):由于Jsp應(yīng)用程序是基于對(duì)象的,所以應(yīng)用程序的代碼結(jié)構(gòu)就是該程序在屏幕上物理表示的模型。根據(jù)定義,對(duì)象包含數(shù)據(jù)和代碼。在屏幕上看到的窗體代表屬性,這些屬性定義了窗體的外觀和內(nèi)在特性。本設(shè)計(jì)主要是運(yùn)用ADO來連接和操作數(shù)據(jù)庫。附:ADO技術(shù)簡(jiǎn)介ADO是Microsoft目前主要的數(shù)據(jù)存取技術(shù),從1997年Microsoft推出ADO的第一個(gè)版本之后,ADO的整體架構(gòu)并沒有太大的改變。不過在每一個(gè)新的ADO版本之中,Microsoft不斷地改善ADO的執(zhí)行效率,提供更多的功能,持續(xù)增加ADO的穩(wěn)定性,并且讓ADO能夠存取更多種類的數(shù)據(jù)源。ADO是Microsoft提出的各種數(shù)據(jù)存取技術(shù)的演化結(jié)果,因?yàn)殡S著數(shù)據(jù)日益復(fù)雜,數(shù)據(jù)存取技術(shù)也必須不斷地進(jìn)步以適應(yīng)應(yīng)用系統(tǒng)的需求。目前,雖然ADO是Windows平臺(tái)存取數(shù)據(jù)的標(biāo)準(zhǔn)技術(shù),不過ADO也將會(huì)繼續(xù)演變。要了解ADO為什么會(huì)成為目前的標(biāo)準(zhǔn),可以從Windows平臺(tái)數(shù)據(jù)存取技術(shù)的進(jìn)化而得知。1.ODBC1992年Microsoft和Sybase、Digital共同制定了ODBC標(biāo)準(zhǔn)接口,以單一的ODBCAPI來存取各種不同的數(shù)據(jù)庫。隨后ODBC便獲得了許多數(shù)據(jù)庫廠商和Third-Party的支持而逐漸成為標(biāo)準(zhǔn)的數(shù)據(jù)存取技術(shù)。ODBC以當(dāng)時(shí)的業(yè)界標(biāo)準(zhǔn)規(guī)范X/OpenCall-LevelInterface(CLI)和ISO/IEC9075-3Call-LevelInterface(SQL/CLI)為涵蓋的范圍,因而支持了廣闊的數(shù)據(jù)庫。雖然ODBC在初期的版本中執(zhí)行效率不佳,而且功能有限,因此也為人們所貶低。但是,隨著Microsoft不斷地改善ODBC,使ODBC的執(zhí)行效率不斷增加,ODBC驅(qū)動(dòng)程序的功能也日漸齊全。到目前,ODBC已經(jīng)是一個(gè)穩(wěn)定并且執(zhí)行效率良好的數(shù)據(jù)存取引擎。不過ODBC僅支持關(guān)系數(shù)據(jù)庫,以及傳統(tǒng)的數(shù)據(jù)庫數(shù)據(jù)類型,并且只以C/C++語言API形式提供服務(wù),因而無法符合日漸復(fù)雜的數(shù)據(jù)存取應(yīng)用,也無法讓腳本語言使用。因此Microsoft除了ODBC之外,也推出了其他的數(shù)據(jù)存取技術(shù)以滿足程序員不同的需要。2.DAO1993年Microsoft為了讓程序員能夠存取Sqlserver數(shù)據(jù)庫,使用OLEAutomation技術(shù)封裝了JetEngine。這些使用JetEngine存取Sqlserver數(shù)據(jù)庫的OLEAutomationObject便稱為DataSqlserverObject(DAO)。DAO能夠存取xBase的數(shù)據(jù)庫以及Excel文件,并且能夠結(jié)合ODBC存取關(guān)系數(shù)據(jù)庫。但是DAO畢竟主要的設(shè)計(jì)目的是存取Sqlserver數(shù)據(jù)庫,因此DAO在存取Sqlserver數(shù)據(jù)庫時(shí)非常有效率,但是在存取其他的數(shù)據(jù)源時(shí)卻表現(xiàn)得不怎么好。目前DAO已經(jīng)慢慢接近維護(hù)的狀態(tài)。3.RDO由于DAO在結(jié)合ODBC存取關(guān)系數(shù)據(jù)庫時(shí)表現(xiàn)得并不好,因此在1995年Microsoft同樣以O(shè)LEAutomation技術(shù)直接封裝ODBCAPI,讓程序員能夠存取關(guān)系數(shù)據(jù)庫。這種數(shù)據(jù)存取技術(shù)便稱為RemoteDataObject(RDO)。Microsoft之所以推出RDO,是因?yàn)镺DBCAPI是非常復(fù)雜的API,許多程序員無法直接使用ODBCAPI來開發(fā)應(yīng)用程序,因此Microsoft以簡(jiǎn)化的RDO對(duì)象讓程序員能夠較為簡(jiǎn)單存取數(shù)據(jù)。此外,通過RDO,VB和腳本語言也能夠存取各種關(guān)系數(shù)據(jù)庫。不過目前RDO也已經(jīng)逐漸地被放棄了。4.OLE-DB隨著數(shù)據(jù)源日益復(fù)雜化,現(xiàn)今的應(yīng)用程序很可能需要從不同的數(shù)據(jù)源取得數(shù)據(jù),加以處理,再把處理過的數(shù)據(jù)輸出到另外一個(gè)數(shù)據(jù)源中。更麻煩的是這些數(shù)據(jù)源可能不是傳統(tǒng)的關(guān)系數(shù)據(jù)庫,而可能是Excel文件,Email或Internet/Intranet上的電子簽名信息。Microsoft為了讓應(yīng)用程序能夠以統(tǒng)一的方式存取各種不同的數(shù)據(jù)源,在1997年提出了UniversalDataSqlserver(UDA)架構(gòu)。UDA以COM技術(shù)為核心,協(xié)助程序員存取企業(yè)中各類不同的數(shù)據(jù)源。UDA以O(shè)LE-DB(屬于操作系統(tǒng)層次的軟件)作為技術(shù)的骨架。OLE-DB定義了統(tǒng)一的COM接口作為存取各類異質(zhì)數(shù)據(jù)源的標(biāo)準(zhǔn),并且封裝在一組COM對(duì)象之中。藉由OLE-DB,程序員就可以使用一致的方式來存取各種數(shù)據(jù)。5.ADOADO(ActiveXDataObject)是微軟新近推出的新一代數(shù)據(jù)訪問規(guī)范,其使用簡(jiǎn)便功能強(qiáng)大,在Delphi中其地位等同于一個(gè)和BDE并列的數(shù)據(jù)庫引擎。ADO是MDAC的應(yīng)用程序設(shè)計(jì)接口,從它的字面意思上可以看出,ADO和ActiveX技術(shù)密不可分,而ActiveX技術(shù)又和OLE,COM(組件對(duì)象模型,也由微軟提出,旨在實(shí)現(xiàn)軟件組件化)等技術(shù)有深厚的歷史淵源。OLEDB則是系統(tǒng)級(jí)的接口,定義了一套從關(guān)系數(shù)據(jù)庫及文件系統(tǒng)訪問數(shù)據(jù)的COM接口。2.2設(shè)計(jì)大綱經(jīng)過慎重考慮,并盡量使排課的速度加快,因此對(duì)各位教師和各班級(jí)都建立一個(gè)占用表,首先計(jì)算當(dāng)前要排課程的老師的已排課程占用情況,將其與排課班級(jí)的占用表進(jìn)行對(duì)比,獲取有用空間,即得到的空間都會(huì)適合,這樣使用隨機(jī)推舉的方式來自動(dòng)生成一個(gè)新位置,達(dá)到排課效果,并且不會(huì)造成沖突等情況的發(fā)生。排課作為系統(tǒng)的主要重點(diǎn),在編寫中就要盡量避免各種各樣的沖突和錯(cuò)誤發(fā)生,因此也需要經(jīng)過投入長(zhǎng)時(shí)間的測(cè)試與使用才能使程序的功能達(dá)到最好,速度最快。在課程表輸出方面,將采用目前最常用的報(bào)表形式來進(jìn)行輸出,并且同時(shí)使用VB中操作EXECL的方法將課程表輸出到EXECL自制的課程表模板文件中,并且同時(shí)可以實(shí)現(xiàn)打印,這樣用戶如果在認(rèn)為報(bào)表輸出的格式并不能讓您滿意的話,就可以根據(jù)自己的需要來修改EXECL的模板,達(dá)到課程表的完美輸出。第三章設(shè)計(jì)內(nèi)容3.1實(shí)現(xiàn)功能1掌握學(xué)校所有的課程和教師的信息。包括每門課程的時(shí)間、班級(jí)以及任課老師的姓名等。2針對(duì)不同的人員授予不同的權(quán)限。提供靈活的瀏覽、查詢功能??梢圆榭茨硞€(gè)系、某個(gè)班級(jí)所有課程的信息。3可以對(duì)一個(gè)或多個(gè)班級(jí)進(jìn)入課程管理與排課表管理,可以不限次的生成該班級(jí)課程表。4可以對(duì)課程進(jìn)行變動(dòng)管理。既可以手工排課,又可以實(shí)現(xiàn)自動(dòng)排序功能。

5幫助系統(tǒng)維護(hù)可以實(shí)現(xiàn):操作日志、重新登錄、打印設(shè)置(包括統(tǒng)計(jì)各種報(bào)表及打印等)、退出等操作。6提供一種或多種課程表輸出功能,并使用活動(dòng)的模板輸出功能,輸出樣式可以由用戶自定義。7實(shí)現(xiàn)功能全面化,由于每個(gè)學(xué)校或班級(jí)的每天課程數(shù)目或時(shí)間都不太一樣,實(shí)現(xiàn)智能計(jì)算總課程數(shù)目和管理對(duì)應(yīng)的時(shí)間段,并且根據(jù)每門課程的獨(dú)立分布式來進(jìn)行排列(例如:大學(xué)語文自動(dòng)排列的分布方式可以是周一至周六,那么系統(tǒng)就會(huì)自動(dòng)將其平均分布在周一至周六這些天里)8用戶管理:設(shè)置兩個(gè)級(jí)別用戶:管理員和普通用戶,管理員有權(quán)限操作系統(tǒng)中的所有數(shù)據(jù),普通用戶只能以執(zhí)行查詢,輸出之類的功能,無法對(duì)系統(tǒng)進(jìn)行實(shí)質(zhì)性的操作,用戶使用本系統(tǒng)之前必須先通過身份認(rèn)證(用戶級(jí)別、用戶名和密碼,密碼輸入有次數(shù)限制,連續(xù)三次輸入錯(cuò)誤密碼則鎖定該用戶)3.2功能與模塊的設(shè)計(jì)3.2.1設(shè)計(jì)思想本系統(tǒng)采用各班級(jí)獨(dú)立劃分管理,所有教師均可為任何班級(jí)服務(wù),各班級(jí)根據(jù)每天課程數(shù)目來進(jìn)行自動(dòng)排序,同時(shí)各教師允許教學(xué)多門課程,因此為了每名教師配置了時(shí)間占用表,只要與班級(jí)對(duì)應(yīng)的時(shí)間空間表未被占用,都可以參與排課,并根據(jù)用戶定義的要求排出課程。數(shù)據(jù)管理類:由于班級(jí),時(shí)間,教師,課程等信息都需要一個(gè)活動(dòng)的管理過程,因?yàn)樵诠?jié)省資源的情況下,將各數(shù)據(jù)所需要的代碼合并在一起進(jìn)行編寫和使用。系統(tǒng)啟動(dòng)畫面↓系統(tǒng)認(rèn)證↓排課系統(tǒng)主畫面3.2.2各模塊設(shè)計(jì)與分析此處中各模塊的設(shè)計(jì)與分析在以下各模塊數(shù)據(jù)流圖與程序中同步講解。3.2.3系統(tǒng)ER圖系統(tǒng)E-R圖說明:本系統(tǒng)是一個(gè)排課管理系統(tǒng),主要是根據(jù)班級(jí)為單位,利用班級(jí)與課程來進(jìn)行排課。班級(jí)與課程是一對(duì)多的關(guān)系,班級(jí)不能重復(fù),但是課程可以隨意出現(xiàn)任何班級(jí)。班級(jí)與班級(jí)課程信息之間也是一對(duì)多的關(guān)系,一個(gè)班級(jí),可以有很多不同的課程。班級(jí)與臨時(shí)生成課表是一對(duì)多的關(guān)系,一個(gè)班級(jí),只能有一個(gè)課程表,而排列的方式都同樣由班級(jí)獲得。其余的數(shù)據(jù)庫建立都是在讓系統(tǒng)方便使用的基礎(chǔ)上建立的,還有一個(gè)無需用戶手動(dòng)添加數(shù)據(jù)的,做為內(nèi)部參數(shù)來使用的表,這里就不用標(biāo)出的了。3.2.4數(shù)據(jù)字典數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫設(shè)計(jì)過程中不斷修改、充實(shí)完善的。明確地需求收集和分析作為數(shù)據(jù)庫設(shè)計(jì)的第一階段是十分重要的。這一階段收集到的基礎(chǔ)數(shù)據(jù)(用數(shù)據(jù)字典來表達(dá))和一組數(shù)據(jù)流程圖(DataFlowDiagram,簡(jiǎn)稱DFD)是下一步進(jìn)行概念設(shè)計(jì)的基礎(chǔ)。以下是本系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),因?qū)崿F(xiàn)使用方便的特點(diǎn),數(shù)據(jù)庫中的各字段列表直接用中文來表示,所以數(shù)據(jù)字典在以下數(shù)據(jù)庫設(shè)計(jì)中已經(jīng)沒有什么太大的必要。HYPERLINK詳見數(shù)據(jù)庫的設(shè)計(jì):3.3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫的概念數(shù)據(jù)庫是一種存儲(chǔ)數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行操作的工具。數(shù)據(jù)庫的作用在于組織和表達(dá)信息,簡(jiǎn)而言之,數(shù)據(jù)庫就是信息的集合。計(jì)算機(jī)的數(shù)據(jù)庫可以分為兩類:非關(guān)系數(shù)據(jù)庫(flat-file)和關(guān)系數(shù)據(jù)庫(relational)。關(guān)系數(shù)據(jù)庫中包含了多個(gè)數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個(gè)不同部分的術(shù)語,像記錄、域等。新建一個(gè)數(shù)據(jù)庫創(chuàng)建任何一個(gè)數(shù)據(jù)庫的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫,設(shè)計(jì)必須是靈活的、有邏輯的。創(chuàng)建一個(gè)數(shù)據(jù)庫結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計(jì)。創(chuàng)建一個(gè)數(shù)據(jù)庫的大體思路如下:1.標(biāo)識(shí)需要的數(shù)據(jù);2.收集被標(biāo)識(shí)的字段到表中;3.標(biāo)識(shí)主關(guān)鍵字字段;4.繪制一個(gè)簡(jiǎn)單的數(shù)據(jù)圖表;5.規(guī)范數(shù)據(jù);6.標(biāo)識(shí)指定字段的信息;7.創(chuàng)建物理表。3.2修改已建的數(shù)據(jù)庫數(shù)據(jù)庫的修改分為:添加、編輯和刪除記錄。這三種操作均可由Jsp創(chuàng)建的程序來完成,下面的章節(jié)將詳細(xì)描述實(shí)現(xiàn)的具體方法。實(shí)現(xiàn)數(shù)據(jù)庫之間的聯(lián)系數(shù)據(jù)庫之間的關(guān)系指明兩個(gè)庫之間共享一個(gè)共同的關(guān)鍵字值。一個(gè)連接是指一種虛擬的表,這種表是在當(dāng)用戶要求從相互關(guān)聯(lián)的各個(gè)不同的表中獲取信息時(shí)建立的,關(guān)鍵字段用于在相互連接的不同表中查找匹配的記錄。一個(gè)更高級(jí)的連接形式稱為自連接。這種連接是指一個(gè)表被連接到它自己的一個(gè)字段,或在不同的紀(jì)錄中由重復(fù)數(shù)據(jù)的組合字段。數(shù)據(jù)庫中有三種不同類型的關(guān)鍵字:主關(guān)鍵字、組合關(guān)鍵字和外關(guān)鍵字。在表中使用的關(guān)鍵字類型用于描述數(shù)據(jù)庫表示什么以及在數(shù)據(jù)庫中如何與其它的庫建立關(guān)系。在眾多的數(shù)據(jù)庫中,Microsoft的Sqlserver是操作最簡(jiǎn)單,使用最為廣泛的一種數(shù)據(jù)庫軟件,在單機(jī)上運(yùn)行有著方便、實(shí)用、操作員要求低等特點(diǎn)。在這里,我選擇了使用Sqlserver數(shù)據(jù)庫管理系統(tǒng),來開發(fā)一個(gè)小型的銷售管理系統(tǒng)。在系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)中,應(yīng)遵守以下的原則:①數(shù)據(jù)結(jié)構(gòu)的合理性。即數(shù)據(jù)文件的合理組織,數(shù)據(jù)元素的合理歸類和劃分,以及數(shù)據(jù)項(xiàng)的合理描述。②數(shù)據(jù)存儲(chǔ)的安全性。提高安全性的最為有效的措施是增加數(shù)據(jù)的冗余,而數(shù)據(jù)的大量冗余往往為維護(hù)數(shù)據(jù)的一致性帶來了困難。對(duì)此,根據(jù)實(shí)際需要進(jìn)行合理取舍,在盡量降低冗余的前提下,確保數(shù)據(jù)的安全性和可靠性。③維護(hù)和管理方便。存儲(chǔ)結(jié)構(gòu)的設(shè)計(jì),首先應(yīng)保證對(duì)數(shù)據(jù)進(jìn)行管理和維護(hù)上的方便,它是提高系統(tǒng)運(yùn)行效率的基礎(chǔ)。3.4數(shù)據(jù)表設(shè)計(jì)在使用Sqlserver創(chuàng)建“排課管理系統(tǒng)”數(shù)據(jù)庫系統(tǒng)中需要建立的數(shù)據(jù)表有:1登陸字段數(shù)據(jù)類型字段大小必填字段索引允許為空用戶名文本50是無否密碼文本50否有(無重復(fù))否權(quán)限文本50是無否2課程名字段數(shù)據(jù)類型字段大小必填字段索引允許為空課程名文本4否有(無重復(fù))是教師姓名文本50是無否3課程信息表字段數(shù)據(jù)類型字段大小必填字段索引允許為空課程名文本50否有(無重復(fù))否課節(jié)數(shù)數(shù)字長(zhǎng)整型是無是每周課數(shù)數(shù)字長(zhǎng)整型是無否需要周數(shù)數(shù)字長(zhǎng)整型是有(有重復(fù))否任課老師文本50否無否兩節(jié)課累排文本50否無否課程分布文本50否無否所屬班級(jí)文本50否無否4臨時(shí)生成表字段數(shù)據(jù)類型字段大小必填字段索引允許為空時(shí)間段文本50是無是星期一文本50否無是星期二文本50否無是星期三文本50否無是星期四文本50否無是星期五文本50否無是星期六文本50否無是星期日文本50否無是所屬班級(jí)文本50否無是自動(dòng)編號(hào)自動(dòng)編號(hào)是無否5課程占用表字段數(shù)據(jù)類型字段大小必填字段索引允許為空班級(jí)文本50是無否占用文本50否有(無重復(fù))否6系統(tǒng)日志字段數(shù)據(jù)類型字段大小必填字段索引允許為空用戶名文本50是無否時(shí)間文本50否無否操作記錄文本255否無否7系統(tǒng)設(shè)定字段數(shù)據(jù)類型字段大小必填字段索引允許為空每天課數(shù)數(shù)字長(zhǎng)整型是無否8占用字段數(shù)據(jù)類型字段大小必填字段索引允許為空教師姓名文本50是無否占用文本50否無否第四章系統(tǒng)流程圖設(shè)計(jì)與分析4.1登陸系統(tǒng)流程圖設(shè)計(jì)說明:進(jìn)入主界面后,等待操作用戶輸入用戶名和密碼,在輸入之后按確定進(jìn)入,驗(yàn)證用戶名和密碼,實(shí)現(xiàn)流程:(1)檢測(cè)數(shù)據(jù)庫中有無管理員帳號(hào),如果有,則等待用戶輸入用戶名和密碼,否則按程序本身自動(dòng)執(zhí)行插入命令,新建一個(gè)管理員用戶,并等待用戶輸入.(2)驗(yàn)證用戶名和密碼是否正確,錯(cuò)誤次數(shù)不能超過三次,超過三次則退出系統(tǒng)登陸界面(3)當(dāng)驗(yàn)證通過后,檢測(cè)該登陸用戶的管理權(quán)限,并設(shè)置變量傳值給主窗體.4.2主界面中課表生成部分流程圖4.2.1班級(jí)管理流程圖模塊設(shè)計(jì)說明:班級(jí)的操作部分是排課程序正常執(zhí)行的重要部分,班級(jí)的添加不允許有同名的班級(jí)出現(xiàn),而修改也不能做到修改班級(jí)名,班級(jí)名稱將作為不可修改的數(shù)據(jù)部分,而刪除部分,在刪除之前必須保證該班級(jí)的課表是否已經(jīng)生成,如果是,則需要注銷課程表,這樣做是讓該班級(jí)生成的課表占用教師空間的部分全部返回,這樣不會(huì)使教師的空間被反復(fù)占用,而最終導(dǎo)致錯(cuò)誤發(fā)生。4.2.2班級(jí)課程處理流程圖模塊設(shè)計(jì)說明:課程數(shù)據(jù)的添加,修改或刪除都會(huì)影響到已生成課程表的返回,因?yàn)樵诓僮髦氨匾WC課程表屬于未生成狀態(tài),如果當(dāng)前為生成狀態(tài),則需要注銷課程表,這樣才可以繼續(xù)操作。注:已生成課程表的返回:由于課程表排列好后,對(duì)應(yīng)的課程后教師的排課占用表都會(huì)有標(biāo)記標(biāo)明,如果這時(shí)修改了某此數(shù)據(jù)后,這教師的占用表并沒有恢復(fù)到未生成狀態(tài),這樣就會(huì)導(dǎo)致不可預(yù)知的錯(cuò)誤發(fā)生。4.2.3課表生成部分流程圖模塊設(shè)計(jì)說明:此處將執(zhí)行的數(shù)據(jù)分成很多小部分來執(zhí)行,這樣做可以在測(cè)試中便如發(fā)現(xiàn)問題,因?yàn)榕耪n系統(tǒng)的要求非常高,所以在程序?qū)崿F(xiàn)方面是以由簡(jiǎn)到繁的過程。(1)排課中要求的每周課程數(shù)相加不能超出定義的課表范圍,否則也將會(huì)出現(xiàn)死循環(huán)。(2)列出對(duì)應(yīng)課程教師的未被占用的排課列表和班級(jí)的課程占用表。(3)窮舉法列出以上兩者之間的共通點(diǎn),可用點(diǎn)。(4)最后通過循環(huán)隨機(jī)選擇來實(shí)現(xiàn)課程的定位與排列。(5)課程定位中不允許每天有相同的課程重復(fù),并按規(guī)定來執(zhí)行按什么樣的格式來排列,例如兩節(jié)連排,也就是說可以把該課程在同一天排在一起,可以實(shí)現(xiàn)兩節(jié)課連上,這是大學(xué)課表里最常用的一個(gè)功能。4.2.4報(bào)表輸出功能模塊設(shè)計(jì)說明:此處采用了兩種輸出方式,第一種是普通的報(bào)表方式輸出,可以實(shí)現(xiàn)一般的打印預(yù)覽等功能,第二種則是采用模板功能,用戶可以自由修改模板,前提是不可以更改數(shù)據(jù)位,其它的部分無論如何修改都沒有關(guān)系。4.3其它模塊設(shè)計(jì)說明(用戶管理模塊,時(shí)間段模塊,課程管理模塊)此處幾個(gè)模塊是經(jīng)過資源優(yōu)化將其與班級(jí)管理整合在一起的,此處工作流程基本上與班級(jí)管理的流程相同。4.4調(diào)課功能實(shí)現(xiàn)及設(shè)計(jì)說明由系統(tǒng)自動(dòng)排課生成的并不一定能完全達(dá)到用戶所想需要的效果,雖然在程序中解決了系統(tǒng)沖突的出現(xiàn),但是因?yàn)槟承┰蚨霈F(xiàn)臨時(shí)的原因都需要進(jìn)行調(diào)課,因此排課系統(tǒng)中除了自動(dòng)生成課表還必須有很靈活的調(diào)課功能才能讓系統(tǒng)更完整,也便如使用.此處調(diào)課是事先獲取系統(tǒng)有用資源空間,并在圖表中進(jìn)行背景色變色顯示,提示用戶該門課程可以調(diào)動(dòng)至變色顯示的地方,主要是通過班級(jí)的課程占用與該教師的排課占用情況進(jìn)行對(duì)比,尋找有利和適用的位置,并等待用戶進(jìn)行調(diào)課操作.執(zhí)行調(diào)課:在進(jìn)行以上操作后,計(jì)算機(jī)自動(dòng)等待用戶選擇系統(tǒng)列出的調(diào)課點(diǎn),在選擇某調(diào)課點(diǎn)后,系統(tǒng)自動(dòng)清除數(shù)據(jù)庫的中該課程的教師與當(dāng)前班級(jí)該處資源占用情況,并同時(shí)清除圖表中的資料,將其重新放置到新位置,并修改新地點(diǎn)的資源占用情況,最后將圖表的可調(diào)位置背景色還原回正常狀態(tài).第五章設(shè)計(jì)進(jìn)程3月13日:獲得畢業(yè)設(shè)計(jì)課題與論文規(guī)范3月14日:構(gòu)思后臺(tái)數(shù)據(jù)庫的內(nèi)容,前臺(tái)操作界面與實(shí)現(xiàn)大體的功能3月16日:創(chuàng)建數(shù)據(jù)庫后臺(tái),建立連接數(shù)據(jù)庫的模塊,創(chuàng)建主界面窗體,并初步使用數(shù)據(jù)處理3月17日:構(gòu)思資源優(yōu)化,對(duì)排課必須的功能進(jìn)行歸納并構(gòu)思采用排課方式3月21日:構(gòu)思采用教師與班級(jí)之間的資源占用表來進(jìn)行窮舉法排列,并通過隨機(jī)生成取得理想排課位置。3月24日:完成生成課表部分代碼,并進(jìn)行反復(fù)測(cè)試,尋找系統(tǒng)錯(cuò)誤部分,并加以修改。3月26日:開始加入班級(jí)課程添加,刪除,修改等代碼,并加以調(diào)試3月28日:為防止系統(tǒng)崩潰,加入系統(tǒng)還原代碼,注銷課程表代碼3月29日:開始編寫班級(jí)管理與用戶管理等部分的代碼,并加以整合4月1日:設(shè)計(jì)報(bào)表的輸出功能,并采用了EXECL電子表格作為模板的輸出功能4月3日:加入防錯(cuò)代碼,并進(jìn)行大范圍測(cè)試,減少程序出錯(cuò)機(jī)率4月5日:后期進(jìn)行美化效果處理4月8日:引用論文規(guī)范的模板,著手論文的完成4月14日:完成論文結(jié)論和總結(jié)確定了本系統(tǒng)的實(shí)用價(jià)值后,選用了目前最常用也最簡(jiǎn)便的sqlserver數(shù)據(jù)庫做為后臺(tái),鑒于ADO在很多程序里的廣泛應(yīng)用,使用ADO來連接數(shù)據(jù)庫將是最為適用的,并且在定義了ADO的連接模塊后,對(duì)于將來的升級(jí)也會(huì)很方便,只要修改一下連接源,就可以輕松的更換后臺(tái),sqlserver適用于單機(jī)版,當(dāng)想轉(zhuǎn)換為網(wǎng)絡(luò)版的SQL數(shù)據(jù)庫時(shí),就很容易做到為了減少系

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論