Web應(yīng)用程序開發(fā)技術(shù)基礎(chǔ)課件_第1頁
Web應(yīng)用程序開發(fā)技術(shù)基礎(chǔ)課件_第2頁
Web應(yīng)用程序開發(fā)技術(shù)基礎(chǔ)課件_第3頁
Web應(yīng)用程序開發(fā)技術(shù)基礎(chǔ)課件_第4頁
Web應(yīng)用程序開發(fā)技術(shù)基礎(chǔ)課件_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章Web應(yīng)用程序開發(fā)技術(shù)基礎(chǔ) 1.1 Web發(fā)展歷史1.2 Web應(yīng)用程序的基本概念1.3 Web應(yīng)用程序的體系結(jié)構(gòu)1.4 Web應(yīng)用程序的工作環(huán)境1.5 Web應(yīng)用程序開發(fā)的技術(shù)內(nèi)容1.6 Web應(yīng)用程序開發(fā)模型 1.7 Web應(yīng)用程序開發(fā)的環(huán)境配置 1.1 Web發(fā)展歷史1.2 Web應(yīng)用程序的基本概念1.2.1 Web應(yīng)用程序的含義1.2.2 Web應(yīng)用程序的特點1.2.1 Web應(yīng)用程序的含義1.2.2 Web應(yīng)用程序的特點(1)基于HTTP(2)簡單、統(tǒng)一的用戶接口(3)非對稱、概率性的訪問模式1.3 Web應(yīng)用程序的體系結(jié)構(gòu)1.3.1 2層體系結(jié)構(gòu)1.3.2 3層體系結(jié)構(gòu)1.3

2、.3 4層體系結(jié)構(gòu)1.4 Web應(yīng)用程序的工作環(huán)境1.4.1 因特網(wǎng)初步分析1.4.2 Web原理分析1.5 Web應(yīng)用程序開發(fā)的技術(shù)內(nèi)容1.5.1 Web應(yīng)用程序開發(fā)的需求1.5.2 Web應(yīng)用程序的執(zhí)行過程1.5.3 Web應(yīng)用程序的開發(fā)步驟1.5.4 Web應(yīng)用程序開發(fā)技術(shù)的層次性1.5.5 Web應(yīng)用程序開發(fā)與Web工程1.5.1 Web應(yīng)用程序開發(fā)的需求Web應(yīng)用程序開發(fā)的含義一方面,Web需要應(yīng)用程序一方面,應(yīng)用程序需要Web1.5.2 Web應(yīng)用程序的執(zhí)行過程與“動態(tài)萬維網(wǎng)文檔與 CGI 技術(shù)”中提到的執(zhí)行過程基本一致。1.5.3 Web應(yīng)用程序的開發(fā)步驟 開發(fā)Web應(yīng)用程序是一

3、件非常辛苦的事情,你需要花大把大把的時間來做無數(shù)的事情。假如你不運用有條理的方法,尤其是在復雜的項目中,你會承受忽視項目,不能按時完成,浪費時間一無所獲的風險。 一般的Web應(yīng)用程序開發(fā)流程分為五個主要的階段: (1)系統(tǒng)分析;( 2)系統(tǒng)設(shè)計;( 3)系統(tǒng)實現(xiàn);(4)系統(tǒng)測試;( 5)系統(tǒng)維護。1.5.4 Web應(yīng)用程序開發(fā)技術(shù)的層次性軟件開發(fā)過程軟件開發(fā)方法軟件開發(fā)工具一、軟件開發(fā)過程1. 所謂軟件開發(fā)過程是指開發(fā)一個最終能滿足需求且達到目標的軟件產(chǎn)品所需要的步驟。2. 軟件開發(fā)過程主要包括:系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)、系統(tǒng)測試以及系統(tǒng)維護等活動。3. 軟件開發(fā)過程是為了獲得軟件產(chǎn)品或是

