導航:首頁 > 軟體問題 > 為什麼需要軟體工程

為什麼需要軟體工程

發布時間:2022-05-03 19:24:53

① 為什麼提出軟體工程

1.軟體
要知道什麼是軟體工程,當然得先知道什麼是軟體.軟體就是計算機系統中與硬體相互依存的另一部分,它是包括程序,數據和相關文檔的完整組合.注意:軟體不僅包括程序,還包括文檔.所以做軟體也不僅僅是編程序,還需要寫文檔,後者應該提到與前者並重的地位。
2.軟體危機
從50年代到60年代,人們曾經把程序設計看作是一種任人發揮創造才能的技術領域,只要程序能得到正確的結果,程序的寫法可以不受任何約束.人們認為好的程序應該是運用了許多與眾不同的技巧和竅門的程序.這種觀點好象把編程序當成了一種藝術,因為藝術總是宣揚個性,喜歡與眾不同.(實際上,編程序的確可以看做是一種藝術,不過這種藝術是在遵循一定範式和准則這個前提下的藝術,個人觀點) 然而,隨著軟體的規模越來越大,人們在實踐中發現隨心所欲編寫的程序給維護,修改帶來了很大的麻煩.程序晦澀難懂,不同程序員,不同時期編寫的模塊難以介面.因此,軟體開發遇到了很大的困難.往往投入很大,收獲甚微.做的軟體漏洞百出,或無人使用.這就是軟體危機.
於是,人們在茫然中,漸漸的拋棄了原先的觀點,開始探索一種新的軟體開發的思想.這就導致了軟體工程的產生.程序也從按個人意圖創造的"藝術品"轉化為一種工程化的產品。
3.軟體工程的定義
軟體工程的定義很多,如:「軟體工程是開發,運行,維護和修復軟體的系統方法」;「建立並使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟體的一系列方法」等等。
定義是抽象的,掌握精髓才是關鍵。對軟體工程的最好理解就是「只可意會,不可言傳」,試問各位看官,您們都學過化學,但化學的定義是什麼呢?
但是,為了更快的意會,有必要在此廢話幾句。軟體工程可以看作是一種方法,一種思想,就是指導大家如何更好地開發軟體的方法和原則。軟工也可看作是一種工具,就是幫助大家分析,設計軟體的工具,如:流程圖,數據字典,以及一些輔助軟體等。軟工還可以看做是一種過程,就是軟體開發的過程。實際上,方法,工具,過程三者是軟體工程的三要素.

我是大一軟體工程專業的新生呢,上面的我從網上找來的,覺得挺好的,再者,說簡略一點就是,我認為是在做軟體開發的過程中加入了工程化的思想,使軟體開發,管理得更好,質量更高。

② 為何需要軟體工程

軟體工程是相對於硬體工程而言,「軟體工程」相當於人的大腦學習、提升、組織營運,重要!!!

③ 軟體工程對於社會的重要性

軟體工程目的和其他學科的工程方法(比如土木工程等)並無太大差異,主要是降低軟體系統的復雜性、提高其可控性,以此在軟體開發、維護、測試等各個階段提高效率。其實要了解軟體工程「有什麼用」,最好能了解軟體開發過程有多復雜(或者說為什麼稱之為「復雜」)。如果只是一個geek自己隨便開發上千行代碼的小系統,其實並不需要傳統的軟體工程方法。但是,如果開發的系統的規模上升到萬行乃至十萬行左右的規模,加上軟體中各行代碼間存在的千絲萬縷的聯系,普通人(即使是常常具有自我智力優越感的程序員)要繼續開發並且維護這樣一個系統就會變得捉襟見肘了。當現實中存在這種情況時,程序員們往往會說,這個系統「太復雜了」,或者會說這個系統「太亂了」。復雜原因在於程序員面對的問題規模(萬行乃至於十萬行左右的系統中千絲萬縷的代碼邏輯)超過了他人腦所能處理的極限。面對現實問題,比如,一個銀行系統,我們很難改變它本身的規模,因為銀行業務本身就很龐大,但是人們能做到的是降低那「龐然大物」內部的邏輯復雜性。更重要的是,很多時候,程序員在開發一個軟體功能時並不需要完全了解整個系統的所有細節,他只需要專注於某個局部。這樣,相比於系統規模,減少系統內部的邏輯耦合就更為重要。由此,軟體工程的核心目的就在於做到這一點,簡而言之,我們需要讓整個軟體系統「大而不亂」,井井有條。如果了解軟體工程領域的相關知識,就會發現軟體工程的准則,比如高內聚低耦合、構件化軟體開發以及關注點分離等等,都是圍繞這一目的提出的。當然,軟體工程本身是一個很大的范疇,軟體工程方面的研究也紛繁復雜,但最終目的都是要減少程序員工作的負荷並提高軟體需求、設計、開發、測試、維護的效率。所以說軟體工程這個專業對社會至關重要!

