六、軟件開發(fā)工具與環(huán)境
目前,軟件開發(fā)工具種類繁多,按功能可將軟件開發(fā)工具分為8類:
(1)業(yè)務系統(tǒng)規(guī)劃工具
**將企業(yè)的策略性信息需求模型化,這類工具提供一個可導出特定信息系統(tǒng)的“原模型”,這樣可使業(yè)務信息運行于企業(yè)的各個部門。
(2)項目管理工具
借助這類工具,項目管理者可以有效地估算軟件項目所需的工作量、成本和研制周期等,可以定義一個功能分解結構WBS,并制定可行的項目開發(fā)計劃;基于需求跟蹤項目的開發(fā)情況;可采集度量數據,以此評價軟件開發(fā)效率和產品質量。由此可見,這類工具又可詳細分為項目計劃工具、需求跟蹤工具及度量和管理工具等。
(3)支持工具
這類工具用于支持軟件工程過程,具體包括文檔編制工具、系統(tǒng)軟件工具、質量**工具、數據庫管理工具和軟件配置管理工具等。
(4)分析和設計工具
這類工具是用于建立待開發(fā)系統(tǒng)的模型,并評價模型的質量,**對模型進行一致性和有效性檢查,**分析與設計的完整性。它除包括支持某種開發(fā)方法的工具外,還包括基于規(guī)則體系的分析與設計機,這種分析與設計機是90年代的期望產品,它可使工具適用于各種分析和設計方法。
(5)編程工具
這類工具包括用于支持大多數傳統(tǒng)編程語言的編譯器、編輯器和調試器等,從工具輸出來看,4GL也屬于這一類。
(6)測試與分析工具 常用的測試與分析工具包括靜態(tài)分析工具和動態(tài)測試工具。
(7)原型工具 作為除瀑布式開發(fā)模式以外的另一主要開發(fā)模式是原型開發(fā)模式,因其運用的靈活性和用戶需求反應的快捷性
愈來愈受到重視,特別是隨著軟件構件重用研究的深入,更增強了這種開發(fā)模式的實用價值。但原型的構造離不開經驗信息,所以支持原型開發(fā)模式的原型工具的發(fā)展日趨專用化,諸如用于用戶界面設計的原型工具可利用圖形包快速構造出應用系統(tǒng)的界面,供用戶評價,以確定最終產品的界面形式。
(8)維護工具
用于協助維護活動的完成,包括當運行發(fā)現問題時,定位到相應的軟件開發(fā)基線;軟件配置不完備時由源程序到分析與設計模型的逆轉換工具等。軟件開發(fā)環(huán)境的分類方法很多。這里介紹三種:
(1)按解決的問題分類;
(2)按現有的軟件開發(fā)環(huán)境的演變趨向分類;
(3)按集成化程度分類。
(一) 按解決的問題分類
軟件開發(fā)中遇到的問題主要出現在三個級別上:程序設計級、系統(tǒng)合成級和項目管理級。軟件開發(fā)環(huán)境也應該在這三個級別上給予支持。
1.程序設計環(huán)境
程序設計環(huán)境主要解決一個相對他人獨立工作的程序員如何把規(guī)范說明轉變成可工作的程序的問題,即屬于局部編程(programming-in-the-small)的范疇。這個過程包括兩個重要部分:方法和工具。其中方法(例如“結構化編碼技術”)可能是更重要的部分,因為對于設計和編碼很差的程序而言,再好的工具也不會是靈丹妙藥。但作為軟件開發(fā)環(huán)境而言,我們將把重點放在工具上。
2.系統(tǒng)合成環(huán)境
系統(tǒng)合成環(huán)境主要考慮把很多子系統(tǒng)集成為一個大系統(tǒng)的問題,即屬于全局編程(proˉgramming-in-the-large)的范疇(已有文章把更大規(guī)模的系統(tǒng)編程稱為programming-in-the-garantuan)。所有的大型軟件系統(tǒng)都有兩個基本特點:第一,它們是由一些較小的、較易理解的子系統(tǒng)組成的;第二,它們是不斷改變的。這兩個特點使軟件在開發(fā)過程中產生大量的分支。因此,需要有一個系統(tǒng)合成環(huán)境來輔助人們控制子系統(tǒng)及其向大系統(tǒng)的集成。沒有適當的支持,就不能在軟件中準確地進行修改(改正錯誤或者改進功能),因為人的智力將難于招架如此之大的規(guī)模和隨之產生的高度復雜性。系統(tǒng)合成的兩個基本問題是接口控制和版本控制。接口控制要考慮對模塊相連和資源共享問題的描述和制約。版本控制則要考慮對系統(tǒng)的各個版本的生成和管理。
3.項目管理環(huán)境
大型軟件系統(tǒng)的開發(fā)和維護必然會有多個人員在一段時間內協同工作。對人與人之間的交流和合作缺乏管理就會造成比程序設計更多、更嚴重的問題。另外,項目生存期越長,參與的人越多,就有越多的管理問題產生。項目管理環(huán)境的責任就是解決由于軟件產品的規(guī)模大、生存期長、人們的交往多而造成的問題,即屬于多方編程(programming-in-the-many)的范疇。項目管理環(huán)境必須對付的三個問題是誤解、缺乏信息和利益沖突。項目管理環(huán)境可由兩部分組成:記錄和維護系統(tǒng)開發(fā)的狀態(tài)信息以及集成和分發(fā)文檔。來源:www.examda.com
(二) 按現有的軟件開發(fā)環(huán)境的演變趨向分類
按現有軟件開發(fā)環(huán)境的演變趨向,軟件開發(fā)環(huán)境可分成四類,它們對軟件開發(fā)環(huán)境的發(fā)展(在工具、用戶接口和體系結構方面)有著重要的影響。
1.以語言為中心的環(huán)境(language-centered environments)
它們是圍繞一種語言而構成的,可以提供一套適合于這種語言的工具集。這類環(huán)境是高度交互式的,通常對系統(tǒng)合成的支持是有限的,也不支持項目管理。換句話說,它基本上屬于程序設計環(huán)境。在現有的環(huán)境中,60年代末期出現的Lisp環(huán)境、70年代中期的以Mesa/Cedar語言為中心的Cedar環(huán)境、以Smalltalk語言為中心的Smalltalk環(huán)境及80年代早期形成的以Ada語言為中心的Rational環(huán)境等屬于以語言為中心的環(huán)境。
2.面向結構的環(huán)境(structure-oriented environments)
這種環(huán)境所采用的技術允許用戶直接操作結構。初始的動機是給用戶一個借于語言的結構來輸入程序的交互式工具,即語法制導編輯器(syntax-directed editor)。這種能力后來擴展到提供一個單用戶程序設計環(huán)境,它還支持交互式語義分析、程序執(zhí)行和調試。編輯器是這種環(huán)境的中心組成部分。最重要的是這種形式化地描述一種語言的語法和靜態(tài)語義的能力,由此可以生成一個結構編輯器的實例(instance)。也就是說,這種與語言無關的技術引出了環(huán)境生成器的概念,在支持局部編程、全局編程、歷史記載和存取控制表方面繼續(xù)所作的努力,使術語“語法制導”逐漸被“面向結構”所取代了。在現有的環(huán)境中,80年代初期出現的Aloe編輯器就屬于面向結構的環(huán)境,它是的Gendalf項目中的一個組成部分,它只允許用戶在結構化元素上進行操作,也就是說,用戶只看到抽象語法樹,而看不到熟悉的源語言文本,不過它不會允許用戶構造語法不正確的程序;稍后出現的Cornell程序合成器也屬于面向結構的環(huán)境,它采用文本表示方式,以克服用戶在輸入和修改語言表示方面的困難。另外一些系統(tǒng)采用混合方式,用戶可自由選擇在哪種表示方式(文本或結構)上進行操作,系統(tǒng)內部保留兩種形式,并始終使它們處于一致狀態(tài)。
3.工具箱環(huán)境(toolkit environments)
工具箱環(huán)境由一套工具組成,用于支持軟件開發(fā)和編碼階段。它從操作系統(tǒng)開始,加入一些諸如編輯程序、編譯程序、匯編程序、連接程序和調試程序等編碼工具。此外,也有一些支持大型軟件開發(fā)任務的工具,如版本控制和配置管理。它采用簡單的數據模型來提高工具的可擴充性和可移植性。這樣的環(huán)境允許高度的剪裁,但對工具集的使用幾乎不提供任何環(huán)境定義、管理或控制的技術。當代工具箱環(huán)境是使用相當成熟的技術。商業(yè)化的環(huán)境設計者正在把高級接口放在普通操作系統(tǒng)的用戶命令接口之上,即擴充操作系統(tǒng)。商業(yè)化工具箱系統(tǒng)的例子是:UNIX程序員工作臺UNIX/PWB和DEC VMS/VAX set等,它們都是在80年代中期推出的。對全局編程提供的工具分別是源代碼控制系統(tǒng)(Source Code Control System-SCCS)和代碼管理系統(tǒng)(Code Management System—CMS),它們都是起版本控制的作用,并用獨立于具體的程序設計語言的。稍后開發(fā)的的工具箱環(huán)境的例子是:可移植的公用工具環(huán)境(Portable Common Tool Environrment—PCTE)和公用APSE接口集(Comˉmon APSE Interface Set—CAIS)。其中APSE是Ada程序設計支持環(huán)境的英文縮寫。
4.基于方法的環(huán)境(method-based environments)
這種環(huán)境支持一種特定的軟件開發(fā)方法。這些方法可分為兩類:
(1)支持軟件開發(fā)周期特定階段的;
(2)管理開發(fā)過程的。前者包括規(guī)格說明、設計、確認、驗證和重用。方法不同,形式化的程序有很大不同,從非形式化到準形式化到形式化。后者又可細分為兩個部分:支持產品管理與支持開發(fā)和維護產品的過程管理。產品管理包括版本、配置和投放管理。開發(fā)過程的管理包括項目計劃和控制、任務管理、通信管理及加工過程建模。這類環(huán)境的例子有:Anna———一種用于Ada的規(guī)格說明語言;VDM———用于軟件開發(fā)的形式化方法,也是一種規(guī)格說明語言;SREM———分布式計算的設計系統(tǒng);PSL/PSA———問題描述語言/問題描述分析程序,這是為信息處理系統(tǒng)的結構化文檔編制和分析設計的。支持管理開發(fā)過程的典型環(huán)境有ISTAR———一個集成式項目管理系統(tǒng);PMA———一個知識型軟件環(huán)境中的項目管理部分。
(三) 按集成化程序分類
環(huán)境的形成與發(fā)展主要體現在各工具的集成化的程度上,當前國外軟件工程界把軟件開發(fā)環(huán)境分成三代,各代之間的主要區(qū)別及特征如下:
1.第一代
(1)建立在操作系統(tǒng)之上(如VMS和UNIX等);
(2)工具間**一個公用框架集成;
(3)只有工具使用的文件修改即可加入,由調用過程來使用這些工具;
(4)工具所使用的文件結構不變,而且成為環(huán)境文件庫的一部分;
(5)從人機界面來看,這類環(huán)境主要采用單色、低分辨率的文字終端,圖形能力較差,多數使用菜單技術。例如,70年代中期的UNIX環(huán)境以文件庫為集成核心,管道命令實施控制功能,SHELL語言表達的程序顯示用戶工作界面。
2.第二代
(1)具有真正的數據庫(如INGRES),而不是文件庫,有時稱為信息庫,多數采用E-R模式或E-R-A模式;
(2)工具集成在更低的層次上,工具和文件都作為實體保存在數據庫中,而不是簡單地看作一種獨立的成分;(3)現有的工具不能隨意放入,要作適當修改或定制;
(4)人機界面采用高分辨率、點陣式工作站,具有多窗口、圖形符等功能,采用鼠標裝置。例如,Ada程序設計支持環(huán)境(APSE),以數據庫為集成核心,有可移植性的工作界面。來源:www.examda.com
3.第三代
(1)建立在知識庫系統(tǒng)上;
(2)順序調用獨立工具的概念完全被集成化的工具集所替化,用戶不再需要在任務之間來回切換不同的工具;
(3)采用形式化方法,軟件重用等新技術;
(4)由多個工具控制的多窗口技術被單個工具操縱的多窗口技術所替代;顯然,第三代軟件開發(fā)環(huán)境中工具間的集成度,利用這些工具,人們逐漸從繁重的手工開發(fā)軟件的活動中解放出來,從而實現軟件開發(fā)和維護的自動化,提高軟件開發(fā)和維護的質量和生產率,縮短軟件開發(fā)周期并降低成本。為集中研究并解決這樣一系列的問題,80年代提出了CASE思想,目前的研究重點集中于CASE的集成化方面。
目前,軟件開發(fā)工具種類繁多,按功能可將軟件開發(fā)工具分為8類:
(1)業(yè)務系統(tǒng)規(guī)劃工具
**將企業(yè)的策略性信息需求模型化,這類工具提供一個可導出特定信息系統(tǒng)的“原模型”,這樣可使業(yè)務信息運行于企業(yè)的各個部門。
(2)項目管理工具
借助這類工具,項目管理者可以有效地估算軟件項目所需的工作量、成本和研制周期等,可以定義一個功能分解結構WBS,并制定可行的項目開發(fā)計劃;基于需求跟蹤項目的開發(fā)情況;可采集度量數據,以此評價軟件開發(fā)效率和產品質量。由此可見,這類工具又可詳細分為項目計劃工具、需求跟蹤工具及度量和管理工具等。
(3)支持工具
這類工具用于支持軟件工程過程,具體包括文檔編制工具、系統(tǒng)軟件工具、質量**工具、數據庫管理工具和軟件配置管理工具等。
(4)分析和設計工具
這類工具是用于建立待開發(fā)系統(tǒng)的模型,并評價模型的質量,**對模型進行一致性和有效性檢查,**分析與設計的完整性。它除包括支持某種開發(fā)方法的工具外,還包括基于規(guī)則體系的分析與設計機,這種分析與設計機是90年代的期望產品,它可使工具適用于各種分析和設計方法。
(5)編程工具
這類工具包括用于支持大多數傳統(tǒng)編程語言的編譯器、編輯器和調試器等,從工具輸出來看,4GL也屬于這一類。
(6)測試與分析工具 常用的測試與分析工具包括靜態(tài)分析工具和動態(tài)測試工具。
(7)原型工具 作為除瀑布式開發(fā)模式以外的另一主要開發(fā)模式是原型開發(fā)模式,因其運用的靈活性和用戶需求反應的快捷性
愈來愈受到重視,特別是隨著軟件構件重用研究的深入,更增強了這種開發(fā)模式的實用價值。但原型的構造離不開經驗信息,所以支持原型開發(fā)模式的原型工具的發(fā)展日趨專用化,諸如用于用戶界面設計的原型工具可利用圖形包快速構造出應用系統(tǒng)的界面,供用戶評價,以確定最終產品的界面形式。
(8)維護工具
用于協助維護活動的完成,包括當運行發(fā)現問題時,定位到相應的軟件開發(fā)基線;軟件配置不完備時由源程序到分析與設計模型的逆轉換工具等。軟件開發(fā)環(huán)境的分類方法很多。這里介紹三種:
(1)按解決的問題分類;
(2)按現有的軟件開發(fā)環(huán)境的演變趨向分類;
(3)按集成化程度分類。
(一) 按解決的問題分類
軟件開發(fā)中遇到的問題主要出現在三個級別上:程序設計級、系統(tǒng)合成級和項目管理級。軟件開發(fā)環(huán)境也應該在這三個級別上給予支持。
1.程序設計環(huán)境
程序設計環(huán)境主要解決一個相對他人獨立工作的程序員如何把規(guī)范說明轉變成可工作的程序的問題,即屬于局部編程(programming-in-the-small)的范疇。這個過程包括兩個重要部分:方法和工具。其中方法(例如“結構化編碼技術”)可能是更重要的部分,因為對于設計和編碼很差的程序而言,再好的工具也不會是靈丹妙藥。但作為軟件開發(fā)環(huán)境而言,我們將把重點放在工具上。
2.系統(tǒng)合成環(huán)境
系統(tǒng)合成環(huán)境主要考慮把很多子系統(tǒng)集成為一個大系統(tǒng)的問題,即屬于全局編程(proˉgramming-in-the-large)的范疇(已有文章把更大規(guī)模的系統(tǒng)編程稱為programming-in-the-garantuan)。所有的大型軟件系統(tǒng)都有兩個基本特點:第一,它們是由一些較小的、較易理解的子系統(tǒng)組成的;第二,它們是不斷改變的。這兩個特點使軟件在開發(fā)過程中產生大量的分支。因此,需要有一個系統(tǒng)合成環(huán)境來輔助人們控制子系統(tǒng)及其向大系統(tǒng)的集成。沒有適當的支持,就不能在軟件中準確地進行修改(改正錯誤或者改進功能),因為人的智力將難于招架如此之大的規(guī)模和隨之產生的高度復雜性。系統(tǒng)合成的兩個基本問題是接口控制和版本控制。接口控制要考慮對模塊相連和資源共享問題的描述和制約。版本控制則要考慮對系統(tǒng)的各個版本的生成和管理。
3.項目管理環(huán)境
大型軟件系統(tǒng)的開發(fā)和維護必然會有多個人員在一段時間內協同工作。對人與人之間的交流和合作缺乏管理就會造成比程序設計更多、更嚴重的問題。另外,項目生存期越長,參與的人越多,就有越多的管理問題產生。項目管理環(huán)境的責任就是解決由于軟件產品的規(guī)模大、生存期長、人們的交往多而造成的問題,即屬于多方編程(programming-in-the-many)的范疇。項目管理環(huán)境必須對付的三個問題是誤解、缺乏信息和利益沖突。項目管理環(huán)境可由兩部分組成:記錄和維護系統(tǒng)開發(fā)的狀態(tài)信息以及集成和分發(fā)文檔。來源:www.examda.com
(二) 按現有的軟件開發(fā)環(huán)境的演變趨向分類
按現有軟件開發(fā)環(huán)境的演變趨向,軟件開發(fā)環(huán)境可分成四類,它們對軟件開發(fā)環(huán)境的發(fā)展(在工具、用戶接口和體系結構方面)有著重要的影響。
1.以語言為中心的環(huán)境(language-centered environments)
它們是圍繞一種語言而構成的,可以提供一套適合于這種語言的工具集。這類環(huán)境是高度交互式的,通常對系統(tǒng)合成的支持是有限的,也不支持項目管理。換句話說,它基本上屬于程序設計環(huán)境。在現有的環(huán)境中,60年代末期出現的Lisp環(huán)境、70年代中期的以Mesa/Cedar語言為中心的Cedar環(huán)境、以Smalltalk語言為中心的Smalltalk環(huán)境及80年代早期形成的以Ada語言為中心的Rational環(huán)境等屬于以語言為中心的環(huán)境。
2.面向結構的環(huán)境(structure-oriented environments)
這種環(huán)境所采用的技術允許用戶直接操作結構。初始的動機是給用戶一個借于語言的結構來輸入程序的交互式工具,即語法制導編輯器(syntax-directed editor)。這種能力后來擴展到提供一個單用戶程序設計環(huán)境,它還支持交互式語義分析、程序執(zhí)行和調試。編輯器是這種環(huán)境的中心組成部分。最重要的是這種形式化地描述一種語言的語法和靜態(tài)語義的能力,由此可以生成一個結構編輯器的實例(instance)。也就是說,這種與語言無關的技術引出了環(huán)境生成器的概念,在支持局部編程、全局編程、歷史記載和存取控制表方面繼續(xù)所作的努力,使術語“語法制導”逐漸被“面向結構”所取代了。在現有的環(huán)境中,80年代初期出現的Aloe編輯器就屬于面向結構的環(huán)境,它是的Gendalf項目中的一個組成部分,它只允許用戶在結構化元素上進行操作,也就是說,用戶只看到抽象語法樹,而看不到熟悉的源語言文本,不過它不會允許用戶構造語法不正確的程序;稍后出現的Cornell程序合成器也屬于面向結構的環(huán)境,它采用文本表示方式,以克服用戶在輸入和修改語言表示方面的困難。另外一些系統(tǒng)采用混合方式,用戶可自由選擇在哪種表示方式(文本或結構)上進行操作,系統(tǒng)內部保留兩種形式,并始終使它們處于一致狀態(tài)。
3.工具箱環(huán)境(toolkit environments)
工具箱環(huán)境由一套工具組成,用于支持軟件開發(fā)和編碼階段。它從操作系統(tǒng)開始,加入一些諸如編輯程序、編譯程序、匯編程序、連接程序和調試程序等編碼工具。此外,也有一些支持大型軟件開發(fā)任務的工具,如版本控制和配置管理。它采用簡單的數據模型來提高工具的可擴充性和可移植性。這樣的環(huán)境允許高度的剪裁,但對工具集的使用幾乎不提供任何環(huán)境定義、管理或控制的技術。當代工具箱環(huán)境是使用相當成熟的技術。商業(yè)化的環(huán)境設計者正在把高級接口放在普通操作系統(tǒng)的用戶命令接口之上,即擴充操作系統(tǒng)。商業(yè)化工具箱系統(tǒng)的例子是:UNIX程序員工作臺UNIX/PWB和DEC VMS/VAX set等,它們都是在80年代中期推出的。對全局編程提供的工具分別是源代碼控制系統(tǒng)(Source Code Control System-SCCS)和代碼管理系統(tǒng)(Code Management System—CMS),它們都是起版本控制的作用,并用獨立于具體的程序設計語言的。稍后開發(fā)的的工具箱環(huán)境的例子是:可移植的公用工具環(huán)境(Portable Common Tool Environrment—PCTE)和公用APSE接口集(Comˉmon APSE Interface Set—CAIS)。其中APSE是Ada程序設計支持環(huán)境的英文縮寫。
4.基于方法的環(huán)境(method-based environments)
這種環(huán)境支持一種特定的軟件開發(fā)方法。這些方法可分為兩類:
(1)支持軟件開發(fā)周期特定階段的;
(2)管理開發(fā)過程的。前者包括規(guī)格說明、設計、確認、驗證和重用。方法不同,形式化的程序有很大不同,從非形式化到準形式化到形式化。后者又可細分為兩個部分:支持產品管理與支持開發(fā)和維護產品的過程管理。產品管理包括版本、配置和投放管理。開發(fā)過程的管理包括項目計劃和控制、任務管理、通信管理及加工過程建模。這類環(huán)境的例子有:Anna———一種用于Ada的規(guī)格說明語言;VDM———用于軟件開發(fā)的形式化方法,也是一種規(guī)格說明語言;SREM———分布式計算的設計系統(tǒng);PSL/PSA———問題描述語言/問題描述分析程序,這是為信息處理系統(tǒng)的結構化文檔編制和分析設計的。支持管理開發(fā)過程的典型環(huán)境有ISTAR———一個集成式項目管理系統(tǒng);PMA———一個知識型軟件環(huán)境中的項目管理部分。
(三) 按集成化程序分類
環(huán)境的形成與發(fā)展主要體現在各工具的集成化的程度上,當前國外軟件工程界把軟件開發(fā)環(huán)境分成三代,各代之間的主要區(qū)別及特征如下:
1.第一代
(1)建立在操作系統(tǒng)之上(如VMS和UNIX等);
(2)工具間**一個公用框架集成;
(3)只有工具使用的文件修改即可加入,由調用過程來使用這些工具;
(4)工具所使用的文件結構不變,而且成為環(huán)境文件庫的一部分;
(5)從人機界面來看,這類環(huán)境主要采用單色、低分辨率的文字終端,圖形能力較差,多數使用菜單技術。例如,70年代中期的UNIX環(huán)境以文件庫為集成核心,管道命令實施控制功能,SHELL語言表達的程序顯示用戶工作界面。
2.第二代
(1)具有真正的數據庫(如INGRES),而不是文件庫,有時稱為信息庫,多數采用E-R模式或E-R-A模式;
(2)工具集成在更低的層次上,工具和文件都作為實體保存在數據庫中,而不是簡單地看作一種獨立的成分;(3)現有的工具不能隨意放入,要作適當修改或定制;
(4)人機界面采用高分辨率、點陣式工作站,具有多窗口、圖形符等功能,采用鼠標裝置。例如,Ada程序設計支持環(huán)境(APSE),以數據庫為集成核心,有可移植性的工作界面。來源:www.examda.com
3.第三代
(1)建立在知識庫系統(tǒng)上;
(2)順序調用獨立工具的概念完全被集成化的工具集所替化,用戶不再需要在任務之間來回切換不同的工具;
(3)采用形式化方法,軟件重用等新技術;
(4)由多個工具控制的多窗口技術被單個工具操縱的多窗口技術所替代;顯然,第三代軟件開發(fā)環(huán)境中工具間的集成度,利用這些工具,人們逐漸從繁重的手工開發(fā)軟件的活動中解放出來,從而實現軟件開發(fā)和維護的自動化,提高軟件開發(fā)和維護的質量和生產率,縮短軟件開發(fā)周期并降低成本。為集中研究并解決這樣一系列的問題,80年代提出了CASE思想,目前的研究重點集中于CASE的集成化方面。

