您的位置:新文秘網(wǎng)>>畢業(yè)相關(guān)/畢業(yè)論文/文教論文/>>正文

畢業(yè)論文:B/S單用戶博客系統(tǒng)設(shè)計(jì)

發(fā)表時(shí)間:2013/9/14 15:24:27

畢業(yè)論文:B/S單用戶博客系統(tǒng)設(shè)計(jì)

摘 要
本系統(tǒng)采用B/S的設(shè)計(jì)模式,運(yùn)用了Visual Studio .NET 2005、SQL Server 2005等軟件開發(fā)工具,前臺(tái)采用ASP.NNET 2.0,后臺(tái)采用C#代碼,通過這些技術(shù)設(shè)計(jì)出一個(gè)單用戶博客系統(tǒng),并實(shí)現(xiàn)了博客系統(tǒng)的基本功能。本系統(tǒng)包括了博文、圖片和留言的管理與顯示。在論文中給出了其中的重要代碼,這些代碼都是各功能實(shí)現(xiàn)的基礎(chǔ),也是其中的重點(diǎn)和難點(diǎn)。
本文首先介紹了相關(guān)技術(shù)的基礎(chǔ),接著給出數(shù)據(jù)庫和網(wǎng)頁的需求分析,詳細(xì)地說明了設(shè)計(jì)本系統(tǒng)時(shí)在功能實(shí)現(xiàn)方面的思路,并對(duì)數(shù)據(jù)庫和網(wǎng)頁的設(shè)計(jì)都進(jìn)行了詳細(xì)的分析,最后總結(jié)自己的感想和展望。

關(guān)鍵詞:ASP.NET,C#,單用戶博客,數(shù)據(jù)庫

ABSTRACT

The system uses a B/S design mode and the software development tools like Visual Studio .NET 2005、SQL Server 2005. ASP.NET 2.0 is used on the foreground and C# language is used on the background. The system makes a single-user blog while achieving the fundamental functions of the blog system. The system concludes the managements and visions about the articles, photos and messages. The thesis provides the important codes and these codes are not only the foundations of the functions but also the key points and difficult points.
The thesis introduces the foundations about the related technology at the beginning, then provides the requirement analyses about the database and the web pages which introduce the thinkings of the functions. And then the thesis analyses the designs of the database and the web pages. At the end of the thesis, I sum up my feelings and e*pectations.

Keywords:ASP.NET,C#,single-user blog,database


目 錄

