- 網絡數據庫應用系統開發技術:ASP.NET
- 蘆麗萍等編著
- 1160字
- 2018-12-27 19:32:44
前言
隨著網絡技術的不斷發展,網絡數據庫應用系統的適用范圍不斷擴大,逐漸成為當前數據庫應用系統的主流。近年來,為適應這種網絡數據庫應用技術的快速發展和開發人員培養的需求,很多高校開設了相應的技術課程,特別是現代教育技術學本科專業已將其列為方向主干課程,社會上各類教育部門也紛紛開展了數據庫應用系統開發技術的培訓。這不但促進了網絡數據庫技術的應用和普及,而且也帶來了對適用教材的需求。
實際應用中,網絡數據庫應用系統通常由應用程序、數據庫管理系統、數據庫三部分構成,因而網絡數據庫應用系統的開發不但涉及數據庫技術,還涉及與數據庫相適應的動態網頁開發技術、語言編程技術、多媒體技術等多方面的相關知識。這種繁雜的知識體系給教材體系的建構和內容的取舍帶來了多種不同的結果。
從專業學科構成的以結構邏輯為中心的學科體系看,教材模式應解決事實、概念和原理、規律等完整的理論性知識,這是培養科學型人才的一條主要途徑。但從就業導向的職業教育課程方面來看,教材模式應更強調從實踐情境構成的以過程邏輯為中心的行動體系出發,以盡可能小的代價獲取盡可能大的效益的知識,主要解決“怎么做”和“怎么做更好”的問題,這是培養開發型人才的一條主要途徑。前者將占用較多的課時量,后者將占用較少的課時量。
目前,大多數相關教材通常是將數據庫技術、動態網頁開發技術、相關的語言編程技術分別設為獨立教材,各成體系,并且各自力圖盡可能完整地介紹自己的知識體系,顯然,這更適合科學型人才培養的課程,而不太適合開發型人才培養的課程。
本書是面向開發型人才的新型教材,旨在以數據庫應用系統的開發項目為主線,將系統開發過程中使用的各種相關技術從縱向上貫穿起來,幫助讀者了解各項技術的應用技巧及技術之間的相互融合關系,從而能夠使讀者快速掌握系統開發的要點,輕松上手進行開發項目實踐。本教材從就業導向的職業教育出發,以從業中實際應用的知識和技巧為主,以適度夠用的概念和原理的理解為輔,具有實踐性強的特點,適合于教育技術本科專業及相近專業的職業教育課程使用。
全書共計12章,分為數據庫基礎篇、開發技術篇和項目實踐篇,分別討論了網絡數據庫應用系統基本概念;數據庫的基本操作、數據管理、編程基礎;為.NET量身打造的語言——C#;ASP.NET技術與應用;網絡數據庫應用系統的總體設計;綜合項目實踐等等。在每一章的開始都給出了該章的學習目標,章后附有習題,書后附有習題答案。
本教材由蘆麗萍和王志軍策劃和審稿,蘆麗萍編寫了第2~5和第11章,柳彩志編寫了第8~10章,劉哲雨編寫了第6~7章,佟穎編寫了第12章,王志軍編寫了第1章。
本教材參閱了大量的著作、刊物和網站參考文獻,在此對這些作者表示衷心的感謝!本教材的編寫是一種新的嘗試,限于編者的學識和水平,書中的不當、錯誤之處,還望廣大讀者批評指正。
編 著 者
2008年11月 于天津
第1章 網絡數據庫應用系統概述
【學習目標】
(1)理解網絡數據庫應用系統的概念。
(2)了解網絡數據庫應用系統的基本類型和工作原理。
(3)了解網絡數據庫應用系統的開發技術。
(4)掌握網絡數據庫應用系統的開發流程。
隨著現代社會信息需求量的不斷增長,如何在網絡環境下實現信息的互操作和數據共享,已經發展成為計算機應用領域的熱點問題。開發一個滿足實際工作需要的應用系統,需要綜合運用多媒體、網頁制作、數據庫訪問等,在軟件工程思想指導下,完成從用戶需求分析,設計開發,到系統調試直至最后投入使用的完整流程。本章旨在幫助讀者明確網絡數據庫應用系統的基本概念,以項目為核心,將開發網絡數據庫應用系統的相關技術從縱向上貫通起來,進而使讀者了解系統的規范開發流程,形成對網絡數據庫應用系統的整體認識。
1.1 網絡數據庫應用系統
1.1.1 基本概念
數據庫應用系統近年來發展很快,應用范圍不斷擴大,在民航、金融、教育等領域均發揮著重要的作用。此類系統的突出特點是用戶通過設計友好的程序界面與后臺數據庫進行數據交互,無須掌握專門的數據庫訪問技術,經簡單操作即可實現數據查詢、存取、管理等功能。簡單地說,數據庫應用系統就是以數據庫為核心,通過界面友好的應用程序,實現對數據的存儲、查詢、管理等操作的計算機應用系統。
網絡技術的日益進步和網絡通信質量的不斷提高,為人們在更廣闊的范圍內共享數據提供了良好的物質基礎,于是網絡數據庫應用系統更加受到各行各業的青睞。網絡數據庫應用系統是指為完成某項實際工作而設計開發的、能夠滿足以數據庫為核心的多臺聯網計算機對數據庫進行操作和管理需要的應用系統。系統通常由應用程序、數據庫管理系統、數據庫三部分構成,在網絡環境下,這三部分可以分別部署在不同的計算機中,用戶能夠通過網絡與遠端的數據庫建立連接,實現數據操作。
1.1.2 基本類型
網絡數據庫應用系統在教育教學領域應用非常廣泛,我們在日常工作和學習過程中經常使用的此類系統主要包括以下幾種類型。
1.網絡課程
網絡課程是網絡教育的重要載體,也是教學資源的主要組織形式。近年來,隨著網絡教育的快速發展,網絡課程的開發與建設備受關注。早期的網絡課程大多以靜態內容為主,主要展示課程基本信息、教學內容、教學大綱等,課程內容更新頻率較低,網頁一旦發布內容便不再變化。在科學技術飛速發展的今天,各個學科領域的知識更新速度越來越快,以往一成不變的網絡課程已無法滿足教學的需求,因而基于數據庫技術開發的網絡課程逐漸增多,此類課程頁面可由教師及時更新,師生之間也可通過課程附帶的交流工具實現在線交互,所有這些功能都是在網絡數據庫支持下完成的,網絡課程也成為了一種教育領域最為常見的網絡數據庫應用系統。
2.網絡教學平臺
網絡教學平臺是一個基于Web的能夠支持和管理教學過程、提供共享學習資源和各種學習工具的虛擬學習環境,同時可為網絡教學的實施提供基礎性通信與學習管理服務。網絡教學平臺的基本功能包括用戶管理、內容管理、學習管理、學習工具與標準適應幾個方面,多數功能的實現需基于數據庫技術,目前網絡教學平臺在各大高校應用廣泛。
3.教學管理系統
教學管理系統是網絡技術在教育教學管理方面的典型應用,內容涉及范圍較廣,常見的教學管理系統包括學籍檔案管理系統、實驗設備管理系統、學生選課系統、教務管理系統等,此類系統的應用加快了高校信息化辦公的進程,也為教育資源的共享和優化配置起到極大的促進作用。
4.資源庫
資源庫是高校師生獲取教學資源的重要渠道,通常資源庫系統向用戶提供資源搜索、下載、上傳等功能,所有資源的詳細數據信息均保存在后臺數據庫中,用戶可按照不同的檢索路徑定位所需文件,訪問服務器文件系統,將指定資源下載到本地客戶機。資源庫為師生共享教學資源、開拓知識面提供了良好的交流平臺。
1.1.3 基本模式
目前常見的網絡數據庫應用系統體系結構分為“客戶機/服務器”(Client/Server)與“瀏覽器/服務器”(Browser/Server)兩種模式。
1.“客戶機/服務器”模式
“客戶機/服務器”模式(即C/S模式)是指具有主從分布與協作處理特征的計算體系結構。它的基本原理是將一個應用恰當地分解為可由前、后臺分別處理的多個任務,由客戶機、服務器分別執行,以協作的方式共同實現整個應用。這種模式本質上涉及兩個不同的程序,通常將這兩個程序部署在不同機器上運行。在這些機器之間都有網絡連接。服務器端程序提供服務并對來自客戶程序的請求做出響應;而客戶端程序則是在使用者和服務器端程序之間建立某種溝通的渠道,或是作為使用服務器端提供的某種網絡服務的工具。最典型的客戶程序和服務器程序的設計方法如下。
● 客戶端:呈現顯示界面,提供用戶數據輸入管理接口,提交請求,負責對服務器端返回的結果進行處理以及部分事務處理。
● 服務器端:響應并處理請求,共享數據庫訪問控制,共享外設的訪問控制,負責系統接口管理,部分或全部的事務處理。
2.“瀏覽器/服務器”模式
“瀏覽器/服務器”模式(即B/S模式)是C/S模式在Internet上基于Web應用的一種實現方式,兩者是同一計算體系結構的不同應用分支。B/S結構的基本原理是將一個應用分解為Web瀏覽器和Web服務器,瀏覽器是服務器的客戶端程序,兩者之間通過HTTP協議進行通信。用戶通過已建立的一個指向統一資源定位器URL(Universal Resorce Locator)的超級鏈接,用瀏覽器來訪問Web服務器上的應用資源。Web服務器端則有一個監聽客戶連接請求的服務進程,接收并分析處理服務請求,返回處理結果。瀏覽器通過發送URL來請求服務器網頁,服務器則使用URL信息來定位和顯示網頁。
3.兩種模式的比較
1)系統性能
在系統性能方面,B/S模式的顯著優勢在于異地瀏覽和信息采集的靈活性強。無論任何時間、任何地點,只要用戶可以使用瀏覽器上網,就能夠訪問B/S模式的終端。不過,采用B/S模式時,客戶端只能完成數據瀏覽、查詢、輸入等簡單功能,絕大部分工作由服務器承擔,因而服務器的負擔較為繁重。
采用C/S模式時,系統界面控制能力強,可以充分利用兩端硬件環境的優勢,將任務合理分配到客戶端和服務器端來實現,降低了系統的通信開銷,在實現與客戶端的通信方面較B/S模式更勝一籌。由于客戶端和服務器端都能夠處理任務,因此可以減輕服務器的壓力,但由此也對客戶機提出了較高的要求。
2)開發過程
B/S模式的客戶端程序是運行于瀏覽器當中的,對開發人員的技術要求相對較低。
C/S模式是建立在中間件產品基礎之上的,要求應用開發者自己去處理事務管理、消息隊列、數據的復制和同步、通信安全等系統級的問題。這對應用開發者提出了較高的要求。如果客戶端運行的是不同的操作系統,C/S模式的系統需要開發不同版本的客戶端軟件。
3)升級維護
C/S系統的各部分模塊中若有一部分發生變化,就要關聯到其他模塊,因而系統升級成本較大。
對于B/S而言,開發、維護等幾乎所有工作也都集中在服務器端,當企業對網絡應用進行升級時,只需更新服務器端的軟件,從而減輕了異地用戶系統維護與升級的成本。
4)應用環境
相對來說,B/S模式對用戶的技術要求比較低,對前端機的配置要求簡單,而且易于進行跨平臺部署,容易在局域網與廣域網之間進行協調,尤其適宜信息發布類應用。例如一些招聘網站主要采用B/S模式,此類網站的特點是客戶端分散且應用方便,只需要進行簡單的瀏覽和少量信息的錄入。B/S模式的應用系統通常建立在廣域網上,面向分散地域的不同用戶群。
C/S模式在客戶端對大容量數據進行深層次分析、匯總、批量輸入/輸出、批量更改的工作中,較B/S結構更具優勢,可以滿足用戶與本地資源進行交互性操作的需要。C/S模式的應用系統一般面向相對固定的用戶群,對信息安全的控制能力很強,常用于金融、醫療等專業領域。
鑒于B/S模式開發難度相對較低,且適于建立在廣域網上,用戶群體更廣泛,因此本書將重點介紹基于B/S模式的網絡數據庫應用系統的相關知識。
1.1.4 工作原理
基于B/S模式開發的網絡數據庫應用系統工作原理如圖1-1所示。客戶端無須安裝其他額外軟件,在TCP/IP協議的支持下,通過瀏覽器即可訪問Web服務器,二者之間的數據傳輸遵循HTTP協議,而運行于服務器端的應用程序則根據用戶的請求連接數據庫服務器,對后臺數據庫進行訪問操作。

