⑴ 為什麼會出現軟體工程
為了解決軟體危機,用工程化的思想來進行軟體開發。
所有軟體工程書的第一部分都是這個內容,詳細的去下本電子書看看吧。
⑵ 軟體工程的發展過程
軟體是由計算機程序和程序設計的概念發展演化而來的,是在程序和程序設計發展到一定規模並且逐步商品化的過程中形成的。軟體開發經歷了程序設計階段、軟體設計階段和軟體工程階段的演變過程。 在Internet平台上進一步整合資源,形成巨型的、高效的、可信的虛擬環境,使所有資源能夠高效、可信地為所有用戶服務,成為軟體技術的研究熱點之一。
軟體工程領域的主要研究熱點是軟體復用和軟體構件技術,它們被視為是解決「軟體危機」的一條現實可行的途徑,是軟體工業化生產的必由之路。而且軟體工程會朝著開放性計算的方向發展,朝著可以確定行業基礎框架、指導行業發展和技術融合的「開放計算」。
⑶ 軟體工程產生的背景
軟體工程誕生背景:
幾十年前,軟體行業很不規范,小程序雖然個人能很好完成,但缺乏良好的代碼管理;大程序設計人員多,工程復雜,由於缺乏相關理論知識和經驗,導致很多失敗的大項目產生,為了解決這種情況誕生了軟體工程。建議你去讀《人月神話》,能管窺一二。
軟體工程專業誕生背景:
當年中國這片神奇的大地上缺少計算機方面剛畢業就能很好與企業接軌的人,因為高校供給企業的生源往往只知道理論知識,卻不能又快又好地上手工作,企業又往往不願意花費太多精力去培養這樣的人,所以為了解決這種蛋疼的狀況,中國的軟體工程專業誕生了,更重視計算機實踐方面的教學!
⑷ 為什麼提出軟體工程
1.軟體
要知道什麼是軟體工程,當然得先知道什麼是軟體.軟體就是計算機系統中與硬體相互依存的另一部分,它是包括程序,數據和相關文檔的完整組合.注意:軟體不僅包括程序,還包括文檔.所以做軟體也不僅僅是編程序,還需要寫文檔,後者應該提到與前者並重的地位。
2.軟體危機
從50年代到60年代,人們曾經把程序設計看作是一種任人發揮創造才能的技術領域,只要程序能得到正確的結果,程序的寫法可以不受任何約束.人們認為好的程序應該是運用了許多與眾不同的技巧和竅門的程序.這種觀點好象把編程序當成了一種藝術,因為藝術總是宣揚個性,喜歡與眾不同.(實際上,編程序的確可以看做是一種藝術,不過這種藝術是在遵循一定範式和准則這個前提下的藝術,個人觀點) 然而,隨著軟體的規模越來越大,人們在實踐中發現隨心所欲編寫的程序給維護,修改帶來了很大的麻煩.程序晦澀難懂,不同程序員,不同時期編寫的模塊難以介面.因此,軟體開發遇到了很大的困難.往往投入很大,收獲甚微.做的軟體漏洞百出,或無人使用.這就是軟體危機.
於是,人們在茫然中,漸漸的拋棄了原先的觀點,開始探索一種新的軟體開發的思想.這就導致了軟體工程的產生.程序也從按個人意圖創造的"藝術品"轉化為一種工程化的產品。
3.軟體工程的定義
軟體工程的定義很多,如:「軟體工程是開發,運行,維護和修復軟體的系統方法」;「建立並使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟體的一系列方法」等等。
定義是抽象的,掌握精髓才是關鍵。對軟體工程的最好理解就是「只可意會,不可言傳」,試問各位看官,您們都學過化學,但化學的定義是什麼呢?
但是,為了更快的意會,有必要在此廢話幾句。軟體工程可以看作是一種方法,一種思想,就是指導大家如何更好地開發軟體的方法和原則。軟工也可看作是一種工具,就是幫助大家分析,設計軟體的工具,如:流程圖,數據字典,以及一些輔助軟體等。軟工還可以看做是一種過程,就是軟體開發的過程。實際上,方法,工具,過程三者是軟體工程的三要素.
我是大一軟體工程專業的新生呢,上面的我從網上找來的,覺得挺好的,再者,說簡略一點就是,我認為是在做軟體開發的過程中加入了工程化的思想,使軟體開發,管理得更好,質量更高。
⑸ 軟體工程的意義和作用
軟體工程是計算機專業的一門重要的專業基礎課,它對於培養學生的軟體素質,提高學生的軟體開發能力與軟體項目管理能力具有重要的意義.
1995年,Standish Group針對系統開發成功的研究表明,所有的開發項目中有32%的項目在它們結束之前被中止.此外多於一半的軟體項目花費的成本相當於原來預算的2倍.
軟體工程
只有42%的軟體項目完成時達到了預期的范圍和功能,事實上,許多系統只完成了部分預期的需求.
因此,軟體的開發是一個很困難的活動,要求很仔細的計劃和執行.
軟體工程就是在這樣的背景下,由許多計算機科學家經過多方面的探索和總結而成形的.目前發展十分迅速 近二十年來計算機軟體已經成為現代科學研究和解決工程問題的基礎,以及管理部門,生產部門,和服務行業中的關鍵因素,滲透到了各個領域,成為當今世界不可缺少的一部分.
展望二十一世紀,軟體仍將成為驅動任何事情從基礎教育到遺傳工程取得新進展的動力.
學習研究工程化的軟體開發方法,使開發過程更加規范.
軟體工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
⑹ 軟體工程的基本原理有哪些
軟體工程的七條基本原理
1、用分階段的生命周期計劃嚴格管理有人經統計發現,在不成功的軟體項目中有一半左右是由於計劃不周造成的,可見把建立完善的計劃作為第一條基本原理是吸取了前人的教訓而提出來的。
在軟體開發與維護的漫長的生命周期中,需要完成許多性質各異的工作。這條基本原理意味著,應該把軟體生命周期劃分成若干個階段,並相應地制定出切實可行的計劃,然後嚴格按照計劃對軟體的開發與維護工作進行管理。Boehm 認為,在軟體的整個生命周期中應該制定並嚴格執行六類計劃,它們是項目概要計劃,里程碑計劃,項目控制計劃,產品控制計劃,驗證計劃,運行維護計劃。
不同層次的管理人員都必須嚴格按照計劃各盡其職地管理軟體開發與維護工作,絕不能受客戶或上級人員的影響而擅自背離預定計劃。
2、堅持進行階段評審
當時已經認識到,軟體的質量保證工作不能等到編碼階段結束之後再進行。這樣說至少有兩個理由:第一,大部分錯誤是在編碼之前造成的,例如,根據Boehm 等人的統計,設計錯誤占軟體錯誤的63%,編碼僅佔37%;第二,錯誤發現與改正得越晚,所需付出的代價也越高。因此,在每個階段都進行嚴格的評審,以便盡早發現在軟體開發過程中所犯的錯誤,是一條必須遵循的重要原則。
3、實行嚴格的產品控制
在軟體開發過程中不應隨意改變需求,因為改變一項需求往往需要付出較高的代價,但是,
在軟體開發過程中改變需求又是難免的,由於外部環境的變化,相應地改變用戶需求是一種客觀需要,顯然不能硬性禁止客戶提出改變需求的要求,而只能依靠科學的產品控制技術來順應這種要求。也就是說,當改變需求時,為了保持軟體各個配置成分的一致性,
必須實行嚴格的產品控制,其中主要是實行基準配置管理。所謂基準配置又稱基線配置,它們是經過階段評審後的軟體配置成分(各個階段產生的文檔或程序代碼)。基準配置管理也稱為變
動控制:
一切有關修改軟體的建議,
特別是涉及到對基準配置的修改建議,必須按照嚴格的規程進行評審,獲得批准以後才能實施修改。絕對不能誰想修改軟體(包括尚在開發過程中的軟體),就隨意進行修改。
4、採用現代程序設計技術
從提出軟體工程的概念開始,人們一直把主要精力用於研究各種新的程序設計技術。
60年代末提出的結構程序設計技術,已經成為絕大多數人公認的先進的程序設計技術。以後又進一步發展出各種結構分析(SA)與結構設計(SD)技術。實踐表明,採用先進的技術既可
提高軟體開發的效率,又可提高軟體維護的效率。
5、結果應能清楚地審查
軟體產品不同於一般的物理產品,它是看不崢摸不著的邏輯產品。軟體開發人員
(或開發小組)
的工作進展情況可見性差,難以准確度量,從而使得軟體產品的開發過程比一般產品的
開發過程更難於評價和管理。為了提高軟體開發過程的可見性,更好地進行管理,應該根據
軟體開發項目的總目標及完成期限,規定開發組織的責任和產品標准,從而使得所得到的結
果能夠清楚地審查。
6、開發小組的人員應該少而精
這條基本原理的含義是,軟體開發小組的組成人員的素質應該好,而人數則不宜過多。
開發小組人員的素質和數量是影響軟體產品質量和開發效率的重要因素。
素質高的人員的開發效率比素質低的人員的開發效率可能高幾倍至幾十倍,而且素質高的人員所開發的軟體中的錯誤明顯少於素質低的人員所開發的軟體中的錯誤。此外,隨著開發小組人員數目的增加,因為交流情況討論問題而造成的通信開銷也急劇增加。當開發小組人員數為N時,可能的通信路徑有N(N?/FONT>1)/2條,可見隨著人數N的增大,通信開銷將急劇增加。因此,
組成少而精的開發小組是軟體工程的一條基本原理。
7、承認不斷改進軟體工程實踐的必要性遵循上述六條基本原理,就能夠按照當代軟體工程基本原理實現軟體的工程化生產,但是,僅有上述六條原理並不能保證軟體開發與維護的過程能趕上時代前進的步伐,能跟上技術的不斷進步。
l
因此,Boehm提出應把承認不斷改進軟體工程實踐的必要性作為軟體工程的第七條基本原理。按照這條原理,不僅要積極主動地採納新的軟體技術,而且要注意不斷總結經驗,例如,收集進度和資源耗費數據,收集出錯類型和問題報告數據等等。這些數據不僅可以用來評價新的軟體技術的效果,而且可以用來指明必須著重開發的軟體工具和應該優先研究的技術
⑺ 軟體工程專業是什麼時候產生的未來就業怎樣學習的難度怎樣嗎
目前學計算機 還是挺不錯的好就業,計算機分很多專業如平面設計,UI設計,互聯網營銷,電競,動漫,都是非常好就業的專業哦,選擇自己喜歡的專業
⑻ 是什麼導致了軟體工程
它涉及到程序設計語言,資料庫,軟體開發工具,系統平台,
標准
,設計模式等方面。 軟體工程的框架可概括為:目標、過程和原則。
(1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
(2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構
,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。
(3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。
軟體工程是指導計算機軟體開發和維護的一門工程學科。採用工程的概念、原理、技術和方法來開發和維護計算機軟體,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術和方法結合起來,以經濟地開發出高質量的軟體並有效地維護它。
⑼ 軟體工程出現的原因
由於上世紀中葉的軟體危機