2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于WEB的軟件工程案例教學(xué)平臺</p><p>  ----案例庫及檢索子系統(tǒng)的設(shè)計</p><p><b>  摘 要</b></p><p>  隨著互聯(lián)網(wǎng)的快速發(fā)展,現(xiàn)代互聯(lián)網(wǎng)教育、教學(xué)平臺的范圍不斷擴(kuò)張,但是基于軟件工程的案例教學(xué)領(lǐng)域尚未普及,結(jié)合目前案例教學(xué)的實際表現(xiàn):沒有一個統(tǒng)一的管理平臺來管理老師和學(xué)生;

2、網(wǎng)絡(luò)資源復(fù)雜,獲取有針對性的案例信息比較困難;案例管理比較復(fù)雜,分類管理比較麻煩。因此,本課題從學(xué)生用戶對案例資源檢索需求出發(fā)深入調(diào)查研究之后,發(fā)現(xiàn)學(xué)生很難找到一個相關(guān)案例檢索的平臺,最終在研究相關(guān)資源需求和技術(shù)需求的基礎(chǔ)上,提出《基于web的軟件工程案例教學(xué)平臺—案例庫及檢索子系統(tǒng)的設(shè)計》這一課題。</p><p>  本課題主要研究案例教學(xué)平臺的案例庫的構(gòu)建和檢索子系統(tǒng)的實現(xiàn),采用現(xiàn)在流行的J2EE開發(fā)框架。

3、在項目開發(fā)階段始終堅持代碼的低耦合、高內(nèi)聚,使系統(tǒng)維護(hù)更新比較方便。整個系統(tǒng)主要分為案例庫系統(tǒng)和檢索系統(tǒng)兩大模塊。在案例庫中主要有案例增加、批量上傳案例相關(guān)文件、案例信息修改、案例查詢、案例刪除等功能;檢索子系統(tǒng)主要包含根據(jù)案例名稱模糊檢索案例,根據(jù)上傳用戶名檢索案例,根據(jù)案例名稱、案例上傳用戶名、案例相關(guān)關(guān)鍵字、案例相關(guān)技術(shù)等一項或多項組合進(jìn)行高級查詢。</p><p>  基于軟件工程的案例教學(xué)平臺中案例庫和

4、檢索子系統(tǒng)的設(shè)計,采用B/S架構(gòu),初步實現(xiàn)了案例庫和檢索子系統(tǒng)的相關(guān)功能。本系統(tǒng)擺脫傳統(tǒng)的C/S架構(gòu)所帶來的部署不方便,在互聯(lián)網(wǎng)技術(shù)應(yīng)用更加深入和普及的今天,此系統(tǒng)一定會在將來的更好的服務(wù)于廣大用戶,使用戶更加方便、快捷、高效的工作。</p><p>  關(guān)鍵詞:軟件工程;案例庫;檢索系統(tǒng);struts2;java</p><p>  Software engineering case t

5、eaching platform based on WEB---</p><p>  Case base and retrieval subsystem</p><p><b>  Abstract</b></p><p>  With the rapid development of the Internet, the scope of th

6、e modern Internet education, teaching platform continues to expand, but case-based teaching software engineering is not yet universal, the actual performance of the current Case Teaching: Without a unified management pla

7、tform to manage teachers and students; network complex resources, access to targeted information more difficult cases; more complex case management, category management is too much trouble. Thus, after the subject from t

8、h</p><p>  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 always adher

9、e 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

10、cases of increased bulk upload documents relevant to the case, modify case informati</p><p>  Design Case Teaching Platform Software Engineering in the case base and retrieval subsystem based on the use of B

11、 / 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 about by the deployment of convenient, more in-depth appli

12、cation 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</p><p>  Key Words: Software engineerin

13、g;case library; retrieval system;struts2; java</p><p><b>  目錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  1 緒論1</b>

14、;</p><p>  1.1 背景介紹1</p><p>  1.2 系統(tǒng)設(shè)計的意義1</p><p>  1.3 國內(nèi)外相關(guān)研究情況1</p><p>  1.4 課題研究內(nèi)容2</p><p>  1.5 論文結(jié)構(gòu)2</p><p>  2 軟件開發(fā)相關(guān)的技術(shù)4&l

15、t;/p><p>  2.1 JSP簡介4</p><p>  2.2 Struts 2.X 簡介4</p><p>  2.3 Spring 簡介5</p><p>  2.4 MySql簡介5</p><p><b>  3 需求分析7</b></p><p

16、>  3.1 需求分析概述7</p><p>  3.2 系統(tǒng)功能需求分析7</p><p>  3.3 系統(tǒng)非功能需求9</p><p>  4 系統(tǒng)詳細(xì)設(shè)計10</p><p>  4.1 系統(tǒng)結(jié)構(gòu)10</p><p>  4.1.1系統(tǒng)框架圖10</p><p>

17、;  4.2 模塊介紹10</p><p>  4.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計11</p><p>  4.3.1 數(shù)據(jù)表E-R圖12</p><p>  4.3.2 數(shù)據(jù)表概要說明12</p><p>  4.3.2 物理結(jié)構(gòu)設(shè)計12</p><p>  5 系統(tǒng)實現(xiàn)15</p><p&

18、gt;  5.1 開發(fā)環(huán)境及工具15</p><p>  5.2 模塊說明程序流程設(shè)計15</p><p>  5.2.1 功能設(shè)計15</p><p>  5.2.2 程序結(jié)構(gòu)設(shè)計16</p><p>  5.2.3 系統(tǒng)界面設(shè)計17</p><p>  5.2.3 系統(tǒng)頁面效果如下圖所示:17<

