![軟件工程73課件_第1頁](http://file4.renrendoc.com/view/51c335f606e1561343d5740ddc192f88/51c335f606e1561343d5740ddc192f881.gif)
![軟件工程73課件_第2頁](http://file4.renrendoc.com/view/51c335f606e1561343d5740ddc192f88/51c335f606e1561343d5740ddc192f882.gif)
![軟件工程73課件_第3頁](http://file4.renrendoc.com/view/51c335f606e1561343d5740ddc192f88/51c335f606e1561343d5740ddc192f883.gif)
![軟件工程73課件_第4頁](http://file4.renrendoc.com/view/51c335f606e1561343d5740ddc192f88/51c335f606e1561343d5740ddc192f884.gif)
![軟件工程73課件_第5頁](http://file4.renrendoc.com/view/51c335f606e1561343d5740ddc192f88/51c335f606e1561343d5740ddc192f885.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
軟件工程第1章軟件工程概述1看了《色戒》,知道女人是靠不住的看了《投名狀》,知道兄弟是靠不住的看了《集結號》,知道組織是靠不住的看了《長江7號》,知道外星人是靠不住的看了《霍元甲》,知道徒弟是靠不住的看了《無間道》,知道警察是靠不住的看了《史密斯夫婦》,知道公司是靠不住的看了《瘋狂的石頭》,知道國際高手是靠不住的看了《越獄》,知道牢房是靠不住的……看了《軟件工程》,知道軟件是靠不住的2軟件工程的產(chǎn)生緣起:“軟件危機”困難:軟件的屬性解決之道:工程化3軟件工程學科范疇計算機科學和數(shù)學用于構造軟件的模型與算法;工程科學用于制定規(guī)范、設計范型、評估成本以及確定權衡等;管理科學用于計劃、資源、質(zhì)量、成本等管理。軟件工程知識與實踐數(shù)學基本原理計算機科學基本原理應用領域知識與實踐工程科學知識與實踐管理科學知識與實踐5CC2005的軟件工程范疇6軟件工程知識體系(SWEBOK)軟件設計軟件測試基本概念和定義測試級別測試技術測試相關度量測試過程管理軟件需求需求工程過程需求獲取需求分析需求規(guī)格說明需求驗證需求管理軟件構造降低復雜性預知多樣性結構化驗證使用外部標準軟件維護基本概念維護過程關鍵問題維護技術軟件配置管理配置過程管理配置標識配置控制配置狀態(tài)報告配置審計軟件發(fā)布管理與交付軟件工程管理組織管理過程/項目管理軟件工程度量軟件工程過程軟件過程概念過程基礎設施過程度量過程定義定性過程分析過程實施與變更軟件工程工具與方法軟件工具軟件方法軟件質(zhì)量軟件質(zhì)量概念SQA和V&V目的與計劃SQA和V&V活動與技術適用于SQA和V&V的度量基本概念關鍵問題結構與體系結構質(zhì)量分析與評價設計符號策略與方法7軟件工程教育知識體系(5)軟件建模與分析建?;A 模型類型分析基礎需求基礎獲取需求需求規(guī)格說明與文檔需求驗證(6)軟件設計設計概念 設計策略體系結構設計人機界面設計詳細設計設計策略設計支持工具與評價9軟件工程教育知識體系(7)軟件驗證與確認驗證與確認的術語和基礎評審測試人機用戶界面測試和評價問題分析與報告(8)軟件演化演化過程演化活動(9)軟件質(zhì)量軟件質(zhì)量概念與文化軟件質(zhì)量標準軟件質(zhì)量過程過程保證產(chǎn)品保證(10)軟件管理管理概念項目計劃項目人員與組織項目控制軟件配置管理10內(nèi)容摘要軟件的概念軟件工程的基本概念軟件過程及其模型11軟件的發(fā)展
1946-1956年
從計算機問世到實用的高級程序語言出現(xiàn)前存儲容量比較小,運算速度比較慢采用個體工作方式,用低級語言編寫程序應用領域主要是以數(shù)值數(shù)據(jù)處理為主的科學計算,其特點是輸入、輸出量較小衡量程序質(zhì)量的標準主要是功效,即運行時間省、占用內(nèi)存小主要研究內(nèi)容是科學計算程序、服務性程序和程序庫,研究對象是順序程序131956-1968年
從實用的高級程序語言出現(xiàn)到軟件工程出現(xiàn)前存儲器容量大,外圍設備得到迅速發(fā)展,出現(xiàn)了高級程序設計語言應用領域包括數(shù)據(jù)處理(非數(shù)值數(shù)據(jù)),其特點是計算量不大,但輸入、輸出量卻較大高速主機與低速外圍設備的矛盾突出,出現(xiàn)了操作系統(tǒng)、并發(fā)程序、數(shù)據(jù)庫及其管理系統(tǒng)20世紀60年代初提出了軟件一詞,開始認識到文檔的重要性研究高級程序設計語言、編譯程序、操作系統(tǒng)、支持編程的工具及各種應用軟件工作方式逐步從個體方式轉(zhuǎn)向合作方式出現(xiàn)“軟件危機”141968年-至今
從軟件工程出現(xiàn)到現(xiàn)在硬件向巨型機和微型機二個方向發(fā)展,出現(xiàn)了計算機網(wǎng)絡,軟件方面提出了軟件工程,出現(xiàn)了“計算機輔助軟件工程”(CASE)計算機的應用領域滲透到各個業(yè)務領域,出現(xiàn)了嵌入式應用,其特點是受制于它所嵌入的宿主系統(tǒng)開發(fā)方式逐步由個體合作方式轉(zhuǎn)向工程方式軟件工程方面的研究主要包括軟件開發(fā)模型、軟件開發(fā)方法及技術、軟件工具與環(huán)境、軟件過程、軟件自動化系統(tǒng)等軟件方面研究以智能化、自動化、集成化、并行化、以及自然化為標志的軟件開發(fā)新技術15代價高進度難控制工作量和成本估算難質(zhì)量差維護難用戶不滿意軟件生產(chǎn)率提高的速度跟不上計算機應用迅速普及深入的趨勢1979年,美國USGovernmentAccountingOffice的調(diào)查1999年,美國StandishGroup的調(diào)查“軟件危機”17軟件危機的原因軟件是邏輯產(chǎn)品,開發(fā)進度、成本難以估計缺乏或不完整、不一致的文檔給維護帶來困難用戶對軟件需求的描述往往不夠精確,有遺漏,有二義軟件開發(fā)人員對需求的理解與用戶的本來愿望有差異大型軟件項目需多人協(xié)同完成,缺乏管理經(jīng)驗開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關系缺乏有力的方法學和工具的支持軟件項目的特殊性和人類智力的局限性……18問題歸結軟件生命期階段計劃需求設計實現(xiàn)測試維護主觀盲目地制定計劃;成本、資源、工作量估算不準;進度計劃無法遵循需求提出不明確或者表達不準;需求錯誤;需求說明書質(zhì)量不高沒有統(tǒng)一的、公認的方法論和規(guī)范指導;設計資料不完整;忽視接口;編碼不規(guī)范、難讀;程序文檔不完整;修改隨意,與設計有偏差,無修改記錄變更隨意不規(guī)范;維護文檔不完整;維護錯誤測試不充分;測試文檔不完整;測試過程缺乏控制不注意回歸測試19軟件的特點軟件是一種邏輯實體,而不是有形的系統(tǒng)元件,其開發(fā)成本和進度難以準確地估算軟件是被開發(fā)的或被設計的,它沒有明顯的制造過程,一旦開發(fā)成功,只需復制即可,但其維護的工作量大軟件的使用沒有硬件那樣的機械磨損和老化問題21軟件的故障曲線22軟件的開發(fā)和運行常受到計算機硬件的限制,對計算機硬件有著不同程度的依賴性軟件的開發(fā)至今尚未完全實現(xiàn)自動化軟件成本相當昂貴相當多的軟件工作涉及到社會因素軟件的特點(續(xù))23內(nèi)容摘要軟件的概念軟件工程的基本概念軟件過程及其模型25軟件工程的定義1968年NATO(北大西洋公約組織)會議上首次提出FritzBauer:軟件工程是為了經(jīng)濟地獲得可靠的和能在實際機器上高效運行的軟件而建立和使用的好的工程原則IEEE:軟件工程是(1)將系統(tǒng)化的、規(guī)范的、可度量的方法應用于軟件的開發(fā)、運行和維護的過程,即將工程化應用于軟件中;(2)(1)中所述方法的研究計算機科學技術百科全書:軟件工程是應用計算機科學、數(shù)學及管理科學等原理,以工程化的原則和方法制作軟件的工程26軟件工程的發(fā)展已經(jīng)歷了四個重要階段:1、第一代軟件工程—傳統(tǒng)的軟件工程2、第二代軟件工程—對象工程3、第三代軟件工程—過程工程4、第四代軟件工程—構件工程
80年代中到90年代,面向?qū)ο蟮姆椒ㄅc技術得到發(fā)展,研究的重點轉(zhuǎn)移到面向?qū)ο蟮姆治雠c設計,演化為一種完整的軟件開發(fā)方法和系統(tǒng)的技術體系,稱為對象工程。軟件工程的發(fā)展29軟件工程的發(fā)展已經(jīng)歷了四個重要階段:1、第一代軟件工程—傳統(tǒng)的軟件工程2、第二代軟件工程—對象工程3、第三代軟件工程—過程工程4、第四代軟件工程—構件工程80年代中開始,人們在軟件開發(fā)的實踐過程中認識到:提高軟件生產(chǎn)率,保證軟件質(zhì)量的關鍵是“軟件過程”,是軟件開發(fā)和維護中的管理和支持能力,逐步形成軟件過程工程。軟件工程的發(fā)展30軟件工程的發(fā)展已經(jīng)歷了四個重要階段:1、第一代軟件工程—傳統(tǒng)的軟件工程2、第二代軟件工程—對象工程3、第三代軟件工程—過程工程4、第四代軟件工程—構件工程90起年代,基于構件(Component)的開發(fā)方法取得重要進展,軟件系統(tǒng)的開發(fā)可通過使用現(xiàn)成的可復用構件組裝完成,而無需從頭開始構造,以此達到提高效率和質(zhì)量,降低成本的目的。稱為構件工程。軟件工程的發(fā)展31軟件工程的三要素三要素:軟件工程方法軟件工程工具軟件工程過程軟件工程層次32要素一:軟件工程方法軟件工程方法為軟件開發(fā)提供了“如何做”的技術在時間上將軟件開發(fā)工作劃分為若干階段,為每一階段規(guī)定了若干任務,并提供為完成這些任務所需的各種技術是一種使用早已定義好的技術集和符號表示習慣來組織軟件生產(chǎn)的過程代表:結構化開發(fā)方法Jackson開發(fā)方法Z形式化開發(fā)方法面向?qū)ο箝_發(fā)方法33軟件開發(fā)方法可分為幾大類:面向過程的開發(fā)方法(傳統(tǒng)的)面向?qū)ο蟮拈_發(fā)方法基于構件的開發(fā)方法特別要注意:由于軟件與程序是不同的概念,軟件開發(fā)方法與程序設計方法是兩個不同的概念軟件開發(fā)方法可以是針對局部的,也可以是針對全局的。軟件工程方法,更加強調(diào)和重點研究的是需求分析與軟件設計的開發(fā)方法34一、結構化開發(fā)方法(StructuredDevelopingMethod)是一種面向數(shù)據(jù)流的開發(fā)方法,是現(xiàn)有的軟件開發(fā)方法中最成熟,應用最廣泛的方法,主要特點是快速,自然和方便。結構化方法總的指導思想是自頂向下、逐步求精,以數(shù)據(jù)流,數(shù)據(jù)的封閉性準則來逐層分解的,它的基本原則是功能的分解與抽象。
結構化方法強調(diào)結構的合理性。提出了一組提高軟件結構質(zhì)量的準則,如功能的分解與抽象、模塊獨立性、信息屏蔽等。35面向?qū)ο蠓椒ㄊ?0年代推出的一種全新的軟件開發(fā)方法。非常實用而強有力,被譽為90年代軟件的核心技術之一。面向?qū)ο蠓椒?/p>
其基本思想是:對問題領域進行自然的分割,以更接近人類通常思維的方式建立問題領域的模型,以便對客觀的信息實體進行結構和行為的模擬,從而使設計的軟件更直接地表現(xiàn)問題的求解過程。面向?qū)ο蟮拈_發(fā)方法以對象作為最基本的元素,是分析和解決問題的核心。36軟件復用技術“軟件重用”或“軟件復用”(SoftwareReuse)是指將已有的軟件成分用于構造新的軟件系統(tǒng)。該技術是提高軟件生產(chǎn)率和質(zhì)量,降低成本的有效方法。復用方式復用程序:包括目標代碼和源代碼的復用,可通過連接(Link)、綁定(Binding)、包含(include)等功能支持及對象鏈接及嵌入(OLE)技術實現(xiàn)。復用分析
比設計復用級別更高,實現(xiàn)方式與設計復用類似復用設計:設計結果比源程序的抽象級別高,因此復用受環(huán)境影響小。可以通過從現(xiàn)有系統(tǒng)中提取全部或者不同粒度的設計構件,或者獨立于具體應用開發(fā)設計構件。復用結構
復用模塊結構或者數(shù)據(jù)結構??蓮陀玫臉嫾?/p>
構件是指可以被明確標識的軟件制品,可以是軟件開發(fā)不同階段的產(chǎn)品。
可復用構件是指可被其它系統(tǒng)復用,用于構成新系統(tǒng)的構件??蓮陀脴嫾奶匦裕?.獨立性解決相對獨立的問題,與外界聯(lián)系盡量少。2.完整性既要包括完整的解決方案,還定義相應操作。3.通用性在同類應用中具有一般性。4.可標識性通過合適的命名,構件所解決的問題是可標識的。5.可適應性適應環(huán)境變化。6.可靠性對各個使用它的系統(tǒng)都具有高的可靠性。38要素二:軟件工具為支援軟件人員的開發(fā)和維護活動而使用的軟件項目估算工具、需求分析工具、設計工具、編程和調(diào)試工具、測試工具和維護工具、……軟件工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。軟件工具集成起來,構成“計算機輔助軟件工程”(CASE)39在軟件工程活動中,軟件工程師和管理人員按照軟件工程的方法和原則,借助于計算機及其軟件工具的幫助,開發(fā)、維護、管理軟件產(chǎn)品的過程稱為計算機輔助軟件工程計算機輔助軟件工程(CASE)
ComputerAidedSoftwareEngineering40軟件工具是用來輔助計算機軟件的開發(fā)、運行、維護、管理、支持過程中的活動或任務的軟件CASE工具41CASE工具的類型按支持的軟件過程活動分類:開發(fā)過程:需求分析工具,設計工具,編碼工具,測試工具它們還可按支持的開發(fā)方法分為:結構化XX工具,面向?qū)ο骕X工具維護過程:版本控制工具,文檔分析工具,逆向工程(reverseengineering)工具,再工程(reengineering)工具管理過程:項目管理工具,配置管理工具,軟件評價工具應用類工具42集成型開發(fā)環(huán)境是一種把支持多種軟件開發(fā)方法和過程模型的軟件工具集成到一起的軟件開發(fā)環(huán)境集成型開發(fā)環(huán)境由環(huán)境集成機制和工具集組成集成型軟件開發(fā)環(huán)境43軟件開發(fā)環(huán)境一個理想的軟件工程環(huán)境:支持開發(fā)+支持管理的工具軟件開發(fā)環(huán)境的特點數(shù)據(jù)庫軟件工具的集成友好的用戶界面信息提取的能力分析能力可裁減性和可擴充性項目控制和管理方法學的支持
44典型的軟件工程環(huán)境具有三級結構:1.核心級(核心工具組、數(shù)據(jù)庫、通訊工具、運行支持功能、與硬件無關的移植接口)2.基本級(環(huán)境的用戶工具,編譯、編輯程序,作業(yè)控制語言的解釋程序等)3.應用級(應用軟件的開發(fā)工具)應用級基本級核心級45要素三:軟件工程過程將軟件工程的方法和工具綜合起來,達到合理、及時地進行計算機軟件開發(fā)的目的定義方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開發(fā)各個階段完成的里程碑等基本的過程活動包括軟件描述、軟件開發(fā)、軟件確認、軟件演化等46軟件生存周期
(softwarelifecycle)軟件有一個孕育、誕生、成長、成熟、衰亡的生存過程。這個過程即為計算機軟件的生存周期軟件生存周期大體可分為如下幾個活動:計算機系統(tǒng)工程(計劃和分析)、需求分析、設計、編碼、測試、運行和維護47軟件開發(fā)的基本目標較低的開發(fā)成本達到要求的軟件功能取得較好的軟件性能開發(fā)的軟件易于移植需要較低的維護費用按時完成開發(fā)工作,及時交付使用48目標之間的關系軟件開發(fā)項目的實施,力圖在各個目標的沖突之間取得一定程度的平衡49軟件工程七原則(B.W.Boehm,1983)按軟件生存期分階段制定計劃并認真實施堅持進行階段評審堅持嚴格的產(chǎn)品控制使用先進的程序設計技術明確責任用人少而精不斷改進開發(fā)過程50內(nèi)容摘要軟件的概念軟件工程的基本概念軟件過程及其模型51軟件過程軟件過程是軟件生存周期中的一系列相關的過程。過程是活動的集合,活動是任務的集合。軟件過程有三層含義:個體含義:軟件產(chǎn)品或系統(tǒng)在生存周期中的某一類活動的集合,如軟件開發(fā)過程,軟件管理過程等整體含義:軟件產(chǎn)品或系統(tǒng)在所有上述含義下的軟件過程的總體工程含義:即指解決軟件過程的工程,它應用軟件工程的原則、方法來構造軟件過程模型,并結合軟件產(chǎn)品的具體要求進行實例化,以及在用戶環(huán)境下的運作,以此進一步提高軟件生產(chǎn)率,降低成本52軟件過程體系結構53ISO12207軟件生存周期過程ISO/IEC12207標準把軟件生存周期中可以開展的活動分為:5個基本過程8個支持過程4個組織過程每一個過程劃分為一組活動,每項活動進一步劃分為一組任務。541、軟件規(guī)格說明:規(guī)定軟件的功能及其運行環(huán)境2、軟件開發(fā):產(chǎn)生滿足規(guī)格說明的軟件3、軟件確認:確認軟件能夠完成客戶提出的要求4、軟件演化:為滿足客戶的變更要求,軟件必須在使用的過程中演進。軟件過程通常包括四類基本過程55軟件過程模型軟件過程模型是軟件開發(fā)全部過程、活動和任務的結構框架也稱軟件開發(fā)模型或軟件生存周期模型典型的軟件過程模型有:瀑布模型(waterfallmodel)演化模型(evolutionarymodel)增量模型(incrementalmodel)原型模型(prototypingmodel)螺旋模型(spiralmodel)噴泉模型(waterfountainmodel)基于構件的開發(fā)模型(component-baseddevelopmentmodel)形式方法模型(formalmethodsmodel)56邊做邊改模型(Build-and-FixModel)“作坊式”開發(fā),主要問題在于:缺少規(guī)劃和設計環(huán)節(jié),導致軟件無法繼續(xù)修改忽略需求環(huán)節(jié)沒有考慮測試和程序的可維護性57瀑布模型
(W.Royce,1970年)問題定義編碼需求分析設計可行性研究運行與維護測試開發(fā)時期運行時期計劃時期(目標與范圍說明書)(可行性論證論告)(維護報告)(測試報告)(程序)(設計文檔)(需求說明書)58瀑布模型的特點:
特征接受上一階段的結果作為本階段的輸入利用這一輸入實施本階段應完成的活動對本階段的工作進行評審將本階段的結果作為輸出,傳遞給下一階段
缺點缺乏靈活性,難以適應需求不明確或需求經(jīng)常變化的軟件開發(fā)開發(fā)早期存在的問題往往要到交付使用時才發(fā)現(xiàn),維護代價大59循環(huán)模型為了描述軟件開發(fā)過程中可能的回溯,尤其是維護階段往往要經(jīng)歷上述各個階段,采用循環(huán)模型描述需求分析設計編碼測試運行評價計劃60增量模型項目日歷時間軟件功能性和特征12345第2次增量發(fā)布增量212345第n次增量發(fā)布增量n12345第1次增量發(fā)布增量1┇5部署(發(fā)布,反饋)4構造(編碼,測試)3建模(分析,設計)2計劃1交流61增量模型將軟件的開發(fā)過程分成若干個日程時間交錯的線性序列,每個線性序列產(chǎn)生軟件的一個可發(fā)布的“增量”版本,后一個版本是對前一版本的修改和補充,重復增量發(fā)布的過程,直至產(chǎn)生最終的完善產(chǎn)品。增量模型融合了瀑布模型的基本成分(重復地應用)和演化模型的迭代特征增量模型強調(diào)每一個增量都發(fā)布一個可運行的產(chǎn)品62增量模型特別適用于:需求經(jīng)常變化的軟件開發(fā)市場急需而開發(fā)人員和資金不能在設定的市場期限之前實現(xiàn)一個完善的產(chǎn)品的軟件開發(fā)增量模型能有計劃地管理技術風險,如早期增量版本中避免采用尚未成熟的技術63原型(prototype)是預期系統(tǒng)的一個可執(zhí)行版本,它反映了系統(tǒng)性質(zhì)(如功能、計算結果等)的一個選定的子集。一個原型不必滿足目標軟件的所有約束,其目的是能快速、低成本地構建原型。原型方法從軟件工程師與客戶的交流開始,其目的是定義軟件的總體目標,標識需求。然后快速制訂原型開發(fā)的計劃,確定原型的目標和范圍,采用快速設計的方式對其建模,并構建原型。被開發(fā)的原型應交付給客戶試用,并收集客戶的反饋意見,這些反饋意見可在下一輪迭代中對原型進行改進。在前一個原型需要改進,或者需要擴展其范圍的時候,進入下一輪原型的迭代開發(fā)。原型模型64部署交付和反饋構建原型交流快速設計方式建模快速計劃原型模型65原型模型的特點優(yōu)點能夠處理模糊的需求,開發(fā)人員與用戶可通過原型充分進行交流原型系統(tǒng)可用做培訓環(huán)境有助于降低風險、降低總的開發(fā)費用,縮短開發(fā)時間缺點對于開發(fā)人員不熟悉的領域,演化模型可能誤導開發(fā)者把系統(tǒng)的次要部分當作主要框架,作出不切題的原型原型迭代不收斂于開發(fā)者預定的目標原型過快地收斂于需求集合,使得某些基本方面被忽視資源規(guī)劃和管理比較困難,隨時更新文檔也會帶來許多麻煩長期在原型環(huán)境下開發(fā),只注意得到令人滿意的原型,容易“遺忘”用戶環(huán)境與實際客戶環(huán)境之間的差別66瀑布模型和演化模型的結合,增加了風險分析螺旋模型沿著螺線旋轉(zhuǎn),在四個象限上分別表達四個方面的活動,即:制定計劃:確定軟件目標,選定實施方案,弄清項目開發(fā)的限制條件風險分析:評價所選的方案,識別風險,消除風險工程實施:實施軟件開發(fā),驗證工作產(chǎn)品客戶評估:評價開發(fā)工作,提出修正建議螺旋模型(B.Boehm,1988)67
68簡化的螺旋模型
簡化版本:瀑布模型+風險分析每個階段之前確定目標,可供選擇的辦法及其限制條件風險分析每個階段之后評估計劃下一階段69螺旋模型的特點適合于大型軟件的開發(fā),它吸收了軟件工程“演化”的概念,使得開發(fā)人員和客戶對每個演化層出現(xiàn)的風險有所了解,繼而做出應有的反映模型的使用需要具有相當豐富的風險評估經(jīng)驗和專門知識。如果項目風險較大,又未能及時發(fā)現(xiàn),勢必造成重大損失70噴泉模型噴泉模型是一種支持面向?qū)ο箝_發(fā)的模型體現(xiàn)迭代和無間隙特征迭代:各開發(fā)活動常常重復工作多次,相關的功能在每次迭代中隨之加入演進的系統(tǒng)無間隙:開發(fā)活動之間不存在明顯的邊界71支持軟件復用(reuse)利用預先包裝好的軟件構件(包括組織內(nèi)部開發(fā)的構件和現(xiàn)存商品化構件COTS)來構造應用系統(tǒng)基于構件的開發(fā)模型72形式方法模型(formalmethods)是建立在嚴格數(shù)學基礎上的一種軟件開發(fā)方法。軟件開發(fā)的全過程中,從需求分析、規(guī)約、設計、編程、系統(tǒng)集成、測試、文檔生成、直至維護各個階段,凡是采用嚴格的數(shù)學語言,具有精確的數(shù)學語義的方法,都稱為形式化方法。形式化方法用嚴格的數(shù)學語言和語義描述功能規(guī)約和設計規(guī)約,通過數(shù)學的分析和推導,易于發(fā)現(xiàn)需求的岐義性、不完整性和不一致性,易于對分析模型、設計模型和程序進行驗證。通過數(shù)學的演算,使得從形式化功能規(guī)約到形式化設計規(guī)約,以及從形式化設計規(guī)約到程序代碼的轉(zhuǎn)換成為可能。73形式化開發(fā)的方式采用形式化的軟件開發(fā)方法,對形式化的軟件規(guī)格說明進行一系列自動的或半自動的程序變換,最終映射成為計算機系統(tǒng)能夠接受的程序系統(tǒng)74形式化規(guī)格說明及其變換技術主要技術手段基于模型的規(guī)格說明及其變換技術基于代數(shù)結構及其變換技術基于時序邏輯的規(guī)格說明和驗證技術基于可視化的形式化技術……程序變換系統(tǒng)由一系列程序變換語言(大多是系統(tǒng)內(nèi)部的中間語言)及其編譯系統(tǒng)、分析驗證工具、控制變換過程的工具和變換規(guī)則庫構成。
75本章小結軟件的基本概念軟件危機的表現(xiàn)和原因軟件工程的基本概念常見的軟件過程模型及其特點76討論:一些關于軟件工程的觀點我們擁有一套講述如何開發(fā)軟件的書籍,書中充滿了標準與示例,可以幫助我們解決軟件開發(fā)中遇到的任何問題如果我們已經(jīng)落后于計劃,可以增加更多的程序員來趕上進度項目需求總是在不斷變化,但這些變化能夠很容易地滿足,因為軟件是靈活的一旦我們寫出了程序并使其正常運行,我們的工作就結束了。人們有時認為,只有差的軟件產(chǎn)品才需要維護77本課程的教學目標軟件生命期各個階段的主要工作需求分析、設計、測試等關鍵任務的方法和技術有關CASE工具的使用MSProject;RationalRose;MSVisualSourceSafe;JUnit等主要軟件文檔的撰寫經(jīng)驗與討論78w*t!qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaJ7F4C0z)w&oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYnVjSK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOG5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0z)v&s#pXmUiRfOcK9D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年實木板項目可行性研究報告
- 2025至2030年中國環(huán)氧醇酸烘干清漆數(shù)據(jù)監(jiān)測研究報告
- 2025年單相鋁殼電動機項目可行性研究報告
- 2025至2030年中國指紋識別設備數(shù)據(jù)監(jiān)測研究報告
- 2024年12月2025宿遷市洋河新區(qū)殘疾人專職委員公開招聘2人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025至2030年中國四座蹺蹺板數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年實時監(jiān)測分析系統(tǒng)項目投資價值分析報告
- 2025至2030年塑鋼專用白粉項目投資價值分析報告
- 2025年中國清洗劑桶市場調(diào)查研究報告
- 2025年中國水平插入式液封冷水表市場調(diào)查研究報告
- GB/T 19868.2-2005基于焊接經(jīng)驗的工藝評定
- 第一章:智能控制概論-課件
- 蘭州牛肉面攻略課件
- 機房巡檢記錄表
- 警燈、警報器使用證申請表
- (中職)電梯維護與保養(yǎng)項目九 電梯曳引系統(tǒng)的維護與保養(yǎng)教學課件
- 中國科學院率先行動計劃組織實施方案
- 園林規(guī)劃設計16_任務三-交通廣場綠地設計
- 節(jié)制閘工程施工組織設計方案
- 《新媒體廣告設計》—教學教案
- 2022版義務教育(物理)課程標準(含2022年修訂和新增部分)
評論
0/150
提交評論