4、為了完成軟件工程項目需要完成的有關(guān)軟件開發(fā)活動,每一項活動又可分解成一些軟件開發(fā)任務(wù)。 二、軟件開發(fā)方法對軟件開發(fā)方法的研究是軟件工程的重要內(nèi)容,軟件開發(fā)方法的發(fā)展主要有以下三個階段:第一階段(早期階段):該階段的特點:程序設(shè)計基本上屬于個人活動性質(zhì),程序員各行其是,并無統(tǒng)一的方法可循;這時的軟件開發(fā)方法稱為個性化軟件開發(fā)。第二階段( 20世紀60年代后期興起的結(jié)構(gòu)化開發(fā)方法):該階段的特點:采用結(jié)構(gòu)化的方法來編寫程序,不僅可以改善程序的清晰度,而且也能提高軟件的可靠性與生產(chǎn)率。有效的開發(fā)應(yīng)該包括“需求分析”、“軟件設(shè)計”、“編碼”等多個階段。結(jié)構(gòu)化的思想擴展到分析階段和設(shè)計階段,于是形成了

5、“結(jié)構(gòu)化分析” 與“結(jié)構(gòu)化設(shè)計”等結(jié)構(gòu)化軟件開發(fā)。第三階段( 80年代以后出現(xiàn)的面向?qū)ο蟪绦蛟O(shè)計方法):該階段的特點:該階段出現(xiàn)的C+、Java等語言,促進了面向?qū)ο蟪绦蛟O(shè)計的廣泛流行。僅僅使用面向?qū)ο蟪绦蛟O(shè)計不會產(chǎn)生最好的效果。只有在軟件開發(fā)的早期乃至全過程都采用面向?qū)ο蠹夹g(shù),才能更好地發(fā)揮該技術(shù)的固有優(yōu)勢。形成了包括“面向?qū)ο笮枨蠓治雒嫦驅(qū)ο笤O(shè)計面向?qū)ο缶幋a”在內(nèi)的面向?qū)ο筌浖_發(fā)方法。三、軟件開發(fā)工具1. 軟件工具軟件工具是幫助開發(fā)軟件的軟件,它們對提高軟件生產(chǎn)率,促進軟件生產(chǎn)的自動化都有重要的作用。編譯程序、編輯程序、連接程序以及支持它們的計算機操作系統(tǒng),都屬于軟件工具。2. 軟件開發(fā)

6、工具的分類分類方法按應(yīng)用階段劃分 按功能劃分設(shè)計工具分析工具項目管理軟件配置質(zhì)量保證分析設(shè)計計劃工具界面開發(fā)客戶服務(wù)器Web開發(fā)1.5.5 Web應(yīng)用程序開發(fā)與Web工程類似于軟件與軟件工程軟件與軟件工程一、軟件和計算機硬件一樣,從20世紀60年代以來,軟件也從規(guī)模、功能等方面得到了很大的發(fā)展,人們對軟件質(zhì)量的要求也越來越高。什么是軟件,軟件有哪些特征呢?1. 軟件的定義有些初學者認為軟件就是程序,這個理解是不完全的。美國著名的軟件工程專家R.S.Pressman的定義: 軟件是能夠完成預定功能和性能的可執(zhí)行的計算機程序和使程序正常執(zhí)行所需要的數(shù)據(jù),加上描述程序的操作和使用的文檔??梢院喢鞯乇?/p>

7、述,“軟件 = 程序 + 數(shù)據(jù) + 文檔”。軟件被劃分為系統(tǒng)軟件、應(yīng)用軟件和介于這兩者之間的中間件。2. 軟件的特征軟件開發(fā)不同于硬件設(shè)計軟件設(shè)計更依賴于開發(fā)人員的業(yè)務(wù)素質(zhì)、智力,以及人員的組織、合作和管理,而硬件設(shè)計與人的關(guān)系相對要小一些。硬件設(shè)計的成本一般只占整個產(chǎn)品成本的一小部分,而軟件開發(fā)的成本很難估算,通常占整個產(chǎn)品成本的大部分。軟件生產(chǎn)不同于硬件制造硬件設(shè)計完成后就投入批量制造,制造也是一個復雜的過程;而軟件成為產(chǎn)品之后,其制造則是簡單的拷貝。軟件維護不同于硬件維修硬件是物理的,軟件是邏輯的,雖然軟件不會磨損和老化,但在使用過程中的維護比硬件復雜的多。如果軟件內(nèi)部的邏輯關(guān)系比較復雜

