畢業設計博客系統設計論文_第1頁
畢業設計博客系統設計論文_第2頁
畢業設計博客系統設計論文_第3頁
畢業設計博客系統設計論文_第4頁
畢業設計博客系統設計論文_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、裝訂線畢業設計(論文)說明書博客系統設計摘 要該博客嚴格按照軟件工程的模式來進行設計, 使用了asp技術并采用macromedia dreamweaver mx 2004 作為設計工具,后臺的數據庫使用access創建,并使用了ado方法來訪問數據庫。博客的設計方法比較多,利用asp設計也是更多。而本次畢業設計就是希望通過asp技術開發出交互功能更強更完善的管理系統。系統使用了快速原型法來進行設計,主要實現了管理員和博客用戶兩個模塊,管理員可以對博客系統進行管理和維護,用戶可以瀏覽網站內容和發表自己的觀點與信息等等。系統發布之后,管理員或用戶就可以通過web管理和訪問數據庫,這樣設計既有利于博

2、客用戶方便地操作,也有利于管理員有效的管理。并且已經編碼的腳本在運行時由腳本引擎解碼,增加了系統的安全性。總之,此動態交互式的博客具有博客信息的動態管理功能,在管理效率上有很大的提高,基本上達到了設計目的。關鍵詞:asp; ado; 快速原型法abstractthe blog management system is designed strictly under the model of the software engineering science. it uses the skill of asp and its design tool is macromedia dreamweave

3、rs mx 2004. the background database is created by access and is accessed by ado method.there are many designing methods of the blog management system, but that using the skill of asp is very enough. so the aim of this design is using the skill asp to develop a management system with more alternative

4、 and higher function. the system uses prototyping method to build and realize two main modules- blogs module and the users. the blogs can manage and maintain information and the users can search the information of blog and their own lending messages. after the system is publicized, the blogsand user

5、s can access the web site through the internet for management or search. in conclusion, the design makes the users easy operation and managers efficient management. and the script-engineer decodes the encoded script while it is running, so the safety level of system becomes higher.to sum up, this dy

6、namic alternative blog management system has the function of dynamic management of blogs information, improved the efficiency of management and basically got the aim of design. keywords: asp; ado; prototyping method 目 錄摘 要iabstractii1. 文獻綜述與理論基礎11.1 asp 簡介11.1.1 asp的技術特點11.1.2 asp方法與傳統靜態主頁的區別21.1.3

7、asp與組件對象的使用31.2 ado簡介41.3 腳本語言簡介61.3.1 vbscript61.3.2 jscript61.4 asp與jsp、php的比較71.4.1 asp71.4.2 jsp71.4.3 php81.5 數據庫的基本概念91.5.1 數據庫系統的類型91.5.2 數據庫系統的結構102. 概 述122.1 設計目的122.2 設計方法122.3 設計思想123. 需求分析133.1 背景概述133.2 可行性分析133.3 系統分析134. 總體設計164.1 數據庫設計164.1.1 數據庫的邏輯設計164.1.2 后臺數據庫的配置184.2 模塊設計195. 詳細

8、設計215.1 登錄頁面215.2 主頁面225.3 發表日志頁面245.4 修改個人信息255.5 后臺管理頁面275.6 日志分類管理295.7 帳戶與權限管理32結束語34致 謝35參考文獻36 49 1. 文獻綜述與理論基礎1.1 asp 簡介asp(active server pages)是一個服務器端的(server.side)腳本執行環境,用戶可用它產生和執行動態的、交互的、高性能的web服務器應用程序。當腳本在服務器端而不是在客戶端執行時,web服務器將完成產生發往瀏覽器的html(hypertext markup language)頁的所有工作。asp的工作模式是當瀏覽器向w

9、eb服務器提出文件(.asp)的請求時,一個asp腳本就開始執行,這時web服務器調用asp,把該文件全部讀入并執行每一條命令,然后將結果以html頁面形式送回瀏覽器。 1.1.1 asp的技術特點幾年以前,業界在動態主頁發布方面唯一的渠道是cgi(common gateway interface) 模式。隨后出現的 isapi、nsapi和jdbc等技術方案雖較cgi進步,但從企業網(intranet )的技術現實來衡量,這些方案仍不適用于進行快速開發、及時維護和大面積的技術普及。asp技術的出現,使動態交互式web主頁設計成為一件輕松愉快的工作。只要幾行腳本語句,就能將后臺的數據庫信息發布

10、到internet/intranet上, 在編程和網頁腳本的可讀性方面大大優于傳統的技術方案。 asp是 active server pages(動態服務器主頁)的縮寫,它是一個服務器端的腳本環境,在站點的web服務器上解釋腳本,可產生并執行動態、交互式、高效率的站點服務器應用程序。asp可以勝任基于微軟web服務器的各種動態數據發布。 從軟件的技術層面看,asp有如下的特點: 1> 無需編譯asp腳本集成于html當中, 容易生成, 無需編譯或鏈接即可直接解釋執行。 2> 易于生成使用常規文本編輯器 (如windows下的記事本) , 即可進行 *. asp頁面的設計。若從工作效