19、;/p><p>  5.3 重要模塊實現(xiàn)細(xì)節(jié)19</p><p>  5.3.1 案例庫管理模塊設(shè)計19</p><p>  5.3.2 案例庫檢索模塊設(shè)計23</p><p>  5.3.3 用戶模塊設(shè)計25</p><p><b>  6 測試30</b></p>&l

20、t;p>  6.1 軟件測試的目標(biāo)30</p><p>  6.2 測試計劃及執(zhí)行情況30</p><p>  6.3 測試評價35</p><p><b>  7 結(jié)論36</b></p><p><b>  參考文獻(xiàn)37</b></p><p><

21、b>  致 謝39</b></p><p><b>  1 緒論</b></p><p><b>  1.1 背景介紹</b></p><p>  隨著現(xiàn)代互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,傳統(tǒng)教育也在尋求新的教育教學(xué)方式,逐漸的也走向了網(wǎng)絡(luò)化、信息化和現(xiàn)代化。網(wǎng)絡(luò)技術(shù)的快速發(fā)展改變了教學(xué)方法、手段的同時也帶

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

23、可以充分依靠先進(jìn)的教學(xué)手段、教學(xué)技術(shù)教學(xué)資源、教學(xué)思想,給廣大用戶提供了良好的自主學(xué)習(xí)環(huán)境和項目導(dǎo)向,大幅度的促進(jìn)并提升了教學(xué)效率、教學(xué)效果和教學(xué)水平,還可以促進(jìn)高校教師和學(xué)生之間的交互聯(lián)系與溝通,在傳統(tǒng)課堂教學(xué)過程一些弊端得以彌補(bǔ)。為此,為廣大師生開發(fā)建設(shè)案例教學(xué)平臺已成為一種重要需求。</p><p>  1.2 系統(tǒng)設(shè)計的意義</p><p>  案例教學(xué)是一種通過模擬或者重現(xiàn)現(xiàn)實

24、生活中的一些場景,讓學(xué)生把自己納入案例場景,通過討論或者研討來進(jìn)行學(xué)習(xí)的一種教學(xué)方法。在多種教學(xué)方式中,案例教學(xué)很早就被各國名牌學(xué)校所引進(jìn),于此同時也表現(xiàn)出來它的優(yōu)勢。在教育方法中,得到了有很好的稱贊。由于教育資源分配不均以及其他一些軟件、硬件方面的因素,使得教育差異化比較大。而當(dāng)代互聯(lián)網(wǎng)的高速發(fā)展,各種資源逐步在實現(xiàn)高度共享。將案例教學(xué)整合到互聯(lián)網(wǎng)上,不僅可以解決各地教育資源分配不均衡,同時利用互聯(lián)網(wǎng)的創(chuàng)新方式,可以不斷的創(chuàng)新和改革教

25、育模式,提高教育質(zhì)量。本系統(tǒng)指在幫助老師和學(xué)生更加有針對性的獲取教育資源,將案例教學(xué)分類管里,提供檢索入口,簡化老師和學(xué)生在尋找資源中的無用操作。</p><p>  1.3 國內(nèi)外相關(guān)研究情況</p><p>  在歐美,在政府的大力支持下,各個學(xué)校紛紛對教學(xué)進(jìn)行數(shù)字化改造,加強(qiáng)了各學(xué)校案例教學(xué)案例庫的建設(shè)。早在70年代的時候,國外就已經(jīng)有人開始研究了案例教學(xué),并最早應(yīng)用于醫(yī)學(xué)上,現(xiàn)在

26、已經(jīng)應(yīng)用于很多教學(xué)領(lǐng)域。隨著互聯(lián)網(wǎng)的快速發(fā)展,案例教學(xué)也被遷移至互聯(lián)網(wǎng)上,來應(yīng)對信息的快速傳播。案例庫的建設(shè)也成了必然的需要,這不僅可以加快信息共享,也方便了學(xué)生、</p><p>  教師對資源獲取的便捷性。</p><p>  在2013年電子科技大學(xué)徐天南的畢業(yè)設(shè)計課題中研究過網(wǎng)絡(luò)教學(xué)的案例庫系統(tǒng),他主要是建立了一個老師和學(xué)生的交流平臺。老師可以提供案例方案或者上傳案例文件,來供學(xué)生

27、瀏覽下載學(xué)習(xí)。這也是一個完整意義上的案例教學(xué)系統(tǒng)。本科題主要在案例庫建設(shè)和檢索系統(tǒng)中進(jìn)行進(jìn)一步的優(yōu)化,使得案例庫整個組織架構(gòu)更加的豐富,檢索效率更高,更有針對性。</p><p>  1.4 課題研究內(nèi)容</p><p>  本課題是案例教學(xué)平臺的一個重要組成部分,主要包括案例庫和檢索子系統(tǒng)。在研究過程中本課題結(jié)合現(xiàn)有的臨近教學(xué)平臺的相關(guān)經(jīng)驗,同時結(jié)合軟件工程案例教學(xué)平臺獨有的特點,進(jìn)行

28、綜合分析、調(diào)研。最終確定研究的主要內(nèi)容。</p><p>  在本課題中將實現(xiàn)一個操作簡單、功能豐富的案例庫子系統(tǒng)和檢索子系統(tǒng)。其中案例庫子系統(tǒng)要實現(xiàn)對案例的分類存儲,靈活的管理;檢索子系統(tǒng)要提供簡單、快捷的檢索方式。本課題主要實現(xiàn)兩種檢索方式:一種是根據(jù)案例標(biāo)題檢索,另一種是根據(jù)案例的分類、標(biāo)題、關(guān)鍵字、相關(guān)技術(shù)、上傳用戶等條件中的一種或幾種進(jìn)行聯(lián)合檢索。</p><p><b&g