8、,在維護過程中還可能產(chǎn)生新的錯誤。3. 軟件危機出現(xiàn)軟件危機的原因軟件成本不斷提高(包括開發(fā)成本和維護成本);軟件質(zhì)量難以保障;軟件生產(chǎn)技術(shù)進步緩慢;軟件危機,使許多產(chǎn)業(yè)界人士認識到必須把軟件生產(chǎn)從個人化方式改變?yōu)楣こ袒绞剑瑥亩鴮е铝塑浖こ痰恼Q生。二、軟件工程1. 軟件工程的概念軟件工程的基本理念是“按工程的概念、原理、技術(shù)和方法開發(fā)與維護計算機軟件”?!败浖こ獭币辉~,首先是1968年北大西洋公約組織(NATO)在聯(lián)邦德國召開的一次會議上提出的。人們從不同的角度,給軟件工程下過各種定義。但是不論有多少種說法,它的中心思想,是把軟件當作一種工業(yè)產(chǎn)品,要求“采用工程化的原理與方法對軟件進行計

9、劃、開發(fā)和維護”。軟件工程的三個要素:方法、工具、過程 2. 軟件工程的基本原則軟件工程圍繞工程設(shè)計、工程支持以及工程管理,提出了以下四條基本原則:第一,選取適宜開發(fā)范型。第二,采用合適的設(shè)計方法。第三,提供高質(zhì)量的工程支持。第四,重視開發(fā)過程的管理。大量事實說明,只有堅持軟件工程的四條基本原則,既重視軟件技術(shù)的應(yīng)用,又重視軟件工程的支持和管理,并在實踐中貫徹實施,才能高效地開發(fā)出高質(zhì)量的軟件。軟件工程的研究內(nèi)容基本問題1. 軟件工程現(xiàn)在已成為一門新型的計算機學科,稱為“軟件工程學”。2. 軟件工程學所包含的主要內(nèi)容:Yogesh Deshpande和Steve Hansen在1998年就提出

10、了Web工程的概念。Web工程作為一門新興的學科,提倡使用一個過程和系統(tǒng)的方法來開發(fā)高質(zhì)量的基于Web的系統(tǒng)。它使用合理的、科學的工程和管理原則,用嚴密的和系統(tǒng)的方法來開發(fā)、發(fā)布和維護基于Web的系統(tǒng)。 Web工程不是軟件工程的完全克隆,但是它借用了軟件工程的許多基本概念和原理,強調(diào)了相同的技術(shù)和管理活動 1.6 Web應(yīng)用程序開發(fā)模型軟件開發(fā)模型基本問題1. 軟件開發(fā)模型提出的原因軟件有生存周期,一個軟件從開始計劃起,到廢棄不用止,稱為軟件的生存周期。軟件生存周期包括計劃、開發(fā)與運行三個時期,每一時期又可細分為若干個更小的階段。給每個階段賦予確定然而有限的任務(wù),就能簡化每一步的工作內(nèi)容。要開

