軟件工程是軟件行業知識體系的內核,無論走技術路線還是管理路線,想要走的更穩更快,那就鐃不開軟件工程,
- 軟件工程核心知識圖

軟件工程是為了應對軟件危機誕生的學科,其目標是為了要聚焦於質量,構建和維護高質量的軟件.聚焦於質量就是軟件工程的基石.
過程指的是:
要構建高質量的代碼,就要解決軟件過程中的混亂,將軟件開發過程中的溝通,計划,建模,構建和部署等活動有效的組織起來.而軟件過程,就是在軟件項目的生命周期內,也就是軟件從誕生到結束這期間,在開發和構建系統時要遵循的步驟,
兩種過程框架,瀑布模型和敏捷開發.這是是軟件工程多年的發展中,逐步形成的兩種主流的軟件過程指導框架.
方法:
方法是指在整個過程中,如何構建系統的方法學,比如說,如何分析用戶需求,如何對產品進行測試驗收;如何進行系統架構設計.
工具:
工具是指利用工具來輔助方法的執行,提高效率,可以把一些手動的工作自動化,比如自動化測試工具,自動構建部署工具,通過工具,可以把一些流程規范起來,提高編碼效率,比如各種ide
你可以用一個簡單的公式來理解軟件工程:軟件工程=工具+方法+過程.
如何學習軟件工程?
有四重境界
第一重:用器
“器”就是工具,工具規則簡單,上手就可以用,也很快就能看到效果
第二重:學術
“術”就是方法,學會方法,你就能應用方法去完成一個任務,例如用需求分析的方法,你去搞清楚用戶想要什么,用 Scrum 去組織項目開發過程。
第三重:悟道
“道”就是本源,軟件工程知識的核心思想和本質規律。就像敏捷開發,本身並不是一種方法,而是一套價值觀和原則,領悟了這個道,就可以成為你在處理項目過程中各種問題決策的依據。道是可以產生術的,你掌握了敏捷開發的道,你就可以領悟出 Scrum、極限編程這樣的術。
第四重:傳道
當你能把復雜的知識通過淺顯易懂的方式傳授給別人,那就說明你對知識的領悟已經到了更高的境界。同時,教學也是最好的學習方式,通過傳授別人知識,可以讓你對知識本身有更深入的理解。
