計(jì)算機(jī)專業(yè) 基于MVC架構(gòu)的校園論壇的設(shè)計(jì)與實(shí)現(xiàn)

上傳人:文*** 文檔編號(hào):145530726 上傳時(shí)間:2022-08-29 格式:DOCX 頁(yè)數(shù):32 大?。?.53MB
收藏 版權(quán)申訴 舉報(bào) 下載
計(jì)算機(jī)專業(yè) 基于MVC架構(gòu)的校園論壇的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
第1頁(yè) / 共32頁(yè)
計(jì)算機(jī)專業(yè) 基于MVC架構(gòu)的校園論壇的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
第2頁(yè) / 共32頁(yè)
計(jì)算機(jī)專業(yè) 基于MVC架構(gòu)的校園論壇的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
第3頁(yè) / 共32頁(yè)

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

20 積分

下載資源

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

資源描述:

《計(jì)算機(jī)專業(yè) 基于MVC架構(gòu)的校園論壇的設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)專業(yè) 基于MVC架構(gòu)的校園論壇的設(shè)計(jì)與實(shí)現(xiàn)(32頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、基于MVC架構(gòu)的校園論壇的設(shè)計(jì)與實(shí)現(xiàn) 摘要:在現(xiàn)代社會(huì),高新科技日新月異,尤其是信息技術(shù)發(fā)展的很快,極大地方便了人們的交流。對(duì)于不同的客戶群體來說,他們需要的通信平臺(tái)是不一樣的。校園論壇就是因?yàn)檫@樣才形成的。論壇為用戶提供了一個(gè)公共的交流場(chǎng)所,可以方便人們進(jìn)行即時(shí)在線交流,發(fā)布各種信息,實(shí)現(xiàn)網(wǎng)絡(luò)資源的共享。 本次設(shè)計(jì)的校園論壇系統(tǒng)的研究基礎(chǔ)是MVC的設(shè)計(jì)模式,使用現(xiàn)在十分流行的網(wǎng)站 開發(fā)技術(shù)JSP語(yǔ)言進(jìn)行開發(fā),并且擴(kuò)展Struts框架。本次設(shè)計(jì)的論壇使用了B/S體系結(jié)構(gòu),用戶通過瀏覽器就可以訪問論壇。 在功能方面,本論文設(shè)計(jì)的校園論壇分為娛樂部分和專業(yè)學(xué)習(xí)部分。用戶在疲倦時(shí)可

2、以享受適宜的娛樂,并且在娛樂時(shí)能夠?qū)W到一些理論知識(shí)。 關(guān)鍵字:校園論壇;MVC;SSH;B/S;JSP Design and Implementation of Campus Forum Based on MVC Architecture Abstract: In modern society, high and new technologies are changing with each passing day, especially the rapid development of information technology, which greatly facilitate

3、s people's communication. For different customer groups, they need different communication platforms. This is why the campus forum was formed. The forum provides a public place for users to communicate, which can facilitate people to communicate online in real time, release various information an

4、d realize the sharing of network resources. The research foundation of the campus forum system designed this time is MVC design pattern, which uses the very popular websites now. The development technology JSP language is developed and Struts framework is extended. This designed forum uses B/S

5、architecture, and users can access the forum through browsers. In terms of function, the campus forum designed in this paper is divided into entertainment part and professional learning part. Users can enjoy appropriate entertainment when tired, and can learn some theoretical knowledge during en

6、tertainment. Key words: Campus forum; MVC; SSH; B/S; JSP 目 錄 第1章 緒論 3 1.1研究背景 3 1.2國(guó)內(nèi)外的發(fā)展現(xiàn)狀 3 1.3 本課題的主要研究?jī)?nèi)容 3 第2章開發(fā)工具以及開發(fā)技術(shù)簡(jiǎn)介 4 2.1 MyEclipse軟件簡(jiǎn)介 4 2.2 Tomcat介紹 4 2.3 SSH架構(gòu)介紹 4 2.4 JSP介紹 5 2.5 數(shù)據(jù)庫(kù)介紹 5 第3章系統(tǒng)分析 5 3.1 系統(tǒng)分析的任務(wù)與步驟 5 3.2 系統(tǒng)可行性分析 5 3.2.1技術(shù)可行性 5 3.2.2經(jīng)濟(jì)可行性 6 3.2.3操作可

7、行性 6 3.3 系統(tǒng)需求分析 6 3.3.1系統(tǒng)功能模型 6 3.3.1系統(tǒng)用例說明 7 第4章系統(tǒng)概要設(shè)計(jì) 8 4.1 系統(tǒng)整體框架結(jié)構(gòu) 8 4.2 系統(tǒng)數(shù)據(jù)模型 9 4.2.1系統(tǒng)概念數(shù)據(jù)模型 9 4.2.2系統(tǒng)物理數(shù)據(jù)模型 10 4.3數(shù)據(jù)庫(kù)設(shè)計(jì) 10 第5章 詳細(xì)設(shè)計(jì) 13 5.1 系統(tǒng)主流程 13 5.2 登錄注冊(cè) 14 5.2.1 用戶登錄 14 5.2.2 用戶注冊(cè) 16 5.3 用戶模塊 16 5.4 貼子模塊 17 5.4.1 版塊選擇 17 5.4.2學(xué)習(xí)版塊類型 18 5.4.3 娛樂版塊類型 19 5.4.4 查看選定類型下的所