29、t;  1.5 論文結(jié)構(gòu)</b></p><p>  基于案例庫和檢索子系統(tǒng)的相關(guān)需求,作者設(shè)計并實現(xiàn)案例庫和檢索子系統(tǒng)。本文組織結(jié)構(gòu)如下:</p><p>  第一章:緒論部分。簡單介紹案例庫及檢索子系統(tǒng)的研究意義、選題背景,并根據(jù)應(yīng)用現(xiàn)狀,提出研究內(nèi)容和實現(xiàn)目標(biāo)。</p><p>  第二章:相關(guān)技術(shù)介紹。簡單介紹本課題采用的相關(guān)技術(shù),同時對使用的

30、struts2、hibernate、spring等開源框架進(jìn)行簡單介紹。</p><p>  第三章:案例庫和檢索子系統(tǒng)需求分析。包括需求分析、系統(tǒng)用例分析、業(yè)務(wù)流程分析、數(shù)據(jù)庫設(shè)計以及總體技術(shù)路線。</p><p>  第四章:案例庫和檢索子系統(tǒng)概要設(shè)計。系統(tǒng)體系結(jié)構(gòu)、數(shù)據(jù)庫設(shè)計以及總體設(shè)計路線。</p><p>  第五章:案例庫和檢索子系統(tǒng)功能模塊設(shè)計與實現(xiàn)。

31、包括案例庫和檢索子系統(tǒng)總體設(shè)計、案例庫模塊設(shè)計、案例檢索模塊設(shè)計、案例管理模塊和相關(guān)關(guān)鍵技術(shù)的應(yīng)用。</p><p>  第六章:系統(tǒng)測試。對系統(tǒng)進(jìn)行整體測試,并對測試結(jié)果進(jìn)行說明。</p><p>  第七章:總結(jié)。對本課題的研究過程和結(jié)果進(jìn)行總結(jié)。</p><p>  2 軟件開發(fā)相關(guān)的技術(shù)</p><p>  2.1 JSP簡介&l

32、t;/p><p>  JSP技術(shù)是用JAVA語言作為腳本語言的,JSP網(wǎng)頁為整個服務(wù)器端的JAVA庫單元提供了一個接口來服務(wù)于HTTP的應(yīng)用程序。 JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。 在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁

33、(*.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)無Plugin,無ActiveX,無Java Applet,甚至無Frame。</p><p>  Java

34、Server Pages(JSP) 技術(shù)提供了一種簡單快速的方法來創(chuàng)建顯示動態(tài)生成內(nèi)容的 Web 頁面。由業(yè)界處于領(lǐng)先地位的 Sun 公司制定了相關(guān)的 JSP 技術(shù)規(guī)范,該規(guī)范定義了如何在服務(wù)器和 JSP 頁面間進(jìn)行交互,還描述了頁面的格式和語法。</p><p>  JSP 頁面使用 XML 標(biāo)簽和 scriptlets(一種使用 Java 語言編寫的腳本代碼),封裝了生成頁面內(nèi)容的邏輯。它將各種格式的標(biāo)簽(H

35、TML 或者 XML)直接傳遞回響應(yīng)頁面。通過這種方式,JSP 頁面實現(xiàn)了頁面邏輯與其設(shè)計和顯示的分離。</p><p>  JSP 技術(shù)是 Java 系列技術(shù)的一部分。JSP 頁面被編譯成 servlet,并可能調(diào)用 JavaBeans 組件(beans) 或 Enterprise JavaBeans 組件(企業(yè) beans),以便在服務(wù)器端處理。因此,JSP 技術(shù)在構(gòu)建可升級的基于 web 的應(yīng)用程序時扮演了

36、重要角色。JSP 頁面并不局限于任何特定的平臺或 web 服務(wù)器上。JSP 規(guī)范在業(yè)界有著廣泛的適應(yīng)性。</p><p>  2.2 Struts 2.X 簡介</p><p>  Struts2是一個基于MVC設(shè)計模式的Web應(yīng)用框架,它本質(zhì)上相當(dāng)于一個servlet,在MVC設(shè)計模式中,Struts2作為控制器(Controler)來建立模型與視圖的數(shù)據(jù)交互。Struts 2是Str

37、uts的下一代產(chǎn)品,是在 struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請求,這樣的設(shè)計也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開,</p><p>  所以Struts 2可以理解為WebWork的更新產(chǎn)品。雖然從Stru

38、ts 1到Struts 2有著太大的變化,但是相對于WebWork,Struts 2的變化很小。</p><p>  2.3 Spring 簡介</p><p>  Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。

39、從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。</p><p>  Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。</p><p>  輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非

40、侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。</p><p>  控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。</p>&l

41、t;p>  面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點,例如日志或事務(wù)支持。</p><p>  容器——Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種

42、容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。</p><p>  框架——Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個

43、XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。</p><p>  所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。</p><p>  2.4 MySql簡介</p><p>  MySQL是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),雖

44、然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強(qiáng)大動力</p><p>  MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言。MySQL是

45、以一個客戶機(jī)/服務(wù)器結(jié)構(gòu)的實現(xiàn),它由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。 </p><p>  SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲、更新和存取信息更容易。例如,你能用SQL語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時MySQL也足夠快和靈活以允許你存儲記錄文件和圖像。 </p><p>  MySQL建立的基礎(chǔ)是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實用例程。盡

46、管MySQL仍在開發(fā)中,但它已經(jīng)提供一個豐富和極其有用的功能集。</p><p><b>  3 需求分析</b></p><p>  3.1 需求分析概述</p><p>  依據(jù)軟件工程的原理和方法,以及對系統(tǒng)的前期分析,初步規(guī)劃系統(tǒng)所要實現(xiàn)的功能模塊,滿足前期的報告中提出對系統(tǒng)的功能要求;可行性分析也稱為可行性研究,即是在系統(tǒng)調(diào)查的基