11、率來考慮,不妨選用具有可視化編輯能力的visual interdev。 3> 獨立于瀏覽器用戶端只要使用可解釋常規html碼的瀏覽器, 即可瀏覽asp所設計的主頁。asp腳本是在站點服務器端執行的,用戶端的瀏覽器不需要支持它。因此,若不通過從服務器下載來觀察*.asp 主頁,在瀏覽器端見不到正確的頁面內容。 4> 面向對象在asp腳本中可以方便地引用系統組件和asp的內置組件, 還能通過定制 activex server component (activex服務器組件) 來擴充功能。 5> 與任何activex scripting 語言兼容除了可使用vbscript 和jsc

12、ript語言進行設計外, 還可通過plug.in的方式, 使用由第三方所提供的其它scripting 語言。 6> 源程序碼不會外漏asp腳本在服務器上執行, 傳到用戶瀏覽器的只是asp執行結果所生成的常規html碼, 這樣可保證辛辛苦苦編寫出來的程序代碼不會被他人盜取。 從應用的層面看,asp有如下的功能: 1> 處理由瀏覽器傳送到站點服務器的表單輸入。 2> 訪問和編輯服務器端的數據庫表。使用瀏覽器即可輸入、更新和刪除站點服務器的數據庫中的數據。 3> 讀寫站點服務器的文件, 實現訪客計數器、座右銘等功能。 4> 提供廣告輪播器、取得瀏覽器信息、url表管理等

13、內置功能。 5> 由cookies讀寫用戶端的硬盤文件, 以記錄用戶的數據。 6> 可以實現在多個主頁間共享信息, 以開發復雜的商務站點應用程序。 7> 使用vbscript或jscript等簡易的腳本語言, 結合html碼, 快速完成站點的應用程序。通過站點服務器執行腳本語言,產生或更改在客戶端執行的腳本語言。 8> 擴充功能的能力強, 可通過使用visual basic、java、visual c + 等多種程序語言制作activex server component以滿足自己的特殊需要。1.1.2 asp方法與傳統靜態主頁的區別 把信息系統納入internet/i

14、ntranet 的框架之后,首先要解決的問題是通過網頁訪問后臺數據庫信息。所有應用程序都被分割為頁面的形式,用戶的交互操作是以提交表單等方式來實現的,這就要求web 站點具有很強的動態數據發布能力。然而,目前web的服務,仍以提供" 靜態"主頁內容為主。所謂"靜態",指的就是站點的主頁內容是"固定不變"的,無法根據用戶的需求和實際情況做出相應的變化。當瀏覽器通過internet的http協議向站點的web服務器申請主頁時,站點服務器就會將已設計好的靜態的html文件傳送給瀏覽器。若要更新主頁的內容, 只能用非在線的手動方式更新html

15、的文件數據。 asp所設計出的是動態主頁,可接收用戶提交的信息并做出反應, 其中的數據可隨實際情況而改變,無須人工對網頁文件進行更新即可滿足應用需要。例如:當在瀏覽器上填好表單并提交http請求時,可以要求在站點服務器上執行一個表單所設定的應用程序,而不只是一個簡單的html文件。該應用程序分析表單的輸入數據,根據不同的數據內容將相應的執行結果(通常是數據庫查尋的結果集)以html的格式傳送給瀏覽器。數據庫的數據可以隨時變化,而服務器上執行的應用程序卻不必更改,客戶端得到的網頁信息會始終保持新鮮的魅力。1.1.3 asp與組件對象的使用 在利用asp技術進行動態web開發的時候,應遵循這樣一個

16、原則:即 asp的服務器端腳本必須與微軟倡導的組件對象( component object model )配合使用才能開發出具有實用價值的信息產品。asp腳本相當于一種粘合劑,把一個個具有特定功能的組件對象粘合在一起,以形成最終的軟件產品。這一軟件制作的工藝思想類似于硬件工廠生產板卡的過程,那一個個的組件對象就相當于集成電路的芯片,而asp腳本只是焊接芯片的焊接劑,由此可見組件對象起著核心作用。 組件對象模型com是微軟提出的一種基于二進制的windows軟件標準,它是由ole 技術逐漸發展而來的。在使用不同語言工具寫成的組件對象之間,依據com 的標準可以進行交互。com是技術概念和標準,

