軟件係統開發與軟件工程方法講義(ppt 41頁)
軟件係統開發與軟件工程方法講義目錄:
一、軟件危機
二、軟件工程
軟件係統開發與軟件工程方法講義內容摘要:
1)案例思考1——FAA的失敗項目
20世紀80年代中期,更換空中交通控製係統已成為美國聯邦航空管理局(FAA)非常優先的任務。1989年IBM公司獲得更換該係統的合同,截止期為2001年,預計投入25億美元。由於麵臨著極苛刻的需求,該軟件項目是已進行的最複雜的項目之一。例如,交通控製係統必須具備全局完整性並且每周7天,每天24小時不能停止工作,甚至在升級時或正常維護時,也不允許有停頓時間。任何錯誤的數據都會引起重大傷亡,任何停機均會導致世界範圍的出行延誤或潛在的危險。該係統的反應時間不能超過2-3秒。此外,該係統設計時必須考慮到允許私人飛機駕駛員繼續使用舊設備,並要求軟件能在未來移植到更新的硬件設備上。當IBM獲得該合同後,該係統的主要花費為軟件開發,用於硬件的投入僅為8萬美元。1993年,負責該項目的IBM子公司——IBM聯邦係統公司被IBM賣給了Loral公司。到1994年,該係統已花費了23億美元,但尚未提交係統的任何程序段,而此時估算整個係統的花費將增至50億美元。1994年底,FAA不得不承認該項目失敗並進行調查。作為調查的結果,FAA取消或修改了係統的四個主要部分。麵臨當前空中控製係統存在的隱患,FAA不得不訂購了一套作為權宜之計的係統,由另一家公司開發。
你認為該項目的失敗反映了什麼問題?失敗的主要原因可能是什麼?FAA為什麼選擇取消和修改的方式而不是增加資源和生產力的方式?
FAA對此項目調查總結出的原因為以下幾條:
FAA並沒有明確掌握某些係統功能的需求。
製定了過於急躁的開發和實現計劃(包括費用與進度的估計)
在給定的軟件複雜度下,沒有考慮到開發商的生產力,尤其是早期階段需要投入的資源。
..............................