47、礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可行性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、管理的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。</p><p><b>  (1)經(jīng)濟(jì)可行性</b></p><p>  主要是對項目的經(jīng)濟(jì)效益進(jìn)行評價,軟件開發(fā)周

48、期一般為3-4個月,開發(fā)所需硬件軟件很普遍,該軟件系統(tǒng)的安裝、部署、運行和維護(hù),開發(fā)費用不高。所以該系統(tǒng)在經(jīng)濟(jì)上是可行的。</p><p><b>  (2)技術(shù)可行性</b></p><p>  技術(shù)上的可行性分析主要分析技術(shù)條件是否能順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要。本系統(tǒng)采用Java語言編寫程序,基于web瀏覽器上使用了MyEclipse開發(fā)平臺,

49、運用了MySql數(shù)據(jù)庫和JSP技術(shù), 能夠處理大量數(shù)據(jù),同時保持?jǐn)?shù)據(jù)的完整性并提供許多高級管理功能。硬件方面,可靠性越來越強(qiáng),足夠滿足系統(tǒng)的開發(fā)</p><p><b>  (3)操作可行性</b></p><p>  現(xiàn)在大部分計算機(jī)都可以運行本系統(tǒng),并且用戶很容易的就可以操作本系統(tǒng)。因此從操作可行性的角度來衡量,本系統(tǒng)的開發(fā)方案也是可行的。</p>

50、<p>  綜合三方面的因素,開發(fā)基于web的軟件工程案例教學(xué)平臺案例庫和檢索系統(tǒng)是可行的。</p><p>  3.2 系統(tǒng)功能需求分析</p><p>  根據(jù)需求分析中的模塊劃分,進(jìn)行系統(tǒng)架構(gòu)和網(wǎng)頁結(jié)構(gòu)設(shè)計,對模塊的功能有一個初步的設(shè)計,并且將系統(tǒng)模塊的功能流程有初步的分析,實現(xiàn)了部分模塊的功能。下邊分別對于不同用戶存在的功能差異進(jìn)行簡單介紹。</p>&l

51、t;p>  (1)普通用戶,即學(xué)生用戶使用系統(tǒng)的功能用例圖如圖3.1所示:</p><p>  圖 3.1 學(xué)生用戶功能用例圖</p><p><b>  說明:</b></p><p>  學(xué)生用戶是本系統(tǒng)中權(quán)限最低的用戶,也是系統(tǒng)的主要使用者。在本系統(tǒng)中學(xué)生用戶只擁有修改自己信息的權(quán)限,同時也只能管理自己收藏夾中收藏的案例,并且只能選

52、在收藏或者取消收藏案例的操作,本操作不會改變案例的任何信息,只是刪除收藏夾中的案例之后,不會再出現(xiàn)在自己的收藏夾中。</p><p> ?。?)老師用戶使用系統(tǒng)的功能用例圖如圖3.2所示:</p><p>  圖3.2 老師用戶功能用例圖</p><p><b>  說明:</b></p><p>  老師用戶是本系統(tǒng)案

53、例的主要提供者和對學(xué)生提出的疑問的主要回答者,他所擁有的權(quán)限較學(xué)生用戶的權(quán)限要高。老師用戶可以上傳案例,并且對自己上傳的案例進(jìn)行增、刪、改等維護(hù)操作。同時老師用戶也可以瀏覽其他老師用戶的案例,并且進(jìn)行評價和收藏的等操作。</p><p> ?。?)管理員用戶使用系統(tǒng)的功能用例圖如圖3.3所示:</p><p>  圖3.3 管理員用戶功能用例圖</p><p>&l

54、t;b>  說明:</b></p><p>  管理員用戶是本系統(tǒng)的主要管理者,擁有本系統(tǒng)的所有權(quán)限。本系統(tǒng)屬于內(nèi)部學(xué)習(xí)平臺,對所有用戶不提供注冊功能,全部由管理員用戶進(jìn)行分配用戶。管理員用戶可以管理本平臺下的所有案例,對所有案例擁有增、刪、改等操作;同時、管理員用戶也負(fù)責(zé)管理平臺下的所有用戶,對所有用戶進(jìn)行增、刪、改操作,同時還負(fù)責(zé)用戶權(quán)限的分配工作。</p><p>

55、  3.3 系統(tǒng)非功能需求</p><p>  (1)可用性:基于Web的軟件工程案例教學(xué)平臺案例庫和檢索子系統(tǒng)保證所有功能正常使用,界面設(shè)計合理,操作簡單,且頁面響應(yīng)速度快。</p><p>  (2)性能:基于Web的軟件工程案例教學(xué)平臺案例庫和檢索子系統(tǒng)啟動時間不超過10秒,且可進(jìn)行案例相關(guān)文件的批量上傳。</p><p>  (3)可維護(hù)性:基于Web的軟

56、件工程案例教學(xué)平臺案例庫和檢索子系統(tǒng)任務(wù)書、設(shè)計文檔和實現(xiàn)代碼都有完整的備份。</p><p>  (4)技術(shù)的成熟性:</p><p>  本系統(tǒng)以java作為開發(fā)語言,使用了現(xiàn)在比較流行的ssh(struts2、hibernate、spring)框架進(jìn)行整合開發(fā),無論是在業(yè)務(wù)邏輯處理還是系統(tǒng)運行性能都做了很好的優(yōu)化。采用ssh進(jìn)行整合開發(fā),使用MVC架構(gòu),使各層邏輯分開,大大的提高了代

