




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、附件8:畢業(yè)設(shè)計(論文)題目:金米蘭咖啡企業(yè)網(wǎng)站的設(shè)計與實現(xiàn)系部:信息技術(shù)系專業(yè):計算機(jī)網(wǎng)絡(luò)技術(shù)學(xué)號: 學(xué)生姓名: 導(dǎo)師姓名:導(dǎo)師職稱: 教師二一五年 一月TOC o 1-3 h u HYPERLINK l _Toc15528 摘 要 PAGEREF _Toc15528 4 HYPERLINK l _Toc3327 引言 PAGEREF _Toc3327 4 HYPERLINK l _Toc11125 第一章 緒論 PAGEREF _Toc11125 5 HYPERLINK l _Toc23188 PAGEREF _Toc23188 5 HYPERLINK l _Toc17117 1.2 構(gòu)架
2、系統(tǒng) PAGEREF _Toc17117 5 HYPERLINK l _Toc10628 第二章 可行性分析 PAGEREF _Toc10628 8 HYPERLINK l _Toc21950 PAGEREF _Toc21950 8 HYPERLINK l _Toc13424 PAGEREF _Toc13424 8 HYPERLINK l _Toc8812 第三章 動態(tài)網(wǎng)站的開發(fā)技術(shù)及其實現(xiàn) PAGEREF _Toc8812 9 HYPERLINK l _Toc23984 PAGEREF _Toc23984 9 HYPERLINK l _Toc29161 PAGEREF _Toc29161 1
3、1 HYPERLINK l _Toc8741 網(wǎng)站建設(shè)的市場背景 PAGEREF _Toc8741 11 HYPERLINK l _Toc19948 PAGEREF _Toc19948 11 HYPERLINK l _Toc27724 PAGEREF _Toc27724 11 HYPERLINK l _Toc9986 第四章 動態(tài)網(wǎng)站的總體模塊設(shè)計 PAGEREF _Toc9986 12 HYPERLINK l _Toc8832 前臺功能模塊總體設(shè)計 PAGEREF _Toc8832 12 HYPERLINK l _Toc26263 后臺功能模塊總體設(shè)計 PAGEREF _Toc26263 1
4、2 HYPERLINK l _Toc2640 數(shù)據(jù)庫模塊總體設(shè)計 PAGEREF _Toc2640 13 HYPERLINK l _Toc21535 第五章 三層架構(gòu)代碼實現(xiàn)及頁面展示 PAGEREF _Toc21535 16 HYPERLINK l _Toc2289 模型層 PAGEREF _Toc2289 16 HYPERLINK l _Toc13346 5.2 數(shù)據(jù)訪問層 PAGEREF _Toc13346 18 HYPERLINK l _Toc15169 業(yè)務(wù)邏輯層 PAGEREF _Toc15169 27 HYPERLINK l _Toc11520 5.4 表示層 PAGEREF _
5、Toc11520 29 HYPERLINK l _Toc20957 PAGEREF _Toc20957 29 HYPERLINK l _Toc18584 PAGEREF _Toc18584 44 HYPERLINK l _Toc2595 結(jié)論 PAGEREF _Toc2595 52 HYPERLINK l _Toc29580 參考文獻(xiàn) PAGEREF _Toc29580 52摘 要隨著互聯(lián)網(wǎng)的飛速發(fā)展,電腦網(wǎng)絡(luò)已應(yīng)用到各個領(lǐng)域,普及到千家萬戶,無論國內(nèi)還是國外都迅速的發(fā)展起來?,F(xiàn)在,網(wǎng)絡(luò)已經(jīng)成為人們快速獲取信息、發(fā)布信息和傳輸信息的主要渠道,成為每個人生活中的一部分,同時網(wǎng)絡(luò)也提供了一個很好的
6、信息交換平臺。本文講解了一個公司的網(wǎng)站的建設(shè),它基于數(shù)據(jù)關(guān)聯(lián)的公司個性化頁面及動態(tài)數(shù)據(jù)生成案例,在網(wǎng)頁方面,綜合考慮了頁面色彩、頁面的構(gòu)架,充分的利用了圖片、文字、圖層、表格等元素。網(wǎng)站內(nèi)容明確,層次清楚,達(dá)到了預(yù)期的功能。本系統(tǒng)從中小企業(yè)的實際需求出發(fā),以ASP.NET為開發(fā)技術(shù),Visual Studio 2010為開發(fā)工具,SQL Server 2008為數(shù)據(jù)庫開發(fā)平臺,設(shè)計過程中,首先建立了系統(tǒng)的應(yīng)用原型,然后在此基礎(chǔ)上進(jìn)行需求分析,詳細(xì)設(shè)計時不斷修正和完善,經(jīng)過測試階段反復(fù)調(diào)試和驗證,最終形成達(dá)到設(shè)計要求的可行系統(tǒng)。關(guān)鍵字: 網(wǎng)站 動態(tài) ASP.NET 數(shù)據(jù)庫SQL引言隨著網(wǎng)絡(luò)的普遍
7、應(yīng)用和企業(yè)對網(wǎng)絡(luò)的重視,越來越多的企業(yè)已經(jīng)意識到網(wǎng)絡(luò)營銷的重要性。企業(yè)應(yīng)用型網(wǎng)站除了構(gòu)建企業(yè)的網(wǎng)絡(luò)形象,更重視將企業(yè)的日常業(yè)務(wù)延伸到互聯(lián)網(wǎng),通過網(wǎng)絡(luò)進(jìn)一步拓寬網(wǎng)絡(luò)營銷渠道,在這一點上,網(wǎng)站充分利用了互聯(lián)網(wǎng)的媒體優(yōu)勢,使網(wǎng)絡(luò)營銷與傳統(tǒng)營銷有效結(jié)合。擁有一個網(wǎng)站,我們的企業(yè)就可以向訪問者提供24小時365天無間斷的完美服務(wù)。為了讓我們的企業(yè)可以充分利用網(wǎng)絡(luò)。本系統(tǒng)實現(xiàn)了企業(yè)在線宣傳的目的,以減輕企業(yè)宣傳的工作負(fù)擔(dān)及提高工作效率,并能激發(fā)瀏覽用戶的深入了解興趣。本系統(tǒng)主要是利用瀏覽器作為界面,利用B/S模式,即用戶可利用瀏覽器直接訪問本站點。主要用到的技術(shù)是采用ASP.NET(C)技術(shù)和SQL數(shù)據(jù)庫
8、設(shè)計出了各種功能。本系統(tǒng)主要有用戶管理、新聞系統(tǒng)、留言系統(tǒng)、管理員登錄及管理等功能。本文主要介紹系統(tǒng)的總體設(shè)計以及著重研究了導(dǎo)航板塊的實現(xiàn),并在此基礎(chǔ)上建立了后臺數(shù)據(jù)庫。本系統(tǒng)采用左右框架式,看起來清爽簡潔。登錄系統(tǒng)主要實現(xiàn)用戶和管理員的交流,用戶管理可以提供查看產(chǎn)品以及修改信息等基本功能;導(dǎo)航欄提供整個平臺的架構(gòu)。第一章 緒論在Internet飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟(jì)、生活等各個方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網(wǎng)站來實現(xiàn)的,獲取信息也是要在Internet“海洋”中按照一定的檢索方式將所需要的信息從網(wǎng)站上下
9、載下來。因此網(wǎng)站建設(shè)在Internet應(yīng)用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。 網(wǎng)絡(luò)在現(xiàn)代生活中日益盛行,越來越多的人對此也極為癡迷,隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展, 當(dāng)代企業(yè)紛紛建立自己的網(wǎng)站,借助于互聯(lián)網(wǎng)擴(kuò)大自己的影響、推廣自己的產(chǎn)品,同時通過互聯(lián)網(wǎng)快速的信息傳遞加速自身的發(fā)展。我將一個咖啡網(wǎng)站作為我的設(shè)計項目北京金米蘭咖啡網(wǎng)站1.2 構(gòu)架系統(tǒng) N層架構(gòu)每一層都可以在僅僅更改很少量的代碼后,就能放到物理上不同的服務(wù)器上使用,因此結(jié)構(gòu)靈活而且性能更佳。此外,每層做些什么其它層是完全看不到的,因此更改、更新某層,都不再需要重新編譯或者更改全部的層了
10、。這是個很強(qiáng)大的功能。例如,如果把數(shù)據(jù)訪問代碼與業(yè)務(wù)邏輯層分離,當(dāng)數(shù)據(jù)庫服務(wù)器更改后,你只需要更改數(shù)據(jù)訪問的代碼,因為業(yè)務(wù)邏輯層是不變的,因此不需要更改或者重新編譯業(yè)務(wù)邏輯層。一個N層3的應(yīng)用程序通常有三層:表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)層。下面讓我們看看每層都做些什么。表現(xiàn)層(Presentation Layer)表現(xiàn)層用于用戶接口的展示,以及用業(yè)務(wù)層的類和對象來“驅(qū)動”這些接口。在中,該層包括aspx頁面、用戶控制、服務(wù)器控制以及某些與安全相關(guān)的類和對象。業(yè)務(wù)層(Business Tier)業(yè)務(wù)層用于訪問數(shù)據(jù)層,從數(shù)據(jù)層取數(shù)據(jù)、修改數(shù)據(jù)以及刪除數(shù)據(jù),并將結(jié)果返回給表現(xiàn)層。在中,該層包括使用SqlCl
11、ient或OleDb從SQL Server或Access數(shù)據(jù)庫取數(shù)據(jù)、更新數(shù)據(jù)及刪除數(shù)據(jù),并把取得的數(shù)據(jù)放到DataReader或DataSet中返回給表現(xiàn)層。返回的數(shù)據(jù)也許只有一個整型數(shù)字,比如一個表的行記錄數(shù)目,但這也要用數(shù)據(jù)層的數(shù)據(jù)進(jìn)行計算。BLL和DAL通常該層被劃分成兩個子層:業(yè)務(wù)邏輯層(Business Logic Layer,BLL)和數(shù)據(jù)訪問層(Data Access Layers,DAL)。業(yè)務(wù)邏輯層在數(shù)據(jù)訪問層之上,也就是說BLL調(diào)用DAL的類和對象。DAL訪問數(shù)據(jù)并將其轉(zhuǎn)給BLL。在中,該層可以用SqlClient或OleDb從SQL Server或Access數(shù)據(jù)庫取數(shù)
12、據(jù),把數(shù)據(jù)通過DataSet 或DataReader的形式給BLL,BLL處理數(shù)據(jù)給表現(xiàn)層。有的時候,例如直接把DataSet 或DataReader送給表現(xiàn)層的時候,BLL是一個透明層。數(shù)據(jù)層(Data Tier)數(shù)據(jù)層是數(shù)據(jù)庫或者數(shù)據(jù)源。在.NET中,通常它是一個SQL Server或Access數(shù)據(jù)庫,但不僅限于此兩種形式,它還可能是Oracle,mySQL,甚至是XML。邏輯層VS(分布式)物理層人們?nèi)菀讓⑦@兩個概念搞混。我們說邏輯層是把層按類的集合來劃分,而這些層都在同一臺個服務(wù)器上。(分布式)物理層是指類的集合在不同的服務(wù)器上,用附加的代碼來處理層間的通信,比如remoting和w
13、eb服務(wù)。ASP.NET的優(yōu)勢:增強(qiáng)的性能。ASP.NET 是在服務(wù)器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,ASP.NET 可利用早期綁定、實時編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能。世界級的工具支持。ASP.NET 框架補(bǔ)充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計器。WYSIWYG 編輯、拖放服務(wù)器控件和自動部署只是這個強(qiáng)大的工具所提供功能中的少數(shù)幾種。威力和靈活性。由于 ASP.NET 基于公共語言運行庫,因此 Web 應(yīng)用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可
14、從 Web 無縫訪問。ASP.NET 也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。另外,公共語言運行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現(xiàn)有投資。簡易性。ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(wù)(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)??晒芾硇浴SP.NET 采用基于文本的分層配置系統(tǒng),簡化了將設(shè)置
15、應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此零本地管理哲學(xué)也擴(kuò)展到了 ASP.NET 框架應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器,即可將 ASP.NET 框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動服務(wù)器,即使是在部署或替換運行的編譯代碼時??煽s放性和可用性。ASP.NET 在設(shè)計時考慮了可縮放性4,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進(jìn)程受到 ASP.NET 運行庫的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請求。自定義性和
16、擴(kuò)展性。ASP.NET 隨附了一個設(shè)計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募墑e插入代碼。實際上,可以用自己編寫的自定義組件擴(kuò)展或替換 ASP.NET 運行庫的任何子組件。實現(xiàn)自定義身份驗證或狀態(tài)服務(wù)一直沒有變得更容易。安全性。借助內(nèi)置的 Windows 身份驗證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。第二章 可行性分析硬件、軟件要求不高,目前市場上的一般計算機(jī)硬件資源均能滿足系統(tǒng)開發(fā)要求。其中運用的主要軟件有Visual studio.NET 2010,photoshop,SQL server等,數(shù)據(jù)庫采用SQLserver2008。采用ASP.NET技術(shù),該技術(shù)功能強(qiáng)大,擴(kuò)展性強(qiáng)
17、,并結(jié)合vbscript,javascript以及sql等腳本語言,以上技術(shù)足以完成本系統(tǒng)的開發(fā)和設(shè)計。 在國外,特別是在美國,實施企業(yè)戰(zhàn)略不只是空談,它已經(jīng)被列入了許多大企業(yè)的日程表中。與國外的熱鬧場面相比,國內(nèi)了解企業(yè)概念的企業(yè)十分少,而計劃建立企業(yè)的企業(yè)就更加微乎其微。但是應(yīng)該看到,互聯(lián)網(wǎng)在國內(nèi)的發(fā)展速度相當(dāng)迅速,企業(yè)網(wǎng)站作為一種新的形象傳播途徑,同傳統(tǒng)媒介相比,對大眾更具有親和力與吸引力,可以幫助企業(yè)與消費者建立更親密、更穩(wěn)固的聯(lián)系。企業(yè)網(wǎng)站有很多作用: 一、擁有企業(yè)自己的域名,建立企業(yè)自己的網(wǎng)站,樹立企業(yè)在科技信息時代的完美形象。作為第四媒體的互聯(lián)網(wǎng),其特點就是可以跨越時空,正常情況
18、下, 網(wǎng)站無時無刻 不在工作通過企業(yè)的網(wǎng)站,用戶可以跨越時空了解企業(yè),利用多媒體技術(shù),企業(yè)可以 向用戶展示產(chǎn)品、技術(shù)、經(jīng)營理念、企業(yè)文化、企業(yè)形象,樹立現(xiàn)代企業(yè)形象,增值 企業(yè)無形資產(chǎn)。 二、宣傳企業(yè),創(chuàng)造銷售機(jī)會據(jù)調(diào)查,有超過30%的人是通過上網(wǎng)查詢企業(yè)的 和地址的,這一比例和通過114查詢的比例相接近,可見企業(yè)網(wǎng)站已成為許多人首次接觸企業(yè)、了解相關(guān)信息的選擇。 三、加強(qiáng)客戶溝通宣傳企業(yè)產(chǎn)品企業(yè)可以通過網(wǎng)站建立與客戶溝通的便捷渠道,全面展示企業(yè)的所有產(chǎn)品。網(wǎng)絡(luò)科技足以令您的產(chǎn)品與品牌形象更加立體地呈現(xiàn)在用戶面前,就算企業(yè)僅僅把網(wǎng)站當(dāng)成電子宣傳冊來使用,也較傳統(tǒng)的宣傳模式更加的多姿多彩、更加地
19、易于發(fā)布與傳播、更加的經(jīng)濟(jì)與環(huán)保。 四、豐富營銷手段,擴(kuò)大產(chǎn)品銷售渠道企業(yè)網(wǎng)站可以滿足一部分客戶網(wǎng)上查詢與采購的需要,抓住網(wǎng)絡(luò)商機(jī)。企業(yè)通過網(wǎng)站可以開展電子營銷。首先,電子營銷作為傳統(tǒng)營銷的補(bǔ)充;其次, 電子營銷可以拓展新的空間,增加銷售渠道,接觸更大的消費群體,獲得更多的新顧 客,擴(kuò)大市場;再次,電子營銷可以減少環(huán)節(jié),減少人員,節(jié)約費用,降低成本,有利于提高營銷效率。 五、有利于了解顧客的意見,掌握顧客的需求在不干擾顧客正常工作和生活的條件下,企業(yè)通過網(wǎng)站上的調(diào)查表、留言薄、定 制服務(wù)以及E-MAIL可以傾聽顧客的意見,了解顧客的心聲,加強(qiáng)企業(yè)與顧客間的聯(lián)系 建立良好的顧客關(guān)系。 六、有利于
20、改善服務(wù),提高企業(yè)服務(wù)質(zhì)量利用網(wǎng)站,通過電子溝通方式,企業(yè)開展的在線服務(wù)是傳統(tǒng)的溝通方式(如,郵 件、 、 等)所無比擬的,在線服務(wù)能夠更加及時準(zhǔn)確地掌握用戶的需求,通過網(wǎng)站的交互式服務(wù)使得被動提供和主動獲得統(tǒng)一起來,從而實現(xiàn)售前、售中、售后的全過程和全方位的服務(wù)。 七、 互聯(lián)網(wǎng)的特點在于突破地域限制,一個網(wǎng)站能同時為您服務(wù)于世界各地的擁護(hù);同時,網(wǎng)絡(luò)無休息,一年365天、一天24小時,您的網(wǎng)站永遠(yuǎn)忠實地服務(wù)于您的所有客戶。動態(tài)網(wǎng)站的開發(fā)技術(shù)及其實現(xiàn)ASP.NET 是建立在公共語言運行庫上的編程框架,可用于在服務(wù)器上生成功能強(qiáng)大的 Web 應(yīng)用程序。與以前的 Web 開發(fā)模型相比,ASP.NE
21、T 提供了數(shù)個重要的優(yōu)點4:增強(qiáng)的性能3。ASP.NET 是在服務(wù)器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,ASP.NET 可利用早期綁定、實時編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能。世界級的工具支持。ASP.NET 框架補(bǔ)充了 Visual Studio10.0 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計器。WYSIWYG 編輯、拖放服務(wù)器控件和自動部署只是這個強(qiáng)大的工具所提供功能中的少數(shù)幾種。威力和靈活性。由于 ASP.NET 基于公共語言運行庫,因此 Web 應(yīng)用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方
22、案都可從 Web 無縫訪問。ASP.NET 也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。另外,公共語言運行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現(xiàn)有投資。簡易性。ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(wù)(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。可管理性。ASP.NET 采用基于文本的分層配置系統(tǒng),簡化了
23、將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學(xué)也擴(kuò)展到了 ASP.NET 框架應(yīng)用程序的部署5。只需將必要的文件復(fù)制到服務(wù)器,即可將 ASP.NET 框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動服務(wù)器,即使是在部署或替換運行的編譯代碼時??煽s放性和可用性。ASP.NET 在設(shè)計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進(jìn)程受到 ASP.NET 運行庫的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請求。
24、自定義性和擴(kuò)展性。ASP.NET 隨附了一個設(shè)計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募墑e“插入”代碼。實際上,可以用自己編寫的自定義組件擴(kuò)展或替換 ASP.NET 運行庫的任何子組件。實現(xiàn)自定義身份驗證或狀態(tài)服務(wù)一直沒有變得更容易。安全性。借助內(nèi)置的 Windows 身份驗證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。網(wǎng)站建設(shè)的市場背景互聯(lián)網(wǎng)的興起及其在全球范圍內(nèi)的普遍應(yīng)用,加快了全球信息化的步伐,同時,又使傳統(tǒng)企業(yè)面臨著新的挑戰(zhàn)和機(jī)遇。傳統(tǒng)企業(yè)廣泛實施電子商務(wù)轉(zhuǎn)型策略,是互聯(lián)網(wǎng)經(jīng)濟(jì)時代新型企業(yè)的發(fā)展方向。何將互聯(lián)網(wǎng)技術(shù)應(yīng)用于企業(yè)日常宣傳、運作、管理中,如何在電子商務(wù)應(yīng)用領(lǐng)域開拓市場,
25、如何利用Internet給企業(yè)帶來商機(jī)、拓展企業(yè)的規(guī)模和效益,如何加強(qiáng)內(nèi)部管理等等則更是企業(yè)在互聯(lián)網(wǎng)經(jīng)濟(jì)浪潮中急需考慮的問題。 通過實施一系列的電子化建設(shè)計劃,該動態(tài)網(wǎng)站將實現(xiàn):整合企業(yè)的業(yè)務(wù)應(yīng)用相關(guān)信息的動態(tài)發(fā)布:企業(yè)信息、產(chǎn)品信息、招聘信息等建立一個強(qiáng)大的對外宣傳口徑方便管理員對整個網(wǎng)站監(jiān)控和維護(hù) 總體印象:立足于企業(yè)服務(wù)宗旨,延伸至高新行業(yè)領(lǐng)域,主題突出,內(nèi)容精干,形式簡潔版式布局:欄目集中1,分欄目檢索明確,導(dǎo)航標(biāo)志清晰色彩運用:色調(diào)總體呈暢快、簡潔、專業(yè)的特征2:(根據(jù)企業(yè)實際需要決定)圖片運用:配合文字及色塊,以生動的形象圖片表達(dá)知名專業(yè)公司的實力和創(chuàng)造力動態(tài)網(wǎng)站的總體模塊設(shè)計由于
26、中小型企業(yè)網(wǎng)站的目標(biāo)重點在于展示企業(yè)的信息和銷售信息。本章重點介紹前臺功能模塊總體設(shè)計、后臺功能模塊總體設(shè)計和數(shù)據(jù)庫模塊的總體設(shè)計。前臺功能模塊總體設(shè)計前臺功能模塊主要包括:網(wǎng)站首頁、關(guān)于我們、新聞資訊、產(chǎn)品介紹、咖啡學(xué)院、店鋪展示、留言中心、聯(lián)系我們??傮w設(shè)計展示如圖4.1。圖4.1 前臺功能模塊總體設(shè)計后臺功能模塊總體設(shè)計 后臺功能模塊包括:用戶管理、管理員管理、新聞管理的文章管理和類別管理、留言信息管理的添加、修改、查看等總體設(shè)計展示如圖4.2。數(shù)據(jù)庫模塊總體設(shè)計數(shù)據(jù)庫是模塊建設(shè)中的關(guān)鍵部分,是企業(yè)網(wǎng)站設(shè)計的核心,大量頁面和服務(wù)需要向數(shù)據(jù)庫表寫入信息,或更改、提取信息,用戶信息等保存到數(shù)
27、據(jù)庫管理系統(tǒng)中。數(shù)據(jù)庫功能實現(xiàn)的好壞,直接決定了系統(tǒng)功能的實現(xiàn)程度,以及系統(tǒng)實際運行的安全性。在系統(tǒng)的開發(fā)及運行中,數(shù)據(jù)庫系統(tǒng)占有重要的地位,因為本系統(tǒng)擁有并使用大量的數(shù)據(jù)信息,所以系統(tǒng)的運行需要功能強(qiáng)大和完善的數(shù)據(jù)庫的支持。合理的數(shù)據(jù)庫設(shè)計在系統(tǒng)開發(fā)中是至關(guān)重要的,通過建立完整的數(shù)據(jù)表、表與表之間完善的聯(lián)系,可以存儲完備的信息數(shù)據(jù)等,并方便對數(shù)據(jù)庫的訪問和增、改、查等操作,繼而支持并簡化系統(tǒng)的整個使用流程、信息瀏覽功能等,方便了用戶的使用。數(shù)據(jù)庫7模塊的總體設(shè)計展示如圖4.3。.1數(shù)據(jù)庫功能模塊總體設(shè)計本系統(tǒng)采用Microsoft公司的大型數(shù)據(jù)庫系統(tǒng)SQL Server 2005。依據(jù)項目的
28、處理需求,對應(yīng)數(shù)據(jù)表的設(shè)計及功能如下: 用戶表: 存放用戶的基本資料 新聞類別表: 存放企業(yè)網(wǎng)站的新聞的類別 新聞信息數(shù)據(jù)表: 存放網(wǎng)站內(nèi)的新聞資訊 留言信息表: 存放用戶的留言評論信息 管理員表: 存放管理員的基本信息表-1 用戶表(users)字段名說明類型長度可否為空是否為主鍵Id自動編號int4否是LoginName用戶名nvarchar50否LoginPwd密碼nvarchar50否RealName真實姓名nvarchar50否Address nvarchar100是Phone聯(lián)系 nvarchar50否Email電子郵箱nvarchar50是Role角色nvarchar1否表4.3
29、-2 新聞類別表(NewsCategories)字段名說明類型長度可否為空是否為主鍵Id自動編號int4否是Name類別名稱nvarchar50否表4.3-3 新聞信息數(shù)據(jù)表(News)字段名說明類型長度可否為空是否為主鍵Id自動編號int4否是Title標(biāo)題nvarchar200否Author作者nvarchar50是PubDate發(fā)布時間datetime50是Contents內(nèi)容ntext10000是Clicks點擊次數(shù)int10是NewsCategoryId新聞類別int4否表4.3-4 留言信息表(LY_Info)字段名說明類型長度可否為空是否為主鍵LyId自動編號int4否是User
30、Name用戶名nvarchar50否LyTime留言時間datetime50否LyContent留言內(nèi)容ntext1000否HF回復(fù)名nvarchar50否HFtime回復(fù)時間datetime50否表4.3-5 管理員信息表(Admin_info)字段名說明類型長度可否為空是否為主鍵AdminId自動編號int4否是AdminName管理員名nvarchar50否AdminPwd密碼nvarchar50否AdminBZ級別nvarchar50否三層架構(gòu)代碼實現(xiàn)及頁面展示本網(wǎng)站的后臺實現(xiàn)應(yīng)用了三層架構(gòu):數(shù)據(jù)層、業(yè)務(wù)層(BLL和DAL)以及表現(xiàn)層。下面我們分別介紹。模型層 該網(wǎng)站使用的數(shù)據(jù)庫是sq
31、l server20087,在模型層將每個數(shù)據(jù)表封裝起來。下面以新聞數(shù)據(jù)表為例,進(jìn)行代碼分析。在Visual Studio2010中可以看到模型層的展示,如圖5.1。News.cs頁面的源代碼:/命名空間using System;using System.Collections.Generic;using System.Linq;using System.Text;模型層模型層圖5.1模型層的展示namespace coffeeModel Serializable() public class News /對應(yīng)數(shù)據(jù)庫定義私有變量 private int id; public int Id /對
32、變量進(jìn)行封裝 get return id; set id = value; private string title = string.Empty; public string Title get return title; set title = value; private string author = string.Empty; public string Author get return author; set author = value; private DateTime pubDate; public DateTime PubDate get return pubDate;
33、set pubDate = value; private string contents = string.Empty; public string Contents get return contents; set contents = value; private int clicks; public int Clicks get return clicks; set clicks = value; private int newsCategoryId; public int NewsCategoryId get return newsCategoryId; set newsCategor
34、yId = value; private NewsCategory newsCategory; public NewsCategory NewsCategory get return newsCategory; set newsCategory = value; public News() /定義構(gòu)造方法 5.2 數(shù)據(jù)訪問層數(shù)據(jù)訪問層用于鏈接數(shù)據(jù)庫和各種方法的書寫。在Visual Studio10.0中可以看到數(shù)據(jù)訪問層和業(yè)務(wù)邏輯層的展示,如圖5.2。數(shù)據(jù)訪問層(DAL)圖5.2數(shù)據(jù)訪問層的展示下面以新聞數(shù)據(jù)表為例,進(jìn)行代碼分析。NewsService.cs頁面的源代碼:/命名空間using
35、System;using System.Collections.Generic;using System.Linq;using System.Text;using coffeeModel;using System.Data.SqlClient;using System.Data;namespace coffeeModel public class NewsService private static string connectionString = Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|website.mdf;Inte
36、grated Security=True;User Instance=True; / / 刪除新聞 / / 新聞對象 public static void DeleteNews(News news) using (SqlConnection cn = new SqlConnection(connectionString) cn.Open(); SqlCommand cm = new SqlCommand(); cm.Connection = cn; string sql = delete from News where Id=Id; cm.CommandText = sql; cm.Param
37、eters.AddWithValue(Id, news.Id); cm.ExecuteNonQuery();/ / / 根據(jù)SQL語句返回部分字段的新聞列表 / / SQL語句 / 新聞對象集合 private static IList GetNewsBySql(string sql) using (SqlConnection cn = new SqlConnection(connectionString) cn.Open(); SqlCommand cm = new SqlCommand();/建立sql命令對象實例 cm.Connection = cn; cm.CommandText =
38、sql; SqlDataReader dr = cm.ExecuteReader(); List list = new List(); while (dr.Read() News news = new News(); for (int i = 0; i dr.FieldCount; i+) string fildName = dr.GetName(i); if (fildName = Id) news.Id = (int)drId; else if (fildName = Title) news.Title = (string)drTitle; else if (fildName = Auth
39、or) news.Author = (string)drAuthor; else if (fildName = PubDate) news.PubDate = (DateTime)drPubDate; else if (fildName = Contents) news.Contents = (string)drContents; else if (fildName = Clicks) news.Clicks = (int)drClicks; else if (fildName = NewsCategoryId) news.NewsCategoryId = (int)drNewsCategor
40、yId; news.NewsCategory = NewsCategoryService.GetNewsCategoryById(int)drNewsCategoryId); list.Add(news); dr.Close(); return list; / / 查詢最近的10條新聞 / / public static IList GetNewsTop10() string sql = select top 10 Id,Title from News order by Id DESC; return GetNewsBySql(sql); / / 根據(jù)查詢條件,排序字段,排序方向返回包含部分字
41、段(Id,Title,Author,PubDate,Clicks,NewsCategoryId)的新聞列表 / / 查詢條件 / 排序字段 / 排序方向 / 新聞對象集合 public static IList GetNewsPartFieldsByConditions(string conditions, string sortField, string direction) string sql = select Id,Title,Author,PubDate,Clicks,NewsCategoryId from News; if (conditions.Trim().Length 0)
42、sql += where + conditions; if (sortField.Trim().Length 0) sql += order by + sortField; if (direction.Trim().Length 0) sql += + direction; return GetNewsBySql(sql); / / 根據(jù)ID查詢新聞 / / 新聞ID / 新聞對象 public static News GetNewsById(int id) using (SqlConnection cn = new SqlConnection(connectionString) cn.Ope
43、n(); SqlCommand cm = new SqlCommand(); cm.Connection = cn; string sql = SELECT * FROM News WHERE Id =Id; cm.CommandText = sql; cm.Parameters.AddWithValue(Id, id); SqlDataReader dr = cm.ExecuteReader(); if (dr.Read() News news = new News(); news.Id = (int)drId; news.Title = (string)drTitle; news.Auth
44、or = (string)drAuthor; news.PubDate = (DateTime)drPubDate; news.Contents = (string)drContents; news.Clicks = (int)drClicks; news.NewsCategoryId = (int)drNewsCategoryId; news.NewsCategory = NewsCategoryService.GetNewsCategoryById(int)drNewsCategoryId); dr.Close(); return news; else dr.Close(); return
45、 null; / / 添加新聞 / / 新聞對象 public static void AddNews(News news) using (SqlConnection cn = new SqlConnection(connectionString) cn.Open(); /string sql = insert News Values( + news.Title + , + news.Author + , + news.PubDate + , + news.Contents + , + news.Clicks + , + news.NewsCategoryId + ); /SqlCommand
46、 cmd = new SqlCommand(sql, cn); /cmd.ExecuteNonQuery(); SqlCommand cm = new SqlCommand(); cm.Connection = cn; string sql = INSERT News(Title,Author,PubDate,Contents,Clicks,NewsCategoryId) + VALUES(Title,Author,PubDate,Contents,Clicks,NewsCategoryId); cm.CommandText = sql; cm.Parameters.AddWithValue(
47、Title, news.Title); cm.Parameters.AddWithValue(Author, news.Author); cm.Parameters.AddWithValue(PubDate, System.DateTime.Now); cm.Parameters.AddWithValue(Contents, news.Contents); cm.Parameters.AddWithValue(Clicks, news.Clicks); cm.Parameters.AddWithValue(NewsCategoryId, news.NewsCategoryId); cm.Exe
48、cuteNonQuery(); / / 修改新聞 / / 新聞對象 public static void ModifyNews(News news) using (SqlConnection cn = new SqlConnection(connectionString) cn.Open(); SqlCommand cm = new SqlCommand(); cm.Connection = cn; string sql = UPDATE News + SET + Title=Title, + Author=Author, + PubDate=PubDate, + Contents=Conte
49、nts, + Clicks=Clicks, + NewsCategoryId=NewsCategoryId + WHERE Id=Id; cm.CommandText = sql; cm.Parameters.AddWithValue(Id, news.Id); cm.Parameters.AddWithValue(Title, news.Title); cm.Parameters.AddWithValue(Author, news.Author); cm.Parameters.AddWithValue(PubDate, news.PubDate); cm.Parameters.AddWith
50、Value(Contents, news.Contents); cm.Parameters.AddWithValue(Clicks, news.Clicks); cm.Parameters.AddWithValue(NewsCategoryId, news.NewsCategoryId); cm.ExecuteNonQuery(); / / 根據(jù)查詢條件、排序字段、排序方向返回所有字段的新聞列表 / / 查詢條件 / 排序字段 / 排序方向 / 新聞對象集合 public static IList GetNewsAllFieldsByConditions(string conditions,
51、string sortField, string direction) string sql = SELECT Id,Title,Author,PubDate,Contents,Clicks,NewsCategoryId FROM News; if (conditions.Trim().Length 0) sql += WHERE + conditions; if (sortField.Trim().Length 0) sql += ORDER BY + sortField; if (direction.Trim().Length 0) sql += + direction; return G
52、etNewsBySql(sql); 5.3業(yè)務(wù)邏輯層業(yè)務(wù)層用于訪問數(shù)據(jù)層,從數(shù)據(jù)層取數(shù)據(jù)、修改數(shù)據(jù)以及刪除數(shù)據(jù),并將結(jié)果返回給表現(xiàn)層。如圖5.3。業(yè)務(wù)邏輯層(BLL)下面以新聞數(shù)據(jù)表為例,進(jìn)行代碼分析。NewsManager.cs頁面的源代碼:/命名空間using System;using System.Collections.Generic;using System.Linq;using System.Text;using coffeeModel;using coffeeDal;using System.Data;using System.Data.SqlClient;using Syste
53、m.Data.Sql;namespace coffeeBll public class NewsManager public static void DeleteNews(News news) NewsService.DeleteNews(news); public static IList GetNewsPartFiledsByConditions(string conditions, string sortField, string direction) return NewsService.GetNewsPartFieldsByConditions(conditions, sortFie
54、ld, direction); public static News GetNewsById(int id) return NewsService.GetNewsById(id); public static IList GetNewsTop10() return NewsService.GetNewsTop10(); public static void AddNews(News news) if (news.Author = null) news.Author = ; news.PubDate = DateTime.Now; news.Clicks = 0; NewsService.Add
55、News(news); public static void ModifyNews(News news) if (news.Author = null) news.Author = ; if (news.PubDate = DateTime.MinValue) news.PubDate = DateTime.Now; NewsService.ModifyNews(news); public static IList GetNewsAllFieldsByConditions(string conditions, string sortField, string direction) return
56、 NewsService.GetNewsAllFieldsByConditions(conditions, sortField, direction); 5.4 表示層 表現(xiàn)層用于用戶接口的展示,以及用業(yè)務(wù)層的類和對象來“驅(qū)動”這些接口6。在中,該層包括aspx頁面、用戶控制、服務(wù)器控制以及某些與安全相關(guān)的類和對象。在Visual Studio2010中可以看到表示層的展示,如圖5.4。表示層下面以多個頁面為例,進(jìn)行代碼分析。 5.首頁展示頁面首頁是訪問者首先看到的頁面,它的制作直接影響企業(yè)的形象。這個金米蘭咖啡公司網(wǎng)站首頁采用div進(jìn)行定位,前臺后臺相結(jié)合。展示效果如圖5.所示。 圖5.首頁
57、設(shè)計 1. Fancy Coffee 花式咖啡 法國人喝咖啡講究的不是咖啡本身的品質(zhì)和味道,而注重飲用咖啡的環(huán)境和情調(diào),表現(xiàn)出來的是優(yōu)雅的. 當(dāng)你端起一杯咖啡,深深吸入咖啡香氣的那一刻,所有這一切都會讓你聯(lián)想到一種植物、一個精確的地. 新聞資訊頁面展示效果如下圖5.所示。圖5.新聞資訊頁面 新聞資訊 排序方式: | a href=news_Detail.aspx?Id= 發(fā)表日期: 瀏覽次數(shù): using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;
58、using System.Web.UI.WebControls;using coffeeBll; protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) /首次加載,賦初值 if (Request.QueryStringNewsCategoryId != null) int id; try id = Convert.ToInt32(Request.QueryStringNewsCategoryId); ViewStateConditions = NewsCategoryId= + id; catch ViewS
59、tateConditions = ; else ViewStateConditions = ; ViewStateSortField = Id; ViewStateDirection = DESC; ViewStateTitleClick = 0; ViewStatePubDateClick = 0; ViewStatePageIndex = 0; Databind(); private void Databind() /設(shè)置PagedDataSource對象實例 PagedDataSource pdsNews = new PagedDataSource(); /設(shè)置數(shù)據(jù)源 pdsNews.D
60、ataSource = NewsManager.GetNewsAllFieldsByConditions(ViewStateConditions.ToString(), ViewStateSortField.ToString(), ViewStateDirection.ToString(); /允許分頁 pdsNews.AllowPaging = true; /設(shè)置每頁顯示條件記錄 pdsNews.PageSize = 3; /設(shè)置當(dāng)前索引值 pdsNews.CurrentPageIndex = PageIndex; /設(shè)置末頁索引值 ViewStateLastPageIndex = pdsN
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 絲綢產(chǎn)業(yè)國際市場多元化戰(zhàn)略考核試卷
- 冷藏食品的調(diào)味品添加與控制考核試卷
- 五金店全渠道零售的顧客價值評估模型構(gòu)建考核試卷
- 設(shè)備數(shù)據(jù)備份周期規(guī)劃考核試卷
- 2024年事業(yè)單位考試云南省昆明市富民縣《公共基礎(chǔ)知識》最后沖刺試題含解析
- 安全生產(chǎn)法規(guī)培訓(xùn)
- 江蘇省無錫市普通高中2024-2025學(xué)年高一下學(xué)期期末歷史試卷(含答案)
- 漢服派發(fā)禮物活動方案
- 江盛公司團(tuán)購活動方案
- 樓盤政策活動方案
- 【公開課】三角形的邊+課件+2025-2026學(xué)年人教版八年級數(shù)學(xué)上冊
- 浙江省杭州市2024-2025學(xué)年高二下學(xué)期6月期末教學(xué)質(zhì)量檢測英語試題(含答案)
- 2025年河南省中考地理試題(含答案)
- DB64-266-2018 建筑工程資料管理規(guī)程
- 人教鄂教版六年級下冊科學(xué)期末專題訓(xùn)練:實驗題、綜合題(含答案)
- 2025年經(jīng)濟(jì)法與金融監(jiān)管專業(yè)考試試題及答案
- 基于項目式學(xué)習(xí)的小學(xué)勞動教育課程教學(xué)設(shè)計
- 2025屆湖北省武漢市武昌區(qū)南湖中學(xué)英語七年級第二學(xué)期期末達(dá)標(biāo)檢測試題含答案
- 等離子體泡跨尺度耦合-洞察及研究
- 2025至2030年中國血氣分析儀行業(yè)市場運作模式及前景戰(zhàn)略分析報告
- 公共娛樂衛(wèi)生管理制度
評論
0/150
提交評論