17、其商業概念的稱謂則使用activex。 上文提到的ado就是系統提供的用于訪問后臺數據庫的組件。此外,asp本身還提供了五個內置的對象。這五個內置對象可被asp 腳本直接使用,它們是: 1>request取得用戶信息 2>response 傳遞信息給用戶 3>server 提供訪問服務器的方法和屬性 4>application在一個應用程序的多個主頁之間保留和使用某些共同的信息 5>session在一個用戶的多個主頁之間保留和使用某些共同的信息 其中,使用內置對象1、2可實現web的交互功能,使用內置對象4、 5可解決具有協作機制的應用問題。 asp的一大特色,是

18、可以用來編寫具有協作機制的應用程序,在多個用戶的多個主頁之間共享信息。使用內置的application和session 對象可實現這些功能。 application對象保存一個應用程序共同的信息,使用此應用程序的所有用戶都可以共同分享。為防止其被多個用戶同時更改,提供loc k和unlock方法來實現互斥,例如: application.lock 禁止其他用戶更改application的信息; application.unlock 允許其他用戶更改application的信息。 session對象比application對象的使用外延范圍小,它保存僅屬于一個用戶的一個應用程序的信息。asp的應

19、用程序可以只有一個首頁,也可以有多個主頁文件,所有的文件均位于一個虛擬路徑下。session對象可讓同一個用戶在多個主頁之間共享信息。當用戶第一次在一個應用程序中申請一個*.asp主頁時,asp將為該用戶分配一個session id號,它將唯一地標識用戶的身份,從而能將同一應用程序的不同用戶區分開來。 根據需要還可以自行定制具有某些特色的組件對象,以完成特殊的任務。用visual basic、visual c+、delphi和 java等語言都可以編寫。自制的組件對象分成兩類: 一是由類打包而成的*.dll文件,經注冊器注冊后,在asp腳本中可通過"set 對象名 = 類名"

20、;來引用。對象在這種使用過程中是在服務器的后臺運行的,其運行的結果通過系統自動生成的html作用到前端瀏覽器。 二是生成*.ocx文件,一般用作可視化的對象activex,可直接將其嵌入*.asp主頁中,在頁面中插入時需使用html語言的標記加以引用。通常構件制作完成并按下載的要求打包后生成*.cab文件。對象在這種使用方式下要先從服務器下載,然后在客戶的前端瀏覽器運行。在第一次下載時被展開成相關的*.dll和*.ocx文件進行本地安裝及注冊。以后再使用時,就可直接從本地獲得,免去了下載之苦,這也是activex優于java app let的地方。 從長遠來看,asp和組件對象的配合使用無疑是

21、一種引人入勝的新技術,更重要的是由此而提出了一種全新的軟件設計方法,把硬件的工藝思想恰如其分地融合于軟件的面向對象的分析、設計和施工之中, 使面向對象的概念和方法從工具語言的層次一下子躍上了系統的應用層,在快速開發多層的客戶/服務器分布式應用系統中將會產生極好的效果。1.2 ado簡介activex數據對象ado(activex data object)是一個asp內置的activex服務器組件(activex server component),用于數據庫訪問,可把它與asp結合起來,建立提供數據庫信息的網頁內容,對數據庫進行查詢、插入、更新、刪除等操作。 要執行ado,服務器端必須安裝wi

22、ndowsntserver和internetinformation server (iis),而客戶端只要有ie或netscape較新版本的瀏覽器即可。 實現web數據庫訪問大致可分為兩類,一類是以web服務器作為中介,把瀏覽器和數據源連接起來,在服務器端執行對數據庫的操作;另一類是把應用程序和數據庫下載到客戶端,在客戶端執行對數據庫的訪問。 公共網關接口cgi(common gateway interface) 當瀏覽器發出http請求時,web服務器執行相應的應用程序,訪問站點數據庫,并將查詢結果以html格式送回到瀏覽器。這種方式有很多缺點,功能有限、開發困難,且不具備事務處理(tran

23、saction)功能, 這在很大程度上限制了它的應用。internet數據庫連接器idc(internet database connector) 這是一種簡易方案,對數據庫的操作仍然放在web端,但用戶可通過sql(structured query language)語句對數據庫進行查詢、輸入、更新、刪除等操作。idc設計簡易,不用編譯就可直接執行,且支持對數據的多重查詢(multiple query)。先進數據庫連接器adc(advanced data connector) 前兩種方案中對數據庫的操作都是在服務器端進行,而adc是在瀏覽器端執行數據查詢動作。當瀏覽器提出對數據庫的操作請求時

24、,adc 先將相應的數據庫下載到瀏覽器端,在用戶端對數據庫進行操作。顯然,這種方案效率很高。客戶端對數據庫的查詢是由安裝在客戶端的a dc activex control完成的,而這個activex control是由站點服務器自動下載并安裝在客戶端的。 1.2.1 ado與asp 這是一種完全的web數據庫訪問方案,可把ado與asp結合起來,建立提供數據庫信息的網頁內容,在網頁中執行sql命令,對數據庫進行查詢、插入、更新、刪除等操作。ado中可用vbscript、javascript 語言來控制數據庫的訪問(而asp恰恰是腳本語言的解釋環境)和查詢結果的輸出;ado中使用recordse

