計算機畢業(yè)論文---教務(wù)管理系統(tǒng)設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  【摘 要】本系統(tǒng)運用J2EE中的JSP MODEL2的MVC 模型與Eclipse3.1.8 + Tomcat5.0 + JDK5.0 + MSSQL 的組合開發(fā)平臺測試。在系統(tǒng)設(shè)計、實施上運用軟件工程的思想,完全依照瀑布模型來編寫設(shè)計文檔。利用流程圖、UML圖等工具來設(shè)計程序,以避免邏輯上的錯誤。運用PowerDesigner工具進行數(shù)據(jù)庫的設(shè)計以及JUnit工具進行編寫測試用例,進行單元測試和集成測試。在界面上

2、運用Ajax技術(shù)來實現(xiàn)XML文件存放數(shù)據(jù),并以人性化的控件完成復(fù)雜的業(yè)務(wù)流程??紤]到排課任務(wù)的繁重,設(shè)計了自動排課算法,可以完成特定需求的排課。教務(wù)管理系統(tǒng)為學(xué)院機構(gòu),提供電子化解決方案。致力于構(gòu)建電子化領(lǐng)域中統(tǒng)一、規(guī)范、服務(wù)完善的技術(shù)平臺。</p><p>  【關(guān)鍵詞】J2EE,MODEL2,MVC,Ajax,自動排課</p><p>  Design and Implementati

3、on of Education Manage System of College</p><p>  【Abstract】The System develops testing platform by JSP MODEL2 MVC of J2EE and Eclipse3.1.8+Tomcat5.0+JDK5.0+MSSQL.The design and application of system are b

4、ased on software engineering thoughts.The document is completely written and designed according to the Waterfall Model.It Designs the software program with flow chart,UML chart to avoid the logical error.At the basis of

5、 database designing and test case writing, which is based on the tool of powerdesigner and Junit,it tests the software progr</p><p>  【Keywords】J2EE, MODEL2, MVC, Ajax, Automatic Curriculum Arrangement </

6、p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p><p>  第二章 系統(tǒng)開發(fā)理論基礎(chǔ)2</p><p>  2.1 Eclipse簡介2</p><p>  2.2 JDK簡介2</p><p>

7、;  2.3 Jsp和Servlet區(qū)別3</p><p>  2.4 Tomcat簡介4</p><p>  2.5 Ajax簡介5</p><p>  2.6 MVC和Model2區(qū)別5</p><p>  2.7 MVC如何工作7</p><p>  2.8 Jstl簡介8</p>&l

8、t;p>  第三章 系統(tǒng)需求分析9</p><p><b>  3.1 說明9</b></p><p>  3.2 系統(tǒng)描述9</p><p>  3.3 功能需求列表9</p><p>  3.4 系統(tǒng)功能需求10</p><p>  3.5 用戶界面需求12</p>

9、;<p>  3.6 軟硬件環(huán)境需求13</p><p>  3.7 產(chǎn)品質(zhì)量需求13</p><p>  3.8系統(tǒng)開發(fā)技術(shù)14</p><p>  3.9 B/S體系結(jié)構(gòu)14</p><p>  第四章 系統(tǒng)概要設(shè)計15</p><p>  4.1 設(shè)計說明和原則15</p>

10、<p>  4.2 總體設(shè)計結(jié)構(gòu)圖15</p><p>  4.3 文檔目錄編排16</p><p>  4.4 產(chǎn)品具體功能17</p><p>  第五章 系統(tǒng)設(shè)計19</p><p>  5.1 共用文件系19</p><p>  5.2 MVC的設(shè)計21</p><p

11、>  5.3 分頁的分析與設(shè)計23</p><p>  5.4 時間字符串簡介24</p><p>  5.5 權(quán)限問題的分析與設(shè)計24</p><p>  5.6 自動排課分析與設(shè)計24</p><p><b>  5.7 總結(jié)25</b></p><p>  第六章 系統(tǒng)功能實

12、現(xiàn)26</p><p>  6.1 數(shù)據(jù)庫設(shè)計26</p><p>  6.2 數(shù)據(jù)庫的命名規(guī)則26</p><p>  6.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計27</p><p>  6.4 系統(tǒng)數(shù)據(jù)庫表匯總28</p><p>  6.5 界面說明31</p><p>  6.6 登錄主頁面3

13、1</p><p>  6.7 學(xué)生模塊32</p><p>  6.8 老師模塊32</p><p>  6.9 權(quán)限模塊33</p><p>  6.10 教務(wù)管理員模塊33</p><p><b>  第七章 結(jié)論35</b></p><p><b&g

14、t;  后 記36</b></p><p><b>  參考文獻:37</b></p><p><b>  附錄一:38</b></p><p><b>  第一章 緒論</b></p><p>  隨著學(xué)校規(guī)模的不斷擴大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信

15、息也成倍增長。面對如此龐大的信息量,開發(fā)學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率就成為必然。通過該系統(tǒng),可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計和快速查詢,從而減少管理方面的工作量。</p><p>  本系統(tǒng)能夠滿足各級中小學(xué)校建立基礎(chǔ)數(shù)據(jù)庫、日常管理、向上級部門上報報表數(shù)據(jù)等;可以實現(xiàn)教委對學(xué)校的實時監(jiān)控,增加各個學(xué)校管理的透明度,利于教育部門對各個學(xué)校的管理;可以實現(xiàn)老師與領(lǐng)導(dǎo),老師與學(xué)生,學(xué)生與學(xué)校,學(xué)生家長與老

16、師、學(xué)校之間的互動,有利對學(xué)生的教育管理;</p><p>  教務(wù)管理系統(tǒng)為學(xué)院機構(gòu),提供電子化解決方案。致力于構(gòu)建電子化領(lǐng)域中統(tǒng)一、規(guī)范、服務(wù)完善的技術(shù)平臺。在電子化教學(xué)中結(jié)合人力資源管理的理念,以人為本,由教學(xué)管理、考試管理、自動排課,成績查詢,貫徹教學(xué)的整體流程。在電子化教學(xué)中將網(wǎng)絡(luò)技術(shù)與傳統(tǒng)教學(xué)相結(jié)合,為學(xué)院提供遠程教育技術(shù)解決方案,將高質(zhì)量的教育服務(wù)延伸到社會的每一個角落。本系統(tǒng)正是為了實現(xiàn)教學(xué)管理電

