jsp課程網(wǎng)站系統(tǒng)ssh論文_第1頁
jsp課程網(wǎng)站系統(tǒng)ssh論文_第2頁
jsp課程網(wǎng)站系統(tǒng)ssh論文_第3頁
jsp課程網(wǎng)站系統(tǒng)ssh論文_第4頁
jsp課程網(wǎng)站系統(tǒng)ssh論文_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品課程的設計與實現(xiàn)-PAGEIV--PAGEII-本科生畢業(yè)設計設計題目:通用精品課程網(wǎng)站學生姓名:學生學號:指導教師:二級院系:專業(yè)班級:完成時間:目錄摘要 IIIAbstract V第1章概述 11.1課題背景 11.2課題意義 21.3開發(fā)工具及技術 31.3.1MyEclipse 31.3.2Tomcat 31.3.3mysql 31.3.4JSP 31.4國內外現(xiàn)狀 5第2章可行性分析及總體設計原則 62.1可行性分析 62.1.1技術可行性 62.1.2經(jīng)濟可行性 62.1.3社會可行性 62.2總體設計原則 7第3章系統(tǒng)分析 83.1業(yè)務流程分析 83.2數(shù)據(jù)流圖 8第4章系統(tǒng)設計 104.1系統(tǒng)功能設計 104.2數(shù)據(jù)庫設計 114.2.1概念結構設計 114.2.2數(shù)據(jù)庫表設計 14第5章系統(tǒng)實現(xiàn) 175.1管理員登錄 175.2管理員功能模塊 195.2.1課程介紹管理 205.2.2教師信息管理 225.2.3習題信息管理 265.2.4視頻信息管理 265.3前臺網(wǎng)站功能模塊 315.3.1網(wǎng)站首面設計 315.3.2教學課件下載 315.3.3教學視頻下載 32第6章軟件測試 336.1軟件測試的重要性 336.2測試實例的研究與選擇 336.3測試環(huán)境與測試條件 346.4系統(tǒng)運行情況 346.5系統(tǒng)評價 35第7章結論 36參考文獻 37致謝 39摘要本文采用自頂向下的結構化的系統(tǒng)分析方法,闡述了一個功能全面的通用精品課程網(wǎng)站的開發(fā)過程、操作流程及其一些核心的技術。本文首先進行了項目概述,簡單介紹了項目開發(fā)的背景、項目開發(fā)的目的和項目開發(fā)的意義;接下來是系統(tǒng)規(guī)劃階段,通過實際的業(yè)務流程調研,分析了系統(tǒng)的組織結構,具體完成了通用精品課程網(wǎng)站的需求分析、可行性分析、現(xiàn)行業(yè)務流程分析,并通過對現(xiàn)行業(yè)務流程的優(yōu)化,得出了系統(tǒng)的業(yè)務流程;之后是系統(tǒng)分析,具體完成了數(shù)據(jù)流分析和數(shù)據(jù)字典;系統(tǒng)設計階段主要完成了功能模塊的劃分、數(shù)據(jù)庫的設計和系統(tǒng)界面設計。該階段對各個模塊的功能進行了詳細設計,形成了本系統(tǒng)的功能模塊圖,在此基礎上選擇了合適的開發(fā)模式;數(shù)據(jù)庫的設計先進行了概念結構設計,之后進行了邏輯結構設計,最后完成了數(shù)據(jù)庫表的設計。根據(jù)前幾個階段的分析和設計,本系統(tǒng)在設計方面采用B/S模式,同時使用JSP技術進行基本頁面的設計與功能實現(xiàn),后臺數(shù)據(jù)庫選用SQLSERVER數(shù)據(jù)庫。本系統(tǒng)的設計實施為通用精品課程網(wǎng)站的運行做基礎,為通用精品課程網(wǎng)站提供良好的條件。關鍵詞:多媒體;結構化分析;B/S基于JSP的多媒體技術與應用課程網(wǎng)站的設計與實現(xiàn)AbstractKeyWords:Multi-media;structuralanalysis;B/S基于JSP的多媒體技術與應用課程網(wǎng)站的設計與實現(xiàn)-PAGE39-第1章概述1.1課題背景在21世紀這個信息高度發(fā)達,并且高速流通的時代,計算機的普及以及計算機網(wǎng)絡技術的應用,讓大量普通人能夠有機會接觸到比以往更多的知識。作為一個以傳播知識為主要職能的機構——學校,建立一個自己的通用精品課程網(wǎng)站是十分必要的事情,這不僅能使更多的人享用寶貴的教育資料源,同時也對于提升學校自身的知名度,提高學生自學能力,有相當大的幫助。隨著互聯(lián)網(wǎng)技術的飛速發(fā)展,利用網(wǎng)絡進行教學已經(jīng)成為時代發(fā)展的必然趨勢,建立通用精品課程網(wǎng)站,盡可能提高優(yōu)質教學的利用率,對實現(xiàn)人才培養(yǎng),促進社會經(jīng)濟發(fā)展都能起到十分重要的作用。也可以引導用戶主動年該學習,提高學習效率,更為教學雙方提供一個進行寫作學習和交流的平臺。人口多而教育資源缺乏影響著我國受過高等教育的人在人口比例中所占的比重,這嚴重的制約了我國社會的發(fā)展與進步,這對于提高我國國民的文化科學素養(yǎng)十分不利。怎樣才能讓更多的人享有少部分人擁有的精品教育資源呢?對于這個問題,前人已經(jīng)做了大量的研究。隨著計算機技術以及計算機網(wǎng)絡技術的飛速發(fā)展,人們終于找到了一條實現(xiàn)這種夢想的捷徑,那就是寄希望于把各種教育資源移置到互聯(lián)網(wǎng)上去,使得各地方的人都能夠方便的獲取到各種自己想要的知識,打破傳統(tǒng)教育資源分配不均的限制,使得更多的人能夠有機會獲取到知識。近年來,學校學生的數(shù)量逐漸增加,人工書寫教學的方式已經(jīng)不能滿足如此龐大的數(shù)據(jù)。為了更好的適應信息時代的高效性,一個利用計算機來實現(xiàn)學校通用精品課程網(wǎng)站管理工作的系統(tǒng)將必然誕生?;谶@一點,設計了一個通用精品課程網(wǎng)站,用來就學生通用精品課程網(wǎng)站進行管理,以便在最短的時間內,高效準確的完成整個教學程。基于對上述的認識,收集相關資料和數(shù)據(jù),查閱有關文獻及技術參數(shù),對學校的實際需求等方面進行了調研,發(fā)現(xiàn)目前所采用的手工記錄的方法進行管理存在以下幾個方面的弊端:對象范圍廣,數(shù)據(jù)存儲不易;填寫的數(shù)據(jù)多,且大量數(shù)據(jù)重復;不易存檔,成千上萬的信息和堆積如山的單據(jù)對管理人員來說是一個負擔,需要大量的文檔資料。鑒于以上種種原因,學校教學的管理急需一種軟件來代替手工操作來管理數(shù)據(jù)資料。計算機技術在現(xiàn)代管理中的應用,使計算機成為領導者和管理人員應用現(xiàn)代技術的重要工具[1]。計算機輔助高校管理活動,可以極大地增強管理者采集、處理信息的能力,從而有利于管理者及時決策。計算機系統(tǒng)能根據(jù)管理過程的變化情況,將原始數(shù)據(jù)、資料等進行加工、保存,管理人員可以在解決具體問題需要信息資料時,隨時進行檢索查詢,了解整個通用精品課程網(wǎng)站的動態(tài)情況,進行動態(tài)管理,從而有效的處理通用精品課程網(wǎng)站的管理工作,實現(xiàn)通用精品課程網(wǎng)站信息管理的自動化,提高辦學效率。1.2課題意義與傳統(tǒng)的教育相比,通過網(wǎng)絡教學是一種全新的教育模式,它可以突破時間和空間的限制,讓更多的學習者共享優(yōu)秀的教育資源。通用精品課程網(wǎng)站既具有開放性、交互性、協(xié)作性和自主性等特點,有具有異步性、實時性、生動性、集成性和大容量等優(yōu)勢。因此在通用精品課程網(wǎng)站系統(tǒng)的建設中,單純地構建各種功能單一的系統(tǒng)并不能完全滿足通用精品課程網(wǎng)站建設的要求,只有那些對數(shù)據(jù)和信息進行有效組織,整合了多種業(yè)務,為用戶提供個性化服務的系統(tǒng)才能充分地發(fā)揮通用精品課程網(wǎng)站的作用。學生輸入網(wǎng)址進入主頁面,通過導航欄搜索自己想要查看的信息。學生可以點擊“課程簡介”、“課程大綱”、“演示課件”、“教學錄像”跳轉到相應的子頁面;如:通過點擊“單元習題”參加每單元知識的習題練習;通過點擊“教師資料”來了解師資;還可以點擊“電子郵件”對每個老師進行提問、交流學習心得等。

