![基于struts2技術(shù)的跑步社區(qū)后臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3ebaa119-8240-49d8-a7a4-f55f0ef780c9/3ebaa119-8240-49d8-a7a4-f55f0ef780c91.gif)
![基于struts2技術(shù)的跑步社區(qū)后臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3ebaa119-8240-49d8-a7a4-f55f0ef780c9/3ebaa119-8240-49d8-a7a4-f55f0ef780c92.gif)
![基于struts2技術(shù)的跑步社區(qū)后臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3ebaa119-8240-49d8-a7a4-f55f0ef780c9/3ebaa119-8240-49d8-a7a4-f55f0ef780c93.gif)
![基于struts2技術(shù)的跑步社區(qū)后臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3ebaa119-8240-49d8-a7a4-f55f0ef780c9/3ebaa119-8240-49d8-a7a4-f55f0ef780c94.gif)
![基于struts2技術(shù)的跑步社區(qū)后臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/3ebaa119-8240-49d8-a7a4-f55f0ef780c9/3ebaa119-8240-49d8-a7a4-f55f0ef780c95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于struts2技術(shù)的跑步社區(qū)后臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要struts是目前廣受歡迎的基于mvc的java web框架,hibernate則是java web開發(fā)中一個(gè)功能強(qiáng)大的持久化中間件。struts與hibernate相結(jié)合在b/s系統(tǒng)開發(fā)中有著廣泛的應(yīng)用。本網(wǎng)絡(luò)跑步社區(qū)系統(tǒng)的開發(fā),正是使用了它們。本系統(tǒng)采用的是模塊化設(shè)計(jì),并采用接口化編程思想降低模塊之間的耦合度。該系統(tǒng)主要采用struts框架,涉及到前臺(tái)頁(yè)面的展示,后臺(tái)與數(shù)據(jù)庫(kù)的交互,中間層業(yè)務(wù)邏輯的處理等。我所負(fù)責(zé)的是后臺(tái)方面的設(shè)計(jì)與實(shí)現(xiàn),用到了myeclipse開發(fā)工具,hibernate持久化中間件,以及servlet等技術(shù)。該系
2、統(tǒng)具備數(shù)據(jù)查詢、修改、增加、刪除等功能,實(shí)現(xiàn)了會(huì)員基本信息管理,短信息管理,好友管理,管理員后臺(tái)管理等模塊的全部功能。 系統(tǒng)具有界面直觀友好、操作簡(jiǎn)單的特點(diǎn),并且能夠承受多用戶同時(shí)上線,滿足了用戶在網(wǎng)絡(luò)交流方面的需求。關(guān)鍵詞 mvc模式;struts框架;hibernate;跑步社區(qū)the background system of running community web site based on the struts2 frameworkabstractstruts is a well-liked frame which on the basic of mvc at the presen
3、t time, and hibernate is a powerful persistent middleware in the development of java web. struts joins hibernate have widely applied in the development of b/s system.the running community system just used these technologies. the system adopts the modularity design and the mind of interface programmi
4、ng to reduce the coupling degree of each model.the system mainly uses the struts frame in the development. it references to the show of the front page, interaction with the database in the background, and dealing with the business-logic layer etc. i am responsible for the design and implementation o
5、f background management.i use myeclipse as the development tool, hibernate persistent middleware and servlet technology during my development process. the system have the function of querying data, modifying data, adding data, and deleteing data. it realize all the functions of four modules includin
6、g member information management, message management, friends management and manager background management. the system has friendly interface and simple operation, which can bear many users are online at the same time and satisfy users need on the matter of communicating online.keywords mvc; struts f
7、ramework; hibernate; running community目錄摘 要iabstractii1 緒 論11.1 開發(fā)背景11.2 開發(fā)意義11.3 開發(fā)環(huán)境11.3.1 開發(fā)語言11.3.2 開發(fā)工具11.3.3 開發(fā)框架21.3.4 struts2和 hibernate組合的優(yōu)點(diǎn)22 系統(tǒng)需求分析42.1 可行性研究分析42.1.1 理論可行性42.1.2 技術(shù)可行性分析42.1.3 經(jīng)濟(jì)可行性分析42.2 功能需求分析42.2.1 用戶自管理用例42.2.2 短信管理用例52.2.3 我的好友用例52.2.4 后臺(tái)管理用例63 總體設(shè)計(jì)73.1 系統(tǒng)模塊設(shè)計(jì)73.1.1 總
8、體設(shè)計(jì)框架73.1.2 用戶基本信息管理模塊設(shè)計(jì)框架73.1.3 短管理模塊設(shè)計(jì)框架83.1.4 聯(lián)系人管理模塊設(shè)計(jì)框架93.1.5 后臺(tái)管理模塊設(shè)計(jì)框架93.2 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)103.2.1 e-r圖103.2.2 各實(shí)體間的對(duì)應(yīng)關(guān)系圖113.3 數(shù)據(jù)庫(kù)具體表結(jié)構(gòu)的設(shè)計(jì)133.3.1 存放會(huì)員信息133.3.2 存放會(huì)員的個(gè)性化的信息143.3.3 存放會(huì)員級(jí)別的評(píng)判規(guī)則143.3.4 存放會(huì)員獲取積分的流水記錄153.3.5 存放積分動(dòng)作153.3.6 存放短信信息153.3.7 存放好友名單163.3.8 黑名單163.3.9 管理員信息164 系統(tǒng)詳細(xì)設(shè)計(jì)174.1 建立數(shù)據(jù)庫(kù)174.
9、2 建立連接174.3 配置模塊174.3.1 配置web.xml174.3.2 配置struts.xml184.3.3 配置service和dao 架構(gòu)204.4 日志設(shè)計(jì)204.4.1 配置日志模塊214.4.2 日志信息214.5 程序設(shè)計(jì)224.5.1 用戶登陸功能設(shè)計(jì)224.5.2 修改個(gè)人空間功能設(shè)計(jì)234.5.3 發(fā)送信息功能設(shè)計(jì)254.5.4 收件箱的功能設(shè)計(jì)264.5.5 查詢好友的功能設(shè)計(jì)284.6 對(duì)本社區(qū)的說明294.6.1 查詢數(shù)據(jù)庫(kù)的說明294.6.2 使用本社區(qū)的說明315 系統(tǒng)測(cè)試與維護(hù)325.1 軟件測(cè)試325.1.1 測(cè)試簡(jiǎn)介325.1.2 具體測(cè)試325.
10、1.3 測(cè)試結(jié)論365.2 運(yùn)行和維護(hù)36結(jié) 論37參考文獻(xiàn)38致 謝40外文原文41中文翻譯481 緒 論1.1 開發(fā)背景21世紀(jì)是科技信息高速發(fā)展的時(shí)代,計(jì)算機(jī)網(wǎng)絡(luò)作為這一時(shí)代重要的生產(chǎn)工具,給各個(gè)國(guó)家?guī)砹司薮蟮陌l(fā)展機(jī)遇,已經(jīng)被應(yīng)用于許多領(lǐng)域,尤其是在管理領(lǐng)域,它可以簡(jiǎn)化大量繁瑣的工作,提高工作效率,更重要的是能提高保密文件的安全性。為了在以用戶為中心的市場(chǎng)競(jìng)爭(zhēng)中獲勝,各單位須對(duì)不斷變化的市場(chǎng)做出快速反應(yīng),把單位各關(guān)鍵部門結(jié)合成一體,形成一個(gè)堅(jiān)強(qiáng)的信息共享共同體。國(guó)內(nèi)一些中小型企業(yè)為了提高自身的工作效率,適應(yīng)市場(chǎng)的需要,都實(shí)現(xiàn)了辦公自動(dòng)化。1.2 開發(fā)意義隨著計(jì)算機(jī)的發(fā)展和普及,它已經(jīng)成
11、為人們獲取信息的一種方便、快捷、有效的手段?,F(xiàn)在我國(guó)很多管理機(jī)構(gòu)信息的管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,必然被以計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。跑步社區(qū)站點(diǎn)系統(tǒng)是專門為運(yùn)動(dòng)愛好者提供的一個(gè)交流的平臺(tái),使跑步愛好者不需要進(jìn)行面對(duì)面的交流,只需在網(wǎng)上查看運(yùn)動(dòng)愛好者的個(gè)人空間,從而了解他人的跑步愛好習(xí)慣,如果與自己的愛好相同或相似,就可以加對(duì)方為好友,并且能夠發(fā)送短信息給自己的跑步好友。而且運(yùn)動(dòng)愛好者之間可以在運(yùn)動(dòng)論壇中交流彼此對(duì)運(yùn)動(dòng)的看法道出運(yùn)動(dòng)愛好者之間的心聲。除此之外本系統(tǒng)管理者還可以通過后臺(tái)管理對(duì)注冊(cè)的會(huì)員信息和積分進(jìn)行管理。1.3 開發(fā)環(huán)境1.3.1 開發(fā)語言
12、對(duì)hibernate語言簡(jiǎn)介及其優(yōu)點(diǎn):hibernate是一個(gè)數(shù)據(jù)持久層框架,是一種實(shí)現(xiàn)對(duì)象和關(guān)系之間映射(o/r mapping)的工具,它對(duì)jdbc進(jìn)行了輕量級(jí)的對(duì)象封裝,使程序員可以使用對(duì)象編程思想來操作數(shù)據(jù)庫(kù)。它不僅提供了從java類到數(shù)據(jù)表的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。相對(duì)于使用jdbc和sql來操作數(shù)據(jù)庫(kù),使用hibernate能大大的提高實(shí)現(xiàn)的效率。hibernate框架用配置文件的形式來定義java對(duì)象和數(shù)據(jù)表之間的映射關(guān)系,同時(shí)在更深的層面將數(shù)據(jù)表之間的關(guān)系解釋為java對(duì)象之間的繼承及包含等關(guān)系。通過使用hql語句將復(fù)雜的關(guān)系算法用對(duì)象的方式描述,在很大程度上簡(jiǎn)化了對(duì)
13、數(shù)據(jù)的查詢,加快了開發(fā)的效率。在hibernate中有一個(gè)簡(jiǎn)單而直觀的api,用于對(duì)數(shù)據(jù)庫(kù)所表示的對(duì)象執(zhí)行查詢。要?jiǎng)?chuàng)建或修改這些對(duì)象,只需在程序中與它們進(jìn)行交互,然后告訴hibernate保存即可。這樣,大量封裝持久化操作的業(yè)務(wù)邏輯不再需要編寫煩瑣的jdbc語句,從而使數(shù)據(jù)持久層得到了極大的簡(jiǎn)化。1.3.2 開發(fā)工具運(yùn)用myeclipse開發(fā)工具,該開發(fā)工具是eclipse的一個(gè)插件。eclipse本身就是一個(gè)功能非常強(qiáng)大的開發(fā)工具,而myeclipse在功能上與tomcat進(jìn)行了集成,并且能做到自動(dòng)打包,并將包自動(dòng)部署到服務(wù)器上。這從很大程度上提高了開發(fā)的效率,節(jié)約了開發(fā)的時(shí)間。myecli
14、pse提供了對(duì)多重平臺(tái)特性的支持。開發(fā)者可以使用他們感覺最舒適、最熟悉的平臺(tái),例如windows、linux等。eclipse對(duì)每個(gè)平臺(tái)都有其單獨(dú)的圖形工具包,這使得應(yīng)用程序具有接近本地操作系統(tǒng)的外觀和更好的性能。1.3.3 開發(fā)框架用struts2實(shí)現(xiàn)mvc架構(gòu)。mvc(model-view-controller)由trygve reenskaug提出,首先被應(yīng)用在smalltalk-80環(huán)境中,是許多交互和界面系統(tǒng)的構(gòu)成基礎(chǔ)。根據(jù)界面設(shè)計(jì)可變性的需求,mvc把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。模型(model)是軟件所處理問題邏輯在獨(dú)立外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,封裝了
15、問題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,獨(dú)立于具體的界面表達(dá)和i/o操作。視圖(view)把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用戶。它從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示形式或視圖??刂破鳎╟ontroller)是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。通常一個(gè)視圖對(duì)應(yīng)一個(gè)控制器。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都
16、應(yīng)反映到這些變化。因此,無論 何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化傳播機(jī)制。struts2是struts社區(qū)和webwork社區(qū)的共同成果,我們甚至可以說,struts2是webwork的升級(jí)版,他采用的正是webwork的核心,所以,struts2并不是一個(gè)不成熟的產(chǎn)品,相反,構(gòu)建在webwork基礎(chǔ)之上的struts2是一個(gè)運(yùn)行穩(wěn)定、性能優(yōu)異、設(shè)計(jì)成熟的web框架。1.3.4 struts2和 hibernate組合的優(yōu)點(diǎn)典型的j2ee三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)
17、等工作放在中間層處理??蛻舳瞬恢苯优c數(shù)據(jù)庫(kù)交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。 表現(xiàn)層是傳統(tǒng)的jsp技術(shù),其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅(jiān)實(shí)的基礎(chǔ)。 中間層采用的hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種。 web層,就是mvc模式里面的“c”(controller),負(fù)責(zé)控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的mvc框架采用struts。 service層(就是業(yè)務(wù)邏輯層),負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以dao層為基礎(chǔ),通過對(duì)dao組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯
18、。 dao層,負(fù)責(zé)與持久化對(duì)象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。 一個(gè)良好的框架可以讓開發(fā)人員減輕重新建立解決復(fù)雜問題方案的負(fù)擔(dān)和精力;它可以被擴(kuò)展以進(jìn)行內(nèi)部的定制化;并且有強(qiáng)大的用戶社區(qū)來支持它??蚣芡ǔD芎芎玫慕鉀Q一個(gè)問題。然而,你的應(yīng)用是分層的,可能每一個(gè)層都需要各自的框架。僅僅解決ui問題并不意味著你能夠很好的將業(yè)務(wù)邏輯和持久性邏輯和ui 組件很好的耦合。 在傳統(tǒng)的model 1的程序結(jié)構(gòu)中,只要有一點(diǎn)小的需求發(fā)生改變,將意味著放棄整個(gè)頁(yè)面?;蛘吒膶?。雖然前期的開發(fā)速度快,除非可以保證以后永遠(yuǎn)不會(huì)改變應(yīng)用的結(jié)構(gòu),否則不要采用model 1的結(jié)構(gòu)。 采用hibernate作為持
19、久層技術(shù)的最大的好處在于:可以完全以面向?qū)ο蟮姆绞竭M(jìn)行系統(tǒng)分析、系統(tǒng)設(shè)計(jì)。 歸納起來,網(wǎng)絡(luò)跑步愛好者社區(qū)系統(tǒng)的開發(fā)與運(yùn)行環(huán)境如下:采用b/s架構(gòu);服務(wù)器操作系統(tǒng):windows server;數(shù)據(jù)庫(kù)服務(wù)器:oracle 10g;web服務(wù)器:tomcat;開發(fā)工具:myeclipse軟件開發(fā)技術(shù):前臺(tái)界面 jsp, html,javascript,css后臺(tái)系統(tǒng) hibernate ,struts,servlet2 系統(tǒng)需求分析2.1 可行性研究分析2.1.1 理論可行性該系統(tǒng)是網(wǎng)上的一個(gè)虛擬平臺(tái),能夠模擬現(xiàn)實(shí)中的交流過程,并且展示個(gè)人的風(fēng)采,滿足廣大運(yùn)動(dòng)愛好者的需求。同時(shí)也為商家展示自己的產(chǎn)
20、品,獲取用戶需求提供了方便。不管對(duì)那個(gè)用戶群體來說都起了很好的橋梁作用,一旦推出必將受到商家與個(gè)人的追捧。2.1.2 技術(shù)可行性分析運(yùn)用myeclipse開發(fā)工具,該開發(fā)工具是eclipse的一個(gè)插件。eclipse本身就是一個(gè)功能非常強(qiáng)大的開發(fā)工具,而myeclipse在功能上與tomcat進(jìn)行了集成,并且能做到自動(dòng)打包,并將包自動(dòng)部署到服務(wù)器上。這從很大程度上提高了開發(fā)的效率,節(jié)約了開發(fā)的時(shí)間。2.1.3 經(jīng)濟(jì)可行性分析網(wǎng)上運(yùn)動(dòng)社區(qū)的創(chuàng)建,降低了商家成本,擴(kuò)大了客戶資源,打破了地域的界限,方便了人們的需要。所以,不論是商家還是客戶都是比較喜歡這種方式的。可以判定運(yùn)動(dòng)社區(qū)還是比較有前景的???/p>
21、行性分析的目的,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。通過需求階段對(duì)該系統(tǒng)的可行性進(jìn)行了徹底分析,隨著計(jì)算機(jī)硬件的發(fā)展,各項(xiàng)功能日趨完善,使用myeclipse、oracle10g開發(fā)此系統(tǒng)無論從技術(shù)上、經(jīng)濟(jì)上、硬件上和操作上都是可行的。2.2 功能需求分析結(jié)合“基于struts2的跑步社區(qū)”的用戶信息,切實(shí)了解跑步運(yùn)動(dòng)愛好者們對(duì)整個(gè)系統(tǒng)期望具有的功能,分析所有收集的信息特點(diǎn),決定系統(tǒng)具有會(huì)員信息管理,短信管理,好友管理,管理員后臺(tái)管理等功能模塊。2.2.1 用戶自管理用例1.注冊(cè)新用戶描述:用戶在新用戶信息頁(yè)面上輸入詳細(xì)信息,提交到服務(wù)器,結(jié)果是將信息保存到數(shù)據(jù)庫(kù)。參與者:
22、用戶。主方式:從瀏覽器上選擇注冊(cè)新用戶鏈接進(jìn)入到注冊(cè)界面。異常方式:用戶提交新用戶信息后,服務(wù)器發(fā)現(xiàn)用戶登錄名已經(jīng)存在用戶提交的信息不完整。2.認(rèn)證用戶描述:用戶輸入登錄名和密碼,提交到服務(wù)器,其結(jié)果是服務(wù)器驗(yàn)證輸入信息,并將登錄信息存放到會(huì)話狀態(tài)中。如果用戶選擇了自動(dòng)登陸,將用戶信息保存到cookie中,實(shí)現(xiàn)自動(dòng)登陸功能。參與者:用戶。前提:用戶已經(jīng)注冊(cè)過。主方式:在地址欄中輸入登陸頁(yè)面地址,進(jìn)入到登錄界面。其他方式:用戶選擇了自動(dòng)登陸功能,進(jìn)入主頁(yè)面自動(dòng)登陸。異常方式:登錄名或密碼不對(duì),用戶已經(jīng)登陸過了。3.導(dǎo)航欄描述:用戶在登陸成功后,在主頁(yè)上方可看到我的導(dǎo)航欄面板,其中包涵鏈接內(nèi)容:音
23、樂跑不停、跑步裝備庫(kù)、專業(yè)跑步指南、跑步論壇。參與者:用戶。主方式:在地址欄中輸入登陸頁(yè)面地址,進(jìn)入到登錄界面,點(diǎn)擊各個(gè)鏈接跳轉(zhuǎn)到相應(yīng)的界面內(nèi)容。4.我的地盤描述:用戶在登陸成功后,在主頁(yè)下方可看到我的地盤這一面板,其中包涵鏈接內(nèi)容:我的信息、我的信箱、我的好友、個(gè)性空間。前提:用戶已經(jīng)登錄。主方式:從主頁(yè)中下方顯示的我的地盤欄目選擇相應(yīng)的項(xiàng)目鏈接。2.2.2 短信管理用例1.新建短信描述:用戶在我的信箱頁(yè)面上點(diǎn)擊寫紙條就可以跳轉(zhuǎn)到新建短信頁(yè)面,填寫好相應(yīng)的信息,提交給服務(wù)器,其結(jié)果是信息保存到數(shù)據(jù)庫(kù),接收者能夠看到已收短信,發(fā)送者能看到已發(fā)短信。參與者:用戶。前提:用戶已經(jīng)登錄,接收者存在。
24、主方式:從我的地盤我的信箱中點(diǎn)擊寫紙條鏈接。2.收(發(fā))件箱描述:用戶在短信管理頁(yè)面上點(diǎn)擊收(發(fā))件箱就可以顯示自己的收(發(fā))件箱列表。參與者:用戶。前提:用戶已經(jīng)登錄。主方式:我的信箱中點(diǎn)擊收(發(fā))件箱鏈接。3.個(gè)性空間描述:用戶在個(gè)性空間頁(yè)面可以查看自己的個(gè)性空間面板,如果該用戶沒有創(chuàng)建個(gè)性空間,提示用戶創(chuàng)建個(gè)性空間。參與者:用戶。前提:用戶已經(jīng)登錄。主方式:從我的地盤面板點(diǎn)擊個(gè)性空間鏈接。2.2.3 我的好友用例1.我的好友描述:用戶在聯(lián)系人管理頁(yè)面上點(diǎn)擊好友名單就可以查看到所有好友的列表,還可以查看好友詳細(xì)信息,也可以刪除好友或者添加到黑名單。參與者:用戶。前提:用戶已經(jīng)登錄。主方式:
25、從我的地盤點(diǎn)我的好友鏈接好友名單。2黑名單描述:用戶在聯(lián)系人管理頁(yè)面上點(diǎn)擊黑名單就可以查看到所有黑名單的列表,還可以從好友名單中添加到黑名單,也可以將好友從黑名單移除。參與者:用戶。前提:用戶已經(jīng)登錄。主方式:從我的地盤點(diǎn)我的好友鏈接黑名單3.好友速配描述:用戶在聯(lián)系人管理頁(yè)面上點(diǎn)擊好友速配進(jìn)入到速配頁(yè)面,可以選擇隨機(jī)匹配或者按照條件匹配。參與者:用戶。前提:用戶已經(jīng)登錄。主方式:從我的地盤點(diǎn)我的好友鏈接好友速配。2.2.4 后臺(tái)管理用例1.管理員登錄描述:在系統(tǒng)登錄首頁(yè)可選擇進(jìn)入后臺(tái),進(jìn)行管理員登錄,完成管理員的相應(yīng)功能。參與者:管理員。主方式:在login界面點(diǎn)擊進(jìn)入后臺(tái)鏈接。2.會(huì)員列表
26、描述:用戶在后臺(tái)管理頁(yè)面上點(diǎn)擊還原列表進(jìn)入到會(huì)員列表顯示界面,可以查看所有已經(jīng)注冊(cè)會(huì)員的信息,以及刪除會(huì)員。參與者:用戶。前提:管理員經(jīng)登錄。主方式:從后臺(tái)管理系統(tǒng)點(diǎn)擊會(huì)員列表鏈接。3.積分動(dòng)作描述:用戶在聯(lián)系人管理頁(yè)面上點(diǎn)擊好友速配進(jìn)入到速配頁(yè)面,可以選擇隨機(jī)匹配或者按照條件匹配。參與者:用戶。前提:管理員已經(jīng)登錄。主方式:從后臺(tái)管理系統(tǒng)點(diǎn)擊積分動(dòng)作鏈接。4.管理員密碼修改描述:用戶在聯(lián)系人管理頁(yè)面上點(diǎn)擊好友速配進(jìn)入到速配頁(yè)面,可以選擇隨機(jī)匹配或者按照條件匹配。參與者:管理員。前提:管理員已經(jīng)登錄。主方式:從后臺(tái)管理系統(tǒng)點(diǎn)擊密碼修改鏈接。3 總體設(shè)計(jì)3.1 系統(tǒng)模塊設(shè)計(jì)3.1.1 總體設(shè)計(jì)框
27、架在前面的系統(tǒng)規(guī)劃與需求分析的基礎(chǔ)上,對(duì)該系統(tǒng)進(jìn)行了總體設(shè)計(jì),不僅能滿足用戶修改個(gè)人的各種基本信息,能夠創(chuàng)建和修改自己的個(gè)性空間,使更多的跑步愛好者了解自己,能夠隨機(jī)查找一個(gè)好友或根據(jù)條件查找到多個(gè)好友,而且還能夠給自己的好友發(fā)送短信,交流各自的跑步心得??傮w功能模塊如圖3-1所示:圖3-1 功能模塊結(jié)構(gòu)圖3.1.2 用戶基本信息管理模塊設(shè)計(jì)框架首先要實(shí)現(xiàn)它的基本功能,如用戶的注冊(cè),登陸,密碼的找回,信息的修改等最基本的功能,而這些是需要用戶來完成的,也就是說可以定義在用戶管理的模塊中。為了更好的展示用戶的的個(gè)人特征,也就是我們平時(shí)說的個(gè)性化,我們可以加上一個(gè)個(gè)人空間的管理。于是我們可以定義出
28、用戶管理信息的用例圖,如圖3-2所示:圖3-2 用戶基本信息管理3.1.3 短管理模塊設(shè)計(jì)框架為了方便用戶間的交流系統(tǒng)提供一個(gè)收發(fā)信息的功能,它包括短信的創(chuàng)建,對(duì)已收信息和已發(fā)信息的刪除和查看等功能。其用例圖如圖3-3所示:圖3-3 短信息管理3.1.4 聯(lián)系人管理模塊設(shè)計(jì)框架聯(lián)系人管理模塊主要要實(shí)現(xiàn)對(duì)好友的管理和黑名單的管理可用如圖3-4的用例圖來表示:圖3-4 聯(lián)系人管理3.1.5 后臺(tái)管理模塊設(shè)計(jì)框架管理員為了更好的維護(hù)這個(gè)系統(tǒng)設(shè)計(jì)了后臺(tái)管理模塊主要實(shí)現(xiàn)對(duì)會(huì)員的管理、對(duì)積分動(dòng)作的管理和對(duì)管理員的管理。其用例圖可用如圖3-5表示:圖3-5 后臺(tái)管理根據(jù)系統(tǒng)功能模塊結(jié)構(gòu)圖和管理流程,以及網(wǎng)絡(luò)
29、運(yùn)動(dòng)愛好者社區(qū)系統(tǒng)的需要總結(jié)出如下的數(shù)據(jù)字典。1.系統(tǒng)用戶數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有系統(tǒng)用戶名,密碼,性別,年齡,郵箱,省份,地址,密碼提示問題,密碼提示答案等。2.用戶個(gè)人空間數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有跑步觀點(diǎn),跑步時(shí)間,跑步地點(diǎn),跑步習(xí)慣,電話,上傳的圖片等。3.短信息數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有發(fā)送者,接收者,發(fā)送時(shí)間,標(biāo)題,內(nèi)容等。4.好友名單數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有自己的名字,好友的名字。5.黑名單數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有自己的名字,黑名單的名字。6.管理員數(shù)據(jù):包括管理員的名字,管理員的密碼,以及對(duì)管理員的描述。7.省份數(shù)據(jù):包括省份的代碼,省份的名稱,省份的id值8.積分等級(jí)數(shù)據(jù):最小積分,最大積分,等級(jí)名
30、稱,對(duì)應(yīng)頭像9.積分動(dòng)作數(shù)據(jù):積分動(dòng)作名稱,可獲積分,動(dòng)作描述10.積分記錄數(shù)據(jù):用戶名稱,獲得時(shí)間等。3.2 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)3.2.1 e-r圖在需求分析之后,數(shù)據(jù)庫(kù)設(shè)計(jì)的第一步就是對(duì)系統(tǒng)的概念結(jié)構(gòu)進(jìn)行設(shè)計(jì),設(shè)計(jì)的目標(biāo)是產(chǎn)生反映整個(gè)系統(tǒng)信息需求的整體數(shù)據(jù)庫(kù)的概念結(jié)構(gòu),描述概念結(jié)構(gòu)的工具就是er圖。各實(shí)體詳細(xì)信息的概念描述是第一步工作,各實(shí)體屬性關(guān)系圖如圖3-6至3-9所示:圖 3-6 用戶屬性關(guān)系圖圖 3-7 短信屬性關(guān)系圖圖 3-8 得分紀(jì)錄屬性關(guān)系圖圖 3-9 個(gè)人空間屬性關(guān)系圖3.2.2 各實(shí)體間的對(duì)應(yīng)關(guān)系圖在確認(rèn)了實(shí)體具體信息后,下一步是確認(rèn)各實(shí)體之間的對(duì)應(yīng)關(guān)系圖,各實(shí)體之間的關(guān)系圖
31、如圖3-10所示:圖 3-10 各實(shí)體間關(guān)系圖各數(shù)據(jù)表之間的對(duì)應(yīng)關(guān)系,特別是主外鍵對(duì)應(yīng)關(guān)系對(duì)數(shù)據(jù)庫(kù)的持久化操作有直接影響,涉及到數(shù)據(jù)表之間的級(jí)聯(lián)操作,雖然在數(shù)據(jù)表中已經(jīng)對(duì)各表之間的主外鍵關(guān)系進(jìn)行了描述,但由于表較多,不便于總體了解他們之間的對(duì)應(yīng)關(guān)系,如圖3-11對(duì)所有表之間的主外鍵關(guān)系進(jìn)行相應(yīng)描述:圖 3-11 表之間的主外鍵關(guān)系關(guān)系圖3.3 數(shù)據(jù)庫(kù)具體表結(jié)構(gòu)的設(shè)計(jì)在確定了各實(shí)體詳細(xì)信息后,下一步就是各實(shí)體在數(shù)據(jù)庫(kù)中的具體實(shí)現(xiàn),依據(jù)e-r圖中實(shí)體的具體信息,共設(shè)計(jì)了9張數(shù)據(jù)表,各表的字段信息,約束信息和描述如下:3.3.1 存放會(huì)員信息表3-1 memberinfo字段名字段類型約束或索引描述
32、idnumber(sequence)pk記錄流水號(hào)nicknamevarchar2(20)not null用戶昵稱passwordvarchar2(50)not nullmd5加密口令,頁(yè)面上限制為16字節(jié)gendervarchar2(1)not null性別表3-1(續(xù))字段名字段類型約束或索引描述agenumbernot null年齡emailvarchar2(100)not null電子郵件passwordquestionvarchar2(200)密碼提示問題passwordanswervarchar2(200)密碼提示問題答案provincecityvarchar2(20)所在省市ad
33、dressvarchar2(200)地址phonevarchar2(50)聯(lián)系電話pointnumberdefault=0當(dāng)前積分recommendervarchar2(20)推薦人registerdatedate注冊(cè)時(shí)間latestdatedate上次上線時(shí)間statusnumberdefault=00-正常 1-注銷 isonlinenumberdefault=00-下線 1-在線gradeidnumber等級(jí)id 外鍵3.3.2 存放會(huì)員的個(gè)性化的信息表3-2 memberspace字段名字段類型約束或索引描述idnumber(sequence)pk記錄流水號(hào)sportplacevarc
34、har2(20)運(yùn)動(dòng)地點(diǎn)sporttimevarchar2(20)運(yùn)動(dòng)時(shí)間sprothabitvarchar2(20)運(yùn)動(dòng)習(xí)慣sprotstarvarchar2(20)喜歡的運(yùn)動(dòng)明星cellphonevarchar2(20)正在使用的手機(jī)opinionvarchar2(200)個(gè)人對(duì)運(yùn)動(dòng)的看法iconvarchar2(50)個(gè)人空間頭像圖片存在的路徑memberidnumber會(huì)員id( reference memberinfo)3.3.3 存放會(huì)員級(jí)別的評(píng)判規(guī)則表3-3 graderecord字段名字段類型約束或索引描述idnumberpk記錄流水號(hào)表3-3(續(xù))字段名字段類型約束或索引描述
35、gradenamevarchar2(20)not null級(jí)別名稱iconpathvarchar2(50)not null每個(gè)級(jí)別分別對(duì)應(yīng)不同的頭像minpointnumbernot null積分的上限maxpointnumbernot null積分的下限3.3.4 存放會(huì)員獲取積分的流水記錄表3-4 pointrecord字段名字段類型約束或索引描述idnumber(sequence)pk記錄流水號(hào)nicknamevarchar2(20)not null獲取積分的會(huì)員receivedatedatenot null獲得積分的日期pointactionidnumbernot null所獲積分3.
36、3.5 存放積分動(dòng)作表3-5 pointaction字段名字段類型約束或索引描述idnumber(sequence)pkactionnamevarchar2(20)標(biāo)示積分操作名稱,比如”register”表示會(huì)員注冊(cè)。pointnumbernot null可獲積分descriptionvarchar(200)描述3.3.6 存放短信信息表3-6 messagerecord字段名字段類型約束或索引描述idnumber(sequence)pk記錄流水號(hào)sendervarchar2(20)not null發(fā)件人登錄名receivervarchar2(20)not null收件人登錄名senddat
37、edatedefault=當(dāng)前時(shí)間, not null發(fā)送日期titlevarchar2not null短信標(biāo)題表 3-6 (續(xù))字段名字段類型約束或索引描述statusnumberdefault=00-未閱讀 1-已閱讀senderstatusnumberdefault=00-表示未刪除 1-表示已刪除(發(fā)送者)receiverstatusnumberdefault=00-表示未刪除 1-表示已刪除(接收者)contentvarchar2not null短信內(nèi)容3.3.7 存放好友名單表3-7 friendlist字段名字段類型約束或索引描述idnumber(sequence)pk記錄流水號(hào)
38、selfnamevarchar2(20)not null 會(huì)員登錄名friendnamevarchar2(20)not null 好友登錄名3.3.8 黑名單表3-8 blacklist字段名字段類型約束或索引描述idnumber(sequence)pk記錄流水號(hào)selfnamevarchar2(20)not null 會(huì)員登錄名blacknamevarchar2(20)not null 被加入黑名單者登錄名3.3.9 管理員信息表3-9 managerinfo字段名字段類型約束或索引描述idnumber(sequence)pk記錄流水號(hào)nicknamevarchar2(20)not null
39、 管理員登錄名passwordvarchar2(20)not null 管理員密碼4 系統(tǒng)詳細(xì)設(shè)計(jì)我負(fù)責(zé)的是后臺(tái)的設(shè)計(jì)與實(shí)現(xiàn),主要用到struts,hibernate,oracle等技術(shù),并完成于前臺(tái)界面的銜接。4.1 建立數(shù)據(jù)庫(kù)本系統(tǒng)數(shù)據(jù)庫(kù)使用oracle,數(shù)據(jù)庫(kù)名為“ex(系統(tǒng)默認(rèn)的數(shù)據(jù)庫(kù))”,下面簡(jiǎn)單的介紹以下數(shù)據(jù)庫(kù)建立的過程。1.手工創(chuàng)建數(shù)據(jù)庫(kù)run,密碼設(shè)置為run。 2.手工創(chuàng)建run.sql文件,用語創(chuàng)建數(shù)據(jù)庫(kù)表。 3.創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)文件,執(zhí)行腳本run.sql。4.2 建立連接本系統(tǒng)使用hibernate連接oracle數(shù)據(jù)庫(kù),其實(shí)其底層使用jdbc連接的oracle數(shù)據(jù)庫(kù),連
40、接的配置界面如圖4-1:圖4-1 連接oracle數(shù)據(jù)庫(kù)的配置界面4.3 配置模塊目的:為了降低各個(gè)部分代碼的耦合性提高代碼的內(nèi)聚從而提高代碼的健狀性。以及便于代碼的后繼更新升級(jí)常常把一些有可能變動(dòng)的需要從系統(tǒng)外圍傳入的數(shù)據(jù)通過配置文件(通常用xml文件的形式傳入)。4.3.1 配置web.xmlweb-app version=2.5 xmlns= xmlns:xsi=/2001/xmlschema-instance xsi:schemalocation= struts2 org.apache.struts2.dispatcher.ng.filter.strut
41、sprepareandexecutefilter struts2 /* authimg com.briup.run.web.servlet.authimg authimg /authimg html/login.jsp 4.3.2 配置struts.xml 在此展示部分struts代碼:/html/login.jsp/html/memberloginactionautologin/html/login.jsp/html/memberafterloginaction/html/login.jsp/web-inf/member/activity.jsp/html/login.jsp/html/lo
42、gin.jsp/html/register.jsp/html/passwd_missing.jsp/html/passwd_missing.jsp/html/login.jsp/html/exception.jsp/html/memberafterloginaction/html/exception.jsp4.3.3 配置service和dao 架構(gòu)service層和dao層結(jié)構(gòu)如圖4-2所示:圖4-2 service層和dao層分布4.4 日志設(shè)計(jì)功能:通過把系統(tǒng)運(yùn)行的狀態(tài)信息寫入日志,管理員可以清楚地看到系統(tǒng)當(dāng)前運(yùn)行的狀態(tài)以及系統(tǒng)出現(xiàn)異常的原因以。這樣便于管理員對(duì)系統(tǒng)的維護(hù)。4.4.1 配
43、置日志模塊部分配置代碼:#log4j.rootlogger=debug,a1,rlog4j.rootlogger=info,a1,rlog4j.appender.a1=org.apache.log4j.consoleappenderlog4j.appender.a1.layout=org.apache.log4j.patternlayoutlog4j.appender.a1.layout.conversionpattern=%dyyyy-mm-dd hh:mm:ss,sss %t %c %p - %m%nlog4j.appender.r=org.apache.log4j.rollingfile
44、appenderlog4j.appender.r.file=bbscs7log.txtlog4j.appender.r.maxfilesize=500kblog4j.appender.r.maxbackupindex=10log4j.appender.r.layout=org.apache.log4j.patternlayoutlog4j.appender.r.layout.conversionpattern=%dyyyy-mm-dd hh:mm:ss,sss %t %c %p - %m%n#erceptor=debug4.4.2 日志信息如果在數(shù)據(jù)庫(kù)連接異常的時(shí)候就會(huì)輸出如下的日志信息用于可以很容易通過這個(gè)日志的信息知道系統(tǒng)的
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- idc租賃服務(wù)合同范例
- 存貨質(zhì)押合同范本
- 企業(yè)員工招聘合同范本
- 農(nóng)村安裝路燈合同范例
- 兼職配音協(xié)議合同范本
- 照明燈具采購(gòu)合同范本
- 工業(yè)固體廢物處置合同范本
- 冰箱保養(yǎng)合同范本
- 天籟侗歌苗寨傳
- 2025年度國(guó)際知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓合同范本(含專利保護(hù))
- 施工周報(bào)表(標(biāo)準(zhǔn)模版)
- 4.5MWp分布式光伏項(xiàng)目主要設(shè)備材料清單(建筑工程安裝工程)
- von frey絲K值表完整版
- 云南省普通初中學(xué)生成長(zhǎng)記錄模板-好ok
- SB/T 10415-2007雞粉調(diào)味料
- 考古繪圖基礎(chǔ)
- GB/T 32574-2016抽水蓄能電站檢修導(dǎo)則
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第十三章社會(huì)主義市場(chǎng)經(jīng)濟(jì)標(biāo)準(zhǔn)論
- 變更索賠案例分析
- 過敏性休克的急救及處理流程教材課件(28張)
- 《花婆婆》兒童繪本故事
評(píng)論
0/150
提交評(píng)論