17、子化這一需求而開發(fā)。系統(tǒng)開發(fā)中運用到了Eclipse、tomcat、JDK等開發(fā)工具與運行環(huán)境,Ajax,Web Model2 (MVC),Design pattern,Jstl 等技術(shù)和知識。</p><p>  第二章 系統(tǒng)開發(fā)理論基礎(chǔ)</p><p>  2.1 Eclipse簡介</p><p>  Eclipse 是一個開放源代碼的、基于 Java 的可擴

18、展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。</p><p>  Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員,因為它允許他

19、們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。</p><p>  這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++、COBOL 和 Eiff

20、el 等編程語言的插件已經(jīng)可用,或預(yù)計會推出。Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。</p><p>  Eclipse 工作臺由幾個稱為 視圖(view) 的窗格組成,比如左上角的 Navigator 視圖。窗格的集合稱為 透視圖(perspective)。默認(rèn)的透視圖是 Resource 透視圖,它是一個基本的通用視圖集,用于管理項目以及查看和編輯項目中的文

21、件。</p><p><b>  2.2 JDK簡介</b></p><p>  JDK(Java Development Kit,Java開發(fā)包,Java開發(fā)工具)是一個寫Java的applet和應(yīng)用程序的程序開發(fā)環(huán)境。它由一個處于操作系統(tǒng)層之上的運行環(huán)境還有開發(fā)者編譯,調(diào)試和運行用Java語言寫的applet和應(yīng)用程序所需的工具組成。</p><

22、;p>  JDK(Java Development Kit)是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。</p><p>  JDK包含的基本組件包括:</p><p>  1. javac–編譯器,將源程序轉(zhuǎn)成字節(jié)碼</p><p

23、>  2. jar–打包工具,將相關(guān)的類文件打包成一個文件 </p><p>  3. javadoc–文檔生成器,從源碼注釋中提取文檔 </p><p>  4. jdb–debugger,查錯工具 </p><p>  JDK中還包括完整的JRE(Java Runtime Environment,Java運行環(huán)境),也被稱為private runtime。

24、包括了用于產(chǎn)品環(huán)境的各種庫類,以及給開發(fā)員使用的補充庫,如國際化的庫、IDL庫。 JDK中還包括各種例子程序,用以展示Java API中的各部分。 從初學(xué)者角度來看,采用JDK開發(fā)Java程序能夠很快理解程序中各部分代碼之間的關(guān)系,有利于理解Java面向?qū)ο蟮脑O(shè)計思想。JDK的另一個顯著特點是隨著Java (J2EE、J2SE以及J2ME)版本的升級而升級。但它的缺點也是非常明顯的就是從事大規(guī)模企業(yè)級Java應(yīng)用開發(fā)非常困難,不能進行復(fù)

25、雜的Java軟件開發(fā),也不利于團體協(xié)同開發(fā)。</p><p>  JDK一般有三種版本:</p><p>  SE(J2SE),standard edition,標(biāo)準(zhǔn)版,是我們通常用的一個版本</p><p>  EE(J2EE),enterpsise edtion,企業(yè)版,使用這種JDK開發(fā)J2EE應(yīng)用程序</p><p>  ME(J2M

26、E),micro edtion,主要用于移動設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序</p><p>  2.3 Jsp和Servlet區(qū)別</p><p>  JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),其網(wǎng)址為http://www.javasoft.com/products/jsp。在傳統(tǒng)的網(wǎng)頁HTML

27、文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Pl

28、ugin,無ActiveX,無Java Applet,甚至無Frame。 </p><p>  Jsp(JavaServer Page)是在普通Html中嵌入了Java代碼的一個腳本,在這一點上,它與其它的腳本語言(如Php)一樣,但它與其它語言不同的是:其它腳本語言由服務(wù)器直接解釋這個腳本,而Jsp則由Jsp容器(如Tomcat)首先將其轉(zhuǎn)化為Servlet,然后再調(diào)用Javac將Servlet編譯為Class

29、文件。最終,服務(wù)器解釋的是Class文件。</p><p>  那么什么是Servlet呢?Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序

30、不同,Servlet由Web服務(wù)器進行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機。Servlet其實是一個特殊的Java類,Servlet類一般從HttpServlet類繼承而來,在這個類中至少要實現(xiàn)doGet或者doPost函數(shù),在這兩個函數(shù)中處理來自客戶的請求,然后將結(jié)果返回。Servlet和Jsp是Sun公司J2EE架構(gòu)中重要的部分。由于基于Java語言,因此其可以方便的調(diào)用功能強大的Java AP(如JDBC

31、)。</p><p>  2.4 Tomcat簡介</p><p>  Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)

32、新的java產(chǎn)品,可見其在業(yè)界的地位。 </p><p>  Tomcat 最新版本是4.0x。4.0x與3.x的架構(gòu)不同,而是重新設(shè)計的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的實現(xiàn)了Servlet2.3和Jsp1.2規(guī)范。Tomcat提供了各種平臺的版本供下載,可以從http://jakarta.apache.org上下載其源代碼版或者二進制版。由于Java的跨平臺特性,基

33、于Java的Tomcat也具有跨平臺性。 </p><p>  與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個壓縮包。這個包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個WEB-INF目錄,這個目錄很重要。通常在WEB-INF目

34、錄下有一個web.xml文件和一個classes目錄,web.xml是這個應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來不方便。 </p><p>  在Tomcat中,應(yīng)用程序的部署很簡單,你只需

35、將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。你在瀏覽器中訪問這個應(yīng)用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會很快。另外Tomcat也提供了一個應(yīng)用:manager,訪問這個應(yīng)用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應(yīng)用,輔助于Ftp,你可以在遠程通過Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。 &l

36、t;/p><p>  Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。</p><p>  

