基于WEB的軟件工程案例教學平臺

上傳人:good****022 文檔編號:116783229 上傳時間:2022-07-06 格式:DOC 頁數(shù):45 大?。?.05MB
收藏 版權申訴 舉報 下載
基于WEB的軟件工程案例教學平臺_第1頁
第1頁 / 共45頁
基于WEB的軟件工程案例教學平臺_第2頁
第2頁 / 共45頁
基于WEB的軟件工程案例教學平臺_第3頁
第3頁 / 共45頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于WEB的軟件工程案例教學平臺》由會員分享,可在線閱讀,更多相關《基于WEB的軟件工程案例教學平臺(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于WEB的軟件工程案例教學平臺-案例庫及檢索子系統(tǒng)的設計摘 要隨著互聯(lián)網(wǎng)的快速發(fā)展,現(xiàn)代互聯(lián)網(wǎng)教育、教學平臺的范圍不斷擴張,但是基于軟件工程的案例教學領域尚未普及,結合目前案例教學的實際表現(xiàn):沒有一個統(tǒng)一的管理平臺來管理老師和學生;網(wǎng)絡資源復雜,獲取有針對性的案例信息比較困難;案例管理比較復雜,分類管理比較麻煩。因此,本課題從學生用戶對案例資源檢索需求出發(fā)深入調查研究之后,發(fā)現(xiàn)學生很難找到一個相關案例檢索的平臺,最終在研究相關資源需求和技術需求的基礎上,提出基于web的軟件工程案例教學平臺案例庫及檢索子系統(tǒng)的設計這一課題。本課題主要研究案例教學平臺的案例庫的構建和檢索子系統(tǒng)的實現(xiàn),采用現(xiàn)在流

2、行的J2EE開發(fā)框架。在項目開發(fā)階段始終堅持代碼的低耦合、高內聚,使系統(tǒng)維護更新比較方便。整個系統(tǒng)主要分為案例庫系統(tǒng)和檢索系統(tǒng)兩大模塊。在案例庫中主要有案例增加、批量上傳案例相關文件、案例信息修改、案例查詢、案例刪除等功能;檢索子系統(tǒng)主要包含根據(jù)案例名稱模糊檢索案例,根據(jù)上傳用戶名檢索案例,根據(jù)案例名稱、案例上傳用戶名、案例相關關鍵字、案例相關技術等一項或多項組合進行高級查詢。基于軟件工程的案例教學平臺中案例庫和檢索子系統(tǒng)的設計,采用B/S架構,初步實現(xiàn)了案例庫和檢索子系統(tǒng)的相關功能。本系統(tǒng)擺脫傳統(tǒng)的C/S架構所帶來的部署不方便,在互聯(lián)網(wǎng)技術應用更加深入和普及的今天,此系統(tǒng)一定會在將來的更好的

3、服務于廣大用戶,使用戶更加方便、快捷、高效的工作。關鍵詞:軟件工程;案例庫;檢索系統(tǒng);struts2;javaIISoftware engineering case teaching platform based on WEB-Case base and retrieval subsystemAbstractWith the rapid development of the Internet, the scope of the modern Internet education, teaching platform continues to expand, but case-based tea

4、ching software engineering is not yet universal, the actual performance of the current Case Teaching: Without a unified management platform to manage teachers and students; network complex resources, access to targeted information more difficult cases; more complex case management, category manageme

5、nt is too much trouble. Thus, after the subject from the student user demand for Case Retrieval departure thorough investigation and study, we found that students difficult to find a related case retrieval platform, ultimately based on research related resources and technical needs on the proposed w

6、eb-based software engineering case Teaching platform - case database and retrieval subsystem design, the subject.Construction and retrieval subsystems to achieve this project platform Case Teaching main case base, using the now popular J2EE development framework. In the project development phase alw

7、ays adhere to the code of low coupling, high cohesion, to make the system more convenient maintenance updates. The whole system is divided into case library and retrieval systems two modules. In the case of the library there are cases of increased bulk upload documents relevant to the case, modify c

8、ase information, case inquiry, case delete functions; retrieval subsystem comprising the Case Name Case fuzzy search, retrieval based on user name Upload the case, according to the case name, case Upload a user name, a combination of one or more keywords related cases, case-related technology and ot

9、her advanced queries.Design Case Teaching Platform Software Engineering in the case base and retrieval subsystem based on the use of B / S structure, the initial realization of the features of the case library and retrieval subsystem. The system away from the traditional C / S structure brought abou

10、t by the deployment of convenient, more in-depth application of Internet technology and the popularity of tomorrow, the system will be in the future to better serve the majority of users, allowing users to more convenient, fast, efficient work.Key Words: Software engineering;case library; retrieval

11、system;struts2; java目錄摘 要IAbstractII1 緒論11.1 背景介紹11.2 系統(tǒng)設計的意義11.3 國內外相關研究情況11.4 課題研究內容21.5 論文結構22 軟件開發(fā)相關的技術42.1 JSP簡介42.2 Struts 2.X 簡介42.3 Spring 簡介52.4 MySql簡介53 需求分析73.1 需求分析概述73.2 系統(tǒng)功能需求分析73.3 系統(tǒng)非功能需求94 系統(tǒng)詳細設計104.1 系統(tǒng)結構104.1.1系統(tǒng)框架圖104.2 模塊介紹104.3 數(shù)據(jù)庫結構設計114.3.1 數(shù)據(jù)表E-R圖124.3.2 數(shù)據(jù)表概要說明124.3.2 物理結構

12、設計125 系統(tǒng)實現(xiàn)155.1 開發(fā)環(huán)境及工具155.2 模塊說明程序流程設計155.2.1 功能設計155.2.2 程序結構設計165.2.3 系統(tǒng)界面設計175.2.3 系統(tǒng)頁面效果如下圖所示:175.3 重要模塊實現(xiàn)細節(jié)195.3.1 案例庫管理模塊設計195.3.2 案例庫檢索模塊設計235.3.3 用戶模塊設計256 測試306.1 軟件測試的目標306.2 測試計劃及執(zhí)行情況306.3 測試評價357 結論36參考文獻37致 謝391 緒論1 緒論1.1 背景介紹隨著現(xiàn)代互聯(lián)網(wǎng)技術的快速發(fā)展,傳統(tǒng)教育也在尋求新的教育教學方式,逐漸的也走向了網(wǎng)絡化、信息化和現(xiàn)代化。網(wǎng)絡技術的快速發(fā)展

13、改變了教學方法、手段的同時也帶來了教學理念、教學內容的急速變更,其中應用計算機進行案例教學已成為現(xiàn)代教育技術改革創(chuàng)新的熱點之一。網(wǎng)絡教學是利用計算機技術、網(wǎng)絡技術以及多媒體技術,在互聯(lián)網(wǎng)絡環(huán)境下實行教育教學的一種新途徑,作為一種重要的輔助手段,補充傳統(tǒng)的課堂教學。網(wǎng)絡教學可以充分依靠先進的教學手段、教學技術、教學資源、教學思想,給廣大用戶提供了良好的自主學習環(huán)境,大幅度的促進并提升了教學效率、教學效果和教學水平。案例教學,是一種開放式、互動式的新型教學方式。案例教學可以充分依靠先進的教學手段、教學技術教學資源、教學思想,給廣大用戶提供了良好的自主學習環(huán)境和項目導向,大幅度的促進并提升了教學效率

14、、教學效果和教學水平,還可以促進高校教師和學生之間的交互聯(lián)系與溝通,在傳統(tǒng)課堂教學過程一些弊端得以彌補。為此,為廣大師生開發(fā)建設案例教學平臺已成為一種重要需求。1.2 系統(tǒng)設計的意義案例教學是一種通過模擬或者重現(xiàn)現(xiàn)實生活中的一些場景,讓學生把自己納入案例場景,通過討論或者研討來進行學習的一種教學方法。在多種教學方式中,案例教學很早就被各國名牌學校所引進,于此同時也表現(xiàn)出來它的優(yōu)勢。在教育方法中,得到了有很好的稱贊。由于教育資源分配不均以及其他一些軟件、硬件方面的因素,使得教育差異化比較大。而當代互聯(lián)網(wǎng)的高速發(fā)展,各種資源逐步在實現(xiàn)高度共享。將案例教學整合到互聯(lián)網(wǎng)上,不僅可以解決各地教育資源分配

15、不均衡,同時利用互聯(lián)網(wǎng)的創(chuàng)新方式,可以不斷的創(chuàng)新和改革教育模式,提高教育質量。本系統(tǒng)指在幫助老師和學生更加有針對性的獲取教育資源,將案例教學分類管里,提供檢索入口,簡化老師和學生在尋找資源中的無用操作。1.3 國內外相關研究情況在歐美,在政府的大力支持下,各個學校紛紛對教學進行數(shù)字化改造,加強了各學校案例教學案例庫的建設。早在70年代的時候,國外就已經(jīng)有人開始研究了案例教學,并最早應用于醫(yī)學上,現(xiàn)在已經(jīng)應用于很多教學領域。隨著互聯(lián)網(wǎng)的快速發(fā)展,案例教學也被遷移至互聯(lián)網(wǎng)上,來應對信息的快速傳播。案例庫的建設也成了必然的需要,這不僅可以加快信息共享,也方便了學生、40畢業(yè)設計(論文)教師對資源獲取

16、的便捷性。在2013年電子科技大學徐天南的畢業(yè)設計課題中研究過網(wǎng)絡教學的案例庫系統(tǒng),他主要是建立了一個老師和學生的交流平臺。老師可以提供案例方案或者上傳案例文件,來供學生瀏覽下載學習。這也是一個完整意義上的案例教學系統(tǒng)。本科題主要在案例庫建設和檢索系統(tǒng)中進行進一步的優(yōu)化,使得案例庫整個組織架構更加的豐富,檢索效率更高,更有針對性。1.4 課題研究內容本課題是案例教學平臺的一個重要組成部分,主要包括案例庫和檢索子系統(tǒng)。在研究過程中本課題結合現(xiàn)有的臨近教學平臺的相關經(jīng)驗,同時結合軟件工程案例教學平臺獨有的特點,進行綜合分析、調研。最終確定研究的主要內容。在本課題中將實現(xiàn)一個操作簡單、功能豐富的案例

17、庫子系統(tǒng)和檢索子系統(tǒng)。其中案例庫子系統(tǒng)要實現(xiàn)對案例的分類存儲,靈活的管理;檢索子系統(tǒng)要提供簡單、快捷的檢索方式。本課題主要實現(xiàn)兩種檢索方式:一種是根據(jù)案例標題檢索,另一種是根據(jù)案例的分類、標題、關鍵字、相關技術、上傳用戶等條件中的一種或幾種進行聯(lián)合檢索。1.5 論文結構基于案例庫和檢索子系統(tǒng)的相關需求,作者設計并實現(xiàn)案例庫和檢索子系統(tǒng)。本文組織結構如下:第一章:緒論部分。簡單介紹案例庫及檢索子系統(tǒng)的研究意義、選題背景,并根據(jù)應用現(xiàn)狀,提出研究內容和實現(xiàn)目標。第二章:相關技術介紹。簡單介紹本課題采用的相關技術,同時對使用的struts2、hibernate、spring等開源框架進行簡單介紹。第

18、三章:案例庫和檢索子系統(tǒng)需求分析。包括需求分析、系統(tǒng)用例分析、業(yè)務流程分析、數(shù)據(jù)庫設計以及總體技術路線。第四章:案例庫和檢索子系統(tǒng)概要設計。系統(tǒng)體系結構、數(shù)據(jù)庫設計以及總體設計路線。第五章:案例庫和檢索子系統(tǒng)功能模塊設計與實現(xiàn)。包括案例庫和檢索子系統(tǒng)總體設計、案例庫模塊設計、案例檢索模塊設計、案例管理模塊和相關關鍵技術的應用。第六章:系統(tǒng)測試。對系統(tǒng)進行整體測試,并對測試結果進行說明。第七章:總結。對本課題的研究過程和結果進行總結。2 軟件開發(fā)相關技術2 軟件開發(fā)相關的技術2.1 JSP簡介JSP技術是用JAVA語言作為腳本語言的,JSP網(wǎng)頁為整個服務器端的JAVA庫單元提供了一個接口來服務于

19、HTTP的應用程序。 JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。 在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構成了JSP網(wǎng)頁(*.jsp)。Web服務器在遇到訪問JSP網(wǎng)頁,首先執(zhí)行其中的程序片段,然后將執(zhí)行結果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實

20、現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。JavaServer Pages(JSP) 技術提供了一種簡單快速的方法來創(chuàng)建顯示動態(tài)生成內容的 Web 頁面。由業(yè)界處于領先地位的 Sun 公司制定了相關的 JSP 技術規(guī)范,該規(guī)范定義了如何在服務器和 JSP 頁面間進行交互,還描述了頁面的格式和語法。JSP 頁面使用 XML 標簽和 scriptlets(一種使用 Java 語言編寫的腳本代碼),封裝了生成頁面內容的邏輯。它將各種格式的標簽(HTML 或者 XML)直接傳遞回響應頁面。通過這種方式,JSP 頁面實現(xiàn)了頁面邏輯與其設計和顯示的分離。JSP 技術是

21、 Java 系列技術的一部分。JSP 頁面被編譯成 servlet,并可能調用 JavaBeans 組件(beans) 或 Enterprise JavaBeans 組件(企業(yè) beans),以便在服務器端處理。因此,JSP 技術在構建可升級的基于 web 的應用程序時扮演了重要角色。JSP 頁面并不局限于任何特定的平臺或 web 服務器上。JSP 規(guī)范在業(yè)界有著廣泛的適應性。2.2 Struts 2.X 簡介Struts2是一個基于MVC設計模式的Web應用框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Controler)來建立模型與視圖的數(shù)據(jù)交互。S