8、有帖子 20 5.4.5 查看帖子信息 21 5.4.6 回復(fù)帖子信息 22 5.4.7 發(fā)貼新帖 22 5.4.8 查找用戶發(fā)表的貼子 23 5.5 管理員模塊 24 5.5.1 貼子加精 25 5.5.2 貼子置頂 25 5.5.3 貼子刪除 26 5.5.4 用戶禁言 27 5.6 信息檢索模塊 28 第6章 系統(tǒng)測(cè)試 29 6.1測(cè)試方法 29 6.2測(cè)試目的 29 6.3主要模塊測(cè)試 29 總結(jié) 31 參考文獻(xiàn) 31 致謝 32 第1章 緒論 1.1研究背景 當(dāng)今,中國(guó)自己研發(fā)設(shè)計(jì)的論壇一般都是最古老的JSP model1類型的,這種類

9、型是控制層和表示層的組合,雖然它設(shè)計(jì)編寫起來很容易,但是它的可擴(kuò)展性和可維護(hù)性都非常不理想。這樣看來,這種論壇的發(fā)展空間是有限的,所以本次論壇將基于MVC模式進(jìn)行研發(fā)設(shè)。MVC框架是一種使用MVC(Model View Controller 模型-視圖-控制器)設(shè)計(jì)創(chuàng)建Web應(yīng)用程序的模式。Model表示應(yīng)用程序核心(比如數(shù)據(jù)庫(kù)記錄列表)。View顯示數(shù)據(jù)。Controller處理輸入。MVC的分層有利于對(duì)繁雜的應(yīng)用程序進(jìn)行有條不紊的管理。它具有耦合度低,可重用性高,生命周期成本低,部署快,可維護(hù)性高等好處,還有利于軟件工程化的管理。MVC分層還能簡(jiǎn)化分組開發(fā)。 另外,與使用ASP進(jìn)行頁(yè)面顯

10、示的一般論壇相比,本論壇使用JSP來顯示頁(yè)面。JSP的好處十分明顯:運(yùn)行速度快,運(yùn)行耗損較小,容易掌握,支持多平臺(tái),擴(kuò)展性好,安全性好,支持XML等。JSP將Web邏輯與Web設(shè)計(jì)顯示分離,支持可重用的基于組件的設(shè)計(jì),并使基于Web的應(yīng)用程序的研發(fā)變得快速而簡(jiǎn)單。 在功能方面,本論壇分為專業(yè)學(xué)習(xí)部分和娛樂部分,以實(shí)現(xiàn)工作與休息相結(jié)合的目的。 1.2國(guó)內(nèi)外的發(fā)展現(xiàn)狀 論壇是在上個(gè)世紀(jì)70年代的美國(guó)發(fā)源起來的,它當(dāng)時(shí)的用途是進(jìn)行成員之間的信息交流和網(wǎng)絡(luò)通信,那時(shí)候是沒有瀏覽器、搜索引擎和個(gè)人網(wǎng)站的。當(dāng)時(shí),論壇一般有四個(gè)大體的作用:發(fā)布新聞,發(fā)布交易信息,發(fā)布個(gè)人感受,以及互動(dòng)問答。 近年來

11、,人們一直在密切關(guān)注這論壇本身的研究。盡管通過對(duì)其進(jìn)一步的研究成果使得這種研究呈現(xiàn)出相對(duì)下降的趨勢(shì),但其在各組織開展的研究中所占比例仍然很強(qiáng)。 2010年由中國(guó)網(wǎng)絡(luò)咨詢公司和中國(guó)互聯(lián)網(wǎng)電子峰會(huì)組委會(huì)共同主辦的第二屆中國(guó)互聯(lián)網(wǎng)電子商務(wù)峰會(huì)在北京舉行。2010年中國(guó)網(wǎng)民社交網(wǎng)站應(yīng)用研究報(bào)告顯示,截至2010年12月,在眾多類型的社交網(wǎng)站中,論壇的用戶規(guī)模達(dá)2.35億人,活躍用戶規(guī)模約為1.5億人,年增用戶人數(shù)達(dá)5918萬(wàn)人,年增長(zhǎng)率33.7%。 論壇已成為人們生活中不可或缺的組成成分,校園論壇對(duì)學(xué)生的影響力很強(qiáng)。中國(guó)有名的校園論壇有北京大學(xué)未名論壇,清華大學(xué)水木社區(qū)等??偟膩碚f,中國(guó)校園論壇

12、普及率高、影響深刻并且注重管理。 1.3 本課題的主要研究?jī)?nèi)容 這個(gè)校園論壇采用MVC模式進(jìn)行開發(fā)。 MVC通常是企業(yè)級(jí)應(yīng)用程序的開發(fā)模式。它具有低耦合高內(nèi)聚、可維護(hù)性強(qiáng)、高可重用性、有利于軟件工程化等好處。 通過系統(tǒng)分析,需求分析,初步總結(jié)設(shè)計(jì),本項(xiàng)目采用MyEclipse,MySQL,Tomcat等工具,和SSH框架等技術(shù)進(jìn)行進(jìn)一步的設(shè)計(jì)。經(jīng)過認(rèn)真細(xì)致的系統(tǒng)測(cè)試來完成需求分析功能。 本次校園論壇的整體要求是能夠進(jìn)行會(huì)員的登錄、發(fā)布信息、回復(fù)、管理員的管理功能、帖子搜索功能等,使系統(tǒng)結(jié)構(gòu)清晰、界面簡(jiǎn)潔美觀、操作簡(jiǎn)單、易于學(xué)習(xí)和使用,并且查詢靈活便利和數(shù)據(jù)存儲(chǔ)安全可靠,使這個(gè)論壇能夠讓

