已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1章 開發(fā)概述1.1課題簡介課題:開發(fā)一個以音樂娛樂新聞購物為一體的動態(tài)音樂網(wǎng)站。隨著每年以千萬的速度走近了internet,為了滿足不同人們對網(wǎng)絡(luò)需求,各種特色,各種主題的網(wǎng)站也在不斷增加。為了滿足音樂愛好者,明星崇拜者,各種專輯癡迷著的需求,一批以音樂為主題的網(wǎng)站也應(yīng)運而生。由于以往的靜態(tài)網(wǎng)頁存在單調(diào),維護任務(wù)大,缺乏和用戶的交互,隨著計算機軟件知識的推廣,動態(tài)網(wǎng)頁正在走向普通的網(wǎng)頁設(shè)計師的生活。本站設(shè)計目標就是設(shè)計一個以音樂新聞購物為一體的動態(tài)交互網(wǎng)站,用戶可以在瀏覽過程中,實現(xiàn)和本站信息的交互。目前開發(fā)動態(tài)網(wǎng)站的語言和技術(shù)常用的有asp,php,jsp,cgi技術(shù)等。我們這里準備選擇簡單易學(xué)而功能強大的asp。1.2 開發(fā)環(huán)境及需求 開發(fā)目的隨著計算機技術(shù)的發(fā)展,網(wǎng)絡(luò)技術(shù)對我們生活和工作顯得越來越重要,特別是現(xiàn)在信息高度發(fā)達的今天,人們對最新信息的需求和發(fā)布迫切的需要及時性。而動態(tài)交互式網(wǎng)頁剛好提供了這些功能,本系統(tǒng)就是一個能夠在網(wǎng)上實現(xiàn)新聞的網(wǎng)上多用戶發(fā)布,多欄目管理,實時的進行行為統(tǒng)計和記錄的網(wǎng)上交互系統(tǒng)。 項目背景html作為一種樣式語言,隨著internet上信息量的增多和交互性的加強使html顯得越來越難以勝任的情況之下,在asp編程語言高度發(fā)展的形式下,我們開始了對動態(tài)網(wǎng)站系統(tǒng)的開發(fā)。 開發(fā)環(huán)境1. 硬件條件服務(wù)器兩臺,一臺為數(shù)據(jù)庫服務(wù)器,一臺為web服務(wù)器;客戶端計算機若干;網(wǎng)絡(luò)通訊設(shè)備,主要包括交換機、網(wǎng)卡、集線器、modem 等。2. 系統(tǒng)平臺采用browser/server體系結(jié)構(gòu),服務(wù)器端采用microsoft windows nt4.0作為網(wǎng)絡(luò)操作系統(tǒng),web服務(wù)器軟件采用iis6.0(internet information server)。客戶端軟件,包括單機操作系統(tǒng)和瀏覽器軟件,分別選用windows xp和internet explorer,數(shù)據(jù)庫系統(tǒng)采用microsoft access有利于方便操作。3. 開發(fā)工具基于web的系統(tǒng)開發(fā)工具應(yīng)使開發(fā)者使用各種各樣的技術(shù)來創(chuàng)建動態(tài)的web應(yīng)用程序,并且應(yīng)是一個可視化的工具。我們采用了dreamweavermx進行開發(fā),它是用來快速創(chuàng)建數(shù)據(jù)驅(qū)動web應(yīng)用程序的基于團隊的開發(fā)環(huán)境,支持asp,以odbc連接數(shù)據(jù)庫,腳本語言為簡單易學(xué)的javascript或vbscript。4. 運行需求正常使用時不應(yīng)出錯,若運行時遇到不可恢復(fù)的系統(tǒng)錯誤,也必須保證數(shù)據(jù)完好無損,對數(shù)據(jù)的精確度、時間特性、適應(yīng)性等都有一定要求,要求系統(tǒng)運行時能夠保證正確性、可靠性、高效性、完整性、易使用性、可維護性、可測試性、復(fù)用性、安全保密性、可移植性、互聯(lián)性。1.3 asp及相關(guān)技術(shù)介紹近年來隨著internet技術(shù)的飛速發(fā)展及用戶需求的不斷升級,web頁面技術(shù)也不斷的推陳出新,使得web站點的功能越來越強大,能夠提供的服務(wù)種類越來越繁多。從html、client script 到cgi,從java的誕生到activex, web頁面設(shè)計人員不斷受到?jīng)_擊,微軟公司在總結(jié)了以往技術(shù),重新思考web頁面設(shè)計的真正需要后,推出了active server pages (asp),一種用以取代cgi(common gateway interface,通用網(wǎng)關(guān)接口)的技術(shù)。簡單講,asp是位于服務(wù)器端的腳本運行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的交互式 web 服務(wù)器應(yīng)用程序,如交互式的動態(tài)網(wǎng)頁,包括使用 html 表單收集和處理信息,上傳與下載等等。更重要的是,asp使用的activex技術(shù)基于開放設(shè)計環(huán)境,用戶可以自己定義和制作組件加入其中,使自己的動態(tài)網(wǎng)頁幾乎具有無限的擴充能力,這是傳統(tǒng)的web編寫工具所遠遠不及的地方。使用asp還有個好處,就在于asp可利用ado(active data object,微軟的一種新的數(shù)據(jù)訪問模型)方便快捷地訪問數(shù)據(jù)庫,從而使得開發(fā)基于www的應(yīng)用系統(tǒng)成為可能,這也是本文選擇asp作為開發(fā)工具最重要的原因之一。1.3.1 iis簡介wsb服務(wù)器是web應(yīng)用程序的心臟。iis(internet information server)是微軟推出的windows nt option pack的主要成員,作為win2000server的擴展,自推出以來已經(jīng)有了很大發(fā)展,其體系結(jié)構(gòu)是當今市場上最受關(guān)注的web服務(wù)器之一。新推出的iis6.0版本增強了系統(tǒng)安全性,具有服務(wù)器端腳本開發(fā)調(diào)試,內(nèi)容管理和站點分析,崩潰防護,內(nèi)置java虛擬機及全面支持asp等強大功能。1.3.2 iis與asp的結(jié)合在過去,客戶機/服務(wù)器結(jié)構(gòu)的設(shè)計與web的相關(guān)技術(shù)幾乎處于平行線上,兩者相互獨立并無法作出集成性的設(shè)計?,F(xiàn)在我們利用iis+asp構(gòu)成三層式web結(jié)構(gòu)(如圖2.1所示)的中間一層,將客戶機/服務(wù)器結(jié)構(gòu)與web密切結(jié)合,完成前后端兩者的集成輸出功能,使得web站點的開發(fā)更方便,實現(xiàn)的功能更強大。利用iis+asp技術(shù)來集成web前后端所帶來的強大效益可歸結(jié)為以下幾個方面: 程序和計算邏輯前端瀏覽器activex server元件activex server元件后端數(shù)據(jù)庫數(shù)據(jù)庫服務(wù)器microsoft iis + asp瀏覽器圖2.1 利用iis+asp構(gòu)成三層式web結(jié)構(gòu)的中間一層1 減少構(gòu)建和維護成本2 加快聯(lián)機過程3 應(yīng)用軟件集中在服務(wù)器端開發(fā)管理4 前端可使用任何瀏覽器(ie、netscape.)5 后端可存取任何數(shù)據(jù)庫 (sql、access.)6 可使用任何腳本語言開發(fā) (vbscript、javascript、perl.)1.3.3 asp內(nèi)部6大對象asp提供了6個功能強大的內(nèi)部對象,每個對象具有各自的屬性(property)、方法(method),有的還擁有數(shù)據(jù)集合(collection)與事件(event),它們共同完成web中的一些重要工作。這6個對象及其功能描述如表2.1所示。對象名稱功能描述request從客戶端取得信息response將信息送給客戶端server提供一些web服務(wù)器工具session儲存在一個session內(nèi)的用戶信息,該信息僅可被該用戶訪問application在一個asp-application中讓不同的客戶端共享信息objectcontext配合microsoft transaction服務(wù)器進行分布式事務(wù)處理表2.1 asp 內(nèi)部6大對象及其功能合理地運用這些對象可以使原本復(fù)雜,煩瑣的工作變得簡捷而條理清晰。我們可以用以下的語法直接使用這些對象:對象/屬性/方法/數(shù)據(jù)集合1.3.4 利用ado訪問數(shù)據(jù)庫ado(activex data objects)是一種操作microsoft所支持的數(shù)據(jù)庫的新技術(shù)。在asp中,ado可以看作是一個服務(wù)器組件(server component),更簡單點說,是一系列的對象,應(yīng)用這些功能強大的對象,即可輕松完成對數(shù)據(jù)庫復(fù)雜的操作。本文中個性化頁面的實現(xiàn)便大量地用到了ado技術(shù)。具體的操作步驟可以歸納為以下幾步:1創(chuàng)建數(shù)據(jù)庫源名(dsn)2創(chuàng)建數(shù)據(jù)庫鏈接(connection)3創(chuàng)建數(shù)據(jù)對象4操作數(shù)據(jù)庫5關(guān)閉數(shù)據(jù)對象和鏈接每一步的作法如下:一、創(chuàng)建數(shù)據(jù)源名dsn(date source name)即數(shù)據(jù)源名稱。我們知道,odbc是一種訪問數(shù)據(jù)庫的方法,只要系統(tǒng)中有相應(yīng)的odbc驅(qū)動程序,任何程序就可以通過odbc操縱驅(qū)動程序的數(shù)據(jù)庫。比如我們系統(tǒng)中有access的odbc驅(qū)動程序,那么即使我們沒有access軟件,也可以在我們的程序中對一個access的mdb數(shù)據(jù)庫加、刪、改記錄。而且我們根本不用知道這個數(shù)據(jù)庫是放在哪里的。我們只要寫出sql語句,odbc驅(qū)動程序就會幫我們做一切事情。我們在給odbc驅(qū)動程序傳sql指令時,即是用dsn來告訴它到底操作的是哪一個數(shù)據(jù)庫。如果數(shù)據(jù)庫的平臺變了,比如我們改用了sql server的數(shù)據(jù)庫,只要其中表的結(jié)構(gòu)沒變,我們就不用改寫我們的程序,只要重新在系統(tǒng)中配置dsn就行了。由此可見,dsn是應(yīng)用程序和數(shù)據(jù)庫之間的橋梁。二、創(chuàng)建數(shù)據(jù)庫鏈接(connection)鏈接用以保持一些關(guān)于正在訪問的數(shù)據(jù)的一些狀態(tài)信息,以及鏈接者信息。asp文件中如果要訪問數(shù)據(jù),必須首先創(chuàng)建與數(shù)據(jù)庫的鏈接,其語法如下:set conn=server.createobject(“adobd.connection”)這條語句創(chuàng)建了鏈接對象conn,接下來:connstr=provider=microsoft.jet.oledb.4.0;data.source=&server.mappath(&db&)conn.open connstr這條語句打開鏈接,用到了dsn,本例為“connstr”。以上兩個步驟缺一不可,因為鏈接對象的創(chuàng)建與打開是兩回事,只有打開了才真正可以使用。三、創(chuàng)建數(shù)據(jù)對象(record set)ado中的數(shù)據(jù)對象通常保存的是查詢結(jié)果。record set是ado中最復(fù)雜的對象,有許多屬性和方法。record set保存的是一行行的記錄,并標有一個當前記錄。以下是創(chuàng)建方法:set record set=conn.execute(sqtstr)這條語句創(chuàng)建并打開了對象record set,其中con是先前創(chuàng)建的鏈接對象,rs是一個字串,代表一條標準的sql語句。例如:rs=“select * from shop_books”set record set=mconn.execute(rs)這條語句執(zhí)行后,對象record set中就保存了表tab1中的所有記錄。四、操作數(shù)據(jù)庫我們通過調(diào)用鏈接對象的execute方法來將查詢結(jié)果返回給一個數(shù)據(jù)對象或進行插入、刪除等操作。例如:rs=“insert into tab1 values(1,2)”mconn.execute(rs)/執(zhí)行插入操作五、關(guān)閉數(shù)據(jù)對象和鏈接對象在使用了ado對象之后要關(guān)閉它,因為它使用了一定的服務(wù)器資源。通過調(diào)用方法close實現(xiàn)關(guān)閉,然后再釋放它。record set.closeset record set=nothing/關(guān)閉創(chuàng)建的數(shù)據(jù)對象mconn.closeset mconn=nothing/關(guān)閉創(chuàng)建的鏈接對象1.4 asp與cgi的比較cgi(common gateway interface,通用網(wǎng)關(guān)接口)也是internet上一種功能強大的web頁面技術(shù),其工作方式有別于asp。我們現(xiàn)對二者進行比較。active server pages開發(fā)web應(yīng)用程序的特點:1 完全嵌入html,與html、script語言完美結(jié)合。2 無須手動編譯和鏈接程序。3 面向?qū)ο螅⒖蓴U展activex server組件功能。4 使用腳本語言(javascript、vbscript或perl)編寫。5 存取數(shù)據(jù)庫輕松容易(使用ado組件)。6 可使用任何語言編寫自己的activex server組件。7 無瀏覽器兼容問題。8 程序代碼隱藏,客戶端僅能看到asp輸出的html文件。9 縮短web開發(fā)時間。相比之下,使用cgi開發(fā)web應(yīng)用程序具有以下缺點:1 不易與html文件集成。2 須使用其他較復(fù)雜的語言來開發(fā)cgi程序。3 程序開發(fā)時間較長。4 存取數(shù)據(jù)庫不容易。5 每個cgi程序被不同用戶執(zhí)行時都得重新執(zhí)行一次,并占去server的一個端口(port),降低server效率??梢?,asp在數(shù)據(jù)庫訪問、與html的集成、提高服務(wù)器的效率等諸多方面都優(yōu)于cgi,更適應(yīng)web應(yīng)用程序開發(fā)的需要,因此本文選擇了asp作為個性化頁面生成器的開發(fā)工具。2章需求分析需求分析是軟件生命周期的一個重要階段,它根本的任務(wù)是確定為了滿足用戶的需要必須做什么。具體地說,應(yīng)該確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運行環(huán)境,并且預(yù)測系統(tǒng)發(fā)展的前景,必須仔細分析系統(tǒng)中的數(shù)據(jù),既要分析系統(tǒng)中的數(shù)據(jù)流。又要分析長期使用的數(shù)據(jù)存儲,通過分析應(yīng)該得出新系統(tǒng)邏輯方案數(shù)據(jù)流圖、數(shù)據(jù)字典等,為系統(tǒng)的設(shè)計奠定基礎(chǔ)。2.1 系統(tǒng)調(diào)查我按照軟件工程的開發(fā)思路,首先對本站功能需求做詳細的調(diào)研,然后在調(diào)研的基礎(chǔ)設(shè)計新系統(tǒng)的邏輯方案。再經(jīng)過可行性論證最后就可以開始設(shè)計和實施。2.1.1 本站需求調(diào)查隨著人們物資文化生活水平的不斷提高,人們對精神文化生活的要求也越來越高,這樣越來越多的歌曲,明星就走進了平常人的生活,這些人們只能選擇周末或者節(jié)假日抽一些時間通過各種媒體來了解。但是由于各種媒體中比如電視新聞一般都有時效性,過去的新聞在電視中很難再看到,收音機或者廣播和電視類似,而一份報紙不可能的內(nèi)容畢竟有限,特別是報紙的類別性很強,比如體育類的報紙上很難找到歌曲和明星的影子,反過來也一樣。唯有新興的第四媒體的網(wǎng)絡(luò)可以吸取眾多媒體之所長,彌補眾多媒體之所短。于是人們正在以每年成百上千萬的人加入到網(wǎng)絡(luò)這個世界中來。為了滿足越來越多的喜歡歌曲和音樂的對網(wǎng)絡(luò)的需求。本人決定設(shè)計一個以歌曲,專輯郵購為主題的音樂網(wǎng)站。我為了設(shè)計好這個網(wǎng)站,利用一個多月的時間,專門對不同學(xué)歷,不同職業(yè)的愛好音樂的人進行了調(diào)查。通過調(diào)查,90%以上的人顯示出超常的熱情,他們對該網(wǎng)站表示出極大的關(guān)注,綜合他們對網(wǎng)站的需求和建議后,整理出他們對本站建設(shè)的欄目需求如下:1 通過瀏覽本站可以及時獲得明星們最新相關(guān)咨訊。2 通過瀏覽本站可以欣賞最新流行,好聽的歌曲。3 通過瀏覽本站可以獲得本站提供的最新的明星最新專輯信息并可以通過本站郵購。2.1.2 功能需求分析通過上面的用戶調(diào)查,本站初步規(guī)劃已經(jīng)比較清晰,但是,用戶調(diào)查中用戶沒有提到開辦一個愛好者交流的平臺,沒有提到用戶對一些熱門問題的在線調(diào)查等欄目,所有,在功能需求分析階段,我們綜合需求調(diào)查的結(jié)果和我們建站的經(jīng)驗,所以,本站功能需求經(jīng)過以上分析最后整理如下:1 瀏覽者可以隨時上網(wǎng)獲得一些相關(guān)音樂的最新咨訊。2 瀏覽者可以隨著上網(wǎng)試聽本站提供所有的音樂。3 瀏覽者可以隨時上網(wǎng)查看并且郵購本站提供的音樂專輯。4 瀏覽者可以隨時上網(wǎng)查看瀏覽本站推薦的明星和專輯介紹。5 瀏覽者可以隨時上網(wǎng)對本站的在線調(diào)查進行投票和查看投票結(jié)果。6 瀏覽者可以隨時上網(wǎng)查看瀏覽本站論壇,發(fā)貼和回貼,可以提供用戶注冊,用戶登錄,登錄時并提供cookie有效期,方便經(jīng)常登錄用戶,注冊用戶登錄后可以隨時發(fā)貼和回帖。7 管理員可以后臺管理本站的新聞、歌曲、郵購,論壇、在線調(diào)查的數(shù)據(jù)。管理的內(nèi)容可以是添加,修改,刪除等操作。2.2 新系統(tǒng)的邏輯方案2.2.1 數(shù)據(jù)流程圖數(shù)據(jù)流圖描繪系統(tǒng)的邏輯模型圖,其中沒有任何具體的物理元素,只是描繪信息在系統(tǒng)中流動和處理的情況。因為數(shù)據(jù)流圖是邏輯系統(tǒng)的圖形表示,即使不是專業(yè)的計算機技術(shù)人員也容易理解,所以是極好的通信工具。此外,設(shè)計數(shù)據(jù)流圖只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮如何具體地實現(xiàn)這些功能,所以它也是軟件設(shè)計的很好的出發(fā)點。音樂星空網(wǎng)主要是對音樂愛好者提供一個及時獲得音樂的相關(guān)咨訊,欣賞音樂,提供專輯的郵購和提供在線調(diào)查和在論壇發(fā)布帖子的一個平臺。數(shù)據(jù)流程圖的符號說明如圖24所示。 外部實體 處理 數(shù)據(jù)流 數(shù)據(jù)存儲 圖24 數(shù)據(jù)流程圖的符號管理員瀏覽著后臺管理瀏覽新聞 f1 新聞表 7試聽音樂f2 音樂表 f3 郵購表 查看郵購 在線投票f4 在線調(diào)查表 論壇登錄f5 用戶表 論壇發(fā)貼f6 留言表 圖25 設(shè)計流程圖主要的數(shù)據(jù)源有最新資訊,歌曲相關(guān)信息,郵購物品相關(guān)信息,帖子相關(guān)信息,在線調(diào)查相關(guān)信息。它們在系統(tǒng)中流動和處理詳細見下面的數(shù)據(jù)流程圖。從數(shù)據(jù)流圖上容易看出該網(wǎng)站信息流程如下:瀏覽著登錄網(wǎng)站后可以瀏覽本站發(fā)布的相關(guān)咨訊信息,欣賞本站所有歌曲,查看本站提供的所有的郵購物品信息,提交本站的在線調(diào)查,瀏覽本站的所有的論壇帖子內(nèi)容。用戶注冊登錄后可以發(fā)布自己的主題,或者對已有的主題帖子進行回復(fù)。管理員可以通過登錄后臺管理數(shù)據(jù)庫中的最新咨訊信息,歌曲信息,郵購物品信息,所有的論壇帖子信息。對本站的數(shù)據(jù)庫表進行管理包括對所有表的記錄的添加,修改,刪除,瀏覽等。對頂層數(shù)據(jù)流程圖每個功能模塊進一步分解,還可以將每個功能模塊進一步細化,這樣就可以得到數(shù)據(jù)的第一層數(shù)據(jù)流程圖,以上面的后臺管理模塊為例,可以對后臺管理功能進一步細化為信息的后臺瀏覽,信息的添加,信息的修改,信息的刪除等子功能。這樣就得到系統(tǒng)的第一層數(shù)據(jù)流程圖,以后臺管理為例下面給出后臺管理的第一層數(shù)據(jù)流程圖。 74刪除 73修改 72添加 71瀏覽管理員f16 所有數(shù)據(jù)庫表圖26 數(shù)據(jù)流程圖2.2.2 數(shù)據(jù)字典上文中的數(shù)據(jù)流圖只能給出系統(tǒng)邏輯功能的一個總框架而缺乏詳細、具體的內(nèi)容。數(shù)據(jù)詞典的作用是給數(shù)據(jù)流圖上的每一個成分以定義和說明。除此之外,數(shù)據(jù)詞典還要對系統(tǒng)分析中其它需要說明的問題進行定義和說明。本文的數(shù)據(jù)詞典描述的主要內(nèi)容有:數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯和外部項。在系統(tǒng)分析的過程中,產(chǎn)生了大量的數(shù)據(jù)詞典。限于篇幅,我采用僅就這幾項條目各舉一例來說明。下面為音樂網(wǎng)站流程圖中的每一部分編制數(shù)據(jù)字典。(1)數(shù)據(jù)元素:論壇中每個注冊用戶都有用戶帳號這個信息,其描述內(nèi)容如下:數(shù)據(jù)元素名稱:用戶帳號 類型:字符型 長度:20位相關(guān)的數(shù)據(jù)結(jié)構(gòu):用戶帳號+密碼+電子郵箱+性別+qq+來自地方+發(fā)貼數(shù)量+注冊日期+最后一次登錄時間+個人主頁+頭像(2)數(shù)據(jù)流。數(shù)據(jù)流“注冊信息”條目如下:數(shù)據(jù)流名稱:注冊信息 說明:用戶注冊時提交的信息數(shù)據(jù)流來源:注冊用戶數(shù)據(jù)流去向:后臺數(shù)據(jù)庫數(shù)據(jù)流組成:用戶名密碼+郵箱地址+數(shù)據(jù)流的流通量:大約2000流量/天()數(shù)據(jù)存儲:數(shù)據(jù)存儲“用戶信息”條目如下:數(shù)據(jù)存儲名稱:用戶信息簡述:存放的是每個用戶相關(guān)信息情況輸入數(shù)據(jù):注冊的用戶信息數(shù)據(jù)存儲組成:用戶帳號+密碼+電子郵箱+性別+qq+來自地方+發(fā)貼數(shù)量+注冊日期+最后一次登錄時間+個人主頁+頭像存儲方式:按注冊的先后順序排列()數(shù)據(jù)處理。數(shù)據(jù)處理“分頁跳轉(zhuǎn)”條目如下:數(shù)據(jù)處理名稱:分頁跳轉(zhuǎn)數(shù)據(jù)處理編號:7.1簡要描述:根據(jù)提交的跳轉(zhuǎn)的頁號轉(zhuǎn)向該頁。輸入數(shù)據(jù)流:頁號輸出數(shù)據(jù)流:分頁顯示中的該頁的所有記錄。處理邏輯:根據(jù)用戶輸入頁號在分頁顯示瀏覽頁面時跳轉(zhuǎn)到該頁。()外部實體。外部實體“管理員”的條目如下:外部實體名稱:管理員輸入數(shù)據(jù)流:用戶名和密碼輸出數(shù)據(jù)流:獲得相應(yīng)的session變量的同時系統(tǒng)返回相應(yīng)的管理頁面的信息。數(shù)目:2人2.3可行性論證通過對該音樂網(wǎng)設(shè)計的邏輯方案的確定后,現(xiàn)對該音樂網(wǎng)開發(fā)和實施可行性進行分析。技術(shù)上可行:目前,國內(nèi)有眾多的優(yōu)秀的空間出租商和域名代理商,他們可以提供完善的,穩(wěn)定的,優(yōu)質(zhì)的服務(wù),所以該網(wǎng)站建成后,不需要擔心服務(wù)器的技術(shù)上的維護等,另外,軟件設(shè)計方面,asp技術(shù)是一種目前比較成熟的動態(tài)網(wǎng)頁開發(fā)技術(shù),技術(shù)上都比較成熟。因此在技術(shù)上是可行的。經(jīng)濟上可行:由于網(wǎng)站投入運行是租用空間,不用自己投資購買服務(wù)器,硬件防火墻等,每年只需支付幾百元的空間和域名的費用,開發(fā)經(jīng)費沒有問題。管理上可行:由于本站設(shè)計的有強大的后臺管理功能,即使是不懂計算機的人,也可以輕松的對本站進行管理。綜上所述,開發(fā)該音樂網(wǎng)站在技術(shù)上、經(jīng)濟上、管理上都是可行的。3章 網(wǎng)站的總體結(jié)構(gòu)設(shè)計3.1網(wǎng)站功能模塊結(jié)構(gòu)的設(shè)計數(shù)據(jù)流圖能夠很好的反映系統(tǒng)和模塊的邏輯功能,但不涉及具體模塊的物理構(gòu)成和實現(xiàn)途徑,不能有效地體現(xiàn)整個系統(tǒng)的層次關(guān)系。從系統(tǒng)的整體出發(fā),明確系統(tǒng)的層次之間的關(guān)系和模塊之間的關(guān)系。按照結(jié)構(gòu)化的系統(tǒng)設(shè)計方案,由系統(tǒng)頂層數(shù)據(jù)流圖得到第一層流程圖。(如圖3-1所示)音樂星空網(wǎng)后 臺管 理瀏 覽發(fā) 貼在 線調(diào) 查查 看郵 購試 聽音 樂瀏 覽咨 訊圖3-1音樂星空網(wǎng)第一層圖在第一層的基礎(chǔ)上,根據(jù)第一層數(shù)據(jù)流圖,對系統(tǒng)進行進一步的功能分解, 得到第二層,以后臺管理為例。(如圖3-2所示)后臺管理信 息刪 除信 息修 改信 息添 加信息瀏 覽用 戶登 錄圖3-1音樂星空網(wǎng)第二層圖在第二層圖的基礎(chǔ)上還可以繼續(xù)對系統(tǒng)功能進行分解,從而得到第三層圖。以信息刪除子模塊為例,還可以繼續(xù)分解為最新咨訊信息的刪除,歌曲信息刪除,購物信息刪除,論壇帖子信息刪除等之模塊。第三層就不再畫出。723.2數(shù)據(jù)庫設(shè)計3.2.1 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計新系統(tǒng)邏輯方案中的數(shù)據(jù)流程圖和數(shù)據(jù)字典對新系統(tǒng)描述已經(jīng)很清晰,經(jīng)過前面可行性論證后,下面就可以在此基礎(chǔ)上進行系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計。根據(jù)前面的數(shù)據(jù)字典的描述,新系統(tǒng)的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下: 咨訊信息:信息編號,主題,內(nèi)容,日期,點擊次數(shù),價格。 歌曲信息:歌曲編號,歌曲名稱,演唱者,存放地址,時間,點擊次數(shù)。 郵購信息:郵購編號,專輯名稱,專輯人,內(nèi)容,市場價格,郵購價格,推出時間,點擊次數(shù)。 留言信息:留言主題,內(nèi)容,留言時間,回帖編號,發(fā)言人,發(fā)言心情圖片,閱讀次數(shù),ip地址,qtt圖片。 論壇用戶表:用戶名,密碼,電子郵件,性別,qq,來自地區(qū),發(fā)貼數(shù)量,注冊時間,最后一次登錄時間,主頁地址,頭像。實體和實體之間的關(guān)系的e-r圖如下:注冊發(fā)貼注冊用戶貼子信息試聽歌曲一般來訪者瀏覽郵購專輯最新咨訊圖3-1音樂星空網(wǎng)e-r圖3.2.2 數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計根據(jù)分析階段得出的實體一聯(lián)系圖(er圖),結(jié)合本網(wǎng)站系統(tǒng)對有關(guān)數(shù)據(jù)的存儲的需要,更加方便實現(xiàn)該動態(tài)網(wǎng)頁系統(tǒng)的所有功能,現(xiàn)將本網(wǎng)站設(shè)計成7個數(shù)據(jù)庫表,下面逐一說明:1 表user_table:論壇注冊用戶信息表:該表用來存放個人資料信息。2 表news:最新咨訊信息表:用來存放音樂明星最新咨訊。3 表kq:歌曲表:用來存放本站提供的所有的音樂相關(guān)信息。4 表ly:留言表:用來存放本站注冊用戶所有的帖子信息。5 表yougou:郵購表:用來存放本站所有音樂專輯郵購信息。6 表research:在線調(diào)查表:用來存放本站在線調(diào)查的投票結(jié)果。7 表admin:管理員表:用來存放本站后臺管理的登錄信息。以上是本系統(tǒng)的庫表結(jié)構(gòu)的簡要說明。對這些表的詳細結(jié)構(gòu)如下。1表名:user_table 說明:論壇用戶信息表字段名字段類型字段長度說明id自動編號長整型編號username文本型50注冊姓名passwd文本型50登錄密碼email文本型50電子郵箱sex文本型8性別qq文本型50qq號come_from文本型50來自地方fb_num文本型50發(fā)布帖子數(shù)量register_date文本型50注冊時間lastlogindate文本型50最后登錄時間url文本型50主頁地址face文本型50頭像2表名:news 說明:所有咨訊信息表:字段名字段類型字段寬度說明id自動編號長整型編號title文本型50咨訊主題text文本型50內(nèi)容idate日期型50發(fā)布時間click數(shù)字型8點擊次數(shù)3 表:kq 說明:歌曲信息表字段名字段類型字段寬度說明id自動編號長整型編號kqmc文本型50收方姓名ycz文本型50發(fā)信類別address文本型50發(fā)方姓名time文本型50標題click文本型50信件內(nèi)容4表 yougou 說明:專輯郵購表字段名字段類型字段寬度說明id自動編號長整型編號zjmc文本型50專輯名稱name文本型50姓名leirong文本型50內(nèi)容price1文本型50市場價格price2文本型50郵購價格time日期型50發(fā)布時間click數(shù)字型50點擊次數(shù)5表:ly 說明:論壇留言表字段名類型寬度說明title文本50主題nei備注備注內(nèi)容t時間8發(fā)貼時間rt文本1主題類別name文本50發(fā)布(跟貼)人pic文本50帖子圖案yd數(shù)字5閱讀次數(shù)ip文本50ip地址qtt文本50q貼圖6表:reseach 說明:欄目調(diào)查表 字段名字段類型字段寬度說明id自動編號長整型編號selecta數(shù)值型長整型a的票數(shù)selectb數(shù)值型長整型b的票數(shù)selectc數(shù)值型長整型c的票數(shù)selectd數(shù)值型長整型d的票數(shù)selecte數(shù)值型長整型e的票數(shù)selectf數(shù)值型長整型f的票數(shù)selectg數(shù)值型長整型g的票數(shù)selecth數(shù)值型長整型h的票數(shù)selecti數(shù)值型長整型i的票數(shù) 7表:admin 說明:管理員帳號表字段名字段類型字段寬度說明id自動編號長整型編號admin文本型50帳號pwd文本型50密碼 3.3 網(wǎng)頁設(shè)計網(wǎng)頁設(shè)計構(gòu)思是網(wǎng)頁制作的指南針,針對網(wǎng)頁的主題、命名、標志、色彩搭配和字體等要素,確定這些要素后,需要網(wǎng)頁布局,網(wǎng)頁布局要遵循對稱平衡、異常平衡、對比、凝視和空白等原則,下面主要針對該系統(tǒng)中網(wǎng)頁色彩和布局進行一些設(shè)計說明:網(wǎng)頁給人的第一印象來自視覺,確定網(wǎng)站的標準色彩是相當重要的一步,不同色彩搭配會產(chǎn)生不同效果。并可能影響訪問者的情緒。一般來說適合于網(wǎng)頁標準色的顏色的藍色、黃/ 色和黑/灰/白色3大系。一個網(wǎng)站的標準色彩不宜超過3 種,太多會讓人眼花繚亂。標準色彩多用于站標、網(wǎng)站的標題、主菜單和主色塊。給人以整體統(tǒng)一的感覺,其它色彩也可使用,但只能作為點綴和襯托,絕不可喧賓奪主?;谝灾骼碚摚Y(jié)合用人調(diào)查結(jié)果,本網(wǎng)站確定藍色作為標準色彩,其它色彩如紅色、灰色等作點綴。3.4 頁面鏈接導(dǎo)航設(shè)計為了讓用戶通過該網(wǎng)方便瀏覽,查詢各種信息,應(yīng)把在一個頁面上無法全部實現(xiàn)的信息鏈接到它的下一級甚至下下一個級頁面。這樣做層次清楚,條理分明,便于用戶使用。下面給出本網(wǎng)站主要頁面的鏈接設(shè)計附:各主要網(wǎng)頁間關(guān)系如下: 一級網(wǎng)頁 二級網(wǎng)頁 最新咨訊熱點新聞1,熱點新聞2 歌曲試聽歌曲1,歌曲2 首頁 專輯郵購郵購信息1,郵購信息2 推薦明星明星1,明星2 論壇(bbs)圖3-1音樂星空網(wǎng)各網(wǎng)頁關(guān)系圖這里主頁和最新咨訊、歌曲試聽、專輯郵購、推薦明星,論壇等是網(wǎng)狀鏈接。一級網(wǎng)頁和二級網(wǎng)頁間是樹狀鏈接,二級網(wǎng)頁一般新開窗口,在二級網(wǎng)頁上提供上一頁、下一頁、最前頁、最后頁等導(dǎo)航按鈕,方便瀏覽查詢。4章 音樂星空網(wǎng)的實現(xiàn)按結(jié)構(gòu)化的程序設(shè)計思想,在完成了系統(tǒng)分析、系統(tǒng)設(shè)計后,就可以進行系統(tǒng)實現(xiàn)階段了,系統(tǒng)實現(xiàn)是每指把系統(tǒng)的物理模型轉(zhuǎn)換成實際運行系統(tǒng)的全過程。其基本任務(wù)是:a) 前期準備b) 系統(tǒng)平臺的安裝與調(diào)試c) 程序的編制與調(diào)試d) 信息系統(tǒng)調(diào)試e) 數(shù)據(jù)庫與文件的建立f) 系統(tǒng)轉(zhuǎn)換g) 試運行、驗收與維護4.1 建立asp的運行環(huán)境簽于目前流行的windows操作平臺有windows 2000、windows nt 4.0最新windows xp。下面針對這三個操作平臺上建立asp運行環(huán)境的一些簡要介紹。 windows 2000建立asp的運行環(huán)境作為個人用戶或在單機環(huán)境下測試asp,windows 2000將是一個很不錯的選擇。在windows 2000 ,可以采用microsoft的pws(personal web server)作為asp運行環(huán)境。pws是一個短小精悍的web服務(wù)器平臺,易學(xué)易用,并某些人備運行asp所需的所有條件。pws4.0具有新穎的外觀和許多新增加的功能,初學(xué)者無需具備專業(yè)的網(wǎng)絡(luò)管理知識就可以輕松建立一個全功能的web站點。 windows nt 4.0上建立asp的運行環(huán)境在windows nt 4.0上,asp的運行環(huán)境是基于iis 3.0以上版本的,同windows 2000比較起來。使用windows nt具有明顯的優(yōu)勢。在windows nt/iis這一強大的開發(fā)平臺上可以充分利用windows nt 更強大的性能,更完善的安全性能,更完善的安全性并且能與企業(yè)級應(yīng)用程序更完美的結(jié)合。運行在windows nt 4.0以上的iis其最版本是4.0。它占據(jù)了當今世界看近40%的web服務(wù)器市場。 在window xp上建立asp的運行環(huán)境在windows xp上運行asp的環(huán)境也是iis。如果安裝的是windows xp server,iis5.0將作為一個默認選項被安裝。如果使用的是windows xp中文專業(yè)版,則需要使用控制面板“ 添加/刪除程序”來安裝iis及其組件。4.2 主頁default.asp頁面的實現(xiàn)本站根據(jù)總體設(shè)計,設(shè)計的欄目有最新咨訊,歌曲試聽,專輯郵購,明星推薦,論壇等欄目,主頁應(yīng)該提供這些欄目的導(dǎo)航鏈接,同時,在主頁醒目的位置,分別設(shè)計這些欄目的部分內(nèi)容,便于瀏覽著對這些欄目有一個一目了然的大致了解。這些版面設(shè)計規(guī)劃如圖所示:在網(wǎng)頁的最上面是本站的log圖片音樂情緣。接著是本站的導(dǎo)航條,在導(dǎo)航條上分別提供各自的文字鏈接,在導(dǎo)航條的下面是本頁的主要內(nèi)容,版面設(shè)計為典型的,最左邊的版面設(shè)計的分別是論壇的登錄入口,本站提供的在線調(diào)查,另外放置幾張音樂專輯的圖片。右邊設(shè)計的是最新咨訊,專輯郵購,歌曲試聽,推薦明星等欄目,在每個欄目中顯示本欄目中最新的幾條信息。圖4-1首頁下面以最新咨訊來介紹首頁中的如何實現(xiàn)顯示最新幾條咨訊信息。4.2.1 包含文件dbconn.inc的實現(xiàn)和調(diào)用為了顯示最新咨訊,首先首頁需要同數(shù)據(jù)庫建立連接。由于每個頁面都可能用到和數(shù)據(jù)庫連接的語句,所以,同數(shù)據(jù)庫的連接語句可單獨建立一個文件dbconn.inc,該文件放在inc目錄下,該文件的語句如下:該語句的作用是首先利用asp的ado對象建立一個連接變量,接著利用這個連接變量選擇access驅(qū)動程序來打開yingye.mdb數(shù)據(jù)庫。首頁中包含:4.2.2 包含文件news.asp的實現(xiàn)和調(diào)用在首頁中當調(diào)用了該包含文件后,就連接并打開了數(shù)據(jù)庫,接著在首頁設(shè)計的最新咨訊欄目的位置,建立一個記錄集,然后利用循環(huán)語句顯示最新咨訊表中的最新記錄。實現(xiàn)這一過程的語句設(shè)計成一個包含文件news.asp,調(diào)用的語句是:下面介紹實現(xiàn)news.asp的算法和語句:算法如下:建立記錄集rs建立查詢變量sql記錄集打開查詢變量i小于記錄集條數(shù)關(guān)閉記錄集i=i+1結(jié)束顯示第i條記錄圖4-2實現(xiàn)news.asp的算法示意圖實現(xiàn)這一算法的語句如下: a href=viewnews.asp?id= target=_blank 首頁中其它欄目的顯示和這類似,這里就不再一一列舉。4.2.3 在線調(diào)查research.asp的實現(xiàn)和調(diào)用在首頁中提供了一個在線調(diào)查欄目,在首頁中相應(yīng)版面設(shè)計的效果如下: 該欄目的最下面有二個按鈕,一個是投票按鈕,一個是查看投票結(jié)果的按鈕,投票按鈕是的type屬性是submit,當瀏覽著點擊該按鈕時將表單內(nèi)的信息提交到research.asp頁面。結(jié)果按鈕的onclick屬性是打開research.asp頁面,不過附帶有一個參數(shù)stype=view,在research.asp頁面執(zhí)行的過程中,首先需要判斷參數(shù)是否為空,當參數(shù)為空表示投票,參數(shù)不為空表示查看投票。在為空時,即投票過程中,系統(tǒng)首先判斷請求的遠程ip地址和cookie(ip)地址是否相等,如果相等,表示該圖4-3地址剛剛有人投票,不能重復(fù)投票,如果不相等,則對相應(yīng)選項的投票結(jié)果加1,同時建立一個cookie(ip)變量。最后顯示最新的投票結(jié)果。實現(xiàn)這一過程的算法流程圖如下:獲得request(stype)request(stype)為空請求ip=cookie(ip)相應(yīng)選項加1提醒已經(jīng)投過票顯示投票結(jié)果圖4-4算法示意圖4.3 音樂試聽頁面kqst.asp的實現(xiàn):點擊首頁的album文字鏈接,可以進入kqst.asp頁面。左邊設(shè)計的是音樂試聽排行榜,按照試聽次數(shù)排行,右邊是所有的音樂信息,該頁利用分頁技術(shù)實現(xiàn)音樂的分頁顯示。4.3.1 總量排行home_sort.asp的實現(xiàn)和調(diào)用:在歌曲試聽網(wǎng)頁的左邊調(diào)用該包含文件達到顯示總量排行。調(diào)用語句如下:圖4-5排行頁面總量排行的實現(xiàn)原理和算法如下 :建立記錄集rs建立查詢變量sql記錄集打開查詢變量y= rs.recordcount=y15y=15i y關(guān)閉記錄集i=i+1結(jié)束顯示第i條記錄 圖4-6排行算法示意圖根據(jù)該算法流程圖,首先建立記錄集,并用記錄集打開kq表中前面15條記錄,接著,定義變量y= rs.recordcount。當y大于15時,則y重新賦值等于15。接著,判斷當i小于y時,i加1,顯示第i條記錄,接著再判斷i是否大于y,當大于y時,關(guān)閉記錄集,結(jié)束。4.3.2 歌曲試聽調(diào)用文件mfplayrm.asp在左邊的排行和右邊的歌曲列表中,點擊任意歌曲可以實現(xiàn)在線試聽音樂,這里是通過調(diào)用mfplayrm.asp文件實現(xiàn)的試聽歌曲的功能效果的。在mfplayrm.asp頁面中首先將該歌曲表中的click字段加1。接著從歌曲表中得到該歌曲的存放地址,然后在網(wǎng)頁中調(diào)用系統(tǒng)媒體播放器,播放器播放的文件名為該歌曲的存放地址。實現(xiàn)該網(wǎng)頁功能算法流程圖如下:開始歌曲表中該歌曲試聽次數(shù)加1查詢該歌曲的存放地址變量賦url值為地址變量調(diào)用媒體播放器媒體播放器播放文件名為url結(jié)束圖4-7算法示意圖4.4 后臺管理的實現(xiàn)4.4.1 后臺管理登錄login.asp的實現(xiàn)該頁面實現(xiàn)用戶輸入用戶名和密碼后,程序?qū)⒆詣舆M行校驗,合法用戶進入管理頁面,不合法的用戶將被警告不能進入。實現(xiàn)這一算法的詳細描述如下:首先,系統(tǒng)根據(jù)表單提交的變量admin和passwd,通過函數(shù)request獲得提交的變量admin和passwd,如果提交的admin變量為空,程序結(jié)束,如果不非空,則建立記錄集和查詢變量,在查詢變量中,定義從admin表中查詢用戶名等于admin密碼等于passwd的記錄,如果記錄集為空表明沒有符合條件的記錄,表明是錯誤的用戶名或者密碼,系統(tǒng)給出警告,如果記錄集非空,表明存在符合條件的記錄,那么系統(tǒng)定義一個session變量,該session變量用來追蹤合法用戶,最后導(dǎo)向管理首頁mnews.asp。獲得提交的用戶名和密碼程序結(jié)束用戶名為空在admin表中查詢用戶名警告錯誤用戶名密碼記錄集非空獲得session變量進入管理頁面圖4-8導(dǎo)向管理首頁示意圖4.4.2 后臺管理首頁mnews.asp的實現(xiàn)在后臺可以管理最新咨訊,歌曲,郵購,論壇帖子等,管理的界面如下:圖4-9后臺管理頁面以最新咨訊管理為例,來介紹系統(tǒng)是如何實現(xiàn)后臺管理:在該頁右邊顯示出的是所有咨訊列表,每頁顯示10條記錄,超過的分頁顯示。在每行記錄的后面有一個刪除標記,點擊刪除可以刪除該記錄,實現(xiàn)的原理是這里的刪除鏈接提交時附加了一個刪除參數(shù)del=,在運行mnews.asp時首先判斷該參數(shù)del是否為空,如果不為空則利用sql語句刪除id號等于提交參數(shù)的記錄。4.4.3 后臺添加咨訊addnews.asp的實現(xiàn)通過點擊mnews.asp的頁面最下面的添加文字鏈接可以打開該頁面,該頁面提供管理員輸入咨訊題目和內(nèi)容的輸入框,輸入完畢后點擊添加即可完成新聞咨訊的添加。圖4-10添加資訊頁面獲得提交的主題和內(nèi)容實現(xiàn)添加新聞咨訊的算法流程如圖所示:主題為空利用記錄集打開news表記錄集添加記錄記錄集更新記錄集關(guān)閉程序結(jié)束圖4-11算法示意圖4.4.4 后臺修改咨訊xgnews.asp的實現(xiàn)修改咨訊和添加功能的實現(xiàn)非常類似,不同的是添加首先通過查詢得到news表中的所有記錄,而修改是通過查詢從news表中得到id號等于提交的id號的記錄。另外,在實現(xiàn)記錄集更新之前,在添加時記錄集需要增加一條記錄,而修改時不需要。關(guān)于修改詳細的算法描述這
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年特色農(nóng)產(chǎn)品養(yǎng)殖加工銷售合同3篇
- 2025年度航空航天實驗設(shè)備定制生產(chǎn)定作合同模板3篇
- 2025年度高鐵站房工程預(yù)算合同
- 2025年度工傷私了賠償協(xié)議書范本與執(zhí)行監(jiān)督細則
- 2025年度別墅租賃中介服務(wù)協(xié)議2篇
- 2025年度城市綠化苗木培育與供應(yīng)承包合同3篇
- 2025年度合伙經(jīng)營連鎖蛋糕店市場營銷推廣合同3篇
- 2025年度公司與會計簽訂的財務(wù)會計軟件升級與維護服務(wù)合同
- 2025年度房地產(chǎn)代銷代建與綠色建筑認證合同2篇
- 2025年度電商店店長入股合作協(xié)議
- GB/T 44146-2024基于InSAR技術(shù)的地殼形變監(jiān)測規(guī)范
- 八年級化學(xué)下冊期末試卷及答案【完整版】
- 出國柬埔寨勞務(wù)合同范本
- 【人民日報】72則金句期末評語模板-每頁4張
- 合伙人散伙分家協(xié)議書范文
- 內(nèi)科學(xué)(廣東藥科大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年廣東藥科大學(xué)
- 2024年遼寧裝備制造職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- (正式版)JTT 1497-2024 公路橋梁塔柱施工平臺及通道安全技術(shù)要求
- python程序設(shè)計-說課
- ISO15614-1 2017 金屬材料焊接工藝規(guī)程及評定(中文版)
- 《單片機技術(shù)》課件-2-3實現(xiàn)電子門鈴 -實操
評論
0/150
提交評論