37、2.5 Ajax簡介</p><p>  國內(nèi)通常的讀音為“阿賈克斯”和阿賈克斯足球隊讀音一樣。Web應(yīng)用的交互如Flickr, Backpack和Google在這方面已經(jīng)有質(zhì)的飛躍。這個術(shù)語源自描述從基于網(wǎng)頁的Web應(yīng)用到基于數(shù)據(jù)的應(yīng)用的轉(zhuǎn)換。在基于數(shù)據(jù)的應(yīng)用中,用戶需求的數(shù)據(jù)如聯(lián)系人列表,可以從獨立于實際網(wǎng)頁的服務(wù)端取得并且可以被動態(tài)地寫入網(wǎng)頁中,給緩慢的Web應(yīng)用體驗著色使之像桌面應(yīng)用一樣。 雖然大部分開發(fā)

38、人員在過去使用過XMLHttp或者使用Iframe來加載數(shù)據(jù),但僅到現(xiàn)在我們才看到傳統(tǒng)的開發(fā)人員和公司開始采用這些技術(shù)。就像新的編程語言或模型伴隨著更多的痛苦,開發(fā)人員需要學(xué)習(xí)新的技巧及如何最好利用這些新技術(shù)。</p><p>  Ajax(Asynchronous JavaScript and XML)是結(jié)合了 Java 技術(shù)、XML 以及 JavaScript 等編程技術(shù),可以讓開發(fā)人員構(gòu)建基于 Java 技

39、術(shù)的 Web 應(yīng)用,并打破了使用頁面重載的慣例。Ajax是使用客戶端腳本與 Web 服務(wù)器交換數(shù)據(jù)的 Web 應(yīng)用開發(fā)方法。這樣,Web 頁面不用打斷交互流程進行重新加裁,就可以動態(tài)地更新。使用 Ajax,用戶可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動態(tài)的 Web 用戶界面。</p><p>  2.6 MVC和Model2區(qū)別</p><p>  模型-視圖-控制器(MVC)是

40、Xerox PARC在八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計模式,至今已被廣泛使用。最近幾年被推薦為Sun公司J2EE平臺的設(shè)計模式,并且受到越來越多的使用 ColdFusion 和 PHP 的開發(fā)者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。</p><p>  Model 2 被認(rèn)為區(qū)別于MVC 的一個原因是,觀察者/通知模式不能在web 環(huán)境內(nèi)工作的

41、很好。HTTP 是一個“拉”的協(xié)議: 客戶請求然后服務(wù)器響應(yīng)。沒有請求就沒有響應(yīng)。觀察者模式需要一種“推”協(xié)議來進行通知,以便服務(wù)器能在模型改變時將信息推送到客戶端。雖然也有一些方法能模擬將數(shù)據(jù)推送到客戶端,但這和基本情況相悖,并且會視為是個權(quán)宜之計的修補。</p><p>  圖2-1 MVC關(guān)系圖</p><p>  人們認(rèn)為Model2不同于MVC的主要原因之一是:基于觀察者/通知模

42、式的經(jīng)典的MVC是難以在web環(huán)境下實現(xiàn)的。</p><p>  因為HTTP協(xié)議是一個請求/響應(yīng)協(xié)議,客戶端有請求,服務(wù)器端才會有響應(yīng),沒有請求,就沒有響應(yīng)。而觀察者/通知模式要求在服務(wù)器端發(fā)生變化時能主動給用戶端發(fā)消息更新。</p><p>  為了解決經(jīng)典MVC模式難于在web環(huán)境下實現(xiàn)的問題,引入層模式將狀態(tài)改變和狀態(tài)查詢的職責(zé)加于控制器之上,并伴隨著改變通知。</p>

43、<p>  如圖1-2,分層的web 應(yīng)用使用一種比傳統(tǒng)MVC模式更加“扁平”的模式。控制器被夾在表現(xiàn)層(View) 和 應(yīng)用邏輯 (Model)之間。</p><p>  圖2-2 web應(yīng)用的層模式</p><p>  每個組件的主要職責(zé)并沒有改變。流程有輕微改變,View不再與Model有直接的聯(lián)系,而它們之間的交互都通過Controller。即查詢狀態(tài)和改變通知都必須

44、通過控制器;當(dāng)視圖,或者表現(xiàn)層需要加工動態(tài)頁面時,它使用從控制器傳遞的數(shù)據(jù)而不是直接來自于模型層。這種改變?nèi)コ薞iew 和 Model的耦合,允許控制器選擇數(shù)據(jù)和顯示這些數(shù)據(jù)的視圖。</p><p>  2.7 MVC如何工作</p><p>  MVC是Model-View-Controller的簡寫?!癕odel”是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean,EJB組件實現(xiàn)),“View”

