J2EE的教學(xué)評估系統(tǒng)設(shè)計 計算機專業(yè)畢業(yè)設(shè)計 畢業(yè)
《J2EE的教學(xué)評估系統(tǒng)設(shè)計 計算機專業(yè)畢業(yè)設(shè)計 畢業(yè)》由會員分享,可在線閱讀,更多相關(guān)《J2EE的教學(xué)評估系統(tǒng)設(shè)計 計算機專業(yè)畢業(yè)設(shè)計 畢業(yè)(44頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、西安交通大學(xué)城市學(xué)院大學(xué)本科畢業(yè)論文 摘 要 基于計算機和網(wǎng)絡(luò)的教學(xué)管理,可有效監(jiān)控教學(xué)質(zhì)量,提高教學(xué)管理水平,相關(guān)系統(tǒng)的開發(fā)設(shè)計已引起關(guān)注,本課題就是基于J2EE技術(shù),開發(fā)設(shè)計的教學(xué)評估系統(tǒng)。 首先,從教學(xué)評估系統(tǒng)的需求入手,確定了系統(tǒng)的模塊結(jié)構(gòu),設(shè)計了教學(xué)評估系統(tǒng)的指標體系。我們使用UML技術(shù)設(shè)計了系統(tǒng)靜態(tài)和動態(tài)的設(shè)計模型,使用用例圖描述了系統(tǒng)的功能和操作者;使用類圖描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),分別設(shè)計了系統(tǒng)中實體BEAN,控制BEAN,基礎(chǔ)BEAN并在實現(xiàn)部分給出了典型的實現(xiàn)細節(jié);時序圖用來顯示對象之間的關(guān)系,強調(diào)對象之間的消息的時間順序,同時顯示對象之間的交互,文中分析了較復(fù)雜的
2、學(xué)員投票功能的時序圖。根據(jù)數(shù)據(jù)庫的規(guī)范化設(shè)計理論設(shè)計了系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu),在設(shè)計中通過適當(dāng)?shù)脑黾尤哂啻蟠筇岣吡讼到y(tǒng)的查詢速度,論文給出了數(shù)據(jù)庫關(guān)系圖[1]。 其次,介紹了系統(tǒng)的實現(xiàn),分析了幾個典型的業(yè)務(wù)邏輯封裝的實現(xiàn)細節(jié)、幾個典型的交互界面的實現(xiàn)細節(jié)和實際界面展示,以及應(yīng)用系統(tǒng)在Tomcat上的部署。 系統(tǒng)實現(xiàn)已達預(yù)期目標,滿足了教學(xué)評估的基本要求,系統(tǒng)具有友好的交互界面,對學(xué)院教學(xué)質(zhì)量和管理水平的提高起來積極的作用。 關(guān)鍵詞: Struts Hibernate Spring UML Abstract Based on the teaching m
3、anagement of computer and network, We can effectively control the quality of teaching and improve teaching management. Developing and designing of correlative system has attracted people’s attention. This subject is based on J2EE technology, It Designs the Educational Evaluation System. First, Star
4、t on the demand analysis of the Education Evaluation System, We design the system’s module structure. We designe a static and dynamic design model using UML, It describes the system’s functions and operators using use case diagram, and describes the static structure using class diagram, We design th
5、e Entity JavaBean, Control JavaBean, based JavaBean, and give the typical details of class’s implementation. Sequence Diagrams are used to describe the relationship between objects. It emphasizes the message’s time sequence between objects, It also shows the interaction between objects, This paper a
6、nalyzes the comples sequence Diagrams of student votion. We design the database structure using normalization of Relation Database, Query speed is greatly enhanced by means of appropriate increasing redundancy in the design, This paper also gives the database diagram of the system[11]. Secondly, Th
7、e paper introduces the system implementation, and analysis the several typical implementation details of business logic Package, Several typical interface implementation details. It shows the actual interface, and introduces the deplovment of application system in Tomcat. The system has been comple
8、ted, Actual using shows that it achieves the desired goal, and meets the basic requirements of the educational improving the teaching quality and management level. KEY WORD:Struts Hibernate Spring UML 目 錄 1. 緒論 1 1.1. 課題研究背景 1 1.2. 相關(guān)技術(shù)研究動態(tài) 1 1.3. 課題研究的目的和意義 2 1.4. 研究內(nèi)容及章節(jié)安排
9、2 2. 系統(tǒng)相關(guān)技術(shù) 3 2.1. 市場調(diào)查報告 3 2.2. 相關(guān)技術(shù)討論與比較 3 2.2.1. 基于J2EE的Struts技術(shù) 3 2.2.2. 基于J2EE的Hibernate技術(shù) 4 2.2.3. 基于J2EE的Spring技術(shù) 4 2.3. 關(guān)于三層框架的關(guān)系與在本系統(tǒng)中的應(yīng)用 5 2.4. UML建模的使用 5 2.5. 本方案軟件選擇與分析 5 3. 需求分析 7 3.1. 總體需求 7 3.2. 系統(tǒng)的業(yè)務(wù)處理流程 7 3.3. 系統(tǒng)的功能模塊 7 3.4. 系統(tǒng)用例模型 9 3.5. 類模型 11 3.6. 動態(tài)模型 13 3.7. 評估
10、指標設(shè)計 13 4. 系統(tǒng)設(shè)計 15 4.1. 平臺的選擇 15 4.2. 數(shù)據(jù)庫設(shè)計 15 4.2.1. E-R圖 15 4.2.2. 邏輯結(jié)構(gòu)設(shè)計 17 4.3. 數(shù)據(jù)庫實現(xiàn) 17 4.3.1. 創(chuàng)建表 17 4.3.2. 具體表結(jié)構(gòu) 18 4.4. 前臺子系統(tǒng) 20 4.5. 后臺管理子系統(tǒng) 20 4.6. 后臺評估子系統(tǒng) 22 5. 系統(tǒng)的實現(xiàn) 24 5.1. 平臺的搭建 24 5.1.1. 添加Strust支持 24 5.1.2. 添加Spring支持 26 5.1.3. 添加Hibernate支持 26 5.2. 過濾器的添加 28 5.3. 亂
11、碼的處理 28 5.4. 防盜鏈處理 28 5.5. 加入log4j.properties 29 5.6. 登錄模塊的實現(xiàn) 29 5.7. 系統(tǒng)維護模塊的實現(xiàn) 30 5.7.1. Excel表信息的導(dǎo)入 34 5.7.2. 關(guān)于POJO中類與表的映射 35 5.8. 學(xué)生評估模塊的實現(xiàn) 35 5.9. 應(yīng)用程序的部署 38 5.10. 系統(tǒng)的使用方法 39 6. 結(jié)論 43 參考文獻 44 致 謝 45 40 1. 緒論 1.1. 課題研究背景 歷史的車輪將我們載入了信息化和知識經(jīng)濟的時代。計算機網(wǎng)絡(luò)為教育機構(gòu)提供了一個嶄新的平臺。由于信
12、息及相關(guān)技術(shù)的飛速發(fā)展,利用計算機網(wǎng)絡(luò)進行校園信息管理與業(yè)務(wù)操作已經(jīng)成為可能。 隨著評估意識覺醒,人們不再盲目地工作;而是借著評估積極探索著:為什么而做?做了什么?做得如何?這種評估意識的覺醒深刻影響著社會生活的各個領(lǐng)域。人們已經(jīng)充分認識到:評估是科學(xué)決策、質(zhì)量控制的重要手段之一,缺少了評估這一環(huán)節(jié),往往會導(dǎo)致重復(fù)建設(shè)、低水平建設(shè)和無效益建設(shè),因此多年來,國外對評估工作十分重視,在幾乎所有的建設(shè)項目中,評估均占有舉足輕重的地位,往往是以評估開始,也以評估結(jié)束。 對網(wǎng)絡(luò)教學(xué)系統(tǒng)的建設(shè)問題,評估也有著重要的意義和作用。在系統(tǒng)建設(shè)之前,評估工作能幫助人們發(fā)現(xiàn)、確定社會對有關(guān)項目的需求和目標,進而
13、分析研究對應(yīng)的課程建設(shè)事宜。同時,對建設(shè)方案的評估會幫助決策部門科學(xué)地選擇最恰當(dāng)?shù)慕ㄔO(shè)方案,最大效益地使用有限的建設(shè)資金;在建設(shè)過程中的評估,有助于投資部門科學(xué)地監(jiān)測項目的進度、建設(shè)水平等,借以掌握必要的主動權(quán);對建設(shè)完成的網(wǎng)絡(luò)教學(xué)系統(tǒng)的評估,不僅能較好地反映決策、投資效益,為下一個建設(shè)項目提供參考,而且能幫助廣大學(xué)員了解系統(tǒng)的功能、作用及特點,從而選擇最佳的學(xué)習(xí)手段,提高學(xué)習(xí)效益。在新需求的推動下,自動化、人性化、易于操作與管理的教務(wù)平臺應(yīng)運而生,本課題中我們所設(shè)計和開發(fā)的這款產(chǎn)品正是在這個大背景下應(yīng)運而生的[2]。 1.2. 相關(guān)技術(shù)研究動態(tài) J2EE是一種利用Java?2平臺來簡
14、化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺或Java?2平臺的標準版,J2EE不僅鞏固了標準版中的許多優(yōu)點,例如"編寫一次、隨處運行"的特性、方便存取數(shù)據(jù)庫的JDBC?API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護數(shù)據(jù)的安全模式等等,同時還提供了對?EJB(Enterprise?JavaBeans)、Java?Servlets?API、JSP(Java?Server?Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。? J2EE為搭建具有可伸縮性、靈活性、易維護性的商
15、務(wù)系統(tǒng)提供了良好的機制,允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開發(fā)時間。 這種基于組件,具有平臺無關(guān)性的J2EE?結(jié)構(gòu)使得J2EE?程序的編寫十分簡單,因為業(yè)務(wù)邏輯被封裝成可復(fù)用的組件,并且J2EE?服務(wù)器以容器的形式為所有的組件類型提供后臺服務(wù).?因為你不用自己開發(fā)這種服務(wù),?所以你可以集中精力解決手頭的業(yè)務(wù)問題。一個服務(wù)器端平臺必須能全天候運轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。因為INTERNET是全球化的、無處不在的,即使在夜間按計劃停機也可能造成嚴重損失。若是意外停機,那會有災(zāi)難性后果。J2EE部署到可
16、靠的操作環(huán)境中,他們支持長期的可用性。一些J2EE部署在WINDOWS環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如Sun?Solaris、IBM?OS/390。最健壯的操作系統(tǒng)可達到99.999%的可用性或每年只需5分鐘停機時間。這是實時性很強商業(yè)系統(tǒng)理想的選擇[6]。 1.3. 課題研究的目的和意義 本課題的提出也正是基于上述想法,意在開發(fā)一個面向校園的一個教學(xué)評估系統(tǒng),它的出發(fā)點必須是實用,操作簡單,界面友好,能很好的減輕教師員工的工作量,起到一個學(xué)生與教師交流的一個溝通平臺。另外也是為了鍛煉自己,加強對相關(guān)技術(shù)的掌控能力,了解內(nèi)部的運行原理。 1.4. 研究內(nèi)容及章節(jié)安排
17、 本論文擬從以下幾個部分撰寫: 第一章緒論是對將要開發(fā)的項目的一個綜述。主要研究了課題的研究背景,相關(guān)技術(shù)研究動態(tài),課題研究目的與意義。 第二章介紹了本課題中會用到的相關(guān)技術(shù),以及技術(shù)之間的對比,優(yōu)勢與缺點等。之后還討論了開發(fā)過程中會用到的一些建模工具等。 第三章介紹了本課題的需求分析,相關(guān)技術(shù)的討論,以及結(jié)合本課題所作的大體思維框架。 第四章進行了課題的具體設(shè)計,平臺的選擇,數(shù)據(jù)庫的設(shè)計,靜態(tài)圖,動態(tài)圖等。 第五章對前面的設(shè)計思路進行了實現(xiàn),描述了各項技術(shù)的開發(fā)細節(jié)。 第六章是總結(jié)與展望。 2. 系統(tǒng)相關(guān)技術(shù) 2.1. 市場調(diào)查報告 市場上有一些
18、成熟的教學(xué)評估的產(chǎn)品,但這些品在多是根據(jù)不同大學(xué)需求定制的,伸縮性不強,對于本課題的要求顯得功能不足,比如聯(lián)創(chuàng)數(shù)碼普通高校教學(xué)評估系統(tǒng)南京科建本科教學(xué)評估管理系統(tǒng)都是使用較為廣泛的評估系統(tǒng),但這些系統(tǒng)都是針對教育部是新頒發(fā)的《普通高等學(xué)校本科教學(xué)工作水平評估方案》而開發(fā)的系統(tǒng),系統(tǒng)主要是電子文檔管理、檔案管理、基本數(shù)據(jù)管理、數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計等,而在學(xué)員對老師教學(xué)效果的評價卻很少涉及,即使涉及也不是學(xué)員通過網(wǎng)絡(luò)對教師的教學(xué)效果進行評價。 2.2. 相關(guān)技術(shù)討論與比較 2.2.1. 基于J2EE的Struts技術(shù) 隨著JSP技術(shù)的成熟,越來越多的開發(fā)人員開始使用Web應(yīng)用框架??蚣転閃
19、eb應(yīng)用提供了預(yù)備的軟件架構(gòu)和相關(guān)的軟件包,它大大提高了開發(fā)Web應(yīng)用的速度和效率?,F(xiàn)在,當(dāng)開發(fā)人員開始一個新的項目時,他們首先考慮的問題不是“我們是否需要框架”,而是我們應(yīng)該使用什么樣的框架。本系統(tǒng)將采用Struts框架來對整個系統(tǒng)進行業(yè)務(wù)邏輯的控制,它負責(zé)對不同的表單需求進行分發(fā),傳送到相應(yīng)的Action中去進行處理,完成后再負責(zé)把結(jié)果數(shù)據(jù)傳送回相應(yīng)的結(jié)果頁面[1]。 但這種功能是不是只有Struts才能完成呢,當(dāng)然不是。JSP + JavaBean可以完成,JSP + Servlet也可以完成,但為什么我們要選擇Struts框架呢?在這之前我們應(yīng)該先了解一下什么是MVC的設(shè)計模式,MV
20、C設(shè)計模式強制性的吧應(yīng)用程序的輸入、處理和輸出分開。它把應(yīng)用程序分成三個核心模塊:模型、視圖和控制器,它們分別負責(zé)不同的任務(wù)。視圖顯示模型狀態(tài),接受數(shù)據(jù)更新請求,把用戶輸入數(shù)據(jù)付給控制器;控制器接受用戶請求,調(diào)用模型響應(yīng)用戶請求,選擇視圖顯示響應(yīng)結(jié)果;最后模型代表應(yīng)用程序狀態(tài),響應(yīng)狀態(tài)查詢處理業(yè)務(wù)流程,通知視圖業(yè)務(wù)狀態(tài)更新。了解了MVC模式之后我們了解到它的作用主要是使我們的程序獨立性更高,更加模塊化,各個層獨立完成自己的任務(wù),耦合低,一個部分出錯后,其它部分不會受到影響,這樣我們寫出來的程序就更加清晰了[8]。 以上提到的JSP + JavaBean或 JSP + Servlet也可以完成
21、相應(yīng)的功能,但Jsp + JavaBean的缺點是Java代碼全部嵌套在JSP頁面里邊,這樣一旦出現(xiàn)問題,將會很難從HTML與JAVA混合的頁面出找出錯誤。JSP + Servlet這種模式Servlet雖然可以起到一個控制作用,但Servlet中的代碼不夠靈活,往往跳轉(zhuǎn)語句是一些硬代碼,這樣如果以后出現(xiàn)業(yè)務(wù)邏輯的改變,就需要改變很多的代碼,Struts用XML文件保存了會動態(tài)改變的一些跳轉(zhuǎn)語句與一些國際化的參數(shù),這樣如果程序要改變,只需要簡單的改變XML文件即可。Struts幫我們完成了很多重復(fù)性的工作,提高我們的工作效率,當(dāng)然程序也更加健壯[3]。 2.2.2. 基于J2EE的Hiber
22、nate技術(shù) 我們知道,任何網(wǎng)絡(luò)系統(tǒng)都會涉及到數(shù)據(jù)庫的使用,以往框架還沒有出現(xiàn)時,程序員們往往會自己把經(jīng)常使用的對數(shù)據(jù)的操作封裝到類中,在業(yè)務(wù)邏輯層使用時就可以直接調(diào)用,十分方便,缺點就是不同程序員由于技術(shù)上的差別,所以導(dǎo)致出現(xiàn)代碼不夠健壯,程序不穩(wěn)定,效率不高等問題,隨著技術(shù)的發(fā)展,Hibernate應(yīng)運而生。但它是干什么的呢? 在Java領(lǐng)域,可以直接通過JDBC編程來訪問數(shù)據(jù)庫。JDBC可以說是訪問關(guān)系數(shù)據(jù)庫的最原始、最直接的方法。這種方式的優(yōu)點是運行效率高,缺點是在Java程序代碼中嵌入大量的SQL語句,使用項目難以維護。在開發(fā)企業(yè)級應(yīng)用時,可以通過JDBC編程來開發(fā)單獨的持久化層
23、,把數(shù)據(jù)庫訪問操作封裝起來,提供簡潔的API,供業(yè)務(wù)層統(tǒng)一調(diào)用。但是如果關(guān)系數(shù)據(jù)模型復(fù)雜,那么直接通過JDBC編程來實現(xiàn)持久化層需要有專業(yè)的知識。對于企業(yè)應(yīng)用開發(fā)人員,花費大量時間從頭開發(fā)自己的持久化層不是很可行。 幸運的是,目前在持久化層已經(jīng)有好多種現(xiàn)成的持久化中間件可供選用,有些是商業(yè)性的,如TopLink;有些是非商業(yè)性的,如JDO和Hibernate。Hibernate是一個基于Java的開源代碼中間件,它對JDBC做了輕量級封裝,不公提供ORM映射服務(wù),還提供數(shù)據(jù)查詢和數(shù)據(jù)緩存功能,Java開發(fā)人員可以方便地通過Hiberante API開操縱數(shù)據(jù)庫[3]。 2.2.3. 基于J
24、2EE的Spring技術(shù) 有了Struts作為一個“管家”似的來管理業(yè)務(wù)邏輯的分配,有Hibernate作為數(shù)據(jù)底層的操作封裝,似乎我們不需要其它的技術(shù)來支持我們系統(tǒng)了,看似比較完美了,但我們?yōu)榱撕喕瘧?yīng)用程序的設(shè)計,我們還應(yīng)該引入一項技術(shù),它就是Spring。作為JavaEE中最核心的EJB技術(shù),也一度成為JavaEE應(yīng)用的核心。不幸的是,EJB帶來了全新的企業(yè)級開發(fā)模型的同時,也帶來了不必要的復(fù)雜性:復(fù)雜的接口,難于測試和部署。越來越多的開發(fā)人員不斷反思EJB開發(fā)的復(fù)雜性,并試圖以更簡單的Java技術(shù)來簡化JavaEE應(yīng)用的開發(fā)。 Spring提出了以JavaBean為組件模型、針對接口
25、編程、使用依賴注入等許多優(yōu)秀的設(shè)計思想,并且Sping可以無縫整合許多流行框架,如Struts、Hibernate等。人們很快意識到以Sping框架為基礎(chǔ)來開發(fā)JavaEE應(yīng)用程序可以大大簡化應(yīng)用程序的設(shè)計、調(diào)用和部署,并得到一個松散耦合的系統(tǒng)架構(gòu)。因此,Sping得到了越來越廣泛的應(yīng)用。 2.3. 關(guān)于三層框架的關(guān)系與在本系統(tǒng)中的應(yīng)用 本系統(tǒng)采用Struts來進行一個全局的掌控,它管理調(diào)用由Hibernate封裝的底層功能對象,Spring用來創(chuàng)建所有在系統(tǒng)中會被用來的對象,它的基本理念與設(shè)計模式中的工廠模式基本一致,它的依賴注入可以把所有用到的對象放到一個XML文件中,這樣我們在調(diào)
26、用底層的功能對象時就不需要自己來創(chuàng)建對象了。所以簡單的說就是Struts來管理由Spring創(chuàng)建的Hibernate對象,當(dāng)然經(jīng)典的三層框架功能不僅僅如此,以上介紹的只是本系統(tǒng)中所用到的技術(shù)。 2.4. UML建模的使用 統(tǒng)一建模語言(Unified Modeling Language,UML)是一種可視化的建模語言,它能讓系統(tǒng)構(gòu)造者用標準的、易于理解的方式建立起能夠表達他們想象力的系統(tǒng)藍圖,并且提供了便于不同人之間有效地共享和交流設(shè)計結(jié)果的機制。UML作為通用的可視化建模語言,用于對軟件進行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔。它記錄了對必須構(gòu)造的系統(tǒng)的決定和理解,可用于對
27、系統(tǒng)的理解、設(shè)計、瀏覽、配置、維護和信息控制。UML 適用于各種軟件開發(fā)方法、軟件生命周期的各個階段、各種應(yīng)用領(lǐng)域以及各種開發(fā)工具,UML 是一種總結(jié)了以往建模技術(shù)的經(jīng)驗并吸收當(dāng)今優(yōu)秀成果的標準建模方法[7]。 2.5. 本方案軟件選擇與分析 u 本系統(tǒng)使用的IDE編譯器是Eclipse,Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。 雖然大多數(shù)用戶很樂于將 Ec
28、lipse 當(dāng)作 Java IDE 來使用,但 Eclipse 的目標不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員,因為它允許他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。 u 本系統(tǒng)所使用的桌面服務(wù)器是Tomcat,自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。Apache Group在完成GNU
29、JSP1.0的開發(fā)以后,開始考慮在SUN的JSWDK基礎(chǔ)上開發(fā)一個可以直接提供Web服務(wù)的JSP服務(wù)器,當(dāng)然同時也支持Servlet, 這樣Tomcat就誕生了。Tomcat是jakarta項目中的一個重要的子項目,其被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,同時它又是sun公司官方推薦的servlet和jsp容器,因此其越來越多的受到軟件公司和開發(fā)人員的喜愛。servlet和jsp的最新規(guī)范都可以在tomcat的新版本中得到實現(xiàn)。其次,Tomcat是完全免費的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。Tomcat與Apache的組合相當(dāng)完美。 u 本系統(tǒng)所用的
30、數(shù)據(jù)庫是MySQL,MySQL是最受歡迎的開源SQL數(shù)據(jù)庫管理系統(tǒng),MySQL是一個快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟件中去。 3. 需求分析 3.1. 總體需求 系統(tǒng)的主要用戶主要有三類,系統(tǒng)管理人員、學(xué)員、游客,需求就是針對這三類人員進行。系統(tǒng)的主要功能如下: (1) 系統(tǒng)維護:主要完成權(quán)限的維護、教師信息的維護、課程信息的維護、學(xué)員與管理員
31、帳號的維護、評估規(guī)則維護、學(xué)生信息維護,留言簿信息的維護等等。 (2) 學(xué)員打分:主要完成學(xué)期未學(xué)員對教師的打分,以作為學(xué)校對教師教堂質(zhì)量的一個考信息,另外學(xué)員可以查看個人信息。 (3) 公告新聞:此系統(tǒng)主頁可以發(fā)布學(xué)校最近發(fā)生的事件,讓游客以上權(quán)限的人瀏覽,另外游客可以不用身份驗證進入留言簿發(fā)帖發(fā)表想法。 3.2. 系統(tǒng)的業(yè)務(wù)處理流程 學(xué)員 管理員 游客 系統(tǒng)維護頁面 登錄主頁 評估頁面 中間業(yè)務(wù)邏輯 數(shù)據(jù)庫 圖3.1系統(tǒng)流程圖 3.3. 系統(tǒng)的功能模塊 根據(jù)總體需求得知,教學(xué)評估系統(tǒng)的用戶有系統(tǒng)管理員、學(xué)員與游客,從功能上看,他們相對獨立,沒有什
32、么聯(lián)系,所以我們針對這三種角色把整個系統(tǒng)分為這三大模塊:系統(tǒng)維護模塊、學(xué)生評估模塊、主頁信息發(fā)布模塊。 教學(xué)評估系統(tǒng) 學(xué)生評估模塊 新聞發(fā)布模塊 系統(tǒng)維護模塊 圖示:3.2系統(tǒng)功能模塊圖 本系統(tǒng)主要由三個模塊組成: (1) 前臺頁面,主要完成校園信息新聞的發(fā)布,游客可以不用進行身份驗證直接進入留言簿發(fā)表自己想法,但權(quán)限只權(quán)于查看帖子與添加帖子,游客是沒有刪除帖子的權(quán)限的,可以通過管理來完成此功能。 新聞發(fā)布模塊 發(fā)布新聞 查看與添加留言 圖3.3新聞發(fā)布模塊圖 (2) 后臺系統(tǒng)維護模塊主要完成對學(xué)院信息的管理,可以對不同年級的班級進行管理,對課程的種類進
33、行管理,對教師信息進行管理, 對學(xué)生信息管理,對教師任課進行管理,本系統(tǒng)可以通過教師與課程種類的關(guān)聯(lián),來讓學(xué)生評估時知道本班有那幾位教師需要打分,同時還可以對兩同種角色的人員進行權(quán)限分配,對留言簿進行刪帖、增帖、查看等。 系統(tǒng)維護模塊 角色權(quán)限管理 班級信息管理 教師信息管理 學(xué)生信息管理 教師任課管理 留言簿管理 評估規(guī)則管理 圖3.4系統(tǒng)維護模塊圖 (3) 后臺學(xué)生評估模塊主要完成查詢個人信息與對教師進行評估,通過讀取相應(yīng)關(guān)聯(lián)表格的數(shù)據(jù)讀取該班需要評估的教師,打分后算出該位教師的平均分存入數(shù)據(jù)庫。 學(xué)生評估模塊 評估打分 查看個人信息 圖3.5
34、學(xué)生評估模塊 3.4. 系統(tǒng)用例模型 用例圖中包含系統(tǒng)、活動者、用例以及元素之間的各種關(guān)系(泛化、關(guān)聯(lián)、依賴)等模型元素。用例圖主要來為系統(tǒng)的需求建模,需求建模規(guī)定系統(tǒng)應(yīng)該做什么,但不涉及系統(tǒng)怎么做。 (1)學(xué)員評估打分模塊: 該模塊有三個用例。 u 評估打分是在學(xué)期未學(xué)生對這學(xué)期來對教師教學(xué)質(zhì)量的一個評價,結(jié)果做為學(xué)校對教師任教質(zhì)量的一個參考因數(shù)。 u 學(xué)生登錄時檢查學(xué)員的用戶名和密碼是否正確,將用戶信息保存在頁面的Session中,這樣我們可以在系統(tǒng)中加入過濾器,來驗證用戶的每步操作是否合法,如果是沒有經(jīng)過驗證的用戶直接使用盜鏈來進行相關(guān)操作,就會被檢查出來是非法操作。
35、 u 學(xué)生經(jīng)過合法驗證后可以查詢自己的個人信息。 圖3.6 (2)系統(tǒng)維護模塊: 該模塊有九個用例: u 學(xué)院信息管理包括了老師管理、學(xué)生管理、班級管理、任課管理、課程管理等五個用例。 u 系統(tǒng)信息管理包括了登錄驗證、用戶管理、留言簿等三個用例。 u 評估管理包括了評估規(guī)則、評估結(jié)果的管理。 圖3.7 (3)前臺新聞發(fā)布模塊: 該模塊共有二個用例,此模塊為普通游客權(quán)限以上均可使用的功能,不需要身份驗證。 前臺新聞發(fā)布模塊用例圖: 圖3.8 3.5. 類模型 類圖是系統(tǒng)靜態(tài)視圖的一部分,它主要用來描述軟件系統(tǒng)的靜態(tài)結(jié)構(gòu)。它是定義其他圖(如時序圖)
36、的基礎(chǔ),在類圖的基礎(chǔ)上,時序圖、狀態(tài)圖、協(xié)作圖、組件圖和配置圖等進一步描述系統(tǒng)的其他方面的特性。 我們從系統(tǒng)維護、學(xué)員評估、新聞發(fā)布三大模塊來分析系統(tǒng)類模型。 (1) 系統(tǒng)維護類模型包括四類: u 實體Bean 之POJO類:包括Admin、Classes、Course、Student、Teacher、Ts、Rule它們都和數(shù)據(jù)庫tjs中的相應(yīng)的表相對應(yīng),在使用它們之前我們已經(jīng)通過Hibernate產(chǎn)生與相應(yīng)表的映射,所以直接操縱這些類與操作相應(yīng)的表是一樣的效果。 u 控制Bean之Action:在第二章已經(jīng)介紹過,所有的邏輯控制都是通過Struts框架來完成的,通過在相應(yīng)的Actio
37、n中完成業(yè)務(wù)邏輯操作,再把跳轉(zhuǎn)參數(shù)寫入XML文件,這樣產(chǎn)生的結(jié)果直接可以通過讀取XML文件中的跳轉(zhuǎn)信息跳轉(zhuǎn)到相應(yīng)的界面。這些類包括:AdminAction、ClassesActioni、CourseAction、NoteAction、RuleAction、、SetClassAction、StuinfoAction、TeacherAction。 u 底層操作Bean之Dao類:所有在本系統(tǒng)中關(guān)于Dao的類都是用來對相應(yīng)表在數(shù)據(jù)庫中數(shù)據(jù)的操作用的。這一層是用Hibernate來進行的封裝,對數(shù)據(jù)的操縱是用org.hibernate.session這個類來完成的。分別對應(yīng)每張表的Dao類分別是:
38、 AdminDaoImpl 、ClassesDaoImpl、CourseDaoImpl、NoteDaoImpl、RuleDaoImpl、SetClassDaoImpl、TeacherDaoImpl。 u 系統(tǒng)模塊之工具類:工具類的工作主要是完成一些如字符編碼問題、過濾器問題、Excel表導(dǎo)入的問題。它們包括:EncodingFilter、MyFilter、SignonFilter、ExcelUtil等。 圖3.9 以下實體類具體情況以及它們之間的關(guān)聯(lián) 圖3.10 (2) 學(xué)員評估類模型與新聞發(fā)布模型包括三類: u 實體Bean 之POJO類:包括Paper、Remarkli
39、st。評估過程中Remarklist表用來存放評估結(jié)果,Paper類是作為一張臨時表來存放某一位教師的評估結(jié)果。 u 控制Bean之Action:RemarkAction。 u 底層模塊之Dao類:包括PaperDaoImpl、RemarkListDaoImpl、StudentDaoImpl。 圖3.11 3.6. 動態(tài)模型 圖3.12 后臺管理 圖3.13 學(xué)生評估 3.7. 評估指標設(shè)計 本系統(tǒng)可以動態(tài)的添加評估標準,這樣當(dāng)有不同的需求的時候系統(tǒng)就可以直接添加新的規(guī)則來進行評估,默認的評估標準有“為人師表”,“富有激情”,“溝通,交流”,“內(nèi)容充實”,
40、“指導(dǎo)學(xué)習(xí)”等。每個評估標準都分為5等,最好的要以得5分,最差只有1分,通過算出5項標準總合的平均分即為學(xué)員為該教師所打的分數(shù)。 4. 系統(tǒng)設(shè)計 4.1. 平臺的選擇 首先要說明的是。NET技術(shù)是和J2EE技術(shù)相似與相當(dāng)?shù)募夹g(shù),它們的目的都是為了企業(yè)的應(yīng)用提供分布式的,高可靠性的解決方案。是服務(wù)器端系統(tǒng)構(gòu)架中二個劃時代的巨人。 .NET技術(shù)和J2EE技術(shù),分別由Microsoft公司和Sun公司提出,圍繞著二者的是全球最頂尖的IT精英、
41、各大軟件巨頭的支持,紛紛開發(fā)相關(guān)產(chǎn)品。但無論是。NET技術(shù)還是J2EE技術(shù)都是主要運行機制在服務(wù)器端的,。NET的主要功能只可能是在WINDOWS系統(tǒng)操作系統(tǒng)中實現(xiàn),而J2EE卻可以跨平臺,無論是UNIX、LINUX、WINDOWS,代碼都可以“Write Once , Run AnyWhere”。在跨平臺中,與。NET相比在跨平臺方面有一種與生俱來的優(yōu)勢。UNIX和Linux,目前還是服務(wù)器端操作系統(tǒng)的主流,尤其是在非PC機領(lǐng)域,還完全是UNIX和Linux一統(tǒng)天下,J2EE優(yōu)勢不言而喻。 此外,SUN還始終堅持Java類庫代碼公開、標準公開、API公開的三個原則,始終堅持說“Java”是
42、標準,不是Sun公司的產(chǎn)品。而Mircrosoft的.NET列像一組產(chǎn)品,和WINDOWS API一樣,Microsoft并沒有公布其中的源代碼,沒有公布大部分的標準和API。鑒于從設(shè)計、集成、性能、安全性和可靠性諸多方面考慮,決定采用J2EE開發(fā)本系統(tǒng)。 4.2. 數(shù)據(jù)庫設(shè)計 4.2.1. E-R圖 我們從數(shù)據(jù)抽象了8個實體:學(xué)生、老師、課程、班級、留言簿、任課表、規(guī)則、評估表。其中: u student表:用來存放學(xué)生信息。 u Teacher 表:用來存放教師信息,與ts表存在多對一的關(guān)系,與remarklist存在多對一的關(guān)系。 u Classes 表:用來存放班級信息
43、,與ts表存在多對一的關(guān)系。 u Course 表:用來存放課程信息,與ts表存在多對一的關(guān)系,與remarklist存在多對一的關(guān)系。 u Ts表:表用來存排課情況,它的tno、cno、ccno分別是其它幾個表的外鍵。和teacher、course、classes表 :表存在一對多的關(guān)系。 u Remarklist 表:表用來存放評估結(jié)果,有一張與此表一樣的paper表用來存放臨時數(shù)據(jù),此處不列出,與course存在一對多的關(guān)系,與teacher存在一對多的關(guān)系。 u Rule 表與Note 表:用來存放評估規(guī)則與留言信息。 remarklist ccno cname tna
44、me tno tname istest ts tno cno ccno teacher tname tno course ccno cnamee student sno sname cno istest password rule rno rname classes cno cname include 1 n 1 n n 1 n 1 n 1 includee include include include 圖4.1 E-R圖 根據(jù)以上E-R圖的設(shè)計,我們可以使用POWER DE
45、SINGER來實現(xiàn)具體的表格以及相關(guān)表格之間的聯(lián)系情況,每張表的具體作用已在E-R圖設(shè)計的時候說明清楚,這里就不再說了。 4.2.2. 邏輯結(jié)構(gòu)設(shè)計 圖4.2 數(shù)據(jù)庫邏輯圖 4.3. 數(shù)據(jù)庫實現(xiàn) 4.3.1. 創(chuàng)建表 本系統(tǒng)使用的是MySQL數(shù)據(jù)庫存,該數(shù)據(jù)庫可以用兩種方式來創(chuàng)建表格,一種是通過在MS-DOS下面通過命令來創(chuàng)建,另外一種是通過MySQL-Front這種可視化軟件來創(chuàng)建,本系統(tǒng)采用第二種方式。如下即是創(chuàng)建表格示例: 圖4.3 添加表格1 代碼: CREATE TABLE `admin` ( `id` int(11) NOT NULL auto_
46、increment, `ano` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `aname` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; 圖4.4 添加表格2 代碼: INSERT INTO `admin` VALUES (1,'001','1','zxt'); 根據(jù)同樣辦法我們創(chuàng)建學(xué)生、老師、課程、班級、留言簿、任課表、規(guī)則、評估表表,這里就不多舉例了。 4.
47、3.2. 具體表結(jié)構(gòu) Admin表 編號 字段名稱 數(shù)據(jù)類型 說明 空 主鍵 1 id 自動編號 管理員ID 否 是 2 ano 文本 管理員編號 否 否 3 aname 文本 管理員姓名 否 否 4 password 文本 密碼 否 否 Classes表: 編號 字段名稱 數(shù)據(jù)類型 說明 空 主鍵 1 id 自動編號 班級ID 否 是 2 cno 文本 班級編號 否 否 3 cname 文本 班級姓名 否 否 4 isset 文本 是否被設(shè)置 否 否 Course
48、表: 編號 字段名稱 數(shù)據(jù)類型 說明 空 主鍵 1 id 自動編號 課程ID 否 是 2 ccno 文本 課程編號 否 否 3 ccname 文本 課程名稱 否 否 Note表: 編號 字段名稱 數(shù)據(jù)類型 說明 空 主鍵 1 id 自動編號 留言薄ID 否 是 2 nno 文本 留言薄編號 否 否 3 author 文本 作者 否 否 4 title 文本 標題 否 否 5 content 文本 內(nèi)容 Remarklist表: 編號 字段名稱 數(shù)據(jù)類型 說
49、明 空 主鍵 1 id 自動編號 評估ID 否 是 2 ccno 文本 課程編號 否 否 3 ccname 文本 課程名稱 否 否 4 tno 文本 教師編號 否 否 5 tname 文本 教師名稱 否 否 6 score 文本 得分 否 否 7 istest 文本 是否評測 否 否 Rule表: 編號 字段名稱 數(shù)據(jù)類型 說明 空 主鍵 1 id 自動編號 評估規(guī)則ID 否 是 2 rno 文本 規(guī)則編號 否 否 3 rname 文本 規(guī)則名稱 否 否
50、 Student表: 編號 字段名稱 數(shù)據(jù)類型 說明 空 主鍵 1 id 自動編號 學(xué)生ID 否 是 2 Sno 文本 學(xué)生編號 否 否 3 sname 文本 學(xué)生姓名 否 否 4 password 文本 密碼 否 否 5 cno 文本 班級編號 否 否 6 istest 文本 是否測試 否 否 Teacher表: 編號 字段名稱 數(shù)據(jù)類型 說明 空 主鍵 1 id 自動編號 教師ID 否 是 2 tno 文本 教師編號 否 否 3 tname 文本 教師姓名
51、 否 否 Ts表: 編號 字段名稱 數(shù)據(jù)類型 說明 空 主鍵 1 id 自動編號 任課ID 否 是 2 tno 文本 教師編號 否 否 3 cno 文本 班級編號 否 否 4 ccno 文本 課程編號 否 否 4.4. 前臺子系統(tǒng) 前臺子系統(tǒng)基本只是作為簡單的新聞發(fā)布作用,作為游客身份可以發(fā)表個人想法,主窗口有一個留言薄,不需要身份驗證即可發(fā)表留言。 圖4.3 前臺子系統(tǒng) 4.5. 后臺管理子系統(tǒng) 后臺子系統(tǒng)擁有課程、老師、學(xué)生、評估規(guī)則、班級、留言薄、任課、用戶管理,類似的課程、教師、班級留言薄等只用課
52、程例子代替,它們業(yè)務(wù)邏輯基本相同。 u 課程管理: 圖4.4 后臺管理子系統(tǒng) u 教師任課: 圖4.5 老師任課 u 學(xué)生信息錄入: 圖4.6 錄入信息 4.6. 后臺評估子系統(tǒng) 評估子系統(tǒng)主要完成學(xué)期未每個學(xué)生對教師的一個評估打分活動,該班級有幾名教師就要進行幾次評估,完成后才可提交,如果只評估一半退出的話那么數(shù)據(jù)回滾。 圖4.7 后臺評估 5. 系統(tǒng)的實現(xiàn) 5.1. 平臺的搭建 由于本系統(tǒng)使用的是Struts + Hibernate + Spring 的三層框架來編寫的,所以在進行項目開發(fā)之前需要搭建好相應(yīng)的環(huán)境。在第二章已經(jīng)講過
53、,Struts用來管理所有的業(yè)務(wù)邏輯,Hibernate來管理底層數(shù)據(jù)的操作,Spring則用來初始化所有類的對象。這里一定要清楚的是我們加入框架的順序,Spring是作為插件的形勢加入到Struts中的,而Hibernate在三層框架中是作為Beans的形勢由Spring來管理的,所以正確的邏輯順序應(yīng)該是先在項目中加入Struts的支持,然后加入Spring的支持,最后加入Spring的支持。 5.1.1. 添加Strust支持 首先是加入對Struts的支持,本系統(tǒng)采用的是MyEclipse這款開發(fā)軟件,加入Struts支持時直接在項目上點擊反鍵,找到MyEclipse,從中找到Str
54、uts加入即可。注意,本系統(tǒng)采用的是Struts1.1的版本。完成后系統(tǒng)會多出一個Struts-config-*.xml的一個文件,這個文件是Struts的核心,它的主要功能是作為一個數(shù)據(jù)的存儲存在的。它里邊存放的是在類中需要用到的一些重要的參數(shù),我們可以想像,在Tomcat加載時Struts中的XML文件會被找到,然后把相應(yīng)的配置參數(shù)讀入到相應(yīng)的類中,這樣我們使用這些類的時候才可以達到相應(yīng)的目的。 在配置Struts時系統(tǒng)中用到了一個比較有用的技術(shù),就是把原來默認生成的一個XML文件分成幾個XML文件,這樣做的好處是當(dāng)項目比較大的時候,每個小組做的模塊是比較獨立的,但如果大家都同時去修改一
55、張XML文件的話,容易產(chǎn)生意想不到的錯誤。上面這個技術(shù)的實現(xiàn)方式是在項目WEB-INF文件夾下面找到web.xml這個配置文件,修改其中的文件如下:
56、-system.xml
57、ts-config-admin.xml
58、接找相應(yīng)Struts中的Action的時候就是通過這個名字來尋找的,但可以看到三個配置文件中只有兩個是/admin與/student,這兩個配置文件分別對應(yīng)著我們系統(tǒng)的學(xué)生模塊與系統(tǒng)模塊。還有一個是默認的配置文件,因為在任何時候不管你把一張配置文件分成幾份,都要有一個主配置文件,也是就是這里的默認的配置文件。那我們配置好了怎么來區(qū)別這幾張配置文件呢,舉個例子: 在沒有分配置文件的時候我們在提交表單的時候/tjs/login.do就可以了,現(xiàn)在模塊化后我們提交表單區(qū)別默認的形式是/tjs/admin/login.do,現(xiàn)在應(yīng)該可以理解剛才映射的作用了吧。關(guān)于Struts還有一點要說的是本系統(tǒng)采
59、用了多業(yè)務(wù)邏輯,就是說一張表章可以進行多項的操作,也就是一個Action中可以加入多種操作的方法,默認的只有一個方法,不適合實際的應(yīng)用。要做到這一點可以在生成Action的時候讓它繼承DispathAction這個父類,然后在XML配置文件中做如下的修改:
61、需要自己加入,另外在
62、點是在選擇存放applicationContext-*.xml的位置要是在WEB-INF之下,本系統(tǒng)把Struts、Hibernate、Spring的配置文件全部放在了WEB-INF的config文件夾之下, 這樣做的好處是比較容易管理。上面已經(jīng)講過Spring是以插件的形式加入到Struts中的,所以Spring的存放路徑要在Struts中修改,條件是如果你想改變它的默認位置的話。另外,添加Spring支持的時候也采用了與Struts中相似的技術(shù),就是把默認的一張XML文件分成了幾張XML文件,好處就不多說了。以下是把Spring加入Struts后Struts主配置文件中作的修改。
63、ug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
66、ng來管理,這個在上面已經(jīng)講過。以下是在Spring中對Hibernate管理的配置文件。
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學(xué)習(xí)《中華人民共和國科學(xué)技術(shù)普及法》推進實現(xiàn)高水平科技自立自強推動經(jīng)濟發(fā)展和社會進步
- 激揚正氣淬煉本色踐行使命廉潔從政黨課
- 加強廉潔文化建設(shè)夯實廉政思想根基培育風(fēng)清氣正的政治生態(tài)
- 深入學(xué)習(xí)2024《突發(fā)事件應(yīng)對法》全文提高突發(fā)事件預(yù)防和應(yīng)對能力規(guī)范突發(fā)事件應(yīng)對活動保護人民生命財產(chǎn)安全
- 2023年四年級數(shù)學(xué)上冊第一輪單元滾動復(fù)習(xí)第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級數(shù)學(xué)上冊第14單元階段性綜合復(fù)習(xí)作業(yè)課件新人教版
- 2023年四年級數(shù)學(xué)上冊易錯清單十五課件新人教版
- 2023年四年級數(shù)學(xué)上冊易錯清單七課件西師大版
- 2023年五年級數(shù)學(xué)下冊易錯清單六作業(yè)課件北師大版
- 2023年五年級數(shù)學(xué)下冊易錯清單二作業(yè)課件北師大版
- 2023年五年級數(shù)學(xué)下冊四分數(shù)的意義和性質(zhì)第10課時異分母分數(shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級數(shù)學(xué)下冊周周練四作業(yè)課件北師大版
- 2023年五年級數(shù)學(xué)下冊六折線統(tǒng)計圖單元復(fù)習(xí)卡作業(yè)課件西師大版
- 2023年四年級數(shù)學(xué)上冊6除數(shù)是兩位數(shù)的除法單元易錯集錦一作業(yè)課件新人教版