計(jì)算機(jī)畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
計(jì)算機(jī)畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
計(jì)算機(jī)畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
計(jì)算機(jī)畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
計(jì)算機(jī)畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)大學(xué)學(xué)士學(xué)位論文【摘要】本系統(tǒng)運(yùn)用J2EE中的JSPMODEL2的MVC模型與Eclipse3.1.8+Tomcat5.0+JDK5.0+MSSQL的組合開發(fā)平臺(tái)測(cè)試。在系統(tǒng)設(shè)計(jì)、實(shí)施上運(yùn)用軟件工程的思想,完全依照瀑布模型來(lái)編寫設(shè)計(jì)文檔。利用流程圖、UML圖等工具來(lái)設(shè)計(jì)程序,以避免邏輯上的錯(cuò)誤。運(yùn)用PowerDesigner工具進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)以及JUnit工具進(jìn)行編寫測(cè)試用例,進(jìn)行單元測(cè)試和集成測(cè)試。在界面上運(yùn)用Ajax技術(shù)來(lái)實(shí)現(xiàn)XML文件存放數(shù)據(jù),并以人性化的控件完成復(fù)雜的業(yè)務(wù)流程。考慮到排課任務(wù)的繁重,設(shè)計(jì)了自動(dòng)排課算法,可以完成特定需求的排課。教務(wù)管理系統(tǒng)為學(xué)院機(jī)構(gòu),提供電子化解決方案。致力于構(gòu)建電子化領(lǐng)域中統(tǒng)一、規(guī)范、服務(wù)完善的技術(shù)平臺(tái)?!娟P(guān)鍵詞】J2EE,MODEL2,MVC,Ajax,自動(dòng)排課DesignandImplementationofEducationManageSystemofCollege【Abstract】TheSystemdevelopstestingplatformbyJSPMODEL2MVCofJ2EEandEclipse3.1.8+Tomcat5.0+JDK5.0+MSSQL.Thedesignandapplicationofsystemarebasedonsoftwareengineeringthoughts.ThedocumentiscompletelywrittenanddesignedaccordingtotheWaterfallModel.ItDesignsthesoftwareprogramwithflowchart,UMLcharttoavoidthelogicalerror.Atthebasisofdatabasedesigningandtestcasewriting,whichisbasedonthetoolofpowerdesignerandJunit,itteststhesoftwareprogram,includingunittestingandintegrationtesting.ThesystemutilizestechnologyofAjaxoninterfacetoachievethestorageofdatabyXMLfile,moreover,itcompletescomplicatedbusinessprocessbyHumanizedControl.Consideringtheheavytasksofcurriculumarrangement,thesystemwhichdesignsautomaticarrangementalgorithmcancompletecurriculumarrangementwithspecificalrequirements.TheEducationalManagementSystemProvidesElectronicSolutionsforeducationalinstitutions.Thesystemfocusesonestablishingaunified,standardizedandperfectservicetechnologyplatforminthefieldofelectronics.【Keywords】J2EE,MODEL2,MVC,Ajax,AutomaticCurriculumArrangement目錄第一章緒論(1)第二章系統(tǒng)開發(fā)理論基礎(chǔ)(2)2.1ECLIPSE簡(jiǎn)介(2)2.2JDK簡(jiǎn)介(2)2.3JSP和SERVLET區(qū)別(3)2.4TOMCAT簡(jiǎn)介(4)2.5AJAX簡(jiǎn)介(5)2.6MVC和MODEL2區(qū)別(5)2.7MVC如何工作(7)2.8JSTL簡(jiǎn)介(8)第三章系統(tǒng)需求分析(9)3.1說(shuō)明(9)3.2系統(tǒng)描述(9)3.3功能需求列表(9)3.4系統(tǒng)功能需求(10)3.5用戶界面需求(12)3.6軟硬件環(huán)境需求(13)3.7產(chǎn)品質(zhì)量需求(13)3.8系統(tǒng)開發(fā)技術(shù)(14)3.9B/S體系結(jié)構(gòu)(14)第四章系統(tǒng)概要設(shè)計(jì)(15)4.1設(shè)計(jì)說(shuō)明和原則(15)4.2總體設(shè)計(jì)結(jié)構(gòu)圖(15)4.3文檔目錄編排(16)4.4產(chǎn)品具體功能(17)第五章系統(tǒng)設(shè)計(jì)(19)5.1共用文件系(19)5.2MVC的設(shè)計(jì)(21)5.3分頁(yè)的分析與設(shè)計(jì)(23)5.4時(shí)間字符串簡(jiǎn)介(24)5.5權(quán)限問(wèn)題的分析與設(shè)計(jì)(24)5.6自動(dòng)排課分析與設(shè)計(jì)(24)5.7總結(jié)(25)第六章系統(tǒng)功能實(shí)現(xiàn)(26)6.1數(shù)據(jù)庫(kù)設(shè)計(jì)(26)6.2數(shù)據(jù)庫(kù)的命名規(guī)則(26)6.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)(27)6.4系統(tǒng)數(shù)據(jù)庫(kù)表匯總(28)6.5界面說(shuō)明(31)6.6登錄主頁(yè)面(31)6.7學(xué)生模塊(32)6.8老師模塊(32)6.9權(quán)限模塊(33)6.10教務(wù)管理員模塊(33)第七章結(jié)論(35)后記(36)參考文獻(xiàn):(37)附錄一:(38)大學(xué)學(xué)士學(xué)位論文第一章緒論隨著學(xué)校規(guī)模的不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息也成倍增長(zhǎng)。面對(duì)如此龐大的信息量,開發(fā)學(xué)生信息管理系統(tǒng)來(lái)提高學(xué)生管理工作的效率就成為必然。通過(guò)該系統(tǒng),可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢,從而減少管理方面的工作量。本系統(tǒng)能夠滿足各級(jí)中小學(xué)校建立基礎(chǔ)數(shù)據(jù)庫(kù)、日常管理、向上級(jí)部門上報(bào)報(bào)表數(shù)據(jù)等;可以實(shí)現(xiàn)教委對(duì)學(xué)校的實(shí)時(shí)監(jiān)控,增加各個(gè)學(xué)校管理的透明度,利于教育部門對(duì)各個(gè)學(xué)校的管理;可以實(shí)現(xiàn)老師與領(lǐng)導(dǎo),老師與學(xué)生,學(xué)生與學(xué)校,學(xué)生家長(zhǎng)與老師、學(xué)校之間的互動(dòng),有利對(duì)學(xué)生的教育管理;教務(wù)管理系統(tǒng)為學(xué)院機(jī)構(gòu),提供電子化解決方案。致力于構(gòu)建電子化領(lǐng)域中統(tǒng)一、規(guī)范、服務(wù)完善的技術(shù)平臺(tái)。在電子化教學(xué)中結(jié)合人力資源管理的理念,以人為本,由教學(xué)管理、考試管理、自動(dòng)排課,成績(jī)查詢,貫徹教學(xué)的整體流程。在電子化教學(xué)中將網(wǎng)絡(luò)技術(shù)與傳統(tǒng)教學(xué)相結(jié)合,為學(xué)院提供遠(yuǎn)程教育技術(shù)解決方案,將高質(zhì)量的教育服務(wù)延伸到社會(huì)的每一個(gè)角落。本系統(tǒng)正是為了實(shí)現(xiàn)教學(xué)管理電子化這一需求而開發(fā)。系統(tǒng)開發(fā)中運(yùn)用到了Eclipse、tomcat、JDK等開發(fā)工具與運(yùn)行環(huán)境,Ajax,WebModel2(MVC),Designpattern,Jstl等技術(shù)和知識(shí)。第二章系統(tǒng)開發(fā)理論基礎(chǔ)2.1Eclipse簡(jiǎn)介Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展Eclipse的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無(wú)縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用Java語(yǔ)言開發(fā)的,但它的用途并不限于Java語(yǔ)言;例如,支持諸如C/C++、COBOL和Eiffel等編程語(yǔ)言的插件已經(jīng)可用,或預(yù)計(jì)會(huì)推出。Eclipse框架還可用來(lái)作為與軟件開發(fā)無(wú)關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。Eclipse工作臺(tái)由幾個(gè)稱為視圖(view)的窗格組成,比如左上角的Navigator視圖。窗格的集合稱為透視圖(perspective)。默認(rèn)的透視圖是Resource透視圖,它是一個(gè)基本的通用視圖集,用于管理項(xiàng)目以及查看和編輯項(xiàng)目中的文件。2.2JDK簡(jiǎn)介JDK(JavaDevelopmentKit,Java開發(fā)包,Java開發(fā)工具)是一個(gè)寫Java的applet和應(yīng)用程序的程序開發(fā)環(huán)境。它由一個(gè)處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開發(fā)者編譯,調(diào)試和運(yùn)行用Java語(yǔ)言寫的applet和應(yīng)用程序所需的工具組成。JDK(JavaDevelopmentKit)是SunMicrosystems針對(duì)Java開發(fā)員的產(chǎn)品。自從Java推出以來(lái),JDK已經(jīng)成為使用最廣泛的JavaSDK(Softwaredevelopmentkit)。JDK包含的基本組件包括:1.javac–編譯器,將源程序轉(zhuǎn)成字節(jié)碼2.jar–打包工具,將相關(guān)的類文件打包成一個(gè)文件3.javadoc–文檔生成器,從源碼注釋中提取文檔4.jdb–debugger,查錯(cuò)工具JDK中還包括完整的JRE(JavaRuntimeEnvironment,Java運(yùn)行環(huán)境),也被稱為privateruntime。包括了用于產(chǎn)品環(huán)境的各種庫(kù)類,以及給開發(fā)員使用的補(bǔ)充庫(kù),如國(guó)際化的庫(kù)、IDL庫(kù)。JDK中還包括各種例子程序,用以展示JavaAPI中的各部分。從初學(xué)者角度來(lái)看,采用JDK開發(fā)Java程序能夠很快理解程序中各部分代碼之間的關(guān)系,有利于理解Java面向?qū)ο蟮脑O(shè)計(jì)思想。JDK的另一個(gè)顯著特點(diǎn)是隨著Java(J2EE、J2SE以及J2ME)版本的升級(jí)而升級(jí)。但它的缺點(diǎn)也是非常明顯的就是從事大規(guī)模企業(yè)級(jí)Java應(yīng)用開發(fā)非常困難,不能進(jìn)行復(fù)雜的Java軟件開發(fā),也不利于團(tuán)體協(xié)同開發(fā)。JDK一般有三種版本:SE(J2SE),standardedition,標(biāo)準(zhǔn)版,是我們通常用的一個(gè)版本EE(J2EE),enterpsiseedtion,企業(yè)版,使用這種JDK開發(fā)J2EE應(yīng)用程序ME(J2ME),microedtion,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序2.3Jsp和Servlet區(qū)別JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),其網(wǎng)址為/products/jsp。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送email等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無(wú)Plugin,無(wú)ActiveX,無(wú)JavaApplet,甚至無(wú)Frame。Jsp(JavaServerPage)是在普通Html中嵌入了Java代碼的一個(gè)腳本,在這一點(diǎn)上,它與其它的腳本語(yǔ)言(如Php)一樣,但它與其它語(yǔ)言不同的是:其它腳本語(yǔ)言由服務(wù)器直接解釋這個(gè)腳本,而Jsp則由Jsp容器(如Tomcat)首先將其轉(zhuǎn)化為Servlet,然后再調(diào)用Javac將Servlet編譯為Class文件。最終,服務(wù)器解釋的是Class文件。那么什么是Servlet呢?Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)面。它擔(dān)當(dāng)客戶請(qǐng)求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。Servlet是位于Web服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。Servlet其實(shí)是一個(gè)特殊的Java類,Servlet類一般從HttpServlet類繼承而來(lái),在這個(gè)類中至少要實(shí)現(xiàn)doGet或者doPost函數(shù),在這兩個(gè)函數(shù)中處理來(lái)自客戶的請(qǐng)求,然后將結(jié)果返回。Servlet和Jsp是Sun公司J2EE架構(gòu)中重要的部分。由于基于Java語(yǔ)言,因此其可以方便的調(diào)用功能強(qiáng)大的JavaAP(如JDBC)。2.4Tomcat簡(jiǎn)介Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界的地位。Tomcat最新版本是4.0x。4.0x與3.x的架構(gòu)不同,而是重新設(shè)計(jì)的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的實(shí)現(xiàn)了Servlet2.3和Jsp1.2規(guī)范。Tomcat提供了各種平臺(tái)的版本供下載,可以從上下載其源代碼版或者二進(jìn)制版。由于Java的跨平臺(tái)特性,基于Java的Tomcat也具有跨平臺(tái)性。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(WebArchive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來(lái)組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來(lái)不方便。在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問(wèn)這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問(wèn)將會(huì)很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問(wèn)這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)xml文件中。通過(guò)這個(gè)應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過(guò)Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁(yè)面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。2.5Ajax簡(jiǎn)介國(guó)內(nèi)通常的讀音為“阿賈克斯”和阿賈克斯足球隊(duì)讀音一樣。Web應(yīng)用的交互如Flickr,Backpack和Google在這方面已經(jīng)有質(zhì)的飛躍。這個(gè)術(shù)語(yǔ)源自描述從基于網(wǎng)頁(yè)的Web應(yīng)用到基于數(shù)據(jù)的應(yīng)用的轉(zhuǎn)換。在基于數(shù)據(jù)的應(yīng)用中,用戶需求的數(shù)據(jù)如聯(lián)系人列表,可以從獨(dú)立于實(shí)際網(wǎng)頁(yè)的服務(wù)端取得并且可以被動(dòng)態(tài)地寫入網(wǎng)頁(yè)中,給緩慢的Web應(yīng)用體驗(yàn)著色使之像桌面應(yīng)用一樣。雖然大部分開發(fā)人員在過(guò)去使用過(guò)XMLHttp或者使用Iframe來(lái)加載數(shù)據(jù),但僅到現(xiàn)在我們才看到傳統(tǒng)的開發(fā)人員和公司開始采用這些技術(shù)。就像新的編程語(yǔ)言或模型伴隨著更多的痛苦,開發(fā)人員需要學(xué)習(xí)新的技巧及如何最好利用這些新技術(shù)。Ajax(AsynchronousJavaScriptandXML)是結(jié)合了Java技術(shù)、XML以及JavaScript等編程技術(shù),可以讓開發(fā)人員構(gòu)建基于Java技術(shù)的Web應(yīng)用,并打破了使用頁(yè)面重載的慣例。Ajax是使用客戶端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開發(fā)方法。這樣,Web頁(yè)面不用打斷交互流程進(jìn)行重新加裁,就可以動(dòng)態(tài)地更新。使用Ajax,用戶可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動(dòng)態(tài)的Web用戶界面。2.6MVC和Model2區(qū)別模型-視圖-控制器(MVC)是XeroxPARC在八十年代為編程語(yǔ)言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2EE平臺(tái)的設(shè)計(jì)模式,并且受到越來(lái)越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型-視圖-控制器模式是一個(gè)有用的工具箱,它有很多好處,但也有一些缺點(diǎn)。Model2被認(rèn)為區(qū)別于MVC的一個(gè)原因是,觀察者/通知模式不能在web環(huán)境內(nèi)工作的很好。HTTP是一個(gè)“拉”的協(xié)議:客戶請(qǐng)求然后服務(wù)器響應(yīng)。沒有請(qǐng)求就沒有響應(yīng)。觀察者模式需要一種“推”協(xié)議來(lái)進(jìn)行通知,以便服務(wù)器能在模型改變時(shí)將信息推送到客戶端。雖然也有一些方法能模擬將數(shù)據(jù)推送到客戶端,但這和基本情況相悖,并且會(huì)視為是個(gè)權(quán)宜之計(jì)的修補(bǔ)。圖2-1MVC關(guān)系圖人們認(rèn)為Model2不同于MVC的主要原因之一是:基于觀察者/通知模式的經(jīng)典的MVC是難以在web環(huán)境下實(shí)現(xiàn)的。因?yàn)镠TTP協(xié)議是一個(gè)請(qǐng)求/響應(yīng)協(xié)議,客戶端有請(qǐng)求,服務(wù)器端才會(huì)有響應(yīng),沒有請(qǐng)求,就沒有響應(yīng)。而觀察者/通知模式要求在服務(wù)器端發(fā)生變化時(shí)能主動(dòng)給用戶端發(fā)消息更新。為了解決經(jīng)典MVC模式難于在web環(huán)境下實(shí)現(xiàn)的問(wèn)題,引入層模式將狀態(tài)改變和狀態(tài)查詢的職責(zé)加于控制器之上,并伴隨著改變通知。如圖1-2,分層的web應(yīng)用使用一種比傳統(tǒng)MVC模式更加“扁平”的模式??刂破鞅粖A在表現(xiàn)層(View)和應(yīng)用邏輯(Model)之間。圖2-2web應(yīng)用的層模式每個(gè)組件的主要職責(zé)并沒有改變。流程有輕微改變,View不再與Model有直接的聯(lián)系,而它們之間的交互都通過(guò)Controller。即查詢狀態(tài)和改變通知都必須通過(guò)控制器;當(dāng)視圖,或者表現(xiàn)層需要加工動(dòng)態(tài)頁(yè)面時(shí),它使用從控制器傳遞的數(shù)據(jù)而不是直接來(lái)自于模型層。這種改變?nèi)コ薞iew和Model的耦合,允許控制器選擇數(shù)據(jù)和顯示這些數(shù)據(jù)的視圖。2.7MVC如何工作MVC是Model-View-Controller的簡(jiǎn)寫。“Model”是應(yīng)用的業(yè)務(wù)邏輯(通過(guò)JavaBean,EJB組件實(shí)現(xiàn)),“View”是應(yīng)用的表示面(由JSP頁(yè)面產(chǎn)生),“Controller”是提供應(yīng)用的處理過(guò)程控制(一般是一個(gè)Servlet),通過(guò)這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過(guò)程和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。從而彌補(bǔ)了Model1的不足。Model2具有組件化的優(yōu)點(diǎn)從而更易于實(shí)現(xiàn)對(duì)大規(guī)模系統(tǒng)的開發(fā)和管理,但是開發(fā)MVC系統(tǒng)比簡(jiǎn)單的JSP開發(fā)要復(fù)雜許多,同時(shí)新東西的引入會(huì)帶來(lái)新的問(wèn)題(這讓我想起來(lái)關(guān)于"自動(dòng)計(jì)算"的一篇文章,中間提到為了降低系統(tǒng)的復(fù)雜度,卻導(dǎo)致更高的復(fù)雜度)。必須基于MVC組件的方式重新思考和設(shè)計(jì)應(yīng)用結(jié)構(gòu)。原來(lái)通過(guò)建立一個(gè)簡(jiǎn)單的JSP頁(yè)面就能實(shí)現(xiàn)的應(yīng)用現(xiàn)在變成了多個(gè)步驟的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程。MVC本身就是一個(gè)非常復(fù)雜的系統(tǒng),所以采用MVC實(shí)現(xiàn)Web應(yīng)用時(shí),最好選一個(gè)現(xiàn)成的MVC框架,在此之下進(jìn)行開發(fā),從而取得事半功倍的效果。MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。1.視圖視圖是用戶看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來(lái)說(shuō),視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括MacromediaFlash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語(yǔ)言和Webservices.如何處理應(yīng)用程序的界面變得越來(lái)越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。2.模型模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusionComponents這樣的構(gòu)件對(duì)象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。3.控制器控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁(yè)面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后用確定用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。2.8Jstl簡(jiǎn)介JSTL(JSPStandardTagLibrary,JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù))是一個(gè)不斷完善的開放源代碼的JSP標(biāo)簽庫(kù),是由apache的jakarta小組來(lái)維護(hù)的。JSTL只能運(yùn)行在支持JSP1.2和Servlet2.3規(guī)范的容器上,如tomcat4.x。在JSP2.0中也是作為標(biāo)準(zhǔn)支持的。JSTL是JspStandardTagLibrary的縮寫。這是一組通用標(biāo)簽并將成為JSP2.0的一部分。其中包含賦值,分支,循環(huán),查詢數(shù)據(jù)庫(kù),更新數(shù)據(jù)庫(kù)等。目前你需要像添加自定義標(biāo)簽庫(kù)一樣來(lái)添加JSTL,但是可以預(yù)計(jì)JSP2.0會(huì)將JSTL作為組成部分。標(biāo)簽庫(kù)可以在下載。注意JSTL需要在支持JSP1.2或更高版本的容器下運(yùn)行。第三章系統(tǒng)需求分析3.1說(shuō)明所謂“需求分析”,是指對(duì)要解決的問(wèn)題進(jìn)行詳細(xì)的分析,弄清楚問(wèn)題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么??梢哉f(shuō),“需求分析”就是確定要計(jì)算機(jī)“做什么”。在軟件工程中,需求分析指的是在建立一個(gè)新的或改變一個(gè)現(xiàn)存的電腦系統(tǒng)時(shí)描寫新系統(tǒng)的目的、范圍、定義和功能時(shí)所要做的所有的工作。需求分析是軟件工程中的一個(gè)關(guān)鍵過(guò)程。在這個(gè)過(guò)程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。需求分析旨在為項(xiàng)目的分析和開發(fā)提供參考。3.2系統(tǒng)描述本系統(tǒng)旨在用J2EE的B/S架構(gòu)為學(xué)院管理員、老師和學(xué)生開發(fā)WEB版的在線管理平臺(tái)。以減少他們的大量重復(fù)的繁瑣的工作。讓學(xué)生和老師有更多的時(shí)間專注于學(xué)習(xí)和工作。系統(tǒng)分為5個(gè)模塊。分別是權(quán)限模塊、教學(xué)模塊、學(xué)生模塊、老師模塊、考試模塊。各模塊又分為幾個(gè)子功能,模塊間耦合度較小。系統(tǒng)能夠滿足各級(jí)中小學(xué)校建立基礎(chǔ)數(shù)據(jù)庫(kù)、日常管理、向上級(jí)部門上報(bào)報(bào)表數(shù)據(jù)等;可以實(shí)現(xiàn)教委對(duì)學(xué)校的實(shí)時(shí)監(jiān)控,增加各個(gè)學(xué)校管理的透明度,利于教育部門對(duì)各個(gè)學(xué)校的管理;可以實(shí)現(xiàn)老師與領(lǐng)導(dǎo),老師與學(xué)生,學(xué)生與學(xué)校,學(xué)生家長(zhǎng)與老師、學(xué)校之間的互動(dòng),有利對(duì)學(xué)生的教育管理。3.3功能需求列表表3-1系統(tǒng)功能列表3.4系統(tǒng)功能需求3.4.1學(xué)生模塊學(xué)生登陸以后,可以選報(bào)課程。系統(tǒng)會(huì)根據(jù)學(xué)生所在系及課程的預(yù)修課判斷1.系統(tǒng)會(huì)列出所有滿足該生還未選報(bào)的課程,或者其預(yù)修課為公共課的課程。如果該生選報(bào)了未滿足預(yù)修課要求的課程,系統(tǒng)會(huì)有相關(guān)的錯(cuò)誤提示。例如:高等數(shù)學(xué)(二)的預(yù)修課為高等數(shù)學(xué)(一)。2.學(xué)生可以查看自己的成績(jī),包括該生已選課程的名稱,學(xué)分以及該生的總分。如果教師還未給出成績(jī),則系統(tǒng)會(huì)有相關(guān)提示。3.該生可以更改自己的個(gè)人信息,包括密碼,電話號(hào)碼等,其中要求密碼不能為空。4.學(xué)生課表,有時(shí)間,地點(diǎn),課程名,老師名,如果老師還沒有選擇課程而此時(shí)學(xué)生又查詢課表,老師名可以為空。圖3-1學(xué)生選課局部E-R圖3.4.2老師模塊教師可以修改自己的個(gè)人資料、查看學(xué)生、查看課表、進(jìn)行考試管理、更新考試試題等功能。教師在本系統(tǒng)中擁有是否接受學(xué)生所選課程,以及給學(xué)生打分的權(quán)力,只有先接受學(xué)生,才能給該生打分。1.系統(tǒng)要求教師選擇學(xué)生,然后系統(tǒng)會(huì)列出該教師所代課程的班級(jí),然后系統(tǒng)會(huì)列出選報(bào)了該課程的所有學(xué)生;可以看到學(xué)生的一些詳細(xì)情況2.學(xué)生考試完后,教師確認(rèn)學(xué)生成績(jī)之后,系統(tǒng)會(huì)根據(jù)總成績(jī)來(lái)判斷該生是否通過(guò)了考試。3.總成績(jī)是由考試成績(jī)×80%+平時(shí)成績(jī)×20%;考試成績(jī)由學(xué)生考完試后系統(tǒng)自動(dòng)打分,平時(shí)成績(jī)老師給出;平時(shí)成績(jī)占老成績(jī)的百分比由老師給出。4.考試成績(jī)和平時(shí)成績(jī)的分?jǐn)?shù)范圍0-100,老師課表,有時(shí)間,地點(diǎn),課程名,班級(jí)名。圖3-2教務(wù)管理系統(tǒng)基本E-R圖3.4.3教學(xué)管理員模塊1.管理員在本模塊中有著最高的權(quán)力,主要有學(xué)生管理、教師管理、班級(jí)管理等。包括新增,更改,刪除學(xué)生,教師,課程以及班級(jí)。2.管理員負(fù)責(zé)排課,要保證同一教師在同一時(shí)間不能上兩門課程等等約束。3.4.4考試模塊1.能從數(shù)據(jù)庫(kù)中隨機(jī)抽取所需專業(yè)的考試科目。2.學(xué)生考完后由教師進(jìn)行評(píng)分。3.4.5權(quán)根模塊1.所有web頁(yè)面需要頁(yè)面權(quán)限驗(yàn)證,對(duì)不同的模塊分配不同的訪問(wèn)權(quán)限。如:學(xué)生進(jìn)入學(xué)生模塊,而不能進(jìn)入管理員模塊;圖書管理員只能進(jìn)入圖書借閱模塊2.系統(tǒng)管理員可增刪改查其他管理員(教學(xué)管理員;BBS管理員;圖書管理員)3.系統(tǒng)管理員的用戶名和密碼可以預(yù)先在數(shù)據(jù)庫(kù)中設(shè)定。3.5用戶界面需求表3-2用戶界面需求表3.6軟硬件環(huán)境需求表3-3軟硬件環(huán)境需求表3.7產(chǎn)品質(zhì)量需求表3-4產(chǎn)品質(zhì)量需求表硬件配置:CPU:2.26GHZ;內(nèi)存:256M;硬盤:80G;軟件配置:操作系統(tǒng):WindowsXP/Windows2000;數(shù)據(jù)庫(kù):mySQL;JSP服務(wù)器:Tomcat;3.8系統(tǒng)開發(fā)技術(shù)本系統(tǒng)的設(shè)計(jì)綜合應(yīng)用了B/S體系結(jié)構(gòu)、SQLserver2000、JSP等技術(shù)。由于客戶服務(wù)器兩層結(jié)構(gòu)存在靈活性差、升級(jí)困難、維護(hù)工作量大等

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論