57、碼的內(nèi)聚性,降低了邏輯之間的耦合性,方便了以后的維護(hù)。</p><p><b>  4 系統(tǒng)詳細(xì)設(shè)計</b></p><p><b>  4.1 系統(tǒng)結(jié)構(gòu)</b></p><p>  本課題研究的案例庫和檢索子系統(tǒng)是整個案例教學(xué)平臺的一部分,所以在整個設(shè)計過程中都應(yīng)當(dāng)以案例教學(xué)的目標(biāo)來實現(xiàn),同時與另一課題的演示子系統(tǒng)相

58、結(jié)合,盡量做到很好的整合工作。</p><p>  本課題要實現(xiàn)的案例庫子系統(tǒng)是對不同案例進(jìn)行很好的分類整理,進(jìn)行有效的存儲。在設(shè)計過程中,作者采用數(shù)據(jù)庫存儲一些案例的相關(guān)信息,對于案例的相關(guān)的文件則采用本地存儲。為了實現(xiàn)同一課題可能包含多個文件,本課題在設(shè)計過程中實現(xiàn)了多個文件批量上傳的功能。同時為了不影響整個程序的響應(yīng)性能,在實現(xiàn)上傳文件的過程時,全部進(jìn)行分離在子線程中進(jìn)行操作。</p><

59、;p>  檢索子系統(tǒng)是以案例庫為基礎(chǔ),提供了對案例庫的簡單檢索。本課題的目標(biāo)是實現(xiàn)兩種檢索方式:即按案例的標(biāo)題進(jìn)行模糊檢索和按案例的標(biāo)題、上傳作者、關(guān)鍵字、相關(guān)技術(shù)等檢索條件中的一種或者幾種進(jìn)行組合后進(jìn)行模糊檢索。</p><p>  4.1.1系統(tǒng)框架圖</p><p>  結(jié)合上述基本設(shè)計目標(biāo),整個案例庫和檢索子系統(tǒng)的功能結(jié)構(gòu)圖如下,如圖4.1所示:</p><

60、;p>  圖4.1系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  4.2 模塊介紹</b></p><p>  系統(tǒng)總共分為以下五個模塊: </p><p>  用戶管理模塊:用戶管理模塊主要包含新增用戶、修改用戶、用戶密碼初始化、用戶權(quán)限分配、用戶刪除等操作。</p><p>  導(dǎo)航管理模塊:本模塊主要是為了實現(xiàn)

61、首頁導(dǎo)航欄目可以動態(tài)維護(hù),主要包括導(dǎo)航的增加、修改、刪除等操作。</p><p>  案例管理模塊:本模塊是案例庫構(gòu)建的重點,主要是實現(xiàn)案例的增加、案例分類管理、案例相關(guān)文件的上傳、案例信息的修改登操作。</p><p>  檢索模塊:本模塊主要實現(xiàn)了系統(tǒng)所需要的檢索功能,其中包括用戶簡單檢索、案例簡單檢索、案例詳細(xì)檢索等主要功能。</p><p>  案例文件上傳

62、下載模塊:本模塊提供一些系統(tǒng)公共的上傳下載的工具類,主要是在增加案例是對案例相關(guān)文件的批量處理管理。</p><p>  4.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計</p><p>  數(shù)據(jù)庫設(shè)計是在既定的數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)之上建立數(shù)據(jù)庫的過程。其過程是將現(xiàn)實存在的數(shù)據(jù)及其應(yīng)用處理關(guān)系進(jìn)行抽象,從而形成數(shù)據(jù)庫結(jié)構(gòu)。具體實現(xiàn)時,應(yīng)首先明確用戶對數(shù)據(jù)的需求,在此基礎(chǔ)上,建立數(shù)據(jù)庫的概念模型,概念模型主要是用來反

63、映用戶的現(xiàn)實環(huán)境和需求,它獨立于具體的數(shù)據(jù)庫管理系統(tǒng),并且與數(shù)據(jù)庫怎樣實現(xiàn)無關(guān),建立概念模型的主要工具為實體關(guān)系E-R圖;在建立數(shù)據(jù)庫概念模型之后,要真正實現(xiàn)與數(shù)據(jù)庫管理系統(tǒng)的結(jié)合,即能夠由既定的數(shù)據(jù)庫管理系統(tǒng)所支持,還必須進(jìn)行邏輯結(jié)構(gòu)的設(shè)計,在邏輯設(shè)計階段,主要完成建立數(shù)據(jù)庫的邏輯模型,并解決數(shù)據(jù)的完整性、一致性、安全性和有效性等問題;最后一個階段是數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計,其任務(wù)是為系統(tǒng)邏輯結(jié)構(gòu)模型確定合理的存儲結(jié)構(gòu)、存取方法、以及數(shù)據(jù)

64、表示和數(shù)據(jù)存儲空間分配等內(nèi)容,從而得到具體的數(shù)據(jù)庫物理結(jié)構(gòu)。</p><p>  經(jīng)過前邊的分析,案例庫和檢索子系統(tǒng)主要抽象出如下實體模型:</p><p><b> ?。?)用戶模型:</b></p><p>  主要包含管理員、學(xué)生、老師等一些基本信息。</p><p><b> ?。?)案例模型:<

65、/b></p><p>  主要包含案例的相關(guān)信息。</p><p> ?。?)案例文件模型:</p><p>  在設(shè)計過程中為了實現(xiàn)一個案例多文件管理的需求,在此作者抽象出一個實體主要存放文件。</p><p><b> ?。?)導(dǎo)航模型:</b></p><p>  在設(shè)計的時候需要對