④ 軟體工程是什麼未來發展怎麼樣

1、軟體工程是一門研究用工程化方法構建和維護有效、實用和高質量的軟體的學科。它涉及程序設計語言、資料庫、軟體開發工具、系統平台、標准、設計模式等方面。軟體應用於多個方面。典型的軟體有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、編譯器、資料庫、游戲等。同時,各個行業幾乎都有計算機軟體的應用,如工業、農業、銀行、航空、政府部門等。

2、軟體工程未來發展和IT行業密切相關。IT領域將有以下幾個比較明顯的發展趨勢:

第一:5G落地應用將帶動物聯網的全面發展。隨著5G標準的逐漸應用,未來十年物聯網相關領域將得到全面的發展,包括車聯網、農業物聯網、智能家居、智慧城市等領域將釋放出大量的崗位需求,所以物聯網相關領域將是軟體工程專業關注的一個重點。

第二:產業互聯網的發展將帶動大數據和人工智慧的落地應用。當前互聯網領域正在從消費互聯網向產業互聯網過渡,產業互聯網的發展將促使大數據和人工智慧的進一步落地應用,所以軟體工程專業將進一步拓展知識面。從近幾年軟體工程專業的畢業答辯來看,一部分同學的畢業設計就選擇了大數據、機器學習、計算機視覺等方向,這也在一定程度上說明了軟體工程專業對於新技術比較敏感。

第三:網路安全領域將釋放出大量的發展機會。隨著物聯網和大數據技術的發展,網路安全的覆蓋面進一步得到了拓展,沒有安全的大數據走不遠,同樣沒有安全的物聯網也無法落地應用,而物聯網目前也是人工智慧的重要應用場景,所以安全將是未來IT行業內一個重要的領域。因此,未來軟體工程專業也會更加關注安全領域的知識教育。

⑤ 談一談對軟體工程專業的認識

對軟體工程的一點看法--希望能夠拋磚引玉
在這里看到很多網友的高論,很有啟發。而且目前市面上也涌現出一批面向不同方面的軟體過程的書籍,可是在這里,我一直沒找到真正對實踐有指導意義的,可操作的應用方法,所以現在這兒拋塊磚,望各位高手指正。
我個人的理解,軟體工程就是按照工程學的管理方式,有組織、有計劃的,在一定的質量基礎、時間限度和成本范圍內,實現功能明確的軟體系統。而且,軟體工程在企業范圍內運行,一定需要企業資源的支持,要與企業的經營、決策、管理體系聯系在一起,才能夠被踏踏實實的落實下來。
軟體業作為一個服務業,要想得到發展,首先必須形成一個對軟體服務有迫切需要的市場。其次,這個市場中的消費者必須具備足夠的購買力。軟體的消費群體簡單一點,可以分為個體消費和企業消費。中國的企業群體,數量龐大,但是質量不高。上規模的企業極少,因此,中國的企業對大型軟體的消費肯定是有限的,軟體的個人消費,至少目前在中國,還是不成氣候。因此,國內目前能夠形成比較大規模的獨立市場的,肯定是小規模的軟體系統。
此外,質量的好與壞也不能絕對而論。比如說,你花500元,買雙皮鞋,只穿了一個月就壞了,肯定是劣質產品。可是如果你只花了5元買這雙鞋,還是穿了一個月就壞了,他就是個優質產品了。軟體也是一樣。
還有一個,就是軟體生命周期問題。在國外,很多中、大型企業里,軟體系統已經作為企業的命脈在運行,這些企業當然需要長期、穩定的軟體服務、開發體系作為保障,因此相對來說,對於軟體的功能需求就比較明確,而國內的中小企業在運營方面本來就把靈活多變作為生存武器,當然不可能有比較長期的經營計劃,更不可能運用軟體系統進行全面企業管理。這就導致對軟體系統需求的短期行為,因此,他們更加希望一次性購買功能有限的軟體系統,而不是長期連續的軟體服務。
如果上面的分析有代表性的話,那就是說我們現在必須對開發這類軟體形成一套非常有效的工程方法:
1。規模小。
2。成本低
3。質量要求不高。
4。售後服務有限。
5。生命期短。
我想,對於這類系統,RUP未必是一套好的方法。另外,我還想談談對軟體人員素質的看法。
從我個人的經歷來說,我覺得我們對於軟體工程師的培養方法有問題。理論上說,軟體只要設計了一個好的結構,解決了所有的技術難點,剩下的代碼高中生就能做。實際上我們的很多名牌大學的計算機專業畢業生都不能很好的Coding。尤其是現在有了VB、PB、JAVA之後,大家似乎認為計算機的體系結構都不用關心了。我曾經經手的幾個軟體項目中,很多工程師對於用C語言開發Win32多線程、事件驅動、死鎖、內存分配等問題根本束手無策。我不相信這些問題可以靠很好的文檔解決。實際上,能夠用OO的工具工作,根本不代表能夠進行OO的系統分析與設計。
話又說回來,在中國,有10年以上軟體開發背景的人,又有幾個?而且他們在過去10年裡的經驗,更多的是小項目的Coding,而不是大項目的管理與系統分析。而一個好的系統分析師,需要的是實踐、實踐、再實踐。假如說我們的商業環境中根本沒有大型的軟體項目,怎麼可能有優異的系統分析師呢?
所以,我想,目前我們的問題,是工程師的技術水平、知識面與管理意識、管理方法同樣重要,在這樣的前提下,我們是不是要探索一下真正適合我們的軟體工程方法呢?