13、成員進(jìn)行娛樂和學(xué)習(xí)。 第2章開發(fā)工具以及開發(fā)技術(shù)簡(jiǎn)介 2.1 MyEclipse軟件簡(jiǎn)介 MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Ecli pseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernat。 MyEclipse 是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2

14、EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉fMyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。 2.2 Tomcat介紹 Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。

15、由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。 Tomcat是一個(gè)應(yīng)用服務(wù)器。可以運(yùn)行你按照J(rèn)2EE中的Servlet規(guī)范編寫好的Java程序。簡(jiǎn)單的說它是一個(gè)Web網(wǎng)站的運(yùn)行容器,把你寫好的網(wǎng)站放進(jìn)去就可以運(yùn)行。 2.3 SSH架構(gòu)介紹 Spring是一個(gè)開源框架,Spring是于2003 年興起的一個(gè)輕量級(jí)的J

16、ava 開發(fā)框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 Struts 2是Struts的下一代產(chǎn)品,是在 struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Str

17、uts 1的體系結(jié)構(gòu)差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開,所以Struts 2可以理解為WebWork的更新產(chǎn)品。雖然從Struts 1到Struts 2有著太大的變化,但是相對(duì)于WebWork,Struts 2的變化很小。 Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Ser

18、vlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 2.4 JSP介紹 JSP全名為Java Server Pages,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語(yǔ)法中的java擴(kuò)張(以 <%, %>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫(kù)

19、、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。 通常JSP頁(yè)面很少進(jìn)行數(shù)據(jù)處理,只是用來實(shí)現(xiàn)網(wǎng)頁(yè)的靜態(tài)化頁(yè)面,只是用來提取數(shù)據(jù),不會(huì)進(jìn)行業(yè)務(wù)處理。 2.5 數(shù)據(jù)庫(kù)介紹 MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高

20、了靈活性。MySQL所使用的SQL語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。 第3章系統(tǒng)分析 3.1 系統(tǒng)分析的任務(wù)與步驟 系統(tǒng)分析的目的是要認(rèn)識(shí)到用戶在功能、性能、外觀等方面的要求,并記下用戶的需求來進(jìn)行分析報(bào)告的撰寫。用很多統(tǒng)一的圖表和文字來盡力邏輯模型,以實(shí)現(xiàn)系統(tǒng)所需要的功能。系統(tǒng)分析的一般步驟為: (1) 在詳細(xì)調(diào)查的基礎(chǔ)上,用一定的圖標(biāo)、文字描述。 (2) 分析用戶新的要求,改進(jìn)現(xiàn)行模

21、型,形成新系統(tǒng)的邏輯模型。 (3) 編寫系統(tǒng)分析說明書。 3.2 系統(tǒng)可行性分析 3.2.1技術(shù)可行性 技術(shù)可行性就是對(duì)我們現(xiàn)存的技術(shù)條件進(jìn)行分析,判斷是否能夠成功完成開發(fā)工作,軟件和硬件是否能滿足基本的要求。該校園論壇基于MVC模型,利用SSH框架開發(fā)美觀并且好用的界面,方便了用戶的理解和操作。使用MySQL的數(shù)據(jù)庫(kù)管理系統(tǒng),可以對(duì)大量的數(shù)據(jù)進(jìn)行處理,并且保持?jǐn)?shù)據(jù)的完整與安全。 3.2.2經(jīng)濟(jì)可行性 課題設(shè)計(jì)的校園論壇使用的工具為MyEclipse、Tomcat等都是免費(fèi)軟件。數(shù)據(jù)庫(kù)采用 MySQL,用B/S模式,都十分方便便宜,完全可行。 3.2.3操作可行性 界面

22、設(shè)計(jì)簡(jiǎn)潔明了,用戶可以輕松理解和使用。 3.3 系統(tǒng)需求分析 3.3.1系統(tǒng)功能模型 功能模型本質(zhì)上是一個(gè)用戶需求模型,描述了系統(tǒng)可以做什么,即定義了系統(tǒng)的功能,性能,接口和接口。因此,功能模型反映了系統(tǒng)的功能需求,這是用戶界面模型設(shè)計(jì)的主要依據(jù)。 本次設(shè)計(jì)的系統(tǒng)是基于MVC模式的校園論壇。它采用B/S結(jié)構(gòu)的開發(fā)模式,其開發(fā)主要包括數(shù)據(jù)庫(kù)的建立和維護(hù)、普通用戶功能以及管理員功能的開發(fā)等幾個(gè)方面。 本校園論壇分為兩類角色:普通用戶以及管理員用戶。管理員和普通用戶都有的功能登錄,個(gè)人信息修改,發(fā)表帖子,瀏覽貼子,回復(fù)帖子,查看自己發(fā)表的所有帖子,以及能夠通過關(guān)鍵字來搜索貼子的功能

23、。管理員比普通用戶多存在的功能有貼子的置頂,加精,刪除,以及限制用戶發(fā)言。依照這些功能研究,本次課題的用例圖如圖所示。 1校園論壇用例圖 3.3.1系統(tǒng)用例說明 本次課題設(shè)計(jì)的校園論壇詳細(xì)的用例說明為: (1) 登錄:注冊(cè)用戶可以通過在登錄頁(yè)面上輸入用戶名,密碼和驗(yàn)證碼來登錄。如果您尚未注冊(cè),則登錄失敗。 (2) 注冊(cè):未在此論壇注冊(cè)的用戶可以現(xiàn)在進(jìn)行注冊(cè)。注冊(cè)后,可以使用注冊(cè)完成的帳戶來登錄。管理員帳戶是固定的,無(wú)需注冊(cè)。 (3) 修改:用戶登錄后,可以修改基本信息,如修改密碼。 (4) 發(fā)表帖子:登錄用戶可以發(fā)布帖子,未登錄的用戶無(wú)法發(fā)布。 (5) 瀏覽貼子:已登錄的用

