已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
大學(xué)本科畢業(yè)設(shè)計本科畢業(yè)論文 題目 :基于學(xué)習(xí)交流的博客管理系統(tǒng) 學(xué) 院:計算機科學(xué)與技術(shù)專 業(yè):計算機科學(xué)與技術(shù)學(xué) 號:20051313xxxx學(xué)生姓名: 指導(dǎo)教師: 日 期:2010年6月 日摘 要 “博客”一詞是從英文單詞blog翻譯而來,blog是web log(網(wǎng)絡(luò)日志)的簡稱。blogger則指撰寫blog的人,blogger在很多時候也被翻譯成為“博客”。 在網(wǎng)絡(luò)上發(fā)表blog的構(gòu)想使于1998年,但到了2000年才真正開始流行。隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,人們已經(jīng)不再滿足于從網(wǎng)絡(luò)上獲取信息,親身參與到互聯(lián)網(wǎng)中去已經(jīng)成為越來越多人的愿望。“博客”豐富了人們的網(wǎng)絡(luò)生活,它是一個以網(wǎng)絡(luò)為載體的綜合性信息平臺?!安┛汀辈粌H僅是一種單向的信息發(fā)布系統(tǒng),它也有著極其出色的交流功能。用戶在其中可以發(fā)布自己的心得,并通過留言的方式與他人進行交流,同時還可以進行個性化展示。本“博客”網(wǎng)站可以幫你方便完成會員注冊,發(fā)布個人網(wǎng)絡(luò)日志,瀏覽、查詢網(wǎng)絡(luò)日志,并對網(wǎng)絡(luò)日志發(fā)表評論,除此之外,您還可以編輯個人信息,上傳圖片,更換背景等。本系統(tǒng)采用b/s(browser/server)結(jié)構(gòu),用戶通過web瀏覽器便能方便地應(yīng)用博客系統(tǒng)。本系統(tǒng)采用j2ee開發(fā)技術(shù),該技術(shù)具有程序結(jié)構(gòu)清晰,高標準性和高安全性的優(yōu)點。基于mvc(model-view-controller)模式,應(yīng)用struts框架,以xml文件作為程序流程的配置文件,使程序代碼在保持相對獨立的同時又能高效地協(xié)同工作。系統(tǒng)可在windows、linux、unix等操作系統(tǒng)上運行,實現(xiàn)了一處編寫隨處使用的跨平臺性。關(guān)鍵詞: 博客; struts; mysql; tomcat abstractblog term comes from the english translation of the word blog, blog is a web log (blog) for short. blogger refers to people who write blog, blogger has been translated in many cases a blog.blog published in the concept of the network so that in 1998, but 2000 really became popular. the rapid development of the internet technologies, people are no longer satisfied to obtain information from the network, go in person to participate in the internet has become more and more people desire.blog rich peoples network of life, it is a web-integrated information platform carrier. blog is not just a one-way information distribution system, it also has very good communication capabilities. in which users can publish their own experiences and the way through the message to communicate with others, can also personalize the display. the blog website can help you easily complete the membership registration, publish personal web log, browse, query web log, web logs and comments, in addition, you can edit the personal information, upload images, change background .the system uses the b / s (browser / server) structure, the user through the web browser application can easily blog system. the system uses j2ee development technology, which has a clear program structure, high standards and high-security benefits. based on mvc (model-view-controller) pattern, struts framework application to process xml file as a program configuration file, make the program code while maintaining a relatively independent work together efficiently. system can be windows, linux, unix and other operating systems, implemented a cross-platform use of the preparation of everywhere.key words: blog; struts; mysql; tomcat目 錄1緒論51.1 博客的實用價值51.2 博客的功能介紹51.3 java語言簡介61.4 mysql數(shù)據(jù)庫介紹81.4.1 mysql數(shù)據(jù)庫介紹81.4.2 mysql優(yōu)勢:91.4.3 功能詳述102系統(tǒng)分析132.1 功能需求分析132.2 系統(tǒng)邏輯模型142.2.1 系統(tǒng)的數(shù)據(jù)流圖142.2.2 數(shù)據(jù)字典163系統(tǒng)設(shè)計193.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計193.2 硬件環(huán)境設(shè)計203.3 軟件環(huán)境設(shè)計203.4 數(shù)據(jù)庫設(shè)計203.4.1 概念結(jié)構(gòu)設(shè)計203.4.2 邏輯結(jié)構(gòu)設(shè)計253.4.3 物理結(jié)構(gòu)設(shè)計253.5 用戶界面設(shè)計274系統(tǒng)實施314.1 技術(shù)標準及框架的選擇314.2 開發(fā)環(huán)境的搭建314.3 程序代碼315系統(tǒng)維護346結(jié)論35參考文獻36致謝371緒論1.1 博客的實用價值“博客”極大地豐富了人們的網(wǎng)絡(luò)生活,無論從開闊視野方面,還是從共享精神方面,它都有著極強的實用價值。在“博客”上發(fā)布的言論,無論是得到持相同觀點者的支持,還是得到持相反觀點者的反駁,這些支持或者反駁的言論,會使你在思維上有更好的提升。“博客”并不等同于“網(wǎng)絡(luò)日記”,它不僅僅是個人思想的表達和日?,嵤碌挠涗?,它是私人性和公共性的有效結(jié)合,所提供的內(nèi)容可以用來交流,也可以為他人提供幫助?!安┛汀钡膬?nèi)容既可以是個人的想法和心得,也可以是基于某一主題或是某一領(lǐng)域內(nèi)由一群人集體創(chuàng)作的內(nèi)容,通過這種交流方式,我們可以認識更多的朋友。1.2 博客的功能介紹 作為網(wǎng)上交流的綜合性平臺,博客系統(tǒng)的主要功能是新建網(wǎng)絡(luò)日志、編輯網(wǎng)絡(luò)日志、刪除網(wǎng)絡(luò)日志、網(wǎng)絡(luò)日志分類管理、編輯個人基本信息、自定義背景、查看博客空間、瀏覽網(wǎng)絡(luò)日志、發(fā)表評論、搜索博客文章、后臺管理。開通新用戶和登錄驗證是登錄個人主頁,編輯管理個人博客空間的前提條件。進入個人主頁后,可以新建網(wǎng)絡(luò)日志、編輯網(wǎng)絡(luò)日志、刪除網(wǎng)絡(luò)日志、編輯個人基本信息、自定義背景。通過為網(wǎng)絡(luò)日志設(shè)定所屬類別,如隨筆、音樂、圖書等,可對日志進行分類管理,從而達到便于檢索的目的。另一種分類方式是系統(tǒng)自動根據(jù)網(wǎng)絡(luò)日志的創(chuàng)建日期進行分類。點擊網(wǎng)絡(luò)日志下方的“評論”鏈接,就可進入評論界面,便可以對網(wǎng)絡(luò)日志發(fā)表評論。系統(tǒng)還具有對網(wǎng)絡(luò)日志的閱讀數(shù)和評論數(shù)的自動統(tǒng)計功能,閱讀數(shù)和評論數(shù)顯示在該網(wǎng)絡(luò)日志的下方。用戶的個人信息會顯示在個人檔案部分,通過點擊“編輯個人檔案”鏈接,進人個人檔案編輯頁面,用戶可以隨意修改檔案信息。個人主頁的風(fēng)格也可以根據(jù)用戶喜好進行更換,點擊“自定義模板”,進入模板自定義界面,選擇自己喜歡的頁面主題風(fēng)格,個人主頁的背景將隨之發(fā)生變化。除此以外系統(tǒng)設(shè)有后臺管理功能,管理員可以通過該功能對博客進行統(tǒng)一管理。1.3 java語言簡介java是一種簡單的,面象對象的,分布式的,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動態(tài)的語言。java的開發(fā)環(huán)境有不同的版本,如sun公司的java developers kit, 簡稱 jdk。后來微軟公司推出了支持java規(guī)范的microsoft visual j+ java開發(fā)環(huán)境,簡稱 vj+。java的特點:1. 平臺無關(guān)性平臺無關(guān)性是指java能運行于不同的平臺。java引進虛擬機 原理,并運行于虛擬機,實現(xiàn)不同平臺的java接口之間。使 用java編寫的程序能在世界范圍內(nèi)共享。java的數(shù)據(jù)類型與 機器無關(guān),java虛擬機(java virtual machine)是建立在 硬件和操作系統(tǒng)之上,實現(xiàn)java二進制代碼的解釋執(zhí)行功能, 提供于不同平臺的接口的。 2. 安全性 java的編程類似c+,學(xué)習(xí)過c+的讀者將很快掌握java的精 髓。java舍棄了c+的指針對存儲器地址的直接操作,程序 運行時,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指 針侵入系統(tǒng)。java對程序提供了安全管理器,防止程序的 非法訪問。 3. 面向?qū)ο骿ava 吸取了c+面向?qū)ο蟮母拍?將數(shù)據(jù)封裝于類中,利用類 的優(yōu)點,實現(xiàn)了程序的簡潔性和便于維護性。類的封裝性、 繼承性等有關(guān)對象的特性,使程序代碼只需一次編譯,然后 通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接 口的設(shè)計和應(yīng)用上。java 提供了眾多的一般對象的類,通 過繼承即可使用父類的方法。在 java 中,類的繼承關(guān)系是單一的非多重的,一個子類 只有一個父類,子類的父類又有一個父類。java 提供的 object 類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類 為 object 類, object 類功能強大,經(jīng)常會使用到它及其 它派生的子類。4. 分布式j(luò)ava建立在擴展tcp/ip網(wǎng)絡(luò)平臺上。庫函數(shù)提供了用http和ftp協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機文件一樣容易。5. 鍵壯性java致力于檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。java自已操縱內(nèi)存減少了內(nèi)存出錯的可能性。java還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這些功能特征大大提高了開發(fā)java應(yīng)用程序的周期。java提供: null指針檢測、 數(shù)組邊界檢測、 異常出口、 byte code校驗。java與c/c+語言java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特征。c+安全性不好,但c和c+被大家接受,所以java設(shè)計成c+形式,讓大家很容易學(xué)習(xí)。java去掉了c+語言的許多功能,讓java的語言功能很精煉,并增加了一些很有用的功能,如自動收集碎片。java去掉了以下幾個c和c+功能:指針運算結(jié)構(gòu)typedefs#define需要釋放內(nèi)存這將減少了平常出錯的50%。而且,java很小,整個解釋器只需215k的ram。面象對象:java實現(xiàn)了c+的基本面象對象技術(shù)并有一些增強,(為了語言簡單,刪除了一些功能)。java處理數(shù)據(jù)方式和用對象接口處理對象數(shù)據(jù)方式一樣。java與internet我們知道,早先的 www 僅可以傳送文本和圖片,java的出現(xiàn)實現(xiàn)了互動的頁面,是一次偉大的革命。 java并不是為 internet,www而設(shè)計的,它也可以用來編寫?yīng)毩⒌膽?yīng)用程序。java 是一種面向?qū)ο笳Z言。java 語言類似于 c+ 語言,所以已熟練掌握 c+語言的編程人員,再學(xué)習(xí) java 語言就容易得多!java 程序需要編譯。實際上有兩種 java 程序:一種 java 應(yīng)用程序是一個完整的程序,如 web 瀏覽器。一種 java 小應(yīng)用程序是運行于 web 瀏覽器中的一個程序. java程序和它的瀏覽器hotjava,提供了可讓你的瀏覽器運行程序的方法。你能從你的瀏覽器里直接播放聲音。你還能播放頁面里的動畫。java還能告訴你的瀏覽器怎樣處理新的類型文件。當我們能在2400 baud線上傳輸視頻圖象時,hotjava將能顯示這些視頻。當今internet的一大發(fā)展趨勢是電子商務(wù),而internet的安全問題是必須解決的問題,通常大的部門應(yīng)設(shè)置防火墻,阻止非法侵入。 電子商務(wù)是當今的熱門話題,然而傳統(tǒng)的編程語言難以勝任電子商務(wù)系統(tǒng),電子商務(wù)要求程序代碼具有基本的要求:安全、可靠、同時要求能 與運行于不同平臺的機器的全世界客戶開展業(yè)務(wù)。java以其強安全性、平臺無關(guān)性、硬件結(jié)構(gòu)無關(guān)性、語言簡潔同時面向?qū)ο螅诰W(wǎng)絡(luò)編程語言中占據(jù)無可比擬的優(yōu)勢,成為實現(xiàn)電子商務(wù)系統(tǒng)的首選語言。java程序被放置在internet服務(wù)器上,當用戶訪問服務(wù)器時,java程序被下載到本地的用戶機上,由瀏覽器解釋運行。1.4 mysql數(shù)據(jù)庫介紹 1.4.1 mysql數(shù)據(jù)庫介紹mysql 是瑞典的mysql ab公司開發(fā)的一個可用于各種流行操作系統(tǒng)平臺的關(guān)系數(shù)據(jù)庫系統(tǒng),它具有客戶機/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng)。mysql 完全適用于網(wǎng)絡(luò),用其建造的數(shù)據(jù)庫可在因特網(wǎng)上的任何地方訪問,因此,可以和網(wǎng)絡(luò)上任何地方的任何人共享數(shù)據(jù)庫。mysql具有功能強、使用簡單、管理方便、運行速度快、可靠性高、安全保密性強等優(yōu)點。mysql用c和c+編寫,它可以工作在許多平臺(unix,linux,windows)上,提供了針對不同編程語言(c,c+,java等)的api函數(shù);使用核心線程實現(xiàn)多線程,能夠很好的支持多cpu;提供事務(wù)和非事務(wù)的存儲機制;快速的基于線程的內(nèi)存分配系統(tǒng);mysql采用雙重許可,用戶可以在gnu許可條款下以免費軟件或開放源碼軟件的方式使用mysql軟件,也可以從mysql ab公司獲得正式的商業(yè)許可。除了以上特點,mysql 還有一個最大的特點,那就是在諸如 unix 這樣的操作系統(tǒng)上,它是免費的,可從因特網(wǎng)上下載其服務(wù)器和客戶機軟件。并且還能從因特網(wǎng)上得到許多與其相配的第三方軟件或工具。而在 windows 系統(tǒng)上,其客戶機程序和客戶機程序庫是免費的。1.4.2 mysql優(yōu)勢:1.速度。mysql 運行速度很快。開發(fā)者聲稱 mysql 可能是目前能得到的最快的數(shù)據(jù)庫??稍L問 /benchmark.html (mysql web 站點上的性能比較頁),調(diào)查一下這個性能。2.容易使用。mysql 是一個高性能且相對簡單的數(shù)據(jù)庫系統(tǒng),與一些更大系統(tǒng)的設(shè)置和管理相比,其復(fù)雜程度較低。3.價格。mysql 對多數(shù)個人用戶來說是免費的。4.小巧。4.1.1的數(shù)據(jù)庫發(fā)行版僅僅只有21m,安裝完成也僅僅51m。5.支持查詢語言。mysql 可以利用 sql(結(jié)構(gòu)化查詢語言),sql 是一種所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)都選用的語言。也可以利用支持 odbc(開放式數(shù)據(jù)庫連接)的應(yīng)用程序,odbc 是 microsoft 開發(fā)的一種數(shù)據(jù)庫通信協(xié)議。6.性能。許多客戶機可同時連接到服務(wù)器。mysql數(shù)據(jù)庫沒有用戶數(shù)的限制,多個客戶機可同時使用同一個數(shù)據(jù)庫??衫脦讉€輸入查詢并查看結(jié)果的界面來交互式地訪問 mysql。這些界面為:命令行客戶機程序、web 瀏覽器或 x window system 客戶機程序。此外,還有由各種語言(如c, c+, eiffel, java, perl, php, python, ruby, and tcl)編寫的界面。因此,可以選擇使用已編好的客戶機程序或編寫自己的客戶機應(yīng)用程序。7.連接性和安全性。mysql 是完全網(wǎng)絡(luò)化的,其數(shù)據(jù)庫可在因特網(wǎng)上的任何地方訪問,因此,可以和任何地方的任何人共享數(shù)據(jù)庫。而且 mysql 還能進行訪問控制,可以控制哪些人不能看到您的數(shù)據(jù)。8.可移植性。mysql 可運行在各種版本的 unix 以及其他非 unix 的系統(tǒng)(如 windows 和 os/2)上。mysql 可運行在從家用 pc 到高級的服務(wù)器上。9.開放式的分發(fā)。mysql 容易獲得;只要使用 web 瀏覽器即可。如果不能理解某樣?xùn)|西是如何起作用的,或者對某個算法感到好奇,可以將其源代碼取來,對源代碼進行分析。如果不喜歡某些東西,則可以更改它。1.4.3 功能詳述1.表大小和記錄數(shù)對于表的大小mysql沒有內(nèi)部限制,僅僅受限于操作系統(tǒng)對表文件大小的限制,目前在linux-intel 32 bit上表最大為2gb,在solaris 2.7上是512gb。實際應(yīng)用中mysql數(shù)據(jù)庫處理擁有60000個表和五十億條記錄的數(shù)據(jù)庫系統(tǒng),表記錄可以達到五百萬條。目前我們的omcr數(shù)據(jù)庫表只有134個,數(shù)據(jù)庫記錄還沒有上百萬的。2.索引支持每個表32個索引,每個索引可以包含116個字段,最大字段長度為500個字節(jié)。3.連接支持tcp/ip的sock連接,這樣便于跨平臺的數(shù)據(jù)庫連接,同時還支持windows下的命名管道連接、odbc連接。同時mysql服務(wù)器端對于接入用戶數(shù)沒有任何限制。4.字符集支持iso-8859-1 (latin1), german, big5, ujis字符集,我們目前采用的是iso-8859-1字符集,5.數(shù)據(jù)類型mysql支持的可用于表的字段類型定義的數(shù)據(jù)類型有:signed/unsigned integers 1, 2, 3, 4, and 8 bytes long, float, double, char, varchar, text, blob, date, time, datetime, timestamp, year, set, and enum types可以分三種類型:數(shù)值類型,日期和時間類型,字符類型我們目前主要使用decimal、varchar2、date、text和blob數(shù)據(jù)類型這些類型已經(jīng)遠遠滿足我們的需要,類型說明如下: decimal(顯示長度,小數(shù)位數(shù)) unsigned zerofill 以字符串的形式存儲的浮點數(shù),所以的字節(jié)數(shù)由顯示長度節(jié)點。它的最大可能是double。如果沒有指定顯示長度則缺省為10;如果沒有指定小數(shù)位數(shù),則缺省為0。 national varchar(m) binary變長字符串。字符串長度的大小為0到255。它對大小寫不敏感,除非它為binary的。在mysql4.1.0版本后,長度可以超過255,如果長度超過了255,將被轉(zhuǎn)換成text類型。 blob或者text blob用來存儲二進制對象,text用來存儲文本值。blob與txt類型基本相同,不同的是在做比較時txt對大小寫不敏感,blob對大小寫敏感。在大多數(shù)情況下可以將txt看作是對varchar的擴展,它的最大長度更大,不同的是在存儲時txt不會自動將結(jié)尾的空格去掉,而varchar會。 blob可看作是對varchar binary的擴展。blob和txt的列不能有缺省值。blob有四種:tinyblob最大長度為255(28-1);blob最大長度為65535(216-1);mediumblob最大長度為16777215(224-1);longblob最大長度為4294967295或者4g(232-1)。txt也有四種:tinytxt最大長度為255;txt最大長度為65535;mediumtxt最大長度為16777215(224-1);longtxt最大長度為4294967295或者4g(232-1)。 datetime日期和時間,8個字節(jié)。支持的范圍是1000-01-01 00:00:00到9999-12-31 23:59:59,mysql以yyyy-mm-dd hh:mm:ss格式顯示它的值,但允許以字符串或者數(shù)字的形式給它賦值。 timestamp(顯示長度)4個字節(jié)。支持的范圍是1970-01-01 00:00:00到2037年12月31日子夜之間某時刻的簡單表示形式。在mysql4.0及更早的版本中,它的顯示格式為 yyyymmddhhmmss, yymmddhhmmss, yyyymmdd, 或者yymmdd,這要依賴顯示長度的取值。從mysql4.1版本后,改為yyyy-mm-dd hh:mm:ss格式。它的主要用途是保持對表更新的記錄,當向表insert或update記錄時,如果沒有提供timestamp列的值,則它將被置為進行該操作時的時間,如果提供timestamp列的值為null, 則它將被自動置為當前時間。6.sql語句mysql數(shù)據(jù)庫部分支持ansi sql_99語法,我們主要使用create table,insert,delete,update,select操作在這方面是支持的。但是由于目前mysql不支持儲存過程、觸發(fā)器和視圖,這樣我們的一些數(shù)據(jù)庫服務(wù)需要編程實現(xiàn)。7.應(yīng)用接口api為了方便應(yīng)用程序的開發(fā),mysql 提供了用perl、php、java、python、c+、tcl 編程語言編寫的客戶機庫,它允許從任何程序的內(nèi)部訪問 mysql 數(shù)據(jù)庫??蛻魴C庫實現(xiàn)應(yīng)用程序編程接口(api),api 定義客戶機程序如何建立和執(zhí)行與服務(wù)器的通信。我們的omcr主要采用c、c+和java編程,因此從編程接口上看mysql已經(jīng)滿足我們的需求。2系統(tǒng)分析系統(tǒng)分析是對整個系統(tǒng)應(yīng)用的分析和研究,要解決的是“軟件做什么”的問題。在系統(tǒng)分析階段對軟件功能進行準確無誤地確認,整個軟件過程良好的開端。2.1 功能需求分析 通過對博客系統(tǒng)的調(diào)查研究,明確系統(tǒng)的功能需求和信息輸入/輸出。信息輸入是用戶注冊,主要信息輸出是用戶發(fā)表博客文章,主要加工處理包括用戶注冊、對博客文章和博客空間的管理、以及后臺管理。在對各功能需求進行詳細說明之前,不妨先來看一下網(wǎng)站的瀏覽機制,它有助于了解博客網(wǎng)站的風(fēng)格和目錄結(jié)構(gòu),從而對功能需求有更清晰的認識。圖1 網(wǎng)站瀏覽機制以下對網(wǎng)站頁面瀏覽機制進行具體說明:用戶進入博客網(wǎng)站主頁后可以完成三項活動: 一是注冊,即開通新用戶,成為博客網(wǎng)站的會員;二是登錄驗證進入自己的博客空間;三是搜索博客文章或博客空間。注冊成功后,便可以看到個人主頁(即自己的博客空間),此時這個博客空間是一個嶄新的空間,用戶可以在里面盡情發(fā)揮,編輯個人基本信息(包括昵稱、性別、職業(yè)、興趣愛好、照片等);自定義模板,即更換背景圖片;發(fā)表文章(即創(chuàng)建網(wǎng)絡(luò)日志),編輯、刪除文章。退出個人主頁,再次進入時,需要輸入用戶名和密碼,完成登錄驗證才能登錄個人主頁。在搜索模塊中,可以按博客空間的名字、博客文章標題、博客內(nèi)容進行搜索,在瀏覽博客文章時,可以對其添加評論信息。除此之外,系統(tǒng)還有一個重要的功能實現(xiàn),就是“后臺管理”,這個功能是為后臺管理員服務(wù)的。后臺管理員可以對博客網(wǎng)站上的一些非法言論和文字性的東西進行管制,即對其進行查詢,取消非法分子的會員資格或刪除其非法性文字。2.2 系統(tǒng)邏輯模型在明確系統(tǒng)功能需求之后,邏輯模型是系統(tǒng)分析階段的又一重要成果。本系統(tǒng)的邏輯模型主要以系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典為描述工具。2.2.1 系統(tǒng)的數(shù)據(jù)流圖 數(shù)據(jù)流圖是組織中信息運動的抽象,是在調(diào)研的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性、實際運動的可行性角度出發(fā),將信息處理功能和彼此之間的聯(lián)系自頂向下,逐層分解,從邏輯上精確地描述系統(tǒng)應(yīng)具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲以及外部實體等項目。數(shù)據(jù)流圖的符號說明如下圖2所示: 外部項 加工 數(shù)據(jù)存儲 處理 數(shù)據(jù)流圖 2 數(shù)據(jù)流圖符號說明 首先,確定系統(tǒng)的外部實體:用戶和管理,用戶是系統(tǒng)的數(shù)據(jù)來源,管理員是系統(tǒng)的數(shù)據(jù)去向。明確系統(tǒng)邊界后,繪制出系統(tǒng)的“關(guān)聯(lián)圖”,如下圖所示: 用戶管理員博客系統(tǒng)圖 3 博客系統(tǒng)關(guān)聯(lián)圖然后,確定系統(tǒng)的主要處理功能和數(shù)據(jù)存儲,繪制出系統(tǒng)的“頂層數(shù)據(jù)流圖”,如下圖所示: 用戶系統(tǒng)文件系統(tǒng)處理管理員 登錄查看瀏覽 登錄圖 4 博客系統(tǒng)頂層圖最后,將博客系統(tǒng)數(shù)據(jù)處理功能分解為文章處理、博客管理、后臺處理三個子處理。隨著系統(tǒng)處理的拆分,將數(shù)據(jù)存儲細分成文章文件、評論文件、用戶文件和后臺文件四個子數(shù)據(jù)存儲,繪出“系統(tǒng)數(shù)據(jù)流圖”如下圖所示: w1用戶文章處理文章文件后臺處理w2管理員博客管理用戶文件評論文件p3d1d2d3p1后臺文件p4d4f1f4f2f3f5f6f7f8f10f9圖5 系統(tǒng)數(shù)據(jù)流圖p表示數(shù)據(jù)處理,f表示數(shù)據(jù)流,d表示數(shù)據(jù)存儲 ,w表示外部實體f1: 發(fā)表文章 f2: 存儲文章信息 f3: 發(fā)表評論 f4: 管理信息 f5: 存儲用戶信息 f6: 查看博客文章 f7: 查看評論信息 f8: 查看用戶信息 f9:管理 f10: 存儲管理信息2.2.2 數(shù)據(jù)字典根據(jù)系統(tǒng)的數(shù)據(jù)流程圖,得到數(shù)據(jù)元素、數(shù)據(jù)流、數(shù)據(jù)存儲、加工和外部項的數(shù)據(jù)詞典(dd),舉例說明如下:外部項:外部項系統(tǒng)名:博客系統(tǒng) 編號:w1條目名:博客用戶 別名:用戶輸入數(shù)據(jù)流:無輸出數(shù)據(jù)流:注冊信息、登錄信息、日志信息主要特征:本系統(tǒng)就是為博客用戶使用的,其主要特征是用戶的用戶名和密碼簡要說明:本系統(tǒng)的主要功能是創(chuàng)建網(wǎng)絡(luò)日志和添加評論,而博客用戶應(yīng)用博客系統(tǒng)的主要目的是創(chuàng)建網(wǎng)絡(luò)日志。修改記錄:編寫:張鑫軍日期:2010-3數(shù)據(jù)流:數(shù)據(jù)流系統(tǒng)名:博客系統(tǒng) 編號:l3條目名:網(wǎng)絡(luò)日志 別名:日志來源:博客用戶去處:博客瀏覽者數(shù)據(jù)流結(jié)構(gòu): 日志 = (日志id),標題,內(nèi)容,作者,創(chuàng)建日期,閱讀數(shù),評論數(shù),用戶id簡要說明:本系統(tǒng)的主要功能是創(chuàng)建網(wǎng)絡(luò)日志和添加評論,從而提供一個網(wǎng)上信息共享和交流的平臺,而網(wǎng)絡(luò)日志是該系統(tǒng)最主要的數(shù)據(jù)流之一。修改記錄:編寫:張鑫軍日期:2010-3數(shù)據(jù)存儲:數(shù)據(jù)存儲系統(tǒng)名:博客系統(tǒng) 編號:d2條目名:日志信息庫 別名:日志數(shù)據(jù)庫存儲組織:每個日志一個日志id,按日志id順序排列記錄數(shù):n關(guān)鍵字:日志id記錄組成: 字段:日志id,日志標題,日志內(nèi)容,日志作者、創(chuàng)建日期、用戶id簡要說明:修改記錄:編寫:張鑫軍日期:2010-3數(shù)據(jù)元素:數(shù)據(jù)元素系統(tǒng)名:博客系統(tǒng) 編號:f2條目名:日志id 別名:文章編號屬于數(shù)據(jù)流:網(wǎng)絡(luò)日志存儲處:日志信息庫數(shù)據(jù)元素值: 1 代碼類型 int 取值范圍 根據(jù)數(shù)據(jù)庫而定 意義 日志記錄的關(guān)鍵字簡要說明:修改記錄:編寫:張鑫軍日期:2010-3加工:加 工系統(tǒng)名:博客系統(tǒng) 編號:p3條目名: 創(chuàng)建日志 別名:新建日志輸入:用戶填寫的日志信息輸出:展現(xiàn)給瀏覽者的網(wǎng)絡(luò)日志加工邏輯:根據(jù)用戶填寫的日志標題、日志內(nèi)容、創(chuàng)建日期、所屬分類等信息,填充日志信息庫。每個日志都有一個日志id,日志id會隨日志的增加而自增,同時每個日志記錄都一個用戶id標識。簡要說明:這是本系統(tǒng)得主要操作環(huán)節(jié),也是核心部分。修改記錄:編寫:張鑫軍日期:2010-33系統(tǒng)設(shè)計系統(tǒng)設(shè)計階段的目的是將系統(tǒng)分析階段所提出的系統(tǒng)邏輯方案轉(zhuǎn)換成基于計算機與通信系統(tǒng)的可以實施的物理方案,包括系統(tǒng)總體結(jié)構(gòu)設(shè)計、硬件環(huán)境和軟件環(huán)境的設(shè)計、數(shù)據(jù)庫設(shè)計、界面設(shè)計。3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計通過前期的功能分析,在系統(tǒng)功能結(jié)構(gòu)設(shè)計階段將博客系統(tǒng)劃分為注冊登錄、網(wǎng)絡(luò)日志、個性化展示、搜索、后臺管理五大模組。其中注冊登錄又包括注冊和登錄驗證兩個模塊,網(wǎng)絡(luò)日志模組又分為發(fā)表文章、編輯文章、刪除文章、發(fā)表評論四個模塊,個性化展示模組分為編輯個人信息和自定義模板兩個模塊,搜索模組包括按文章標題搜索和按文章內(nèi)容搜索兩個模塊,后臺管理模組包括管理員登錄、管理博客空間、管理博客文章、管理用戶信息四個模塊。博客系統(tǒng)總體結(jié)構(gòu)設(shè)計圖如下圖所示:博客系統(tǒng)搜索按文章標題查詢按文章內(nèi)容查詢注冊/登錄注冊登錄驗證網(wǎng)絡(luò)日志個性化展示后臺管理管理員登錄管理博客空間管理博客文章管理用戶信息創(chuàng)建網(wǎng)絡(luò)日志編輯網(wǎng)絡(luò)日志刪除網(wǎng)絡(luò)日志發(fā)表評論編輯個人信息自定義模板瀏覽網(wǎng)絡(luò)日志圖 6 系統(tǒng)功能結(jié)構(gòu)圖3.2 硬件環(huán)境設(shè)計 整個系統(tǒng)采用b/s結(jié)構(gòu),服務(wù)器端硬件包含兩臺pc服務(wù)器,分別為web服務(wù)器,應(yīng)用服務(wù)器,數(shù)據(jù)庫服務(wù)器。瀏覽器端ie6.0以上。 本系統(tǒng)的硬件及網(wǎng)絡(luò)拓補結(jié)構(gòu)如下圖:圖 7 網(wǎng)絡(luò)結(jié)構(gòu)圖3.3 軟件環(huán)境設(shè)計本系統(tǒng)的web服務(wù)器采用apache tomcat 5.5,數(shù)據(jù)庫為mysql5.0。3.4 數(shù)據(jù)庫設(shè)計3.4.1 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)是獨立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu),概念結(jié)構(gòu)設(shè)計的主要成果是“實體-關(guān)系圖”(簡稱e-r圖)。 實體 屬性 聯(lián)系圖8 e-r圖符號說明用戶基本信息用戶名密碼編號最后一次登錄時間注冊時間昵稱圖 9 用戶基本信息實體e-r圖用戶詳細信息 編號生日性別職業(yè)國籍電話愛好省/市郵箱個性留言圖 10 用戶詳細信息實體e-r圖博客空間編號用戶編號背景圖片博客名稱文章數(shù)量博客地址訪問次數(shù)圖 11 博客空間實體e-r圖網(wǎng)絡(luò)日志編號博客編號類型標題內(nèi)容發(fā)表時間評論數(shù)量訪問量編輯時間圖 12 博客文章實體e-r圖文章評論編號文章編號評論內(nèi)容評論時間評論作者圖 13 文章評論實體e-r圖后臺管理員編號管理員名稱操作對象操作內(nèi)容操作時間圖 14 后臺管理實體e-r圖用戶文章博客空間評論評論注冊發(fā)表11n1nn1用戶名密碼編號最后一次登錄時間注冊時間昵稱編號博客編號類型標題內(nèi)容發(fā)表時間評論數(shù)量訪問量編輯時間編號文章編號評論內(nèi)容評論時間評論作者后臺編號用戶編號背景博客名稱文章數(shù)量訪問次數(shù)編號管理員名稱操作對象操作內(nèi)容操作時間管理1n圖 15 信息實體綜合e-r圖3.4.2 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計的任務(wù)就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本e-r圖轉(zhuǎn)換為與選用dbms產(chǎn)品所支持的數(shù)據(jù)模型。系統(tǒng)關(guān)系模式設(shè)計如下: 用戶(uid#,uname,upwd,unick,registed_time,last_login_time)博客空間(sid#,uid,blog_name,blog_number,visit_number,background)網(wǎng)絡(luò)日志(bid#,sid,blog_type,title,context,publish_time,modify_time,comment_number,visit_numbe,publish_date)評論(cid#,bid,description,c_time,c_author)后臺(mid#,sid,m_time,m_content)3.4.3 物理結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計階段實現(xiàn)的是數(shù)據(jù)庫系統(tǒng)的內(nèi)模式,數(shù)據(jù)庫物理設(shè)計階段的任務(wù)是為給定的數(shù)據(jù)庫模型確定合理的存儲結(jié)構(gòu)和存取方法。表1 用戶基本信息表register_info字段數(shù)據(jù)類型可否為空注釋 uidint(10)not null主鍵 unamevarchar(30)not null用戶名 upwdvarchar(20)not null密碼 unickvarchar(20)not null昵稱 registed_timetimestampnull注冊時間 last_login_timetimestampnull最后一次登陸時間表2 用戶詳細信息表user_info字段數(shù)據(jù)類型可否為空注釋uidint(10)not null主鍵unickvarchar(30)not null昵稱birthdaydatenot null出生日期sexvarchar(2)not null性別emailvarchar(100)not null電子郵箱favoratevarchar(100)null愛好charactervarchar(100)null個性留言countryvarchar(50)null國籍provincevarchar(50)null省市phonevarchar(15)null電話表3 博客空間信息表space_info 字段數(shù)據(jù)類型 可否為空 注釋sidint(10)not null博客編號(主鍵)uidint(10)not null用戶編號(外鍵)blog_namevarchar(20)null博客名稱blog_numberint(10) null博客文章數(shù)量visit_numberint(10)null博客空間訪問數(shù)量backgroundvarchar(50)null背景圖片表4 文章信息表blog_info字段數(shù)據(jù)類型可否為空注釋bidint(10)not null文章編號(主鍵)sidint(10)not null博客編號(外鍵)blog_typeint(10)null文章類型titlevarchar(100)null標題contentlongtextnull內(nèi)容publish_timetimestampnull發(fā)表時間modify_timetimestampnull編輯時間comment_numberint(10)null評論數(shù)量visit_numberint(10)null訪問數(shù)量表5 文章評論信息表comment_info字段數(shù)據(jù)類型可否為空注釋cidint(10)not null評論編號(主鍵)bidint(10)not null文章編號(外鍵)descriptionlongtextnull評論內(nèi)容c_timetimestampnull評論時間c_authorvarchar(50) null評論作者表6 后臺管理信息表manage_info字段數(shù)據(jù)類型可否為空注釋midint(10)not null管理員編號(主鍵)m_nameint(10)not null管理員名稱m_timetimestampnull操作時間m_contentlongtextnull操作內(nèi)容3.5 用戶界面設(shè)計 在該章節(jié)中,不僅可以對頁面風(fēng)格有一個視覺上的感受,還將通過頁面操作更直觀地了解系統(tǒng)數(shù)據(jù)的輸入和輸出流向。 登陸該博客網(wǎng)站主頁(如圖16所示)后,可以進行如下活動: 1開通新用戶:點擊“開通新用戶”按鈕,進入注冊頁面(如圖17所示),填寫用戶基本信息,完成注冊。 2登錄驗證:輸入用戶名、密碼和驗證碼,點擊“提交”按鈕后登錄到個人主頁(即個人博客空間,如圖18所示)。 3搜索博客空間或博客文章:在搜索模塊內(nèi)輸入關(guān)鍵字,點擊“搜索”按鈕,可以查看到所有符合搜索條件的信息條目,點擊信息條目,可以進入到相應(yīng)的博客空間或博客文章。 圖 16 博客網(wǎng)站主頁圖 17 注冊頁面 進入個人主頁后,用戶可以完成一下: 1編輯個人基本信息:在編輯個人基本信息模塊里(如圖19所示),用戶可以添加或編輯個人基本信息,包括昵稱、性別、年齡、興趣愛好、個性留言、上傳圖片。 2新建網(wǎng)絡(luò)日志:所謂網(wǎng)絡(luò)日志,即博客文章。在網(wǎng)絡(luò)日志模塊里,用戶可以新建網(wǎng)絡(luò)日志。(如圖20所示) 3編輯或刪除網(wǎng)絡(luò)日志:對已有網(wǎng)絡(luò)日志可以進行編輯或刪除操作。 4查看評論信息:點擊網(wǎng)絡(luò)日志下方的“評論”鏈接,可以查看到相應(yīng)的評論信息。 5自定義模板:在自定義模板模塊里,用戶可以選擇自己喜歡的背景模式。 進入他人博客空間后,可以完成以下活動:1 瀏覽文章2 發(fā)表評論圖 18 個人主頁圖 19 編輯個人基本信息圖 20 發(fā)表文章頁面4系統(tǒng)實施4.1 技術(shù)標準及框架的選擇本系統(tǒng)采用j2ee技術(shù)路線,j2ee是一套全然不同于傳統(tǒng)應(yīng)用模式的企業(yè)級技術(shù)架構(gòu),包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進而提高應(yīng)用程序的可移植性、安全性和重用性。在j2ee技術(shù)路線的基礎(chǔ)上,選用struts框架實現(xiàn)mvc三層應(yīng)用模式。 jakarta-struts是apache軟件組織提供的一項開放源代碼的項目,它為web應(yīng)用提供了通用的框架,使開發(fā)人員可以集中精力在實際業(yè)務(wù)問題上,從而大大簡化了web應(yīng)用的開發(fā)過程,提高了工作效率,縮短了開發(fā)周期。struts的核心是actionservlet,actionservlet通過struts-config.xml配置文件進行初始化。4.2 開發(fā)環(huán)境的搭建開發(fā)環(huán)境的搭建分為服務(wù)器的選擇和jdk安裝、數(shù)據(jù)庫的安裝、程序框架的選用幾個步驟,分述如下:1. 應(yīng)用服務(wù)器及java環(huán)境的選擇安裝本系統(tǒng)應(yīng)用服務(wù)器使用tomcat服務(wù)器,tomcat是apache開源組織的一個開源子項目它實現(xiàn)了j2ee應(yīng)用服務(wù)器規(guī)范中的web容器部分,是目前較為流行的j2ee web容器之一,因為它的開放性和強大的功能而受到用戶的廣泛青睞。本系統(tǒng)使用的是tomcat5.5版本。jdk安裝的過程中需要設(shè)置如下環(huán)境變量:java_home、classpath、path,本系統(tǒng)采用的jdk版本是5.0。2. 數(shù)據(jù)庫的安裝本系統(tǒng)選擇mysql關(guān)系數(shù)據(jù)庫5.0版本作為對象持久化的載體。my
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度校園環(huán)境衛(wèi)生承攬保潔服務(wù)合同范本4篇
- 2024版含環(huán)保設(shè)施廠房個人租賃合同3篇
- 2025年度生產(chǎn)線承包與品牌合作協(xié)議4篇
- 2025年度物流運輸合同與貨物運輸服務(wù)購銷印花稅繳納模板4篇
- 2025年度新能源汽車研發(fā)生產(chǎn)合作協(xié)議書3篇
- 2025年度特色手工藝品代購代理合同4篇
- 2024版光纖網(wǎng)絡(luò)建設(shè)與運營合同
- 2025年度個人快件物流配送服務(wù)合同范本大全4篇
- 2025年度個人擔(dān)保個人創(chuàng)業(yè)貸款合同2篇
- 2025年度個人股東股權(quán)轉(zhuǎn)讓協(xié)議范本全面保障股權(quán)轉(zhuǎn)讓合法合規(guī)4篇
- 骨科手術(shù)后患者營養(yǎng)情況及營養(yǎng)不良的原因分析,骨傷科論文
- GB/T 24474.1-2020乘運質(zhì)量測量第1部分:電梯
- GB/T 12684-2006工業(yè)硼化物分析方法
- 定崗定編定員實施方案(一)
- 高血壓患者用藥的注意事項講義課件
- 特種作業(yè)安全監(jiān)護人員培訓(xùn)課件
- (完整)第15章-合成生物學(xué)ppt
- 太平洋戰(zhàn)爭課件
- 封條模板A4打印版
- T∕CGCC 7-2017 焙烤食品用糖漿
- 貨代操作流程及規(guī)范
評論
0/150
提交評論