25、ts對象對數據庫進行操作;可以連接多種支持odbc的數據庫。1.2.2 訪庫的技術實現方法ado(activex data objects)是一組優化的訪問數據庫專用對象集,為asp提供了完整的站點數據庫訪問解決方案。它可作用于服務器端,以提供含有數據庫信息的主頁內容。通過執行sql命令,讓用戶在瀏覽器畫面中輸入、更新和刪除站點服務器的數據庫信息。 ado使用內置的recordsets對象作為數據的主要接口。ado可使用 vbscript、jscript語言來控制對數據庫的訪問,以及查詢結果的輸出顯示。 ado可連接多種支持odbc的數據庫,如sql server、oracle、informi

26、x等。 在使用時,首先需在控制面板的odbc中建立相應的dsn(數據源名) 。要選擇系統數據源名,指定所用的驅動程序,如"sql server",在數據來源名稱中輸入dsn名,并選定服務器和數據庫。 使用ado訪問數據庫的設計要領是掌握asp腳本的幾個典型語句, 它們是: 1> 定義數據庫組件。有兩種定義方法: ·使用"server.createobject"建立連接的對象。 set conn=server.createobject ("adodb.connection") ·使用標記建立記錄集的對象。 se

27、t rs=server.createobject (“adodb.recordsets”)2> 用"open"打開待訪問的數據庫: conn.open "dsn名稱" 3> 設定sql語句,使用"execute"命令,即可開始執行訪問數據庫的動作: setrs=conn.execute("sql語句") 其中rs為結果集對象(recordsets)。 4> 利用recordsets對象所提供的屬性顯示查詢結果 5> 關閉結果集對象,斷開與數據庫的連接: rs.close conn.close

28、1.3 腳本語言簡介1.3.1 vbscript microsoft visual basic scripting edition 是程序開發語言 visual basic 家族的最新成員,它將靈活的腳本應用于更廣泛的領域,包括 microsoft internet explorer 中的 web 客戶機腳本和 microsoft internet information server 中的 web 服務器 script。vbscript 使用 activex(r)腳本與應用程序對話。使用 activex script,瀏覽器和其他應用程序不再需要每個腳本部件的特殊集成代碼。activex腳本

29、讓用戶可以編譯 script、獲取和調用入口點及管理開發者可用的命名空間。通過 activex script,語言廠商可以建立標準腳本運行時語言。microsoft 將提供 vbscript 的運行時支持。microsoft 正在與多個 internet 組一起定義 activex腳本標準以使腳本引擎可以互換。 activex腳本可用在 microsoft(r) internet explorer 和 microsoft(r) internet information server 中。vbscript 的數據類型只有一種,稱為 variant。variant 是一種特殊的數據類型,根據使用的

30、方式,它可以包含不同類別的信息。因為 variant 是 vbscript 中唯一的數據類型,所以它也是 vbscript 中所有函數的返回值的數據類型。 最簡單的 variant 可以包含數字或字符串信息。variant 用于數字上下文中時作為數字處理,用于字符串上下文中時作為字符串處理。這就是說,如果使用看起來象是數字的數據,則 vbscript 會假定其為數字并以適用于數字的方式處理。與此類似,如果使用的數據只可能是字符串,則 vbscript 將按字符串處理。當然,也可以將數字包含在引號 (" ") 中使其成為字符串。1.3.2 jscript jscript 是

31、microsoft 公司對 ecma 262 語言規范的一種實現。jscript 完全實現了該語言規范,并且提供了一些利用 microsoft internet explorer 的功能的增強特性。本教程的目的就是引導您學習使用 jscript。jscript 是一種解釋型的、基于對象的腳本語言。盡管與諸如 c+ 和 java 這樣成熟的面向對象的語言相比,jscript 的功能要弱一些,但對于它的預期用途而言,jscript 的功能已經足夠大了。 jscript 不是任何其他語言的精簡版(例如,它只是與 java 有點模糊而間接的關系),也不是任何事物的簡化。不過,它有其局限性。例如,您不能

32、使用該語言來編寫獨立運行的應用程序,并且該語言讀寫文件的功能也很少。此外,jscript 腳本只能在某個解釋器上運行,該解釋器可以是 web 服務器,也可以是 web 瀏覽器。 jscript 是一種寬松類型的語言。這意味著您不必顯式定義變量的數據類型。此外,在大多數情況下,jscript 將根據需要自動進行轉換。例如,如果試圖將一個數值添加到由文本組成的某項(一個字符串),該數值將被轉換為文本。1.4 asp與jsp、php的比較1.4.1 aspasp是到現在開發人群中應用最廣的一個技術,asp更精確的說是一個中間件,這個中間件將web上的請求轉入到一個解釋器中,在這個解釋器中將所有的as