22、truts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合并的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業(yè)務邏輯控制器能夠與ServletAPI完全脫離開,西安工業(yè)大學畢業(yè)設計(論文)所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。2.3 Spring 簡介Spring是一個開源框架,它由R

23、od Johnson創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的對象不依賴于Spring的特

24、定類??刂品崔DSpring通過一種稱作控制反轉(IoC)的技術促進了松耦合。當應用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應用的業(yè)務邏輯與系統(tǒng)級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發(fā)。應用對象只實現(xiàn)它們應該做的完成業(yè)務邏輯僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關注點,例如日志或事務支持。容器Spring包含

25、并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例以及它們是如何相互關聯(lián)的。然而,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用??蚣躍pring可以將簡單的組件配置、組合成為復雜的應用。在Spring中,應用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且

26、更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎支持。2.4 MySql簡介MySQL是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產品,但在某些情況下你可以自由使用。由于它的強大功能、靈活性、豐富的應用編程接口(API)以及精巧的系統(tǒng)結構,受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大動力MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務器。SQL(結構化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。MySQL是以一個客戶機/服務器結構的實現(xiàn),它由一個服務器守護程序mysqld和很多

27、不同的客戶程序和庫組成。 SQL是一種標準化的語言,它使得存儲、更新和存取信息更容易。例如,你能用SQL語言為一個網(wǎng)站檢索產品信息及存儲顧客信息,同時MySQL也足夠快和靈活以允許你存儲記錄文件和圖像。 MySQL建立的基礎是業(yè)已用在高要求的生產環(huán)境多年的一套實用例程。盡管MySQL仍在開發(fā)中,但它已經(jīng)提供一個豐富和極其有用的功能集。3 需求分析3 需求分析3.1 需求分析概述依據(jù)軟件工程的原理和方法,以及對系統(tǒng)的前期分析,初步規(guī)劃系統(tǒng)所要實現(xiàn)的功能模塊,滿足前期的報告中提出對系統(tǒng)的功能要求;可行性分析也稱為可行性研究,即是在系統(tǒng)調查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可行性,對新系統(tǒng)的

28、開發(fā)從技術、經(jīng)濟、管理的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功。可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內容。(1)經(jīng)濟可行性主要是對項目的經(jīng)濟效益進行評價,軟件開發(fā)周期一般為34個月,開發(fā)所需硬件軟件很普遍,該軟件系統(tǒng)的安裝、部署、運行和維護,開發(fā)費用不高。所以該系統(tǒng)在經(jīng)濟上是可行的。(2)技術可行性技術上的可行性分析主要分析技術條件是否能順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要。本系統(tǒng)采用Java語言編寫程序,基于web瀏覽器上使用了MyEclipse開發(fā)平臺,運用了MySql數(shù)據(jù)庫和JSP技術,

29、能夠處理大量數(shù)據(jù),同時保持數(shù)據(jù)的完整性并提供許多高級管理功能。硬件方面,可靠性越來越強,足夠滿足系統(tǒng)的開發(fā)(3)操作可行性現(xiàn)在大部分計算機都可以運行本系統(tǒng),并且用戶很容易的就可以操作本系統(tǒng)。因此從操作可行性的角度來衡量,本系統(tǒng)的開發(fā)方案也是可行的。綜合三方面的因素,開發(fā)基于web的軟件工程案例教學平臺案例庫和檢索系統(tǒng)是可行的。3.2 系統(tǒng)功能需求分析根據(jù)需求分析中的模塊劃分,進行系統(tǒng)架構和網(wǎng)頁結構設計,對模塊的功能有一個初步的設計,并且將系統(tǒng)模塊的功能流程有初步的分析,實現(xiàn)了部分模塊的功能。下邊分別對于不同用戶存在的功能差異進行簡單介紹。(1)普通用戶,即學生用戶使用系統(tǒng)的功能用例圖如圖3.1

30、所示:西安工業(yè)大學畢業(yè)設計(論文)圖 3.1 學生用戶功能用例圖說明:學生用戶是本系統(tǒng)中權限最低的用戶,也是系統(tǒng)的主要使用者。在本系統(tǒng)中學生用戶只擁有修改自己信息的權限,同時也只能管理自己收藏夾中收藏的案例,并且只能選在收藏或者取消收藏案例的操作,本操作不會改變案例的任何信息,只是刪除收藏夾中的案例之后,不會再出現(xiàn)在自己的收藏夾中。(2)老師用戶使用系統(tǒng)的功能用例圖如圖3.2所示:圖3.2 老師用戶功能用例圖說明:老師用戶是本系統(tǒng)案例的主要提供者和對學生提出的疑問的主要回答者,他所擁有的權限較學生用戶的權限要高。老師用戶可以上傳案例,并且對自己上傳的案例進行增、刪、改等維護操作。同時老師用戶也

31、可以瀏覽其他老師用戶的案例,并且進行評價和收藏的等操作。(3)管理員用戶使用系統(tǒng)的功能用例圖如圖3.3所示:圖3.3 管理員用戶功能用例圖說明:管理員用戶是本系統(tǒng)的主要管理者,擁有本系統(tǒng)的所有權限。本系統(tǒng)屬于內部學習平臺,對所有用戶不提供注冊功能,全部由管理員用戶進行分配用戶。管理員用戶可以管理本平臺下的所有案例,對所有案例擁有增、刪、改等操作;同時、管理員用戶也負責管理平臺下的所有用戶,對所有用戶進行增、刪、改操作,同時還負責用戶權限的分配工作。3.3 系統(tǒng)非功能需求(1)可用性:基于Web的軟件工程案例教學平臺案例庫和檢索子系統(tǒng)保證所有功能正常使用,界面設計合理,操作簡單,且頁面響應速度快

32、。 (2)性能:基于Web的軟件工程案例教學平臺案例庫和檢索子系統(tǒng)啟動時間不超過10秒,且可進行案例相關文件的批量上傳。(3)可維護性:基于Web的軟件工程案例教學平臺案例庫和檢索子系統(tǒng)任務書、設計文檔和實現(xiàn)代碼都有完整的備份。(4)技術的成熟性:本系統(tǒng)以java作為開發(fā)語言,使用了現(xiàn)在比較流行的ssh(struts2、hibernate、spring)框架進行整合開發(fā),無論是在業(yè)務邏輯處理還是系統(tǒng)運行性能都做了很好的優(yōu)化。采用ssh進行整合開發(fā),使用MVC架構,使各層邏輯分開,大大的提高了代碼的內聚性,降低了邏輯之間的耦合性,方便了以后的維護。4 系統(tǒng)詳細設計4 系統(tǒng)詳細設計4.1 系統(tǒng)結構

33、本課題研究的案例庫和檢索子系統(tǒng)是整個案例教學平臺的一部分,所以在整個設計過程中都應當以案例教學的目標來實現(xiàn),同時與另一課題的演示子系統(tǒng)相結合,盡量做到很好的整合工作。本課題要實現(xiàn)的案例庫子系統(tǒng)是對不同案例進行很好的分類整理,進行有效的存儲。在設計過程中,作者采用數(shù)據(jù)庫存儲一些案例的相關信息,對于案例的相關的文件則采用本地存儲。為了實現(xiàn)同一課題可能包含多個文件,本課題在設計過程中實現(xiàn)了多個文件批量上傳的功能。同時為了不影響整個程序的響應性能,在實現(xiàn)上傳文件的過程時,全部進行分離在子線程中進行操作。檢索子系統(tǒng)是以案例庫為基礎,提供了對案例庫的簡單檢索。本課題的目標是實現(xiàn)兩種檢索方式:即按案例的標題

34、進行模糊檢索和按案例的標題、上傳作者、關鍵字、相關技術等檢索條件中的一種或者幾種進行組合后進行模糊檢索。4.1.1系統(tǒng)框架圖結合上述基本設計目標,整個案例庫和檢索子系統(tǒng)的功能結構圖如下,如圖4.1所示:圖4.1系統(tǒng)功能結構圖西安工業(yè)大學畢業(yè)設計(論文)4.2 模塊介紹 系統(tǒng)總共分為以下五個模塊: u 用戶管理模塊:用戶管理模塊主要包含新增用戶、修改用戶、用戶密碼初始化、用戶權限分配、用戶刪除等操作。u 導航管理模塊:本模塊主要是為了實現(xiàn)首頁導航欄目可以動態(tài)維護,主要包括導航的增加、修改、刪除等操作。u 案例管理模塊:本模塊是案例庫構建的重點,主要是實現(xiàn)案例的增加、案例分類管理、案例相關文件的上

35、傳、案例信息的修改登操作。u 檢索模塊:本模塊主要實現(xiàn)了系統(tǒng)所需要的檢索功能,其中包括用戶簡單檢索、案例簡單檢索、案例詳細檢索等主要功能。u 案例文件上傳下載模塊:本模塊提供一些系統(tǒng)公共的上傳下載的工具類,主要是在增加案例是對案例相關文件的批量處理管理。4.3 數(shù)據(jù)庫結構設計數(shù)據(jù)庫設計是在既定的數(shù)據(jù)庫管理系統(tǒng)基礎之上建立數(shù)據(jù)庫的過程。其過程是將現(xiàn)實存在的數(shù)據(jù)及其應用處理關系進行抽象,從而形成數(shù)據(jù)庫結構。具體實現(xiàn)時,應首先明確用戶對數(shù)據(jù)的需求,在此基礎上,建立數(shù)據(jù)庫的概念模型,概念模型主要是用來反映用戶的現(xiàn)實環(huán)境和需求,它獨立于具體的數(shù)據(jù)庫管理系統(tǒng),并且與數(shù)據(jù)庫怎樣實現(xiàn)無關,建立概念模型的主要工

36、具為實體關系E-R圖;在建立數(shù)據(jù)庫概念模型之后,要真正實現(xiàn)與數(shù)據(jù)庫管理系統(tǒng)的結合,即能夠由既定的數(shù)據(jù)庫管理系統(tǒng)所支持,還必須進行邏輯結構的設計,在邏輯設計階段,主要完成建立數(shù)據(jù)庫的邏輯模型,并解決數(shù)據(jù)的完整性、一致性、安全性和有效性等問題;最后一個階段是數(shù)據(jù)庫的物理結構設計,其任務是為系統(tǒng)邏輯結構模型確定合理的存儲結構、存取方法、以及數(shù)據(jù)表示和數(shù)據(jù)存儲空間分配等內容,從而得到具體的數(shù)據(jù)庫物理結構。經(jīng)過前邊的分析,案例庫和檢索子系統(tǒng)主要抽象出如下實體模型:(1)用戶模型:主要包含管理員、學生、老師等一些基本信息。(2)案例模型:主要包含案例的相關信息。(3)案例文件模型:在設計過程中為了實現(xiàn)一個

37、案例多文件管理的需求,在此作者抽象出一個實體主要存放文件。(4)導航模型:在設計的時候需要對案例進行分類,同時為了滿足首頁導航信息也可以動態(tài)展示,在這里作者抽象出一個導航模型。用來管理案例的分類和導航欄目的顯示。(5)評論模型:因為本課題是案例教學平臺的一個子系統(tǒng),為了與演示子系統(tǒng)相結合,這里也使用了另一課題的一個數(shù)據(jù)模型,即評論模型。這里主要包含用戶對相關案例的評論信息,同時也包含不同用戶對相關評論的回復信息。4.3.1 數(shù)據(jù)表E-R圖數(shù)據(jù)表E-R圖如圖4.2 所示:圖4.2 系統(tǒng)E-R圖4.3.2 數(shù)據(jù)表概要說明從各實體的E-R圖到在MySql中為整個系統(tǒng)建立了一個數(shù)據(jù)庫,儲存各類數(shù)據(jù)和控

38、制信息。包含以下幾層:(1)表示層:展現(xiàn)給用戶的界面,主要是顯示數(shù)據(jù)和接收用戶輸入數(shù)據(jù)。(2)服務層:針對具體問題的操作,也可以說是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務邏輯處理。(3)數(shù)據(jù)訪問層:對數(shù)據(jù)庫進行操作。(4)Model層:定義數(shù)據(jù)庫字段。其中 Model層中定義的表如表4.1所示:表4.1 Model層包含的實體模型表表名稱說明User所有用戶表Work所有案例信息表WorkFile案例相關文件表,存放案例相關文件Navigate系統(tǒng)首頁導航信息表Comment案例相關評論、回復表4.3.3 物理結構設計(1)名稱:用戶表(user),如表 4.2所示,包括 userId,userName,

39、userAccount,userPassword,userGender,userEmail,userSchool,userBirthday,userEducation,userPhotos,userCollege,userMajor,userClass,userType等字段,與評論表、案例表相關聯(lián)。表4.2:用戶表 (user)字段名類型是否主/外鍵是否可為空說明userIdBigint(10)主鍵否自增userNamevarchar(50)否否真實姓名userAccountvarchar(50)否否登錄名userPasswordvarchar(50)否否默認:123456userGende

40、rvarchar(10)否否默認:0 男userEmailvarchar(50)否是郵箱userSchoolvarchar(50)否是學校userBirthdaydate否否生日userEducationvarchar(50)否是學歷userPhotosvarchar(50)否是照片userCollegevarchar(50)否是學院userMajorvarchar(50)否是專業(yè)userClassvarchar(50)否是班級userTypevarchar(10)否否用戶類型(2)名稱:案例表(work),如表 4.3所示,包括 workId,workName,workKeyWords,na

41、vigateId,workDestribute,workTechnology,workUploadDate,workClickNum,userId等字段,與導航表、用戶表,案例文件表相關聯(lián)。圖4.3:案例表 (work)字段名類型是否主/外鍵是否可為空說明workIdbigint(20)主鍵否自增workNamevarchar(50)否否案例名稱workKeyWordsvarchar(255)否是關鍵字navigateIdbigint(20)外鍵是分類名稱workDestributevarchar(255)否是簡介workTechnologyvarchar(255)否是相關技術workUplo

42、adDatedatetime否都更新時間workClickNumInt(11)否否初始值0,userIdbigint(20)外鍵否用戶ID(3)名稱:案例文件表(workFile),如表 4.4所示,包括 fileId,fileName,filePath,workId等字段,與案例表相關聯(lián)。、圖4.4:案例文件表 (workFile)字段名類型是否主/外鍵是否可為空說明fileIdbigint(20)主鍵否自增filenamevarchar(50)否是文件名稱filePathvarchar(250)否是文件路徑workIdbigint(20)外鍵否外鍵,workId(4)名稱:用戶案例表(us

43、er_work),如表 4.5所示,包括user_id,work_id等字段,此表為中間表,鏈接用戶表和案例表。圖4.5:用戶案例表(user_work)字段名稱類型是否主/外鍵是否可為空說明user_idbigint(20)主鍵否userId聯(lián)合主鍵work_idbigint(20)主鍵否workId聯(lián)合主鍵(5)名稱:評論表(comment),如表 4.6所示,包括 commentId,commentMessage,commentDate,toUserId,formUserId,parentId等字段,與用戶表、案例表相關聯(lián)。圖4.6:評論表(comment)字段名稱類型是否主/外鍵是否可

44、為空說明commentIdbigint(20)主鍵否自增commentMessagelongtext否是文本commentDatedatetime否是日期toUserIdbigint(20)外鍵否userIdfromUserIdbigint(20)外鍵否userIdparentIdbigint(20)外鍵否commentId(6)名稱:導航表(navigate),如表 4.7所示,包括 navigateId,navigateName,parent等字段,與次表相關聯(lián),形成上下級映射。圖4.7:導航表(navigate)字段名類型是否主/外鍵是否可為空說明navigateIdbigint(20)

45、主鍵否自增navigateNamevarchar(20)否否導航名parentbigint(20)外鍵否父導航名5 系統(tǒng)實現(xiàn)5 系統(tǒng)實現(xiàn)5.1 開發(fā)環(huán)境及工具開發(fā)平臺:Windows 10運行環(huán)境:Windows 10系統(tǒng) ,Tomcat 7.0服務器開發(fā)工具:MyEclipse;MySql開發(fā)語言:Java、JavaScript、Html5.2 模塊說明程序流程設計5.2.1 功能設計(1)案例庫功能設計:案例庫主要包含案例增加、案例修改、案例刪除、案例相關文件上傳等功能。詳細功能結構圖如5.1所示:圖:5.1 案例庫子系統(tǒng)詳細功能設計圖(1)檢索子系統(tǒng)功能設計:檢索子系統(tǒng)主要包含案例檢索和

46、用戶檢索。其中用戶檢索是根據(jù)用戶名進行模糊檢索;案例檢索包含根據(jù)案例名稱模糊檢索、根據(jù)上傳用戶名模糊檢索、根據(jù)案例關鍵字和關鍵技術模糊檢索、根據(jù)案例分類相關檢索以及這幾種方式的隨意組合進行條件模糊檢索。詳細功能框架圖如圖 5.2所示:西安工業(yè)大學畢業(yè)設計(論文)圖5.2:檢索系統(tǒng)詳細設計功能圖畢業(yè)設計論文5.2.2 程序結構設計xuebin為項目的名稱,也是項目的根目錄。該目錄下主要包含Src源碼目錄、項目所需的配置文件config目錄、相關測試用例源碼目錄test文件、WebRoot等。WebRoot為 Web 目錄,包括程序初始化載入頁面main.jsp、案例上傳目錄uploadFile、

47、用戶頭像上傳目錄uploadPhoto、圖片目錄 images、 樣式文件css、相關js驗證文件js文件夾、WEB-INF 文件夾目錄。其中css文件夾中包含styles.css樣式文件; js文件包含jquery.validate.js、jquery1.42.min.js、myjs.js等js文件; WEB-INF中包含存放項目必須的jar文件的lib文件夾、存放jsp文件的jsp文件夾和web.xml文件等。Src 源碼目錄包含如下幾個部分:com.xuebin.bs.domain:項目中所用到的實體類和hibernate操作相關的實體配置文件*.hbm.xml等文件。主要有Commen

48、t.java、Comment.hbm.xml、Navigate.java、Navigate.hbm.xml、User.java、User.hbm.xml、Work.java、Work.hbm.xml、WorkFile.java、WorkFile.hbm.xml。com.xuebin.bs.base:包含項目所需要的公共Action操作類BaseAction.java、公共Dao操作接口DaoSupport.java、公共Dao實現(xiàn)類DaoSupportImpl.java和公共Service接口ServiceSupport.java。com.xuebin.bs.converter:主要存放項目的

49、全局自定義轉換器工具類。DateConverter.javaxwork-conversion.properties:該文件是自定義轉換器的配置文件。com.xuebin.bs.utils:該包中主要存放項目所使用到的公共工具類。主要有:DigestMD5Utils.java密碼進行MD5加密工具類、InitListener.java Tomcat服務器啟動時的初始化數(shù)據(jù)監(jiān)聽工具類、案例相關評論處理工具類ListAllCommentUtils.java、分頁工具類Page.java、文件上傳工具類UploadFile.java。com.xuebin.bs.dao:提供數(shù)據(jù)庫相關操作的接口方法。該

50、包下的文件有以下接口文件:CommentDao.java、NavigateDao.java、UserDao.java、WorkDao.java、WorkFileDao.java。com.xuebin.bs.dao.impl:提供數(shù)據(jù)庫相關操作接口的實現(xiàn)類。該包下的文件有以下接口實現(xiàn)類文件:CommentDaoImpl.java、NavigateDaoImpl.java、UserDaoImpl.java、WorkDaoImpl.java、WorkFileDaoImpl.java。com.xuebin.bs.service:定義項目服務層相關接口。主要包括以下文件:CommentService.j

51、ava、NavigateService.java、UserService.java、WorkService.java、WorkFileService.java。com.xuebin.bs.service.impl:主要包含服務層相關接口的實現(xiàn)類。主要包含以下文件:CommentServiceImpl.java、NavigateServiceImpl.java、UserServiceImpl.java、WorkFileServiceImpl.java、WorkServiceImpl.java。config源碼文件夾中主要包含struts2、hibernate、spring等開源框架的配置文件。t

52、est源碼文件夾中主要包含相關測試代碼。5.2.3 系統(tǒng)界面設計 系統(tǒng)總提頁面采用jsp、css、js技術相結合來實現(xiàn),其中js技術用來處理一些動態(tài)樣式、頁面的簡單處理,實現(xiàn)導航菜單的聯(lián)動顯示,css技術用來頁面布局樣式效果。根據(jù)需求分析,系統(tǒng)總體頁面結構如下圖5. 3所示:圖 5.3 總體頁面結構圖說明: user、work、Navigate等幾個的修改和添加是同一頁面。 user、work、Navigate等的列表在loginback.jsp頁面中展示。5.2.3 系統(tǒng)頁面效果如下圖所示:個人信息效果頁,如圖:5.4所示:圖 5.4 個人信息效果頁用戶列表效果頁,如圖5.5所示:圖 5.5

53、 用戶列表效果頁導航信息列表效果頁,如圖:5.6所示:圖 5.6 導航信息列表頁案例信息列表效果頁,如圖5.7所示:圖 5.7案例信息列表搜索功能效果頁,如圖5.8 所示:圖 5.8 搜索效果頁5.3 重要模塊實現(xiàn)細節(jié)5.3.1 案例庫管理模塊設計(1)業(yè)務流程設計根據(jù)需求分析,案例庫模塊主要包含案例的相關操作功能,主要有案例查詢、案例上傳、案例修改、案例刪除。其業(yè)務流程設計圖如下圖5.9所示:圖 5.9 案例庫模塊業(yè)務流程圖(2)案例庫管理模塊實現(xiàn)本模塊主要介紹案例庫模塊的具體實現(xiàn)。模型構造中抽象的模型名稱和主要功能如下表5.1所示:表 5.1 模型設計表文件名實現(xiàn)功能Work.java封裝

54、案例的相關信息WorkFile.java分裝案例的相關文件信息User.java封裝與案例相關的用戶的基本信息Navigate.java封裝案例相關的分類信息控制層的設計中主要使用的struts2,相關Action、處理方法和功能介紹如下表5.2所示:表 5.2 控制層設計表Action動作類名稱處理方法名稱實現(xiàn)功能WorksAction.javaaddWorks添加案例并上傳相關文件。editWork修改案例和相關文件。findAll查詢所有案例。deleteWork刪除案例和相關文件。workMessage查看案例信息workMessageStudy查看案例詳細信息。服務層主要對模型進行一

55、些業(yè)務邏輯處理,提供公共接口方法,實現(xiàn)代碼低耦合和提高重復使用率。主要內容如下表5.3所示:表 5.3 服務層設計表接口實現(xiàn)類方法說明WorkServiceWorkServiceImplfindAllSearchAdmin管理員搜索案例。findAllSearchUser用戶搜索案例。findAllPageAdmin管理員搜索案例需要在當前頁面顯示的案例。getTotalCountAdmin查詢總的案例條目findAllPageSearch檢索案例分頁,當前頁面要顯示的數(shù)據(jù)。findAllRelated查詢與本案例相關的案例findAllByUser查詢用戶上傳的所有案例。在刪除案例的時候,系

56、統(tǒng)先試用js提示用戶是否要真的刪除本條案例記錄和相關文件,以防止用戶錯誤刪除。實現(xiàn)代碼使用onclick=return confirm(確認是否要案例刪除?) 。如果用戶確認要刪除案例,則會調用deleteWork方法刪除相應案例和案例相關的文件。數(shù)據(jù)層主要提供一些訪問數(shù)據(jù)庫的相關接口和實現(xiàn)類,方便用戶操作過程中與數(shù)據(jù)庫的交互。主要內容如下表5.4所示:表 5.4數(shù)據(jù)層設計表接口實現(xiàn)類方法說明WorkDaoWorkDaoImplfindAllSearchAdmin管理員搜索案例。findAllSearchUser用戶搜索案例。findAllPageAdmin管理員搜索案例需要在當前頁面顯示的案

57、例。getTotalCountAdmin查詢總的案例條目findAllPageSearch檢索案例分頁,當前頁面要顯示的數(shù)據(jù)。findAllRelated查詢與本案例相關的案例findAllByUser查詢用戶上傳的所有案例。(3)關鍵代碼 /* * 上傳案例,采用子線程上傳案例相關文件 * return */public String addWorks()if(model != null)if(work != null & work.length0)Set workFiles = new HashSet();WorkFile workFile = null;String imgpath =

58、uploadFile/;String path = ServletActionContext.getServletContext().getRealPath(/);for (int i = 0; i work.length; i+) workFile = new WorkFile();final File file = worki;if(worki != null & !work.equals() & workFileName != null & !workFileName.equals()workFile.setFileName(this.workFileNamei);final Strin

59、g fileName = this.workFileNamei;final String url = path+imgpath;new Thread()public void run() UploadFile.upload(file, url,fileName);.start();workFile.setFilePath(path+imgpath+this.workFileNamei);String pix = workContentTypei.toLowerCase().substring(workContentTypei.lastIndexOf(/)+1);if(pdf.equals(pi

60、x) | doc.equals(pix) | txt.equals(pix) | xml.equals(pix)workFile.setFileType(1);workFiles.add(workFile);model.setWorkFiles(workFiles);User user = (User) ActionContext.getContext().getSession().get(user);if(user != null) model.setUser(user);Navigate navigate = navigateService.getById(navigateId);if(navigate != null) model.setWorkNavigate(navigate);model.setWorkUploadDate(new Date();workService.save(model);return addWorks;5.3.2 案例庫檢索模塊設計(1) 業(yè)務流程設計根據(jù)需求分析,檢索模塊主要包含案例的相關檢索,有按案例標題檢索(workName)、按案例分類檢索(Navigate)和組合詳細檢索。其業(yè)務流程設計圖如下圖5.10所示:圖 5.10案例檢索模塊業(yè)務流程圖(2)案例

展開閱讀全文
溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!