66、案例進(jìn)行分類,同時為了滿足首頁導(dǎo)航信息也可以動態(tài)展示,在這里作者抽象出一個導(dǎo)航模型。用來管理案例的分類和導(dǎo)航欄目的顯示。</p><p><b>  (5)評論模型:</b></p><p>  因為本課題是案例教學(xué)平臺的一個子系統(tǒng),為了與演示子系統(tǒng)相結(jié)合,這里也使用了另一課題的一個數(shù)據(jù)模型,即評論模型。這里主要包含用戶對相關(guān)案例的評論信息,同時也包含不同用戶對相關(guān)評

67、論的回復(fù)信息。</p><p>  4.3.1 數(shù)據(jù)表E-R圖</p><p>  數(shù)據(jù)表E-R圖如圖4.2 所示:</p><p>  圖4.2 系統(tǒng)E-R圖</p><p>  4.3.2 數(shù)據(jù)表概要說明</p><p>  從各實體的E-R圖到在MySql中為整個系統(tǒng)建立了一個數(shù)據(jù)庫,儲存各類數(shù)據(jù)和控制信息。包含

68、以下幾層:</p><p>  (1)表示層:展現(xiàn)給用戶的界面,主要是顯示數(shù)據(jù)和接收用戶輸入數(shù)據(jù)。</p><p> ?。?)服務(wù)層:針對具體問題的操作,也可以說是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理。</p><p> ?。?)數(shù)據(jù)訪問層:對數(shù)據(jù)庫進(jìn)行操作。</p><p> ?。?)Model層:定義數(shù)據(jù)庫字段。</p>&l

69、t;p>  其中 Model層中定義的表如表4.1所示:</p><p>  表4.1 Model層包含的實體模型表</p><p>  4.3.3 物理結(jié)構(gòu)設(shè)計</p><p> ?。?)名稱:用戶表(user),如表 4.2所示,包括 userId,userName,userAccount,userPassword,userGender,userEmail

70、,userSchool,userBirthday,userEducation,userPhotos,userCollege,userMajor,userClass,userType等字段,與評論表、案例表相關(guān)聯(lián)。</p><p>  表4.2:用戶表 (user)</p><p> ?。?)名稱:案例表(work),如表 4.3所示,包括 workId,workName,workKeyWo

71、rds,navigateId,workDestribute,workTechnology,workUploadDate,workClickNum,userId等字段,與導(dǎo)航表、用戶表,案例文件表相關(guān)聯(lián)。</p><p>  圖4.3:案例表 (work)</p><p> ?。?)名稱:案例文件表(workFile),如表 4.4所示,包括 fileId,fileName,filePath

72、,workId等字段,與案例表相關(guān)聯(lián)。、</p><p>  圖4.4:案例文件表 (workFile)</p><p> ?。?)名稱:用戶——案例表(user_work),如表 4.5所示,包括user_id,work_id等字段,此表為中間表,鏈接用戶表和案例表。</p><p>  圖4.5:用戶——案例表(user_work)</p><

73、;p> ?。?)名稱:評論表(comment),如表 4.6所示,包括 commentId,commentMessage,commentDate,toUserId,formUserId,parentId等字段,與用戶表、案例表相關(guān)聯(lián)。</p><p>  圖4.6:評論表(comment)</p><p> ?。?)名稱:導(dǎo)航表(navigate),如表 4.7所示,包括 navig

74、ateId,navigateName,parent等字段,與次表相關(guān)聯(lián),形成上下級映射。</p><p>  圖4.7:導(dǎo)航表(navigate)</p><p><b>  5 系統(tǒng)實現(xiàn)</b></p><p>  5.1 開發(fā)環(huán)境及工具</p><p>  開發(fā)平臺:Windows 10</p>&

75、lt;p>  運行環(huán)境:Windows 10系統(tǒng) ,Tomcat 7.0服務(wù)器</p><p>  開發(fā)工具:MyEclipse;MySql</p><p>  開發(fā)語言:Java、JavaScript、Html</p><p>  5.2 模塊說明程序流程設(shè)計</p><p>  5.2.1 功能設(shè)計</p><

76、p>  (1)案例庫功能設(shè)計:</p><p>  案例庫主要包含案例增加、案例修改、案例刪除、案例相關(guān)文件上傳等功能。詳細(xì)功能結(jié)構(gòu)圖如5.1所示:</p><p>  圖:5.1 案例庫子系統(tǒng)詳細(xì)功能設(shè)計圖</p><p>  (1)檢索子系統(tǒng)功能設(shè)計:</p><p>  檢索子系統(tǒng)主要包含案例檢索和用戶檢索。其中用戶檢索是根據(jù)用

77、戶名進(jìn)行模糊檢索;案例檢索包含根據(jù)案例名稱模糊檢索、根據(jù)上傳用戶名模糊檢索、根據(jù)案例關(guān)鍵字和關(guān)鍵技術(shù)模糊檢索、根據(jù)案例分類相關(guān)檢索以及這幾種方式的隨意組合進(jìn)行條件模糊檢索。詳細(xì)功能框架圖如圖 5.2所示:</p><p>  圖5.2:檢索系統(tǒng)詳細(xì)設(shè)計功能圖</p><p>  5.2.2 程序結(jié)構(gòu)設(shè)計</p><p>  xuebin為項目的名稱,也是項目的根目錄

78、。該目錄下主要包含Src源碼目錄、項目所需的配置文件config目錄、相關(guān)測試用例源碼目錄test文件、WebRoot等。</p><p>  WebRoot為 Web 目錄,包括程序初始化載入頁面main.jsp、案例上傳目錄uploadFile、用戶頭像上傳目錄uploadPhoto、圖片目錄 images、 樣式文件css、相關(guān)js驗證文件js文件夾、WEB-INF 文件夾目錄。其中css文件夾中包含sty

