![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Process_and_data_modeling.jpg/640px-Process_and_data_modeling.jpg&w=640&q=50)
軟件工程
應用系統方法開發軟體 / 維基百科,自由的 encyclopedia
軟件工程(英語:software engineering[1]),是軟件開發領域裡對工程方法的系統應用。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Process_and_data_modeling.jpg/320px-Process_and_data_modeling.jpg)
1968年秋季,NATO(北約)的科技委員會召集了近50名一流的編程人員、計算機科學家和工業界巨頭,討論和制定擺脫「軟體危機」的對策。在那次會議上第一次提出了軟體工程(software engineering)這個概念,研究和應用如何以系統性的、規範化的、可定量的過程化方法去開發和維護軟件,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。它涉及到程序設計語言、數據庫、軟件開發工具、系統平台、標準、設計模式等方面。其後的幾十年裡,各種有關軟件工程的技術、思想、方法和概念不斷被提出,軟件工程逐步發展為一門獨立的科學。
1993年,電氣電子工程師學會(IEEE)給出了一個更加綜合的定義:"將系統化的、規範的、可度量的方法用於軟件的開發、運行和維護的過程,即將工程化應用於軟件開發中"。此後,IEEE多次給出軟件工程的定義。
在現代社會中,軟件應用於多個方面。典型的軟件比如有電子郵件、嵌入式系統、人機界面、辦公套件、操作系統、網頁、編譯器、數據庫、遊戲等。同時,各個行業幾乎都有計算機軟件的應用,比如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,提高人們的工作效率,同時提升了生活質量。
軟件工程師是對應用軟件創造軟件的人們的統稱,軟件工程師按照所處的領域不同可以分為系統分析師、系統架構師、前端和後端工程師、程序員、測試工程師、用戶界面設計師等等。各種軟件工程師人們俗稱程序員。