24、戶可以瀏覽帖子。 (6) 回復(fù)帖子:已登錄的用戶可以進(jìn)行回復(fù)帖子。 (7) 查看本人所有貼子:已登錄的用戶可以查看自己發(fā)表過的所有帖子。 (8) 貼子檢索:已登錄用戶根據(jù)關(guān)鍵詞可以檢索出論壇相匹配的發(fā)表過的貼子。 (9) 貼子加精:管理員具有給貼子加精的權(quán)限。 (10) 貼子置頂:管理員具有給帖子置頂?shù)臋?quán)限,貼子置頂之后,就會(huì)顯示在列表的最上一行。 (11) 帖子刪除:管理員具有刪除帖子的功能。普通用戶登錄之后,刪除標(biāo)志不顯示,無(wú)法刪除帖子。 (12) 用戶禁言:管理員可以對(duì)特定的用戶拉黑,使其禁言,禁言之后用戶無(wú)法發(fā)表帖子以及恢復(fù)貼子。 第4章系統(tǒng)概要設(shè)計(jì) 4.

25、1 系統(tǒng)整體框架結(jié)構(gòu) 本論壇主要有兩大版塊(娛樂版塊、學(xué)習(xí)版塊),用戶或者管理員登錄之后可以選擇版塊,通過對(duì)以上用例圖的分析,每個(gè)版塊由四大模塊構(gòu)成分別,用戶模塊、貼子模塊、管理員模塊、信息檢索模塊,其整體框架圖如圖所示。 系統(tǒng)整體框架 系統(tǒng)各個(gè)功能模塊的分析如下: (1)登錄注冊(cè)模塊:該模塊可以為普通用戶實(shí)現(xiàn)登錄注冊(cè),可以進(jìn)行管理員登錄。普通用戶或管理員都可以在登錄后選擇喜歡的部分(娛樂部分和專業(yè)學(xué)習(xí)部分)。 (2)用戶信息模塊:此模塊可以實(shí)現(xiàn)登錄用戶的個(gè)人信息修改。 (3)貼子模塊:該模塊可以實(shí)現(xiàn)帖子發(fā)布和發(fā)布回復(fù)的功能。注冊(cè)用戶登錄后,在相應(yīng)的部分中,可以發(fā)布新帖子。在用

26、戶發(fā)布新帖子后,用戶可以查看用戶發(fā)布的所有帖子的列表,用戶可以瀏覽其他人的帖子并回復(fù)其他人的帖子。 (4)管理員模塊:管理員對(duì)貼子進(jìn)行刪除、加精、置頂?shù)炔僮鳎?duì)特定的用戶進(jìn)行禁言操作。 (5)信息檢索模塊:此模塊允許用戶通過輸入關(guān)鍵字搜索過去發(fā)布的帖子并返回搜索結(jié)果。 4.2 系統(tǒng)數(shù)據(jù)模型 數(shù)據(jù)模型本質(zhì)上是實(shí)體或類的狀態(tài)關(guān)系模型,用于描述系統(tǒng)之前的數(shù)據(jù)來源,工作中的數(shù)據(jù)臨時(shí)存儲(chǔ)的位置,工作后的數(shù)據(jù)放置位置,以及數(shù)據(jù)的狀態(tài)和彼此關(guān)聯(lián)的狀態(tài)。即對(duì)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行定義。因此,數(shù)據(jù)模型反映了系統(tǒng)的數(shù)據(jù)關(guān)系,它是實(shí)體或類的狀態(tài)設(shè)計(jì)依據(jù)。若站在B/A/S三層結(jié)構(gòu)上看,數(shù)據(jù)模型就對(duì)應(yīng)

27、在數(shù)據(jù)層(數(shù)據(jù)庫(kù)服務(wù)器層)上建模。 信息系統(tǒng)中的數(shù)據(jù)模型分為概念數(shù)據(jù)模型CDM和物理數(shù)據(jù)模型PDM兩個(gè)層次。CDM就是數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),即E-R圖。PDM就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì),即物理表。有了CASE工具后,從CDM就可以自動(dòng)轉(zhuǎn)換為PDM,而且還可以自動(dòng)獲得主鍵索引、觸發(fā)器等[16]。數(shù)據(jù)模型設(shè)計(jì)是企業(yè)信息系統(tǒng)設(shè)計(jì)的中心環(huán)節(jié),數(shù)據(jù)模型建設(shè)是企業(yè)信息系統(tǒng)建設(shè)的基石,設(shè)計(jì)者與建設(shè)者萬(wàn)萬(wàn)不可粗心大意。 4.2.1系統(tǒng)概念數(shù)據(jù)模型 概念數(shù)據(jù)模型(簡(jiǎn)稱CDM)是數(shù)據(jù)庫(kù)設(shè)計(jì)的開始。在概念數(shù)據(jù)模型設(shè)計(jì)過程中,不需要考慮實(shí)際物理實(shí)現(xiàn)的細(xì)節(jié),只要考慮實(shí)體的屬性及實(shí)體之間的關(guān)系。通過建立概念數(shù)據(jù)模型可以進(jìn)行數(shù)