79、les.css樣式文件; js文件包含jquery.validate.js、jquery1.42.min.js、myjs.js等js文件; WEB-INF中包含存放項目必須的jar文件的lib文件夾、存放jsp文件的jsp文件夾和web.xml文件等。</p><p>  Src 源碼目錄包含如下幾個部分:</p><p>  com.xuebin.bs.domain:項目中所用到的實體類

80、和hibernate操作相關(guān)的實體配置文件*.hbm.xml等文件。主要有Comment.java、Comment.hbm.xml、Navigate.java、Navigate.hbm.xml、User.java、User.hbm.xml、Work.java、Work.hbm.xml、WorkFile.java、WorkFile.hbm.xml。</p><p>  com.xuebin.bs.base:包含項目

81、所需要的公共Action操作類BaseAction.java、公共Dao操作接口DaoSupport.java、公共Dao實現(xiàn)類DaoSupportImpl.java和公共Service接口ServiceSupport.java。</p><p>  com.xuebin.bs.converter:主要存放項目的全局自定義轉(zhuǎn)換器工具類。DateConverter.java</p><p>

82、  xwork-conversion.properties:該文件是自定義轉(zhuǎn)換器的配置文件。</p><p>  com.xuebin.bs.utils:該包中主要存放項目所使用到的公共工具類。主要有:DigestMD5Utils.java密碼進(jìn)行MD5加密工具類、InitListener.java Tomcat服務(wù)器啟動時的初始化數(shù)據(jù)監(jiān)聽工具類、案例相關(guān)評論處理工具類ListAllCommentUtils.ja

83、va、分頁工具類Page.java、文件上傳工具類UploadFile.java。</p><p>  com.xuebin.bs.dao:提供數(shù)據(jù)庫相關(guān)操作的接口方法。該包下的文件有以下接口文件:CommentDao.java、NavigateDao.java、UserDao.java、WorkDao.java、WorkFileDao.java。</p><p>  com.xuebin

84、.bs.dao.impl:提供數(shù)據(jù)庫相關(guān)操作接口的實現(xiàn)類。該包下的文件有以下接口實現(xiàn)類文件:CommentDaoImpl.java、NavigateDaoImpl.java、UserDaoImpl.java、WorkDaoImpl.java、WorkFileDaoImpl.java。</p><p>  com.xuebin.bs.service:定義項目服務(wù)層相關(guān)接口。主要包括以下文件:CommentServi

85、ce.java、NavigateService.java、UserService.java、WorkService.java、WorkFileService.java。</p><p>  com.xuebin.bs.service.impl:主要包含服務(wù)層相關(guān)接口的實現(xiàn)類。主要包含以下文件:CommentServiceImpl.java、NavigateServiceImpl.java、UserServiceI

86、mpl.java、WorkFileServiceImpl.java、WorkServiceImpl.java。</p><p>  config源碼文件夾中主要包含struts2、hibernate、spring等開源框架的配置文件。</p><p>  test源碼文件夾中主要包含相關(guān)測試代碼。</p><p>  5.2.3 系統(tǒng)界面設(shè)計 </p>

87、<p>  系統(tǒng)總提頁面采用jsp、css、js技術(shù)相結(jié)合來實現(xiàn),其中js技術(shù)用來處理一些動態(tài)樣式、頁面的簡單處理,實現(xiàn)導(dǎo)航菜單的聯(lián)動顯示,css技術(shù)用來頁面布局樣式效果。</p><p>  根據(jù)需求分析,系統(tǒng)總體頁面結(jié)構(gòu)如下圖5. 3所示:</p><p>  圖 5.3 總體頁面結(jié)構(gòu)圖</p><p><b>  說明:</b&g

88、t;</p><p>  user、work、Navigate等幾個的修改和添加是同一頁面。</p><p>  user、work、Navigate等的列表在loginback.jsp頁面中展示。</p><p>  5.2.3 系統(tǒng)頁面效果如下圖所示:</p><p>  個人信息效果頁,如圖:5.4所示:</p><

89、p>  圖 5.4 個人信息效果頁</p><p>  用戶列表效果頁,如圖5.5所示:</p><p>  圖 5.5 用戶列表效果頁</p><p>  導(dǎo)航信息列表效果頁,如圖:5.6所示:</p><p>  圖 5.6 導(dǎo)航信息列表頁</p><p>  案例信息列表效果頁,如圖5.7所示:<

90、/p><p>  圖 5.7案例信息列表</p><p>  搜索功能效果頁,如圖5.8 所示:</p><p>  圖 5.8 搜索效果頁</p><p>  5.3 重要模塊實現(xiàn)細(xì)節(jié)</p><p>  5.3.1 案例庫管理模塊設(shè)計</p><p><b> ?。?)業(yè)務(wù)流程設(shè)

91、計</b></p><p>  根據(jù)需求分析,案例庫模塊主要包含案例的相關(guān)操作功能,主要有案例查詢、案例上傳、案例修改、案例刪除。其業(yè)務(wù)流程設(shè)計圖如下圖5.9所示:</p><p>  圖 5.9 案例庫模塊業(yè)務(wù)流程圖</p><p>  (2)案例庫管理模塊實現(xiàn)</p><p>  本模塊主要介紹案例庫模塊的具體實現(xiàn)。模型構(gòu)造中

92、抽象的模型名稱和主要功能如下表5.1所示:</p><p>  表 5.1 模型設(shè)計表</p><p>  控制層的設(shè)計中主要使用的struts2,相關(guān)Action、處理方法和功能介紹如下表5.2所示:</p><p>  表 5.2 控制層設(shè)計表</p><p>  服務(wù)層主要對模型進(jìn)行一些業(yè)務(wù)邏輯處理,提供公共接口方法,實現(xiàn)代碼低耦合和提

