畢業(yè)論文:B/S單用戶博客系統(tǒng)設計
摘 要
本系統(tǒng)采用B/S的設計模式,運用了Visual Studio .NET 2005、SQL Server 2005等軟件開發(fā)工具,前臺采用ASP.NNET 2.0,后臺采用C#代碼,通過這些技術設計出一個單用戶博客系統(tǒng),并實現(xiàn)了博客系統(tǒng)的基本功能。本系統(tǒng)包括了博文、圖片和留言的管理與顯示。在
論文中給出了其中的重要代碼,這些代碼都是各功能實現(xiàn)的基礎,也是其中的重點和難點。
本文首先介紹了相關技術的基礎,接著給出數(shù)據(jù)庫和網(wǎng)頁的需求分析,詳細地說明了設計本系統(tǒng)時在功能實現(xiàn)方面的思路,并對數(shù)據(jù)庫和網(wǎng)頁的設計都進行了詳細的分析,最后
總結自己的感想和展望。
關鍵詞: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)設計相關技術……………………………………………………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://m.jey722.cn省略2514字,正式會員可完整閱讀)……
多。但是ASP.NET也有一個特點,就是每修改一次程序(即代碼類)必須重新編譯一次,修改幾次就必須重新編譯幾次,執(zhí)行效果也會有所降低。
因為ASP. NET是基于通用語言的編譯運行的程序,所以它的強大性和適應性,可以使它運行在Web應用軟件開發(fā)者的幾乎全部的平臺上。通用語言的基本庫,消息機制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.NET的Web應用中。ASP.NET同時也是language-independent(語言獨立化)的,所以,用戶可以選擇一種最適合你的語言來編寫程序,或者把程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#,VB,Jscript , C++、F++。將來,這樣的多種程序語言協(xié)同工作的能力保護基于COM+開發(fā)的程序,能夠完整地移植向ASP.NET。
2.2 數(shù)據(jù)庫及SQL Server 2005基本概述
2.2.1 數(shù)據(jù)庫
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今五十年前,隨著信息技術和市場的發(fā)展,特別是二十世紀九十年代以后,數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲有各種數(shù)據(jù)的表格到能夠進行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都在各個方面得到了廣泛的應用。
數(shù)據(jù)庫的基本結構分三個層次,反映了觀察數(shù)據(jù)庫的三種不同角度。
(1)物理數(shù)據(jù)層。
它是數(shù)據(jù)庫的最內層,是物理存貯設備上實際存儲的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對象,由內部模式描述的指令操作處理的位串、字符和字組成。
(2)概念數(shù)據(jù)層。
它是數(shù)據(jù)庫的中間一層,是數(shù)據(jù)庫的整體邏輯表示。指出了每個數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫所有對象的邏輯關系,而不是它們的物理情況,是數(shù)據(jù)庫管理員概念下的數(shù)據(jù)庫。
(3)邏輯數(shù)據(jù)層。
它是用戶所看到和使用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。
數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進行轉換的。
2.2.2 SQL Server 2005
SQL Server 是一個關系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL Server在UNI* 操作系統(tǒng)上的應SQL Server安裝界面用。
SQL Server 2005 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫引擎為關系型數(shù)據(jù)和結構化數(shù)據(jù)提供了更安全可靠的存儲功能,使用戶可以構建和管理用于業(yè)務的高可用和高性能的數(shù)據(jù)應用程序。
SQL Server 2005 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外 SQL Server 2005 結合了分析、報表、集成和通知功能。這使企業(yè)可以構建和部署經(jīng)濟有效的 BI 解決方案,幫助團隊通過記分卡、Dashboard、Web services 和移動設備將數(shù)據(jù)應用推向業(yè)務的各個領域。
與 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是微軟公司提出的支持生成和運行下一代應用程序和*ML Web Services的內部Windows組件的平臺,而Visual Studio.NET 2005是支持ASP.NET 2.0的開發(fā)環(huán)境。
. NET Framework具有兩個主要組件:公共語言運行庫和.NET Framework類庫。公共語言運行庫是.net Framework的基礎,提供內存管理、線程管理和遠程處理等核心服務,并且強制實施嚴格的類型安全以及可提高安全性和可靠性的其他形式的代碼準確性。類庫是一個綜合性的面向對象的可重用類型集合,可以用于開發(fā)多種應用程序,這些應用程序包括傳統(tǒng)的命令行或圖形用戶界面應用程序,也包括基于ASP.NET所提供的最新創(chuàng)新的應用程序(如Web窗體和*ML Web Services)。
. NET Framework可由非托管組件承載,這些組件將公共語言運行庫加載到它們的進程中并啟動托管代碼的執(zhí)行,從而創(chuàng)建一個可以同時利用托管和非托管功能的軟件環(huán)境。.net Framework不但提供若干運行庫宿主,而且還支持第三方運行庫宿主的開發(fā)。
公共語言運行庫管理內存、線程執(zhí)行、代碼執(zhí)行、代碼安全驗證、編譯以及其他系統(tǒng)服務,這些功能是在公共語言運行庫上運行的托管代碼所固有的。
至于安全性,取決于包括托管組件的來源在內的一些因素,托管組件被賦予不同程度的信任,這意味著即使用在同一活動應用程序中,托管組件既可能能夠執(zhí)行文件訪問操作、注冊表訪問操作或其他須小心使用的功能,也可能不能夠執(zhí)行這些功能。
運行庫強制實施代碼訪問安全。例如,用戶可以相信嵌入在Web頁中的可執(zhí)行文件能夠在屏幕上播放動畫或唱歌,但不能訪問他們的個人數(shù)據(jù)、文件系統(tǒng)或網(wǎng)絡。這樣,運行庫的安全性功能就使通過Internet部署的合法軟件能夠具有特別豐富的功能。
運行庫還通過實現(xiàn)稱為通用類型系統(tǒng)(CTS)的嚴格類型驗證和代碼驗證基礎結構來加強代碼可靠性。CTS確保所有托管代碼都是可以自我描述的。各種Microsoft和第三方語言編譯器生成符合CTS的托管代碼。這意味著托管代碼可以在嚴格實施類型保真和類型安全的同時使用其他托管類型和實例。
第三章 需求分析與設計
需求分析與設計主要對系統(tǒng)的功能和需求進行分析設計,簡單的來說就是“做什么”,主要包括數(shù)據(jù)庫需求分析、客戶端需求分析和管理端需求分析三個部分。
3.1 數(shù)據(jù)庫需求分析與設計
3.1.1 數(shù)據(jù)庫需求分析
博客系統(tǒng)的數(shù)據(jù)庫功能主要體現(xiàn)在對各種信息的提供、保存、更新和查詢操作上,包括博文信息、評論信息、相片信息和留言信息等,各個部分的數(shù)據(jù)內容又有內在聯(lián)系。針對該系統(tǒng)的數(shù)據(jù)及特點,可以總結出如下需求:
博文信息表記錄作者發(fā)表的文章信息
評論信息表記錄對應著某個文章瀏覽者發(fā)表的評論
相片信息表記錄個人相片信息
留言信息表記錄訪客對博客主人的留言信息
用戶信息表記錄博客主人的登錄信息
根據(jù)以上系統(tǒng)功能分析與需求總結,設計如下的數(shù)據(jù)項和數(shù)據(jù)結構:
博文信息表,包括數(shù)據(jù)項:編號、標題、主題、內容、發(fā)表日期、閱讀人數(shù)
評論信息表,包括數(shù)據(jù)項:編號、評論內容、評論人、評論日期、對應博文編號
相片信息表,包括數(shù)據(jù)項:編號、圖片名稱、圖片介紹、圖片內容、上傳日期
留言信息表,包括數(shù)據(jù)項:編號、留言內容、留言人、留言日期
用戶信息表,包括數(shù)據(jù)項:編號、用戶名、密碼
3.1.2 數(shù)據(jù)庫概念結構設計
得到上面的數(shù)據(jù)項和數(shù)據(jù)結構后,就可以設計滿足需求的各種實體及相互關系了,再用E-R(Entity-Relationship)圖將這些內容表達出來,為后面的邏輯結構設計打下基礎。
本系統(tǒng)規(guī)劃出的實體有:博文信息實體、評論信息實體、相片信息實體、留言信息實體和用戶信息實體,它們之間的關系如下圖3-1 ~ 3-5所示。
3.2 客戶端需求分析與設計
博客系統(tǒng)客戶端主要面向訪問該博客的游客們,因此需要將數(shù)據(jù)庫中的內容有針對性地展示在網(wǎng)頁中,以供游客瀏覽。因此,博客客戶端應包含以下功能:
登錄頁面:游客通過登錄頁面的按鍵進入客戶端主頁面
首頁:游客進入博客網(wǎng)站后顯示的主頁面,主要顯示博客主人的基本信息,最近發(fā)表的博文、評論和留言等
博文目錄頁面:游客點擊進入后,可以看到主人發(fā)表的一系列博文列表,點擊其中一個博文即可閱讀全文
博客全文頁面:游客點擊某個博文后進入全文頁面,可以閱讀博文的詳細內容以及相關評論,也可以針對該篇文章發(fā)表自己的評論
我的相片頁面:游客點擊進入后可以瀏覽主人分享的一些圖片
留言頁面:游客點擊進入后可以瀏覽其他游客給主人的留言,也可以自己給主人留言
3.3 管理端需求分析與設計
博客系統(tǒng)管理端主要面向博客主人,方便博客主人對自己的博客內容進行管理,對其中共享的某些信息進行修改或刪除等操作。因此,博客管理端應包含以下功能:
登錄頁面:主人通過輸入用戶名和密碼后,對用戶名和密碼進行匹配,密碼正確則可以進入管理端主頁面,錯誤則需要重新輸入,當用戶輸錯用戶名或密碼時也可以進行重置,方便用戶更正
首頁:管理端首頁與客戶端首頁相同,可參考客戶端首頁需求
博文目錄頁面:主人點擊進入后,可以對自己發(fā)表的博文進行添加、修改或刪除操作。當按下“發(fā)表新文章”時,進入添加博文頁面;當按下“修改”時,進入博文修改頁面;當按下“刪除”時,則對博文進行刪除
添加博文頁面:進入添加博文頁面后,可以發(fā)表新的文章
博文修改頁面:進入博文修改頁面后,可以對博文進行修改,也可以對相應的評論進行刪除
我的相片頁面:點擊進入后,可以對圖片進行添加和刪除操作。當按下“添加新圖片”時,可選擇添加圖片;當按下“刪除”時,則對圖片進行刪除
留言頁面:點擊進入后,可以對留言進行刪除操作
第四章 數(shù)據(jù)庫邏輯設計
博客系統(tǒng)數(shù)據(jù)庫BlogData包括5張表,分別是用戶信息表、博文信息表、評論信息表、相片信息表和留言信息表。
4.1 用戶信息表
用戶信息表(Admins)記錄了用戶的賬號和密碼。結構如表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設定為on后,null型將不再與空值相同;quoted_identifier設定為on后,文字必須由單引號分隔;indentity(1,1)設置了標識符,起始值為1,步進為1;collate Chinese_PRC_CI_AS為按照漢字排序規(guī)則進行排序;ignore_dup_key設定為off后,若向表中插入已有的主鍵值,則插入失敗。
4.2 博文信息表
博文信息表(Articles)記錄了博文的編號、標題、主題、內容等詳細信息。結構如表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字,當前僅顯示7059字,請閱讀下面提示信息。
收藏《畢業(yè)論文:B/S單用戶博客系統(tǒng)設計》)