




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘 要 隨著 internet 的廣泛應(yīng)用,動(dòng)態(tài)網(wǎng)頁技術(shù)也應(yīng)運(yùn)而生。本文介紹了應(yīng)用 asp 動(dòng)態(tài)網(wǎng)頁技術(shù)開發(fā)博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。 博客系統(tǒng)主要為用戶提供發(fā)表文章、瀏覽文章等功能,用戶通過 internet 可 以發(fā)表一些自己撰寫的文章以和其他網(wǎng)友進(jìn)行交流。博客系統(tǒng)主要實(shí)現(xiàn)了文章 管理的數(shù)字化、信息化、智能化,是打破傳統(tǒng)報(bào)刊、雜志發(fā)表文章方式的新嘗 試。 本系統(tǒng)的開發(fā)設(shè)計(jì)實(shí)現(xiàn)采用 asp 技術(shù),系統(tǒng)后臺使用 sql server 2008 數(shù)據(jù) 庫,并通過使用 odbc 技術(shù)訪問。 本文對博客系統(tǒng)進(jìn)行整體分析,明確了系統(tǒng)的可行性和用戶需求;根據(jù)模 塊化原理,規(guī)劃設(shè)計(jì)了系統(tǒng)功能模塊;在數(shù)據(jù)庫設(shè)計(jì)
2、部分,詳細(xì)說明了系統(tǒng)數(shù) 據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)庫的完整性、安全性措施;程序設(shè)計(jì)則采用面向?qū)ο蟮某绦?設(shè)計(jì)思想,提出系統(tǒng)的程序設(shè)計(jì)思路,對前臺與后臺功能的程序?qū)崿F(xiàn)進(jìn)行了詳 細(xì)論述;系統(tǒng)測試部分,具體分析測試過程中出現(xiàn)的主要問題,并提出了解決 方案,實(shí)現(xiàn)系統(tǒng)功能。最后,對系統(tǒng)作以客觀、全面的評價(jià),并對進(jìn)一步改進(jìn) 提出了建議。 關(guān)鍵字:博客關(guān)鍵字:博客 blog asp.net 數(shù)據(jù)庫數(shù)據(jù)庫 abstract with the widely application of the internet, dynamic web page technology also arises at the histori
3、c moment. this paper introduces the application of asp dynamic web technology to develop the design and implementation of blog system. blog system is mainly to provide users with published articles, browse the articles, and other functions, the user can through the internet, published some of my wri
4、ting to communicate with other users. blog system mainly implements the management of the digital, information, intelligence, is to break the traditional way of newspapers, magazines published new attempt. the development and design of this system using asp technology, use sql server 2008 database s
5、ystem background, and by using odbc technology to access. in this paper, the blog system on the overall analysis of the feasibility of system and user needs; according to the principle of modularization, planning and design the system function module; in database design part, detailed the system dat
6、abase structure and database integrity, security measures; program design, the use of the object-oriented program design thought, system program design thinking is put forward, on the front desk and backstage function program implementation is discussed in detail; the system test, concrete analysis
7、of the main problems in the testing process, and put forward the solution, the realization of system functions. finally, to make in an objective and comprehensive evaluation system, and puts forward suggestions for further improvement. key words: blog blog asp.net database 目 錄 摘 要.i abstract .ii 目 錄
8、.iii 第一章 系統(tǒng)概述.1 1.1 項(xiàng)目背景 .1 1.2 系統(tǒng)開發(fā)的意義 .1 1.2.1 發(fā)布想法.1 1.2.2 博客的用途.2 1.3 系統(tǒng)開發(fā)的目標(biāo) .2 1.3.1 任何擁有博客的人都可以做到.2 1.3.2 訪問博客系統(tǒng)的人,可以做到.2 第二章 blog 系統(tǒng)分析.3 2.1 可行性分析 .3 2.1.1 經(jīng)濟(jì)可行性。.3 2.1.2 技術(shù)上的可行性。.3 2.1.3 時(shí)機(jī)可行性。.3 2.1.4 管理上的可行性。.3 2.2 需求分析.3 2.2.1 管理員登錄.3 2.2.2 文章管理.4 2.1.3 系統(tǒng)信息管理.4 2.3 系統(tǒng)的主要技術(shù)分析.4 2.3.1asp.
9、net 介紹.4 2.3.2web form 控件.5 2.3.3asp.net 配置.5 2.3.4xml.5 2.4 數(shù)據(jù)庫需求分析.5 第三章 blog 系統(tǒng)設(shè)計(jì).7 3.1 系統(tǒng)設(shè)計(jì)方案 .7 3.1.1 系統(tǒng)功能模塊.7 3.1.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì).8 3.2 數(shù)據(jù)庫的完整性和安全性.11 3.3 公用模塊的編寫 .12 3.3.1 數(shù)據(jù)庫連接文件.12 3.3.2 用戶登錄和注銷.12 第四章 blog 系統(tǒng)的界面設(shè)計(jì)與實(shí)現(xiàn).13 4.1 界面頭設(shè)計(jì) .13 4.1.1 設(shè)計(jì)思想.13 4.1.2 效果預(yù)覽.13 4.1.3 身份驗(yàn)證.13 4.1.4 首頁設(shè)計(jì)與實(shí)現(xiàn).15 4
10、.1.5 設(shè)計(jì)思想.15 4.1.6 用戶注冊模塊設(shè)計(jì).16 4.1.7“文章評論”功能模塊設(shè)計(jì).19 4.2 管理界面設(shè)計(jì) .19 4.2.1“添加文章”功能模塊.19 4.2.2“文章管理”功能模塊.20 第五章 系統(tǒng)測試.21 第六章 結(jié)束語.23 致 謝.25 參考文獻(xiàn).27 第一章 系統(tǒng)概述 1.1 項(xiàng)目背景 blog,是 we blog 的簡稱。we blog,其實(shí)是 web 和 log 的組合詞。 web,指 world wide web,當(dāng)然是指互連網(wǎng)了;log 的原義則是“航海日志” , 后指任何類型的流水記錄。合在一起來理解,we blog 就是在網(wǎng)絡(luò)上的一種流 水記錄形式
11、或者簡稱“網(wǎng)絡(luò)日志” 。blogger 或 we blogger,是指習(xí)慣于日常記 錄并使用 web log 工具的人。雖然在大陸早些時(shí)候或者臺灣等地,對此概念的 譯名不盡相同(有的稱為“網(wǎng)志” ,有的稱之為“網(wǎng)錄”等等) ,但目前已基本 統(tǒng)一到“博客”一詞上來。該詞最早是在 2002 年 8 月 8 日由著名的網(wǎng)絡(luò)評論家 王俊秀和方興東共同撰文提出來的。博客也好,網(wǎng)志也罷,僅僅是一種名稱而 已,它的本義還是逃不過 web log 的范圍。只是,通常我們所說的“博客” ,既 可用作名詞 blogger 或 web logger指具有博客行為的一類人;也可以作動(dòng)詞 用(相當(dāng)于英文中的 web l
12、og 或 blog) ,指博客采取的具有博客行為反映、是第 三方可以用視覺感受到的行為,即博客們所撰寫的 blog。因此, “他/她是一位 博客,他/她天天在博客”及“博客博什么客?”在中文語法與邏輯上都是正確。 只是不同場合的用法不同罷了。 博客存在的方式,一般分為三種類型:一是托管博客,無須自己注冊域名、 租用空間和編制網(wǎng)頁,博客們只要去免費(fèi)注冊申請即可擁有自己的博客空間, 是最“多快好省”的方式。如英文的 、 及多種 語言的博客室()等都提供這樣的服務(wù);二是自建獨(dú)立網(wǎng)站的博客, 有自己的域名、空間和頁面風(fēng)格,需要一定的條件。如方興東建立的“博客中 國”站() ;三是附屬博客,將自己的博客
13、作為某一個(gè)網(wǎng)站 的一部分(如一個(gè)欄目、一個(gè)頻道或者一個(gè)地址) 。這三類之間可以演變,甚至 可以兼得,一人擁有多種博客網(wǎng)站。 目前進(jìn)行網(wǎng)站開發(fā)的語言很多,如 asp、php、jsp、asp.net 等。究竟 應(yīng)該選擇什么語言來開發(fā)一個(gè) blog 網(wǎng)站呢,對于一個(gè)中小型的網(wǎng)站來說, asp.net 無疑是最好的選擇,asp.net 提供了一個(gè)很好的實(shí)現(xiàn)這種經(jīng)典設(shè)計(jì)模 式的類似環(huán)境。開發(fā)者通過在 aspx 頁面中開發(fā)用戶接口來實(shí)現(xiàn)視圖;控制器 的功能在邏輯功能代碼(.cs)中實(shí)現(xiàn);模型通常對應(yīng)應(yīng)用系統(tǒng)的業(yè)務(wù)部分。在 asp.net 中實(shí)現(xiàn)這種設(shè)計(jì)而提供的一個(gè)多層系統(tǒng),對較經(jīng)典的 asp 結(jié)構(gòu)實(shí)現(xiàn)的
14、系統(tǒng)來說有明顯的優(yōu)點(diǎn)。將用戶顯示(視圖)從動(dòng)作(控制器)中分離出來, 提高了代碼的重用性。 1.2 系統(tǒng)開發(fā)的意義 1.2.1 發(fā)布想法 博客能讓個(gè)人在互聯(lián)網(wǎng)上表達(dá)自己的心聲。這是一個(gè)收集和共享任何感興 趣的事物的地方-可以是政治評論、個(gè)人日記或是指向您想記住的網(wǎng)站的鏈接。 許多人使用博客只是要組織自己的想法,而有些人則在全球成千上萬的瀏覽者 中贏得影響力。職業(yè)和業(yè)余新聞?dòng)浾呤褂貌┛桶l(fā)布特發(fā)新聞,而有寫日記習(xí)慣 的人則會(huì)在博客 中宣示自己內(nèi)心的想法。而攝影和美術(shù)發(fā)燒者,可以通過博客 系統(tǒng)的管理自己的作品,無論您要發(fā)表什么意見,博客都可以幫您表達(dá)出來。 博客作為一種新表達(dá)的方式,它的傳播不僅情緒
15、,包括大量的智慧、意見 和思想。某種意義上說,它也是一種新的文化現(xiàn)象,博客的出現(xiàn)和繁榮,真正 凸現(xiàn)網(wǎng)絡(luò)的知識價(jià)值,標(biāo)志著互聯(lián)網(wǎng)發(fā)展開始步入更高的階段。 1.2.2 博客的用途 促進(jìn)學(xué)習(xí)。寫 blog 可以促進(jìn)學(xué)習(xí),想寫出文章來,自然不能是泛泛的了解 就可以的,要理解了才能寫得出來的。這就促進(jìn)了對某些領(lǐng)域的不斷學(xué)習(xí)和思 考。 記錄收獲。blog 中,常常是記錄下來都是瞬間的靈感,對事物的感悟,經(jīng) 過多日思考和實(shí)踐的結(jié)果,對某個(gè)問題的解決方案等等,這些都是財(cái)富,要記 錄下來。 反映成長。寫 blog,可以反映出人的思考過程,而不僅僅是思考結(jié)果。對 一個(gè)問題或領(lǐng)域,從不了解到了解,從了解到熟悉,從熟
16、悉到精通。這紀(jì)錄了 一個(gè)人思考和解決問題的成長過程。很久之后,看到自己之前的文章,你將會(huì) 覺得自己進(jìn)步了。 結(jié)交朋友。寫了 blog,自然會(huì)有許多志趣相同的朋友來閱讀,這可以認(rèn)識 許多朋友。大家有共同的興趣愛好,自然談得來。 共享知識。blog 給大家看,大家的 blog 也給你看。這個(gè)問題我解決了,那 個(gè)問題他解決了。大家互通有無,建立起一個(gè)社群。 交流看法。回復(fù)的人對 blog 的觀點(diǎn)或贊同,或反對,大家一起討論,聽聽 別人的思想,可以促進(jìn)雙方的共同進(jìn)步。 包裝自己。看到一篇篇用心寫出的文章,自然是對自己知識技能的最好宣 傳。 1.3 系統(tǒng)開發(fā)的目標(biāo) 1.3.1 任何擁有博客的人都可以做到
17、 1登錄博客系統(tǒng)瀏覽文章 2管理自己博客的基本信息 3撰寫個(gè)人隨筆 4處理留言、文章評論等內(nèi)容 1.3.2 訪問博客系統(tǒng)的人,可以做到 游覽博客系統(tǒng)中的文章目錄、評論博客系統(tǒng)中的內(nèi)容,只有博客管理員登 錄系統(tǒng)之后,才能進(jìn)行管理。而博客系統(tǒng)的訪問者不需要注冊,也不需要登錄 就可以訪問博客系統(tǒng)中的內(nèi)容。 第二章 blog 系統(tǒng)分析 2.1 可行性分析 可行性分析(feasibility analysis)也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ) 上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng) 濟(jì)、社會(huì)的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功。 可行性研究的目的就
18、是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解 決。為了確定開發(fā)具有可行性,對本系統(tǒng)主要進(jìn)行了以下四個(gè)方面的分析。 2.1.1 經(jīng)濟(jì)可行性。 經(jīng)濟(jì)可行性主要是對項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評價(jià)。本系統(tǒng)對系統(tǒng)開發(fā)者來說 并不需要太高的成本支出,只是對系統(tǒng)的管理者付出管理報(bào)酬即可,而且開發(fā) 周期不需要太長,節(jié)省了人力、物力、財(cái)力資源,所以本系統(tǒng)在經(jīng)濟(jì)上是可行 的。 2.1.2 技術(shù)上的可行性。 技術(shù)上的可行性分析主要是分析技術(shù)條件能否順利完成開發(fā)工作,硬、軟 件能否滿足開發(fā)者的需要等。在軟件方面,本系統(tǒng)采用的是 asp(active sever pages)進(jìn)行開發(fā),前臺網(wǎng)頁設(shè)計(jì)使用的是 vs2010,
19、而數(shù)據(jù)庫系統(tǒng)采用的是 sql server 2008 r2。通過分析,在軟、硬件方面現(xiàn)有工具與環(huán)境完全可以實(shí)現(xiàn)系統(tǒng) 的開發(fā),因此具有技術(shù)上的可行性。 2.1.3 時(shí)機(jī)可行性。 時(shí)機(jī)可行性是分析系統(tǒng)開發(fā)時(shí)機(jī)是否成熟。目前越來越多的應(yīng)用程序都已 經(jīng)是轉(zhuǎn)向基于 web 的開發(fā),并且 internet 已經(jīng)廣泛使用,因此系統(tǒng)的設(shè)計(jì)具有 時(shí)機(jī)可行性。 2.1.4 管理上的可行性。 主要是管理人員是否支持,現(xiàn)有的管理制度和方法是否科學(xué),規(guī)章制度是 否齊全,原始數(shù)據(jù)是否正確等。系統(tǒng)的開發(fā)主要就是為了方便校友信息的管理, 補(bǔ)充現(xiàn)在傳統(tǒng)管理方式的不足,因此具備了管理上的可行性。 綜上所述,本系統(tǒng)開發(fā)目標(biāo)已明確,
20、在技術(shù)和經(jīng)濟(jì)等方面具備可行性,并 且投入少、見效快,因此系統(tǒng)的開發(fā)是完全可行的。 2.2 需求分析 在可行性分析階段已經(jīng)簡要地分析和研究了本系統(tǒng)的基本需求,也論證了 開發(fā)平臺及軟件的可行性,但為了明確系統(tǒng)設(shè)計(jì)的目標(biāo),了解用戶的需求,現(xiàn) 對用戶需求作以調(diào)研,從而進(jìn)一步明確了設(shè)計(jì)所實(shí)現(xiàn)子系統(tǒng)的功能。 2.2.1 管理員登錄 在調(diào)研中了解到,用戶想要使用系統(tǒng),首先要有一個(gè)友好的用戶注冊界面, 其次,用戶需要經(jīng)歷登錄驗(yàn)證過程,只有合法的擁有管理員身份的用戶才可以 使用系統(tǒng)中的管理功能,這樣做可以防止非法用戶登錄并使用本系統(tǒng),妨害數(shù) 據(jù)安全。 用戶登錄。通過系統(tǒng)登錄驗(yàn)證,用戶成功進(jìn)入系統(tǒng)并開始使用其中功
21、能。 2.2.2 文章管理 文章管理是用戶所有文章的信息,用戶可以進(jìn)入此處進(jìn)行相關(guān)文章的管理。 這部分主要包括以下方面: 1文章信息顯示。顯示出所有文章的大概信息。 2發(fā)表新文章。可以發(fā)表新的文章。 3刪除文章。允許用戶對文章信息進(jìn)行刪除操作。 2.1.3 系統(tǒng)信息管理 系統(tǒng)開始運(yùn)行之后,隨著時(shí)間的變化會(huì)有想要更改系統(tǒng)的相關(guān)信息的要求, 比如:修改博客的個(gè)人頭像,愛好,最難忘的事等等,因此需要提供信息修改 的功能。 在此,我參考現(xiàn)有的幾大博客網(wǎng)站,如新浪博客,qq 空間等,采用 browser/server 結(jié)構(gòu),將個(gè)人博客網(wǎng)站劃分為兩個(gè)子系統(tǒng):前臺,后臺。下面分 析各個(gè)子系統(tǒng)的功能需求。 在
22、前臺的功能實(shí)現(xiàn)上,可以分為以下幾個(gè)部分: 用戶登錄:網(wǎng)站的用戶用個(gè)人注冊的賬號,密碼登錄到個(gè)人的博客網(wǎng)站上。 用戶注冊:訪客將個(gè)人的信息存儲到博客網(wǎng)站的數(shù)據(jù)庫中,以成為博客網(wǎng) 站的正式用戶。 文章管理:博客用戶可以將自己的文章進(jìn)行編輯、上傳分享自己的文章。 評論管理:用戶可以對自己感興趣的文章進(jìn)行評論,說出自己的建議與觀 點(diǎn)。 圖片管理:注冊用戶可以對博客中的圖片進(jìn)行管理,如:對圖片繼續(xù)上傳、 編輯、瀏覽、查詢等操作。 匿名用戶:未注冊的用戶可以瀏覽博客主頁上的文章,可以檢索或?yàn)g覽博 客網(wǎng)站中感興趣的文章還可以對文章進(jìn)行評論,但不能多博客進(jìn)行編輯。 留言管理:其他用戶可以給博客主人進(jìn)行留言。
23、鏈接管理:用戶可以根據(jù)鏈接的網(wǎng)址對其他網(wǎng)站進(jìn)行訪問。 2.3 系統(tǒng)的主要技術(shù)分析 2.3.1asp.net 介紹 本系統(tǒng)采用 asp.net 開發(fā)技術(shù)進(jìn)行開發(fā)。asp.net 不僅僅是 asp 的一個(gè) 新版本,更是 web 應(yīng)用程序編程方面的一個(gè)全新的概念和方法。asp.net 中 的新功能并不是對 asp 的改進(jìn),設(shè)計(jì)它的初衷是為用戶入境提供最佳的應(yīng)用程 序架構(gòu)。它相比于 asp 有著以下幾個(gè)方面的優(yōu)點(diǎn): asp 曾在腳本引擎方面受到了限制,特別是 vbscript 和 jscript。而 asp.net 則支持多種語言,默認(rèn)情況下為 visual basic.net、c#和 jscript
24、.net,另外還支持一些第三方語言。 asp 在服務(wù)器處理上不管頁面的內(nèi)容是純 html 還是 asp 生成的 html,它都是按照實(shí)現(xiàn),形成所謂 3-tier 頁面順序顯示的。因此邏輯代碼依賴 于它在頁面中的位置,并且無法將 html 控件作為目標(biāo),除非將它們作為流的 一部分進(jìn)行顯示。而 asp.net 就解決了這個(gè)問題,方法是為控件引入一個(gè)聲明 的基于服務(wù)器的模型,因?yàn)榭丶诜?wù)器上有,可以在服務(wù)器上編程,也可以 是客戶端驅(qū)動(dòng)的事件。 2.3.2web form 控件 將現(xiàn)有的 html 控件轉(zhuǎn)換為服務(wù)器端的控件是比較容易的,但是也存在一 些不方便,例如比較難于區(qū)分 html 控件和服務(wù)器
25、端的控件。于是 microsoft 公司就創(chuàng)建了一組專門的服務(wù)器控件,它們都用 asp:前綴標(biāo)識。 代碼與內(nèi)容分離 一個(gè)網(wǎng)站的設(shè)計(jì)與開發(fā)往往由不同的人來實(shí)現(xiàn)的,而 asp 中就是存在著這 樣一個(gè)問題,代碼(asp 腳本)和內(nèi)容(html)混合在一起。這樣就使得同 時(shí)進(jìn)行設(shè)計(jì)和開發(fā)變得很困難。而 asp.net 則采用了代碼內(nèi)聯(lián)和后臺編碼兩種 方法實(shí)現(xiàn)了代碼與內(nèi)容的分離。 2.3.3asp.net 配置 a 的配置文件都是 xml 格式的文件,xml 格式文件易于書寫和定制, 采用這種方法進(jìn)行 配置方便靈活。另外, 的配置都是可以隨時(shí)更 改的,即應(yīng)用程序運(yùn)行期間,可以隨時(shí)增加和刪除 配置文件中的
26、項(xiàng)目, 修改后可以立刻激活使用比當(dāng)配置發(fā)生變化時(shí)需要服務(wù)重新啟動(dòng)配置才生效的 方法有很大的優(yōu)勢。 該系統(tǒng)運(yùn)用了 fig 文件進(jìn)行配置 web 服務(wù)器,使用 web.config 文件 配置 web 服務(wù)器簡明扼要。web.config 文件是采用 xml 格式進(jìn)行編寫的 xml 文件。 2.3.4xml xml 是 extensible markup language(可擴(kuò)展標(biāo)記語言)。它是一種存儲數(shù)據(jù) 的方法。它提供一種獨(dú)立于應(yīng)用程序的格式來保存數(shù)據(jù),且容易實(shí)現(xiàn)不同應(yīng)用 程序之間的數(shù)據(jù)共享。與數(shù)據(jù)庫相比,它不需要任何專用軟件就可以創(chuàng)建和管 理 xml 文檔,只要一個(gè)文本編輯器就可以了;而數(shù)據(jù)
27、庫需要專門的數(shù)據(jù)庫管 理系統(tǒng)對數(shù)據(jù)進(jìn)行管理。 2.4 數(shù)據(jù)庫需求分析 用戶分為普通用戶和管理員用戶 管理員涉及類型管理、文章管理、添加文章、評論管理、鏈接管理、留言 管理。 普通用戶可以閱讀文章、發(fā)表回應(yīng)、留言、評論和在線聊天。 一種文章類型有多篇文章。 一篇文章有多篇評論、回復(fù)。 對上面系統(tǒng)功能分析,設(shè)計(jì)如下數(shù)據(jù)項(xiàng): 管理員信息:用戶名、密碼。 類型信息:類型編號、類型名稱。 鏈接:鏈接編號、鏈接名稱、鏈接地址。 留言:留言編號、留言人呢稱、留言標(biāo)題、個(gè)人主頁、留言內(nèi)容、留言時(shí) 間、留言回復(fù)。 文章信息:文章序號、文章作者、文章標(biāo)題、摘要、文章內(nèi)容、文章發(fā)表 日期、文章人氣、回復(fù)、文章類型編
28、號、文章類型名稱、文章回復(fù)數(shù)。 評論:評論序號、評論用戶呢稱、評論標(biāo)題、評論內(nèi)容、評論時(shí)間、評論 的文章序號。 第三章 blog 系統(tǒng)設(shè)計(jì) 3.1 系統(tǒng)設(shè)計(jì)方案 本系統(tǒng)是面向個(gè)人用戶和小型集體用戶開發(fā)的系統(tǒng),完成用戶在 blog 上進(jìn) 行預(yù)定操作,實(shí)現(xiàn)用戶和來賓之間的雙向溝通。具體設(shè)計(jì)方案為: 系統(tǒng)服務(wù)器為 iis,數(shù)據(jù)庫為 sqlserver2008,整個(gè)系統(tǒng)界面采用 microsoft visual studio 2010 開發(fā)。 系統(tǒng)采用 mvc 框架,用 c#語言實(shí)現(xiàn)。 服務(wù)器與數(shù)據(jù)庫的連接使用 oledb 編程接口的 oledbconnection 對象進(jìn)行 連接。 系統(tǒng)分成兩部分,
29、前臺為普通用戶操作界面,功能包括:閱讀文章,發(fā)表 留言,發(fā)表評論,在線聊天。后臺為管理員操作界面,管理員通過登錄進(jìn)入管 理界面,功能包括:分類管理,文章管理,添加文章,評論管理,鏈接管理, 留言管理。 3.1.1 系統(tǒng)功能模塊 系統(tǒng)功能模塊包括兩大塊:管理界面功能模塊和普通用戶界面功能模塊。 其具體功能如下所示: 管理員功能:分類管理,文章管理,評論管理,鏈接管理,留言管理。 普通用戶功能:閱讀文章,留言,評論和在線聊天。 分類管理:文章類型的添加,修改,刪除。 文章管理:文章的修改,刪除。 評論管理:評論的刪除。 鏈接管理:鏈接的添加和刪除。 留言管理:留言的刪除和回復(fù)。 管理員用戶功能流程
30、如圖 3-1 系統(tǒng)流程圖: 圖 3-1 系統(tǒng)流程圖 普通用戶功能模塊如圖 3-2 普通用戶登錄流程圖: 圖 3-2 普通用戶登錄流程圖 3.1.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為 某種數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫邏輯結(jié)構(gòu)。 博客系統(tǒng)中各個(gè)表的設(shè)計(jì)結(jié)果如下面表格所示。每個(gè)表格表示在數(shù)據(jù)庫中 的一個(gè)表: 表 3.1 admin 序 號 列名數(shù)據(jù)類型長度小數(shù) 位 標(biāo) 識 主 鍵 外鍵允 許 空 默認(rèn) 值 說明 1blogidint40是是否 2usernamenvarchar500是 3passwordnvarchar500是 4
31、sexnvarchar500是 5reallynam e nvarchar500是 6birthdaynvarchar500是 7addressnvarchar2000是 8postcodenvarchar500是 9subjectnvarchar1000是 10emailnvarchar1000是 11homephon e nvarchar500是 12mobilepho ne nvarchar500是 13qqnvarchar500是 14icqnvarchar500是 15questionnvarchar1000是 16answernvarchar1000是 17regtimedatet
32、ime83是 18ipnvarchar200是 19camparpwdvarchar500是 表 3.2 category 序號列名數(shù)據(jù)類型長度小數(shù)位 標(biāo)識主鍵外鍵允許 空 默認(rèn) 值 說明 1c_idbigint80是是否 2c_na me nvarchar500是 3blogi d int40是 表 3.3 link 序號列名數(shù)據(jù)類型長度小數(shù)位 標(biāo)識主鍵外鍵允許 空 默認(rèn) 值 說明 1l_idbigint80是是否 2l_nam e nvarchar500是 3l_urlnvarchar500是 表 3.4 message 序號列名數(shù)據(jù)類型長度小數(shù) 位 標(biāo)識主鍵外鍵允許 空 默認(rèn)值說明 1i
33、dbigint80是是否 2nickna me nvarchar500是 3titlenvarchar500是 4homepa ge nvarchar500是 5contentntext160是 6mdatedatetime83是getdate 7hfntext160是 表 3.5 news 序 號 列名數(shù)據(jù)類型長度小數(shù) 位 標(biāo) 識 主 鍵 外鍵允 許 空 默認(rèn)值說明 1n_idint40是是否 2n_authornvarchar500是 3n_titlenvarchar2000是 4n_keynvarchar2000是 5n_conten t ntext160是 6n_datedatetim
34、e83是getdate 7n_hitbigint80是0 8n_rebigint80是0 9c_idbigint80是是 10c_namenvarchar500是 11n_iscmdint40是 12blogidint40是 表 3.6 picture 序號列名數(shù)據(jù)類型長度小數(shù) 位 標(biāo)識主鍵外鍵允許 空 默認(rèn) 值 說明 1picturei d int40是是否 2imageurlnvarchar2000是 3subjectnvarchar500是 4blogidint40是 表 3.7 tb_message 序 號 列名數(shù)據(jù)類型長度小數(shù) 位 標(biāo) 識 主 鍵 外鍵允 許 空 默認(rèn) 值 說明 1m
35、essageidint40是是否 2blogidint40是 3friendnam e nvarchar500是 4sexnvarchar40是 5homephon e nvarchar500是 6mobilepho ne nvarchar500是 7qqnvarchar500是 8icqnvarchar500是 9addressnvarchar2000是 10birthdaynvarchar500是 11emailnvarchar1000是 12postcodenvarchar500是 13ipnvarchar500是 3.2 數(shù)據(jù)庫的完整性和安全性 數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。
36、數(shù)據(jù)庫管理系統(tǒng)(dbms)用一 定的機(jī)制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件完整性約束條件,數(shù) 據(jù)的約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。數(shù)據(jù)庫的完 整性約束主要包括以下三方面要求: 1.實(shí)體完整性 實(shí)體完整性是指若屬性 a 是基本關(guān)系 r 的主屬性,則屬性 a 不能取空值。 對于每個(gè)表來說,主鍵都不可以為空。在用戶提交信息時(shí),系統(tǒng)會(huì)對用戶所填 寫的信息進(jìn)行驗(yàn)證,對于其中的關(guān)鍵信息沒有填寫或者數(shù)據(jù)非法時(shí),系統(tǒng)會(huì)提 示用戶更改后再提交。這樣保證了系統(tǒng)實(shí)體完整性。 2.參照完整性 由于表和表之間會(huì)存在某些聯(lián)系,當(dāng)關(guān)系 r 和關(guān)系 s 之間是一對多關(guān)系時(shí) (r 的主鍵是 a,s 的
37、主鍵是 b,c 是 s 中的外碼),在插入數(shù)據(jù)時(shí)就要保證外碼 c 的值或者為空或者等于 r 中某個(gè)元組的主碼值。在對被參照表進(jìn)行刪除操作 時(shí)應(yīng)同時(shí)進(jìn)行及聯(lián)刪除。 3.用戶定義完整性 任何關(guān)系數(shù)據(jù)庫系統(tǒng)都應(yīng)該支持實(shí)體完整性和參照完整性。除此之外,不 同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件, 用戶定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件。它反映某一具體 應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。例如某個(gè)屬性必須取唯一值、某個(gè)屬 性的取值范圍等。 3.3 公用模塊的編寫 3.3.1 數(shù)據(jù)庫連接文件 為了操作數(shù)據(jù)庫方便,把連接數(shù)據(jù)庫、查詢、更新、插入、關(guān)閉連接等數(shù) 據(jù)庫
38、操作都寫在一個(gè)公用文件 web.config 中,這樣其他頁面引入這個(gè)頁面,就 可以調(diào)用數(shù)據(jù)庫操作方法,操作數(shù)據(jù)庫了,這樣便于提高程序的重用性。 3.3.2 用戶登錄和注銷 把判定用戶登錄和注銷的程序?qū)懺谑醉?default.asp 中。當(dāng)用戶在首爺輸入 用戶名和密碼請求登錄時(shí),先從數(shù)據(jù)庫查詢該用戶的用戶名和密碼是否正確, 如果正確則把該用戶的用戶名和密碼,寫入用戶 cookie,這樣其他頁面如果需 要用戶登錄才能訪問,只需要從 cookie 取用戶的用戶名,如果能取得,則說明 用戶已經(jīng)登錄,否則用戶未登錄。當(dāng)然用 cookie 記錄用戶登錄是有風(fēng)險(xiǎn)的,最 好用 session 記錄。注銷只需
39、要設(shè)置記錄用戶的 cookie 過期就可以了。 第四章 blog 系統(tǒng)的界面設(shè)計(jì)與實(shí)現(xiàn) 界面模塊化,可以提高代碼的重用性,能為編程提供很大便利,節(jié)省開發(fā) 時(shí)間,提高開發(fā)效率。 4.1 界面頭設(shè)計(jì) 4.1.1 設(shè)計(jì)思想 為了體現(xiàn)簡潔明快的風(fēng)格,界面頭不打算用很復(fù)雜的動(dòng)畫圖片,頂部直接 安排一個(gè)導(dǎo)航欄,讓用戶可以在首頁、個(gè)人資料、博文、評論、博文管理、評 論管理等模塊之間方便的切換。 4.1.2 效果預(yù)覽 按上面的設(shè)計(jì)思想,經(jīng)過一番美工的潤飾,設(shè)計(jì)出的界面頭的效果如圖 4-1 所示。 圖 4-1 界面模板 4.1.3 身份驗(yàn)證 管理員通過此登陸入口進(jìn)入管理界面,此入口需要填寫正確的 id 才能夠
40、登陸,非法 id 不能夠登陸,其界面如圖 4-2 管理員登錄所示: 圖 4-2 管理員登錄 一個(gè)系統(tǒng)能正常使用,安全性是非常重要的一個(gè)部分。安全性是對用戶的 生份進(jìn)行驗(yàn)證并通過驗(yàn)證的用戶按照為其授予的訪問權(quán)限來確定用戶是否可以 訪問某資源的一個(gè)過程。為了保證系統(tǒng)的安全,為了保證應(yīng)用程序的安全,本 系統(tǒng)采用了身份驗(yàn)證技術(shù)。 該代碼表示系統(tǒng)禁止對 st_login 目錄下的 st_admin 進(jìn)行匿名訪問.如果存 在匿名用戶,系統(tǒng)將自動(dòng)驗(yàn)證用戶名,提示錯(cuò)誤信息。保證了系統(tǒng)的安全.關(guān)鍵代 碼如下: 實(shí)現(xiàn)此功能的關(guān)鍵代碼為: public partial class module_admin_inde
41、x : system.web.ui.page protected void page_load(object sender, eventargs e) if (!ispostback) random ran = new random(); this.labvali.text = ran.next(1000, 9999).tostring(); protected void btnok_click(object sender, eventargs e) if (this.txtvali.text != this.labvali.text) response.write(alert(驗(yàn)證碼錯(cuò)誤);
42、 location=javascript:history.go(-1); else sqlconnection con = new sqlconnection(configurationmanager.appsettingsconstr); con.open(); sqlcommand com = new sqlcommand(select count(*) from admin where username= + this.txtuid.text + and password= + this.txtpwd.text + , con); sqldata da = new sqldata();
43、sqldatareader read = da.exceread(select * from admin where username= + this.txtuid.text + ); read.read(); if (read.hasrows) sessionsuperadmin = readsuperadmin.tostring(); read.close(); int count = convert.toint32(com.executescalar(); if (count 0) sessionusername = this.txtuid.text; sessionpassword =
44、 this.txtpwd.text; page.response.redirect(blogmanagerindex.aspx); else response.write(alert(用戶名或密 碼錯(cuò)誤!);location=javascript:history.go(-1); return; 4.1.4 首頁設(shè)計(jì)與實(shí)現(xiàn) 首頁是一個(gè)網(wǎng)站的窗口,長久留住一個(gè)用戶靠網(wǎng)站強(qiáng)大的功能和豐富的內(nèi) 容,要想吸引用戶,首頁的設(shè)計(jì)精美和人性化也是重要的因素。首先是給瀏覽 者留下的第一印象。所以設(shè)計(jì)要精美;首頁是網(wǎng)站的導(dǎo)航圖,所以設(shè)計(jì)要人性 化,重點(diǎn)層次突出。 4.1.5 設(shè)計(jì)思想 首頁直接引入前面設(shè)計(jì)的公用模
45、塊的界面頭和尾。首頁左邊給出瀏覽者一 個(gè)清晰的導(dǎo)航。在右邊用戶能登錄/注冊、最新更新的博文列表、評論,在左邊 顯示最新更新的博文信息。 博客最核心的是文章,所以正文右邊給出一塊很大空間用以展示最新書寫 的幾篇文章的標(biāo)題和內(nèi)容概要,用戶單擊博文標(biāo)簽?zāi)苓M(jìn)入查看該文章的詳細(xì)內(nèi) 容。圖 4-3 為首頁效果圖: 圖 4-3 首頁效果圖 4.1.6 用戶注冊模塊設(shè)計(jì) 頁面 register.aspx 主要完成引導(dǎo)用戶進(jìn)行注冊,首先會(huì)提供注冊表讓用戶 輸入用戶名和密碼等,讓用戶輸入注冊信息,輸入完成后,當(dāng)用戶單擊注冊 按鈕的時(shí)候,要對用戶輸入的注冊信息簡單認(rèn)證,看用戶信息是否驗(yàn)證,如果 驗(yàn)證進(jìn)行數(shù)據(jù)庫驗(yàn)證,
46、查看用戶之前是否已經(jīng)注冊過,如果沒有注冊則插入一 條新記錄到數(shù)據(jù)庫,完成注冊。如圖 4-4 博客注冊: 圖 4-4 博客注冊 實(shí)現(xiàn)此功能的關(guān)鍵代碼為: protected void page_load(object sender, eventargs e) if (sessionusername = null) response.redirect(././index.aspx); protected void btnok_click(object sender, eventargs e) sqldata da = new sqldata(); sqldatareader read = da.e
47、xceread(select * from admin where username= + this.txtname.text + ); read.read(); if (read.hasrows) if (this.txtname.text = readusername.tostring() response.write(alert(對不起, 該用戶名已經(jīng)注冊!);location=register.aspx); return; read.close(); string p_str_com = insert into admin(username,password,question,answ
48、er,reallyname,birthday,address + ,postcode,email,homephone,mobilephone,qq,icq,regtime,sex,superadmin,ip) values( + this.txtname.text + + , + this.txtpwd.text + , + this.txtques.text + , + this.txtans.text + , + this.txtrealname.text + + , + this.txtbirthday.text + , + this.txtaddress.text + , + this
49、.txtpostcode.text + , + this.txtemail.text + + , + this.txthphone.text + , + this.txtmphone.text + , + this.txtqq.text + , + this.txticq.text + , + datetime.now.tostring() + , + this.dropdownlist1.selectedvalue + ,+this.dropdownlist2.selectedvalue+,+request.userhostaddress+); bool add = da.excesql(p
50、_str_com); if (add = true) response.write(alert(注冊成功!); location=adminmanage.aspx); else response.write(alert(注冊失敗!); location=javascript:history.go(-1); protected void button1_click(object sender, eventargs e) sqldata da = new sqldata(); sqldatareader read = da.exceread(select * from admin where us
51、ername=+this.txtname.text+); read.read(); if (read.hasrows) if (this.txtname.text = readusername.tostring() response.write(alert(對不起, 該用戶已經(jīng)注冊!);location=register.aspx); else response.write(alert(恭喜您,該用 戶可以注冊!);); read.close(); 4.1.7“文章評論”功能模塊設(shè)計(jì) 在展現(xiàn)文章頁面的末尾,提供接口供瀏覽者針對該文章發(fā)表評論,技術(shù)實(shí) 現(xiàn)非常簡單,就是提供發(fā)表評論標(biāo)題和評論內(nèi)容的
52、文本框,讓讀者輸入評論標(biāo) 題和內(nèi)容,當(dāng)讀者單擊提交按鈕的時(shí)候,把評論標(biāo)題和內(nèi)容保存到數(shù)據(jù)庫。 4.2 管理界面設(shè)計(jì) 4.2.1“添加文章”功能模塊 通過“添加文章”功能模塊用戶能設(shè)置文章標(biāo)題,選擇文章所屬分類,填 寫文章概要和文章內(nèi)容,對應(yīng)的頁面是圖 4-5 writeblog.aspx 頁面: 圖 4-5 writeblog.aspx 頁面 4.2.2“文章管理”功能模塊 “文章管理”功能模塊主要顯示當(dāng)前用戶所寫的所有文章,并能修改或者 刪除現(xiàn)有文章,圖 4-6 為博客文章管理效果圖: 圖 4-6 博客文章管理效果圖 第五章 系統(tǒng)測試 程序測試就是在程序投入運(yùn)行前,對程序的需求分析、設(shè)計(jì)規(guī)格
53、說明和編 碼的最終復(fù)審,是保證程序質(zhì)量的關(guān)鍵步驟。如果要給程序測試下定義,可以 這樣講,程序測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。 測試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò) 誤。在開發(fā)大型軟件系統(tǒng)的過程中,需要面對錯(cuò)綜復(fù)雜的問題,因此,在軟件 生存周期的每個(gè)階段都不可避免地會(huì)產(chǎn)生錯(cuò)誤。編程人員力求在每個(gè)階段結(jié)束 之前通過嚴(yán)格的技術(shù)審查,盡可能早的發(fā)現(xiàn)并糾正錯(cuò)誤。因此我做了如下幾點(diǎn) 測試,測試如下: 1.前臺顯示文章詳細(xì)內(nèi)容測試 測試內(nèi)容:點(diǎn)擊一個(gè)文章的標(biāo)題,是否會(huì)顯示出文章的全部內(nèi)容。 操作:隨意點(diǎn)擊一篇文章的標(biāo)題。 結(jié)果:在文章細(xì)節(jié)頁面正確的顯示出文章的全部內(nèi)容。 結(jié)論
54、:測試成功。 2.管理員登陸 測試內(nèi)容:填寫用戶名及密碼,驗(yàn)證能否成功登陸。 操作: 填寫正確的用戶名及密碼。 填寫錯(cuò)誤的用戶名或密碼。 結(jié)果: 管理員成功登陸。 提示用戶登錄失敗。 3.文章管理 (1)發(fā)表文章 測試內(nèi)容:管理員用戶發(fā)表新文章, 。 操作:以管理員的身份進(jìn)入博客系統(tǒng),點(diǎn)擊管理按鈕,選擇添加文章的操 作如圖 6-4 所示,填寫完文章內(nèi)容之后單擊添加按鈕,看系統(tǒng)是否會(huì)提示發(fā)表 成功。如圖 4-7 系統(tǒng)測試圖: 圖 5-1 系統(tǒng)測試圖 (2) 刪除文章。 測試內(nèi)容:用戶對自己所發(fā)表的文章信息能否成功刪除。 操作:點(diǎn)擊刪除系統(tǒng)詢問是否刪除該文章信息, 結(jié)果:文章信息被成功刪除。 結(jié)論:測試成功。 4.系統(tǒng)信息管理 (1)顯示原系統(tǒng)信息。 測試內(nèi)容:進(jìn)入頁面后,能否正確的顯示原系統(tǒng)信息中的內(nèi)容。 操作:進(jìn)入系統(tǒng)信息管理頁面查看信息情況。 結(jié)果:頁面成功的顯示出正確的信息。 結(jié)論:測試成功。 (2)修改系統(tǒng)信息 測試內(nèi)容:修改系統(tǒng)內(nèi)容后,系統(tǒng)配置是否能正確反映。 操作:分別修改系統(tǒng)信息中的不同的信息。 結(jié)果:成功的修改了配置,并成功反應(yīng)到系統(tǒng)中。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化創(chuàng)意產(chǎn)業(yè)行政審批流程分析
- 2025年企業(yè)可持續(xù)發(fā)展目標(biāo)(SDGs)在供應(yīng)鏈管理中的實(shí)踐與效果
- 2025年康復(fù)醫(yī)療服務(wù)體系建設(shè)與康復(fù)護(hù)理人才培育運(yùn)營模式研究
- 醫(yī)院護(hù)士崗位職責(zé)與專業(yè)素養(yǎng)
- 基于大數(shù)據(jù)的2025年互聯(lián)網(wǎng)金融服務(wù)平臺風(fēng)險(xiǎn)監(jiān)控與預(yù)警研究報(bào)告
- 旅游行業(yè)人員安排與安全保障措施
- 五年級英語線上線下混合教學(xué)計(jì)劃
- 2025年下沉市場消費(fèi)金融品牌建設(shè)與市場拓展策略報(bào)告
- 2025年公司及項(xiàng)目部安全培訓(xùn)考試試題附答案【完整版】
- 2025年綠色環(huán)保建材研發(fā)中心建設(shè)與綠色建筑市場推廣策略
- 熱射病的基礎(chǔ)護(hù)理
- 遂平縣嵖岈山鎮(zhèn)歷史遺留廢棄礦山生態(tài)修復(fù)項(xiàng)目建設(shè)項(xiàng)目環(huán)境影響報(bào)告表【模板】
- 【MOOC】木與人類文明-廣西大學(xué) 中國大學(xué)慕課MOOC答案
- 傷寒與副傷寒的臨床護(hù)理
- 電力增容項(xiàng)目施工組織設(shè)計(jì)
- 消防安全應(yīng)急照明設(shè)計(jì)方案
- 2024年河北省中職高考對口升學(xué)考試語文試卷真題(打印版)
- 2022版ISO27001信息安全管理體系基礎(chǔ)培訓(xùn)課件
- 教師個(gè)人成長檔案電子模板
- 《連續(xù)性腎替代治療容量評估與管理專家共識》解讀課件
- 德意莎門窗授權(quán)經(jīng)銷商合作協(xié)議書(代理商合作協(xié)議空白版)
評論
0/150
提交評論