1 前言……………………………………………………………………1
1.1 選題背景以及發(fā)展現(xiàn)狀………………………………………1
1.2 課題研究意義…………………………………………………1
2 系統(tǒng)設(shè)計(jì)相關(guān)技術(shù)……………………………………………………2
2.1 ASP.NET基本概述……………………………………………2
2.2 數(shù)據(jù)庫及SQL Server 2005基本概述…………………………3
2.2.1 數(shù)據(jù)庫…………………………………………………3
2.2.2 SQL Server 2005………………………………………3
2.3 .NET 2005開發(fā)環(huán)境及.NET框架………………
……(新文秘網(wǎng)http://120pk.cn省略2514字,正式會(huì)員可完整閱讀)…… 
多。但是ASP.NET也有一個(gè)特點(diǎn),就是每修改一次程序(即代碼類)必須重新編譯一次,修改幾次就必須重新編譯幾次,執(zhí)行效果也會(huì)有所降低。
因?yàn)锳SP. NET是基于通用語言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺(tái)上。通用語言的基本庫,消息機(jī)制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.NET的Web應(yīng)用中。ASP.NET同時(shí)也是language-independent(語言獨(dú)立化)的,所以,用戶可以選擇一種最適合你的語言來編寫程序,或者把程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#,VB,Jscript , C++、F++。將來,這樣的多種程序語言協(xié)同工作的能力保護(hù)基于COM+開發(fā)的程序,能夠完整地移植向ASP.NET。
2.2 數(shù)據(jù)庫及SQL Server 2005基本概述
2.2.1 數(shù)據(jù)庫
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今五十年前,隨著信息技術(shù)和市場(chǎng)的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡(jiǎn)單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。
數(shù)據(jù)庫的基本結(jié)構(gòu)分三個(gè)層次,反映了觀察數(shù)據(jù)庫的三種不同角度。
(1)物理數(shù)據(jù)層。
它是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設(shè)備上實(shí)際存儲(chǔ)的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對(duì)象,由內(nèi)部模式描述的指令操作處理的位串、字符和字組成。
(2)概念數(shù)據(jù)層。
它是數(shù)據(jù)庫的中間一層,是數(shù)據(jù)庫的整體邏輯表示。指出了每個(gè)數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫所有對(duì)象的邏輯關(guān)系,而不是它們的物理情況,是數(shù)據(jù)庫管理員概念下的數(shù)據(jù)庫。
(3)邏輯數(shù)據(jù)層。
它是用戶所看到和使用的數(shù)據(jù)庫,表示了一個(gè)或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。
數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進(jìn)行轉(zhuǎn)換的。
2.2.2 SQL Server 2005
SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個(gè)OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL Server在UNI* 操作系統(tǒng)上的應(yīng)SQL Server安裝界面用。
SQL Server 2005 是一個(gè)全面的數(shù)據(jù)庫平臺(tái),使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使用戶可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。
SQL Server 2005 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外 SQL Server 2005 結(jié)合了分析、報(bào)表、集成和通知功能。這使企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的 BI 解決方案,幫助團(tuán)隊(duì)通過記分卡、Dashboard、Web services 和移動(dòng)設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個(gè)領(lǐng)域。
與 Microsoft Visual Studio、Microsoft Office System 以及新的開發(fā)工具包(包括 Business Intelligence Development Studio)的緊密集成使 SQL Server 2005 與眾不同。無論是開發(fā)人員、數(shù)據(jù)庫管理員、信息工作者還是決策者,SQL Server 2005 都可以為用戶提供創(chuàng)新的解決方案,幫助用戶從數(shù)據(jù)中更多地獲益。
2.3 .NET 2005開發(fā)環(huán)境及.NET框架
.NET Framework是微軟公司提出的支持生成和運(yùn)行下一代應(yīng)用程序和*ML Web Services的內(nèi)部Windows組件的平臺(tái),而Visual Studio.NET 2005是支持ASP.NET 2.0的開發(fā)環(huán)境。
. NET Framework具有兩個(gè)主要組件:公共語言運(yùn)行庫和.NET Framework類庫。公共語言運(yùn)行庫是.net Framework的基礎(chǔ),提供內(nèi)存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。類庫是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图,可以用于開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括傳統(tǒng)的命令行或圖形用戶界面應(yīng)用程序,也包括基于ASP.NET所提供的最新創(chuàng)新的應(yīng)用程序(如Web窗體和*ML Web Services)。
. NET Framework可由非托管組件承載,這些組件將公共語言運(yùn)行庫加載到它們的進(jìn)程中并啟動(dòng)托管代碼的執(zhí)行,從而創(chuàng)建一個(gè)可以同時(shí)利用托管和非托管功能的軟件環(huán)境。.net Framework不但提供若干運(yùn)行庫宿主,而且還支持第三方運(yùn)行庫宿主的開發(fā)。
公共語言運(yùn)行庫管理內(nèi)存、線程執(zhí)行、代碼執(zhí)行、代碼安全驗(yàn)證、編譯以及其他系統(tǒng)服務(wù),這些功能是在公共語言運(yùn)行庫上運(yùn)行的托管代碼所固有的。
至于安全性,取決于包括托管組件的來源在內(nèi)的一些因素,托管組件被賦予不同程度的信任,這意味著即使用在同一活動(dòng)應(yīng)用程序中,托管組件既可能能夠執(zhí)行文件訪問操作、注冊(cè)表訪問操作或其他須小心使用的功能,也可能不能夠執(zhí)行這些功能。
運(yùn)行庫強(qiáng)制實(shí)施代碼訪問安全。例如,用戶可以相信嵌入在Web頁中的可執(zhí)行文件能夠在屏幕上播放動(dòng)畫或唱歌,但不能訪問他們的個(gè)人數(shù)據(jù)、文件系統(tǒng)或網(wǎng)絡(luò)。這樣,運(yùn)行庫的安全性功能就使通過Internet部署的合法軟件能夠具有特別豐富的功能。
運(yùn)行庫還通過實(shí)現(xiàn)稱為通用類型系統(tǒng)(CTS)的嚴(yán)格類型驗(yàn)證和代碼驗(yàn)證基礎(chǔ)結(jié)構(gòu)來加強(qiáng)代碼可靠性。CTS確保所有托管代碼都是可以自我描述的。各種Microsoft和第三方語言編譯器生成符合CTS的托管代碼。這意味著托管代碼可以在嚴(yán)格實(shí)施類型保真和類型安全的同時(shí)使用其他托管類型和實(shí)例。




