33、p的script進行分析,再進行執行,而這時可以在這個中間件中去創建一個新的com對象,對這個對象中的屬性和方法進行操作和調用,同時再通過這些com組件再完成更多的工作。所以說,asp強大的不在于它的vbscript, 而在于它后臺的com組件,這些組件來無限的擴充了asp的能力。優勢: 1、簡單易學。basic有誰不會?很少會有人舉手,所以有人在說這個開發基礎是最廣的。而且ms有一向做的非常好的聯機手冊,本地化語言的幫助,同時非常快的出現教學書籍,這樣會大大方便開發人員的學習和對技術的深入研究。 2、安裝使用方便。裝好一個windows 2000,只要你安裝了iis那么asp就可以使用了,從

34、沒有什么需要你花心思去配置的。3、開發工具強大而多樣。asp開發工具的多樣化,同時它們的功能也很強,這一點已經被許多程序員所津津樂道。易用、簡單、人性化,這本就是微軟的強項。4、效率高。在低的訪問量下,asp能體現出一定的效率,這時它對機器的要求并不高。不足之處:1、windows本身的所有問題都會一成不變的也累加到了它的身上。安全性、穩定性、跨平臺性(win2k已經不再支持alpha了)都會因為與nt的捆綁而顯現出來。 2、asp由于使用了com組件所以它會變的十分強大,但是這樣的強大由于windows nt系統最初的設計問題而會引發大量的安全問題。只要在這樣的組件或是操作中一不注意,那么外

35、部攻擊就可以取得相當高的權限而導致網站癱瘓或者數據丟失。3、由于asp還是一種script語言沒除了大量使用組件外,沒有辦法提高其工作效率。它必須面對即時編譯的時間考驗,同時我們還不知其背后的組件會是一個什么樣的狀況。4、無法實現跨操作系統的應用。5、還無法完全實現一些企業級的功能:完全的集群、均橫負載。1.4.2 jspjsp簡單的說就是java,只是它是一個特別的java語言,加入了一個特殊的引擎,這個引擎將httpservlet這個類的一些對象自動進行初始化好讓用戶使用,而用戶不用再去操心前面的工作。同時這個引擎又引入了< jsp : * 、< % 等一系列的特別語法,使用這

36、些語法來進行一些特定的操作,如引用文件、url轉向、java bean引用等這樣的操作,這些都是由引擎自動完成初始化的工作。可以將這個引擎看作一個jsp到java servlet的生成器或是翻譯器,讓用戶不用再面對復雜的servlet中的還沒開始工作就要寫的幾十行代碼。這就是jsp.一個java servlet生成器。優勢:1、一處編寫隨處運行。這是一個程序員的夢想,也是從前的程序員的噩夢,為了在不同的平臺間運行,使許多程序員一行行的重寫代碼。在這一點上java已經給了我最完美的答案它做的要比php更出色,除了系統之外,代碼不用做一點更改的。 2、系統的多平臺支持。java servlet /

37、jsp web server/application server系統它可以讓你在任意環境做開發,在任意環境進行系統部署,在任意環境擴展,相比asp/php的局限性是顯面易見的。 3、強大的可伸縮性。從只有一個小的jar文件就可以運行servlet/jsp到由多臺服務器進行集群和均橫負載,到多臺application進行事務處理、消息處理.一臺服務器到無數以服務器,java顯示了一個巨人的生命力。4、多樣化和功能強大的開發工具支持。這一點與asp很像,java已經有了許多非常優秀的開發工具而且有許多可以免費得到,并且其中的許多已經可以順利的運行于多種平臺之下。不足之處:1、與asp一樣,jav

38、a的一些優勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產品的復雜性。2、運行的速度慢。3、技巧還是技巧。一個短處就一定要付出代價的。java的運行速度是用將class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是“最低性能價格比”了。另一方面來說,它還需要硬盤空間來存儲一系列的.java文件和.class文件以及對應的版本文件。1.4.3 php如果說asp是一個com,那么可以說php是一個純粹的script翻譯器。優勢: 1、一種能快速學習、跨平臺、有良好數據庫交互能力的開發語言。asp比不上它的就是這種跨平臺能力了,而正是

39、它的這種能力讓unix/linux有了一種與asp媲美的開發語言。語法簡單、書寫容易、現在市面上也有了大量的書,同時internet上也有大量的代碼可以共享,對于一個初學者想學些“高深的unix”下的開發來說是一個決好的入手點。2、與apache及其它擴展庫結合緊密。php與apache可以以靜態編譯的方式結合起來,而與其它的擴展庫也可以用這樣的方式結合(除外的就是windows平臺了)。這樣的方式的最大的好處就是最大化的利用了cpu時和內存,同時極為有效的利用了apache的高性能的吞吐能力。同時外部的擴展也是靜態聯編,從而達到了最快的運行速度。由于與數據庫的接口也使用了這樣的方式,所以使用