28、據(jù)圖形化、形象化,數(shù)據(jù)表設(shè)計(jì)的合法性檢查,為物理數(shù)據(jù)模型的設(shè)計(jì)提供基礎(chǔ)等[16]。 本系統(tǒng)的概念數(shù)據(jù)模型如圖所示。 概念數(shù)據(jù)模型 4.2.2系統(tǒng)物理數(shù)據(jù)模型 物理數(shù)據(jù)模型(簡(jiǎn)稱PDM)。基于特定DBMS,在概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型的基礎(chǔ)上進(jìn)行設(shè)計(jì)。由物理數(shù)據(jù)模型生成數(shù)據(jù)庫(kù),或?qū)?shù)據(jù)庫(kù)進(jìn)行逆向工程得到物理數(shù)據(jù)模型。 由概念數(shù)據(jù)模型(CDM)可以自動(dòng)轉(zhuǎn)化為物理數(shù)據(jù)模型(PDM),如圖所示。 物理數(shù)據(jù)模型 4.3數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)的規(guī)劃和設(shè)計(jì)在整個(gè)軟件工程中占有非常重要的地位,它在整個(gè)系統(tǒng)中不但起著存儲(chǔ)各種信息,供統(tǒng)計(jì)、查詢、分析等使用的作用,而且協(xié)調(diào)各個(gè)子系統(tǒng)之

29、間的數(shù)據(jù)接口。數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)具有合理性、規(guī)范性以及適應(yīng)性,數(shù)據(jù)庫(kù)之間的關(guān)系及設(shè)置直接關(guān)系到系統(tǒng)的優(yōu)劣。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)首先需要充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求。為了提高系統(tǒng)開發(fā)的質(zhì)量和效率,基礎(chǔ)數(shù)據(jù)管理和查詢維護(hù)子系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)遵循以下原則: (1) 層次分明,布局合理 數(shù)據(jù)庫(kù)系統(tǒng)必須層次分明,合理布局,數(shù)據(jù)信息進(jìn)行濃縮、歸納、合并,減少冗余,提高數(shù)據(jù)共享程度。 (2) 保證數(shù)據(jù)結(jié)構(gòu)化、規(guī)范化、編碼標(biāo)準(zhǔn)化 這是建立數(shù)據(jù)庫(kù)系統(tǒng)和進(jìn)行業(yè)務(wù)部門內(nèi)、外信息交換的基礎(chǔ)。在每一個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)之前都有一個(gè)充分的、詳細(xì)的數(shù)據(jù)分析、數(shù)據(jù)格式及較為統(tǒng)一的編碼,為

30、減少數(shù)據(jù)的冗余量,應(yīng)盡量避免數(shù)據(jù)庫(kù)結(jié)構(gòu)的重復(fù),并保證整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的完整性。 (3) 數(shù)據(jù)的獨(dú)立性和可擴(kuò)展性 做到數(shù)據(jù)庫(kù)的數(shù)據(jù)具有獨(dú)立性,獨(dú)立于應(yīng)用程序,使數(shù)據(jù)庫(kù)的設(shè)計(jì)及其結(jié)構(gòu)的變化不影響程序,反之亦然。此外,由于業(yè)務(wù)也是在不斷變化的,所以數(shù)據(jù)庫(kù)設(shè)計(jì)需考慮其擴(kuò)展接口,使系統(tǒng)增加新的應(yīng)用或新的需求時(shí),不會(huì)引起整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的重新改寫。 (4) 共享數(shù)據(jù)的完整性、正確性和一致性 應(yīng)充分考慮數(shù)據(jù)資源的共享,合理建立公共數(shù)據(jù)庫(kù)。采用數(shù)據(jù)庫(kù)分層管理,使不同層次的信息數(shù)據(jù)共享。另外,由于共享數(shù)據(jù)是面向多個(gè)程序或多個(gè)使用者的,多個(gè)用戶存取共享數(shù)據(jù)時(shí),必須保證數(shù)據(jù)的正確性和一致性。

31、 (5) 減少不必要的冗余 建立數(shù)據(jù)系統(tǒng)后,應(yīng)避免不必要的數(shù)據(jù)重復(fù)和冗余。 (6) 保證數(shù)據(jù)的安全可靠 數(shù)據(jù)庫(kù)是整個(gè)信息系統(tǒng)的核心,它的設(shè)計(jì)要保證其可靠性和安全性,不能因某一數(shù)據(jù)庫(kù)的故障導(dǎo)致整個(gè)系統(tǒng)的癱瘓。做好對(duì)數(shù)據(jù)庫(kù)訪問的授權(quán)設(shè)計(jì),對(duì)數(shù)據(jù)的非法訪問,病毒侵?jǐn)_和軟、硬盤故障破壞,采取相應(yīng)的保密措施。 通過上面對(duì)概念數(shù)據(jù)模型的分析,本系統(tǒng)共有6個(gè)實(shí)體,分別為用戶、貼子、娛樂版塊、學(xué)習(xí)版塊、回復(fù)、瀏覽,進(jìn)而設(shè)計(jì)出6張數(shù)據(jù)庫(kù)表。 用戶表 列名 數(shù)據(jù)類型 允許NULL值 主鍵 用戶ID Int(11) NO YES 用戶