11、發(fā)一個高質(zhì)量的軟件產(chǎn)品,首先要根據(jù)軟件生存期為各項開發(fā)活動的流程確定一個合理的框架,稱為軟件生存期模型或軟件開發(fā)模型。軟件計劃軟件開發(fā)軟件運行問題定義可行性研究需求分析概要設(shè)計詳細設(shè)計編 碼測 試維護或退役2. 軟件開發(fā)模型的分類線性模型原型模型演化模型基于構(gòu)件的模型形式化模型一、線性模型(瀑布模型)1. 什么是線性模型線性模型也稱為瀑布模型或生存周期模型,在這種模型中,各個階段的工作順序展開,恰如奔流不息拾級而下的瀑布,總是從上面的臺階依次流向下面的臺階。2. 線性模型將軟件生存期劃分為哪三個時期(1) 計劃時期(包括問題定義和可行性研究兩個階段)(2) 開發(fā)時期(包括需求分析、系統(tǒng)設(shè)計、編

12、碼和測試四個階段)(3) 運行時期(主要包括系統(tǒng)維護階段)3. 軟件生成周期各階段的主要任務(wù)(1) 計劃時期計劃時期的主要任務(wù)是調(diào)查和分析:調(diào)查用戶需求,分析新系統(tǒng)的主要目標,分析開發(fā)該系統(tǒng)的可行性。問題定義:主要弄清“用戶需要計算機解決什么問題”??尚行匝芯浚耗康氖菫樯弦徊教岢龅膯栴}尋求一種至數(shù)種在技術(shù)上可行、且在經(jīng)濟上有較高效益的可操作解決方案。(2) 開發(fā)時期開發(fā)時期要完成設(shè)計和實現(xiàn)兩大任務(wù)。設(shè)計任務(wù)用需求分析、軟件設(shè)計兩個階段完成。實現(xiàn)任務(wù)用編碼和測試兩階段完成。需求分析:其任務(wù)在于弄清用戶對軟件系統(tǒng)的全部需求,并用“需求規(guī)格說明書”的形式準確地表達出來。軟件設(shè)計:主要任務(wù)是將需求轉(zhuǎn)變

13、為軟件的表示形式,可細分為總體設(shè)計和詳細設(shè)計兩個方面。編碼:即按照選定的語言,把設(shè)計的過程性描述翻譯為源程序。測試:是對編碼階段所完成的源程序進行測試,可細分為單元測試、綜合測試、確認測試和系統(tǒng)測試等步驟。(3) 運行時期運行時期是軟件生存周期的最后一個時期,主要是做好軟件維護。維護目的是使軟件在整個生存周期內(nèi)保證滿足用戶的需求和延長使用壽命。4. 線性模型的特點階段間具有順序性和依賴性:上一階段的變換結(jié)果是下一階段變換的輸入,相鄰兩個階段具有因果關(guān)系,每個階段完成任務(wù)后,都必須進行階段性評審,確認之后再轉(zhuǎn)入下一個階段。文檔驅(qū)動性:要求每個階段必須完成規(guī)定的文檔;每個階段結(jié)束前完成文檔審查,以

14、便盡早發(fā)現(xiàn)問題并改正錯誤。5. 線性模型的優(yōu)缺點優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法,嚴格提交文檔,做好階段評審,從而使軟件過程易于管理和控制,有利于軟件的質(zhì)量保障 。缺點:要求軟件開發(fā)初期就要給出軟件系統(tǒng)的全部需求,開發(fā)周期比較長,承擔的風險也比較大。二、原型模型1. 什么是原型模型首先建立一個能夠反映用戶主要需求的原型,讓用戶實際看一看未來系統(tǒng)的概貌,以便判斷哪些功能是符合需要的,哪些方面還需要改進。然后將原型反復改進,最終建立完全符合用戶要求的新系統(tǒng)。2. 原型模型開發(fā)軟件的過程如下圖所示:需求分析原型開發(fā)最終系統(tǒng)設(shè)計原型評價最終系統(tǒng)實現(xiàn)用戶反饋原型模型的過程示意圖3. 原型模型的特點原型

15、驅(qū)動性:整個軟件過程圍繞著原型的快速開發(fā)和對原型的評價,通過原型確認用戶需求,以及通過原型的反復修改最終得到用戶確認的軟件定義。過程的交互性和迭代性:軟件開發(fā)過程是由開發(fā)人員與用戶之間通過原型的評價和確認而進行的一個交互過程。而且這個過程不是簡單的重復,而是不斷改進和迭代過程。4. 原型模型的優(yōu)缺點優(yōu)點:允許用戶在軟件開發(fā)過程中完善對軟件系統(tǒng)的需求,開發(fā)周期相對有所縮短,成本比較低,有效地發(fā)揮用戶和開發(fā)人員之間的密切配合作用,使軟件過程更能體現(xiàn)逐步發(fā)展、逐步完善的原則。缺點:頻繁的需求變化會使開發(fā)進程難于管理和控制,原型的快速開發(fā)和修改對技術(shù)要求比較高,需要有較好的工作基礎(chǔ)。 三、演化模型1.