40、的是本地化的調用,這也讓數據庫發揮了最佳效能。3、良好的安全性。由于php本身的代碼開放所以它的代碼在許多工程師手中進行了檢測,同時它與apache編譯在一起的方式也可以讓它具有靈活的安全設定。所以到現在為止,php具有了公認的安全性能。不足之處: 1、數據庫支持的極大變化。由于php的所有的擴展接口都是獨立團隊開發完成的,同時在開發時為了形成相應數據的個性化操作,所以php雖然支持許多數據庫,可是針對每種數據庫的開發語言都完全不同。這樣形成針對一種數據庫的工發工作,在數據庫進行升級后需要開發人員進行幾乎全部的代碼更改工作。而為了讓應用支持更多種的數據庫,就需要開發人員將同樣的數據庫操作使用不

41、同的代碼寫出n種代碼庫出來,讓程序員的工作量大大增大。 2、安裝復雜。由于php的每一種擴充模塊并不是完全由php本身來完成,需要許多外部的應用庫,如圖形需要gd庫、ldap需要ldap庫.這樣在安裝完成相應的應用后,再聯編進php中來。這也就是說一定要在freebsd/linux/unix下運行php的原因。只有在這些環境下才能方便的編譯對應的擴展庫。這些都是一般開發人員在使用php前所先要面對的問題,正是這樣的問題讓許多開發人員轉而使用其它的開發語言,畢竟unix沒有那么多的用戶。1.5 數據庫的基本概念什么是數據庫系統?簡單地說,數據庫系統是一種計算機化的數據保存系統,它以特有的數據存儲

42、方式將相關的數據內容整合在一起。我們可以將數據庫本身想成是一個電子檔案柜,在這個電子檔案柜內,存放著一些電子數據文件。數據庫系統主要的目的在于維護信息,并在必要時提供協助取得這些信息。1.5.1 數據庫系統的類型數據庫系統被使用的范圍非常廣泛,從一般的微電腦到大型主機都可以使用。一般來說,大型主機多傾向于使用多用戶的數據庫系統,而一般的微電腦、個人計算機則傾向于使用單用戶數據庫系統。這里所謂的單用戶數據庫系統,是指同時最多只能有一個用戶存取數據庫的內容,而多用戶數據庫系統,則允許多個用戶同時存取數據庫的內容。數據庫系統的種類非常多,目前以關系型(relational)數據庫系統最為常見,所謂的

43、關系型數據庫系統是以表(table)的類型將數據提供給用戶,而所有的數據庫操作都是利用舊的表來產生新的表。除了關系型數據庫系統外,其他常見的數據庫系統類型還有inverted list,hierarchic,network等數據庫系統。1.5.2 數據庫系統的結構不同的數據庫系統有著不同的系統結構,毫無疑問,一個數據庫結構并不能完全用于所有的數據庫系統,在這里我們以被廣泛認同的數據庫結構ansi/sparc結構來進行說明。1. ansi/sparc結構在ansi/sparc結構中將數據庫分為內部層(internal level)、概念層(conceptual level)以及外部層(exter

44、nal level)等三層,如圖1.1所示。圖1.1 數據庫結構圖內部層是最接近數據庫實體存儲位置的一層,與數據庫數據實際存儲方式有關,在內部層中以具體的方式來表示整個數據庫。外部層是最接近用戶的部分,與用戶對數據的查看方式有關,在外部層中以用戶看得懂的方式來表示部分數據庫的內容,每個用戶所查看的數據內容不同。概念層位于內部層與外部層之間,以用戶看得懂的方式來表示整個數據庫,提供每個用戶一致的數據查看內容。不管是使用哪一種數據庫系統,都只會影響到ansi/sparc結構的外部層以及概念層內容,而與內部層無關。例如,對于關系型數據庫系統而言,在概念層中所看到的數據一定是以關系型的形式存在,在外部

45、視域中所看的數據有可能會以關系型的形式存在,至于在內部層中的數據則一定不會是以關系型的形式存在。2. mapping對應在圖1.2的詳細結構圖中,可以發現在內部層與概念層之間以及概念層與外部層之間各有一個對應(mapping)存在,分別對應著上下兩層的內容。圖1.2 數據庫詳細結構圖概念/內部對應(conceptual/ internal mapping)位于概念層與內部層之間,定義數據庫的概念視域內容與實際存儲內容之間的對應關系。如果改變了數據庫的存儲結構,只要在這個對應中修改對應的內容就可以了,而不需要改變概念視域與外部視域的內容。外部/概念對應(external/conceptual m

46、apping)位于外部層與概念層之間,定義特定外部視域與概念視域的對應關系,也就是定義外部視域所查看的部分數據庫內容與整個數據庫之間的關系。2. 概 述2.1 設計目的博客是互聯網與信息時代發展的產物,博客是應對廣大網民的需求而誕生的。本次畢業設計是通過對博客的開發一方面可以鍛煉開發者軟件開發的能力、增強實際應用能力 ;另一方面,設計一個相對來說功能比較全的博客來給廣大網民提供一個很好的交流的平臺。本系統采用active server pages(動態服務器主頁)來設計的,通過交互的web應用技術的學習,提高對b/s系統的應用能力。2.2 設計方法系統采用快速原型法6 進行開發,即在分析階段提