不同的用戶對系統(tǒng)的使用權限不同,學生可以通過瀏覽網(wǎng)站快速的選擇自己想要查看的課程相關內容,還可以向教師留言提問;每個教師可以對自己的課程內容做電子資料的增刪、回答學生提問等;管理員可以對教師做增刪、對網(wǎng)站進行維護工作。

(1)系統(tǒng)要能上傳視頻,對于流媒體網(wǎng)站視頻點播技術,我采用MMS技術

(2)針對老師設置電子郵件的留言功能,學生可以留言對老師進行提問。

(3)管理員登錄驗證:管理員可以管理教師權限,可以修改教師信息,修改相應的課程的等;也可進行前臺管理,修改頁面等?;旧暇褪菢藴驶脑鰟h改查,只不過涉及管理員表、教師權限表、課程維護表。

(4)教師登錄驗證:教師登錄時輸入正確的用戶名和密碼則可成功登陸,為空或填錯則顯示錯誤信息。教師通過身份驗證登錄,可以針對自己的課程上傳視頻,還可以查看學生留言,回復學生問題等。教師登錄只是簡單的數(shù)據(jù)庫查詢,返回信息到action,并由action統(tǒng)一控制是不是可以登錄,此外在頁面上利用一些JavaScript做一些觸及驗證;至于上傳可以用action層框架的功能支持更好的完成。1.3開發(fā)工具及技術1.3.1MyEclipseMyEclipse,是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產(chǎn)品的支持十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。1.3.2TomcatTomcat是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP程序的首選??梢赃@樣認為,當在一臺機器上配置好Apahce服務器,可利用它響應對HTML頁面的訪問請求。實際上Tomcat部分是Apache服務器的擴展,但它是獨立運行的,所以當運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。1.3.3mysqlMySQL是一個小型關系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。在2008年1月16號被Sun公司收購。而2009年,SUN又被Oracle收購。MySQL是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內。這樣就增加了速度并提高了靈活性REF_Ref326082437\r[6]。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。1.3.4JSPJSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Action一樣,是在服務器端執(zhí)行的,通常返回給客戶端就是一個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Action是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需要JavaAction和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。JSP技術的優(yōu)點:(1)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/.net的局限性是顯而易見的。(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Action/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。(4)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。(5)支持服務器端組件。web應用需要強大的服務器端組件來支持,開發(fā)人員需要利用其他工具設計實現(xiàn)復雜功能的組件供web頁面調用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVABEANS組件來實現(xiàn)復雜商務功能。內部對象說明:request客戶端請求,此請求會包含來自GET/POST請求的參數(shù);response網(wǎng)頁傳回客戶端的響應;pageContext網(wǎng)頁的屬性是在這里管理;session與請求有關的會話;applicationaction正在執(zhí)行的內容;out用來傳送響應的輸出流;config代碼片段配置對象;pageJSP網(wǎng)頁本身;exception針對錯誤網(wǎng)頁,未捕捉的例外。1.4國內外現(xiàn)狀國家教育部大力推進信息技術教育,虛擬學校、遠程教育等應運而生;國外的許多著名大學也在積極研究網(wǎng)上教育,加強各國之間的文化交流,給學生提供一個共享資源的平臺,最大限度的提高學生學習的有效性,隨著課改的進一步深入,現(xiàn)在技術特別市信息技術在教育教學中得到廣泛的應用?;贘SP的多媒體技術與應用課程網(wǎng)站的設計與實現(xiàn)第2章可行性分析及總體設計原則2.1可行性分析可行性分析也稱為可行性研究,是在調查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術、經(jīng)濟、社會等方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功[2]。可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。下面將分別從技術、經(jīng)濟、社會三個方面對通用精品課程網(wǎng)站的建設進行分析和研究。2.1.1技術可行性根據(jù)學校提出的系統(tǒng)功能、性能及實現(xiàn)系統(tǒng)的各種約束條件,根據(jù)新系統(tǒng)目標來衡量所需的技術是否具備,本系統(tǒng)是一個數(shù)據(jù)庫管理和查詢的系統(tǒng),現(xiàn)有的技術已較為成熟,硬件、軟件的性能要求、環(huán)境條件等各項條件良好,估計利用現(xiàn)有技術條件應完全可以達到該系統(tǒng)的功能目標。同時,考慮給予的開發(fā)期限也較為充裕,預計系統(tǒng)是可以在規(guī)定期限內完成開發(fā)的。由以上分析可知,通用精品課程網(wǎng)站的開發(fā)在技術上是可行的2.1.2經(jīng)濟可行性學校具有信息化的處理設施,并且擁有支持本系統(tǒng)的應用平臺。因此無需再投入資金購買其他設施。系統(tǒng)的開發(fā)基于本人對程序開發(fā)的實踐學習而來,學校無需資金投入,并且軟件開發(fā)過程投入的成本不高,因此開發(fā)經(jīng)費完全可以接受。由以上分析可知,通用精品課程網(wǎng)站在經(jīng)濟上是可行的。2.1.3社會可行性本系統(tǒng)的社會可行性主要從法律因素、用戶使用可行性兩方面進行研究。(1)法律因素本系統(tǒng)是根據(jù)通用精品課程網(wǎng)站的實際情況開發(fā)研制的,是通過大量的調研得出的,系統(tǒng)的軟件設計是在獨立的環(huán)境下完成的,無可供抄襲的軟件產(chǎn)品。(2)用戶使用可行性本系統(tǒng)對用戶的要求,除了需要具備在MicrosoftWindows平臺上使用個人電腦的知識外,并不需要特別的技術能力。使用系統(tǒng)的管理員,需要具備對Tomcat服務器的使用能力,在投入使用前,無需對操作系統(tǒng)的人員進行培訓。這樣既減少投入成本又簡化了操作環(huán)節(jié)。由以上分析可知,本系統(tǒng)具有社會可行性。2.2總體設計原則本系統(tǒng)為了設計、實現(xiàn)和后期維護的方便,以及系統(tǒng)用戶使用的便利,所以必須采取一定的設計原則。其主要設計原則有:簡單性:在實現(xiàn)系統(tǒng)的功能的同時,盡量讓系統(tǒng)操作簡單易懂,這對于一個系統(tǒng)來說是非常重要的。針對性:本系統(tǒng)設計是針對通用精品課程網(wǎng)站的需求定向開發(fā)設計,所以具有專業(yè)突出和很強的針對性。實用性:要求本系統(tǒng)能夠滿足通用精品課程網(wǎng)站的需求,因此具有良好的實用性。一致性:頁面整體設計風格以及命名規(guī)則的一致性:整體頁面布局和用圖用色風格及變量、類名和其他元素的命名規(guī)則保持一致。功能一致性:完成同樣的功能應該盡量使用同樣的元素。元素風格一致性:界面元素的美觀風格、擺放位置在同一個界面和不同界面之間都應該是一致的。變量命名規(guī)則的一致性:變量應該用統(tǒng)一的規(guī)則進行命名,做到任意變量均能從上下文推斷其義。先進性:本系統(tǒng)采用JSP技術、SQLSERVER等被廣泛采用系統(tǒng)開發(fā)技術和數(shù)據(jù)庫,因此本設計具有良好的先進性,具體表現(xiàn)在其具有良好的可擴展性,可開發(fā)性?;贘SP的多媒體技術與應用課程網(wǎng)站的設計與實現(xiàn)第3章系統(tǒng)分析3.1業(yè)務流程分析在進行業(yè)務流程分析時,需要按照原有信息流動過程,逐個地調查分析所有環(huán)節(jié)的處理業(yè)務、處理內容、處理順序和對處理時間的要求,弄清各個環(huán)節(jié)需要的信息、信息來源、流經(jīng)去向、處理方法、計算方法、提供信息的時間和信息形態(tài)(報告、報單、屏幕顯示)等[4]。業(yè)務流程分析可以幫助開發(fā)者了解該業(yè)務處理過程,發(fā)現(xiàn)和處理系統(tǒng)調查工作中的錯誤和疏漏。業(yè)務流程分析是通過業(yè)務流程圖來進行,即用一些規(guī)定的符號及連線來表示某個具體業(yè)務處理過程[5]。圖3.1業(yè)務流程圖3.2數(shù)據(jù)流圖數(shù)據(jù)流程是指數(shù)據(jù)在系統(tǒng)中產(chǎn)生、傳輸、加工處理、使用、存儲的過程[6]。數(shù)據(jù)流程分析是把數(shù)據(jù)在現(xiàn)行系統(tǒng)內部的流動抽象的獨立起來,舍去了具體組織機構、信息載體、處理工具、物質、材料等,單從數(shù)據(jù)流動過程來考查實際業(yè)務的數(shù)據(jù)處理模式。數(shù)據(jù)流程與數(shù)據(jù)流程分析是今后建立數(shù)據(jù)庫系統(tǒng)和設計功能模塊處理過程的基礎。描述數(shù)據(jù)流程的工具是數(shù)據(jù)流程圖以及其附帶的數(shù)據(jù)字典、處理邏輯等圖表。其中數(shù)據(jù)流程圖是描述系統(tǒng)邏輯模型的主要工具,它以少數(shù)幾種符號綜合地反映出信息在系統(tǒng)中的流動、存儲和傳遞[7]。在業(yè)務流程分析的基礎上,對數(shù)據(jù)流進行了分析,從數(shù)據(jù)流動過程考察了實際業(yè)務的數(shù)據(jù)處理模式。該系統(tǒng)的數(shù)據(jù)流圖分為頂層、一層、二層?,F(xiàn)行的頂層數(shù)據(jù)流圖如圖3.2所示。圖3.2頂層數(shù)據(jù)流圖具體分析第一層數(shù)據(jù)流圖,該層數(shù)據(jù)流圖如圖3.3所示。圖3.3第一層數(shù)據(jù)流圖由于論文的篇幅限制不能一一列舉數(shù)據(jù)流圖,只給出了部分數(shù)據(jù)流圖,其他的數(shù)據(jù)流圖基本一致。精品課程網(wǎng)站的設計與實現(xiàn)第4章系統(tǒng)設計4.1系統(tǒng)功能設計系統(tǒng)設計是一個把軟件需求轉換成用軟件系統(tǒng)表示的過程。通過對目標系統(tǒng)的分析和研究,做出了通用精品課程網(wǎng)站的總體規(guī)劃,這是全面開發(fā)系統(tǒng)的重要基礎。在對通用精品課程網(wǎng)站全面分析調查的基礎上,制定出通用精品課程網(wǎng)站的總體規(guī)劃。系統(tǒng)設計包括系統(tǒng)總體設計、系統(tǒng)詳細設計、系統(tǒng)數(shù)據(jù)庫設計、系統(tǒng)開發(fā)工具、開發(fā)技術和開發(fā)模式等。從數(shù)據(jù)流圖出發(fā),對數(shù)據(jù)流圖進行分析,得出的層次化的模塊結構圖.通用精品課程網(wǎng)站前臺功能模塊圖如圖4-1所示:圖4-1前臺功能模塊圖通用精品課程網(wǎng)站后臺功能模塊圖如圖4-2所示:圖4-2通用精品課程網(wǎng)站后臺功能模塊圖4.2數(shù)據(jù)庫設計數(shù)據(jù)庫是本系統(tǒng)的核心和基礎。它設計的好壞直接影響著整個系統(tǒng)的質量。數(shù)據(jù)是一切系統(tǒng)設計的基礎,通俗地說,數(shù)據(jù)庫設計就像高樓大廈的根基一樣,如果設計的不合理、不完善,將在系統(tǒng)開發(fā)過程中,甚至到后期的系統(tǒng)維護、功能變更和功能擴充時,引起較多問題,嚴重時甚至要重新設計,重做大量已完成工作。4.2.1概念結構設計從數(shù)據(jù)需求分析中得出系統(tǒng)的實體屬性圖。(1)管理員實體屬性圖如圖4-3所示:圖4-3管理員實體屬性圖(2)課程介紹實體屬性圖如圖4-4所示:圖4-4班級實體屬性圖(3)學生信息實體屬性圖如圖4-5所示:圖4-5學生實體屬性圖(4)老師實體屬性圖如圖4-6所示:圖4-6老師實體屬性圖(5)課件信息實體屬性圖如圖4-7所示:圖4-7教學資料實體屬性圖(6)視頻信息實體屬性圖如圖4-8所示:圖4-8視頻信息實體屬性圖(7)信息交流實體屬性圖如圖4-9所示:圖4-9留言信息實體屬性圖(8)教學視頻實體屬性圖如圖4-10所示:圖4-10教學視頻信息實體屬性圖4.2.2數(shù)據(jù)庫表設計admin表注釋:字段類型Null默認注釋usernamevarchar(255)否passwordvarchar(50)是NULLchapter字段類型Null默認注釋idint(11)否titlevarchar(100)否add_timevarchar(30)否course_info表注釋:字段類型Null默認注釋idint(11)否jianjietext否dagantext否exercise表注釋:字段類型Null默認注釋idint(11)否titlevarchar(100)否chapter_idint(11)否contenttext否add_timevarchar(30)否kejian字段類型Null默認注釋idint(11)否titlevarchar(100)否pathvarchar(100)否add_timevarchar(30)否question表注釋:字段類型Null默認注釋idint(11)否teacher_idint(11)否questionervarchar(20)否contentvarchar(200)否replyvarchar(200)否add_timevarchar(20)否student表注釋:字段類型Null默認注釋studentNumbervarchar(255)否passwordvarchar(50)是NULLnamevarchar(20)是NULLsexvarchar(2)是NULLbirthdayvarchar(20)是NULLstatevarchar(20)是NULLclassNumbervarchar(20)是NULLtelephonevarchar(50)是NULLaddressvarchar(255)是NULLt_class表注釋:字段類型Null默認注釋classNumbervarchar(255)否classNamevarchar(50)是NULLbanzhurenvarchar(50)是NULLteacher字段類型Null默認注釋idint(11)否namevarchar(20)否sexvarchar(2)否positionvarchar(10)否passwordvarchar(20)否introductiontext否video字段類型Null默認注釋idint(11)否titlevarchar(100)否chapter_idint(11)否pathvarchar(100)否add_timevarchar(30)否第5章系統(tǒng)實現(xiàn)5.1管理員登錄圖4.1系統(tǒng)登陸頁面設計 publicclassLoginAction{ UserInfouserInfo; publicUserInfogetUserInfo(){ returnuserInfo; } publicvoidsetUserInfo(UserInfouserInfo){ this.userInfo=userInfo; } /*驗證用戶登錄*/ publicStringCheckLogin(){ /*取得用戶的身份*/ Stringidentify=userInfo.getIdentify(); if(identify.equals("teacher")){ TeacherDAOteacherDAO=newTeacherDAO(); ActionContextctx=ActionContext.getContext(); if(!teacherDAO.CheckLogin(userInfo)){ ctx.put("error",teacherDAO.getErrMessage()); return"error"; } ctx.getSession().put("username",userInfo.getUsername()); return"teacherMain"; }else{ AdminDAOadminDAO=newAdminDAO(); ActionContextctx=ActionContext.getContext(); if(!adminDAO.CheckLogin(userInfo)){ ctx.put("error",adminDAO.getErrMessage()); return"error"; } ctx.getSession().put("username",userInfo.getUsername()); return"adminMain"; } 5.2管理員功能模塊1.描述:系統(tǒng)主頁面:左方頁面展示了管理員可操作的六大功能,進入相關的管理頁面可以鏈接到子菜單,并且高亮顯示,每個管理模塊下面都有相應的子菜單。2.程序運行效果圖如圖4.2所示:圖4.2管理員主頁面在每個jsp頁面將會對相關用戶進行攔截操作,這樣可以提高安全性,防止用戶不經(jīng)過登陸頁面而進入任何子菜單頁面:if(session.getAttribute("user")==null){out.print("<script>alert('請先登錄!');window.open('../index.jsp','_self')</script>"); }5.2.1課程介紹管理課程介紹管理圖5.4課程介紹管理*接受課程信息參數(shù)*/ privateCourseInfocourseInfo; /*接收章標題信息參數(shù)*/ privateChapterchapter; privateCourseInfoDAOcourseInfoDAO=newCourseInfoDAO(); privateChapterDAOchapterDAO=newChapterDAO(); /*查詢課程簡介信息*/ publicStringQueryJianjieInfo(){ ActionContextctx=ActionContext.getContext(); CourseInfocourseInfo=courseInfoDAO.QueryCourseInfo(); ctx.put("courseInfo",courseInfo); return"course_jianjie_view"; } /*查詢課程大綱信息*/ publicStringQueryDaganInfo(){ ActionContextctx=ActionContext.getContext(); CourseInfocourseInfo=courseInfoDAO.QueryCourseInfo(); ctx.put("courseInfo",courseInfo); return"course_dagan_view"; } /*課程章標題信息管理*/ publicStringChapterManage(){ ActionContextctx=ActionContext.getContext(); ChapterDAOchapterDAO=newChapterDAO(); ArrayList<Chapter>chapterList=chapterDAO.QueryAllChapter(); ctx.put("chapterList",chapterList); return"chapter_manage_view"; } /*更新課程簡介信息*/ publicStringUpdateJianjie(){ CourseInfodb_courseInfo=courseInfoDAO.GetCourseInfo(); db_courseInfo.setJianjie(courseInfo.getJianjie()); ActionContextctx=ActionContext.getContext(); try{ courseInfoDAO.UpdateCourseInfo(db_courseInfo); ctx.put("message","課程簡介信息更新成功!"); }catch(Exceptione){ //TODOAuto-generatedcatchblock ctx.put("message",e.getMessage()); e.printStackTrace(); } return"course_jianjie_view"; }5.2.2教師信息管理教師信息錄入1.描述:管理員輸入教師相關正確信息后點擊錄入按鈕,如果是沒有輸入完整的教師經(jīng)理信息,都會給出相應的錯誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit="returncheckForm()"來檢查,checkForm()函數(shù)中是各種的校驗輸入數(shù)據(jù)的方式。2.程序效果圖如下圖5.6所示:圖5.6教師信息錄入教師信息管理1.描述:管理員點擊左側的菜單“教師管理”,頁面跳轉到教師管理界面,調用后臺的action類查詢所有教師信息。2.程序效果圖如下圖5.7所示圖5.7教師信息管理教師管理關鍵代碼:publicclassTeacherAction{ /*接受教師信息參數(shù)*/ privateTeacherteacher; publicTeachergetTeacher(){ returnteacher; } publicvoidsetTeacher(Teacherteacher){ this.teacher=teacher; } /*教師信息數(shù)據(jù)訪問接口對象*/ privateTeacherDAOteacherDAO=newTeacherDAO(); /*添加教師信息*/ publicStringAddTeacher(){ ActionContextctx=ActionContext.getContext(); try{ teacherDAO.AddTeacher(teacher); ctx.put("message","教師信息添加成功!"); }catch(Exceptione){ //TODOAuto-generatedcatchblock ctx.put("message",e.getMessage()); e.printStackTrace(); } return"teacher_add_view"; } /*查詢教師信息*/ publicStringQueryTeacherInfo(){ ActionContextctx=ActionContext.getContext(); ArrayList<Teacher>teacherList=teacherDAO.QueryTeacherInfo(); ctx.put("teacherList",teacherList); return"teacher_manage_view"; } /*更新教師信息*/ publicStringUpdateTeacher(){ intid=teacher.getId(); Teacherteacher=teacherDAO.GetTeacherById(id); ActionContextctx=ActionContext.getContext(); ctx.put("teacherInfo",teacher); return"teacher_update_view"; } /*教師自己更新個人信息*/ publicStringUpdateSelfInfo(){ /*首先從session中取得教師記錄編號*/ ActionContextctx=ActionContext.getContext(); Stringusername=(String)ctx.getSession().get("username"); intid=Integer.parseInt(username); Teacherteacher=teacherDAO.GetTeacherById(id); ctx.put("teacherInfo",teacher); return"teacher_self_update_view"; } /*提交教師自己更新后的教師信息*/ publicStringUpdateSelfInfoSave(){ ActionContextctx=ActionContext.getContext(); try{ teacherDAO.UpdateTeacher(teacher); ctx.put("message","教師信息更新成功!"); }catch(Exceptione){ //TODOAuto-generatedcatchblock ctx.put("message",e.getMessage()); e.printStackTrace(); } ctx.put("teacherInfo",teacher); return"teacher_self_update_view"; } /*提交更新后的教師信息*/ publicStringUpdateTeacherSave(){ ActionContextctx=ActionContext.getContext(); try{ teacherDAO.UpdateTeacher(teacher); ctx.put("message","教師信息更新成功!"); }catch(Exceptione){ //TODOAuto-generatedcatchblock ctx.put("message",e.getMessage()); e.printStackTrace(); } ArrayList<Teacher>teacherList=teacherDAO.QueryTeacherInfo(); ctx.put("teacherList",teacherList); return"teacher_manage_view"; } /*刪除教師信息*/ publicStringDeleteTeacher(){ ActionContextctx=ActionContext.getContext(); try{ teacherDAO.DeleteTeacher(teacher); ctx.put("message","教師信息刪除成功!"); }catch(Exceptione){ //TODOAuto-generatedcatchblock ctx.put("message",e.getMessage()); e.printStackTrace(); } ArrayList<Teacher>teacherList=teacherDAO.QueryTeacherInfo(); ctx.put("teacherList",teacherList); return"teacher_manage_view"; } }5.2.3習題信息管理5.2.4視頻信息管理視頻信息錄入1.描述:管理員輸入視頻相關正確信息后點擊錄入按鈕,如果是沒有輸入完整的視頻信息,都會給出相應的錯誤提示,不能錄入成功。輸入數(shù)據(jù)都通過form表單中定義的方法onsubmit="returncheckForm()"來檢查,checkForm()函數(shù)中是各種的校驗輸入數(shù)據(jù)的方式。2.程序效果圖如下圖5.12所示:圖5.12視頻信息錄入視頻信息管理1.描述:管理員點擊左側的菜單“視頻信息管理”,頁面跳轉到視頻信息管理界面,調用后臺的action類查詢出所有的視頻信息,并把這些信息封轉到數(shù)據(jù)集合List中,綁定到request對象,然后頁面跳轉到相應的jsp,顯示出視頻信息。2.程序效果圖如下圖5.13所示圖5.13視頻信息管理頁面視頻信息管理關鍵代碼:/*添加視頻信息*/ publicStringAddVideo(){ /*獲取當前的時間*/ Datenow=newDate(); SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//可以方便地修改日期格式 StringaddTime=dateFormat.format(now); //StringaddTime=year+"-"+(month<10?"0"+month:month)+(day<10?"0"+day:day); video.setAddTime(addTime); ActionContextctx=ActionContext.getContext(); try{ videoDAO.AddVideo(video); ctx.put("message","視頻信息添加成功!"); }catch(Exceptione){ //TODOAuto-generatedcatchblock ctx.put("message",e.getMessage()); e.printStackTrace(); } return"video_add_view"; } /*刪除視頻信息*/ publicStringDeleteShipinInfo(){ ActionContextctx=ActionContext.getContext(); ServletContextsc=(ServletContext)ctx.get(ServletActionContext.SERVLET_CONTEXT); Stringpath=sc.getRealPath("/upload/"); try{ videoDAO.DeleteShipinInfo(video,path); ctx.put("message","視頻信息刪除成功!"); }catch(Exceptione){ //TODOAuto-generatedcatchblock ctx.put("message",e.getMessage()); e.printStackTrace(); } currentPage=1; /*計算總頁數(shù)*/ this.totalPage=videoDAO.CalculateTotalPage(keyword,chapterId); /*查詢滿足條件的記錄*/ ListvideoList=videoDAO.QueryVideoInfo(keyword,chapterId,currentPage); /*生成form提交數(shù)據(jù)*/ StringpageFootStr=this.MakeVideoInfoPageFootStr(true); /*查詢章標題信息*/ ChapterDAOchapterDAO=newChapterDAO(); ListchapterList=chapterDAO.QueryAllChapter(); ctx.put("videoList",videoList); ctx.put("chapterList",chapterList); ctx.put("pageFootStr",pageFootStr); return"video_manage_view"; } /*前臺查詢視頻信息*/ publicStringListShipin(){ if(currentPage==0)currentPage=1; if(keyword==null)keyword=""; /*計算總頁數(shù)*/ this.totalPage=videoDAO.CalculateTotalPage(keyword,chapterId); /*查詢滿足條件的記錄*/ ListvideoList=videoDAO.QueryVideoInfo(keyword,chapterId,currentPage); /*生成form提交數(shù)據(jù)*/ StringpageFootStr=this.MakeVideoInfoPageFootStr(false); /*查詢章標題信息*/ ChapterDAOchapterDAO=newChapterDAO(); ListchapterList=chapterDAO.QueryAllChapter(); ActionContextctx=ActionContext.getContext(); ctx.put("videoList",videoList); ctx.put("chapterList",chapterList); ctx.put("pageFootStr",pageFootStr); return"video_list_view"; } /*后臺查詢視頻信息*/ publicStringQueryShipinInfo(){ if(currentPage==0)currentPage=1; if(keyword==null)keyword=""; /*計算總頁數(shù)*/ this.totalPage=videoDAO.CalculateTotalPage(keyword,chapterId); /*查詢滿足條件的記錄*/ ListvideoList=videoDAO.QueryVideoInfo(keyword,chapterId,currentPage); /*生成form提交數(shù)據(jù)*/ StringpageFootStr=this.MakeVideoInfoPageFootStr(true); /*查詢章標題信息*/ ChapterDAOchapterDAO=newChapterDAO(); ListchapterList=chapterDAO.QueryAllChapter(); ActionContextctx=ActionContext.getContext(); ctx.put("videoList",videoList); ctx.put("chapterList",chapterList); ctx.put("pageFootStr",pageFootStr); return"video_manage_view"; } }視頻詳細信息查看1.描述:先是點擊視頻信息管理,頁面跳轉到視頻信息管理界面,瀏覽所有的視頻信息,點擊要查看的視頻信息,彈出視頻信息詳細信息界面。視頻信息刪除1.描述:先是點擊視頻信息管理,頁面跳轉到視頻信息管理界面,瀏覽所有的視頻信息,點擊要刪除的視頻信息,彈出的確定對話框,即可刪除該視頻信息。5.3前臺網(wǎng)站功能模塊5.3.1網(wǎng)站首面設計1.描述:前臺首頁是瀏覽者打開一個網(wǎng)站后第一眼看到的網(wǎng)頁,網(wǎng)站能不能吸引瀏覽者,在很大程度上取決于首頁做得怎么樣。首頁包含內容雖然豐富但不雜亂,色彩搭配要合理,整體風格要獨特。2.程序效果圖如下圖5.22所示:圖5.22網(wǎng)站首頁5.3.2教學課件下載1.描述:點擊網(wǎng)站主頁菜單的課件信息菜單,進入課件信息列表,點擊課件信息具體內容,并下載資料中的附件信息。2.程序效果圖如下圖5.23所示:圖5.23教學課件下載5.3.3教學視頻下載1.描述:點擊網(wǎng)站主頁菜單的教學視頻,進入教學視頻信息列表,點擊視頻信息瀏覽具體內容,并下載視頻中的附件信息。2.程序效果圖如下圖5.24所示:圖5.24教學視頻下載第6章軟件測試測試是開發(fā)時期最后一個階段,是保證軟件質量的重要手段。軟件測試就是在受控制的條件下對系統(tǒng)或應用程序進行操作并評價操作結果的過程,所謂控制條件應包括正常條件與非正常條件。軟件測試過程中應該故意地去促使錯誤的發(fā)生,也就是事情在不該出現(xiàn)的時候出現(xiàn)或者在應該出現(xiàn)的時候沒有出現(xiàn)。從本質上說,軟件測試是"探測",在“探測”中發(fā)現(xiàn)軟件的毛病。6.1軟件測試的重要性軟件測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應包含測試,從而檢驗本階段的成果是否接近預期的目標,盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導致最后成品測試的巨大困難。[19]事實上,對于軟件來講,不論采用什么技術和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設計的那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護階段也考慮在內,討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。6.2測試實例的研究與選擇程序測試的主要方法分為兩大類,白盒測試和黑盒測試。白盒測試:一種是以程序的內部邏輯結構為依據(jù)而設計測試用例的方法,因而又稱結構測試或玻璃盒測試,將軟件看成一個透明的白盒子,按照程序的內部結構和處理邏輯來選定測試用例,對軟件的邏輯路徑及過程進行測試,檢查它與設計是否相符[20]。白盒測試就是要選取足夠的測試用例,對源代碼實行比較充分的覆蓋,以便盡可能多地發(fā)現(xiàn)程序中的錯誤。主要有兩種方法:一種稱為邏輯覆蓋法,另一種稱為路徑覆蓋法。黑盒測試:也稱功能測試,數(shù)據(jù)驅動測試等,它將待測對象堪稱是一個黑盒子,在完全不考慮程序的內部結構和特性的情況下,只依據(jù)規(guī)格說明書檢查程序的功能是否能正常使用。黑盒測試主要是根據(jù)輸入條件和輸出條件的確定測試數(shù)據(jù),來檢查程序是否能產(chǎn)生正確的輸出。進行黑盒測試主要有下面幾種方法:等價分類法、邊界值分析法、猜錯法、因果圖法。本系統(tǒng)的測試綜合了白盒測試、黑盒測試兩種方法,但主要使用的是黑盒測試方法。在測試當中遵循了“盡早地和不斷進行測試”,“保證測試用例的完整性和有效性”原則。通過測試達到以下測試目的:1.功能檢查:檢查功能是否爭取,是否遺漏或實現(xiàn)不了應該實現(xiàn)的功能等。2接口檢查:檢查能否正確地接受信息或輸出信息。3數(shù)據(jù)檢查:檢查數(shù)據(jù)結構或外部信息是否有(如數(shù)據(jù)文件)訪問錯誤。4性能檢查:檢查性能需求能否得到滿足。[21]5初始化、終止檢查:檢查是否能進行正確地初始化或終止。6.3測試環(huán)境與測試條件處理器:Inter(R)Core(TM)2DuoT5750內存:2GB硬盤:160G操作系統(tǒng):WindowsXP數(shù)據(jù)庫:SqlServer6.4系統(tǒng)運行情況通過對系統(tǒng)的全面測試,所有測試條目都已經(jīng)通過,實現(xiàn)了基本要求,系統(tǒng)可以正常運行。6.5系統(tǒng)評價系統(tǒng)評價是指系統(tǒng)在正式運行了一段時間之后,對它在功能上、技術上和經(jīng)濟上所進行的審核評價。針對本系統(tǒng)的評價如下:(1)系統(tǒng)功能評價根據(jù)本系統(tǒng)開發(fā)前所訂的目標,在系統(tǒng)完成后經(jīng)過測試運行,該系統(tǒng)達到了預定的開發(fā)目標,在實際使用中的功能可以滿足用戶需求。[22](2)系統(tǒng)技術評價本系統(tǒng)設計合理,功能達到了預期目標,且系統(tǒng)運行后穩(wěn)定可靠

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論