32、名 Varchar(45) NO NO 密碼 Varchar(30) NO NO 是否管理員 Varchar(2) YES NO 郵箱 Varchar(45) YES NO 性別 Varchar(2) NO NO 電話 Varchar(20) YES NO 生日 Varchar(20) YES NO 注冊(cè)時(shí)間 datatime YES NO 學(xué)習(xí)版塊表 列名 數(shù)據(jù)類型 允許NULL值 主鍵 學(xué)習(xí)版類型ID Int(11) NO YES 貼子類型名稱 Varchar(255

33、) NO NO 貼子類型描述 Varchar(255) YES NO 娛樂版塊表 列名 數(shù)據(jù)類型 允許NULL值 主鍵 娛樂版類型ID Int(11) NO YES 貼子類型名稱 Varchar(255) NO NO 貼子類型描述 Varchar(255) YES NO 主貼表 列名 數(shù)據(jù)類型 允許NULL值 主鍵 貼子ID Int(11) NO YES 學(xué)習(xí)版類型ID Int(11) NO NO 娛樂版類型ID Int

34、(11) NO NO 用戶ID Int(11) NO NO 貼子標(biāo)題 Varchar(50) YES NO 貼子內(nèi)容 text YES NO 是否置頂 Varchar(2) YES NO 是否加精 Varchar(2) YES NO 上次更新時(shí)間 datatime YES NO 回帖表 列名 數(shù)據(jù)類型 允許NULL值 主鍵 回復(fù)ID int(11) NO YES 用戶ID Int(11) NO NO 貼子ID Int(11) NO NO 回復(fù)內(nèi)容 text YES

35、 NO 回復(fù)時(shí)間 datetime YES NO 瀏覽貼子表 列名 數(shù)據(jù)類型 允許NULL值 主鍵 瀏覽ID Int(11) NO YES 瀏覽時(shí)間 datetime YES NO 貼子ID Int(11) YES NO 第5章 詳細(xì)設(shè)計(jì) 5.1 系統(tǒng)主流程 用戶登錄后,選擇版塊,進(jìn)入版塊之后,進(jìn)行一系列操作。流程圖為 系統(tǒng)主流程圖 5.2 登錄注冊(cè) 此模塊可以實(shí)現(xiàn)會(huì)員登錄,會(huì)員注冊(cè),會(huì)員可以通過此模塊對(duì)論壇進(jìn)行登錄,登錄后便可以使用所有的會(huì)員功能。 沒有會(huì)員帳號(hào)的用戶

36、,可以通過此模塊注冊(cè)會(huì)員信息,添加成功后便可登錄論壇,使用會(huì)員的功能。 5.2.1 用戶登錄 用戶登錄界面如圖所示。 用戶登錄界面 部分主要代碼如下: public User login(User user) { String hql = "from User where userName='" + user.getUserName() + "' and password='" + user.getPassword() + "'"; List list = this.getHibernateTemplate().find(h

37、ql); if (list != null && list.size() > 0) { return (User) list.get(0); } else { return null; } } function login() { if ($.trim($('#userName').val()) == '') { alert('用戶名不能為空'); return; } if ($.trim($('#password').val()) == '') {

38、 alert('密碼不能為空'); return; } var validate = $('#validate').text(); var validate_input = $('#validate_input').val(); if ($.trim(validate_input) == '') { alert('驗(yàn)證碼不能為空'); } if (validate != validate_input) { alert('驗(yàn)證碼不對(duì),請(qǐng)重新輸入');

39、 return; } loginForm.submit(); } 5.2.2 用戶注冊(cè) 用戶注冊(cè)頁(yè)面如圖所示。 用戶注冊(cè)頁(yè)面 部分主要代碼如下: public String addUser() { user.setRegisterTime(new Date()); user.setIsAdmin("0"); userDao.addUser(user); this.setCurrUser(user); this.setMsg("個(gè)人注冊(cè)成功!"); return "toSuccessPage";

40、 } 5.3 用戶模塊 用戶修改界面如圖所示。 用戶修改界面 主要代碼如下: public String toUpdatePage() { User user = this.getCurrUser(); this.user = this.userDao.querySingleUser(user.getUserId()); return "toUpdatePage"; } public void updateUser(User user) { this.update(user); }

41、 5.4 貼子模塊 5.4.1 版塊選擇 版塊選擇界面如圖所示。 版塊選擇界面 主要代碼如下所示: public String enterMyBlock(){ return "toMyBlockPage"; }

42、

5.4.2學(xué)習(xí)版塊類型 學(xué)習(xí)版塊界面如圖所示。 學(xué)習(xí)版塊界面 主要代碼如下: public S

43、tring studyForum() { isStudyPart = true; studyArticleTypesList = articleDao.queryAllStudyArticleType(); return "studyForum"; } public List queryAllStudyArticleType() { return this.getCriteria(StudyArticleType.class).list(); } 5.4.3 娛樂版塊類型 娛樂版塊

44、界面如圖所示。 娛樂版塊界面 主要代碼如下: public String entertainmentForum(){ isEntertainmentPart = true; entertainmentArticleTypesList = articleDao.queryAllEntertainmentArticleType(); return "entertainmentForum"; } PublicList queryAllEntertainmentArticleType() { r

45、eturn this.getCriteria(EntertainmentArticleType.class).list(); } 5.4.4 查看選定類型下的所有帖子 查看選定類型下帖子的界面如圖所示(以學(xué)習(xí)版塊為例)。 查看選定類型下帖子 主要代碼如下: public List

findArticlesByType(String type, String firstResult,String maxResults) { int first = new Integer(firstResult).intValue(); int

46、max = new Integer(maxResults).intValue(); Criteria criteria = this.getCriteria(Article.class); List

list = criteria.add( Restrictions.eq("articleTypeName", type)).addOrder( Order.desc("lastUpdateTime")).list(); return list; } 5.4.5 查看帖子信息 查看帖子詳細(xì)信息界面(以學(xué)習(xí)版塊為例)如圖所示