47、取和分析用戶的需求后,根據用戶需求快速構造一個用戶系統和工作模型,利用模型與用戶交流,在交流中按用戶的要求再對原型進行修改,從而逐步確認,直到目標系統的實現。其開發過程可概括為:需求分析系統設計前端網絡頁面的設計與開發系統的發布與維護2.3 設計思想本博客系統的開發設計是從以下幾點考慮的: 實用性:為廣大博客帶來一個很好的交流的環境,給他們一個展示長華的平 臺,還給系統的管理者一個很好的管理操作界面。 操作簡單:系統應該適用于不同水平的使用者,操作簡易 代碼可讀性:便于系統的維護和更新 應用asp技術實現動態遠程管理系統的結構如圖2.1 所示,多數頁面都是通過asp腳本程序直接訪問數據庫和文件

48、系統。asp 頁面asp 頁面數 據 庫文件系統圖2.1 系統結構圖3. 需求分析對于軟件開發人員來說,他所設計的軟件是否成功不僅僅取決于該軟件能否正常運行,更重要的是看它能否更好地滿足用戶的需求。因此,在設計這個博客之前,進行需求分析是非常必要的。3.1 背景概述隨著信息網絡時代的到來,人們利用internet與計算機來進行溝通的欲望也隨之增強,人們就需要用一個平臺來進行相互的交流與勾通,而現在的許多博客的構建平臺不是很齊全。需要解決這些問題的最好方法是實現博客交流與管理的自動化,來規范、安全的進行交流是必不可少的。用戶只要擁用一臺計算機與一個網絡就可以輕松上網,在網絡的寬廣的世界中任意遨游

49、,廣交四方朋友。3.2 可行性分析在開發任何一個系統之前都要對系統開發的可行性進行分析,目的是為了避免盲目投資,減少不必要的損失。可行性分析是在對當前系統有了初步了解的基礎上完成的,主要從技術、經濟和社會三個方面分析討論開發系統的可行性。技術可行性是指在現有技術條件下能否滿足所提出的系統開發要求,根據現有的計算機軟硬件性能、環境條件、輔助設備、基礎管理、技術人員的開發能力等方面來衡量現有技術條件能否達到系統目標所提出的要求。經濟可行性是根據系統的要求,要實現系統的功能需要投入多少人力和物力資源,投入多少資金,從經濟上分析工程是否合算可行。社會可行性是一些社會或人的因素對系統的影響,也就是說在具

50、體的社會環境下,系統能否按照既定的設計方案順利運轉起來,社會可行性是人員、體制、社會環境所形成的限制條件進行研究,了解他們可能對目標系統建立所造成的影響。從上面介紹的情況可以看出,開發博客,實現博客管理的規匯范化是非常必要的,也是可行的。因為使用計算機化的博客可以徹底改變管理工作的現狀,能提高工作效率,能夠提供更準確、及時、最新的信息,能夠從根本上解決博客管理中信息滯后、資源浪費等問題。3.3 系統分析第一步:對博客進行詳細調查,了解博客系統的處理流程。博客的流程一般是這樣的,博客系統分為兩個模塊,管理員和普通用戶模塊。管理員對博客用戶所發表的日志、圖片,個人相關資料進行管理。管理員還要為博客

51、用戶提供相對應的博客分類,信息的管理,插件的管理,評論留言管理等等。第二步:抽象出博客的邏輯模型,畫出er圖。如圖3.1所示:登錄界面是否注冊退出重新登錄管理員管理個人文檔guestbook網絡文集我的相冊我的文章退出重新登錄個人文檔guestbook網絡文集我的相冊我的文章系統首頁登錄系統注冊系統管理員個人是否管理員登錄系統系統首頁圖3.1 er圖第三步:畫出“做什么”的數據流程圖。如圖3.2所示:用戶管理員管理系統用戶使用系統發表或回復信息發表或管理系統信息信 息圖3.2 系統數據流圖4. 總體設計4.1 數據庫設計4.1.1 數據庫的邏輯設計根據前面的需求分析和設計的實際情況,數據庫中設