第三章 需求分析與設(shè)計(jì)

需求分析與設(shè)計(jì)主要對(duì)系統(tǒng)的功能和需求進(jìn)行分析設(shè)計(jì),簡(jiǎn)單的來說就是“做什么”,主要包括數(shù)據(jù)庫需求分析、客戶端需求分析和管理端需求分析三個(gè)部分。
3.1 數(shù)據(jù)庫需求分析與設(shè)計(jì)
3.1.1 數(shù)據(jù)庫需求分析
博客系統(tǒng)的數(shù)據(jù)庫功能主要體現(xiàn)在對(duì)各種信息的提供、保存、更新和查詢操作上,包括博文信息、評(píng)論信息、相片信息和留言信息等,各個(gè)部分的數(shù)據(jù)內(nèi)容又有內(nèi)在聯(lián)系。針對(duì)該系統(tǒng)的數(shù)據(jù)及特點(diǎn),可以總結(jié)出如下需求:
 博文信息表記錄作者發(fā)表的文章信息
 評(píng)論信息表記錄對(duì)應(yīng)著某個(gè)文章瀏覽者發(fā)表的評(píng)論
 相片信息表記錄個(gè)人相片信息
 留言信息表記錄訪客對(duì)博客主人的留言信息
 用戶信息表記錄博客主人的登錄信息
根據(jù)以上系統(tǒng)功能分析與需求總結(jié),設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):
 博文信息表,包括數(shù)據(jù)項(xiàng):編號(hào)、標(biāo)題、主題、內(nèi)容、發(fā)表日期、閱讀人數(shù)
 評(píng)論信息表,包括數(shù)據(jù)項(xiàng):編號(hào)、評(píng)論內(nèi)容、評(píng)論人、評(píng)論日期、對(duì)應(yīng)博文編號(hào)
 相片信息表,包括數(shù)據(jù)項(xiàng):編號(hào)、圖片名稱、圖片介紹、圖片內(nèi)容、上傳日期
 留言信息表,包括數(shù)據(jù)項(xiàng):編號(hào)、留言內(nèi)容、留言人、留言日期
 用戶信息表,包括數(shù)據(jù)項(xiàng):編號(hào)、用戶名、密碼
3.1.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)
得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)后,就可以設(shè)計(jì)滿足需求的各種實(shí)體及相互關(guān)系了,再用E-R(Entity-Relationship)圖將這些內(nèi)容表達(dá)出來,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。
本系統(tǒng)規(guī)劃出的實(shí)體有:博文信息實(shí)體、評(píng)論信息實(shí)體、相片信息實(shí)體、留言信息實(shí)體和用戶信息實(shí)體,它們之間的關(guān)系如下圖3-1 ~ 3-5所示。






3.2 客戶端需求分析與設(shè)計(jì)
博客系統(tǒng)客戶端主要面向訪問該博客的游客們,因此需要將數(shù)據(jù)庫中的內(nèi)容有針對(duì)性地展示在網(wǎng)頁中,以供游客瀏覽。因此,博客客戶端應(yīng)包含以下功能:
 登錄頁面:游客通過登錄頁面的按鍵進(jìn)入客戶端主頁面
 首頁:游客進(jìn)入博客網(wǎng)站后顯示的主頁面,主要顯示博客主人的基本信息,最近發(fā)表的博文、評(píng)論和留言等
 博文目錄頁面:游客點(diǎn)擊進(jìn)入后,可以看到主人發(fā)表的一系列博文列表,點(diǎn)擊其中一個(gè)博文即可閱讀全文
 博客全文頁面:游客點(diǎn)擊某個(gè)博文后進(jìn)入全文頁面,可以閱讀博文的詳細(xì)內(nèi)容以及相關(guān)評(píng)論,也可以針對(duì)該篇文章發(fā)表自己的評(píng)論
 我的相片頁面:游客點(diǎn)擊進(jìn)入后可以瀏覽主人分享的一些圖片

 留言頁面:游客點(diǎn)擊進(jìn)入后可以瀏覽其他游客給主人的留言,也可以自己給主人留言