圖1-1 B/S模式網絡數據庫應用系統工作原理
在整個系統中,用戶數據的傳輸是在網絡環境的支持下進行的。前臺應用程序通過瀏覽器接收采集用戶的輸入數據,經過簡單的邏輯處理后,通過網絡將數據傳送至運行于Web服務器端的服務進程,該進程分析數據請求,通過數據庫訪問接口連接數據庫服務器,對數據庫進行讀取、存儲操作,并將處理結果返回給前臺應用程序進行顯示。
基于C/S模式開發的網絡數據庫應用系統工作原理如圖1-2所示。客戶端需安裝客戶軟件,用以呈現界面,采集用戶數據,客戶端收集到的數據將通過網絡發往服務器,服務器進程接收到用戶數據后,響應用戶請求,連接數據庫服務器,進行數據訪問操作,并將處理結果反饋給客戶端軟件進行顯示。

圖1-2 C/S模式網絡數據庫應用系統工作原理
1.2 網絡數據庫應用系統開發技術
1.2.1 數據庫技術
數據庫管理系統(DBMS)由一個互相關聯的數據的集合和一組用以訪問這些數據的程序組成,這個數據集合通常稱為數據庫。數據庫技術被廣泛應用于銀行業、航空業、電信業、金融業等領域,在信息技術高速發展的今天,數據庫幾乎已經成為所有企業的基本組成部分。
早期傳統的數據庫是運行在一臺計算機上、不與其他計算機系統交互的數據庫系統,通常被人們稱為集中式數據庫系統。隨著網絡技術的不斷發展,計算機的聯網使得人們開始考慮將某些繁重的任務分配給服務器系統和客戶系統使其各自承擔一部分,這樣既可以均衡服務器與客戶機的工作量,又可以實現更大范圍內的數據共享,于是客戶機/服務器體系的數據庫系統應運而生。當前比較主流的數據庫主要有Oracle、SQL Server、MySQL、DB2等。
1.Oracle
Oracle是Oracle公司開發的一種面向網絡計算機并支持關系模型的數據庫產品。它是以高級結構化查詢語言為基礎的大型關系數據庫,是當今最流行的客戶機/服務器體系的數據庫之一,目前最新版本是Oracle 11g數據庫。與其他主流數據庫相比,Oracle性能最高,保持開放平臺下的TPC-D和TPC-C的世界記錄,且能夠在所有主流平臺上運行。
2.MySQL
MySQL是一個多用戶、多線程SQL數據庫產品,它是一個客戶機/服務器結構的實現。MySQL是現在流行的關系數據庫中的一種,相比其他的數據庫管理系統(DBMS)來說,MySQL具有小巧、功能齊全、查詢迅捷等優點。MySQL的主要目標是快速、健壯和易用。MySQL是開放源代碼的自由軟件,可以在Internet上下載,并可免費使用。MySQL對于一般中小型、甚至大型應用都能夠勝任。
3.DB2
DB2是一種關系數據庫管理系統,是Information Management產品系列的一部分。DB2被認為是第一種使用SQL的數據庫產品。DB2于1982年首次發布,現在已經可以用在許多操作系統平臺上,包括Linux、UNIX和Windows。DB2有不同的版本,可以滿足不同操作系統用戶的需求。
4.SQL Server
由于大多數中、小企業日常的數據應用是建立在Windows平臺上的,而且SQL Server與Windows界面風格完全一致,且有許多“向導(Wizard)”幫助,因此易于安裝和學習。從另一個角度來講,學習SQL Server是掌握其他平臺及大型數據(如Oracle、Sybase、DB2)的基礎。因為這些大型數據庫對于設備、平臺、人員知識的要求往往較高,而并不是每個人都具備這樣的條件且有機會去接觸它們。但有了SQL Server的基礎,再去學習和使用它們就更為容易。由于今天Windows操作系統占據主導地位,選擇SQL Server一定會在兼容性方面取得一些優勢。另外,SQL Server除了具有擴展性和可靠性以外,還具有可以迅速開發新的Internet系統的功能。尤其是它可以直接存儲XML數據,可以將搜索結果以XML格式輸出等特點,有利于構建異構系統的互操作性,奠定了面向互聯網的企業應用和服務的基石。這些特點在.NET戰略中發揮著重要的作用。
鑒于本書讀者大多對Windows操作系統更為熟悉,綜合比較以上數據庫,本書選用的操作界面與Windows系統接近,且易于學習與掌握的SQL Server數據庫,該數據庫與微軟的Visual Studio .NET開發平臺配合能夠快速開發出基于Web的數據庫應用系統,大大提高了開發效率。
1.2.2 開發技術
網絡數據庫應用系統的開發涉及動態網頁開發技術、數據庫技術、多媒體技術等多方面相關知識。本書旨在以項目為主線,將系統開發過程中使用的相關技術從縱向上貫穿起來,幫助讀者了解各項技術的應用技巧及技術之間的交互聯系,從而使讀者快速掌握系統開發的要點,輕松上手進行項目實踐。
1.動態網頁開發技術
目前較為主流的動態網頁開發技術主要包括:ASP、JSP、PHP以及ASP.NET,以下簡單介紹它們的特點。
ASP是全名Active Server Pages,是一個Web服務器端的開發環境,利用它可以產生和執行動態的、互動的、高性能的Web服務應用程序。ASP采用腳本語言VBScript(或JavaScript)作為自己的開發語言,無須編譯,容易編寫,可在服務器端直接執行。在連接數據庫方面,ASP采用ODBC接口技術,可支持幾乎所有類型的數據庫。
JSP是Sun公司推出的新一代網站開發語言,JSP可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。由于采用Java語法和Java具有的高度的面向對象和靈活性,開發難度相對較大。訪問數據庫時采用的JDBC技術也是一個統一的數據庫接口技術。
PHP是一種跨平臺的服務器端的嵌入式腳本語言。它大量地借用C、Java和Perl語言的語法,并結合PHP自己的特性,使Web開發者能夠快速地寫出動態產生頁面。PHP是完全免費的,可以從PHP官方站點自由下載,它支持目前絕大多數數據庫,但它卻不像ASP、JSP那樣有個統一的接口,對于每種數據庫幾乎都有一種不同的接口。對于目前流行的主流網絡操作系統,PHP都能提供很好的支持。
ASP.NET是微軟公司用于構建動態和數據驅動Web站點的技術,開發者使用ASP.NET,可快速創建基于Web的數據庫密集型應用程序,同時利用.NET的面向對象語言的功能,可在代碼中訪問幾千個.NET類。開發人員可充分利用ASP.NET的性能、測試和完全優化特性,開發出功能強大和性能可靠的Web應用程序。ASP.NET提供了完整的服務器端對象模型,可以將頁面上的所有控件作為對象訪問。在服務器端,Web應用程序還可以訪問其他.NET類,幾乎能夠完成Windows Form類所有的功能,因而在使用上有很大的靈活性。ASP.NET訪問數據庫的統一接口為ADO.NET,操作簡單方便。
ASP.NET相比于前版ASP具有的一些新特性包括:
(1)ASP.NET使用以CLR(公共語言運行時)語言編寫的編譯后代碼,不再使用如VBScript這樣的解釋執行的腳本語言。
(2)ASP.NET頁面是基于服務器端控件構建的。Web服務器控件允許使用直觀的對象模型來表現和編程,而不再使用HTML元素。
(3)ASP.NET可以用Web服務跨越Internet來訪問屬性、方法以及傳遞數據庫的數據。
(4)ASP.NET包含頁面和數據緩存機制,可以顯著提高Web站點的性能。
自微軟推出ASP.NET之后,先后經歷了多個版本,目前已發展到ASP.NET 3.5。每一個版本較前一版本都有較大變化,功能更為完善,界面更友好,且操作更簡單快捷。ASP.NET具有易學易用、功能強大等優勢,因而成為初學者學習網絡編程的良好選擇。本書所介紹的網絡數據庫應用系統的前臺應用程序開發技術選擇ASP.NET,.NET平臺與SQL Server數據庫同屬微軟公司的產品,二者之間的連接配合也因而更為緊密。
2.程序開發語言
目前.NET平臺的程序開發支持Visual C++.NET、Visual Basic.NET、Visual C# 以及Visual J#等多種高級語言,熟悉不同開發語言的程序員均可快速過渡到.NET平臺。目前ASP.NET開發的應用系統多采用Visual Basic.NET、Visua C#二者之一,因為Visual C#是專為.NET平臺而開發的高級語言,能充分體現.NET平臺的特性和功能,本書所有實例均選用Visual C# 編寫代碼。
C#語言是從C和C++發展而來的,它汲取了包括C、C++、Java在內的多種語言的精華,是一種簡單、完備、類型安全和完全面向對象的高級程序設計語言。它的設計目標是在繼承C和C++強大功能的同時,兼有快速應用程序開發語言的簡易和高效。作為.NET的核心編程語言,C#充分享受了公共語言運行時所提供的優勢,能夠與其他應用程序方便地繼承和交互。
為了吸引軟件開發人員和合作伙伴對.NET的認同,Microsoft推出了新一代的集成開發環境——Microsoft Visual Studio.NET。該環境提供了對C# 語言編程的可視化支持,使得開發人員能夠方便地創建、運行、調試和發布C# 程序,從而針對.NET平臺快速地構建廣泛的應用。
1)Microsoft Visual Studio.NET簡介
Visual Studio.NET是Microsoft的集成開發環境,用于創建、編檔、運行和調試采用多種.NET語言編寫的程序。它是一套完整的開發工具集,用于生成ASP.NET Web應用程序、XML Web Services、桌面應用程序和移動應用程序等。Visual Basic、Visual C++、Visual C# 和Visual J# 全都使用相同的集成開發環境(IDE),利用此IDE可以共享工具且有助于創建混合語言解決方案。另外,這些語言利用了.NET Framework的功能,通過此框架可使用簡化應用程序和XML Web Services等開發的關鍵技術。
2)XML簡介
XML(可擴展標記語言)是W3C組織于1998年2月發布的一種能在互聯網上交換數據的標準。XML是一種樹狀層次語言結構,可以把內容與形式徹底分離,正是基于此原因,它與數據庫技術一樣,可以方便有效地表示結構化數據。使用XML可以使不同格式的數據(不同數據庫平臺)標準化,從而達到協同工作的目的。
XML具有跨平臺的特性,由于XML使用文本來表示數據,而不是使用二進制格式,因此可以跨越不同的數據庫平臺(Oracle、MySQL、DB2、SQL Server)訪問數據。然而處理XML文檔不像使用SQL語言操縱數據庫那樣簡單,須采用DOM來完成數據的查詢、插入、修改等操作。DOM(文檔對象模型)是對XML文檔進行解析的標準,是一種詳細描述HTML/XML文檔對象規則的API。由于本書篇幅有限,且XML對于初學者來說具有一定難度,本書暫不對此多做介紹。
1.3 網絡數據庫應用系統體系結構
1.3.1 體系結構模型
對于基于.NET Framework的網絡數據庫應用系統,數據訪問依賴于兩個獨立的體系結構層。第一層由執行數據訪問所需的框架組件組成。第二層由為程序員提供數據訪問功能的API和控件組成。從實踐的觀點看,程序員只需了解能否為特定數據源找到匹配的數據提供程序。
數據訪問涉及四個主要組件:Web應用程序(ASP.NET)、數據層(ADO.NET)、數據提供程序以及真正的數據源(如圖1-3所示)。這些組件之間的關系構成了所有數據識別Web應用程序的基礎結構。

