版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(jì)(論文)中文摘要基于ASP的博客網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)摘要:博客簡單來說就是“網(wǎng)絡(luò)日記”,本課題研究的博客網(wǎng)站就是可以讓用戶零成本、較少維護(hù)地創(chuàng)建自己的網(wǎng)絡(luò)媒體。本課題開發(fā)實(shí)現(xiàn)博客的通用功能:發(fā)表日志,上傳圖片,管理博客,閱讀博客,發(fā)表評論等幾大功能。另外系統(tǒng)頁面風(fēng)格的可變性是本博客系統(tǒng)一大優(yōu)勢。本課題遵循了“放眼于系統(tǒng),按功能分快”的原則,巧妙地將開發(fā)一個(gè)完整的博客網(wǎng)站的過程分解成各個(gè)模塊,然后逐一的實(shí)現(xiàn)各個(gè)功能模塊,最后把所有的模塊連在一起就構(gòu)成了一個(gè)完整的博客系統(tǒng)。本系統(tǒng)的頁面設(shè)計(jì)主要是在Dreamweaver環(huán)境下完成的,通過引入ASP技術(shù)和數(shù)據(jù)庫技術(shù)使得博客系統(tǒng)的動態(tài)功能得以很好的實(shí)現(xiàn),本系統(tǒng)的成功開發(fā)可以說是Dreamweaver結(jié)合ASP技術(shù)開發(fā)動態(tài)網(wǎng)站的成功體現(xiàn)。關(guān)鍵詞:博客ASP數(shù)據(jù)庫Dreamweaver畢業(yè)設(shè)計(jì)(論文)外文摘要TheDesignandRealizationofBlogWebsiteBasedonASPAbstract:Thisprojectstudiesawebblog,withwhichuserscancreatetheirownwebmediawithoutanycostandanymaintenance.Itdevelopsandrealizescommonplacefunctionsofablog,suchaspublishingblogs,uploadingpictures,administratingblogs,readingblogs,publishingcommentsandsoforth.
Thisprojectgoeswiththeprinciplethatweregardthesystemasawholebutbreakupthewholeintopartswhenrealizingit.Sowedividethewholesystemintoseveralpartscalledmodulesandthenwedevelopthesystemonebyoneandfinallywecombineallthepartstogetherandgetacompleteblogsystem.
ThesystemisdevelopedmainlywithDreamweaver.AndwiththeadoptionofdatabasetechnologyandASP,dynamicfunctionsoftheblogsystemperfectlycometrue.WecanseethesuccessfuldevelopmentofthissystemasareflectionofexcellentcombinationofDreamweaverandASPtechnologywhendevelopingdynamicwebsites.Keywords:blog;ASP;database;Dreamweaver目錄1引言11.1課題的研究背景與意義11.1.1課題的研究背景11.1.2課題的研究意義11.2問題定義和簡介11.2.1課題的定義11.2.2課題簡介21.3課題調(diào)研與可行性分析21.3.1課題調(diào)研21.3.2可行性分析21.4論文各章內(nèi)容介紹32系統(tǒng)需求分析42.1需求調(diào)研42.2業(yè)務(wù)流程分析42.3系統(tǒng)數(shù)據(jù)流圖52.4系統(tǒng)功能需求分析62.4.1功能劃分62.4.2功能描述62.5系統(tǒng)功能需求分析82.5.1創(chuàng)建用例圖82.5.2詳細(xì)描述用例92.6數(shù)據(jù)字典113系統(tǒng)設(shè)計(jì)153.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)153.2系統(tǒng)數(shù)據(jù)模型設(shè)計(jì)163.3數(shù)據(jù)庫表的設(shè)計(jì)193.4系統(tǒng)開發(fā)與運(yùn)行環(huán)境確定213.4.1系統(tǒng)開發(fā)環(huán)境213.4.2系統(tǒng)運(yùn)行環(huán)境223.5系統(tǒng)實(shí)現(xiàn)的若干關(guān)鍵技術(shù)223.5.1UML建模技術(shù)223.5.2ASP與IIS技術(shù)233.5.3利用ADO訪問數(shù)據(jù)庫技術(shù)244數(shù)據(jù)庫連接函數(shù)275詳細(xì)設(shè)計(jì)285.1系統(tǒng)登錄模塊模塊簡介285.2模塊體系結(jié)構(gòu)285.3運(yùn)行圖295.4設(shè)計(jì)說明295.4.1新用戶注冊子模塊295.4.2管理員登陸子模塊316博客管理系統(tǒng)模塊336.1博客管理子模塊336.1.1模塊簡介336.1.2模塊體系結(jié)構(gòu)336.1.3設(shè)計(jì)說明336.2系統(tǒng)管理子模塊366.2.1模塊簡介366.2.2模塊體系結(jié)構(gòu)366.2.3設(shè)計(jì)說明367博客瀏覽系統(tǒng)模塊407.1博客瀏覽模塊407.1.1模塊簡介407.1.2模塊體系結(jié)構(gòu)407.1.3運(yùn)行流程407.1.4設(shè)計(jì)說明407.2訪問量統(tǒng)計(jì)模塊418用戶手冊428.1系統(tǒng)運(yùn)行環(huán)境428.1.1硬件要求428.1.2軟件環(huán)境428.2系統(tǒng)的安裝428.3系統(tǒng)頁面及其功能428.4系統(tǒng)的使用438.4.1常用操作說明438.4.2各模塊的使用說明43結(jié)論48致謝50參考文獻(xiàn)511引言1.1課題的研究背景與意義課題的研究背景第一批中文博客是在2002年出現(xiàn)的,早些時(shí)候博客只是一個(gè)新的網(wǎng)絡(luò)名詞并無特殊之處,。就在不經(jīng)意間,博客竟如雨后春筍般冒出來,博得越來越多網(wǎng)民的歡心,并在互聯(lián)網(wǎng)上引發(fā)了一股博客熱潮。博客的發(fā)展現(xiàn)狀呈現(xiàn)出以下特點(diǎn):發(fā)展速度驚人;從精英向大眾人群迅猛擴(kuò)展;博客人群主體更加多元化;博客服務(wù)商激增,出現(xiàn)群雄爭霸局面;博客資源爭奪激烈,博客服務(wù)商面臨市場洗牌。博客發(fā)展到今天已經(jīng)取得了相當(dāng)規(guī)模的成就,以新浪、搜狐、網(wǎng)易為代表的三大門戶網(wǎng)站都已經(jīng)推出了自己的博客服務(wù),還有一些著名的專業(yè)博客網(wǎng)站都已經(jīng)對博客資源展開了激烈的爭奪。在規(guī)模擴(kuò)大的同時(shí)博客技術(shù)也在不斷的進(jìn)步和完善,目前博客技術(shù)已經(jīng)取得的成果包括:發(fā)表日志,發(fā)表評論,相冊等一些通用功能。但是現(xiàn)在的博客技術(shù)還不夠完善,要想永久確立它的網(wǎng)絡(luò)地位必須不斷開發(fā)并推出新的博客技術(shù)來滿足人們的需要。本課題的研究正是基于這樣一種追求博客新技術(shù)的基礎(chǔ)上而展開的。課題的研究意義從上面的背景知識我們已經(jīng)了解到博客在互連網(wǎng)上已經(jīng)具有相當(dāng)?shù)囊?guī)模,可以說它已經(jīng)被人們所接受,博客改變著人們的交流方式和情感體驗(yàn)和表達(dá)形態(tài),改變著人們聚散的方式;它無限放大著人們對于未來信息世界的預(yù)想,它影響著整個(gè)中國互聯(lián)網(wǎng)的發(fā)展走向,甚至可能在今后一個(gè)時(shí)期,波及或影響著現(xiàn)實(shí)社會的民主決策過程。無疑博客這樣一種影響力頗大的媒介將有利于我們好的思想好的事物的傳播,有利于社會的進(jìn)步。所以我們要把這種好的影響力發(fā)揮到最大,怎樣提高博客影響力必然就要求開發(fā)博客新技術(shù)來獲得更多人的認(rèn)可。一旦博客研究取得關(guān)鍵性技術(shù)的新突破,將會在網(wǎng)絡(luò)世界掀起一股前所未有的博客浪潮,介時(shí)將會有更多的人擁有自己的博客,博客影響力也將倍增。這時(shí)通過博客一些新的科學(xué)技術(shù)將更容易推廣,好的政策好的思想也會更加容易傳播,如果這樣相信社會的進(jìn)步將會是顯而易見的。1.2問題定義和簡介課題的定義本課題開發(fā)的博客網(wǎng)就是為用戶提供一個(gè)網(wǎng)絡(luò)空間,用戶可以在這個(gè)空間上發(fā)表日志、上傳圖片等操作。同時(shí)為瀏覽者提供瀏覽日志、發(fā)表評論的權(quán)力,并通過系統(tǒng)管理員對整個(gè)系統(tǒng)的博客賬號、博客內(nèi)容以及評論進(jìn)行管理。根據(jù)以上定義,本博客系統(tǒng)主要研究以下幾個(gè)模塊。博客訪問者:參與博客閱讀、發(fā)表評論。博客管理員:參與登陸、修改自己信息、管理日志、管理圖片、管理鏈接。系統(tǒng)管理員:管理博客賬號、博客內(nèi)容、系統(tǒng)博客分類。課題簡介本課題主要開發(fā)以下幾個(gè)功能:用戶組件和樣式的設(shè)計(jì),賬號管理和驗(yàn)證,管理內(nèi)容,閱讀博客,客關(guān)鍵字搜索,列出日志、評論、留言的總數(shù)。1.3課題調(diào)研與可行性分析課題調(diào)研勵(lì)了我要出色的完成本課題的設(shè)計(jì)。調(diào)研還發(fā)現(xiàn)目前的博客系統(tǒng)存在局限性,例如現(xiàn)在博客用戶使用的網(wǎng)頁模板都是系統(tǒng)提供的固定格式,這就一定程度上限制了用戶博客網(wǎng)頁個(gè)性的發(fā)揮,因此能夠讓用戶自己隨意的設(shè)計(jì)自己喜歡的能夠體現(xiàn)用戶個(gè)性的模板將是博客技術(shù)發(fā)展的必然要求??尚行苑治霰鞠到y(tǒng)主要從經(jīng)濟(jì)可行性和技術(shù)可行性兩個(gè)角度對其可行性進(jìn)行分析:(1)技術(shù)可行性本系統(tǒng)使用ASP技術(shù)進(jìn)行開發(fā),現(xiàn)在有很多企業(yè)及技術(shù)人員選擇它來作為開發(fā)平臺。因此,在技術(shù)上ASP是完全可以勝任這個(gè)平臺的開發(fā)。使用Dreamweaver結(jié)合ASP技術(shù)已經(jīng)成為現(xiàn)代開發(fā)動態(tài)網(wǎng)站的首選技術(shù),許多已經(jīng)開發(fā)成功的經(jīng)典項(xiàng)目足以證明此技術(shù)的可行性。(2)經(jīng)濟(jì)可行性由于本項(xiàng)目的特殊性,無需投入額外的設(shè)備購買及人員培訓(xùn)費(fèi)用,所以在經(jīng)濟(jì)上本系統(tǒng)的開發(fā)是可行的。博客系統(tǒng)一旦開發(fā)成功投入運(yùn)行,將會吸引很多的博客用戶,網(wǎng)站的知名度迅速上升,訪問量也會大幅度提高到時(shí)將會帶來可靠的經(jīng)濟(jì)效益。按上述兩方面進(jìn)行可行性分析、研究后,我們認(rèn)為該項(xiàng)目在技術(shù)上是可行的,在經(jīng)濟(jì)上是可合理的,可以進(jìn)行開發(fā)。1.4論文各章內(nèi)容介紹第一章是緒論,這一章主要是對本次畢業(yè)設(shè)計(jì)所開發(fā)的系統(tǒng)進(jìn)行問題的定義,通過問題的定義明白需要做些什么,并且對開發(fā)內(nèi)容簡單的介紹了一下;同時(shí)本章還對課題的研究背景與研究意義進(jìn)行分析,對開發(fā)本系統(tǒng)的可行性分析還有對論文各章內(nèi)容的簡要介紹。第二章是系統(tǒng)需求分析。主要內(nèi)容是系統(tǒng)的性能要求及功能需求分析,最后按面向?qū)ο蟮姆治龇绞浇o出了系統(tǒng)的用例模型、流程圖以及數(shù)據(jù)字典。第三章是系統(tǒng)設(shè)計(jì)部分,本章主要針對系統(tǒng)進(jìn)行總的體系結(jié)構(gòu)的設(shè)計(jì),這部分設(shè)計(jì)是從用例模型及活動圖導(dǎo)出的;系統(tǒng)數(shù)據(jù)模型設(shè)計(jì)包括了核心的E-R圖、關(guān)系模型和一些重要的數(shù)據(jù)表;最后確定了系統(tǒng)的開發(fā)和運(yùn)行環(huán)境以及開發(fā)本系統(tǒng)所涉及的一些關(guān)鍵技術(shù)。程中,在主流博客網(wǎng)注冊自己的帳號,親自體會博客的強(qiáng)大功能然后記錄下來。博客系統(tǒng)需求管理規(guī)劃表如表2-1表2-1博客系統(tǒng)需求分析表NO需求分類需求名稱描述優(yōu)先難度1特征與前景系統(tǒng)目標(biāo)給用戶提供一個(gè)展現(xiàn)自我的空間高中2預(yù)算成本控制在3萬元以下中中3功能性需求管理內(nèi)容通過后臺管理系統(tǒng)進(jìn)行文章、留言、圖片、鏈接的管理中中4閱讀內(nèi)容閱讀文章、評論、留言,查看圖片,訪問鏈接中中5非功能性需求平臺限制基于Windows2003Server中低6操作方式瀏覽器中低具體目標(biāo)如2.3系統(tǒng)數(shù)據(jù)流圖本系統(tǒng)主要完成博客的瀏覽與管理的功能,因此,在邏輯上可以將系統(tǒng)分為博客瀏覽系統(tǒng)和博客管理系統(tǒng)兩部分,同時(shí),系統(tǒng)的所有數(shù)據(jù)都需通過一個(gè)數(shù)據(jù)庫系統(tǒng)來實(shí)現(xiàn)查詢、更新和輸入,所以在總體上可將總系統(tǒng)分為博客瀏覽系統(tǒng)、博客管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個(gè)系統(tǒng),對本系統(tǒng)操作的數(shù)據(jù)源有普通瀏覽者、博客用戶和管理員三種。根據(jù)上述對新系統(tǒng)的初步分析和開發(fā)目標(biāo)的分析,初步分析了一套博客系統(tǒng)的總體流圖,如下圖所示:由于系統(tǒng)數(shù)據(jù)較多現(xiàn)舉出用戶登陸數(shù)據(jù)流如下:2.4系統(tǒng)功能需求分析功能劃分根據(jù)上一節(jié)的流程圖,把系統(tǒng)劃分成兩個(gè)大的模塊來完成:前臺模塊和后臺管理模塊。模塊劃分如表所示。序號功能模塊類別功能模塊備注1前臺模塊閱讀日志功能塊博客列表功能塊注冊功能塊登陸功能塊公共模塊2博客管理模塊用戶模板管理功能塊博客管理功能快3系統(tǒng)管理模塊用戶管理功能塊系統(tǒng)模板管理功能塊公告管理功能塊系統(tǒng)參數(shù)設(shè)置功能塊數(shù)據(jù)庫管理功能塊功能描述上面兩節(jié)把建立一個(gè)博客系統(tǒng)的流程圖和功能模塊的劃分進(jìn)行了介紹,下面將各個(gè)功能模塊的功能做詳細(xì)的描述,即對上述的模塊功能進(jìn)行設(shè)計(jì)與細(xì)化,以便我們下一步的開發(fā)。系統(tǒng)功能的詳細(xì)描述如下:前臺功能列表序號功能列表功能明細(xì)1首頁最新日志列表熱門日志列表日志分類列表2閱讀日志功能塊全部日志列表日志內(nèi)容頁日志評論功能(發(fā)表評論)3博客列表功能塊全部博客列表博客內(nèi)容頁4注冊功能塊用戶注冊頁5登陸功能塊驗(yàn)證用戶權(quán)限6公共模塊日志和博客關(guān)鍵字搜索列出博客、日志、評論的總數(shù)博客排行榜博客管理功能列表序號功能列表功能明細(xì)1寫博客寫日志,管理日志管理評論專題分類管理修改公告修改個(gè)人博客信息2模板管理添加、刪除和修改用戶模板系統(tǒng)管理功能列表1系統(tǒng)模板管理添加、刪除和修改系統(tǒng)模板2管理用戶修改用戶信息和密碼添加和刪除用戶3系統(tǒng)參數(shù)設(shè)置設(shè)置系統(tǒng)的一些名稱和數(shù)據(jù)4數(shù)據(jù)庫管理數(shù)據(jù)庫的備份和還原博客系統(tǒng)用例:作方式、出現(xiàn)異常或發(fā)生錯(cuò)誤的情況下所遵循的路徑。◆修改歷史記錄:關(guān)于用例的修改時(shí)間、原因和修改人的詳細(xì)信息?!魡栴}:如果存在,則為與此用例的開發(fā)相關(guān)的問題或操作項(xiàng)目的列表?!魶Q策:關(guān)鍵決策的列表,這些決策通常由你的SME做出,并屬于用例的內(nèi)容。用戶登陸用例用例名稱用戶登陸用例IDUC-12參與者用戶、管理員描述用戶登陸系統(tǒng)過程風(fēng)險(xiǎn)低優(yōu)先級高難度低啟動主動進(jìn)入用戶登陸畫面或會話超時(shí)轉(zhuǎn)入用戶登陸畫面前置條件用戶需在登陸狀態(tài)后置條件將用戶信息放入會話中將用戶相關(guān)的博客信息放入會話中顯示博客閱讀主畫面主事件流用戶系統(tǒng)1.進(jìn)入或轉(zhuǎn)入用戶登陸畫面2.用戶輸入用戶名和密碼3.系統(tǒng)檢查用戶名和密碼是否合法4.系統(tǒng)檢查用戶名是否存在,密碼是否正確5.讀取用戶的基本信息、博客的基本信息放入會話中6.轉(zhuǎn)到管理博客的主畫面異常流異常流系統(tǒng)中不存在該用戶或用戶名錯(cuò)誤系統(tǒng)轉(zhuǎn)入登陸畫面異常用戶不存在或密碼錯(cuò)誤修改密碼用例用例名稱修改密碼用例IDUC-15參與者用戶、管理員描述用戶、管理員進(jìn)行密碼修改風(fēng)險(xiǎn)低優(yōu)先級高難度低啟動單擊“用戶修改密碼”主事件流用戶系統(tǒng)1.進(jìn)入用戶修改密碼,輸入舊密碼一次,新密碼兩次2.檢查密碼格式是否相符3.檢查舊密碼是否正確4.如果正確就進(jìn)行密碼修改,轉(zhuǎn)入密碼修改成功畫面異常流異常流密碼檢查不通過系統(tǒng)返回密碼修改畫面,提示舊密碼不正確、新密碼格式不符、兩次不同等異常用戶舊密碼錯(cuò)誤規(guī)則密碼需要大于6位小于12位管理博客賬號用例用例名稱管理博客賬號用例IDUC-25參與者管理員描述管理員進(jìn)行博客賬號管理主事件流用戶系統(tǒng)1.單擊博客賬號管理圖標(biāo)2.顯示博客賬號管理主畫面,包括博客賬號的列表及刪除按鈕可選事件流刪除博客賬號用戶系統(tǒng)1.單擊[刪除]按鈕2.提示確認(rèn)刪除3.單擊[確認(rèn)]刪除4.系統(tǒng)刪除博客賬號的信息,提示刪除成功表2-5修改博客賬號用例用例名稱修改博客信息用例IDUC-28參與者博客使用者描述修改博客賬號信息風(fēng)險(xiǎn)低優(yōu)先級高難度低啟動進(jìn)入修改博客畫面前置條件博客使用者已登陸后置條件更新Session中的博客信息主事件流用戶系統(tǒng)1.單擊修改博客信息鏈接2.系統(tǒng)顯示修改博客畫面,初始化該博客相關(guān)信息3.修改博客的相關(guān)信息,單擊【保存】4.檢查同名的博客是否存在、檢查博客的名稱、描述是否包含特殊字符5.保存博客的相關(guān)信息、提示保存成功異常流異常流同名博客賬號存在系統(tǒng)提示已有同名博客存在,提示用戶重新輸入博客的名稱系統(tǒng)提示輸入的信息不合法,提示用戶重新輸入博客的名稱、描述規(guī)則博客名稱不能包含特殊字符博客的名稱不能重復(fù)2.6數(shù)據(jù)字典數(shù)據(jù)字典是系統(tǒng)分析階段的重要文檔,它清楚地定義與詳細(xì)地解釋了數(shù)據(jù)流程圖上不能詳細(xì)表達(dá)的內(nèi)容,同時(shí)它也是同用戶交談的工具。下面詳細(xì)列出本系統(tǒng)中的數(shù)據(jù)字典:名字:用戶信息表別名:博客用戶信息表名字:用戶信息表別名:博客用戶信息表描述:記錄博客用戶的注冊信息表定義:用戶信息表=用戶名+用戶密碼位置:用戶驗(yàn)證中心名字:用戶名別名:描述:標(biāo)識用戶的憑證定義:用戶名=1{字符}10位置:用戶驗(yàn)證中心用戶信息表用戶管理部分名字:用戶密碼名字:用戶密碼別名:描述:驗(yàn)證用戶是否合法的唯一憑證定義:用戶密碼=1{字符}10位置:用戶驗(yàn)證中心用戶信息表用戶管理部分名字:博客名別名:名字:博客名別名:描述:博客網(wǎng)頁的名稱定義:博客名=1{字符}20位置:博客信息表名字:博客信息表別名:描述:記錄博客信息表定義:博客信息表=博客名+博客作者+博客類別位置:博客信息中心名字:博客類型別名:博客分類名字:博客類型別名:博客分類描述:標(biāo)識博客內(nèi)容所屬的不同分類定義:博客類型=1{字符}20位置:博客信息表名字:作者別名:博客用戶描述:博客網(wǎng)頁的制作者和管理者定義:作者=1{字符}20位置:博客信息表名字:日志信息表別名:文章信息表名字:日志信息表別名:文章信息表描述:記錄博客用戶發(fā)表的文章的信息表定義:日志信息表=日志主題+日志分類+發(fā)表日期位置:日志管理部分名字:日志主題別名:文章題目描述:標(biāo)識日志的內(nèi)容定義:日志主題=1{字符}20位置:日志管理部分名字:發(fā)表日期別名:名字:發(fā)表日期別名:描述:日志更新時(shí)間定義:發(fā)表日期=1{字符}20位置:日志信息表名字:日志分類別名:描述:日志內(nèi)容所屬的類型定義:日志分類ID=1{字符}20位置:日志信息表名字:評論主題別名:名字:評論主題別名:描述:代表評論是對哪個(gè)日志而發(fā)表的定義:評論主題=1{字符}20位置:評論信息表評論管理部分名字:評論信息表別名:描述:記錄對日志的評價(jià)信息定義:評論信息表=評論主題+評論人+評論日期位置:評論信息表評論管理部分名字:評論日期別名:名字:評論日期別名:描述:代表評論更新時(shí)間定義:評論日期=1{字符}20位置:評論信息表評論管理部分名字:評論人別名:描述:標(biāo)識評論的作者定義:評論人=1{字符}10位置:評論信息表評論管理部分名字:用戶名別名:名字:用戶名別名:描述:標(biāo)識用戶的憑證定義:用戶名=1{字符}20位置:管理信息表用戶驗(yàn)證中心名字:管理信息表別名:管理員信息表描述:記錄管理員的注冊信息表定義:管理信息表=用戶名+用戶密碼位置:用戶驗(yàn)證中心名字:用戶密碼名字:用戶密碼別名:描述:驗(yàn)證用戶是否合法的唯一憑證定義:用戶密碼=1{字符}50位置:管理信息表用戶驗(yàn)證中心名字:模板名稱別名:名字:模板名稱別名:描述:體現(xiàn)模板特色的名字定義:模板名稱=1{字符}20位置:模板信息表名字:模板信息表別名:描述:記錄制作博客的模板信息定義:模板信息表=模板名稱+提供者+模板代號位置:模板信息表名字:模板代號名字:模板代號別名:描述:唯一標(biāo)識某一個(gè)模板定義:模板代號=1{字符}20位置:模板信息表管理模板部分名字:提供者別名:描述:標(biāo)識模板的制作者定義:提供者=1{字符}10位置:管理模板部分3系統(tǒng)設(shè)計(jì)3.1系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)主要包括三大模塊組成:博客訪問者模塊、用戶模塊、系統(tǒng)管理員模塊。整個(gè)系統(tǒng)的結(jié)構(gòu)框架如下圖所示博客系統(tǒng)博客系統(tǒng)博客訪問者模塊博客用戶模塊博客系統(tǒng)管理員模塊閱讀日志功能塊博客列表功能塊公共模塊日志評論管理模塊修改個(gè)人博客信息管理公告模塊管理用戶模塊模板管理模塊系統(tǒng)參數(shù)設(shè)置模塊數(shù)據(jù)庫管理模塊注冊/登陸模塊3.2系統(tǒng)數(shù)據(jù)模型設(shè)計(jì)由于博客系統(tǒng)中對博客內(nèi)容的寫入、修改和更新工作比較復(fù)雜,所以它的主要任務(wù)是進(jìn)行大量的數(shù)據(jù)庫操作,這就必然要存儲和利用大量的、各種類型的數(shù)據(jù)。如何建立一個(gè)良好的數(shù)據(jù)庫結(jié)構(gòu)和文件組織形式,使其能夠迅速、準(zhǔn)確的查找所需要的數(shù)據(jù),是衡量這個(gè)系統(tǒng)的主要指標(biāo)之一。(一)概念模型的建立通過第二章中對系統(tǒng)數(shù)據(jù)流以及局部數(shù)據(jù)流和數(shù)據(jù)字典的分析,可以總結(jié)出系統(tǒng)中數(shù)據(jù)概念模型,如下圖所示:概念模型(E-R圖):模板模板用戶博客代號博客名類別名稱代號提供者用戶名編號用戶密碼選寫圖3-2用戶概念模型模板模板用戶博客分類系統(tǒng)管理員代號用戶密碼用戶權(quán)限名稱提供者分類號分類名用戶名用戶密碼用戶權(quán)限用戶名管理1NNN圖3-3系統(tǒng)概念模型數(shù)據(jù)模型的建立現(xiàn)根據(jù)上述概念模型,將它們轉(zhuǎn)化為數(shù)據(jù)模型,由于數(shù)據(jù)較多,現(xiàn)舉部分?jǐn)?shù)據(jù)進(jìn)行轉(zhuǎn)換。根據(jù)關(guān)系模型的轉(zhuǎn)換規(guī)則,轉(zhuǎn)換方式分為如下幾種:一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模型博客(博客ID、內(nèi)容、標(biāo)題、所屬分類ID、相關(guān)博客連接關(guān)鍵字、總點(diǎn)擊率、寫入入時(shí)間、作者、來源、標(biāo)題圖片連接、所屬專題ID、博客管理員ID、外部連接的Url);注冊會員(ID、姓名、密碼、email、自我論述、注冊日期、密碼問題、密碼答案、性別、生日、真實(shí)姓名、國家、省、市、電話、地址、qq);管理員(ID、姓名、密碼、系統(tǒng)標(biāo)識、權(quán)限、管理的博客分類ID、發(fā)表的日志數(shù)、自我論述、email);站點(diǎn)信息(熱門日志、最新日志、博客總數(shù)、日志總數(shù)、評論總數(shù)、會員總數(shù)、專題數(shù))關(guān)鍵字(ID、關(guān)鍵字名、關(guān)鍵字連接Url、關(guān)鍵字連接alt);模版(模版ID、模版名稱、模版類型、模版文件名、模版縮略圖、是否為默認(rèn)模版);系統(tǒng)風(fēng)格(ID、名稱、是否默認(rèn)風(fēng)格、css文件路徑);一個(gè)1:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模型包含(日志ID,內(nèi)容,標(biāo)題,所屬分類ID,相關(guān)連接關(guān)鍵字,總點(diǎn)擊率,發(fā)表時(shí)間,作者,來源,評論數(shù),評論ID,評論內(nèi)容,評論者姓名,評論時(shí)間,評論者ip地址,是所屬專題ID,發(fā)表者的用戶ID,上傳文件ID,上傳文件路徑)屬于(注冊用戶ID,姓名,密碼,email,自我論述,注冊日期,密碼問題,密碼答案,性別,生日,真實(shí)姓名,國家,省,市,電話,地址,qq)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)關(guān)系模型鏈接(關(guān)鍵字ID,關(guān)鍵字名,關(guān)鍵字連接Url,博客ID,內(nèi)容,標(biāo)題)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式評論(日志ID,評論者ID,博客分類ID)(三)數(shù)據(jù)模型的優(yōu)化數(shù)據(jù)庫邏輯設(shè)計(jì)的結(jié)果不是唯一的。為了進(jìn)一步提高系統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,必須對數(shù)據(jù)模型進(jìn)行優(yōu)化。由于數(shù)據(jù)較多,只就部分?jǐn)?shù)據(jù)舉例如下:1.確定數(shù)據(jù)依賴新聞關(guān)系模型中存在如下數(shù)據(jù)依賴:博客ID→內(nèi)容,博客ID→標(biāo)題,博客ID→所屬分類ID,博客ID→相關(guān)博客連接關(guān)鍵字,新聞ID→錄入時(shí)間,博客ID→作者,博客ID→來源,博客ID→日點(diǎn)擊率,博客ID→評論ID,博客ID→標(biāo)題圖片連接,博客ID→所屬專題ID,博客ID→發(fā)表者的管理員ID,博客ID→博客外部連接的Url,博客ID→上傳文件ID,博客ID→上傳文件路徑,博客ID→評論數(shù),上傳文件ID→上傳文件路徑,評論ID→評論內(nèi)容、評論ID→評論者姓名、評論ID→評論圖象、評論ID→評論時(shí)間、評論ID→評論者ip地址,(日志ID、評論ID)→評論數(shù),評論ID→評論數(shù)其中碼有(博客ID,評論ID,上傳文件ID,日志ID)2.消除冗余關(guān)系觀察上述依賴發(fā)現(xiàn)如果一篇日志含有多個(gè)評論,那么日志的其他屬性將重復(fù)存儲很多次,因此可以將關(guān)系模型轉(zhuǎn)化為:日志(日志ID、內(nèi)容、標(biāo)題、所屬分類ID、總點(diǎn)擊率、發(fā)表時(shí)間、作者、來源、評論數(shù)、標(biāo)題圖片連接、所屬專題ID、發(fā)表者的用戶ID、摘要、日志外部連接的Url、上傳文件ID、上傳文件路徑、評論ID)評論(日志ID、評論ID、評論數(shù)、評論內(nèi)容、評論者姓名、評論圖象、評論時(shí)間、評論者ip地址)3.考查部分函數(shù)依賴、傳遞函數(shù)依賴等的存在性,以確定關(guān)系模型分別達(dá)到的范式在“日志”關(guān)系模式中“評論ID”并不決定其他的非主屬性,同時(shí)存在“日志ID→上傳文件ID”,“上傳文件ID→上傳文件路徑”這樣的傳遞函數(shù)依賴,因此,在消除部分依賴和傳遞依賴后可以將關(guān)系轉(zhuǎn)換為:日志(日志ID、內(nèi)容、標(biāo)題、所屬分類ID、相關(guān)日志連接關(guān)鍵字、總點(diǎn)擊率、發(fā)表時(shí)間、作者、來源、評論數(shù)、是否頭條新聞、標(biāo)題圖片連接、所屬專題ID、發(fā)表者的用戶ID、日志外部連接的Url)評論(評論ID、評論內(nèi)容、評論者姓名、評論圖象、評論時(shí)間、評論者ip地址)上傳文件(上傳文件ID、上傳文件路徑)因此,可以確定這樣的關(guān)系模型達(dá)到了第三范式。4.確定是否分解由于,關(guān)系模型的規(guī)范化程度并不是越高越好,在實(shí)際應(yīng)用中高范式可能會帶來程序查詢時(shí)間的浪費(fèi),所以,在數(shù)據(jù)庫文件設(shè)計(jì)上,本系統(tǒng)達(dá)到第三范式已經(jīng)足夠,無須在做分解。3.3數(shù)據(jù)庫表的設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是項(xiàng)目開發(fā)中的系統(tǒng)設(shè)計(jì)中非常重要的另一個(gè)關(guān)鍵環(huán)節(jié),在這里之所以特別強(qiáng)調(diào)數(shù)據(jù)庫設(shè)計(jì)的重要性,上因?yàn)閿?shù)據(jù)庫設(shè)計(jì)就像在建設(shè)高樓大廈的根基一樣,如果設(shè)計(jì)不好,在后來的系統(tǒng)維護(hù)、變更和功能擴(kuò)充時(shí),甚至在系統(tǒng)開發(fā)過程中,將會引起比較大的問題,會遇到非常大的困難,大量的工作將會重新進(jìn)行。下面根據(jù)前面列出的系統(tǒng)用例圖,開始設(shè)計(jì)相關(guān)數(shù)據(jù)庫。(1)數(shù)據(jù)庫表及表之間的相互關(guān)系本系統(tǒng)需要設(shè)計(jì)的數(shù)據(jù)庫表如下數(shù)據(jù)庫表序號數(shù)據(jù)庫表數(shù)據(jù)庫表存儲內(nèi)容1user存儲用戶信息、權(quán)限及用戶的博客信息2classname存儲分類信息3blog存儲日志信息4sysskin存儲系統(tǒng)模板信息5comment存儲評論信息6userskin存儲用戶模板信息7admin存儲系統(tǒng)管理員信息上表列出了本系統(tǒng)所用到的數(shù)據(jù)表,并根據(jù)流程和功能表示出數(shù)據(jù)各表之間的關(guān)系,具體如下。分類表分類表Classname日志表Blog用戶表User評論表Comment管理員表Admin模板表Skin數(shù)據(jù)庫表關(guān)系(簡化關(guān)系圖)(2)數(shù)據(jù)庫表結(jié)構(gòu)的詳細(xì)設(shè)計(jì)下面開始對上一節(jié)列出的數(shù)據(jù)表逐一做出詳細(xì)說明。存儲用戶信息、權(quán)限及用戶的博客信息的表如下。博客用戶信息表Blog序號字段名字段類型說明備注1BlogIDint博客編號鍵2SubjectVarchar主題3UsernameVarchar用戶登陸名惟一4PasswordVarchar用戶密碼5DescriptionVarchar描述6EmailVarchar用戶電子郵件7EntryNumVarchar被訪問次數(shù)8NameVarchar博客名9RoleVarchar角色級別0=系統(tǒng)管理員1=普通用戶10EssayCountint隨筆數(shù)11ArticleCountint文章篇數(shù)12FeedCountInt評論數(shù)欄目分類表classname日志信息表Blog模板信息表Skin序號字段名字段類型說明備注1IDInt模板編號鍵2skinnameVarchar主題3skinmianVarchar樣式4autherVarchar提供者5isdefaultInt是否是默認(rèn)模板6timeDatetime更新時(shí)間評論信息表Comment序號字段名字段類型說明備注1feedBackIDInt評論編號鍵2subjectVarchar主題3contentVarchar內(nèi)容4blogIDInt博客編號5categoryIDInt分類號6contentIDInt排序號7categoryVarchar所屬分類8timeDatetime更新時(shí)間9usernameVarchar評論人名10urlVarchar路徑系統(tǒng)管理員信息表admin序號字段名字段類型說明備注1IDInt編號鍵2usenameVarchar用戶名3passwardVarchar路徑4lastloginipInt最后登陸的IP5lastlogintimeInt最后登陸時(shí)間3.4系統(tǒng)開發(fā)與運(yùn)行環(huán)境確定系統(tǒng)開發(fā)環(huán)境.1系統(tǒng)開發(fā)環(huán)境及開發(fā)工具開發(fā)工具對一個(gè)系統(tǒng)的成敗具有決定性作用。由于本系統(tǒng)是應(yīng)用于網(wǎng)絡(luò)的,因此,我們選擇了Asp技術(shù)進(jìn)行開發(fā),同時(shí),選用Access作為系統(tǒng)后臺數(shù)據(jù)庫,開發(fā)中將用到以下主要幾款開發(fā)工具:開發(fā)工具名稱軟件用途Microsoftvisio2003系統(tǒng)設(shè)計(jì),UML建模等MicrosoftAccess建立系統(tǒng)的后臺數(shù)據(jù)庫ASP編寫代碼實(shí)現(xiàn)網(wǎng)站動態(tài)功能DreamweaverMX2004靜態(tài)頁面的設(shè)計(jì)、制作.2使用Asp作為系統(tǒng)開發(fā)工具的優(yōu)點(diǎn)ASP就是由服務(wù)器端腳本、對象以及組件拓展過的標(biāo)準(zhǔn)網(wǎng)頁(也可以理解為在普通的網(wǎng)頁中嵌入了一些擴(kuò)展的指令),另一方面,ASP也可以理解為一種支持ASP擴(kuò)展的Web服務(wù)器環(huán)境。它最終顯示在瀏覽器中的網(wǎng)頁并不是在建立初期就存在的,而是當(dāng)某個(gè)瀏覽器向服務(wù)器提出請求時(shí),它才根據(jù)需要產(chǎn)生需要的標(biāo)準(zhǔn)網(wǎng)頁,這克服了過去HTML編寫的網(wǎng)頁不能更改的缺點(diǎn),從而使網(wǎng)頁上可以存在許多動態(tài)的信息。系統(tǒng)運(yùn)行環(huán)境硬件環(huán)境:服務(wù)器端:推薦配置為512M內(nèi)存,CPU為IntelPentiumⅣ1700MHZ,硬盤容量為80G的微機(jī)。通信網(wǎng)絡(luò):Internet網(wǎng)軟件環(huán)境:服務(wù)器端:操作系統(tǒng):Windows2000Server/NT/2003Server/XP數(shù)據(jù)庫:ACCESSWeb服務(wù)器:Internet信息服務(wù)5.1或以上版本Microsoft.NET框架:.NETFramework1.1客戶端:操作系統(tǒng):Windows2000/XP/2003瀏覽器:InternetExplore6.0或以上版本推薦分辨率:1024*768或以上3.5系統(tǒng)實(shí)現(xiàn)的若干關(guān)鍵技術(shù)UML建模技術(shù)1997年,OMG組織(ObjectManagementGroup對象管理組織)發(fā)布了統(tǒng)一建模語言(UnifiedModelingLanguage,UML)。UML是一種可以應(yīng)用于任何軟件開發(fā)過程的標(biāo)記法和語義語言,UML的目標(biāo)之一就是為開發(fā)團(tuán)隊(duì)提供標(biāo)準(zhǔn)通用的設(shè)計(jì)語言來開發(fā)和構(gòu)建計(jì)算機(jī)應(yīng)用。UML提出了一套IT專業(yè)人員期待多年的統(tǒng)一的標(biāo)準(zhǔn)建模符號,通過使用UML,這些人員能夠閱讀和交流系統(tǒng)架構(gòu)和設(shè)計(jì)規(guī)劃--就像建筑工人多年來所使用的建筑設(shè)計(jì)圖一樣。UML之所以被稱為統(tǒng)一建模語言,是因?yàn)樗航y(tǒng)一了多種建模方法統(tǒng)一了軟件產(chǎn)品開發(fā)的整個(gè)過程統(tǒng)一了實(shí)現(xiàn)語言和平臺UML適用于以面向?qū)ο蠹夹g(shù)來描述任何類型的系統(tǒng),可以用UML對軟件密集型系統(tǒng)的制品進(jìn)行可視化、詳述、構(gòu)造和文檔化,而且適用于系統(tǒng)開發(fā)的不同階段,從需求規(guī)格描述直至系統(tǒng)完成后的測試和維護(hù),它記錄了對必須構(gòu)造的系統(tǒng)的決定和理解,可用于對系統(tǒng)的理解、設(shè)計(jì)、瀏覽、配置、維護(hù)和信息控制。最常用的UML圖包括:用例圖、類圖、序列圖、狀態(tài)圖、活動圖、組件圖和部署圖。因?yàn)楸鞠到y(tǒng)開發(fā)設(shè)計(jì)所涉及的范圍,以下僅對用例圖、類圖、活動圖三種UML圖給出簡要說明:用例圖用例圖是使用UML設(shè)計(jì)新系統(tǒng)的起點(diǎn),說明誰要使用系統(tǒng)以及他們使用該系統(tǒng)可以做什么,描述的是外部執(zhí)行者所理解的系統(tǒng)功能。用例圖的主要目的是幫助開發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求,包括基于基本流程的"角色"(也就是與系統(tǒng)交互的其他實(shí)體)關(guān)系,以及系統(tǒng)內(nèi)用例之間的關(guān)系。用例圖一般表示出用例的組織關(guān)系--要么是整個(gè)系統(tǒng)的全部用例,要么是完成具有功能(例如,所有安全管理相關(guān)的用例)的一組用例。要在用例圖上顯示某個(gè)用例,可繪制一個(gè)橢圓,然后將用例的名稱放在橢圓的中心或橢圓下面的中間位置。要在用例圖上繪制一個(gè)角色(表示一個(gè)系統(tǒng)用戶),可繪制一個(gè)人形符號。活動圖活動圖表示在處理某個(gè)活動時(shí),兩個(gè)或者更多類對象之間的過程控制流。活動圖可用于在業(yè)務(wù)單元的級別上對更高級別的業(yè)務(wù)過程進(jìn)行建模,或者對低級別的內(nèi)部類操作進(jìn)行建模。根據(jù)我的經(jīng)驗(yàn),活動圖最適合用于對較高級別的過程建模,比如公司當(dāng)前在如何運(yùn)作業(yè)務(wù),或者業(yè)務(wù)如何運(yùn)作等。這是因?yàn)榕c序列圖相比,活動圖在表示上"不夠技術(shù)性的",但有業(yè)務(wù)頭腦的人們往往能夠更快速地理解它們?;顒訄D的符號集與狀態(tài)圖中使用的符號集類似。像狀態(tài)圖一樣,活動圖也從一個(gè)連接到初始活動的實(shí)心圓開始?;顒邮峭ㄟ^一個(gè)圓角矩形(活動的名稱包含在其內(nèi))來表示的?;顒涌梢酝ㄟ^轉(zhuǎn)換線段連接到其他活動,或者連接到判斷點(diǎn),這些判斷點(diǎn)連接到由判斷點(diǎn)的條件所保護(hù)的不同活動。結(jié)束過程的活動連接到一個(gè)終止點(diǎn)(就像在狀態(tài)圖中一樣)。ASP與IIS技術(shù)IIS簡介Wsb服務(wù)器是Web應(yīng)用程序的心臟。IIS(InternetInformationServer)是微軟推出的WindowsNTOptionPack的主要成員,作為Win2000server的擴(kuò)展,自推出以來已經(jīng)有了很大發(fā)展,其體系結(jié)構(gòu)是當(dāng)今市場上最受關(guān)注的Web服務(wù)器之一。新推出的IIS6.0版本增強(qiáng)了系統(tǒng)安全性,具有服務(wù)器端腳本開發(fā)調(diào)試,內(nèi)容管理和站點(diǎn)分析,崩潰防護(hù),內(nèi)置JAVA虛擬機(jī)及全面支持ASP等強(qiáng)大功能。IIS與ASP的結(jié)合在過去,客戶機(jī)/服務(wù)器結(jié)構(gòu)的設(shè)計(jì)與Web的相關(guān)技術(shù)幾乎處于平行線上,兩者相互獨(dú)立并無法作出集成性的設(shè)計(jì)?,F(xiàn)在我們利用IIS+ASP構(gòu)成三層式Web結(jié)構(gòu)(如圖2.1所示)的中間一層,將客戶機(jī)/服務(wù)器結(jié)構(gòu)與Web密切結(jié)合,完成前后端兩者的集成輸出功能,使得Web站點(diǎn)的開發(fā)更方便,實(shí)現(xiàn)的功能更強(qiáng)大。利用IIS+ASP技術(shù)來集成Web前后端所帶來的強(qiáng)大效益可歸結(jié)為以下幾個(gè)方面:減少構(gòu)建和維護(hù)成本加快聯(lián)機(jī)過程應(yīng)用軟件集中在服務(wù)器端開發(fā)管理前端可使用任何瀏覽器(IE、Netscape…..)后端可存取任何數(shù)據(jù)庫(SQL、Access…..)可使用任何腳本語言開發(fā)(VBScript、JavaScript、PERL…..)利用ADO訪問數(shù)據(jù)庫技術(shù)ADO(ActiveXDataObjects)是一種操作Microsoft所支持的數(shù)據(jù)庫的新技術(shù)。在ASP中,ADO可以看作是一個(gè)服務(wù)器組件(ServerComponent),更簡單點(diǎn)說,是一系列的對象,應(yīng)用這些功能強(qiáng)大的對象,即可輕松完成對數(shù)據(jù)庫復(fù)雜的操作。本文中個(gè)性化頁面的實(shí)現(xiàn)便大量地用到了ADO技術(shù)。具體的操作步驟可以歸納為以下幾步:1.創(chuàng)建數(shù)據(jù)庫源名(DSN)2.創(chuàng)建數(shù)據(jù)庫鏈接(Connection)3.創(chuàng)建數(shù)據(jù)對象4.操作數(shù)據(jù)庫5.關(guān)閉數(shù)據(jù)對象和鏈接每一步的作法如下:一、創(chuàng)建數(shù)據(jù)源名4數(shù)據(jù)庫連接函數(shù)為什么要將本部分列出來呢?因?yàn)樵谡麄€(gè)博客系統(tǒng)的開發(fā)過程中,數(shù)據(jù)庫連接是必不可少的,是公用的,我們可以把這一部分先拿出來,單獨(dú)做成一個(gè)函數(shù),在需要的時(shí)候只需調(diào)用就可以了,而不用每次都去寫連接數(shù)據(jù)庫的程序,這種做法叫做復(fù)用。本系統(tǒng)使用的是Access數(shù)據(jù)庫,在ASP中同數(shù)據(jù)打交道的主要是ADO,對數(shù)據(jù)進(jìn)行操作處理,要讓ADO對像能夠存取數(shù)據(jù)庫,最重要的東西就是OLEDB及ODBC驅(qū)動程序。任何一種數(shù)據(jù)庫,必須具備對應(yīng)的驅(qū)動程序,ADO對象才能存取。本系統(tǒng)連接Access數(shù)據(jù)庫使用的是微軟的OLEDB機(jī)制,博客系統(tǒng)數(shù)據(jù)庫連接的關(guān)鍵代碼如下: DimDb 'access數(shù)據(jù)庫連接參數(shù): Db="data/oblog2.mdb" ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(db)else 'sql數(shù)據(jù)庫連接參數(shù):數(shù)據(jù)庫名、用戶密碼、用戶名、連接名(本地用local,外地用IP) DimSqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName SqlDatabaseName="oblog" SqlPassword="oblog" SqlUsername="oblog" SqlLocalName="(local)" ConnStr="Provider=Sqloledb;UserID="&SqlUsername&";Password="&SqlPassword&";InitialCatalog="&SqlDatabaseName&";DataSource="&SqlLocalName&";"第四行為ConnStr賦值。這是連接數(shù)據(jù)庫中很關(guān)鍵的一步,這里聲明的是OLEDB連接數(shù)據(jù)庫的方式。再看DataSource部分,它的后面跟的就是數(shù)據(jù)庫文件所在的路徑。這里說明一下Server.MapPath函數(shù),它是ASP內(nèi)置的Server對象的一個(gè)函數(shù),用來獲得網(wǎng)站目錄下文件的絕對路徑。一般來說,凡是涉及到具體目錄的地方,都不要直接使用目錄名,而用Server.MapPath函數(shù)來代替。使用上面的驅(qū)動程序,只要保證數(shù)據(jù)庫路徑的正確就不會出現(xiàn)問題。5詳細(xì)設(shè)計(jì)根據(jù)對系統(tǒng)所需實(shí)現(xiàn)功能的分析和系統(tǒng)結(jié)構(gòu)設(shè)計(jì),現(xiàn)將對系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì)。但由于系統(tǒng)模塊的代碼較多,現(xiàn)就系統(tǒng)的幾個(gè)重要模塊的部分設(shè)計(jì)在以下的幾章中進(jìn)行舉例,其中在第五章中將介紹注冊登陸系統(tǒng)中的部分模塊,而在第六章中會介紹博客管理系統(tǒng)中的部分模塊。5.1系統(tǒng)登錄模塊模塊簡介該模塊是博客系統(tǒng)中的一個(gè)重要組成,用于完成對用戶權(quán)限的判定。當(dāng)啟動系統(tǒng)時(shí),系統(tǒng)即將用戶視為一般用戶,因此一般用戶直接能進(jìn)行博客瀏覽和博客閱讀。注冊用戶需提交密碼和用戶名登陸系統(tǒng),之后不僅可以完成以上功能,還能建立自己的博客并進(jìn)行管理;倘若忘記了密碼,可以進(jìn)行密碼查詢,此時(shí)系統(tǒng)會根據(jù)用戶填寫的用戶名查找密碼的問題以提示用戶,用戶輸入正確密碼后可修改密碼。一般用戶若想注冊,可以進(jìn)行資料登記,資料提交后系統(tǒng)審核通過后系統(tǒng)會提醒你注冊成功,通過首頁登陸即可進(jìn)入自己的博客管理頁面。管理員(無論是系統(tǒng)管理員,還是博客管理員都一樣)需提交用戶名和密碼,系統(tǒng)管理員還需輸入系統(tǒng)隨機(jī)產(chǎn)生的校驗(yàn)碼進(jìn)行登陸,之后進(jìn)入管理頁面。5.2模塊體系結(jié)構(gòu)為實(shí)現(xiàn)上述功能,將該模塊分為了三個(gè)子模塊:新用戶注冊子模塊、注冊用戶登陸子模塊、系統(tǒng)管理員登陸子模塊。各模塊之間關(guān)系如下:系統(tǒng)登陸模塊系統(tǒng)登陸模塊新會員注冊進(jìn)入博客管理界面管理員登陸登陸成功注冊會員登陸注冊成功提交審核填寫注冊資料登陸系統(tǒng)管理頁面系統(tǒng)登陸模塊圖5.3運(yùn)行圖修改成功修改成功系統(tǒng)初始頁面登記新密碼填寫答案顯示問題提交數(shù)據(jù)新用戶注冊管理登陸管理登陸頁面注冊用戶登陸用戶資料登記是否同意網(wǎng)站條例是否符合提交成功是否符合是否符合數(shù)據(jù)存入表中提交密碼用戶名系統(tǒng)查詢登陸成功忘記密碼填寫會員名系統(tǒng)查詢存入數(shù)據(jù)庫管理登陸頁面產(chǎn)生校驗(yàn)碼填寫用戶名密碼和校驗(yàn)碼查詢admin表否否否否圖5-2登陸系統(tǒng)運(yùn)行圖5.4設(shè)計(jì)說明新用戶注冊子模塊用戶注冊,首先要檢查的就是用戶填寫的信息,其中包括:字段是否空白,若空白則不接受。輸入的E-mail是否正確。兩次輸入的密碼是否一致。用戶名是否被使用電子郵件是否被使用。注冊頁面如圖:這個(gè)模塊的功能實(shí)現(xiàn)中用Request.Form(“name”)來獲取前端提交的name文本框的值。Form是Request的一個(gè)獲得表單的集合。為了檢測用戶名的長度,這里用到了VBScript的一個(gè)函數(shù)Cint()。下面是它的用法:Cint(expression)我們要把信息寫入數(shù)據(jù)庫,而數(shù)據(jù)庫對一些特殊的字符無法正確處理,所以我們使用函數(shù)InStr()來判斷那些字符不能在用戶名中存在。用法如下:InStr([start,]string1,string2[,compare])驗(yàn)證完用戶名還要對密碼進(jìn)行處理,密碼是一個(gè)用戶在博客中比較隱秘的部分,這里我們采取了MD5加密的方式,加密文件見inc文件夾下的md5.asp文件。接著要對電子郵件地址進(jìn)行驗(yàn)證,電子郵件地址的驗(yàn)證比較困難,因?yàn)殡娮余]件的用戶名可以五花八門,后面的域名也是多種多樣,但還是有一定的規(guī)律可循,本系統(tǒng)寫了一個(gè)函數(shù)來檢驗(yàn)電子郵件地址。郵件地址“用戶名@域名”是最簡單的,在域名中包含的后綴有很多種。在程序name=Split(email,”@”)里又用到一個(gè)VBScript的函數(shù)Split(),它的主要功能是返回基于0的一維數(shù)組,其中包含指定數(shù)目的子字符川。函數(shù)用法如下:Split(expression[,delimiter[,count[,compare]]])Split在這里的應(yīng)用很明顯,用@符號來拆分電子郵件地址,形成數(shù)組,然后判斷數(shù)組長度。驗(yàn)證完畢后,就要把數(shù)據(jù)寫到數(shù)據(jù)庫里了,但是在寫入數(shù)據(jù)庫之前我們還要驗(yàn)證一些信息,我們要保證用戶名的唯一性,還要保證E-mail的唯一性,這些都是數(shù)據(jù)庫內(nèi)驗(yàn)證比較簡單。在注冊模塊中要向數(shù)據(jù)庫中寫入信息,這里將用到數(shù)據(jù)庫有關(guān)的對象RecordSet,我們使用Server.CreateObject方法來創(chuàng)建這個(gè)對象。管理員登陸子模塊管理員登陸模塊由管理員登陸頁面組成,它是博客管理部分的登陸頁面。登陸頁面流程圖:登錄頁面代碼程序的實(shí)現(xiàn)部分:登陸界面如上圖所示。管理員在前臺輸入并提交信息,每一個(gè)提交程序都會用到Form容器,在這個(gè)容器里含有兩個(gè)輸入對象,一個(gè)是用戶名,一個(gè)是用戶密碼,系統(tǒng)的驗(yàn)證主要依靠這兩個(gè)對象輸入框來完成。用戶在在前臺輸入信息后,系統(tǒng)在后臺要進(jìn)行驗(yàn)證,以便管理員用戶登陸,管理博客系統(tǒng),驗(yàn)證代碼見程序文件admin_login.asp.這個(gè)程序的主要功能就是接受用戶輸入的參數(shù),對用戶輸入的參數(shù)進(jìn)行判斷,判斷通過后向數(shù)據(jù)庫系統(tǒng)提交,返回?cái)?shù)據(jù)庫查詢結(jié)果,當(dāng)有相應(yīng)的合法數(shù)據(jù)后,系統(tǒng)將把此用戶的ID號賦給系統(tǒng)進(jìn)行驗(yàn)證的Session變量,然后系統(tǒng)將直接到達(dá)博客系統(tǒng)的管理首頁。校驗(yàn)碼產(chǎn)生的實(shí)現(xiàn)部分:我們發(fā)現(xiàn)用戶每次登陸時(shí)的驗(yàn)證碼都不一樣,這樣做的目的是為了防止有人利用破解程序暴力破解用戶的密碼。程序設(shè)計(jì)由系統(tǒng)產(chǎn)生的隨機(jī)數(shù)形成校驗(yàn)碼,并繪成圖片以顯示數(shù)據(jù)于頁面上,將其變?yōu)橛脩艨梢暤男r?yàn)碼,生成此碼的同時(shí),將其數(shù)據(jù)存入系統(tǒng)緩存中,以便系統(tǒng)對數(shù)據(jù)的核實(shí)。為實(shí)現(xiàn)此功能,引入Randomize初始化隨機(jī)數(shù)生成器,使用說明如下:Randomize[number]Number參數(shù)可以是任何有效的數(shù)值表達(dá)式。Randomize使用number參數(shù)初始化Rnd函數(shù)的隨機(jī)數(shù)生成器,賦給它新的種子值。如果省略number,則使用系統(tǒng)計(jì)時(shí)期返回的值作為新的種子值。數(shù)字的產(chǎn)生主要依靠以下程序語句:<%SetAdos=Server.CreateObject(“Adodb.Stream”)%>6博客管理系統(tǒng)模塊該模塊是博客管理系統(tǒng)中的重要模塊,它也是博客管理系統(tǒng)的主模塊,該模塊的功能豐富,管理員對本系統(tǒng)的后臺管理與操作都將由該模塊來完成。該模塊有如下幾項(xiàng)功能:博客管理(添加/管理日志、管理評論、管理博客公告)會員管理(修改用戶信息)用戶管理(添加/管理管理員)系統(tǒng)管理(設(shè)置系統(tǒng)參數(shù)、備份數(shù)據(jù)庫文件、添加/管理模版文件、管理上傳文件、統(tǒng)計(jì)站內(nèi)數(shù)據(jù))分類管理(添加/管理博客分類、添加/管理日志專題)因此為實(shí)現(xiàn)各部分的功能,為每部分功能設(shè)計(jì)了相應(yīng)的子模塊?,F(xiàn)舉部分子模塊的詳細(xì)設(shè)計(jì):6.1博客管理子模塊模塊簡介該模塊用于對系統(tǒng)中所有的博客進(jìn)行管理,該模塊可以說是博客系統(tǒng)中最主要的模塊,博客用戶就是在這個(gè)模塊中創(chuàng)建自己的博客發(fā)表自己的日志的。這個(gè)模板主要實(shí)現(xiàn)的功能有:發(fā)表/管理日志、管理評論。模塊體系結(jié)構(gòu)本模塊分成六個(gè)子模塊:寫新日志模塊、管理日志模塊、管理評論模塊、專題分類模塊、公告管理模塊、模板管理模塊。各模塊之間關(guān)系如下:博客管理模塊寫新日志模塊管理日志模塊博客管理模塊寫新日志模塊管理日志模塊管理評論模塊管理模板模塊公告管理模塊專題分類模塊圖6-1模塊體系結(jié)構(gòu)圖設(shè)計(jì)說明(1)發(fā)表新日志子模塊寫新日志是新聞管理頁面的組成部分,為此設(shè)計(jì)了一個(gè)日志信息編輯錄入頁面,為了實(shí)現(xiàn)這個(gè)功能而設(shè)計(jì)了相應(yīng)的數(shù)據(jù)庫文件blog(日志信息表)表。此部分的信息是由博客用戶提交的,當(dāng)管理員提交新的日志信息時(shí),系統(tǒng)會將數(shù)據(jù)存入blog表中。1.發(fā)表新日志程序流程圖:系統(tǒng)就是根據(jù)下面的運(yùn)行流程把新的日志信息寫入數(shù)據(jù)庫的。程序流程如下左圖管理日志子模塊是博客管理頁面的組成部分,該模塊的數(shù)據(jù)庫文件為blog(日志信息表)表。此部分的信息是由博客管理員提交的,當(dāng)博客管理員提交對日志的修改/刪除信息時(shí),系統(tǒng)會將修改數(shù)據(jù)存入blog表中或刪除
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新能源汽車充電設(shè)施建設(shè)承諾合同范本4篇
- 2025年度儲油罐銷售與市場推廣服務(wù)合同4篇
- 2025年度地下綜合管廊打樁工程分包合同范本4篇
- 二零二五年度創(chuàng)業(yè)型企業(yè)環(huán)保信用評級與合規(guī)管理合同4篇
- 2025年度車庫物業(yè)管理服務(wù)合同范例4篇
- 二零二五年度新型購物中心租賃管理合同4篇
- 2025年度個(gè)人住宅裝修工程合同風(fēng)險(xiǎn)評估協(xié)議
- 2025代課教師聘用合同正式版
- 2025合同模板股權(quán)贈與協(xié)議只享有分紅權(quán)范本
- 2025市場承包經(jīng)營合同
- 垃圾車駕駛員聘用合同
- 2024年大宗貿(mào)易合作共贏協(xié)議書模板
- 新聞記者證600道考試題-附標(biāo)準(zhǔn)答案
- 變壓器搬遷施工方案
- 單位轉(zhuǎn)賬個(gè)人合同模板
- 八年級語文下冊 成語故事 第十五課 諱疾忌醫(yī) 第六課時(shí) 口語交際教案 新教版(漢語)
- 中考語文二輪復(fù)習(xí):記敘文閱讀物象的作用(含練習(xí)題及答案)
- 2024年1月高考適應(yīng)性測試“九省聯(lián)考”數(shù)學(xué) 試題(學(xué)生版+解析版)
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- EPC項(xiàng)目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設(shè)與設(shè)備配置標(biāo)準(zhǔn)
評論
0/150
提交評論