信息發(fā)布內(nèi)容管理系統(tǒng)畢業(yè)論文.doc_第1頁
信息發(fā)布內(nèi)容管理系統(tǒng)畢業(yè)論文.doc_第2頁
信息發(fā)布內(nèi)容管理系統(tǒng)畢業(yè)論文.doc_第3頁
信息發(fā)布內(nèi)容管理系統(tǒng)畢業(yè)論文.doc_第4頁
信息發(fā)布內(nèi)容管理系統(tǒng)畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

青島理工大學(xué)畢業(yè)論文(設(shè)計)信息發(fā)布內(nèi)容管理系統(tǒng)畢業(yè)論文目 錄第1章 緒論11.1課題背景11.2課題內(nèi)容及意義11.3 國內(nèi)外研究情況21.3.1 現(xiàn)階段信息發(fā)布管理系統(tǒng)分析21.3.2 信息發(fā)布研究情況闡述31.4 本文研究及所做工作5第2章 系統(tǒng)需求分析62.1 需求分析概述62.2 系統(tǒng)需求分析6第3章 系統(tǒng)開發(fā)方法及開發(fā)工具選取93.1系統(tǒng)開發(fā)基礎(chǔ)93.1.1 基于Web的網(wǎng)絡(luò)應(yīng)用開發(fā)語言及技術(shù)93.1.2 ADO.NET數(shù)據(jù)庫聯(lián)接技術(shù)113.1.3 不經(jīng)過回發(fā)而實現(xiàn)客戶端回調(diào)技術(shù)123.2 系統(tǒng)結(jié)構(gòu)選擇143.3 開發(fā)平臺選擇173.4系統(tǒng)開發(fā)工具選取183.4.1 MS Visual Studio 2005 集成開發(fā)環(huán)境183.4.2 SQL Server數(shù)據(jù)庫服務(wù)器19第4章 系統(tǒng)總體結(jié)構(gòu)設(shè)計214.1 功能模塊劃分214.2 系統(tǒng)頁面設(shè)計23第5章 數(shù)據(jù)庫設(shè)計255.1 概念設(shè)計255.2 數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計265.3 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計27第6章 新聞發(fā)布管理模塊實現(xiàn)296.1業(yè)務(wù)類介紹296.2 前臺展示模塊實現(xiàn)306.2.1 文章顯示模塊具體實現(xiàn)306.3 后臺管理356.3.1 文章發(fā)布模塊實現(xiàn)356.3.2 文章管理模塊實現(xiàn)406.3.3 評論管理模塊實現(xiàn)426.3.4 分類管理模塊實現(xiàn)436.4 系統(tǒng)調(diào)試46結(jié)論50致 謝51參考文獻52III青島理工大學(xué)畢業(yè)論文(設(shè)計)第1章 緒論1.1課題背景隨著社會信息化的推進,各類企業(yè)、組織的業(yè)務(wù)活動紛紛加速向互聯(lián)網(wǎng)滲透。企業(yè)通過互聯(lián)網(wǎng)開展了多種業(yè)務(wù),并且業(yè)務(wù)的種類和規(guī)模還在不斷擴大之中,企業(yè)信息化快速發(fā)展的同時也存在著一些問題,國內(nèi)約有相當(dāng)數(shù)量的網(wǎng)站難以打開,一定數(shù)量的網(wǎng)站應(yīng)用價值比較低,還有相當(dāng)數(shù)量的網(wǎng)站存在網(wǎng)站建設(shè)困難、信息更新不及時、服務(wù)功能不健全、發(fā)布的信息無時效價值等現(xiàn)象。例如,根據(jù)需要突然想增加某個欄目,可是卻需要美工人員來設(shè)計,專業(yè)人員來編碼,整個過程相當(dāng)?shù)膹?fù)雜;只是想修改一下欄目的名稱,居然花了一天時間,甚至需要專業(yè)人員修改、維護網(wǎng)站,從而不得不聘請了多位網(wǎng)頁制作人員,網(wǎng)站的維護成本太高;當(dāng)管理外網(wǎng)或者內(nèi)網(wǎng)時,欄目一個個增加,需要發(fā)布的信息越來越多時,讓網(wǎng)站的內(nèi)容保持更新成為一件棘手的事情。等等諸如此類問題的存在對網(wǎng)站的發(fā)展造成了制約。采用網(wǎng)站內(nèi)容管理系統(tǒng)就能很好的解決上述問題,它是一個很好的管理平臺和發(fā)布平臺,提供直接的接口給管理或業(yè)務(wù)人員;其通過對機構(gòu)中各種類型的數(shù)字資產(chǎn)的產(chǎn)生、管理、增值和再利用,增加了內(nèi)容的價值,快速廉價的內(nèi)容更新,提高準(zhǔn)確度,降低信息獲取的開銷,為技術(shù)創(chuàng)新提供支持,改善組織的運行效率和提高企業(yè)的競爭能力。1.2課題內(nèi)容及意義信息化的發(fā)展,可以說給企業(yè)帶來了一場產(chǎn)業(yè)革命,企業(yè)對信息的要求更為迫切。信息的采集、處理、發(fā)布己經(jīng)成為企業(yè)的基本要求,并伴隨網(wǎng)絡(luò)的發(fā)展,逐步實現(xiàn)文檔電子化、處理電腦化。傳統(tǒng)的Web網(wǎng)站建設(shè)和維護的方法是: 首先設(shè)計Web網(wǎng)站的框架結(jié)構(gòu),然后設(shè)計HTML頁面,最后把設(shè)計好的HTML頁面納入Web網(wǎng)站的框架結(jié)構(gòu)中。這種網(wǎng)站建設(shè)模式比較適合小型網(wǎng)站和內(nèi)容相對固定(變化較少)的網(wǎng)站,因為對于信息量大,結(jié)構(gòu)復(fù)雜的政府門戶網(wǎng)站和政務(wù)平臺來說,這種方式具有諸多弊端:框架結(jié)構(gòu)維護復(fù)雜,不容易修改;頁面設(shè)計的工作量大,需要大量人力投入;網(wǎng)頁太多之后,不僅不易維護,也不易使用;容易產(chǎn)生死鏈和錯誤鏈接?;赪eb的新聞管理發(fā)布模塊,是將網(wǎng)頁上的某些需要經(jīng)常變動的信息,類似新產(chǎn)品發(fā)布和業(yè)界動態(tài)等更新信息集中管理,并通過信息的某些共性進行分類,最后系統(tǒng)化、標(biāo)準(zhǔn)化發(fā)布到網(wǎng)站上的一種網(wǎng)站應(yīng)用程序。網(wǎng)站信息通過一個操作簡單的界面加入數(shù)據(jù)庫,然后通過已有的網(wǎng)頁模板格式與審核流程發(fā)布到網(wǎng)站上。它的出現(xiàn)大大減輕了網(wǎng)站更新維護的工作量,通過網(wǎng)絡(luò)數(shù)據(jù)庫的引用,將網(wǎng)站的更新維護工作簡化到只需錄入文字和上傳圖片,從而使網(wǎng)站的更新速度大大縮短,在某些專門的網(wǎng)上新聞?wù)军c,如新浪的新聞中心等,新聞的更新速度已經(jīng)縮短到五分鐘一更新,從而大大加快了信息的傳播速度,也吸引了更多的長期用戶群,時時保持網(wǎng)站的活動力和影響力23。新聞管理發(fā)布模塊采用的數(shù)據(jù)庫技術(shù)能夠有效的解決以上問題,數(shù)據(jù)庫作為后臺強大的內(nèi)容處理引擎,為Web服務(wù)器提供信息源。系統(tǒng)利用動態(tài)網(wǎng)頁生成技術(shù),在實時交互中動態(tài)產(chǎn)生網(wǎng)頁。系統(tǒng)包括信息采集、整理、分類、審核、發(fā)布和管理的全過程,具備完善的信息管理和發(fā)布管理功能,是企事業(yè)單位網(wǎng)站、內(nèi)部網(wǎng)站和各類ICP網(wǎng)站內(nèi)容管理和維護的理想工具。應(yīng)用該系統(tǒng),政府各部門可以隨時方便地提交需要發(fā)布的信息而無須掌握復(fù)雜的技術(shù)。因此對新聞管理發(fā)布模塊的研究和開發(fā)是極其有意義和急需馬上解決的一項迫切工作。1.3 國內(nèi)外研究情況1.3.1 現(xiàn)階段信息發(fā)布管理系統(tǒng)分析信息系統(tǒng)在一般企事業(yè)單位中,涉及面非常廣泛。不同情況下,用戶的需求會有很大的差別。(1)系統(tǒng)規(guī)模不一樣對于比較大型的企事業(yè)單位,他們需要的網(wǎng)站建設(shè)系統(tǒng)強調(diào)的是能夠與他們己有的MIS、ERP等系統(tǒng)接口,將他們的信息發(fā)布在局域網(wǎng)、廣域網(wǎng)甚至移動通信網(wǎng)。在使用過程中,用戶對信息的多樣性、保存格式、發(fā)布方式以及操作環(huán)境都有各種不同的要求。這類用戶強調(diào)的是在大的系統(tǒng)構(gòu)架下子系統(tǒng)的正常協(xié)作。對于較小的企業(yè)事業(yè),相比之下他們需要的是一個簡單的信息處理系統(tǒng),能夠?qū)ξ臋n等信息進行管理并及時發(fā)布的系統(tǒng)都能夠滿足要求。他們需要的是一個操作簡單、維護方便的系統(tǒng)。如果能夠有一個信息發(fā)布平臺,只需比較低廉的費用就可以使用,將會非常滿足該類用戶的要求。這樣,將不存在任何維護費用,就可以獲得同樣的服務(wù)。(2)系統(tǒng)信息處理不一樣不同的企事業(yè)單位對信息系統(tǒng)處理的要求也不一樣。有的企業(yè)比較注重數(shù)據(jù)的采集,如鋼鐵企業(yè)需要對爐膛的溫度進行監(jiān)視,并通過硬件系統(tǒng)進行控制,這個過程目前己經(jīng)自動化了。但相關(guān)的數(shù)據(jù)是需要信息系統(tǒng)保留下來的,也就是說,信息系統(tǒng)要能夠采集這種數(shù)據(jù)流。大部分情況下,對文本信息的管理比較多,不論是多么現(xiàn)代化的企業(yè)還是相比之下較為落后的單位,文檔信息的統(tǒng)一管理是一個非常重要的工作。很多企業(yè)的文檔是保留在紙上,也有一些是保存在計算機里面但文件格式各不相同。信息系統(tǒng)必須要有這種轉(zhuǎn)換不同格式的文本數(shù)據(jù)使其統(tǒng)一的功能。通過以上分析可以得出,不管是比較大型的企事業(yè)單位,還是較小的企業(yè)公司都需要一個信息發(fā)布管理的平臺,這對于提高企業(yè)運行效率,進一步完善企業(yè)的功能都是相當(dāng)有益的。1.3.2 信息發(fā)布研究情況闡述(1)傳統(tǒng)的靜態(tài)信息發(fā)布傳統(tǒng)的靜態(tài)信息發(fā)布,信息的組織、管理基于文件系統(tǒng),基于HTML的文檔,站點工作人員手工書寫網(wǎng)頁,手工維護文檔間的關(guān)系。具有性能好、對硬件平臺要求低等優(yōu)點。但是,在這種方式下信息的發(fā)布、網(wǎng)站的管理都要求有內(nèi)容提供人員、網(wǎng)頁設(shè)計人員、編程人員協(xié)同工作,信息發(fā)布效率低下,站點結(jié)構(gòu)難以更改;一旦站點結(jié)構(gòu)做了改變,相應(yīng)的程序就得修改,同時,己發(fā)布的信息頁面必須手工修改;這種信息發(fā)布方式出現(xiàn)較早,目前應(yīng)用得也比較少,應(yīng)用群體主要為個人站點和小型站點。 (2)基于模版的靜態(tài)信息發(fā)布這種方案是傳統(tǒng)靜態(tài)網(wǎng)站的一個擴展,就是把文檔內(nèi)容存儲和管理基于數(shù)據(jù)庫系統(tǒng)。根據(jù)數(shù)據(jù)庫中內(nèi)容生成靜態(tài)頁面。當(dāng)Web服務(wù)器接到瀏覽器請求后,將靜態(tài)頁面返回給用戶。具有站點內(nèi)容易于管理、維護,站點改版比較容易和對發(fā)布服務(wù)器硬件要求相對較低等優(yōu)點。目前,采用這種發(fā)布方案的用戶多為大型的新聞網(wǎng)站或瀏覽量超大的ICP,如網(wǎng)易、新浪、搜狐等大型門戶網(wǎng)站。信息可以進行組織管理,不算是全面的網(wǎng)站系統(tǒng),可以稱為高級文件系統(tǒng)。(3)基于模版的動態(tài)信息發(fā)布文檔內(nèi)容存儲和管理基于數(shù)據(jù)庫系統(tǒng)。站點管理維護人員只更新數(shù)據(jù)庫中數(shù)據(jù),當(dāng)Web服務(wù)器接到瀏覽器請求后,執(zhí)行CGI或ISAPI程序(如Perl, ASP,PHP,JSP等),根據(jù)程序調(diào)用的模版和數(shù)據(jù)庫中內(nèi)容,動態(tài)生成HTML頁面。這種模式下的站點內(nèi)容易于管理和維護,站點改版工作量小,實時性強。由于數(shù)據(jù)庫訪問的開銷遠高于文件訪問,所以對系統(tǒng)硬件平臺有一個較高的要求,而且當(dāng)站點訪問量很大時,需要通過其他技術(shù)解決連接問題,如集群等。需要數(shù)據(jù)庫服務(wù)器的支持,不利于租用空間的中、小型用戶使用。目前使用該類型發(fā)布方案的站點最多,幾乎所有的商業(yè)應(yīng)用都需要動態(tài)網(wǎng)站的支持。但是它或者擴展能力有限或者擴展程序無法無縫掛接,離網(wǎng)站建設(shè)系統(tǒng)還有一段距離,只能稱為普通動態(tài)信息發(fā)布系統(tǒng)。1.4 本文研究及所做工作本文以信息發(fā)布系統(tǒng)的分析設(shè)計為基礎(chǔ),按照面向?qū)ο蟮能浖_發(fā)的思想,從需求分析、技術(shù)實施、設(shè)計、編碼方面對新聞發(fā)布管理模塊進行了詳細的介紹,并應(yīng)用ASP.NET技術(shù)對新聞發(fā)布管理模塊進行了實現(xiàn)。本課題主要內(nèi)容如下:(1)研究開發(fā)新聞管理模塊采用技術(shù)和方案如何去實現(xiàn)系統(tǒng)的功能,采用什么技術(shù)達到系統(tǒng)的先進性和穩(wěn)定性,通過綜合分析給出一個具體可行的方案。(2)需求分析和功能設(shè)計通過對網(wǎng)站建設(shè)和管理的深入調(diào)研和分析,確定了最終用戶的需求,并結(jié)合所學(xué)知識和指導(dǎo)老師指導(dǎo)在此基礎(chǔ)上進行了需求分析和功能設(shè)計。(3)根據(jù)需求分析和技術(shù)選擇,對新聞發(fā)布管理模塊進行功能實現(xiàn)。(4)模塊實現(xiàn)關(guān)鍵技術(shù)難點,并給出具體的解決方法。55青島理工大學(xué)畢業(yè)論文(設(shè)計)第2章 系統(tǒng)需求分析2.1 需求分析概述內(nèi)容管理系統(tǒng)新聞管理發(fā)布模塊是參照國內(nèi)外相關(guān)技術(shù)的發(fā)展?fàn)顩r,根據(jù)我國中小企業(yè)的詳細需求進行設(shè)計開發(fā)。本設(shè)計適合目前國內(nèi)中小企業(yè)的用戶需求,真正實現(xiàn)了對于網(wǎng)站新聞管理發(fā)布的傻瓜式的應(yīng)用,能大幅度的提高網(wǎng)站更新維護的效率。本章主要介紹系統(tǒng)的需求分析。2.2 系統(tǒng)需求分析需求的定義包括從用戶角度(系統(tǒng)的外部行為)和開發(fā)者角度(一些內(nèi)部特性)來闡述需求。需求是指明必須實現(xiàn)什么的規(guī)格說明。它描述了系統(tǒng)的行為、特性或?qū)傩裕窃陂_發(fā)過程中對系統(tǒng)的約束。本系統(tǒng)的用戶可以是一家網(wǎng)站或企事業(yè)單位,需要經(jīng)常在網(wǎng)絡(luò)上發(fā)布一些信息,他們需要的信息系統(tǒng)應(yīng)該具有一般新聞系統(tǒng)的功能,同時具有信息審核的功能。通過對其他一些新聞系統(tǒng)的調(diào)查,我們發(fā)現(xiàn),一般新聞系統(tǒng)功能如下: (1)前臺按分類顯示新聞(2)搜索新聞(3)后臺管理:添加、刪除和修改新聞添加、刪除用戶添加、刪除和修改分類既然需要新聞審核,就說明添加后的新聞分為兩種:直接發(fā)布新聞和待審新聞,同時待審新聞通過管理員審核可以成為發(fā)布新聞,可以進入后臺發(fā)布新聞的有內(nèi)容提供者、編輯和管理員,所以針對不同的角色要實現(xiàn)不同界面展示,所以我們認(rèn)為這個系統(tǒng)的主要功能為:(1)前臺按分類顯示發(fā)布信息(2)發(fā)布信息管理(包括刪除、修改信息)(3)審核信息管理(包括刪除、修改信息)(4)添加發(fā)布信息(添加成功后的信息根據(jù)管理員權(quán)限分為發(fā)布信息和審核信息)(5)分類管理(添加、刪除和修改分類)以上的初步需求分析,經(jīng)過不斷的修改和進一步的分析,又產(chǎn)生了新的需求,對于文章,單純的文字文章在目前的網(wǎng)頁瀏覽中已不占有優(yōu)勢,瀏覽用戶更希望看到圖文并茂的網(wǎng)頁展示,因此需要能夠在添加文章的同時,可以添加相應(yīng)的圖片。對于瀏覽用戶感興趣的文章可以添加自己的評論。對于前臺文章顯示,希望有一個顯示最熱新聞文章的部分。主頁文章分類顯示的部分,由于文章分類的不定性,如果全部顯示那么將影響主頁的布局及美觀,所以可以由用戶選擇用于主頁顯示的文章類別。對于后臺管理部分,有時為了簡化新聞發(fā)布的流程,可以由系統(tǒng)管理員選擇開啟、關(guān)閉文章審核的流程。最終系統(tǒng)需求如下:(1)前臺文章顯示顯示文章分類根據(jù)分類進行文章顯示文章詳細內(nèi)容的展示用戶評論的添加及查看顯示網(wǎng)站最熱的5篇文章主頁動態(tài)的顯示4個文章分類及該類別下最新發(fā)表的文章信息(2)后臺管理添加新的文章(根據(jù)用戶權(quán)限不同,實現(xiàn)不同的發(fā)布流程)審核文章(包括對文章的編輯、刪除)類別管理(添加、修改、刪除)評論管理(按照文章進行評論的編輯、刪除,可以顯示所有文章評論)文章管理(包括對文章的添加、編輯、刪除)第3章 系統(tǒng)開發(fā)方法及開發(fā)工具選取本文介紹了網(wǎng)站新聞發(fā)布管理部分的分析與建立,采用B/S(Brower/Server 瀏覽器/服務(wù)器)模式,應(yīng)用先進的.NET平臺體系,利用面向?qū)ο蟮睦碚摷夹g(shù)和思想,使用ASP.NET和ADO.NET作為主要的開發(fā)技術(shù),Visual Studio 2005作為主要的開發(fā)平臺,完成整體的系統(tǒng)開發(fā)。下面介紹系統(tǒng)的開發(fā)方法和相關(guān)軟件工具。3.1系統(tǒng)開發(fā)基礎(chǔ)3.1.1 基于Web的網(wǎng)絡(luò)應(yīng)用開發(fā)語言及技術(shù)在ASP.NET出現(xiàn)之前,可用來開發(fā)Web應(yīng)用的三種主要技術(shù)和平臺是:ASP、JSP(Java Server Page)和開源Web平臺(通常稱為LAMP, Linux+Apache+MySQL+Perl/Python/PHP三種編程語言中的一種)。雖然這些開發(fā)平臺各自都有與特定語言特征和特定構(gòu)架有關(guān)的特征,但是它們的目的都是創(chuàng)建基于Web的應(yīng)用的交互式頁面。在某種程度上,所有這些技術(shù)都使開發(fā)人員能夠通過使用頁面本身負責(zé)調(diào)用和生成的組建,將編成邏輯和頁面布局相分離。除了這個共有的最終目的,這些平臺之間存在顯著的區(qū)別,這些區(qū)別大多與他們宣揚和支持的編成模型和語言有關(guān)。例如,JSP利用Java類框架,它與JavaBeans一起提供了組建重用的有效擴展模型。此外,JSP支持標(biāo)記定制,允許開發(fā)人員將代碼與定制的標(biāo)記定義相關(guān)聯(lián)。最后,因為JSP是J2EE(Java 2 Enterprise Edition)平臺的一個關(guān)鍵要素,所以它依靠Java語言。Java語言是最好的已編譯語言,ASP和LAMP平臺使用的腳本語言則不同。那么,ASP.NET是怎么做到正好合適的呢?同ASP和其他Web開發(fā)環(huán)境一樣,ASP.NET 也是建立在HTTP協(xié)議之上的,它利用HTTP命令和策略建立雙向的、瀏覽器到服務(wù)器的通信和協(xié)作。真正使ASP.NET有別其他Web開發(fā)技術(shù)的是它提出抽象的編程模型,即Web窗體模型。ASP.NET應(yīng)用是一些已編譯的代碼部件,由一些可重用且可擴展的組建組成,可以用第一類語言(包括C#、Microsoft Visual Basic .NET、Microsoft Jscript.NET和J#)創(chuàng)建,并且可以訪問.NET Framework中整個類的層次結(jié)構(gòu)??傊珹SP.NET具有相當(dāng)多的優(yōu)勢:在語法上,它與ASP兼容(在一定程度上語言也兼容);他提供的面向?qū)ο筇卣鳎?biāo)記定制、已編譯的語言、組件、可擴展性和可重用行)與JSP應(yīng)用相同。ASP.NET提供了大量特別吸引人的功能、工具和強大的系統(tǒng)特征,它們可以在對HTTP編程模型進行抽象地覆蓋表達式工具內(nèi)進行有效的組合,從而為ASP.NET錦上添花。大量程序員友好的類允許使用典型的桌面方法進行頁面開發(fā)。Web窗體(Web Form)模型進一步曾強了事件驅(qū)動的方法,但是Web窗體要通過Web進行部署1。.NET Framework和ASP.NET為Web應(yīng)用程序提供默認(rèn)授權(quán)和驗證方案。可以方便地移除、添加或者替換這些方案,這取決于應(yīng)用程序的需要。C#語言是一門簡單,現(xiàn)代,優(yōu)雅,面向?qū)ο?,類型安全,平臺獨立的一門新型組件編程語言。其語法風(fēng)格源自C/C+家族,融合了Visual Basic的高效和C/C+強大,是微軟為奠定其下一互聯(lián)網(wǎng)霸主地位而打造的Microsoft.Net平臺的主流語言。其一經(jīng)推出便以其強大的操作能力,優(yōu)雅的語法風(fēng)格,創(chuàng)新的語言特性,第一等的面向組件編程的支持而深受世界各地程序員的好評和喜愛。C#語言日前已由微軟提交歐洲計算機制造商協(xié)會ECMA,經(jīng)過標(biāo)準(zhǔn)化后的C#將可由任何廠商在任何平臺上實現(xiàn)其開發(fā)工具及其支持軟件,這為C#的發(fā)展提供了強大的驅(qū)動力,我們也可從這里看到微軟前所未有的眼光和智慧。針對開發(fā)的新聞發(fā)布管理,希望能夠最大化的實現(xiàn)產(chǎn)品應(yīng)用的廣泛性,并希望在以后能有一個更加寬廣的平臺支持,C#語言是一個相當(dāng)不錯的選擇,首先它有著豐富全面的功能表現(xiàn),其次有著微軟強大的技術(shù)支持,最后便利的開發(fā)環(huán)境是其他開發(fā)語言所不能比擬的,所以我們選擇了它作為我們的開發(fā)語言。3.1.2 ADO.NET數(shù)據(jù)庫聯(lián)接技術(shù)ADO.NET(ActiveX Data Objects+)由ADO發(fā)展而來,它是用于創(chuàng)建分布式共享數(shù)據(jù)應(yīng)用程序的標(biāo)準(zhǔn)程序模型。ADO.NET被設(shè)計為基于網(wǎng)絡(luò)的可擴展的應(yīng)用程序和服務(wù)提供數(shù)據(jù)訪問服務(wù)。ADO.NET為連接的指針風(fēng)格的數(shù)據(jù)訪問,同時也為更適合于把數(shù)據(jù)返回到客戶端應(yīng)用程序的無連接的數(shù)據(jù)模板提供高性能的API流。ADO.NET結(jié)構(gòu)如圖3.1所示。圖3.1 ADO.NET結(jié)構(gòu)ADO.NET定義了鏈接數(shù)據(jù)倉庫、對數(shù)據(jù)倉庫發(fā)送命令及從中獲取結(jié)果的類。這些類由受控數(shù)據(jù)提供者(Managed Data Provider)實現(xiàn)。ADO.NET中鏈接和命令對象看上去和ADO中的是一樣的,并且一個名為DataReader的新類提供了通過高性能API流獲取結(jié)果的能力。DataReader在功能上和ADO記錄集(Recorder)是等同的,但是DataReader被設(shè)計用來最小化內(nèi)存中生成的對象的數(shù)量,以提高性能,避免垃圾積累。在.NET Framework中包含了針對Microsoft SQL Server的受控數(shù)據(jù)提供者以及可通過OLE DB訪問的任何數(shù)據(jù)倉庫18。ADO.NET的一個主要創(chuàng)新是引入了數(shù)據(jù)集(DataSet)。一個數(shù)據(jù)集是內(nèi)存中提供數(shù)據(jù)關(guān)系圖的高速緩沖區(qū)。數(shù)據(jù)集對數(shù)據(jù)源一無所知,他們可以由程序或通過從數(shù)據(jù)倉庫中調(diào)入數(shù)據(jù)而被生成、填充。不論數(shù)據(jù)從何處獲取,數(shù)據(jù)集都是通過使用同樣的程序模板而被操作的,并且它使用相同的潛在的數(shù)據(jù)緩沖區(qū)。使用.NET平臺的開發(fā)人員能夠用數(shù)據(jù)集代替?zhèn)鹘y(tǒng)ADO中無連接的記錄集。ADO.NET體系結(jié)構(gòu)的另一個核心元素是.NET數(shù)據(jù)提供程序,這些組件設(shè)計用來實現(xiàn)一些數(shù)據(jù)操作快速訪問、單向訪問、只讀訪問數(shù)據(jù)等等。Connection對象提供了對一個數(shù)據(jù)源的連接6。Command對象可用于訪問數(shù)據(jù)庫命令并返回數(shù)據(jù)、修改數(shù)據(jù)、運行存儲過程,以及發(fā)送或取得參數(shù)信息。DataReader提供一個來自數(shù)據(jù)源的高性能數(shù)據(jù)流。最后,DataAdapter在DataSet對象和數(shù)據(jù)源之間提供橋梁。DataAdapter使用Command對象對數(shù)據(jù)源執(zhí)行SQL命令,用數(shù)據(jù)裝載DataSet對象,并且使DataSet對象中的數(shù)據(jù)改變和數(shù)據(jù)源保持一致。從2.0版本開始,ADO.NET支持表3.1所列的數(shù)據(jù)提供程序。表3.1 ADO.NET支持的托管數(shù)據(jù)提供程序 數(shù)據(jù)源命名空間描述SLQ ServerSystem.Data.SqlClient針對各種版本的SQL Server,包括SQL Server7.0、SQL Server2000和最新的SQL Server2005OLE DB提供程序System.Data.OleDb針對OLE DB 提供程序,包括SQLOLEDB、MSDAORA和Jet引擎ODBC驅(qū)動程序System.Data.Odbc針對幾個ODBC驅(qū)動程序,包括用于SQL Server、Oracle和Jet引擎的那些驅(qū)動程序OracleSystem.Data.OracleClient針對Oracle 9i,支持他的全部數(shù)據(jù)類型3.1.3 不經(jīng)過回發(fā)而實現(xiàn)客戶端回調(diào)技術(shù)不經(jīng)過回發(fā)而實現(xiàn)客戶端回調(diào),避免丟失客戶端狀態(tài)并且不導(dǎo)致服務(wù)器往返的處理開銷,通過對 ASP.NET 網(wǎng)頁編碼,使其能執(zhí)行客戶端回調(diào)。在客戶端回調(diào)中,客戶端腳本函數(shù)會向 ASP.NET 網(wǎng)頁發(fā)送一個請求。該網(wǎng)頁運行其正常生命周期的修改版本 初始化頁并創(chuàng)建其控件和其他成員,然后調(diào)用特別標(biāo)記的方法。該方法執(zhí)行代碼中編寫的處理過程,然后向瀏覽器返回可由另一客戶端腳本函數(shù)讀取的值。在此過程中,該頁一直駐留在瀏覽器中。創(chuàng)建實現(xiàn)客戶端回調(diào)的 ASP.NET 頁與創(chuàng)建任何 ASP.NET 頁類似,但也有些不同。例如,該頁必須執(zhí)行以下操作:實現(xiàn) ICallbackEventHandler 接口??梢韵蛉魏?ASP.NET 網(wǎng)頁添加此接口聲明。包括一個實現(xiàn) RaiseCallbackEvent 接口的方法。此方法將由回調(diào)來調(diào)用,然后它將向 ClientCallback 函數(shù)返回一個字符串。同時,還必須包含執(zhí)行以下操作的三個客戶端腳本函數(shù):一個函數(shù)調(diào)用幫助器方法,該方法執(zhí)行對服務(wù)器的實際請求。在此函數(shù)中,可以首先執(zhí)行自定義邏輯以準(zhǔn)備事件參數(shù),然后可以將一個字符串作為參數(shù)發(fā)送到服務(wù)器端回調(diào)事件處理程序。另一個函數(shù)由處理回調(diào)事件的服務(wù)器代碼的結(jié)果調(diào)用并接收該結(jié)果,同時接受表示該結(jié)果的字符串。該函數(shù)稱為 ClientCallBack 函數(shù)。第三個函數(shù)是執(zhí)行對服務(wù)器的實際請求的 Helper 函數(shù),當(dāng)在服務(wù)器代碼中使用 GetCallbackEventReference 方法生成對此函數(shù)的引用時,由 ASP.NET 自動生成該函數(shù)??蛻舳嘶卣{(diào)及回發(fā)都是對起始頁的請求,因此在 Web 服務(wù)器日志中將客戶端回調(diào)及回發(fā)記錄為頁請求。若要從客戶端成功運行服務(wù)器代碼,而不執(zhí)行回發(fā),則還必須在服務(wù)器代碼中聲明 EventHandler 接口。此外,在服務(wù)器代碼中,還必須創(chuàng)建實現(xiàn) RaiseCallbackEvent 接口的方法。該方法使用一個字符串參數(shù),而不是事件處理程序常用的那兩個常見參數(shù)。該方法也返回一個字符串。以上工作結(jié)束后,我們還需要向頁中添加客戶端腳本函數(shù)以執(zhí)行兩個功能:向服務(wù)器頁發(fā)送回調(diào)和接收結(jié)果。這兩個客戶端腳本函數(shù)都是用 ECMAScript (JavaScript) 編寫。(1)發(fā)送回調(diào)發(fā)送回調(diào)的函數(shù)在服務(wù)器代碼中生成。實際回調(diào)由任何頁都可使用的、實現(xiàn)ICallbackEventHandler 接口的庫函數(shù)執(zhí)行。通過調(diào)用頁的 GetCallbackEventReference 方法,可獲取對該庫函數(shù)的引用,然后動態(tài)生成一個客戶端函數(shù),該函數(shù)包含對從 GetCallbackEventReference 方法之一返回的值的調(diào)用。向該方法傳遞以下內(nèi)容:對頁的一個引用、傳遞數(shù)據(jù)時所依據(jù)的參數(shù)名稱、將接收回調(diào)數(shù)據(jù)的客戶端腳本函數(shù)的名稱,以及傳遞所需的任何上下文的參數(shù)。生成函數(shù)之后,通過調(diào)用 RegisterClientScriptBlock 方法將其插入到頁中。(2)接收回調(diào)可以編寫在頁中靜態(tài)接收回調(diào)的客戶端函數(shù)。該函數(shù)的名稱必須與在 GetCallbackEventReference 方法調(diào)用中傳遞的名稱相匹配。接收函數(shù)接受兩個字符串值:一個用于返回值,另一個(可選)用于從服務(wù)器傳回的上下文值。3.2 系統(tǒng)結(jié)構(gòu)選擇基于內(nèi)容管理系統(tǒng)的特性,為了達到方便的新聞發(fā)布和管理,本系統(tǒng)的開發(fā)采用了B/S結(jié)構(gòu),所有的工作都能通過網(wǎng)絡(luò)完成,簡單易用。(1)采用B/S開發(fā)的優(yōu)勢當(dāng)前軟件開發(fā)基于兩種架構(gòu)的開發(fā)C/S (Client/Server 客戶端/服務(wù)器)和B/S。C/S是指在服務(wù)器上安裝服務(wù)器軟件,同時,在客戶機上安裝相應(yīng)的客戶端,使客戶端得到相應(yīng)的服務(wù)??蛻舳藨?yīng)用程序不僅要提供圖形化的接口,與客戶進行人機交互,同時還肩負著數(shù)據(jù)處理、邏輯運算和商業(yè)規(guī)則處理等任務(wù),顯然加重了客戶端應(yīng)用程序的負擔(dān)。此外,C/S結(jié)構(gòu)的致命弱點是:如果商業(yè)規(guī)則、邏輯運算或者數(shù)據(jù)處理等發(fā)生變化時,原有的客戶端應(yīng)用程序必須重新編譯成可執(zhí)行文件,重新安裝到每個客戶的計算機上,才可以重新正常的工作。再者,數(shù)據(jù)庫報務(wù)器同樣受到約束,它是數(shù)據(jù)存儲管理的場所,負責(zé)管理每個客戶端請求的連接。當(dāng)客戶連接多時,可能會超數(shù)據(jù)庫服務(wù)器所規(guī)定的同時最大連接數(shù),導(dǎo)致后來打開客戶端程序的客戶無法存取數(shù)據(jù)庫。隨著企業(yè)規(guī)模的不斷增大,其要求的規(guī)則將隨之增多,應(yīng)用程序的復(fù)雜程度也就小斷提高。這樣,傳統(tǒng)的C/S式的架構(gòu)由于自身的缺陷,嚴(yán)重的制約了其發(fā)展和推廣。與此同時,許多企業(yè)己經(jīng)建起了自己的企業(yè)內(nèi)部網(wǎng)Intranet系統(tǒng),互聯(lián)網(wǎng)為眾多的員工所接受。于是在考慮如何解決C/S架構(gòu)存在的問題時,技術(shù)人員提出了“客戶端的用戶界面(User Interface)全部使用瀏覽器”。通過對效率、處理響應(yīng)速度、擴充性和安全性的考慮,專家們最終提出了B/S三層架構(gòu)。B/S架構(gòu)采用互聯(lián)網(wǎng)的信息傳遞方式,客戶端通過瀏覽器請求Web, Web服務(wù)器處理Web請求,按需與數(shù)據(jù)庫進行交互,最終將Web頁面發(fā)送到客戶端的瀏覽器,于是客戶端通過Web得到自己所需的信息。B/S架構(gòu)的出現(xiàn),其中一個主要動力就是為了改善傳統(tǒng)的C/S架構(gòu)存在的缺點,與C/S架構(gòu)相比,B/S架構(gòu)具有許多優(yōu)點,其中主要有以下幾個方而的優(yōu)點:系統(tǒng)具有良好的增容性 B/S架構(gòu)對客戶端要求比較低,只需安裝IE4以上的瀏覽器軟件即可??蛻舳私尤隝ntranet,通過了系統(tǒng)認(rèn)證,得到權(quán)限后,就可以得到系統(tǒng)的服務(wù)。由于可以采用連接池(Pooling)技術(shù),可以在一定程度上將增加一個客戶端的影響降低到最小。集中了C/S架構(gòu)和基于主機模型(原有的工作站方式)的優(yōu)點服務(wù)器負責(zé)向用戶提供信息和要求的數(shù)據(jù),通過客戶端瀏覽器軟件,呈現(xiàn)給用戶的圖形化界面。服務(wù)器控制信息的布局和內(nèi)容,使得信息的控制和管理非常可靠,這是基于主機的集中管理的優(yōu)點。然而,客戶不僅僅是一個終端,它執(zhí)行類似信息高速緩存和在本地存儲由用戶下載的信息類似這樣的任務(wù)。因此,B/S處理架構(gòu)吸取了C/S架構(gòu)的精華,又結(jié)合了基于主機的優(yōu)點。系統(tǒng)具有良好的可維護性由于客戶端只需要瀏覽器,而且程序在服務(wù)器上運行,數(shù)據(jù)庫統(tǒng)一集中管理,整個系統(tǒng)只有一個主數(shù)據(jù)庫,存放在總部的服務(wù)器里。所以當(dāng)商業(yè)邏輯或者數(shù)學(xué)運算規(guī)則等發(fā)生變化時,客戶端無需進行任何改動,只需維護服務(wù)器上的相關(guān)程序或者組件即可,從而減輕了系統(tǒng)維護與升級的成本和工作量。整個軟件的開發(fā)可集中在服務(wù)器端進行,不必對客戶端進行特殊設(shè)置和軟件安裝,降低維護成本??煽康陌踩杂捎趦?nèi)網(wǎng)一般都通過防火墻與Internet相通,所以任何來自Internet的瀏覽器提交的請求,都要通過防火墻,得到認(rèn)證后,方可進入。這雖然不能保證百分之百的安全,但至少阻斷了大多數(shù)不當(dāng)或者惡意的入侵。具有優(yōu)秀的跨平臺性和較高的信息共享度超文本鏈接標(biāo)示語言(HTML語言,Hypertext Markup Language),是數(shù)據(jù)格式的一個開放標(biāo)準(zhǔn),大多數(shù)流行的操作系統(tǒng)軟件都支持HTML。因而只需在平臺上安裝支持HTML的相應(yīng)的瀏覽器軟件,即可享受共享的信息。(2)B/S模式的數(shù)據(jù)庫體系結(jié)構(gòu)近年來由于Internet/Intranet技術(shù)的發(fā)展和普及,各種各樣的信息都在WWW(World Wide Web)上發(fā)布,人們之間的信息溝通比以往變得更為高效快捷,Web技術(shù)的應(yīng)用己成為一種必然。但傳統(tǒng)的客戶機/服務(wù)器模式的數(shù)據(jù)庫設(shè)計與Web的相關(guān)技術(shù)互相獨立,兩者無法進行集成。瀏覽器/服務(wù)器模式的數(shù)據(jù)庫體系將客戶機/服務(wù)器模式的數(shù)據(jù)庫結(jié)構(gòu)與WEB技術(shù)密切結(jié)合,從而形成具有三層WEB結(jié)構(gòu)的瀏覽器/服務(wù)器模式的數(shù)據(jù)庫體系,具體結(jié)構(gòu)如圖3.2所示。圖3.2 三層Web瀏覽器、服務(wù)器模式工作原理:在前端采用IE等的瀏覽器將用戶提交的操作信息傳向WEB服務(wù)器,然后通過一些中間組件訪問后臺數(shù)據(jù)庫,操作結(jié)果以HTML頁面的形式返回給前端瀏覽器。3.3 開發(fā)平臺選擇 Microsoft公司主推的.NET技術(shù)己經(jīng)越來越受到重視,并且運用的范圍也越來越廣,.NET框架是一種新的計算機平臺,它簡化了在高度分布式Internet環(huán)境中的應(yīng)用程序開發(fā),.NET框架旨在實現(xiàn)下列的目標(biāo): (1)提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行并在Internet上分布,或者是在遠程執(zhí)行。 (2)提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。 (3)提供一個保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼) 安全執(zhí)行的代碼執(zhí)行環(huán)境。 (4)提供一個解決腳本環(huán)境或解釋環(huán)境性能問題的代碼執(zhí)行環(huán)境。 (5)使開發(fā)人員的經(jīng)驗在面對類型大不相同的應(yīng)用程序(如基于Windows的應(yīng)用程序和基于Web的應(yīng)用程序)時保持一致。 (6)按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;?NET框架的代碼可與任何其他代碼集成。.NET框架具有兩個主要組件:公共語言運行庫(CLR)和.NET框架類庫。公共語言運行庫是.NET框架的基礎(chǔ)。運行庫可以看作一個在執(zhí)行時管理代碼的代理,提供核心服務(wù)(如內(nèi)存管理,線程管理和遠程處理),而且還強制實施嚴(yán)格的類型安全以及可確保安全性和可靠性的其他形式的代碼準(zhǔn)確性。以運行庫為目標(biāo)的代碼稱為托管代碼,而不以運行庫為目標(biāo)的代碼稱為非托管代碼。類庫是一個綜合性的面向?qū)ο蟮目芍赜妙愋图?,用戶可以用它開發(fā)包含從傳統(tǒng)的命令行或圖形用戶界面(GUI)應(yīng)用程序到基于最新的ASP.NET技術(shù)(如Web窗體和XML Web服務(wù))在內(nèi)的應(yīng)用程序19。本設(shè)計在開發(fā)基于Web的新聞發(fā)布管理部分時,考慮到大部分操作都涉及到與維護管理人員和用戶動態(tài)地進行信息交互,因此要求系統(tǒng)能夠?qū)崿F(xiàn)數(shù)據(jù)的動態(tài)管理功能。重要的是,基于對整個系統(tǒng)合理的架構(gòu)要求、后臺數(shù)據(jù)庫需要提供數(shù)據(jù)管理和控制服務(wù)、數(shù)據(jù)的標(biāo)準(zhǔn)化安全訪問、系統(tǒng)的安全和可靠等多方面的考慮,我們采用先進的.Net框架作為本系統(tǒng)開發(fā)平臺。3.4系統(tǒng)開發(fā)工具選取3.4.1 MS Visual Studio 2005 集成開發(fā)環(huán)境 Visual Studio .NET是一套完整的開發(fā)工具,用于生成ASP Web應(yīng)用程序、XML Web services、桌面應(yīng)用程序和移動應(yīng)用程序。Visual Basic .NET、Visual C+.NET、 Visual C# .NET和Visual J# .NET全都使用相同的集成開發(fā)環(huán)境(I DE),該環(huán)境允許它們共享工具并有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了.NET Framework的功能,此框架提供對簡化ASP Web應(yīng)用程序和XML Web services開發(fā)的關(guān)鍵技術(shù)的訪問。(1)Visual J# Visual J#是一種開發(fā)工具,供熟悉Java語言語法的開發(fā)人員在.NETFramework上生成應(yīng)用程序和服務(wù)時使用。該工具將Java語言語法集成到Visual Studio .NET集成開發(fā)環(huán)境(IDE)中。Visual J#還支持Visual J+ 6.0中具有的大多數(shù)功能,包括Microsoft擴展。Visual J#不是一種用于開發(fā)在Java虛擬機上運行的應(yīng)用程序的工具。使用Visual J#生成的應(yīng)用程序和服務(wù)只在.NET Framework上運行。Visual J#由Microsoft獨立開發(fā),它沒有經(jīng)過Sun Microsystems, Inc.的認(rèn)可和批準(zhǔn)。 (2)智能設(shè)備應(yīng)用程序 Visual Studio .NET集成開發(fā)環(huán)境現(xiàn)在包括開發(fā)智能設(shè)備(如Pocket PC )應(yīng)用程序的工具。通過使用這些工具和.NET Framework精簡版(.NET Framework的子集),可以在個人數(shù)字助理(PDA)、移動電話和其他資源受約束的設(shè)備中,創(chuàng)建、生成、調(diào)試和部署在.NET Framework精簡版上運行的應(yīng)用程序。 (3)ASP.NET移動設(shè)計器 ASP NET移動設(shè)計器擴展了ASP.NET和,NET Framework,可用來生成移動電話、PDA和尋呼機的Web應(yīng)用程序。此設(shè)計器集成在Visual Studio IDE中。您可以創(chuàng)建移動Web應(yīng)用程序,使用移動設(shè)計器修改移動Web窗體,然后生成和運行該應(yīng)用程序(所有這些操作都是在Usual Studio中完成的)。 (4)Web窗體 Web窗體是用于創(chuàng)建可編程Web頁的ASP.NE下技術(shù)。Web窗體將自己呈現(xiàn)為瀏覽器兼容的HTML和腳本,這使任何平臺上的任何瀏覽器都可以查看Web頁。使用Web窗體,通過將控件拖放到設(shè)計器上然后添加代碼來創(chuàng)建Web頁,與創(chuàng)建Visual Basic窗體的方法相似。(5)Windows窗體Windows窗體是用于Microsoft Windows應(yīng)用程序開發(fā)的,基于.NET Framework的新平臺。此框架提供一個有條理的、面向?qū)ο蟮?、可擴展的類集,使您能夠開發(fā)功能豐富的Window應(yīng)用程序。另外,Windows窗體可作為多層分布式解決方案中的本地用戶界面??紤]到系統(tǒng)開發(fā)和以后的二次開發(fā)維護過程中,進一步提高系統(tǒng)的效率和易用性,可能會創(chuàng)建混合語言解決方案,所以我們選擇了微軟最新推出的Visual Studio 2005作為我們的集成開發(fā)環(huán)境。3.4.2 SQL Server數(shù)據(jù)庫服務(wù)器 今天的商業(yè)環(huán)境要求不同類型的數(shù)據(jù)庫解決方案,性能、可伸縮性及可靠性是基本要求。除這些核心企業(yè)品質(zhì)外,從數(shù)據(jù)管理和分析角度看,將原始數(shù)據(jù)轉(zhuǎn)化為商業(yè)智能和充分利用Web帶來的機會非常重要。作為一個完備的數(shù)據(jù)庫和數(shù)據(jù)分析包,SQL Server 2005為快速開發(fā)新一代企業(yè)級商業(yè)應(yīng)用程序、為企業(yè)贏得核心競爭優(yōu)勢打開了勝利之門。SQL Server 2005是一個具備完全Web支持的數(shù)據(jù)庫產(chǎn)品,提供了對可擴展標(biāo)記語言(XML)的核心支持以及在Internet上和防火墻外進行查詢的能力。SQL Server 2005是一項全面完整的數(shù)據(jù)庫與分析產(chǎn)品。從借助瀏覽器實現(xiàn)的數(shù)據(jù)庫查詢功能到內(nèi)容豐富的擴展標(biāo)記語言(XML)支持特性均可有力地證明,SQL Server 2005無謂為全面支持Web功能的數(shù)據(jù)庫解決方案。與此同時,SQL Server 2005還在可伸縮性與可靠性方面保持著多項基準(zhǔn)測試紀(jì)錄,而這兩方面特性又都是企業(yè)數(shù)據(jù)庫系統(tǒng)在激烈市場競爭中克敵致勝的關(guān)鍵所在。無論以應(yīng)用程序開發(fā)速度還是以事務(wù)處理運行速度來衡量,SQL Server 2005都堪稱最為快捷的數(shù)據(jù)庫系統(tǒng)。隨著用戶使用系統(tǒng)時間的增長,需要管理和維護的數(shù)據(jù)量急劇增長,一般較小的數(shù)據(jù)庫服務(wù)系統(tǒng)無法滿足客戶的需要,另外SQL Server2005與Visual Studio 2005作為微軟最新一代的企業(yè)級的開發(fā)平臺,在系統(tǒng)本身的結(jié)合型、兼容性上比與其它的數(shù)據(jù)庫系統(tǒng)有著明顯的優(yōu)勢,所以選取了SQL Server 2005作為開發(fā)系統(tǒng)的數(shù)據(jù)庫服務(wù)系統(tǒng)。第4章 系統(tǒng)總體結(jié)構(gòu)設(shè)計 新聞發(fā)布管理是一個基于Web的信息系統(tǒng),它本身的應(yīng)用屬性與應(yīng)用范圍決定了它只能采用B/S結(jié)構(gòu),同時由于其涉及到復(fù)雜的業(yè)務(wù)邏輯,只能采用以Web數(shù)據(jù)庫技術(shù)為核心的動態(tài)網(wǎng)頁技術(shù)來實現(xiàn),因此新聞發(fā)布管理設(shè)計為基本B/S結(jié)構(gòu)的三層結(jié)構(gòu),極其簡化了系統(tǒng)的部署與管理,又有強大的功能,建立具有高度可伸縮性和可靠性的動態(tài)Web應(yīng)用。4.1 功能模塊劃分根據(jù)第2章用戶需求,最終確定的系統(tǒng)模塊如圖4.1所示。圖4.1 系統(tǒng)模塊圖(1)文章顯示模塊顯示最新最熱發(fā)布信息動態(tài)顯示文章分類及對應(yīng)文章信息分類顯示顯示文章詳細內(nèi)容添加評論(2)文章管理模塊根據(jù)權(quán)限設(shè)置是否具有審核功能添加文章添加文章圖片編輯文章刪除文章預(yù)覽文章(3)分類管理模塊顯示分類修改分類刪除分類添加分類(4)評論管理模塊顯示評論編輯評論刪除評論(5)新聞審核模塊顯示文章編輯文章刪除文章審核文章綜合第2章需求分析 系統(tǒng)的模塊功能如圖4.2 所示。圖4.2 模塊功能圖4.2 系統(tǒng)頁面設(shè)計在ASP.NET應(yīng)用程序中,系統(tǒng)都是通過網(wǎng)頁的形式表現(xiàn)出來的,如何合理地設(shè)計各個頁面,將它們有機地結(jié)合在一起,體現(xiàn)程序的功能,是一個非常重要的方面。程序中主要有兩大模塊,前臺展示區(qū)和后臺管理區(qū),目前大多數(shù)管理文件的結(jié)構(gòu)是把這兩部分分開存放,以便于開發(fā)和用戶使用。另外ASP.NET中可以針對不同的文件夾設(shè)置不同系統(tǒng)配置,我們采取了把后臺文文件存放在Admin文件夾中也是出于這方面的考慮。每個網(wǎng)頁要體現(xiàn)系統(tǒng)中一個或幾個功能。用戶界面布局圖能夠避免網(wǎng)站混亂,它對于規(guī)劃網(wǎng)站是很有用的。而且,一旦確定了一種有效的網(wǎng)站結(jié)構(gòu)組織方式,它還可以作為一個固定的模式在多個網(wǎng)站上應(yīng)用。本系統(tǒng)的用戶界面布局如圖4.3所示。圖4.3 系統(tǒng)頁面布局圖第5章 數(shù)據(jù)庫設(shè)計5.1 概念設(shè)計根據(jù)第2章用戶需求分析,新聞管理模塊主要涉及文章、評論、類別三方面的問題,從技術(shù)方面出發(fā),構(gòu)建了Article、Comment、Category三個數(shù)據(jù)庫表。三個表之間通過外鍵建立關(guān)系,既保持了自己表的獨立性,又緊密了表間聯(lián)系。Article表作為本系統(tǒng)內(nèi)容的主要部分,需要對它進行的操作是相當(dāng)多的,除了描述文章信息的基本字段外,針對文章的各種操作,需要為表添加相對應(yīng)的字段。文章的基本信息包括文章的標(biāo)題、作者、內(nèi)容、發(fā)布時間、過期時間、編輯人、類別等。功能字段包括閱讀次數(shù)、審核、評價、文章地址(URL)、閱讀級別等。Comment表是記錄文章評論的表,瀏覽網(wǎng)站的用戶有時需要對閱讀的文章發(fā)表自己的看法,互相之間進行交流等。Comment表字段比較少,主要包括評論人、發(fā)布時間、評論內(nèi)容等。該表依附于文章表,通過外鍵與文章表進行關(guān)聯(lián)。Category表用于記錄文章分類信息,包括文章類別的基本信息,如類別名稱、類別描述,創(chuàng)建人的信息、創(chuàng)建時間、類別描述圖片的信息等。類別信息是文章所不能缺少的一部分,每一篇文章都從屬于也只能從屬于一個文章類別,因此該字段與文章表通過外鍵建立了約束關(guān)系。軟件E-R圖如圖5.1所示。 圖5.1系統(tǒng)E-R圖5.2 數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計與新聞發(fā)布有關(guān)的數(shù)據(jù)庫表包括Article表、Comment表和Category表。(1)Article表Article表主要用于存放文章的基本信息和功能字段,主要的字段包括:文章編號、標(biāo)題、作者、摘要、內(nèi)容、類別、編輯、閱讀級別、評價、審核、審核人、地址(URL),類別編號作為該表的外鍵。(2)Comment表Comment表用于存放與文章評論有關(guān)信息,主要字段為評論編號、評論人、發(fā)表日期、評論內(nèi)容,文章編號作為該表的外鍵。(3)Category表Category表用于存放于文章類別有關(guān)信息,主要字段為類別編號、名稱、類別描述、創(chuàng)建人、描述圖片地址等。5.3 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計根據(jù)上節(jié)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計,設(shè)計出的本系統(tǒng)的數(shù)據(jù)庫物理結(jié)構(gòu)如下所示。(1)Article表表5.1 Article表表名Article列名注釋數(shù)據(jù)類型(精度范圍)空/非空約束條件id文章編號integer非PK,自動增長headline文章標(biāo)題nvarchar(500)非author作者nchar(256)非summary文章摘要ntext非editorid編輯編號nniqueidentifer非editorname編輯nchar(256)非content文章內(nèi)容ntext非audit是否審核bit非hits點擊數(shù)integer非date發(fā)布時間datetime非outdate過期時間datetime非edittime更新時間datetime非categorynam類別名稱nchar(256)非categoryid類別編號integer非FK:News_Categoryarea面向地區(qū)nvarchar(10)非readclass閱讀級別integer非audited審核人編號uniqueidentifier非auditname審核人姓名nchar(256)非audittime審核時間datetime非rating評價integer非url文章地址nchar(256)空補充說明(2)Comment表表5.2 Comment表表名News_Comment列名注釋數(shù)據(jù)類型(精度范圍)空/非空約束條件id評論編號int非PK,自動增長articleid評論文章編號int非FK:News_Article表content評論內(nèi)容ntext非authorname作者姓名nchar(256)非authorid作者編號uniqueidentifier非date發(fā)布時間datetime非補充說明(3)Category表表5.3 Category表表名News_Category列名注釋數(shù)據(jù)類型(精度范圍)空/非空約束條件id類別編號int非PK,自動增長name類別名稱nchar(256)非creatdate創(chuàng)建日期datetime非creatorname創(chuàng)建人名稱nchar(256)非creatorid創(chuàng)建人編號uniqueidentifier非photosrc類別圖片地址nvarchar(max)非description

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論