47、。 查看帖子詳細(xì)信息 主要代碼如下: public String querySingleArticle() { this.article = articleDao.querySingleArticle(this.article .getArticleId().toString()); return "singleArticle"; } public Article querySingleArticle(String articleId) { String hql = "from Article where articleId=

48、" + articleId; return (Article) this.find(hql).get(0); } 5.4.6 回復(fù)帖子信息 回復(fù)帖子界面(以學(xué)習(xí)版塊為例)如圖所示。 回復(fù)帖子 主要代碼如下所示: public String addReply() { User currUser = this.getCurrUser(); if (currUser == null) { JSONKit.outJSONInfo("{success:false,msg:'你還沒有登錄,不能回復(fù)'}"); return NONE;

49、 } this.reply.setReplyTime(new Date()); this.replyDao.addReply(reply); JSONKit.outJSONInfo("{success:true,'userName':'" + currUser.getUserName() + "','replyTime':'" + this.getNowTime() + "','content':'" + this.getReply().getContent() + "'}"); } 5.4.7 發(fā)貼新帖 發(fā)表新帖界面(以

50、學(xué)習(xí)版塊為例)如圖所示。 發(fā)表新帖 主要代碼如下: public String addStudyArticle() { User user = new User(); user.setUserId(this.getCurrUser().getUserId()); this.article.setUser(user); this.article.setEmitTime(new Date()); this.article.setLastUpdateTime(new Date()); this.articleDao.addStudyArticle(artic

51、le); this.myArticles = this.articleDao.queryAllArticleByUser(user, this .getFirstResult(), this.getMaxResults()); return "myArticle"; } 5.4.8 查找用戶發(fā)表的貼子 查找用戶發(fā)表帖子界面如圖所示。 查找用戶發(fā)表帖子 主要代碼如下: public String getArticlesByUserId() { this.searchArticles = this.ar

52、ticleDao.getArticlesByUserId(this.user .getUserId().toString()); return "userArticle"; } public List

getArticlesByUserId(String userId) { Criteria criteria = this.getCriteria(Article.class); criteria.add(Restrictions.eq("user.userId", userId)); return criteria.list();}

53、 5.5 管理員模塊 管理員登錄論壇查看帖子列表,顯示的界面與普通用戶顯示界面不同。不同之處有是否有加精或者置頂?shù)倪x項(xiàng),而且管理員具有可以禁言用戶的功能,具有查看所有用戶列表的選項(xiàng)。普通用戶登錄時(shí)帖子列表如圖所示。 普通用戶登錄時(shí)帖子列表 而管理員登錄論壇查看帖子列表,會(huì)有加精,置頂以及查看所有用戶列表的的選項(xiàng)。如圖5-14所示。 管理員登錄時(shí)帖子列表 5.5.1 貼子加精 管理員具有給帖子加精的權(quán)限,界面如圖5-15所示。 帖子加精 代碼如下: public String setArticleBest(){

54、 return "isBest"; } public void setArticleBest(Article article) { Configuration config = new Configuration().configure(); SessionFactory factory = config.buildSessionFactory(); Session session = factory.openSession(); Transaction transaction = session.beginTransaction(); Query que

55、ry = session.createQuery(hql); int ret = query.executeUpdate(); mit(); } 5.5.2 貼子置頂 管理員具有給帖子置頂?shù)臋?quán)限,界面如圖所示。 帖子置頂 代碼如下: public void setArticleTop(Article article) { // TODO Auto-generated method stub String hql = "update Article set is_top =1 where articleId="+art

56、icle.getArticleId(); Configuration config = new Configuration().configure(); SessionFactory factory = config.buildSessionFactory(); Session session = factory.openSession(); Transaction transaction = session.beginTransaction(); Query query = session.createQuery(hql); int ret = quer

57、y.executeUpdate(); mit();} 5.5.3 貼子刪除 管理員具有刪除帖子的功能,帖子刪除界面如圖5-17所示。 貼子刪除 代碼如下所示: public String deleteArticle() { articleDao.deleteArticle(this.article); //刪除所選文章 User user = new User(); user.setUserId(this.getCurrUser().getUserId()); //取出當(dāng)前用戶

58、 this.article.setUser(user); this.myArticles = this.articleDao.queryAllArticleByUser(user, this .getFirstResult(), this.getMaxResults()); return "myArticle"; } public void deleteArticle(Article article) { this.delete(Article.class, article.getArticleId()); } 5.5.4 用戶禁言 管理

59、員具有禁言用戶的功能,禁言界面如圖所示。 用戶禁言 具體代碼如下所示: public void deleteUserById(Integer userId){ String hql="update User set isLock='1' where userId="+userId; Configuration config = new Configuration().configure(); SessionFactory factory = config.buildSessionFactory(); Session session = f

60、actory.openSession(); Transaction transaction = session.beginTransaction(); Query query = session.createQuery(hql); int ret = query.executeUpdate(); mit(); } 5.6 信息檢索模塊 信息檢索模塊界面如圖所示。 信息檢索 代碼如下所示: public String doSearch() { if (searchStr != null) { searchStr

61、 = searchStr.trim(); } String type = this.article == null ? null : this.article .getArticleTypeName(); this.searchArticles = this.articleDao.doSearch(type, searchStr, this .getFirstResult(), this.getMaxResults()); return "searchResult"; } public List

