軟體工程之整合環境        

未來CASE的發展目標, 便是希望藉著更有效的工具實現,將方法論中的許多 細節自動化後,進而使得整個軟體發展過程達到更高的自動化程度,以節省人力成本、提高軟體品質。
文/ 蔡東倫

【前言】

由於電腦科技的發明, 軟體即伴隨著硬體進入企業,軟體是一群簡單電腦指令的集合體,最初只是協助企業做大量電腦交易的處理, 隨著硬體的技術進步和成本 降低, 軟體在企業的空間及彈性變大, 從企業資訊管理到個人電腦的電子試算表,  幾乎都可經由軟體來完成。

軟體之所以受到企業的青睞,主要是因為軟體可以為企 業開源節流, 一方面軟體協助企業做企業決策分析進一步增加企業的競爭力,另一 方面經由資訊管理的功能取代了許多的企業人員及文件,節約了大量的管銷及人事費用。

軟體危機

然而在軟體的重要性急速地提高的同時, 軟體技術、人員教育訓練及企業軟 體制度來不及建立下,產生了下列所謂的軟體危機:

  1. 軟體生產力低
  2. 近二十年來硬體的成長每年逾 30%, 而軟體每年只勉強以 4 - 7% 的速度在成長,資訊系統的交付日期一再延後, 許多待開發的軟體系統無法如期開始。

  3. 軟體生產成本高
  4. 在 1960 年代軟體開發成本約佔總成本的 20% 以下;1970 年代軟體成本已佔總成本的 80% 以上,值得注意的是,軟體維護費用在軟體成本 中竟然高達 65% 左右。

  5. 軟體品質低落
  6. 美國國防部在 1986 年公佈的數據指出,所有驗收的外包軟體之中,竟然只有 4% 是可用而其餘的 96% 卻是不堪一用。另外, 大部分的企業自行開發的資訊系統中, 有四分之三也是功敗垂成。因此軟體維護成本居高不下,  軟體產品品質低落是最主要的原因。

電腦輔助軟體工程(CASE)

由CASE的定義在歷史演進的過程看來, 其目標應是朝向提高下列 三 個組成分 子的自動化程度來進行:

  1. 軟體發展過程

    即為軟體發展過程中之軟體需求分析、軟體設計、程式設計、 軟體整合與測試等階段的自動化。

  2. 軟體方法論

    即為分析與設計的方法論,例如:雛型方法、功能性設計方法 ( DFD 與資料字典 )、資料模式設計方法( ERD ) 等等。

  3. 軟體發展環境

    是軟體發展過程與軟體方法論實現的地方,相當於是建立在作業系統上面的軟體架構。

未來CASE的發展目標,便是希望藉著更有效的工具實現, 將方法論中的許多 細節自動化後, 進而使得整個軟體發展過程達到更高的自動化程度,以節省人力成 本、提高軟體品質, 便能夠解決目前的軟體危機。

凌群CASE解決方案

危機有可能是轉機, 歸究「軟體危機」發生原因的根源來自於軟體發展是一門 “藝術”而無法自動化與管理, 因此凌群電腦公司為了提昇國內資訊界大型系統軟 體的開發及製作技術, 投入大量的人力與物力,延攬國內外百餘位資訊博、碩士專 業人才,進行各種 CASE 工具及資料庫系統的研發工作,歷經十餘年的努力而研發 出如下之軟體產品:

  1. SDW ( Software Development Workbench )

    協助軟體發展之工具,基本上由系統管理、四種方法論工具:

    • DFD ( Data Flow Diagram ),
    • ERD ( Entity Relationship Diagram ),
    • STD ( State Transformation Diagram ),
    • SC ( Structure Chart ) 、

    一種繪圖工具:

    • DE ( Diagram Editor)

    及擔任 Repository 的資料庫系統所組成。

  2. SDG(Software Development )

    輔助文件撰寫之工具,文件種類分為標準、範例、 專案、獨立文件、分割文件等,可針對各文件做文件編輯與文件管理。

  3. C-Aid

    4GL工具,在視窗的環境下可定義各種物件,如Window、Menu、( Radio ) Button、Scrollbar、Text等,根據使用者對物件的定義產生各種C語言,再用各別的C編譯器產生可執行程式。

  4. DBMaker

    資料庫系統, 以物件導向及關連式資料庫模式的觀念開發資料庫系統核心 ( Kernel ),提供結構化標準查詢語言 SQL 及開放式連接界面 ODBC,並採取先進的 Client-Server 架構, 因此可彈性地配合各類應用系統之開發。

凌群電腦公司研發整合 CASE 工具及資料庫系統遵循 CASE 目標,配合發展過程的各階段:

  1. 軟體需求分析階段

    以SDW工具之DFD描述處理模式,SDW之ERD描述邏 輯資料模式,以 SDW 之資料字典平衡兩種模式,最後以SDG工具撰寫SRS文 件後交付文件審查。

  2. 軟體設計階段

    提供 SDW 工具將 DFD 轉換為 SC、邏輯 ERD 轉換成實體 ERD,  以 SDW 之資料字典檢查模組與實體資料之一致性,最後使用 SDG 追溯 SRS 來撰寫 SDD 文件後交付文件審查。

  3. 程式設計階段

    提供 C-Aid 讀取上個階段的 SC ( 模組 ) 及實體資料 ( 表格 ),產生 SQL 語言輸入 DBMaker 後成為資料庫Schema,在 C-Aid 上定義用戶界面後即可產生可執行程式,程式執行後可透過 ODBC 及 Client-Server 架構至 DBMaker 存取資料。最後以 SDG 工具撰寫各個模組及軟體之 SDF,記錄每個模組之測試需求、測試個案、測試程序、及測試結果, 以供後續軟體維護之用。

在方法論而言, 凌群電腦公司採用一般最常見的軟體發展方法論,如 SDW 可記錄資料流程圖 ( DFD )、實體關係圖 ( ERD )、資料字典 ( DD )、模組結構圖 ( SC )、狀態 轉換圖 ( STD ) 等。

以發展環境而論, 凌群電腦公司所採取之發展環境採取如下圖之整合環境,也 就是以 SDW 將需求轉換成處理模式及資料模式並建立在 Repository 中,C-Aid 利用 Repository 及使用者輸入之用戶模式 ( GUI ) 可輸出可執行程式,SDG 利用各階段在 Repository 所整合的資料加上使用者的詳細說明可自動產生文件,DBMaker 接受 C-Aid 輸出之 SQL 以建立資料庫模式,Repository 用來做軟體測試、及後續的系統 維護工作。以上的發展環境皆是將軟體發展必要的資訊以資料整合機制整合於 Repository中, 可使用 DBMaker 或其他的資料庫系統做為整合資訊之存放場所。

除了理論的鑽研外,凌群電腦公司也十分的重視實際應用, 近年來逐漸地將所研發完成的CASE工具加入內部專案及向外承接的大型專案中,如陸軍醫院專案、診所套裝軟體、凌群研究所之產品管理系統等等,都呈現出各工具驚人的實力。

結論

軟體工程在先進國家的發展已逾十數年,而台灣才在剛起步階段, 身為台灣資訊 服務產業龍頭之一的凌群電腦公司雖在數年前才成立研究發展處,然而參考其他先 進國家的軟體工程理論及技術加上這幾年來的研發心得,已能建立完善的軟體工程 制度, 除了運用在承接專案外並且計畫作為其他企業或軟體公司的諮詢及教育訓練 基礎, 以期能將研發成果分享國人並共同解決時下在台灣所發生的軟體危機。

Copyright 2002 SYSCOM Computer Engineering Co. All rights reserved.