freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

校園微博系統(tǒng)的設計與實現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-25 20:17 本頁面
 

【文章內(nèi)容簡介】 微博系統(tǒng)的功能和性能需求,本小節(jié)將給出研發(fā)本系統(tǒng)所給出的在總體設計中為實現(xiàn)需求模型中的需求進行系統(tǒng)的結(jié)構(gòu)設計,運行環(huán)境設計,開發(fā)工具和界面設計等。工 欲 善 其 事 必 先 利 其 器 , 這 里 將 對 開 發(fā) 本 系 統(tǒng) 所 涉 及 到 的 技 術(shù) 進 行 簡 單 的 介 紹 。MVC 設計模式在 以 前 開 發(fā) 軟 件 時 , 通 常 將 前 后 臺 邏 輯 混 在 一 起 開 發(fā) , 這 樣 不 僅 開 發(fā) 效 率 低 下 ,而 且 后 期 難 以 升 級 維 護 。 后 來 MVC 模 式 給 程 序 員 帶 來 了 希 望 , 將 程 序 員 們 從 無盡 的 痛 苦 中 解 救 了 出 來 。 MVC 開發(fā)模式就是把一個 Web 開發(fā)項目分成 M、V、C 三層,實現(xiàn)項目分工。M 即 model,模型,就是數(shù)據(jù)庫操作類,通過數(shù)據(jù)庫操作類去操作各個數(shù)據(jù)表,比如增刪改查。本系統(tǒng)中因采用了 SSH2 項目開發(fā)框架,model 層主要是用 Hibernate 封裝數(shù)據(jù)對象,使用 Spring 中對 Hibernate 庫的調(diào)用來實現(xiàn)對數(shù)據(jù)庫的操作。同時由 spring 控制數(shù)據(jù)庫的事物機制。V 即 view,視圖,就是用戶所看到的界面,或者說是前臺的模板,顯示給用戶看的。并提交用戶行為給控制器,主要通過 url來提交。在 SSH2 框架下面,V 是由 JSP 來呈現(xiàn)的。C 即 control,控制器,通過控制器來調(diào)度模型和視圖的運行。主要通過判斷、驗證等操作,再提交給模型和視圖進行處理,控制器中有不同的方法,用以調(diào)用不同的模型進行操作。在本項目中采用Struts2 來充當控制器。以現(xiàn)實中的工廠為例,整個 Web 項目是一個公司。模型就是生產(chǎn)部,視圖就是市場部,控制器就是管理層。在市場部接到一個訂單后,首先詢問管理層,管理層通過判斷決定接下訂單,然后交給生產(chǎn)部門,生產(chǎn)部門生產(chǎn)完畢后告訴管理層,管理層讓市場部通知客戶來取貨,整個流程結(jié)束。AJAX(Asynchronous JavaScript and XML)在面對大量用戶訪問某個網(wǎng)站時,其響應速度是影響用戶體驗的重要因素,而減少 Web 通信中的數(shù)據(jù)流量是提高響應速度的方法之一,而 AJAX 技術(shù)則是專門針對此設計的。通過 AJAX,不用刷新頁面便可以與 Web 服務器進行數(shù)據(jù)交換,這就避免了很多不必要的信息的重復傳送。AJAX 技術(shù)使用簡單方便,現(xiàn)在已有很多好的JavaScript 封裝庫對其進行了封裝。本系統(tǒng)中將采用 jQuery 封裝庫進行開發(fā)。Hibernate 技術(shù)針對以前的面向過程開發(fā),Java 的強項在于面向?qū)ο?。而現(xiàn)在的數(shù)據(jù)庫基本上都哈爾濱工程大學學士學位論文12是面向關(guān)系存儲的。如何將面向?qū)ο蠛兔嫦蜿P(guān)系連接起來成為了一個問題。Hibernate技術(shù)實現(xiàn)了對面向過程向面向?qū)ο蟮霓D(zhuǎn)換,也實現(xiàn)了將對象轉(zhuǎn)換為關(guān)系模型的功能。本系統(tǒng)利用 Hibernate 中的注解將對象映射到數(shù)據(jù)庫中,這種映射實現(xiàn)了數(shù)據(jù)的封裝,實現(xiàn)了面向?qū)ο蟮乃枷?。同時亦簡化了對數(shù)據(jù)的操作(因為所有操作都是面向?qū)ο蟮模13]。Spring 技術(shù)面對與數(shù)據(jù)庫的連接和數(shù)據(jù)的一致性問題,本系統(tǒng)采用了 Spring 技術(shù),其主要功能并不在于維護數(shù)據(jù)的一致性,而是面向切面編程。但本系統(tǒng)主要利用的是其維護數(shù)據(jù)一致性提供事物支持的功能。面向切面的簡單應用。Struts2 技術(shù)面對以前的 servlet,每寫一個控制器就需要一個 servlet,這樣如果需要很多控制器的話那么將會有很多 servlet 需要配置。而本系統(tǒng)采用 Struts2 技術(shù)提供的 servlet 封裝,其配置更加簡單,而且還支持面向?qū)ο?。比如在用戶注冊的表單里面,采用面向?qū)ο蟮哪P万?qū)動。底層的賦值全都交由 Struts2 底層去做,而讓開發(fā)人員能更好的專注于業(yè)務邏輯的開發(fā) [14]。本項目開發(fā)所采用的開發(fā)工具有:集成開發(fā)工具 ,Web 服務器,JDK 采用 son 公司提供的 版本,JavaScript 開發(fā)調(diào)試工具使用firebug,靜態(tài)頁面開發(fā)采用 DreamweaverCS4。數(shù)據(jù)庫采用 。 總體結(jié)構(gòu)設計由于基于 B/S 架構(gòu)開發(fā)的系統(tǒng)具有開發(fā)速度快,易于維護,系統(tǒng)兼容性優(yōu)于 C/S架構(gòu)開發(fā)的系統(tǒng)等優(yōu)點。目前多數(shù)的網(wǎng)站系統(tǒng)是基于 B/S 架構(gòu)而開發(fā)的,校園微博系統(tǒng)也非常適合采用 B/S 架構(gòu)進行開發(fā),該架構(gòu)將整個系統(tǒng)分為用戶瀏覽器端、Web 服務器端和數(shù)據(jù)庫服務器端。子系統(tǒng)劃分與開發(fā)模式的選擇按照結(jié)構(gòu)化的設計方法,校園微博系統(tǒng)可以分為微博前臺子系統(tǒng),微博后臺管理子系統(tǒng)。微博前臺子系統(tǒng)統(tǒng)包括了用戶登錄、用戶注冊、用戶退出、發(fā)布微博、轉(zhuǎn)發(fā)微博、評論微博、回復評論、圖片上傳、檢索好友、檢索微博、修改個人信息、修改密碼、上傳頭像、訪問好友個人主頁、查看好友、添加好友、取消關(guān)注、查看感興趣的人、獲取評論通知、點擊評論通知便可以查看具體的評論、還可以訪問單個微博頁進行針第 2 章 系統(tǒng)需求分析與總體設計 13對一個微博進行討論。其中不管是好友檢索還是微博檢索都提供了相應的高級檢索來提高檢索精度。管理員子系統(tǒng)包括用戶權(quán)限管理、添加普通管理員、查看公告、發(fā)布公告、處理舉報微博。雖然校園微博系統(tǒng)可以分為上面兩個子系統(tǒng)來實現(xiàn),但若不選擇一種合理的設計模式,開發(fā)人員在實現(xiàn)過程中就可能將表現(xiàn)層代碼和數(shù)據(jù)層代碼混合到一起,這將使得代碼的重用率很低,更不利于代碼的維護。因此必須為系統(tǒng)選擇一個合理的開發(fā)模式,來確定系統(tǒng)開發(fā)的總體架構(gòu)。經(jīng)過網(wǎng)絡調(diào)查和資料查閱得知,當下大部分系統(tǒng)或者網(wǎng)站采用的是 MVC 模式。通過采用 MVC 模式之后的開發(fā)可以讓軟件系統(tǒng)的結(jié)構(gòu)非常完整清晰,通過視圖層和業(yè)務層的分離大大降低了系統(tǒng)內(nèi)部的耦合性,提高代碼重用率的同時減少了錯誤重復出現(xiàn)的問題。這為系統(tǒng)業(yè)務的擴展和系統(tǒng)升級維護提供了可行性和便利性;視圖層和業(yè)務邏輯層的分離讓程序開發(fā)員可以專注于功能的優(yōu)化,而界面程序員則可集中精力于界面的美化,使得開發(fā)時間大大縮短。通過上述分析,校園微博系統(tǒng)也非常適合采用 MVC 模式,按照該模式系統(tǒng)總體結(jié)構(gòu)如圖 所示。W e b 顯示層A c t i o n 控制層S e r v i c e 服務層D A O 數(shù)據(jù)訪問層數(shù)據(jù)庫用戶操作界面業(yè)務流程轉(zhuǎn)向控制業(yè)務邏輯處理數(shù)據(jù)存取操作圖 系統(tǒng)總體結(jié)構(gòu)圖系統(tǒng)總體類的設計通過總體結(jié)構(gòu)設計采用的 MVC 模式來完成系統(tǒng)的開發(fā),以及系統(tǒng)子系統(tǒng)的劃分和哈爾濱工程大學學士學位論文14需求部分各功能模塊的劃分,微博系統(tǒng)中類分為五類,工具類,DAO 類,Service 類,action 類,POJO 模型類。工具類包括時間工具類、分頁工具類等。DAO 類為數(shù)據(jù)訪問層的類,所有 DAO 層的類的類名均 DAOImpl 結(jié)束(如用戶 DAO 類:) ,其主要負責和數(shù)據(jù)庫交互,這些類中的方法只針對數(shù)據(jù)庫的操作,無其他如驗證操作。Service 類屬于服務層,這些類組合了 DAO 類,其除具備相應DAO 類的功能外,還具有其他額外的功能,如用戶服務類里面()中的用戶登錄驗證方法。 Action 類主要負責業(yè)務流程的轉(zhuǎn)向,如登錄成功轉(zhuǎn)向首頁,如果登錄失敗返回登錄界面等。其中 Action 層、Service 層、DAO 層和 POJO 的總體類圖設計如圖 所示。圖 總體類圖以上總體類圖是所有模塊都符合的抽象類圖。圖中的 Xxx 表示 POJO 中的一個模型類。IXxxDAO 表示訪問數(shù)據(jù)庫中 Xxx 表的數(shù)據(jù)訪問接口,XxxDAOImpl 是表示其實現(xiàn)類,Service 也一樣。其中的方法針對不同的模型類有不同的方法,但最基本的對數(shù)據(jù)庫的增刪改查方法都是有的。如 中有 getUserByNickname 方法,而 類中有 getWeiboByWeiboId 方法。而針對 Action 中,一個模型類可能對應多個 Action,如用戶登錄 action,UserLoginAction 這個類,為了功能更加的清楚而單獨作為一個 action,主要負責用戶登錄流程控制。而至于用戶登錄驗證是在UserServiceImpl 里面實現(xiàn)的。UserLoginAction 中只需要組合 IUserService 類的對象就可以。系統(tǒng)公共類的設計第 2 章 系統(tǒng)需求分析與總體設計 15在軟件開發(fā)中,為了提高代碼的重用率,可以采用抽象繼承面向接口編程來實現(xiàn),同時也可以將一些公共的代碼提取出來作為單獨的類來使用,如果時間轉(zhuǎn)換類,可能在用戶類中需要日期類型,但是在微博里面需要時間的長整型格式。為了統(tǒng)一同時也為了減少系統(tǒng)開發(fā)中不必要的 bug,設計日期格式轉(zhuǎn)換工具類。在數(shù)據(jù)庫中對日期的存儲皆采用長整型的形式存儲。在頁面端需要什么格式則調(diào)用日期工具類 在后臺相應的 Service 中為其準備好。在校園微博首頁微博列表里,需要將時間轉(zhuǎn)換為幾分鐘前、幾小時前、幾天前和日期幾種類,而數(shù)據(jù)庫中存儲的是以毫秒形式的長整型數(shù)據(jù),DataTool 類中的 getMillsecond()方法為獲取當前時間以毫秒形式返回,而 getTime()方法則是計算給定時間和現(xiàn)在時間之差。時間工具類圖如圖 所示。圖 時間工具類圖微博系統(tǒng)中首頁微博數(shù)量太多,不可能全都顯示出來,而且在個人主頁也需要分頁顯示數(shù)據(jù),所以就必須要做一個分頁功能。為了重復利用分頁,這里創(chuàng)建了一個分頁類 PagerModel 模型類和 AbstractPagerManager 類,PagerModel 類屬于模型類,其中有三個屬性:int 類型的表示顯示第幾頁的 offset、 int 類型的表示總的數(shù)據(jù)條數(shù)的total、List 類型的用于存放當前頁需要顯示的數(shù)據(jù)的 list。AbstractPagerManager 類主要是封裝了數(shù)據(jù)查詢的功能,在查詢數(shù)據(jù)時采用預編譯查詢,加快了查詢速度。分頁組件類圖設計如圖 所示。為保證用戶使用校園微博系統(tǒng)時的帳號安全,必須對其登錄密碼進行加密,為此設計了 MD5 加密工具類。MD5 工具類中只提供了一個方法 toMD5(String password),該方法旨在將用戶輸入的密碼進行加密,主要是在用戶注冊帳號時將密碼加密后保存到數(shù)據(jù)庫中和登錄驗證時將用戶輸入的密碼經(jīng) MD5 加密后與數(shù)據(jù)庫中密碼做對比時使用。哈爾濱工程大學學士學位論文16圖 分頁組件類圖 運行環(huán)境設計軟件系統(tǒng)的運行環(huán)境包括硬件平臺、軟件平臺和網(wǎng)絡平臺等。校園微博系統(tǒng)是以互聯(lián)網(wǎng)作為其服務范圍的軟件系統(tǒng),因此運行環(huán)境的設計不僅包括服務器端的運行環(huán)境,還包括客戶端的運行環(huán)境。服務器端的運行環(huán)境采用裝有 Windows7 操作系統(tǒng)和裝有 的 Java 運行環(huán)境的 PC 機,以 作為網(wǎng)絡服務器,采用 作為數(shù)據(jù)庫,采用大容量存儲磁盤作為專用存儲設備??蛻舳诉\行環(huán)境要求客戶端 PC 機安裝 IE8 及以上版本的瀏覽器,支持網(wǎng)絡連接。 主要功能簡要設計用戶的注冊與登錄功能在校大學生可以使用該功能進行注冊,在注冊頁面,用戶需要輸入注冊郵箱,注冊昵稱和密碼等注冊必填信息,系統(tǒng)通過 AJAX 異步查詢數(shù)據(jù)庫判斷用戶輸入的注冊郵箱和用戶昵稱是否已被注冊,如果已經(jīng)注冊過了,則給出用戶提示(該郵箱已被注冊) ,并以紅色高亮顯示,且將鼠標定位到輸入框要求重新輸入,若不存在,且其他必填項已填完,則注冊成功并跳轉(zhuǎn)到用戶登錄頁面。在注冊頁面,所有必填項均要進行JS 判斷,用戶昵稱不能為空,長度必須在 1 到 20 字符之間,登錄密碼必須在 6 到 20第 2 章 系統(tǒng)需求分析與總體設計 17之間,且確認密碼必須和登錄密碼一致,如果不一致給出提示。郵箱格式采用正則表達式驗證。如果郵箱格式不正確也必須給出紅色醒目提示“郵箱格式不正確” [15]。在選擇大學時,采用二級聯(lián)動菜單。二級聯(lián)動菜單中數(shù)據(jù)采用 JSON 數(shù)據(jù)形式保存,使用JavaScripe 讀取 JSON 數(shù)據(jù)實現(xiàn)聯(lián)動效果。在校園微博登錄頁面,提供登錄帳號和登錄密碼的輸入框,用戶輸入用戶名和密碼,客戶端驗證是否為空,服務器端驗證正確性。登錄成功進入校園微博系統(tǒng)首頁。微博的發(fā)布與刪除功能用戶在進入自己的 微博系統(tǒng)后,可以在首頁微博發(fā)布框中輸入想發(fā)布的內(nèi)容發(fā)布微博,發(fā)布微博可以發(fā)布兩種形式的微博,一種是只有文字的微博,一種是帶有圖片的微博。而對于微博發(fā)布有兩種發(fā)布方式,一種是原創(chuàng)微博,即在發(fā)布框中輸入內(nèi)容發(fā)布,另一種是轉(zhuǎn)發(fā)別人的微博。在首頁和個人主頁均可以點擊刪除按鈕對自己所發(fā)布的微博進行刪除操作。微博的評論與轉(zhuǎn)發(fā)及回復功能用戶在進入微博系統(tǒng)后,可以在首頁對好友的微博進行轉(zhuǎn)發(fā),或者評論,在轉(zhuǎn)發(fā)微博彈出框里也可以點擊轉(zhuǎn)發(fā)并回復復選框同時評論給原微博主。點擊評論按鈕,可以進入到單個微博頁進行評論,用戶收到評論后,可以對評論作出應答——回復評論,對于發(fā)布的評論可以刪除。加關(guān)注與取消關(guān)注功能在訪問他人個人主頁時,可以在其頂部用戶信息里面根據(jù)現(xiàn)有與好友的關(guān)系來添加關(guān)注和取消關(guān)注,在我的好友頁里,可以點擊取消關(guān)注來解除與好友的關(guān)系,對好友取消關(guān)注后,好友所發(fā)布的微博將不會再出現(xiàn)在自己的首頁微博列表里面,在好友搜索頁里面,可以點擊加關(guān)注按鈕與好友建立關(guān)系,在添加關(guān)注后,好友的動態(tài)將顯示在用戶首頁微博列表里。
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1