45、是應(yīng)用的表示面(由JSP頁面產(chǎn)生),“Controller”是提供應(yīng)用的處理過程控制(一般是一個Servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。從而彌補了Model 1的不足。   </p><p>  Model 2具有組件化的優(yōu)點從而更易于實現(xiàn)對大規(guī)模系統(tǒng)的開發(fā)和管理,但是開發(fā)MVC系統(tǒng)比簡單的JSP開發(fā)要復(fù)雜許多,同時新東西的引入會帶

46、來新的問題(這讓我想起來關(guān)于"自動計算"的一篇文章,中間提到為了降低系統(tǒng)的復(fù)雜度,卻導(dǎo)致更高的復(fù)雜度)。必須基于MVC組件的方式重新思考和設(shè)計應(yīng)用結(jié)構(gòu)。原來通過建立一個簡單的JSP頁面就能實現(xiàn)的應(yīng)用現(xiàn)在變成了多個步驟的設(shè)計和實現(xiàn)過程。</p><p>  MVC本身就是一個非常復(fù)雜的系統(tǒng),所以采用MVC實現(xiàn)Web應(yīng)用時,最好選一個現(xiàn)成的MVC框架,在此之下進行開發(fā),從而取得事半功倍的效果。MV

47、C是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。</p><p><b>  1. 視圖</b></p><p>  視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色

48、,但一些新的技術(shù)已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標(biāo)識語言和Web services.如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。</p><p><b>

49、  2. 模型</b></p><p>  模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復(fù)性。</p><

50、;p><b>  3. 控制器</b></p><p>  控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后用確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。</p><p>  2.8 Jstl簡介</p>

51、<p>  JSTL(JSP Standard Tag Library,JSP標(biāo)準(zhǔn)標(biāo)簽庫)是一個不斷完善的開放源代碼的JSP標(biāo)簽庫,是由apache的jakarta小組來維護的。JSTL只能運行在支持JSP1.2和Servlet2.3規(guī)范的容器上,如tomcat 4.x。在JSP 2.0中也是作為標(biāo)準(zhǔn)支持的。</p><p>  JSTL是Jsp Standard Tag Library的縮寫。這是一組

52、通用標(biāo)簽并將成為JSP 2.0的一部分。其中包含賦值<c:set>,分支<c:if>,循環(huán)<c:forEach>,查詢數(shù)據(jù)庫<sql:query>,更新數(shù)據(jù)庫<sql:update>等。目前你需要像添加自定義標(biāo)簽庫一樣來添加JSTL,但是可以預(yù)計JSP 2.0會將JSTL作為組成部分。標(biāo)簽庫可以在http://jakarta.apache.org下載。注意JSTL需要在支持JS

53、P1.2或更高版本的容器下運行。</p><p>  第三章 系統(tǒng)需求分析</p><p><b>  3.1 說明</b></p><p>  所謂“需求分析”,是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么??梢哉f,“需求分析”就是確定要計算機“做什么”。</p>&l

54、t;p>  在軟件工程中,需求分析指的是在建立一個新的或改變一個現(xiàn)存的電腦系統(tǒng)時描寫新系統(tǒng)的目的、范圍、定義和功能時所要做的所有的工作。需求分析是軟件工程中的一個關(guān)鍵過程。在這個過程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。需求分析旨在為項目的分析和開發(fā)提供參考。</p><p><b>  3.2 系統(tǒng)描述</b></

55、p><p>  本系統(tǒng)旨在用J2EE的B/S架構(gòu)為學(xué)院管理員、老師和學(xué)生開發(fā)WEB版的在線管理平臺。以減少他們的大量重復(fù)的繁瑣的工作。讓學(xué)生和老師有更多的時間專注于學(xué)習(xí)和工作。系統(tǒng)分為5個模塊。分別是權(quán)限模塊、教學(xué)模塊、學(xué)生模塊、老師模塊、考試模塊。各模塊又分為幾個子功能,模塊間耦合度較小。</p><p>  系統(tǒng)能夠滿足各級中小學(xué)校建立基礎(chǔ)數(shù)據(jù)庫、日常管理、向上級部門上報報表數(shù)據(jù)等;可以實

56、現(xiàn)教委對學(xué)校的實時監(jiān)控,增加各個學(xué)校管理的透明度,利于教育部門對各個學(xué)校的管理;可以實現(xiàn)老師與領(lǐng)導(dǎo),老師與學(xué)生,學(xué)生與學(xué)校,學(xué)生家長與老師、學(xué)校之間的互動,有利對學(xué)生的教育管理。</p><p>  3.3 功能需求列表</p><p>  表3-1 系統(tǒng)功能列表</p><p>  3.4 系統(tǒng)功能需求</p><p>  3.4.1 學(xué)生

57、模塊</p><p>  學(xué)生登陸以后,可以選報課程。系統(tǒng)會根據(jù)學(xué)生所在系及課程的預(yù)修課判斷</p><p>  系統(tǒng)會列出所有滿足該生還未選報的課程,或者其預(yù)修課為公共課的課程。如果該生選報了未滿足預(yù)修課要求的課程,系統(tǒng)會有相關(guān)的錯誤提示。例如:高等數(shù)學(xué)(二)的預(yù)修課為高等數(shù)學(xué)(一)。</p><p>  學(xué)生可以查看自己的成績,包括該生已選課程的名稱,學(xué)分以及該

58、生的總分。如果教師還未給出成績,則系統(tǒng)會有相關(guān)提示。</p><p>  3.該生可以更改自己的個人信息,包括密碼,電話號碼等,其中要求密碼不能為空。</p><p>  4.學(xué)生課表,有時間,地點,課程名,老師名,如果老師還沒有選擇課程而此時學(xué)生又查詢課表,老師名可以為空。</p><p>  圖 3-1 學(xué)生選課局部E-R圖</p><p&g

59、t;<b>  3.4.2老師模塊</b></p><p>  教師可以修改自己的個人資料、查看學(xué)生、查看課表、進行考試管理、更新考試試題等功能。教師在本系統(tǒng)中擁有是否接受學(xué)生所選課程,以及給學(xué)生打分的權(quán)力,只有先接受學(xué)生,才能給該生打分。 </p><p>  1. 系統(tǒng)要求教師選擇學(xué)生,然后系統(tǒng)會列出該教師所代課程的班級,然后系統(tǒng)會列出選報了該課程的所有學(xué)生;可

60、以看到學(xué)生的一些詳細情況</p><p>  2. 學(xué)生考試完后,教師確認(rèn)學(xué)生成績之后,系統(tǒng)會根據(jù)總成績來判斷該生是否通過了考試。</p><p>  3. 總成績是由考試成績×80%+平時成績×20%;考試成績由學(xué)生考完試后系統(tǒng)自動打分,平時成績老師給出;平時成績占老成績的百分比由老師給出。</p><p>  4. 考試成績和平時成績的分?jǐn)?shù)范

61、圍0-100,老師課表,有時間,地點,課程名, 班級名。</p><p>  圖3-2教務(wù)管理系統(tǒng)基本E-R圖</p><p>  3.4.3 教學(xué)管理員模塊</p><p>  1. 管理員在本模塊中有著最高的權(quán)力,主要有學(xué)生管理、教師管理、班級管理等。包括新增,更改,刪除學(xué)生,教師,課程以及班級。</p><p>  2. 管理員負(fù)責(zé)排課