doSearch(String

62、 type, String str, String firstResult,String maxResults) { int first = new Integer(firstResult).intValue(); int max = new Integer(maxResults).intValue(); Criteria criteria = this.getCriteria(Article.class); if (type != null && !type.equals("")) { criteria.add(Restrictions.eq("article

63、TypeName", type)); } List

list = criteria.list(); return list; } 第6章 系統(tǒng)測(cè)試 6.1測(cè)試方法 隨著軟件測(cè)試技術(shù)的發(fā)展,測(cè)試方法變得越來越多,針對(duì)性更強(qiáng);選擇合適的軟件測(cè)試方法可以讓我們用更少的資源做更多事情。下面介紹兩種比較常用的軟件測(cè)試方法:黑盒測(cè)試和白盒測(cè)試。 黑盒測(cè)試也稱作數(shù)據(jù)驅(qū)動(dòng)測(cè)試或功能測(cè)試,它檢測(cè)每個(gè)功能是否都能正常是通過測(cè)試來實(shí)現(xiàn)的,這是建立在已知產(chǎn)品所應(yīng)具有的功能的基礎(chǔ)上的。黑盒測(cè)試注重于測(cè)試軟件的功能性需求,是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出

64、發(fā)進(jìn)行測(cè)試的。 白盒測(cè)試又稱為邏輯驅(qū)動(dòng)測(cè)試或結(jié)構(gòu)測(cè)試,為了確定實(shí)際的狀態(tài)與預(yù)期的狀態(tài)是否一致,它通過在不同點(diǎn)檢查程序的狀態(tài)。白盒測(cè)試就是將測(cè)試對(duì)象看做成一個(gè)透明的盒子,并且允許測(cè)試人員調(diào)用程序內(nèi)部的有關(guān)信息及邏輯結(jié)構(gòu),設(shè)計(jì)或選擇測(cè)試用例,可以對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。 6.2測(cè)試目的 軟件測(cè)試是程序的一種執(zhí)行過程,目的是為了能夠最大可能的發(fā)現(xiàn)測(cè)試軟件中的錯(cuò)誤并且可以將其改正,使軟件的可靠性得到提高。軟件工程是將有限的人力和物理資源得到充分利用,高效高品質(zhì)的完成軟件開發(fā)項(xiàng)目作為總目標(biāo)。不足的測(cè)試會(huì)將一些未揭露的錯(cuò)誤隱藏在軟件中投入運(yùn)行,這將意味著用戶將承擔(dān)更大的危險(xiǎn)。到測(cè)試后期,即使找到

65、了錯(cuò)誤,然而付出了過高的代價(jià)。因此,在軟件開發(fā)的過程中選擇正確的測(cè)試方法尤為重要。 6.3主要模塊測(cè)試 本論壇論壇測(cè)試主要包括用戶模塊的登錄/注冊(cè)測(cè)試,因?yàn)橹挥杏脩舻卿洸拍軐?shí)現(xiàn)貼子模塊的發(fā)貼回帖等操作。 登錄/注冊(cè)模塊測(cè)試 測(cè)試表 測(cè)試項(xiàng)目 測(cè)試用例 測(cè)試結(jié)果 操作流程 用戶登錄 輸入用戶名:蜜桃炒蝦仁 輸入密碼:jj991725 輸入驗(yàn)證碼:46785 登錄成功 點(diǎn)擊登錄 用戶登錄 輸入用戶名:蜜桃炒蝦仁 輸入密碼:jj1991725 輸入驗(yàn)證碼: 提示驗(yàn)證碼不能為空 點(diǎn)擊登錄 用戶登錄 輸入用戶名:草草 輸入密碼:caocao 輸入驗(yàn)證碼:1

66、1111 提示驗(yàn)證碼錯(cuò)誤 點(diǎn)擊登錄 用戶登錄 輸入用戶名:蜜桃 輸入密碼:jj1991725 輸入驗(yàn)證碼:13456 提示用戶不存在,請(qǐng)注冊(cè) 點(diǎn)擊登錄 用戶登錄 輸入用戶名:蜜桃炒蝦仁 輸入密碼:1991725 輸入驗(yàn)證碼:25873 提示密碼錯(cuò)誤 點(diǎn)擊登錄 論壇會(huì)員輸入正確的用戶名,密碼和驗(yàn)證碼后,單擊“登錄”進(jìn)入部分選擇界面,選擇相應(yīng)的部分并進(jìn)入發(fā)布區(qū)域。如果用戶已登錄,則會(huì)出現(xiàn)“發(fā)布新帖子”按鈕。如果用戶未登錄,則沒有“發(fā)布新帖子”按鈕。如圖所示。 版塊選擇 總結(jié) 本課題的系統(tǒng)建設(shè)是采用了MVC設(shè)計(jì)模式,并結(jié)合了SSH框架來進(jìn)行的。頁(yè)面顯示是用JSP中設(shè)計(jì)的。數(shù)據(jù)庫(kù)使用MySQL。基本上實(shí)現(xiàn)了用戶登錄和論壇注冊(cè),用戶發(fā)帖、回帖,管理員加精置頂?shù)裙δ堋? 本次校園論壇使用了MVC模式來進(jìn)行了模型層、視圖層、控制層的分離,代碼的耦合低,可維護(hù)性好。缺點(diǎn)是頁(yè)面不夠美觀,一些功能的進(jìn)行存在一定不足。并且MVC不適合小型或中型應(yīng)用程序的設(shè)計(jì),并且將MVC

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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