軟體專案的開發其實是一個工程,整個開發過程可以在工程思維(模組化、重覆利用)的指導下有效組織起來。軟體工程是軟體行業知識體系的核心。
為什麼要學習軟體工程
在軟體 開發領域,有哪些知識十年前很重要,現在依然很重要,未來同樣很重要?仔細分析下,這些知識並不多:資料結構、演演算法、面向物件思想、設計樣式、軟體工程。如果不限於軟體開發,還需要算上測試、產品設計、專案管理、運維這些技能。
作為IT從業者,無論將來是走技術路線,還是轉型做管理,想要走得更快更穩,都離不開軟體工程。
軟體工程的知識架構
軟體工程的三要素:工具、方法、過程,軟體工程的標的是透過這三個要素構建和維護高質量的軟體。
-
過程: 軟體工程的步驟
-
方法: 軟體工程的方法論
-
工具: 軟體工程實施過程中具體使用到的工具,用來提升效率
軟體工程的核心就是圍繞軟體開發過程,總結出的方法論和工具。
下圖是軟體工程的知識架構圖:
如何學習軟體工程
學習的步驟可以參考下麵幾個步驟:
-
學習使用工具
-
學習使用方法論
-
領悟軟體工程的思想和規律
關於學習的建議:
-
知行合一:理論與實踐相結合,在軟體開發中使用工具的時候,要及時總結使用工具的技巧;在經歷過一個專案後,要總結這個過程中對的得失經驗。然後將這些經驗和技巧應用到下一個專案中。
-
持之以恆:想要做到卓越,不可能一蹴而就,因此要持之以恆得踐行知行合一。
-
樂於分享:將自己的心得體會講給別人,可以用部落格、短影片、內部培訓的方式,在講給別人的過程中,也是對知識的重新梳理和查缺補漏。
參考書目
-
《構建之法》
-
《人月神話》
-
《人件》
-
《知行合一:實現價值驅動的敏捷和精益開發》
-
《軟體工程——實踐者的研究方法》
-
《持續交付》
-
《走出軟體作坊》
廣告時間
這篇文章是我閱讀極客時間的課程——《軟體工程之美》第三篇的學習筆記,作者寶玉對軟體工程的知識梳理整潔而全面,我從中學習到很多,如果你也想加入學習,可以透過下圖中的二維碼購買。