93、高重復(fù)使用率。主要內(nèi)容如下表5.3所示:</p><p>  表 5.3 服務(wù)層設(shè)計表</p><p>  在刪除案例的時候,系統(tǒng)先試用js提示用戶是否要真的刪除本條案例記錄和相關(guān)文件,以防止用戶錯誤刪除。實現(xiàn)代碼使用onclick="return confirm('確認(rèn)是否要案例刪除?') "。如果用戶確認(rèn)要刪除案例,則會調(diào)用deleteWork方法刪

94、除相應(yīng)案例和案例相關(guān)的文件。</p><p>  數(shù)據(jù)層主要提供一些訪問數(shù)據(jù)庫的相關(guān)接口和實現(xiàn)類,方便用戶操作過程中與數(shù)據(jù)庫的交互。主要內(nèi)容如下表5.4所示:</p><p>  表 5.4數(shù)據(jù)層設(shè)計表</p><p><b>  (3)關(guān)鍵代碼</b></p><p><b>  /**</b>&

95、lt;/p><p>  * 上傳案例,采用子線程上傳案例相關(guān)文件</p><p><b>  * @return</b></p><p><b>  */</b></p><p>  public String addWorks(){</p><p>  if(model !=

96、null){</p><p>  if(work != null && work.length>0){</p><p>  Set<WorkFile> workFiles = new HashSet<WorkFile>();</p><p>  WorkFile workFile = null;</p>&

97、lt;p>  String imgpath = "uploadFile/";</p><p>  String path = ServletActionContext.getServletContext().getRealPath("/");</p><p>  for (int i = 0; i < work.length; i++)

98、{</p><p>  workFile = new WorkFile();</p><p>  final File file = work[i];</p><p>  if(work[i] != null && !work.equals("") && workFileName != null &&

99、; !workFileName.equals("")){</p><p>  workFile.setFileName(this.workFileName[i]);</p><p>  final String fileName = this.workFileName[i];</p><p>  final String url = path+i

100、mgpath;</p><p>  new Thread(){</p><p>  public void run() {</p><p>  UploadFile.upload(file, url,fileName);</p><p><b>  };</b></p><p>  }.start

101、();</p><p>  workFile.setFilePath(path+imgpath+this.workFileName[i]);</p><p>  String pix = workContentType[i].toLowerCase().substring(workContentType[i].lastIndexOf("/")+1);</p>

102、<p>  if("pdf".equals(pix) || "doc".equals(pix) || "txt".equals(pix) || "xml".equals(pix)){</p><p>  workFile.setFileType(1);</p><p><b>  }&l

103、t;/b></p><p>  workFiles.add(workFile);</p><p><b>  }</b></p><p><b>  }</b></p><p>  model.setWorkFiles(workFiles);</p><p><b

104、>  }</b></p><p>  User user = (User) ActionContext.getContext().getSession().get("user");</p><p>  if(user != null) model.setUser(user);</p><p>  Navigate navigat

105、e = navigateService.getById(navigateId);</p><p>  if(navigate != null) model.setWorkNavigate(navigate);</p><p>  model.setWorkUploadDate(new Date());</p><p>  workService.save(model

106、);</p><p><b>  }</b></p><p>  return "addWorks";</p><p><b>  }</b></p><p>  5.3.2 案例庫檢索模塊設(shè)計</p><p> ?。?) 業(yè)務(wù)流程設(shè)計</p>

107、<p>  根據(jù)需求分析,檢索模塊主要包含案例的相關(guān)檢索,有按案例標(biāo)題檢索(workName)、按案例分類檢索(Navigate)和組合詳細(xì)檢索。其業(yè)務(wù)流程設(shè)計圖如下圖5.10所示:</p><p>  圖 5.10案例檢索模塊業(yè)務(wù)流程圖</p><p> ?。?)案例庫檢索模塊實現(xiàn)</p><p>  案例檢索模塊主要分為三中檢索方式,分別為導(dǎo)航欄目

108、的案例導(dǎo)航分類檢索、按案例名稱檢索和詳細(xì)檢索。其中詳細(xì)檢索式重點內(nèi)容。在邏輯設(shè)業(yè)務(wù)設(shè)計中,主要的模型實體類如下表5.5所示:</p><p>  表 5.5模型設(shè)計表</p><p>  服務(wù)層主要對檢索條件進(jìn)行了相關(guān)封裝。主要內(nèi)容如下表5.5所示:</p><p>  表 5.5服務(wù)層設(shè)計表</p><p>  數(shù)據(jù)層主要提供一些訪問數(shù)據(jù)庫

109、的相關(guān)接口和實現(xiàn)類,方便用戶操作過程中與數(shù)據(jù)庫的交互。主要內(nèi)容如下表5.6所示:</p><p>  表 5.6 數(shù)據(jù)層設(shè)計表</p><p><b> ?。?)關(guān)鍵代碼</b></p><p>  public String search(){</p><p>  if(navigateId != null){<

110、/p><p>  Navigate navigate = navigateService.getById(navigateId);</p><p>  if(navigate != null){</p><p>  works_Navigate = navigate.getNavigateName();</p><p><b>  }&

111、lt;/b></p><p><b>  }</b></p><p>  List<Work> works = null;</p><p>  works = workService.findAllPageSearch(0, 50,works_name , works_teac , works_keywords , works

112、_user , works_Navigate);</p><p>  // 封裝分頁所需要的數(shù)據(jù)</p><p>  // 處理后的案例集合</p><p>  List<Work> newWorks = newWorksUtil(works);</p><p>  ActionContext.getContext().put(

113、"pageType", pageType);</p><p>  ActionContext.getContext().put("isSerach", isSerach);</p><p>  ActionContext.getContext().put("newWorks", newWorks);</p><

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論