軟件工程-第16章第1節_第1頁
軟件工程-第16章第1節_第2頁
軟件工程-第16章第1節_第3頁
軟件工程-第16章第1節_第4頁
軟件工程-第16章第1節_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第16章

軟件工程環境

在軟件工程學中,方法和工具是同一個問題的兩個不同方面,方法是工具研制的先導,工具是方法的具體體現。軟件工程方法的研究成果最終為軟件工具和系統,只有這樣才能充分發揮軟件工程方法在軟件開發中的作用。軟件工程環境就是圍繞著軟件開發的一定目標而組織在一起的相關一組軟件工具的有機集合。對軟件工具的研究和使用雖已有很長時期,但由于工具間的互不相容,導致軟件工具集成性差。同時早期的工具主要支持軟件生存期的后期階段的開發,如編碼和調試,而這部分的工作在軟件開發過程中并不占很大比重,因此這一時期的工具并未起到應有的作用。從20世紀70年代開始軟件工程環境才受到重視,得到迅速發展。

16.1軟件開發環境16.1.1軟件開發環境概述1.軟件開發環境軟件開發環境是指在計算機的基本軟件的基礎上,為了支持軟件的開發而提供的一組工具軟件系統。在1985年第八屆國際軟件工程會議上,由IEEE和ACM支持的國際工作小組提出了“軟件開發環境”的定義為“軟件開發環境是相關的一組軟件工具集合,它支持一定的軟件開發方法或按照一定的軟件開發模型組織而成。”16.1.1軟件開發環境概述美國國防部在STARES(SoftwareTechnologyforAdaptableReliableSystem)計劃中定義為“軟件工程環境是一組方法、過程及計算機程序(計算機化的工具)的整體化構件,它支持從需求定義、程序生成直到維護的整個軟件生存期。”上述兩個定義表面上不相同,但實質上是一致的,它們都強調:(1)軟件開發環境是一組相關工具的集合。(2)這些相關工具是按一定的開發方法或一定開發處理模型組織起來的。(3)這些相關工具支持整個軟件生存期的各階段或部分階段。16.1.1軟件開發環境概述當前廣為使用的以下名稱具有相同或類似的含義:(1)軟件開發環境SDE(SoftwareDevelopmentEnvironment)。(2)軟件工程環境SEE(SoftwareEngineeringEnvironment)。(3)軟件支持環境SSE(SoftwareSupportEnvironment)。(4)項目支持環境PSE(ProjectSupportEnvironment)。(5)自動開發環境ADE(AutomatedDevelopmentEnvironment)。(6)集成化程序設計環境IPE(IntegratedProgrammingEnvironment)。16.1.1軟件開發環境概述(7)工具盒Toolbox。(8)工具箱Toolkit。而對軟件工具的定義是“可用來幫助和支持軟件需求分析、軟件開發、測試、維護、模擬、移植或管理而編制的計算機程序或軟件。”16.1.1軟件開發環境概述2.軟件開發環境的發展隨著計算機技術的發展,大量的系統軟件和應用軟件相繼開發,促進了軟件工程這門學科的發展。于是許多新的開發方法學和開發模型、設計方法和技術不斷出現,從而使得軟件開發工具和軟件開發環境不斷得到改進和完善,大大提高了軟件的生產率和軟件的質量,降低了軟件的成本。從發展角度看,軟件工程應該是“方法學+CASE技術”的結合,并且很有可能在今后的軟件工程中,CASE技術將占據主導地位。16.1.1軟件開發環境概述圖16.1表示了應用技術、開發和設計方法以及軟件開發環境隨著時間進展的發展情況。16.1.1軟件開發環境概述20世紀70年代,軟件開發與設計方法由結構化程序設計技術(SP)向結構化設計(SD)技術發展,而后又發展了結構化分析技術的一整套的相互銜接的SA-SD的方法學。與此相應的計算機輔助軟件工程技術則主要由開發孤立的軟件工具而逐步向程序設計環境的開發和使用方向發展,出現了第一代的基于正文的CASE工具。這一時代稱為計算機輔助軟件工程時代。16.1.1軟件開發環境概述20世紀80年代中期與后期,主要是實時系統設計方法以及面向對象的分析和設計方法的發展,它克服了結構化技術的缺點。在這期間開發了第二代的CASE工具,其特點是支持使用圖形表示的結構化方法,如數據流圖與結構圖。其開發環境表現在提高環境中工具的集成性方面,如“集成的項目支持環境”,它將詳細的開發信息存放在“項目詞典”中,以便在同一環境中的其他CASE工具可以共享。但這只限于同一廠商的工具之間與同一項目數據中的共享。到了20世紀80年代后期和90年代初期出現了“基于信息工程CASE”技術,這種環境集成了用于項目計劃、分析、設計、編程、測試和維護的一個工具箱的集合。16.1.1軟件開發環境概述20世紀90年代主要是進行系統集成方法與集成系統的研究,所研究的集成CASE環境可以加快開發復雜信息系統的速度,確保用戶軟件開發成功,提高軟件質量,降低投資成本和開發風險。出現一系列集成的CASE軟件產品,用以實現需求管理、應用程序分析設計和建模、編碼、軟件質量保證和測試、過程和項目管理及文檔生成管理等軟件開發工作的規范化、工程化和自動化。16.1.1軟件開發環境概述3.對軟件開發環境的要求軟件開發環境的目標是提高軟件開發的生產率和軟件產品的質量。理想的軟件開發環境是能支持整個軟件生存期階段的開發活動,并能支持各種處理模型的軟件方法學,同時實現這些開發方法的自動化。比較一致的觀點,認為軟件開發環境的基本要求如下:(1)軟件開發環境應是高度集成的一體化的系統。其含義是:①應該支持軟件生存期各個階段的活動,從需求分析、系統設計、編碼和調試、測試驗收到維護等各階段工作;②應該支持軟件生存期各個階段的管理和開發兩方面的工作;16.1.1軟件開發環境概述③應協調一致地支持各個階段和各方面的工作,具有統一形式的內部數據表示;④整個系統具有一致的用戶接口和統一的文檔報表生成系統。(2)軟件開發環境應具有高度的通用性。這是指:①能適應最常用的幾種語言;②能適應和支持不同的開發方法;③能適應不同的計算機硬件及其系統軟件,對這些方面應具有最小的依賴性(尤其是對硬件);④能適應開發不同類型的軟件;⑤能適應并考慮到不同用戶的需要(如程序員、系統分析員、項目經理、質量保證人員、初學者與熟練人員)。16.1.1軟件開發環境概述(3)軟件開發環境應易于定制、裁剪或擴充以符合用戶要求,即軟件開發環境應具有高度的適應性和靈活性。其定制是指軟件開發環境應能符合項目特性、過程和用戶的愛好。裁剪是指環境應能自動按用戶需要建立子環境,即構成適合具體硬件環境、精巧的、很少冗余的工作環境。擴充是指環境能向上擴展,根據用戶新的需求或軟件技術的新發展(如加入新工具,引入智能新機制)對原有的環境進行更新和擴充。16.1.1軟件開發環境概述(4)軟件開發環境不但可應用性要好,而且是易使用的、經濟高效的系統。為此,它應該:①易學、易用、響應時間合理和用戶喜愛;②能支持自然語言處理;③能支持交互式和分布式協作開發;④降低用戶和環境本身的資源花費。(5)軟件開發環境應有輔助開發向半自動

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論