圖1-3 網絡數據庫應用系統體系結構模型
ASP.NET的數據存儲始于堆棧底部,提供了整個數據訪問體系結構的基礎。通過ADO.NET,Web應用程序能夠訪問多種數據源中的數據,包括關系數據庫、XML文件、Web服務、平面文件,或諸如Microsoft Excel這樣的電子數據表程序中的數據。實際上,真正的數據源與讀取和操作數據所使用的機制關系不大。
由于具有提供程序模型,ADO.NET使用一組類和命令與不同的數據源進行交互。提供程序通過定義的一組接口和類掛鉤來提供對一個特定數據源的存儲和檢索功能。這種模型的靈活性使開發人員只需編寫一組數據訪問代碼就能夠訪問多種類型的數據。
1.3.2 ASP.NET技術支持的多層架構模型
微軟在推出ASP.NET同時,推出了一個名為Pet Shop的Web應用程序范例,用以展示.NET企業系統開發的能力,Pet Shop旨在顯示構建企業級多層應用程序的.NET最佳實踐,目前最新版本是Pet Shop 4.0。
Pet Shop為初學者學習基于.NET框架的多層應用程序開發提供了很好的參考,分層架構的優勢在于可擴展性好,代碼的可重用性高,易于維護,特別適合多人合作的企業級項目的開發,每個開發人員可以只關注自己當前層功能的實現,只要層次間接口不發生改變,就不必擔心因程序間的耦合作用而影響其他層次的功能。
圖1-4是以Pet Shop為范例的多層應用系統架構模型,整個系統共分為三層,分別為界面表示層、業務邏輯層和數據訪問層。有關各層功能及實現的詳細介紹請參見本書第12章。