3.3 管理端需求分析與設(shè)計(jì)
博客系統(tǒng)管理端主要面向博客主人,方便博客主人對(duì)自己的博客內(nèi)容進(jìn)行管理,對(duì)其中共享的某些信息進(jìn)行修改或刪除等操作。因此,博客管理端應(yīng)包含以下功能:
 登錄頁面:主人通過輸入用戶名和密碼后,對(duì)用戶名和密碼進(jìn)行匹配,密碼正確則可以進(jìn)入管理端主頁面,錯(cuò)誤則需要重新輸入,當(dāng)用戶輸錯(cuò)用戶名或密碼時(shí)也可以進(jìn)行重置,方便用戶更正
 首頁:管理端首頁與客戶端首頁相同,可參考客戶端首頁需求
 博文目錄頁面:主人點(diǎn)擊進(jìn)入后,可以對(duì)自己發(fā)表的博文進(jìn)行添加、修改或刪除操作。當(dāng)按下“發(fā)表新文章”時(shí),進(jìn)入添加博文頁面;當(dāng)按下“修改”時(shí),進(jìn)入博文修改頁面;當(dāng)按下“刪除”時(shí),則對(duì)博文進(jìn)行刪除
 添加博文頁面:進(jìn)入添加博文頁面后,可以發(fā)表新的文章
 博文修改頁面:進(jìn)入博文修改頁面后,可以對(duì)博文進(jìn)行修改,也可以對(duì)相應(yīng)的評(píng)論進(jìn)行刪除
 我的相片頁面:點(diǎn)擊進(jìn)入后,可以對(duì)圖片進(jìn)行添加和刪除操作。當(dāng)按下“添加新圖片”時(shí),可選擇添加圖片;當(dāng)按下“刪除”時(shí),則對(duì)圖片進(jìn)行刪除
 留言頁面:點(diǎn)擊進(jìn)入后,可以對(duì)留言進(jìn)行刪除操作












第四章 數(shù)據(jù)庫邏輯設(shè)計(jì)

博客系統(tǒng)數(shù)據(jù)庫BlogData包括5張表,分別是用戶信息表、博文信息表、評(píng)論信息表、相片信息表和留言信息表。
4.1 用戶信息表
用戶信息表(Admins)記錄了用戶的賬號(hào)和密碼。結(jié)構(gòu)如表4-1所示。
列 名 數(shù) 據(jù) 類 型 長 度 允 許 空
AdminID int 4 否
AdminName nvarchar 50 否
Psaaword nvarchar 50 否
表4-1
創(chuàng)建數(shù)據(jù)表SQL語句如下:
use BlogData
go
set ansi_nulls on
go
set quoted_identifier on
go
create table [dbo].[Admins]
(
[AdminID] [int] identity(1,1) not null,
[AdminName] [nvarchar](50) collate Chinese_PRC_CI_AS not null,
[Password] [nvarchar](50) collate Chinese_PRC_CI_AS not null,
constraint [PK_Admins] primary key clustered
(
[AdminID] ASC
) with (ignore_dup_key = off) on [primary]
) on [primary]
代碼解釋:
Ansi_nulls設(shè)定為on后,null型將不再與空值相同;quoted_identifier設(shè)定為on后,文字必須由單引號(hào)分隔;indentity(1,1)設(shè)置了標(biāo)識(shí)符,起始值為1,步進(jìn)為1;collate Chinese_PRC_CI_AS為按照漢字排序規(guī)則進(jìn)行排序;ignore_dup_key設(shè)定為off后,若向表中插入已有的主鍵值,則插入失敗。
4.2 博文信息表
博文信息表(Articles)記錄了博文的編號(hào)、標(biāo)題、主題、內(nèi)容等詳細(xì)信息。結(jié)構(gòu)如表4-2所示。
列 名 數(shù) 據(jù) 類 型 長 度 允 許 空
ArticleID int 4 否
Title nvarchar 50 是
A_Content nvarchar MA* 是
PublishedTime datetime - 是
Dec nvarchar 200 是
ViewNum int 4 否
表4-2
創(chuàng)建數(shù)據(jù)表SQL語句如下(字段定義部分):
[ArticleID] [int] id ……(未完,全文共39251字,當(dāng)前僅顯示7059字,請(qǐng)閱讀下面提示信息。收藏《畢業(yè)論文:B/S單用戶博客系統(tǒng)設(shè)計(jì)》
文章搜索
相關(guān)文章