基于WEB的軟件工程案例教學(xué)平臺(tái)
《基于WEB的軟件工程案例教學(xué)平臺(tái)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于WEB的軟件工程案例教學(xué)平臺(tái)(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、基于WEB的軟件工程案例教學(xué)平臺(tái)-案例庫(kù)及檢索子系統(tǒng)的設(shè)計(jì)摘 要隨著互聯(lián)網(wǎng)的快速發(fā)展,現(xiàn)代互聯(lián)網(wǎng)教育、教學(xué)平臺(tái)的范圍不斷擴(kuò)張,但是基于軟件工程的案例教學(xué)領(lǐng)域尚未普及,結(jié)合目前案例教學(xué)的實(shí)際表現(xiàn):沒有一個(gè)統(tǒng)一的管理平臺(tái)來管理老師和學(xué)生;網(wǎng)絡(luò)資源復(fù)雜,獲取有針對(duì)性的案例信息比較困難;案例管理比較復(fù)雜,分類管理比較麻煩。因此,本課題從學(xué)生用戶對(duì)案例資源檢索需求出發(fā)深入調(diào)查研究之后,發(fā)現(xiàn)學(xué)生很難找到一個(gè)相關(guān)案例檢索的平臺(tái),最終在研究相關(guān)資源需求和技術(shù)需求的基礎(chǔ)上,提出基于web的軟件工程案例教學(xué)平臺(tái)案例庫(kù)及檢索子系統(tǒng)的設(shè)計(jì)這一課題。本課題主要研究案例教學(xué)平臺(tái)的案例庫(kù)的構(gòu)建和檢索子系統(tǒng)的實(shí)現(xiàn),采用現(xiàn)在流
2、行的J2EE開發(fā)框架。在項(xiàng)目開發(fā)階段始終堅(jiān)持代碼的低耦合、高內(nèi)聚,使系統(tǒng)維護(hù)更新比較方便。整個(gè)系統(tǒng)主要分為案例庫(kù)系統(tǒng)和檢索系統(tǒng)兩大模塊。在案例庫(kù)中主要有案例增加、批量上傳案例相關(guān)文件、案例信息修改、案例查詢、案例刪除等功能;檢索子系統(tǒng)主要包含根據(jù)案例名稱模糊檢索案例,根據(jù)上傳用戶名檢索案例,根據(jù)案例名稱、案例上傳用戶名、案例相關(guān)關(guān)鍵字、案例相關(guān)技術(shù)等一項(xiàng)或多項(xiàng)組合進(jìn)行高級(jí)查詢?;谲浖こ痰陌咐虒W(xué)平臺(tái)中案例庫(kù)和檢索子系統(tǒng)的設(shè)計(jì),采用B/S架構(gòu),初步實(shí)現(xiàn)了案例庫(kù)和檢索子系統(tǒng)的相關(guān)功能。本系統(tǒng)擺脫傳統(tǒng)的C/S架構(gòu)所帶來的部署不方便,在互聯(lián)網(wǎng)技術(shù)應(yīng)用更加深入和普及的今天,此系統(tǒng)一定會(huì)在將來的更好的
3、服務(wù)于廣大用戶,使用戶更加方便、快捷、高效的工作。關(guān)鍵詞:軟件工程;案例庫(kù);檢索系統(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)設(shè)計(jì)的意義11.3 國(guó)內(nèi)外相關(guān)研究情況11.4 課題研究?jī)?nèi)容21.5 論文結(jié)構(gòu)22 軟件開發(fā)相關(guān)的技術(shù)42.1 JSP簡(jiǎn)介42.2 Struts 2.X 簡(jiǎn)介42.3 Spring 簡(jiǎn)介52.4 MySql簡(jiǎn)介53 需求分析73.1 需求分析概述73.2 系統(tǒng)功能需求分析73.3 系統(tǒng)非功能需求94 系統(tǒng)詳細(xì)設(shè)計(jì)104.1 系統(tǒng)結(jié)構(gòu)104.1.1系統(tǒng)框架圖104.2 模塊介紹104.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)114.3.1 數(shù)據(jù)表E-R圖124.3.2 數(shù)據(jù)表概要說明124.3.2 物理結(jié)構(gòu)
12、設(shè)計(jì)125 系統(tǒng)實(shí)現(xiàn)155.1 開發(fā)環(huán)境及工具155.2 模塊說明程序流程設(shè)計(jì)155.2.1 功能設(shè)計(jì)155.2.2 程序結(jié)構(gòu)設(shè)計(jì)165.2.3 系統(tǒng)界面設(shè)計(jì)175.2.3 系統(tǒng)頁(yè)面效果如下圖所示:175.3 重要模塊實(shí)現(xiàn)細(xì)節(jié)195.3.1 案例庫(kù)管理模塊設(shè)計(jì)195.3.2 案例庫(kù)檢索模塊設(shè)計(jì)235.3.3 用戶模塊設(shè)計(jì)256 測(cè)試306.1 軟件測(cè)試的目標(biāo)306.2 測(cè)試計(jì)劃及執(zhí)行情況306.3 測(cè)試評(píng)價(jià)357 結(jié)論36參考文獻(xiàn)37致 謝391 緒論1 緒論1.1 背景介紹隨著現(xiàn)代互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,傳統(tǒng)教育也在尋求新的教育教學(xué)方式,逐漸的也走向了網(wǎng)絡(luò)化、信息化和現(xiàn)代化。網(wǎng)絡(luò)技術(shù)的快速發(fā)展
13、改變了教學(xué)方法、手段的同時(shí)也帶來了教學(xué)理念、教學(xué)內(nèi)容的急速變更,其中應(yīng)用計(jì)算機(jī)進(jìn)行案例教學(xué)已成為現(xiàn)代教育技術(shù)改革創(chuàng)新的熱點(diǎn)之一。網(wǎng)絡(luò)教學(xué)是利用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)以及多媒體技術(shù),在互聯(lián)網(wǎng)絡(luò)環(huán)境下實(shí)行教育教學(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é),是一種開放式、互動(dòng)式的新型教學(xué)方式。案例教學(xué)可以充分依靠先進(jìn)的教學(xué)手段、教學(xué)技術(shù)教學(xué)資源、教學(xué)思想,給廣大用戶提供了良好的自主學(xué)習(xí)環(huán)境和項(xiàng)目導(dǎo)向,大幅度的促進(jìn)并提升了教學(xué)效率
14、、教學(xué)效果和教學(xué)水平,還可以促進(jìn)高校教師和學(xué)生之間的交互聯(lián)系與溝通,在傳統(tǒng)課堂教學(xué)過程一些弊端得以彌補(bǔ)。為此,為廣大師生開發(fā)建設(shè)案例教學(xué)平臺(tái)已成為一種重要需求。1.2 系統(tǒng)設(shè)計(jì)的意義案例教學(xué)是一種通過模擬或者重現(xiàn)現(xiàn)實(shí)生活中的一些場(chǎng)景,讓學(xué)生把自己納入案例場(chǎng)景,通過討論或者研討來進(jìn)行學(xué)習(xí)的一種教學(xué)方法。在多種教學(xué)方式中,案例教學(xué)很早就被各國(guó)名牌學(xué)校所引進(jìn),于此同時(shí)也表現(xiàn)出來它的優(yōu)勢(shì)。在教育方法中,得到了有很好的稱贊。由于教育資源分配不均以及其他一些軟件、硬件方面的因素,使得教育差異化比較大。而當(dāng)代互聯(lián)網(wǎng)的高速發(fā)展,各種資源逐步在實(shí)現(xiàn)高度共享。將案例教學(xué)整合到互聯(lián)網(wǎng)上,不僅可以解決各地教育資源分配
15、不均衡,同時(shí)利用互聯(lián)網(wǎng)的創(chuàng)新方式,可以不斷的創(chuàng)新和改革教育模式,提高教育質(zhì)量。本系統(tǒng)指在幫助老師和學(xué)生更加有針對(duì)性的獲取教育資源,將案例教學(xué)分類管里,提供檢索入口,簡(jiǎn)化老師和學(xué)生在尋找資源中的無用操作。1.3 國(guó)內(nèi)外相關(guān)研究情況在歐美,在政府的大力支持下,各個(gè)學(xué)校紛紛對(duì)教學(xué)進(jìn)行數(shù)字化改造,加強(qiáng)了各學(xué)校案例教學(xué)案例庫(kù)的建設(shè)。早在70年代的時(shí)候,國(guó)外就已經(jīng)有人開始研究了案例教學(xué),并最早應(yīng)用于醫(yī)學(xué)上,現(xiàn)在已經(jīng)應(yīng)用于很多教學(xué)領(lǐng)域。隨著互聯(lián)網(wǎng)的快速發(fā)展,案例教學(xué)也被遷移至互聯(lián)網(wǎng)上,來應(yīng)對(duì)信息的快速傳播。案例庫(kù)的建設(shè)也成了必然的需要,這不僅可以加快信息共享,也方便了學(xué)生、40畢業(yè)設(shè)計(jì)(論文)教師對(duì)資源獲取
16、的便捷性。在2013年電子科技大學(xué)徐天南的畢業(yè)設(shè)計(jì)課題中研究過網(wǎng)絡(luò)教學(xué)的案例庫(kù)系統(tǒng),他主要是建立了一個(gè)老師和學(xué)生的交流平臺(tái)。老師可以提供案例方案或者上傳案例文件,來供學(xué)生瀏覽下載學(xué)習(xí)。這也是一個(gè)完整意義上的案例教學(xué)系統(tǒng)。本科題主要在案例庫(kù)建設(shè)和檢索系統(tǒng)中進(jìn)行進(jìn)一步的優(yōu)化,使得案例庫(kù)整個(gè)組織架構(gòu)更加的豐富,檢索效率更高,更有針對(duì)性。1.4 課題研究?jī)?nèi)容本課題是案例教學(xué)平臺(tái)的一個(gè)重要組成部分,主要包括案例庫(kù)和檢索子系統(tǒng)。在研究過程中本課題結(jié)合現(xiàn)有的臨近教學(xué)平臺(tái)的相關(guān)經(jīng)驗(yàn),同時(shí)結(jié)合軟件工程案例教學(xué)平臺(tái)獨(dú)有的特點(diǎn),進(jìn)行綜合分析、調(diào)研。最終確定研究的主要內(nèi)容。在本課題中將實(shí)現(xiàn)一個(gè)操作簡(jiǎn)單、功能豐富的案例
17、庫(kù)子系統(tǒng)和檢索子系統(tǒng)。其中案例庫(kù)子系統(tǒng)要實(shí)現(xiàn)對(duì)案例的分類存儲(chǔ),靈活的管理;檢索子系統(tǒng)要提供簡(jiǎn)單、快捷的檢索方式。本課題主要實(shí)現(xiàn)兩種檢索方式:一種是根據(jù)案例標(biāo)題檢索,另一種是根據(jù)案例的分類、標(biāo)題、關(guān)鍵字、相關(guān)技術(shù)、上傳用戶等條件中的一種或幾種進(jìn)行聯(lián)合檢索。1.5 論文結(jié)構(gòu)基于案例庫(kù)和檢索子系統(tǒng)的相關(guān)需求,作者設(shè)計(jì)并實(shí)現(xiàn)案例庫(kù)和檢索子系統(tǒng)。本文組織結(jié)構(gòu)如下:第一章:緒論部分。簡(jiǎn)單介紹案例庫(kù)及檢索子系統(tǒng)的研究意義、選題背景,并根據(jù)應(yīng)用現(xiàn)狀,提出研究?jī)?nèi)容和實(shí)現(xiàn)目標(biāo)。第二章:相關(guān)技術(shù)介紹。簡(jiǎn)單介紹本課題采用的相關(guān)技術(shù),同時(shí)對(duì)使用的struts2、hibernate、spring等開源框架進(jìn)行簡(jiǎn)單介紹。第
18、三章:案例庫(kù)和檢索子系統(tǒng)需求分析。包括需求分析、系統(tǒng)用例分析、業(yè)務(wù)流程分析、數(shù)據(jù)庫(kù)設(shè)計(jì)以及總體技術(shù)路線。第四章:案例庫(kù)和檢索子系統(tǒng)概要設(shè)計(jì)。系統(tǒng)體系結(jié)構(gòu)、數(shù)據(jù)庫(kù)設(shè)計(jì)以及總體設(shè)計(jì)路線。第五章:案例庫(kù)和檢索子系統(tǒng)功能模塊設(shè)計(jì)與實(shí)現(xiàn)。包括案例庫(kù)和檢索子系統(tǒng)總體設(shè)計(jì)、案例庫(kù)模塊設(shè)計(jì)、案例檢索模塊設(shè)計(jì)、案例管理模塊和相關(guān)關(guān)鍵技術(shù)的應(yīng)用。第六章:系統(tǒng)測(cè)試。對(duì)系統(tǒng)進(jìn)行整體測(cè)試,并對(duì)測(cè)試結(jié)果進(jìn)行說明。第七章:總結(jié)。對(duì)本課題的研究過程和結(jié)果進(jìn)行總結(jié)。2 軟件開發(fā)相關(guān)技術(shù)2 軟件開發(fā)相關(guān)的技術(shù)2.1 JSP簡(jiǎn)介JSP技術(shù)是用JAVA語(yǔ)言作為腳本語(yǔ)言的,JSP網(wǎng)頁(yè)為整個(gè)服務(wù)器端的JAVA庫(kù)單元提供了一個(gè)接口來服務(wù)于
19、HTTP的應(yīng)用程序。 JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。 在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁(yè),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送 email 等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低,可以實(shí)
20、現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。JavaServer Pages(JSP) 技術(shù)提供了一種簡(jiǎn)單快速的方法來創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的 Web 頁(yè)面。由業(yè)界處于領(lǐng)先地位的 Sun 公司制定了相關(guān)的 JSP 技術(shù)規(guī)范,該規(guī)范定義了如何在服務(wù)器和 JSP 頁(yè)面間進(jìn)行交互,還描述了頁(yè)面的格式和語(yǔ)法。JSP 頁(yè)面使用 XML 標(biāo)簽和 scriptlets(一種使用 Java 語(yǔ)言編寫的腳本代碼),封裝了生成頁(yè)面內(nèi)容的邏輯。它將各種格式的標(biāo)簽(HTML 或者 XML)直接傳遞回響應(yīng)頁(yè)面。通過這種方式,JSP 頁(yè)面實(shí)現(xiàn)了頁(yè)面邏輯與其設(shè)計(jì)和顯示的分離。JSP 技術(shù)是
21、 Java 系列技術(shù)的一部分。JSP 頁(yè)面被編譯成 servlet,并可能調(diào)用 JavaBeans 組件(beans) 或 Enterprise JavaBeans 組件(企業(yè) beans),以便在服務(wù)器端處理。因此,JSP 技術(shù)在構(gòu)建可升級(jí)的基于 web 的應(yīng)用程序時(shí)扮演了重要角色。JSP 頁(yè)面并不局限于任何特定的平臺(tái)或 web 服務(wù)器上。JSP 規(guī)范在業(yè)界有著廣泛的適應(yīng)性。2.2 Struts 2.X 簡(jiǎn)介Struts2是一個(gè)基于MVC設(shè)計(jì)模式的Web應(yīng)用框架,它本質(zhì)上相當(dāng)于一個(gè)servlet,在MVC設(shè)計(jì)模式中,Struts2作為控制器(Controler)來建立模型與視圖的數(shù)據(jù)交互。S
22、truts 2是Struts的下一代產(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ī)制來處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開,西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)所以Struts 2可以理解為WebWork的更新產(chǎn)品。雖然從Struts 1到Struts 2有著太大的變化,但是相對(duì)于WebWork,Struts 2的變化很小。2.3 Spring 簡(jiǎn)介Spring是一個(gè)開源框架,它由R
23、od Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴于Spring的特
24、定類。控制反轉(zhuǎn)Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過被動(dòng)的方式傳遞進(jìn)來,而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。你可以認(rèn)為IoC與JNDI相反不是對(duì)象從容器中查找依賴,而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴傳遞給它。面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的完成業(yè)務(wù)邏輯僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持。容器Spring包含
25、并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用??蚣躍pring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且
26、更易于測(cè)試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。2.4 MySql簡(jiǎn)介MySQL是一個(gè)精巧的SQL數(shù)據(jù)庫(kù)管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結(jié)合,為建立基于數(shù)據(jù)庫(kù)的動(dòng)態(tài)網(wǎng)站提供了強(qiáng)大動(dòng)力MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。SQL(結(jié)構(gòu)化查詢語(yǔ)言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。MySQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多
27、不同的客戶程序和庫(kù)組成。 SQL是一種標(biāo)準(zhǔn)化的語(yǔ)言,它使得存儲(chǔ)、更新和存取信息更容易。例如,你能用SQL語(yǔ)言為一個(gè)網(wǎng)站檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí)MySQL也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。 MySQL建立的基礎(chǔ)是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實(shí)用例程。盡管MySQL仍在開發(fā)中,但它已經(jīng)提供一個(gè)豐富和極其有用的功能集。3 需求分析3 需求分析3.1 需求分析概述依據(jù)軟件工程的原理和方法,以及對(duì)系統(tǒng)的前期分析,初步規(guī)劃系統(tǒng)所要實(shí)現(xiàn)的功能模塊,滿足前期的報(bào)告中提出對(duì)系統(tǒng)的功能要求;可行性分析也稱為可行性研究,即是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開發(fā)是否具備必要性和可行性,對(duì)新系統(tǒng)的
28、開發(fā)從技術(shù)、經(jīng)濟(jì)、管理的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個(gè)方面的內(nèi)容。(1)經(jīng)濟(jì)可行性主要是對(duì)項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià),軟件開發(fā)周期一般為34個(gè)月,開發(fā)所需硬件軟件很普遍,該軟件系統(tǒng)的安裝、部署、運(yùn)行和維護(hù),開發(fā)費(fèi)用不高。所以該系統(tǒng)在經(jīng)濟(jì)上是可行的。(2)技術(shù)可行性技術(shù)上的可行性分析主要分析技術(shù)條件是否能順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要。本系統(tǒng)采用Java語(yǔ)言編寫程序,基于web瀏覽器上使用了MyEclipse開發(fā)平臺(tái),運(yùn)用了MySql數(shù)據(jù)庫(kù)和JSP技術(shù),
29、能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并提供許多高級(jí)管理功能。硬件方面,可靠性越來越強(qiáng),足夠滿足系統(tǒng)的開發(fā)(3)操作可行性現(xiàn)在大部分計(jì)算機(jī)都可以運(yùn)行本系統(tǒng),并且用戶很容易的就可以操作本系統(tǒng)。因此從操作可行性的角度來衡量,本系統(tǒng)的開發(fā)方案也是可行的。綜合三方面的因素,開發(fā)基于web的軟件工程案例教學(xué)平臺(tái)案例庫(kù)和檢索系統(tǒng)是可行的。3.2 系統(tǒng)功能需求分析根據(jù)需求分析中的模塊劃分,進(jìn)行系統(tǒng)架構(gòu)和網(wǎng)頁(yè)結(jié)構(gòu)設(shè)計(jì),對(duì)模塊的功能有一個(gè)初步的設(shè)計(jì),并且將系統(tǒng)模塊的功能流程有初步的分析,實(shí)現(xiàn)了部分模塊的功能。下邊分別對(duì)于不同用戶存在的功能差異進(jìn)行簡(jiǎn)單介紹。(1)普通用戶,即學(xué)生用戶使用系統(tǒng)的功能用例圖如圖3.1
30、所示:西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)圖 3.1 學(xué)生用戶功能用例圖說明:學(xué)生用戶是本系統(tǒng)中權(quán)限最低的用戶,也是系統(tǒng)的主要使用者。在本系統(tǒng)中學(xué)生用戶只擁有修改自己信息的權(quán)限,同時(shí)也只能管理自己收藏夾中收藏的案例,并且只能選在收藏或者取消收藏案例的操作,本操作不會(huì)改變案例的任何信息,只是刪除收藏夾中的案例之后,不會(huì)再出現(xiàn)在自己的收藏夾中。(2)老師用戶使用系統(tǒng)的功能用例圖如圖3.2所示:圖3.2 老師用戶功能用例圖說明:老師用戶是本系統(tǒng)案例的主要提供者和對(duì)學(xué)生提出的疑問的主要回答者,他所擁有的權(quán)限較學(xué)生用戶的權(quán)限要高。老師用戶可以上傳案例,并且對(duì)自己上傳的案例進(jìn)行增、刪、改等維護(hù)操作。同時(shí)老師用戶也
31、可以瀏覽其他老師用戶的案例,并且進(jìn)行評(píng)價(jià)和收藏的等操作。(3)管理員用戶使用系統(tǒng)的功能用例圖如圖3.3所示:圖3.3 管理員用戶功能用例圖說明:管理員用戶是本系統(tǒng)的主要管理者,擁有本系統(tǒng)的所有權(quán)限。本系統(tǒng)屬于內(nèi)部學(xué)習(xí)平臺(tái),對(duì)所有用戶不提供注冊(cè)功能,全部由管理員用戶進(jìn)行分配用戶。管理員用戶可以管理本平臺(tái)下的所有案例,對(duì)所有案例擁有增、刪、改等操作;同時(shí)、管理員用戶也負(fù)責(zé)管理平臺(tái)下的所有用戶,對(duì)所有用戶進(jìn)行增、刪、改操作,同時(shí)還負(fù)責(zé)用戶權(quán)限的分配工作。3.3 系統(tǒng)非功能需求(1)可用性:基于Web的軟件工程案例教學(xué)平臺(tái)案例庫(kù)和檢索子系統(tǒng)保證所有功能正常使用,界面設(shè)計(jì)合理,操作簡(jiǎn)單,且頁(yè)面響應(yīng)速度快
32、。 (2)性能:基于Web的軟件工程案例教學(xué)平臺(tái)案例庫(kù)和檢索子系統(tǒng)啟動(dòng)時(shí)間不超過10秒,且可進(jìn)行案例相關(guān)文件的批量上傳。(3)可維護(hù)性:基于Web的軟件工程案例教學(xué)平臺(tái)案例庫(kù)和檢索子系統(tǒng)任務(wù)書、設(shè)計(jì)文檔和實(shí)現(xiàn)代碼都有完整的備份。(4)技術(shù)的成熟性:本系統(tǒng)以java作為開發(fā)語(yǔ)言,使用了現(xiàn)在比較流行的ssh(struts2、hibernate、spring)框架進(jìn)行整合開發(fā),無論是在業(yè)務(wù)邏輯處理還是系統(tǒng)運(yùn)行性能都做了很好的優(yōu)化。采用ssh進(jìn)行整合開發(fā),使用MVC架構(gòu),使各層邏輯分開,大大的提高了代碼的內(nèi)聚性,降低了邏輯之間的耦合性,方便了以后的維護(hù)。4 系統(tǒng)詳細(xì)設(shè)計(jì)4 系統(tǒng)詳細(xì)設(shè)計(jì)4.1 系統(tǒng)結(jié)構(gòu)
33、本課題研究的案例庫(kù)和檢索子系統(tǒng)是整個(gè)案例教學(xué)平臺(tái)的一部分,所以在整個(gè)設(shè)計(jì)過程中都應(yīng)當(dāng)以案例教學(xué)的目標(biāo)來實(shí)現(xiàn),同時(shí)與另一課題的演示子系統(tǒng)相結(jié)合,盡量做到很好的整合工作。本課題要實(shí)現(xiàn)的案例庫(kù)子系統(tǒng)是對(duì)不同案例進(jìn)行很好的分類整理,進(jìn)行有效的存儲(chǔ)。在設(shè)計(jì)過程中,作者采用數(shù)據(jù)庫(kù)存儲(chǔ)一些案例的相關(guān)信息,對(duì)于案例的相關(guān)的文件則采用本地存儲(chǔ)。為了實(shí)現(xiàn)同一課題可能包含多個(gè)文件,本課題在設(shè)計(jì)過程中實(shí)現(xiàn)了多個(gè)文件批量上傳的功能。同時(shí)為了不影響整個(gè)程序的響應(yīng)性能,在實(shí)現(xiàn)上傳文件的過程時(shí),全部進(jìn)行分離在子線程中進(jìn)行操作。檢索子系統(tǒng)是以案例庫(kù)為基礎(chǔ),提供了對(duì)案例庫(kù)的簡(jiǎn)單檢索。本課題的目標(biāo)是實(shí)現(xiàn)兩種檢索方式:即按案例的標(biāo)題
34、進(jìn)行模糊檢索和按案例的標(biāo)題、上傳作者、關(guān)鍵字、相關(guān)技術(shù)等檢索條件中的一種或者幾種進(jìn)行組合后進(jìn)行模糊檢索。4.1.1系統(tǒng)框架圖結(jié)合上述基本設(shè)計(jì)目標(biāo),整個(gè)案例庫(kù)和檢索子系統(tǒng)的功能結(jié)構(gòu)圖如下,如圖4.1所示:圖4.1系統(tǒng)功能結(jié)構(gòu)圖西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)4.2 模塊介紹 系統(tǒng)總共分為以下五個(gè)模塊: u 用戶管理模塊:用戶管理模塊主要包含新增用戶、修改用戶、用戶密碼初始化、用戶權(quán)限分配、用戶刪除等操作。u 導(dǎo)航管理模塊:本模塊主要是為了實(shí)現(xiàn)首頁(yè)導(dǎo)航欄目可以動(dòng)態(tài)維護(hù),主要包括導(dǎo)航的增加、修改、刪除等操作。u 案例管理模塊:本模塊是案例庫(kù)構(gòu)建的重點(diǎn),主要是實(shí)現(xiàn)案例的增加、案例分類管理、案例相關(guān)文件的上
35、傳、案例信息的修改登操作。u 檢索模塊:本模塊主要實(shí)現(xiàn)了系統(tǒng)所需要的檢索功能,其中包括用戶簡(jiǎn)單檢索、案例簡(jiǎn)單檢索、案例詳細(xì)檢索等主要功能。u 案例文件上傳下載模塊:本模塊提供一些系統(tǒng)公共的上傳下載的工具類,主要是在增加案例是對(duì)案例相關(guān)文件的批量處理管理。4.3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是在既定的數(shù)據(jù)庫(kù)管理系統(tǒng)基礎(chǔ)之上建立數(shù)據(jù)庫(kù)的過程。其過程是將現(xiàn)實(shí)存在的數(shù)據(jù)及其應(yīng)用處理關(guān)系進(jìn)行抽象,從而形成數(shù)據(jù)庫(kù)結(jié)構(gòu)。具體實(shí)現(xiàn)時(shí),應(yīng)首先明確用戶對(duì)數(shù)據(jù)的需求,在此基礎(chǔ)上,建立數(shù)據(jù)庫(kù)的概念模型,概念模型主要是用來反映用戶的現(xiàn)實(shí)環(huán)境和需求,它獨(dú)立于具體的數(shù)據(jù)庫(kù)管理系統(tǒng),并且與數(shù)據(jù)庫(kù)怎樣實(shí)現(xiàn)無關(guān),建立概念模型的主要工
36、具為實(shí)體關(guān)系E-R圖;在建立數(shù)據(jù)庫(kù)概念模型之后,要真正實(shí)現(xiàn)與數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)合,即能夠由既定的數(shù)據(jù)庫(kù)管理系統(tǒng)所支持,還必須進(jìn)行邏輯結(jié)構(gòu)的設(shè)計(jì),在邏輯設(shè)計(jì)階段,主要完成建立數(shù)據(jù)庫(kù)的邏輯模型,并解決數(shù)據(jù)的完整性、一致性、安全性和有效性等問題;最后一個(gè)階段是數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì),其任務(wù)是為系統(tǒng)邏輯結(jié)構(gòu)模型確定合理的存儲(chǔ)結(jié)構(gòu)、存取方法、以及數(shù)據(jù)表示和數(shù)據(jù)存儲(chǔ)空間分配等內(nèi)容,從而得到具體的數(shù)據(jù)庫(kù)物理結(jié)構(gòu)。經(jīng)過前邊的分析,案例庫(kù)和檢索子系統(tǒng)主要抽象出如下實(shí)體模型:(1)用戶模型:主要包含管理員、學(xué)生、老師等一些基本信息。(2)案例模型:主要包含案例的相關(guān)信息。(3)案例文件模型:在設(shè)計(jì)過程中為了實(shí)現(xiàn)一個(gè)
37、案例多文件管理的需求,在此作者抽象出一個(gè)實(shí)體主要存放文件。(4)導(dǎo)航模型:在設(shè)計(jì)的時(shí)候需要對(duì)案例進(jìn)行分類,同時(shí)為了滿足首頁(yè)導(dǎo)航信息也可以動(dòng)態(tài)展示,在這里作者抽象出一個(gè)導(dǎo)航模型。用來管理案例的分類和導(dǎo)航欄目的顯示。(5)評(píng)論模型:因?yàn)楸菊n題是案例教學(xué)平臺(tái)的一個(gè)子系統(tǒng),為了與演示子系統(tǒng)相結(jié)合,這里也使用了另一課題的一個(gè)數(shù)據(jù)模型,即評(píng)論模型。這里主要包含用戶對(duì)相關(guān)案例的評(píng)論信息,同時(shí)也包含不同用戶對(duì)相關(guān)評(píng)論的回復(fù)信息。4.3.1 數(shù)據(jù)表E-R圖數(shù)據(jù)表E-R圖如圖4.2 所示:圖4.2 系統(tǒng)E-R圖4.3.2 數(shù)據(jù)表概要說明從各實(shí)體的E-R圖到在MySql中為整個(gè)系統(tǒng)建立了一個(gè)數(shù)據(jù)庫(kù),儲(chǔ)存各類數(shù)據(jù)和控
38、制信息。包含以下幾層:(1)表示層:展現(xiàn)給用戶的界面,主要是顯示數(shù)據(jù)和接收用戶輸入數(shù)據(jù)。(2)服務(wù)層:針對(duì)具體問題的操作,也可以說是對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理。(3)數(shù)據(jù)訪問層:對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。(4)Model層:定義數(shù)據(jù)庫(kù)字段。其中 Model層中定義的表如表4.1所示:表4.1 Model層包含的實(shí)體模型表表名稱說明User所有用戶表Work所有案例信息表WorkFile案例相關(guān)文件表,存放案例相關(guān)文件Navigate系統(tǒng)首頁(yè)導(dǎo)航信息表Comment案例相關(guān)評(píng)論、回復(fù)表4.3.3 物理結(jié)構(gòu)設(shè)計(jì)(1)名稱:用戶表(user),如表 4.2所示,包括 userId,userName,
39、userAccount,userPassword,userGender,userEmail,userSchool,userBirthday,userEducation,userPhotos,userCollege,userMajor,userClass,userType等字段,與評(píng)論表、案例表相關(guān)聯(lián)。表4.2:用戶表 (user)字段名類型是否主/外鍵是否可為空說明userIdBigint(10)主鍵否自增userNamevarchar(50)否否真實(shí)姓名userAccountvarchar(50)否否登錄名userPasswordvarchar(50)否否默認(rèn):123456userGende
40、rvarchar(10)否否默認(rèn):0 男userEmailvarchar(50)否是郵箱userSchoolvarchar(50)否是學(xué)校userBirthdaydate否否生日userEducationvarchar(50)否是學(xué)歷userPhotosvarchar(50)否是照片userCollegevarchar(50)否是學(xué)院userMajorvarchar(50)否是專業(yè)userClassvarchar(50)否是班級(jí)userTypevarchar(10)否否用戶類型(2)名稱:案例表(work),如表 4.3所示,包括 workId,workName,workKeyWords,na
41、vigateId,workDestribute,workTechnology,workUploadDate,workClickNum,userId等字段,與導(dǎo)航表、用戶表,案例文件表相關(guān)聯(lián)。圖4.3:案例表 (work)字段名類型是否主/外鍵是否可為空說明workIdbigint(20)主鍵否自增workNamevarchar(50)否否案例名稱workKeyWordsvarchar(255)否是關(guān)鍵字navigateIdbigint(20)外鍵是分類名稱workDestributevarchar(255)否是簡(jiǎn)介workTechnologyvarchar(255)否是相關(guān)技術(shù)workUplo
42、adDatedatetime否都更新時(shí)間workClickNumInt(11)否否初始值0,userIdbigint(20)外鍵否用戶ID(3)名稱:案例文件表(workFile),如表 4.4所示,包括 fileId,fileName,filePath,workId等字段,與案例表相關(guān)聯(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)名稱:評(píng)論表(comment),如表 4.6所示,包括 commentId,commentMessage,commentDate,toUserId,formUserId,parentId等字段,與用戶表、案例表相關(guān)聯(lián)。圖4.6:評(píng)論表(comment)字段名稱類型是否主/外鍵是否可
44、為空說明commentIdbigint(20)主鍵否自增commentMessagelongtext否是文本commentDatedatetime否是日期toUserIdbigint(20)外鍵否userIdfromUserIdbigint(20)外鍵否userIdparentIdbigint(20)外鍵否commentId(6)名稱:導(dǎo)航表(navigate),如表 4.7所示,包括 navigateId,navigateName,parent等字段,與次表相關(guān)聯(lián),形成上下級(jí)映射。圖4.7:導(dǎo)航表(navigate)字段名類型是否主/外鍵是否可為空說明navigateIdbigint(20)
45、主鍵否自增navigateNamevarchar(20)否否導(dǎo)航名parentbigint(20)外鍵否父導(dǎo)航名5 系統(tǒng)實(shí)現(xiàn)5 系統(tǒng)實(shí)現(xiàn)5.1 開發(fā)環(huán)境及工具開發(fā)平臺(tái):Windows 10運(yùn)行環(huán)境:Windows 10系統(tǒng) ,Tomcat 7.0服務(wù)器開發(fā)工具:MyEclipse;MySql開發(fā)語(yǔ)言:Java、JavaScript、Html5.2 模塊說明程序流程設(shè)計(jì)5.2.1 功能設(shè)計(jì)(1)案例庫(kù)功能設(shè)計(jì):案例庫(kù)主要包含案例增加、案例修改、案例刪除、案例相關(guān)文件上傳等功能。詳細(xì)功能結(jié)構(gòu)圖如5.1所示:圖:5.1 案例庫(kù)子系統(tǒng)詳細(xì)功能設(shè)計(jì)圖(1)檢索子系統(tǒng)功能設(shè)計(jì):檢索子系統(tǒng)主要包含案例檢索和
46、用戶檢索。其中用戶檢索是根據(jù)用戶名進(jìn)行模糊檢索;案例檢索包含根據(jù)案例名稱模糊檢索、根據(jù)上傳用戶名模糊檢索、根據(jù)案例關(guān)鍵字和關(guān)鍵技術(shù)模糊檢索、根據(jù)案例分類相關(guān)檢索以及這幾種方式的隨意組合進(jìn)行條件模糊檢索。詳細(xì)功能框架圖如圖 5.2所示:西安工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)圖5.2:檢索系統(tǒng)詳細(xì)設(shè)計(jì)功能圖畢業(yè)設(shè)計(jì)論文5.2.2 程序結(jié)構(gòu)設(shè)計(jì)xuebin為項(xiàng)目的名稱,也是項(xiàng)目的根目錄。該目錄下主要包含Src源碼目錄、項(xiàng)目所需的配置文件config目錄、相關(guān)測(cè)試用例源碼目錄test文件、WebRoot等。WebRoot為 Web 目錄,包括程序初始化載入頁(yè)面main.jsp、案例上傳目錄uploadFile、
47、用戶頭像上傳目錄uploadPhoto、圖片目錄 images、 樣式文件css、相關(guān)js驗(yàn)證文件js文件夾、WEB-INF 文件夾目錄。其中css文件夾中包含styles.css樣式文件; js文件包含jquery.validate.js、jquery1.42.min.js、myjs.js等js文件; WEB-INF中包含存放項(xiàng)目必須的jar文件的lib文件夾、存放jsp文件的jsp文件夾和web.xml文件等。Src 源碼目錄包含如下幾個(gè)部分:com.xuebin.bs.domain:項(xiàng)目中所用到的實(shí)體類和hibernate操作相關(guān)的實(shí)體配置文件*.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:包含項(xiàng)目所需要的公共Action操作類BaseAction.java、公共Dao操作接口DaoSupport.java、公共Dao實(shí)現(xiàn)類DaoSupportImpl.java和公共Service接口ServiceSupport.java。com.xuebin.bs.converter:主要存放項(xiàng)目的
49、全局自定義轉(zhuǎn)換器工具類。DateConverter.javaxwork-conversion.properties:該文件是自定義轉(zhuǎn)換器的配置文件。com.xuebin.bs.utils:該包中主要存放項(xiàng)目所使用到的公共工具類。主要有:DigestMD5Utils.java密碼進(jìn)行MD5加密工具類、InitListener.java Tomcat服務(wù)器啟動(dòng)時(shí)的初始化數(shù)據(jù)監(jiān)聽工具類、案例相關(guān)評(píng)論處理工具類ListAllCommentUtils.java、分頁(yè)工具類Page.java、文件上傳工具類UploadFile.java。com.xuebin.bs.dao:提供數(shù)據(jù)庫(kù)相關(guān)操作的接口方法。該
50、包下的文件有以下接口文件:CommentDao.java、NavigateDao.java、UserDao.java、WorkDao.java、WorkFileDao.java。com.xuebin.bs.dao.impl:提供數(shù)據(jù)庫(kù)相關(guān)操作接口的實(shí)現(xiàn)類。該包下的文件有以下接口實(shí)現(xiàn)類文件:CommentDaoImpl.java、NavigateDaoImpl.java、UserDaoImpl.java、WorkDaoImpl.java、WorkFileDaoImpl.java。com.xuebin.bs.service:定義項(xiàng)目服務(wù)層相關(guān)接口。主要包括以下文件:CommentService.j
51、ava、NavigateService.java、UserService.java、WorkService.java、WorkFileService.java。com.xuebin.bs.service.impl:主要包含服務(wù)層相關(guān)接口的實(shí)現(xiàn)類。主要包含以下文件:CommentServiceImpl.java、NavigateServiceImpl.java、UserServiceImpl.java、WorkFileServiceImpl.java、WorkServiceImpl.java。config源碼文件夾中主要包含struts2、hibernate、spring等開源框架的配置文件。t
52、est源碼文件夾中主要包含相關(guān)測(cè)試代碼。5.2.3 系統(tǒng)界面設(shè)計(jì) 系統(tǒng)總提頁(yè)面采用jsp、css、js技術(shù)相結(jié)合來實(shí)現(xiàn),其中js技術(shù)用來處理一些動(dòng)態(tài)樣式、頁(yè)面的簡(jiǎn)單處理,實(shí)現(xiàn)導(dǎo)航菜單的聯(lián)動(dòng)顯示,css技術(shù)用來頁(yè)面布局樣式效果。根據(jù)需求分析,系統(tǒng)總體頁(yè)面結(jié)構(gòu)如下圖5. 3所示:圖 5.3 總體頁(yè)面結(jié)構(gòu)圖說明: user、work、Navigate等幾個(gè)的修改和添加是同一頁(yè)面。 user、work、Navigate等的列表在loginback.jsp頁(yè)面中展示。5.2.3 系統(tǒng)頁(yè)面效果如下圖所示:個(gè)人信息效果頁(yè),如圖:5.4所示:圖 5.4 個(gè)人信息效果頁(yè)用戶列表效果頁(yè),如圖5.5所示:圖 5.5
53、 用戶列表效果頁(yè)導(dǎo)航信息列表效果頁(yè),如圖:5.6所示:圖 5.6 導(dǎo)航信息列表頁(yè)案例信息列表效果頁(yè),如圖5.7所示:圖 5.7案例信息列表搜索功能效果頁(yè),如圖5.8 所示:圖 5.8 搜索效果頁(yè)5.3 重要模塊實(shí)現(xiàn)細(xì)節(jié)5.3.1 案例庫(kù)管理模塊設(shè)計(jì)(1)業(yè)務(wù)流程設(shè)計(jì)根據(jù)需求分析,案例庫(kù)模塊主要包含案例的相關(guān)操作功能,主要有案例查詢、案例上傳、案例修改、案例刪除。其業(yè)務(wù)流程設(shè)計(jì)圖如下圖5.9所示:圖 5.9 案例庫(kù)模塊業(yè)務(wù)流程圖(2)案例庫(kù)管理模塊實(shí)現(xiàn)本模塊主要介紹案例庫(kù)模塊的具體實(shí)現(xiàn)。模型構(gòu)造中抽象的模型名稱和主要功能如下表5.1所示:表 5.1 模型設(shè)計(jì)表文件名實(shí)現(xiàn)功能Work.java封裝
54、案例的相關(guān)信息WorkFile.java分裝案例的相關(guān)文件信息User.java封裝與案例相關(guān)的用戶的基本信息Navigate.java封裝案例相關(guān)的分類信息控制層的設(shè)計(jì)中主要使用的struts2,相關(guān)Action、處理方法和功能介紹如下表5.2所示:表 5.2 控制層設(shè)計(jì)表Action動(dòng)作類名稱處理方法名稱實(shí)現(xiàn)功能WorksAction.javaaddWorks添加案例并上傳相關(guān)文件。editWork修改案例和相關(guān)文件。findAll查詢所有案例。deleteWork刪除案例和相關(guān)文件。workMessage查看案例信息workMessageStudy查看案例詳細(xì)信息。服務(wù)層主要對(duì)模型進(jìn)行一
55、些業(yè)務(wù)邏輯處理,提供公共接口方法,實(shí)現(xiàn)代碼低耦合和提高重復(fù)使用率。主要內(nèi)容如下表5.3所示:表 5.3 服務(wù)層設(shè)計(jì)表接口實(shí)現(xiàn)類方法說明WorkServiceWorkServiceImplfindAllSearchAdmin管理員搜索案例。findAllSearchUser用戶搜索案例。findAllPageAdmin管理員搜索案例需要在當(dāng)前頁(yè)面顯示的案例。getTotalCountAdmin查詢總的案例條目findAllPageSearch檢索案例分頁(yè),當(dāng)前頁(yè)面要顯示的數(shù)據(jù)。findAllRelated查詢與本案例相關(guān)的案例findAllByUser查詢用戶上傳的所有案例。在刪除案例的時(shí)候,系
56、統(tǒng)先試用js提示用戶是否要真的刪除本條案例記錄和相關(guān)文件,以防止用戶錯(cuò)誤刪除。實(shí)現(xiàn)代碼使用onclick=return confirm(確認(rèn)是否要案例刪除?) 。如果用戶確認(rèn)要?jiǎng)h除案例,則會(huì)調(diào)用deleteWork方法刪除相應(yīng)案例和案例相關(guān)的文件。數(shù)據(jù)層主要提供一些訪問數(shù)據(jù)庫(kù)的相關(guān)接口和實(shí)現(xiàn)類,方便用戶操作過程中與數(shù)據(jù)庫(kù)的交互。主要內(nèi)容如下表5.4所示:表 5.4數(shù)據(jù)層設(shè)計(jì)表接口實(shí)現(xiàn)類方法說明WorkDaoWorkDaoImplfindAllSearchAdmin管理員搜索案例。findAllSearchUser用戶搜索案例。findAllPageAdmin管理員搜索案例需要在當(dāng)前頁(yè)面顯示的案
57、例。getTotalCountAdmin查詢總的案例條目findAllPageSearch檢索案例分頁(yè),當(dāng)前頁(yè)面要顯示的數(shù)據(jù)。findAllRelated查詢與本案例相關(guān)的案例findAllByUser查詢用戶上傳的所有案例。(3)關(guān)鍵代碼 /* * 上傳案例,采用子線程上傳案例相關(guān)文件 * 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 案例庫(kù)檢索模塊設(shè)計(jì)(1) 業(yè)務(wù)流程設(shè)計(jì)根據(jù)需求分析,檢索模塊主要包含案例的相關(guān)檢索,有按案例標(biāo)題檢索(workName)、按案例分類檢索(Navigate)和組合詳細(xì)檢索。其業(yè)務(wù)流程設(shè)計(jì)圖如下圖5.10所示:圖 5.10案例檢索模塊業(yè)務(wù)流程圖(2)案例
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案