⑥ 軟體工程問題定義,什麼是軟體工程它可以解決什麼問題

軟體工程是指導計算機軟體開發和維護的工程學科。採用工程的概念、原理、 技術和方法來開發與維護軟體,把經過時間考驗而證明正確的管理技術和當前能夠 得到的最好的技術方法結合起來,這就是軟體工程。 軟體工程(SoftWare Engineering)的框架可概括為:目標、過程和原則。 (1)軟體工程目標:生產具有正確性、可用性以及開銷合宜的產品。正確性指軟體產品達到預期功能的程度。可用性指軟體基本結構、實現及文檔為用戶可用的程度。開銷合宜是指軟體開發、運行的整個開銷滿足用戶要求的程度。這些目標的實現不論在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。 (2)軟體工程過程:生產一個最終能滿足需求且達到工程目標的軟體產品所需要的步驟。軟體工程過程主要包括開發過程、運作過程、維護過程。它們覆蓋了需求、設計、實現、確認以及維護等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟體需求規約。需求分析生成功能規約。設計活動一般包括概要設計和詳細設計。概要設計建立整個軟體系統結構,包括子系統、模塊以及相關層次的說明、每一模塊的介面定義。詳細設計產生程序員可用的模塊說明,包括每一模塊中數據結構說明及加工描述。實現活動把設計結果轉換為可執行的程序代碼。確認活動貫穿於整個開發過程,實現完成後的確認,保證最終產品滿足用戶的要求。維護活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓過程等。 (3)軟體工程的原則是指圍繞工程設計、工程支持以及工程管理在軟體開發過程中必須遵循的原則。

閱讀全文

與為什麼需要軟體工程相關的資料

熱點內容
電腦上怎麼下載班智達的軟體 瀏覽:1160
無痕跡消除圖片軟體 瀏覽:722
免費小票軟體 瀏覽:956
華為在哪裡設置軟體停止運行 瀏覽:963
用電腦鍵盤調節聲音大小 瀏覽:1261
自動刷軟體賺錢 瀏覽:1263
古裝連續劇免費版 瀏覽:1417
工免費漫畫 瀏覽:1149
手機軟體專門儲存文件 瀏覽:1511
uos如何用命令安裝軟體 瀏覽:1319
有線耳機插電腦麥克風 瀏覽:649
侏羅紀世界3在線觀看完整免費 瀏覽:997
單個軟體怎麼設置名稱 瀏覽:722
鳳凰網電腦版下載視頻怎麼下載視頻怎麼下載 瀏覽:1388
明白之後如何免費獲得無人機 瀏覽:833
如何解禁軟體菜單 瀏覽:856
副路由器連接電腦視頻 瀏覽:1352
內置wifi電視如何裝軟體 瀏覽:1109
手機換零免費雪碧 瀏覽:1590
國行蘋果如何下載美版軟體 瀏覽:1217