




已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)設(shè)計(jì)說明書基于JAVA的排課教務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)題目用一號(hào)黑體字,一行排不下可排兩行,居中。學(xué)生姓名學(xué)號(hào)學(xué)院系名專業(yè)指導(dǎo)教師2015年5月信息商務(wù)學(xué)院計(jì)算機(jī)系計(jì)算機(jī)科學(xué)與技術(shù)基于JAVA的排課教務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要選排課系統(tǒng)功能的設(shè)計(jì)上,學(xué)生選排課系統(tǒng)可以分為登錄、排課和選課3個(gè)子系統(tǒng)。登錄子系統(tǒng)區(qū)分排課者也即系統(tǒng)的管理者、教師和學(xué)生這三者的不同身份,給出不同的權(quán)限,在頁面中根據(jù)身份判斷其相應(yīng)具有的功能來使用這套系統(tǒng)。排課子系統(tǒng)主要供排課者使用,排課者可以在這里進(jìn)行一切與排課有關(guān)的活動(dòng)。選課系統(tǒng)主要供學(xué)生選課使用,在這里可以進(jìn)行與選課有關(guān)的活動(dòng);教師可在教師反饋系統(tǒng)中對(duì)排課者提出反饋意見,供排課者在排課時(shí)可參考使用。學(xué)生排課系統(tǒng)使用RATIONALROSE進(jìn)行UMI。建模;過程選擇使用JSP編寫腳本,在數(shù)據(jù)庫上考慮到快捷、有效,同時(shí)考慮到多臺(tái)服務(wù)器共同使用同一個(gè)數(shù)據(jù)庫的情況,這里選擇SQLSERVER2000作為數(shù)據(jù)庫服務(wù)器;對(duì)于網(wǎng)頁的服務(wù)器平臺(tái),這里選擇使用TOMCAT5O作為INTERNET服務(wù)器。關(guān)鍵詞智能排課系統(tǒng),UML,JSPINTHEPROCESSOFEDUCATIONALADMINISTRATIONMANAGEMENTABSTRACTTHEFUNCTIONALDESIGNOFSELECTEDARRANGEMENTSYSTEM,STUDENTSCHOOSEARRANGEMENTSYSTEMCANBEDIVIDEDINTOLOGIN,CURRICULUMANDELECTIVE3SUBSYSTEMSTHELOGINSUBSYSTEMDISTINGUISHCURRICULUMARRANGEMENTEG,SYSTEMADMINISTRATORS,TEACHERSANDSTUDENTSOFTHETHREEDIFFERENTIDENTITY,GIVEDIFFERENTPERMISSIONSONPAGEWITHTHEIRCORRESPONDINGIDENTITYJUDGMENTACCORDINGTOTHEFUNCTIONTOUSETHISSYSTEMMAINCOURSEFORTHEUSEOFTIMETABLINGSUBSYSTEM,CURRICULUMPERSONCANUNDERTAKEHEREANDALLTHEACTIVITIESRELATEDTOTHECOURSEMAINCOURSEFORSTUDENTSCOURSESYSTEM,HERECANBEUSEDWITHCOURSESRELATEDACTIVITIESTEACHERSCANBEINTEACHERSOFFEEDBACKSYSTEMS,THETIMETABLEFORFEEDBACKWHENTHECOURSECOURSEINREFERENCETOUSESTUDENTSCHOOSEARRANGEMENTSYSTEMRATIONALUMISTARTEDTOUSEMODELINGPROCESSCHOOSETOUSEJSPSCRIPTING,INADATABASEONCONSIDERATIONTOTHEQUICK,EFFECTIVE,ANDCONSIDERINGTHEMULTIPLESERVERSJOINTLYWITHTHESAMEDATABASE,HERETOCHOOSESQLSERVER2000ASDATABASESERVERFORWEBSERVERPLATFORM,HERETOCHOOSEUSETOMCAT5OASINTERNETSERVERKEYWORDSINTELLIGENTCOURSESARRANGINGMANAGEMENTSYSTEM,UML,JSP目錄摘要31系統(tǒng)概述411智能排課系統(tǒng)概述412智能排課系統(tǒng)的目的和意義42開發(fā)平臺(tái)的技術(shù)521JAVA簡(jiǎn)介522JSP簡(jiǎn)介623TOMCAT的介紹73系統(tǒng)分析531編程環(huán)境選擇532設(shè)計(jì)大綱74設(shè)計(jì)內(nèi)容941實(shí)現(xiàn)功能1042功能與模塊的設(shè)計(jì)1043數(shù)據(jù)庫設(shè)計(jì)1044數(shù)據(jù)表設(shè)計(jì)115系統(tǒng)流程圖設(shè)計(jì)與分析1451登陸系統(tǒng)流程圖1452主界面中課表生成部分流程圖14521班級(jí)管理流程圖14522班級(jí)課程處理流程圖15523課表生成部分流程圖16524報(bào)表輸出功能1753其它模塊設(shè)計(jì)說明186系統(tǒng)設(shè)計(jì)197結(jié)論和總結(jié)20致謝22參考文獻(xiàn)23附件程序清單1系統(tǒng)概述11智能排課系統(tǒng)概述智能排課系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以智能排課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件排課,這種管理方式存在著許多缺點(diǎn),如效率低、保密性差,另外時(shí)間一長,將產(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ǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高智能排課的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。12智能排課系統(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)品了。2開發(fā)平臺(tái)的技術(shù)21JAVA簡(jiǎn)介JAVA是目前最常用的計(jì)算機(jī)編程語言,也是主要的網(wǎng)絡(luò)開發(fā)語言之一。JAVA具有面向?qū)ο蟆⒎植际胶投嗑€程等先進(jìn)高級(jí)計(jì)算機(jī)語言的特點(diǎn),同時(shí)它還因可移植、安全性能高和網(wǎng)絡(luò)移動(dòng)性等逐漸成為一種行業(yè)標(biāo)準(zhǔn)。對(duì)于初次接觸計(jì)算機(jī)編程語言的人來說,JAVA語言簡(jiǎn)單易學(xué),不需要長時(shí)間的培訓(xùn)就可以編寫出適合現(xiàn)在企業(yè)或個(gè)人需要的程序。JAVA的特點(diǎn)1平臺(tái)無關(guān)性平臺(tái)無關(guān)性是指JAVA能運(yùn)行于不同的平臺(tái)。JAVA引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的JAVA接口之間。使用JAVA編寫的程序能在世界范圍內(nèi)共享。JAVA的數(shù)據(jù)類型與機(jī)器無關(guān),JAVA虛擬機(jī)(JAVAVIRTUALMACHINE)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)JAVA二進(jìn)制代碼的解釋執(zhí)行功能,提供于不同平臺(tái)的接口的。2安全性JAVA的編程類似C,學(xué)習(xí)過C的讀者將很快掌握J(rèn)AVA的精髓。JAVA舍棄了C的指針對(duì)存儲(chǔ)器地址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。JAVA對(duì)程序提供了安全管理器,防止程序的非法訪問。3面向?qū)ο驤AVA吸取了C面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,利用類的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維護(hù)性。類的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯,然后通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計(jì)和應(yīng)用上。JAVA提供了眾多的一般對(duì)象的類,通過繼承即可使用父類的方法。在JAVA中,類的繼承關(guān)系是單一的非多重的,一個(gè)子類只有一個(gè)父類,子類的父類又有一個(gè)父類。JAVA提供的OBJECT類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類為OBJECT類,OBJECT類功能強(qiáng)大,經(jīng)常會(huì)使用到它及其它派生的子類。4分布式JAVA建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺(tái)上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。5鍵壯性JAVA致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯(cuò)誤。JAVA自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。JAVA還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這些功能特征大大提高了開發(fā)JAVA應(yīng)用程序的周期。JAVA提供NULL指針檢測(cè)、數(shù)組邊界檢測(cè)、異常出口、BYTECODE校驗(yàn)。22JSP簡(jiǎn)介JSP是SUN公司推出的新一代網(wǎng)站開發(fā)語言,SUN公司借助自己在JAVA上的不凡造詣,將JAVA從JAVA應(yīng)用程序和JAVAAPPLET之外,又有新的碩果,就是JSP,JAVASERVERPAGE。JSP可以在SERVERLET和JAVABEAN的支持下,完成功能強(qiáng)大的站點(diǎn)程序。使用JSP技術(shù),WEB頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)識(shí)或者小腳本來產(chǎn)生頁面上的動(dòng)態(tài)內(nèi)容。產(chǎn)生內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JAVABEANS群組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端執(zhí)行。如果核心邏輯被封裝在標(biāo)識(shí)和BEANS中,那么其它人,如WEB管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的產(chǎn)生。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí),產(chǎn)生所請(qǐng)求的內(nèi)容(例如,通過存取JAVABEANS群組件,使用JDBC技術(shù)存取數(shù)據(jù)庫),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的WEB瀏覽器的完全可用性。絕大多數(shù)JSP頁面依賴于可重用且跨平臺(tái)的組件(如JAVABEANS或者ENTERPRISEJAVABEANS)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。WEB頁面開發(fā)人員不會(huì)都是熟悉腳本語言的程序設(shè)計(jì)人員。JAVASERVERPAGE技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容產(chǎn)生所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠存取和實(shí)例化JAVABEANS組件,設(shè)定或者檢索群組件屬性,下載APPLET,以及執(zhí)行用其它方法更難于編碼和耗時(shí)的功能。通過開發(fā)定制化標(biāo)識(shí)庫,JSP技術(shù)是可以擴(kuò)展的。今后,第三方開發(fā)人員和其它人員可以為常用功能建立自己的標(biāo)識(shí)庫。這使得WEB頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用。作為采用JAVA技術(shù)家族的一部分,以及JAVA2EE的一個(gè)成員,JSP技術(shù)能夠支持高度復(fù)雜的基于WEB的應(yīng)用。由于JSP頁面的內(nèi)置腳本語言是基于JAVA程序設(shè)計(jì)語言的,而且所有的JSP頁面都被編譯成為JAVASERVLET,JSP頁面就具有JAVA技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為JAVA平臺(tái)的一部分,JSP擁有JAVA程序設(shè)計(jì)語言“一次編寫,各處執(zhí)行”的特點(diǎn)。隨著越來越多的供貨商將JSP支持加入到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,修改工具或服務(wù)器并不影響目前的應(yīng)用。23TOMCAT的介紹TOMCAT是APACHEJAKARTA軟件組織的一個(gè)子項(xiàng)目,TOMCAT是一個(gè)JSP/SERVLET容器,它是在SUN公司的JSWDK(JAVASERVERWEBDEVELOPMENTKIT)基礎(chǔ)上發(fā)展起來的一個(gè)JSP和SERVLET規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),使用TOMCAT可以體驗(yàn)JSP和SERVLET的最新規(guī)范。經(jīng)過多年的發(fā)展,TOMCAT不僅是JSP和SERVLET規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),而且具備了很多商業(yè)JAVASERVLET容器的特性,并被一些企業(yè)用于商業(yè)用途。粗略地可以將SERVLET容器分為如下幾類獨(dú)立的SERVLET容器內(nèi)置有WEB服務(wù)器的一部分。指當(dāng)使用基于JAVA的WEB服務(wù)器的情形,例如SERVLET容器是JAVAWEBSERVER的一個(gè)部分。獨(dú)立的SERVLET容器是TOMCAT的默認(rèn)模式。大多數(shù)的WEB服務(wù)器并非基于JAVA,因此,我們可以得出如下兩種容器的模式。進(jìn)程內(nèi)的SERVLET容器SERVLET容器作為WEB服務(wù)器的插件和JAVA容器的實(shí)現(xiàn)。WEB服務(wù)器插件在內(nèi)部地址空間打開一個(gè)JVMJAVAVIRTUALMACHINE使JAVA容器得以在內(nèi)部運(yùn)行如有某個(gè)需要調(diào)用SERVLET的請(qǐng)求,插件將取得對(duì)此請(qǐng)求的控制并將他傳遞使用JNI給JAVA容器。進(jìn)程內(nèi)容器對(duì)于多線程,單進(jìn)程的服務(wù)器非常合適并且提供很好的運(yùn)行速度,但伸縮性有所不足。進(jìn)程外的SERVLET容器SERVLET容器運(yùn)行于WEB服務(wù)器之外的地址空間且作為WEB服務(wù)器的插件和JAVA容器的實(shí)現(xiàn)的結(jié)合WEB服務(wù)器插件和JAVA容器JVM使用IPC機(jī)制通常是TCP/IP進(jìn)行通訊當(dāng)一個(gè)調(diào)用SERVLET的請(qǐng)求到達(dá)時(shí),插件將取得對(duì)此請(qǐng)求的控制并將其傳遞使用IPC等給JAVA容器,進(jìn)程外容器的反應(yīng)時(shí)間或進(jìn)程外容器引擎不如進(jìn)程內(nèi)容器,但進(jìn)程外容器引擎在許多其他可比的范圍內(nèi)更好伸縮性,穩(wěn)定性等。TOMCAT既可作為獨(dú)立的容器主要是用于開發(fā)與調(diào)試又可作為對(duì)現(xiàn)有服務(wù)器的附加當(dāng)前支持APACHE,IIS和NETSCAPE服務(wù)器即任何時(shí)候配置TOMCAT你都必須決定如何應(yīng)用他,如選擇第二或第三種模式,你還需要安裝一個(gè)WEB服務(wù)器接口。3系統(tǒng)分析31編程環(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上使用了ADONET技術(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)用程序的一般步驟如下所示(1)建立數(shù)據(jù)庫(2)建立用戶界面(3)編寫代碼(4)調(diào)試運(yùn)行(5)編譯應(yīng)用程序(6)發(fā)布應(yīng)用程序界面設(shè)計(jì)(1)控件的位置(2)界面元素的一致性(3)保持界面的簡(jiǎn)明(4)使用顏色和圖像增加視覺的感染力(5)圖像和圖標(biāo)增加應(yīng)用程序的視覺上的趣味(6)選取字體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)化而得知。1ODBC1992年MICROSOFT和SYBASE、DIGITAL共同制定了ODBC標(biāo)準(zhǔn)接口,以單一的ODBCAPI來存取各種不同的數(shù)據(jù)庫。隨后ODBC便獲得了許多數(shù)據(jù)庫廠商和THIRDPARTY的支持而逐漸成為標(biāo)準(zhǔn)的數(shù)據(jù)存取技術(shù)。ODBC以當(dāng)時(shí)的業(yè)界標(biāo)準(zhǔn)規(guī)范X/OPENCALLLEVELINTERFACECLI和ISO/IEC90753CALLLEVELINTERFACESQL/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ù)以滿足程序員不同的需要。2DAO1993年MICROSOFT為了讓程序員能夠存取SQLSERVER數(shù)據(jù)庫,使用OLEAUTOMATION技術(shù)封裝了JETENGINE。這些使用JETENGINE存取SQLSERVER數(shù)據(jù)庫的OLEAUTOMATIONOBJECT便稱為DATASQLSERVEROBJECTDAO。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)。3RDO由于DAO在結(jié)合ODBC存取關(guān)系數(shù)據(jù)庫時(shí)表現(xiàn)得并不好,因此在1995年MICROSOFT同樣以O(shè)LEAUTOMATION技術(shù)直接封裝ODBCAPI,讓程序員能夠存取關(guān)系數(shù)據(jù)庫。這種數(shù)據(jù)存取技術(shù)便稱為REMOTEDATAOBJECTRDO。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)逐漸地被放棄了。4OLEDB隨著數(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年提出了UNIVERSALDATASQLSERVERUDA架構(gòu)。UDA以COM技術(shù)為核心,協(xié)助程序員存取企業(yè)中各類不同的數(shù)據(jù)源。UDA以O(shè)LEDB屬于操作系統(tǒng)層次的軟件作為技術(shù)的骨架。OLEDB定義了統(tǒng)一的COM接口作為存取各類異質(zhì)數(shù)據(jù)源的標(biāo)準(zhǔn),并且封裝在一組COM對(duì)象之中。藉由OLEDB,程序員就可以使用一致的方式來存取各種數(shù)據(jù)。5ADOADOACTIVEXDATAOBJECT是微軟新近推出的新一代數(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接口。32設(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)過投入長時(shí)間的測(cè)試與使用才能使程序的功能達(dá)到最好,速度最快。在課程表輸出方面,將采用目前最常用的報(bào)表形式來進(jìn)行輸出,并且同時(shí)使用VB中操作EXECL的方法將課程表輸出到EXECL自制的課程表模板文件中,并且同時(shí)可以實(shí)現(xiàn)打印,這樣用戶如果在認(rèn)為報(bào)表輸出的格式并不能讓您滿意的話,就可以根據(jù)自己的需要來修改EXECL的模板,達(dá)到課程表的完美輸出。4設(shè)計(jì)內(nèi)容41實(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ò)誤密碼則鎖定該用戶)42功能與模塊的設(shè)計(jì)421設(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)系統(tǒng)還原班級(jí)管理課程管理時(shí)間段設(shè)置用戶管理課表生成離開系統(tǒng)圖421排課系統(tǒng)實(shí)體圖422各模塊設(shè)計(jì)與分析此處中各模塊的設(shè)計(jì)與分析在以下各模塊數(shù)據(jù)流圖與程序中同步講解。423系統(tǒng)ER圖班級(jí)班級(jí)名稱輔導(dǎo)員教室號(hào)課程課程名教師姓名臨時(shí)生成課表時(shí)間段星期一星期二星期三星期四星期五星期六星期日班級(jí)自動(dòng)編號(hào)班級(jí)課程信息課程名課節(jié)數(shù)每周課數(shù)需要周數(shù)任課老師兩節(jié)課累排課程分布所屬班級(jí)1N1N1N從屬從屬從屬圖423系統(tǒng)ER圖系統(tǒng)ER圖說明本系統(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)出的了。424數(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)沒有什么太大的必要。詳見數(shù)據(jù)庫的設(shè)計(jì)43數(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ù)庫(FLATFILE)和關(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)建物理表。32修改已建的數(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ǔ)。44數(shù)據(jù)表設(shè)計(jì)在使用SQLSERVER創(chuàng)建“智能排課系統(tǒng)”數(shù)據(jù)庫系統(tǒng)中需要建立的數(shù)據(jù)表有441登錄表字段數(shù)據(jù)類型字段大小必填字段索引允許為空用戶名文本50是無否密碼文本50否有無重復(fù)否權(quán)限文本50是無否442課程表字段數(shù)據(jù)類型字段大小必填字段索引允許為空課程名文本4否有無重復(fù)是教師姓名文本50是無否443課程信息表字段數(shù)據(jù)類型字段大小必填字段索引允許為空課程名文本50否有無重復(fù)否課節(jié)數(shù)數(shù)字長整型是無是每周課數(shù)數(shù)字長整型是無否需要周數(shù)數(shù)字長整型是有有重復(fù)否任課老師文本50否無否兩節(jié)課累排文本50否無否課程分布文本50否無否所屬班級(jí)文本50否無否444臨時(shí)生成表字段數(shù)據(jù)類型字段大小必填字段索引允許為空時(shí)間段文本50是無是星期一文本50否無是星期二文本50否無是星期三文本50否無是星期四文本50否無是星期五文本50否無是星期六文本50否無是星期日文本50否無是所屬班級(jí)文本50否無是自動(dòng)編號(hào)自動(dòng)編號(hào)是無否續(xù)444臨時(shí)生成表平445課程占用表字段數(shù)據(jù)類型字段大小必填字段索引允許為空班級(jí)文本50是無否占用文本50否有無重復(fù)否446系統(tǒng)日志表字段數(shù)據(jù)類型字段大小必填字段索引允許為空用戶名文本50是無否時(shí)間文本50否無否操作記錄文本255否無否447系統(tǒng)設(shè)定表字段數(shù)據(jù)類型字段大小必填字段索引允許為空每天課數(shù)數(shù)字長整型是無否448占用表字段數(shù)據(jù)類型字段大小必填字段索引允許為空教師姓名文本50是無否占用文本50否無否5系統(tǒng)流程圖設(shè)計(jì)與分析51登陸系統(tǒng)流程圖登陸界面輸入用戶名和密碼退出系統(tǒng)驗(yàn)證帳號(hào)和密碼登入排課主界面YN3圖51登錄系統(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è)置變量傳值給主窗體52主界面中課表生成部分流程圖521班級(jí)管理流程圖班級(jí)管理添加保存修改刪除返回輸入數(shù)據(jù)驗(yàn)證重復(fù)執(zhí)行保存圖521班級(jí)管理流程圖模塊設(shè)計(jì)說明班級(jí)的操作部分是排課程序正常執(zhí)行的重要部分,班級(jí)的添加不允許有同名的班級(jí)出現(xiàn),而修改也不能做到修改班級(jí)名,班級(jí)名稱將作為不可修改的數(shù)據(jù)部分,而刪除部分,在刪除之前必須保證該班級(jí)的課表是否已經(jīng)生成,如果是,則需要注銷課程表,這樣做是讓該班級(jí)生成的課表占用教師空間的部分全部返回,這樣不會(huì)使教師的空間被反復(fù)占用,而最終導(dǎo)致錯(cuò)誤發(fā)生。522班級(jí)課程處理流程圖班級(jí)課程處理添加保存修改刪除輸入數(shù)據(jù)驗(yàn)證重復(fù)執(zhí)行保存課程是否生成提示并返回操作YN圖522班級(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ā)生。523課表生成部分流程圖生成課表顯示課程A注解A每周課程數(shù)是否大于課程表的表格數(shù)B退回以前曾生成的課程表,此操作達(dá)到將各位老師和該班級(jí)的排課占用情況返回到未生成狀態(tài)B進(jìn)入排課循環(huán)排課完成并退出Y退出N排課循環(huán)CC當(dāng)前所排課程與當(dāng)前班級(jí)的可排課位置生成D獲取隨機(jī)生成的位置對(duì)應(yīng)值,并利用獲取的值來計(jì)算課程表上對(duì)應(yīng)的橫向與縱向坐標(biāo)F根據(jù)用戶的設(shè)置來確定允許排課的課節(jié)數(shù)(例如允許同一課程兩節(jié)課連排,則可以進(jìn)行某個(gè)操作步驟),根據(jù)當(dāng)前需求,目前只開發(fā)2節(jié)課連排與單節(jié)課排列。G在當(dāng)前課程當(dāng)前節(jié)排列成功后,將會(huì)為該課程的教師的課程占用情況與班級(jí)的占用作修改,做個(gè)標(biāo)記DF2節(jié)課連排單節(jié)課排列G次數(shù)取決于課程總數(shù)是否再次循環(huán)允許幾節(jié)連排退出圖523課表生成部分流程圖模塊設(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è)功能。524報(bào)表輸出功能表524報(bào)表輸出功能表報(bào)表輸出AA通過班級(jí)來獲取對(duì)應(yīng)的生成課程表數(shù)據(jù)并賦值給某個(gè)打印變量或數(shù)據(jù)集B打開MDI窗體,并在其中顯示報(bào)表窗體,將該報(bào)表的數(shù)據(jù)源定義為A所賦值的語句變量B打印退出EXECL模板輸出A獲取模板并復(fù)制數(shù)據(jù)填入臨時(shí)文件保存臨時(shí)文件是否打印打印返回操作YN模塊設(shè)計(jì)說明此處采用了兩種輸出方式,第一種是普通的報(bào)表方式輸出,可以實(shí)現(xiàn)一般的打印預(yù)覽等功能,第二種則是采用模板功能,用戶可以自由修改模板,前提是不可以更改數(shù)據(jù)位,其它的部分無論如何修改都沒有關(guān)系。53其它模塊設(shè)計(jì)說明(用戶管理模塊,時(shí)間段模塊,課程管理模塊)此處幾個(gè)模塊是經(jīng)過資源優(yōu)化將其與班級(jí)管理整合在一起的,此處工作流程基本上與班級(jí)管理的流程相同。54調(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)課查詢可調(diào)點(diǎn)使可調(diào)位置變色獲取課程資料獲取教師對(duì)應(yīng)資源圖54調(diào)課功能圖此處調(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)6系統(tǒng)設(shè)計(jì)1管理員登陸管理員登入,輸入相應(yīng)的用戶名和密碼,程序中采用一個(gè)判斷,如果兩個(gè)其中一個(gè)為空或者填錯(cuò)都不能成功登入。界面和部分代碼如下圖61管理員登錄圖代碼如下STRINGSQL“SELECTFROMT_ADMINWHEREUSERNAMEANDUSERPW“OBJECTPARAMSUSERNAME,USERPWDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSTRYRESULTSETRSMYDBGETRSBOOLEANMARKRSNULL|RSNEXTFALSETRUEIFMARKFALSERESULT“NO“ELSERESULT“YES“TADMINADMINNEWTADMINADMINSETUSERIDRSGETINT“USERID“ADMINSETUSERNAMERSGETSTRING“USERNAME“ADMINSETUSERPWRSGETSTRING“USERPW“WEBCONTEXTCTXWEBCONTEXTFACTORYGETHTTPSESSIONSESSIONCTXGETSESSIONSESSIONSETATTRIBUTE“USERTYPE“,0SESSIONSETATTRIBUTE“ADMIN“,ADMINRSCLOSECATCHSQLEXCEPTIONESYSTEMOUTPRINTLN“登錄失敗“EPRINTSTACKTRACEFINALLYMYDBCLOSED2系統(tǒng)首頁后臺(tái)系統(tǒng)首頁面,其中采用了最新型的網(wǎng)頁“后退”,”前進(jìn)”刷新”,直接利用網(wǎng)頁代碼進(jìn)行操作。左邊是功能的目錄。界面和部分代碼如下圖62系統(tǒng)首頁圖代碼如下/ADMIN/TOPJSP“NAME“TOPFRAME“SCROLLING“NO“NORESIZE“NORESIZE“ID“TOPFRAME“/ADMIN/CENTERJSP“NAME“MAINFRAME“ID“MAINFRAME“/ADMIN/DOWNJSP“NAME“BOTTOMFRAME“SCROLLING“NO“NORESIZE“NORESIZE“ID“BOTTOMFRAME“/3管理員修改密碼管理員如要修改密碼,必須記住原先的密碼,程序中采用了一個(gè)判斷機(jī)制,如果原密碼輸入錯(cuò)誤,則不能修改密碼。進(jìn)一步提供了網(wǎng)站的安全。界面和部分代碼如下圖63管理員修改密碼圖代碼如下WEBCONTEXTCTXWEBCONTEXTFACTORYGETHTTPSESSIONSESSIONCTXGETSESSIONTADMINADMINTADMINSESSIONGETATTRIBUTE“ADMIN“STRINGSQL“UPDATET_ADMINSETUSERPWWHEREUSERID“OBJECTPARAMSUSERPWNEW,ADMINGETUSERIDDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSRETURN“YES“4專業(yè)管理專業(yè)管理功能,即可以添加專業(yè)名稱和簡(jiǎn)單的介紹,也可以對(duì)原有的記錄進(jìn)行修改和編輯,界面和部分代碼如下圖64專業(yè)管理圖代碼如下STRINGNAMEREQGETPARAMETER“NAME“STRINGJIESHAOREQGETPARAMETER“JIESHAO“STRINGDEL“NO“STRINGSQL“INSERTINTOT_ZHUANYEVALUES,“OBJECTPARAMSNAME,JIESHAO,DELDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“ZHUANYETYPEZHUANYEMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES5班級(jí)管理班級(jí)管理模塊,是一個(gè)兩個(gè)表相關(guān)聯(lián)的模塊,專業(yè)表和班級(jí)表。選擇相應(yīng)的專業(yè)添加相應(yīng)的班級(jí),界面和部分代碼如下圖65班級(jí)管理圖代碼如下PUBLICVOIDBANJIADDHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGNAMEREQGETPARAMETER“NAME“STRINGZHUANYE_IDREQGETPARAMETER“ZHUANYE_ID“STRINGDEL“NO“STRINGSQL“INSERTINTOT_BANJIVALUES,“OBJECTPARAMSNAME,ZHUANYE_ID,DELDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“BANJITYPEBANJIMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RESPUBLICVOIDBANJIDELHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGSQL“UPDATET_BANJISETDELYESWHEREID“INTEGERPARSEINTREQGETPARAMETER“ID“OBJECTPARAMSDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“BANJITYPEBANJIMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES6課程管理課程管理功能,即可以添加課程名稱和簡(jiǎn)單的介紹,也可以對(duì)原有的記錄進(jìn)行修改和編輯,界面和部分代碼如下圖66課程管理圖代碼如下PUBLICVOIDKECHENGADDHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGNAMEREQGETPARAMETER“NAME“STRINGJIESHAOREQGETPARAMETER“JIESHAO“STRINGDEL“NO“STRINGSQL“INSERTINTOT_KECHENGVALUES,“OBJECTPARAMSNAME,JIESHAO,DELDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“KECHENGTYPEKECHENGMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RESPUBLICVOIDKECHENGDELHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGSQL“UPDATET_KECHENGSETDELYESWHEREID“INTEGERPARSEINTREQGETPARAMETER“ID“OBJECTPARAMSDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“KECHENGTYPEKECHENGMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES7老師管理老師管理功能模塊,即可以要輸入相應(yīng)的教師號(hào),姓名等信息進(jìn)行添加,也可以對(duì)原有的記錄進(jìn)行修改和編輯,界面和部分代碼如下圖67老師管理圖代碼如下PUBLICVOIDTEAADDHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGBIANHAOREQGETPARAMETER“BIANHAO“STRINGNAMEREQGETPARAMETER“NAME“STRINGSEXREQGETPARAMETER“SEX“SYSTEMOUTPRINTLNREQGETPARAMETER“AGE“TRIMINTAGEINTEGERPARSEINTREQGETPARAMETER“AGE“STRINGDEL“NO“STRINGSQL“INSERTINTOT_TEAVALUES,“OBJECTPARAMSBIANHAO,NAME,SEX,AGE,DELDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“TEATYPETEAMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RESPUBLICVOIDTEADELHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGSQL“UPDATET_TEASETDELYESWHEREID“INTEGERPARSEINTREQGETPARAMETER“ID“OBJECTPARAMSDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“TEATYPETEAMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES8學(xué)生管理學(xué)生管理功能模
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三亞城市職業(yè)學(xué)院《稅法(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西財(cái)經(jīng)大學(xué)現(xiàn)代經(jīng)濟(jì)管理學(xué)院《幼兒科學(xué)教育與活動(dòng)指導(dǎo)一》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川輕化工大學(xué)《拼布工藝》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京警察學(xué)院《編劇基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江中醫(yī)藥大學(xué)《有機(jī)化學(xué)(醫(yī))》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津體育職業(yè)學(xué)院《機(jī)械制圖(上)》2023-2024學(xué)年第二學(xué)期期末試卷
- 私立華聯(lián)學(xué)院《自動(dòng)控制系統(tǒng)專業(yè)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 學(xué)前教育3分鐘故事教學(xué)指南
- 首都經(jīng)濟(jì)貿(mào)易大學(xué)《運(yùn)動(dòng)能力康復(fù)方案設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京工商大學(xué)《會(huì)計(jì)與稅收》2023-2024學(xué)年第二學(xué)期期末試卷
- 現(xiàn)代世界警察-江蘇警官學(xué)院中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 勞動(dòng)法律與職工維權(quán)課件
- 機(jī)械效率水平滑輪
- 中國文化遺產(chǎn)摘抄資料圓明園的內(nèi)容
- 汽車美容合作協(xié)議書
- 中美貿(mào)易戰(zhàn)解析
- 簡(jiǎn)版操作手冊(cè)-北森招聘
- 中國古代文學(xué)史 馬工程課件(下)06第七編明代文學(xué) 第五章 明代戲曲
- BIM技術(shù)在建筑工程管理中的應(yīng)用分析
- GB/T 13140.1-2008家用和類似用途低壓電路用的連接器件第1部分:通用要求
- GB/T 12962-2015硅單晶
評(píng)論
0/150
提交評(píng)論