圖1-4 ASP.NET多層架構模型
1.4 網絡數據庫應用系統開發過程
網絡數據庫應用系統的開發過程可分為五個階段。
(1)第一階段——系統可行性研究階段。
系統可行性研究是為系統開發做前期準備,應完成實際的可行性研究報告并對系統進行初步設計。可行性研究報告是以概念而不是以設計為主的,其主要內容是對系統基本功能的描述,是第二階段的基礎。
(2)第二階段——系統分析和設計階段。
可行性報告獲得批準后,則進入系統分析和設計階段。此階段將描述所有輸入/輸出的格式和內容,完成詳細的系統設計,以及各程序模塊的說明書。這一階段的工作一定要細致,千萬不要由于粗糙和急躁給后續工作帶來不必要的麻煩。第二階段(系統分析和設計)上的工作量與花在第三階段(程序設計)上的工作量成反比。在一個設計良好的系統中,第二階段將具有比第三階段更大的工作量。此外,在第二階段應成立項目開發組,項目開發組應包含系統分析員、程序員及用戶代表。
(3)第三階段——程序設計階段。
此階段主要是程序員進行程序設計和功能模塊的測試階段,用戶應盡可能不介入其中。因為用戶過多地介入將會影響應用系統的開發進度和質量。然而,在實際開發工作中,這種情況是經常發生的,特別是在時間緊迫時,項目開發組經常收到一些強制性的命令要求發布尚未完成的產品。由于系統開發過程的最終產品是軟件,所以過早地發布產品將導致產生質量低劣的系統。這種系統并不能滿足用戶的要求,而且維護代價很高。
(4)第四階段——系統測試和技術培訓。
第四階段的目標是把前三個階段的工作結合成一個整體,盡管在第三階段已經分別測試了系統的各個模塊,但這并不能保證當它們結合成一個整體時系統也同樣能正常工作,因此在第四階段需要完成整個系統的測試。在此期間,項目開發組將對用戶進行培訓,使其能熟練操作所開發的軟件。另外,項目開發組還要整理開發過程中編寫的各種技術文檔,以便通過質量認證和用戶驗收。
(5)第五階段——項目總結和評估。
項目總結是系統開發過程的組成部分,任何系統在剛剛投入使用時,都會不斷地進行一些小的調整。因此,有必要對系統的運行狀況進行總結和評估。總結項目開發過程中的經驗和教訓,也會使今后的項目進展更加順利。
1.5 本章小結
本章從網絡數據庫應用系統的基本概念出發,介紹了系統的兩種基本類型、系統開發所涉及的相關技術以及系統開發整體流程,主要目的是幫助讀者形成對網絡數據庫開發系統的整體認識,為本書后續章節的展開做好鋪墊。
習題1
1.填空題
(1)網絡數據庫應用系統的基本模式包括:_______和________。
(2)ASP.NET提供了完整的_______端對象模型,可以將頁面上的所有控件作為_______訪問。
(3)ASP.NET訪問數據庫的統一接口為_______。
(4)網絡數據庫應用系統的開發過程可分為系統可行性研究階段、_______、________、系統測試和技術培訓以及_______共五個階段。
2.簡答題
(1)網絡數據庫應用系統的開發流程包括哪幾個階段?
(2)Visual Studio.NET集成開發環境所支持的編程語言有哪幾種?
3.思考題
(1)網絡數據庫應用系統在教育教學領域的應用主要包括哪些類型?試舉例說明。
(2)C/S模式與B/S模式各具有哪些優點和不足?
(3)ASP.NET應用程序多層架構的優勢是什么?