1995年,整合了美國三位杰出的 軟件工程師Jacobson、Booch和Rumbaugh多年研究成果的UML誕生了。UML的出現為已有20多年歷史的 面向對象技術提供了一個統一的圖形建模語言。雖然UML在其誕生的前幾年有點被冷落,但在隨后的幾年卻在軟件業極受重視, 微軟、 IBM等極力推崇,使得UML在軟件開發中的地位日益突出。
受到這一發展勢頭的感染,三位科學家涉足了另一個“雷池”——軟件開發過程。軟件業一直在尋找一種類同于硬件的開發方法或者過程,雖然從軟件誕生起,人們就提出了各種各樣的軟件開發過程,以幫助人們提高軟件的開發效率,保證軟件質量,然而不下幾十種的軟件開發過程模型仍然存在不少缺陷,而在對統一的軟件開發方法的探索近幾年幾乎沒有大的進展,這與軟件產業在各國所受到的重視程度大相徑庭。于是,三位科學家于1997年提出了“統一的軟件開發過程(The United Software Development Process)”。在經過了多年的努力后,人們開始接受這一方法。然而UML是一種獨立于過程之外的建模語言,它并不直接和軟件開發過程相關,人們的問題是:統一的軟件開發過程對軟件開發是一劑靈丹妙藥嗎?軟件開發過程能統一嗎?
軟件的危機來自何方?
軟件在我國信息產業的發展中具有極其重要的戰略地位,隨著我國加入WTO,政府要求在“十五”計劃期間在軟件上能有所突破的迫切性很強,同時出臺了一系列鼓勵與支持軟件發展的政策,這對軟件界無疑是一個極大的支持。但是軟件發展有許多自身的規律,正像1968年“軟件危機”出現以來,人類在軟件開發方面的進步很大,但卻從來沒有真正解決軟件“危機”問題。
2002年3月22日,以探討亞洲國家經濟發展為中心的美國圣路易華盛頓大學亞洲國際 顧問委員會首次在北京舉行 會議。該團的成員美國圣路易華盛頓大學計算機系主任Catalin Roman博士接受記者采訪時認為,其實,軟件的核心是人,軟件是邏輯產品,不是硬件中的制造,而是開發,是人的智力的高度發揮。人盡管是最聰明的,但也最容易犯錯誤。軟件中的許多錯誤都是由于人的認識、知識、經驗不足,或開發過程中的疏忽或交流不夠(誤解)而造成的。而這種錯誤又是由于受到測試條件的限制未能發現而產生的。
從事軟件工程研究的專家、北航楊文龍教授也認為,由于受人的惰性(習慣)的影響,人類多有不愿改變現狀的傾向。盡管軟件技術進步了,但軟件人員中的許多人常常反對改變,行動時又拒絕改變。同時計算機的所有應用(從開始的數值計算,到后來的數據、文字、圖形、圖像、聲音、多媒體、虛擬世界,甚至知識處理等)都仍然依賴于軟件問題的解決,應該說這是不公平的。
因此,軟件工程一直在尋求解決自身在軟件開發中問題的方法! oman博士說,軟件開發過程是一個欲罷不能不得不談的話題。
統一軟件開發過程是一種進步
我們已經習慣于聽到類似的故事:軟件項目工期延遲,費用超支。更為嚴重的情況是項目即使不被取消,最終的軟件產品也不符合用戶的期望。造成這種結果的原因,很大程度上不是技術原因,而是開發過程問題。
目前面向對象開發過程模型主要有Rational Unified Process (RUP)、OPEN 和 Object-Oriented Software Process (OOSP) 等幾種。另外還存在一些考慮到特定開發隊伍背景的過程,如改進的結構化開發模型、適用于小型 團隊開發的XP (eXtreme Programming) 的開發過程等。這些過程都存在一些問題。而統一的軟件開發過程是軟件生存期模型發展迄今為止的一個里程碑,它集中了所有生存期模型的優點。
統一的軟件開發過程的優勢主要有:基于UML,而UML作為面向對象系統建模語言的國際 標準,得到了眾多國際上頂級軟件開發商和開發工具供應商的支持;強調早期就能確定或獲得穩定的 軟件體系結構,從而降低系統開發 風險; 以用例 (use case) 作為系統需求的核心表示,并驅動整個開發過程的完成,從而保證最終得到的系統正是用戶真正所需要的產品; 采用增量式、迭代式開發,縮短了產品投放市場的時間,并能適應用戶需求的變化。
因此,當三位科學家提出了統一的軟件開發過程后,雖然沒有像UML一樣得到一片掌聲,但也引起了軟件工程界的高度重視,許多公司在軟件開發中采用了這一方法,并取得了很好的效果。在國內大力推介統一軟件開發過程的楊文龍教授說:“我們需要學習別人成熟的東西,對我們而言,這是一次機會!
文章來源于領測軟件測試網 http://www.kjueaiud.com/