16、 什么是演化模型它遵迭代的思想方法,使開發(fā)的軟件在迭代過程中逐步得到完善,一般適用于大型軟件的開發(fā)。常見的演化模型又有增量模型和螺旋模型兩種。2. 增量模型(1) 基本思想:增量模型是瀑布模型的順序特征與快速原型法的迭代特征相結(jié)合的產(chǎn)物,該模型把軟件看作一系列相互聯(lián)系的增量,每個增量是小而可運行的程序,在開發(fā)過程的各次迭代中,每次完成一個增量。(2) 結(jié)構(gòu)示意圖規(guī)格說明設(shè)計實現(xiàn)和集成交付客戶規(guī)格說明設(shè)計實現(xiàn)和集成交付客戶增量2規(guī)格說明設(shè)計實現(xiàn)和集成交付客戶增量n增量1增量模型示意圖(3) 增量模型的特點過程漸進性:軟件過程分批次完成,每次提交一個滿足用戶需求子集的增量構(gòu)件,產(chǎn)品規(guī)模逐漸增大,直

17、至得到滿足用戶全部需求的完整產(chǎn)品為止。(4) 增量模型的優(yōu)缺點優(yōu)點:能在較短的時間內(nèi)向用戶提交部分功能的構(gòu)件,并且在逐步增加產(chǎn)品功能的過程中有充裕的時間學習和適應(yīng)新的功能,減少一個全新軟件可能給用戶帶來的沖擊。缺點:增量構(gòu)件的劃分依賴于系統(tǒng)功能的構(gòu)成和軟件開發(fā)人員的經(jīng)驗,每次集成新的增量構(gòu)件必須不破壞原有軟件系統(tǒng)的結(jié)構(gòu),因此要求軟件系統(tǒng)的體系結(jié)構(gòu)必須具有高度的開放性和可擴充性3. 螺旋模型(1) 基本思想 螺旋模型將瀑布模型與原型模型結(jié)合起來,并且加入兩種模型均忽略了的風險分析。 螺旋模型沿著螺線順時針旋轉(zhuǎn),自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更完善的一個新版本。 每一個螺旋周期均包含四個步驟:制定計劃

18、 確定軟件目標,選定實施方案,弄清項目開發(fā)的限制條件;風險分析 分析所選方案,考慮如何識別和消除風險;實施工程 實施軟件開發(fā);客戶評估 評價開發(fā),提出修正建議。(2) 結(jié)構(gòu)示意圖(3) 特點模型結(jié)合型:螺旋模型的每一個周期都應(yīng)用了原型模型排除風險,在確認了原型之后,則又啟動瀑布模型繼續(xù)過程的演化。因此螺旋模型是瀑布模型和原型模型的結(jié)合,體現(xiàn)了兩個模型的優(yōu)點。過程迭代性:軟件開發(fā)過程的每個階段都是一次迭代,這種迭代不是過程的簡單重復,而是每旋轉(zhuǎn)一個圈就前進一個層次,得到一個新的版本。(4) 優(yōu)缺點優(yōu)點:強調(diào)可選方案和約束條件有利于已有軟件的重用,有助于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標,減少過多或測試不足帶來的風險。缺點:要求軟件開發(fā)人員具有豐富的風險評估經(jīng)驗和有關(guān)的專門知識,開發(fā)過程比較復雜,給過程管理和控制帶來一定的難度。四、基于構(gòu)件的模型1. 什么是基于構(gòu)件的模型就是利用預先封裝好的軟件構(gòu)件來構(gòu)造應(yīng)用軟件系統(tǒng),它融合了螺旋模型的特征,支持軟件開發(fā)的迭代方法。2. 用構(gòu)件來構(gòu)造軟件系統(tǒng)的過程如下圖所示確定候選構(gòu)件查找構(gòu)件庫復用所查到構(gòu)件開發(fā)候選構(gòu)件開始下一輪迭代集成構(gòu)件3. 基于構(gòu)件的開發(fā)模型的特點采用了先進的面向?qū)ο蠹夹g(shù)。 基于構(gòu)件庫的開發(fā),這是軟件復用的基礎(chǔ),

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論