【文章內(nèi)容簡介】
開發(fā)一個可以直接提供 Web 服務(wù)的 JSP 服務(wù)器,當然同時也支持 Servlet, 這樣 Tomcat 就誕生了。 Tomcat 是 jakarta 項目中的 一個重要的子項目,其被 JavaWorld雜志的編輯選為 2021 年度最具創(chuàng)新的 java 產(chǎn)品,同時它又是 sun 公司官方推薦的servlet 和 jsp 容器,因此其越來越多的受到軟件公司和開發(fā)人員的喜愛。 servlet 和jsp 的最新規(guī)范都可以在 tomcat 的新版本中得到實現(xiàn)。其次, Tomcat 是完全免費的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。 Tomcat 與 Apache 的組合相當完美。 ? 本系統(tǒng)所用的數(shù)據(jù)庫是 MySQL, MySQL 是最受歡迎的開源 SQL 數(shù)據(jù)庫管理系統(tǒng),MySQL 是一個快速的、多線程、多用戶和健壯的 SQL 數(shù)據(jù)庫服務(wù)器。 MySQL 服務(wù)器支持關(guān)鍵任務(wù)、重負載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個大配置(massdeployed)的軟件中去。 西安交通大學城市學院大學本科畢業(yè)論文 7 3. 需求分析 . 總體需求 系統(tǒng)的主要用戶主要有三類,系統(tǒng)管理人員、學員、游客,需求就是針對這三類人員進行。系統(tǒng)的主要功能如下: ( 1) 系統(tǒng)維護:主 要完成權(quán)限的維護、教師信息的維護、課程信息的維護 、學員與管理員帳號的維護、評估規(guī)則維護、學生信息維護,留言簿信息的維護等等。 ( 2) 學員打分:主要完成學期未學員對教師的打分,以作為學校 對教師教堂質(zhì)量的一個考信息,另外學員可以查看個人信息。 ( 3) 公告新聞:此系統(tǒng)主頁可以發(fā)布學校最近發(fā)生的事件,讓游客以上權(quán)限的人瀏覽,另外游客可以不用身份驗證進入留言簿發(fā)帖發(fā)表想法。 . 系統(tǒng)的業(yè)務(wù)處理流程 圖 系統(tǒng)流程圖 . 系統(tǒng)的功能模塊 根據(jù)總體需求得知,教學評估系統(tǒng)的用戶有系統(tǒng)管理員、學員與游客,從功能上看,他們相對獨立,沒有什么聯(lián)系,所以我們針對這三種角色把整個系統(tǒng)分為這三大模塊:系統(tǒng)維護模塊、學生評估模塊、主頁信息發(fā)布模塊。 學員 管理員 游客 系統(tǒng)維護頁面 登錄主頁 評估頁面 中間業(yè)務(wù)邏輯 數(shù)據(jù)庫 西安交通大學城市學院大學本科畢業(yè)論文 8 圖示: 本系統(tǒng)主要由三個模塊組成 : (1) 前臺頁面,主要完成校園信息新聞的發(fā)布,游客可以不用進行身份驗證直接進入留言簿發(fā)表自己想法,但權(quán)限只權(quán)于查看帖子與添加帖子,游客是沒有刪除帖子的權(quán)限的,可以通過管理來完成此功能。 圖 (2) 后臺系統(tǒng)維護模塊主要完成對學院信息的管理,可以對不同年級的班級進行管理,對課程的種類進行管理,對教師信息進行管理, 對學生信息管理,對教師任課進行管理,本系統(tǒng) 可以通過教師與課程種類的關(guān)聯(lián),來讓學生評估時知道本班有那幾位教師需要打分,同時還可以對兩同種角色的人員進行權(quán)限分配,對留言簿進行刪帖、增帖、查看等。 圖 (3) 后臺學生評估模塊主要完成查詢個人信息與對教師進行評估,通過讀取相應關(guān)聯(lián)表格的數(shù)據(jù)讀取該班需要評估的教師,打分后算出該位教師的平均分存入數(shù)據(jù)庫。 系統(tǒng)維護模塊 角色權(quán)限管理 班級信息管理 教師信息管理 學生信息管理 教師任課管理 留言簿管理 評估規(guī)則管理 教學評估系統(tǒng) 學生評估模塊 新聞發(fā)布模塊 系統(tǒng)維護模塊 新聞發(fā)布模塊 發(fā)布新聞 查看與添加留言 學生評估模塊 評估打分 查看個人信息 西安交通大學城市學院大學本科畢業(yè)論文 9 圖 學生評估模塊 . 系統(tǒng)用例模型 用例圖中包含系統(tǒng)、活動者、用例以及元素之 間的各種關(guān)系(泛化、關(guān)聯(lián)、依賴)等模型元素。用例圖主要來為系統(tǒng)的需求建模,需求建模規(guī)定系統(tǒng)應該做什么,但不涉及系統(tǒng)怎么做。 ( 1)學員評估打分模塊: 該模塊有三個用例。 ? 評估打分是在學期未學生對這學期來對教師教學質(zhì)量的一個評價,結(jié)果做為學校對教師任教質(zhì)量的一個參考因數(shù)。 ? 學生登錄時檢查學員的用戶名和密碼是否正確,將用戶信息保存在頁面的 Session中,這樣我們可以在系統(tǒng)中加入過濾器,來驗證用戶的每步操作是否合法,如果是沒有經(jīng)過驗證的用戶直接使用盜鏈來進行相關(guān)操作,就會被檢查出來是非法操作。 ? 學生經(jīng)過合法 驗證后可以查詢自己的個人信息。 學 員登 錄 驗 證查 詢 個 人 信 息評 估 打 分 u s e s u s e s u s e s 圖 ( 2)系統(tǒng)維護模塊: 該模塊有九個用例: ? 學院信息管理包括了老師管理、學生管理、班級管理、任課管理、課程管理等五個用例。 ? 系統(tǒng)信息管理包括了登錄驗證、用戶管理、留言簿等三個用例。 ? 評估管理包括了評估規(guī)則、評估結(jié)果的管理。 西安交通大學城市學院大學本科畢業(yè)論文 10 管 理 員學 院 信 息 管 理系 統(tǒng) 信 息 管 理評 估 管 理教 師 管 理學 生 管 理班 級 管 理任 課 管 理課 程 管 理 u s e s u s e s u s e s e x t e n d s e x t e n d s e x t e n d s e x t e n d s e x t e n d s 登 錄 驗 證用 戶 管 理 e x t e n d s e x t e n d s 留 言 簿 e x t e n d s 評 估 規(guī) 則評 估 結(jié) 果 e x t e n d s e x t e n d s 圖 ( 3)前臺新聞發(fā)布模塊: 該模塊共有二個用例,此模塊為普通游客權(quán)限以上均可使用的功能,不需要身份驗證。 前臺新聞 發(fā)布模塊用例圖: 游 客瀏 覽 新 聞發(fā) 表 留 言 u s e s u s e s 圖 西安交通大學城市學院大學本科畢業(yè)論文 11 . 類模型 類圖是系統(tǒng)靜態(tài)視圖的一部分,它主要用來描述軟件系統(tǒng)的靜態(tài)結(jié)構(gòu)。它是定義其他圖(如時序圖)的基礎(chǔ),在類圖的基礎(chǔ)上,時序圖、狀態(tài)圖、協(xié)作圖、組件圖和配置圖等進一步描述系統(tǒng)的其他方面的特性。 我們從系統(tǒng)維護、學員評估、新聞發(fā)布三大模塊來分析系統(tǒng)類模型。 ( 1) 系統(tǒng)維護類模型包括四類: ? 實體 Bean 之 POJO 類:包括 Admin、 Classes、 Course、 Student、 Teacher、 Ts、Rule 它們都和數(shù)據(jù)庫 tjs 中的相應的表相對應,在使用它們之前我們已經(jīng)通過Hibernate 產(chǎn)生與相應表的映射,所以直接操縱這些類與操作相應的表是一樣的效果。 ? 控制 Bean 之 Action:在第二章已經(jīng)介紹過,所有的邏輯控制都是通過 Struts 框架來完成的,通過在相應的 Action 中完成業(yè)務(wù)邏輯操作,再把跳轉(zhuǎn)參數(shù)寫入XML 文件,這樣產(chǎn)生的結(jié)果直接可以通過讀取 XML 文件中的跳轉(zhuǎn)信息跳轉(zhuǎn)到相應的界面。這些類包括: AdminAction、 ClassesActioni 、 CourseAction、NoteAction、 RuleAction、 SetClassAction、 StuinfoAction、 TeacherAction。 ? 底層操作 Bean 之 Dao 類:所有在本系統(tǒng)中關(guān)于 Dao 的類都是用來對相應表在數(shù)據(jù)庫中數(shù)據(jù)的操作用的。這一層是用 Hibernate 來進行的封裝,對數(shù)據(jù)的操縱是用 這個類 來完成的。分別對應每張表的 Dao 類分別是: AdminDaoImpl 、 ClassesDaoImpl、 CourseDaoImpl、 NoteDaoImpl、 RuleDaoImpl、SetClassDaoImpl、 TeacherDaoImpl。 ? 系統(tǒng)模塊之工具類:工具類的工作主要是完成一些如字符編碼問題、過濾器問題、 Excel 表導入的問題。它們包括: EncodingFilter、 MyFilter、 SignonFilter、ExcelUtil 等。 西安交通大學城市學院大學本科畢業(yè)論文 12 圖 以下實體類具體情況以及它們之間的關(guān)聯(lián) 圖 ( 2) 學員評估類模型與新聞發(fā)布模型包括三類: ? 實體 Bean 之 POJO 類:包括 Paper、 Remarklist。評估過程中 Remarklist 表用來存放評估結(jié)果, Paper 類是作為一張臨時表來存放某一位教師的評估結(jié)果。 ? 控制 Bean 之 Action: RemarkAction。 ? 底層模塊之 Dao 類:包括 PaperDaoImpl、 RemarkListDaoImpl、 StudentDaoImpl。 圖 西安交通大學城市學院大學本科畢業(yè)論文 13 . 動態(tài)模型 M a n a g eL o g i n F r a m e S y s t e m F r a m e S t u d e n t M e n u T e a c h e r M e n uC l a s s e s M e n u C o u r s e M e n uL o g i nC r e a t e M e n u A d d S t u d e n tA d d T e a c h e rA d d C l a s s e sA d d C o u r s e 圖 后臺管理 S t u d e n tL o g i n F r a m eL o g i nR e a m r k F r a m e R e m a r k M e n u I n f o M e n uR e m a r kP e r s o n I n f o 圖 學生評估 . 評估指標設(shè)計 本系統(tǒng)可以動態(tài)的添加評估標準,這樣當有不同的需求的時候系統(tǒng)就可以直接添加新的規(guī)則來進行評估,默認的評估標準有“為人師表”,“富有激 情”,“溝通,交流”,“內(nèi)西安交通大學城市學院大學本科畢業(yè)論文 14 容充實”,“指導學習”等。每個評估標準都分為 5 等,最好的要以得 5 分,最差只有 1分,通過算出 5 項標準總合的平均分即為學員為該教師所打的分數(shù)。 西安交通大學城市學院大學本科畢業(yè)論文 15 4. 系統(tǒng)設(shè)計 . 平臺的選擇 首先要說明的是。 NET 技術(shù)是和 J2EE 技術(shù)相似與相當?shù)募夹g(shù),它們的目的都是為了企業(yè)的應用提供分布式的,高可靠性的解決方案。是服務(wù)器端系統(tǒng)構(gòu)架中二個劃時代的巨人。 .NET 技術(shù)和 J2EE 技術(shù),分別由 Microsoft 公司和 Sun 公司提出,圍繞著二 者的是全球最頂尖的 IT 精英、各大軟件巨頭的支持,紛紛開發(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”是標準,不是 Sun 公司的產(chǎn)品。而 Mircrosoft 的 .NET 列像一組產(chǎn)品,和 WINDOWS API 一樣, Microsoft 并沒有公布其中的源代碼,沒有公布大部分的標準和 API。鑒于從設(shè)計、集成、性能、安全性和可靠性諸多方面考慮,決定采用 J2EE 開發(fā)本系統(tǒng)。 . 數(shù)據(jù)庫設(shè)計 . E- R 圖 我們從數(shù)據(jù)抽象了 8 個實體:學生、老師、課程、班級、留言簿、任課表、規(guī)則、評估表。其中: ? student 表:用來存放 學生信息。 ? Teacher 表:用來存放教師信息,與 ts 表存在多對一的關(guān)系,與 remarklist 存在多對一的關(guān)系。 ? Classes 表:用來存放班級信息,與 ts 表存在多對一的關(guān)系。 ? Course 表:用來存放課程信息,與 ts 表存在多對一的關(guān)系,與 remarkli