62、,要保證同一教師在同一時間不能上兩門課程等等約束。</p><p>  3.4.4 考試模塊</p><p>  1. 能從數(shù)據(jù)庫中隨機抽取所需專業(yè)的考試科目。</p><p>  2. 學(xué)生考完后由教師進行評分。</p><p>  3.4.5 權(quán)根模塊</p><p>  1. 所有web頁面需要頁面權(quán)限驗證,對不

63、同的模塊分配不同的訪問權(quán)限。如:學(xué)生進入學(xué)生模塊,而不能進入管理員模塊;圖書管理員只能進入圖書借閱模塊</p><p>  2. 系統(tǒng)管理員可增刪改查其他管理員(教學(xué)管理員;BBS管理員;圖書管理員)</p><p>  3. 系統(tǒng)管理員的用戶名和密碼可以預(yù)先在數(shù)據(jù)庫中設(shè)定。</p><p>  3.5 用戶界面需求</p><p>  表3

64、-2 用戶界面需求表</p><p>  3.6 軟硬件環(huán)境需求</p><p>  表3-3 軟硬件環(huán)境需求表</p><p>  3.7 產(chǎn)品質(zhì)量需求</p><p>  表3-4 產(chǎn)品質(zhì)量需求表</p><p><b>  硬件配置:</b></p><p>  CP

65、U:2.26GHZ;</p><p><b>  內(nèi)存:256M;</b></p><p><b>  硬盤:80G;</b></p><p><b>  軟件配置:</b></p><p>  操作系統(tǒng):Windows XP/Windows 2000;</p>

66、<p>  數(shù)據(jù)庫:mySQL;</p><p>  JSP服務(wù)器:Tomcat;</p><p><b>  3.8系統(tǒng)開發(fā)技術(shù)</b></p><p>  本系統(tǒng)的設(shè)計綜合應(yīng)用了B/S體系結(jié)構(gòu)、SQL server 2000、JSP等技術(shù)。</p><p>  由于客戶服務(wù)器兩層結(jié)構(gòu)存在靈活性差、升級困難

67、、維護工作量大等缺陷,已較難適應(yīng)當(dāng)前信息技術(shù)與網(wǎng)絡(luò)技術(shù)發(fā)展的需要。隨著WEB技術(shù)的日益成為Browse/Serve r(簡稱B/S)結(jié)構(gòu)已成為取代Client/Server(簡稱C/S)結(jié)構(gòu)的一種全新技術(shù)。因此該結(jié)構(gòu)在管理信息系統(tǒng)開發(fā)領(lǐng)域中獲得飛速發(fā)展,成為應(yīng)用軟件研制中一種流行的體系結(jié)構(gòu)。</p><p>  3.9 B/S體系結(jié)構(gòu)</p><p>  在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏

68、覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機的工作,客戶機上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由Web Server完成。實際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機的任務(wù)中分離出來,由Web服務(wù)器單獨組成

69、一層來負(fù)擔(dān)其任務(wù),這樣客戶機的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。</p><p>  這種三層結(jié)構(gòu)層與層之間相互獨立,任何一層的改變不影響其他層的功能。</p><p>  三層B/S結(jié)構(gòu)將應(yīng)用的三個部分明確的分開:表示部分、應(yīng)用邏輯部分、數(shù)據(jù)訪問部分。這三個部分在邏輯上獨立的分開,分別加以實現(xiàn),稱之為:客戶端、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器。而在客戶端和應(yīng)用服務(wù)器之間加入一個WEB服務(wù)器

70、,就形成了一種特殊的B/S結(jié)構(gòu):Browser/Server,只在客戶端安裝瀏覽器軟件即可。客戶端使用Internet Explore時,就可以讓Internet Explore變成為能夠處理數(shù)據(jù)的應(yīng)用系統(tǒng)。</p><p>  由于這種模式是提供一個跨平臺的、簡單一致的應(yīng)用環(huán)境,實現(xiàn)了開發(fā)系統(tǒng)與應(yīng)用系統(tǒng)的分離,因此避免了為多重不同的操作系統(tǒng)開發(fā)同一應(yīng)用系統(tǒng)的重復(fù)操作,便于用戶群的擴展、變化以及應(yīng)用系統(tǒng)的管理。&

71、lt;/p><p>  第四章 系統(tǒng)概要設(shè)計</p><p>  4.1 設(shè)計說明和原則</p><p>  概要設(shè)計的主要任務(wù)是把需求分析得到的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。設(shè)計軟件結(jié)構(gòu)的具體任務(wù)是:將一個復(fù)雜系統(tǒng)按功能進行模塊劃分、建立模塊的層次結(jié)構(gòu)及調(diào)用關(guān)系、確定模塊間的接口及人機界面等。數(shù)據(jù)結(jié)構(gòu)設(shè)計包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫的設(shè)計。&l

72、t;/p><p>  系統(tǒng)的總體設(shè)計滿足以下幾個原則:</p><p>  1. 產(chǎn)品化:制造標(biāo)準(zhǔn)的產(chǎn)品,保證產(chǎn)品功能和產(chǎn)品質(zhì)量:“零客戶端安裝”,安裝和維護僅限于服務(wù)器端,縮短實施部署時間;提供產(chǎn)品升級服務(wù),讓客戶一次投資終生受益,提供周全的產(chǎn)品售后服務(wù)。</p><p>  2. 易用性:人性化的菜單項目、方便快捷的員工服務(wù)項目,保證用戶可無障礙的學(xué)習(xí)和使用系統(tǒng)。&

73、lt;/p><p>  3. 技術(shù)的先進性和成熟性:系統(tǒng)在成熟的(J2EE架構(gòu))架構(gòu)上開發(fā),確保技術(shù)的先進性和成熟性,具有良好的可持續(xù)擴展能力。確保產(chǎn)品的平臺化設(shè)計原則順利進行。</p><p>  4. 產(chǎn)品平臺化:以平臺化原則來設(shè)計產(chǎn)品,制定統(tǒng)一的接口標(biāo)準(zhǔn)和規(guī)范,利于產(chǎn)品功能的完善和升級。</p><p>  4.2 總體設(shè)計結(jié)構(gòu)圖</p><p

