CASE
計算機輔助軟體工程
徠計算機輔助軟體工程(Computer Aided Software Engineering,CASE)原來是指用來支持MIS開發的、由各種計算機輔助軟體和工具組成的一個大型綜合性軟體開發環境,隨著各種工具及軟體技術的發展、完善和不斷集成,逐步由單純的輔助開發工具環境轉化為一種相對獨立的方法。
自20世紀40年代電子數字計算機出現之後,軟體開發一直約束了計算機的廣泛應用。為緩解“軟體危機”。60年代末提出了軟體工程的概念.要求人們採用丁程的原則、方法和技術開發、維護和管理軟體,從此產生了一門新的學科.即軟體工程。
製造業、建築業的發展告訴我們,當採用有力的工具輔助人工勞動時.可以極大地提高勞動生產率.並可有效地改善工作質量。在需求的驅動下.並借鑒其他業界發展的影響.人們開始了計算機輔助軟體工程的研究。早在80年代初,就湧現出許多支持軟體開發的軟體系統。從此.術語CASE被軟體工程界普遍接受,並作為軟體開發自動化支持的代名詞。
從狹義範圍來說,CASE是一組工具和方法的集合.可以輔助軟體生存周期各個階段的軟體開發。廣義地說,CASE是輔助軟體開發的任何汁算機技術,其中主要包含兩個含義:一是在軟體開發和維護過程中提供計算機輔助支持;二是在軟體開發和維護過程中引人工程化方法。
從學術研究的角度來講,CASE吸收了CAD、操作系統、資料庫、計算機網路等許多研究領域的原理和技術.把軟體開發技術、方法和軟體工具等集成為一個統一而一致的框架。由此可見.CASE是多年來在軟體開發方法、軟體開發管理和軟體丁具等方面研究和發展的產物。
CASE系統所涉及的技術有兩類,一類是支持軟體開發過程本身的技術,如支持規約、設計、實現及測試等。採用這類技術的CASE系統研製時間較長,已有許多產品上市;另一類是支持軟體開發過程管理的技術,如支持建模、過程管理等。這類技術不很成熟,採用這類技術的CASE系統會調用前一類技術的CASE系統。
從CASE系統產生方式來看,還有一種特殊的CASE技術,即元.CASE技術。元-CASE技術是生成CASE系統的生成器所採用的技術。該生成器可用來創建支持軟體開發過程活動及過程管理的CASE系統,此類CASE技術尚處於探索階段。
(1)CASE的功能
一般情況下,CASE工具應陔具有以下幾個功能。
①用戶通過CASE丁具能創建軟體開發各階段所需的圖表。
②收集有關圖表上的對象以及對象之間關係的信息,以便建立一個完整的信息集合。
③在一個中央資源庫中,應將圖表所表示的語義而不是圖標本身存儲起來。
④根據準確性、一致性、完整性檢查圖表。
⑤使用戶能以圖表來描述條件、循環、CASE結構和其他結構化程序結構。
⑥使用戶能以多種圖表類型表示一個分析或設計的不同方面。
⑦實施結構化的模型和設計,儘可能達到準確和一致。
⑧協調多個圖表上的信息,檢查信息的一致性,並集中檢查信息的準確性、一致性和完整性。
(2)CASE的作用
歸納起來,CASE有三大作用,這些作用從根本上改變了軟體系統的開發方式。CASE的作用如下所示。
①一個具有快速響應、專用資源和早期查錯功能的互動式開發環境。
②對軟體的開發和維護過程中的許多環節實現了自動化。
③通過一個強有力的圖形介面。實現了直觀的程序設計。
CASE的集成機制主要有:
①平台集成,工具運行在相同的硬體/操作系統平台上。
②數據集成,工具使用共享數據模型來操作。
③表示集成,工具提供相同的用戶界面和交互方式。
④控制集成,工具激活后能控制其他工具的操作。
⑤過程集成,系統嵌入了有關軟體過程的知識,根據軟體過程模型輔助用戶啟動各種軟體開發活動。
CASE技術的發展依賴於軟體工程方法學的發展,同時CASE技術的發展又促進著軟體工程方法學的進一步發展。今後的軟體工程應該是“方法學+CASE技術”。而且,隨著CASE技術在軟體工程中的作用不斷擴大和深化,在今後的軟體工程領域,CASE技術將有可能佔據主導地位。
計算機輔助軟體工具提供了產生圖表的自動圖形工具、屏幕和報告生成器、數據字典、擴充報告工具、分析和檢查工具、代碼生成器和文檔生成器。多數計算機輔助軟體工程工具是基於一個或者多個流行的結構化方法。一些正在開始支持面向對象的開發。一般來說,一個完整的計算機輔助軟體工程環境主要包括以下幾個內容:
(1)信息儲存器(Information repository);
(2)系統模式建立和模擬工具(System modehng and simulation tools);
(3)系統分析/設計工具(System analysis and design tools);
(4)程式編寫工具(Programming tools);
(5)測試與品質保證工具(Testing and OA tools);
(6)專業管理工具(Project management tools);
(7)反轉工程工具(Re·engineering tools)等。
與其他管理信息系統開發方法相比,CASE方法具有下列特點:
①解決了從客觀世界對象到軟體系統的直接影射,支持系統開發的全過程。
②徠自動檢測的方法大大提高了軟體的質量。
③軟體的各部分可以重複使用。
④簡化了分析設計圖表和程序編寫工作。
⑤加速了系統開發過程且系統功能比較完善。
⑥簡化了軟體開發的管理和維護。
⑦自動生成統一的標準化文檔。