52、定了管理員表、博客用戶表相集表、文章表等。按照數據庫規范化設計的原則檢查這些表可以看出,表中的信息沒有數據冗余也沒有傳遞依賴,符合規范化原則。設計的部分表格分別如下文所示。1. 用戶/管理員表表2 用戶/管理員表字段名稱數據類型說明用戶名文本主鍵,不能為空性別文本非空姓名文本非空密碼文本非空email文本非空以管理員的工作證號為主鍵。字段屬性“用戶名”反映管理員與普通用戶的情況。假如是管理員名與密碼,就可以進入管理員界面,也就可以對本系統時行管理。如果是普通用戶就可以通過用戶名這個字段來反映。字段的數據類型設為文本型。2. 日志/相片集信息表表3 日志/相片集信息表字段名稱數據類型說明博客標題

53、文本主鍵,不能為空博客說明文本非空作者文本非空博客內容文本非空發表日期日期非空是否公開是/否是/否瀏覽次數文本非空以日志的編號為主鍵,使不同的博客日志有著不同的編號,這樣設計使得博客日志信息入庫操作變的簡便。字段“發表日期”的類型設為“日期”型。3. 博客信息表表4 博客信息表字段名稱數據類型說明博客編號文本主鍵,不能為空博客名稱文本非空博客標題文本主鍵,不能為空相關鏈接日期主鍵,不能為空日志數日期非空以博客的編號、博客的標題和鏈接為主鍵。這樣設計是考慮到同一主題的博客可以被被許多人命名,保證一個人只使用屬于他自己的博客。4. 用戶類別表表5 用戶類別表字段名稱數據類型說明啟用編號文本主鍵,不

54、能為空啟用類別文本非空啟用標題文本非空啟用的空間文本非空啟用類型 文本非空是否啟用是/否是/否類似于日志信息表的設計,主要是給不同的用戶以不同的權限,以啟用編號為主鍵。4.1.2 后臺數據庫的配置本系統是在windows xp professional下開發的,采用的后臺數據庫是access ,數據庫服務器和web服務器配置在同一臺計算機上,并配置了odbc的系統數據源。具體配置步驟如下: 新建一個空數據源,取名為pblog2.mdb 在pblog2.mdb中建立各項表格 建立一個odbc數據源,名稱為pblog2 ,指向pblog2.mdb,步驟如下:首先,選擇“控制面板”中的“odbc數據

55、源管理”選項,選擇“系統dsn”選項卡,單擊“添加”按鈕,如圖4.1所示:圖4.1 選擇系統dsn然后,在“創建新數據源”窗口中,選擇“microsoft access driver(*.mdb)”作為數據庫驅動程序,然后單擊“完成”按鈕,如圖4.2所示:圖4.2 選擇驅動程序在“odbc microsoft access 安裝”窗口中,數據源名稱為“pblog2”,這是asp程序中將要引用的。單擊“選擇.”按鈕,從彈出的文件窗口中選擇 pblog2.mdb文件所在的位置,其他選項都不變,如圖4.3所示:圖4.3 選擇數據庫單擊“確定”按鈕,這樣就完成了access數據庫的odbc數據庫設置。

56、4.2 模塊設計模塊是數據說明、可執行語句等程序對象的集合,是單獨命名的而且可通過名字來訪問,如,過程,函數、子程序、宏等都可作為模塊。模塊化就是把程序劃分為若干個模塊,將系統的總功能分為若干個子功能,最后把這些子模塊綜合起來組成一個整體,完成指定的功能滿足問題的要求。根據前面對需求的分析,依據系統功能設計原則,博客的功能模塊劃分如圖4.4所示:博客系統管理員模塊普通用戶模塊編輯草稿退出系統發表日志發表日志編輯草稿修改資料系統管理退出系統圖4.4 系統功能模塊圖1. 超級管理員本博客的系統管理員,具有以下功能: 站點基本設置 日志分類管理 界面與插件 數據庫與附件 帳戶與權限 友情鏈接管理 表

57、情與關鍵字 服務器信息 發表日志 草稿編輯2 普通用戶 可以瀏覽本網站 對自己的相關信息進行修改 發表日志 草稿編輯5. 詳細設計5.1 登錄頁面如圖5.1所示:圖5.1 登錄頁面此模塊涉及到的部分asp文件如下:login.asp, 登錄表單頁面。用戶進入系統時,首先訪問的是login.asp頁面。在該頁以前的登錄身份信息將被清除,無論以前用戶是否正確登錄,都需要在該頁重新輸入用戶名和密碼。當輸入有錯誤的時候,通過logon. asp后臺頁面進行檢查,顯示提示信息“用戶名或密碼有誤,請重新輸入!”。后臺的服務流程如圖5.2登錄頁面輸入個人信息符合規定否?主頁面 不符 符合圖5.2 用戶登錄流

58、程圖運行部分代碼如下:<div style="text-align:center;"> <form name="checkuser" action="login.asp" method="post"> <div id="msgcontent"> <div id="msghead">用戶登錄</div> <div id="msgbody"> <input name="action&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論