74、>  圖4-1 總體設(shè)計結(jié)構(gòu)圖</p><p>  本系統(tǒng)能夠滿足各級中小學(xué)校建立基礎(chǔ)數(shù)據(jù)庫、日常管理、向上級部門上報報表數(shù)據(jù)等;可以實現(xiàn)教委對學(xué)校的實時監(jiān)控,增加各個學(xué)校管理的透明度,利于教育部門對各個學(xué)校的管理;可以實現(xiàn)老師與領(lǐng)導(dǎo),老師與學(xué)生,學(xué)生與學(xué)校,學(xué)生家長與老師、學(xué)校之間的互動,有利對學(xué)生的教育管理;在電子化教學(xué)中結(jié)合人力資源管理的理念,以人為本,由教學(xué)管理、考試管理、自動排課,成績查詢,貫徹教

75、學(xué)的整體流程。在電子化教學(xué)中將網(wǎng)絡(luò)技術(shù)與傳統(tǒng)教學(xué)相結(jié)合,為學(xué)院提供遠程教育技術(shù)解決方案,將高質(zhì)量的教育服務(wù)延伸到社會的每一個角落。 </p><p>  4.3 文檔目錄編排</p><p>  圖4-2 總體文檔目錄編排圖</p><p>  項目采用MVC模式,文檔目錄編排依照MVC模式。</p><p>  1. M:MODEL

76、</p><p>  Com.sevenEleven.Beans包中主要包含數(shù)據(jù)庫的持久化類。</p><p>  Com.sevenEleven.javaBean包及子包中包含連接數(shù)據(jù)庫類以及業(yè)務(wù)層中的類。</p><p><b>  2. V:VIEW</b></p><p>  WebContent文件夾中包含著頁

77、面和頁面元素。有JSP,HTML,CSS,F(xiàn)LASH,JS等。作為項目的視圖層。</p><p>  3. C:CONTROL</p><p>  Com.sevenEleven.servlet包及子包包含了WEB中的servlet文件,作為控制層。控制MODEL層和VIEW層之間的數(shù)據(jù)流。</p><p>  4.4 產(chǎn)品具體功能</p><p

78、>  學(xué)生登陸以后,可以選報課程。系統(tǒng)會根據(jù)學(xué)生所在系及課程的預(yù)修課判斷</p><p>  1. 系統(tǒng)會列出所有滿足該生還未選報的課程,或者其預(yù)修課為公共課的課程。如果該生選報了未滿足預(yù)修課要求的課程,系統(tǒng)會有相關(guān)的錯誤提示。例如:高等數(shù)學(xué)(二)的預(yù)修課為高等數(shù)學(xué)(一)。</p><p>  2. 學(xué)生可以查看自己的成績,包括該生已選課程的名稱,學(xué)分以及該生的總分。如果教師還未給出

79、成績,則系統(tǒng)會有相關(guān)提示。</p><p>  3. 該生可以更改自己的個人信息,包括密碼,電話號碼等,其中要求密碼不能為空。</p><p>  4. 學(xué)生課表,有時間,地點,課程名,老師名,如果老師還沒有選擇課程而此時學(xué)生又查詢課表,老師名可以為空。</p><p>  圖4-3 學(xué)生模塊流程圖</p><p>  教師在本系統(tǒng)中擁有是否

80、接受學(xué)生所選課程,以及給學(xué)生打分的權(quán)力,只有先接受學(xué)生,才能給該生打分。 </p><p>  1. 系統(tǒng)要求教師選擇學(xué)生,然后系統(tǒng)會列出該教師所代課程的班級,然后系統(tǒng)會列出選報了該課程的所有學(xué)生;可以看到學(xué)生的一些詳細情況</p><p>  2. 學(xué)生考試完后,教師確認(rèn)學(xué)生成績之后,系統(tǒng)會根據(jù)總成績來判斷該生是否通過了考試。</p><p>  3. 總成績是

81、由考試成績×80%+平時成績×20%;考試成績由學(xué)生考完試后系統(tǒng)自動打分,平時成績老師給出;平時成績占老成績的百分比由老師給出。</p><p>  4. 考試成績和平時成績的分?jǐn)?shù)范圍0-100,老師課表,有時間,地點,課程名,班級名。</p><p>  圖4-5 教師模塊流程圖</p><p>  管理員在本模塊中有著最高的權(quán)力,包括新增,更

82、改,刪除學(xué)生,教師,課程以及班級。</p><p>  1. 管理員負(fù)責(zé)排課,要保證同一教師在同一時間不能上兩門課程等等約束。</p><p>  2. 所有web頁面需要頁面權(quán)限驗證,對不同的模塊分配不同的訪問權(quán)限。例如:學(xué)生進入學(xué)生模塊,而不能進入管理員模塊;圖書管理員只能進入圖書借閱模塊</p><p>  3. 系統(tǒng)管理員可以增刪改查其他管理員(教學(xué)管理員;

83、BBS管理員;圖書管理員)。</p><p>  4. 系統(tǒng)管理員的用戶名和密碼可以預(yù)先在數(shù)據(jù)庫中設(shè)定。</p><p><b>  第五章 系統(tǒng)設(shè)計</b></p><p><b>  5.1 共用文件系</b></p><p>  5.1.1 Model層</p><p>

84、;  圖5-1 共用文件的Model層文件圖</p><p>  表5-1 Com.sevenEleven.Beans包中的共用文件表</p><p>  表5-2 Com.sevenEleven.javaBean包中的共用文件表</p><p>  5.1.2 View層</p><p>  圖5-2 共用文件系的View層文件</p

85、><p>  表5-3 WebContent文件夾中的文件列表</p><p>  5.1.3 Control層</p><p>  圖5-3 共用文件系的Control層文件</p><p>  表5-4 com.sevenEleven.servlet包中的共用servlet列表</p><p>  5.2 MVC的設(shè)計

