A. 什麼是軟體工程它有哪些本質特徵怎樣用軟體工程消除軟體危機
○1 軟體危機是指在計算機軟體開發,使用與維護過程中遇到的一系列嚴重問題和難題.它 包括兩方面:如何開發軟體,已滿足對軟體日益增長的需求;如何維護數量不斷增長的已有 軟體.
○2.軟體危機表現在以下四個方面:
(1) 對軟體開發成本和進度的估計常常很不準確.常常出現實際成本比估算成本高出一個數量 級,實際進度比計劃進度拖延幾個月甚至幾年的現象.而為了趕進度和節約成本所採取的一 些權宜之計又往往損害了軟體產品的質量.這些都降低了開發商的信譽,引起用戶不滿. (2) 用戶對已完成的軟體不滿意的現象時有發生. (3) 軟體產品的質量往往是靠不住的. (4) 軟體常常是不可維護的. (5) 軟體通常沒有適當的文檔資料.文檔資料不全或不合格,必將給軟體開發和維護工作帶來 許多難以想像的困難和難以解決的問題. (6) 軟體成本,軟體維護費在計算機系統總成本中所佔比例逐年上升. (7) 開發生產率提高的速度遠跟不上計算機應用普及的需求.
○3 造成軟體危機的原因是: (1) 來自軟體自身的特點:是邏輯部件,缺乏可見性;規模龐大,復雜,修改,維護困難. (2) 軟體開發與維護的方法不當: 忽視需求分析; 認為軟體開發等於程序編寫; 輕視軟體維護. (3) 供求矛盾將是一個永恆的主題:面對日益增長的軟體需求,人們顯得力不從心.
B. 什麼是軟體危機怎麼解決這個危機
軟體危機是指落後的軟體生產方式無法滿足迅速增長的計算機軟體需求,從而導致軟體開發與維護過程中出現一系列嚴重問題的現象。那麼你對軟體危機了解多少呢?以下是由我整理關於什麼是軟體危機的內容,希望大家喜歡!
軟體危機的介紹
軟體危機(software crisis),20 世紀60年代以前,計算機剛剛投入實際使用,軟體設計往往只是為了一個特定的應用而在指定的計算機上設計和編制,採用密切依賴於計算機的機器代碼或匯編語言,軟體的規模比較小,文檔資料通常也不存在,很少使用系統化的開發 方法 ,設計軟體往往等同於編製程序,基本上是個人設計、個人使用、個人操作、自給自足的私人化的軟體生產方式。
60年代中期,大容量、高速度計算機的出現,使計算機的應用范圍迅速擴大,軟體開發急劇增長。高級語言開始出現; 操作系統 的發展引起了計算機應用方式的變化;大量數據處理導致第一代資料庫管理系統的誕生。軟體系統的規模越來越大,復雜程度越來越高,軟體可靠性問題也越來越突出。原來的個人設計、個人使用的方式不再能滿足要求,迫切需要改變軟體生產方式,提高軟體生產率,軟體危機開始爆發 。
1968年,北大西洋公約組織(NATO)在聯邦德國的國際學術會議創造軟體危機(Software crisis)一詞。而1960年代中期開始爆發眾所周知的軟體危機,為了解決問題,在1968、1969年連續召開兩次著名的NATO會議,並同時提出軟體工程的概念。
軟體危機的解決途徑
軟體工程誕生於60年代末期,它作為一個新興的工程學科,主要研究軟體生產的客觀規律性,建立與系統化軟體生產有關的概念、原則、方法、技術和工具,指導和支持軟體系統的生產活動,以期達到降低軟體生產成本 、改進軟體產品質量、提高軟體生產率水平的目標。軟體工程學從硬體工程和其他人類工程中吸收了許多成功的 經驗 ,明確提出了軟體生命周期的模型,發展了許多軟體開發與維護階段適用的技術和方法,並應用於軟體工程實踐,取得良好的效果。
在軟體開發過程中人們開始研製和使用軟體工具,用以輔助進行軟體項目管理與技術生產,人們還將軟體生命周期各階段使用的軟體工具有機地集合成為一個整體,形成能夠連續支持軟體開發與維護全過程的集成化軟體支援環境,以期從管理和技術兩方面解決軟體危機問題。
此外,人工智慧與軟體工程的結合成為80年代末期活躍的研究領域。基於程序變換、自動生成和可重用軟體等軟體新技術研究也已取得一定的進展,把程序設計自動化的進程向前推進一步。在軟體工程理論的指導下,發達國家已經建立起較為完備的軟體工業化生產體系,形成了強大的軟體生產能力 。軟體標准化與可重用性得到了工業界的高度重視,在避免重用勞動,緩解軟體危機方面起到了重要作用。
軟體危機的主要表現
軟體開發進度難以預測
拖延工期幾個月甚至幾年的現象並不罕見,這種現象降低了軟體開發組織的信譽。
軟體開發成本難以控制
投資一再追加,令人難於置信。往往是實際成本比預算成本高出一個數量級。
而為了趕進度和節約成本所採取的一些權宜之計又往往損害了軟體產品的質量,從而不可避免地會引起用戶的不滿。
用戶對產品功能難以滿足
開發人員和用戶之間很難溝通、矛盾很難統一。往往是軟體開發人員不能真正了解用戶的需求,而用戶又不了解計算機求解問題的模式和能力,雙方無法用共同熟悉的語言進行交流和描述。
在雙方互不充分了解的情況下,就倉促上陣設計系統、匆忙著手編寫程序,這種"閉門造車"的開發方式必然導致最終的產品不符合用戶的實際需要。
軟體產品質量無法保證
系統中的錯誤難以消除。軟體是邏輯產品,質量問題很難以統一的標準度量,因而造成質量控制困難。
軟體產品並不是沒有錯誤,而是盲目檢測很難發現錯誤,而隱藏下來的錯誤往往是造成重大事故的隱患。
軟體產品難以維護
軟體產品本質上是開發人員的代碼化的 邏輯思維 活動,他人難以替代。除非是開發者本人,否則很難及時檢測、排除系統故障。
為使系統適應新的硬體環境,或根據用戶的需要在原系統中增加一些新的功能,又有可能增加系統中的錯誤。
軟體缺少適當的文檔資料
文檔資料是軟體必不可少的重要組成部分。實際上,軟體的文檔資料是開發組織和用戶的之間權利和義務的合同書,是系統管理者、總體設計者向開發人員下達的任務書,是系統維護人員的技術指導手冊,是用戶的操作 說明書 。
缺乏必要的文檔資料或者文檔資料不合格,將給軟體開發和維護帶來許多嚴重的困難和問題。
軟體危機的原因分析
用戶需求不明確
在軟體開發過程中,用戶需求不明確問題主要體現在四個方面:
在軟體開發出來之前,用戶自己也不清楚軟體開發的具體需求;
用戶對軟體開發需求的描述不精確,可能有遺漏、有二義性、甚至有錯誤;
在軟體開發過程中,用戶還提出修改軟體開發功能、界面、支撐環境等方面的要求;
軟體開發人員對用戶需求的理解與用戶本來願望有差異。
缺乏正確的理論指導
缺乏有力的方法學和工具方面的支持。由於軟體開發不同於大多數其他工業產品,其開發過程是復雜的邏輯思維過程,其產品極大程度地依賴於開發人員高度的智力投入。由於過分地依靠程序設計人員在軟體開發過程中的技巧和創造性,加劇軟體開發產品的個性化,也是發生軟體開發危機的一個重要原因。
軟體開發規模越來越大
隨著軟體開發應用范圍的增廣,軟體開發規模愈來愈大。大型軟體開發項目需要組織一定的人力共同完成,而多數管理人員缺乏開發大型軟體開發系統的經驗,而多數軟體開發人員又缺乏管理方面的經驗。各類人員的信息交流不及時、不準確、有時還會產生誤解。軟體開發項目開發人員不能有效地、獨立自主地處理大型軟體開發的全部關系和各個分支,因此容易產生疏漏和錯誤。
軟體開發復雜度越來越高
C. 軟體危機產生的原因是什麼
軟體危機產生的原因:
1、用戶需求不明確
2、在軟體開發過程中,用戶需求不明確問題主要體現在四個方面:
3、在軟體開發出來之前,用戶自己也不清楚軟體開發的具體需求;
4、用戶對軟體開發需求的描述不精確,可能有遺漏、有二義性、甚至有錯誤;
5、在軟體開發過程中,用戶還提出修改軟體開發功能、界面、支撐環境等方面的要求;
6、軟體開發人員對用戶需求的理解與用戶本來願望有差異。
軟體危機解決途徑:
軟體工程誕生於60年代末期,它作為一個新興的工程學科,主要研究軟體生產的客觀規律性,建立與系統化軟體生產有關的概念、原則、方法、技術和工具,指導和支持軟體系統的生產活動,以期達到降低軟體生產成本 、改進軟體產品質量、提高軟體生產率水平的目標。軟體工程學從硬體工程和其他人類工程中吸收了許多成功的經驗,明確提出了軟體生命周期的模型,發展了許多軟體開發與維護階段適用的技術和方法,並應用於軟體工程實踐,取得良好的效果。
在軟體開發過程中人們開始研製和使用軟體工具,用以輔助進行軟體項目管理與技術生產,人們還將軟體生命周期各階段使用的軟體工具有機地集合成為一個整體,形成能夠連續支持軟體開發與維護全過程的集成化軟體支援環境,以期從管理和技術兩方面解決軟體危機問題。
D. 軟體工程是如何克服軟體危機的
研製軟體系統需要投入大量的人力和物力,但系統的質量卻難以保證,也就是說,開發軟體所需的高成本同產品的低質量之間有著尖銳的矛盾,這種現象就是所謂的「軟體危機」。
· 產生軟體危機的原因:
j 用戶對軟體需求的描述不精確,可能有遺漏、有二義性、有錯誤,甚至在軟體開發過程中,用戶還提出修改軟體功能、界面、支撐環境等方面的要求。
k 軟體開發人員對用戶需求的理解與用戶的本來願望有差異,導致開發出來的軟體產品與用戶要求不一致。
l 大型軟體項目需要組織一定的人力共同完成,多數管理人員缺乏開發大型軟體系統的經驗。各類人員的信息交流不及時、不準確、有時還會產生誤解。
m 軟體項目開發人員不能有效地、獨立自主地處理大型軟體的全部關系和各個分支,因此容易產生疏漏和錯誤。
n 缺乏有利的方法學和工具方面的支持,過分的依靠程序設計人員在軟體開發過程中的技巧和創造性,加劇軟體產品的個性化。
o 軟體產品的特殊性和人類智力的局限性,導致人們無力處理「復雜問題」。
· 要克服軟體危機,就要認真分析軟體危機的原因,探索用工程的方法進行軟體生產的可能性,即用現代工程的概念、原理、技術和方法進行計算機軟體的開發、管理、維護和更新。
2. 什麼叫軟體工程?軟體工程的誕生是否從根本上消除了軟體危機? 為什麼?
解:· 軟體工程是用工程、科學和數學的原則與方法研製、維護計算機軟體的有關技術及管理方法。
· 軟體工程的誕生只能大大減少軟體開發成本並提高軟體質量,不能從根本上消除軟體危機。
3.軟體生存周期為什麼要劃分階段?各個階段的任務是什麼?
解:· 軟體也是一種產品,同樣存在生存周期。把軟體生存周期劃分為幾個階段後,軟體開發按照每個階段的基本任務進行並產生相應的工作結果,這樣有利於對軟體開發過程進行管理,有利於提高軟體產品質量。
· 可行性研究與計劃階段的基本任務:研究開發該項目的可行性。
需求分析階段的基本任務: 理解和表達用戶的要求。
設計階段的基本任務: 建立系統的結構。
編程階段的基本任務: 編寫程序。
測試階段的基本任務: 發現錯誤和排除錯誤。
4.什麼是軟體?如何評價軟體的質量?
解:· 軟體是程序以及開發、使用和維護程序所需的所有文檔。
· 軟體質量從可維護性、可靠性、可理解性和效率等方面對軟體作較全面的評價。
求採納為滿意回答。
E. 怎樣運用軟體工程消除軟體危機
你這個問題太泛了,軟體工程的主要目標就是為了消除軟體危機,但是要達到這個目標是很難的。
什麼是軟體工程?它有哪些本質特性?怎樣用軟體工程消除軟體危機?
答: 軟體工程是指導計算機軟體開發和維護的一門工程學科。
採用工程的概念、原理、技術和方法來 開發與維護軟體,
把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,
以 經濟地開發出高質量的軟體並有效地維護它。
~希望回答對你有幫助,如果有疑問,請繼續「追問」!
~答題不易,互相理解,您的採納是我前進的動力,感謝您!!.
F. 軟體危機產生的原因,以及應對方法
軟體危機是指落後的軟體生產方式無法滿足迅速增長的計算機軟體需求,從而導致軟體開發與維護過程中出現一系列嚴重問題的現象。
產生軟體危機的原因主要有兩個方面:
1.這與軟體本身的特性有關。
與硬體不同,軟體是計算機系統的邏輯部分,而不是物理部分。軟體樣品是產品,試制過程也是生產過程。
軟體不會因使用時間過長而「老化」或「磨損」;在編寫程序代碼並在計算機上運行之前,很難測量軟體開發過程的進度和評估軟體質量。因此,軟體開發過程的管理和控制是非常困難的。
2.軟體開發人員的弱點。
首先,軟體產品是人們思考的結果,所以軟體產品的水平最終在很大程度上取決於軟體人員的教育、培訓和經驗積累。
合作開發大型軟體通常需要很多人,即使對於一個軟體開發人員深入研究領域的應用程序,所以你需要用戶和軟體和軟體開發人員之間的溝通,不可避免地發生在這個過程中理解的差異,導致後續錯誤的設計或實現。
(6)如何使用軟體工程解決軟體危機擴展閱讀:
解決途徑
人們開始開發過程中軟體開發和軟體工具的使用,協助軟體項目管理和生產技術,人們還將使用在軟體生命周期的所有階段的軟體工具有機地集合作為一個整體,形成可以支持軟體開發和維護的整個過程的集成軟體支持環境,以解決軟體危機從管理和技術兩個方面的問題。
此外,人工智慧和軟體工程的結合在20世紀80年代後期成為一個活躍的研究領域。基於程序轉換、自動生成和可復用軟體的新軟體技術的研究取得了一定的進展。
在軟體工程理論的指導下,發達國家建立了較為完整的軟體產業生產體系,形成了較強的軟體生產能力。軟體標准化和可重用性受到業界的高度重視,在避免勞動重復使用和緩解軟體危機方面發揮了重要作用。
G. 什麼叫軟體工程軟體工程是如何克服軟體危機的
軟體工程是將系統的、規范的、可度量的工程化方法應用於軟體開發、運行和維護的全過程及上述方法的研究。為了克服軟體危機,人們從其他產業的工程化生產得到啟示,採用工程的概念、原理、技術和方法來開發和維護軟體