86、</p><p>  圖5-4 MVC設(shè)計圖</p><p>  如上圖所示,MVC設(shè)計模式在JAVA WEB項目中的體現(xiàn)為 JSP(VIEW層)、Servlet(Control層)、JavaBean(Model層)。為了說明MVC在項目中代碼中的體現(xiàn),可以拿登錄模塊為例子來說明。</p><p>  WebContent/login.jsp作為VIEW層,是用戶登

87、錄的頁面。該頁面顯示在瀏覽器上,用戶可以在指定的位置鍵入用戶名和密碼,并選擇用戶的類型,點確定提交到CcheckServlet.具體實現(xiàn)可以通過以下代碼:</p><p>  <form name="form1" method="post" action="CcheckServlet"></p><p>  <t

88、able align="center"></p><p><b>  <tr></b></p><p>  <td>用戶名</td></p><p>  <td><input type="text" name="userName&quo

89、t; /></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td>密碼</td></p><p>  <td><input type=&q

90、uot;password" name="userPassword" /></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td>用戶類型</td>&l

91、t;/p><p>  <td><select name="userType" size="1"></p><p>  <option value="student" selected>學(xué)生</p><p>  <option value="teacher&qu

92、ot;>老師</p><p>  <option value="admin">管理員</td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p><b> 

93、 <td></td></b></p><p>  <td><input type="submit" onclick="submitForm()" name="Submit"</p><p>  value="登錄"> &nbsp;&nb

94、sp; <input type="reset" value="重置"></td></p><p><b>  </tr></b></p><p><b>  </table></b></p><p><b>  </fo

95、rm></b></p><p>  附錄中的文件1:com.sevenEleven.servlet.CcheckUserServlet作為Control層,是登錄功能的控制器,負(fù)責(zé)控制MODEL層和VIEW層中的數(shù)據(jù)流向。通過request.getParameter("USERNAME")語句得到前臺輸入的數(shù)據(jù),經(jīng)過業(yè)務(wù)流程之后再通過request.getRequestDis

96、patcher("teacher/teacher.jsp"). forward</p><p>  (request, response);這樣的語句跳轉(zhuǎn)到therch/teacher.jsp這樣的JSP頁面。</p><p>  附錄中的文件2:com.sevenEleven.javaBean. CConnectMSSQL作為Model層,提供了SQLServer數(shù)據(jù)

97、庫的連接和返回記錄集。供Control層調(diào)用。</p><p>  5.3 分頁的分析與設(shè)計</p><p>  5.3.1 分頁的分析</p><p>  參考網(wǎng)上對分頁的分析,用的多的分頁方法有三種:(依數(shù)據(jù)來分類)</p><p>  1. 一次性把要想得到的數(shù)據(jù)從數(shù)據(jù)庫中取出來,這種方法恰用于數(shù)據(jù)量小時用,不過不推薦。</p&g

98、t;<p>  1)優(yōu)點: 一次取出,數(shù)據(jù)全在緩存里,跳轉(zhuǎn)到其它分頁時速度極快。</p><p>  2)缺點: 第一次取出全部數(shù)據(jù),放在緩存中,極度的浪費了資源。</p><p>  2. 每次只取當(dāng)前頁面所需要的數(shù)據(jù)。適合數(shù)據(jù)量比較大。</p><p>  1)優(yōu)點:每次只取出每需頁面的數(shù)據(jù),大大減輕了緩存中的數(shù)據(jù)量。</p><

99、;p>  2)缺點: 每一次分頁跳轉(zhuǎn)時都要連接數(shù)據(jù)庫,對數(shù)據(jù)庫造成了壓力。</p><p>  3. 每次取出幾個頁面的數(shù)據(jù),分在緩存中,當(dāng)緩存中沒有頁面每需的數(shù)據(jù)時,再從數(shù)據(jù)中取。比較適合表中數(shù)據(jù)超大,比如幾百萬條的數(shù)據(jù)。</p><p>  1)優(yōu)點:終合了1,2兩種方法的好處,由系統(tǒng)分析員來把握一個最佳的度。</p><p>  2)缺點:加大了分頁算法

100、的難度和邏輯量。</p><p>  5.3.2 分頁的設(shè)計</p><p>  由以上的分析,我選擇了第2種方法來實現(xiàn)。</p><p>  1. 關(guān)于取數(shù)據(jù)庫記錄的實現(xiàn):</p><p>  函數(shù)1:取出要從表中取出的數(shù)據(jù)的總條數(shù)。(見附錄中文件3)</p><p>  函數(shù)2:要實現(xiàn)第2種方法,那么取數(shù)據(jù)的方法是

101、動態(tài)的。也就是說每次由當(dāng)前頁來決定是取第多少條數(shù)據(jù)。SQL語句很重要,要給兩個參數(shù),比如說form 第 一個參數(shù) to 最后一個參數(shù) 這么多數(shù)據(jù)。</p><p>  2. 關(guān)于分頁類的實現(xiàn):</p><p>  分頁類,主要功能是把當(dāng)前頁碼,總頁碼,每頁數(shù)據(jù)條數(shù),總條數(shù),等等數(shù)據(jù)的setter()和getter()方法。 主要是還給了一個分頁控件,此控件就是一個函數(shù)所實現(xiàn)的,參數(shù)是提交

102、的servlet名,返回的就是html代碼,這個代碼就是分頁控件。</p><p>  3. servlet的實現(xiàn):</p><p>  servlet1: 生成初使化頁面。</p><p>  servlet2: 生成非初使化頁面。</p><p>  5.4 時間字符串簡介</p><p>  排課時用到的時間并不

103、是絕對時間。因為年份在項目中不起作用,而第幾學(xué)期、第幾周、星期幾、第幾節(jié)課反而是排課中時間的要素。當(dāng)然由相對時間和班級的開班時間,用固定的公式可以得到絕對時間。 這里我們利用時間字符串不僅可以減少數(shù)據(jù)庫存儲多余的信息量,而且讓后臺對相對時間的操作更簡單。例如的時間類</p><p>  5.5 權(quán)限問題的分析與設(shè)計</p><p>  權(quán)限問題有多種解決方案,最系統(tǒng)的比如Windows的

104、用戶組分類。為了減輕工作量和復(fù)雜度,這里沒有給每個權(quán)限編號并為用戶設(shè)定用戶組。因為頁面的獨立,這里使用頁面權(quán)限和登錄權(quán)限。</p><p><b>  權(quán)限分析: </b></p><p>  頁面權(quán)限可以通過JSP中的過濾器(Filter)來實現(xiàn);</p><p>  登錄權(quán)限可以用JAVA代碼實現(xiàn);</p><p>

105、  這樣不同類型用戶登錄的是不同的頁面,并且用戶不能訪問其它類型用戶的頁面。</p><p>  5.6 自動排課分析與設(shè)計</p><p>  5.6.1 自動排課分析</p><p>  自動排能問題是一個NP問題,復(fù)雜度為(時間,班級,老師,課程,教室)五維.加上其約束條件一起,其是一個數(shù)學(xué)上尚為解決的問題.</p><p><b

106、>  自動排課分析: </b></p><p>  1. 學(xué)院里同一屆的班開班時間相同,而不同屆的開班時間不同.</p><p>  2. 學(xué)院可以按周排課,特殊時可以變更單節(jié)課; </p><p>  5.6.2 自動排課設(shè)計方案</p><p><b>  自動排課解決方案:</b></p&g

107、t;<p>  1. 簡化五維關(guān)系,在自動排課之前,要求用戶選擇班級和階段,再為班級的特定階段規(guī)定(課程—老師) 在同一班級同一學(xué)期的課程和老師</p><p>  維 : (班級---學(xué)期---課程---老師) --- 時間 --- 教室</p><p>  2. 為排課定制約束</p><p>  1)如果取出的教室不為空,則給班

108、分配一個隨機的教室. 如果為空,這節(jié)課就不上了。</p><p>  2)如果取出的(老師-課程)都有課,則這節(jié)課不上。</p><p>  3)如果前6節(jié)課有同樣的課上過了,選其它的課。</p><p>  4)如果排到的課超過了當(dāng)周應(yīng)上課數(shù),選其它的課。</p><p>  5)如果當(dāng)天前三節(jié)課都上了,這節(jié)課不上。</p>

109、<p><b>  5.7 總結(jié)</b></p><p>  通過系統(tǒng)的設(shè)計,本人感觸最深的是加深了對軟件開發(fā)過程的理解,熟悉了利用JSP實現(xiàn)各種實用的數(shù)據(jù)庫型軟件的開發(fā),以及了解了教務(wù)管理的一些流程,也更加深入理解了MIS設(shè)計中常見問題和其設(shè)計的意義。本文在詳細分析了學(xué)生學(xué)籍管理的各功能模塊基礎(chǔ)上,設(shè)計并實現(xiàn)了學(xué)生學(xué)籍管理系統(tǒng)的簡易版本。</p><p>

110、  第六章 系統(tǒng)功能實現(xiàn)</p><p><b>  6.1 數(shù)據(jù)庫設(shè)計</b></p><p>  數(shù)據(jù)庫設(shè)計 (Database Design)是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫管理系統(tǒng)上,設(shè)計數(shù)據(jù)庫的結(jié)構(gòu)和建立數(shù)據(jù)庫的過程。就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫中的數(shù)據(jù)對象以及這些數(shù)據(jù)對象之間關(guān)系的過程數(shù)據(jù)庫設(shè)計遵從面向關(guān)系的原則,保證各表之間不出現(xiàn)邏輯錯誤的同時,要盡可能

111、滿足存取的簡單,三范式和二范式間的取最優(yōu)者,保證開發(fā)和維護的簡便和數(shù)據(jù)庫的可讀性。</p><p>  數(shù)據(jù)庫設(shè)計的很多工作仍需要人工來做,除了關(guān)系型數(shù)據(jù)庫已有一套較完整的數(shù)據(jù)范式理論可用來部分地指導(dǎo)數(shù)據(jù)庫設(shè)計之外,尚缺乏一套完善的數(shù)據(jù)庫設(shè)計理論、方法和工具,以實現(xiàn)數(shù)據(jù)庫設(shè)計的自動化或交互式的半自動化設(shè)計。所以數(shù)據(jù)庫設(shè)計今后的研究發(fā)展方向是研究數(shù)據(jù)庫設(shè)計理論,尋求能夠更有效地表達語義關(guān)系的數(shù)據(jù)模型,為各階段的設(shè)計

112、提供自動或半自動的設(shè)計工具和集成化的開發(fā)環(huán)境,使數(shù)據(jù)庫的設(shè)計更加工程化、更加規(guī)范化和更加方便易行,使得在數(shù)據(jù)庫的設(shè)計中充分體現(xiàn)軟件工程的先進思想和方法。</p><p>  6.2 數(shù)據(jù)庫的命名規(guī)則</p><p>  6.2.1 表名的命名規(guī)則</p><p>  一個表的表名要能簡潔易懂的表達表的功能,一般從基本表開始命名。如STUDENT</p>

113、<p>  6.2.2 主鍵的命名規(guī)則</p><p>  一個表的主鍵要一眼看得出來,一般用表名的首字母+下劃線+ID。如S_ID。</p><p>  6.2.3 外鍵的命名規(guī)則</p><p>  一個表的外鍵是另一個表的主鍵,一般用相關(guān)表關(guān)鍵名來表示。如 CLASS 表的主鍵為C_ID,在STUDENT表中做外鍵表名也為C_ID。</p&g

114、t;<p>  學(xué)院有基本實體集:系、教師、學(xué)生和課程。</p><p><b>  它們各有屬性:</b></p><p>  系:系編號、系名、電話;</p><p>  課程:課程號、課程名稱;</p><p>  學(xué)生:姓名、學(xué)號、性別、年齡;</p><p>  教師:教師

115、編號、姓名、性別、職稱。</p><p><b>  實體間有聯(lián)系:</b></p><p>  每個系有一位系主任,有多位教師;</p><p>  一個教師僅在一個系任職;</p><p>  每門課程各有一位教師授課;</p><p>  一個學(xué)生可以在不同的系選修多門課程。</p&g

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論